summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenpachi2k13 <3476227+Kenpachi2k13@users.noreply.github.com>2020-05-03 09:14:56 +0200
committerGitHub <noreply@github.com>2020-05-03 09:14:56 +0200
commitcd593de68b02d77766fcb3b7b2a869096ceb7183 (patch)
tree2245738ce70d50031b927fed560815458658c7c2
parentf70a887b188dbd88c45c9992cd18a33b6886005f (diff)
parentf40cc839413cc82aed445d39cc3aa204dce87780 (diff)
downloadhercules-cd593de68b02d77766fcb3b7b2a869096ceb7183.tar.gz
hercules-cd593de68b02d77766fcb3b7b2a869096ceb7183.tar.bz2
hercules-cd593de68b02d77766fcb3b7b2a869096ceb7183.tar.xz
hercules-cd593de68b02d77766fcb3b7b2a869096ceb7183.zip
Merge branch 'master' into cell_noskill
-rw-r--r--.appveyor.yml3
-rw-r--r--.gitignore5
-rw-r--r--.gitlab-ci.yml338
-rw-r--r--.travis.yml71
-rw-r--r--3rdparty/libbacktrace/LICENSE29
-rw-r--r--3rdparty/libbacktrace/Makefile.in75
-rw-r--r--3rdparty/libbacktrace/README.md33
-rw-r--r--3rdparty/libbacktrace/acinclude.m472
-rw-r--r--3rdparty/libbacktrace/aclocal.m4843
-rw-r--r--3rdparty/libbacktrace/alloc.c156
-rw-r--r--3rdparty/libbacktrace/atomic.c113
-rw-r--r--3rdparty/libbacktrace/backtrace-supported.h.in66
-rw-r--r--3rdparty/libbacktrace/backtrace.c129
-rw-r--r--3rdparty/libbacktrace/backtrace.h182
-rw-r--r--3rdparty/libbacktrace/btest.c500
-rw-r--r--3rdparty/libbacktrace/config.h (renamed from 3rdparty/mysql/mysql-5.0.20)0
-rw-r--r--3rdparty/libbacktrace/dwarf.c3126
-rw-r--r--3rdparty/libbacktrace/edtest.c121
-rw-r--r--3rdparty/libbacktrace/edtest2.c43
-rw-r--r--3rdparty/libbacktrace/elf.c3340
-rw-r--r--3rdparty/libbacktrace/fileline.c201
-rw-r--r--3rdparty/libbacktrace/filenames.h49
-rw-r--r--3rdparty/libbacktrace/filetype.awk11
-rw-r--r--3rdparty/libbacktrace/internal.h304
-rw-r--r--3rdparty/libbacktrace/ltmain.sh11156
-rw-r--r--3rdparty/libbacktrace/macho.c1432
-rw-r--r--3rdparty/libbacktrace/mmap.c325
-rw-r--r--3rdparty/libbacktrace/mmapio.c100
-rw-r--r--3rdparty/libbacktrace/nounwind.c66
-rw-r--r--3rdparty/libbacktrace/pecoff.c943
-rw-r--r--3rdparty/libbacktrace/posix.c100
-rw-r--r--3rdparty/libbacktrace/print.c92
-rw-r--r--3rdparty/libbacktrace/read.c96
-rw-r--r--3rdparty/libbacktrace/simple.c108
-rw-r--r--3rdparty/libbacktrace/sort.c108
-rw-r--r--3rdparty/libbacktrace/state.c72
-rw-r--r--3rdparty/libbacktrace/stest.c137
-rw-r--r--3rdparty/libbacktrace/testlib.c234
-rw-r--r--3rdparty/libbacktrace/testlib.h110
-rw-r--r--3rdparty/libbacktrace/ttest.c161
-rw-r--r--3rdparty/libbacktrace/unknown.c65
-rw-r--r--3rdparty/libbacktrace/xcoff.c1642
-rw-r--r--3rdparty/libbacktrace/ztest.c537
-rw-r--r--3rdparty/libconfig/Makefile.in4
-rw-r--r--3rdparty/libconfig/extra/doc/libconfig.texi2
-rw-r--r--3rdparty/libconfig/extra/gen/grammar.y4
-rw-r--r--3rdparty/libconfig/extra/gen/scanner.l4
-rw-r--r--3rdparty/libconfig/libconfig.c4
-rw-r--r--3rdparty/libconfig/libconfig.h4
-rw-r--r--3rdparty/libconfig/parsectx.h4
-rw-r--r--3rdparty/libconfig/scanctx.c4
-rw-r--r--3rdparty/libconfig/scanctx.h4
-rw-r--r--3rdparty/libconfig/scanner.c4
-rw-r--r--3rdparty/libconfig/strbuf.c4
-rw-r--r--3rdparty/libconfig/strbuf.h4
-rw-r--r--3rdparty/libconfig/wincompat.h4
-rw-r--r--3rdparty/mariadb/include/client_plugin.h244
-rw-r--r--3rdparty/mariadb/include/errmsg.h107
-rw-r--r--3rdparty/mariadb/include/ma_io.h55
-rw-r--r--3rdparty/mariadb/include/ma_list.h47
-rw-r--r--3rdparty/mariadb/include/ma_pvio.h133
-rw-r--r--3rdparty/mariadb/include/ma_tls.h161
-rw-r--r--3rdparty/mariadb/include/mariadb_com.h457
-rw-r--r--3rdparty/mariadb/include/mariadb_ctype.h76
-rw-r--r--3rdparty/mariadb/include/mariadb_dyncol.h256
-rw-r--r--3rdparty/mariadb/include/mariadb_rpl.h305
-rw-r--r--3rdparty/mariadb/include/mariadb_stmt.h298
-rw-r--r--3rdparty/mariadb/include/mariadb_version.h38
-rw-r--r--3rdparty/mariadb/include/mysql.h868
-rw-r--r--3rdparty/mariadb/include/mysqld_error.h1126
-rw-r--r--3rdparty/mariadb/include/plugin_auth.h107
-rw-r--r--3rdparty/mariadb/include/plugin_auth_common.h110
-rw-r--r--3rdparty/mariadb/lib/libmariadb.libbin0 -> 53148 bytes
-rw-r--r--3rdparty/mariadb/lib/plugin/auth_gssapi_client.dllbin0 -> 402856 bytes
-rw-r--r--3rdparty/mariadb/lib/plugin/caching_sha2_password.dllbin0 -> 423336 bytes
-rw-r--r--3rdparty/mariadb/lib/plugin/client_ed25519.dllbin0 -> 477096 bytes
-rw-r--r--3rdparty/mariadb/lib/plugin/dialog.dllbin0 -> 406440 bytes
-rw-r--r--3rdparty/mariadb/lib/plugin/mysql_clear_password.dllbin0 -> 397736 bytes
-rw-r--r--3rdparty/mariadb/lib/plugin/pvio_npipe.dllbin0 -> 399272 bytes
-rw-r--r--3rdparty/mariadb/lib/plugin/pvio_shmem.dllbin0 -> 400808 bytes
-rw-r--r--3rdparty/mariadb/lib/plugin/sha256_password.dllbin0 -> 421800 bytes
-rw-r--r--3rdparty/mt19937ar/Makefile.in4
-rw-r--r--3rdparty/mysql/include/config-win.h470
-rw-r--r--3rdparty/mysql/include/m_ctype.h493
-rw-r--r--3rdparty/mysql/include/my_alloc.h52
-rw-r--r--3rdparty/mysql/include/my_dbug.h101
-rw-r--r--3rdparty/mysql/include/my_global.h1306
-rw-r--r--3rdparty/mysql/include/my_list.h46
-rw-r--r--3rdparty/mysql/include/my_pthread.h717
-rw-r--r--3rdparty/mysql/include/my_sys.h904
-rw-r--r--3rdparty/mysql/include/mysql.h847
-rw-r--r--3rdparty/mysql/include/mysql_com.h452
-rw-r--r--3rdparty/mysql/include/mysql_time.h56
-rw-r--r--3rdparty/mysql/include/mysql_version.h29
-rw-r--r--3rdparty/mysql/include/raid.h159
-rw-r--r--3rdparty/mysql/include/typelib.h34
-rw-r--r--3rdparty/mysql/lib/libmysql.libbin34900 -> 0 bytes
-rw-r--r--CHANGELOG.md788
-rw-r--r--Hercules-16.sln (renamed from Hercules-12.sln)21
-rw-r--r--Hercules.xcodeproj/project.pbxproj22
-rw-r--r--Makefile.in64
-rw-r--r--README.md106
-rw-r--r--conf/char/char-server.conf5
-rw-r--r--conf/clans.conf2
-rw-r--r--conf/common/inter-server.conf3
-rw-r--r--conf/common/map-index.conf34
-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/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.conf15
-rw-r--r--conf/map/battle/drops.conf11
-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.conf5
-rw-r--r--conf/map/battle/homunc.conf5
-rw-r--r--conf/map/battle/items.conf2
-rw-r--r--conf/map/battle/limits.conf57
-rw-r--r--conf/map/battle/misc.conf4
-rw-r--r--conf/map/battle/monster.conf9
-rw-r--r--conf/map/battle/party.conf2
-rw-r--r--conf/map/battle/pet.conf17
-rw-r--r--conf/map/battle/player.conf2
-rw-r--r--conf/map/battle/skill.conf39
-rw-r--r--conf/map/battle/status.conf2
-rw-r--r--conf/map/help.txt2
-rw-r--r--conf/map/logs.conf64
-rw-r--r--conf/map/map-server.conf3
-rw-r--r--conf/map/maps.conf2
-rw-r--r--conf/map/script.conf4
-rw-r--r--conf/messages.conf113
-rwxr-xr-xconfigure541
-rw-r--r--configure.ac277
-rw-r--r--db/achievement_rank_db.conf2
-rw-r--r--db/attendance_db.conf4
-rw-r--r--db/cashshop_db.conf2
-rw-r--r--db/castle_db.conf471
-rw-r--r--db/castle_db.txt74
-rw-r--r--db/clans.conf2
-rw-r--r--db/constants.conf873
-rw-r--r--db/item_db2.conf4
-rw-r--r--db/item_options.conf2
-rw-r--r--db/mob_avail.txt43
-rw-r--r--db/mob_db2.conf5
-rw-r--r--db/mob_skill_db2.conf2
-rw-r--r--db/option_drop_groups.conf53
-rw-r--r--db/pet_db2.conf2
-rw-r--r--db/pre-re/achievement_db.conf2
-rw-r--r--db/pre-re/exp_group_db.conf2
-rw-r--r--db/pre-re/item_chain.conf12
-rw-r--r--db/pre-re/item_combo_db.conf1280
-rw-r--r--db/pre-re/item_combo_db.txt165
-rw-r--r--db/pre-re/item_db.conf3698
-rw-r--r--db/pre-re/item_group.conf2
-rw-r--r--db/pre-re/item_lapineddukddak.conf2318
-rw-r--r--db/pre-re/item_packages.conf2
-rw-r--r--db/pre-re/job_db.conf2
-rw-r--r--db/pre-re/map_zone_db.conf4
-rw-r--r--db/pre-re/mob_db.conf20
-rw-r--r--db/pre-re/mob_skill_db.conf8
-rw-r--r--db/pre-re/pet_db.conf917
-rw-r--r--db/pre-re/refine_db.conf187
-rw-r--r--db/pre-re/skill_db.conf60
-rw-r--r--db/pre-re/skill_tree.conf2
-rw-r--r--db/quest_db.conf42
-rw-r--r--db/re/achievement_db.conf2
-rw-r--r--db/re/exp_group_db.conf2
-rw-r--r--db/re/item_chain.conf12
-rw-r--r--db/re/item_combo_db.conf3224
-rw-r--r--db/re/item_combo_db.txt438
-rw-r--r--db/re/item_db.conf3869
-rw-r--r--db/re/item_group.conf2
-rw-r--r--db/re/item_lapineddukddak.conf2318
-rw-r--r--db/re/item_packages.conf2
-rw-r--r--db/re/job_db.conf2
-rw-r--r--db/re/map_zone_db.conf4
-rw-r--r--db/re/mob_db.conf116
-rw-r--r--db/re/mob_skill_db.conf2
-rw-r--r--db/re/pet_db.conf1016
-rw-r--r--db/re/refine_db.conf626
-rw-r--r--db/re/skill_db.conf67
-rw-r--r--db/re/skill_tree.conf2
-rw-r--r--db/roulette_db.conf2
-rw-r--r--db/sc_config.conf3731
-rw-r--r--db/sc_config.txt505
-rw-r--r--db/stylist_db.conf4
-rw-r--r--db/translations.conf12
-rw-r--r--db2sql.bat2
-rw-r--r--doc/atcommands.txt116
-rw-r--r--doc/constants.md4140
-rw-r--r--doc/effect_list.md4
-rw-r--r--doc/item_bonus.md2
-rw-r--r--doc/mob_db.txt94
-rw-r--r--doc/mob_db_mode_list.md2
-rw-r--r--doc/option_drop_group.md97
-rw-r--r--doc/permissions.md3
-rw-r--r--doc/pet_db.txt196
-rw-r--r--doc/quest_variables.md2
-rw-r--r--doc/sample/getiteminfo.txt23
-rw-r--r--doc/script_commands.txt955
-rw-r--r--libmariadb.dllbin0 -> 530432 bytes
-rw-r--r--libmysql.dllbin1449984 -> 0 bytes
-rw-r--r--mariadb.bat15
-rw-r--r--npc/MOTD.txt2
-rw-r--r--npc/airports/airships.txt96
-rw-r--r--npc/airports/einbroch.txt6
-rw-r--r--npc/airports/hugel.txt2
-rw-r--r--npc/airports/izlude.txt6
-rw-r--r--npc/airports/lighthalzen.txt6
-rw-r--r--npc/airports/rachel.txt6
-rw-r--r--npc/airports/yuno.txt6
-rw-r--r--npc/battleground/bg_common.txt6
-rw-r--r--npc/battleground/flavius/flavius01.txt8
-rw-r--r--npc/battleground/flavius/flavius02.txt8
-rw-r--r--npc/battleground/flavius/flavius_enter.txt4
-rw-r--r--npc/battleground/kvm/kvm01.txt4
-rw-r--r--npc/battleground/kvm/kvm02.txt6
-rw-r--r--npc/battleground/kvm/kvm03.txt6
-rw-r--r--npc/battleground/kvm/kvm_enter.txt4
-rw-r--r--npc/battleground/kvm/kvm_item_pay.txt14
-rw-r--r--npc/battleground/tierra/tierra01.txt8
-rw-r--r--npc/battleground/tierra/tierra02.txt8
-rw-r--r--npc/battleground/tierra/tierra_enter.txt4
-rw-r--r--npc/cities/alberta.txt18
-rw-r--r--npc/cities/aldebaran.txt26
-rw-r--r--npc/cities/amatsu.txt32
-rw-r--r--npc/cities/ayothaya.txt16
-rw-r--r--npc/cities/comodo.txt22
-rw-r--r--npc/cities/einbech.txt16
-rw-r--r--npc/cities/einbroch.txt18
-rw-r--r--npc/cities/geffen.txt52
-rw-r--r--npc/cities/gonryun.txt18
-rw-r--r--npc/cities/hugel.txt20
-rw-r--r--npc/cities/izlude.txt22
-rw-r--r--npc/cities/jawaii.txt22
-rw-r--r--npc/cities/lighthalzen.txt48
-rw-r--r--npc/cities/louyang.txt30
-rw-r--r--npc/cities/lutie.txt16
-rw-r--r--npc/cities/manuk.txt4
-rw-r--r--npc/cities/morocc.txt16
-rw-r--r--npc/cities/moscovia.txt6
-rw-r--r--npc/cities/niflheim.txt22
-rw-r--r--npc/cities/payon.txt20
-rw-r--r--npc/cities/prontera.txt14
-rw-r--r--npc/cities/rachel.txt12
-rw-r--r--npc/cities/splendide.txt4
-rw-r--r--npc/cities/umbala.txt22
-rw-r--r--npc/cities/veins.txt8
-rw-r--r--npc/cities/yuno.txt14
-rw-r--r--npc/custom/battleground/bg_kvm01.txt4
-rw-r--r--npc/custom/battleground/bg_kvm02.txt4
-rw-r--r--npc/custom/battleground/bg_kvm03.txt4
-rw-r--r--npc/custom/etc/bank.txt38
-rw-r--r--npc/custom/etc/bank_kafra.txt6
-rw-r--r--npc/custom/etc/lottery.txt150
-rw-r--r--npc/custom/etc/marriage.txt2
-rw-r--r--npc/custom/etc/monster_arena.txt9
-rw-r--r--npc/custom/etc/quest_warper.txt42
-rw-r--r--npc/custom/etc/shifty_assassin.txt7
-rw-r--r--npc/custom/etc/stock_market.txt15
-rw-r--r--npc/custom/events/cluckers.txt4
-rw-r--r--npc/custom/events/disguise.txt10
-rw-r--r--npc/custom/events/mushroom_event.txt11
-rw-r--r--npc/custom/events/valentinesdayexp.txt33
-rw-r--r--npc/custom/expandedbartershop.txt63
-rw-r--r--npc/custom/itembind.txt12
-rw-r--r--npc/custom/quests/quest_shop.txt4
-rw-r--r--npc/custom/quests/thq/THQS_TTShop.txt4
-rw-r--r--npc/custom/stylist.txt78
-rw-r--r--npc/custom/woe_controller.txt4
-rw-r--r--npc/dev/ci_test.txt4
-rw-r--r--npc/dev/test.txt14
-rw-r--r--npc/events/MemorialDay_2008.txt4
-rw-r--r--npc/events/RWC_2011.txt4
-rw-r--r--npc/events/RWC_2012.txt4
-rw-r--r--npc/events/StPatrick_2008.txt8
-rw-r--r--npc/events/bossnia.txt6
-rw-r--r--npc/events/children_week.txt4
-rw-r--r--npc/events/christmas_2005.txt8
-rw-r--r--npc/events/christmas_2008.txt4
-rw-r--r--npc/events/dumplingfestival.txt10
-rw-r--r--npc/events/easter_2008.txt142
-rw-r--r--npc/events/easter_2010.txt4
-rw-r--r--npc/events/event_skill_reset.txt6
-rw-r--r--npc/events/gdevent_aru.txt10
-rw-r--r--npc/events/gdevent_sch.txt10
-rw-r--r--npc/events/god_se_festival.txt14
-rw-r--r--npc/events/halloween_2006.txt20
-rw-r--r--npc/events/halloween_2008.txt4
-rw-r--r--npc/events/halloween_2009.txt146
-rw-r--r--npc/events/idul_fitri.txt6
-rw-r--r--npc/events/lunar_2008.txt4
-rw-r--r--npc/events/nguild/nguild_dunsw.txt6
-rw-r--r--npc/events/nguild/nguild_ev_agit.txt10
-rw-r--r--npc/events/nguild/nguild_flags.txt14
-rw-r--r--npc/events/nguild/nguild_guardians.txt4
-rw-r--r--npc/events/nguild/nguild_kafras.txt10
-rw-r--r--npc/events/nguild/nguild_managers.txt14
-rw-r--r--npc/events/nguild/nguild_treas.txt10
-rw-r--r--npc/events/nguild/nguild_warper.txt4
-rw-r--r--npc/events/twintowers.txt14
-rw-r--r--npc/events/valentinesday.txt11
-rw-r--r--npc/events/valentinesday_2009.txt16
-rw-r--r--npc/events/valentinesday_2012.txt6
-rw-r--r--npc/events/whiteday.txt26
-rw-r--r--npc/events/xmas.txt14
-rw-r--r--npc/instances/EndlessTower.txt20
-rw-r--r--npc/instances/NydhoggsNest.txt8
-rw-r--r--npc/instances/OrcsMemory.txt6
-rw-r--r--npc/instances/SealedShrine.txt26
-rw-r--r--npc/jobs/1-1e/gunslinger.txt24
-rw-r--r--npc/jobs/1-1e/ninja.txt92
-rw-r--r--npc/jobs/1-1e/taekwon.txt10
-rw-r--r--npc/jobs/2-1/assassin.txt30
-rw-r--r--npc/jobs/2-1/blacksmith.txt28
-rw-r--r--npc/jobs/2-1/hunter.txt28
-rw-r--r--npc/jobs/2-1/knight.txt22
-rw-r--r--npc/jobs/2-1/priest.txt18
-rw-r--r--npc/jobs/2-1/wizard.txt26
-rw-r--r--npc/jobs/2-1a/AssassinCross.txt8
-rw-r--r--npc/jobs/2-1a/HighPriest.txt8
-rw-r--r--npc/jobs/2-1a/HighWizard.txt8
-rw-r--r--npc/jobs/2-1a/LordKnight.txt8
-rw-r--r--npc/jobs/2-1a/Sniper.txt8
-rw-r--r--npc/jobs/2-1a/WhiteSmith.txt8
-rw-r--r--npc/jobs/2-1e/StarGladiator.txt12
-rw-r--r--npc/jobs/2-2/alchemist.txt171
-rw-r--r--npc/jobs/2-2/bard.txt74
-rw-r--r--npc/jobs/2-2/crusader.txt24
-rw-r--r--npc/jobs/2-2/dancer.txt26
-rw-r--r--npc/jobs/2-2/monk.txt22
-rw-r--r--npc/jobs/2-2/rogue.txt35
-rw-r--r--npc/jobs/2-2/sage.txt20
-rw-r--r--npc/jobs/2-2a/Champion.txt8
-rw-r--r--npc/jobs/2-2a/Clown.txt10
-rw-r--r--npc/jobs/2-2a/Creator.txt12
-rw-r--r--npc/jobs/2-2a/Gypsy.txt8
-rw-r--r--npc/jobs/2-2a/Paladin.txt8
-rw-r--r--npc/jobs/2-2a/Professor.txt8
-rw-r--r--npc/jobs/2-2a/Stalker.txt8
-rw-r--r--npc/jobs/2-2e/SoulLinker.txt14
-rw-r--r--npc/jobs/novice/supernovice.txt14
-rw-r--r--npc/jobs/valkyrie.txt188
-rw-r--r--npc/kafras/cool_event_corp.txt12
-rw-r--r--npc/kafras/dts_warper.txt44
-rw-r--r--npc/kafras/functions_kafras.txt46
-rw-r--r--npc/kafras/kafras.txt18
-rw-r--r--npc/mapflag/battleground.txt4
-rw-r--r--npc/mapflag/gvg.txt6
-rw-r--r--npc/mapflag/jail.txt6
-rw-r--r--npc/mapflag/night.txt4
-rw-r--r--npc/mapflag/nightmare.txt6
-rw-r--r--npc/mapflag/nobranch.txt12
-rw-r--r--npc/mapflag/noexp.txt14
-rw-r--r--npc/mapflag/noicewall.txt10
-rw-r--r--npc/mapflag/noloot.txt6
-rw-r--r--npc/mapflag/nomemo.txt18
-rw-r--r--npc/mapflag/nopenalty.txt10
-rw-r--r--npc/mapflag/nopvp.txt4
-rw-r--r--npc/mapflag/noreturn.txt14
-rw-r--r--npc/mapflag/nosave.txt8
-rw-r--r--npc/mapflag/noskill.txt8
-rw-r--r--npc/mapflag/noteleport.txt10
-rw-r--r--npc/mapflag/notomb.txt4
-rw-r--r--npc/mapflag/novending.txt4
-rw-r--r--npc/mapflag/nowarp.txt6
-rw-r--r--npc/mapflag/nowarpto.txt6
-rw-r--r--npc/mapflag/partylock.txt6
-rw-r--r--npc/mapflag/private_airship.txt2
-rw-r--r--npc/mapflag/pvp.txt6
-rw-r--r--npc/mapflag/pvp_noguild.txt6
-rw-r--r--npc/mapflag/pvp_noparty.txt6
-rw-r--r--npc/mapflag/reset.txt4
-rw-r--r--npc/mapflag/skillduration.txt2
-rw-r--r--npc/mapflag/skillmodifier.txt2
-rw-r--r--npc/mapflag/town.txt4
-rw-r--r--npc/mapflag/zone.txt4
-rw-r--r--npc/merchants/advanced_refiner.txt29
-rw-r--r--npc/merchants/alchemist.txt29
-rw-r--r--npc/merchants/ammo_boxes.txt22
-rw-r--r--npc/merchants/ammo_dealer.txt18
-rw-r--r--npc/merchants/buying_shops.txt72
-rw-r--r--npc/merchants/cash_hair.txt4
-rw-r--r--npc/merchants/cash_trader.txt4
-rw-r--r--npc/merchants/cashheadgear_dye.txt6
-rw-r--r--npc/merchants/clothes_dyer.txt14
-rw-r--r--npc/merchants/coin_exchange.txt10
-rw-r--r--npc/merchants/dye_maker.txt14
-rw-r--r--npc/merchants/elemental_trader.txt12
-rw-r--r--npc/merchants/enchan_arm.txt8
-rw-r--r--npc/merchants/gemstone.txt18
-rw-r--r--npc/merchants/hair_dyer.txt10
-rw-r--r--npc/merchants/hair_style.txt950
-rw-r--r--npc/merchants/hd_refine.txt19
-rw-r--r--npc/merchants/icecream.txt18
-rw-r--r--npc/merchants/inn.txt18
-rw-r--r--npc/merchants/kunai_maker.txt18
-rw-r--r--npc/merchants/milk_trader.txt8
-rw-r--r--npc/merchants/novice_exchange.txt23
-rw-r--r--npc/merchants/old_pharmacist.txt18
-rw-r--r--npc/merchants/quivers.txt10
-rw-r--r--npc/merchants/refine.txt131
-rw-r--r--npc/merchants/renters.txt20
-rw-r--r--npc/merchants/shops.txt38
-rw-r--r--npc/merchants/socket_enchant.txt26
-rw-r--r--npc/merchants/socket_enchant2.txt8
-rw-r--r--npc/merchants/wander_pet_food.txt6
-rw-r--r--npc/mobs/citycleaners.txt12
-rw-r--r--npc/mobs/jail.txt4
-rw-r--r--npc/mobs/pvp.txt4
-rw-r--r--npc/mobs/towns.txt4
-rw-r--r--npc/other/CashShop_Functions.txt8
-rw-r--r--npc/other/Global_Functions.txt67
-rw-r--r--npc/other/acolyte_warp.txt4
-rw-r--r--npc/other/arena/arena_aco.txt8
-rw-r--r--npc/other/arena/arena_lvl50.txt8
-rw-r--r--npc/other/arena/arena_lvl60.txt10
-rw-r--r--npc/other/arena/arena_lvl70.txt8
-rw-r--r--npc/other/arena/arena_lvl80.txt8
-rw-r--r--npc/other/arena/arena_party.txt18
-rw-r--r--npc/other/arena/arena_point.txt102
-rw-r--r--npc/other/arena/arena_room.txt19
-rw-r--r--npc/other/auction.txt6
-rw-r--r--npc/other/books.txt4
-rw-r--r--npc/other/bulletin_boards.txt16
-rw-r--r--npc/other/card_trader.txt8
-rw-r--r--npc/other/comodo_gambling.txt31
-rw-r--r--npc/other/divorce.txt12
-rw-r--r--npc/other/fortune.txt18
-rw-r--r--npc/other/gm_npcs.txt6
-rw-r--r--npc/other/guildpvp.txt6
-rw-r--r--npc/other/gympass.txt8
-rw-r--r--npc/other/hugel_bingo.txt43
-rw-r--r--npc/other/inventory_expansion.txt22
-rw-r--r--npc/other/item_merge.txt4
-rw-r--r--npc/other/mail.txt12
-rw-r--r--npc/other/marriage.txt12
-rw-r--r--npc/other/mercenary_rent.txt14
-rw-r--r--npc/other/monster_museum.txt14
-rw-r--r--npc/other/monster_race.txt30
-rw-r--r--npc/other/msg_boards.txt16
-rw-r--r--npc/other/poring_war.txt12
-rw-r--r--npc/other/powernpc.txt8
-rw-r--r--npc/other/private_airship.txt4
-rw-r--r--npc/other/pvp.txt12
-rw-r--r--npc/other/turbo_track.txt300
-rw-r--r--npc/pre-re/airports/izlude.txt4
-rw-r--r--npc/pre-re/cities/alberta.txt4
-rw-r--r--npc/pre-re/cities/izlude.txt4
-rw-r--r--npc/pre-re/cities/jawaii.txt4
-rw-r--r--npc/pre-re/cities/yuno.txt4
-rw-r--r--npc/pre-re/guides/guides_alberta.txt14
-rw-r--r--npc/pre-re/guides/guides_aldebaran.txt18
-rw-r--r--npc/pre-re/guides/guides_amatsu.txt8
-rw-r--r--npc/pre-re/guides/guides_ayothaya.txt6
-rw-r--r--npc/pre-re/guides/guides_comodo.txt10
-rw-r--r--npc/pre-re/guides/guides_einbroch.txt12
-rw-r--r--npc/pre-re/guides/guides_geffen.txt14
-rw-r--r--npc/pre-re/guides/guides_gonryun.txt6
-rw-r--r--npc/pre-re/guides/guides_hugel.txt8
-rw-r--r--npc/pre-re/guides/guides_izlude.txt14
-rw-r--r--npc/pre-re/guides/guides_juno.txt16
-rw-r--r--npc/pre-re/guides/guides_lighthalzen.txt8
-rw-r--r--npc/pre-re/guides/guides_louyang.txt8
-rw-r--r--npc/pre-re/guides/guides_morroc.txt12
-rw-r--r--npc/pre-re/guides/guides_moscovia.txt4
-rw-r--r--npc/pre-re/guides/guides_niflheim.txt6
-rw-r--r--npc/pre-re/guides/guides_payon.txt16
-rw-r--r--npc/pre-re/guides/guides_prontera.txt16
-rw-r--r--npc/pre-re/guides/guides_rachel.txt6
-rw-r--r--npc/pre-re/guides/guides_umbala.txt12
-rw-r--r--npc/pre-re/guides/guides_veins.txt4
-rw-r--r--npc/pre-re/jobs/1-1/acolyte.txt14
-rw-r--r--npc/pre-re/jobs/1-1/archer.txt10
-rw-r--r--npc/pre-re/jobs/1-1/mage.txt107
-rw-r--r--npc/pre-re/jobs/1-1/merchant.txt23
-rw-r--r--npc/pre-re/jobs/1-1/swordman.txt22
-rw-r--r--npc/pre-re/jobs/1-1/thief.txt12
-rw-r--r--npc/pre-re/jobs/1-1e/taekwon.txt2
-rw-r--r--npc/pre-re/jobs/novice/novice.txt24
-rw-r--r--npc/pre-re/kafras/kafras.txt4
-rw-r--r--npc/pre-re/mapflag/gvg.txt2
-rw-r--r--npc/pre-re/merchants/ammo_boxes.txt4
-rw-r--r--npc/pre-re/merchants/ammo_dealer.txt4
-rw-r--r--npc/pre-re/merchants/shops.txt8
-rw-r--r--npc/pre-re/mobs/citycleaners.txt4
-rw-r--r--npc/pre-re/mobs/dungeons/abbey.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/abyss.txt10
-rw-r--r--npc/pre-re/mobs/dungeons/alde_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/ama_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/anthell.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/ayo_dun.txt12
-rw-r--r--npc/pre-re/mobs/dungeons/beach_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/c_tower.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/ein_dun.txt12
-rw-r--r--npc/pre-re/mobs/dungeons/gef_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/gefenia.txt10
-rw-r--r--npc/pre-re/mobs/dungeons/glastheim.txt12
-rw-r--r--npc/pre-re/mobs/dungeons/gld_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/gld_dunSE.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/gon_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/ice_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/in_sphinx.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/iz_dun.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/juperos.txt16
-rw-r--r--npc/pre-re/mobs/dungeons/kh_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/lhz_dun.txt20
-rw-r--r--npc/pre-re/mobs/dungeons/lou_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/mag_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/mjo_dun.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/moc_pryd.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/mosk_dun.txt10
-rw-r--r--npc/pre-re/mobs/dungeons/nyd_dun.txt4
-rw-r--r--npc/pre-re/mobs/dungeons/odin.txt10
-rw-r--r--npc/pre-re/mobs/dungeons/orcsdun.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/pay_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/prt_maze.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/prt_sew.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/ra_san.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/tha_t.txt10
-rw-r--r--npc/pre-re/mobs/dungeons/thor_v.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/treasure.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/tur_dun.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/um_dun.txt6
-rw-r--r--npc/pre-re/mobs/dungeons/xmas_dun.txt8
-rw-r--r--npc/pre-re/mobs/dungeons/yggdrasil.txt8
-rw-r--r--npc/pre-re/mobs/fields/amatsu.txt8
-rw-r--r--npc/pre-re/mobs/fields/ayothaya.txt12
-rw-r--r--npc/pre-re/mobs/fields/comodo.txt6
-rw-r--r--npc/pre-re/mobs/fields/einbroch.txt14
-rw-r--r--npc/pre-re/mobs/fields/geffen.txt10
-rw-r--r--npc/pre-re/mobs/fields/gonryun.txt6
-rw-r--r--npc/pre-re/mobs/fields/hugel.txt12
-rw-r--r--npc/pre-re/mobs/fields/lighthalzen.txt14
-rw-r--r--npc/pre-re/mobs/fields/louyang.txt10
-rw-r--r--npc/pre-re/mobs/fields/lutie.txt8
-rw-r--r--npc/pre-re/mobs/fields/manuk.txt8
-rw-r--r--npc/pre-re/mobs/fields/mjolnir.txt6
-rw-r--r--npc/pre-re/mobs/fields/morocc.txt10
-rw-r--r--npc/pre-re/mobs/fields/moscovia.txt6
-rw-r--r--npc/pre-re/mobs/fields/niflheim.txt14
-rw-r--r--npc/pre-re/mobs/fields/payon.txt8
-rw-r--r--npc/pre-re/mobs/fields/prontera.txt8
-rw-r--r--npc/pre-re/mobs/fields/rachel.txt10
-rw-r--r--npc/pre-re/mobs/fields/splendide.txt8
-rw-r--r--npc/pre-re/mobs/fields/umbala.txt6
-rw-r--r--npc/pre-re/mobs/fields/veins.txt8
-rw-r--r--npc/pre-re/mobs/fields/yuno.txt18
-rw-r--r--npc/pre-re/other/bulletin_boards.txt4
-rw-r--r--npc/pre-re/other/mercenary_rent.txt4
-rw-r--r--npc/pre-re/other/msg_boards.txt4
-rw-r--r--npc/pre-re/other/pvp.txt4
-rw-r--r--npc/pre-re/other/resetskill.txt4
-rw-r--r--npc/pre-re/other/turbo_track.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_alligator.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_caramel.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_coco.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_creamy.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_demonpungus.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_disguiseloliruri.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_dokebi.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_dryad.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_fabre.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_frilldora.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_goat.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_golem.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_hode.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_leafcat.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_mantis.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_pecopeco.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_pupa.txt4
-rw-r--r--npc/pre-re/quests/collection/quest_zhupolong.txt4
-rw-r--r--npc/pre-re/quests/first_class/tu_archer.txt4
-rw-r--r--npc/pre-re/quests/monstertamers.txt4
-rw-r--r--npc/pre-re/quests/mrsmile.txt4
-rw-r--r--npc/pre-re/quests/quests_13_1.txt4
-rw-r--r--npc/pre-re/quests/quests_izlude.txt4
-rw-r--r--npc/pre-re/quests/quests_lighthalzen.txt4
-rw-r--r--npc/pre-re/quests/quests_nameless.txt4
-rw-r--r--npc/pre-re/quests/quests_payon.txt35
-rw-r--r--npc/pre-re/quests/quests_veins.txt4
-rw-r--r--npc/pre-re/quests/skills/novice_skills.txt14
-rw-r--r--npc/pre-re/scripts.conf5
-rw-r--r--npc/pre-re/scripts_jobs.conf4
-rw-r--r--npc/pre-re/scripts_main.conf4
-rw-r--r--npc/pre-re/scripts_mapflags.conf2
-rw-r--r--npc/pre-re/scripts_monsters.conf4
-rw-r--r--npc/pre-re/scripts_warps.conf4
-rw-r--r--npc/pre-re/warps/cities/izlude.txt8
-rw-r--r--npc/pre-re/warps/cities/rachel.txt10
-rw-r--r--npc/pre-re/warps/cities/yggdrasil.txt4
-rw-r--r--npc/pre-re/warps/fields/com_fild.txt6
-rw-r--r--npc/pre-re/warps/fields/geffen_fild.txt4
-rw-r--r--npc/pre-re/warps/fields/hugel_fild.txt8
-rw-r--r--npc/pre-re/warps/fields/morroc_fild.txt8
-rw-r--r--npc/pre-re/warps/fields/payon_fild.txt6
-rw-r--r--npc/pre-re/warps/fields/prontera_fild.txt8
-rw-r--r--npc/pre-re/warps/fields/rachel_fild.txt6
-rw-r--r--npc/pre-re/warps/fields/veins_fild.txt8
-rw-r--r--npc/pre-re/warps/fields/yuno_fild.txt6
-rw-r--r--npc/pre-re/warps/other/arena.txt4
-rw-r--r--npc/pre-re/warps/other/sign.txt6
-rw-r--r--npc/quests/bard_quest.txt28
-rw-r--r--npc/quests/bunnyband.txt12
-rw-r--r--npc/quests/cooking_quest.txt147
-rw-r--r--npc/quests/counteragent_mixture.txt14
-rw-r--r--npc/quests/dandelion_request.txt6
-rw-r--r--npc/quests/doomed_swords.txt8
-rw-r--r--npc/quests/doomed_swords_quest.txt4
-rw-r--r--npc/quests/eye_of_hellion.txt24
-rw-r--r--npc/quests/first_class/tu_acolyte.txt16
-rw-r--r--npc/quests/first_class/tu_archer.txt14
-rw-r--r--npc/quests/first_class/tu_ma_th01.txt8
-rw-r--r--npc/quests/first_class/tu_magician01.txt12
-rw-r--r--npc/quests/first_class/tu_merchant.txt10
-rw-r--r--npc/quests/first_class/tu_sword.txt136
-rw-r--r--npc/quests/first_class/tu_thief01.txt14
-rw-r--r--npc/quests/guildrelay.txt18
-rw-r--r--npc/quests/gunslinger_quests.txt12
-rw-r--r--npc/quests/juice_maker.txt23
-rw-r--r--npc/quests/kiel_hyre_quest.txt215
-rw-r--r--npc/quests/lvl4_weapon_quest.txt80
-rw-r--r--npc/quests/mage_solution.txt8
-rw-r--r--npc/quests/monstertamers.txt16
-rw-r--r--npc/quests/mrsmile.txt12
-rw-r--r--npc/quests/newgears/2004_headgears.txt8
-rw-r--r--npc/quests/newgears/2005_headgears.txt12
-rw-r--r--npc/quests/newgears/2006_headgears.txt10
-rw-r--r--npc/quests/newgears/2008_headgears.txt6
-rw-r--r--npc/quests/newgears/2010_headgears.txt4
-rw-r--r--npc/quests/ninja_quests.txt6
-rw-r--r--npc/quests/obb_quest.txt12
-rw-r--r--npc/quests/okolnir.txt18
-rw-r--r--npc/quests/partyrelay.txt6
-rw-r--r--npc/quests/quests_13_1.txt95
-rw-r--r--npc/quests/quests_13_2.txt26
-rw-r--r--npc/quests/quests_airship.txt42
-rw-r--r--npc/quests/quests_alberta.txt16
-rw-r--r--npc/quests/quests_aldebaran.txt10
-rw-r--r--npc/quests/quests_amatsu.txt18
-rw-r--r--npc/quests/quests_ayothaya.txt20
-rw-r--r--npc/quests/quests_comodo.txt14
-rw-r--r--npc/quests/quests_ein.txt96
-rw-r--r--npc/quests/quests_geffen.txt16
-rw-r--r--npc/quests/quests_gonryun.txt8
-rw-r--r--npc/quests/quests_hugel.txt18
-rw-r--r--npc/quests/quests_izlude.txt10
-rw-r--r--npc/quests/quests_juperos.txt14
-rw-r--r--npc/quests/quests_lighthalzen.txt98
-rw-r--r--npc/quests/quests_louyang.txt38
-rw-r--r--npc/quests/quests_lutie.txt10
-rw-r--r--npc/quests/quests_morocc.txt191
-rw-r--r--npc/quests/quests_moscovia.txt86
-rw-r--r--npc/quests/quests_nameless.txt87
-rw-r--r--npc/quests/quests_niflheim.txt32
-rw-r--r--npc/quests/quests_payon.txt14
-rw-r--r--npc/quests/quests_prontera.txt60
-rw-r--r--npc/quests/quests_rachel.txt22
-rw-r--r--npc/quests/quests_umbala.txt237
-rw-r--r--npc/quests/quests_veins.txt64
-rw-r--r--npc/quests/quests_yuno.txt18
-rw-r--r--npc/quests/seals/brisingamen_seal.txt28
-rw-r--r--npc/quests/seals/god_global.txt12
-rw-r--r--npc/quests/seals/god_weapon_creation.txt24
-rw-r--r--npc/quests/seals/megingard_seal.txt24
-rw-r--r--npc/quests/seals/mjolnir_seal.txt16
-rw-r--r--npc/quests/seals/seal_status.txt6
-rw-r--r--npc/quests/seals/sleipnir_seal.txt14
-rw-r--r--npc/quests/skills/acolyte_skills.txt14
-rw-r--r--npc/quests/skills/alchemist_skills.txt162
-rw-r--r--npc/quests/skills/archer_skills.txt20
-rw-r--r--npc/quests/skills/assassin_skills.txt10
-rw-r--r--npc/quests/skills/bard_skills.txt10
-rw-r--r--npc/quests/skills/blacksmith_skills.txt12
-rw-r--r--npc/quests/skills/crusader_skills.txt10
-rw-r--r--npc/quests/skills/dancer_skills.txt12
-rw-r--r--npc/quests/skills/hunter_skills.txt12
-rw-r--r--npc/quests/skills/knight_skills.txt12
-rw-r--r--npc/quests/skills/mage_skills.txt16
-rw-r--r--npc/quests/skills/merchant_skills.txt18
-rw-r--r--npc/quests/skills/monk_skills.txt12
-rw-r--r--npc/quests/skills/priest_skills.txt10
-rw-r--r--npc/quests/skills/rogue_skills.txt14
-rw-r--r--npc/quests/skills/sage_skills.txt14
-rw-r--r--npc/quests/skills/swordman_skills.txt20
-rw-r--r--npc/quests/skills/thief_skills.txt18
-rw-r--r--npc/quests/skills/wizard_skills.txt12
-rw-r--r--npc/quests/thana_quest.txt40
-rw-r--r--npc/quests/the_sign_quest.txt90
-rw-r--r--npc/re/airports/izlude.txt6
-rw-r--r--npc/re/battleground/bg_common.txt6
-rw-r--r--npc/re/cities/alberta.txt4
-rw-r--r--npc/re/cities/brasilis.txt20
-rw-r--r--npc/re/cities/dewata.txt19
-rw-r--r--npc/re/cities/dicastes.txt12
-rw-r--r--npc/re/cities/eclage.txt4
-rw-r--r--npc/re/cities/izlude.txt6
-rw-r--r--npc/re/cities/jawaii.txt8
-rw-r--r--npc/re/cities/malangdo.txt6
-rw-r--r--npc/re/cities/malaya.txt6
-rw-r--r--npc/re/cities/mora.txt20
-rw-r--r--npc/re/cities/yuno.txt4
-rw-r--r--npc/re/events/christmas_2013.txt4
-rw-r--r--npc/re/events/halloween_2013.txt6
-rw-r--r--npc/re/events/halloween_2014.txt10
-rw-r--r--npc/re/guides/guides_alberta.txt6
-rw-r--r--npc/re/guides/guides_aldebaran.txt6
-rw-r--r--npc/re/guides/guides_amatsu.txt6
-rw-r--r--npc/re/guides/guides_ayothaya.txt8
-rw-r--r--npc/re/guides/guides_brasilis.txt6
-rw-r--r--npc/re/guides/guides_comodo.txt6
-rw-r--r--npc/re/guides/guides_dewata.txt8
-rw-r--r--npc/re/guides/guides_dicastes.txt8
-rw-r--r--npc/re/guides/guides_eclage.txt4
-rw-r--r--npc/re/guides/guides_einbroch.txt6
-rw-r--r--npc/re/guides/guides_geffen.txt6
-rw-r--r--npc/re/guides/guides_gonryun.txt6
-rw-r--r--npc/re/guides/guides_hugel.txt6
-rw-r--r--npc/re/guides/guides_izlude.txt8
-rw-r--r--npc/re/guides/guides_juno.txt6
-rw-r--r--npc/re/guides/guides_lighthalzen.txt6
-rw-r--r--npc/re/guides/guides_louyang.txt6
-rw-r--r--npc/re/guides/guides_lutie.txt6
-rw-r--r--npc/re/guides/guides_malaya.txt4
-rw-r--r--npc/re/guides/guides_mora.txt4
-rw-r--r--npc/re/guides/guides_morroc.txt6
-rw-r--r--npc/re/guides/guides_moscovia.txt6
-rw-r--r--npc/re/guides/guides_niflheim.txt6
-rw-r--r--npc/re/guides/guides_payon.txt6
-rw-r--r--npc/re/guides/guides_prontera.txt6
-rw-r--r--npc/re/guides/guides_rachel.txt6
-rw-r--r--npc/re/guides/guides_umbala.txt6
-rw-r--r--npc/re/guides/guides_veins.txt6
-rw-r--r--npc/re/guides/navigation.txt4
-rw-r--r--npc/re/instances/BakonawaLake.txt4
-rw-r--r--npc/re/instances/BangungotHospital.txt4
-rw-r--r--npc/re/instances/BuwayaCave.txt4
-rw-r--r--npc/re/instances/EclageInterior.txt4
-rw-r--r--npc/re/instances/HazyForest.txt4
-rw-r--r--npc/re/instances/MalangdoCulvert.txt6
-rw-r--r--npc/re/instances/OldGlastHeim.txt16
-rw-r--r--npc/re/instances/WolfchevLaboratory.txt6
-rw-r--r--npc/re/instances/ghost_palace.txt8
-rw-r--r--npc/re/instances/octopus_cave.txt6
-rw-r--r--npc/re/instances/saras_memory.txt6
-rw-r--r--npc/re/jobs/1-1/acolyte.txt8
-rw-r--r--npc/re/jobs/1-1/archer.txt8
-rw-r--r--npc/re/jobs/1-1/mage.txt8
-rw-r--r--npc/re/jobs/1-1/merchant.txt8
-rw-r--r--npc/re/jobs/1-1/swordman.txt8
-rw-r--r--npc/re/jobs/1-1/thief.txt8
-rw-r--r--npc/re/jobs/1-1e/taekwon.txt2
-rw-r--r--npc/re/jobs/2e/kagerou_oboro.txt452
-rw-r--r--npc/re/jobs/2e/rebellion.txt1035
-rw-r--r--npc/re/jobs/3-1/archbishop.txt28
-rw-r--r--npc/re/jobs/3-1/guillotine_cross.txt8
-rw-r--r--npc/re/jobs/3-1/mechanic.txt10
-rw-r--r--npc/re/jobs/3-1/ranger.txt14
-rw-r--r--npc/re/jobs/3-1/rune_knight.txt12
-rw-r--r--npc/re/jobs/3-1/warlock.txt12
-rw-r--r--npc/re/jobs/3-2/genetic.txt14
-rw-r--r--npc/re/jobs/3-2/minstrel.txt10
-rw-r--r--npc/re/jobs/3-2/royal_guard.txt14
-rw-r--r--npc/re/jobs/3-2/shadow_chaser.txt24
-rw-r--r--npc/re/jobs/3-2/sorcerer.txt8
-rw-r--r--npc/re/jobs/3-2/sura.txt12
-rw-r--r--npc/re/jobs/3-2/wanderer.txt14
-rw-r--r--npc/re/jobs/novice/academy.txt416
-rw-r--r--npc/re/jobs/novice/novice.txt8
-rw-r--r--npc/re/jobs/novice/supernovice_ex.txt4
-rw-r--r--npc/re/jobs/repair.txt6
-rw-r--r--npc/re/kafras/kafras.txt12
-rw-r--r--npc/re/mapflag/gvg.txt2
-rw-r--r--npc/re/mapflag/zone.txt4
-rw-r--r--npc/re/merchants/3rd_trader.txt24
-rw-r--r--npc/re/merchants/advanced_refiner.txt4
-rw-r--r--npc/re/merchants/alchemist.txt14
-rw-r--r--npc/re/merchants/ammo_boxes.txt4
-rw-r--r--npc/re/merchants/ammo_dealer.txt4
-rw-r--r--npc/re/merchants/blessed_refiner.txt4
-rw-r--r--npc/re/merchants/card_separation.txt6
-rw-r--r--npc/re/merchants/catalog.txt20
-rw-r--r--npc/re/merchants/coin_exchange.txt10
-rw-r--r--npc/re/merchants/diamond.txt18
-rw-r--r--npc/re/merchants/enchan_ko.txt4
-rw-r--r--npc/re/merchants/enchan_mal.txt6
-rw-r--r--npc/re/merchants/enchan_mora.txt20
-rw-r--r--npc/re/merchants/enchan_upg.txt6
-rw-r--r--npc/re/merchants/flute.txt10
-rw-r--r--npc/re/merchants/hd_refiner.txt15
-rw-r--r--npc/re/merchants/inn.txt6
-rw-r--r--npc/re/merchants/ninja_craftsman.txt4
-rw-r--r--npc/re/merchants/quivers.txt8
-rw-r--r--npc/re/merchants/refine.txt19
-rw-r--r--npc/re/merchants/renters.txt121
-rw-r--r--npc/re/merchants/shadow_refiner.txt12
-rw-r--r--npc/re/merchants/shops.txt18
-rw-r--r--npc/re/merchants/ticket_refiner.txt4
-rw-r--r--npc/re/mobs/champion.txt4
-rw-r--r--npc/re/mobs/citycleaners.txt4
-rw-r--r--npc/re/mobs/dungeons/abbey.txt6
-rw-r--r--npc/re/mobs/dungeons/abyss.txt10
-rw-r--r--npc/re/mobs/dungeons/alde_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/ama_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/anthell.txt8
-rw-r--r--npc/re/mobs/dungeons/ayo_dun.txt12
-rw-r--r--npc/re/mobs/dungeons/beach_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/bra_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/c_tower.txt6
-rw-r--r--npc/re/mobs/dungeons/dew_dun.txt6
-rw-r--r--npc/re/mobs/dungeons/dic_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/ecl_tdun.txt8
-rw-r--r--npc/re/mobs/dungeons/ein_dun.txt12
-rw-r--r--npc/re/mobs/dungeons/gef_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/gefenia.txt10
-rw-r--r--npc/re/mobs/dungeons/glastheim.txt12
-rw-r--r--npc/re/mobs/dungeons/gld_dunSE.txt6
-rw-r--r--npc/re/mobs/dungeons/gld_re.txt4
-rw-r--r--npc/re/mobs/dungeons/gon_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/ice_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/in_sphinx.txt8
-rw-r--r--npc/re/mobs/dungeons/iz_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/juperos.txt16
-rw-r--r--npc/re/mobs/dungeons/kh_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/lhz_dun.txt22
-rw-r--r--npc/re/mobs/dungeons/lou_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/ma_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/mag_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/mal_dun.txt6
-rw-r--r--npc/re/mobs/dungeons/mjo_dun.txt6
-rw-r--r--npc/re/mobs/dungeons/moc_pryd.txt10
-rw-r--r--npc/re/mobs/dungeons/mosk_dun.txt10
-rw-r--r--npc/re/mobs/dungeons/nyd_dun.txt4
-rw-r--r--npc/re/mobs/dungeons/odin.txt10
-rw-r--r--npc/re/mobs/dungeons/orcsdun.txt6
-rw-r--r--npc/re/mobs/dungeons/pay_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/prt_maze.txt8
-rw-r--r--npc/re/mobs/dungeons/prt_sew.txt8
-rw-r--r--npc/re/mobs/dungeons/ra_san.txt8
-rw-r--r--npc/re/mobs/dungeons/tha_t.txt10
-rw-r--r--npc/re/mobs/dungeons/thor_v.txt6
-rw-r--r--npc/re/mobs/dungeons/treasure.txt10
-rw-r--r--npc/re/mobs/dungeons/tur_dun.txt6
-rw-r--r--npc/re/mobs/dungeons/xmas_dun.txt8
-rw-r--r--npc/re/mobs/dungeons/yggdrasil.txt8
-rw-r--r--npc/re/mobs/fields/amatsu.txt10
-rw-r--r--npc/re/mobs/fields/ayothaya.txt16
-rw-r--r--npc/re/mobs/fields/bifrost.txt6
-rw-r--r--npc/re/mobs/fields/brasilis.txt4
-rw-r--r--npc/re/mobs/fields/comodo.txt8
-rw-r--r--npc/re/mobs/fields/dewata.txt6
-rw-r--r--npc/re/mobs/fields/dicastes.txt4
-rw-r--r--npc/re/mobs/fields/eclage.txt10
-rw-r--r--npc/re/mobs/fields/einbroch.txt18
-rw-r--r--npc/re/mobs/fields/geffen.txt10
-rw-r--r--npc/re/mobs/fields/gonryun.txt10
-rw-r--r--npc/re/mobs/fields/hugel.txt16
-rw-r--r--npc/re/mobs/fields/lighthalzen.txt16
-rw-r--r--npc/re/mobs/fields/louyang.txt14
-rw-r--r--npc/re/mobs/fields/lutie.txt10
-rw-r--r--npc/re/mobs/fields/malaya.txt4
-rw-r--r--npc/re/mobs/fields/manuk.txt8
-rw-r--r--npc/re/mobs/fields/mjolnir.txt8
-rw-r--r--npc/re/mobs/fields/morocc.txt10
-rw-r--r--npc/re/mobs/fields/moscovia.txt10
-rw-r--r--npc/re/mobs/fields/niflheim.txt16
-rw-r--r--npc/re/mobs/fields/payon.txt8
-rw-r--r--npc/re/mobs/fields/prontera.txt10
-rw-r--r--npc/re/mobs/fields/rachel.txt14
-rw-r--r--npc/re/mobs/fields/splendide.txt8
-rw-r--r--npc/re/mobs/fields/umbala.txt8
-rw-r--r--npc/re/mobs/fields/veins.txt12
-rw-r--r--npc/re/mobs/fields/yuno.txt36
-rw-r--r--npc/re/mobs/int_land.txt2
-rw-r--r--npc/re/mobs/towns.txt4
-rw-r--r--npc/re/other/achievement_treasures.txt342
-rw-r--r--npc/re/other/bulletin_boards.txt4
-rw-r--r--npc/re/other/clans.txt2
-rw-r--r--npc/re/other/dimensional_gap.txt6
-rw-r--r--npc/re/other/mail.txt4
-rw-r--r--npc/re/other/mercenary_rent.txt8
-rw-r--r--npc/re/other/pvp.txt4
-rw-r--r--npc/re/other/resetskill.txt4
-rw-r--r--npc/re/other/stone_change.txt4
-rw-r--r--npc/re/other/turbo_track.txt4
-rw-r--r--npc/re/quests/cupet.txt4
-rw-r--r--npc/re/quests/eden/100-110.txt6
-rw-r--r--npc/re/quests/eden/11-25.txt8
-rw-r--r--npc/re/quests/eden/111-120.txt6
-rw-r--r--npc/re/quests/eden/121-130.txt6
-rw-r--r--npc/re/quests/eden/131-140.txt6
-rw-r--r--npc/re/quests/eden/26-40.txt8
-rw-r--r--npc/re/quests/eden/41-55.txt8
-rw-r--r--npc/re/quests/eden/56-70.txt10
-rw-r--r--npc/re/quests/eden/71-85.txt8
-rw-r--r--npc/re/quests/eden/86-90.txt8
-rw-r--r--npc/re/quests/eden/91-99.txt8
-rw-r--r--npc/re/quests/eden/eden_common.txt20
-rw-r--r--npc/re/quests/eden/eden_iro.txt22
-rw-r--r--npc/re/quests/eden/eden_quests.txt12
-rw-r--r--npc/re/quests/eden/eden_service.txt6
-rw-r--r--npc/re/quests/eden/eden_tutorial.txt8
-rw-r--r--npc/re/quests/first_class/tu_archer.txt4
-rw-r--r--npc/re/quests/homun_s.txt6
-rw-r--r--npc/re/quests/magic_books.txt8
-rw-r--r--npc/re/quests/monstertamers.txt4
-rw-r--r--npc/re/quests/mrsmile.txt8
-rw-r--r--npc/re/quests/newgears/2012_headgears.txt6
-rw-r--r--npc/re/quests/pile_bunker.txt8
-rw-r--r--npc/re/quests/quests_13_1.txt4
-rw-r--r--npc/re/quests/quests_aldebaran.txt6
-rw-r--r--npc/re/quests/quests_brasilis.txt725
-rw-r--r--npc/re/quests/quests_dewata.txt12
-rw-r--r--npc/re/quests/quests_dicastes.txt24
-rw-r--r--npc/re/quests/quests_eclage.txt48
-rw-r--r--npc/re/quests/quests_glastheim.txt4
-rw-r--r--npc/re/quests/quests_izlude.txt8
-rw-r--r--npc/re/quests/quests_lighthalzen.txt4
-rw-r--r--npc/re/quests/quests_malangdo.txt53
-rw-r--r--npc/re/quests/quests_malaya.txt29
-rw-r--r--npc/re/quests/quests_mora.txt10
-rw-r--r--npc/re/quests/quests_morocc.txt4
-rw-r--r--npc/re/quests/quests_nameless.txt4
-rw-r--r--npc/re/quests/quests_payon.txt35
-rw-r--r--npc/re/quests/quests_veins.txt4
-rw-r--r--npc/re/scripts.conf6
-rw-r--r--npc/re/scripts_jobs.conf5
-rw-r--r--npc/re/scripts_main.conf4
-rw-r--r--npc/re/scripts_mapflags.conf4
-rw-r--r--npc/re/scripts_monsters.conf4
-rw-r--r--npc/re/scripts_warps.conf4
-rw-r--r--npc/re/scripts_woe.conf4
-rw-r--r--npc/re/warps/cities/brasilis.txt10
-rw-r--r--npc/re/warps/cities/dewata.txt8
-rw-r--r--npc/re/warps/cities/dicastes.txt8
-rw-r--r--npc/re/warps/cities/eclage.txt8
-rw-r--r--npc/re/warps/cities/izlude.txt16
-rw-r--r--npc/re/warps/cities/malangdo.txt6
-rw-r--r--npc/re/warps/cities/malaya.txt8
-rw-r--r--npc/re/warps/cities/rachel.txt10
-rw-r--r--npc/re/warps/cities/yggdrasil.txt4
-rw-r--r--npc/re/warps/dungeons/bra_dun.txt4
-rw-r--r--npc/re/warps/dungeons/dic_dun.txt8
-rw-r--r--npc/re/warps/dungeons/ecl_dun.txt6
-rw-r--r--npc/re/warps/dungeons/iz_dun.txt8
-rw-r--r--npc/re/warps/dungeons/moc_pryd.txt4
-rw-r--r--npc/re/warps/fields/bif_fild.txt6
-rw-r--r--npc/re/warps/fields/bra_fild.txt4
-rw-r--r--npc/re/warps/fields/com_fild.txt6
-rw-r--r--npc/re/warps/fields/dic_fild.txt8
-rw-r--r--npc/re/warps/fields/geffen_fild.txt4
-rw-r--r--npc/re/warps/fields/hugel_fild.txt8
-rw-r--r--npc/re/warps/fields/morroc_fild.txt10
-rw-r--r--npc/re/warps/fields/payon_fild.txt6
-rw-r--r--npc/re/warps/fields/prontera_fild.txt12
-rw-r--r--npc/re/warps/fields/rachel_fild.txt6
-rw-r--r--npc/re/warps/fields/veins_fild.txt8
-rw-r--r--npc/re/warps/fields/yuno_fild.txt6
-rw-r--r--npc/re/warps/guildcastles.txt4
-rw-r--r--npc/re/warps/other/arena.txt4
-rw-r--r--npc/re/warps/other/dimensional_gap.txt2
-rw-r--r--npc/re/warps/other/jobquests.txt6
-rw-r--r--npc/re/warps/other/paradise.txt4
-rw-r--r--npc/re/warps/other/s_workshop.txt6
-rw-r--r--npc/re/warps/other/sign.txt6
-rw-r--r--npc/re/woe-fe/invest_main.txt26
-rw-r--r--npc/re/woe-fe/invest_npc.txt4
-rw-r--r--npc/scripts.conf4
-rw-r--r--npc/scripts_custom.conf5
-rw-r--r--npc/scripts_dev.conf2
-rw-r--r--npc/scripts_jobs.conf4
-rw-r--r--npc/scripts_mapflags.conf4
-rw-r--r--npc/scripts_monsters.conf4
-rw-r--r--npc/scripts_removed.conf2
-rw-r--r--npc/scripts_warps.conf4
-rw-r--r--npc/scripts_woe.conf4
-rw-r--r--npc/warps/cities/alberta.txt6
-rw-r--r--npc/warps/cities/aldebaran.txt10
-rw-r--r--npc/warps/cities/amatsu.txt10
-rw-r--r--npc/warps/cities/ayothaya.txt14
-rw-r--r--npc/warps/cities/comodo.txt8
-rw-r--r--npc/warps/cities/einbech.txt8
-rw-r--r--npc/warps/cities/einbroch.txt16
-rw-r--r--npc/warps/cities/geffen.txt8
-rw-r--r--npc/warps/cities/gonryun.txt6
-rw-r--r--npc/warps/cities/hugel.txt16
-rw-r--r--npc/warps/cities/lighthalzen.txt18
-rw-r--r--npc/warps/cities/louyang.txt16
-rw-r--r--npc/warps/cities/lutie.txt8
-rw-r--r--npc/warps/cities/manuk.txt4
-rw-r--r--npc/warps/cities/mid_camp.txt10
-rw-r--r--npc/warps/cities/morroc.txt8
-rw-r--r--npc/warps/cities/moscovia.txt6
-rw-r--r--npc/warps/cities/nameless.txt8
-rw-r--r--npc/warps/cities/niflheim.txt8
-rw-r--r--npc/warps/cities/payon.txt16
-rw-r--r--npc/warps/cities/prontera.txt12
-rw-r--r--npc/warps/cities/splendide.txt4
-rw-r--r--npc/warps/cities/umbala.txt12
-rw-r--r--npc/warps/cities/veins.txt10
-rw-r--r--npc/warps/cities/yuno.txt21
-rw-r--r--npc/warps/dungeons/abbey.txt4
-rw-r--r--npc/warps/dungeons/abyss.txt6
-rw-r--r--npc/warps/dungeons/alde_dun.txt10
-rw-r--r--npc/warps/dungeons/ama_dun.txt6
-rw-r--r--npc/warps/dungeons/anthell.txt12
-rw-r--r--npc/warps/dungeons/ayo_dun.txt10
-rw-r--r--npc/warps/dungeons/beach_dun.txt6
-rw-r--r--npc/warps/dungeons/c_tower.txt6
-rw-r--r--npc/warps/dungeons/ein_dun.txt10
-rw-r--r--npc/warps/dungeons/gef_dun.txt6
-rw-r--r--npc/warps/dungeons/gon_dun.txt6
-rw-r--r--npc/warps/dungeons/ice_dun.txt6
-rw-r--r--npc/warps/dungeons/in_sphinx.txt6
-rw-r--r--npc/warps/dungeons/iz_dun.txt6
-rw-r--r--npc/warps/dungeons/juperos.txt16
-rw-r--r--npc/warps/dungeons/kh_dun.txt8
-rw-r--r--npc/warps/dungeons/lhz_dun.txt16
-rw-r--r--npc/warps/dungeons/lou_dun.txt6
-rw-r--r--npc/warps/dungeons/mag_dun.txt4
-rw-r--r--npc/warps/dungeons/mjo_dun.txt4
-rw-r--r--npc/warps/dungeons/moc_pryd.txt6
-rw-r--r--npc/warps/dungeons/mosk_dun.txt6
-rw-r--r--npc/warps/dungeons/odin.txt12
-rw-r--r--npc/warps/dungeons/orcsdun.txt4
-rw-r--r--npc/warps/dungeons/pay_dun.txt6
-rw-r--r--npc/warps/dungeons/prt_maze.txt6
-rw-r--r--npc/warps/dungeons/ra_san.txt6
-rw-r--r--npc/warps/dungeons/tha_t.txt6
-rw-r--r--npc/warps/dungeons/thor_v.txt6
-rw-r--r--npc/warps/dungeons/treasure.txt6
-rw-r--r--npc/warps/dungeons/tur_dun.txt6
-rw-r--r--npc/warps/dungeons/um_dun.txt10
-rw-r--r--npc/warps/dungeons/xmas_dun.txt6
-rw-r--r--npc/warps/fields/abyss_warper.txt14
-rw-r--r--npc/warps/fields/amatsu_fild.txt6
-rw-r--r--npc/warps/fields/ein_fild.txt10
-rw-r--r--npc/warps/fields/gefenia.txt8
-rw-r--r--npc/warps/fields/glastheim.txt10
-rw-r--r--npc/warps/fields/jawaii.txt10
-rw-r--r--npc/warps/fields/lhalzen_fild.txt10
-rw-r--r--npc/warps/fields/lutie_fild.txt6
-rw-r--r--npc/warps/fields/man_fild.txt4
-rw-r--r--npc/warps/fields/mtmjolnir.txt10
-rw-r--r--npc/warps/fields/spl_fild.txt4
-rw-r--r--npc/warps/fields/umbala_fild.txt6
-rw-r--r--npc/warps/guildcastles.txt16
-rw-r--r--npc/warps/other/airplane.txt18
-rw-r--r--npc/warps/other/arena.txt10
-rw-r--r--npc/warps/other/god.txt6
-rw-r--r--npc/warps/other/jobquests.txt12
-rw-r--r--npc/warps/other/kiel.txt6
-rw-r--r--npc/warps/other/other.txt4
-rw-r--r--npc/warps/pvp.txt8
-rw-r--r--npc/woe-fe/agit_controller.txt22
-rw-r--r--npc/woe-fe/agit_main.txt25
-rw-r--r--npc/woe-fe/aldeg_cas01.txt12
-rw-r--r--npc/woe-fe/aldeg_cas02.txt12
-rw-r--r--npc/woe-fe/aldeg_cas03.txt12
-rw-r--r--npc/woe-fe/aldeg_cas04.txt12
-rw-r--r--npc/woe-fe/aldeg_cas05.txt12
-rw-r--r--npc/woe-fe/gefg_cas01.txt12
-rw-r--r--npc/woe-fe/gefg_cas02.txt12
-rw-r--r--npc/woe-fe/gefg_cas03.txt12
-rw-r--r--npc/woe-fe/gefg_cas04.txt12
-rw-r--r--npc/woe-fe/gefg_cas05.txt12
-rw-r--r--npc/woe-fe/payg_cas01.txt12
-rw-r--r--npc/woe-fe/payg_cas02.txt14
-rw-r--r--npc/woe-fe/payg_cas03.txt12
-rw-r--r--npc/woe-fe/payg_cas04.txt14
-rw-r--r--npc/woe-fe/payg_cas05.txt12
-rw-r--r--npc/woe-fe/prtg_cas01.txt12
-rw-r--r--npc/woe-fe/prtg_cas02.txt12
-rw-r--r--npc/woe-fe/prtg_cas03.txt12
-rw-r--r--npc/woe-fe/prtg_cas04.txt12
-rw-r--r--npc/woe-fe/prtg_cas05.txt12
-rw-r--r--npc/woe-fe/trs_rp.txt8
-rw-r--r--npc/woe-se/agit_main_se.txt34
-rw-r--r--npc/woe-se/agit_start_se.txt4
-rw-r--r--npc/woe-se/arug_cas01.txt4
-rw-r--r--npc/woe-se/arug_cas02.txt4
-rw-r--r--npc/woe-se/arug_cas03.txt4
-rw-r--r--npc/woe-se/arug_cas04.txt4
-rw-r--r--npc/woe-se/arug_cas05.txt4
-rw-r--r--npc/woe-se/guild_flags.txt4
-rw-r--r--npc/woe-se/schg_cas01.txt4
-rw-r--r--npc/woe-se/schg_cas02.txt4
-rw-r--r--npc/woe-se/schg_cas03.txt4
-rw-r--r--npc/woe-se/schg_cas04.txt4
-rw-r--r--npc/woe-se/schg_cas05.txt4
-rwxr-xr-xscript-checker4
-rw-r--r--script-checker.bat2
-rw-r--r--sql-files/item_db.sql871
-rw-r--r--sql-files/item_db2.sql2
-rw-r--r--sql-files/item_db_re.sql915
-rw-r--r--sql-files/logs.sql96
-rw-r--r--sql-files/main.sql1032
-rw-r--r--sql-files/mob_db.sql2
-rw-r--r--sql-files/mob_db2.sql2
-rw-r--r--sql-files/mob_db_re.sql6
-rw-r--r--sql-files/mob_skill_db.sql108
-rw-r--r--sql-files/mob_skill_db2.sql2
-rw-r--r--sql-files/mob_skill_db_re.sql152
-rw-r--r--sql-files/tools/convert_engine_innodb.sql4
-rw-r--r--sql-files/tools/convert_engine_myisam.sql4
-rw-r--r--sql-files/tools/convert_passwords.sql4
-rw-r--r--sql-files/upgrades/2013-02-14--16-15.sql2
-rw-r--r--sql-files/upgrades/2013-02-15--18-06.sql2
-rw-r--r--sql-files/upgrades/2013-03-05--01-05.sql2
-rw-r--r--sql-files/upgrades/2013-03-06--00-00.sql4
-rw-r--r--sql-files/upgrades/2013-03-09--01-56.sql2
-rw-r--r--sql-files/upgrades/2013-03-27--18-35.sql2
-rw-r--r--sql-files/upgrades/2013-04-16--01-24.sql2
-rw-r--r--sql-files/upgrades/2013-04-16--02-15.sql2
-rw-r--r--sql-files/upgrades/2013-10-09--21-38.sql2
-rw-r--r--sql-files/upgrades/2013-10-10--16-36.sql2
-rw-r--r--sql-files/upgrades/2013-10-27--16-47.sql2
-rw-r--r--sql-files/upgrades/2013-10-30--19-53.sql2
-rw-r--r--sql-files/upgrades/2013-10-30--21-12.sql2
-rw-r--r--sql-files/upgrades/2013-10-31--07-49.sql2
-rw-r--r--sql-files/upgrades/2013-11-09--00-03.sql2
-rw-r--r--sql-files/upgrades/2013-11-15--00-06.sql4
-rw-r--r--sql-files/upgrades/2013-11-15--19-57.sql2
-rw-r--r--sql-files/upgrades/2013-11-16--07-49.sql2
-rw-r--r--sql-files/upgrades/2013-11-18--08-23.sql4
-rw-r--r--sql-files/upgrades/2013-12-24--00-15.sql2
-rw-r--r--sql-files/upgrades/2014-01-04--16-47.sql2
-rw-r--r--sql-files/upgrades/2014-01-06--17-22.sql2
-rw-r--r--sql-files/upgrades/2014-02-19--17-57.sql2
-rw-r--r--sql-files/upgrades/2014-03-25--23-57.sql2
-rw-r--r--sql-files/upgrades/2014-04-07--22-04.sql2
-rw-r--r--sql-files/upgrades/2014-04-26--10-00.sql2
-rw-r--r--sql-files/upgrades/2014-05-17--00-06.sql2
-rw-r--r--sql-files/upgrades/2014-09-01--16-53.sql2
-rw-r--r--sql-files/upgrades/2014-11-03--00-45.sql2
-rw-r--r--sql-files/upgrades/2015-07-02--18-14.sql2
-rw-r--r--sql-files/upgrades/2015-07-08--13-08.sql2
-rw-r--r--sql-files/upgrades/2015-08-27--20-42.sql2
-rw-r--r--sql-files/upgrades/2015-12-16--12-57.sql2
-rw-r--r--sql-files/upgrades/2015-12-17--15-58.sql2
-rw-r--r--sql-files/upgrades/2016-03-10--22-18.sql2
-rw-r--r--sql-files/upgrades/2016-07-08--02-42.sql2
-rw-r--r--sql-files/upgrades/2016-07-08--02-51.sql2
-rw-r--r--sql-files/upgrades/2016-10-03--20-27.sql2
-rw-r--r--sql-files/upgrades/2016-10-26--10-29.sql2
-rw-r--r--sql-files/upgrades/2017-03-02--11-40.sql2
-rw-r--r--sql-files/upgrades/2017-03-15--14-29.sql10
-rw-r--r--sql-files/upgrades/2017-06-04--15-04.sql2
-rw-r--r--sql-files/upgrades/2017-06-04--15-05.sql2
-rw-r--r--sql-files/upgrades/2018-03-10--04-06.sql2
-rw-r--r--sql-files/upgrades/2018-06-03--00-10.sql2
-rw-r--r--sql-files/upgrades/2018-06-03--17-16.sql2
-rw-r--r--sql-files/upgrades/2018-06-05--12-02.sql2
-rw-r--r--sql-files/upgrades/2018-07-24--03-23.sql2
-rw-r--r--sql-files/upgrades/2018-09-01--05-22.sql2
-rw-r--r--sql-files/upgrades/2018-12-14--01-02.sql2
-rw-r--r--sql-files/upgrades/2018-12-29--07-51.sql2
-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/2019-05-09--18-07.sql22
-rw-r--r--sql-files/upgrades/2019-08-08--19-43.sql95
-rw-r--r--sql-files/upgrades/2019-10-05--19-01.sql28
-rw-r--r--sql-files/upgrades/2019-10-12--14-21.sql23
-rw-r--r--sql-files/upgrades/2019-11-22--23-58.sql23
-rw-r--r--sql-files/upgrades/2020-01-24--01-09.sql63
-rw-r--r--sql-files/upgrades/2020-03-22--01-56.sql23
-rw-r--r--sql-files/upgrades/2020-03-22--03-09.sql24
-rw-r--r--sql-files/upgrades/eAthena-logs-upgrade.sql2
-rw-r--r--sql-files/upgrades/eAthena-main-upgrade.sql2
-rw-r--r--sql-files/upgrades/index.txt10
-rw-r--r--sql-files/upgrades/rAthena-logs-upgrade.sql2
-rw-r--r--sql-files/upgrades/rAthena-main-upgrade.sql2
-rw-r--r--src/char/HPMchar.c2
-rw-r--r--src/char/HPMchar.h2
-rw-r--r--src/char/Makefile.in29
-rw-r--r--src/char/char.c78
-rw-r--r--src/char/char.h6
-rw-r--r--src/char/geoip.c9
-rw-r--r--src/char/geoip.h4
-rw-r--r--src/char/int_achievement.c2
-rw-r--r--src/char/int_achievement.h2
-rw-r--r--src/char/int_auction.c4
-rw-r--r--src/char/int_auction.h4
-rw-r--r--src/char/int_clan.c2
-rw-r--r--src/char/int_clan.h2
-rw-r--r--src/char/int_elemental.c4
-rw-r--r--src/char/int_elemental.h4
-rw-r--r--src/char/int_guild.c27
-rw-r--r--src/char/int_guild.h4
-rw-r--r--src/char/int_homun.c4
-rw-r--r--src/char/int_homun.h4
-rw-r--r--src/char/int_mail.c4
-rw-r--r--src/char/int_mail.h4
-rw-r--r--src/char/int_mercenary.c4
-rw-r--r--src/char/int_mercenary.h4
-rw-r--r--src/char/int_party.c506
-rw-r--r--src/char/int_party.h17
-rw-r--r--src/char/int_pet.c236
-rw-r--r--src/char/int_pet.h4
-rw-r--r--src/char/int_quest.c4
-rw-r--r--src/char/int_quest.h4
-rw-r--r--src/char/int_rodex.c140
-rw-r--r--src/char/int_rodex.h6
-rw-r--r--src/char/int_storage.c4
-rw-r--r--src/char/int_storage.h4
-rw-r--r--src/char/inter.c101
-rw-r--r--src/char/inter.h15
-rw-r--r--src/char/loginif.c4
-rw-r--r--src/char/loginif.h4
-rw-r--r--src/char/mapif.c236
-rw-r--r--src/char/mapif.h18
-rw-r--r--src/char/packets_hc_struct.h2
-rw-r--r--src/char/pincode.c4
-rw-r--r--src/char/pincode.h4
-rw-r--r--src/common/HPM.c7
-rw-r--r--src/common/HPM.h2
-rw-r--r--src/common/HPMDataCheck.h60
-rw-r--r--src/common/HPMSymbols.inc.h16
-rw-r--r--src/common/HPMi.h8
-rw-r--r--src/common/Makefile.in31
-rw-r--r--src/common/atomic.h4
-rw-r--r--src/common/cbasetypes.h9
-rw-r--r--src/common/conf.c34
-rw-r--r--src/common/conf.h8
-rw-r--r--src/common/console.c21
-rw-r--r--src/common/console.h2
-rw-r--r--src/common/core.c6
-rw-r--r--src/common/core.h4
-rw-r--r--src/common/db.c4
-rw-r--r--src/common/db.h4
-rw-r--r--src/common/des.c4
-rw-r--r--src/common/des.h4
-rw-r--r--src/common/ers.c4
-rw-r--r--src/common/ers.h4
-rw-r--r--src/common/grfio.c4
-rw-r--r--src/common/grfio.h4
-rw-r--r--src/common/hercules.h2
-rw-r--r--src/common/mapindex.c61
-rw-r--r--src/common/mapindex.h8
-rw-r--r--src/common/md5calc.c4
-rw-r--r--src/common/md5calc.h4
-rw-r--r--src/common/memmgr.c4
-rw-r--r--src/common/memmgr.h4
-rw-r--r--src/common/mmo.h102
-rw-r--r--src/common/mutex.c4
-rw-r--r--src/common/mutex.h4
-rw-r--r--src/common/nullpo.c137
-rw-r--r--src/common/nullpo.h11
-rw-r--r--src/common/packets.c2
-rw-r--r--src/common/packets.h2
-rw-r--r--src/common/packets/packets2003_len_main.h808
-rw-r--r--src/common/packets/packets2003_len_sak.h808
-rw-r--r--src/common/packets/packets2004_len_ad.h1046
-rw-r--r--src/common/packets/packets2004_len_main.h1168
-rw-r--r--src/common/packets/packets2004_len_sak.h1104
-rw-r--r--src/common/packets/packets2005_len_ad.h1212
-rw-r--r--src/common/packets/packets2005_len_main.h1212
-rw-r--r--src/common/packets/packets2005_len_sak.h1160
-rw-r--r--src/common/packets/packets2006_len_ad.h1176
-rw-r--r--src/common/packets/packets2006_len_main.h1172
-rw-r--r--src/common/packets/packets2006_len_sak.h1178
-rw-r--r--src/common/packets/packets2007_len_ad.h1356
-rw-r--r--src/common/packets/packets2007_len_main.h1352
-rw-r--r--src/common/packets/packets2007_len_sak.h1346
-rw-r--r--src/common/packets/packets2008_len_ad.h13512
-rw-r--r--src/common/packets/packets2008_len_main.h24732
-rw-r--r--src/common/packets/packets2008_len_re.h1328
-rw-r--r--src/common/packets/packets2008_len_sak.h5118
-rw-r--r--src/common/packets/packets2009_len_main.h7282
-rw-r--r--src/common/packets/packets2009_len_re.h1538
-rw-r--r--src/common/packets/packets2009_len_sak.h1384
-rw-r--r--src/common/packets/packets2010_len_main.h2334
-rw-r--r--src/common/packets/packets2010_len_re.h1864
-rw-r--r--src/common/packets/packets2011_len_main.h5842
-rw-r--r--src/common/packets/packets2011_len_re.h3424
-rw-r--r--src/common/packets/packets2012_len_main.h6780
-rw-r--r--src/common/packets/packets2012_len_re.h6784
-rw-r--r--src/common/packets/packets2013_len_main.h6956
-rw-r--r--src/common/packets/packets2013_len_re.h6996
-rw-r--r--src/common/packets/packets2014_len_main.h7126
-rw-r--r--src/common/packets/packets2014_len_re.h7140
-rw-r--r--src/common/packets/packets2015_len_main.h6812
-rw-r--r--src/common/packets/packets2015_len_re.h6798
-rw-r--r--src/common/packets/packets2016_len_main.h7002
-rw-r--r--src/common/packets/packets2016_len_re.h7006
-rw-r--r--src/common/packets/packets2017_len_main.h6900
-rw-r--r--src/common/packets/packets2017_len_re.h6904
-rw-r--r--src/common/packets/packets2017_len_zero.h3422
-rw-r--r--src/common/packets/packets2018_len_main.h3524
-rw-r--r--src/common/packets/packets2018_len_re.h3424
-rw-r--r--src/common/packets/packets2018_len_zero.h3694
-rw-r--r--src/common/packets/packets2019_len_main.h3184
-rw-r--r--src/common/packets/packets2019_len_re.h3194
-rw-r--r--src/common/packets/packets2019_len_zero.h3169
-rw-r--r--src/common/packets/packets2020_len_main.h4659
-rw-r--r--src/common/packets/packets2020_len_re.h4656
-rw-r--r--src/common/packets/packets2020_len_zero.h4659
-rw-r--r--src/common/packets/packets_len_ad.h4
-rw-r--r--src/common/packets/packets_len_main.h8
-rw-r--r--src/common/packets/packets_len_re.h8
-rw-r--r--src/common/packets/packets_len_sak.h4
-rw-r--r--src/common/packets/packets_len_zero.h8
-rw-r--r--src/common/packets_len.h2
-rw-r--r--src/common/packetsstatic_len.h6
-rw-r--r--src/common/random.c4
-rw-r--r--src/common/random.h4
-rw-r--r--src/common/showmsg.c4
-rw-r--r--src/common/showmsg.h4
-rw-r--r--src/common/socket.c28
-rw-r--r--src/common/socket.h7
-rw-r--r--src/common/spinlock.h4
-rw-r--r--src/common/sql.c7
-rw-r--r--src/common/sql.h4
-rw-r--r--src/common/strlib.c4
-rw-r--r--src/common/strlib.h4
-rw-r--r--src/common/sysinfo.c10
-rw-r--r--src/common/sysinfo.h4
-rw-r--r--src/common/thread.c4
-rw-r--r--src/common/thread.h4
-rw-r--r--src/common/timer.c4
-rw-r--r--src/common/timer.h4
-rw-r--r--src/common/utils.c63
-rw-r--r--src/common/utils.h15
-rw-r--r--src/common/winapi.h4
-rw-r--r--src/config/classes/general.h4
-rw-r--r--src/config/const.h11
-rw-r--r--src/config/core.h4
-rw-r--r--src/config/renewal.h4
-rw-r--r--src/config/secure.h4
-rw-r--r--src/login/HPMlogin.c2
-rw-r--r--src/login/HPMlogin.h2
-rw-r--r--src/login/Makefile.in29
-rw-r--r--src/login/account.c4
-rw-r--r--src/login/account.h4
-rw-r--r--src/login/ipban.c4
-rw-r--r--src/login/ipban.h4
-rw-r--r--src/login/lclif.c2
-rw-r--r--src/login/lclif.h2
-rw-r--r--src/login/lclif.p.h2
-rw-r--r--src/login/login.c4
-rw-r--r--src/login/login.h4
-rw-r--r--src/login/loginlog.c4
-rw-r--r--src/login/loginlog.h4
-rw-r--r--src/login/packets_ac_struct.h2
-rw-r--r--src/login/packets_ca_struct.h2
-rw-r--r--src/map/HPMmap.c5
-rw-r--r--src/map/HPMmap.h2
-rw-r--r--src/map/Makefile.in39
-rw-r--r--src/map/achievement.c18
-rw-r--r--src/map/achievement.h2
-rw-r--r--src/map/atcommand.c785
-rw-r--r--src/map/atcommand.h20
-rw-r--r--src/map/battle.c136
-rw-r--r--src/map/battle.h47
-rw-r--r--src/map/battleground.c26
-rw-r--r--src/map/battleground.h4
-rw-r--r--src/map/buyingstore.c10
-rw-r--r--src/map/buyingstore.h4
-rw-r--r--src/map/channel.c6
-rw-r--r--src/map/channel.h2
-rw-r--r--src/map/chat.c16
-rw-r--r--src/map/chat.h4
-rw-r--r--src/map/chrif.c9
-rw-r--r--src/map/chrif.h4
-rw-r--r--src/map/clan.c2
-rw-r--r--src/map/clan.h2
-rw-r--r--src/map/clif.c3999
-rw-r--r--src/map/clif.h187
-rw-r--r--src/map/constants.inc1029
-rw-r--r--src/map/date.c4
-rw-r--r--src/map/date.h4
-rw-r--r--src/map/duel.c27
-rw-r--r--src/map/duel.h6
-rw-r--r--src/map/elemental.c8
-rw-r--r--src/map/elemental.h4
-rw-r--r--src/map/guild.c174
-rw-r--r--src/map/guild.h11
-rw-r--r--src/map/homunculus.c57
-rw-r--r--src/map/homunculus.h11
-rw-r--r--src/map/instance.c15
-rw-r--r--src/map/instance.h4
-rw-r--r--src/map/intif.c385
-rw-r--r--src/map/intif.h21
-rw-r--r--src/map/irc-bot.c10
-rw-r--r--src/map/irc-bot.h2
-rw-r--r--src/map/itemdb.c509
-rw-r--r--src/map/itemdb.h45
-rw-r--r--src/map/log.c25
-rw-r--r--src/map/log.h10
-rw-r--r--src/map/mail.c6
-rw-r--r--src/map/mail.h4
-rw-r--r--src/map/map.c427
-rw-r--r--src/map/map.h134
-rw-r--r--src/map/mapdefines.h119
-rw-r--r--src/map/mapreg.h4
-rw-r--r--src/map/mapreg_sql.c4
-rw-r--r--src/map/mercenary.c4
-rw-r--r--src/map/mercenary.h4
-rw-r--r--src/map/messages.h4
-rw-r--r--src/map/messages_ad.h4
-rw-r--r--src/map/messages_main.h1342
-rw-r--r--src/map/messages_re.h1340
-rw-r--r--src/map/messages_sak.h4
-rw-r--r--src/map/messages_zero.h1304
-rw-r--r--src/map/mob.c1495
-rw-r--r--src/map/mob.h78
-rw-r--r--src/map/npc.c814
-rw-r--r--src/map/npc.h41
-rw-r--r--src/map/npc_chat.c4
-rw-r--r--src/map/packets.h75
-rw-r--r--src/map/packets_keys_main.h64
-rw-r--r--src/map/packets_keys_zero.h47
-rw-r--r--src/map/packets_shuffle_main.h94
-rw-r--r--src/map/packets_shuffle_re.h88
-rw-r--r--src/map/packets_shuffle_zero.h79
-rw-r--r--src/map/packets_struct.h837
-rw-r--r--src/map/party.c36
-rw-r--r--src/map/party.h5
-rw-r--r--src/map/path.c4
-rw-r--r--src/map/path.h4
-rw-r--r--src/map/pc.c1576
-rw-r--r--src/map/pc.h41
-rw-r--r--src/map/pc_groups.c5
-rw-r--r--src/map/pc_groups.h5
-rw-r--r--src/map/pet.c962
-rw-r--r--src/map/pet.h8
-rw-r--r--src/map/quest.c48
-rw-r--r--src/map/quest.h38
-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.c96
-rw-r--r--src/map/rodex.h4
-rw-r--r--src/map/script.c3459
-rw-r--r--src/map/script.h138
-rw-r--r--src/map/searchstore.c8
-rw-r--r--src/map/searchstore.h6
-rw-r--r--src/map/skill.c767
-rw-r--r--src/map/skill.h32
-rw-r--r--src/map/status.c1880
-rw-r--r--src/map/status.h1163
-rw-r--r--src/map/storage.c4
-rw-r--r--src/map/storage.h4
-rw-r--r--src/map/stylist.c229
-rw-r--r--src/map/stylist.h69
-rw-r--r--src/map/trade.c17
-rw-r--r--src/map/trade.h4
-rw-r--r--src/map/unit.c893
-rw-r--r--src/map/unit.h29
-rw-r--r--src/map/unitdefines.h58
-rw-r--r--src/map/vending.c4
-rw-r--r--src/map/vending.h4
-rw-r--r--src/plugins/HPMHooking.c5
-rw-r--r--src/plugins/HPMHooking.h16
-rw-r--r--src/plugins/HPMHooking/HPMHooking.Defs.inc662
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc122
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc32
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.Hooks.inc828
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.sources.inc2
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc22
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc7
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.Hooks.inc133
-rw-r--r--src/plugins/HPMHooking/HPMHooking_login.sources.inc2
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc789
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc201
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc4953
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.sources.inc5
-rw-r--r--src/plugins/Makefile.in4
-rw-r--r--src/plugins/constdb2doc.c22
-rw-r--r--src/plugins/db2sql.c8
-rw-r--r--src/plugins/dbghelpplug.c4
-rw-r--r--src/plugins/generate-translations.c244
-rw-r--r--src/plugins/mapcache.c25
-rw-r--r--src/plugins/sample.c34
-rw-r--r--src/plugins/script_mapquit.c2
-rw-r--r--src/test/Makefile.in29
-rw-r--r--src/test/test_libconfig.c4
-rw-r--r--src/test/test_spinlock.c4
-rwxr-xr-xsysinfogen.sh4
-rw-r--r--tools/HPMHookGen/HPMDataCheckGen.pl4
-rwxr-xr-xtools/HPMHookGen/HPMHookGen.pl11
-rw-r--r--tools/HPMHookGen/Makefile.in4
-rw-r--r--tools/HPMHookGen/doxygen.conf2
-rw-r--r--tools/Script-Checker.applescript2
-rwxr-xr-xtools/check-doc2
-rwxr-xr-xtools/checksql.sh13
-rwxr-xr-xtools/ci/retry.sh4
-rwxr-xr-xtools/ci/travis.sh10
-rwxr-xr-xtools/configconverter.pl5
-rwxr-xr-xtools/constdbconverter.pl4
-rw-r--r--tools/doxygen/Makefile.in2
-rw-r--r--tools/doxygen/doxygen.conf2065
-rw-r--r--tools/install_mariadb.bat7
-rw-r--r--tools/item_merge.lua2
-rw-r--r--tools/itemcombodbconverter.py112
-rw-r--r--tools/itemdb_jobmask_converter.pl2
-rwxr-xr-xtools/itemdbconverter.pl8
-rw-r--r--tools/mobavailconverter.py94
-rwxr-xr-xtools/mobdbconvall.sh2
-rwxr-xr-xtools/mobdbconverter.py36
-rwxr-xr-x[-rw-r--r--]tools/mobskilldbconverter.py4
-rw-r--r--tools/petdbconverter.py8
-rw-r--r--tools/petevolutionconverter.py4
-rwxr-xr-xtools/php-sqllint/bin/php-sqllint31
-rw-r--r--tools/php-sqllint/build.xml103
-rw-r--r--tools/php-sqllint/composer.json22
-rw-r--r--tools/php-sqllint/composer.lock186
-rw-r--r--tools/php-sqllint/src/phpsqllint/Autoloader.php57
-rw-r--r--tools/php-sqllint/src/phpsqllint/Cli.php280
-rw-r--r--tools/php-sqllint/src/phpsqllint/Renderer.php54
-rw-r--r--tools/php-sqllint/src/phpsqllint/Renderer/Emacs.php70
-rw-r--r--tools/php-sqllint/src/phpsqllint/Renderer/Text.php102
-rw-r--r--tools/php-sqllint/src/stub-phar.php18
-rwxr-xr-xtools/questdbconverter.pl2
-rw-r--r--tools/scconfigconverter.py105
-rw-r--r--tools/setup_mariadb.ps190
-rw-r--r--tools/skilldbconverter.php7
-rw-r--r--tools/utils/common.py10
-rw-r--r--tools/utils/libconf.py13
-rwxr-xr-xtools/validateinterfaces.py4
-rw-r--r--vcproj-14/char-server.vcxproj12
-rw-r--r--vcproj-14/login-server.vcxproj12
-rw-r--r--vcproj-14/map-server.vcxproj17
-rw-r--r--vcproj-14/map-server.vcxproj.filters15
-rw-r--r--vcproj-15/char-server.vcxproj12
-rw-r--r--vcproj-15/login-server.vcxproj12
-rw-r--r--vcproj-15/map-server.vcxproj17
-rw-r--r--vcproj-15/map-server.vcxproj.filters17
-rw-r--r--vcproj-16/char-server.vcxproj (renamed from vcproj-12/char-server.vcxproj)21
-rw-r--r--vcproj-16/char-server.vcxproj.filters (renamed from vcproj-12/char-server.vcxproj.filters)0
-rw-r--r--vcproj-16/login-server.vcxproj (renamed from vcproj-12/login-server.vcxproj)21
-rw-r--r--vcproj-16/login-server.vcxproj.filters (renamed from vcproj-12/login-server.vcxproj.filters)0
-rw-r--r--vcproj-16/map-server.vcxproj (renamed from vcproj-12/map-server.vcxproj)26
-rw-r--r--vcproj-16/map-server.vcxproj.filters (renamed from vcproj-12/map-server.vcxproj.filters)15
-rw-r--r--vcproj-16/plugin-HPMHooking_char.vcxproj (renamed from vcproj-12/plugin-HPMHooking_char.vcxproj)7
-rw-r--r--vcproj-16/plugin-HPMHooking_login.vcxproj (renamed from vcproj-12/plugin-HPMHooking_login.vcxproj)7
-rw-r--r--vcproj-16/plugin-HPMHooking_map.vcxproj (renamed from vcproj-12/plugin-HPMHooking_map.vcxproj)7
-rw-r--r--vcproj-16/plugin-sample.vcxproj (renamed from vcproj-12/plugin-sample.vcxproj)7
1550 files changed, 212634 insertions, 127448 deletions
diff --git a/.appveyor.yml b/.appveyor.yml
index dd63715c8..4b3b03e6a 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -11,10 +11,11 @@ image: Visual Studio 2015
clone_depth: 5
environment:
matrix:
- - HerculesProject: Hercules-12.sln
- HerculesProject: Hercules-14.sln
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
HerculesProject: Hercules-15.sln
+ - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
+ HerculesProject: Hercules-16.sln
services: mysql56
build_script:
- cmd: MSBuild %HerculesProject% /t:map-server,char-server,login-server
diff --git a/.gitignore b/.gitignore
index c48554520..7b66af6d5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -51,6 +51,11 @@ Thumbs.db
/3rdparty/libconfig/Makefile
/3rdparty/libconfig/*.o
+# /3rdparty/libbacktrace/
+/3rdparty/libbacktrace/Makefile
+/3rdparty/libbacktrace/*.o
+/3rdparty/libbacktrace/backtrace-supported.h
+
# /3rdparty/mt19937ar/
/3rdparty/mt19937ar/Makefile
/3rdparty/mt19937ar/*.o
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ad4a20bf8..438dbc267 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -35,7 +35,7 @@ variables: &base_vars
pre_re:clang-3.9:
<<: *branch_exceptions
<<: *prerequisites
- stage: primary
+ stage: secondary
image: debian:stretch
services:
- mariadb:10.1
@@ -50,7 +50,7 @@ pre_re:clang-3.9:
re:clang-3.9:
<<: *branch_exceptions
<<: *prerequisites
- stage: primary
+ stage: secondary
image: debian:stretch
services:
- mariadb:10.1
@@ -80,7 +80,7 @@ zero-2018:clang-3.9:
pre_re:clang-4.0:
<<: *branch_exceptions
<<: *prerequisites
- stage: secondary
+ stage: primary
image: debian:stretch
services:
- mariadb:10.1
@@ -95,7 +95,7 @@ pre_re:clang-4.0:
re:clang-4.0:
<<: *branch_exceptions
<<: *prerequisites
- stage: secondary
+ stage: primary
image: debian:stretch
services:
- mariadb:10.1
@@ -194,8 +194,8 @@ zero-2018:clang-5.0:
pre_re:clang-6.0:
<<: *branch_exceptions
<<: *prerequisites
- stage: primary
- image: debian:unstable
+ stage: secondary
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -209,8 +209,8 @@ pre_re:clang-6.0:
re:clang-6.0:
<<: *branch_exceptions
<<: *prerequisites
- stage: primary
- image: debian:unstable
+ stage: secondary
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -225,7 +225,7 @@ zero-2018:clang-6.0:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
- image: debian:unstable
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -239,8 +239,8 @@ zero-2018:clang-6.0:
pre_re:clang-7:
<<: *branch_exceptions
<<: *prerequisites
- stage: secondary
- image: debian:unstable
+ stage: primary
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -254,8 +254,8 @@ pre_re:clang-7:
re:clang-7:
<<: *branch_exceptions
<<: *prerequisites
- stage: secondary
- image: debian:unstable
+ stage: primary
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -270,7 +270,7 @@ zero-2018:clang-7:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
- image: debian:unstable
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -281,94 +281,49 @@ 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:
+pre_re:clang-8:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:wheezy
+ image: debian:unstable
services:
- - mysql:5.5
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev
- SQLHOST: mysql
+ INSTALL_PACKAGES: clang-8 mariadb-client libmariadbclient-dev-compat
+ SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh build CC=clang-8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-re:gcc-4.7:
+re:clang-8:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:wheezy
+ image: debian:unstable
services:
- - mysql:5.5
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev
- SQLHOST: mysql
+ INSTALL_PACKAGES: clang-8 mariadb-client libmariadbclient-dev-compat
+ SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-4.7 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh build CC=clang-8 --enable-debug --enable-Werror --enable-buildbot
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-zero-2018:gcc-4.7:
+zero-2018:clang-8:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
- image: debian:wheezy
+ image: debian:unstable
services:
- - mysql:5.5
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-4.7 mysql-client libmysqlclient-dev
- SQLHOST: mysql
+ INSTALL_PACKAGES: clang-8 mariadb-client libmariadbclient-dev-compat
+ SQLHOST: mariadb
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 build CC=clang-8 --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:
@@ -419,7 +374,7 @@ zero-2018:gcc-4.8:
pre_re:gcc-4.9:
<<: *branch_exceptions
<<: *prerequisites
- stage: primary
+ stage: secondary
image: debian:jessie
services:
- mysql:5.5
@@ -434,7 +389,7 @@ pre_re:gcc-4.9:
re:gcc-4.9:
<<: *branch_exceptions
<<: *prerequisites
- stage: primary
+ stage: secondary
image: debian:jessie
services:
- mysql:5.5
@@ -461,51 +416,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
@@ -555,7 +465,7 @@ pre_re:gcc-7:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:unstable
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -570,7 +480,7 @@ re:gcc-7:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:unstable
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -585,7 +495,7 @@ zero-2018:gcc-7:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
- image: debian:unstable
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -599,8 +509,8 @@ zero-2018:gcc-7:
pre_re:gcc-8:
<<: *branch_exceptions
<<: *prerequisites
- stage: secondary
- image: debian:unstable
+ stage: primary
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -614,8 +524,8 @@ pre_re:gcc-8:
re:gcc-8:
<<: *branch_exceptions
<<: *prerequisites
- stage: secondary
- image: debian:unstable
+ stage: primary
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -630,7 +540,7 @@ zero-2018:gcc-8:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
- image: debian:unstable
+ image: debian:buster
services:
- mariadb:10
variables:
@@ -641,179 +551,179 @@ zero-2018:gcc-8:
- ./tools/ci/travis.sh build CC=gcc-8 --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_i386:
+pre_re:gcc-8_i386:
<<: *branch_exceptions
<<: *prerequisites
stage: primary
image: i386/debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-re:gcc-6_i386:
+re:gcc-8_i386:
<<: *branch_exceptions
<<: *prerequisites
stage: primary
image: i386/debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-zero-2018:gcc-6_i386:
+zero-2018:gcc-8_i386:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
image: i386/debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --enable-packetver-zero --enable-packetver=20180511
+ - ./tools/ci/travis.sh build CC=gcc-8 --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_sanitize:
+pre_re:gcc-8_sanitize:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:stretch
+ image: debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-re:gcc-6_sanitize:
+re:gcc-8_sanitize:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:stretch
+ image: debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-zero-2018:gcc-6_sanitize:
+zero-2018:gcc-8_sanitize:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
- image: debian:stretch
+ image: debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full --enable-packetver-zero --enable-packetver=20180511
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full --enable-packetver-zero --enable-packetver=20180511
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-pre_re:gcc-6_i386_sanitize:
+pre_re:gcc-8_i386_sanitize:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
image: i386/debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal --disable-manager --enable-sanitize=full
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-re:gcc-6_i386_sanitize:
+re:gcc-8_i386_sanitize:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
image: i386/debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-zero-2018:gcc-6_i386_sanitize:
+zero-2018:gcc-8_i386_sanitize:
<<: *branch_exceptions
<<: *prerequisites
stage: clients
image: i386/debian:stable
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full --enable-packetver-zero --enable-packetver=20180511
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-manager --enable-sanitize=full --enable-packetver-zero --enable-packetver=20180511
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
-pre_re:gcc-6_cov:
+pre_re:gcc-8_cov:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:stretch
+ image: debian:buster
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 gcovr mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 gcovr mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot --disable-renewal CFLAGS="-coverage" LDFLAGS="-coverage"
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot --disable-renewal CFLAGS="-coverage" LDFLAGS="-coverage"
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
- - gcovr -r . --gcov-executable=gcov-6 -o gcov_pre.txt
- - gcovr -r . --gcov-executable=gcov-6 --html -o gcov_pre.html
+ - gcovr -r . --gcov-executable=gcov-8 -o gcov_pre.txt
+ - gcovr -r . --gcov-executable=gcov-8 --html -o gcov_pre.html
- cat gcov_pre.txt
artifacts:
paths:
- gcov_pre.*
when: on_success
-re:gcc-6_cov:
+re:gcc-8_cov:
<<: *branch_exceptions
<<: *prerequisites
stage: secondary
- image: debian:stretch
+ image: debian:buster
services:
- - mariadb:10.1
+ - mariadb:10
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc-6 gcovr mariadb-client libmariadbclient-dev-compat
+ INSTALL_PACKAGES: gcc-8 gcovr mariadb-client libmariadbclient-dev-compat
SQLHOST: mariadb
script:
- - ./tools/ci/travis.sh build CC=gcc-6 --enable-debug --enable-Werror --enable-buildbot CFLAGS="-coverage" LDFLAGS="-coverage"
+ - ./tools/ci/travis.sh build CC=gcc-8 --enable-debug --enable-Werror --enable-buildbot CFLAGS="-coverage" LDFLAGS="-coverage"
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
- - gcovr -r . --gcov-executable=gcov-6 -o gcov_re.txt
- - gcovr -r . --gcov-executable=gcov-6 --html -o gcov_re.html
+ - gcovr -r . --gcov-executable=gcov-8 -o gcov_re.txt
+ - gcovr -r . --gcov-executable=gcov-8 --html -o gcov_re.html
- cat gcov_re.txt
artifacts:
paths:
@@ -828,11 +738,11 @@ pre_re:debian-oldstable:
stage: platforms
image: debian:oldstable
services:
- - mysql:5.5
+ - mariadb:10.1
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev
- SQLHOST: mysql
+ INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat
+ SQLHOST: mariadb
script:
- ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
@@ -843,11 +753,11 @@ re:debian-oldstable:
stage: platforms
image: debian:oldstable
services:
- - mysql:5.5
+ - mariadb:10.1
variables:
<<: *base_vars
- INSTALL_PACKAGES: gcc mysql-client libmysqlclient-dev
- SQLHOST: mysql
+ INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat
+ SQLHOST: mariadb
script:
- ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
@@ -858,7 +768,7 @@ pre_re:debian-stable:
stage: platforms
image: debian:stable
services:
- - mariadb:10.1
+ - mariadb:10.3
variables:
<<: *base_vars
INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat
@@ -873,7 +783,7 @@ re:debian-stable:
stage: platforms
image: debian:stable
services:
- - mariadb:10.1
+ - mariadb:10.3
variables:
<<: *base_vars
INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat
@@ -888,7 +798,7 @@ pre_re:debian-testing:
stage: platforms
image: debian:testing
services:
- - mariadb:10.1
+ - mariadb:10.3
variables:
<<: *base_vars
INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat
@@ -903,7 +813,7 @@ re:debian-testing:
stage: platforms
image: debian:testing
services:
- - mariadb:10.1
+ - mariadb:10.3
variables:
<<: *base_vars
INSTALL_PACKAGES: gcc mariadb-client libmariadbclient-dev-compat
@@ -1180,7 +1090,7 @@ pre_re:mariadb-10.1:
<<: *branch_exceptions
<<: *prerequisites
stage: platforms
- image: debian:stable
+ image: debian:stretch
services:
- mariadb:10.1
variables:
@@ -1195,7 +1105,7 @@ re:mariadb-10.1:
<<: *branch_exceptions
<<: *prerequisites
stage: platforms
- image: debian:stable
+ image: debian:stretch
services:
- mariadb:10.1
variables:
@@ -1206,6 +1116,36 @@ re:mariadb-10.1:
- ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
- ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
+pre_re:mariadb-10.3:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:buster
+ services:
+ - mariadb:10.3
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mariadb-client-10.3 libmariadbclient-dev-compat
+ SQLHOST: mariadb
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot --disable-renewal
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
+
+re:mariadb-10.3:
+ <<: *branch_exceptions
+ <<: *prerequisites
+ stage: platforms
+ image: debian:buster
+ services:
+ - mariadb:10.3
+ variables:
+ <<: *base_vars
+ INSTALL_PACKAGES: gcc mariadb-client-10.3 libmariadbclient-dev-compat
+ SQLHOST: mariadb
+ script:
+ - ./tools/ci/travis.sh build --enable-debug --enable-Werror --enable-buildbot
+ - ./tools/ci/travis.sh test ragnarok ragnarok ragnarok $SQLHOST
+
pre_re:mariadb-latest:
<<: *branch_exceptions
<<: *prerequisites
@@ -1285,8 +1225,8 @@ pages:
- mv gcov_*.* public/
- cp tools/doxygen/pages_index.html public/index.html
dependencies:
- - re:gcc-6_cov
- - pre_re:gcc-6_cov
+ - re:gcc-8_cov
+ - pre_re:gcc-8_cov
artifacts:
paths:
- public
diff --git a/.travis.yml b/.travis.yml
index a9bea834d..263f66776 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: c
-sudo: false
+os: linux
dist: trusty
addons:
apt:
@@ -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
@@ -23,7 +24,7 @@ script:
compiler: false # Necessary at the top level because referenced by allow_failures
env: ignore=this # Necessary at the top level because referenced by allow_failures
-matrix:
+jobs:
allow_failures:
- compiler: clang
env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --enable-Werror --enable-buildbot"
@@ -37,26 +38,36 @@ matrix:
- env: ignore=this
- compiler: false
include:
+ - language: php
+ env: sqlcheck=true
+ script:
+ - travis_retry composer self-update
+ - cd tools/php-sqllint
+ - travis_retry composer install --no-interaction --prefer-source
+ - cd ../..
+ - ./tools/checksql.sh
- compiler: gcc
- env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20190123 --enable-packetver-re --enable-buildbot" HPM="1"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20200304 --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-packetver=20190123 --enable-packetver-re --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug CC=clang-5.0 --enable-Werror --enable-packetver=20200304 --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 +77,17 @@ 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-packetver=20190123 --enable-packetver-re --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug CC=clang-4.0 --enable-Werror --enable-packetver=20200304 --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"
@@ -84,6 +97,7 @@ matrix:
- 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"
@@ -93,22 +107,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-packetver=20190123 --enable-packetver-re --enable-buildbot"
+ env: CONFIGURE_FLAGS="--enable-debug --enable-Werror --enable-packetver=20200304 --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-packetver=20190123 --enable-packetver-re --enable-buildbot"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-5 --disable-manager --enable-Werror --enable-packetver=20200304 --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"
@@ -117,14 +133,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-packetver=20190123 --enable-packetver-re --enable-buildbot"
+ env: LDFLAGS="-fuse-ld=gold" CONFIGURE_FLAGS="--enable-debug --enable-sanitize=full CC=gcc-6 --disable-manager --enable-Werror --enable-packetver=20200304 --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"
@@ -133,7 +151,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=20200304 --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=20200304 --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/3rdparty/libbacktrace/LICENSE b/3rdparty/libbacktrace/LICENSE
new file mode 100644
index 000000000..097d2774e
--- /dev/null
+++ b/3rdparty/libbacktrace/LICENSE
@@ -0,0 +1,29 @@
+# Copyright (C) 2012-2016 Free Software Foundation, Inc.
+
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+
+# (1) Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+
+# (2) Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in
+# the documentation and/or other materials provided with the
+# distribution.
+
+# (3) The name of the author may not be used to
+# endorse or promote products derived from this software without
+# specific prior written permission.
+
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
diff --git a/3rdparty/libbacktrace/Makefile.in b/3rdparty/libbacktrace/Makefile.in
new file mode 100644
index 000000000..edb433a4e
--- /dev/null
+++ b/3rdparty/libbacktrace/Makefile.in
@@ -0,0 +1,75 @@
+# This file is part of Hercules.
+# http://herc.ws - http://github.com/HerculesWS/Hercules
+#
+# Copyright (C) 2012-2015 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@
+
+ifeq (@USE_LIBBACKTRACE@,yes)
+ LIBBACKTRACE_OBJ = atomic.o \
+ dwarf.o \
+ fileline.o \
+ posix.o \
+ print.o \
+ sort.o \
+ state.o \
+ backtrace.o \
+ simple.o \
+ nounwind.o \
+ unknown.o \
+ read.o \
+ mmapio.o \
+ alloc.o \
+ mmap.o \
+ @LIBBACKTRACE_FORMAT_FILE@
+ LIBBACKTRACE_H = backtrace.h internal.h
+else
+ LIBBACKTRACE_OBJ =
+ LIBBACKTRACE_H =
+endif
+
+@SET_MAKE@
+
+CC = @CC@
+export CC
+
+#####################################################################
+.PHONY: all clean buildclean help
+
+all: $(LIBBACKTRACE_OBJ)
+
+buildclean:
+ @echo " CLEAN libbacktrace (build temp files)"
+ @rm -rf *.o
+
+clean: buildclean
+ @echo " CLEAN libbacktrace"
+
+help:
+ @echo "possible targets are 'all' 'clean' 'buildclean' 'help'"
+ @echo "'all' - builds $(LIBBACKTRACE_OBJ)"
+ @echo "'clean', 'buildclean' - deletes $(LIBBACKTRACE_OBJ)"
+ @echo "'help' - outputs this message"
+
+#####################################################################
+
+Makefile: Makefile.in
+ @$(MAKE) -C ../.. 3rdparty/libbacktrace/Makefile
+
+%.o: %.c $(LIBBACKTRACE_H) Makefile
+ @echo " CC $<"
+ @$(CC) @CFLAGS@ @DEFS@ @CPPFLAGS@ -Wno-pointer-arith -c $(OUTPUT_OPTION) $<
diff --git a/3rdparty/libbacktrace/README.md b/3rdparty/libbacktrace/README.md
new file mode 100644
index 000000000..da6d9667d
--- /dev/null
+++ b/3rdparty/libbacktrace/README.md
@@ -0,0 +1,33 @@
+# libbacktrace
+A C library that may be linked into a C/C++ program to produce symbolic backtraces
+
+Initially written by Ian Lance Taylor <iant@golang.org>.
+
+This is version 1.0.
+It is likely that this will always be version 1.0.
+
+The libbacktrace library may be linked into a program or library and
+used to produce symbolic backtraces.
+Sample uses would be to print a detailed backtrace when an error
+occurs or to gather detailed profiling information.
+
+The libbacktrace library is provided under a BSD license.
+See the source files for the exact license text.
+
+The public functions are declared and documented in the header file
+backtrace.h, which should be #include'd by a user of the library.
+
+Building libbacktrace will generate a file backtrace-supported.h,
+which a user of the library may use to determine whether backtraces
+will work.
+See the source file backtrace-supported.h.in for the macros that it
+defines.
+
+As of January 2018, libbacktrace only supports ELF, PE/COFF, and XCOFF
+executables with DWARF debugging information.
+The library is written to make it straightforward to add support for
+other object file and debugging formats.
+
+The library relies on the C++ unwind API defined at
+https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
+This API is provided by GCC.
diff --git a/3rdparty/libbacktrace/acinclude.m4 b/3rdparty/libbacktrace/acinclude.m4
new file mode 100644
index 000000000..daa73af9e
--- /dev/null
+++ b/3rdparty/libbacktrace/acinclude.m4
@@ -0,0 +1,72 @@
+dnl
+dnl Check whether _Unwind_GetIPInfo is available without doing a link
+dnl test so we can use this with libstdc++-v3 and libjava. Need to
+dnl use $target to set defaults because automatic checking is not possible
+dnl without a link test (and maybe even with a link test).
+dnl
+
+AC_DEFUN([GCC_CHECK_UNWIND_GETIPINFO], [
+ AC_ARG_WITH(system-libunwind,
+ [ --with-system-libunwind use installed libunwind])
+ # If system-libunwind was not specifically set, pick a default setting.
+ if test x$with_system_libunwind = x; then
+ case ${target} in
+ ia64-*-hpux*) with_system_libunwind=yes ;;
+ *) with_system_libunwind=no ;;
+ esac
+ fi
+ # Based on system-libunwind and target, do we have ipinfo?
+ if test x$with_system_libunwind = xyes; then
+ case ${target} in
+ ia64-*-*) have_unwind_getipinfo=no ;;
+ *) have_unwind_getipinfo=yes ;;
+ esac
+ else
+ # Darwin before version 9 does not have _Unwind_GetIPInfo.
+ changequote(,)
+ case ${target} in
+ *-*-darwin[3-8]|*-*-darwin[3-8].*) have_unwind_getipinfo=no ;;
+ *) have_unwind_getipinfo=yes ;;
+ esac
+ changequote([,])
+ fi
+
+ if test x$have_unwind_getipinfo = xyes; then
+ AC_DEFINE(HAVE_GETIPINFO, 1, [Define if _Unwind_GetIPInfo is available.])
+ fi
+])
+
+# ACX_PROG_CC_WARNING_OPTS(WARNINGS, [VARIABLE = WARN_CFLAGS])
+# Sets @VARIABLE@ to the subset of the given options which the
+# compiler accepts.
+AC_DEFUN([ACX_PROG_CC_WARNING_OPTS],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_LANG_PUSH(C)
+m4_pushdef([acx_Var], [m4_default([$2], [WARN_CFLAGS])])dnl
+AC_SUBST(acx_Var)dnl
+m4_expand_once([acx_Var=
+],m4_quote(acx_Var=))dnl
+save_CFLAGS="$CFLAGS"
+for real_option in $1; do
+ # Do the check with the no- prefix removed since gcc silently
+ # accepts any -Wno-* option on purpose
+ case $real_option in
+ -Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;;
+ *) option=$real_option ;;
+ esac
+ AS_VAR_PUSHDEF([acx_Woption], [acx_cv_prog_cc_warning_$option])
+ AC_CACHE_CHECK([whether $CC supports $option], acx_Woption,
+ [CFLAGS="$option"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
+ [AS_VAR_SET(acx_Woption, yes)],
+ [AS_VAR_SET(acx_Woption, no)])
+ ])
+ AS_IF([test AS_VAR_GET(acx_Woption) = yes],
+ [acx_Var="$acx_Var${acx_Var:+ }$real_option"])
+ AS_VAR_POPDEF([acx_Woption])dnl
+done
+CFLAGS="$save_CFLAGS"
+m4_popdef([acx_Var])dnl
+AC_LANG_POP(C)
+])# ACX_PROG_CC_WARNING_OPTS
+
diff --git a/3rdparty/libbacktrace/aclocal.m4 b/3rdparty/libbacktrace/aclocal.m4
new file mode 100644
index 000000000..00558cc33
--- /dev/null
+++ b/3rdparty/libbacktrace/aclocal.m4
@@ -0,0 +1,843 @@
+# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# Copyright (C) 2002-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.16'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.16.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.16.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <https://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST([install_sh])])
+
+# Copyright (C) 2003-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ AC_MSG_WARN(['missing' script is too old or missing])
+fi
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004-2018 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
+
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([config/libtool.m4])
+m4_include([config/ltoptions.m4])
+m4_include([config/ltsugar.m4])
+m4_include([config/ltversion.m4])
+m4_include([config/lt~obsolete.m4])
+m4_include([acinclude.m4])
diff --git a/3rdparty/libbacktrace/alloc.c b/3rdparty/libbacktrace/alloc.c
new file mode 100644
index 000000000..7070afbf2
--- /dev/null
+++ b/3rdparty/libbacktrace/alloc.c
@@ -0,0 +1,156 @@
+/* alloc.c -- Memory allocation without mmap.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* Allocation routines to use on systems that do not support anonymous
+ mmap. This implementation just uses malloc, which means that the
+ backtrace functions may not be safely invoked from a signal
+ handler. */
+
+/* Allocate memory like malloc. If ERROR_CALLBACK is NULL, don't
+ report an error. */
+
+void *
+backtrace_alloc (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ size_t size, backtrace_error_callback error_callback,
+ void *data)
+{
+ void *ret;
+
+ ret = malloc (size);
+ if (ret == NULL)
+ {
+ if (error_callback)
+ error_callback (data, "malloc", errno);
+ }
+ return ret;
+}
+
+/* Free memory. */
+
+void
+backtrace_free (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ void *p, size_t size ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data ATTRIBUTE_UNUSED)
+{
+ free (p);
+}
+
+/* Grow VEC by SIZE bytes. */
+
+void *
+backtrace_vector_grow (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ size_t size, backtrace_error_callback error_callback,
+ void *data, struct backtrace_vector *vec)
+{
+ void *ret;
+
+ if (size > vec->alc)
+ {
+ size_t alc;
+ void *base;
+
+ if (vec->size == 0)
+ alc = 32 * size;
+ else if (vec->size >= 4096)
+ alc = vec->size + 4096;
+ else
+ alc = 2 * vec->size;
+
+ if (alc < vec->size + size)
+ alc = vec->size + size;
+
+ base = realloc (vec->base, alc);
+ if (base == NULL)
+ {
+ error_callback (data, "realloc", errno);
+ return NULL;
+ }
+
+ vec->base = base;
+ vec->alc = alc - vec->size;
+ }
+
+ ret = (char *) vec->base + vec->size;
+ vec->size += size;
+ vec->alc -= size;
+ return ret;
+}
+
+/* Finish the current allocation on VEC. */
+
+void *
+backtrace_vector_finish (struct backtrace_state *state,
+ struct backtrace_vector *vec,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ void *ret;
+
+ /* With this allocator we call realloc in backtrace_vector_grow,
+ which means we can't easily reuse the memory here. So just
+ release it. */
+ if (!backtrace_vector_release (state, vec, error_callback, data))
+ return NULL;
+ ret = vec->base;
+ vec->base = NULL;
+ vec->size = 0;
+ vec->alc = 0;
+ return ret;
+}
+
+/* Release any extra space allocated for VEC. */
+
+int
+backtrace_vector_release (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ struct backtrace_vector *vec,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ vec->base = realloc (vec->base, vec->size);
+ if (vec->base == NULL)
+ {
+ error_callback (data, "realloc", errno);
+ return 0;
+ }
+ vec->alc = 0;
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/atomic.c b/3rdparty/libbacktrace/atomic.c
new file mode 100644
index 000000000..5ab160066
--- /dev/null
+++ b/3rdparty/libbacktrace/atomic.c
@@ -0,0 +1,113 @@
+/* atomic.c -- Support for atomic functions if not present.
+ Copyright (C) 2013-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "backtrace-supported.h"
+#include "internal.h"
+
+/* This file holds implementations of the atomic functions that are
+ used if the host compiler has the sync functions but not the atomic
+ functions, as is true of versions of GCC before 4.7. */
+
+#if !defined (HAVE_ATOMIC_FUNCTIONS) && defined (HAVE_SYNC_FUNCTIONS)
+
+/* Do an atomic load of a pointer. */
+
+void *
+backtrace_atomic_load_pointer (void *arg)
+{
+ void **pp;
+ void *p;
+
+ pp = (void **) arg;
+ p = *pp;
+ while (!__sync_bool_compare_and_swap (pp, p, p))
+ p = *pp;
+ return p;
+}
+
+/* Do an atomic load of an int. */
+
+int
+backtrace_atomic_load_int (int *p)
+{
+ int i;
+
+ i = *p;
+ while (!__sync_bool_compare_and_swap (p, i, i))
+ i = *p;
+ return i;
+}
+
+/* Do an atomic store of a pointer. */
+
+void
+backtrace_atomic_store_pointer (void *arg, void *p)
+{
+ void **pp;
+ void *old;
+
+ pp = (void **) arg;
+ old = *pp;
+ while (!__sync_bool_compare_and_swap (pp, old, p))
+ old = *pp;
+}
+
+/* Do an atomic store of a size_t value. */
+
+void
+backtrace_atomic_store_size_t (size_t *p, size_t v)
+{
+ size_t old;
+
+ old = *p;
+ while (!__sync_bool_compare_and_swap (p, old, v))
+ old = *p;
+}
+
+/* Do an atomic store of a int value. */
+
+void
+backtrace_atomic_store_int (int *p, int v)
+{
+ size_t old;
+
+ old = *p;
+ while (!__sync_bool_compare_and_swap (p, old, v))
+ old = *p;
+}
+
+#endif
diff --git a/3rdparty/libbacktrace/backtrace-supported.h.in b/3rdparty/libbacktrace/backtrace-supported.h.in
new file mode 100644
index 000000000..c2d03d241
--- /dev/null
+++ b/3rdparty/libbacktrace/backtrace-supported.h.in
@@ -0,0 +1,66 @@
+/* backtrace-supported.h.in -- Whether stack backtrace is supported.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+/* The file backtrace-supported.h.in is used by configure to generate
+ the file backtrace-supported.h. The file backtrace-supported.h may
+ be #include'd to see whether the backtrace library will be able to
+ get a backtrace and produce symbolic information. */
+
+
+/* BACKTRACE_SUPPORTED will be #define'd as 1 if the backtrace library
+ should work, 0 if it will not. Libraries may #include this to make
+ other arrangements. */
+
+#define BACKTRACE_SUPPORTED @BACKTRACE_SUPPORTED@
+
+/* BACKTRACE_USES_MALLOC will be #define'd as 1 if the backtrace
+ library will call malloc as it works, 0 if it will call mmap
+ instead. This may be used to determine whether it is safe to call
+ the backtrace functions from a signal handler. In general this
+ only applies to calls like backtrace and backtrace_pcinfo. It does
+ not apply to backtrace_simple, which never calls malloc. It does
+ not apply to backtrace_print, which always calls fprintf and
+ therefore malloc. */
+
+#define BACKTRACE_USES_MALLOC @BACKTRACE_USES_MALLOC@
+
+/* BACKTRACE_SUPPORTS_THREADS will be #define'd as 1 if the backtrace
+ library is configured with threading support, 0 if not. If this is
+ 0, the threaded parameter to backtrace_create_state must be passed
+ as 0. */
+
+#define BACKTRACE_SUPPORTS_THREADS @BACKTRACE_SUPPORTS_THREADS@
+
+/* BACKTRACE_SUPPORTS_DATA will be #defined'd as 1 if the backtrace_syminfo
+ will work for variables. It will always work for functions. */
+
+#define BACKTRACE_SUPPORTS_DATA @BACKTRACE_SUPPORTS_DATA@
diff --git a/3rdparty/libbacktrace/backtrace.c b/3rdparty/libbacktrace/backtrace.c
new file mode 100644
index 000000000..f8e3dc59d
--- /dev/null
+++ b/3rdparty/libbacktrace/backtrace.c
@@ -0,0 +1,129 @@
+/* backtrace.c -- Entry point for stack backtrace library.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <sys/types.h>
+
+#include "unwind.h"
+#include "backtrace.h"
+#include "internal.h"
+
+/* The main backtrace_full routine. */
+
+/* Data passed through _Unwind_Backtrace. */
+
+struct backtrace_data
+{
+ /* Number of frames to skip. */
+ int skip;
+ /* Library state. */
+ struct backtrace_state *state;
+ /* Callback routine. */
+ backtrace_full_callback callback;
+ /* Error callback routine. */
+ backtrace_error_callback error_callback;
+ /* Data to pass to callback routines. */
+ void *data;
+ /* Value to return from backtrace_full. */
+ int ret;
+ /* Whether there is any memory available. */
+ int can_alloc;
+};
+
+/* Unwind library callback routine. This is passed to
+ _Unwind_Backtrace. */
+
+static _Unwind_Reason_Code
+unwind (struct _Unwind_Context *context, void *vdata)
+{
+ struct backtrace_data *bdata = (struct backtrace_data *) vdata;
+ uintptr_t pc;
+ int ip_before_insn = 0;
+
+#ifdef HAVE_GETIPINFO
+ pc = _Unwind_GetIPInfo (context, &ip_before_insn);
+#else
+ pc = _Unwind_GetIP (context);
+#endif
+
+ if (bdata->skip > 0)
+ {
+ --bdata->skip;
+ return _URC_NO_REASON;
+ }
+
+ if (!ip_before_insn)
+ --pc;
+
+ if (!bdata->can_alloc)
+ bdata->ret = bdata->callback (bdata->data, pc, NULL, 0, NULL);
+ else
+ bdata->ret = backtrace_pcinfo (bdata->state, pc, bdata->callback,
+ bdata->error_callback, bdata->data);
+ if (bdata->ret != 0)
+ return _URC_END_OF_STACK;
+
+ return _URC_NO_REASON;
+}
+
+/* Get a stack backtrace. */
+
+int
+backtrace_full (struct backtrace_state *state, int skip,
+ backtrace_full_callback callback,
+ backtrace_error_callback error_callback, void *data)
+{
+ struct backtrace_data bdata;
+ void *p;
+
+ bdata.skip = skip + 1;
+ bdata.state = state;
+ bdata.callback = callback;
+ bdata.error_callback = error_callback;
+ bdata.data = data;
+ bdata.ret = 0;
+
+ /* If we can't allocate any memory at all, don't try to produce
+ file/line information. */
+ p = backtrace_alloc (state, 4096, NULL, NULL);
+ if (p == NULL)
+ bdata.can_alloc = 0;
+ else
+ {
+ backtrace_free (state, p, 4096, NULL, NULL);
+ bdata.can_alloc = 1;
+ }
+
+ _Unwind_Backtrace (unwind, &bdata);
+ return bdata.ret;
+}
diff --git a/3rdparty/libbacktrace/backtrace.h b/3rdparty/libbacktrace/backtrace.h
new file mode 100644
index 000000000..17b10197d
--- /dev/null
+++ b/3rdparty/libbacktrace/backtrace.h
@@ -0,0 +1,182 @@
+/* backtrace.h -- Public header file for stack backtrace library.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#ifndef BACKTRACE_H
+#define BACKTRACE_H
+
+#include <stddef.h>
+#include <stdint.h>
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* The backtrace state. This struct is intentionally not defined in
+ the public interface. */
+
+struct backtrace_state;
+
+/* The type of the error callback argument to backtrace functions.
+ This function, if not NULL, will be called for certain error cases.
+ The DATA argument is passed to the function that calls this one.
+ The MSG argument is an error message. The ERRNUM argument, if
+ greater than 0, holds an errno value. The MSG buffer may become
+ invalid after this function returns.
+
+ As a special case, the ERRNUM argument will be passed as -1 if no
+ debug info can be found for the executable, but the function
+ requires debug info (e.g., backtrace_full, backtrace_pcinfo). The
+ MSG in this case will be something along the lines of "no debug
+ info". Similarly, ERRNUM will be passed as -1 if there is no
+ symbol table, but the function requires a symbol table (e.g.,
+ backtrace_syminfo). This may be used as a signal that some other
+ approach should be tried. */
+
+typedef void (*backtrace_error_callback) (void *data, const char *msg,
+ int errnum);
+
+/* Create state information for the backtrace routines. This must be
+ called before any of the other routines, and its return value must
+ be passed to all of the other routines. FILENAME is the path name
+ of the executable file; if it is NULL the library will try
+ system-specific path names. If not NULL, FILENAME must point to a
+ permanent buffer. If THREADED is non-zero the state may be
+ accessed by multiple threads simultaneously, and the library will
+ use appropriate atomic operations. If THREADED is zero the state
+ may only be accessed by one thread at a time. This returns a state
+ pointer on success, NULL on error. If an error occurs, this will
+ call the ERROR_CALLBACK routine. */
+
+extern struct backtrace_state *backtrace_create_state (
+ const char *filename, int threaded,
+ backtrace_error_callback error_callback, void *data);
+
+/* The type of the callback argument to the backtrace_full function.
+ DATA is the argument passed to backtrace_full. PC is the program
+ counter. FILENAME is the name of the file containing PC, or NULL
+ if not available. LINENO is the line number in FILENAME containing
+ PC, or 0 if not available. FUNCTION is the name of the function
+ containing PC, or NULL if not available. This should return 0 to
+ continuing tracing. The FILENAME and FUNCTION buffers may become
+ invalid after this function returns. */
+
+typedef int (*backtrace_full_callback) (void *data, uintptr_t pc,
+ const char *filename, int lineno,
+ const char *function);
+
+/* Get a full stack backtrace. SKIP is the number of frames to skip;
+ passing 0 will start the trace with the function calling
+ backtrace_full. DATA is passed to the callback routine. If any
+ call to CALLBACK returns a non-zero value, the stack backtrace
+ stops, and backtrace returns that value; this may be used to limit
+ the number of stack frames desired. If all calls to CALLBACK
+ return 0, backtrace returns 0. The backtrace_full function will
+ make at least one call to either CALLBACK or ERROR_CALLBACK. This
+ function requires debug info for the executable. */
+
+extern int backtrace_full (struct backtrace_state *state, int skip,
+ backtrace_full_callback callback,
+ backtrace_error_callback error_callback,
+ void *data);
+
+/* The type of the callback argument to the backtrace_simple function.
+ DATA is the argument passed to simple_backtrace. PC is the program
+ counter. This should return 0 to continue tracing. */
+
+typedef int (*backtrace_simple_callback) (void *data, uintptr_t pc);
+
+/* Get a simple backtrace. SKIP is the number of frames to skip, as
+ in backtrace. DATA is passed to the callback routine. If any call
+ to CALLBACK returns a non-zero value, the stack backtrace stops,
+ and backtrace_simple returns that value. Otherwise
+ backtrace_simple returns 0. The backtrace_simple function will
+ make at least one call to either CALLBACK or ERROR_CALLBACK. This
+ function does not require any debug info for the executable. */
+
+extern int backtrace_simple (struct backtrace_state *state, int skip,
+ backtrace_simple_callback callback,
+ backtrace_error_callback error_callback,
+ void *data);
+
+/* Print the current backtrace in a user readable format to a FILE.
+ SKIP is the number of frames to skip, as in backtrace_full. Any
+ error messages are printed to stderr. This function requires debug
+ info for the executable. */
+
+extern void backtrace_print (struct backtrace_state *state, int skip, FILE *);
+
+/* Given PC, a program counter in the current program, call the
+ callback function with filename, line number, and function name
+ information. This will normally call the callback function exactly
+ once. However, if the PC happens to describe an inlined call, and
+ the debugging information contains the necessary information, then
+ this may call the callback function multiple times. This will make
+ at least one call to either CALLBACK or ERROR_CALLBACK. This
+ returns the first non-zero value returned by CALLBACK, or 0. */
+
+extern int backtrace_pcinfo (struct backtrace_state *state, uintptr_t pc,
+ backtrace_full_callback callback,
+ backtrace_error_callback error_callback,
+ void *data);
+
+/* The type of the callback argument to backtrace_syminfo. DATA and
+ PC are the arguments passed to backtrace_syminfo. SYMNAME is the
+ name of the symbol for the corresponding code. SYMVAL is the
+ value and SYMSIZE is the size of the symbol. SYMNAME will be NULL
+ if no error occurred but the symbol could not be found. */
+
+typedef void (*backtrace_syminfo_callback) (void *data, uintptr_t pc,
+ const char *symname,
+ uintptr_t symval,
+ uintptr_t symsize);
+
+/* Given ADDR, an address or program counter in the current program,
+ call the callback information with the symbol name and value
+ describing the function or variable in which ADDR may be found.
+ This will call either CALLBACK or ERROR_CALLBACK exactly once.
+ This returns 1 on success, 0 on failure. This function requires
+ the symbol table but does not require the debug info. Note that if
+ the symbol table is present but ADDR could not be found in the
+ table, CALLBACK will be called with a NULL SYMNAME argument.
+ Returns 1 on success, 0 on error. */
+
+extern int backtrace_syminfo (struct backtrace_state *state, uintptr_t addr,
+ backtrace_syminfo_callback callback,
+ backtrace_error_callback error_callback,
+ void *data);
+
+#ifdef __cplusplus
+} /* End extern "C". */
+#endif
+
+#endif
diff --git a/3rdparty/libbacktrace/btest.c b/3rdparty/libbacktrace/btest.c
new file mode 100644
index 000000000..1348d54da
--- /dev/null
+++ b/3rdparty/libbacktrace/btest.c
@@ -0,0 +1,500 @@
+/* btest.c -- Test for libbacktrace library
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+/* This program tests the externally visible interfaces of the
+ libbacktrace library. */
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "filenames.h"
+
+#include "backtrace.h"
+#include "backtrace-supported.h"
+
+#include "testlib.h"
+
+/* Test the backtrace function with non-inlined functions. */
+
+static int test1 (void) __attribute__ ((noinline, unused));
+static int f2 (int) __attribute__ ((noinline));
+static int f3 (int, int) __attribute__ ((noinline));
+
+static int
+test1 (void)
+{
+ /* Returning a value here and elsewhere avoids a tailcall which
+ would mess up the backtrace. */
+ return f2 (__LINE__) + 1;
+}
+
+static int
+f2 (int f1line)
+{
+ return f3 (f1line, __LINE__) + 2;
+}
+
+static int
+f3 (int f1line, int f2line)
+{
+ struct info all[20];
+ struct bdata data;
+ int f3line;
+ int i;
+
+ data.all = &all[0];
+ data.index = 0;
+ data.max = 20;
+ data.failed = 0;
+
+ f3line = __LINE__ + 1;
+ i = backtrace_full (state, 0, callback_one, error_callback_one, &data);
+
+ if (i != 0)
+ {
+ fprintf (stderr, "test1: unexpected return value %d\n", i);
+ data.failed = 1;
+ }
+
+ if (data.index < 3)
+ {
+ fprintf (stderr,
+ "test1: not enough frames; got %zu, expected at least 3\n",
+ data.index);
+ data.failed = 1;
+ }
+
+ check ("test1", 0, all, f3line, "f3", "btest.c", &data.failed);
+ check ("test1", 1, all, f2line, "f2", "btest.c", &data.failed);
+ check ("test1", 2, all, f1line, "test1", "btest.c", &data.failed);
+
+ printf ("%s: backtrace_full noinline\n", data.failed ? "FAIL" : "PASS");
+
+ if (data.failed)
+ ++failures;
+
+ return failures;
+}
+
+/* Test the backtrace function with inlined functions. */
+
+static inline int test2 (void) __attribute__ ((always_inline, unused));
+static inline int f12 (int) __attribute__ ((always_inline));
+static inline int f13 (int, int) __attribute__ ((always_inline));
+
+static inline int
+test2 (void)
+{
+ return f12 (__LINE__) + 1;
+}
+
+static inline int
+f12 (int f1line)
+{
+ return f13 (f1line, __LINE__) + 2;
+}
+
+static inline int
+f13 (int f1line, int f2line)
+{
+ struct info all[20];
+ struct bdata data;
+ int f3line;
+ int i;
+
+ data.all = &all[0];
+ data.index = 0;
+ data.max = 20;
+ data.failed = 0;
+
+ f3line = __LINE__ + 1;
+ i = backtrace_full (state, 0, callback_one, error_callback_one, &data);
+
+ if (i != 0)
+ {
+ fprintf (stderr, "test2: unexpected return value %d\n", i);
+ data.failed = 1;
+ }
+
+ check ("test2", 0, all, f3line, "f13", "btest.c", &data.failed);
+ check ("test2", 1, all, f2line, "f12", "btest.c", &data.failed);
+ check ("test2", 2, all, f1line, "test2", "btest.c", &data.failed);
+
+ printf ("%s: backtrace_full inline\n", data.failed ? "FAIL" : "PASS");
+
+ if (data.failed)
+ ++failures;
+
+ return failures;
+}
+
+/* Test the backtrace_simple function with non-inlined functions. */
+
+static int test3 (void) __attribute__ ((noinline, unused));
+static int f22 (int) __attribute__ ((noinline));
+static int f23 (int, int) __attribute__ ((noinline));
+
+static int
+test3 (void)
+{
+ return f22 (__LINE__) + 1;
+}
+
+static int
+f22 (int f1line)
+{
+ return f23 (f1line, __LINE__) + 2;
+}
+
+static int
+f23 (int f1line, int f2line)
+{
+ uintptr_t addrs[20];
+ struct sdata data;
+ int f3line;
+ int i;
+
+ data.addrs = &addrs[0];
+ data.index = 0;
+ data.max = 20;
+ data.failed = 0;
+
+ f3line = __LINE__ + 1;
+ i = backtrace_simple (state, 0, callback_two, error_callback_two, &data);
+
+ if (i != 0)
+ {
+ fprintf (stderr, "test3: unexpected return value %d\n", i);
+ data.failed = 1;
+ }
+
+ if (!data.failed)
+ {
+ struct info all[20];
+ struct bdata bdata;
+ int j;
+
+ bdata.all = &all[0];
+ bdata.index = 0;
+ bdata.max = 20;
+ bdata.failed = 0;
+
+ for (j = 0; j < 3; ++j)
+ {
+ i = backtrace_pcinfo (state, addrs[j], callback_one,
+ error_callback_one, &bdata);
+ if (i != 0)
+ {
+ fprintf (stderr,
+ ("test3: unexpected return value "
+ "from backtrace_pcinfo %d\n"),
+ i);
+ bdata.failed = 1;
+ }
+ if (!bdata.failed && bdata.index != (size_t) (j + 1))
+ {
+ fprintf (stderr,
+ ("wrong number of calls from backtrace_pcinfo "
+ "got %u expected %d\n"),
+ (unsigned int) bdata.index, j + 1);
+ bdata.failed = 1;
+ }
+ }
+
+ check ("test3", 0, all, f3line, "f23", "btest.c", &bdata.failed);
+ check ("test3", 1, all, f2line, "f22", "btest.c", &bdata.failed);
+ check ("test3", 2, all, f1line, "test3", "btest.c", &bdata.failed);
+
+ if (bdata.failed)
+ data.failed = 1;
+
+ for (j = 0; j < 3; ++j)
+ {
+ struct symdata symdata;
+
+ symdata.name = NULL;
+ symdata.val = 0;
+ symdata.size = 0;
+ symdata.failed = 0;
+
+ i = backtrace_syminfo (state, addrs[j], callback_three,
+ error_callback_three, &symdata);
+ if (i == 0)
+ {
+ fprintf (stderr,
+ ("test3: [%d]: unexpected return value "
+ "from backtrace_syminfo %d\n"),
+ j, i);
+ symdata.failed = 1;
+ }
+
+ if (!symdata.failed)
+ {
+ const char *expected;
+
+ switch (j)
+ {
+ case 0:
+ expected = "f23";
+ break;
+ case 1:
+ expected = "f22";
+ break;
+ case 2:
+ expected = "test3";
+ break;
+ default:
+ assert (0);
+ }
+
+ if (symdata.name == NULL)
+ {
+ fprintf (stderr, "test3: [%d]: NULL syminfo name\n", j);
+ symdata.failed = 1;
+ }
+ /* Use strncmp, not strcmp, because GCC might create a
+ clone. */
+ else if (strncmp (symdata.name, expected, strlen (expected))
+ != 0)
+ {
+ fprintf (stderr,
+ ("test3: [%d]: unexpected syminfo name "
+ "got %s expected %s\n"),
+ j, symdata.name, expected);
+ symdata.failed = 1;
+ }
+ }
+
+ if (symdata.failed)
+ data.failed = 1;
+ }
+ }
+
+ printf ("%s: backtrace_simple noinline\n", data.failed ? "FAIL" : "PASS");
+
+ if (data.failed)
+ ++failures;
+
+ return failures;
+}
+
+/* Test the backtrace_simple function with inlined functions. */
+
+static inline int test4 (void) __attribute__ ((always_inline, unused));
+static inline int f32 (int) __attribute__ ((always_inline));
+static inline int f33 (int, int) __attribute__ ((always_inline));
+
+static inline int
+test4 (void)
+{
+ return f32 (__LINE__) + 1;
+}
+
+static inline int
+f32 (int f1line)
+{
+ return f33 (f1line, __LINE__) + 2;
+}
+
+static inline int
+f33 (int f1line, int f2line)
+{
+ uintptr_t addrs[20];
+ struct sdata data;
+ int f3line;
+ int i;
+
+ data.addrs = &addrs[0];
+ data.index = 0;
+ data.max = 20;
+ data.failed = 0;
+
+ f3line = __LINE__ + 1;
+ i = backtrace_simple (state, 0, callback_two, error_callback_two, &data);
+
+ if (i != 0)
+ {
+ fprintf (stderr, "test3: unexpected return value %d\n", i);
+ data.failed = 1;
+ }
+
+ if (!data.failed)
+ {
+ struct info all[20];
+ struct bdata bdata;
+
+ bdata.all = &all[0];
+ bdata.index = 0;
+ bdata.max = 20;
+ bdata.failed = 0;
+
+ i = backtrace_pcinfo (state, addrs[0], callback_one, error_callback_one,
+ &bdata);
+ if (i != 0)
+ {
+ fprintf (stderr,
+ ("test4: unexpected return value "
+ "from backtrace_pcinfo %d\n"),
+ i);
+ bdata.failed = 1;
+ }
+
+ check ("test4", 0, all, f3line, "f33", "btest.c", &bdata.failed);
+ check ("test4", 1, all, f2line, "f32", "btest.c", &bdata.failed);
+ check ("test4", 2, all, f1line, "test4", "btest.c", &bdata.failed);
+
+ if (bdata.failed)
+ data.failed = 1;
+ }
+
+ printf ("%s: backtrace_simple inline\n", data.failed ? "FAIL" : "PASS");
+
+ if (data.failed)
+ ++failures;
+
+ return failures;
+}
+
+static int test5 (void) __attribute__ ((unused));
+
+int global = 1;
+
+static int
+test5 (void)
+{
+ struct symdata symdata;
+ int i;
+ uintptr_t addr = (uintptr_t) &global;
+
+ if (sizeof (global) > 1)
+ addr += 1;
+
+ symdata.name = NULL;
+ symdata.val = 0;
+ symdata.size = 0;
+ symdata.failed = 0;
+
+ i = backtrace_syminfo (state, addr, callback_three,
+ error_callback_three, &symdata);
+ if (i == 0)
+ {
+ fprintf (stderr,
+ "test5: unexpected return value from backtrace_syminfo %d\n",
+ i);
+ symdata.failed = 1;
+ }
+
+ if (!symdata.failed)
+ {
+ if (symdata.name == NULL)
+ {
+ fprintf (stderr, "test5: NULL syminfo name\n");
+ symdata.failed = 1;
+ }
+ else if (strcmp (symdata.name, "global") != 0)
+ {
+ fprintf (stderr,
+ "test5: unexpected syminfo name got %s expected %s\n",
+ symdata.name, "global");
+ symdata.failed = 1;
+ }
+ else if (symdata.val != (uintptr_t) &global)
+ {
+ fprintf (stderr,
+ "test5: unexpected syminfo value got %lx expected %lx\n",
+ (unsigned long) symdata.val,
+ (unsigned long) (uintptr_t) &global);
+ symdata.failed = 1;
+ }
+ else if (symdata.size != sizeof (global))
+ {
+ fprintf (stderr,
+ "test5: unexpected syminfo size got %lx expected %lx\n",
+ (unsigned long) symdata.size,
+ (unsigned long) sizeof (global));
+ symdata.failed = 1;
+ }
+ }
+
+ printf ("%s: backtrace_syminfo variable\n",
+ symdata.failed ? "FAIL" : "PASS");
+
+ if (symdata.failed)
+ ++failures;
+
+ return failures;
+}
+
+/* Check that are no files left open. */
+
+static void
+check_open_files (void)
+{
+ int i;
+
+ for (i = 3; i < 10; i++)
+ {
+ if (close (i) == 0)
+ {
+ fprintf (stderr,
+ "ERROR: descriptor %d still open after tests complete\n",
+ i);
+ ++failures;
+ }
+ }
+}
+
+/* Run all the tests. */
+
+int
+main (int argc ATTRIBUTE_UNUSED, char **argv)
+{
+ state = backtrace_create_state (argv[0], BACKTRACE_SUPPORTS_THREADS,
+ error_callback_create, NULL);
+
+#if BACKTRACE_SUPPORTED
+ test1 ();
+ test2 ();
+ test3 ();
+ test4 ();
+#if BACKTRACE_SUPPORTS_DATA
+ test5 ();
+#endif
+#endif
+
+ check_open_files ();
+
+ exit (failures ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/3rdparty/mysql/mysql-5.0.20 b/3rdparty/libbacktrace/config.h
index e69de29bb..e69de29bb 100644
--- a/3rdparty/mysql/mysql-5.0.20
+++ b/3rdparty/libbacktrace/config.h
diff --git a/3rdparty/libbacktrace/dwarf.c b/3rdparty/libbacktrace/dwarf.c
new file mode 100644
index 000000000..c378b2517
--- /dev/null
+++ b/3rdparty/libbacktrace/dwarf.c
@@ -0,0 +1,3126 @@
+/* dwarf.c -- Get file/line information from DWARF for backtraces.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* DWARF constants. */
+
+enum dwarf_tag {
+ DW_TAG_entry_point = 0x3,
+ DW_TAG_compile_unit = 0x11,
+ DW_TAG_inlined_subroutine = 0x1d,
+ DW_TAG_subprogram = 0x2e,
+};
+
+enum dwarf_form {
+ DW_FORM_addr = 0x1,
+ DW_FORM_block2 = 0x3,
+ DW_FORM_block4 = 0x4,
+ DW_FORM_data2 = 0x5,
+ DW_FORM_data4 = 0x6,
+ DW_FORM_data8 = 0x07,
+ DW_FORM_string = 0x08,
+ DW_FORM_block = 0x09,
+ DW_FORM_block1 = 0x0a,
+ DW_FORM_data1 = 0x0b,
+ DW_FORM_flag = 0x0c,
+ DW_FORM_sdata = 0x0d,
+ DW_FORM_strp = 0x0e,
+ DW_FORM_udata = 0x0f,
+ DW_FORM_ref_addr = 0x10,
+ DW_FORM_ref1 = 0x11,
+ DW_FORM_ref2 = 0x12,
+ DW_FORM_ref4 = 0x13,
+ DW_FORM_ref8 = 0x14,
+ DW_FORM_ref_udata = 0x15,
+ DW_FORM_indirect = 0x16,
+ DW_FORM_sec_offset = 0x17,
+ DW_FORM_exprloc = 0x18,
+ DW_FORM_flag_present = 0x19,
+ DW_FORM_ref_sig8 = 0x20,
+ DW_FORM_GNU_addr_index = 0x1f01,
+ DW_FORM_GNU_str_index = 0x1f02,
+ DW_FORM_GNU_ref_alt = 0x1f20,
+ DW_FORM_GNU_strp_alt = 0x1f21,
+};
+
+enum dwarf_attribute {
+ DW_AT_name = 0x3,
+ DW_AT_stmt_list = 0x10,
+ DW_AT_low_pc = 0x11,
+ DW_AT_high_pc = 0x12,
+ DW_AT_comp_dir = 0x1b,
+ DW_AT_abstract_origin = 0x31,
+ DW_AT_specification = 0x47,
+ DW_AT_ranges = 0x55,
+ DW_AT_call_file = 0x58,
+ DW_AT_call_line = 0x59,
+ DW_AT_linkage_name = 0x6e,
+ DW_AT_MIPS_linkage_name = 0x2007,
+};
+
+enum dwarf_line_number_op {
+ DW_LNS_extended_op = 0x0,
+ DW_LNS_copy = 0x1,
+ DW_LNS_advance_pc = 0x2,
+ DW_LNS_advance_line = 0x3,
+ DW_LNS_set_file = 0x4,
+ DW_LNS_set_column = 0x5,
+ DW_LNS_negate_stmt = 0x6,
+ DW_LNS_set_basic_block = 0x7,
+ DW_LNS_const_add_pc = 0x8,
+ DW_LNS_fixed_advance_pc = 0x9,
+ DW_LNS_set_prologue_end = 0xa,
+ DW_LNS_set_epilogue_begin = 0xb,
+ DW_LNS_set_isa = 0xc,
+};
+
+enum dwarf_extedned_line_number_op {
+ DW_LNE_end_sequence = 0x1,
+ DW_LNE_set_address = 0x2,
+ DW_LNE_define_file = 0x3,
+ DW_LNE_set_discriminator = 0x4,
+};
+
+#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__)
+# define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == '\\')
+#define HAS_DRIVE_SPEC(f) ((f)[0] && (f)[1] == ':')
+# define IS_ABSOLUTE_PATH(f) (IS_DIR_SEPARATOR(f[0]) || HAS_DRIVE_SPEC(f))
+#else
+# define IS_DIR_SEPARATOR(c) ((c) == '/')
+# define IS_ABSOLUTE_PATH(f) IS_DIR_SEPARATOR(f[0])
+#endif
+
+#if !defined(HAVE_DECL_STRNLEN) || !HAVE_DECL_STRNLEN
+
+/* If strnlen is not declared, provide our own version. */
+
+static size_t
+xstrnlen (const char *s, size_t maxlen)
+{
+ size_t i;
+
+ for (i = 0; i < maxlen; ++i)
+ if (s[i] == '\0')
+ break;
+ return i;
+}
+
+#define strnlen xstrnlen
+
+#endif
+
+/* A buffer to read DWARF info. */
+
+struct dwarf_buf
+{
+ /* Buffer name for error messages. */
+ const char *name;
+ /* Start of the buffer. */
+ const unsigned char *start;
+ /* Next byte to read. */
+ const unsigned char *buf;
+ /* The number of bytes remaining. */
+ size_t left;
+ /* Whether the data is big-endian. */
+ int is_bigendian;
+ /* Error callback routine. */
+ backtrace_error_callback error_callback;
+ /* Data for error_callback. */
+ void *data;
+ /* Non-zero if we've reported an underflow error. */
+ int reported_underflow;
+};
+
+/* A single attribute in a DWARF abbreviation. */
+
+struct attr
+{
+ /* The attribute name. */
+ enum dwarf_attribute name;
+ /* The attribute form. */
+ enum dwarf_form form;
+};
+
+/* A single DWARF abbreviation. */
+
+struct abbrev
+{
+ /* The abbrev code--the number used to refer to the abbrev. */
+ uint64_t code;
+ /* The entry tag. */
+ enum dwarf_tag tag;
+ /* Non-zero if this abbrev has child entries. */
+ int has_children;
+ /* The number of attributes. */
+ size_t num_attrs;
+ /* The attributes. */
+ struct attr *attrs;
+};
+
+/* The DWARF abbreviations for a compilation unit. This structure
+ only exists while reading the compilation unit. Most DWARF readers
+ seem to a hash table to map abbrev ID's to abbrev entries.
+ However, we primarily care about GCC, and GCC simply issues ID's in
+ numerical order starting at 1. So we simply keep a sorted vector,
+ and try to just look up the code. */
+
+struct abbrevs
+{
+ /* The number of abbrevs in the vector. */
+ size_t num_abbrevs;
+ /* The abbrevs, sorted by the code field. */
+ struct abbrev *abbrevs;
+};
+
+/* The different kinds of attribute values. */
+
+enum attr_val_encoding
+{
+ /* An address. */
+ ATTR_VAL_ADDRESS,
+ /* A unsigned integer. */
+ ATTR_VAL_UINT,
+ /* A sigd integer. */
+ ATTR_VAL_SINT,
+ /* A string. */
+ ATTR_VAL_STRING,
+ /* An offset to other data in the containing unit. */
+ ATTR_VAL_REF_UNIT,
+ /* An offset to other data within the .dwarf_info section. */
+ ATTR_VAL_REF_INFO,
+ /* An offset to data in some other section. */
+ ATTR_VAL_REF_SECTION,
+ /* A type signature. */
+ ATTR_VAL_REF_TYPE,
+ /* A block of data (not represented). */
+ ATTR_VAL_BLOCK,
+ /* An expression (not represented). */
+ ATTR_VAL_EXPR,
+};
+
+/* An attribute value. */
+
+struct attr_val
+{
+ /* How the value is stored in the field u. */
+ enum attr_val_encoding encoding;
+ union
+ {
+ /* ATTR_VAL_ADDRESS, ATTR_VAL_UINT, ATTR_VAL_REF*. */
+ uint64_t uint;
+ /* ATTR_VAL_SINT. */
+ int64_t sint;
+ /* ATTR_VAL_STRING. */
+ const char *string;
+ /* ATTR_VAL_BLOCK not stored. */
+ } u;
+};
+
+/* The line number program header. */
+
+struct line_header
+{
+ /* The version of the line number information. */
+ int version;
+ /* The minimum instruction length. */
+ unsigned int min_insn_len;
+ /* The maximum number of ops per instruction. */
+ unsigned int max_ops_per_insn;
+ /* The line base for special opcodes. */
+ int line_base;
+ /* The line range for special opcodes. */
+ unsigned int line_range;
+ /* The opcode base--the first special opcode. */
+ unsigned int opcode_base;
+ /* Opcode lengths, indexed by opcode - 1. */
+ const unsigned char *opcode_lengths;
+ /* The number of directory entries. */
+ size_t dirs_count;
+ /* The directory entries. */
+ const char **dirs;
+ /* The number of filenames. */
+ size_t filenames_count;
+ /* The filenames. */
+ const char **filenames;
+};
+
+/* Map a single PC value to a file/line. We will keep a vector of
+ these sorted by PC value. Each file/line will be correct from the
+ PC up to the PC of the next entry if there is one. We allocate one
+ extra entry at the end so that we can use bsearch. */
+
+struct line
+{
+ /* PC. */
+ uintptr_t pc;
+ /* File name. Many entries in the array are expected to point to
+ the same file name. */
+ const char *filename;
+ /* Line number. */
+ int lineno;
+ /* Index of the object in the original array read from the DWARF
+ section, before it has been sorted. The index makes it possible
+ to use Quicksort and maintain stability. */
+ int idx;
+};
+
+/* A growable vector of line number information. This is used while
+ reading the line numbers. */
+
+struct line_vector
+{
+ /* Memory. This is an array of struct line. */
+ struct backtrace_vector vec;
+ /* Number of valid mappings. */
+ size_t count;
+};
+
+/* A function described in the debug info. */
+
+struct function
+{
+ /* The name of the function. */
+ const char *name;
+ /* If this is an inlined function, the filename of the call
+ site. */
+ const char *caller_filename;
+ /* If this is an inlined function, the line number of the call
+ site. */
+ int caller_lineno;
+ /* Map PC ranges to inlined functions. */
+ struct function_addrs *function_addrs;
+ size_t function_addrs_count;
+};
+
+/* An address range for a function. This maps a PC value to a
+ specific function. */
+
+struct function_addrs
+{
+ /* Range is LOW <= PC < HIGH. */
+ uint64_t low;
+ uint64_t high;
+ /* Function for this address range. */
+ struct function *function;
+};
+
+/* A growable vector of function address ranges. */
+
+struct function_vector
+{
+ /* Memory. This is an array of struct function_addrs. */
+ struct backtrace_vector vec;
+ /* Number of address ranges present. */
+ size_t count;
+};
+
+/* A DWARF compilation unit. This only holds the information we need
+ to map a PC to a file and line. */
+
+struct unit
+{
+ /* The first entry for this compilation unit. */
+ const unsigned char *unit_data;
+ /* The length of the data for this compilation unit. */
+ size_t unit_data_len;
+ /* The offset of UNIT_DATA from the start of the information for
+ this compilation unit. */
+ size_t unit_data_offset;
+ /* DWARF version. */
+ int version;
+ /* Whether unit is DWARF64. */
+ int is_dwarf64;
+ /* Address size. */
+ int addrsize;
+ /* Offset into line number information. */
+ off_t lineoff;
+ /* Primary source file. */
+ const char *filename;
+ /* Compilation command working directory. */
+ const char *comp_dir;
+ /* Absolute file name, only set if needed. */
+ const char *abs_filename;
+ /* The abbreviations for this unit. */
+ struct abbrevs abbrevs;
+
+ /* The fields above this point are read in during initialization and
+ may be accessed freely. The fields below this point are read in
+ as needed, and therefore require care, as different threads may
+ try to initialize them simultaneously. */
+
+ /* PC to line number mapping. This is NULL if the values have not
+ been read. This is (struct line *) -1 if there was an error
+ reading the values. */
+ struct line *lines;
+ /* Number of entries in lines. */
+ size_t lines_count;
+ /* PC ranges to function. */
+ struct function_addrs *function_addrs;
+ size_t function_addrs_count;
+};
+
+/* An address range for a compilation unit. This maps a PC value to a
+ specific compilation unit. Note that we invert the representation
+ in DWARF: instead of listing the units and attaching a list of
+ ranges, we list the ranges and have each one point to the unit.
+ This lets us do a binary search to find the unit. */
+
+struct unit_addrs
+{
+ /* Range is LOW <= PC < HIGH. */
+ uint64_t low;
+ uint64_t high;
+ /* Compilation unit for this address range. */
+ struct unit *u;
+};
+
+/* A growable vector of compilation unit address ranges. */
+
+struct unit_addrs_vector
+{
+ /* Memory. This is an array of struct unit_addrs. */
+ struct backtrace_vector vec;
+ /* Number of address ranges present. */
+ size_t count;
+};
+
+/* The information we need to map a PC to a file and line. */
+
+struct dwarf_data
+{
+ /* The data for the next file we know about. */
+ struct dwarf_data *next;
+ /* The base address for this file. */
+ uintptr_t base_address;
+ /* A sorted list of address ranges. */
+ struct unit_addrs *addrs;
+ /* Number of address ranges in list. */
+ size_t addrs_count;
+ /* The unparsed .debug_info section. */
+ const unsigned char *dwarf_info;
+ size_t dwarf_info_size;
+ /* The unparsed .debug_line section. */
+ const unsigned char *dwarf_line;
+ size_t dwarf_line_size;
+ /* The unparsed .debug_ranges section. */
+ const unsigned char *dwarf_ranges;
+ size_t dwarf_ranges_size;
+ /* The unparsed .debug_str section. */
+ const unsigned char *dwarf_str;
+ size_t dwarf_str_size;
+ /* Whether the data is big-endian or not. */
+ int is_bigendian;
+ /* A vector used for function addresses. We keep this here so that
+ we can grow the vector as we read more functions. */
+ struct function_vector fvec;
+};
+
+/* Report an error for a DWARF buffer. */
+
+static void
+dwarf_buf_error (struct dwarf_buf *buf, const char *msg)
+{
+ char b[200];
+
+ snprintf (b, sizeof b, "%s in %s at %d",
+ msg, buf->name, (int) (buf->buf - buf->start));
+ buf->error_callback (buf->data, b, 0);
+}
+
+/* Require at least COUNT bytes in BUF. Return 1 if all is well, 0 on
+ error. */
+
+static int
+require (struct dwarf_buf *buf, size_t count)
+{
+ if (buf->left >= count)
+ return 1;
+
+ if (!buf->reported_underflow)
+ {
+ dwarf_buf_error (buf, "DWARF underflow");
+ buf->reported_underflow = 1;
+ }
+
+ return 0;
+}
+
+/* Advance COUNT bytes in BUF. Return 1 if all is well, 0 on
+ error. */
+
+static int
+advance (struct dwarf_buf *buf, size_t count)
+{
+ if (!require (buf, count))
+ return 0;
+ buf->buf += count;
+ buf->left -= count;
+ return 1;
+}
+
+/* Read one byte from BUF and advance 1 byte. */
+
+static unsigned char
+read_byte (struct dwarf_buf *buf)
+{
+ const unsigned char *p = buf->buf;
+
+ if (!advance (buf, 1))
+ return 0;
+ return p[0];
+}
+
+/* Read a signed char from BUF and advance 1 byte. */
+
+static signed char
+read_sbyte (struct dwarf_buf *buf)
+{
+ const unsigned char *p = buf->buf;
+
+ if (!advance (buf, 1))
+ return 0;
+ return (*p ^ 0x80) - 0x80;
+}
+
+/* Read a uint16 from BUF and advance 2 bytes. */
+
+static uint16_t
+read_uint16 (struct dwarf_buf *buf)
+{
+ const unsigned char *p = buf->buf;
+
+ if (!advance (buf, 2))
+ return 0;
+ if (buf->is_bigendian)
+ return ((uint16_t) p[0] << 8) | (uint16_t) p[1];
+ else
+ return ((uint16_t) p[1] << 8) | (uint16_t) p[0];
+}
+
+/* Read a uint32 from BUF and advance 4 bytes. */
+
+static uint32_t
+read_uint32 (struct dwarf_buf *buf)
+{
+ const unsigned char *p = buf->buf;
+
+ if (!advance (buf, 4))
+ return 0;
+ if (buf->is_bigendian)
+ return (((uint32_t) p[0] << 24) | ((uint32_t) p[1] << 16)
+ | ((uint32_t) p[2] << 8) | (uint32_t) p[3]);
+ else
+ return (((uint32_t) p[3] << 24) | ((uint32_t) p[2] << 16)
+ | ((uint32_t) p[1] << 8) | (uint32_t) p[0]);
+}
+
+/* Read a uint64 from BUF and advance 8 bytes. */
+
+static uint64_t
+read_uint64 (struct dwarf_buf *buf)
+{
+ const unsigned char *p = buf->buf;
+
+ if (!advance (buf, 8))
+ return 0;
+ if (buf->is_bigendian)
+ return (((uint64_t) p[0] << 56) | ((uint64_t) p[1] << 48)
+ | ((uint64_t) p[2] << 40) | ((uint64_t) p[3] << 32)
+ | ((uint64_t) p[4] << 24) | ((uint64_t) p[5] << 16)
+ | ((uint64_t) p[6] << 8) | (uint64_t) p[7]);
+ else
+ return (((uint64_t) p[7] << 56) | ((uint64_t) p[6] << 48)
+ | ((uint64_t) p[5] << 40) | ((uint64_t) p[4] << 32)
+ | ((uint64_t) p[3] << 24) | ((uint64_t) p[2] << 16)
+ | ((uint64_t) p[1] << 8) | (uint64_t) p[0]);
+}
+
+/* Read an offset from BUF and advance the appropriate number of
+ bytes. */
+
+static uint64_t
+read_offset (struct dwarf_buf *buf, int is_dwarf64)
+{
+ if (is_dwarf64)
+ return read_uint64 (buf);
+ else
+ return read_uint32 (buf);
+}
+
+/* Read an address from BUF and advance the appropriate number of
+ bytes. */
+
+static uint64_t
+read_address (struct dwarf_buf *buf, int addrsize)
+{
+ switch (addrsize)
+ {
+ case 1:
+ return read_byte (buf);
+ case 2:
+ return read_uint16 (buf);
+ case 4:
+ return read_uint32 (buf);
+ case 8:
+ return read_uint64 (buf);
+ default:
+ dwarf_buf_error (buf, "unrecognized address size");
+ return 0;
+ }
+}
+
+/* Return whether a value is the highest possible address, given the
+ address size. */
+
+static int
+is_highest_address (uint64_t address, int addrsize)
+{
+ switch (addrsize)
+ {
+ case 1:
+ return address == (unsigned char) -1;
+ case 2:
+ return address == (uint16_t) -1;
+ case 4:
+ return address == (uint32_t) -1;
+ case 8:
+ return address == (uint64_t) -1;
+ default:
+ return 0;
+ }
+}
+
+/* Read an unsigned LEB128 number. */
+
+static uint64_t
+read_uleb128 (struct dwarf_buf *buf)
+{
+ uint64_t ret;
+ unsigned int shift;
+ int overflow;
+ unsigned char b;
+
+ ret = 0;
+ shift = 0;
+ overflow = 0;
+ do
+ {
+ const unsigned char *p;
+
+ p = buf->buf;
+ if (!advance (buf, 1))
+ return 0;
+ b = *p;
+ if (shift < 64)
+ ret |= ((uint64_t) (b & 0x7f)) << shift;
+ else if (!overflow)
+ {
+ dwarf_buf_error (buf, "LEB128 overflows uint64_t");
+ overflow = 1;
+ }
+ shift += 7;
+ }
+ while ((b & 0x80) != 0);
+
+ return ret;
+}
+
+/* Read a signed LEB128 number. */
+
+static int64_t
+read_sleb128 (struct dwarf_buf *buf)
+{
+ uint64_t val;
+ unsigned int shift;
+ int overflow;
+ unsigned char b;
+
+ val = 0;
+ shift = 0;
+ overflow = 0;
+ do
+ {
+ const unsigned char *p;
+
+ p = buf->buf;
+ if (!advance (buf, 1))
+ return 0;
+ b = *p;
+ if (shift < 64)
+ val |= ((uint64_t) (b & 0x7f)) << shift;
+ else if (!overflow)
+ {
+ dwarf_buf_error (buf, "signed LEB128 overflows uint64_t");
+ overflow = 1;
+ }
+ shift += 7;
+ }
+ while ((b & 0x80) != 0);
+
+ if ((b & 0x40) != 0 && shift < 64)
+ val |= ((uint64_t) -1) << shift;
+
+ return (int64_t) val;
+}
+
+/* Return the length of an LEB128 number. */
+
+static size_t
+leb128_len (const unsigned char *p)
+{
+ size_t ret;
+
+ ret = 1;
+ while ((*p & 0x80) != 0)
+ {
+ ++p;
+ ++ret;
+ }
+ return ret;
+}
+
+/* Free an abbreviations structure. */
+
+static void
+free_abbrevs (struct backtrace_state *state, struct abbrevs *abbrevs,
+ backtrace_error_callback error_callback, void *data)
+{
+ size_t i;
+
+ for (i = 0; i < abbrevs->num_abbrevs; ++i)
+ backtrace_free (state, abbrevs->abbrevs[i].attrs,
+ abbrevs->abbrevs[i].num_attrs * sizeof (struct attr),
+ error_callback, data);
+ backtrace_free (state, abbrevs->abbrevs,
+ abbrevs->num_abbrevs * sizeof (struct abbrev),
+ error_callback, data);
+ abbrevs->num_abbrevs = 0;
+ abbrevs->abbrevs = NULL;
+}
+
+/* Read an attribute value. Returns 1 on success, 0 on failure. If
+ the value can be represented as a uint64_t, sets *VAL and sets
+ *IS_VALID to 1. We don't try to store the value of other attribute
+ forms, because we don't care about them. */
+
+static int
+read_attribute (enum dwarf_form form, struct dwarf_buf *buf,
+ int is_dwarf64, int version, int addrsize,
+ const unsigned char *dwarf_str, size_t dwarf_str_size,
+ struct attr_val *val)
+{
+ /* Avoid warnings about val.u.FIELD may be used uninitialized if
+ this function is inlined. The warnings aren't valid but can
+ occur because the different fields are set and used
+ conditionally. */
+ memset (val, 0, sizeof *val);
+
+ switch (form)
+ {
+ case DW_FORM_addr:
+ val->encoding = ATTR_VAL_ADDRESS;
+ val->u.uint = read_address (buf, addrsize);
+ return 1;
+ case DW_FORM_block2:
+ val->encoding = ATTR_VAL_BLOCK;
+ return advance (buf, read_uint16 (buf));
+ case DW_FORM_block4:
+ val->encoding = ATTR_VAL_BLOCK;
+ return advance (buf, read_uint32 (buf));
+ case DW_FORM_data2:
+ val->encoding = ATTR_VAL_UINT;
+ val->u.uint = read_uint16 (buf);
+ return 1;
+ case DW_FORM_data4:
+ val->encoding = ATTR_VAL_UINT;
+ val->u.uint = read_uint32 (buf);
+ return 1;
+ case DW_FORM_data8:
+ val->encoding = ATTR_VAL_UINT;
+ val->u.uint = read_uint64 (buf);
+ return 1;
+ case DW_FORM_string:
+ val->encoding = ATTR_VAL_STRING;
+ val->u.string = (const char *) buf->buf;
+ return advance (buf, strnlen ((const char *) buf->buf, buf->left) + 1);
+ case DW_FORM_block:
+ val->encoding = ATTR_VAL_BLOCK;
+ return advance (buf, read_uleb128 (buf));
+ case DW_FORM_block1:
+ val->encoding = ATTR_VAL_BLOCK;
+ return advance (buf, read_byte (buf));
+ case DW_FORM_data1:
+ val->encoding = ATTR_VAL_UINT;
+ val->u.uint = read_byte (buf);
+ return 1;
+ case DW_FORM_flag:
+ val->encoding = ATTR_VAL_UINT;
+ val->u.uint = read_byte (buf);
+ return 1;
+ case DW_FORM_sdata:
+ val->encoding = ATTR_VAL_SINT;
+ val->u.sint = read_sleb128 (buf);
+ return 1;
+ case DW_FORM_strp:
+ {
+ uint64_t offset;
+
+ offset = read_offset (buf, is_dwarf64);
+ if (offset >= dwarf_str_size)
+ {
+ dwarf_buf_error (buf, "DW_FORM_strp out of range");
+ return 0;
+ }
+ val->encoding = ATTR_VAL_STRING;
+ val->u.string = (const char *) dwarf_str + offset;
+ return 1;
+ }
+ case DW_FORM_udata:
+ val->encoding = ATTR_VAL_UINT;
+ val->u.uint = read_uleb128 (buf);
+ return 1;
+ case DW_FORM_ref_addr:
+ val->encoding = ATTR_VAL_REF_INFO;
+ if (version == 2)
+ val->u.uint = read_address (buf, addrsize);
+ else
+ val->u.uint = read_offset (buf, is_dwarf64);
+ return 1;
+ case DW_FORM_ref1:
+ val->encoding = ATTR_VAL_REF_UNIT;
+ val->u.uint = read_byte (buf);
+ return 1;
+ case DW_FORM_ref2:
+ val->encoding = ATTR_VAL_REF_UNIT;
+ val->u.uint = read_uint16 (buf);
+ return 1;
+ case DW_FORM_ref4:
+ val->encoding = ATTR_VAL_REF_UNIT;
+ val->u.uint = read_uint32 (buf);
+ return 1;
+ case DW_FORM_ref8:
+ val->encoding = ATTR_VAL_REF_UNIT;
+ val->u.uint = read_uint64 (buf);
+ return 1;
+ case DW_FORM_ref_udata:
+ val->encoding = ATTR_VAL_REF_UNIT;
+ val->u.uint = read_uleb128 (buf);
+ return 1;
+ case DW_FORM_indirect:
+ {
+ uint64_t form1;
+
+ form1 = read_uleb128 (buf);
+ return read_attribute ((enum dwarf_form) form1, buf, is_dwarf64,
+ version, addrsize, dwarf_str, dwarf_str_size,
+ val);
+ }
+ case DW_FORM_sec_offset:
+ val->encoding = ATTR_VAL_REF_SECTION;
+ val->u.uint = read_offset (buf, is_dwarf64);
+ return 1;
+ case DW_FORM_exprloc:
+ val->encoding = ATTR_VAL_EXPR;
+ return advance (buf, read_uleb128 (buf));
+ case DW_FORM_flag_present:
+ val->encoding = ATTR_VAL_UINT;
+ val->u.uint = 1;
+ return 1;
+ case DW_FORM_ref_sig8:
+ val->encoding = ATTR_VAL_REF_TYPE;
+ val->u.uint = read_uint64 (buf);
+ return 1;
+ case DW_FORM_GNU_addr_index:
+ val->encoding = ATTR_VAL_REF_SECTION;
+ val->u.uint = read_uleb128 (buf);
+ return 1;
+ case DW_FORM_GNU_str_index:
+ val->encoding = ATTR_VAL_REF_SECTION;
+ val->u.uint = read_uleb128 (buf);
+ return 1;
+ case DW_FORM_GNU_ref_alt:
+ val->encoding = ATTR_VAL_REF_SECTION;
+ val->u.uint = read_offset (buf, is_dwarf64);
+ return 1;
+ case DW_FORM_GNU_strp_alt:
+ val->encoding = ATTR_VAL_REF_SECTION;
+ val->u.uint = read_offset (buf, is_dwarf64);
+ return 1;
+ default:
+ dwarf_buf_error (buf, "unrecognized DWARF form");
+ return 0;
+ }
+}
+
+/* Compare function_addrs for qsort. When ranges are nested, make the
+ smallest one sort last. */
+
+static int
+function_addrs_compare (const void *v1, const void *v2)
+{
+ const struct function_addrs *a1 = (const struct function_addrs *) v1;
+ const struct function_addrs *a2 = (const struct function_addrs *) v2;
+
+ if (a1->low < a2->low)
+ return -1;
+ if (a1->low > a2->low)
+ return 1;
+ if (a1->high < a2->high)
+ return 1;
+ if (a1->high > a2->high)
+ return -1;
+ return strcmp (a1->function->name, a2->function->name);
+}
+
+/* Compare a PC against a function_addrs for bsearch. Note that if
+ there are multiple ranges containing PC, which one will be returned
+ is unpredictable. We compensate for that in dwarf_fileline. */
+
+static int
+function_addrs_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct function_addrs *entry = (const struct function_addrs *) ventry;
+ uintptr_t pc;
+
+ pc = *key;
+ if (pc < entry->low)
+ return -1;
+ else if (pc >= entry->high)
+ return 1;
+ else
+ return 0;
+}
+
+/* Add a new compilation unit address range to a vector. Returns 1 on
+ success, 0 on failure. */
+
+static int
+add_unit_addr (struct backtrace_state *state, uintptr_t base_address,
+ struct unit_addrs addrs,
+ backtrace_error_callback error_callback, void *data,
+ struct unit_addrs_vector *vec)
+{
+ struct unit_addrs *p;
+
+ /* Add in the base address of the module here, so that we can look
+ up the PC directly. */
+ addrs.low += base_address;
+ addrs.high += base_address;
+
+ /* Try to merge with the last entry. */
+ if (vec->count > 0)
+ {
+ p = (struct unit_addrs *) vec->vec.base + (vec->count - 1);
+ if ((addrs.low == p->high || addrs.low == p->high + 1)
+ && addrs.u == p->u)
+ {
+ if (addrs.high > p->high)
+ p->high = addrs.high;
+ return 1;
+ }
+ }
+
+ p = ((struct unit_addrs *)
+ backtrace_vector_grow (state, sizeof (struct unit_addrs),
+ error_callback, data, &vec->vec));
+ if (p == NULL)
+ return 0;
+
+ *p = addrs;
+ ++vec->count;
+ return 1;
+}
+
+/* Free a unit address vector. */
+
+static void
+free_unit_addrs_vector (struct backtrace_state *state,
+ struct unit_addrs_vector *vec,
+ backtrace_error_callback error_callback, void *data)
+{
+ struct unit_addrs *addrs;
+ size_t i;
+
+ addrs = (struct unit_addrs *) vec->vec.base;
+ for (i = 0; i < vec->count; ++i)
+ free_abbrevs (state, &addrs[i].u->abbrevs, error_callback, data);
+}
+
+/* Compare unit_addrs for qsort. When ranges are nested, make the
+ smallest one sort last. */
+
+static int
+unit_addrs_compare (const void *v1, const void *v2)
+{
+ const struct unit_addrs *a1 = (const struct unit_addrs *) v1;
+ const struct unit_addrs *a2 = (const struct unit_addrs *) v2;
+
+ if (a1->low < a2->low)
+ return -1;
+ if (a1->low > a2->low)
+ return 1;
+ if (a1->high < a2->high)
+ return 1;
+ if (a1->high > a2->high)
+ return -1;
+ if (a1->u->lineoff < a2->u->lineoff)
+ return -1;
+ if (a1->u->lineoff > a2->u->lineoff)
+ return 1;
+ return 0;
+}
+
+/* Compare a PC against a unit_addrs for bsearch. Note that if there
+ are multiple ranges containing PC, which one will be returned is
+ unpredictable. We compensate for that in dwarf_fileline. */
+
+static int
+unit_addrs_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct unit_addrs *entry = (const struct unit_addrs *) ventry;
+ uintptr_t pc;
+
+ pc = *key;
+ if (pc < entry->low)
+ return -1;
+ else if (pc >= entry->high)
+ return 1;
+ else
+ return 0;
+}
+
+/* Sort the line vector by PC. We want a stable sort here to maintain
+ the order of lines for the same PC values. Since the sequence is
+ being sorted in place, their addresses cannot be relied on to
+ maintain stability. That is the purpose of the index member. */
+
+static int
+line_compare (const void *v1, const void *v2)
+{
+ const struct line *ln1 = (const struct line *) v1;
+ const struct line *ln2 = (const struct line *) v2;
+
+ if (ln1->pc < ln2->pc)
+ return -1;
+ else if (ln1->pc > ln2->pc)
+ return 1;
+ else if (ln1->idx < ln2->idx)
+ return -1;
+ else if (ln1->idx > ln2->idx)
+ return 1;
+ else
+ return 0;
+}
+
+/* Find a PC in a line vector. We always allocate an extra entry at
+ the end of the lines vector, so that this routine can safely look
+ at the next entry. Note that when there are multiple mappings for
+ the same PC value, this will return the last one. */
+
+static int
+line_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct line *entry = (const struct line *) ventry;
+ uintptr_t pc;
+
+ pc = *key;
+ if (pc < entry->pc)
+ return -1;
+ else if (pc >= (entry + 1)->pc)
+ return 1;
+ else
+ return 0;
+}
+
+/* Sort the abbrevs by the abbrev code. This function is passed to
+ both qsort and bsearch. */
+
+static int
+abbrev_compare (const void *v1, const void *v2)
+{
+ const struct abbrev *a1 = (const struct abbrev *) v1;
+ const struct abbrev *a2 = (const struct abbrev *) v2;
+
+ if (a1->code < a2->code)
+ return -1;
+ else if (a1->code > a2->code)
+ return 1;
+ else
+ {
+ /* This really shouldn't happen. It means there are two
+ different abbrevs with the same code, and that means we don't
+ know which one lookup_abbrev should return. */
+ return 0;
+ }
+}
+
+/* Read the abbreviation table for a compilation unit. Returns 1 on
+ success, 0 on failure. */
+
+static int
+read_abbrevs (struct backtrace_state *state, uint64_t abbrev_offset,
+ const unsigned char *dwarf_abbrev, size_t dwarf_abbrev_size,
+ int is_bigendian, backtrace_error_callback error_callback,
+ void *data, struct abbrevs *abbrevs)
+{
+ struct dwarf_buf abbrev_buf;
+ struct dwarf_buf count_buf;
+ size_t num_abbrevs;
+
+ abbrevs->num_abbrevs = 0;
+ abbrevs->abbrevs = NULL;
+
+ if (abbrev_offset >= dwarf_abbrev_size)
+ {
+ error_callback (data, "abbrev offset out of range", 0);
+ return 0;
+ }
+
+ abbrev_buf.name = ".debug_abbrev";
+ abbrev_buf.start = dwarf_abbrev;
+ abbrev_buf.buf = dwarf_abbrev + abbrev_offset;
+ abbrev_buf.left = dwarf_abbrev_size - abbrev_offset;
+ abbrev_buf.is_bigendian = is_bigendian;
+ abbrev_buf.error_callback = error_callback;
+ abbrev_buf.data = data;
+ abbrev_buf.reported_underflow = 0;
+
+ /* Count the number of abbrevs in this list. */
+
+ count_buf = abbrev_buf;
+ num_abbrevs = 0;
+ while (read_uleb128 (&count_buf) != 0)
+ {
+ if (count_buf.reported_underflow)
+ return 0;
+ ++num_abbrevs;
+ // Skip tag.
+ read_uleb128 (&count_buf);
+ // Skip has_children.
+ read_byte (&count_buf);
+ // Skip attributes.
+ while (read_uleb128 (&count_buf) != 0)
+ read_uleb128 (&count_buf);
+ // Skip form of last attribute.
+ read_uleb128 (&count_buf);
+ }
+
+ if (count_buf.reported_underflow)
+ return 0;
+
+ if (num_abbrevs == 0)
+ return 1;
+
+ abbrevs->num_abbrevs = num_abbrevs;
+ abbrevs->abbrevs = ((struct abbrev *)
+ backtrace_alloc (state,
+ num_abbrevs * sizeof (struct abbrev),
+ error_callback, data));
+ if (abbrevs->abbrevs == NULL)
+ return 0;
+ memset (abbrevs->abbrevs, 0, num_abbrevs * sizeof (struct abbrev));
+
+ num_abbrevs = 0;
+ while (1)
+ {
+ uint64_t code;
+ struct abbrev a;
+ size_t num_attrs;
+ struct attr *attrs;
+
+ if (abbrev_buf.reported_underflow)
+ goto fail;
+
+ code = read_uleb128 (&abbrev_buf);
+ if (code == 0)
+ break;
+
+ a.code = code;
+ a.tag = (enum dwarf_tag) read_uleb128 (&abbrev_buf);
+ a.has_children = read_byte (&abbrev_buf);
+
+ count_buf = abbrev_buf;
+ num_attrs = 0;
+ while (read_uleb128 (&count_buf) != 0)
+ {
+ ++num_attrs;
+ read_uleb128 (&count_buf);
+ }
+
+ if (num_attrs == 0)
+ {
+ attrs = NULL;
+ read_uleb128 (&abbrev_buf);
+ read_uleb128 (&abbrev_buf);
+ }
+ else
+ {
+ attrs = ((struct attr *)
+ backtrace_alloc (state, num_attrs * sizeof *attrs,
+ error_callback, data));
+ if (attrs == NULL)
+ goto fail;
+ num_attrs = 0;
+ while (1)
+ {
+ uint64_t name;
+ uint64_t form;
+
+ name = read_uleb128 (&abbrev_buf);
+ form = read_uleb128 (&abbrev_buf);
+ if (name == 0)
+ break;
+ attrs[num_attrs].name = (enum dwarf_attribute) name;
+ attrs[num_attrs].form = (enum dwarf_form) form;
+ ++num_attrs;
+ }
+ }
+
+ a.num_attrs = num_attrs;
+ a.attrs = attrs;
+
+ abbrevs->abbrevs[num_abbrevs] = a;
+ ++num_abbrevs;
+ }
+
+ backtrace_qsort (abbrevs->abbrevs, abbrevs->num_abbrevs,
+ sizeof (struct abbrev), abbrev_compare);
+
+ return 1;
+
+ fail:
+ free_abbrevs (state, abbrevs, error_callback, data);
+ return 0;
+}
+
+/* Return the abbrev information for an abbrev code. */
+
+static const struct abbrev *
+lookup_abbrev (struct abbrevs *abbrevs, uint64_t code,
+ backtrace_error_callback error_callback, void *data)
+{
+ struct abbrev key;
+ void *p;
+
+ /* With GCC, where abbrevs are simply numbered in order, we should
+ be able to just look up the entry. */
+ if (code - 1 < abbrevs->num_abbrevs
+ && abbrevs->abbrevs[code - 1].code == code)
+ return &abbrevs->abbrevs[code - 1];
+
+ /* Otherwise we have to search. */
+ memset (&key, 0, sizeof key);
+ key.code = code;
+ p = bsearch (&key, abbrevs->abbrevs, abbrevs->num_abbrevs,
+ sizeof (struct abbrev), abbrev_compare);
+ if (p == NULL)
+ {
+ error_callback (data, "invalid abbreviation code", 0);
+ return NULL;
+ }
+ return (const struct abbrev *) p;
+}
+
+/* Add non-contiguous address ranges for a compilation unit. Returns
+ 1 on success, 0 on failure. */
+
+static int
+add_unit_ranges (struct backtrace_state *state, uintptr_t base_address,
+ struct unit *u, uint64_t ranges, uint64_t base,
+ int is_bigendian, const unsigned char *dwarf_ranges,
+ size_t dwarf_ranges_size,
+ backtrace_error_callback error_callback, void *data,
+ struct unit_addrs_vector *addrs)
+{
+ struct dwarf_buf ranges_buf;
+
+ if (ranges >= dwarf_ranges_size)
+ {
+ error_callback (data, "ranges offset out of range", 0);
+ return 0;
+ }
+
+ ranges_buf.name = ".debug_ranges";
+ ranges_buf.start = dwarf_ranges;
+ ranges_buf.buf = dwarf_ranges + ranges;
+ ranges_buf.left = dwarf_ranges_size - ranges;
+ ranges_buf.is_bigendian = is_bigendian;
+ ranges_buf.error_callback = error_callback;
+ ranges_buf.data = data;
+ ranges_buf.reported_underflow = 0;
+
+ while (1)
+ {
+ uint64_t low;
+ uint64_t high;
+
+ if (ranges_buf.reported_underflow)
+ return 0;
+
+ low = read_address (&ranges_buf, u->addrsize);
+ high = read_address (&ranges_buf, u->addrsize);
+
+ if (low == 0 && high == 0)
+ break;
+
+ if (is_highest_address (low, u->addrsize))
+ base = high;
+ else
+ {
+ struct unit_addrs a;
+
+ a.low = low + base;
+ a.high = high + base;
+ a.u = u;
+ if (!add_unit_addr (state, base_address, a, error_callback, data,
+ addrs))
+ return 0;
+ }
+ }
+
+ if (ranges_buf.reported_underflow)
+ return 0;
+
+ return 1;
+}
+
+/* Find the address range covered by a compilation unit, reading from
+ UNIT_BUF and adding values to U. Returns 1 if all data could be
+ read, 0 if there is some error. */
+
+static int
+find_address_ranges (struct backtrace_state *state, uintptr_t base_address,
+ struct dwarf_buf *unit_buf,
+ const unsigned char *dwarf_str, size_t dwarf_str_size,
+ const unsigned char *dwarf_ranges,
+ size_t dwarf_ranges_size,
+ int is_bigendian, backtrace_error_callback error_callback,
+ void *data, struct unit *u,
+ struct unit_addrs_vector *addrs)
+{
+ while (unit_buf->left > 0)
+ {
+ uint64_t code;
+ const struct abbrev *abbrev;
+ uint64_t lowpc;
+ int have_lowpc;
+ uint64_t highpc;
+ int have_highpc;
+ int highpc_is_relative;
+ uint64_t ranges;
+ int have_ranges;
+ size_t i;
+
+ code = read_uleb128 (unit_buf);
+ if (code == 0)
+ return 1;
+
+ abbrev = lookup_abbrev (&u->abbrevs, code, error_callback, data);
+ if (abbrev == NULL)
+ return 0;
+
+ lowpc = 0;
+ have_lowpc = 0;
+ highpc = 0;
+ have_highpc = 0;
+ highpc_is_relative = 0;
+ ranges = 0;
+ have_ranges = 0;
+ for (i = 0; i < abbrev->num_attrs; ++i)
+ {
+ struct attr_val val;
+
+ if (!read_attribute (abbrev->attrs[i].form, unit_buf,
+ u->is_dwarf64, u->version, u->addrsize,
+ dwarf_str, dwarf_str_size, &val))
+ return 0;
+
+ switch (abbrev->attrs[i].name)
+ {
+ case DW_AT_low_pc:
+ if (val.encoding == ATTR_VAL_ADDRESS)
+ {
+ lowpc = val.u.uint;
+ have_lowpc = 1;
+ }
+ break;
+
+ case DW_AT_high_pc:
+ if (val.encoding == ATTR_VAL_ADDRESS)
+ {
+ highpc = val.u.uint;
+ have_highpc = 1;
+ }
+ else if (val.encoding == ATTR_VAL_UINT)
+ {
+ highpc = val.u.uint;
+ have_highpc = 1;
+ highpc_is_relative = 1;
+ }
+ break;
+
+ case DW_AT_ranges:
+ if (val.encoding == ATTR_VAL_UINT
+ || val.encoding == ATTR_VAL_REF_SECTION)
+ {
+ ranges = val.u.uint;
+ have_ranges = 1;
+ }
+ break;
+
+ case DW_AT_stmt_list:
+ if (abbrev->tag == DW_TAG_compile_unit
+ && (val.encoding == ATTR_VAL_UINT
+ || val.encoding == ATTR_VAL_REF_SECTION))
+ u->lineoff = val.u.uint;
+ break;
+
+ case DW_AT_name:
+ if (abbrev->tag == DW_TAG_compile_unit
+ && val.encoding == ATTR_VAL_STRING)
+ u->filename = val.u.string;
+ break;
+
+ case DW_AT_comp_dir:
+ if (abbrev->tag == DW_TAG_compile_unit
+ && val.encoding == ATTR_VAL_STRING)
+ u->comp_dir = val.u.string;
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ if (abbrev->tag == DW_TAG_compile_unit
+ || abbrev->tag == DW_TAG_subprogram)
+ {
+ if (have_ranges)
+ {
+ if (!add_unit_ranges (state, base_address, u, ranges, lowpc,
+ is_bigendian, dwarf_ranges,
+ dwarf_ranges_size, error_callback,
+ data, addrs))
+ return 0;
+ }
+ else if (have_lowpc && have_highpc)
+ {
+ struct unit_addrs a;
+
+ if (highpc_is_relative)
+ highpc += lowpc;
+ a.low = lowpc;
+ a.high = highpc;
+ a.u = u;
+
+ if (!add_unit_addr (state, base_address, a, error_callback, data,
+ addrs))
+ return 0;
+ }
+
+ /* If we found the PC range in the DW_TAG_compile_unit, we
+ can stop now. */
+ if (abbrev->tag == DW_TAG_compile_unit
+ && (have_ranges || (have_lowpc && have_highpc)))
+ return 1;
+ }
+
+ if (abbrev->has_children)
+ {
+ if (!find_address_ranges (state, base_address, unit_buf,
+ dwarf_str, dwarf_str_size,
+ dwarf_ranges, dwarf_ranges_size,
+ is_bigendian, error_callback, data,
+ u, addrs))
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+/* Build a mapping from address ranges to the compilation units where
+ the line number information for that range can be found. Returns 1
+ on success, 0 on failure. */
+
+static int
+build_address_map (struct backtrace_state *state, uintptr_t base_address,
+ const unsigned char *dwarf_info, size_t dwarf_info_size,
+ const unsigned char *dwarf_abbrev, size_t dwarf_abbrev_size,
+ const unsigned char *dwarf_ranges, size_t dwarf_ranges_size,
+ const unsigned char *dwarf_str, size_t dwarf_str_size,
+ int is_bigendian, backtrace_error_callback error_callback,
+ void *data, struct unit_addrs_vector *addrs)
+{
+ struct dwarf_buf info;
+ struct abbrevs abbrevs;
+
+ memset (&addrs->vec, 0, sizeof addrs->vec);
+ addrs->count = 0;
+
+ /* Read through the .debug_info section. FIXME: Should we use the
+ .debug_aranges section? gdb and addr2line don't use it, but I'm
+ not sure why. */
+
+ info.name = ".debug_info";
+ info.start = dwarf_info;
+ info.buf = dwarf_info;
+ info.left = dwarf_info_size;
+ info.is_bigendian = is_bigendian;
+ info.error_callback = error_callback;
+ info.data = data;
+ info.reported_underflow = 0;
+
+ memset (&abbrevs, 0, sizeof abbrevs);
+ while (info.left > 0)
+ {
+ const unsigned char *unit_data_start;
+ uint64_t len;
+ int is_dwarf64;
+ struct dwarf_buf unit_buf;
+ int version;
+ uint64_t abbrev_offset;
+ int addrsize;
+ struct unit *u;
+
+ if (info.reported_underflow)
+ goto fail;
+
+ unit_data_start = info.buf;
+
+ is_dwarf64 = 0;
+ len = read_uint32 (&info);
+ if (len == 0xffffffff)
+ {
+ len = read_uint64 (&info);
+ is_dwarf64 = 1;
+ }
+
+ unit_buf = info;
+ unit_buf.left = len;
+
+ if (!advance (&info, len))
+ goto fail;
+
+ version = read_uint16 (&unit_buf);
+ if (version < 2 || version > 4)
+ {
+ dwarf_buf_error (&unit_buf, "unrecognized DWARF version");
+ goto fail;
+ }
+
+ abbrev_offset = read_offset (&unit_buf, is_dwarf64);
+ if (!read_abbrevs (state, abbrev_offset, dwarf_abbrev, dwarf_abbrev_size,
+ is_bigendian, error_callback, data, &abbrevs))
+ goto fail;
+
+ addrsize = read_byte (&unit_buf);
+
+ u = ((struct unit *)
+ backtrace_alloc (state, sizeof *u, error_callback, data));
+ if (u == NULL)
+ goto fail;
+ u->unit_data = unit_buf.buf;
+ u->unit_data_len = unit_buf.left;
+ u->unit_data_offset = unit_buf.buf - unit_data_start;
+ u->version = version;
+ u->is_dwarf64 = is_dwarf64;
+ u->addrsize = addrsize;
+ u->filename = NULL;
+ u->comp_dir = NULL;
+ u->abs_filename = NULL;
+ u->lineoff = 0;
+ u->abbrevs = abbrevs;
+ memset (&abbrevs, 0, sizeof abbrevs);
+
+ /* The actual line number mappings will be read as needed. */
+ u->lines = NULL;
+ u->lines_count = 0;
+ u->function_addrs = NULL;
+ u->function_addrs_count = 0;
+
+ if (!find_address_ranges (state, base_address, &unit_buf,
+ dwarf_str, dwarf_str_size,
+ dwarf_ranges, dwarf_ranges_size,
+ is_bigendian, error_callback, data,
+ u, addrs))
+ {
+ free_abbrevs (state, &u->abbrevs, error_callback, data);
+ backtrace_free (state, u, sizeof *u, error_callback, data);
+ goto fail;
+ }
+
+ if (unit_buf.reported_underflow)
+ {
+ free_abbrevs (state, &u->abbrevs, error_callback, data);
+ backtrace_free (state, u, sizeof *u, error_callback, data);
+ goto fail;
+ }
+ }
+ if (info.reported_underflow)
+ goto fail;
+
+ return 1;
+
+ fail:
+ free_abbrevs (state, &abbrevs, error_callback, data);
+ free_unit_addrs_vector (state, addrs, error_callback, data);
+ return 0;
+}
+
+/* Add a new mapping to the vector of line mappings that we are
+ building. Returns 1 on success, 0 on failure. */
+
+static int
+add_line (struct backtrace_state *state, struct dwarf_data *ddata,
+ uintptr_t pc, const char *filename, int lineno,
+ backtrace_error_callback error_callback, void *data,
+ struct line_vector *vec)
+{
+ struct line *ln;
+
+ /* If we are adding the same mapping, ignore it. This can happen
+ when using discriminators. */
+ if (vec->count > 0)
+ {
+ ln = (struct line *) vec->vec.base + (vec->count - 1);
+ if (pc == ln->pc && filename == ln->filename && lineno == ln->lineno)
+ return 1;
+ }
+
+ ln = ((struct line *)
+ backtrace_vector_grow (state, sizeof (struct line), error_callback,
+ data, &vec->vec));
+ if (ln == NULL)
+ return 0;
+
+ /* Add in the base address here, so that we can look up the PC
+ directly. */
+ ln->pc = pc + ddata->base_address;
+
+ ln->filename = filename;
+ ln->lineno = lineno;
+ ln->idx = (int)vec->count;
+
+ ++vec->count;
+
+ return 1;
+}
+
+/* Free the line header information. */
+
+static void
+free_line_header (struct backtrace_state *state, struct line_header *hdr,
+ backtrace_error_callback error_callback, void *data)
+{
+ if (hdr->dirs_count != 0)
+ backtrace_free (state, hdr->dirs, hdr->dirs_count * sizeof (const char *),
+ error_callback, data);
+ backtrace_free (state, hdr->filenames,
+ hdr->filenames_count * sizeof (char *),
+ error_callback, data);
+}
+
+/* Read the line header. Return 1 on success, 0 on failure. */
+
+static int
+read_line_header (struct backtrace_state *state, struct unit *u,
+ int is_dwarf64, struct dwarf_buf *line_buf,
+ struct line_header *hdr)
+{
+ uint64_t hdrlen;
+ struct dwarf_buf hdr_buf;
+ const unsigned char *p;
+ const unsigned char *pend;
+ size_t i;
+
+ hdr->version = read_uint16 (line_buf);
+ if (hdr->version < 2 || hdr->version > 4)
+ {
+ dwarf_buf_error (line_buf, "unsupported line number version");
+ return 0;
+ }
+
+ hdrlen = read_offset (line_buf, is_dwarf64);
+
+ hdr_buf = *line_buf;
+ hdr_buf.left = hdrlen;
+
+ if (!advance (line_buf, hdrlen))
+ return 0;
+
+ hdr->min_insn_len = read_byte (&hdr_buf);
+ if (hdr->version < 4)
+ hdr->max_ops_per_insn = 1;
+ else
+ hdr->max_ops_per_insn = read_byte (&hdr_buf);
+
+ /* We don't care about default_is_stmt. */
+ read_byte (&hdr_buf);
+
+ hdr->line_base = read_sbyte (&hdr_buf);
+ hdr->line_range = read_byte (&hdr_buf);
+
+ hdr->opcode_base = read_byte (&hdr_buf);
+ hdr->opcode_lengths = hdr_buf.buf;
+ if (!advance (&hdr_buf, hdr->opcode_base - 1))
+ return 0;
+
+ /* Count the number of directory entries. */
+ hdr->dirs_count = 0;
+ p = hdr_buf.buf;
+ pend = p + hdr_buf.left;
+ while (p < pend && *p != '\0')
+ {
+ p += strnlen((const char *) p, pend - p) + 1;
+ ++hdr->dirs_count;
+ }
+
+ hdr->dirs = NULL;
+ if (hdr->dirs_count != 0)
+ {
+ hdr->dirs = ((const char **)
+ backtrace_alloc (state,
+ hdr->dirs_count * sizeof (const char *),
+ line_buf->error_callback, line_buf->data));
+ if (hdr->dirs == NULL)
+ return 0;
+ }
+
+ i = 0;
+ while (*hdr_buf.buf != '\0')
+ {
+ if (hdr_buf.reported_underflow)
+ return 0;
+
+ hdr->dirs[i] = (const char *) hdr_buf.buf;
+ ++i;
+ if (!advance (&hdr_buf,
+ strnlen ((const char *) hdr_buf.buf, hdr_buf.left) + 1))
+ return 0;
+ }
+ if (!advance (&hdr_buf, 1))
+ return 0;
+
+ /* Count the number of file entries. */
+ hdr->filenames_count = 0;
+ p = hdr_buf.buf;
+ pend = p + hdr_buf.left;
+ while (p < pend && *p != '\0')
+ {
+ p += strnlen ((const char *) p, pend - p) + 1;
+ p += leb128_len (p);
+ p += leb128_len (p);
+ p += leb128_len (p);
+ ++hdr->filenames_count;
+ }
+
+ hdr->filenames = ((const char **)
+ backtrace_alloc (state,
+ hdr->filenames_count * sizeof (char *),
+ line_buf->error_callback,
+ line_buf->data));
+ if (hdr->filenames == NULL)
+ return 0;
+ i = 0;
+ while (*hdr_buf.buf != '\0')
+ {
+ const char *filename;
+ uint64_t dir_index;
+
+ if (hdr_buf.reported_underflow)
+ return 0;
+
+ filename = (const char *) hdr_buf.buf;
+ if (!advance (&hdr_buf,
+ strnlen ((const char *) hdr_buf.buf, hdr_buf.left) + 1))
+ return 0;
+ dir_index = read_uleb128 (&hdr_buf);
+ if (IS_ABSOLUTE_PATH (filename)
+ || (dir_index == 0 && u->comp_dir == NULL))
+ hdr->filenames[i] = filename;
+ else
+ {
+ const char *dir;
+ size_t dir_len;
+ size_t filename_len;
+ char *s;
+
+ if (dir_index == 0)
+ dir = u->comp_dir;
+ else if (dir_index - 1 < hdr->dirs_count)
+ dir = hdr->dirs[dir_index - 1];
+ else
+ {
+ dwarf_buf_error (line_buf,
+ ("invalid directory index in "
+ "line number program header"));
+ return 0;
+ }
+ dir_len = strlen (dir);
+ filename_len = strlen (filename);
+ s = ((char *)
+ backtrace_alloc (state, dir_len + filename_len + 2,
+ line_buf->error_callback, line_buf->data));
+ if (s == NULL)
+ return 0;
+ memcpy (s, dir, dir_len);
+ /* FIXME: If we are on a DOS-based file system, and the
+ directory or the file name use backslashes, then we
+ should use a backslash here. */
+ s[dir_len] = '/';
+ memcpy (s + dir_len + 1, filename, filename_len + 1);
+ hdr->filenames[i] = s;
+ }
+
+ /* Ignore the modification time and size. */
+ read_uleb128 (&hdr_buf);
+ read_uleb128 (&hdr_buf);
+
+ ++i;
+ }
+
+ if (hdr_buf.reported_underflow)
+ return 0;
+
+ return 1;
+}
+
+/* Read the line program, adding line mappings to VEC. Return 1 on
+ success, 0 on failure. */
+
+static int
+read_line_program (struct backtrace_state *state, struct dwarf_data *ddata,
+ struct unit *u, const struct line_header *hdr,
+ struct dwarf_buf *line_buf, struct line_vector *vec)
+{
+ uint64_t address;
+ unsigned int op_index;
+ const char *reset_filename;
+ const char *filename;
+ int lineno;
+
+ address = 0;
+ op_index = 0;
+ if (hdr->filenames_count > 0)
+ reset_filename = hdr->filenames[0];
+ else
+ reset_filename = "";
+ filename = reset_filename;
+ lineno = 1;
+ while (line_buf->left > 0)
+ {
+ unsigned int op;
+
+ op = read_byte (line_buf);
+ if (op >= hdr->opcode_base)
+ {
+ unsigned int advance;
+
+ /* Special opcode. */
+ op -= hdr->opcode_base;
+ advance = op / hdr->line_range;
+ address += (hdr->min_insn_len * (op_index + advance)
+ / hdr->max_ops_per_insn);
+ op_index = (op_index + advance) % hdr->max_ops_per_insn;
+ lineno += hdr->line_base + (int) (op % hdr->line_range);
+ add_line (state, ddata, address, filename, lineno,
+ line_buf->error_callback, line_buf->data, vec);
+ }
+ else if (op == DW_LNS_extended_op)
+ {
+ uint64_t len;
+
+ len = read_uleb128 (line_buf);
+ op = read_byte (line_buf);
+ switch (op)
+ {
+ case DW_LNE_end_sequence:
+ /* FIXME: Should we mark the high PC here? It seems
+ that we already have that information from the
+ compilation unit. */
+ address = 0;
+ op_index = 0;
+ filename = reset_filename;
+ lineno = 1;
+ break;
+ case DW_LNE_set_address:
+ address = read_address (line_buf, u->addrsize);
+ break;
+ case DW_LNE_define_file:
+ {
+ const char *f;
+ unsigned int dir_index;
+
+ f = (const char *) line_buf->buf;
+ if (!advance (line_buf, strnlen (f, line_buf->left) + 1))
+ return 0;
+ dir_index = (unsigned int)read_uleb128 (line_buf);
+ /* Ignore that time and length. */
+ read_uleb128 (line_buf);
+ read_uleb128 (line_buf);
+ if (IS_ABSOLUTE_PATH (f))
+ filename = f;
+ else
+ {
+ const char *dir;
+ size_t dir_len;
+ size_t f_len;
+ char *p;
+
+ if (dir_index == 0)
+ dir = u->comp_dir;
+ else if (dir_index - 1 < hdr->dirs_count)
+ dir = hdr->dirs[dir_index - 1];
+ else
+ {
+ dwarf_buf_error (line_buf,
+ ("invalid directory index "
+ "in line number program"));
+ return 0;
+ }
+ dir_len = strlen (dir);
+ f_len = strlen (f);
+ p = ((char *)
+ backtrace_alloc (state, dir_len + f_len + 2,
+ line_buf->error_callback,
+ line_buf->data));
+ if (p == NULL)
+ return 0;
+ memcpy (p, dir, dir_len);
+ /* FIXME: If we are on a DOS-based file system,
+ and the directory or the file name use
+ backslashes, then we should use a backslash
+ here. */
+ p[dir_len] = '/';
+ memcpy (p + dir_len + 1, f, f_len + 1);
+ filename = p;
+ }
+ }
+ break;
+ case DW_LNE_set_discriminator:
+ /* We don't care about discriminators. */
+ read_uleb128 (line_buf);
+ break;
+ default:
+ if (!advance (line_buf, len - 1))
+ return 0;
+ break;
+ }
+ }
+ else
+ {
+ switch (op)
+ {
+ case DW_LNS_copy:
+ add_line (state, ddata, address, filename, lineno,
+ line_buf->error_callback, line_buf->data, vec);
+ break;
+ case DW_LNS_advance_pc:
+ {
+ uint64_t advance;
+
+ advance = read_uleb128 (line_buf);
+ address += (hdr->min_insn_len * (op_index + advance)
+ / hdr->max_ops_per_insn);
+ op_index = (op_index + advance) % hdr->max_ops_per_insn;
+ }
+ break;
+ case DW_LNS_advance_line:
+ lineno += (int) read_sleb128 (line_buf);
+ break;
+ case DW_LNS_set_file:
+ {
+ uint64_t fileno;
+
+ fileno = read_uleb128 (line_buf);
+ if (fileno == 0)
+ filename = "";
+ else
+ {
+ if (fileno - 1 >= hdr->filenames_count)
+ {
+ dwarf_buf_error (line_buf,
+ ("invalid file number in "
+ "line number program"));
+ return 0;
+ }
+ filename = hdr->filenames[fileno - 1];
+ }
+ }
+ break;
+ case DW_LNS_set_column:
+ read_uleb128 (line_buf);
+ break;
+ case DW_LNS_negate_stmt:
+ break;
+ case DW_LNS_set_basic_block:
+ break;
+ case DW_LNS_const_add_pc:
+ {
+ unsigned int advance;
+
+ op = 255 - hdr->opcode_base;
+ advance = op / hdr->line_range;
+ address += (hdr->min_insn_len * (op_index + advance)
+ / hdr->max_ops_per_insn);
+ op_index = (op_index + advance) % hdr->max_ops_per_insn;
+ }
+ break;
+ case DW_LNS_fixed_advance_pc:
+ address += read_uint16 (line_buf);
+ op_index = 0;
+ break;
+ case DW_LNS_set_prologue_end:
+ break;
+ case DW_LNS_set_epilogue_begin:
+ break;
+ case DW_LNS_set_isa:
+ read_uleb128 (line_buf);
+ break;
+ default:
+ {
+ unsigned int i;
+
+ for (i = hdr->opcode_lengths[op - 1]; i > 0; --i)
+ read_uleb128 (line_buf);
+ }
+ break;
+ }
+ }
+ }
+
+ return 1;
+}
+
+/* Read the line number information for a compilation unit. Returns 1
+ on success, 0 on failure. */
+
+static int
+read_line_info (struct backtrace_state *state, struct dwarf_data *ddata,
+ backtrace_error_callback error_callback, void *data,
+ struct unit *u, struct line_header *hdr, struct line **lines,
+ size_t *lines_count)
+{
+ struct line_vector vec;
+ struct dwarf_buf line_buf;
+ uint64_t len;
+ int is_dwarf64;
+ struct line *ln;
+
+ memset (&vec.vec, 0, sizeof vec.vec);
+ vec.count = 0;
+
+ memset (hdr, 0, sizeof *hdr);
+
+ if (u->lineoff != (off_t) (size_t) u->lineoff
+ || (size_t) u->lineoff >= ddata->dwarf_line_size)
+ {
+ error_callback (data, "unit line offset out of range", 0);
+ goto fail;
+ }
+
+ line_buf.name = ".debug_line";
+ line_buf.start = ddata->dwarf_line;
+ line_buf.buf = ddata->dwarf_line + u->lineoff;
+ line_buf.left = ddata->dwarf_line_size - u->lineoff;
+ line_buf.is_bigendian = ddata->is_bigendian;
+ line_buf.error_callback = error_callback;
+ line_buf.data = data;
+ line_buf.reported_underflow = 0;
+
+ is_dwarf64 = 0;
+ len = read_uint32 (&line_buf);
+ if (len == 0xffffffff)
+ {
+ len = read_uint64 (&line_buf);
+ is_dwarf64 = 1;
+ }
+ line_buf.left = len;
+
+ if (!read_line_header (state, u, is_dwarf64, &line_buf, hdr))
+ goto fail;
+
+ if (!read_line_program (state, ddata, u, hdr, &line_buf, &vec))
+ goto fail;
+
+ if (line_buf.reported_underflow)
+ goto fail;
+
+ if (vec.count == 0)
+ {
+ /* This is not a failure in the sense of a generating an error,
+ but it is a failure in that sense that we have no useful
+ information. */
+ goto fail;
+ }
+
+ /* Allocate one extra entry at the end. */
+ ln = ((struct line *)
+ backtrace_vector_grow (state, sizeof (struct line), error_callback,
+ data, &vec.vec));
+ if (ln == NULL)
+ goto fail;
+ ln->pc = (uintptr_t) -1;
+ ln->filename = NULL;
+ ln->lineno = 0;
+ ln->idx = 0;
+
+ if (!backtrace_vector_release (state, &vec.vec, error_callback, data))
+ goto fail;
+
+ ln = (struct line *) vec.vec.base;
+ backtrace_qsort (ln, vec.count, sizeof (struct line), line_compare);
+
+ *lines = ln;
+ *lines_count = vec.count;
+
+ return 1;
+
+ fail:
+ vec.vec.alc += vec.vec.size;
+ vec.vec.size = 0;
+ backtrace_vector_release (state, &vec.vec, error_callback, data);
+ free_line_header (state, hdr, error_callback, data);
+ *lines = (struct line *) (uintptr_t) -1;
+ *lines_count = 0;
+ return 0;
+}
+
+/* Read the name of a function from a DIE referenced by a
+ DW_AT_abstract_origin or DW_AT_specification tag. OFFSET is within
+ the same compilation unit. */
+
+static const char *
+read_referenced_name (struct dwarf_data *ddata, struct unit *u,
+ uint64_t offset, backtrace_error_callback error_callback,
+ void *data)
+{
+ struct dwarf_buf unit_buf;
+ uint64_t code;
+ const struct abbrev *abbrev;
+ const char *ret;
+ size_t i;
+
+ /* OFFSET is from the start of the data for this compilation unit.
+ U->unit_data is the data, but it starts U->unit_data_offset bytes
+ from the beginning. */
+
+ if (offset < u->unit_data_offset
+ || offset - u->unit_data_offset >= u->unit_data_len)
+ {
+ error_callback (data,
+ "abstract origin or specification out of range",
+ 0);
+ return NULL;
+ }
+
+ offset -= u->unit_data_offset;
+
+ unit_buf.name = ".debug_info";
+ unit_buf.start = ddata->dwarf_info;
+ unit_buf.buf = u->unit_data + offset;
+ unit_buf.left = u->unit_data_len - offset;
+ unit_buf.is_bigendian = ddata->is_bigendian;
+ unit_buf.error_callback = error_callback;
+ unit_buf.data = data;
+ unit_buf.reported_underflow = 0;
+
+ code = read_uleb128 (&unit_buf);
+ if (code == 0)
+ {
+ dwarf_buf_error (&unit_buf, "invalid abstract origin or specification");
+ return NULL;
+ }
+
+ abbrev = lookup_abbrev (&u->abbrevs, code, error_callback, data);
+ if (abbrev == NULL)
+ return NULL;
+
+ ret = NULL;
+ for (i = 0; i < abbrev->num_attrs; ++i)
+ {
+ struct attr_val val;
+
+ if (!read_attribute (abbrev->attrs[i].form, &unit_buf,
+ u->is_dwarf64, u->version, u->addrsize,
+ ddata->dwarf_str, ddata->dwarf_str_size,
+ &val))
+ return NULL;
+
+ switch (abbrev->attrs[i].name)
+ {
+ case DW_AT_name:
+ /* We prefer the linkage name if get one. */
+ if (val.encoding == ATTR_VAL_STRING)
+ ret = val.u.string;
+ break;
+
+ case DW_AT_linkage_name:
+ case DW_AT_MIPS_linkage_name:
+ if (val.encoding == ATTR_VAL_STRING)
+ return val.u.string;
+ break;
+
+ case DW_AT_specification:
+ if (abbrev->attrs[i].form == DW_FORM_ref_addr
+ || abbrev->attrs[i].form == DW_FORM_ref_sig8)
+ {
+ /* This refers to a specification defined in some other
+ compilation unit. We can handle this case if we
+ must, but it's harder. */
+ break;
+ }
+ if (val.encoding == ATTR_VAL_UINT
+ || val.encoding == ATTR_VAL_REF_UNIT)
+ {
+ const char *name;
+
+ name = read_referenced_name (ddata, u, val.u.uint,
+ error_callback, data);
+ if (name != NULL)
+ ret = name;
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ return ret;
+}
+
+/* Add a single range to U that maps to function. Returns 1 on
+ success, 0 on error. */
+
+static int
+add_function_range (struct backtrace_state *state, struct dwarf_data *ddata,
+ struct function *function, uint64_t lowpc, uint64_t highpc,
+ backtrace_error_callback error_callback,
+ void *data, struct function_vector *vec)
+{
+ struct function_addrs *p;
+
+ /* Add in the base address here, so that we can look up the PC
+ directly. */
+ lowpc += ddata->base_address;
+ highpc += ddata->base_address;
+
+ if (vec->count > 0)
+ {
+ p = (struct function_addrs *) vec->vec.base + vec->count - 1;
+ if ((lowpc == p->high || lowpc == p->high + 1)
+ && function == p->function)
+ {
+ if (highpc > p->high)
+ p->high = highpc;
+ return 1;
+ }
+ }
+
+ p = ((struct function_addrs *)
+ backtrace_vector_grow (state, sizeof (struct function_addrs),
+ error_callback, data, &vec->vec));
+ if (p == NULL)
+ return 0;
+
+ p->low = lowpc;
+ p->high = highpc;
+ p->function = function;
+ ++vec->count;
+ return 1;
+}
+
+/* Add PC ranges to U that map to FUNCTION. Returns 1 on success, 0
+ on error. */
+
+static int
+add_function_ranges (struct backtrace_state *state, struct dwarf_data *ddata,
+ struct unit *u, struct function *function,
+ uint64_t ranges, uint64_t base,
+ backtrace_error_callback error_callback, void *data,
+ struct function_vector *vec)
+{
+ struct dwarf_buf ranges_buf;
+
+ if (ranges >= ddata->dwarf_ranges_size)
+ {
+ error_callback (data, "function ranges offset out of range", 0);
+ return 0;
+ }
+
+ ranges_buf.name = ".debug_ranges";
+ ranges_buf.start = ddata->dwarf_ranges;
+ ranges_buf.buf = ddata->dwarf_ranges + ranges;
+ ranges_buf.left = ddata->dwarf_ranges_size - ranges;
+ ranges_buf.is_bigendian = ddata->is_bigendian;
+ ranges_buf.error_callback = error_callback;
+ ranges_buf.data = data;
+ ranges_buf.reported_underflow = 0;
+
+ while (1)
+ {
+ uint64_t low;
+ uint64_t high;
+
+ if (ranges_buf.reported_underflow)
+ return 0;
+
+ low = read_address (&ranges_buf, u->addrsize);
+ high = read_address (&ranges_buf, u->addrsize);
+
+ if (low == 0 && high == 0)
+ break;
+
+ if (is_highest_address (low, u->addrsize))
+ base = high;
+ else
+ {
+ if (!add_function_range (state, ddata, function, low + base,
+ high + base, error_callback, data, vec))
+ return 0;
+ }
+ }
+
+ if (ranges_buf.reported_underflow)
+ return 0;
+
+ return 1;
+}
+
+/* Read one entry plus all its children. Add function addresses to
+ VEC. Returns 1 on success, 0 on error. */
+
+static int
+read_function_entry (struct backtrace_state *state, struct dwarf_data *ddata,
+ struct unit *u, uint64_t base, struct dwarf_buf *unit_buf,
+ const struct line_header *lhdr,
+ backtrace_error_callback error_callback, void *data,
+ struct function_vector *vec_function,
+ struct function_vector *vec_inlined)
+{
+ while (unit_buf->left > 0)
+ {
+ uint64_t code;
+ const struct abbrev *abbrev;
+ int is_function;
+ struct function *function;
+ struct function_vector *vec;
+ size_t i;
+ uint64_t lowpc;
+ int have_lowpc;
+ uint64_t highpc;
+ int have_highpc;
+ int highpc_is_relative;
+ uint64_t ranges;
+ int have_ranges;
+
+ code = read_uleb128 (unit_buf);
+ if (code == 0)
+ return 1;
+
+ abbrev = lookup_abbrev (&u->abbrevs, code, error_callback, data);
+ if (abbrev == NULL)
+ return 0;
+
+ is_function = (abbrev->tag == DW_TAG_subprogram
+ || abbrev->tag == DW_TAG_entry_point
+ || abbrev->tag == DW_TAG_inlined_subroutine);
+
+ if (abbrev->tag == DW_TAG_inlined_subroutine)
+ vec = vec_inlined;
+ else
+ vec = vec_function;
+
+ function = NULL;
+ if (is_function)
+ {
+ function = ((struct function *)
+ backtrace_alloc (state, sizeof *function,
+ error_callback, data));
+ if (function == NULL)
+ return 0;
+ memset (function, 0, sizeof *function);
+ }
+
+ lowpc = 0;
+ have_lowpc = 0;
+ highpc = 0;
+ have_highpc = 0;
+ highpc_is_relative = 0;
+ ranges = 0;
+ have_ranges = 0;
+ for (i = 0; i < abbrev->num_attrs; ++i)
+ {
+ struct attr_val val;
+
+ if (!read_attribute (abbrev->attrs[i].form, unit_buf,
+ u->is_dwarf64, u->version, u->addrsize,
+ ddata->dwarf_str, ddata->dwarf_str_size,
+ &val))
+ return 0;
+
+ /* The compile unit sets the base address for any address
+ ranges in the function entries. */
+ if (abbrev->tag == DW_TAG_compile_unit
+ && abbrev->attrs[i].name == DW_AT_low_pc
+ && val.encoding == ATTR_VAL_ADDRESS)
+ base = val.u.uint;
+
+ if (is_function)
+ {
+ switch (abbrev->attrs[i].name)
+ {
+ case DW_AT_call_file:
+ if (val.encoding == ATTR_VAL_UINT)
+ {
+ if (val.u.uint == 0)
+ function->caller_filename = "";
+ else
+ {
+ if (val.u.uint - 1 >= lhdr->filenames_count)
+ {
+ dwarf_buf_error (unit_buf,
+ ("invalid file number in "
+ "DW_AT_call_file attribute"));
+ return 0;
+ }
+ function->caller_filename =
+ lhdr->filenames[val.u.uint - 1];
+ }
+ }
+ break;
+
+ case DW_AT_call_line:
+ if (val.encoding == ATTR_VAL_UINT)
+ function->caller_lineno = (int)val.u.uint;
+ break;
+
+ case DW_AT_abstract_origin:
+ case DW_AT_specification:
+ if (abbrev->attrs[i].form == DW_FORM_ref_addr
+ || abbrev->attrs[i].form == DW_FORM_ref_sig8)
+ {
+ /* This refers to an abstract origin defined in
+ some other compilation unit. We can handle
+ this case if we must, but it's harder. */
+ break;
+ }
+ if (val.encoding == ATTR_VAL_UINT
+ || val.encoding == ATTR_VAL_REF_UNIT)
+ {
+ const char *name;
+
+ name = read_referenced_name (ddata, u, val.u.uint,
+ error_callback, data);
+ if (name != NULL)
+ function->name = name;
+ }
+ break;
+
+ case DW_AT_name:
+ if (val.encoding == ATTR_VAL_STRING)
+ {
+ /* Don't override a name we found in some other
+ way, as it will normally be more
+ useful--e.g., this name is normally not
+ mangled. */
+ if (function->name == NULL)
+ function->name = val.u.string;
+ }
+ break;
+
+ case DW_AT_linkage_name:
+ case DW_AT_MIPS_linkage_name:
+ if (val.encoding == ATTR_VAL_STRING)
+ function->name = val.u.string;
+ break;
+
+ case DW_AT_low_pc:
+ if (val.encoding == ATTR_VAL_ADDRESS)
+ {
+ lowpc = val.u.uint;
+ have_lowpc = 1;
+ }
+ break;
+
+ case DW_AT_high_pc:
+ if (val.encoding == ATTR_VAL_ADDRESS)
+ {
+ highpc = val.u.uint;
+ have_highpc = 1;
+ }
+ else if (val.encoding == ATTR_VAL_UINT)
+ {
+ highpc = val.u.uint;
+ have_highpc = 1;
+ highpc_is_relative = 1;
+ }
+ break;
+
+ case DW_AT_ranges:
+ if (val.encoding == ATTR_VAL_UINT
+ || val.encoding == ATTR_VAL_REF_SECTION)
+ {
+ ranges = val.u.uint;
+ have_ranges = 1;
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+ }
+
+ /* If we couldn't find a name for the function, we have no use
+ for it. */
+ if (is_function && function->name == NULL)
+ {
+ backtrace_free (state, function, sizeof *function,
+ error_callback, data);
+ is_function = 0;
+ }
+
+ if (is_function)
+ {
+ if (have_ranges)
+ {
+ if (!add_function_ranges (state, ddata, u, function, ranges,
+ base, error_callback, data, vec))
+ return 0;
+ }
+ else if (have_lowpc && have_highpc)
+ {
+ if (highpc_is_relative)
+ highpc += lowpc;
+ if (!add_function_range (state, ddata, function, lowpc, highpc,
+ error_callback, data, vec))
+ return 0;
+ }
+ else
+ {
+ backtrace_free (state, function, sizeof *function,
+ error_callback, data);
+ is_function = 0;
+ }
+ }
+
+ if (abbrev->has_children)
+ {
+ if (!is_function)
+ {
+ if (!read_function_entry (state, ddata, u, base, unit_buf, lhdr,
+ error_callback, data, vec_function,
+ vec_inlined))
+ return 0;
+ }
+ else
+ {
+ struct function_vector fvec;
+
+ /* Gather any information for inlined functions in
+ FVEC. */
+
+ memset (&fvec, 0, sizeof fvec);
+
+ if (!read_function_entry (state, ddata, u, base, unit_buf, lhdr,
+ error_callback, data, vec_function,
+ &fvec))
+ return 0;
+
+ if (fvec.count > 0)
+ {
+ struct function_addrs *faddrs;
+
+ if (!backtrace_vector_release (state, &fvec.vec,
+ error_callback, data))
+ return 0;
+
+ faddrs = (struct function_addrs *) fvec.vec.base;
+ backtrace_qsort (faddrs, fvec.count,
+ sizeof (struct function_addrs),
+ function_addrs_compare);
+
+ function->function_addrs = faddrs;
+ function->function_addrs_count = fvec.count;
+ }
+ }
+ }
+ }
+
+ return 1;
+}
+
+/* Read function name information for a compilation unit. We look
+ through the whole unit looking for function tags. */
+
+static void
+read_function_info (struct backtrace_state *state, struct dwarf_data *ddata,
+ const struct line_header *lhdr,
+ backtrace_error_callback error_callback, void *data,
+ struct unit *u, struct function_vector *fvec,
+ struct function_addrs **ret_addrs,
+ size_t *ret_addrs_count)
+{
+ struct function_vector lvec;
+ struct function_vector *pfvec;
+ struct dwarf_buf unit_buf;
+ struct function_addrs *addrs;
+ size_t addrs_count;
+
+ /* Use FVEC if it is not NULL. Otherwise use our own vector. */
+ if (fvec != NULL)
+ pfvec = fvec;
+ else
+ {
+ memset (&lvec, 0, sizeof lvec);
+ pfvec = &lvec;
+ }
+
+ unit_buf.name = ".debug_info";
+ unit_buf.start = ddata->dwarf_info;
+ unit_buf.buf = u->unit_data;
+ unit_buf.left = u->unit_data_len;
+ unit_buf.is_bigendian = ddata->is_bigendian;
+ unit_buf.error_callback = error_callback;
+ unit_buf.data = data;
+ unit_buf.reported_underflow = 0;
+
+ while (unit_buf.left > 0)
+ {
+ if (!read_function_entry (state, ddata, u, 0, &unit_buf, lhdr,
+ error_callback, data, pfvec, pfvec))
+ return;
+ }
+
+ if (pfvec->count == 0)
+ return;
+
+ addrs_count = pfvec->count;
+
+ if (fvec == NULL)
+ {
+ if (!backtrace_vector_release (state, &lvec.vec, error_callback, data))
+ return;
+ addrs = (struct function_addrs *) pfvec->vec.base;
+ }
+ else
+ {
+ /* Finish this list of addresses, but leave the remaining space in
+ the vector available for the next function unit. */
+ addrs = ((struct function_addrs *)
+ backtrace_vector_finish (state, &fvec->vec,
+ error_callback, data));
+ if (addrs == NULL)
+ return;
+ fvec->count = 0;
+ }
+
+ backtrace_qsort (addrs, addrs_count, sizeof (struct function_addrs),
+ function_addrs_compare);
+
+ *ret_addrs = addrs;
+ *ret_addrs_count = addrs_count;
+}
+
+/* See if PC is inlined in FUNCTION. If it is, print out the inlined
+ information, and update FILENAME and LINENO for the caller.
+ Returns whatever CALLBACK returns, or 0 to keep going. */
+
+static int
+report_inlined_functions (uintptr_t pc, struct function *function,
+ backtrace_full_callback callback, void *data,
+ const char **filename, int *lineno)
+{
+ struct function_addrs *function_addrs;
+ struct function *inlined;
+ int ret;
+
+ if (function->function_addrs_count == 0)
+ return 0;
+
+ function_addrs = ((struct function_addrs *)
+ bsearch (&pc, function->function_addrs,
+ function->function_addrs_count,
+ sizeof (struct function_addrs),
+ function_addrs_search));
+ if (function_addrs == NULL)
+ return 0;
+
+ while (((size_t) (function_addrs - function->function_addrs) + 1
+ < function->function_addrs_count)
+ && pc >= (function_addrs + 1)->low
+ && pc < (function_addrs + 1)->high)
+ ++function_addrs;
+
+ /* We found an inlined call. */
+
+ inlined = function_addrs->function;
+
+ /* Report any calls inlined into this one. */
+ ret = report_inlined_functions (pc, inlined, callback, data,
+ filename, lineno);
+ if (ret != 0)
+ return ret;
+
+ /* Report this inlined call. */
+ ret = callback (data, pc, *filename, *lineno, inlined->name);
+ if (ret != 0)
+ return ret;
+
+ /* Our caller will report the caller of the inlined function; tell
+ it the appropriate filename and line number. */
+ *filename = inlined->caller_filename;
+ *lineno = inlined->caller_lineno;
+
+ return 0;
+}
+
+/* Look for a PC in the DWARF mapping for one module. On success,
+ call CALLBACK and return whatever it returns. On error, call
+ ERROR_CALLBACK and return 0. Sets *FOUND to 1 if the PC is found,
+ 0 if not. */
+
+static int
+dwarf_lookup_pc (struct backtrace_state *state, struct dwarf_data *ddata,
+ uintptr_t pc, backtrace_full_callback callback,
+ backtrace_error_callback error_callback, void *data,
+ int *found)
+{
+ struct unit_addrs *entry;
+ struct unit *u;
+ int new_data;
+ struct line *lines;
+ struct line *ln;
+ struct function_addrs *function_addrs;
+ struct function *function;
+ const char *filename;
+ int lineno;
+ int ret;
+
+ *found = 1;
+
+ /* Find an address range that includes PC. */
+ entry = bsearch (&pc, ddata->addrs, ddata->addrs_count,
+ sizeof (struct unit_addrs), unit_addrs_search);
+
+ if (entry == NULL)
+ {
+ *found = 0;
+ return 0;
+ }
+
+ /* If there are multiple ranges that contain PC, use the last one,
+ in order to produce predictable results. If we assume that all
+ ranges are properly nested, then the last range will be the
+ smallest one. */
+ while ((size_t) (entry - ddata->addrs) + 1 < ddata->addrs_count
+ && pc >= (entry + 1)->low
+ && pc < (entry + 1)->high)
+ ++entry;
+
+ /* We need the lines, lines_count, function_addrs,
+ function_addrs_count fields of u. If they are not set, we need
+ to set them. When running in threaded mode, we need to allow for
+ the possibility that some other thread is setting them
+ simultaneously. */
+
+ u = entry->u;
+ lines = u->lines;
+
+ /* Skip units with no useful line number information by walking
+ backward. Useless line number information is marked by setting
+ lines == -1. */
+ while (entry > ddata->addrs
+ && pc >= (entry - 1)->low
+ && pc < (entry - 1)->high)
+ {
+ if (state->threaded)
+ lines = (struct line *) backtrace_atomic_load_pointer (&u->lines);
+
+ if (lines != (struct line *) (uintptr_t) -1)
+ break;
+
+ --entry;
+
+ u = entry->u;
+ lines = u->lines;
+ }
+
+ if (state->threaded)
+ lines = backtrace_atomic_load_pointer (&u->lines);
+
+ new_data = 0;
+ if (lines == NULL)
+ {
+ size_t function_addrs_count;
+ struct line_header lhdr;
+ size_t count;
+
+ /* We have never read the line information for this unit. Read
+ it now. */
+
+ function_addrs = NULL;
+ function_addrs_count = 0;
+ if (read_line_info (state, ddata, error_callback, data, entry->u, &lhdr,
+ &lines, &count))
+ {
+ struct function_vector *pfvec;
+
+ /* If not threaded, reuse DDATA->FVEC for better memory
+ consumption. */
+ if (state->threaded)
+ pfvec = NULL;
+ else
+ pfvec = &ddata->fvec;
+ read_function_info (state, ddata, &lhdr, error_callback, data,
+ entry->u, pfvec, &function_addrs,
+ &function_addrs_count);
+ free_line_header (state, &lhdr, error_callback, data);
+ new_data = 1;
+ }
+
+ /* Atomically store the information we just read into the unit.
+ If another thread is simultaneously writing, it presumably
+ read the same information, and we don't care which one we
+ wind up with; we just leak the other one. We do have to
+ write the lines field last, so that the acquire-loads above
+ ensure that the other fields are set. */
+
+ if (!state->threaded)
+ {
+ u->lines_count = count;
+ u->function_addrs = function_addrs;
+ u->function_addrs_count = function_addrs_count;
+ u->lines = lines;
+ }
+ else
+ {
+ backtrace_atomic_store_size_t (&u->lines_count, count);
+ backtrace_atomic_store_pointer (&u->function_addrs, function_addrs);
+ backtrace_atomic_store_size_t (&u->function_addrs_count,
+ function_addrs_count);
+ backtrace_atomic_store_pointer (&u->lines, lines);
+ }
+ }
+
+ /* Now all fields of U have been initialized. */
+
+ if (lines == (struct line *) (uintptr_t) -1)
+ {
+ /* If reading the line number information failed in some way,
+ try again to see if there is a better compilation unit for
+ this PC. */
+ if (new_data)
+ return dwarf_lookup_pc (state, ddata, pc, callback, error_callback,
+ data, found);
+ return callback (data, pc, NULL, 0, NULL);
+ }
+
+ /* Search for PC within this unit. */
+
+ ln = (struct line *) bsearch (&pc, lines, entry->u->lines_count,
+ sizeof (struct line), line_search);
+ if (ln == NULL)
+ {
+ /* The PC is between the low_pc and high_pc attributes of the
+ compilation unit, but no entry in the line table covers it.
+ This implies that the start of the compilation unit has no
+ line number information. */
+
+ if (entry->u->abs_filename == NULL)
+ {
+ const char *filename1;
+
+ filename1 = entry->u->filename;
+ if (filename1 != NULL
+ && !IS_ABSOLUTE_PATH (filename1)
+ && entry->u->comp_dir != NULL)
+ {
+ size_t filename_len;
+ const char *dir;
+ size_t dir_len;
+ char *s;
+
+ filename_len = strlen (filename1);
+ dir = entry->u->comp_dir;
+ dir_len = strlen (dir);
+ s = (char *) backtrace_alloc (state, dir_len + filename_len + 2,
+ error_callback, data);
+ if (s == NULL)
+ {
+ *found = 0;
+ return 0;
+ }
+ memcpy (s, dir, dir_len);
+ /* FIXME: Should use backslash if DOS file system. */
+ s[dir_len] = '/';
+ memcpy (s + dir_len + 1, filename1, filename_len + 1);
+ filename1 = s;
+ }
+ entry->u->abs_filename = filename1;
+ }
+
+ return callback (data, pc, entry->u->abs_filename, 0, NULL);
+ }
+
+ /* Search for function name within this unit. */
+
+ if (entry->u->function_addrs_count == 0)
+ return callback (data, pc, ln->filename, ln->lineno, NULL);
+
+ function_addrs = ((struct function_addrs *)
+ bsearch (&pc, entry->u->function_addrs,
+ entry->u->function_addrs_count,
+ sizeof (struct function_addrs),
+ function_addrs_search));
+ if (function_addrs == NULL)
+ return callback (data, pc, ln->filename, ln->lineno, NULL);
+
+ /* If there are multiple function ranges that contain PC, use the
+ last one, in order to produce predictable results. */
+
+ while (((size_t) (function_addrs - entry->u->function_addrs + 1)
+ < entry->u->function_addrs_count)
+ && pc >= (function_addrs + 1)->low
+ && pc < (function_addrs + 1)->high)
+ ++function_addrs;
+
+ function = function_addrs->function;
+
+ filename = ln->filename;
+ lineno = ln->lineno;
+
+ ret = report_inlined_functions (pc, function, callback, data,
+ &filename, &lineno);
+ if (ret != 0)
+ return ret;
+
+ return callback (data, pc, filename, lineno, function->name);
+}
+
+
+/* Return the file/line information for a PC using the DWARF mapping
+ we built earlier. */
+
+static int
+dwarf_fileline (struct backtrace_state *state, uintptr_t pc,
+ backtrace_full_callback callback,
+ backtrace_error_callback error_callback, void *data)
+{
+ struct dwarf_data *ddata;
+ int found;
+ int ret;
+
+ if (!state->threaded)
+ {
+ for (ddata = (struct dwarf_data *) state->fileline_data;
+ ddata != NULL;
+ ddata = ddata->next)
+ {
+ ret = dwarf_lookup_pc (state, ddata, pc, callback, error_callback,
+ data, &found);
+ if (ret != 0 || found)
+ return ret;
+ }
+ }
+ else
+ {
+ struct dwarf_data **pp;
+
+ pp = (struct dwarf_data **) (void *) &state->fileline_data;
+ while (1)
+ {
+ ddata = backtrace_atomic_load_pointer (pp);
+ if (ddata == NULL)
+ break;
+
+ ret = dwarf_lookup_pc (state, ddata, pc, callback, error_callback,
+ data, &found);
+ if (ret != 0 || found)
+ return ret;
+
+ pp = &ddata->next;
+ }
+ }
+
+ /* FIXME: See if any libraries have been dlopen'ed. */
+
+ return callback (data, pc, NULL, 0, NULL);
+}
+
+/* Initialize our data structures from the DWARF debug info for a
+ file. Return NULL on failure. */
+
+static struct dwarf_data *
+build_dwarf_data (struct backtrace_state *state,
+ uintptr_t base_address,
+ const unsigned char *dwarf_info,
+ size_t dwarf_info_size,
+ const unsigned char *dwarf_line,
+ size_t dwarf_line_size,
+ const unsigned char *dwarf_abbrev,
+ size_t dwarf_abbrev_size,
+ const unsigned char *dwarf_ranges,
+ size_t dwarf_ranges_size,
+ const unsigned char *dwarf_str,
+ size_t dwarf_str_size,
+ int is_bigendian,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ struct unit_addrs_vector addrs_vec;
+ struct unit_addrs *addrs;
+ size_t addrs_count;
+ struct dwarf_data *fdata;
+
+ if (!build_address_map (state, base_address, dwarf_info, dwarf_info_size,
+ dwarf_abbrev, dwarf_abbrev_size, dwarf_ranges,
+ dwarf_ranges_size, dwarf_str, dwarf_str_size,
+ is_bigendian, error_callback, data, &addrs_vec))
+ return NULL;
+
+ if (!backtrace_vector_release (state, &addrs_vec.vec, error_callback, data))
+ return NULL;
+ addrs = (struct unit_addrs *) addrs_vec.vec.base;
+ addrs_count = addrs_vec.count;
+ backtrace_qsort (addrs, addrs_count, sizeof (struct unit_addrs),
+ unit_addrs_compare);
+
+ fdata = ((struct dwarf_data *)
+ backtrace_alloc (state, sizeof (struct dwarf_data),
+ error_callback, data));
+ if (fdata == NULL)
+ return NULL;
+
+ fdata->next = NULL;
+ fdata->base_address = base_address;
+ fdata->addrs = addrs;
+ fdata->addrs_count = addrs_count;
+ fdata->dwarf_info = dwarf_info;
+ fdata->dwarf_info_size = dwarf_info_size;
+ fdata->dwarf_line = dwarf_line;
+ fdata->dwarf_line_size = dwarf_line_size;
+ fdata->dwarf_ranges = dwarf_ranges;
+ fdata->dwarf_ranges_size = dwarf_ranges_size;
+ fdata->dwarf_str = dwarf_str;
+ fdata->dwarf_str_size = dwarf_str_size;
+ fdata->is_bigendian = is_bigendian;
+ memset (&fdata->fvec, 0, sizeof fdata->fvec);
+
+ return fdata;
+}
+
+/* Build our data structures from the DWARF sections for a module.
+ Set FILELINE_FN and STATE->FILELINE_DATA. Return 1 on success, 0
+ on failure. */
+
+int
+backtrace_dwarf_add (struct backtrace_state *state,
+ uintptr_t base_address,
+ const unsigned char *dwarf_info,
+ size_t dwarf_info_size,
+ const unsigned char *dwarf_line,
+ size_t dwarf_line_size,
+ const unsigned char *dwarf_abbrev,
+ size_t dwarf_abbrev_size,
+ const unsigned char *dwarf_ranges,
+ size_t dwarf_ranges_size,
+ const unsigned char *dwarf_str,
+ size_t dwarf_str_size,
+ int is_bigendian,
+ backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn)
+{
+ struct dwarf_data *fdata;
+
+ fdata = build_dwarf_data (state, base_address, dwarf_info, dwarf_info_size,
+ dwarf_line, dwarf_line_size, dwarf_abbrev,
+ dwarf_abbrev_size, dwarf_ranges, dwarf_ranges_size,
+ dwarf_str, dwarf_str_size, is_bigendian,
+ error_callback, data);
+ if (fdata == NULL)
+ return 0;
+
+ if (!state->threaded)
+ {
+ struct dwarf_data **pp;
+
+ for (pp = (struct dwarf_data **) (void *) &state->fileline_data;
+ *pp != NULL;
+ pp = &(*pp)->next)
+ ;
+ *pp = fdata;
+ }
+ else
+ {
+ while (1)
+ {
+ struct dwarf_data **pp;
+
+ pp = (struct dwarf_data **) (void *) &state->fileline_data;
+
+ while (1)
+ {
+ struct dwarf_data *p;
+
+ p = backtrace_atomic_load_pointer (pp);
+
+ if (p == NULL)
+ break;
+
+ pp = &p->next;
+ }
+
+ if (__sync_bool_compare_and_swap (pp, NULL, fdata))
+ break;
+ }
+ }
+
+ *fileline_fn = dwarf_fileline;
+
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/edtest.c b/3rdparty/libbacktrace/edtest.c
new file mode 100644
index 000000000..3a2cac411
--- /dev/null
+++ b/3rdparty/libbacktrace/edtest.c
@@ -0,0 +1,121 @@
+/* edtest.c -- Test for libbacktrace storage allocation stress handling
+ Copyright (C) 2017-2018 Free Software Foundation, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "backtrace-supported.h"
+#include "internal.h"
+
+#include "testlib.h"
+
+static int test1 (void) __attribute__ ((noinline, unused));
+static int test1 (void) __attribute__ ((noinline, unused));
+extern int f2 (int);
+extern int f3 (int, int);
+
+static int
+test1 (void)
+{
+ /* Returning a value here and elsewhere avoids a tailcall which
+ would mess up the backtrace. */
+ return f2 (__LINE__) + 1;
+}
+
+int
+f3 (int f1line, int f2line)
+{
+ struct info all[20];
+ struct bdata data;
+ int f3line;
+ int i;
+
+ data.all = &all[0];
+ data.index = 0;
+ data.max = 20;
+ data.failed = 0;
+
+ f3line = __LINE__ + 1;
+ i = backtrace_full (state, 0, callback_one, error_callback_one, &data);
+
+ if (i != 0)
+ {
+ fprintf (stderr, "test1: unexpected return value %d\n", i);
+ data.failed = 1;
+ }
+
+ if (data.index < 3)
+ {
+ fprintf (stderr,
+ "test1: not enough frames; got %zu, expected at least 3\n",
+ data.index);
+ data.failed = 1;
+ }
+
+ check ("test1", 0, all, f3line, "f3", "edtest.c", &data.failed);
+ check ("test1", 1, all, f2line, "f2", "edtest2_build.c", &data.failed);
+ check ("test1", 2, all, f1line, "test1", "edtest.c", &data.failed);
+
+ printf ("%s: backtrace_full alloc stress\n", data.failed ? "FAIL" : "PASS");
+
+ if (data.failed)
+ ++failures;
+
+ return failures;
+}
+
+int
+main (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
+{
+ state = backtrace_create_state (argv[0], BACKTRACE_SUPPORTS_THREADS,
+ error_callback_create, NULL);
+
+ // Grab the storage allocation lock prior to doing anything interesting.
+ // The intent here is to insure that the backtrace_alloc code is forced
+ // to always call mmap() for new memory as opposed to reusing previously
+ // allocated memory from the free list. Doing things this way helps
+ // simulate what you might see in a multithreaded program in which there
+ // are racing calls to the allocator.
+ struct backtrace_state *state_internal =
+ (struct backtrace_state *) state;
+ state_internal->lock_alloc = 1;
+
+ // Kick off the test
+ test1();
+
+ exit (failures > 0 ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/3rdparty/libbacktrace/edtest2.c b/3rdparty/libbacktrace/edtest2.c
new file mode 100644
index 000000000..e0c0470be
--- /dev/null
+++ b/3rdparty/libbacktrace/edtest2.c
@@ -0,0 +1,43 @@
+/* edtest2.c -- Test for libbacktrace storage allocation stress handling (p2)
+ Copyright (C) 2017-2018 Free Software Foundation, Inc.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+/* This file intentionally written without any #include's
+ */
+
+extern int f3(int, int);
+extern int f2(int);
+
+int f2(int x)
+{
+ /* Returning a value here and elsewhere avoids a tailcall which
+ would mess up the backtrace. */
+ return f3(x, __LINE__) + 3;
+}
diff --git a/3rdparty/libbacktrace/elf.c b/3rdparty/libbacktrace/elf.c
new file mode 100644
index 000000000..51e27b933
--- /dev/null
+++ b/3rdparty/libbacktrace/elf.c
@@ -0,0 +1,3340 @@
+/* elf.c -- Get debug data from an ELF file for backtraces.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+#ifdef HAVE_DL_ITERATE_PHDR
+#include <link.h>
+#endif
+
+#include "backtrace.h"
+#include "internal.h"
+
+#ifndef S_ISLNK
+ #ifndef S_IFLNK
+ #define S_IFLNK 0120000
+ #endif
+ #ifndef S_IFMT
+ #define S_IFMT 0170000
+ #endif
+ #define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+#endif
+
+#ifndef __GNUC__
+#define __builtin_prefetch(p, r, l)
+#define unlikely(x) (x)
+#else
+#define unlikely(x) __builtin_expect(!!(x), 0)
+#endif
+
+#if !defined(HAVE_DECL_STRNLEN) || !HAVE_DECL_STRNLEN
+
+/* If strnlen is not declared, provide our own version. */
+
+static size_t
+xstrnlen (const char *s, size_t maxlen)
+{
+ size_t i;
+
+ for (i = 0; i < maxlen; ++i)
+ if (s[i] == '\0')
+ break;
+ return i;
+}
+
+#define strnlen xstrnlen
+
+#endif
+
+#ifndef HAVE_LSTAT
+
+/* Dummy version of lstat for systems that don't have it. */
+
+static int
+xlstat (const char *path ATTRIBUTE_UNUSED, struct stat *st ATTRIBUTE_UNUSED)
+{
+ return -1;
+}
+
+#define lstat xlstat
+
+#endif
+
+#ifndef HAVE_READLINK
+
+/* Dummy version of readlink for systems that don't have it. */
+
+static ssize_t
+xreadlink (const char *path ATTRIBUTE_UNUSED, char *buf ATTRIBUTE_UNUSED,
+ size_t bufsz ATTRIBUTE_UNUSED)
+{
+ return -1;
+}
+
+#define readlink xreadlink
+
+#endif
+
+#ifndef HAVE_DL_ITERATE_PHDR
+
+/* Dummy version of dl_iterate_phdr for systems that don't have it. */
+
+#define dl_phdr_info x_dl_phdr_info
+#define dl_iterate_phdr x_dl_iterate_phdr
+
+struct dl_phdr_info
+{
+ uintptr_t dlpi_addr;
+ const char *dlpi_name;
+};
+
+static int
+dl_iterate_phdr (int (*callback) (struct dl_phdr_info *,
+ size_t, void *) ATTRIBUTE_UNUSED,
+ void *data ATTRIBUTE_UNUSED)
+{
+ return 0;
+}
+
+#endif /* ! defined (HAVE_DL_ITERATE_PHDR) */
+
+/* The configure script must tell us whether we are 32-bit or 64-bit
+ ELF. We could make this code test and support either possibility,
+ but there is no point. This code only works for the currently
+ running executable, which means that we know the ELF mode at
+ configure time. */
+
+#if BACKTRACE_ELF_SIZE != 32 && BACKTRACE_ELF_SIZE != 64
+#error "Unknown BACKTRACE_ELF_SIZE"
+#endif
+
+/* <link.h> might #include <elf.h> which might define our constants
+ with slightly different values. Undefine them to be safe. */
+
+#undef EI_NIDENT
+#undef EI_MAG0
+#undef EI_MAG1
+#undef EI_MAG2
+#undef EI_MAG3
+#undef EI_CLASS
+#undef EI_DATA
+#undef EI_VERSION
+#undef ELF_MAG0
+#undef ELF_MAG1
+#undef ELF_MAG2
+#undef ELF_MAG3
+#undef ELFCLASS32
+#undef ELFCLASS64
+#undef ELFDATA2LSB
+#undef ELFDATA2MSB
+#undef EV_CURRENT
+#undef ET_DYN
+#undef EM_PPC64
+#undef EF_PPC64_ABI
+#undef SHN_LORESERVE
+#undef SHN_XINDEX
+#undef SHN_UNDEF
+#undef SHT_PROGBITS
+#undef SHT_SYMTAB
+#undef SHT_STRTAB
+#undef SHT_DYNSYM
+#undef SHF_COMPRESSED
+#undef STT_OBJECT
+#undef STT_FUNC
+#undef NT_GNU_BUILD_ID
+#undef ELFCOMPRESS_ZLIB
+
+/* Basic types. */
+
+typedef uint16_t b_elf_half; /* Elf_Half. */
+typedef uint32_t b_elf_word; /* Elf_Word. */
+typedef int32_t b_elf_sword; /* Elf_Sword. */
+
+#if BACKTRACE_ELF_SIZE == 32
+
+typedef uint32_t b_elf_addr; /* Elf_Addr. */
+typedef uint32_t b_elf_off; /* Elf_Off. */
+
+typedef uint32_t b_elf_wxword; /* 32-bit Elf_Word, 64-bit ELF_Xword. */
+
+#else
+
+typedef uint64_t b_elf_addr; /* Elf_Addr. */
+typedef uint64_t b_elf_off; /* Elf_Off. */
+typedef uint64_t b_elf_xword; /* Elf_Xword. */
+typedef int64_t b_elf_sxword; /* Elf_Sxword. */
+
+typedef uint64_t b_elf_wxword; /* 32-bit Elf_Word, 64-bit ELF_Xword. */
+
+#endif
+
+/* Data structures and associated constants. */
+
+#define EI_NIDENT 16
+
+typedef struct {
+ unsigned char e_ident[EI_NIDENT]; /* ELF "magic number" */
+ b_elf_half e_type; /* Identifies object file type */
+ b_elf_half e_machine; /* Specifies required architecture */
+ b_elf_word e_version; /* Identifies object file version */
+ b_elf_addr e_entry; /* Entry point virtual address */
+ b_elf_off e_phoff; /* Program header table file offset */
+ b_elf_off e_shoff; /* Section header table file offset */
+ b_elf_word e_flags; /* Processor-specific flags */
+ b_elf_half e_ehsize; /* ELF header size in bytes */
+ b_elf_half e_phentsize; /* Program header table entry size */
+ b_elf_half e_phnum; /* Program header table entry count */
+ b_elf_half e_shentsize; /* Section header table entry size */
+ b_elf_half e_shnum; /* Section header table entry count */
+ b_elf_half e_shstrndx; /* Section header string table index */
+} b_elf_ehdr; /* Elf_Ehdr. */
+
+#define EI_MAG0 0
+#define EI_MAG1 1
+#define EI_MAG2 2
+#define EI_MAG3 3
+#define EI_CLASS 4
+#define EI_DATA 5
+#define EI_VERSION 6
+
+#define ELFMAG0 0x7f
+#define ELFMAG1 'E'
+#define ELFMAG2 'L'
+#define ELFMAG3 'F'
+
+#define ELFCLASS32 1
+#define ELFCLASS64 2
+
+#define ELFDATA2LSB 1
+#define ELFDATA2MSB 2
+
+#define EV_CURRENT 1
+
+#define ET_DYN 3
+
+#define EM_PPC64 21
+#define EF_PPC64_ABI 3
+
+typedef struct {
+ b_elf_word sh_name; /* Section name, index in string tbl */
+ b_elf_word sh_type; /* Type of section */
+ b_elf_wxword sh_flags; /* Miscellaneous section attributes */
+ b_elf_addr sh_addr; /* Section virtual addr at execution */
+ b_elf_off sh_offset; /* Section file offset */
+ b_elf_wxword sh_size; /* Size of section in bytes */
+ b_elf_word sh_link; /* Index of another section */
+ b_elf_word sh_info; /* Additional section information */
+ b_elf_wxword sh_addralign; /* Section alignment */
+ b_elf_wxword sh_entsize; /* Entry size if section holds table */
+} b_elf_shdr; /* Elf_Shdr. */
+
+#define SHN_UNDEF 0x0000 /* Undefined section */
+#define SHN_LORESERVE 0xFF00 /* Begin range of reserved indices */
+#define SHN_XINDEX 0xFFFF /* Section index is held elsewhere */
+
+#define SHT_PROGBITS 1
+#define SHT_SYMTAB 2
+#define SHT_STRTAB 3
+#define SHT_DYNSYM 11
+
+#define SHF_COMPRESSED 0x800
+
+#if BACKTRACE_ELF_SIZE == 32
+
+typedef struct
+{
+ b_elf_word st_name; /* Symbol name, index in string tbl */
+ b_elf_addr st_value; /* Symbol value */
+ b_elf_word st_size; /* Symbol size */
+ unsigned char st_info; /* Symbol binding and type */
+ unsigned char st_other; /* Visibility and other data */
+ b_elf_half st_shndx; /* Symbol section index */
+} b_elf_sym; /* Elf_Sym. */
+
+#else /* BACKTRACE_ELF_SIZE != 32 */
+
+typedef struct
+{
+ b_elf_word st_name; /* Symbol name, index in string tbl */
+ unsigned char st_info; /* Symbol binding and type */
+ unsigned char st_other; /* Visibility and other data */
+ b_elf_half st_shndx; /* Symbol section index */
+ b_elf_addr st_value; /* Symbol value */
+ b_elf_xword st_size; /* Symbol size */
+} b_elf_sym; /* Elf_Sym. */
+
+#endif /* BACKTRACE_ELF_SIZE != 32 */
+
+#define STT_OBJECT 1
+#define STT_FUNC 2
+
+typedef struct
+{
+ uint32_t namesz;
+ uint32_t descsz;
+ uint32_t type;
+ char name[1];
+} b_elf_note;
+
+#define NT_GNU_BUILD_ID 3
+
+#if BACKTRACE_ELF_SIZE == 32
+
+typedef struct
+{
+ b_elf_word ch_type; /* Compresstion algorithm */
+ b_elf_word ch_size; /* Uncompressed size */
+ b_elf_word ch_addralign; /* Alignment for uncompressed data */
+} b_elf_chdr; /* Elf_Chdr */
+
+#else /* BACKTRACE_ELF_SIZE != 32 */
+
+typedef struct
+{
+ b_elf_word ch_type; /* Compression algorithm */
+ b_elf_word ch_reserved; /* Reserved */
+ b_elf_xword ch_size; /* Uncompressed size */
+ b_elf_xword ch_addralign; /* Alignment for uncompressed data */
+} b_elf_chdr; /* Elf_Chdr */
+
+#endif /* BACKTRACE_ELF_SIZE != 32 */
+
+#define ELFCOMPRESS_ZLIB 1
+
+/* An index of ELF sections we care about. */
+
+enum debug_section
+{
+ DEBUG_INFO,
+ DEBUG_LINE,
+ DEBUG_ABBREV,
+ DEBUG_RANGES,
+ DEBUG_STR,
+
+ /* The old style compressed sections. This list must correspond to
+ the list of normal debug sections. */
+ ZDEBUG_INFO,
+ ZDEBUG_LINE,
+ ZDEBUG_ABBREV,
+ ZDEBUG_RANGES,
+ ZDEBUG_STR,
+
+ DEBUG_MAX
+};
+
+/* Names of sections, indexed by enum elf_section. */
+
+static const char * const debug_section_names[DEBUG_MAX] =
+{
+ ".debug_info",
+ ".debug_line",
+ ".debug_abbrev",
+ ".debug_ranges",
+ ".debug_str",
+ ".zdebug_info",
+ ".zdebug_line",
+ ".zdebug_abbrev",
+ ".zdebug_ranges",
+ ".zdebug_str"
+};
+
+/* Information we gather for the sections we care about. */
+
+struct debug_section_info
+{
+ /* Section file offset. */
+ off_t offset;
+ /* Section size. */
+ size_t size;
+ /* Section contents, after read from file. */
+ const unsigned char *data;
+ /* Whether the SHF_COMPRESSED flag is set for the section. */
+ int compressed;
+};
+
+/* Information we keep for an ELF symbol. */
+
+struct elf_symbol
+{
+ /* The name of the symbol. */
+ const char *name;
+ /* The address of the symbol. */
+ uintptr_t address;
+ /* The size of the symbol. */
+ size_t size;
+};
+
+/* Information to pass to elf_syminfo. */
+
+struct elf_syminfo_data
+{
+ /* Symbols for the next module. */
+ struct elf_syminfo_data *next;
+ /* The ELF symbols, sorted by address. */
+ struct elf_symbol *symbols;
+ /* The number of symbols. */
+ size_t count;
+};
+
+/* Information about PowerPC64 ELFv1 .opd section. */
+
+struct elf_ppc64_opd_data
+{
+ /* Address of the .opd section. */
+ b_elf_addr addr;
+ /* Section data. */
+ const char *data;
+ /* Size of the .opd section. */
+ size_t size;
+ /* Corresponding section view. */
+ struct backtrace_view view;
+};
+
+/* Compute the CRC-32 of BUF/LEN. This uses the CRC used for
+ .gnu_debuglink files. */
+
+static uint32_t
+elf_crc32 (uint32_t crc, const unsigned char *buf, size_t len)
+{
+ static const uint32_t crc32_table[256] =
+ {
+ 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
+ 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
+ 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
+ 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+ 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
+ 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+ 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
+ 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+ 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
+ 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
+ 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
+ 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+ 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
+ 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
+ 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
+ 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+ 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
+ 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+ 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
+ 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+ 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
+ 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
+ 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
+ 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+ 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
+ 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
+ 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
+ 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+ 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
+ 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+ 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
+ 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+ 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
+ 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
+ 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
+ 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+ 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
+ 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
+ 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
+ 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+ 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
+ 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+ 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
+ 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+ 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
+ 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
+ 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
+ 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+ 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
+ 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
+ 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
+ 0x2d02ef8d
+ };
+ const unsigned char *end;
+
+ crc = ~crc;
+ for (end = buf + len; buf < end; ++ buf)
+ crc = crc32_table[(crc ^ *buf) & 0xff] ^ (crc >> 8);
+ return ~crc;
+}
+
+/* Return the CRC-32 of the entire file open at DESCRIPTOR. */
+
+static uint32_t
+elf_crc32_file (struct backtrace_state *state, int descriptor,
+ backtrace_error_callback error_callback, void *data)
+{
+ struct stat st;
+ struct backtrace_view file_view;
+ uint32_t ret;
+
+ if (fstat (descriptor, &st) < 0)
+ {
+ error_callback (data, "fstat", errno);
+ return 0;
+ }
+
+ if (!backtrace_get_view (state, descriptor, 0, st.st_size, error_callback,
+ data, &file_view))
+ return 0;
+
+ ret = elf_crc32 (0, (const unsigned char *) file_view.data, st.st_size);
+
+ backtrace_release_view (state, &file_view, error_callback, data);
+
+ return ret;
+}
+
+/* A dummy callback function used when we can't find any debug info. */
+
+static int
+elf_nodebug (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t pc ATTRIBUTE_UNUSED,
+ backtrace_full_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data, "no debug info in ELF executable", -1);
+ return 0;
+}
+
+/* A dummy callback function used when we can't find a symbol
+ table. */
+
+static void
+elf_nosyms (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t addr ATTRIBUTE_UNUSED,
+ backtrace_syminfo_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data, "no symbol table in ELF executable", -1);
+}
+
+/* Compare struct elf_symbol for qsort. */
+
+static int
+elf_symbol_compare (const void *v1, const void *v2)
+{
+ const struct elf_symbol *e1 = (const struct elf_symbol *) v1;
+ const struct elf_symbol *e2 = (const struct elf_symbol *) v2;
+
+ if (e1->address < e2->address)
+ return -1;
+ else if (e1->address > e2->address)
+ return 1;
+ else
+ return 0;
+}
+
+/* Compare an ADDR against an elf_symbol for bsearch. We allocate one
+ extra entry in the array so that this can look safely at the next
+ entry. */
+
+static int
+elf_symbol_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct elf_symbol *entry = (const struct elf_symbol *) ventry;
+ uintptr_t addr;
+
+ addr = *key;
+ if (addr < entry->address)
+ return -1;
+ else if (addr >= entry->address + entry->size)
+ return 1;
+ else
+ return 0;
+}
+
+/* Initialize the symbol table info for elf_syminfo. */
+
+static int
+elf_initialize_syminfo (struct backtrace_state *state,
+ uintptr_t base_address,
+ const unsigned char *symtab_data, size_t symtab_size,
+ const unsigned char *strtab, size_t strtab_size,
+ backtrace_error_callback error_callback,
+ void *data, struct elf_syminfo_data *sdata,
+ struct elf_ppc64_opd_data *opd)
+{
+ size_t sym_count;
+ const b_elf_sym *sym;
+ size_t elf_symbol_count;
+ size_t elf_symbol_size;
+ struct elf_symbol *elf_symbols;
+ size_t i;
+ unsigned int j;
+
+ sym_count = symtab_size / sizeof (b_elf_sym);
+
+ /* We only care about function symbols. Count them. */
+ sym = (const b_elf_sym *) symtab_data;
+ elf_symbol_count = 0;
+ for (i = 0; i < sym_count; ++i, ++sym)
+ {
+ int info;
+
+ info = sym->st_info & 0xf;
+ if ((info == STT_FUNC || info == STT_OBJECT)
+ && sym->st_shndx != SHN_UNDEF)
+ ++elf_symbol_count;
+ }
+
+ elf_symbol_size = elf_symbol_count * sizeof (struct elf_symbol);
+ elf_symbols = ((struct elf_symbol *)
+ backtrace_alloc (state, elf_symbol_size, error_callback,
+ data));
+ if (elf_symbols == NULL)
+ return 0;
+
+ sym = (const b_elf_sym *) symtab_data;
+ j = 0;
+ for (i = 0; i < sym_count; ++i, ++sym)
+ {
+ int info;
+
+ info = sym->st_info & 0xf;
+ if (info != STT_FUNC && info != STT_OBJECT)
+ continue;
+ if (sym->st_shndx == SHN_UNDEF)
+ continue;
+ if (sym->st_name >= strtab_size)
+ {
+ error_callback (data, "symbol string index out of range", 0);
+ backtrace_free (state, elf_symbols, elf_symbol_size, error_callback,
+ data);
+ return 0;
+ }
+ elf_symbols[j].name = (const char *) strtab + sym->st_name;
+ /* Special case PowerPC64 ELFv1 symbols in .opd section, if the symbol
+ is a function descriptor, read the actual code address from the
+ descriptor. */
+ if (opd
+ && sym->st_value >= opd->addr
+ && sym->st_value < opd->addr + opd->size)
+ elf_symbols[j].address
+ = *(const b_elf_addr *) (opd->data + (sym->st_value - opd->addr));
+ else
+ elf_symbols[j].address = sym->st_value;
+ elf_symbols[j].address += base_address;
+ elf_symbols[j].size = sym->st_size;
+ ++j;
+ }
+
+ backtrace_qsort (elf_symbols, elf_symbol_count, sizeof (struct elf_symbol),
+ elf_symbol_compare);
+
+ sdata->next = NULL;
+ sdata->symbols = elf_symbols;
+ sdata->count = elf_symbol_count;
+
+ return 1;
+}
+
+/* Add EDATA to the list in STATE. */
+
+static void
+elf_add_syminfo_data (struct backtrace_state *state,
+ struct elf_syminfo_data *edata)
+{
+ if (!state->threaded)
+ {
+ struct elf_syminfo_data **pp;
+
+ for (pp = (struct elf_syminfo_data **) (void *) &state->syminfo_data;
+ *pp != NULL;
+ pp = &(*pp)->next)
+ ;
+ *pp = edata;
+ }
+ else
+ {
+ while (1)
+ {
+ struct elf_syminfo_data **pp;
+
+ pp = (struct elf_syminfo_data **) (void *) &state->syminfo_data;
+
+ while (1)
+ {
+ struct elf_syminfo_data *p;
+
+ p = backtrace_atomic_load_pointer (pp);
+
+ if (p == NULL)
+ break;
+
+ pp = &p->next;
+ }
+
+ if (__sync_bool_compare_and_swap (pp, NULL, edata))
+ break;
+ }
+ }
+}
+
+/* Return the symbol name and value for an ADDR. */
+
+static void
+elf_syminfo (struct backtrace_state *state, uintptr_t addr,
+ backtrace_syminfo_callback callback,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data)
+{
+ struct elf_syminfo_data *edata;
+ struct elf_symbol *sym = NULL;
+
+ if (!state->threaded)
+ {
+ for (edata = (struct elf_syminfo_data *) state->syminfo_data;
+ edata != NULL;
+ edata = edata->next)
+ {
+ sym = ((struct elf_symbol *)
+ bsearch (&addr, edata->symbols, edata->count,
+ sizeof (struct elf_symbol), elf_symbol_search));
+ if (sym != NULL)
+ break;
+ }
+ }
+ else
+ {
+ struct elf_syminfo_data **pp;
+
+ pp = (struct elf_syminfo_data **) (void *) &state->syminfo_data;
+ while (1)
+ {
+ edata = backtrace_atomic_load_pointer (pp);
+ if (edata == NULL)
+ break;
+
+ sym = ((struct elf_symbol *)
+ bsearch (&addr, edata->symbols, edata->count,
+ sizeof (struct elf_symbol), elf_symbol_search));
+ if (sym != NULL)
+ break;
+
+ pp = &edata->next;
+ }
+ }
+
+ if (sym == NULL)
+ callback (data, addr, NULL, 0, 0);
+ else
+ callback (data, addr, sym->name, sym->address, sym->size);
+}
+
+/* Return whether FILENAME is a symlink. */
+
+static int
+elf_is_symlink (const char *filename)
+{
+ struct stat st;
+
+ if (lstat (filename, &st) < 0)
+ return 0;
+ return S_ISLNK (st.st_mode);
+}
+
+/* Return the results of reading the symlink FILENAME in a buffer
+ allocated by backtrace_alloc. Return the length of the buffer in
+ *LEN. */
+
+static char *
+elf_readlink (struct backtrace_state *state, const char *filename,
+ backtrace_error_callback error_callback, void *data,
+ size_t *plen)
+{
+ size_t len;
+ char *buf;
+
+ len = 128;
+ while (1)
+ {
+ ssize_t rl;
+
+ buf = backtrace_alloc (state, len, error_callback, data);
+ if (buf == NULL)
+ return NULL;
+ rl = readlink (filename, buf, len);
+ if (rl < 0)
+ {
+ backtrace_free (state, buf, len, error_callback, data);
+ return NULL;
+ }
+ if ((size_t) rl < len - 1)
+ {
+ buf[rl] = '\0';
+ *plen = len;
+ return buf;
+ }
+ backtrace_free (state, buf, len, error_callback, data);
+ len *= 2;
+ }
+}
+
+/* Open a separate debug info file, using the build ID to find it.
+ Returns an open file descriptor, or -1.
+
+ The GDB manual says that the only place gdb looks for a debug file
+ when the build ID is known is in /usr/lib/debug/.build-id. */
+
+static int
+elf_open_debugfile_by_buildid (struct backtrace_state *state,
+ const char *buildid_data, size_t buildid_size,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ const char * const prefix = "/usr/lib/debug/.build-id/";
+ const size_t prefix_len = strlen (prefix);
+ const char * const suffix = ".debug";
+ const size_t suffix_len = strlen (suffix);
+ size_t len;
+ char *bd_filename;
+ char *t;
+ size_t i;
+ int ret;
+ int does_not_exist;
+
+ len = prefix_len + buildid_size * 2 + suffix_len + 2;
+ bd_filename = backtrace_alloc (state, len, error_callback, data);
+ if (bd_filename == NULL)
+ return -1;
+
+ t = bd_filename;
+ memcpy (t, prefix, prefix_len);
+ t += prefix_len;
+ for (i = 0; i < buildid_size; i++)
+ {
+ unsigned char b;
+ unsigned char nib;
+
+ b = (unsigned char) buildid_data[i];
+ nib = (b & 0xf0) >> 4;
+ *t++ = nib < 10 ? '0' + nib : 'a' + nib - 10;
+ nib = b & 0x0f;
+ *t++ = nib < 10 ? '0' + nib : 'a' + nib - 10;
+ if (i == 0)
+ *t++ = '/';
+ }
+ memcpy (t, suffix, suffix_len);
+ t[suffix_len] = '\0';
+
+ ret = backtrace_open (bd_filename, error_callback, data, &does_not_exist);
+
+ backtrace_free (state, bd_filename, len, error_callback, data);
+
+ /* gdb checks that the debuginfo file has the same build ID note.
+ That seems kind of pointless to me--why would it have the right
+ name but not the right build ID?--so skipping the check. */
+
+ return ret;
+}
+
+/* Try to open a file whose name is PREFIX (length PREFIX_LEN)
+ concatenated with PREFIX2 (length PREFIX2_LEN) concatenated with
+ DEBUGLINK_NAME. Returns an open file descriptor, or -1. */
+
+static int
+elf_try_debugfile (struct backtrace_state *state, const char *prefix,
+ size_t prefix_len, const char *prefix2, size_t prefix2_len,
+ const char *debuglink_name,
+ backtrace_error_callback error_callback, void *data)
+{
+ size_t debuglink_len;
+ size_t try_len;
+ char *try;
+ int does_not_exist;
+ int ret;
+
+ debuglink_len = strlen (debuglink_name);
+ try_len = prefix_len + prefix2_len + debuglink_len + 1;
+ try = backtrace_alloc (state, try_len, error_callback, data);
+ if (try == NULL)
+ return -1;
+
+ memcpy (try, prefix, prefix_len);
+ memcpy (try + prefix_len, prefix2, prefix2_len);
+ memcpy (try + prefix_len + prefix2_len, debuglink_name, debuglink_len);
+ try[prefix_len + prefix2_len + debuglink_len] = '\0';
+
+ ret = backtrace_open (try, error_callback, data, &does_not_exist);
+
+ backtrace_free (state, try, try_len, error_callback, data);
+
+ return ret;
+}
+
+/* Find a separate debug info file, using the debuglink section data
+ to find it. Returns an open file descriptor, or -1. */
+
+static int
+elf_find_debugfile_by_debuglink (struct backtrace_state *state,
+ const char *filename,
+ const char *debuglink_name,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ int ret;
+ char *alc;
+ size_t alc_len;
+ const char *slash;
+ int ddescriptor;
+ const char *prefix;
+ size_t prefix_len;
+
+ /* Resolve symlinks in FILENAME. Since FILENAME is fairly likely to
+ be /proc/self/exe, symlinks are common. We don't try to resolve
+ the whole path name, just the base name. */
+ ret = -1;
+ alc = NULL;
+ alc_len = 0;
+ while (elf_is_symlink (filename))
+ {
+ char *new_buf;
+ size_t new_len;
+
+ new_buf = elf_readlink (state, filename, error_callback, data, &new_len);
+ if (new_buf == NULL)
+ break;
+
+ if (new_buf[0] == '/')
+ filename = new_buf;
+ else
+ {
+ slash = strrchr (filename, '/');
+ if (slash == NULL)
+ filename = new_buf;
+ else
+ {
+ size_t clen;
+ char *c;
+
+ slash++;
+ clen = slash - filename + strlen (new_buf) + 1;
+ c = backtrace_alloc (state, clen, error_callback, data);
+ if (c == NULL)
+ goto done;
+
+ memcpy (c, filename, slash - filename);
+ memcpy (c + (slash - filename), new_buf, strlen (new_buf));
+ c[slash - filename + strlen (new_buf)] = '\0';
+ backtrace_free (state, new_buf, new_len, error_callback, data);
+ filename = c;
+ new_buf = c;
+ new_len = clen;
+ }
+ }
+
+ if (alc != NULL)
+ backtrace_free (state, alc, alc_len, error_callback, data);
+ alc = new_buf;
+ alc_len = new_len;
+ }
+
+ /* Look for DEBUGLINK_NAME in the same directory as FILENAME. */
+
+ slash = strrchr (filename, '/');
+ if (slash == NULL)
+ {
+ prefix = "";
+ prefix_len = 0;
+ }
+ else
+ {
+ slash++;
+ prefix = filename;
+ prefix_len = slash - filename;
+ }
+
+ ddescriptor = elf_try_debugfile (state, prefix, prefix_len, "", 0,
+ debuglink_name, error_callback, data);
+ if (ddescriptor >= 0)
+ {
+ ret = ddescriptor;
+ goto done;
+ }
+
+ /* Look for DEBUGLINK_NAME in a .debug subdirectory of FILENAME. */
+
+ ddescriptor = elf_try_debugfile (state, prefix, prefix_len, ".debug/",
+ strlen (".debug/"), debuglink_name,
+ error_callback, data);
+ if (ddescriptor >= 0)
+ {
+ ret = ddescriptor;
+ goto done;
+ }
+
+ /* Look for DEBUGLINK_NAME in /usr/lib/debug. */
+
+ ddescriptor = elf_try_debugfile (state, "/usr/lib/debug/",
+ strlen ("/usr/lib/debug/"), prefix,
+ prefix_len, debuglink_name,
+ error_callback, data);
+ if (ddescriptor >= 0)
+ ret = ddescriptor;
+
+ done:
+ if (alc != NULL && alc_len > 0)
+ backtrace_free (state, alc, alc_len, error_callback, data);
+ return ret;
+}
+
+/* Open a separate debug info file, using the debuglink section data
+ to find it. Returns an open file descriptor, or -1. */
+
+static int
+elf_open_debugfile_by_debuglink (struct backtrace_state *state,
+ const char *filename,
+ const char *debuglink_name,
+ uint32_t debuglink_crc,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ int ddescriptor;
+
+ ddescriptor = elf_find_debugfile_by_debuglink (state, filename,
+ debuglink_name,
+ error_callback, data);
+ if (ddescriptor < 0)
+ return -1;
+
+ if (debuglink_crc != 0)
+ {
+ uint32_t got_crc;
+
+ got_crc = elf_crc32_file (state, ddescriptor, error_callback, data);
+ if (got_crc != debuglink_crc)
+ {
+ backtrace_close (ddescriptor, error_callback, data);
+ return -1;
+ }
+ }
+
+ return ddescriptor;
+}
+
+/* A function useful for setting a breakpoint for an inflation failure
+ when this code is compiled with -g. */
+
+static void
+elf_zlib_failed(void)
+{
+}
+
+/* *PVAL is the current value being read from the stream, and *PBITS
+ is the number of valid bits. Ensure that *PVAL holds at least 15
+ bits by reading additional bits from *PPIN, up to PINEND, as
+ needed. Updates *PPIN, *PVAL and *PBITS. Returns 1 on success, 0
+ on error. */
+
+static int
+elf_zlib_fetch (const unsigned char **ppin, const unsigned char *pinend,
+ uint64_t *pval, unsigned int *pbits)
+{
+ unsigned int bits;
+ const unsigned char *pin;
+ uint64_t val;
+ uint32_t next;
+
+ bits = *pbits;
+ if (bits >= 15)
+ return 1;
+ pin = *ppin;
+ val = *pval;
+
+ if (unlikely (pinend - pin < 4))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+#if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) \
+ && defined(__ORDER_BIG_ENDIAN__) \
+ && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ \
+ || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+ /* We've ensured that PIN is aligned. */
+ next = *(const uint32_t *)pin;
+
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ next = __builtin_bswap32 (next);
+#endif
+#else
+ next = pin[0] | (pin[1] << 8) | (pin[2] << 16) | (pin[3] << 24);
+#endif
+
+ val |= (uint64_t)next << bits;
+ bits += 32;
+ pin += 4;
+
+ /* We will need the next four bytes soon. */
+ __builtin_prefetch (pin, 0, 0);
+
+ *ppin = pin;
+ *pval = val;
+ *pbits = bits;
+ return 1;
+}
+
+/* Huffman code tables, like the rest of the zlib format, are defined
+ by RFC 1951. We store a Huffman code table as a series of tables
+ stored sequentially in memory. Each entry in a table is 16 bits.
+ The first, main, table has 256 entries. It is followed by a set of
+ secondary tables of length 2 to 128 entries. The maximum length of
+ a code sequence in the deflate format is 15 bits, so that is all we
+ need. Each secondary table has an index, which is the offset of
+ the table in the overall memory storage.
+
+ The deflate format says that all codes of a given bit length are
+ lexicographically consecutive. Perhaps we could have 130 values
+ that require a 15-bit code, perhaps requiring three secondary
+ tables of size 128. I don't know if this is actually possible, but
+ it suggests that the maximum size required for secondary tables is
+ 3 * 128 + 3 * 64 ... == 768. The zlib enough program reports 660
+ as the maximum. We permit 768, since in addition to the 256 for
+ the primary table, with two bytes per entry, and with the two
+ tables we need, that gives us a page.
+
+ A single table entry needs to store a value or (for the main table
+ only) the index and size of a secondary table. Values range from 0
+ to 285, inclusive. Secondary table indexes, per above, range from
+ 0 to 510. For a value we need to store the number of bits we need
+ to determine that value (one value may appear multiple times in the
+ table), which is 1 to 8. For a secondary table we need to store
+ the number of bits used to index into the table, which is 1 to 7.
+ And of course we need 1 bit to decide whether we have a value or a
+ secondary table index. So each entry needs 9 bits for value/table
+ index, 3 bits for size, 1 bit what it is. For simplicity we use 16
+ bits per entry. */
+
+/* Number of entries we allocate to for one code table. We get a page
+ for the two code tables we need. */
+
+#define HUFFMAN_TABLE_SIZE (1024)
+
+/* Bit masks and shifts for the values in the table. */
+
+#define HUFFMAN_VALUE_MASK 0x01ff
+#define HUFFMAN_BITS_SHIFT 9
+#define HUFFMAN_BITS_MASK 0x7
+#define HUFFMAN_SECONDARY_SHIFT 12
+
+/* For working memory while inflating we need two code tables, we need
+ an array of code lengths (max value 15, so we use unsigned char),
+ and an array of unsigned shorts used while building a table. The
+ latter two arrays must be large enough to hold the maximum number
+ of code lengths, which RFC 1951 defines as 286 + 30. */
+
+#define ZDEBUG_TABLE_SIZE \
+ (2 * HUFFMAN_TABLE_SIZE * sizeof (uint16_t) \
+ + (286 + 30) * sizeof (uint16_t) \
+ + (286 + 30) * sizeof (unsigned char))
+
+#define ZDEBUG_TABLE_CODELEN_OFFSET \
+ (2 * HUFFMAN_TABLE_SIZE * sizeof (uint16_t) \
+ + (286 + 30) * sizeof (uint16_t))
+
+#define ZDEBUG_TABLE_WORK_OFFSET \
+ (2 * HUFFMAN_TABLE_SIZE * sizeof (uint16_t))
+
+#ifdef BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE
+
+/* Used by the main function that generates the fixed table to learn
+ the table size. */
+static size_t final_next_secondary;
+
+#endif
+
+/* Build a Huffman code table from an array of lengths in CODES of
+ length CODES_LEN. The table is stored into *TABLE. ZDEBUG_TABLE
+ is the same as for elf_zlib_inflate, used to find some work space.
+ Returns 1 on success, 0 on error. */
+
+static int
+elf_zlib_inflate_table (unsigned char *codes, size_t codes_len,
+ uint16_t *zdebug_table, uint16_t *table)
+{
+ uint16_t count[16];
+ uint16_t start[16];
+ uint16_t prev[16];
+ uint16_t firstcode[7];
+ uint16_t *next;
+ size_t i;
+ size_t j;
+ unsigned int code;
+ size_t next_secondary;
+
+ /* Count the number of code of each length. Set NEXT[val] to be the
+ next value after VAL with the same bit length. */
+
+ next = (uint16_t *) (((unsigned char *) zdebug_table)
+ + ZDEBUG_TABLE_WORK_OFFSET);
+
+ memset (&count[0], 0, 16 * sizeof (uint16_t));
+ for (i = 0; i < codes_len; ++i)
+ {
+ if (unlikely (codes[i] >= 16))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ if (count[codes[i]] == 0)
+ {
+ start[codes[i]] = i;
+ prev[codes[i]] = i;
+ }
+ else
+ {
+ next[prev[codes[i]]] = i;
+ prev[codes[i]] = i;
+ }
+
+ ++count[codes[i]];
+ }
+
+ /* For each length, fill in the table for the codes of that
+ length. */
+
+ memset (table, 0, HUFFMAN_TABLE_SIZE * sizeof (uint16_t));
+
+ /* Handle the values that do not require a secondary table. */
+
+ code = 0;
+ for (j = 1; j <= 8; ++j)
+ {
+ unsigned int jcnt;
+ unsigned int val;
+
+ jcnt = count[j];
+ if (jcnt == 0)
+ continue;
+
+ if (unlikely (jcnt > (1U << j)))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ /* There are JCNT values that have this length, the values
+ starting from START[j] continuing through NEXT[VAL]. Those
+ values are assigned consecutive values starting at CODE. */
+
+ val = start[j];
+ for (i = 0; i < jcnt; ++i)
+ {
+ uint16_t tval;
+ size_t ind;
+ unsigned int incr;
+
+ /* In the compressed bit stream, the value VAL is encoded as
+ J bits with the value C. */
+
+ if (unlikely ((val & ~HUFFMAN_VALUE_MASK) != 0))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ tval = val | ((j - 1) << HUFFMAN_BITS_SHIFT);
+
+ /* The table lookup uses 8 bits. If J is less than 8, we
+ don't know what the other bits will be. We need to fill
+ in all possibilities in the table. Since the Huffman
+ code is unambiguous, those entries can't be used for any
+ other code. */
+
+ for (ind = code; ind < 0x100; ind += 1 << j)
+ {
+ if (unlikely (table[ind] != 0))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+ table[ind] = tval;
+ }
+
+ /* Advance to the next value with this length. */
+ if (i + 1 < jcnt)
+ val = next[val];
+
+ /* The Huffman codes are stored in the bitstream with the
+ most significant bit first, as is required to make them
+ unambiguous. The effect is that when we read them from
+ the bitstream we see the bit sequence in reverse order:
+ the most significant bit of the Huffman code is the least
+ significant bit of the value we read from the bitstream.
+ That means that to make our table lookups work, we need
+ to reverse the bits of CODE. Since reversing bits is
+ tedious and in general requires using a table, we instead
+ increment CODE in reverse order. That is, if the number
+ of bits we are currently using, here named J, is 3, we
+ count as 000, 100, 010, 110, 001, 101, 011, 111, which is
+ to say the numbers from 0 to 7 but with the bits
+ reversed. Going to more bits, aka incrementing J,
+ effectively just adds more zero bits as the beginning,
+ and as such does not change the numeric value of CODE.
+
+ To increment CODE of length J in reverse order, find the
+ most significant zero bit and set it to one while
+ clearing all higher bits. In other words, add 1 modulo
+ 2^J, only reversed. */
+
+ incr = 1U << (j - 1);
+ while ((code & incr) != 0)
+ incr >>= 1;
+ if (incr == 0)
+ code = 0;
+ else
+ {
+ code &= incr - 1;
+ code += incr;
+ }
+ }
+ }
+
+ /* Handle the values that require a secondary table. */
+
+ /* Set FIRSTCODE, the number at which the codes start, for each
+ length. */
+
+ for (j = 9; j < 16; j++)
+ {
+ unsigned int jcnt;
+ unsigned int k;
+
+ jcnt = count[j];
+ if (jcnt == 0)
+ continue;
+
+ /* There are JCNT values that have this length, the values
+ starting from START[j]. Those values are assigned
+ consecutive values starting at CODE. */
+
+ firstcode[j - 9] = code;
+
+ /* Reverse add JCNT to CODE modulo 2^J. */
+ for (k = 0; k < j; ++k)
+ {
+ if ((jcnt & (1U << k)) != 0)
+ {
+ unsigned int m;
+ unsigned int bit;
+
+ bit = 1U << (j - k - 1);
+ for (m = 0; m < j - k; ++m, bit >>= 1)
+ {
+ if ((code & bit) == 0)
+ {
+ code += bit;
+ break;
+ }
+ code &= ~bit;
+ }
+ jcnt &= ~(1U << k);
+ }
+ }
+ if (unlikely (jcnt != 0))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+ }
+
+ /* For J from 9 to 15, inclusive, we store COUNT[J] consecutive
+ values starting at START[J] with consecutive codes starting at
+ FIRSTCODE[J - 9]. In the primary table we need to point to the
+ secondary table, and the secondary table will be indexed by J - 9
+ bits. We count down from 15 so that we install the larger
+ secondary tables first, as the smaller ones may be embedded in
+ the larger ones. */
+
+ next_secondary = 0; /* Index of next secondary table (after primary). */
+ for (j = 15; j >= 9; j--)
+ {
+ unsigned int jcnt;
+ unsigned int val;
+ size_t primary; /* Current primary index. */
+ size_t secondary; /* Offset to current secondary table. */
+ size_t secondary_bits; /* Bit size of current secondary table. */
+
+ jcnt = count[j];
+ if (jcnt == 0)
+ continue;
+
+ val = start[j];
+ code = firstcode[j - 9];
+ primary = 0x100;
+ secondary = 0;
+ secondary_bits = 0;
+ for (i = 0; i < jcnt; ++i)
+ {
+ uint16_t tval;
+ size_t ind;
+ unsigned int incr;
+
+ if ((code & 0xff) != primary)
+ {
+ uint16_t tprimary;
+
+ /* Fill in a new primary table entry. */
+
+ primary = code & 0xff;
+
+ tprimary = table[primary];
+ if (tprimary == 0)
+ {
+ /* Start a new secondary table. */
+
+ if (unlikely ((next_secondary & HUFFMAN_VALUE_MASK)
+ != next_secondary))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ secondary = next_secondary;
+ secondary_bits = j - 8;
+ next_secondary += 1 << secondary_bits;
+ table[primary] = (secondary
+ + ((j - 8) << HUFFMAN_BITS_SHIFT)
+ + (1U << HUFFMAN_SECONDARY_SHIFT));
+ }
+ else
+ {
+ /* There is an existing entry. It had better be a
+ secondary table with enough bits. */
+ if (unlikely ((tprimary & (1U << HUFFMAN_SECONDARY_SHIFT))
+ == 0))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+ secondary = tprimary & HUFFMAN_VALUE_MASK;
+ secondary_bits = ((tprimary >> HUFFMAN_BITS_SHIFT)
+ & HUFFMAN_BITS_MASK);
+ if (unlikely (secondary_bits < j - 8))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+ }
+ }
+
+ /* Fill in secondary table entries. */
+
+ tval = val | ((j - 8) << HUFFMAN_BITS_SHIFT);
+
+ for (ind = code >> 8;
+ ind < (1U << secondary_bits);
+ ind += 1U << (j - 8))
+ {
+ if (unlikely (table[secondary + 0x100 + ind] != 0))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+ table[secondary + 0x100 + ind] = tval;
+ }
+
+ if (i + 1 < jcnt)
+ val = next[val];
+
+ incr = 1U << (j - 1);
+ while ((code & incr) != 0)
+ incr >>= 1;
+ if (incr == 0)
+ code = 0;
+ else
+ {
+ code &= incr - 1;
+ code += incr;
+ }
+ }
+ }
+
+#ifdef BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE
+ final_next_secondary = next_secondary;
+#endif
+
+ return 1;
+}
+
+#ifdef BACKTRACE_GENERATE_FIXED_HUFFMAN_TABLE
+
+/* Used to generate the fixed Huffman table for block type 1. */
+
+#include <stdio.h>
+
+static uint16_t table[ZDEBUG_TABLE_SIZE];
+static unsigned char codes[288];
+
+int
+main ()
+{
+ size_t i;
+
+ for (i = 0; i <= 143; ++i)
+ codes[i] = 8;
+ for (i = 144; i <= 255; ++i)
+ codes[i] = 9;
+ for (i = 256; i <= 279; ++i)
+ codes[i] = 7;
+ for (i = 280; i <= 287; ++i)
+ codes[i] = 8;
+ if (!elf_zlib_inflate_table (&codes[0], 288, &table[0], &table[0]))
+ {
+ fprintf (stderr, "elf_zlib_inflate_table failed\n");
+ exit (EXIT_FAILURE);
+ }
+
+ printf ("static const uint16_t elf_zlib_default_table[%#zx] =\n",
+ final_next_secondary + 0x100);
+ printf ("{\n");
+ for (i = 0; i < final_next_secondary + 0x100; i += 8)
+ {
+ size_t j;
+
+ printf (" ");
+ for (j = i; j < final_next_secondary + 0x100 && j < i + 8; ++j)
+ printf (" %#x,", table[j]);
+ printf ("\n");
+ }
+ printf ("};\n");
+ printf ("\n");
+
+ for (i = 0; i < 32; ++i)
+ codes[i] = 5;
+ if (!elf_zlib_inflate_table (&codes[0], 32, &table[0], &table[0]))
+ {
+ fprintf (stderr, "elf_zlib_inflate_table failed\n");
+ exit (EXIT_FAILURE);
+ }
+
+ printf ("static const uint16_t elf_zlib_default_dist_table[%#zx] =\n",
+ final_next_secondary + 0x100);
+ printf ("{\n");
+ for (i = 0; i < final_next_secondary + 0x100; i += 8)
+ {
+ size_t j;
+
+ printf (" ");
+ for (j = i; j < final_next_secondary + 0x100 && j < i + 8; ++j)
+ printf (" %#x,", table[j]);
+ printf ("\n");
+ }
+ printf ("};\n");
+
+ return 0;
+}
+
+#endif
+
+/* The fixed tables generated by the #ifdef'ed out main function
+ above. */
+
+static const uint16_t elf_zlib_default_table[0x170] =
+{
+ 0xd00, 0xe50, 0xe10, 0xf18, 0xd10, 0xe70, 0xe30, 0x1230,
+ 0xd08, 0xe60, 0xe20, 0x1210, 0xe00, 0xe80, 0xe40, 0x1250,
+ 0xd04, 0xe58, 0xe18, 0x1200, 0xd14, 0xe78, 0xe38, 0x1240,
+ 0xd0c, 0xe68, 0xe28, 0x1220, 0xe08, 0xe88, 0xe48, 0x1260,
+ 0xd02, 0xe54, 0xe14, 0xf1c, 0xd12, 0xe74, 0xe34, 0x1238,
+ 0xd0a, 0xe64, 0xe24, 0x1218, 0xe04, 0xe84, 0xe44, 0x1258,
+ 0xd06, 0xe5c, 0xe1c, 0x1208, 0xd16, 0xe7c, 0xe3c, 0x1248,
+ 0xd0e, 0xe6c, 0xe2c, 0x1228, 0xe0c, 0xe8c, 0xe4c, 0x1268,
+ 0xd01, 0xe52, 0xe12, 0xf1a, 0xd11, 0xe72, 0xe32, 0x1234,
+ 0xd09, 0xe62, 0xe22, 0x1214, 0xe02, 0xe82, 0xe42, 0x1254,
+ 0xd05, 0xe5a, 0xe1a, 0x1204, 0xd15, 0xe7a, 0xe3a, 0x1244,
+ 0xd0d, 0xe6a, 0xe2a, 0x1224, 0xe0a, 0xe8a, 0xe4a, 0x1264,
+ 0xd03, 0xe56, 0xe16, 0xf1e, 0xd13, 0xe76, 0xe36, 0x123c,
+ 0xd0b, 0xe66, 0xe26, 0x121c, 0xe06, 0xe86, 0xe46, 0x125c,
+ 0xd07, 0xe5e, 0xe1e, 0x120c, 0xd17, 0xe7e, 0xe3e, 0x124c,
+ 0xd0f, 0xe6e, 0xe2e, 0x122c, 0xe0e, 0xe8e, 0xe4e, 0x126c,
+ 0xd00, 0xe51, 0xe11, 0xf19, 0xd10, 0xe71, 0xe31, 0x1232,
+ 0xd08, 0xe61, 0xe21, 0x1212, 0xe01, 0xe81, 0xe41, 0x1252,
+ 0xd04, 0xe59, 0xe19, 0x1202, 0xd14, 0xe79, 0xe39, 0x1242,
+ 0xd0c, 0xe69, 0xe29, 0x1222, 0xe09, 0xe89, 0xe49, 0x1262,
+ 0xd02, 0xe55, 0xe15, 0xf1d, 0xd12, 0xe75, 0xe35, 0x123a,
+ 0xd0a, 0xe65, 0xe25, 0x121a, 0xe05, 0xe85, 0xe45, 0x125a,
+ 0xd06, 0xe5d, 0xe1d, 0x120a, 0xd16, 0xe7d, 0xe3d, 0x124a,
+ 0xd0e, 0xe6d, 0xe2d, 0x122a, 0xe0d, 0xe8d, 0xe4d, 0x126a,
+ 0xd01, 0xe53, 0xe13, 0xf1b, 0xd11, 0xe73, 0xe33, 0x1236,
+ 0xd09, 0xe63, 0xe23, 0x1216, 0xe03, 0xe83, 0xe43, 0x1256,
+ 0xd05, 0xe5b, 0xe1b, 0x1206, 0xd15, 0xe7b, 0xe3b, 0x1246,
+ 0xd0d, 0xe6b, 0xe2b, 0x1226, 0xe0b, 0xe8b, 0xe4b, 0x1266,
+ 0xd03, 0xe57, 0xe17, 0xf1f, 0xd13, 0xe77, 0xe37, 0x123e,
+ 0xd0b, 0xe67, 0xe27, 0x121e, 0xe07, 0xe87, 0xe47, 0x125e,
+ 0xd07, 0xe5f, 0xe1f, 0x120e, 0xd17, 0xe7f, 0xe3f, 0x124e,
+ 0xd0f, 0xe6f, 0xe2f, 0x122e, 0xe0f, 0xe8f, 0xe4f, 0x126e,
+ 0x290, 0x291, 0x292, 0x293, 0x294, 0x295, 0x296, 0x297,
+ 0x298, 0x299, 0x29a, 0x29b, 0x29c, 0x29d, 0x29e, 0x29f,
+ 0x2a0, 0x2a1, 0x2a2, 0x2a3, 0x2a4, 0x2a5, 0x2a6, 0x2a7,
+ 0x2a8, 0x2a9, 0x2aa, 0x2ab, 0x2ac, 0x2ad, 0x2ae, 0x2af,
+ 0x2b0, 0x2b1, 0x2b2, 0x2b3, 0x2b4, 0x2b5, 0x2b6, 0x2b7,
+ 0x2b8, 0x2b9, 0x2ba, 0x2bb, 0x2bc, 0x2bd, 0x2be, 0x2bf,
+ 0x2c0, 0x2c1, 0x2c2, 0x2c3, 0x2c4, 0x2c5, 0x2c6, 0x2c7,
+ 0x2c8, 0x2c9, 0x2ca, 0x2cb, 0x2cc, 0x2cd, 0x2ce, 0x2cf,
+ 0x2d0, 0x2d1, 0x2d2, 0x2d3, 0x2d4, 0x2d5, 0x2d6, 0x2d7,
+ 0x2d8, 0x2d9, 0x2da, 0x2db, 0x2dc, 0x2dd, 0x2de, 0x2df,
+ 0x2e0, 0x2e1, 0x2e2, 0x2e3, 0x2e4, 0x2e5, 0x2e6, 0x2e7,
+ 0x2e8, 0x2e9, 0x2ea, 0x2eb, 0x2ec, 0x2ed, 0x2ee, 0x2ef,
+ 0x2f0, 0x2f1, 0x2f2, 0x2f3, 0x2f4, 0x2f5, 0x2f6, 0x2f7,
+ 0x2f8, 0x2f9, 0x2fa, 0x2fb, 0x2fc, 0x2fd, 0x2fe, 0x2ff,
+};
+
+static const uint16_t elf_zlib_default_dist_table[0x100] =
+{
+ 0x800, 0x810, 0x808, 0x818, 0x804, 0x814, 0x80c, 0x81c,
+ 0x802, 0x812, 0x80a, 0x81a, 0x806, 0x816, 0x80e, 0x81e,
+ 0x801, 0x811, 0x809, 0x819, 0x805, 0x815, 0x80d, 0x81d,
+ 0x803, 0x813, 0x80b, 0x81b, 0x807, 0x817, 0x80f, 0x81f,
+ 0x800, 0x810, 0x808, 0x818, 0x804, 0x814, 0x80c, 0x81c,
+ 0x802, 0x812, 0x80a, 0x81a, 0x806, 0x816, 0x80e, 0x81e,
+ 0x801, 0x811, 0x809, 0x819, 0x805, 0x815, 0x80d, 0x81d,
+ 0x803, 0x813, 0x80b, 0x81b, 0x807, 0x817, 0x80f, 0x81f,
+ 0x800, 0x810, 0x808, 0x818, 0x804, 0x814, 0x80c, 0x81c,
+ 0x802, 0x812, 0x80a, 0x81a, 0x806, 0x816, 0x80e, 0x81e,
+ 0x801, 0x811, 0x809, 0x819, 0x805, 0x815, 0x80d, 0x81d,
+ 0x803, 0x813, 0x80b, 0x81b, 0x807, 0x817, 0x80f, 0x81f,
+ 0x800, 0x810, 0x808, 0x818, 0x804, 0x814, 0x80c, 0x81c,
+ 0x802, 0x812, 0x80a, 0x81a, 0x806, 0x816, 0x80e, 0x81e,
+ 0x801, 0x811, 0x809, 0x819, 0x805, 0x815, 0x80d, 0x81d,
+ 0x803, 0x813, 0x80b, 0x81b, 0x807, 0x817, 0x80f, 0x81f,
+ 0x800, 0x810, 0x808, 0x818, 0x804, 0x814, 0x80c, 0x81c,
+ 0x802, 0x812, 0x80a, 0x81a, 0x806, 0x816, 0x80e, 0x81e,
+ 0x801, 0x811, 0x809, 0x819, 0x805, 0x815, 0x80d, 0x81d,
+ 0x803, 0x813, 0x80b, 0x81b, 0x807, 0x817, 0x80f, 0x81f,
+ 0x800, 0x810, 0x808, 0x818, 0x804, 0x814, 0x80c, 0x81c,
+ 0x802, 0x812, 0x80a, 0x81a, 0x806, 0x816, 0x80e, 0x81e,
+ 0x801, 0x811, 0x809, 0x819, 0x805, 0x815, 0x80d, 0x81d,
+ 0x803, 0x813, 0x80b, 0x81b, 0x807, 0x817, 0x80f, 0x81f,
+ 0x800, 0x810, 0x808, 0x818, 0x804, 0x814, 0x80c, 0x81c,
+ 0x802, 0x812, 0x80a, 0x81a, 0x806, 0x816, 0x80e, 0x81e,
+ 0x801, 0x811, 0x809, 0x819, 0x805, 0x815, 0x80d, 0x81d,
+ 0x803, 0x813, 0x80b, 0x81b, 0x807, 0x817, 0x80f, 0x81f,
+ 0x800, 0x810, 0x808, 0x818, 0x804, 0x814, 0x80c, 0x81c,
+ 0x802, 0x812, 0x80a, 0x81a, 0x806, 0x816, 0x80e, 0x81e,
+ 0x801, 0x811, 0x809, 0x819, 0x805, 0x815, 0x80d, 0x81d,
+ 0x803, 0x813, 0x80b, 0x81b, 0x807, 0x817, 0x80f, 0x81f,
+};
+
+/* Inflate a zlib stream from PIN/SIN to POUT/SOUT. Return 1 on
+ success, 0 on some error parsing the stream. */
+
+static int
+elf_zlib_inflate (const unsigned char *pin, size_t sin, uint16_t *zdebug_table,
+ unsigned char *pout, size_t sout)
+{
+ unsigned char *porigout;
+ const unsigned char *pinend;
+ unsigned char *poutend;
+
+ /* We can apparently see multiple zlib streams concatenated
+ together, so keep going as long as there is something to read.
+ The last 4 bytes are the checksum. */
+ porigout = pout;
+ pinend = pin + sin;
+ poutend = pout + sout;
+ while ((pinend - pin) > 4)
+ {
+ uint64_t val;
+ unsigned int bits;
+ int last;
+
+ /* Read the two byte zlib header. */
+
+ if (unlikely ((pin[0] & 0xf) != 8)) /* 8 is zlib encoding. */
+ {
+ /* Unknown compression method. */
+ elf_zlib_failed ();
+ return 0;
+ }
+ if (unlikely ((pin[0] >> 4) > 7))
+ {
+ /* Window size too large. Other than this check, we don't
+ care about the window size. */
+ elf_zlib_failed ();
+ return 0;
+ }
+ if (unlikely ((pin[1] & 0x20) != 0))
+ {
+ /* Stream expects a predefined dictionary, but we have no
+ dictionary. */
+ elf_zlib_failed ();
+ return 0;
+ }
+ val = (pin[0] << 8) | pin[1];
+ if (unlikely (val % 31 != 0))
+ {
+ /* Header check failure. */
+ elf_zlib_failed ();
+ return 0;
+ }
+ pin += 2;
+
+ /* Align PIN to a 32-bit boundary. */
+
+ val = 0;
+ bits = 0;
+ while ((((uintptr_t) pin) & 3) != 0)
+ {
+ val |= (uint64_t)*pin << bits;
+ bits += 8;
+ ++pin;
+ }
+
+ /* Read blocks until one is marked last. */
+
+ last = 0;
+
+ while (!last)
+ {
+ unsigned int type;
+ const uint16_t *tlit;
+ const uint16_t *tdist;
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ last = val & 1;
+ type = (val >> 1) & 3;
+ val >>= 3;
+ bits -= 3;
+
+ if (unlikely (type == 3))
+ {
+ /* Invalid block type. */
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ if (type == 0)
+ {
+ uint16_t len;
+ uint16_t lenc;
+
+ /* An uncompressed block. */
+
+ /* If we've read ahead more than a byte, back up. */
+ while (bits > 8)
+ {
+ --pin;
+ bits -= 8;
+ }
+
+ val = 0;
+ bits = 0;
+ if (unlikely ((pinend - pin) < 4))
+ {
+ /* Missing length. */
+ elf_zlib_failed ();
+ return 0;
+ }
+ len = pin[0] | (pin[1] << 8);
+ lenc = pin[2] | (pin[3] << 8);
+ pin += 4;
+ lenc = ~lenc;
+ if (unlikely (len != lenc))
+ {
+ /* Corrupt data. */
+ elf_zlib_failed ();
+ return 0;
+ }
+ if (unlikely (len > (unsigned int) (pinend - pin)
+ || len > (unsigned int) (poutend - pout)))
+ {
+ /* Not enough space in buffers. */
+ elf_zlib_failed ();
+ return 0;
+ }
+ memcpy (pout, pin, len);
+ pout += len;
+ pin += len;
+
+ /* Align PIN. */
+ while ((((uintptr_t) pin) & 3) != 0)
+ {
+ val |= (uint64_t)*pin << bits;
+ bits += 8;
+ ++pin;
+ }
+
+ /* Go around to read the next block. */
+ continue;
+ }
+
+ if (type == 1)
+ {
+ tlit = elf_zlib_default_table;
+ tdist = elf_zlib_default_dist_table;
+ }
+ else
+ {
+ unsigned int nlit;
+ unsigned int ndist;
+ unsigned int nclen;
+ unsigned char codebits[19];
+ unsigned char *plenbase;
+ unsigned char *plen;
+ unsigned char *plenend;
+
+ /* Read a Huffman encoding table. The various magic
+ numbers here are from RFC 1951. */
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ nlit = (val & 0x1f) + 257;
+ val >>= 5;
+ ndist = (val & 0x1f) + 1;
+ val >>= 5;
+ nclen = (val & 0xf) + 4;
+ val >>= 4;
+ bits -= 14;
+ if (unlikely (nlit > 286 || ndist > 30))
+ {
+ /* Values out of range. */
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ /* Read and build the table used to compress the
+ literal, length, and distance codes. */
+
+ memset(&codebits[0], 0, 19);
+
+ /* There are always at least 4 elements in the
+ table. */
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ codebits[16] = val & 7;
+ codebits[17] = (val >> 3) & 7;
+ codebits[18] = (val >> 6) & 7;
+ codebits[0] = (val >> 9) & 7;
+ val >>= 12;
+ bits -= 12;
+
+ if (nclen == 4)
+ goto codebitsdone;
+
+ codebits[8] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 5)
+ goto codebitsdone;
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ codebits[7] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 6)
+ goto codebitsdone;
+
+ codebits[9] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 7)
+ goto codebitsdone;
+
+ codebits[6] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 8)
+ goto codebitsdone;
+
+ codebits[10] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 9)
+ goto codebitsdone;
+
+ codebits[5] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 10)
+ goto codebitsdone;
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ codebits[11] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 11)
+ goto codebitsdone;
+
+ codebits[4] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 12)
+ goto codebitsdone;
+
+ codebits[12] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 13)
+ goto codebitsdone;
+
+ codebits[3] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 14)
+ goto codebitsdone;
+
+ codebits[13] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 15)
+ goto codebitsdone;
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ codebits[2] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 16)
+ goto codebitsdone;
+
+ codebits[14] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 17)
+ goto codebitsdone;
+
+ codebits[1] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ if (nclen == 18)
+ goto codebitsdone;
+
+ codebits[15] = val & 7;
+ val >>= 3;
+ bits -= 3;
+
+ codebitsdone:
+
+ if (!elf_zlib_inflate_table (codebits, 19, zdebug_table,
+ zdebug_table))
+ return 0;
+
+ /* Read the compressed bit lengths of the literal,
+ length, and distance codes. We have allocated space
+ at the end of zdebug_table to hold them. */
+
+ plenbase = (((unsigned char *) zdebug_table)
+ + ZDEBUG_TABLE_CODELEN_OFFSET);
+ plen = plenbase;
+ plenend = plen + nlit + ndist;
+ while (plen < plenend)
+ {
+ uint16_t t;
+ unsigned int b;
+ uint16_t v;
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ t = zdebug_table[val & 0xff];
+
+ /* The compression here uses bit lengths up to 7, so
+ a secondary table is never necessary. */
+ if (unlikely ((t & (1U << HUFFMAN_SECONDARY_SHIFT)) != 0))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ b = (t >> HUFFMAN_BITS_SHIFT) & HUFFMAN_BITS_MASK;
+ val >>= b + 1;
+ bits -= b + 1;
+
+ v = t & HUFFMAN_VALUE_MASK;
+ if (v < 16)
+ *plen++ = v;
+ else if (v == 16)
+ {
+ unsigned int c;
+ unsigned int prev;
+
+ /* Copy previous entry 3 to 6 times. */
+
+ if (unlikely (plen == plenbase))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ /* We used up to 7 bits since the last
+ elf_zlib_fetch, so we have at least 8 bits
+ available here. */
+
+ c = 3 + (val & 0x3);
+ val >>= 2;
+ bits -= 2;
+ if (unlikely ((unsigned int) (plenend - plen) < c))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ prev = plen[-1];
+ switch (c)
+ {
+ case 6:
+ *plen++ = prev;
+ /* fallthrough */
+ case 5:
+ *plen++ = prev;
+ /* fallthrough */
+ case 4:
+ *plen++ = prev;
+ }
+ *plen++ = prev;
+ *plen++ = prev;
+ *plen++ = prev;
+ }
+ else if (v == 17)
+ {
+ unsigned int c;
+
+ /* Store zero 3 to 10 times. */
+
+ /* We used up to 7 bits since the last
+ elf_zlib_fetch, so we have at least 8 bits
+ available here. */
+
+ c = 3 + (val & 0x7);
+ val >>= 3;
+ bits -= 3;
+ if (unlikely ((unsigned int) (plenend - plen) < c))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ switch (c)
+ {
+ case 10:
+ *plen++ = 0;
+ /* fallthrough */
+ case 9:
+ *plen++ = 0;
+ /* fallthrough */
+ case 8:
+ *plen++ = 0;
+ /* fallthrough */
+ case 7:
+ *plen++ = 0;
+ /* fallthrough */
+ case 6:
+ *plen++ = 0;
+ /* fallthrough */
+ case 5:
+ *plen++ = 0;
+ /* fallthrough */
+ case 4:
+ *plen++ = 0;
+ }
+ *plen++ = 0;
+ *plen++ = 0;
+ *plen++ = 0;
+ }
+ else if (v == 18)
+ {
+ unsigned int c;
+
+ /* Store zero 11 to 138 times. */
+
+ /* We used up to 7 bits since the last
+ elf_zlib_fetch, so we have at least 8 bits
+ available here. */
+
+ c = 11 + (val & 0x7f);
+ val >>= 7;
+ bits -= 7;
+ if (unlikely ((unsigned int) (plenend - plen) < c))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ memset (plen, 0, c);
+ plen += c;
+ }
+ else
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+ }
+
+ /* Make sure that the stop code can appear. */
+
+ plen = plenbase;
+ if (unlikely (plen[256] == 0))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ /* Build the decompression tables. */
+
+ if (!elf_zlib_inflate_table (plen, nlit, zdebug_table,
+ zdebug_table))
+ return 0;
+ if (!elf_zlib_inflate_table (plen + nlit, ndist, zdebug_table,
+ zdebug_table + HUFFMAN_TABLE_SIZE))
+ return 0;
+ tlit = zdebug_table;
+ tdist = zdebug_table + HUFFMAN_TABLE_SIZE;
+ }
+
+ /* Inflate values until the end of the block. This is the
+ main loop of the inflation code. */
+
+ while (1)
+ {
+ uint16_t t;
+ unsigned int b;
+ uint16_t v;
+ unsigned int lit;
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ t = tlit[val & 0xff];
+ b = (t >> HUFFMAN_BITS_SHIFT) & HUFFMAN_BITS_MASK;
+ v = t & HUFFMAN_VALUE_MASK;
+
+ if ((t & (1U << HUFFMAN_SECONDARY_SHIFT)) == 0)
+ {
+ lit = v;
+ val >>= b + 1;
+ bits -= b + 1;
+ }
+ else
+ {
+ t = tlit[v + 0x100 + ((val >> 8) & ((1U << b) - 1))];
+ b = (t >> HUFFMAN_BITS_SHIFT) & HUFFMAN_BITS_MASK;
+ lit = t & HUFFMAN_VALUE_MASK;
+ val >>= b + 8;
+ bits -= b + 8;
+ }
+
+ if (lit < 256)
+ {
+ if (unlikely (pout == poutend))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ *pout++ = lit;
+
+ /* We will need to write the next byte soon. We ask
+ for high temporal locality because we will write
+ to the whole cache line soon. */
+ __builtin_prefetch (pout, 1, 3);
+ }
+ else if (lit == 256)
+ {
+ /* The end of the block. */
+ break;
+ }
+ else
+ {
+ unsigned int dist;
+ unsigned int len;
+
+ /* Convert lit into a length. */
+
+ if (lit < 265)
+ len = lit - 257 + 3;
+ else if (lit == 285)
+ len = 258;
+ else if (unlikely (lit > 285))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+ else
+ {
+ unsigned int extra;
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ /* This is an expression for the table of length
+ codes in RFC 1951 3.2.5. */
+ lit -= 265;
+ extra = (lit >> 2) + 1;
+ len = (lit & 3) << extra;
+ len += 11;
+ len += ((1U << (extra - 1)) - 1) << 3;
+ len += val & ((1U << extra) - 1);
+ val >>= extra;
+ bits -= extra;
+ }
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ t = tdist[val & 0xff];
+ b = (t >> HUFFMAN_BITS_SHIFT) & HUFFMAN_BITS_MASK;
+ v = t & HUFFMAN_VALUE_MASK;
+
+ if ((t & (1U << HUFFMAN_SECONDARY_SHIFT)) == 0)
+ {
+ dist = v;
+ val >>= b + 1;
+ bits -= b + 1;
+ }
+ else
+ {
+ t = tdist[v + 0x100 + ((val >> 8) & ((1U << b) - 1))];
+ b = (t >> HUFFMAN_BITS_SHIFT) & HUFFMAN_BITS_MASK;
+ dist = t & HUFFMAN_VALUE_MASK;
+ val >>= b + 8;
+ bits -= b + 8;
+ }
+
+ /* Convert dist to a distance. */
+
+ if (dist == 0)
+ {
+ /* A distance of 1. A common case, meaning
+ repeat the last character LEN times. */
+
+ if (unlikely (pout == porigout))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ if (unlikely ((unsigned int) (poutend - pout) < len))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ memset (pout, pout[-1], len);
+ pout += len;
+ }
+ else if (unlikely (dist > 29))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+ else
+ {
+ if (dist < 4)
+ dist = dist + 1;
+ else
+ {
+ unsigned int extra;
+
+ if (!elf_zlib_fetch (&pin, pinend, &val, &bits))
+ return 0;
+
+ /* This is an expression for the table of
+ distance codes in RFC 1951 3.2.5. */
+ dist -= 4;
+ extra = (dist >> 1) + 1;
+ dist = (dist & 1) << extra;
+ dist += 5;
+ dist += ((1U << (extra - 1)) - 1) << 2;
+ dist += val & ((1U << extra) - 1);
+ val >>= extra;
+ bits -= extra;
+ }
+
+ /* Go back dist bytes, and copy len bytes from
+ there. */
+
+ if (unlikely ((unsigned int) (pout - porigout) < dist))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ if (unlikely ((unsigned int) (poutend - pout) < len))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ if (dist >= len)
+ {
+ memcpy (pout, pout - dist, len);
+ pout += len;
+ }
+ else
+ {
+ while (len > 0)
+ {
+ unsigned int copy;
+
+ copy = len < dist ? len : dist;
+ memcpy (pout, pout - dist, copy);
+ len -= copy;
+ pout += copy;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /* We should have filled the output buffer. */
+ if (unlikely (pout != poutend))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ return 1;
+}
+
+/* Verify the zlib checksum. The checksum is in the 4 bytes at
+ CHECKBYTES, and the uncompressed data is at UNCOMPRESSED /
+ UNCOMPRESSED_SIZE. Returns 1 on success, 0 on failure. */
+
+static int
+elf_zlib_verify_checksum (const unsigned char *checkbytes,
+ const unsigned char *uncompressed,
+ size_t uncompressed_size)
+{
+ unsigned int i;
+ unsigned int cksum;
+ const unsigned char *p;
+ uint32_t s1;
+ uint32_t s2;
+ size_t hsz;
+
+ cksum = 0;
+ for (i = 0; i < 4; i++)
+ cksum = (cksum << 8) | checkbytes[i];
+
+ s1 = 1;
+ s2 = 0;
+
+ /* Minimize modulo operations. */
+
+ p = uncompressed;
+ hsz = uncompressed_size;
+ while (hsz >= 5552)
+ {
+ for (i = 0; i < 5552; i += 16)
+ {
+ /* Manually unroll loop 16 times. */
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ }
+ hsz -= 5552;
+ s1 %= 65521;
+ s2 %= 65521;
+ }
+
+ while (hsz >= 16)
+ {
+ /* Manually unroll loop 16 times. */
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+
+ hsz -= 16;
+ }
+
+ for (i = 0; i < hsz; ++i)
+ {
+ s1 = s1 + *p++;
+ s2 = s2 + s1;
+ }
+
+ s1 %= 65521;
+ s2 %= 65521;
+
+ if (unlikely ((s2 << 16) + s1 != cksum))
+ {
+ elf_zlib_failed ();
+ return 0;
+ }
+
+ return 1;
+}
+
+/* Inflate a zlib stream from PIN/SIN to POUT/SOUT, and verify the
+ checksum. Return 1 on success, 0 on error. */
+
+static int
+elf_zlib_inflate_and_verify (const unsigned char *pin, size_t sin,
+ uint16_t *zdebug_table, unsigned char *pout,
+ size_t sout)
+{
+ if (!elf_zlib_inflate (pin, sin, zdebug_table, pout, sout))
+ return 0;
+ if (!elf_zlib_verify_checksum (pin + sin - 4, pout, sout))
+ return 0;
+ return 1;
+}
+
+/* Uncompress the old compressed debug format, the one emitted by
+ --compress-debug-sections=zlib-gnu. The compressed data is in
+ COMPRESSED / COMPRESSED_SIZE, and the function writes to
+ *UNCOMPRESSED / *UNCOMPRESSED_SIZE. ZDEBUG_TABLE is work space to
+ hold Huffman tables. Returns 0 on error, 1 on successful
+ decompression or if something goes wrong. In general we try to
+ carry on, by returning 1, even if we can't decompress. */
+
+static int
+elf_uncompress_zdebug (struct backtrace_state *state,
+ const unsigned char *compressed, size_t compressed_size,
+ uint16_t *zdebug_table,
+ backtrace_error_callback error_callback, void *data,
+ unsigned char **uncompressed, size_t *uncompressed_size)
+{
+ size_t sz;
+ size_t i;
+ unsigned char *po;
+
+ *uncompressed = NULL;
+ *uncompressed_size = 0;
+
+ /* The format starts with the four bytes ZLIB, followed by the 8
+ byte length of the uncompressed data in big-endian order,
+ followed by a zlib stream. */
+
+ if (compressed_size < 12 || memcmp (compressed, "ZLIB", 4) != 0)
+ return 1;
+
+ sz = 0;
+ for (i = 0; i < 8; i++)
+ sz = (sz << 8) | compressed[i + 4];
+
+ if (*uncompressed != NULL && *uncompressed_size >= sz)
+ po = *uncompressed;
+ else
+ {
+ po = (unsigned char *) backtrace_alloc (state, sz, error_callback, data);
+ if (po == NULL)
+ return 0;
+ }
+
+ if (!elf_zlib_inflate_and_verify (compressed + 12, compressed_size - 12,
+ zdebug_table, po, sz))
+ return 1;
+
+ *uncompressed = po;
+ *uncompressed_size = sz;
+
+ return 1;
+}
+
+/* Uncompress the new compressed debug format, the official standard
+ ELF approach emitted by --compress-debug-sections=zlib-gabi. The
+ compressed data is in COMPRESSED / COMPRESSED_SIZE, and the
+ function writes to *UNCOMPRESSED / *UNCOMPRESSED_SIZE.
+ ZDEBUG_TABLE is work space as for elf_uncompress_zdebug. Returns 0
+ on error, 1 on successful decompression or if something goes wrong.
+ In general we try to carry on, by returning 1, even if we can't
+ decompress. */
+
+static int
+elf_uncompress_chdr (struct backtrace_state *state,
+ const unsigned char *compressed, size_t compressed_size,
+ uint16_t *zdebug_table,
+ backtrace_error_callback error_callback, void *data,
+ unsigned char **uncompressed, size_t *uncompressed_size)
+{
+ const b_elf_chdr *chdr;
+ unsigned char *po;
+
+ *uncompressed = NULL;
+ *uncompressed_size = 0;
+
+ /* The format starts with an ELF compression header. */
+ if (compressed_size < sizeof (b_elf_chdr))
+ return 1;
+
+ chdr = (const b_elf_chdr *) compressed;
+
+ if (chdr->ch_type != ELFCOMPRESS_ZLIB)
+ {
+ /* Unsupported compression algorithm. */
+ return 1;
+ }
+
+ if (*uncompressed != NULL && *uncompressed_size >= chdr->ch_size)
+ po = *uncompressed;
+ else
+ {
+ po = (unsigned char *) backtrace_alloc (state, chdr->ch_size,
+ error_callback, data);
+ if (po == NULL)
+ return 0;
+ }
+
+ if (!elf_zlib_inflate_and_verify (compressed + sizeof (b_elf_chdr),
+ compressed_size - sizeof (b_elf_chdr),
+ zdebug_table, po, chdr->ch_size))
+ return 1;
+
+ *uncompressed = po;
+ *uncompressed_size = chdr->ch_size;
+
+ return 1;
+}
+
+/* This function is a hook for testing the zlib support. It is only
+ used by tests. */
+
+int
+backtrace_uncompress_zdebug (struct backtrace_state *state,
+ const unsigned char *compressed,
+ size_t compressed_size,
+ backtrace_error_callback error_callback,
+ void *data, unsigned char **uncompressed,
+ size_t *uncompressed_size)
+{
+ uint16_t *zdebug_table;
+ int ret;
+
+ zdebug_table = ((uint16_t *) backtrace_alloc (state, ZDEBUG_TABLE_SIZE,
+ error_callback, data));
+ if (zdebug_table == NULL)
+ return 0;
+ ret = elf_uncompress_zdebug (state, compressed, compressed_size,
+ zdebug_table, error_callback, data,
+ uncompressed, uncompressed_size);
+ backtrace_free (state, zdebug_table, ZDEBUG_TABLE_SIZE,
+ error_callback, data);
+ return ret;
+}
+
+/* Add the backtrace data for one ELF file. Returns 1 on success,
+ 0 on failure (in both cases descriptor is closed) or -1 if exe
+ is non-zero and the ELF file is ET_DYN, which tells the caller that
+ elf_add will need to be called on the descriptor again after
+ base_address is determined. */
+
+static int
+elf_add (struct backtrace_state *state, const char *filename, int descriptor,
+ uintptr_t base_address, backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn, int *found_sym, int *found_dwarf,
+ int exe, int debuginfo)
+{
+ struct backtrace_view ehdr_view;
+ b_elf_ehdr ehdr;
+ off_t shoff;
+ unsigned int shnum;
+ unsigned int shstrndx;
+ struct backtrace_view shdrs_view;
+ int shdrs_view_valid;
+ const b_elf_shdr *shdrs;
+ const b_elf_shdr *shstrhdr;
+ size_t shstr_size;
+ off_t shstr_off;
+ struct backtrace_view names_view;
+ int names_view_valid;
+ const char *names;
+ unsigned int symtab_shndx;
+ unsigned int dynsym_shndx;
+ unsigned int i;
+ struct debug_section_info sections[DEBUG_MAX];
+ struct backtrace_view symtab_view;
+ int symtab_view_valid;
+ struct backtrace_view strtab_view;
+ int strtab_view_valid;
+ struct backtrace_view buildid_view;
+ int buildid_view_valid;
+ const char *buildid_data;
+ uint32_t buildid_size;
+ struct backtrace_view debuglink_view;
+ int debuglink_view_valid;
+ const char *debuglink_name;
+ uint32_t debuglink_crc;
+ off_t min_offset;
+ off_t max_offset;
+ struct backtrace_view debug_view;
+ int debug_view_valid;
+ unsigned int using_debug_view;
+ uint16_t *zdebug_table;
+ struct elf_ppc64_opd_data opd_data, *opd;
+
+ if (!debuginfo)
+ {
+ *found_sym = 0;
+ *found_dwarf = 0;
+ }
+
+ shdrs_view_valid = 0;
+ names_view_valid = 0;
+ symtab_view_valid = 0;
+ strtab_view_valid = 0;
+ buildid_view_valid = 0;
+ buildid_data = NULL;
+ buildid_size = 0;
+ debuglink_view_valid = 0;
+ debuglink_name = NULL;
+ debuglink_crc = 0;
+ debug_view_valid = 0;
+ opd = NULL;
+
+ if (!backtrace_get_view (state, descriptor, 0, sizeof ehdr, error_callback,
+ data, &ehdr_view))
+ goto fail;
+
+ memcpy (&ehdr, ehdr_view.data, sizeof ehdr);
+
+ backtrace_release_view (state, &ehdr_view, error_callback, data);
+
+ if (ehdr.e_ident[EI_MAG0] != ELFMAG0
+ || ehdr.e_ident[EI_MAG1] != ELFMAG1
+ || ehdr.e_ident[EI_MAG2] != ELFMAG2
+ || ehdr.e_ident[EI_MAG3] != ELFMAG3)
+ {
+ error_callback (data, "executable file is not ELF", 0);
+ goto fail;
+ }
+ if (ehdr.e_ident[EI_VERSION] != EV_CURRENT)
+ {
+ error_callback (data, "executable file is unrecognized ELF version", 0);
+ goto fail;
+ }
+
+#if BACKTRACE_ELF_SIZE == 32
+#define BACKTRACE_ELFCLASS ELFCLASS32
+#else
+#define BACKTRACE_ELFCLASS ELFCLASS64
+#endif
+
+ if (ehdr.e_ident[EI_CLASS] != BACKTRACE_ELFCLASS)
+ {
+ error_callback (data, "executable file is unexpected ELF class", 0);
+ goto fail;
+ }
+
+ if (ehdr.e_ident[EI_DATA] != ELFDATA2LSB
+ && ehdr.e_ident[EI_DATA] != ELFDATA2MSB)
+ {
+ error_callback (data, "executable file has unknown endianness", 0);
+ goto fail;
+ }
+
+ /* If the executable is ET_DYN, it is either a PIE, or we are running
+ directly a shared library with .interp. We need to wait for
+ dl_iterate_phdr in that case to determine the actual base_address. */
+ if (exe && ehdr.e_type == ET_DYN)
+ return -1;
+
+ shoff = ehdr.e_shoff;
+ shnum = ehdr.e_shnum;
+ shstrndx = ehdr.e_shstrndx;
+
+ if ((shnum == 0 || shstrndx == SHN_XINDEX)
+ && shoff != 0)
+ {
+ struct backtrace_view shdr_view;
+ const b_elf_shdr *shdr;
+
+ if (!backtrace_get_view (state, descriptor, shoff, sizeof shdr,
+ error_callback, data, &shdr_view))
+ goto fail;
+
+ shdr = (const b_elf_shdr *) shdr_view.data;
+
+ if (shnum == 0)
+ shnum = (unsigned int)shdr->sh_size;
+
+ if (shstrndx == SHN_XINDEX)
+ {
+ shstrndx = shdr->sh_link;
+
+ /* Versions of the GNU binutils between 2.12 and 2.18 did
+ not handle objects with more than SHN_LORESERVE sections
+ correctly. All large section indexes were offset by
+ 0x100. There is more information at
+ http://sourceware.org/bugzilla/show_bug.cgi?id-5900 .
+ Fortunately these object files are easy to detect, as the
+ GNU binutils always put the section header string table
+ near the end of the list of sections. Thus if the
+ section header string table index is larger than the
+ number of sections, then we know we have to subtract
+ 0x100 to get the real section index. */
+ if (shstrndx >= shnum && shstrndx >= SHN_LORESERVE + 0x100)
+ shstrndx -= 0x100;
+ }
+
+ backtrace_release_view (state, &shdr_view, error_callback, data);
+ }
+
+ /* To translate PC to file/line when using DWARF, we need to find
+ the .debug_info and .debug_line sections. */
+
+ /* Read the section headers, skipping the first one. */
+
+ if (!backtrace_get_view (state, descriptor, shoff + sizeof (b_elf_shdr),
+ (shnum - 1) * sizeof (b_elf_shdr),
+ error_callback, data, &shdrs_view))
+ goto fail;
+ shdrs_view_valid = 1;
+ shdrs = (const b_elf_shdr *) shdrs_view.data;
+
+ /* Read the section names. */
+
+ shstrhdr = &shdrs[shstrndx - 1];
+ shstr_size = shstrhdr->sh_size;
+ shstr_off = shstrhdr->sh_offset;
+
+ if (!backtrace_get_view (state, descriptor, shstr_off, shstr_size,
+ error_callback, data, &names_view))
+ goto fail;
+ names_view_valid = 1;
+ names = (const char *) names_view.data;
+
+ symtab_shndx = 0;
+ dynsym_shndx = 0;
+
+ memset (sections, 0, sizeof sections);
+
+ /* Look for the symbol table. */
+ for (i = 1; i < shnum; ++i)
+ {
+ const b_elf_shdr *shdr;
+ unsigned int sh_name;
+ const char *name;
+ int j;
+
+ shdr = &shdrs[i - 1];
+
+ if (shdr->sh_type == SHT_SYMTAB)
+ symtab_shndx = i;
+ else if (shdr->sh_type == SHT_DYNSYM)
+ dynsym_shndx = i;
+
+ sh_name = shdr->sh_name;
+ if (sh_name >= shstr_size)
+ {
+ error_callback (data, "ELF section name out of range", 0);
+ goto fail;
+ }
+
+ name = names + sh_name;
+
+ for (j = 0; j < (int) DEBUG_MAX; ++j)
+ {
+ if (strcmp (name, debug_section_names[j]) == 0)
+ {
+ sections[j].offset = shdr->sh_offset;
+ sections[j].size = shdr->sh_size;
+ sections[j].compressed = (shdr->sh_flags & SHF_COMPRESSED) != 0;
+ break;
+ }
+ }
+
+ /* Read the build ID if present. This could check for any
+ SHT_NOTE section with the right note name and type, but gdb
+ looks for a specific section name. */
+ if (!debuginfo
+ && !buildid_view_valid
+ && strcmp (name, ".note.gnu.build-id") == 0)
+ {
+ const b_elf_note *note;
+
+ if (!backtrace_get_view (state, descriptor, shdr->sh_offset,
+ shdr->sh_size, error_callback, data,
+ &buildid_view))
+ goto fail;
+
+ buildid_view_valid = 1;
+ note = (const b_elf_note *) buildid_view.data;
+ if (note->type == NT_GNU_BUILD_ID
+ && note->namesz == 4
+ && strncmp (note->name, "GNU", 4) == 0
+ && shdr->sh_size < 12 + ((note->namesz + 3) & ~ 3) + note->descsz)
+ {
+ buildid_data = &note->name[0] + ((note->namesz + 3) & ~ 3);
+ buildid_size = note->descsz;
+ }
+ }
+
+ /* Read the debuglink file if present. */
+ if (!debuginfo
+ && !debuglink_view_valid
+ && strcmp (name, ".gnu_debuglink") == 0)
+ {
+ const char *debuglink_data;
+ size_t crc_offset;
+
+ if (!backtrace_get_view (state, descriptor, shdr->sh_offset,
+ shdr->sh_size, error_callback, data,
+ &debuglink_view))
+ goto fail;
+
+ debuglink_view_valid = 1;
+ debuglink_data = (const char *) debuglink_view.data;
+ crc_offset = strnlen (debuglink_data, shdr->sh_size);
+ crc_offset = (crc_offset + 3) & ~3;
+ if (crc_offset + 4 <= shdr->sh_size)
+ {
+ debuglink_name = debuglink_data;
+ debuglink_crc = *(const uint32_t*)(debuglink_data + crc_offset);
+ }
+ }
+
+ /* Read the .opd section on PowerPC64 ELFv1. */
+ if (ehdr.e_machine == EM_PPC64
+ && (ehdr.e_flags & EF_PPC64_ABI) < 2
+ && shdr->sh_type == SHT_PROGBITS
+ && strcmp (name, ".opd") == 0)
+ {
+ if (!backtrace_get_view (state, descriptor, shdr->sh_offset,
+ shdr->sh_size, error_callback, data,
+ &opd_data.view))
+ goto fail;
+
+ opd = &opd_data;
+ opd->addr = shdr->sh_addr;
+ opd->data = (const char *) opd_data.view.data;
+ opd->size = shdr->sh_size;
+ }
+ }
+
+ if (symtab_shndx == 0)
+ symtab_shndx = dynsym_shndx;
+ if (symtab_shndx != 0 && !debuginfo)
+ {
+ const b_elf_shdr *symtab_shdr;
+ unsigned int strtab_shndx;
+ const b_elf_shdr *strtab_shdr;
+ struct elf_syminfo_data *sdata;
+
+ symtab_shdr = &shdrs[symtab_shndx - 1];
+ strtab_shndx = symtab_shdr->sh_link;
+ if (strtab_shndx >= shnum)
+ {
+ error_callback (data,
+ "ELF symbol table strtab link out of range", 0);
+ goto fail;
+ }
+ strtab_shdr = &shdrs[strtab_shndx - 1];
+
+ if (!backtrace_get_view (state, descriptor, symtab_shdr->sh_offset,
+ symtab_shdr->sh_size, error_callback, data,
+ &symtab_view))
+ goto fail;
+ symtab_view_valid = 1;
+
+ if (!backtrace_get_view (state, descriptor, strtab_shdr->sh_offset,
+ strtab_shdr->sh_size, error_callback, data,
+ &strtab_view))
+ goto fail;
+ strtab_view_valid = 1;
+
+ sdata = ((struct elf_syminfo_data *)
+ backtrace_alloc (state, sizeof *sdata, error_callback, data));
+ if (sdata == NULL)
+ goto fail;
+
+ if (!elf_initialize_syminfo (state, base_address,
+ symtab_view.data, symtab_shdr->sh_size,
+ strtab_view.data, strtab_shdr->sh_size,
+ error_callback, data, sdata, opd))
+ {
+ backtrace_free (state, sdata, sizeof *sdata, error_callback, data);
+ goto fail;
+ }
+
+ /* We no longer need the symbol table, but we hold on to the
+ string table permanently. */
+ backtrace_release_view (state, &symtab_view, error_callback, data);
+ symtab_view_valid = 0;
+
+ *found_sym = 1;
+
+ elf_add_syminfo_data (state, sdata);
+ }
+
+ backtrace_release_view (state, &shdrs_view, error_callback, data);
+ shdrs_view_valid = 0;
+ backtrace_release_view (state, &names_view, error_callback, data);
+ names_view_valid = 0;
+
+ /* If the debug info is in a separate file, read that one instead. */
+
+ if (buildid_data != NULL)
+ {
+ int d;
+
+ d = elf_open_debugfile_by_buildid (state, buildid_data, buildid_size,
+ error_callback, data);
+ if (d >= 0)
+ {
+ int ret;
+
+ backtrace_release_view (state, &buildid_view, error_callback, data);
+ if (debuglink_view_valid)
+ backtrace_release_view (state, &debuglink_view, error_callback,
+ data);
+ ret = elf_add (state, NULL, d, base_address, error_callback, data,
+ fileline_fn, found_sym, found_dwarf, 0, 1);
+ if (ret < 0)
+ backtrace_close (d, error_callback, data);
+ else
+ backtrace_close (descriptor, error_callback, data);
+ return ret;
+ }
+ }
+
+ if (buildid_view_valid)
+ {
+ backtrace_release_view (state, &buildid_view, error_callback, data);
+ buildid_view_valid = 0;
+ }
+
+ if (opd)
+ {
+ backtrace_release_view (state, &opd->view, error_callback, data);
+ opd = NULL;
+ }
+
+ if (debuglink_name != NULL)
+ {
+ int d;
+
+ d = elf_open_debugfile_by_debuglink (state, filename, debuglink_name,
+ debuglink_crc, error_callback,
+ data);
+ if (d >= 0)
+ {
+ int ret;
+
+ backtrace_release_view (state, &debuglink_view, error_callback,
+ data);
+ ret = elf_add (state, NULL, d, base_address, error_callback, data,
+ fileline_fn, found_sym, found_dwarf, 0, 1);
+ if (ret < 0)
+ backtrace_close (d, error_callback, data);
+ else
+ backtrace_close(descriptor, error_callback, data);
+ return ret;
+ }
+ }
+
+ if (debuglink_view_valid)
+ {
+ backtrace_release_view (state, &debuglink_view, error_callback, data);
+ debuglink_view_valid = 0;
+ }
+
+ /* Read all the debug sections in a single view, since they are
+ probably adjacent in the file. We never release this view. */
+
+ min_offset = 0;
+ max_offset = 0;
+ for (i = 0; i < (int) DEBUG_MAX; ++i)
+ {
+ off_t end;
+
+ if (sections[i].size == 0)
+ continue;
+ if (min_offset == 0 || sections[i].offset < min_offset)
+ min_offset = sections[i].offset;
+ end = sections[i].offset + sections[i].size;
+ if (end > max_offset)
+ max_offset = end;
+ }
+ if (min_offset == 0 || max_offset == 0)
+ {
+ if (!backtrace_close (descriptor, error_callback, data))
+ goto fail;
+ return 1;
+ }
+
+ if (!backtrace_get_view (state, descriptor, min_offset,
+ max_offset - min_offset,
+ error_callback, data, &debug_view))
+ goto fail;
+ debug_view_valid = 1;
+
+ /* We've read all we need from the executable. */
+ if (!backtrace_close (descriptor, error_callback, data))
+ goto fail;
+ descriptor = -1;
+
+ using_debug_view = 0;
+ for (i = 0; i < (int) DEBUG_MAX; ++i)
+ {
+ if (sections[i].size == 0)
+ sections[i].data = NULL;
+ else
+ {
+ sections[i].data = ((const unsigned char *) debug_view.data
+ + (sections[i].offset - min_offset));
+ if (i < ZDEBUG_INFO)
+ ++using_debug_view;
+ }
+ }
+
+ /* Uncompress the old format (--compress-debug-sections=zlib-gnu). */
+
+ zdebug_table = NULL;
+ for (i = 0; i < ZDEBUG_INFO; ++i)
+ {
+ struct debug_section_info *pz;
+
+ pz = &sections[i + ZDEBUG_INFO - DEBUG_INFO];
+ if (sections[i].size == 0 && pz->size > 0)
+ {
+ unsigned char *uncompressed_data;
+ size_t uncompressed_size;
+
+ if (zdebug_table == NULL)
+ {
+ zdebug_table = ((uint16_t *)
+ backtrace_alloc (state, ZDEBUG_TABLE_SIZE,
+ error_callback, data));
+ if (zdebug_table == NULL)
+ goto fail;
+ }
+
+ uncompressed_data = NULL;
+ uncompressed_size = 0;
+ if (!elf_uncompress_zdebug (state, pz->data, pz->size, zdebug_table,
+ error_callback, data,
+ &uncompressed_data, &uncompressed_size))
+ goto fail;
+ sections[i].data = uncompressed_data;
+ sections[i].size = uncompressed_size;
+ sections[i].compressed = 0;
+ }
+ }
+
+ /* Uncompress the official ELF format
+ (--compress-debug-sections=zlib-gabi). */
+ for (i = 0; i < ZDEBUG_INFO; ++i)
+ {
+ unsigned char *uncompressed_data;
+ size_t uncompressed_size;
+
+ if (sections[i].size == 0 || !sections[i].compressed)
+ continue;
+
+ if (zdebug_table == NULL)
+ {
+ zdebug_table = ((uint16_t *)
+ backtrace_alloc (state, ZDEBUG_TABLE_SIZE,
+ error_callback, data));
+ if (zdebug_table == NULL)
+ goto fail;
+ }
+
+ uncompressed_data = NULL;
+ uncompressed_size = 0;
+ if (!elf_uncompress_chdr (state, sections[i].data, sections[i].size,
+ zdebug_table, error_callback, data,
+ &uncompressed_data, &uncompressed_size))
+ goto fail;
+ sections[i].data = uncompressed_data;
+ sections[i].size = uncompressed_size;
+ sections[i].compressed = 0;
+
+ --using_debug_view;
+ }
+
+ if (zdebug_table != NULL)
+ backtrace_free (state, zdebug_table, ZDEBUG_TABLE_SIZE,
+ error_callback, data);
+
+ if (debug_view_valid && using_debug_view == 0)
+ {
+ backtrace_release_view (state, &debug_view, error_callback, data);
+ debug_view_valid = 0;
+ }
+
+ if (!backtrace_dwarf_add (state, base_address,
+ sections[DEBUG_INFO].data,
+ sections[DEBUG_INFO].size,
+ sections[DEBUG_LINE].data,
+ sections[DEBUG_LINE].size,
+ sections[DEBUG_ABBREV].data,
+ sections[DEBUG_ABBREV].size,
+ sections[DEBUG_RANGES].data,
+ sections[DEBUG_RANGES].size,
+ sections[DEBUG_STR].data,
+ sections[DEBUG_STR].size,
+ ehdr.e_ident[EI_DATA] == ELFDATA2MSB,
+ error_callback, data, fileline_fn))
+ goto fail;
+
+ *found_dwarf = 1;
+
+ return 1;
+
+ fail:
+ if (shdrs_view_valid)
+ backtrace_release_view (state, &shdrs_view, error_callback, data);
+ if (names_view_valid)
+ backtrace_release_view (state, &names_view, error_callback, data);
+ if (symtab_view_valid)
+ backtrace_release_view (state, &symtab_view, error_callback, data);
+ if (strtab_view_valid)
+ backtrace_release_view (state, &strtab_view, error_callback, data);
+ if (debuglink_view_valid)
+ backtrace_release_view (state, &debuglink_view, error_callback, data);
+ if (buildid_view_valid)
+ backtrace_release_view (state, &buildid_view, error_callback, data);
+ if (debug_view_valid)
+ backtrace_release_view (state, &debug_view, error_callback, data);
+ if (opd)
+ backtrace_release_view (state, &opd->view, error_callback, data);
+ if (descriptor != -1)
+ backtrace_close (descriptor, error_callback, data);
+ return 0;
+}
+
+/* Data passed to phdr_callback. */
+
+struct phdr_data
+{
+ struct backtrace_state *state;
+ backtrace_error_callback error_callback;
+ void *data;
+ fileline *fileline_fn;
+ int *found_sym;
+ int *found_dwarf;
+ const char *exe_filename;
+ int exe_descriptor;
+};
+
+/* Callback passed to dl_iterate_phdr. Load debug info from shared
+ libraries. */
+
+static int
+#ifdef __i386__
+__attribute__ ((__force_align_arg_pointer__))
+#endif
+phdr_callback (struct dl_phdr_info *info, size_t size ATTRIBUTE_UNUSED,
+ void *pdata)
+{
+ struct phdr_data *pd = (struct phdr_data *) pdata;
+ const char *filename;
+ int descriptor;
+ int does_not_exist;
+ fileline elf_fileline_fn;
+ int found_dwarf;
+
+ /* There is not much we can do if we don't have the module name,
+ unless executable is ET_DYN, where we expect the very first
+ phdr_callback to be for the PIE. */
+ if (info->dlpi_name == NULL || info->dlpi_name[0] == '\0')
+ {
+ if (pd->exe_descriptor == -1)
+ return 0;
+ filename = pd->exe_filename;
+ descriptor = pd->exe_descriptor;
+ pd->exe_descriptor = -1;
+ }
+ else
+ {
+ if (pd->exe_descriptor != -1)
+ {
+ backtrace_close (pd->exe_descriptor, pd->error_callback, pd->data);
+ pd->exe_descriptor = -1;
+ }
+
+ filename = info->dlpi_name;
+ descriptor = backtrace_open (info->dlpi_name, pd->error_callback,
+ pd->data, &does_not_exist);
+ if (descriptor < 0)
+ return 0;
+ }
+
+ if (elf_add (pd->state, filename, descriptor, info->dlpi_addr,
+ pd->error_callback, pd->data, &elf_fileline_fn, pd->found_sym,
+ &found_dwarf, 0, 0))
+ {
+ if (found_dwarf)
+ {
+ *pd->found_dwarf = 1;
+ *pd->fileline_fn = elf_fileline_fn;
+ }
+ }
+
+ return 0;
+}
+
+/* Initialize the backtrace data we need from an ELF executable. At
+ the ELF level, all we need to do is find the debug info
+ sections. */
+
+int
+backtrace_initialize (struct backtrace_state *state, const char *filename,
+ int descriptor, backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn)
+{
+ int ret;
+ int found_sym;
+ int found_dwarf;
+ fileline elf_fileline_fn = elf_nodebug;
+ struct phdr_data pd;
+
+ ret = elf_add (state, filename, descriptor, 0, error_callback, data,
+ &elf_fileline_fn, &found_sym, &found_dwarf, 1, 0);
+ if (!ret)
+ return 0;
+
+ pd.state = state;
+ pd.error_callback = error_callback;
+ pd.data = data;
+ pd.fileline_fn = &elf_fileline_fn;
+ pd.found_sym = &found_sym;
+ pd.found_dwarf = &found_dwarf;
+ pd.exe_filename = filename;
+ pd.exe_descriptor = ret < 0 ? descriptor : -1;
+
+ dl_iterate_phdr (phdr_callback, (void *) &pd);
+
+ if (!state->threaded)
+ {
+ if (found_sym)
+ state->syminfo_fn = elf_syminfo;
+ else if (state->syminfo_fn == NULL)
+ state->syminfo_fn = elf_nosyms;
+ }
+ else
+ {
+ if (found_sym)
+ backtrace_atomic_store_pointer (&state->syminfo_fn, elf_syminfo);
+ else
+ (void) __sync_bool_compare_and_swap (&state->syminfo_fn, NULL,
+ elf_nosyms);
+ }
+
+ if (!state->threaded)
+ *fileline_fn = state->fileline_fn;
+ else
+ *fileline_fn = backtrace_atomic_load_pointer (&state->fileline_fn);
+
+ if (*fileline_fn == NULL || *fileline_fn == elf_nodebug)
+ *fileline_fn = elf_fileline_fn;
+
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/fileline.c b/3rdparty/libbacktrace/fileline.c
new file mode 100644
index 000000000..e56730683
--- /dev/null
+++ b/3rdparty/libbacktrace/fileline.c
@@ -0,0 +1,201 @@
+/* fileline.c -- Get file and line number information in a backtrace.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+#ifndef HAVE_GETEXECNAME
+#define getexecname() NULL
+#endif
+
+/* Initialize the fileline information from the executable. Returns 1
+ on success, 0 on failure. */
+
+static int
+fileline_initialize (struct backtrace_state *state,
+ backtrace_error_callback error_callback, void *data)
+{
+ int failed;
+ fileline fileline_fn;
+ int pass;
+ int called_error_callback;
+ int descriptor;
+ const char *filename;
+ char buf[64];
+
+ if (!state->threaded)
+ failed = state->fileline_initialization_failed;
+ else
+ failed = backtrace_atomic_load_int (&state->fileline_initialization_failed);
+
+ if (failed)
+ {
+ error_callback (data, "failed to read executable information", -1);
+ return 0;
+ }
+
+ if (!state->threaded)
+ fileline_fn = state->fileline_fn;
+ else
+ fileline_fn = backtrace_atomic_load_pointer (&state->fileline_fn);
+ if (fileline_fn != NULL)
+ return 1;
+
+ /* We have not initialized the information. Do it now. */
+
+ descriptor = -1;
+ called_error_callback = 0;
+ for (pass = 0; pass < 5; ++pass)
+ {
+ int does_not_exist;
+
+ switch (pass)
+ {
+ case 0:
+ filename = state->filename;
+ break;
+ case 1:
+ filename = getexecname ();
+ break;
+ case 2:
+ filename = "/proc/self/exe";
+ break;
+ case 3:
+ filename = "/proc/curproc/file";
+ break;
+ case 4:
+ snprintf (buf, sizeof (buf), "/proc/%ld/object/a.out",
+ (long) getpid ());
+ filename = buf;
+ break;
+ default:
+ abort ();
+ }
+
+ if (filename == NULL)
+ continue;
+
+ descriptor = backtrace_open (filename, error_callback, data,
+ &does_not_exist);
+ if (descriptor < 0 && !does_not_exist)
+ {
+ called_error_callback = 1;
+ break;
+ }
+ if (descriptor >= 0)
+ break;
+ }
+
+ if (descriptor < 0)
+ {
+ if (!called_error_callback)
+ {
+ if (state->filename != NULL)
+ error_callback (data, state->filename, ENOENT);
+ else
+ error_callback (data,
+ "libbacktrace could not find executable to open",
+ 0);
+ }
+ failed = 1;
+ }
+
+ if (!failed)
+ {
+ if (!backtrace_initialize (state, filename, descriptor, error_callback,
+ data, &fileline_fn))
+ failed = 1;
+ }
+
+ if (failed)
+ {
+ if (!state->threaded)
+ state->fileline_initialization_failed = 1;
+ else
+ backtrace_atomic_store_int (&state->fileline_initialization_failed, 1);
+ return 0;
+ }
+
+ if (!state->threaded)
+ state->fileline_fn = fileline_fn;
+ else
+ {
+ backtrace_atomic_store_pointer (&state->fileline_fn, fileline_fn);
+
+ /* Note that if two threads initialize at once, one of the data
+ sets may be leaked. */
+ }
+
+ return 1;
+}
+
+/* Given a PC, find the file name, line number, and function name. */
+
+int
+backtrace_pcinfo (struct backtrace_state *state, uintptr_t pc,
+ backtrace_full_callback callback,
+ backtrace_error_callback error_callback, void *data)
+{
+ if (!fileline_initialize (state, error_callback, data))
+ return 0;
+
+ if (state->fileline_initialization_failed)
+ return 0;
+
+ return state->fileline_fn (state, pc, callback, error_callback, data);
+}
+
+/* Given a PC, find the symbol for it, and its value. */
+
+int
+backtrace_syminfo (struct backtrace_state *state, uintptr_t pc,
+ backtrace_syminfo_callback callback,
+ backtrace_error_callback error_callback, void *data)
+{
+ if (!fileline_initialize (state, error_callback, data))
+ return 0;
+
+ if (state->fileline_initialization_failed)
+ return 0;
+
+ state->syminfo_fn (state, pc, callback, error_callback, data);
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/filenames.h b/3rdparty/libbacktrace/filenames.h
new file mode 100644
index 000000000..2dcd6643a
--- /dev/null
+++ b/3rdparty/libbacktrace/filenames.h
@@ -0,0 +1,49 @@
+/* btest.c -- Filename header for libbacktrace library
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#ifndef GCC_VERSION
+# define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
+#endif
+
+#if (GCC_VERSION < 2007)
+# define __attribute__(x)
+#endif
+
+#ifndef ATTRIBUTE_UNUSED
+# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#endif
+
+#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__)
+# define IS_DIR_SEPARATOR(c) ((c) == '/' || (c) == '\\')
+#else
+# define IS_DIR_SEPARATOR(c) ((c) == '/')
+#endif
diff --git a/3rdparty/libbacktrace/filetype.awk b/3rdparty/libbacktrace/filetype.awk
new file mode 100644
index 000000000..a5f6c8cc1
--- /dev/null
+++ b/3rdparty/libbacktrace/filetype.awk
@@ -0,0 +1,11 @@
+# An awk script to determine the type of a file.
+/\177ELF\001/ { if (NR == 1) { print "elf32"; exit } }
+/\177ELF\002/ { if (NR == 1) { print "elf64"; exit } }
+/\114\001/ { if (NR == 1) { print "pecoff"; exit } }
+/\144\206/ { if (NR == 1) { print "pecoff"; exit } }
+/\xFE\xED\xFA\xCE/ { if (NR == 1) { print "macho32"; exit } }
+/\xCE\xFA\xED\xFE/ { if (NR == 1) { print "macho32"; exit } }
+/\xFE\xED\xFA\xCF/ { if (NR == 1) { print "macho64"; exit } }
+/\xCF\xFA\xED\xFE/ { if (NR == 1) { print "macho64"; exit } }
+/\xCA\xFE\xBA\xBE/ { if (NR == 1) { print "macho-fat"; exit } }
+/\xBE\xBA\xFE\xCA/ { if (NR == 1) { print "macho-fat"; exit } }
diff --git a/3rdparty/libbacktrace/internal.h b/3rdparty/libbacktrace/internal.h
new file mode 100644
index 000000000..bff8ed470
--- /dev/null
+++ b/3rdparty/libbacktrace/internal.h
@@ -0,0 +1,304 @@
+/* internal.h -- Internal header file for stack backtrace library.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#ifndef BACKTRACE_INTERNAL_H
+#define BACKTRACE_INTERNAL_H
+
+/* We assume that <sys/types.h> and "backtrace.h" have already been
+ included. */
+
+#ifndef GCC_VERSION
+# define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
+#endif
+
+#if (GCC_VERSION < 2007)
+# define __attribute__(x)
+#endif
+
+#ifndef ATTRIBUTE_UNUSED
+# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#endif
+
+#ifndef ATTRIBUTE_MALLOC
+# if (GCC_VERSION >= 2096)
+# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+# else
+# define ATTRIBUTE_MALLOC
+# endif
+#endif
+
+#ifndef HAVE_SYNC_FUNCTIONS
+
+/* Define out the sync functions. These should never be called if
+ they are not available. */
+
+#define __sync_bool_compare_and_swap(A, B, C) (abort(), 1)
+#define __sync_lock_test_and_set(A, B) (abort(), 0)
+#define __sync_lock_release(A) abort()
+
+#endif /* !defined (HAVE_SYNC_FUNCTIONS) */
+
+#ifdef HAVE_ATOMIC_FUNCTIONS
+
+/* We have the atomic builtin functions. */
+
+#define backtrace_atomic_load_pointer(p) \
+ __atomic_load_n ((p), __ATOMIC_ACQUIRE)
+#define backtrace_atomic_load_int(p) \
+ __atomic_load_n ((p), __ATOMIC_ACQUIRE)
+#define backtrace_atomic_store_pointer(p, v) \
+ __atomic_store_n ((p), (v), __ATOMIC_RELEASE)
+#define backtrace_atomic_store_size_t(p, v) \
+ __atomic_store_n ((p), (v), __ATOMIC_RELEASE)
+#define backtrace_atomic_store_int(p, v) \
+ __atomic_store_n ((p), (v), __ATOMIC_RELEASE)
+
+#else /* !defined (HAVE_ATOMIC_FUNCTIONS) */
+#ifdef HAVE_SYNC_FUNCTIONS
+
+/* We have the sync functions but not the atomic functions. Define
+ the atomic ones in terms of the sync ones. */
+
+extern void *backtrace_atomic_load_pointer (void *);
+extern int backtrace_atomic_load_int (int *);
+extern void backtrace_atomic_store_pointer (void *, void *);
+extern void backtrace_atomic_store_size_t (size_t *, size_t);
+extern void backtrace_atomic_store_int (int *, int);
+
+#else /* !defined (HAVE_SYNC_FUNCTIONS) */
+
+/* We have neither the sync nor the atomic functions. These will
+ never be called. */
+
+#define backtrace_atomic_load_pointer(p) (abort(), (void *) NULL)
+#define backtrace_atomic_load_int(p) (abort(), 0)
+#define backtrace_atomic_store_pointer(p, v) abort()
+#define backtrace_atomic_store_size_t(p, v) abort()
+#define backtrace_atomic_store_int(p, v) abort()
+
+#endif /* !defined (HAVE_SYNC_FUNCTIONS) */
+#endif /* !defined (HAVE_ATOMIC_FUNCTIONS) */
+
+/* The type of the function that collects file/line information. This
+ is like backtrace_pcinfo. */
+
+typedef int (*fileline) (struct backtrace_state *state, uintptr_t pc,
+ backtrace_full_callback callback,
+ backtrace_error_callback error_callback, void *data);
+
+/* The type of the function that collects symbol information. This is
+ like backtrace_syminfo. */
+
+typedef void (*syminfo) (struct backtrace_state *state, uintptr_t pc,
+ backtrace_syminfo_callback callback,
+ backtrace_error_callback error_callback, void *data);
+
+/* What the backtrace state pointer points to. */
+
+struct backtrace_state
+{
+ /* The name of the executable. */
+ const char *filename;
+ /* Non-zero if threaded. */
+ int threaded;
+ /* The master lock for fileline_fn, fileline_data, syminfo_fn,
+ syminfo_data, fileline_initialization_failed and everything the
+ data pointers point to. */
+ void *lock;
+ /* The function that returns file/line information. */
+ fileline fileline_fn;
+ /* The data to pass to FILELINE_FN. */
+ void *fileline_data;
+ /* The function that returns symbol information. */
+ syminfo syminfo_fn;
+ /* The data to pass to SYMINFO_FN. */
+ void *syminfo_data;
+ /* Whether initializing the file/line information failed. */
+ int fileline_initialization_failed;
+ /* The lock for the freelist. */
+ int lock_alloc;
+ /* The freelist when using mmap. */
+ struct backtrace_freelist_struct *freelist;
+};
+
+/* Open a file for reading. Returns -1 on error. If DOES_NOT_EXIST
+ is not NULL, *DOES_NOT_EXIST will be set to 0 normally and set to 1
+ if the file does not exist. If the file does not exist and
+ DOES_NOT_EXIST is not NULL, the function will return -1 and will
+ not call ERROR_CALLBACK. On other errors, or if DOES_NOT_EXIST is
+ NULL, the function will call ERROR_CALLBACK before returning. */
+extern int backtrace_open (const char *filename,
+ backtrace_error_callback error_callback,
+ void *data,
+ int *does_not_exist);
+
+/* A view of the contents of a file. This supports mmap when
+ available. A view will remain in memory even after backtrace_close
+ is called on the file descriptor from which the view was
+ obtained. */
+
+struct backtrace_view
+{
+ /* The data that the caller requested. */
+ const void *data;
+ /* The base of the view. */
+ void *base;
+ /* The total length of the view. */
+ size_t len;
+};
+
+/* Create a view of SIZE bytes from DESCRIPTOR at OFFSET. Store the
+ result in *VIEW. Returns 1 on success, 0 on error. */
+extern int backtrace_get_view (struct backtrace_state *state, int descriptor,
+ off_t offset, size_t size,
+ backtrace_error_callback error_callback,
+ void *data, struct backtrace_view *view);
+
+/* Release a view created by backtrace_get_view. */
+extern void backtrace_release_view (struct backtrace_state *state,
+ struct backtrace_view *view,
+ backtrace_error_callback error_callback,
+ void *data);
+
+/* Close a file opened by backtrace_open. Returns 1 on success, 0 on
+ error. */
+
+extern int backtrace_close (int descriptor,
+ backtrace_error_callback error_callback,
+ void *data);
+
+/* Sort without using memory. */
+
+extern void backtrace_qsort (void *base, size_t count, size_t size,
+ int (*compar) (const void *, const void *));
+
+/* Allocate memory. This is like malloc. If ERROR_CALLBACK is NULL,
+ this does not report an error, it just returns NULL. */
+
+extern void *backtrace_alloc (struct backtrace_state *state, size_t size,
+ backtrace_error_callback error_callback,
+ void *data) ATTRIBUTE_MALLOC;
+
+/* Free memory allocated by backtrace_alloc. If ERROR_CALLBACK is
+ NULL, this does not report an error. */
+
+extern void backtrace_free (struct backtrace_state *state, void *mem,
+ size_t size,
+ backtrace_error_callback error_callback,
+ void *data);
+
+/* A growable vector of some struct. This is used for more efficient
+ allocation when we don't know the final size of some group of data
+ that we want to represent as an array. */
+
+struct backtrace_vector
+{
+ /* The base of the vector. */
+ void *base;
+ /* The number of bytes in the vector. */
+ size_t size;
+ /* The number of bytes available at the current allocation. */
+ size_t alc;
+};
+
+/* Grow VEC by SIZE bytes. Return a pointer to the newly allocated
+ bytes. Note that this may move the entire vector to a new memory
+ location. Returns NULL on failure. */
+
+extern void *backtrace_vector_grow (struct backtrace_state *state, size_t size,
+ backtrace_error_callback error_callback,
+ void *data,
+ struct backtrace_vector *vec);
+
+/* Finish the current allocation on VEC. Prepare to start a new
+ allocation. The finished allocation will never be freed. Returns
+ a pointer to the base of the finished entries, or NULL on
+ failure. */
+
+extern void* backtrace_vector_finish (struct backtrace_state *state,
+ struct backtrace_vector *vec,
+ backtrace_error_callback error_callback,
+ void *data);
+
+/* Release any extra space allocated for VEC. This may change
+ VEC->base. Returns 1 on success, 0 on failure. */
+
+extern int backtrace_vector_release (struct backtrace_state *state,
+ struct backtrace_vector *vec,
+ backtrace_error_callback error_callback,
+ void *data);
+
+/* Read initial debug data from a descriptor, and set the
+ fileline_data, syminfo_fn, and syminfo_data fields of STATE.
+ Return the fileln_fn field in *FILELN_FN--this is done this way so
+ that the synchronization code is only implemented once. This is
+ called after the descriptor has first been opened. It will close
+ the descriptor if it is no longer needed. Returns 1 on success, 0
+ on error. There will be multiple implementations of this function,
+ for different file formats. Each system will compile the
+ appropriate one. */
+
+extern int backtrace_initialize (struct backtrace_state *state,
+ const char *filename,
+ int descriptor,
+ backtrace_error_callback error_callback,
+ void *data,
+ fileline *fileline_fn);
+
+/* Add file/line information for a DWARF module. */
+
+extern int backtrace_dwarf_add (struct backtrace_state *state,
+ uintptr_t base_address,
+ const unsigned char* dwarf_info,
+ size_t dwarf_info_size,
+ const unsigned char *dwarf_line,
+ size_t dwarf_line_size,
+ const unsigned char *dwarf_abbrev,
+ size_t dwarf_abbrev_size,
+ const unsigned char *dwarf_ranges,
+ size_t dwarf_range_size,
+ const unsigned char *dwarf_str,
+ size_t dwarf_str_size,
+ int is_bigendian,
+ backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn);
+
+/* A test-only hook for elf_uncompress_zdebug. */
+
+extern int backtrace_uncompress_zdebug (struct backtrace_state *,
+ const unsigned char *compressed,
+ size_t compressed_size,
+ backtrace_error_callback, void *data,
+ unsigned char **uncompressed,
+ size_t *uncompressed_size);
+
+#endif
diff --git a/3rdparty/libbacktrace/ltmain.sh b/3rdparty/libbacktrace/ltmain.sh
new file mode 100644
index 000000000..a736cf994
--- /dev/null
+++ b/3rdparty/libbacktrace/ltmain.sh
@@ -0,0 +1,11156 @@
+#! /bin/sh
+## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
+## by inline-source v2014-01-03.01
+
+# libtool (GNU libtool) 2.4.6
+# Provide generalized library-building support services.
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool 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 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool 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/>.
+
+
+PROGRAM=libtool
+PACKAGE=libtool
+VERSION="2.4.6 Debian-2.4.6-2"
+package_revision=2.4.6
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Run './libtool --help' for help with using this script from the
+# command line.
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# After configure completes, it has a better idea of some of the
+# shell tools we need than the defaults used by the functions shared
+# with bootstrap, so set those here where they can still be over-
+# ridden by the user, but otherwise take precedence.
+
+: ${AUTOCONF="autoconf"}
+: ${AUTOMAKE="automake"}
+
+
+## -------------------------- ##
+## Source external libraries. ##
+## -------------------------- ##
+
+# Much of our low-level functionality needs to be sourced from external
+# libraries, which are installed to $pkgauxdir.
+
+# Set a version string for this script.
+scriptversion=2015-01-20.17; # UTC
+
+# General shell script boiler plate, and helper functions.
+# Written by Gary V. Vaughan, 2004
+
+# Copyright (C) 2004-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program 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.
+
+# As a special exception to the GNU General Public License, if you distribute
+# this file as part of a program or library that is built using GNU Libtool,
+# you may include this file under the same distribution terms that you use
+# for the rest of that program.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNES 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/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# Evaluate this file near the top of your script to gain access to
+# the functions and variables defined here:
+#
+# . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
+#
+# If you need to override any of the default environment variable
+# settings, do that before evaluating this file.
+
+
+## -------------------- ##
+## Shell normalisation. ##
+## -------------------- ##
+
+# Some shells need a little help to be as Bourne compatible as possible.
+# Before doing anything else, make sure all that help has been provided!
+
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac
+fi
+
+# NLS nuisances: We save the old values in case they are required later.
+_G_user_locale=
+_G_safe_locale=
+for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+ eval "if test set = \"\${$_G_var+set}\"; then
+ save_$_G_var=\$$_G_var
+ $_G_var=C
+ export $_G_var
+ _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
+ _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
+ fi"
+done
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Make sure IFS has a sensible default
+sp=' '
+nl='
+'
+IFS="$sp $nl"
+
+# There are apparently some retarded systems that use ';' as a PATH separator!
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+
+## ------------------------- ##
+## Locate command utilities. ##
+## ------------------------- ##
+
+
+# func_executable_p FILE
+# ----------------------
+# Check that FILE is an executable regular file.
+func_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+}
+
+
+# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
+# --------------------------------------------
+# Search for either a program that responds to --version with output
+# containing "GNU", or else returned by CHECK_FUNC otherwise, by
+# trying all the directories in PATH with each of the elements of
+# PROGS_LIST.
+#
+# CHECK_FUNC should accept the path to a candidate program, and
+# set $func_check_prog_result if it truncates its output less than
+# $_G_path_prog_max characters.
+func_path_progs ()
+{
+ _G_progs_list=$1
+ _G_check_func=$2
+ _G_PATH=${3-"$PATH"}
+
+ _G_path_prog_max=0
+ _G_path_prog_found=false
+ _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
+ for _G_dir in $_G_PATH; do
+ IFS=$_G_save_IFS
+ test -z "$_G_dir" && _G_dir=.
+ for _G_prog_name in $_G_progs_list; do
+ for _exeext in '' .EXE; do
+ _G_path_prog=$_G_dir/$_G_prog_name$_exeext
+ func_executable_p "$_G_path_prog" || continue
+ case `"$_G_path_prog" --version 2>&1` in
+ *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
+ *) $_G_check_func $_G_path_prog
+ func_path_progs_result=$func_check_prog_result
+ ;;
+ esac
+ $_G_path_prog_found && break 3
+ done
+ done
+ done
+ IFS=$_G_save_IFS
+ test -z "$func_path_progs_result" && {
+ echo "no acceptable sed could be found in \$PATH" >&2
+ exit 1
+ }
+}
+
+
+# We want to be able to use the functions in this file before configure
+# has figured out where the best binaries are kept, which means we have
+# to search for them ourselves - except when the results are already set
+# where we skip the searches.
+
+# Unless the user overrides by setting SED, search the path for either GNU
+# sed, or the sed that truncates its output the least.
+test -z "$SED" && {
+ _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+ for _G_i in 1 2 3 4 5 6 7; do
+ _G_sed_script=$_G_sed_script$nl$_G_sed_script
+ done
+ echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
+ _G_sed_script=
+
+ func_check_prog_sed ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo '' >> conftest.nl
+ "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
+ rm -f conftest.sed
+ SED=$func_path_progs_result
+}
+
+
+# Unless the user overrides by setting GREP, search the path for either GNU
+# grep, or the grep that truncates its output the least.
+test -z "$GREP" && {
+ func_check_prog_grep ()
+ {
+ _G_path_prog=$1
+
+ _G_count=0
+ _G_path_prog_max=0
+ printf 0123456789 >conftest.in
+ while :
+ do
+ cat conftest.in conftest.in >conftest.tmp
+ mv conftest.tmp conftest.in
+ cp conftest.in conftest.nl
+ echo 'GREP' >> conftest.nl
+ "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
+ diff conftest.out conftest.nl >/dev/null 2>&1 || break
+ _G_count=`expr $_G_count + 1`
+ if test "$_G_count" -gt "$_G_path_prog_max"; then
+ # Best one so far, save it but keep looking for a better one
+ func_check_prog_result=$_G_path_prog
+ _G_path_prog_max=$_G_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test 10 -lt "$_G_count" && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out
+ }
+
+ func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
+ GREP=$func_path_progs_result
+}
+
+
+## ------------------------------- ##
+## User overridable command paths. ##
+## ------------------------------- ##
+
+# All uppercase variable names are used for environment variables. These
+# variables can be overridden by the user before calling a script that
+# uses them if a suitable command of that name is not already available
+# in the command search PATH.
+
+: ${CP="cp -f"}
+: ${ECHO="printf %s\n"}
+: ${EGREP="$GREP -E"}
+: ${FGREP="$GREP -F"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+
+
+## -------------------- ##
+## Useful sed snippets. ##
+## -------------------- ##
+
+sed_dirname='s|/[^/]*$||'
+sed_basename='s|^.*/||'
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s|\([`"$\\]\)|\\\1|g'
+
+# Same as above, but do not quote variable references.
+sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
+
+# Sed substitution that converts a w32 file name or path
+# that contains forward slashes, into one that contains
+# (escaped) backslashes. A very naive implementation.
+sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
+# Re-'\' parameter expansions in output of sed_double_quote_subst that
+# were '\'-ed in input to the same. If an odd number of '\' preceded a
+# '$' in input to sed_double_quote_subst, that '$' was protected from
+# expansion. Since each input '\' is now two '\'s, look for any number
+# of runs of four '\'s followed by two '\'s and then a '$'. '\' that '$'.
+_G_bs='\\'
+_G_bs2='\\\\'
+_G_bs4='\\\\\\\\'
+_G_dollar='\$'
+sed_double_backslash="\
+ s/$_G_bs4/&\\
+/g
+ s/^$_G_bs2$_G_dollar/$_G_bs&/
+ s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
+ s/\n//g"
+
+
+## ----------------- ##
+## Global variables. ##
+## ----------------- ##
+
+# Except for the global variables explicitly listed below, the following
+# functions in the '^func_' namespace, and the '^require_' namespace
+# variables initialised in the 'Resource management' section, sourcing
+# this file will not pollute your global namespace with anything
+# else. There's no portable way to scope variables in Bourne shell
+# though, so actually running these functions will sometimes place
+# results into a variable named after the function, and often use
+# temporary variables in the '^_G_' namespace. If you are careful to
+# avoid using those namespaces casually in your sourcing script, things
+# should continue to work as you expect. And, of course, you can freely
+# overwrite any of the functions or variables defined here before
+# calling anything to customize them.
+
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake.
+
+# Allow overriding, eg assuming that you follow the convention of
+# putting '$debug_cmd' at the start of all your functions, you can get
+# bash to show function call trace with:
+#
+# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
+debug_cmd=${debug_cmd-":"}
+exit_cmd=:
+
+# By convention, finish your script with:
+#
+# exit $exit_status
+#
+# so that you can set exit_status to non-zero if you want to indicate
+# something went wrong during execution without actually bailing out at
+# the point of failure.
+exit_status=$EXIT_SUCCESS
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath=$0
+
+# The name of this program.
+progname=`$ECHO "$progpath" |$SED "$sed_basename"`
+
+# Make sure we have an absolute progpath for reexecution:
+case $progpath in
+ [\\/]*|[A-Za-z]:\\*) ;;
+ *[\\/]*)
+ progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
+ progdir=`cd "$progdir" && pwd`
+ progpath=$progdir/$progname
+ ;;
+ *)
+ _G_IFS=$IFS
+ IFS=${PATH_SEPARATOR-:}
+ for progdir in $PATH; do
+ IFS=$_G_IFS
+ test -x "$progdir/$progname" && break
+ done
+ IFS=$_G_IFS
+ test -n "$progdir" || progdir=`pwd`
+ progpath=$progdir/$progname
+ ;;
+esac
+
+
+## ----------------- ##
+## Standard options. ##
+## ----------------- ##
+
+# The following options affect the operation of the functions defined
+# below, and should be set appropriately depending on run-time para-
+# meters passed on the command line.
+
+opt_dry_run=false
+opt_quiet=false
+opt_verbose=false
+
+# Categories 'all' and 'none' are always available. Append any others
+# you will pass as the first argument to func_warning from your own
+# code.
+warning_categories=
+
+# By default, display warnings according to 'opt_warning_types'. Set
+# 'warning_func' to ':' to elide all warnings, or func_fatal_error to
+# treat the next displayed warning as a fatal error.
+warning_func=func_warn_and_continue
+
+# Set to 'all' to display all warnings, 'none' to suppress all
+# warnings, or a space delimited list of some subset of
+# 'warning_categories' to display only the listed warnings.
+opt_warning_types=all
+
+
+## -------------------- ##
+## Resource management. ##
+## -------------------- ##
+
+# This section contains definitions for functions that each ensure a
+# particular resource (a file, or a non-empty configuration variable for
+# example) is available, and if appropriate to extract default values
+# from pertinent package files. Call them using their associated
+# 'require_*' variable to ensure that they are executed, at most, once.
+#
+# It's entirely deliberate that calling these functions can set
+# variables that don't obey the namespace limitations obeyed by the rest
+# of this file, in order that that they be as useful as possible to
+# callers.
+
+
+# require_term_colors
+# -------------------
+# Allow display of bold text on terminals that support it.
+require_term_colors=func_require_term_colors
+func_require_term_colors ()
+{
+ $debug_cmd
+
+ test -t 1 && {
+ # COLORTERM and USE_ANSI_COLORS environment variables take
+ # precedence, because most terminfo databases neglect to describe
+ # whether color sequences are supported.
+ test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
+
+ if test 1 = "$USE_ANSI_COLORS"; then
+ # Standard ANSI escape sequences
+ tc_reset=''
+ tc_bold=''; tc_standout=''
+ tc_red=''; tc_green=''
+ tc_blue=''; tc_cyan=''
+ else
+ # Otherwise trust the terminfo database after all.
+ test -n "`tput sgr0 2>/dev/null`" && {
+ tc_reset=`tput sgr0`
+ test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
+ tc_standout=$tc_bold
+ test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
+ test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
+ test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
+ test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
+ test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
+ }
+ fi
+ }
+
+ require_term_colors=:
+}
+
+
+## ----------------- ##
+## Function library. ##
+## ----------------- ##
+
+# This section contains a variety of useful functions to call in your
+# scripts. Take note of the portable wrappers for features provided by
+# some modern shells, which will fall back to slower equivalents on
+# less featureful shells.
+
+
+# func_append VAR VALUE
+# ---------------------
+# Append VALUE onto the existing contents of VAR.
+
+ # We should try to minimise forks, especially on Windows where they are
+ # unreasonably slow, so skip the feature probes when bash or zsh are
+ # being used:
+ if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
+ : ${_G_HAVE_ARITH_OP="yes"}
+ : ${_G_HAVE_XSI_OPS="yes"}
+ # The += operator was introduced in bash 3.1
+ case $BASH_VERSION in
+ [12].* | 3.0 | 3.0*) ;;
+ *)
+ : ${_G_HAVE_PLUSEQ_OP="yes"}
+ ;;
+ esac
+ fi
+
+ # _G_HAVE_PLUSEQ_OP
+ # Can be empty, in which case the shell is probed, "yes" if += is
+ # useable or anything else if it does not work.
+ test -z "$_G_HAVE_PLUSEQ_OP" \
+ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
+ && _G_HAVE_PLUSEQ_OP=yes
+
+if test yes = "$_G_HAVE_PLUSEQ_OP"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_append ()
+ {
+ $debug_cmd
+
+ eval "$1+=\$2"
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_append ()
+ {
+ $debug_cmd
+
+ eval "$1=\$$1\$2"
+ }
+fi
+
+
+# func_append_quoted VAR VALUE
+# ----------------------------
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+if test yes = "$_G_HAVE_PLUSEQ_OP"; then
+ eval 'func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1+=\\ \$func_quote_for_eval_result"
+ }'
+else
+ func_append_quoted ()
+ {
+ $debug_cmd
+
+ func_quote_for_eval "$2"
+ eval "$1=\$$1\\ \$func_quote_for_eval_result"
+ }
+fi
+
+
+# func_append_uniq VAR VALUE
+# --------------------------
+# Append unique VALUE onto the existing contents of VAR, assuming
+# entries are delimited by the first character of VALUE. For example:
+#
+# func_append_uniq options " --another-option option-argument"
+#
+# will only append to $options if " --another-option option-argument "
+# is not already present somewhere in $options already (note spaces at
+# each end implied by leading space in second argument).
+func_append_uniq ()
+{
+ $debug_cmd
+
+ eval _G_current_value='`$ECHO $'$1'`'
+ _G_delim=`expr "$2" : '\(.\)'`
+
+ case $_G_delim$_G_current_value$_G_delim in
+ *"$2$_G_delim"*) ;;
+ *) func_append "$@" ;;
+ esac
+}
+
+
+# func_arith TERM...
+# ------------------
+# Set func_arith_result to the result of evaluating TERMs.
+ test -z "$_G_HAVE_ARITH_OP" \
+ && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
+ && _G_HAVE_ARITH_OP=yes
+
+if test yes = "$_G_HAVE_ARITH_OP"; then
+ eval 'func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=$(( $* ))
+ }'
+else
+ func_arith ()
+ {
+ $debug_cmd
+
+ func_arith_result=`expr "$@"`
+ }
+fi
+
+
+# func_basename FILE
+# ------------------
+# Set func_basename_result to FILE with everything up to and including
+# the last / stripped.
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ # If this shell supports suffix pattern removal, then use it to avoid
+ # forking. Hide the definitions single quotes in case the shell chokes
+ # on unsupported syntax...
+ _b='func_basename_result=${1##*/}'
+ _d='case $1 in
+ */*) func_dirname_result=${1%/*}$2 ;;
+ * ) func_dirname_result=$3 ;;
+ esac'
+
+else
+ # ...otherwise fall back to using sed.
+ _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
+ _d='func_dirname_result=`$ECHO "$1" |$SED "$sed_dirname"`
+ if test "X$func_dirname_result" = "X$1"; then
+ func_dirname_result=$3
+ else
+ func_append func_dirname_result "$2"
+ fi'
+fi
+
+eval 'func_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+}'
+
+
+# func_dirname FILE APPEND NONDIR_REPLACEMENT
+# -------------------------------------------
+# Compute the dirname of FILE. If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+eval 'func_dirname ()
+{
+ $debug_cmd
+
+ '"$_d"'
+}'
+
+
+# func_dirname_and_basename FILE APPEND NONDIR_REPLACEMENT
+# --------------------------------------------------------
+# Perform func_basename and func_dirname in a single function
+# call:
+# dirname: Compute the dirname of FILE. If nonempty,
+# add APPEND to the result, otherwise set result
+# to NONDIR_REPLACEMENT.
+# value returned in "$func_dirname_result"
+# basename: Compute filename of FILE.
+# value retuned in "$func_basename_result"
+# For efficiency, we do not delegate to the functions above but instead
+# duplicate the functionality here.
+eval 'func_dirname_and_basename ()
+{
+ $debug_cmd
+
+ '"$_b"'
+ '"$_d"'
+}'
+
+
+# func_echo ARG...
+# ----------------
+# Echo program name prefixed message.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_echo_all ARG...
+# --------------------
+# Invoke $ECHO with all args, space-separated.
+func_echo_all ()
+{
+ $ECHO "$*"
+}
+
+
+# func_echo_infix_1 INFIX ARG...
+# ------------------------------
+# Echo program name, followed by INFIX on the first line, with any
+# additional lines not showing INFIX.
+func_echo_infix_1 ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ _G_infix=$1; shift
+ _G_indent=$_G_infix
+ _G_prefix="$progname: $_G_infix: "
+ _G_message=$*
+
+ # Strip color escape sequences before counting printable length
+ for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
+ do
+ test -n "$_G_tc" && {
+ _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
+ _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
+ }
+ done
+ _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`" " ## exclude from sc_prohibit_nested_quotes
+
+ func_echo_infix_1_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_infix_1_IFS
+ $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
+ _G_prefix=$_G_indent
+ done
+ IFS=$func_echo_infix_1_IFS
+}
+
+
+# func_error ARG...
+# -----------------
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 " $tc_standout${tc_red}error$tc_reset" "$*" >&2
+}
+
+
+# func_fatal_error ARG...
+# -----------------------
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+ $debug_cmd
+
+ func_error "$*"
+ exit $EXIT_FAILURE
+}
+
+
+# func_grep EXPRESSION FILENAME
+# -----------------------------
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+ $debug_cmd
+
+ $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_len STRING
+# ---------------
+# Set func_len_result to the length of STRING. STRING may not
+# start with a hyphen.
+ test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=${#1}
+ }'
+else
+ func_len ()
+ {
+ $debug_cmd
+
+ func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+ }
+fi
+
+
+# func_mkdir_p DIRECTORY-PATH
+# ---------------------------
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+ $debug_cmd
+
+ _G_directory_path=$1
+ _G_dir_list=
+
+ if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
+
+ # Protect directory names starting with '-'
+ case $_G_directory_path in
+ -*) _G_directory_path=./$_G_directory_path ;;
+ esac
+
+ # While some portion of DIR does not yet exist...
+ while test ! -d "$_G_directory_path"; do
+ # ...make a list in topmost first order. Use a colon delimited
+ # list incase some portion of path contains whitespace.
+ _G_dir_list=$_G_directory_path:$_G_dir_list
+
+ # If the last portion added has no slash in it, the list is done
+ case $_G_directory_path in */*) ;; *) break ;; esac
+
+ # ...otherwise throw away the child directory and loop
+ _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
+ done
+ _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
+
+ func_mkdir_p_IFS=$IFS; IFS=:
+ for _G_dir in $_G_dir_list; do
+ IFS=$func_mkdir_p_IFS
+ # mkdir can fail with a 'File exist' error if two processes
+ # try to create one of the directories concurrently. Don't
+ # stop in that case!
+ $MKDIR "$_G_dir" 2>/dev/null || :
+ done
+ IFS=$func_mkdir_p_IFS
+
+ # Bail out if we (or some other process) failed to create a directory.
+ test -d "$_G_directory_path" || \
+ func_fatal_error "Failed to create '$1'"
+ fi
+}
+
+
+# func_mktempdir [BASENAME]
+# -------------------------
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible. If
+# given, BASENAME is the basename for that directory.
+func_mktempdir ()
+{
+ $debug_cmd
+
+ _G_template=${TMPDIR-/tmp}/${1-$progname}
+
+ if test : = "$opt_dry_run"; then
+ # Return a directory name, but don't create it in dry-run mode
+ _G_tmpdir=$_G_template-$$
+ else
+
+ # If mktemp works, use that first and foremost
+ _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
+
+ if test ! -d "$_G_tmpdir"; then
+ # Failing that, at least try and use $RANDOM to avoid a race
+ _G_tmpdir=$_G_template-${RANDOM-0}$$
+
+ func_mktempdir_umask=`umask`
+ umask 0077
+ $MKDIR "$_G_tmpdir"
+ umask $func_mktempdir_umask
+ fi
+
+ # If we're not in dry-run mode, bomb out on failure
+ test -d "$_G_tmpdir" || \
+ func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
+ fi
+
+ $ECHO "$_G_tmpdir"
+}
+
+
+# func_normal_abspath PATH
+# ------------------------
+# Remove doubled-up and trailing slashes, "." path components,
+# and cancel out any ".." path components in PATH after making
+# it an absolute path.
+func_normal_abspath ()
+{
+ $debug_cmd
+
+ # These SED scripts presuppose an absolute path with a trailing slash.
+ _G_pathcar='s|^/\([^/]*\).*$|\1|'
+ _G_pathcdr='s|^/[^/]*||'
+ _G_removedotparts=':dotsl
+ s|/\./|/|g
+ t dotsl
+ s|/\.$|/|'
+ _G_collapseslashes='s|/\{1,\}|/|g'
+ _G_finalslash='s|/*$|/|'
+
+ # Start from root dir and reassemble the path.
+ func_normal_abspath_result=
+ func_normal_abspath_tpath=$1
+ func_normal_abspath_altnamespace=
+ case $func_normal_abspath_tpath in
+ "")
+ # Empty path, that just means $cwd.
+ func_stripname '' '/' "`pwd`"
+ func_normal_abspath_result=$func_stripname_result
+ return
+ ;;
+ # The next three entries are used to spot a run of precisely
+ # two leading slashes without using negated character classes;
+ # we take advantage of case's first-match behaviour.
+ ///*)
+ # Unusual form of absolute path, do nothing.
+ ;;
+ //*)
+ # Not necessarily an ordinary path; POSIX reserves leading '//'
+ # and for example Cygwin uses it to access remote file shares
+ # over CIFS/SMB, so we conserve a leading double slash if found.
+ func_normal_abspath_altnamespace=/
+ ;;
+ /*)
+ # Absolute path, do nothing.
+ ;;
+ *)
+ # Relative path, prepend $cwd.
+ func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
+ ;;
+ esac
+
+ # Cancel out all the simple stuff to save iterations. We also want
+ # the path to end with a slash for ease of parsing, so make sure
+ # there is one (and only one) here.
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
+ while :; do
+ # Processed it all yet?
+ if test / = "$func_normal_abspath_tpath"; then
+ # If we ascended to the root using ".." the result may be empty now.
+ if test -z "$func_normal_abspath_result"; then
+ func_normal_abspath_result=/
+ fi
+ break
+ fi
+ func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcar"`
+ func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
+ -e "$_G_pathcdr"`
+ # Figure out what to do with it
+ case $func_normal_abspath_tcomponent in
+ "")
+ # Trailing empty path component, ignore it.
+ ;;
+ ..)
+ # Parent dir; strip last assembled component from result.
+ func_dirname "$func_normal_abspath_result"
+ func_normal_abspath_result=$func_dirname_result
+ ;;
+ *)
+ # Actual path component, append it.
+ func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
+ ;;
+ esac
+ done
+ # Restore leading double-slash if one was found on entry.
+ func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
+}
+
+
+# func_notquiet ARG...
+# --------------------
+# Echo program name prefixed message only when not in quiet mode.
+func_notquiet ()
+{
+ $debug_cmd
+
+ $opt_quiet || func_echo ${1+"$@"}
+
+ # A bug in bash halts the script if the last line of a function
+ # fails when set -e is in force, so we need another command to
+ # work around that:
+ :
+}
+
+
+# func_relative_path SRCDIR DSTDIR
+# --------------------------------
+# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
+func_relative_path ()
+{
+ $debug_cmd
+
+ func_relative_path_result=
+ func_normal_abspath "$1"
+ func_relative_path_tlibdir=$func_normal_abspath_result
+ func_normal_abspath "$2"
+ func_relative_path_tbindir=$func_normal_abspath_result
+
+ # Ascend the tree starting from libdir
+ while :; do
+ # check if we have found a prefix of bindir
+ case $func_relative_path_tbindir in
+ $func_relative_path_tlibdir)
+ # found an exact match
+ func_relative_path_tcancelled=
+ break
+ ;;
+ $func_relative_path_tlibdir*)
+ # found a matching prefix
+ func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
+ func_relative_path_tcancelled=$func_stripname_result
+ if test -z "$func_relative_path_result"; then
+ func_relative_path_result=.
+ fi
+ break
+ ;;
+ *)
+ func_dirname $func_relative_path_tlibdir
+ func_relative_path_tlibdir=$func_dirname_result
+ if test -z "$func_relative_path_tlibdir"; then
+ # Have to descend all the way to the root!
+ func_relative_path_result=../$func_relative_path_result
+ func_relative_path_tcancelled=$func_relative_path_tbindir
+ break
+ fi
+ func_relative_path_result=../$func_relative_path_result
+ ;;
+ esac
+ done
+
+ # Now calculate path; take care to avoid doubling-up slashes.
+ func_stripname '' '/' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ func_stripname '/' '/' "$func_relative_path_tcancelled"
+ if test -n "$func_stripname_result"; then
+ func_append func_relative_path_result "/$func_stripname_result"
+ fi
+
+ # Normalisation. If bindir is libdir, return '.' else relative path.
+ if test -n "$func_relative_path_result"; then
+ func_stripname './' '' "$func_relative_path_result"
+ func_relative_path_result=$func_stripname_result
+ fi
+
+ test -n "$func_relative_path_result" || func_relative_path_result=.
+
+ :
+}
+
+
+# func_quote_for_eval ARG...
+# --------------------------
+# Aesthetically quote ARGs to be evaled later.
+# This function returns two values:
+# i) func_quote_for_eval_result
+# double-quoted, suitable for a subsequent eval
+# ii) func_quote_for_eval_unquoted_result
+# has all characters that are still active within double
+# quotes backslashified.
+func_quote_for_eval ()
+{
+ $debug_cmd
+
+ func_quote_for_eval_unquoted_result=
+ func_quote_for_eval_result=
+ while test 0 -lt $#; do
+ case $1 in
+ *[\\\`\"\$]*)
+ _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
+ *)
+ _G_unquoted_arg=$1 ;;
+ esac
+ if test -n "$func_quote_for_eval_unquoted_result"; then
+ func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
+ else
+ func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
+ fi
+
+ case $_G_unquoted_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting, command substitution and variable expansion
+ # for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ _G_quoted_arg=\"$_G_unquoted_arg\"
+ ;;
+ *)
+ _G_quoted_arg=$_G_unquoted_arg
+ ;;
+ esac
+
+ if test -n "$func_quote_for_eval_result"; then
+ func_append func_quote_for_eval_result " $_G_quoted_arg"
+ else
+ func_append func_quote_for_eval_result "$_G_quoted_arg"
+ fi
+ shift
+ done
+}
+
+
+# func_quote_for_expand ARG
+# -------------------------
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+ $debug_cmd
+
+ case $1 in
+ *[\\\`\"]*)
+ _G_arg=`$ECHO "$1" | $SED \
+ -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
+ *)
+ _G_arg=$1 ;;
+ esac
+
+ case $_G_arg in
+ # Double-quote args containing shell metacharacters to delay
+ # word splitting and command substitution for a subsequent eval.
+ # Many Bourne shells cannot handle close brackets correctly
+ # in scan sets, so we specify it separately.
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
+ _G_arg=\"$_G_arg\"
+ ;;
+ esac
+
+ func_quote_for_expand_result=$_G_arg
+}
+
+
+# func_stripname PREFIX SUFFIX NAME
+# ---------------------------------
+# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_stripname ()
+ {
+ $debug_cmd
+
+ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+ # positional parameters, so assign one to ordinary variable first.
+ func_stripname_result=$3
+ func_stripname_result=${func_stripname_result#"$1"}
+ func_stripname_result=${func_stripname_result%"$2"}
+ }'
+else
+ func_stripname ()
+ {
+ $debug_cmd
+
+ case $2 in
+ .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
+ *) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
+ esac
+ }
+fi
+
+
+# func_show_eval CMD [FAIL_EXP]
+# -----------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+ $debug_cmd
+
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ func_quote_for_expand "$_G_cmd"
+ eval "func_notquiet $func_quote_for_expand_result"
+
+ $opt_dry_run || {
+ eval "$_G_cmd"
+ _G_status=$?
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
+ fi
+ }
+}
+
+
+# func_show_eval_locale CMD [FAIL_EXP]
+# ------------------------------------
+# Unless opt_quiet is true, then output CMD. Then, if opt_dryrun is
+# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it. Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+ $debug_cmd
+
+ _G_cmd=$1
+ _G_fail_exp=${2-':'}
+
+ $opt_quiet || {
+ func_quote_for_expand "$_G_cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+
+ $opt_dry_run || {
+ eval "$_G_user_locale
+ $_G_cmd"
+ _G_status=$?
+ eval "$_G_safe_locale"
+ if test 0 -ne "$_G_status"; then
+ eval "(exit $_G_status); $_G_fail_exp"
+ fi
+ }
+}
+
+
+# func_tr_sh
+# ----------
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result. All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+ $debug_cmd
+
+ case $1 in
+ [0-9]* | *[!a-zA-Z0-9_]*)
+ func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
+ ;;
+ * )
+ func_tr_sh_result=$1
+ ;;
+ esac
+}
+
+
+# func_verbose ARG...
+# -------------------
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+ $debug_cmd
+
+ $opt_verbose && func_echo "$*"
+
+ :
+}
+
+
+# func_warn_and_continue ARG...
+# -----------------------------
+# Echo program name prefixed warning message to standard error.
+func_warn_and_continue ()
+{
+ $debug_cmd
+
+ $require_term_colors
+
+ func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
+}
+
+
+# func_warning CATEGORY ARG...
+# ----------------------------
+# Echo program name prefixed warning message to standard error. Warning
+# messages can be filtered according to CATEGORY, where this function
+# elides messages where CATEGORY is not listed in the global variable
+# 'opt_warning_types'.
+func_warning ()
+{
+ $debug_cmd
+
+ # CATEGORY must be in the warning_categories list!
+ case " $warning_categories " in
+ *" $1 "*) ;;
+ *) func_internal_error "invalid warning category '$1'" ;;
+ esac
+
+ _G_category=$1
+ shift
+
+ case " $opt_warning_types " in
+ *" $_G_category "*) $warning_func ${1+"$@"} ;;
+ esac
+}
+
+
+# func_sort_ver VER1 VER2
+# -----------------------
+# 'sort -V' is not generally available.
+# Note this deviates from the version comparison in automake
+# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
+# but this should suffice as we won't be specifying old
+# version formats or redundant trailing .0 in bootstrap.conf.
+# If we did want full compatibility then we should probably
+# use m4_version_compare from autoconf.
+func_sort_ver ()
+{
+ $debug_cmd
+
+ printf '%s\n%s\n' "$1" "$2" \
+ | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
+}
+
+# func_lt_ver PREV CURR
+# ---------------------
+# Return true if PREV and CURR are in the correct order according to
+# func_sort_ver, otherwise false. Use it like this:
+#
+# func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
+func_lt_ver ()
+{
+ $debug_cmd
+
+ test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+#! /bin/sh
+
+# Set a version string for this script.
+scriptversion=2014-01-07.03; # UTC
+
+# A portable, pluggable option parser for Bourne shell.
+# Written by Gary V. Vaughan, 2010
+
+# Copyright (C) 2010-2015 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions. There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# This program 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/>.
+
+# Please report bugs or propose patches to gary@gnu.org.
+
+
+## ------ ##
+## Usage. ##
+## ------ ##
+
+# This file is a library for parsing options in your shell scripts along
+# with assorted other useful supporting features that you can make use
+# of too.
+#
+# For the simplest scripts you might need only:
+#
+# #!/bin/sh
+# . relative/path/to/funclib.sh
+# . relative/path/to/options-parser
+# scriptversion=1.0
+# func_options ${1+"$@"}
+# eval set dummy "$func_options_result"; shift
+# ...rest of your script...
+#
+# In order for the '--version' option to work, you will need to have a
+# suitably formatted comment like the one at the top of this file
+# starting with '# Written by ' and ending with '# warranty; '.
+#
+# For '-h' and '--help' to work, you will also need a one line
+# description of your script's purpose in a comment directly above the
+# '# Written by ' line, like the one at the top of this file.
+#
+# The default options also support '--debug', which will turn on shell
+# execution tracing (see the comment above debug_cmd below for another
+# use), and '--verbose' and the func_verbose function to allow your script
+# to display verbose messages only when your user has specified
+# '--verbose'.
+#
+# After sourcing this file, you can plug processing for additional
+# options by amending the variables from the 'Configuration' section
+# below, and following the instructions in the 'Option parsing'
+# section further down.
+
+## -------------- ##
+## Configuration. ##
+## -------------- ##
+
+# You should override these variables in your script after sourcing this
+# file so that they reflect the customisations you have added to the
+# option parser.
+
+# The usage line for option parsing errors and the start of '-h' and
+# '--help' output messages. You can embed shell variables for delayed
+# expansion at the time the message is displayed, but you will need to
+# quote other shell meta-characters carefully to prevent them being
+# expanded when the contents are evaled.
+usage='$progpath [OPTION]...'
+
+# Short help message in response to '-h' and '--help'. Add to this or
+# override it after sourcing this library to reflect the full set of
+# options your script accepts.
+usage_message="\
+ --debug enable verbose shell tracing
+ -W, --warnings=CATEGORY
+ report the warnings falling in CATEGORY [all]
+ -v, --verbose verbosely report processing
+ --version print version information and exit
+ -h, --help print short or long help message and exit
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+long_help_message="
+Warning categories include:
+ 'all' show all warnings
+ 'none' turn off all the warnings
+ 'error' warnings are treated as fatal errors"
+
+# Help message printed before fatal option parsing errors.
+fatal_help="Try '\$progname --help' for more information."
+
+
+
+## ------------------------- ##
+## Hook function management. ##
+## ------------------------- ##
+
+# This section contains functions for adding, removing, and running hooks
+# to the main code. A hook is just a named list of of function, that can
+# be run in order later on.
+
+# func_hookable FUNC_NAME
+# -----------------------
+# Declare that FUNC_NAME will run hooks added with
+# 'func_add_hook FUNC_NAME ...'.
+func_hookable ()
+{
+ $debug_cmd
+
+ func_append hookable_fns " $1"
+}
+
+
+# func_add_hook FUNC_NAME HOOK_FUNC
+# ---------------------------------
+# Request that FUNC_NAME call HOOK_FUNC before it returns. FUNC_NAME must
+# first have been declared "hookable" by a call to 'func_hookable'.
+func_add_hook ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not accept hook functions." ;;
+ esac
+
+ eval func_append ${1}_hooks '" $2"'
+}
+
+
+# func_remove_hook FUNC_NAME HOOK_FUNC
+# ------------------------------------
+# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
+func_remove_hook ()
+{
+ $debug_cmd
+
+ eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
+}
+
+
+# func_run_hooks FUNC_NAME [ARG]...
+# ---------------------------------
+# Run all hook functions registered to FUNC_NAME.
+# It is assumed that the list of hook functions contains nothing more
+# than a whitespace-delimited list of legal shell function names, and
+# no effort is wasted trying to catch shell meta-characters or preserve
+# whitespace.
+func_run_hooks ()
+{
+ $debug_cmd
+
+ case " $hookable_fns " in
+ *" $1 "*) ;;
+ *) func_fatal_error "'$1' does not support hook funcions.n" ;;
+ esac
+
+ eval _G_hook_fns=\$$1_hooks; shift
+
+ for _G_hook in $_G_hook_fns; do
+ eval $_G_hook '"$@"'
+
+ # store returned options list back into positional
+ # parameters for next 'cmd' execution.
+ eval _G_hook_result=\$${_G_hook}_result
+ eval set dummy "$_G_hook_result"; shift
+ done
+
+ func_quote_for_eval ${1+"$@"}
+ func_run_hooks_result=$func_quote_for_eval_result
+}
+
+
+
+## --------------- ##
+## Option parsing. ##
+## --------------- ##
+
+# In order to add your own option parsing hooks, you must accept the
+# full positional parameter list in your hook function, remove any
+# options that you action, and then pass back the remaining unprocessed
+# options in '<hooked_function_name>_result', escaped suitably for
+# 'eval'. Like this:
+#
+# my_options_prep ()
+# {
+# $debug_cmd
+#
+# # Extend the existing usage message.
+# usage_message=$usage_message'
+# -s, --silent don'\''t print informational messages
+# '
+#
+# func_quote_for_eval ${1+"$@"}
+# my_options_prep_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_options_prep my_options_prep
+#
+#
+# my_silent_option ()
+# {
+# $debug_cmd
+#
+# # Note that for efficiency, we parse as many options as we can
+# # recognise in a loop before passing the remainder back to the
+# # caller on the first unrecognised argument we encounter.
+# while test $# -gt 0; do
+# opt=$1; shift
+# case $opt in
+# --silent|-s) opt_silent=: ;;
+# # Separate non-argument short options:
+# -s*) func_split_short_opt "$_G_opt"
+# set dummy "$func_split_short_opt_name" \
+# "-$func_split_short_opt_arg" ${1+"$@"}
+# shift
+# ;;
+# *) set dummy "$_G_opt" "$*"; shift; break ;;
+# esac
+# done
+#
+# func_quote_for_eval ${1+"$@"}
+# my_silent_option_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_parse_options my_silent_option
+#
+#
+# my_option_validation ()
+# {
+# $debug_cmd
+#
+# $opt_silent && $opt_verbose && func_fatal_help "\
+# '--silent' and '--verbose' options are mutually exclusive."
+#
+# func_quote_for_eval ${1+"$@"}
+# my_option_validation_result=$func_quote_for_eval_result
+# }
+# func_add_hook func_validate_options my_option_validation
+#
+# You'll alse need to manually amend $usage_message to reflect the extra
+# options you parse. It's preferable to append if you can, so that
+# multiple option parsing hooks can be added safely.
+
+
+# func_options [ARG]...
+# ---------------------
+# All the functions called inside func_options are hookable. See the
+# individual implementations for details.
+func_hookable func_options
+func_options ()
+{
+ $debug_cmd
+
+ func_options_prep ${1+"$@"}
+ eval func_parse_options \
+ ${func_options_prep_result+"$func_options_prep_result"}
+ eval func_validate_options \
+ ${func_parse_options_result+"$func_parse_options_result"}
+
+ eval func_run_hooks func_options \
+ ${func_validate_options_result+"$func_validate_options_result"}
+
+ # save modified positional parameters for caller
+ func_options_result=$func_run_hooks_result
+}
+
+
+# func_options_prep [ARG]...
+# --------------------------
+# All initialisations required before starting the option parse loop.
+# Note that when calling hook functions, we pass through the list of
+# positional parameters. If a hook function modifies that list, and
+# needs to propogate that back to rest of this script, then the complete
+# modified list must be put in 'func_run_hooks_result' before
+# returning.
+func_hookable func_options_prep
+func_options_prep ()
+{
+ $debug_cmd
+
+ # Option defaults:
+ opt_verbose=false
+ opt_warning_types=
+
+ func_run_hooks func_options_prep ${1+"$@"}
+
+ # save modified positional parameters for caller
+ func_options_prep_result=$func_run_hooks_result
+}
+
+
+# func_parse_options [ARG]...
+# ---------------------------
+# The main option parsing loop.
+func_hookable func_parse_options
+func_parse_options ()
+{
+ $debug_cmd
+
+ func_parse_options_result=
+
+ # this just eases exit handling
+ while test $# -gt 0; do
+ # Defer to hook functions for initial option parsing, so they
+ # get priority in the event of reusing an option name.
+ func_run_hooks func_parse_options ${1+"$@"}
+
+ # Adjust func_parse_options positional parameters to match
+ eval set dummy "$func_run_hooks_result"; shift
+
+ # Break out of the loop if we already parsed every option.
+ test $# -gt 0 || break
+
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --debug|-x) debug_cmd='set -x'
+ func_echo "enabling shell trace mode"
+ $debug_cmd
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ set dummy --warnings none ${1+"$@"}
+ shift
+ ;;
+
+ --warnings|--warning|-W)
+ test $# = 0 && func_missing_arg $_G_opt && break
+ case " $warning_categories $1" in
+ *" $1 "*)
+ # trailing space prevents matching last $1 above
+ func_append_uniq opt_warning_types " $1"
+ ;;
+ *all)
+ opt_warning_types=$warning_categories
+ ;;
+ *none)
+ opt_warning_types=none
+ warning_func=:
+ ;;
+ *error)
+ opt_warning_types=$warning_categories
+ warning_func=func_fatal_error
+ ;;
+ *)
+ func_fatal_error \
+ "unsupported warning category: '$1'"
+ ;;
+ esac
+ shift
+ ;;
+
+ --verbose|-v) opt_verbose=: ;;
+ --version) func_version ;;
+ -\?|-h) func_usage ;;
+ --help) func_help ;;
+
+ # Separate optargs to long options (plugins may need this):
+ --*=*) func_split_equals "$_G_opt"
+ set dummy "$func_split_equals_lhs" \
+ "$func_split_equals_rhs" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate optargs to short options:
+ -W*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ # Separate non-argument short options:
+ -\?*|-h*|-v*|-x*)
+ func_split_short_opt "$_G_opt"
+ set dummy "$func_split_short_opt_name" \
+ "-$func_split_short_opt_arg" ${1+"$@"}
+ shift
+ ;;
+
+ --) break ;;
+ -*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ func_parse_options_result=$func_quote_for_eval_result
+}
+
+
+# func_validate_options [ARG]...
+# ------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+func_hookable func_validate_options
+func_validate_options ()
+{
+ $debug_cmd
+
+ # Display all warnings if -W was not given.
+ test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
+
+ func_run_hooks func_validate_options ${1+"$@"}
+
+ # Bail if the options were screwed!
+ $exit_cmd $EXIT_FAILURE
+
+ # save modified positional parameters for caller
+ func_validate_options_result=$func_run_hooks_result
+}
+
+
+
+## ----------------- ##
+## Helper functions. ##
+## ----------------- ##
+
+# This section contains the helper functions used by the rest of the
+# hookable option parser framework in ascii-betical order.
+
+
+# func_fatal_help ARG...
+# ----------------------
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+ $debug_cmd
+
+ eval \$ECHO \""Usage: $usage"\"
+ eval \$ECHO \""$fatal_help"\"
+ func_error ${1+"$@"}
+ exit $EXIT_FAILURE
+}
+
+
+# func_help
+# ---------
+# Echo long help message to standard output and exit.
+func_help ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message"
+ exit 0
+}
+
+
+# func_missing_arg ARGNAME
+# ------------------------
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+ $debug_cmd
+
+ func_error "Missing argument for '$1'."
+ exit_cmd=exit
+}
+
+
+# func_split_equals STRING
+# ------------------------
+# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
+# splitting STRING at the '=' sign.
+test -z "$_G_HAVE_XSI_OPS" \
+ && (eval 'x=a/b/c;
+ test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
+ && _G_HAVE_XSI_OPS=yes
+
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=${1%%=*}
+ func_split_equals_rhs=${1#*=}
+ test "x$func_split_equals_lhs" = "x$1" \
+ && func_split_equals_rhs=
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_equals ()
+ {
+ $debug_cmd
+
+ func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
+ func_split_equals_rhs=
+ test "x$func_split_equals_lhs" = "x$1" \
+ || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
+ }
+fi #func_split_equals
+
+
+# func_split_short_opt SHORTOPT
+# -----------------------------
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+if test yes = "$_G_HAVE_XSI_OPS"
+then
+ # This is an XSI compatible shell, allowing a faster implementation...
+ eval 'func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_arg=${1#??}
+ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
+ }'
+else
+ # ...otherwise fall back to using expr, which is often a shell builtin.
+ func_split_short_opt ()
+ {
+ $debug_cmd
+
+ func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
+ func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
+ }
+fi #func_split_short_opt
+
+
+# func_usage
+# ----------
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
+ exit 0
+}
+
+
+# func_usage_message
+# ------------------
+# Echo short help message to standard output.
+func_usage_message ()
+{
+ $debug_cmd
+
+ eval \$ECHO \""Usage: $usage"\"
+ echo
+ $SED -n 's|^# ||
+ /^Written by/{
+ x;p;x
+ }
+ h
+ /^Written by/q' < "$progpath"
+ echo
+ eval \$ECHO \""$usage_message"\"
+}
+
+
+# func_version
+# ------------
+# Echo version message to standard output and exit.
+func_version ()
+{
+ $debug_cmd
+
+ printf '%s\n' "$progname $scriptversion"
+ $SED -n '
+ /(C)/!b go
+ :more
+ /\./!{
+ N
+ s|\n# | |
+ b more
+ }
+ :go
+ /^# Written by /,/# warranty; / {
+ s|^# ||
+ s|^# *$||
+ s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
+ p
+ }
+ /^# Written by / {
+ s|^# ||
+ p
+ }
+ /^warranty; /q' < "$progpath"
+
+ exit $?
+}
+
+
+# Local variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
+# time-stamp-time-zone: "UTC"
+# End:
+
+# Set a version string.
+scriptversion='(GNU libtool) 2.4.6'
+
+
+# func_echo ARG...
+# ----------------
+# Libtool also displays the current mode in messages, so override
+# funclib.sh func_echo with this custom definition.
+func_echo ()
+{
+ $debug_cmd
+
+ _G_message=$*
+
+ func_echo_IFS=$IFS
+ IFS=$nl
+ for _G_line in $_G_message; do
+ IFS=$func_echo_IFS
+ $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
+ done
+ IFS=$func_echo_IFS
+}
+
+
+# func_warning ARG...
+# -------------------
+# Libtool warnings are not categorized, so override funclib.sh
+# func_warning with this simpler definition.
+func_warning ()
+{
+ $debug_cmd
+
+ $warning_func ${1+"$@"}
+}
+
+
+## ---------------- ##
+## Options parsing. ##
+## ---------------- ##
+
+# Hook in the functions to make sure our own options are parsed during
+# the option parsing loop.
+
+usage='$progpath [OPTION]... [MODE-ARG]...'
+
+# Short help message in response to '-h'.
+usage_message="Options:
+ --config show all configuration variables
+ --debug enable verbose shell tracing
+ -n, --dry-run display commands without modifying any files
+ --features display basic configuration information and exit
+ --mode=MODE use operation mode MODE
+ --no-warnings equivalent to '-Wnone'
+ --preserve-dup-deps don't remove duplicate dependency libraries
+ --quiet, --silent don't print informational messages
+ --tag=TAG use configuration variables from tag TAG
+ -v, --verbose print more informational messages than default
+ --version print version information
+ -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all]
+ -h, --help, --help-all print short, long, or detailed help message
+"
+
+# Additional text appended to 'usage_message' in response to '--help'.
+func_help ()
+{
+ $debug_cmd
+
+ func_usage_message
+ $ECHO "$long_help_message
+
+MODE must be one of the following:
+
+ clean remove files from the build directory
+ compile compile a source file into a libtool object
+ execute automatically set library path, then run a program
+ finish complete the installation of libtool libraries
+ install install libraries or executables
+ link create a library or an executable
+ uninstall remove libraries from an installed directory
+
+MODE-ARGS vary depending on the MODE. When passed as first option,
+'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
+Try '$progname --help --mode=MODE' for a more detailed description of MODE.
+
+When reporting a bug, please describe a test case to reproduce it and
+include the following information:
+
+ host-triplet: $host
+ shell: $SHELL
+ compiler: $LTCC
+ compiler flags: $LTCFLAGS
+ linker: $LD (gnu? $with_gnu_ld)
+ version: $progname $scriptversion Debian-2.4.6-2
+ automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
+ autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
+
+Report bugs to <bug-libtool@gnu.org>.
+GNU libtool home page: <http://www.gnu.org/s/libtool/>.
+General help using GNU software: <http://www.gnu.org/gethelp/>."
+ exit 0
+}
+
+
+# func_lo2o OBJECT-NAME
+# ---------------------
+# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
+# object suffix.
+
+lo2o=s/\\.lo\$/.$objext/
+o2lo=s/\\.$objext\$/.lo/
+
+if test yes = "$_G_HAVE_XSI_OPS"; then
+ eval 'func_lo2o ()
+ {
+ case $1 in
+ *.lo) func_lo2o_result=${1%.lo}.$objext ;;
+ * ) func_lo2o_result=$1 ;;
+ esac
+ }'
+
+ # func_xform LIBOBJ-OR-SOURCE
+ # ---------------------------
+ # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
+ # suffix to a '.lo' libtool-object suffix.
+ eval 'func_xform ()
+ {
+ func_xform_result=${1%.*}.lo
+ }'
+else
+ # ...otherwise fall back to using sed.
+ func_lo2o ()
+ {
+ func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
+ }
+
+ func_xform ()
+ {
+ func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
+ }
+fi
+
+
+# func_fatal_configuration ARG...
+# -------------------------------
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+ func__fatal_error ${1+"$@"} \
+ "See the $PACKAGE documentation for more information." \
+ "Fatal configuration error."
+}
+
+
+# func_config
+# -----------
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+ re_begincf='^# ### BEGIN LIBTOOL'
+ re_endcf='^# ### END LIBTOOL'
+
+ # Default configuration.
+ $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+ # Now print the configurations for the tags.
+ for tagname in $taglist; do
+ $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+ done
+
+ exit $?
+}
+
+
+# func_features
+# -------------
+# Display the features supported by this script.
+func_features ()
+{
+ echo "host: $host"
+ if test yes = "$build_libtool_libs"; then
+ echo "enable shared libraries"
+ else
+ echo "disable shared libraries"
+ fi
+ if test yes = "$build_old_libs"; then
+ echo "enable static libraries"
+ else
+ echo "disable static libraries"
+ fi
+
+ exit $?
+}
+
+
+# func_enable_tag TAGNAME
+# -----------------------
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag. We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+ # Global variable:
+ tagname=$1
+
+ re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+ re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+ sed_extractcf=/$re_begincf/,/$re_endcf/p
+
+ # Validate tagname.
+ case $tagname in
+ *[!-_A-Za-z0-9,/]*)
+ func_fatal_error "invalid tag name: $tagname"
+ ;;
+ esac
+
+ # Don't test for the "default" C tag, as we know it's
+ # there but not specially marked.
+ case $tagname in
+ CC) ;;
+ *)
+ if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+ taglist="$taglist $tagname"
+
+ # Evaluate the configuration. Be careful to quote the path
+ # and the sed script, to avoid splitting on whitespace, but
+ # also don't use non-portable quotes within backquotes within
+ # quotes we have to do it in 2 steps:
+ extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+ eval "$extractedcf"
+ else
+ func_error "ignoring unknown tag $tagname"
+ fi
+ ;;
+ esac
+}
+
+
+# func_check_version_match
+# ------------------------
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+ if test "$package_revision" != "$macro_revision"; then
+ if test "$VERSION" != "$macro_version"; then
+ if test -z "$macro_version"; then
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+ fi
+ else
+ cat >&2 <<_LT_EOF
+$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+ fi
+
+ exit $EXIT_MISMATCH
+ fi
+}
+
+
+# libtool_options_prep [ARG]...
+# -----------------------------
+# Preparation for options parsed by libtool.
+libtool_options_prep ()
+{
+ $debug_mode
+
+ # Option defaults:
+ opt_config=false
+ opt_dlopen=
+ opt_dry_run=false
+ opt_help=false
+ opt_mode=
+ opt_preserve_dup_deps=false
+ opt_quiet=false
+
+ nonopt=
+ preserve_args=
+
+ # Shorthand for --mode=foo, only valid as the first argument
+ case $1 in
+ clean|clea|cle|cl)
+ shift; set dummy --mode clean ${1+"$@"}; shift
+ ;;
+ compile|compil|compi|comp|com|co|c)
+ shift; set dummy --mode compile ${1+"$@"}; shift
+ ;;
+ execute|execut|execu|exec|exe|ex|e)
+ shift; set dummy --mode execute ${1+"$@"}; shift
+ ;;
+ finish|finis|fini|fin|fi|f)
+ shift; set dummy --mode finish ${1+"$@"}; shift
+ ;;
+ install|instal|insta|inst|ins|in|i)
+ shift; set dummy --mode install ${1+"$@"}; shift
+ ;;
+ link|lin|li|l)
+ shift; set dummy --mode link ${1+"$@"}; shift
+ ;;
+ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+ shift; set dummy --mode uninstall ${1+"$@"}; shift
+ ;;
+ esac
+
+ # Pass back the list of options.
+ func_quote_for_eval ${1+"$@"}
+ libtool_options_prep_result=$func_quote_for_eval_result
+}
+func_add_hook func_options_prep libtool_options_prep
+
+
+# libtool_parse_options [ARG]...
+# ---------------------------------
+# Provide handling for libtool specific options.
+libtool_parse_options ()
+{
+ $debug_cmd
+
+ # Perform our own loop to consume as many options as possible in
+ # each iteration.
+ while test $# -gt 0; do
+ _G_opt=$1
+ shift
+ case $_G_opt in
+ --dry-run|--dryrun|-n)
+ opt_dry_run=:
+ ;;
+
+ --config) func_config ;;
+
+ --dlopen|-dlopen)
+ opt_dlopen="${opt_dlopen+$opt_dlopen
+}$1"
+ shift
+ ;;
+
+ --preserve-dup-deps)
+ opt_preserve_dup_deps=: ;;
+
+ --features) func_features ;;
+
+ --finish) set dummy --mode finish ${1+"$@"}; shift ;;
+
+ --help) opt_help=: ;;
+
+ --help-all) opt_help=': help-all' ;;
+
+ --mode) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_mode=$1
+ case $1 in
+ # Valid mode arguments:
+ clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+ # Catch anything else as an error
+ *) func_error "invalid argument for $_G_opt"
+ exit_cmd=exit
+ break
+ ;;
+ esac
+ shift
+ ;;
+
+ --no-silent|--no-quiet)
+ opt_quiet=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-warnings|--no-warning|--no-warn)
+ opt_warning=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --no-verbose)
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --silent|--quiet)
+ opt_quiet=:
+ opt_verbose=false
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ --tag) test $# = 0 && func_missing_arg $_G_opt && break
+ opt_tag=$1
+ func_append preserve_args " $_G_opt $1"
+ func_enable_tag "$1"
+ shift
+ ;;
+
+ --verbose|-v) opt_quiet=false
+ opt_verbose=:
+ func_append preserve_args " $_G_opt"
+ ;;
+
+ # An option not handled by this hook function:
+ *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
+ esac
+ done
+
+
+ # save modified positional parameters for caller
+ func_quote_for_eval ${1+"$@"}
+ libtool_parse_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_parse_options libtool_parse_options
+
+
+
+# libtool_validate_options [ARG]...
+# ---------------------------------
+# Perform any sanity checks on option settings and/or unconsumed
+# arguments.
+libtool_validate_options ()
+{
+ # save first non-option argument
+ if test 0 -lt $#; then
+ nonopt=$1
+ shift
+ fi
+
+ # preserve --debug
+ test : = "$debug_cmd" || func_append preserve_args " --debug"
+
+ case $host in
+ # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
+ # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
+ *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
+ # don't eliminate duplications in $postdeps and $predeps
+ opt_duplicate_compiler_generated_deps=:
+ ;;
+ *)
+ opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+ ;;
+ esac
+
+ $opt_help || {
+ # Sanity checks first:
+ func_check_version_match
+
+ test yes != "$build_libtool_libs" \
+ && test yes != "$build_old_libs" \
+ && func_fatal_configuration "not configured to build any kind of library"
+
+ # Darwin sucks
+ eval std_shrext=\"$shrext_cmds\"
+
+ # Only execute mode is allowed to have -dlopen flags.
+ if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
+ func_error "unrecognized option '-dlopen'"
+ $ECHO "$help" 1>&2
+ exit $EXIT_FAILURE
+ fi
+
+ # Change the help message to a mode-specific one.
+ generic_help=$help
+ help="Try '$progname --help --mode=$opt_mode' for more information."
+ }
+
+ # Pass back the unparsed argument list
+ func_quote_for_eval ${1+"$@"}
+ libtool_validate_options_result=$func_quote_for_eval_result
+}
+func_add_hook func_validate_options libtool_validate_options
+
+
+# Process options as early as possible so that --help and --version
+# can return quickly.
+func_options ${1+"$@"}
+eval set dummy "$func_options_result"; shift
+
+
+
+## ----------- ##
+## Main. ##
+## ----------- ##
+
+magic='%%%MAGIC variable%%%'
+magic_exe='%%%MAGIC EXE variable%%%'
+
+# Global variables.
+extracted_archives=
+extracted_serial=0
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end. This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+$1
+_LTECHO_EOF'
+}
+
+# func_generated_by_libtool
+# True iff stdin has been generated by Libtool. This function is only
+# a basic sanity check; it will hardly flush out determined imposters.
+func_generated_by_libtool_p ()
+{
+ $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+ test -f "$1" &&
+ $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool '.la' library or '.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs. To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway. Works if 'file' does not exist.
+func_lalib_unsafe_p ()
+{
+ lalib_p=no
+ if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+ for lalib_p_l in 1 2 3 4
+ do
+ read lalib_p_line
+ case $lalib_p_line in
+ \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+ esac
+ done
+ exec 0<&5 5<&-
+ fi
+ test yes = "$lalib_p"
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+ test -f "$1" &&
+ $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+ func_ltwrapper_exec_suffix=
+ case $1 in
+ *.exe) ;;
+ *) func_ltwrapper_exec_suffix=.exe ;;
+ esac
+ $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+ func_dirname_and_basename "$1" "" "."
+ func_stripname '' '.exe' "$func_basename_result"
+ func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+ func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+ $debug_cmd
+
+ save_ifs=$IFS; IFS='~'
+ for cmd in $1; do
+ IFS=$sp$nl
+ eval cmd=\"$cmd\"
+ IFS=$save_ifs
+ func_show_eval "$cmd" "${2-:}"
+ done
+ IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)! Also, sourcing
+# 'FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+ $debug_cmd
+
+ case $1 in
+ */* | *\\*) . "$1" ;;
+ *) . "./$1" ;;
+ esac
+}
+
+
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot. Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+ ;;
+ esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+ case $lt_sysroot:$1 in
+ ?*:"$lt_sysroot"*)
+ func_stripname "$lt_sysroot" '' "$1"
+ func_replace_sysroot_result='='$func_stripname_result
+ ;;
+ *)
+ # Including no sysroot.
+ func_replace_sysroot_result=$1
+ ;;
+ esac
+}
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+ $debug_cmd
+
+ if test -n "$available_tags" && test -z "$tagname"; then
+ CC_quoted=
+ for arg in $CC; do
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case $@ in
+ # Blanks in the command may have been stripped by the calling shell,
+ # but not from the CC environment variable when configure was run.
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
+ # Blanks at the start of $base_compile will cause this to fail
+ # if we don't check for them as well.
+ *)
+ for z in $available_tags; do
+ if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+ # Evaluate the configuration.
+ eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+ CC_quoted=
+ for arg in $CC; do
+ # Double-quote args containing other shell metacharacters.
+ func_append_quoted CC_quoted "$arg"
+ done
+ CC_expanded=`func_echo_all $CC`
+ CC_quoted_expanded=`func_echo_all $CC_quoted`
+ case "$@ " in
+ " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
+ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
+ # The compiler in the base compile command matches
+ # the one in the tagged configuration.
+ # Assume this is the tagged configuration we want.
+ tagname=$z
+ break
+ ;;
+ esac
+ fi
+ done
+ # If $tagname still isn't set, then no tagged configuration
+ # was found and let the user know that the "--tag" command
+ # line option must be used.
+ if test -z "$tagname"; then
+ func_echo "unable to infer tagged configuration"
+ func_fatal_error "specify a tag with '--tag'"
+# else
+# func_verbose "using $tagname tagged configuration"
+ fi
+ ;;
+ esac
+ fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+ write_libobj=$1
+ if test yes = "$build_libtool_libs"; then
+ write_lobj=\'$2\'
+ else
+ write_lobj=none
+ fi
+
+ if test yes = "$build_old_libs"; then
+ write_oldobj=\'$3\'
+ else
+ write_oldobj=none
+ fi
+
+ $opt_dry_run || {
+ cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+ $MV "${write_libobj}T" "$write_libobj"
+ }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+ $debug_cmd
+
+ func_convert_core_file_wine_to_w32_result=$1
+ if test -n "$1"; then
+ # Unfortunately, winepath does not exit with a non-zero error code, so we
+ # are forced to check the contents of stdout. On the other hand, if the
+ # command is not found, the shell will set an exit code of 127 and print
+ # *an error message* to stdout. So we must check for both error code of
+ # zero AND non-empty stdout, which explains the odd construction:
+ func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+ if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
+ func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+ $SED -e "$sed_naive_backslashify"`
+ else
+ func_convert_core_file_wine_to_w32_result=
+ fi
+ fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+ $debug_cmd
+
+ # unfortunately, winepath doesn't convert paths, only file names
+ func_convert_core_path_wine_to_w32_result=
+ if test -n "$1"; then
+ oldIFS=$IFS
+ IFS=:
+ for func_convert_core_path_wine_to_w32_f in $1; do
+ IFS=$oldIFS
+ func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+ if test -n "$func_convert_core_file_wine_to_w32_result"; then
+ if test -z "$func_convert_core_path_wine_to_w32_result"; then
+ func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
+ else
+ func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+ fi
+ fi
+ done
+ IFS=$oldIFS
+ fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+ $debug_cmd
+
+ if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+ func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+ if test "$?" -ne 0; then
+ # on failure, ensure result is empty
+ func_cygpath_result=
+ fi
+ else
+ func_cygpath_result=
+ func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
+ fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format. Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+ $debug_cmd
+
+ # awkward: cmd appends spaces to result
+ func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+ $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+ $debug_cmd
+
+ if test -z "$2" && test -n "$1"; then
+ func_error "Could not determine host file name corresponding to"
+ func_error " '$1'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback:
+ func_to_host_file_result=$1
+ fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+ $debug_cmd
+
+ if test -z "$4" && test -n "$3"; then
+ func_error "Could not determine the host path corresponding to"
+ func_error " '$3'"
+ func_error "Continuing, but uninstalled executables may not work."
+ # Fallback. This is a deliberately simplistic "conversion" and
+ # should not be "improved". See libtool.info.
+ if test "x$1" != "x$2"; then
+ lt_replace_pathsep_chars="s|$1|$2|g"
+ func_to_host_path_result=`echo "$3" |
+ $SED -e "$lt_replace_pathsep_chars"`
+ else
+ func_to_host_path_result=$3
+ fi
+ fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+ $debug_cmd
+
+ case $4 in
+ $1 ) func_to_host_path_result=$3$func_to_host_path_result
+ ;;
+ esac
+ case $4 in
+ $2 ) func_append func_to_host_path_result "$3"
+ ;;
+ esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via '$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+ $debug_cmd
+
+ $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result. If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+ $debug_cmd
+
+ case ,$2, in
+ *,"$to_tool_file_cmd",*)
+ func_to_tool_file_result=$1
+ ;;
+ *)
+ $to_tool_file_cmd "$1"
+ func_to_tool_file_result=$func_to_host_file_result
+ ;;
+ esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+ func_to_host_file_result=$1
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_to_host_file_result=$func_convert_core_msys_to_w32_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+ # LT_CYGPATH in this case.
+ func_to_host_file_result=`cygpath -m "$1"`
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format. Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_file_wine_to_w32 "$1"
+ func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ func_convert_core_msys_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_msys_to_w32_result"
+ func_to_host_file_result=$func_cygpath_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set. Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_file_result=$1
+ if test -n "$1"; then
+ # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+ func_convert_core_file_wine_to_w32 "$1"
+ func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+ func_to_host_file_result=$func_cygpath_result
+ fi
+ func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via '$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format. If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+# file name conversion function : func_convert_file_X_to_Y ()
+# path conversion function : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same. If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+ $debug_cmd
+
+ if test -z "$to_host_path_cmd"; then
+ func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+ to_host_path_cmd=func_convert_path_$func_stripname_result
+ fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+ $debug_cmd
+
+ func_init_to_host_path_cmd
+ $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+ func_to_host_path_result=$1
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper. Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from ARG. MSYS
+ # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+ # and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result=$func_convert_core_msys_to_w32_result
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format. Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format. Requires a wine environment and
+# a working winepath. Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
+ func_convert_path_check : ";" \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+ fi
+}
+# end func_convert_path_nix_to_w32
+
+
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # See func_convert_path_msys_to_w32:
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+ func_to_host_path_result=$func_cygpath_result
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_msys_to_cygwin
+
+
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set. Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+ $debug_cmd
+
+ func_to_host_path_result=$1
+ if test -n "$1"; then
+ # Remove leading and trailing path separator characters from
+ # ARG. msys behavior is inconsistent here, cygpath turns them
+ # into '.;' and ';.', and winepath ignores them completely.
+ func_stripname : : "$1"
+ func_to_host_path_tmp1=$func_stripname_result
+ func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+ func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+ func_to_host_path_result=$func_cygpath_result
+ func_convert_path_check : : \
+ "$func_to_host_path_tmp1" "$func_to_host_path_result"
+ func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+ fi
+}
+# end func_convert_path_nix_to_cygwin
+
+
+# func_dll_def_p FILE
+# True iff FILE is a Windows DLL '.def' file.
+# Keep in sync with _LT_DLL_DEF_P in libtool.m4
+func_dll_def_p ()
+{
+ $debug_cmd
+
+ func_dll_def_p_tmp=`$SED -n \
+ -e 's/^[ ]*//' \
+ -e '/^\(;.*\)*$/d' \
+ -e 's/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p' \
+ -e q \
+ "$1"`
+ test DEF = "$func_dll_def_p_tmp"
+}
+
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+ $debug_cmd
+
+ # Get the compilation command and the source file.
+ base_compile=
+ srcfile=$nonopt # always keep a non-empty value in "srcfile"
+ suppress_opt=yes
+ suppress_output=
+ arg_mode=normal
+ libobj=
+ later=
+ pie_flag=
+
+ for arg
+ do
+ case $arg_mode in
+ arg )
+ # do not "continue". Instead, add this to base_compile
+ lastarg=$arg
+ arg_mode=normal
+ ;;
+
+ target )
+ libobj=$arg
+ arg_mode=normal
+ continue
+ ;;
+
+ normal )
+ # Accept any command-line options.
+ case $arg in
+ -o)
+ test -n "$libobj" && \
+ func_fatal_error "you cannot specify '-o' more than once"
+ arg_mode=target
+ continue
+ ;;
+
+ -pie | -fpie | -fPIE)
+ func_append pie_flag " $arg"
+ continue
+ ;;
+
+ -shared | -static | -prefer-pic | -prefer-non-pic)
+ func_append later " $arg"
+ continue
+ ;;
+
+ -no-suppress)
+ suppress_opt=no
+ continue
+ ;;
+
+ -Xcompiler)
+ arg_mode=arg # the next one goes into the "base_compile" arg list
+ continue # The current "srcfile" will either be retained or
+ ;; # replaced later. I would guess that would be a bug.
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ lastarg=
+ save_ifs=$IFS; IFS=,
+ for arg in $args; do
+ IFS=$save_ifs
+ func_append_quoted lastarg "$arg"
+ done
+ IFS=$save_ifs
+ func_stripname ' ' '' "$lastarg"
+ lastarg=$func_stripname_result
+
+ # Add the arguments to base_compile.
+ func_append base_compile " $lastarg"
+ continue
+ ;;
+
+ *)
+ # Accept the current argument as the source file.
+ # The previous "srcfile" becomes the current argument.
+ #
+ lastarg=$srcfile
+ srcfile=$arg
+ ;;
+ esac # case $arg
+ ;;
+ esac # case $arg_mode
+
+ # Aesthetically quote the previous argument.
+ func_append_quoted base_compile "$lastarg"
+ done # for arg
+
+ case $arg_mode in
+ arg)
+ func_fatal_error "you must specify an argument for -Xcompile"
+ ;;
+ target)
+ func_fatal_error "you must specify a target with '-o'"
+ ;;
+ *)
+ # Get the name of the library object.
+ test -z "$libobj" && {
+ func_basename "$srcfile"
+ libobj=$func_basename_result
+ }
+ ;;
+ esac
+
+ # Recognize several different file suffixes.
+ # If the user specifies -o file.o, it is replaced with file.lo
+ case $libobj in
+ *.[cCFSifmso] | \
+ *.ada | *.adb | *.ads | *.asm | \
+ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
+ func_xform "$libobj"
+ libobj=$func_xform_result
+ ;;
+ esac
+
+ case $libobj in
+ *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+ *)
+ func_fatal_error "cannot determine name of library object from '$libobj'"
+ ;;
+ esac
+
+ func_infer_tag $base_compile
+
+ for arg in $later; do
+ case $arg in
+ -shared)
+ test yes = "$build_libtool_libs" \
+ || func_fatal_configuration "cannot build a shared library"
+ build_old_libs=no
+ continue
+ ;;
+
+ -static)
+ build_libtool_libs=no
+ build_old_libs=yes
+ continue
+ ;;
+
+ -prefer-pic)
+ pic_mode=yes
+ continue
+ ;;
+
+ -prefer-non-pic)
+ pic_mode=no
+ continue
+ ;;
+ esac
+ done
+
+ func_quote_for_eval "$libobj"
+ test "X$libobj" != "X$func_quote_for_eval_result" \
+ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
+ && func_warning "libobj name '$libobj' may not contain shell special characters."
+ func_dirname_and_basename "$obj" "/" ""
+ objname=$func_basename_result
+ xdir=$func_dirname_result
+ lobj=$xdir$objdir/$objname
+
+ test -z "$base_compile" && \
+ func_fatal_help "you must specify a compilation command"
+
+ # Delete any leftover library objects.
+ if test yes = "$build_old_libs"; then
+ removelist="$obj $lobj $libobj ${libobj}T"
+ else
+ removelist="$lobj $libobj ${libobj}T"
+ fi
+
+ # On Cygwin there's no "real" PIC flag so we must build both object types
+ case $host_os in
+ cygwin* | mingw* | pw32* | os2* | cegcc*)
+ pic_mode=default
+ ;;
+ esac
+ if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
+ # non-PIC code in shared libraries is not supported
+ pic_mode=default
+ fi
+
+ # Calculate the filename of the output object if compiler does
+ # not support -o with -c
+ if test no = "$compiler_c_o"; then
+ output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
+ lockfile=$output_obj.lock
+ else
+ output_obj=
+ need_locks=no
+ lockfile=
+ fi
+
+ # Lock this critical section if it is needed
+ # We use this script file to make the link, it avoids creating a new file
+ if test yes = "$need_locks"; then
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ elif test warn = "$need_locks"; then
+ if test -f "$lockfile"; then
+ $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+ func_append removelist " $output_obj"
+ $ECHO "$srcfile" > "$lockfile"
+ fi
+
+ $opt_dry_run || $RM $removelist
+ func_append removelist " $lockfile"
+ trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+ func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+ srcfile=$func_to_tool_file_result
+ func_quote_for_eval "$srcfile"
+ qsrcfile=$func_quote_for_eval_result
+
+ # Only build a PIC object if we are building libtool libraries.
+ if test yes = "$build_libtool_libs"; then
+ # Without this assignment, base_compile gets emptied.
+ fbsd_hideous_sh_bug=$base_compile
+
+ if test no != "$pic_mode"; then
+ command="$base_compile $qsrcfile $pic_flag"
+ else
+ # Don't build PIC code
+ command="$base_compile $qsrcfile"
+ fi
+
+ func_mkdir_p "$xdir$objdir"
+
+ if test -z "$output_obj"; then
+ # Place PIC objects in $objdir
+ func_append command " -o $lobj"
+ fi
+
+ func_show_eval_locale "$command" \
+ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+ if test warn = "$need_locks" &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed, then go on to compile the next one
+ if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+ func_show_eval '$MV "$output_obj" "$lobj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+
+ # Allow error messages only from the first compilation.
+ if test yes = "$suppress_opt"; then
+ suppress_output=' >/dev/null 2>&1'
+ fi
+ fi
+
+ # Only build a position-dependent object if we build old libraries.
+ if test yes = "$build_old_libs"; then
+ if test yes != "$pic_mode"; then
+ # Don't build PIC code
+ command="$base_compile $qsrcfile$pie_flag"
+ else
+ command="$base_compile $qsrcfile $pic_flag"
+ fi
+ if test yes = "$compiler_c_o"; then
+ func_append command " -o $obj"
+ fi
+
+ # Suppress compiler output if we already did a PIC compilation.
+ func_append command "$suppress_output"
+ func_show_eval_locale "$command" \
+ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+ if test warn = "$need_locks" &&
+ test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+ $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support '-c' and '-o' together. If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+ $opt_dry_run || $RM $removelist
+ exit $EXIT_FAILURE
+ fi
+
+ # Just move the object if needed
+ if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+ func_show_eval '$MV "$output_obj" "$obj"' \
+ 'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+ fi
+ fi
+
+ $opt_dry_run || {
+ func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+ # Unlock the critical section if it was locked
+ if test no != "$need_locks"; then
+ removelist=$lockfile
+ $RM "$lockfile"
+ fi
+ }
+
+ exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+ test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+ # We need to display help for each of the modes.
+ case $opt_mode in
+ "")
+ # Generic help is extracted from the usage comments
+ # at the start of this file.
+ func_help
+ ;;
+
+ clean)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ compile)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+ -o OUTPUT-FILE set the output file name to OUTPUT-FILE
+ -no-suppress do not suppress compiler output for multiple passes
+ -prefer-pic try to build PIC objects only
+ -prefer-non-pic try to build non-PIC objects only
+ -shared do not build a '.o' file suitable for static linking
+ -static only build a '.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
+
+COMPILE-COMMAND is a command to be used in creating a 'standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix '.c' with the
+library object suffix, '.lo'."
+ ;;
+
+ execute)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+ -dlopen FILE add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to '-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+ ;;
+
+ finish)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges. Use
+the '--dry-run' option if you just want to see what would be executed."
+ ;;
+
+ install)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command. The first component should be
+either the 'install' or 'cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+ -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+ ;;
+
+ link)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+ -all-static do not do any dynamic linking at all
+ -avoid-version do not add a version suffix if possible
+ -bindir BINDIR specify path to binaries directory (for systems where
+ libraries must be found in the PATH setting at runtime)
+ -dlopen FILE '-dlpreopen' FILE if it cannot be dlopened at runtime
+ -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols
+ -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+ -export-symbols SYMFILE
+ try to export only the symbols listed in SYMFILE
+ -export-symbols-regex REGEX
+ try to export only the symbols matching REGEX
+ -LLIBDIR search LIBDIR for required installed libraries
+ -lNAME OUTPUT-FILE requires the installed library libNAME
+ -module build a library that can dlopened
+ -no-fast-install disable the fast-install mode
+ -no-install link a not-installable executable
+ -no-undefined declare that a library does not refer to external symbols
+ -o OUTPUT-FILE create OUTPUT-FILE from the specified objects
+ -objectlist FILE use a list of object files found in FILE to specify objects
+ -os2dllname NAME force a short DLL name on OS/2 (no effect on other OSes)
+ -precious-files-regex REGEX
+ don't remove output files matching REGEX
+ -release RELEASE specify package release information
+ -rpath LIBDIR the created library will eventually be installed in LIBDIR
+ -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries
+ -shared only do dynamic linking of libtool libraries
+ -shrext SUFFIX override the standard shared library file extension
+ -static do not do any dynamic linking of uninstalled libtool libraries
+ -static-libtool-libs
+ do not do any dynamic linking of libtool libraries
+ -version-info CURRENT[:REVISION[:AGE]]
+ specify library version info [each variable defaults to 0]
+ -weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
+
+All other options (arguments beginning with '-') are ignored.
+
+Every other argument is treated as a filename. Files ending in '.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in '.la', then a libtool library is created,
+only library objects ('.lo' files) may be specified, and '-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
+using 'ar' and 'ranlib', or on Windows using 'lib'.
+
+If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
+is created, otherwise an executable program is created."
+ ;;
+
+ uninstall)
+ $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically '/bin/rm'). RM-OPTIONS are options (such as '-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+ ;;
+
+ *)
+ func_fatal_help "invalid operation mode '$opt_mode'"
+ ;;
+ esac
+
+ echo
+ $ECHO "Try '$progname --help' for more information about other modes."
+}
+
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test : = "$opt_help"; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | $SED -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for opt_mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ $SED '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+ $debug_cmd
+
+ # The first argument is the command name.
+ cmd=$nonopt
+ test -z "$cmd" && \
+ func_fatal_help "you must specify a COMMAND"
+
+ # Handle -dlopen flags immediately.
+ for file in $opt_dlopen; do
+ test -f "$file" \
+ || func_fatal_help "'$file' is not a file"
+
+ dir=
+ case $file in
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "'$lib' is not a valid libtool archive"
+
+ # Read the libtool library.
+ dlname=
+ library_names=
+ func_source "$file"
+
+ # Skip this library if it cannot be dlopened.
+ if test -z "$dlname"; then
+ # Warn if it was a shared library.
+ test -n "$library_names" && \
+ func_warning "'$file' was not linked with '-export-dynamic'"
+ continue
+ fi
+
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+
+ if test -f "$dir/$objdir/$dlname"; then
+ func_append dir "/$objdir"
+ else
+ if test ! -f "$dir/$dlname"; then
+ func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
+ fi
+ fi
+ ;;
+
+ *.lo)
+ # Just add the directory containing the .lo file.
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+ ;;
+
+ *)
+ func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
+ continue
+ ;;
+ esac
+
+ # Get the absolute pathname.
+ absdir=`cd "$dir" && pwd`
+ test -n "$absdir" && dir=$absdir
+
+ # Now add the directory to shlibpath_var.
+ if eval "test -z \"\$$shlibpath_var\""; then
+ eval "$shlibpath_var=\"\$dir\""
+ else
+ eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+ fi
+ done
+
+ # This variable tells wrapper scripts just to set shlibpath_var
+ # rather than running their programs.
+ libtool_execute_magic=$magic
+
+ # Check if any of the arguments is a wrapper script.
+ args=
+ for file
+ do
+ case $file in
+ -* | *.la | *.lo ) ;;
+ *)
+ # Do a test to see if this is really a libtool program.
+ if func_ltwrapper_script_p "$file"; then
+ func_source "$file"
+ # Transform arg to wrapped name.
+ file=$progdir/$program
+ elif func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ func_source "$func_ltwrapper_scriptname_result"
+ # Transform arg to wrapped name.
+ file=$progdir/$program
+ fi
+ ;;
+ esac
+ # Quote arguments (to preserve shell metacharacters).
+ func_append_quoted args "$file"
+ done
+
+ if $opt_dry_run; then
+ # Display what would be done.
+ if test -n "$shlibpath_var"; then
+ eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+ echo "export $shlibpath_var"
+ fi
+ $ECHO "$cmd$args"
+ exit $EXIT_SUCCESS
+ else
+ if test -n "$shlibpath_var"; then
+ # Export the shlibpath_var.
+ eval "export $shlibpath_var"
+ fi
+
+ # Restore saved environment variables
+ for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+ do
+ eval "if test \"\${save_$lt_var+set}\" = set; then
+ $lt_var=\$save_$lt_var; export $lt_var
+ else
+ $lt_unset $lt_var
+ fi"
+ done
+
+ # Now prepare to actually exec the command.
+ exec_cmd=\$cmd$args
+ fi
+}
+
+test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+ $debug_cmd
+
+ libs=
+ libdirs=
+ admincmds=
+
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "'$opt' is not a valid libtool archive"
+ fi
+
+ else
+ func_fatal_error "invalid argument '$opt'"
+ fi
+ done
+
+ if test -n "$libs"; then
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+ sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+ else
+ sysroot_cmd=
+ fi
+
+ # Remove sysroot references
+ if $opt_dry_run; then
+ for lib in $libs; do
+ echo "removing references to $lt_sysroot and '=' prefixes from $lib"
+ done
+ else
+ tmpdir=`func_mktempdir`
+ for lib in $libs; do
+ $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
+ done
+ ${RM}r "$tmpdir"
+ fi
+ fi
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ for libdir in $libdirs; do
+ if test -n "$finish_cmds"; then
+ # Do each command in the finish commands.
+ func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+ fi
+ if test -n "$finish_eval"; then
+ # Do the single finish_eval.
+ eval cmds=\"$finish_eval\"
+ $opt_dry_run || eval "$cmds" || func_append admincmds "
+ $cmds"
+ fi
+ done
+ fi
+
+ # Exit here if they wanted silent mode.
+ $opt_quiet && exit $EXIT_SUCCESS
+
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo "----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the '-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the '$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the '$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
+
+ $ECHO " - use the '$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
+ fi
+ echo
+
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo "----------------------------------------------------------------------"
+ fi
+ exit $EXIT_SUCCESS
+}
+
+test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+ $debug_cmd
+
+ # There may be an optional sh(1) argument at the beginning of
+ # install_prog (especially on Windows NT).
+ if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
+ # Allow the use of GNU shtool's install command.
+ case $nonopt in *shtool*) :;; *) false;; esac
+ then
+ # Aesthetically quote it.
+ func_quote_for_eval "$nonopt"
+ install_prog="$func_quote_for_eval_result "
+ arg=$1
+ shift
+ else
+ install_prog=
+ arg=$nonopt
+ fi
+
+ # The real first argument should be the name of the installation program.
+ # Aesthetically quote it.
+ func_quote_for_eval "$arg"
+ func_append install_prog "$func_quote_for_eval_result"
+ install_shared_prog=$install_prog
+ case " $install_prog " in
+ *[\\\ /]cp\ *) install_cp=: ;;
+ *) install_cp=false ;;
+ esac
+
+ # We need to accept at least all the BSD install flags.
+ dest=
+ files=
+ opts=
+ prev=
+ install_type=
+ isdir=false
+ stripme=
+ no_mode=:
+ for arg
+ do
+ arg2=
+ if test -n "$dest"; then
+ func_append files " $dest"
+ dest=$arg
+ continue
+ fi
+
+ case $arg in
+ -d) isdir=: ;;
+ -f)
+ if $install_cp; then :; else
+ prev=$arg
+ fi
+ ;;
+ -g | -m | -o)
+ prev=$arg
+ ;;
+ -s)
+ stripme=" -s"
+ continue
+ ;;
+ -*)
+ ;;
+ *)
+ # If the previous option needed an argument, then skip it.
+ if test -n "$prev"; then
+ if test X-m = "X$prev" && test -n "$install_override_mode"; then
+ arg2=$install_override_mode
+ no_mode=false
+ fi
+ prev=
+ else
+ dest=$arg
+ continue
+ fi
+ ;;
+ esac
+
+ # Aesthetically quote the argument.
+ func_quote_for_eval "$arg"
+ func_append install_prog " $func_quote_for_eval_result"
+ if test -n "$arg2"; then
+ func_quote_for_eval "$arg2"
+ fi
+ func_append install_shared_prog " $func_quote_for_eval_result"
+ done
+
+ test -z "$install_prog" && \
+ func_fatal_help "you must specify an install program"
+
+ test -n "$prev" && \
+ func_fatal_help "the '$prev' option requires an argument"
+
+ if test -n "$install_override_mode" && $no_mode; then
+ if $install_cp; then :; else
+ func_quote_for_eval "$install_override_mode"
+ func_append install_shared_prog " -m $func_quote_for_eval_result"
+ fi
+ fi
+
+ if test -z "$files"; then
+ if test -z "$dest"; then
+ func_fatal_help "no file or destination specified"
+ else
+ func_fatal_help "you must specify a destination"
+ fi
+ fi
+
+ # Strip any trailing slash from the destination.
+ func_stripname '' '/' "$dest"
+ dest=$func_stripname_result
+
+ # Check to see that the destination is a directory.
+ test -d "$dest" && isdir=:
+ if $isdir; then
+ destdir=$dest
+ destname=
+ else
+ func_dirname_and_basename "$dest" "" "."
+ destdir=$func_dirname_result
+ destname=$func_basename_result
+
+ # Not a directory, so check to see that there is only one file specified.
+ set dummy $files; shift
+ test "$#" -gt 1 && \
+ func_fatal_help "'$dest' is not a directory"
+ fi
+ case $destdir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ for file in $files; do
+ case $file in
+ *.lo) ;;
+ *)
+ func_fatal_help "'$destdir' must be an absolute directory name"
+ ;;
+ esac
+ done
+ ;;
+ esac
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic=$magic
+
+ staticlibs=
+ future_libdirs=
+ current_libdirs=
+ for file in $files; do
+
+ # Do each installation.
+ case $file in
+ *.$libext)
+ # Do the static libraries later.
+ func_append staticlibs " $file"
+ ;;
+
+ *.la)
+ func_resolve_sysroot "$file"
+ file=$func_resolve_sysroot_result
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$file" \
+ || func_fatal_help "'$file' is not a valid libtool archive"
+
+ library_names=
+ old_library=
+ relink_command=
+ func_source "$file"
+
+ # Add the libdir to current_libdirs if it is the destination.
+ if test "X$destdir" = "X$libdir"; then
+ case "$current_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append current_libdirs " $libdir" ;;
+ esac
+ else
+ # Note the libdir as a future libdir.
+ case "$future_libdirs " in
+ *" $libdir "*) ;;
+ *) func_append future_libdirs " $libdir" ;;
+ esac
+ fi
+
+ func_dirname "$file" "/" ""
+ dir=$func_dirname_result
+ func_append dir "$objdir"
+
+ if test -n "$relink_command"; then
+ # Determine the prefix the user has applied to our future dir.
+ inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
+
+ # Don't allow the user to place us outside of our expected
+ # location b/c this prevents finding dependent libraries that
+ # are installed to the same prefix.
+ # At present, this check doesn't affect windows .dll's that
+ # are installed into $libdir/../bin (currently, that works fine)
+ # but it's something to keep an eye on.
+ test "$inst_prefix_dir" = "$destdir" && \
+ func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
+
+ if test -n "$inst_prefix_dir"; then
+ # Stick the inst_prefix_dir data into the link command.
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+ else
+ relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
+ fi
+
+ func_warning "relinking '$file'"
+ func_show_eval "$relink_command" \
+ 'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
+ fi
+
+ # See the names of the shared library.
+ set dummy $library_names; shift
+ if test -n "$1"; then
+ realname=$1
+ shift
+
+ srcname=$realname
+ test -n "$relink_command" && srcname=${realname}T
+
+ # Install the shared library and build the symlinks.
+ func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
+ 'exit $?'
+ tstripme=$stripme
+ case $host_os in
+ cygwin* | mingw* | pw32* | cegcc*)
+ case $realname in
+ *.dll.a)
+ tstripme=
+ ;;
+ esac
+ ;;
+ os2*)
+ case $realname in
+ *_dll.a)
+ tstripme=
+ ;;
+ esac
+ ;;
+ esac
+ if test -n "$tstripme" && test -n "$striplib"; then
+ func_show_eval "$striplib $destdir/$realname" 'exit $?'
+ fi
+
+ if test "$#" -gt 0; then
+ # Delete the old symlinks, and create new ones.
+ # Try 'ln -sf' first, because the 'ln' binary might depend on
+ # the symlink we replace! Solaris /bin/ln does not understand -f,
+ # so we also need to try rm && ln -s.
+ for linkname
+ do
+ test "$linkname" != "$realname" \
+ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+ done
+ fi
+
+ # Do each command in the postinstall commands.
+ lib=$destdir/$realname
+ func_execute_cmds "$postinstall_cmds" 'exit $?'
+ fi
+
+ # Install the pseudo-library for information purposes.
+ func_basename "$file"
+ name=$func_basename_result
+ instname=$dir/${name}i
+ func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+ # Maybe install the static library, too.
+ test -n "$old_library" && func_append staticlibs " $dir/$old_library"
+ ;;
+
+ *.lo)
+ # Install (i.e. copy) a libtool object.
+
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile=$destdir/$destname
+ else
+ func_basename "$file"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
+ fi
+
+ # Deduce the name of the destination old-style object file.
+ case $destfile in
+ *.lo)
+ func_lo2o "$destfile"
+ staticdest=$func_lo2o_result
+ ;;
+ *.$objext)
+ staticdest=$destfile
+ destfile=
+ ;;
+ *)
+ func_fatal_help "cannot copy a libtool object to '$destfile'"
+ ;;
+ esac
+
+ # Install the libtool object if requested.
+ test -n "$destfile" && \
+ func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+ # Install the old object if enabled.
+ if test yes = "$build_old_libs"; then
+ # Deduce the name of the old-style object file.
+ func_lo2o "$file"
+ staticobj=$func_lo2o_result
+ func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+ fi
+ exit $EXIT_SUCCESS
+ ;;
+
+ *)
+ # Figure out destination file name, if it wasn't already specified.
+ if test -n "$destname"; then
+ destfile=$destdir/$destname
+ else
+ func_basename "$file"
+ destfile=$func_basename_result
+ destfile=$destdir/$destfile
+ fi
+
+ # If the file is missing, and there is a .exe on the end, strip it
+ # because it is most likely a libtool script we actually want to
+ # install
+ stripped_ext=
+ case $file in
+ *.exe)
+ if test ! -f "$file"; then
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ stripped_ext=.exe
+ fi
+ ;;
+ esac
+
+ # Do a test to see if this is really a libtool program.
+ case $host in
+ *cygwin* | *mingw*)
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ wrapper=$func_ltwrapper_scriptname_result
+ else
+ func_stripname '' '.exe' "$file"
+ wrapper=$func_stripname_result
+ fi
+ ;;
+ *)
+ wrapper=$file
+ ;;
+ esac
+ if func_ltwrapper_script_p "$wrapper"; then
+ notinst_deplibs=
+ relink_command=
+
+ func_source "$wrapper"
+
+ # Check the variables that should have been set.
+ test -z "$generated_by_libtool_version" && \
+ func_fatal_error "invalid libtool wrapper script '$wrapper'"
+
+ finalize=:
+ for lib in $notinst_deplibs; do
+ # Check to see that each library is installed.
+ libdir=
+ if test -f "$lib"; then
+ func_source "$lib"
+ fi
+ libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
+ if test -n "$libdir" && test ! -f "$libfile"; then
+ func_warning "'$lib' has not been installed in '$libdir'"
+ finalize=false
+ fi
+ done
+
+ relink_command=
+ func_source "$wrapper"
+
+ outputname=
+ if test no = "$fast_install" && test -n "$relink_command"; then
+ $opt_dry_run || {
+ if $finalize; then
+ tmpdir=`func_mktempdir`
+ func_basename "$file$stripped_ext"
+ file=$func_basename_result
+ outputname=$tmpdir/$file
+ # Replace the output file specification.
+ relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
+
+ $opt_quiet || {
+ func_quote_for_expand "$relink_command"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ if eval "$relink_command"; then :
+ else
+ func_error "error: relink '$file' with the above command before installing it"
+ $opt_dry_run || ${RM}r "$tmpdir"
+ continue
+ fi
+ file=$outputname
+ else
+ func_warning "cannot relink '$file'"
+ fi
+ }
+ else
+ # Install the binary that we compiled earlier.
+ file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
+ fi
+ fi
+
+ # remove .exe since cygwin /usr/bin/install will append another
+ # one anyway
+ case $install_prog,$host in
+ */usr/bin/install*,*cygwin*)
+ case $file:$destfile in
+ *.exe:*.exe)
+ # this is ok
+ ;;
+ *.exe:*)
+ destfile=$destfile.exe
+ ;;
+ *:*.exe)
+ func_stripname '' '.exe' "$destfile"
+ destfile=$func_stripname_result
+ ;;
+ esac
+ ;;
+ esac
+ func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+ $opt_dry_run || if test -n "$outputname"; then
+ ${RM}r "$tmpdir"
+ fi
+ ;;
+ esac
+ done
+
+ for file in $staticlibs; do
+ func_basename "$file"
+ name=$func_basename_result
+
+ # Set up the ranlib parameters.
+ oldlib=$destdir/$name
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+
+ func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+ if test -n "$stripme" && test -n "$old_striplib"; then
+ func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
+ fi
+
+ # Do each command in the postinstall commands.
+ func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+ done
+
+ test -n "$future_libdirs" && \
+ func_warning "remember to run '$progname --finish$future_libdirs'"
+
+ if test -n "$current_libdirs"; then
+ # Maybe just do a dry run.
+ $opt_dry_run && current_libdirs=" -n$current_libdirs"
+ exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
+ else
+ exit $EXIT_SUCCESS
+ fi
+}
+
+test install = "$opt_mode" && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+ $debug_cmd
+
+ my_outputname=$1
+ my_originator=$2
+ my_pic_p=${3-false}
+ my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
+ my_dlsyms=
+
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ if test -n "$NM" && test -n "$global_symbol_pipe"; then
+ my_dlsyms=${my_outputname}S.c
+ else
+ func_error "not configured to extract global symbols from dlpreopened files"
+ fi
+ fi
+
+ if test -n "$my_dlsyms"; then
+ case $my_dlsyms in
+ "") ;;
+ *.c)
+ # Discover the nlist of each of the dlfiles.
+ nlist=$output_objdir/$my_outputname.nm
+
+ func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+ # Parse the name list into a source file.
+ func_verbose "creating $output_objdir/$my_dlsyms"
+
+ $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
+#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
+#endif
+
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
+/* DATA imports from DLLs on WIN32 can't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined __osf__
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* External symbol declarations for the compiler. */\
+"
+
+ if test yes = "$dlself"; then
+ func_verbose "generating symbol list for '$output'"
+
+ $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+ # Add our own program objects to the symbol list.
+ progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ for progfile in $progfiles; do
+ func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+ func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
+ $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
+ done
+
+ if test -n "$exclude_expsyms"; then
+ $opt_dry_run || {
+ eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ if test -n "$export_symbols_regex"; then
+ $opt_dry_run || {
+ eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ }
+ fi
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ export_symbols=$output_objdir/$outputname.exp
+ $opt_dry_run || {
+ $RM $export_symbols
+ eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ else
+ $opt_dry_run || {
+ eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+ eval '$MV "$nlist"T "$nlist"'
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+ eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+ ;;
+ esac
+ }
+ fi
+ fi
+
+ for dlprefile in $dlprefiles; do
+ func_verbose "extracting global C symbols from '$dlprefile'"
+ func_basename "$dlprefile"
+ name=$func_basename_result
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ # if an import library, we need to obtain dlname
+ if func_win32_import_lib_p "$dlprefile"; then
+ func_tr_sh "$dlprefile"
+ eval "curr_lafile=\$libfile_$func_tr_sh_result"
+ dlprefile_dlbasename=
+ if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+ # Use subshell, to avoid clobbering current variable values
+ dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+ if test -n "$dlprefile_dlname"; then
+ func_basename "$dlprefile_dlname"
+ dlprefile_dlbasename=$func_basename_result
+ else
+ # no lafile. user explicitly requested -dlpreopen <import library>.
+ $sharedlib_from_linklib_cmd "$dlprefile"
+ dlprefile_dlbasename=$sharedlib_from_linklib_result
+ fi
+ fi
+ $opt_dry_run || {
+ if test -n "$dlprefile_dlbasename"; then
+ eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+ else
+ func_warning "Could not compute DLL name from $name"
+ eval '$ECHO ": $name " >> "$nlist"'
+ fi
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+ $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+ }
+ else # not an import lib
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ fi
+ ;;
+ *)
+ $opt_dry_run || {
+ eval '$ECHO ": $name " >> "$nlist"'
+ func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+ eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+ }
+ ;;
+ esac
+ done
+
+ $opt_dry_run || {
+ # Make sure we have at least an empty file.
+ test -f "$nlist" || : > "$nlist"
+
+ if test -n "$exclude_expsyms"; then
+ $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+ $MV "$nlist"T "$nlist"
+ fi
+
+ # Try sorting and uniquifying the output.
+ if $GREP -v "^: " < "$nlist" |
+ if sort -k 3 </dev/null >/dev/null 2>&1; then
+ sort -k 3
+ else
+ sort +2
+ fi |
+ uniq > "$nlist"S; then
+ :
+ else
+ $GREP -v "^: " < "$nlist" > "$nlist"S
+ fi
+
+ if test -f "$nlist"S; then
+ eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+ else
+ echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
+ fi
+
+ func_show_eval '$RM "${nlist}I"'
+ if test -n "$global_symbol_to_import"; then
+ eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
+ fi
+
+ echo >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols. */
+typedef struct {
+ const char *name;
+ void *address;
+} lt_dlsymlist;
+extern LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];\
+"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+static void lt_syminit(void)
+{
+ LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
+ for (; symbol->name; ++symbol)
+ {"
+ $SED 's/.*/ if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
+ echo >> "$output_objdir/$my_dlsyms" "\
+ }
+}"
+ fi
+ echo >> "$output_objdir/$my_dlsyms" "\
+LT_DLSYM_CONST lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{ {\"$my_originator\", (void *) 0},"
+
+ if test -s "$nlist"I; then
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {\"@INIT@\", (void *) &lt_syminit},"
+ fi
+
+ case $need_lib_prefix in
+ no)
+ eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ *)
+ eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+ ;;
+ esac
+ echo >> "$output_objdir/$my_dlsyms" "\
+ {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+ return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+ } # !$opt_dry_run
+
+ pic_flag_for_symtable=
+ case "$compile_command " in
+ *" -static "*) ;;
+ *)
+ case $host in
+ # compiling the symbol table file with pic_flag works around
+ # a FreeBSD bug that causes programs to crash when -lm is
+ # linked before any other PIC object. But we must not use
+ # pic_flag when linking with -static. The problem exists in
+ # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+ *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+ pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+ *-*-hpux*)
+ pic_flag_for_symtable=" $pic_flag" ;;
+ *)
+ $my_pic_p && pic_flag_for_symtable=" $pic_flag"
+ ;;
+ esac
+ ;;
+ esac
+ symtab_cflags=
+ for arg in $LTCFLAGS; do
+ case $arg in
+ -pie | -fpie | -fPIE) ;;
+ *) func_append symtab_cflags " $arg" ;;
+ esac
+ done
+
+ # Now compile the dynamic symbol file.
+ func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+ # Clean up the generated files.
+ func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
+
+ # Transform the symbol file into the correct name.
+ symfileobj=$output_objdir/${my_outputname}S.$objext
+ case $host in
+ *cygwin* | *mingw* | *cegcc* )
+ if test -f "$output_objdir/$my_outputname.def"; then
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+ else
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ fi
+ ;;
+ *)
+ compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
+ ;;
+ esac
+ ;;
+ *)
+ func_fatal_error "unknown suffix for '$my_dlsyms'"
+ ;;
+ esac
+ else
+ # We keep going just in case the user didn't refer to
+ # lt_preloaded_symbols. The linker will fail if global_symbol_pipe
+ # really was required.
+
+ # Nullify the symbol file.
+ compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
+ finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
+ fi
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+ test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+ $debug_cmd
+
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+ test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+# Despite the name, also deal with 64 bit binaries.
+func_win32_libid ()
+{
+ $debug_cmd
+
+ win32_libid_type=unknown
+ win32_fileres=`file -L $1 2>/dev/null`
+ case $win32_fileres in
+ *ar\ archive\ import\ library*) # definitely import
+ win32_libid_type="x86 archive import"
+ ;;
+ *ar\ archive*) # could be an import, or static
+ # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
+ if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+ $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
+ case $nm_interface in
+ "MS dumpbin")
+ if func_cygming_ms_implib_p "$1" ||
+ func_cygming_gnu_implib_p "$1"
+ then
+ win32_nmres=import
+ else
+ win32_nmres=
+ fi
+ ;;
+ *)
+ func_to_tool_file "$1" func_convert_file_msys_to_w32
+ win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
+ $SED -n -e '
+ 1,100{
+ / I /{
+ s|.*|import|
+ p
+ q
+ }
+ }'`
+ ;;
+ esac
+ case $win32_nmres in
+ import*) win32_libid_type="x86 archive import";;
+ *) win32_libid_type="x86 archive static";;
+ esac
+ fi
+ ;;
+ *DLL*)
+ win32_libid_type="x86 DLL"
+ ;;
+ *executable*) # but shell scripts are "executable" too...
+ case $win32_fileres in
+ *MS\ Windows\ PE\ Intel*)
+ win32_libid_type="x86 DLL"
+ ;;
+ esac
+ ;;
+ esac
+ $ECHO "$win32_libid_type"
+}
+
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+ $debug_cmd
+
+ sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+ $debug_cmd
+
+ match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+ $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+ $SED '/^Contents of section '"$match_literal"':/{
+ # Place marker at beginning of archive member dllname section
+ s/.*/====MARK====/
+ p
+ d
+ }
+ # These lines can sometimes be longer than 43 characters, but
+ # are always uninteresting
+ /:[ ]*file format pe[i]\{,1\}-/d
+ /^In archive [^:]*:/d
+ # Ensure marker is printed
+ /^====MARK====/p
+ # Remove all lines with less than 43 characters
+ /^.\{43\}/!d
+ # From remaining lines, remove first 43 characters
+ s/^.\{43\}//' |
+ $SED -n '
+ # Join marker and all lines until next marker into a single line
+ /^====MARK====/ b para
+ H
+ $ b para
+ b
+ :para
+ x
+ s/\n//g
+ # Remove the marker
+ s/^====MARK====//
+ # Remove trailing dots and whitespace
+ s/[\. \t]*$//
+ # Print
+ /./p' |
+ # we now have a list, one entry per line, of the stringified
+ # contents of the appropriate section of all members of the
+ # archive that possess that section. Heuristic: eliminate
+ # all those that have a first or second character that is
+ # a '.' (that is, objdump's representation of an unprintable
+ # character.) This should work for all archives with less than
+ # 0x302f exports -- but will fail for DLLs whose name actually
+ # begins with a literal '.' or a single character followed by
+ # a '.'.
+ #
+ # Of those that remain, print the first one.
+ $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+# $sharedlib_from_linklib_cmd
+# Result is available in the variable
+# $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+ $debug_cmd
+
+ if func_cygming_gnu_implib_p "$1"; then
+ # binutils import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+ elif func_cygming_ms_implib_p "$1"; then
+ # ms-generated import library
+ sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+ else
+ # unknown
+ sharedlib_from_linklib_result=
+ fi
+}
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+ $debug_cmd
+
+ f_ex_an_ar_dir=$1; shift
+ f_ex_an_ar_oldlib=$1
+ if test yes = "$lock_old_archive_extraction"; then
+ lockfile=$f_ex_an_ar_oldlib.lock
+ until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+ func_echo "Waiting for $lockfile to be removed"
+ sleep 2
+ done
+ fi
+ func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
+ 'stat=$?; rm -f "$lockfile"; exit $stat'
+ if test yes = "$lock_old_archive_extraction"; then
+ $opt_dry_run || rm -f "$lockfile"
+ fi
+ if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+ fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+ $debug_cmd
+
+ my_gentop=$1; shift
+ my_oldlibs=${1+"$@"}
+ my_oldobjs=
+ my_xlib=
+ my_xabs=
+ my_xdir=
+
+ for my_xlib in $my_oldlibs; do
+ # Extract the objects.
+ case $my_xlib in
+ [\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
+ *) my_xabs=`pwd`"/$my_xlib" ;;
+ esac
+ func_basename "$my_xlib"
+ my_xlib=$func_basename_result
+ my_xlib_u=$my_xlib
+ while :; do
+ case " $extracted_archives " in
+ *" $my_xlib_u "*)
+ func_arith $extracted_serial + 1
+ extracted_serial=$func_arith_result
+ my_xlib_u=lt$extracted_serial-$my_xlib ;;
+ *) break ;;
+ esac
+ done
+ extracted_archives="$extracted_archives $my_xlib_u"
+ my_xdir=$my_gentop/$my_xlib_u
+
+ func_mkdir_p "$my_xdir"
+
+ case $host in
+ *-darwin*)
+ func_verbose "Extracting $my_xabs"
+ # Do not bother doing anything if just a dry run
+ $opt_dry_run || {
+ darwin_orig_dir=`pwd`
+ cd $my_xdir || exit $?
+ darwin_archive=$my_xabs
+ darwin_curdir=`pwd`
+ func_basename "$darwin_archive"
+ darwin_base_archive=$func_basename_result
+ darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+ if test -n "$darwin_arches"; then
+ darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+ darwin_arch=
+ func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+ for darwin_arch in $darwin_arches; do
+ func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
+ $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
+ cd "unfat-$$/$darwin_base_archive-$darwin_arch"
+ func_extract_an_archive "`pwd`" "$darwin_base_archive"
+ cd "$darwin_curdir"
+ $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
+ done # $darwin_arches
+ ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+ darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
+ darwin_file=
+ darwin_files=
+ for darwin_file in $darwin_filelist; do
+ darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
+ $LIPO -create -output "$darwin_file" $darwin_files
+ done # $darwin_filelist
+ $RM -rf unfat-$$
+ cd "$darwin_orig_dir"
+ else
+ cd $darwin_orig_dir
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ fi # $darwin_arches
+ } # !$opt_dry_run
+ ;;
+ *)
+ func_extract_an_archive "$my_xdir" "$my_xabs"
+ ;;
+ esac
+ my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
+ done
+
+ func_extract_archives_result=$my_oldobjs
+}
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable. Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take. If 'yes', then the emitted script
+# will assume that the directory where it is stored is
+# the $objdir directory. This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+ func_emit_wrapper_arg1=${1-no}
+
+ $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting. It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+ # install mode needs the following variables:
+ generated_by_libtool_version='$macro_version'
+ notinst_deplibs='$notinst_deplibs'
+else
+ # When we are sourced in execute mode, \$file and \$ECHO are already set.
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ file=\"\$0\""
+
+ qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
+ $ECHO "\
+
+# A function that is used when there is no print builtin or printf.
+func_fallback_echo ()
+{
+ eval 'cat <<_LTECHO_EOF
+\$1
+_LTECHO_EOF'
+}
+ ECHO=\"$qECHO\"
+ fi
+
+# Very basic option parsing. These options are (a) specific to
+# the libtool wrapper, (b) are identical between the wrapper
+# /script/ and the wrapper /executable/ that is used only on
+# windows platforms, and (c) all begin with the string "--lt-"
+# (application programs are unlikely to have options that match
+# this pattern).
+#
+# There are only two supported options: --lt-debug and
+# --lt-dump-script. There is, deliberately, no --lt-help.
+#
+# The first argument to this parsing function should be the
+# script's $0 value, followed by "$@".
+lt_option_debug=
+func_parse_lt_options ()
+{
+ lt_script_arg0=\$0
+ shift
+ for lt_opt
+ do
+ case \"\$lt_opt\" in
+ --lt-debug) lt_option_debug=1 ;;
+ --lt-dump-script)
+ lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
+ test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
+ lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
+ cat \"\$lt_dump_D/\$lt_dump_F\"
+ exit 0
+ ;;
+ --lt-*)
+ \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
+ exit 1
+ ;;
+ esac
+ done
+
+ # Print the debug banner immediately:
+ if test -n \"\$lt_option_debug\"; then
+ echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
+ fi
+}
+
+# Used when --lt-debug. Prints its arguments to stdout
+# (redirection is the responsibility of the caller)
+func_lt_dump_args ()
+{
+ lt_dump_args_N=1;
+ for lt_arg
+ do
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
+ lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
+ done
+}
+
+# Core function for launching the target application
+func_exec_program_core ()
+{
+"
+ case $host in
+ # Backslashes separate directories on plain windows
+ *-*-mingw | *-*-os2* | *-cegcc*)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+ ;;
+
+ *)
+ $ECHO "\
+ if test -n \"\$lt_option_debug\"; then
+ \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
+ func_lt_dump_args \${1+\"\$@\"} 1>&2
+ fi
+ exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+ ;;
+ esac
+ $ECHO "\
+ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+ exit 1
+}
+
+# A function to encapsulate launching the target application
+# Strips options in the --lt-* namespace from \$@ and
+# launches target application with the remaining arguments.
+func_exec_program ()
+{
+ case \" \$* \" in
+ *\\ --lt-*)
+ for lt_wr_arg
+ do
+ case \$lt_wr_arg in
+ --lt-*) ;;
+ *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+ esac
+ shift
+ done ;;
+ esac
+ func_exec_program_core \${1+\"\$@\"}
+}
+
+ # Parse options
+ func_parse_lt_options \"\$0\" \${1+\"\$@\"}
+
+ # Find the directory that this script lives in.
+ thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
+ test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+ # Follow symbolic links until we get to the real thisdir.
+ file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
+ while test -n \"\$file\"; do
+ destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
+
+ # If there was a directory component, then change thisdir.
+ if test \"x\$destdir\" != \"x\$file\"; then
+ case \"\$destdir\" in
+ [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+ *) thisdir=\"\$thisdir/\$destdir\" ;;
+ esac
+ fi
+
+ file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
+ file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
+ done
+
+ # Usually 'no', except on cygwin/mingw when embedded into
+ # the cwrapper.
+ WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
+ if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+ # special case for '.'
+ if test \"\$thisdir\" = \".\"; then
+ thisdir=\`pwd\`
+ fi
+ # remove .libs from thisdir
+ case \"\$thisdir\" in
+ *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
+ $objdir ) thisdir=. ;;
+ esac
+ fi
+
+ # Try to get the absolute directory name.
+ absdir=\`cd \"\$thisdir\" && pwd\`
+ test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+ if test yes = "$fast_install"; then
+ $ECHO "\
+ program=lt-'$outputname'$exeext
+ progdir=\"\$thisdir/$objdir\"
+
+ if test ! -f \"\$progdir/\$program\" ||
+ { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
+ test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+ file=\"\$\$-\$program\"
+
+ if test ! -d \"\$progdir\"; then
+ $MKDIR \"\$progdir\"
+ else
+ $RM \"\$progdir/\$file\"
+ fi"
+
+ $ECHO "\
+
+ # relink executable if necessary
+ if test -n \"\$relink_command\"; then
+ if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+ else
+ \$ECHO \"\$relink_command_output\" >&2
+ $RM \"\$progdir/\$file\"
+ exit 1
+ fi
+ fi
+
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+ { $RM \"\$progdir/\$program\";
+ $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+ $RM \"\$progdir/\$file\"
+ fi"
+ else
+ $ECHO "\
+ program='$outputname'
+ progdir=\"\$thisdir/$objdir\"
+"
+ fi
+
+ $ECHO "\
+
+ if test -f \"\$progdir/\$program\"; then"
+
+ # fixup the dll searchpath if we need to.
+ #
+ # Fix the DLL searchpath if we need to. Do this before prepending
+ # to shlibpath, because on Windows, both are PATH and uninstalled
+ # libraries must come first.
+ if test -n "$dllsearchpath"; then
+ $ECHO "\
+ # Add the dll search path components to the executable PATH
+ PATH=$dllsearchpath:\$PATH
+"
+ fi
+
+ # Export our shlibpath_var if we have one.
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ $ECHO "\
+ # Add our own library path to $shlibpath_var
+ $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+ # Some systems cannot cope with colon-terminated $shlibpath_var
+ # The second colon is a workaround for a bug in BeOS R4 sed
+ $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+
+ export $shlibpath_var
+"
+ fi
+
+ $ECHO "\
+ if test \"\$libtool_execute_magic\" != \"$magic\"; then
+ # Run the actual program with our arguments.
+ func_exec_program \${1+\"\$@\"}
+ fi
+ else
+ # The program doesn't exist.
+ \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
+ \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+ \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+ exit 1
+ fi
+fi\
+"
+}
+
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+ cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+ Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+
+ The $output program cannot be directly executed until all the libtool
+ libraries that it depends on are installed.
+
+ This wrapper executable should never be moved out of the build directory.
+ If it is, it will not operate correctly.
+*/
+EOF
+ cat <<"EOF"
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_DEPRECATE 1
+#endif
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+# include <io.h>
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
+
+/* declarations of non-ANSI functions */
+#if defined __MINGW32__
+# ifdef __STRICT_ANSI__
+int _putenv (const char *);
+# endif
+#elif defined __CYGWIN__
+# ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+# endif
+/* #elif defined other_platform || defined ... */
+#endif
+
+/* portability defines, excluding path handling macros */
+#if defined _MSC_VER
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+# define S_IXUSR _S_IEXEC
+#elif defined __MINGW32__
+# define setmode _setmode
+# define stat _stat
+# define chmod _chmod
+# define getcwd _getcwd
+# define putenv _putenv
+#elif defined __CYGWIN__
+# define HAVE_SETENV
+# define FOPEN_WB "wb"
+/* #elif defined other platforms ... */
+#endif
+
+#if defined PATH_MAX
+# define LT_PATHMAX PATH_MAX
+#elif defined MAXPATHLEN
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+/* path handling portability macros */
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
+ defined __OS2__
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+# define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+# define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+ if (stale) { free (stale); stale = 0; } \
+} while (0)
+
+#if defined LT_DEBUGWRAPPER
+static int lt_debug = 1;
+#else
+static int lt_debug = 0;
+#endif
+
+const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_debugprintf (const char *file, int line, const char *fmt, ...);
+void lt_fatal (const char *file, int line, const char *message, ...);
+static const char *nonnull (const char *s);
+static const char *nonempty (const char *s);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+char **prepare_spawn (char **argv);
+void lt_dump_script (FILE *f);
+EOF
+
+ cat <<EOF
+#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
+# define externally_visible volatile
+#else
+# define externally_visible __attribute__((externally_visible)) volatile
+#endif
+externally_visible const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+ if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+ func_to_host_path "$temp_rpath"
+ cat <<EOF
+const char * LIB_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * LIB_PATH_VALUE = "";
+EOF
+ fi
+
+ if test -n "$dllsearchpath"; then
+ func_to_host_path "$dllsearchpath:"
+ cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE = "$func_to_host_path_result";
+EOF
+ else
+ cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE = "";
+EOF
+ fi
+
+ if test yes = "$fast_install"; then
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+ else
+ cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+ fi
+
+
+ cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX "--lt-"
+
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+static const char *dumpscript_opt = LTWRAPPER_OPTION_PREFIX "dump-script";
+static const char *debug_opt = LTWRAPPER_OPTION_PREFIX "debug";
+
+int
+main (int argc, char *argv[])
+{
+ char **newargz;
+ int newargc;
+ char *tmp_pathspec;
+ char *actual_cwrapper_path;
+ char *actual_cwrapper_name;
+ char *target_name;
+ char *lt_argv_zero;
+ int rval = 127;
+
+ int i;
+
+ program_name = (char *) xstrdup (base_name (argv[0]));
+ newargz = XMALLOC (char *, (size_t) argc + 1);
+
+ /* very simple arg parsing; don't want to rely on getopt
+ * also, copy all non cwrapper options to newargz, except
+ * argz[0], which is handled differently
+ */
+ newargc=0;
+ for (i = 1; i < argc; i++)
+ {
+ if (STREQ (argv[i], dumpscript_opt))
+ {
+EOF
+ case $host in
+ *mingw* | *cygwin* )
+ # make stdout use "unix" line endings
+ echo " setmode(1,_O_BINARY);"
+ ;;
+ esac
+
+ cat <<"EOF"
+ lt_dump_script (stdout);
+ return 0;
+ }
+ if (STREQ (argv[i], debug_opt))
+ {
+ lt_debug = 1;
+ continue;
+ }
+ if (STREQ (argv[i], ltwrapper_option_prefix))
+ {
+ /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+ namespace, but it is not one of the ones we know about and
+ have already dealt with, above (inluding dump-script), then
+ report an error. Otherwise, targets might begin to believe
+ they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+ namespace. The first time any user complains about this, we'll
+ need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+ or a configure.ac-settable value.
+ */
+ lt_fatal (__FILE__, __LINE__,
+ "unrecognized %s option: '%s'",
+ ltwrapper_option_prefix, argv[i]);
+ }
+ /* otherwise ... */
+ newargz[++newargc] = xstrdup (argv[i]);
+ }
+ newargz[++newargc] = NULL;
+
+EOF
+ cat <<EOF
+ /* The GNU banner must be the first non-error debug message */
+ lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
+EOF
+ cat <<"EOF"
+ lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
+
+ tmp_pathspec = find_executable (argv[0]);
+ if (tmp_pathspec == NULL)
+ lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (before symlink chase) at: %s\n",
+ tmp_pathspec);
+
+ actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) found exe (after symlink chase) at: %s\n",
+ actual_cwrapper_path);
+ XFREE (tmp_pathspec);
+
+ actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
+ strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+ /* wrapper name transforms */
+ strendzap (actual_cwrapper_name, ".exe");
+ tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+ XFREE (actual_cwrapper_name);
+ actual_cwrapper_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ /* target_name transforms -- use actual target program name; might have lt- prefix */
+ target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+ strendzap (target_name, ".exe");
+ tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+ XFREE (target_name);
+ target_name = tmp_pathspec;
+ tmp_pathspec = 0;
+
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) libtool target name: %s\n",
+ target_name);
+EOF
+
+ cat <<EOF
+ newargz[0] =
+ XMALLOC (char, (strlen (actual_cwrapper_path) +
+ strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+ strcpy (newargz[0], actual_cwrapper_path);
+ strcat (newargz[0], "$objdir");
+ strcat (newargz[0], "/");
+EOF
+
+ cat <<"EOF"
+ /* stop here, and copy so we don't have to do this twice */
+ tmp_pathspec = xstrdup (newargz[0]);
+
+ /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+ strcat (newargz[0], actual_cwrapper_name);
+
+ /* DO want the lt- prefix here if it exists, so use target_name */
+ lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+ XFREE (tmp_pathspec);
+ tmp_pathspec = NULL;
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ {
+ char* p;
+ while ((p = strchr (newargz[0], '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+ {
+ *p = '/';
+ }
+ }
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+ XFREE (target_name);
+ XFREE (actual_cwrapper_path);
+ XFREE (actual_cwrapper_name);
+
+ lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+ lt_setenv ("DUALCASE", "1"); /* for MSK sh */
+ /* Update the DLL searchpath. EXE_PATH_VALUE ($dllsearchpath) must
+ be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+ because on Windows, both *_VARNAMEs are PATH but uninstalled
+ libraries must come first. */
+ lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+ lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+
+ lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
+ nonnull (lt_argv_zero));
+ for (i = 0; i < newargc; i++)
+ {
+ lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
+ i, nonnull (newargz[i]));
+ }
+
+EOF
+
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+ /* execv doesn't actually work on mingw as expected on unix */
+ newargz = prepare_spawn (newargz);
+ rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+ if (rval == -1)
+ {
+ /* failed to start process */
+ lt_debugprintf (__FILE__, __LINE__,
+ "(main) failed to launch target \"%s\": %s\n",
+ lt_argv_zero, nonnull (strerror (errno)));
+ return 127;
+ }
+ return rval;
+EOF
+ ;;
+ *)
+ cat <<"EOF"
+ execv (lt_argv_zero, newargz);
+ return rval; /* =127, but avoids unused variable warning */
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+ void *p = (void *) malloc (num);
+ if (!p)
+ lt_fatal (__FILE__, __LINE__, "memory exhausted");
+
+ return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+ return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+ string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+ const char *base;
+
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ /* Skip over the disk name in MSDOS pathnames. */
+ if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+ name += 2;
+#endif
+
+ for (base = name; *name; name++)
+ if (IS_DIR_SEPARATOR (*name))
+ base = name + 1;
+ return base;
+}
+
+int
+check_executable (const char *path)
+{
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if ((stat (path, &st) >= 0)
+ && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+ return 1;
+ else
+ return 0;
+}
+
+int
+make_executable (const char *path)
+{
+ int rval = 0;
+ struct stat st;
+
+ lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
+ nonempty (path));
+ if ((!path) || (!*path))
+ return 0;
+
+ if (stat (path, &st) >= 0)
+ {
+ rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+ }
+ return rval;
+}
+
+/* Searches for the full path of the wrapper. Returns
+ newly allocated full path name if found, NULL otherwise
+ Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+ int has_slash = 0;
+ const char *p;
+ const char *p_next;
+ /* static buffer for getcwd */
+ char tmp[LT_PATHMAX + 1];
+ size_t tmp_len;
+ char *concat_name;
+
+ lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
+ nonempty (wrapper));
+
+ if ((wrapper == NULL) || (*wrapper == '\0'))
+ return NULL;
+
+ /* Absolute path? */
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ else
+ {
+#endif
+ if (IS_DIR_SEPARATOR (wrapper[0]))
+ {
+ concat_name = xstrdup (wrapper);
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+#if defined HAVE_DOS_BASED_FILE_SYSTEM
+ }
+#endif
+
+ for (p = wrapper; *p; p++)
+ if (*p == '/')
+ {
+ has_slash = 1;
+ break;
+ }
+ if (!has_slash)
+ {
+ /* no slashes; search PATH */
+ const char *path = getenv ("PATH");
+ if (path != NULL)
+ {
+ for (p = path; *p; p = p_next)
+ {
+ const char *q;
+ size_t p_len;
+ for (q = p; *q; q++)
+ if (IS_PATH_SEPARATOR (*q))
+ break;
+ p_len = (size_t) (q - p);
+ p_next = (*q == '\0' ? q : q + 1);
+ if (p_len == 0)
+ {
+ /* empty path: current directory */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name =
+ XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+ }
+ else
+ {
+ concat_name =
+ XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, p, p_len);
+ concat_name[p_len] = '/';
+ strcpy (concat_name + p_len + 1, wrapper);
+ }
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ }
+ }
+ /* not found in PATH; assume curdir */
+ }
+ /* Relative path | not found in path: prepend cwd */
+ if (getcwd (tmp, LT_PATHMAX) == NULL)
+ lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
+ nonnull (strerror (errno)));
+ tmp_len = strlen (tmp);
+ concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+ memcpy (concat_name, tmp, tmp_len);
+ concat_name[tmp_len] = '/';
+ strcpy (concat_name + tmp_len + 1, wrapper);
+
+ if (check_executable (concat_name))
+ return concat_name;
+ XFREE (concat_name);
+ return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+ return xstrdup (pathspec);
+#else
+ char buf[LT_PATHMAX];
+ struct stat s;
+ char *tmp_pathspec = xstrdup (pathspec);
+ char *p;
+ int has_symlinks = 0;
+ while (strlen (tmp_pathspec) && !has_symlinks)
+ {
+ lt_debugprintf (__FILE__, __LINE__,
+ "checking path component for symlinks: %s\n",
+ tmp_pathspec);
+ if (lstat (tmp_pathspec, &s) == 0)
+ {
+ if (S_ISLNK (s.st_mode) != 0)
+ {
+ has_symlinks = 1;
+ break;
+ }
+
+ /* search backwards for last DIR_SEPARATOR */
+ p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+ while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ p--;
+ if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+ {
+ /* no more DIR_SEPARATORS left */
+ break;
+ }
+ *p = '\0';
+ }
+ else
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "error accessing file \"%s\": %s",
+ tmp_pathspec, nonnull (strerror (errno)));
+ }
+ }
+ XFREE (tmp_pathspec);
+
+ if (!has_symlinks)
+ {
+ return xstrdup (pathspec);
+ }
+
+ tmp_pathspec = realpath (pathspec, buf);
+ if (tmp_pathspec == 0)
+ {
+ lt_fatal (__FILE__, __LINE__,
+ "could not follow symlinks for %s", pathspec);
+ }
+ return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+ size_t len, patlen;
+
+ assert (str != NULL);
+ assert (pat != NULL);
+
+ len = strlen (str);
+ patlen = strlen (pat);
+
+ if (patlen <= len)
+ {
+ str += len - patlen;
+ if (STREQ (str, pat))
+ *str = '\0';
+ }
+ return str;
+}
+
+void
+lt_debugprintf (const char *file, int line, const char *fmt, ...)
+{
+ va_list args;
+ if (lt_debug)
+ {
+ (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
+ va_start (args, fmt);
+ (void) vfprintf (stderr, fmt, args);
+ va_end (args);
+ }
+}
+
+static void
+lt_error_core (int exit_status, const char *file,
+ int line, const char *mode,
+ const char *message, va_list ap)
+{
+ fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
+ vfprintf (stderr, message, ap);
+ fprintf (stderr, ".\n");
+
+ if (exit_status >= 0)
+ exit (exit_status);
+}
+
+void
+lt_fatal (const char *file, int line, const char *message, ...)
+{
+ va_list ap;
+ va_start (ap, message);
+ lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
+ va_end (ap);
+}
+
+static const char *
+nonnull (const char *s)
+{
+ return s ? s : "(null)";
+}
+
+static const char *
+nonempty (const char *s)
+{
+ return (s && !*s) ? "(empty)" : nonnull (s);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_setenv) setting '%s' to '%s'\n",
+ nonnull (name), nonnull (value));
+ {
+#ifdef HAVE_SETENV
+ /* always make a copy, for consistency with !HAVE_SETENV */
+ char *str = xstrdup (value);
+ setenv (name, str, 1);
+#else
+ size_t len = strlen (name) + 1 + strlen (value) + 1;
+ char *str = XMALLOC (char, len);
+ sprintf (str, "%s=%s", name, value);
+ if (putenv (str) != EXIT_SUCCESS)
+ {
+ XFREE (str);
+ }
+#endif
+ }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+ char *new_value;
+ if (orig_value && *orig_value)
+ {
+ size_t orig_value_len = strlen (orig_value);
+ size_t add_len = strlen (add);
+ new_value = XMALLOC (char, add_len + orig_value_len + 1);
+ if (to_end)
+ {
+ strcpy (new_value, orig_value);
+ strcpy (new_value + orig_value_len, add);
+ }
+ else
+ {
+ strcpy (new_value, add);
+ strcpy (new_value + add_len, orig_value);
+ }
+ }
+ else
+ {
+ new_value = xstrdup (add);
+ }
+ return new_value;
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ /* some systems can't cope with a ':'-terminated path #' */
+ size_t len = strlen (new_value);
+ while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+ {
+ new_value[--len] = '\0';
+ }
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+ lt_debugprintf (__FILE__, __LINE__,
+ "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+ nonnull (name), nonnull (value));
+
+ if (name && *name && value && *value)
+ {
+ char *new_value = lt_extend_str (getenv (name), value, 0);
+ lt_setenv (name, new_value);
+ XFREE (new_value);
+ }
+}
+
+EOF
+ case $host_os in
+ mingw*)
+ cat <<"EOF"
+
+/* Prepares an argument vector before calling spawn().
+ Note that spawn() does not by itself call the command interpreter
+ (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
+ ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+ GetVersionEx(&v);
+ v.dwPlatformId == VER_PLATFORM_WIN32_NT;
+ }) ? "cmd.exe" : "command.com").
+ Instead it simply concatenates the arguments, separated by ' ', and calls
+ CreateProcess(). We must quote the arguments since Win32 CreateProcess()
+ interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
+ special way:
+ - Space and tab are interpreted as delimiters. They are not treated as
+ delimiters if they are surrounded by double quotes: "...".
+ - Unescaped double quotes are removed from the input. Their only effect is
+ that within double quotes, space and tab are treated like normal
+ characters.
+ - Backslashes not followed by double quotes are not special.
+ - But 2*n+1 backslashes followed by a double quote become
+ n backslashes followed by a double quote (n >= 0):
+ \" -> "
+ \\\" -> \"
+ \\\\\" -> \\"
+ */
+#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+char **
+prepare_spawn (char **argv)
+{
+ size_t argc;
+ char **new_argv;
+ size_t i;
+
+ /* Count number of arguments. */
+ for (argc = 0; argv[argc] != NULL; argc++)
+ ;
+
+ /* Allocate new argument vector. */
+ new_argv = XMALLOC (char *, argc + 1);
+
+ /* Put quoted arguments into the new argument vector. */
+ for (i = 0; i < argc; i++)
+ {
+ const char *string = argv[i];
+
+ if (string[0] == '\0')
+ new_argv[i] = xstrdup ("\"\"");
+ else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
+ {
+ int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
+ size_t length;
+ unsigned int backslashes;
+ const char *s;
+ char *quoted_string;
+ char *p;
+
+ length = 0;
+ backslashes = 0;
+ if (quote_around)
+ length++;
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ length += backslashes + 1;
+ length++;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ length += backslashes + 1;
+
+ quoted_string = XMALLOC (char, length + 1);
+
+ p = quoted_string;
+ backslashes = 0;
+ if (quote_around)
+ *p++ = '"';
+ for (s = string; *s != '\0'; s++)
+ {
+ char c = *s;
+ if (c == '"')
+ {
+ unsigned int j;
+ for (j = backslashes + 1; j > 0; j--)
+ *p++ = '\\';
+ }
+ *p++ = c;
+ if (c == '\\')
+ backslashes++;
+ else
+ backslashes = 0;
+ }
+ if (quote_around)
+ {
+ unsigned int j;
+ for (j = backslashes; j > 0; j--)
+ *p++ = '\\';
+ *p++ = '"';
+ }
+ *p = '\0';
+
+ new_argv[i] = quoted_string;
+ }
+ else
+ new_argv[i] = (char *) string;
+ }
+ new_argv[argc] = NULL;
+
+ return new_argv;
+}
+EOF
+ ;;
+ esac
+
+ cat <<"EOF"
+void lt_dump_script (FILE* f)
+{
+EOF
+ func_emit_wrapper yes |
+ $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/ fputs ("\1", f);/p
+g
+D'
+ cat <<"EOF"
+}
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_win32_import_lib_p ARG
+# True if ARG is an import lib, as indicated by $file_magic_cmd
+func_win32_import_lib_p ()
+{
+ $debug_cmd
+
+ case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
+ *import*) : ;;
+ *) false ;;
+ esac
+}
+
+# func_suncc_cstd_abi
+# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
+# Several compiler flags select an ABI that is incompatible with the
+# Cstd library. Avoid specifying it if any are in CXXFLAGS.
+func_suncc_cstd_abi ()
+{
+ $debug_cmd
+
+ case " $compile_command " in
+ *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
+ suncc_use_cstd_abi=no
+ ;;
+ *)
+ suncc_use_cstd_abi=yes
+ ;;
+ esac
+}
+
+# func_mode_link arg...
+func_mode_link ()
+{
+ $debug_cmd
+
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ # It is impossible to link a dll without this setting, and
+ # we shouldn't force the makefile maintainer to figure out
+ # what system we are compiling for in order to pass an extra
+ # flag for every libtool invocation.
+ # allow_undefined=no
+
+ # FIXME: Unfortunately, there are problems with the above when trying
+ # to make a dll that has undefined symbols, in which case not
+ # even a static library is built. For now, we need to specify
+ # -no-undefined on the libtool link line when we can be certain
+ # that all symbols are satisfied, otherwise we get a static library.
+ allow_undefined=yes
+ ;;
+ *)
+ allow_undefined=yes
+ ;;
+ esac
+ libtool_args=$nonopt
+ base_compile="$nonopt $@"
+ compile_command=$nonopt
+ finalize_command=$nonopt
+
+ compile_rpath=
+ finalize_rpath=
+ compile_shlibpath=
+ finalize_shlibpath=
+ convenience=
+ old_convenience=
+ deplibs=
+ old_deplibs=
+ compiler_flags=
+ linker_flags=
+ dllsearchpath=
+ lib_search_path=`pwd`
+ inst_prefix_dir=
+ new_inherited_linker_flags=
+
+ avoid_version=no
+ bindir=
+ dlfiles=
+ dlprefiles=
+ dlself=no
+ export_dynamic=no
+ export_symbols=
+ export_symbols_regex=
+ generated=
+ libobjs=
+ ltlibs=
+ module=no
+ no_install=no
+ objs=
+ os2dllname=
+ non_pic_objects=
+ precious_files_regex=
+ prefer_static_libs=no
+ preload=false
+ prev=
+ prevarg=
+ release=
+ rpath=
+ xrpath=
+ perm_rpath=
+ temp_rpath=
+ thread_safe=no
+ vinfo=
+ vinfo_number=no
+ weak_libs=
+ single_module=$wl-single_module
+ func_infer_tag $base_compile
+
+ # We need to know -static, to get the right output filenames.
+ for arg
+ do
+ case $arg in
+ -shared)
+ test yes != "$build_libtool_libs" \
+ && func_fatal_configuration "cannot build a shared library"
+ build_old_libs=no
+ break
+ ;;
+ -all-static | -static | -static-libtool-libs)
+ case $arg in
+ -all-static)
+ if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
+ func_warning "complete static linking is impossible in this configuration"
+ fi
+ if test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ -static)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=built
+ ;;
+ -static-libtool-libs)
+ if test -z "$pic_flag" && test -n "$link_static_flag"; then
+ dlopen_self=$dlopen_self_static
+ fi
+ prefer_static_libs=yes
+ ;;
+ esac
+ build_libtool_libs=no
+ build_old_libs=yes
+ break
+ ;;
+ esac
+ done
+
+ # See if our shared archives depend on static archives.
+ test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+ # Go through the arguments, transforming them on the way.
+ while test "$#" -gt 0; do
+ arg=$1
+ shift
+ func_quote_for_eval "$arg"
+ qarg=$func_quote_for_eval_unquoted_result
+ func_append libtool_args " $func_quote_for_eval_result"
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$prev"; then
+ case $prev in
+ output)
+ func_append compile_command " @OUTPUT@"
+ func_append finalize_command " @OUTPUT@"
+ ;;
+ esac
+
+ case $prev in
+ bindir)
+ bindir=$arg
+ prev=
+ continue
+ ;;
+ dlfiles|dlprefiles)
+ $preload || {
+ # Add the symbol object into the linking commands.
+ func_append compile_command " @SYMFILE@"
+ func_append finalize_command " @SYMFILE@"
+ preload=:
+ }
+ case $arg in
+ *.la | *.lo) ;; # We handle these cases below.
+ force)
+ if test no = "$dlself"; then
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ self)
+ if test dlprefiles = "$prev"; then
+ dlself=yes
+ elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
+ dlself=yes
+ else
+ dlself=needless
+ export_dynamic=yes
+ fi
+ prev=
+ continue
+ ;;
+ *)
+ if test dlfiles = "$prev"; then
+ func_append dlfiles " $arg"
+ else
+ func_append dlprefiles " $arg"
+ fi
+ prev=
+ continue
+ ;;
+ esac
+ ;;
+ expsyms)
+ export_symbols=$arg
+ test -f "$arg" \
+ || func_fatal_error "symbol file '$arg' does not exist"
+ prev=
+ continue
+ ;;
+ expsyms_regex)
+ export_symbols_regex=$arg
+ prev=
+ continue
+ ;;
+ framework)
+ case $host in
+ *-*-darwin*)
+ case "$deplibs " in
+ *" $qarg.ltframework "*) ;;
+ *) func_append deplibs " $qarg.ltframework" # this is fixed later
+ ;;
+ esac
+ ;;
+ esac
+ prev=
+ continue
+ ;;
+ inst_prefix)
+ inst_prefix_dir=$arg
+ prev=
+ continue
+ ;;
+ mllvm)
+ # Clang does not use LLVM to link, so we can simply discard any
+ # '-mllvm $arg' options when doing the link step.
+ prev=
+ continue
+ ;;
+ objectlist)
+ if test -f "$arg"; then
+ save_arg=$arg
+ moreargs=
+ for fil in `cat "$save_arg"`
+ do
+# func_append moreargs " $fil"
+ arg=$fil
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ if test none != "$pic_object"; then
+ # Prepend the subdirectory the object is found in.
+ pic_object=$xdir$pic_object
+
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test dlprefiles = "$prev"; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg=$pic_object
+ fi
+
+ # Non-PIC object.
+ if test none != "$non_pic_object"; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object=$xdir$non_pic_object
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object=$pic_object
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "'$arg' is not a valid libtool object"
+ fi
+ fi
+ done
+ else
+ func_fatal_error "link input file '$arg' does not exist"
+ fi
+ arg=$save_arg
+ prev=
+ continue
+ ;;
+ os2dllname)
+ os2dllname=$arg
+ prev=
+ continue
+ ;;
+ precious_regex)
+ precious_files_regex=$arg
+ prev=
+ continue
+ ;;
+ release)
+ release=-$arg
+ prev=
+ continue
+ ;;
+ rpath | xrpath)
+ # We need an absolute path.
+ case $arg in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ if test rpath = "$prev"; then
+ case "$rpath " in
+ *" $arg "*) ;;
+ *) func_append rpath " $arg" ;;
+ esac
+ else
+ case "$xrpath " in
+ *" $arg "*) ;;
+ *) func_append xrpath " $arg" ;;
+ esac
+ fi
+ prev=
+ continue
+ ;;
+ shrext)
+ shrext_cmds=$arg
+ prev=
+ continue
+ ;;
+ weak)
+ func_append weak_libs " $arg"
+ prev=
+ continue
+ ;;
+ xcclinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xcompiler)
+ func_append compiler_flags " $qarg"
+ prev=
+ func_append compile_command " $qarg"
+ func_append finalize_command " $qarg"
+ continue
+ ;;
+ xlinker)
+ func_append linker_flags " $qarg"
+ func_append compiler_flags " $wl$qarg"
+ prev=
+ func_append compile_command " $wl$qarg"
+ func_append finalize_command " $wl$qarg"
+ continue
+ ;;
+ *)
+ eval "$prev=\"\$arg\""
+ prev=
+ continue
+ ;;
+ esac
+ fi # test -n "$prev"
+
+ prevarg=$arg
+
+ case $arg in
+ -all-static)
+ if test -n "$link_static_flag"; then
+ # See comment for -static flag below, for more details.
+ func_append compile_command " $link_static_flag"
+ func_append finalize_command " $link_static_flag"
+ fi
+ continue
+ ;;
+
+ -allow-undefined)
+ # FIXME: remove this flag sometime in the future.
+ func_fatal_error "'-allow-undefined' must not be used because it is the default"
+ ;;
+
+ -avoid-version)
+ avoid_version=yes
+ continue
+ ;;
+
+ -bindir)
+ prev=bindir
+ continue
+ ;;
+
+ -dlopen)
+ prev=dlfiles
+ continue
+ ;;
+
+ -dlpreopen)
+ prev=dlprefiles
+ continue
+ ;;
+
+ -export-dynamic)
+ export_dynamic=yes
+ continue
+ ;;
+
+ -export-symbols | -export-symbols-regex)
+ if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+ func_fatal_error "more than one -exported-symbols argument is not allowed"
+ fi
+ if test X-export-symbols = "X$arg"; then
+ prev=expsyms
+ else
+ prev=expsyms_regex
+ fi
+ continue
+ ;;
+
+ -framework)
+ prev=framework
+ continue
+ ;;
+
+ -inst-prefix-dir)
+ prev=inst_prefix
+ continue
+ ;;
+
+ # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+ # so, if we see these flags be careful not to treat them like -L
+ -L[A-Z][A-Z]*:*)
+ case $with_gcc/$host in
+ no/*-*-irix* | /*-*-irix*)
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ ;;
+ esac
+ continue
+ ;;
+
+ -L*)
+ func_stripname "-L" '' "$arg"
+ if test -z "$func_stripname_result"; then
+ if test "$#" -gt 0; then
+ func_fatal_error "require no space between '-L' and '$1'"
+ else
+ func_fatal_error "need path for '-L' option"
+ fi
+ fi
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ test -z "$absdir" && \
+ func_fatal_error "cannot determine absolute directory name of '$dir'"
+ dir=$absdir
+ ;;
+ esac
+ case "$deplibs " in
+ *" -L$dir "* | *" $arg "*)
+ # Will only happen for absolute or sysroot arguments
+ ;;
+ *)
+ # Preserve sysroot, but never include relative directories
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+ *) func_append deplibs " -L$dir" ;;
+ esac
+ func_append lib_search_path " $dir"
+ ;;
+ esac
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$dir:"*) ;;
+ ::) dllsearchpath=$dir;;
+ *) func_append dllsearchpath ":$dir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ continue
+ ;;
+
+ -l*)
+ if test X-lc = "X$arg" || test X-lm = "X$arg"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # These systems don't actually have a C or math library (as such)
+ continue
+ ;;
+ *-*-os2*)
+ # These systems don't actually have a C library (as such)
+ test X-lc = "X$arg" && continue
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+ # Do not include libc due to us having libc/libc_r.
+ test X-lc = "X$arg" && continue
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C and math libraries are in the System framework
+ func_append deplibs " System.ltframework"
+ continue
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ test X-lc = "X$arg" && continue
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ test X-lc = "X$arg" && continue
+ ;;
+ esac
+ elif test X-lc_r = "X$arg"; then
+ case $host in
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
+ # Do not include libc_r directly, use -pthread flag.
+ continue
+ ;;
+ esac
+ fi
+ func_append deplibs " $arg"
+ continue
+ ;;
+
+ -mllvm)
+ prev=mllvm
+ continue
+ ;;
+
+ -module)
+ module=yes
+ continue
+ ;;
+
+ # Tru64 UNIX uses -model [arg] to determine the layout of C++
+ # classes, name mangling, and exception handling.
+ # Darwin uses the -arch flag to determine output architecture.
+ -model|-arch|-isysroot|--sysroot)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ prev=xcompiler
+ continue
+ ;;
+
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ func_append compiler_flags " $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case "$new_inherited_linker_flags " in
+ *" $arg "*) ;;
+ * ) func_append new_inherited_linker_flags " $arg" ;;
+ esac
+ continue
+ ;;
+
+ -multi_module)
+ single_module=$wl-multi_module
+ continue
+ ;;
+
+ -no-fast-install)
+ fast_install=no
+ continue
+ ;;
+
+ -no-install)
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+ # The PATH hackery in wrapper scripts is required on Windows
+ # and Darwin in order for the loader to find any dlls it needs.
+ func_warning "'-no-install' is ignored for $host"
+ func_warning "assuming '-no-fast-install' instead"
+ fast_install=no
+ ;;
+ *) no_install=yes ;;
+ esac
+ continue
+ ;;
+
+ -no-undefined)
+ allow_undefined=no
+ continue
+ ;;
+
+ -objectlist)
+ prev=objectlist
+ continue
+ ;;
+
+ -os2dllname)
+ prev=os2dllname
+ continue
+ ;;
+
+ -o) prev=output ;;
+
+ -precious-files-regex)
+ prev=precious_regex
+ continue
+ ;;
+
+ -release)
+ prev=release
+ continue
+ ;;
+
+ -rpath)
+ prev=rpath
+ continue
+ ;;
+
+ -R)
+ prev=xrpath
+ continue
+ ;;
+
+ -R*)
+ func_stripname '-R' '' "$arg"
+ dir=$func_stripname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$dir"
+ dir=$lt_sysroot$func_stripname_result
+ ;;
+ *)
+ func_fatal_error "only absolute run-paths are allowed"
+ ;;
+ esac
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ continue
+ ;;
+
+ -shared)
+ # The effects of -shared are defined in a previous loop.
+ continue
+ ;;
+
+ -shrext)
+ prev=shrext
+ continue
+ ;;
+
+ -static | -static-libtool-libs)
+ # The effects of -static are defined in a previous loop.
+ # We used to do the same as -all-static on platforms that
+ # didn't have a PIC flag, but the assumption that the effects
+ # would be equivalent was wrong. It would break on at least
+ # Digital Unix and AIX.
+ continue
+ ;;
+
+ -thread-safe)
+ thread_safe=yes
+ continue
+ ;;
+
+ -version-info)
+ prev=vinfo
+ continue
+ ;;
+
+ -version-number)
+ prev=vinfo
+ vinfo_number=yes
+ continue
+ ;;
+
+ -weak)
+ prev=weak
+ continue
+ ;;
+
+ -Wc,*)
+ func_stripname '-Wc,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs=$IFS; IFS=,
+ for flag in $args; do
+ IFS=$save_ifs
+ func_quote_for_eval "$flag"
+ func_append arg " $func_quote_for_eval_result"
+ func_append compiler_flags " $func_quote_for_eval_result"
+ done
+ IFS=$save_ifs
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Wl,*)
+ func_stripname '-Wl,' '' "$arg"
+ args=$func_stripname_result
+ arg=
+ save_ifs=$IFS; IFS=,
+ for flag in $args; do
+ IFS=$save_ifs
+ func_quote_for_eval "$flag"
+ func_append arg " $wl$func_quote_for_eval_result"
+ func_append compiler_flags " $wl$func_quote_for_eval_result"
+ func_append linker_flags " $func_quote_for_eval_result"
+ done
+ IFS=$save_ifs
+ func_stripname ' ' '' "$arg"
+ arg=$func_stripname_result
+ ;;
+
+ -Xcompiler)
+ prev=xcompiler
+ continue
+ ;;
+
+ -Xlinker)
+ prev=xlinker
+ continue
+ ;;
+
+ -XCClinker)
+ prev=xcclinker
+ continue
+ ;;
+
+ # -msg_* for osf cc
+ -msg_*)
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ ;;
+
+ # Flags to be passed through unchanged, with rationale:
+ # -64, -mips[0-9] enable 64-bit mode for the SGI compiler
+ # -r[0-9][0-9]* specify processor for the SGI compiler
+ # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
+ # +DA*, +DD* enable 64-bit mode for the HP compiler
+ # -q* compiler args for the IBM compiler
+ # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
+ # -F/path path to uninstalled frameworks, gcc on darwin
+ # -p, -pg, --coverage, -fprofile-* profiling flags for GCC
+ # -fstack-protector* stack protector flags for GCC
+ # @file GCC response files
+ # -tp=* Portland pgcc target processor selection
+ # --sysroot=* for sysroot support
+ # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
+ # -specs=* GCC specs files
+ # -stdlib=* select c++ std lib with clang
+ # -fsanitize=* Clang/GCC memory and address sanitizer
+ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
+ -specs=*|-fsanitize=*)
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ func_append compiler_flags " $arg"
+ continue
+ ;;
+
+ -Z*)
+ if test os2 = "`expr $host : '.*\(os2\)'`"; then
+ # OS/2 uses -Zxxx to specify OS/2-specific options
+ compiler_flags="$compiler_flags $arg"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ case $arg in
+ -Zlinker | -Zstack)
+ prev=xcompiler
+ ;;
+ esac
+ continue
+ else
+ # Otherwise treat like 'Some other compiler flag' below
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ fi
+ ;;
+
+ # Some other compiler flag.
+ -* | +*)
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ ;;
+
+ *.$objext)
+ # A standard object.
+ func_append objs " $arg"
+ ;;
+
+ *.lo)
+ # A libtool-controlled object.
+
+ # Check to see that this really is a libtool object.
+ if func_lalib_unsafe_p "$arg"; then
+ pic_object=
+ non_pic_object=
+
+ # Read the .lo file
+ func_source "$arg"
+
+ if test -z "$pic_object" ||
+ test -z "$non_pic_object" ||
+ test none = "$pic_object" &&
+ test none = "$non_pic_object"; then
+ func_fatal_error "cannot find name of object for '$arg'"
+ fi
+
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ test none = "$pic_object" || {
+ # Prepend the subdirectory the object is found in.
+ pic_object=$xdir$pic_object
+
+ if test dlfiles = "$prev"; then
+ if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
+ func_append dlfiles " $pic_object"
+ prev=
+ continue
+ else
+ # If libtool objects are unsupported, then we need to preload.
+ prev=dlprefiles
+ fi
+ fi
+
+ # CHECK ME: I think I busted this. -Ossama
+ if test dlprefiles = "$prev"; then
+ # Preload the old-style object.
+ func_append dlprefiles " $pic_object"
+ prev=
+ fi
+
+ # A PIC object.
+ func_append libobjs " $pic_object"
+ arg=$pic_object
+ }
+
+ # Non-PIC object.
+ if test none != "$non_pic_object"; then
+ # Prepend the subdirectory the object is found in.
+ non_pic_object=$xdir$non_pic_object
+
+ # A standard non-PIC object
+ func_append non_pic_objects " $non_pic_object"
+ if test -z "$pic_object" || test none = "$pic_object"; then
+ arg=$non_pic_object
+ fi
+ else
+ # If the PIC object exists, use it instead.
+ # $xdir was prepended to $pic_object above.
+ non_pic_object=$pic_object
+ func_append non_pic_objects " $non_pic_object"
+ fi
+ else
+ # Only an error if not doing a dry-run.
+ if $opt_dry_run; then
+ # Extract subdirectory from the argument.
+ func_dirname "$arg" "/" ""
+ xdir=$func_dirname_result
+
+ func_lo2o "$arg"
+ pic_object=$xdir$objdir/$func_lo2o_result
+ non_pic_object=$xdir$func_lo2o_result
+ func_append libobjs " $pic_object"
+ func_append non_pic_objects " $non_pic_object"
+ else
+ func_fatal_error "'$arg' is not a valid libtool object"
+ fi
+ fi
+ ;;
+
+ *.$libext)
+ # An archive.
+ func_append deplibs " $arg"
+ func_append old_deplibs " $arg"
+ continue
+ ;;
+
+ *.la)
+ # A libtool-controlled library.
+
+ func_resolve_sysroot "$arg"
+ if test dlfiles = "$prev"; then
+ # This library was specified with -dlopen.
+ func_append dlfiles " $func_resolve_sysroot_result"
+ prev=
+ elif test dlprefiles = "$prev"; then
+ # The library was specified with -dlpreopen.
+ func_append dlprefiles " $func_resolve_sysroot_result"
+ prev=
+ else
+ func_append deplibs " $func_resolve_sysroot_result"
+ fi
+ continue
+ ;;
+
+ # Some other compiler argument.
+ *)
+ # Unknown arguments in both finalize_command and compile_command need
+ # to be aesthetically quoted because they are evaled later.
+ func_quote_for_eval "$arg"
+ arg=$func_quote_for_eval_result
+ ;;
+ esac # arg
+
+ # Now actually substitute the argument into the commands.
+ if test -n "$arg"; then
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+ done # argument parsing loop
+
+ test -n "$prev" && \
+ func_fatal_help "the '$prevarg' option requires an argument"
+
+ if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
+ eval arg=\"$export_dynamic_flag_spec\"
+ func_append compile_command " $arg"
+ func_append finalize_command " $arg"
+ fi
+
+ oldlibs=
+ # calculate the name of the file, without its directory
+ func_basename "$output"
+ outputname=$func_basename_result
+ libobjs_save=$libobjs
+
+ if test -n "$shlibpath_var"; then
+ # get the directories listed in $shlibpath_var
+ eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
+ else
+ shlib_search_path=
+ fi
+ eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+ eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+ # Definition is injected by LT_CONFIG during libtool generation.
+ func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
+
+ func_dirname "$output" "/" ""
+ output_objdir=$func_dirname_result$objdir
+ func_to_tool_file "$output_objdir/"
+ tool_output_objdir=$func_to_tool_file_result
+ # Create the object directory.
+ func_mkdir_p "$output_objdir"
+
+ # Determine the type of output
+ case $output in
+ "")
+ func_fatal_help "you must specify an output file"
+ ;;
+ *.$libext) linkmode=oldlib ;;
+ *.lo | *.$objext) linkmode=obj ;;
+ *.la) linkmode=lib ;;
+ *) linkmode=prog ;; # Anything else should be a program.
+ esac
+
+ specialdeplibs=
+
+ libs=
+ # Find all interdependent deplibs by searching for libraries
+ # that are linked more than once (e.g. -la -lb -la)
+ for deplib in $deplibs; do
+ if $opt_preserve_dup_deps; then
+ case "$libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append libs " $deplib"
+ done
+
+ if test lib = "$linkmode"; then
+ libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+ # Compute libraries that are listed more than once in $predeps
+ # $postdeps and mark them as special (i.e., whose duplicates are
+ # not to be eliminated).
+ pre_post_deps=
+ if $opt_duplicate_compiler_generated_deps; then
+ for pre_post_dep in $predeps $postdeps; do
+ case "$pre_post_deps " in
+ *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
+ esac
+ func_append pre_post_deps " $pre_post_dep"
+ done
+ fi
+ pre_post_deps=
+ fi
+
+ deplibs=
+ newdependency_libs=
+ newlib_search_path=
+ need_relink=no # whether we're linking any uninstalled libtool libraries
+ notinst_deplibs= # not-installed libtool libraries
+ notinst_path= # paths that contain not-installed libtool libraries
+
+ case $linkmode in
+ lib)
+ passes="conv dlpreopen link"
+ for file in $dlfiles $dlprefiles; do
+ case $file in
+ *.la) ;;
+ *)
+ func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
+ ;;
+ esac
+ done
+ ;;
+ prog)
+ compile_deplibs=
+ finalize_deplibs=
+ alldeplibs=false
+ newdlfiles=
+ newdlprefiles=
+ passes="conv scan dlopen dlpreopen link"
+ ;;
+ *) passes="conv"
+ ;;
+ esac
+
+ for pass in $passes; do
+ # The preopen pass in lib mode reverses $deplibs; put it back here
+ # so that -L comes before libs that need it for instance...
+ if test lib,link = "$linkmode,$pass"; then
+ ## FIXME: Find the place where the list is rebuilt in the wrong
+ ## order, and fix it there properly
+ tmp_deplibs=
+ for deplib in $deplibs; do
+ tmp_deplibs="$deplib $tmp_deplibs"
+ done
+ deplibs=$tmp_deplibs
+ fi
+
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass"; then
+ libs=$deplibs
+ deplibs=
+ fi
+ if test prog = "$linkmode"; then
+ case $pass in
+ dlopen) libs=$dlfiles ;;
+ dlpreopen) libs=$dlprefiles ;;
+ link)
+ libs="$deplibs %DEPLIBS%"
+ test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+ ;;
+ esac
+ fi
+ if test lib,dlpreopen = "$linkmode,$pass"; then
+ # Collect and forward deplibs of preopened libtool libs
+ for lib in $dlprefiles; do
+ # Ignore non-libtool-libs
+ dependency_libs=
+ func_resolve_sysroot "$lib"
+ case $lib in
+ *.la) func_source "$func_resolve_sysroot_result" ;;
+ esac
+
+ # Collect preopened libtool deplibs, except any this library
+ # has declared as weak libs
+ for deplib in $dependency_libs; do
+ func_basename "$deplib"
+ deplib_base=$func_basename_result
+ case " $weak_libs " in
+ *" $deplib_base "*) ;;
+ *) func_append deplibs " $deplib" ;;
+ esac
+ done
+ done
+ libs=$dlprefiles
+ fi
+ if test dlopen = "$pass"; then
+ # Collect dlpreopened libraries
+ save_deplibs=$deplibs
+ deplibs=
+ fi
+
+ for deplib in $libs; do
+ lib=
+ found=false
+ case $deplib in
+ -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append compiler_flags " $deplib"
+ if test lib = "$linkmode"; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -l*)
+ if test lib != "$linkmode" && test prog != "$linkmode"; then
+ func_warning "'-l' is ignored for archives/objects"
+ continue
+ fi
+ func_stripname '-l' '' "$deplib"
+ name=$func_stripname_result
+ if test lib = "$linkmode"; then
+ searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+ else
+ searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+ fi
+ for searchdir in $searchdirs; do
+ for search_ext in .la $std_shrext .so .a; do
+ # Search the libtool library
+ lib=$searchdir/lib$name$search_ext
+ if test -f "$lib"; then
+ if test .la = "$search_ext"; then
+ found=:
+ else
+ found=false
+ fi
+ break 2
+ fi
+ done
+ done
+ if $found; then
+ # deplib is a libtool library
+ # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+ # We need to do some special things here, and not later.
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $deplib "*)
+ if func_lalib_p "$lib"; then
+ library_names=
+ old_library=
+ func_source "$lib"
+ for l in $old_library $library_names; do
+ ll=$l
+ done
+ if test "X$ll" = "X$old_library"; then # only static version available
+ found=false
+ func_dirname "$lib" "" "."
+ ladir=$func_dirname_result
+ lib=$ladir/$old_library
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ fi
+ ;;
+ *) ;;
+ esac
+ fi
+ else
+ # deplib doesn't seem to be a libtool library
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
+ fi
+ continue
+ fi
+ ;; # -l
+ *.ltframework)
+ if test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ deplibs="$deplib $deplibs"
+ if test lib = "$linkmode"; then
+ case "$new_inherited_linker_flags " in
+ *" $deplib "*) ;;
+ * ) func_append new_inherited_linker_flags " $deplib" ;;
+ esac
+ fi
+ fi
+ continue
+ ;;
+ -L*)
+ case $linkmode in
+ lib)
+ deplibs="$deplib $deplibs"
+ test conv = "$pass" && continue
+ newdependency_libs="$deplib $newdependency_libs"
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ prog)
+ if test conv = "$pass"; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ if test scan = "$pass"; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ *)
+ func_warning "'-L' is ignored for archives/objects"
+ ;;
+ esac # linkmode
+ continue
+ ;; # -L
+ -R*)
+ if test link = "$pass"; then
+ func_stripname '-R' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ dir=$func_resolve_sysroot_result
+ # Make sure the xrpath contains only unique directories.
+ case "$xrpath " in
+ *" $dir "*) ;;
+ *) func_append xrpath " $dir" ;;
+ esac
+ fi
+ deplibs="$deplib $deplibs"
+ continue
+ ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ lib=$func_resolve_sysroot_result
+ ;;
+ *.$libext)
+ if test conv = "$pass"; then
+ deplibs="$deplib $deplibs"
+ continue
+ fi
+ case $linkmode in
+ lib)
+ # Linking convenience modules into shared libraries is allowed,
+ # but linking other static libraries is non-portable.
+ case " $dlpreconveniencelibs " in
+ *" $deplib "*) ;;
+ *)
+ valid_a_lib=false
+ case $deplibs_check_method in
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
+ | $EGREP "$match_pattern_regex" > /dev/null; then
+ valid_a_lib=:
+ fi
+ ;;
+ pass_all)
+ valid_a_lib=:
+ ;;
+ esac
+ if $valid_a_lib; then
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the"
+ $ECHO "*** static library $deplib is not portable!"
+ deplibs="$deplib $deplibs"
+ else
+ echo
+ $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because the file extensions .$libext of this argument makes me believe"
+ echo "*** that it is just a static archive that I should not use here."
+ fi
+ ;;
+ esac
+ continue
+ ;;
+ prog)
+ if test link != "$pass"; then
+ deplibs="$deplib $deplibs"
+ else
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ fi
+ continue
+ ;;
+ esac # linkmode
+ ;; # *.$libext
+ *.lo | *.$objext)
+ if test conv = "$pass"; then
+ deplibs="$deplib $deplibs"
+ elif test prog = "$linkmode"; then
+ if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
+ # If there is no dlopen support or we're linking statically,
+ # we need to preload.
+ func_append newdlprefiles " $deplib"
+ compile_deplibs="$deplib $compile_deplibs"
+ finalize_deplibs="$deplib $finalize_deplibs"
+ else
+ func_append newdlfiles " $deplib"
+ fi
+ fi
+ continue
+ ;;
+ %DEPLIBS%)
+ alldeplibs=:
+ continue
+ ;;
+ esac # case $deplib
+
+ $found || test -f "$lib" \
+ || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
+
+ # Check to see that this really is a libtool archive.
+ func_lalib_unsafe_p "$lib" \
+ || func_fatal_error "'$lib' is not a valid libtool archive"
+
+ func_dirname "$lib" "" "."
+ ladir=$func_dirname_result
+
+ dlname=
+ dlopen=
+ dlpreopen=
+ libdir=
+ library_names=
+ old_library=
+ inherited_linker_flags=
+ # If the library was installed with an old release of libtool,
+ # it will not redefine variables installed, or shouldnotlink
+ installed=yes
+ shouldnotlink=no
+ avoidtemprpath=
+
+
+ # Read the .la file
+ func_source "$lib"
+
+ # Convert "-framework foo" to "foo.ltframework"
+ if test -n "$inherited_linker_flags"; then
+ tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
+ for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+ case " $new_inherited_linker_flags " in
+ *" $tmp_inherited_linker_flag "*) ;;
+ *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
+ esac
+ done
+ fi
+ dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ if test lib,link = "$linkmode,$pass" ||
+ test prog,scan = "$linkmode,$pass" ||
+ { test prog != "$linkmode" && test lib != "$linkmode"; }; then
+ test -n "$dlopen" && func_append dlfiles " $dlopen"
+ test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
+ fi
+
+ if test conv = "$pass"; then
+ # Only check for convenience libraries
+ deplibs="$lib $deplibs"
+ if test -z "$libdir"; then
+ if test -z "$old_library"; then
+ func_fatal_error "cannot find name of link library for '$lib'"
+ fi
+ # It is a libtool convenience library, so add in its objects.
+ func_append convenience " $ladir/$objdir/$old_library"
+ func_append old_convenience " $ladir/$objdir/$old_library"
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ deplibs="$deplib $deplibs"
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done
+ elif test prog != "$linkmode" && test lib != "$linkmode"; then
+ func_fatal_error "'$lib' is not a convenience library"
+ fi
+ continue
+ fi # $pass = conv
+
+
+ # Get the name of the library we link against.
+ linklib=
+ if test -n "$old_library" &&
+ { test yes = "$prefer_static_libs" ||
+ test built,no = "$prefer_static_libs,$installed"; }; then
+ linklib=$old_library
+ else
+ for l in $old_library $library_names; do
+ linklib=$l
+ done
+ fi
+ if test -z "$linklib"; then
+ func_fatal_error "cannot find name of link library for '$lib'"
+ fi
+
+ # This library was specified with -dlopen.
+ if test dlopen = "$pass"; then
+ test -z "$libdir" \
+ && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
+ if test -z "$dlname" ||
+ test yes != "$dlopen_support" ||
+ test no = "$build_libtool_libs"
+ then
+ # If there is no dlname, no dlopen support or we're linking
+ # statically, we need to preload. We also need to preload any
+ # dependent libraries so libltdl's deplib preloader doesn't
+ # bomb out in the load deplibs phase.
+ func_append dlprefiles " $lib $dependency_libs"
+ else
+ func_append newdlfiles " $lib"
+ fi
+ continue
+ fi # $pass = dlopen
+
+ # We need an absolute path.
+ case $ladir in
+ [\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
+ *)
+ abs_ladir=`cd "$ladir" && pwd`
+ if test -z "$abs_ladir"; then
+ func_warning "cannot determine absolute directory name of '$ladir'"
+ func_warning "passing it literally to the linker, although it might fail"
+ abs_ladir=$ladir
+ fi
+ ;;
+ esac
+ func_basename "$lib"
+ laname=$func_basename_result
+
+ # Find the relevant object directory and library name.
+ if test yes = "$installed"; then
+ if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ func_warning "library '$lib' was moved."
+ dir=$ladir
+ absdir=$abs_ladir
+ libdir=$abs_ladir
+ else
+ dir=$lt_sysroot$libdir
+ absdir=$lt_sysroot$libdir
+ fi
+ test yes = "$hardcode_automatic" && avoidtemprpath=yes
+ else
+ if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+ dir=$ladir
+ absdir=$abs_ladir
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ else
+ dir=$ladir/$objdir
+ absdir=$abs_ladir/$objdir
+ # Remove this search path later
+ func_append notinst_path " $abs_ladir"
+ fi
+ fi # $installed = yes
+ func_stripname 'lib' '.la' "$laname"
+ name=$func_stripname_result
+
+ # This library was specified with -dlpreopen.
+ if test dlpreopen = "$pass"; then
+ if test -z "$libdir" && test prog = "$linkmode"; then
+ func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
+ fi
+ case $host in
+ # special handling for platforms with PE-DLLs.
+ *cygwin* | *mingw* | *cegcc* )
+ # Linker will automatically link against shared library if both
+ # static and shared are present. Therefore, ensure we extract
+ # symbols from the import library if a shared library is present
+ # (otherwise, the dlopen module name will be incorrect). We do
+ # this by putting the import library name into $newdlprefiles.
+ # We recover the dlopen module name by 'saving' the la file
+ # name in a special purpose variable, and (later) extracting the
+ # dlname from the la file.
+ if test -n "$dlname"; then
+ func_tr_sh "$dir/$linklib"
+ eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+ func_append newdlprefiles " $dir/$linklib"
+ else
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ fi
+ ;;
+ * )
+ # Prefer using a static library (so that no silly _DYNAMIC symbols
+ # are required to link).
+ if test -n "$old_library"; then
+ func_append newdlprefiles " $dir/$old_library"
+ # Keep a list of preopened convenience libraries to check
+ # that they are being used correctly in the link pass.
+ test -z "$libdir" && \
+ func_append dlpreconveniencelibs " $dir/$old_library"
+ # Otherwise, use the dlname, so that lt_dlopen finds it.
+ elif test -n "$dlname"; then
+ func_append newdlprefiles " $dir/$dlname"
+ else
+ func_append newdlprefiles " $dir/$linklib"
+ fi
+ ;;
+ esac
+ fi # $pass = dlpreopen
+
+ if test -z "$libdir"; then
+ # Link the convenience library
+ if test lib = "$linkmode"; then
+ deplibs="$dir/$old_library $deplibs"
+ elif test prog,link = "$linkmode,$pass"; then
+ compile_deplibs="$dir/$old_library $compile_deplibs"
+ finalize_deplibs="$dir/$old_library $finalize_deplibs"
+ else
+ deplibs="$lib $deplibs" # used for prog,scan pass
+ fi
+ continue
+ fi
+
+
+ if test prog = "$linkmode" && test link != "$pass"; then
+ func_append newlib_search_path " $ladir"
+ deplibs="$lib $deplibs"
+
+ linkalldeplibs=false
+ if test no != "$link_all_deplibs" || test -z "$library_names" ||
+ test no = "$build_libtool_libs"; then
+ linkalldeplibs=:
+ fi
+
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result"
+ func_append newlib_search_path " $func_resolve_sysroot_result"
+ ;;
+ esac
+ # Need to link against all dependency_libs?
+ if $linkalldeplibs; then
+ deplibs="$deplib $deplibs"
+ else
+ # Need to hardcode shared library paths
+ # or/and link against static libraries
+ newdependency_libs="$deplib $newdependency_libs"
+ fi
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $deplib "*) func_append specialdeplibs " $deplib" ;;
+ esac
+ fi
+ func_append tmp_libs " $deplib"
+ done # for deplib
+ continue
+ fi # $linkmode = prog...
+
+ if test prog,link = "$linkmode,$pass"; then
+ if test -n "$library_names" &&
+ { { test no = "$prefer_static_libs" ||
+ test built,yes = "$prefer_static_libs,$installed"; } ||
+ test -z "$old_library"; }; then
+ # We need to hardcode the library path
+ if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
+ # Make sure the rpath contains only unique directories.
+ case $temp_rpath: in
+ *"$absdir:"*) ;;
+ *) func_append temp_rpath "$absdir:" ;;
+ esac
+ fi
+
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi # $linkmode,$pass = prog,link...
+
+ if $alldeplibs &&
+ { test pass_all = "$deplibs_check_method" ||
+ { test yes = "$build_libtool_libs" &&
+ test -n "$library_names"; }; }; then
+ # We only need to search for static libraries
+ continue
+ fi
+ fi
+
+ link_static=no # Whether the deplib will be linked statically
+ use_static_libs=$prefer_static_libs
+ if test built = "$use_static_libs" && test yes = "$installed"; then
+ use_static_libs=no
+ fi
+ if test -n "$library_names" &&
+ { test no = "$use_static_libs" || test -z "$old_library"; }; then
+ case $host in
+ *cygwin* | *mingw* | *cegcc* | *os2*)
+ # No point in relinking DLLs because paths are not encoded
+ func_append notinst_deplibs " $lib"
+ need_relink=no
+ ;;
+ *)
+ if test no = "$installed"; then
+ func_append notinst_deplibs " $lib"
+ need_relink=yes
+ fi
+ ;;
+ esac
+ # This is a shared library
+
+ # Warn about portability, can't link against -module's on some
+ # systems (darwin). Don't bleat about dlopened modules though!
+ dlopenmodule=
+ for dlpremoduletest in $dlprefiles; do
+ if test "X$dlpremoduletest" = "X$lib"; then
+ dlopenmodule=$dlpremoduletest
+ break
+ fi
+ done
+ if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
+ echo
+ if test prog = "$linkmode"; then
+ $ECHO "*** Warning: Linking the executable $output against the loadable module"
+ else
+ $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+ fi
+ $ECHO "*** $linklib is not portable!"
+ fi
+ if test lib = "$linkmode" &&
+ test yes = "$hardcode_into_libs"; then
+ # Hardcode the library path.
+ # Skip directories that are in the system default run-time
+ # search path.
+ case " $sys_lib_dlsearch_path " in
+ *" $absdir "*) ;;
+ *)
+ case "$compile_rpath " in
+ *" $absdir "*) ;;
+ *) func_append compile_rpath " $absdir" ;;
+ esac
+ ;;
+ esac
+ case " $sys_lib_dlsearch_path " in
+ *" $libdir "*) ;;
+ *)
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ ;;
+ esac
+ fi
+
+ if test -n "$old_archive_from_expsyms_cmds"; then
+ # figure out the soname
+ set dummy $library_names
+ shift
+ realname=$1
+ shift
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ # use dlname if we got it. it's perfectly good, no?
+ if test -n "$dlname"; then
+ soname=$dlname
+ elif test -n "$soname_spec"; then
+ # bleh windows
+ case $host in
+ *cygwin* | mingw* | *cegcc* | *os2*)
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix=-$major
+ ;;
+ esac
+ eval soname=\"$soname_spec\"
+ else
+ soname=$realname
+ fi
+
+ # Make a new name for the extract_expsyms_cmds to use
+ soroot=$soname
+ func_basename "$soroot"
+ soname=$func_basename_result
+ func_stripname 'lib' '.dll' "$soname"
+ newlib=libimp-$func_stripname_result.a
+
+ # If the library has no export list, then create one now
+ if test -f "$output_objdir/$soname-def"; then :
+ else
+ func_verbose "extracting exported symbol list from '$soname'"
+ func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+ fi
+
+ # Create $newlib
+ if test -f "$output_objdir/$newlib"; then :; else
+ func_verbose "generating import library for '$soname'"
+ func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+ fi
+ # make sure the library variables are pointing to the new library
+ dir=$output_objdir
+ linklib=$newlib
+ fi # test -n "$old_archive_from_expsyms_cmds"
+
+ if test prog = "$linkmode" || test relink != "$opt_mode"; then
+ add_shlibpath=
+ add_dir=
+ add=
+ lib_linked=yes
+ case $hardcode_action in
+ immediate | unsupported)
+ if test no = "$hardcode_direct"; then
+ add=$dir/$linklib
+ case $host in
+ *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
+ *-*-sysv4*uw2*) add_dir=-L$dir ;;
+ *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+ *-*-unixware7*) add_dir=-L$dir ;;
+ *-*-darwin* )
+ # if the lib is a (non-dlopened) module then we cannot
+ # link against it, someone is ignoring the earlier warnings
+ if /usr/bin/file -L $add 2> /dev/null |
+ $GREP ": [^:]* bundle" >/dev/null; then
+ if test "X$dlopenmodule" != "X$lib"; then
+ $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+ if test -z "$old_library"; then
+ echo
+ echo "*** And there doesn't seem to be a static archive available"
+ echo "*** The link will probably fail, sorry"
+ else
+ add=$dir/$old_library
+ fi
+ elif test -n "$old_library"; then
+ add=$dir/$old_library
+ fi
+ fi
+ esac
+ elif test no = "$hardcode_minus_L"; then
+ case $host in
+ *-*-sunos*) add_shlibpath=$dir ;;
+ esac
+ add_dir=-L$dir
+ add=-l$name
+ elif test no = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
+ else
+ lib_linked=no
+ fi
+ ;;
+ relink)
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$dir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$absdir
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
+ add_shlibpath=$dir
+ add=-l$name
+ else
+ lib_linked=no
+ fi
+ ;;
+ *) lib_linked=no ;;
+ esac
+
+ if test yes != "$lib_linked"; then
+ func_fatal_configuration "unsupported hardcode properties"
+ fi
+
+ if test -n "$add_shlibpath"; then
+ case :$compile_shlibpath: in
+ *":$add_shlibpath:"*) ;;
+ *) func_append compile_shlibpath "$add_shlibpath:" ;;
+ esac
+ fi
+ if test prog = "$linkmode"; then
+ test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+ test -n "$add" && compile_deplibs="$add $compile_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ if test yes != "$hardcode_direct" &&
+ test yes != "$hardcode_minus_L" &&
+ test yes = "$hardcode_shlibpath_var"; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ fi
+ fi
+ fi
+
+ if test prog = "$linkmode" || test relink = "$opt_mode"; then
+ add_shlibpath=
+ add_dir=
+ add=
+ # Finalize command for both is simple: just hardcode it.
+ if test yes = "$hardcode_direct" &&
+ test no = "$hardcode_direct_absolute"; then
+ add=$libdir/$linklib
+ elif test yes = "$hardcode_minus_L"; then
+ add_dir=-L$libdir
+ add=-l$name
+ elif test yes = "$hardcode_shlibpath_var"; then
+ case :$finalize_shlibpath: in
+ *":$libdir:"*) ;;
+ *) func_append finalize_shlibpath "$libdir:" ;;
+ esac
+ add=-l$name
+ elif test yes = "$hardcode_automatic"; then
+ if test -n "$inst_prefix_dir" &&
+ test -f "$inst_prefix_dir$libdir/$linklib"; then
+ add=$inst_prefix_dir$libdir/$linklib
+ else
+ add=$libdir/$linklib
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+ add_dir=-L$libdir
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+ [\\/]*)
+ func_append add_dir " -L$inst_prefix_dir$libdir"
+ ;;
+ esac
+ fi
+ add=-l$name
+ fi
+
+ if test prog = "$linkmode"; then
+ test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+ test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+ else
+ test -n "$add_dir" && deplibs="$add_dir $deplibs"
+ test -n "$add" && deplibs="$add $deplibs"
+ fi
+ fi
+ elif test prog = "$linkmode"; then
+ # Here we assume that one of hardcode_direct or hardcode_minus_L
+ # is not unsupported. This is valid on all known static and
+ # shared platforms.
+ if test unsupported != "$hardcode_direct"; then
+ test -n "$old_library" && linklib=$old_library
+ compile_deplibs="$dir/$linklib $compile_deplibs"
+ finalize_deplibs="$dir/$linklib $finalize_deplibs"
+ else
+ compile_deplibs="-l$name -L$dir $compile_deplibs"
+ finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+ fi
+ elif test yes = "$build_libtool_libs"; then
+ # Not a shared library
+ if test pass_all != "$deplibs_check_method"; then
+ # We're trying link a shared library against a static one
+ # but the system doesn't support it.
+
+ # Just print a warning and add the library to dependency_libs so
+ # that the program can be linked against the static library.
+ echo
+ $ECHO "*** Warning: This system cannot link to static lib archive $lib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have."
+ if test yes = "$module"; then
+ echo "*** But as you try to build a module library, libtool will still create "
+ echo "*** a static module, that should work as long as the dlopening application"
+ echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test no = "$build_old_libs"; then
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ else
+ deplibs="$dir/$old_library $deplibs"
+ link_static=yes
+ fi
+ fi # link shared/static library?
+
+ if test lib = "$linkmode"; then
+ if test -n "$dependency_libs" &&
+ { test yes != "$hardcode_into_libs" ||
+ test yes = "$build_old_libs" ||
+ test yes = "$link_static"; }; then
+ # Extract -R from dependency_libs
+ temp_deplibs=
+ for libdir in $dependency_libs; do
+ case $libdir in
+ -R*) func_stripname '-R' '' "$libdir"
+ temp_xrpath=$func_stripname_result
+ case " $xrpath " in
+ *" $temp_xrpath "*) ;;
+ *) func_append xrpath " $temp_xrpath";;
+ esac;;
+ *) func_append temp_deplibs " $libdir";;
+ esac
+ done
+ dependency_libs=$temp_deplibs
+ fi
+
+ func_append newlib_search_path " $absdir"
+ # Link against this library
+ test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+ # ... and its dependency_libs
+ tmp_libs=
+ for deplib in $dependency_libs; do
+ newdependency_libs="$deplib $newdependency_libs"
+ case $deplib in
+ -L*) func_stripname '-L' '' "$deplib"
+ func_resolve_sysroot "$func_stripname_result";;
+ *) func_resolve_sysroot "$deplib" ;;
+ esac
+ if $opt_preserve_dup_deps; then
+ case "$tmp_libs " in
+ *" $func_resolve_sysroot_result "*)
+ func_append specialdeplibs " $func_resolve_sysroot_result" ;;
+ esac
+ fi
+ func_append tmp_libs " $func_resolve_sysroot_result"
+ done
+
+ if test no != "$link_all_deplibs"; then
+ # Add the search paths of all dependency libraries
+ for deplib in $dependency_libs; do
+ path=
+ case $deplib in
+ -L*) path=$deplib ;;
+ *.la)
+ func_resolve_sysroot "$deplib"
+ deplib=$func_resolve_sysroot_result
+ func_dirname "$deplib" "" "."
+ dir=$func_dirname_result
+ # We need an absolute path.
+ case $dir in
+ [\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
+ *)
+ absdir=`cd "$dir" && pwd`
+ if test -z "$absdir"; then
+ func_warning "cannot determine absolute directory name of '$dir'"
+ absdir=$dir
+ fi
+ ;;
+ esac
+ if $GREP "^installed=no" $deplib > /dev/null; then
+ case $host in
+ *-*-darwin*)
+ depdepl=
+ eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+ if test -n "$deplibrary_names"; then
+ for tmp in $deplibrary_names; do
+ depdepl=$tmp
+ done
+ if test -f "$absdir/$objdir/$depdepl"; then
+ depdepl=$absdir/$objdir/$depdepl
+ darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ if test -z "$darwin_install_name"; then
+ darwin_install_name=`$OTOOL64 -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+ fi
+ func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
+ func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
+ path=
+ fi
+ fi
+ ;;
+ *)
+ path=-L$absdir/$objdir
+ ;;
+ esac
+ else
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "'$deplib' is not a valid libtool archive"
+ test "$absdir" != "$libdir" && \
+ func_warning "'$deplib' seems to be moved"
+
+ path=-L$absdir
+ fi
+ ;;
+ esac
+ case " $deplibs " in
+ *" $path "*) ;;
+ *) deplibs="$path $deplibs" ;;
+ esac
+ done
+ fi # link_all_deplibs != no
+ fi # linkmode = lib
+ done # for deplib in $libs
+ if test link = "$pass"; then
+ if test prog = "$linkmode"; then
+ compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+ finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+ else
+ compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ fi
+ fi
+ dependency_libs=$newdependency_libs
+ if test dlpreopen = "$pass"; then
+ # Link the dlpreopened libraries before other libraries
+ for deplib in $save_deplibs; do
+ deplibs="$deplib $deplibs"
+ done
+ fi
+ if test dlopen != "$pass"; then
+ test conv = "$pass" || {
+ # Make sure lib_search_path contains only unique directories.
+ lib_search_path=
+ for dir in $newlib_search_path; do
+ case "$lib_search_path " in
+ *" $dir "*) ;;
+ *) func_append lib_search_path " $dir" ;;
+ esac
+ done
+ newlib_search_path=
+ }
+
+ if test prog,link = "$linkmode,$pass"; then
+ vars="compile_deplibs finalize_deplibs"
+ else
+ vars=deplibs
+ fi
+ for var in $vars dependency_libs; do
+ # Add libraries to $var in reverse order
+ eval tmp_libs=\"\$$var\"
+ new_libs=
+ for deplib in $tmp_libs; do
+ # FIXME: Pedantically, this is the right thing to do, so
+ # that some nasty dependency loop isn't accidentally
+ # broken:
+ #new_libs="$deplib $new_libs"
+ # Pragmatically, this seems to cause very few problems in
+ # practice:
+ case $deplib in
+ -L*) new_libs="$deplib $new_libs" ;;
+ -R*) ;;
+ *)
+ # And here is the reason: when a library appears more
+ # than once as an explicit dependence of a library, or
+ # is implicitly linked in more than once by the
+ # compiler, it is considered special, and multiple
+ # occurrences thereof are not removed. Compare this
+ # with having the same library being listed as a
+ # dependency of multiple other libraries: in this case,
+ # we know (pedantically, we assume) the library does not
+ # need to be listed more than once, so we keep only the
+ # last copy. This is not always right, but it is rare
+ # enough that we require users that really mean to play
+ # such unportable linking tricks to link the library
+ # using -Wl,-lname, so that libtool does not consider it
+ # for duplicate removal.
+ case " $specialdeplibs " in
+ *" $deplib "*) new_libs="$deplib $new_libs" ;;
+ *)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) new_libs="$deplib $new_libs" ;;
+ esac
+ ;;
+ esac
+ ;;
+ esac
+ done
+ tmp_libs=
+ for deplib in $new_libs; do
+ case $deplib in
+ -L*)
+ case " $tmp_libs " in
+ *" $deplib "*) ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append tmp_libs " $deplib" ;;
+ esac
+ done
+ eval $var=\"$tmp_libs\"
+ done # for var
+ fi
+
+ # Add Sun CC postdeps if required:
+ test CXX = "$tagname" && {
+ case $host_os in
+ linux*)
+ case `$CC -V 2>&1 | sed 5q` in
+ *Sun\ C*) # Sun C++ 5.9
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+
+ solaris*)
+ func_cc_basename "$CC"
+ case $func_cc_basename_result in
+ CC* | sunCC*)
+ func_suncc_cstd_abi
+
+ if test no != "$suncc_use_cstd_abi"; then
+ func_append postdeps ' -library=Cstd -library=Crun'
+ fi
+ ;;
+ esac
+ ;;
+ esac
+ }
+
+ # Last step: remove runtime libs from dependency_libs
+ # (they stay in deplibs)
+ tmp_libs=
+ for i in $dependency_libs; do
+ case " $predeps $postdeps $compiler_lib_search_path " in
+ *" $i "*)
+ i=
+ ;;
+ esac
+ if test -n "$i"; then
+ func_append tmp_libs " $i"
+ fi
+ done
+ dependency_libs=$tmp_libs
+ done # for pass
+ if test prog = "$linkmode"; then
+ dlfiles=$newdlfiles
+ fi
+ if test prog = "$linkmode" || test lib = "$linkmode"; then
+ dlprefiles=$newdlprefiles
+ fi
+
+ case $linkmode in
+ oldlib)
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for archives"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "'-l' and '-L' are ignored for archives" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "'-rpath' is ignored for archives"
+
+ test -n "$xrpath" && \
+ func_warning "'-R' is ignored for archives"
+
+ test -n "$vinfo" && \
+ func_warning "'-version-info/-version-number' is ignored for archives"
+
+ test -n "$release" && \
+ func_warning "'-release' is ignored for archives"
+
+ test -n "$export_symbols$export_symbols_regex" && \
+ func_warning "'-export-symbols' is ignored for archives"
+
+ # Now set the variables for building old libraries.
+ build_libtool_libs=no
+ oldlibs=$output
+ func_append objs "$old_deplibs"
+ ;;
+
+ lib)
+ # Make sure we only generate libraries of the form 'libNAME.la'.
+ case $outputname in
+ lib*)
+ func_stripname 'lib' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ ;;
+ *)
+ test no = "$module" \
+ && func_fatal_help "libtool library '$output' must begin with 'lib'"
+
+ if test no != "$need_lib_prefix"; then
+ # Add the "lib" prefix for modules if required
+ func_stripname '' '.la' "$outputname"
+ name=$func_stripname_result
+ eval shared_ext=\"$shrext_cmds\"
+ eval libname=\"$libname_spec\"
+ else
+ func_stripname '' '.la' "$outputname"
+ libname=$func_stripname_result
+ fi
+ ;;
+ esac
+
+ if test -n "$objs"; then
+ if test pass_all != "$deplibs_check_method"; then
+ func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
+ else
+ echo
+ $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+ $ECHO "*** objects $objs is not portable!"
+ func_append libobjs " $objs"
+ fi
+ fi
+
+ test no = "$dlself" \
+ || func_warning "'-dlopen self' is ignored for libtool libraries"
+
+ set dummy $rpath
+ shift
+ test 1 -lt "$#" \
+ && func_warning "ignoring multiple '-rpath's for a libtool library"
+
+ install_libdir=$1
+
+ oldlibs=
+ if test -z "$rpath"; then
+ if test yes = "$build_libtool_libs"; then
+ # Building a libtool convenience library.
+ # Some compilers have problems with a '.al' extension so
+ # convenience libraries should have the same extension an
+ # archive normally would.
+ oldlibs="$output_objdir/$libname.$libext $oldlibs"
+ build_libtool_libs=convenience
+ build_old_libs=yes
+ fi
+
+ test -n "$vinfo" && \
+ func_warning "'-version-info/-version-number' is ignored for convenience libraries"
+
+ test -n "$release" && \
+ func_warning "'-release' is ignored for convenience libraries"
+ else
+
+ # Parse the version information argument.
+ save_ifs=$IFS; IFS=:
+ set dummy $vinfo 0 0 0
+ shift
+ IFS=$save_ifs
+
+ test -n "$7" && \
+ func_fatal_help "too many parameters to '-version-info'"
+
+ # convert absolute version numbers to libtool ages
+ # this retains compatibility with .la files and attempts
+ # to make the code below a bit more comprehensible
+
+ case $vinfo_number in
+ yes)
+ number_major=$1
+ number_minor=$2
+ number_revision=$3
+ #
+ # There are really only two kinds -- those that
+ # use the current revision as the major version
+ # and those that subtract age and use age as
+ # a minor version. But, then there is irix
+ # that has an extra 1 added just for fun
+ #
+ case $version_type in
+ # correct linux to gnu/linux during the next big refactor
+ darwin|freebsd-elf|linux|osf|windows|none)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age=$number_minor
+ revision=$number_revision
+ ;;
+ freebsd-aout|qnx|sunos)
+ current=$number_major
+ revision=$number_minor
+ age=0
+ ;;
+ irix|nonstopux)
+ func_arith $number_major + $number_minor
+ current=$func_arith_result
+ age=$number_minor
+ revision=$number_minor
+ lt_irix_increment=no
+ ;;
+ *)
+ func_fatal_configuration "$modename: unknown library version type '$version_type'"
+ ;;
+ esac
+ ;;
+ no)
+ current=$1
+ revision=$2
+ age=$3
+ ;;
+ esac
+
+ # Check that each of the things are valid numbers.
+ case $current in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "CURRENT '$current' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $revision in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "REVISION '$revision' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
+ ;;
+ esac
+
+ case $age in
+ 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+ *)
+ func_error "AGE '$age' must be a nonnegative integer"
+ func_fatal_error "'$vinfo' is not valid version information"
+ ;;
+ esac
+
+ if test "$age" -gt "$current"; then
+ func_error "AGE '$age' is greater than the current interface number '$current'"
+ func_fatal_error "'$vinfo' is not valid version information"
+ fi
+
+ # Calculate the version variables.
+ major=
+ versuffix=
+ verstring=
+ case $version_type in
+ none) ;;
+
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
+ # Darwin ld doesn't like 0 for these options...
+ func_arith $current + 1
+ minor_current=$func_arith_result
+ xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ # On Darwin other compilers
+ case $CC in
+ nagfor*)
+ verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
+ ;;
+ *)
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+ esac
+ ;;
+
+ freebsd-aout)
+ major=.$current
+ versuffix=.$current.$revision
+ ;;
+
+ freebsd-elf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
+ ;;
+
+ irix | nonstopux)
+ if test no = "$lt_irix_increment"; then
+ func_arith $current - $age
+ else
+ func_arith $current - $age + 1
+ fi
+ major=$func_arith_result
+
+ case $version_type in
+ nonstopux) verstring_prefix=nonstopux ;;
+ *) verstring_prefix=sgi ;;
+ esac
+ verstring=$verstring_prefix$major.$revision
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$revision
+ while test 0 -ne "$loop"; do
+ func_arith $revision - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring=$verstring_prefix$major.$iface:$verstring
+ done
+
+ # Before this point, $major must not contain '.'.
+ major=.$major
+ versuffix=$major.$revision
+ ;;
+
+ linux) # correct to gnu/linux during the next big refactor
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=$major.$age.$revision
+ ;;
+
+ osf)
+ func_arith $current - $age
+ major=.$func_arith_result
+ versuffix=.$current.$age.$revision
+ verstring=$current.$age.$revision
+
+ # Add in all the interfaces that we are compatible with.
+ loop=$age
+ while test 0 -ne "$loop"; do
+ func_arith $current - $loop
+ iface=$func_arith_result
+ func_arith $loop - 1
+ loop=$func_arith_result
+ verstring=$verstring:$iface.0
+ done
+
+ # Make executables depend on our current version.
+ func_append verstring ":$current.0"
+ ;;
+
+ qnx)
+ major=.$current
+ versuffix=.$current
+ ;;
+
+ sco)
+ major=.$current
+ versuffix=.$current
+ ;;
+
+ sunos)
+ major=.$current
+ versuffix=.$current.$revision
+ ;;
+
+ windows)
+ # Use '-' rather than '.', since we only want one
+ # extension on DOS 8.3 file systems.
+ func_arith $current - $age
+ major=$func_arith_result
+ versuffix=-$major
+ ;;
+
+ *)
+ func_fatal_configuration "unknown library version type '$version_type'"
+ ;;
+ esac
+
+ # Clear the version info if we defaulted, and they specified a release.
+ if test -z "$vinfo" && test -n "$release"; then
+ major=
+ case $version_type in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=
+ ;;
+ *)
+ verstring=0.0
+ ;;
+ esac
+ if test no = "$need_version"; then
+ versuffix=
+ else
+ versuffix=.0.0
+ fi
+ fi
+
+ # Remove version info from name if versioning should be avoided
+ if test yes,no = "$avoid_version,$need_version"; then
+ major=
+ versuffix=
+ verstring=
+ fi
+
+ # Check to see if the archive will have undefined symbols.
+ if test yes = "$allow_undefined"; then
+ if test unsupported = "$allow_undefined_flag"; then
+ if test yes = "$build_old_libs"; then
+ func_warning "undefined symbols not allowed in $host shared libraries; building static only"
+ build_libtool_libs=no
+ else
+ func_fatal_error "can't build $host shared library unless -no-undefined is specified"
+ fi
+ fi
+ else
+ # Don't allow undefined symbols.
+ allow_undefined_flag=$no_undefined_flag
+ fi
+
+ fi
+
+ func_generate_dlsyms "$libname" "$libname" :
+ func_append libobjs " $symfileobj"
+ test " " = "$libobjs" && libobjs=
+
+ if test relink != "$opt_mode"; then
+ # Remove our outputs, but don't remove object files since they
+ # may have been created when compiling PIC objects.
+ removelist=
+ tempremovelist=`$ECHO "$output_objdir/*"`
+ for p in $tempremovelist; do
+ case $p in
+ *.$objext | *.gcno)
+ ;;
+ $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
+ if test -n "$precious_files_regex"; then
+ if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+ then
+ continue
+ fi
+ fi
+ func_append removelist " $p"
+ ;;
+ *) ;;
+ esac
+ done
+ test -n "$removelist" && \
+ func_show_eval "${RM}r \$removelist"
+ fi
+
+ # Now set the variables for building old libraries.
+ if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
+ func_append oldlibs " $output_objdir/$libname.$libext"
+
+ # Transform .lo files to .o files.
+ oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
+ fi
+
+ # Eliminate all temporary directories.
+ #for path in $notinst_path; do
+ # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
+ # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
+ # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
+ #done
+
+ if test -n "$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ temp_xrpath=
+ for libdir in $xrpath; do
+ func_replace_sysroot "$libdir"
+ func_append temp_xrpath " -R$func_replace_sysroot_result"
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
+ dependency_libs="$temp_xrpath $dependency_libs"
+ fi
+ fi
+
+ # Make sure dlfiles contains only unique files that won't be dlpreopened
+ old_dlfiles=$dlfiles
+ dlfiles=
+ for lib in $old_dlfiles; do
+ case " $dlprefiles $dlfiles " in
+ *" $lib "*) ;;
+ *) func_append dlfiles " $lib" ;;
+ esac
+ done
+
+ # Make sure dlprefiles contains only unique files
+ old_dlprefiles=$dlprefiles
+ dlprefiles=
+ for lib in $old_dlprefiles; do
+ case "$dlprefiles " in
+ *" $lib "*) ;;
+ *) func_append dlprefiles " $lib" ;;
+ esac
+ done
+
+ if test yes = "$build_libtool_libs"; then
+ if test -n "$rpath"; then
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
+ # these systems don't actually have a c library (as such)!
+ ;;
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # Rhapsody C library is in the System framework
+ func_append deplibs " System.ltframework"
+ ;;
+ *-*-netbsd*)
+ # Don't link with libc until the a.out ld.so is fixed.
+ ;;
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+ # Do not include libc due to us having libc/libc_r.
+ ;;
+ *-*-sco3.2v5* | *-*-sco5v6*)
+ # Causes problems with __ctype
+ ;;
+ *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+ # Compiler inserts libc in the correct place for threads to work
+ ;;
+ *)
+ # Add libc to deplibs on all other systems if necessary.
+ if test yes = "$build_libtool_need_lc"; then
+ func_append deplibs " -lc"
+ fi
+ ;;
+ esac
+ fi
+
+ # Transform deplibs into only deplibs that can be linked in shared.
+ name_save=$name
+ libname_save=$libname
+ release_save=$release
+ versuffix_save=$versuffix
+ major_save=$major
+ # I'm not sure if I'm treating the release correctly. I think
+ # release should show up in the -l (ie -lgmp5) so we don't want to
+ # add it in twice. Is that correct?
+ release=
+ versuffix=
+ major=
+ newdeplibs=
+ droppeddeps=no
+ case $deplibs_check_method in
+ pass_all)
+ # Don't check for shared/static. Everything works.
+ # This might be a little naive. We might want to check
+ # whether the library exists or not. But this is on
+ # osf3 & osf4 and I'm not really sure... Just
+ # implementing what was already the behavior.
+ newdeplibs=$deplibs
+ ;;
+ test_compile)
+ # This code stresses the "libraries are programs" paradigm to its
+ # limits. Maybe even breaks it. We compile a program, linking it
+ # against the deplibs as a proxy for the library. Then we can check
+ # whether they linked in statically or dynamically with ldd.
+ $opt_dry_run || $RM conftest.c
+ cat > conftest.c <<EOF
+ int main() { return 0; }
+EOF
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+ ldd_output=`ldd conftest`
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=
+ ;;
+ esac
+ fi
+ if test -n "$i"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which I believe you do not have"
+ echo "*** because a test_compile did reveal that the linker did not use it for"
+ echo "*** its dynamic dependency list that programs get resolved with at runtime."
+ fi
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ else
+ # Error occurred in the first compile. Let's try to salvage
+ # the situation: Compile a separate program for each library.
+ for i in $deplibs; do
+ case $i in
+ -l*)
+ func_stripname -l '' "$i"
+ name=$func_stripname_result
+ $opt_dry_run || $RM conftest
+ if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+ ldd_output=`ldd conftest`
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $i "*)
+ func_append newdeplibs " $i"
+ i=
+ ;;
+ esac
+ fi
+ if test -n "$i"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+ set dummy $deplib_matches; shift
+ deplib_match=$1
+ if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
+ func_append newdeplibs " $i"
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because a test_compile did reveal that the linker did not use this one"
+ echo "*** as a dynamic dependency that programs can get resolved with at runtime."
+ fi
+ fi
+ else
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning! Library $i is needed by this library but I was not able to"
+ echo "*** make it link in! You will probably need to install it or some"
+ echo "*** library that it depends on before this library will be fully"
+ echo "*** functional. Installing it before continuing would be even better."
+ fi
+ ;;
+ *)
+ func_append newdeplibs " $i"
+ ;;
+ esac
+ done
+ fi
+ ;;
+ file_magic*)
+ set dummy $deplibs_check_method; shift
+ file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ if test -n "$file_magic_glob"; then
+ libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+ else
+ libnameglob=$libname
+ fi
+ test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ if test yes = "$want_nocaseglob"; then
+ shopt -s nocaseglob
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ $nocaseglob
+ else
+ potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+ fi
+ for potent_lib in $potential_libs; do
+ # Follow soft links.
+ if ls -lLd "$potent_lib" 2>/dev/null |
+ $GREP " -> " >/dev/null; then
+ continue
+ fi
+ # The statement above tries to avoid entering an
+ # endless loop below, in case of cyclic links.
+ # We might still enter an endless loop, since a link
+ # loop can be closed while we follow links,
+ # but so what?
+ potlib=$potent_lib
+ while test -h "$potlib" 2>/dev/null; do
+ potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
+ case $potliblink in
+ [\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
+ *) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
+ esac
+ done
+ if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+ $SED -e 10q |
+ $EGREP "$file_magic_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib"; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib"; then
+ $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a file magic. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ match_pattern*)
+ set dummy $deplibs_check_method; shift
+ match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+ for a_deplib in $deplibs; do
+ case $a_deplib in
+ -l*)
+ func_stripname -l '' "$a_deplib"
+ name=$func_stripname_result
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ case " $predeps $postdeps " in
+ *" $a_deplib "*)
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
+ ;;
+ esac
+ fi
+ if test -n "$a_deplib"; then
+ libname=`eval "\\$ECHO \"$libname_spec\""`
+ for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+ potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+ for potent_lib in $potential_libs; do
+ potlib=$potent_lib # see symlink-check above in file_magic test
+ if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
+ $EGREP "$match_pattern_regex" > /dev/null; then
+ func_append newdeplibs " $a_deplib"
+ a_deplib=
+ break 2
+ fi
+ done
+ done
+ fi
+ if test -n "$a_deplib"; then
+ droppeddeps=yes
+ echo
+ $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+ echo "*** I have the capability to make that library automatically link in when"
+ echo "*** you link to this library. But I can only do this if you have a"
+ echo "*** shared version of the library, which you do not appear to have"
+ echo "*** because I did check the linker path looking for a file starting"
+ if test -z "$potlib"; then
+ $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+ else
+ $ECHO "*** with $libname and none of the candidates passed a file format test"
+ $ECHO "*** using a regex pattern. Last file checked: $potlib"
+ fi
+ fi
+ ;;
+ *)
+ # Add a -L argument.
+ func_append newdeplibs " $a_deplib"
+ ;;
+ esac
+ done # Gone through all deplibs.
+ ;;
+ none | unknown | *)
+ newdeplibs=
+ tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
+ if test yes = "$allow_libtool_libs_with_static_runtimes"; then
+ for i in $predeps $postdeps; do
+ # can't use Xsed below, because $i might contain '/'
+ tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
+ done
+ fi
+ case $tmp_deplibs in
+ *[!\ \ ]*)
+ echo
+ if test none = "$deplibs_check_method"; then
+ echo "*** Warning: inter-library dependencies are not supported in this platform."
+ else
+ echo "*** Warning: inter-library dependencies are not known to be supported."
+ fi
+ echo "*** All declared inter-library dependencies are being dropped."
+ droppeddeps=yes
+ ;;
+ esac
+ ;;
+ esac
+ versuffix=$versuffix_save
+ major=$major_save
+ release=$release_save
+ libname=$libname_save
+ name=$name_save
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library with the System framework
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ if test yes = "$droppeddeps"; then
+ if test yes = "$module"; then
+ echo
+ echo "*** Warning: libtool could not satisfy all declared inter-library"
+ $ECHO "*** dependencies of module $libname. Therefore, libtool will create"
+ echo "*** a static module, that should work as long as the dlopening"
+ echo "*** application is linked with the -dlopen flag."
+ if test -z "$global_symbol_pipe"; then
+ echo
+ echo "*** However, this would only work if libtool was able to extract symbol"
+ echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
+ echo "*** not find such a program. So, this module is probably useless."
+ echo "*** 'nm' from GNU binutils and a full rebuild may help."
+ fi
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ else
+ echo "*** The inter-library dependencies that have been dropped here will be"
+ echo "*** automatically added whenever a program is linked with this library"
+ echo "*** or is declared to -dlopen it."
+
+ if test no = "$allow_undefined"; then
+ echo
+ echo "*** Since this library must not contain undefined symbols,"
+ echo "*** because either the platform does not support them or"
+ echo "*** it was explicitly requested with -no-undefined,"
+ echo "*** libtool will only create a static version of it."
+ if test no = "$build_old_libs"; then
+ oldlibs=$output_objdir/$libname.$libext
+ build_libtool_libs=module
+ build_old_libs=yes
+ else
+ build_libtool_libs=no
+ fi
+ fi
+ fi
+ fi
+ # Done checking deplibs!
+ deplibs=$newdeplibs
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ case $host in
+ *-*-darwin*)
+ newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ deplibs=$new_libs
+
+ # All the library-specific variables (install_libdir is set above).
+ library_names=
+ old_library=
+ dlname=
+
+ # Test again, we may have decided not to build it any more
+ if test yes = "$build_libtool_libs"; then
+ # Remove $wl instances when linking with ld.
+ # FIXME: should test the right _cmds variable.
+ case $archive_cmds in
+ *\$LD\ *) wl= ;;
+ esac
+ if test yes = "$hardcode_into_libs"; then
+ # Hardcode the library paths
+ hardcode_libdirs=
+ dep_rpath=
+ rpath=$finalize_rpath
+ test relink = "$opt_mode" || rpath=$compile_rpath$rpath
+ for libdir in $rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ func_replace_sysroot "$libdir"
+ libdir=$func_replace_sysroot_result
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs=$libdir
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append dep_rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir=$hardcode_libdirs
+ eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
+ fi
+ if test -n "$runpath_var" && test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+ fi
+ test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+ fi
+
+ shlibpath=$finalize_shlibpath
+ test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
+ if test -n "$shlibpath"; then
+ eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+ fi
+
+ # Get the real and link names of the library.
+ eval shared_ext=\"$shrext_cmds\"
+ eval library_names=\"$library_names_spec\"
+ set dummy $library_names
+ shift
+ realname=$1
+ shift
+
+ if test -n "$soname_spec"; then
+ eval soname=\"$soname_spec\"
+ else
+ soname=$realname
+ fi
+ if test -z "$dlname"; then
+ dlname=$soname
+ fi
+
+ lib=$output_objdir/$realname
+ linknames=
+ for link
+ do
+ func_append linknames " $link"
+ done
+
+ # Use standard objects if they are pic
+ test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ test "X$libobjs" = "X " && libobjs=
+
+ delfiles=
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+ export_symbols=$output_objdir/$libname.uexp
+ func_append delfiles " $export_symbols"
+ fi
+
+ orig_export_symbols=
+ case $host_os in
+ cygwin* | mingw* | cegcc*)
+ if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+ # exporting using user supplied symfile
+ func_dll_def_p "$export_symbols" || {
+ # and it's NOT already a .def file. Must figure out
+ # which of the given symbols are data symbols and tag
+ # them as such. So, trigger use of export_symbols_cmds.
+ # export_symbols gets reassigned inside the "prepare
+ # the list of exported symbols" if statement, so the
+ # include_expsyms logic still works.
+ orig_export_symbols=$export_symbols
+ export_symbols=
+ always_export_symbols=yes
+ }
+ fi
+ ;;
+ esac
+
+ # Prepare the list of exported symbols
+ if test -z "$export_symbols"; then
+ if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
+ $opt_dry_run || $RM $export_symbols
+ cmds=$export_symbols_cmds
+ save_ifs=$IFS; IFS='~'
+ for cmd1 in $cmds; do
+ IFS=$save_ifs
+ # Take the normal branch if the nm_file_list_spec branch
+ # doesn't work or if tool conversion is not needed.
+ case $nm_file_list_spec~$to_tool_file_cmd in
+ *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+ try_normal_branch=yes
+ eval cmd=\"$cmd1\"
+ func_len " $cmd"
+ len=$func_len_result
+ ;;
+ *)
+ try_normal_branch=no
+ ;;
+ esac
+ if test yes = "$try_normal_branch" \
+ && { test "$len" -lt "$max_cmd_len" \
+ || test "$max_cmd_len" -le -1; }
+ then
+ func_show_eval "$cmd" 'exit $?'
+ skipped_export=false
+ elif test -n "$nm_file_list_spec"; then
+ func_basename "$output"
+ output_la=$func_basename_result
+ save_libobjs=$libobjs
+ save_output=$output
+ output=$output_objdir/$output_la.nm
+ func_to_tool_file "$output"
+ libobjs=$nm_file_list_spec$func_to_tool_file_result
+ func_append delfiles " $output"
+ func_verbose "creating $NM input file list: $output"
+ for obj in $save_libobjs; do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > "$output"
+ eval cmd=\"$cmd1\"
+ func_show_eval "$cmd" 'exit $?'
+ output=$save_output
+ libobjs=$save_libobjs
+ skipped_export=false
+ else
+ # The command line is too long to execute in one step.
+ func_verbose "using reloadable object file for export list..."
+ skipped_export=:
+ # Break out early, otherwise skipped_export may be
+ # set to false by a later but shorter cmd.
+ break
+ fi
+ done
+ IFS=$save_ifs
+ if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+ fi
+
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands, which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+
+ tmp_deplibs=
+ for test_deplib in $deplibs; do
+ case " $convenience " in
+ *" $test_deplib "*) ;;
+ *)
+ func_append tmp_deplibs " $test_deplib"
+ ;;
+ esac
+ done
+ deplibs=$tmp_deplibs
+
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec" &&
+ test yes = "$compiler_needs_object" &&
+ test -z "$libobjs"; then
+ # extract the archives, so we have objects to list.
+ # TODO: could optimize this to just extract one archive.
+ whole_archive_flag_spec=
+ fi
+ if test -n "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ else
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ fi
+
+ if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
+ eval flag=\"$thread_safe_flag_spec\"
+ func_append linker_flags " $flag"
+ fi
+
+ # Make a backup of the uninstalled library when relinking
+ if test relink = "$opt_mode"; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+ fi
+
+ # Do each of the archive commands.
+ if test yes = "$module" && test -n "$module_cmds"; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ eval test_cmds=\"$module_expsym_cmds\"
+ cmds=$module_expsym_cmds
+ else
+ eval test_cmds=\"$module_cmds\"
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ eval test_cmds=\"$archive_expsym_cmds\"
+ cmds=$archive_expsym_cmds
+ else
+ eval test_cmds=\"$archive_cmds\"
+ cmds=$archive_cmds
+ fi
+ fi
+
+ if test : != "$skipped_export" &&
+ func_len " $test_cmds" &&
+ len=$func_len_result &&
+ test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ :
+ else
+ # The command line is too long to link in one step, link piecewise
+ # or, if using GNU ld and skipped_export is not :, use a linker
+ # script.
+
+ # Save the value of $output and $libobjs because we want to
+ # use them later. If we have whole_archive_flag_spec, we
+ # want to use save_libobjs as it was before
+ # whole_archive_flag_spec was expanded, because we can't
+ # assume the linker understands whole_archive_flag_spec.
+ # This may have to be revisited, in case too many
+ # convenience libraries get linked in and end up exceeding
+ # the spec.
+ if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+ save_libobjs=$libobjs
+ fi
+ save_output=$output
+ func_basename "$output"
+ output_la=$func_basename_result
+
+ # Clear the reloadable object creation command queue and
+ # initialize k to one.
+ test_cmds=
+ concat_cmds=
+ objlist=
+ last_robj=
+ k=1
+
+ if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
+ output=$output_objdir/$output_la.lnkscript
+ func_verbose "creating GNU ld script: $output"
+ echo 'INPUT (' > $output
+ for obj in $save_libobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ echo ')' >> $output
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$func_to_tool_file_result
+ elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
+ output=$output_objdir/$output_la.lnk
+ func_verbose "creating linker input file list: $output"
+ : > $output
+ set x $save_libobjs
+ shift
+ firstobj=
+ if test yes = "$compiler_needs_object"; then
+ firstobj="$1 "
+ shift
+ fi
+ for obj
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result" >> $output
+ done
+ func_append delfiles " $output"
+ func_to_tool_file "$output"
+ output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
+ else
+ if test -n "$save_libobjs"; then
+ func_verbose "creating reloadable object files..."
+ output=$output_objdir/$output_la-$k.$objext
+ eval test_cmds=\"$reload_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+
+ # Loop over the list of objects to be linked.
+ for obj in $save_libobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ if test -z "$objlist" ||
+ test "$len" -lt "$max_cmd_len"; then
+ func_append objlist " $obj"
+ else
+ # The command $test_cmds is almost too long, add a
+ # command to the queue.
+ if test 1 -eq "$k"; then
+ # The first file doesn't have a previous command to add.
+ reload_objs=$objlist
+ eval concat_cmds=\"$reload_cmds\"
+ else
+ # All subsequent reloadable object files will link in
+ # the last one created.
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
+ fi
+ last_robj=$output_objdir/$output_la-$k.$objext
+ func_arith $k + 1
+ k=$func_arith_result
+ output=$output_objdir/$output_la-$k.$objext
+ objlist=" $obj"
+ func_len " $last_robj"
+ func_arith $len0 + $func_len_result
+ len=$func_arith_result
+ fi
+ done
+ # Handle the remaining objects by creating one last
+ # reloadable object file. All subsequent reloadable object
+ # files will link in the last one created.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ reload_objs="$objlist $last_robj"
+ eval concat_cmds=\"\$concat_cmds$reload_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ func_append delfiles " $output"
+
+ else
+ output=
+ fi
+
+ ${skipped_export-false} && {
+ func_verbose "generating symbol list for '$libname.la'"
+ export_symbols=$output_objdir/$libname.exp
+ $opt_dry_run || $RM $export_symbols
+ libobjs=$output
+ # Append the command to create the export file.
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+ if test -n "$last_robj"; then
+ eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+ fi
+ }
+
+ test -n "$save_libobjs" &&
+ func_verbose "creating a temporary reloadable object file: $output"
+
+ # Loop through the commands generated above and execute them.
+ save_ifs=$IFS; IFS='~'
+ for cmd in $concat_cmds; do
+ IFS=$save_ifs
+ $opt_quiet || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test relink = "$opt_mode"; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS=$save_ifs
+
+ if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+ func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+ func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+ fi
+ fi
+
+ ${skipped_export-false} && {
+ if test -n "$export_symbols" && test -n "$include_expsyms"; then
+ tmp_export_symbols=$export_symbols
+ test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
+ $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
+ fi
+
+ if test -n "$orig_export_symbols"; then
+ # The given exports_symbols file has to be filtered, so filter it.
+ func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
+ # FIXME: $output_objdir/$libname.filter potentially contains lots of
+ # 's' commands, which not all seds can handle. GNU sed should be fine
+ # though. Also, the filter scales superlinearly with the number of
+ # global variables. join(1) would be nice here, but unfortunately
+ # isn't a blessed tool.
+ $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+ func_append delfiles " $export_symbols $output_objdir/$libname.filter"
+ export_symbols=$output_objdir/$libname.def
+ $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+ fi
+ }
+
+ libobjs=$output
+ # Restore the value of output.
+ output=$save_output
+
+ if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+ eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+ # Expand the library linking commands again to reset the
+ # value of $libobjs for piecewise linking.
+
+ # Do each of the archive commands.
+ if test yes = "$module" && test -n "$module_cmds"; then
+ if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+ cmds=$module_expsym_cmds
+ else
+ cmds=$module_cmds
+ fi
+ else
+ if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+ cmds=$archive_expsym_cmds
+ else
+ cmds=$archive_cmds
+ fi
+ fi
+ fi
+
+ if test -n "$delfiles"; then
+ # Append the command to remove temporary files to $cmds.
+ eval cmds=\"\$cmds~\$RM $delfiles\"
+ fi
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append libobjs " $func_extract_archives_result"
+ test "X$libobjs" = "X " && libobjs=
+ fi
+
+ save_ifs=$IFS; IFS='~'
+ for cmd in $cmds; do
+ IFS=$sp$nl
+ eval cmd=\"$cmd\"
+ IFS=$save_ifs
+ $opt_quiet || {
+ func_quote_for_expand "$cmd"
+ eval "func_echo $func_quote_for_expand_result"
+ }
+ $opt_dry_run || eval "$cmd" || {
+ lt_exit=$?
+
+ # Restore the uninstalled library and exit
+ if test relink = "$opt_mode"; then
+ ( cd "$output_objdir" && \
+ $RM "${realname}T" && \
+ $MV "${realname}U" "$realname" )
+ fi
+
+ exit $lt_exit
+ }
+ done
+ IFS=$save_ifs
+
+ # Restore the uninstalled library and exit
+ if test relink = "$opt_mode"; then
+ $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+ if test -n "$convenience"; then
+ if test -z "$whole_archive_flag_spec"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ # Create links to the real library.
+ for linkname in $linknames; do
+ if test "$realname" != "$linkname"; then
+ func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+ fi
+ done
+
+ # If -module or -export-dynamic was specified, set the dlname.
+ if test yes = "$module" || test yes = "$export_dynamic"; then
+ # On all known operating systems, these are identical.
+ dlname=$soname
+ fi
+ fi
+ ;;
+
+ obj)
+ if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
+ func_warning "'-dlopen' is ignored for objects"
+ fi
+
+ case " $deplibs" in
+ *\ -l* | *\ -L*)
+ func_warning "'-l' and '-L' are ignored for objects" ;;
+ esac
+
+ test -n "$rpath" && \
+ func_warning "'-rpath' is ignored for objects"
+
+ test -n "$xrpath" && \
+ func_warning "'-R' is ignored for objects"
+
+ test -n "$vinfo" && \
+ func_warning "'-version-info' is ignored for objects"
+
+ test -n "$release" && \
+ func_warning "'-release' is ignored for objects"
+
+ case $output in
+ *.lo)
+ test -n "$objs$old_deplibs" && \
+ func_fatal_error "cannot build library object '$output' from non-libtool objects"
+
+ libobj=$output
+ func_lo2o "$libobj"
+ obj=$func_lo2o_result
+ ;;
+ *)
+ libobj=
+ obj=$output
+ ;;
+ esac
+
+ # Delete the old objects.
+ $opt_dry_run || $RM $obj $libobj
+
+ # Objects from convenience libraries. This assumes
+ # single-version convenience libraries. Whenever we create
+ # different ones for PIC/non-PIC, this we'll have to duplicate
+ # the extraction.
+ reload_conv_objs=
+ gentop=
+ # if reload_cmds runs $LD directly, get rid of -Wl from
+ # whole_archive_flag_spec and hope we can get by with turning comma
+ # into space.
+ case $reload_cmds in
+ *\$LD[\ \$]*) wl= ;;
+ esac
+ if test -n "$convenience"; then
+ if test -n "$whole_archive_flag_spec"; then
+ eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+ test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
+ reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
+ else
+ gentop=$output_objdir/${obj}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $convenience
+ reload_conv_objs="$reload_objs $func_extract_archives_result"
+ fi
+ fi
+
+ # If we're not building shared, we need to use non_pic_objs
+ test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
+
+ # Create the old-style object.
+ reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
+
+ output=$obj
+ func_execute_cmds "$reload_cmds" 'exit $?'
+
+ # Exit if we aren't doing a library object file.
+ if test -z "$libobj"; then
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ test yes = "$build_libtool_libs" || {
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ # Create an invalid libtool object if no PIC, so that we don't
+ # accidentally link it into a program.
+ # $show "echo timestamp > $libobj"
+ # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+ exit $EXIT_SUCCESS
+ }
+
+ if test -n "$pic_flag" || test default != "$pic_mode"; then
+ # Only do commands if we really have different PIC objects.
+ reload_objs="$libobjs $reload_conv_objs"
+ output=$libobj
+ func_execute_cmds "$reload_cmds" 'exit $?'
+ fi
+
+ if test -n "$gentop"; then
+ func_show_eval '${RM}r "$gentop"'
+ fi
+
+ exit $EXIT_SUCCESS
+ ;;
+
+ prog)
+ case $host in
+ *cygwin*) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result.exe;;
+ esac
+ test -n "$vinfo" && \
+ func_warning "'-version-info' is ignored for programs"
+
+ test -n "$release" && \
+ func_warning "'-release' is ignored for programs"
+
+ $preload \
+ && test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
+ && func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+ case $host in
+ *-*-rhapsody* | *-*-darwin1.[012])
+ # On Rhapsody replace the C library is the System framework
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
+ ;;
+ esac
+
+ case $host in
+ *-*-darwin*)
+ # Don't allow lazy linking, it breaks C++ global constructors
+ # But is supposedly fixed on 10.4 or later (yay!).
+ if test CXX = "$tagname"; then
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+ 10.[0123])
+ func_append compile_command " $wl-bind_at_load"
+ func_append finalize_command " $wl-bind_at_load"
+ ;;
+ esac
+ fi
+ # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+ compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
+ ;;
+ esac
+
+
+ # move library search paths that coincide with paths to not yet
+ # installed libraries to the beginning of the library search list
+ new_libs=
+ for path in $notinst_path; do
+ case " $new_libs " in
+ *" -L$path/$objdir "*) ;;
+ *)
+ case " $compile_deplibs " in
+ *" -L$path/$objdir "*)
+ func_append new_libs " -L$path/$objdir" ;;
+ esac
+ ;;
+ esac
+ done
+ for deplib in $compile_deplibs; do
+ case $deplib in
+ -L*)
+ case " $new_libs " in
+ *" $deplib "*) ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ ;;
+ *) func_append new_libs " $deplib" ;;
+ esac
+ done
+ compile_deplibs=$new_libs
+
+
+ func_append compile_command " $compile_deplibs"
+ func_append finalize_command " $finalize_deplibs"
+
+ if test -n "$rpath$xrpath"; then
+ # If the user specified any rpath flags, then add them.
+ for libdir in $rpath $xrpath; do
+ # This is the magic to use -rpath.
+ case "$finalize_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_rpath " $libdir" ;;
+ esac
+ done
+ fi
+
+ # Now hardcode the library paths
+ rpath=
+ hardcode_libdirs=
+ for libdir in $compile_rpath $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs=$libdir
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append perm_rpath " $libdir" ;;
+ esac
+ fi
+ case $host in
+ *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+ testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
+ case :$dllsearchpath: in
+ *":$libdir:"*) ;;
+ ::) dllsearchpath=$libdir;;
+ *) func_append dllsearchpath ":$libdir";;
+ esac
+ case :$dllsearchpath: in
+ *":$testbindir:"*) ;;
+ ::) dllsearchpath=$testbindir;;
+ *) func_append dllsearchpath ":$testbindir";;
+ esac
+ ;;
+ esac
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir=$hardcode_libdirs
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ compile_rpath=$rpath
+
+ rpath=
+ hardcode_libdirs=
+ for libdir in $finalize_rpath; do
+ if test -n "$hardcode_libdir_flag_spec"; then
+ if test -n "$hardcode_libdir_separator"; then
+ if test -z "$hardcode_libdirs"; then
+ hardcode_libdirs=$libdir
+ else
+ # Just accumulate the unique libdirs.
+ case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+ *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+ ;;
+ *)
+ func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
+ ;;
+ esac
+ fi
+ else
+ eval flag=\"$hardcode_libdir_flag_spec\"
+ func_append rpath " $flag"
+ fi
+ elif test -n "$runpath_var"; then
+ case "$finalize_perm_rpath " in
+ *" $libdir "*) ;;
+ *) func_append finalize_perm_rpath " $libdir" ;;
+ esac
+ fi
+ done
+ # Substitute the hardcoded libdirs into the rpath.
+ if test -n "$hardcode_libdir_separator" &&
+ test -n "$hardcode_libdirs"; then
+ libdir=$hardcode_libdirs
+ eval rpath=\" $hardcode_libdir_flag_spec\"
+ fi
+ finalize_rpath=$rpath
+
+ if test -n "$libobjs" && test yes = "$build_old_libs"; then
+ # Transform all the library objects into standard objects.
+ compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
+ fi
+
+ func_generate_dlsyms "$outputname" "@PROGRAM@" false
+
+ # template prelinking step
+ if test -n "$prelink_cmds"; then
+ func_execute_cmds "$prelink_cmds" 'exit $?'
+ fi
+
+ wrappers_required=:
+ case $host in
+ *cegcc* | *mingw32ce*)
+ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
+ wrappers_required=false
+ ;;
+ *cygwin* | *mingw* )
+ test yes = "$build_libtool_libs" || wrappers_required=false
+ ;;
+ *)
+ if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
+ wrappers_required=false
+ fi
+ ;;
+ esac
+ $wrappers_required || {
+ # Replace the output file specification.
+ compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ link_command=$compile_command$compile_rpath
+
+ # We have no uninstalled library dependencies, so finalize right now.
+ exit_status=0
+ func_show_eval "$link_command" 'exit_status=$?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Delete the generated files.
+ if test -f "$output_objdir/${outputname}S.$objext"; then
+ func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
+ fi
+
+ exit $exit_status
+ }
+
+ if test -n "$compile_shlibpath$finalize_shlibpath"; then
+ compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+ fi
+ if test -n "$finalize_shlibpath"; then
+ finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+ fi
+
+ compile_var=
+ finalize_var=
+ if test -n "$runpath_var"; then
+ if test -n "$perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ if test -n "$finalize_perm_rpath"; then
+ # We should set the runpath_var.
+ rpath=
+ for dir in $finalize_perm_rpath; do
+ func_append rpath "$dir:"
+ done
+ finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+ fi
+ fi
+
+ if test yes = "$no_install"; then
+ # We don't need to create a wrapper script.
+ link_command=$compile_var$compile_command$compile_rpath
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
+ # Delete the old output file.
+ $opt_dry_run || $RM $output
+ # Link the executable and exit
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ exit $EXIT_SUCCESS
+ fi
+
+ case $hardcode_action,$fast_install in
+ relink,*)
+ # Fast installation is not supported
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
+
+ func_warning "this platform does not like uninstalled shared libraries"
+ func_warning "'$output' will be relinked during installation"
+ ;;
+ *,yes)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
+ ;;
+ *,no)
+ link_command=$compile_var$compile_command$compile_rpath
+ relink_command=$finalize_var$finalize_command$finalize_rpath
+ ;;
+ *,needless)
+ link_command=$finalize_var$compile_command$finalize_rpath
+ relink_command=
+ ;;
+ esac
+
+ # Replace the output file specification.
+ link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+ # Delete the old output files.
+ $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+ func_show_eval "$link_command" 'exit $?'
+
+ if test -n "$postlink_cmds"; then
+ func_to_tool_file "$output_objdir/$outputname"
+ postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+ func_execute_cmds "$postlink_cmds" 'exit $?'
+ fi
+
+ # Now create the wrapper script.
+ func_verbose "creating $output"
+
+ # Quote the relink command for shipping.
+ if test -n "$relink_command"; then
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ relink_command="(cd `pwd`; $relink_command)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ fi
+
+ # Only actually do things if not in dry run mode.
+ $opt_dry_run || {
+ # win32 will think the script is a binary if it has
+ # a .exe suffix, so we strip it off here.
+ case $output in
+ *.exe) func_stripname '' '.exe' "$output"
+ output=$func_stripname_result ;;
+ esac
+ # test for cygwin because mv fails w/o .exe extensions
+ case $host in
+ *cygwin*)
+ exeext=.exe
+ func_stripname '' '.exe' "$outputname"
+ outputname=$func_stripname_result ;;
+ *) exeext= ;;
+ esac
+ case $host in
+ *cygwin* | *mingw* )
+ func_dirname_and_basename "$output" "" "."
+ output_name=$func_basename_result
+ output_path=$func_dirname_result
+ cwrappersource=$output_path/$objdir/lt-$output_name.c
+ cwrapper=$output_path/$output_name.exe
+ $RM $cwrappersource $cwrapper
+ trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_cwrapperexe_src > $cwrappersource
+
+ # The wrapper executable is built using the $host compiler,
+ # because it contains $host paths and files. If cross-
+ # compiling, it, like the target executable, must be
+ # executed on the $host or under an emulation environment.
+ $opt_dry_run || {
+ $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+ $STRIP $cwrapper
+ }
+
+ # Now, create the wrapper script for func_source use:
+ func_ltwrapper_scriptname $cwrapper
+ $RM $func_ltwrapper_scriptname_result
+ trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+ $opt_dry_run || {
+ # note: this script will not be executed, so do not chmod.
+ if test "x$build" = "x$host"; then
+ $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+ else
+ func_emit_wrapper no > $func_ltwrapper_scriptname_result
+ fi
+ }
+ ;;
+ * )
+ $RM $output
+ trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+ func_emit_wrapper no > $output
+ chmod +x $output
+ ;;
+ esac
+ }
+ exit $EXIT_SUCCESS
+ ;;
+ esac
+
+ # See if we need to build an old-fashioned archive.
+ for oldlib in $oldlibs; do
+
+ case $build_libtool_libs in
+ convenience)
+ oldobjs="$libobjs_save $symfileobj"
+ addlibs=$convenience
+ build_libtool_libs=no
+ ;;
+ module)
+ oldobjs=$libobjs_save
+ addlibs=$old_convenience
+ build_libtool_libs=no
+ ;;
+ *)
+ oldobjs="$old_deplibs $non_pic_objects"
+ $preload && test -f "$symfileobj" \
+ && func_append oldobjs " $symfileobj"
+ addlibs=$old_convenience
+ ;;
+ esac
+
+ if test -n "$addlibs"; then
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $addlibs
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # Do each command in the archive commands.
+ if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
+ cmds=$old_archive_from_new_cmds
+ else
+
+ # Add any objects from preloaded convenience libraries
+ if test -n "$dlprefiles"; then
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+
+ func_extract_archives $gentop $dlprefiles
+ func_append oldobjs " $func_extract_archives_result"
+ fi
+
+ # POSIX demands no paths to be encoded in archives. We have
+ # to avoid creating archives with duplicate basenames if we
+ # might have to extract them afterwards, e.g., when creating a
+ # static archive out of a convenience library, or when linking
+ # the entirety of a libtool archive into another (currently
+ # not supported by libtool).
+ if (for obj in $oldobjs
+ do
+ func_basename "$obj"
+ $ECHO "$func_basename_result"
+ done | sort | sort -uc >/dev/null 2>&1); then
+ :
+ else
+ echo "copying selected object files to avoid basename conflicts..."
+ gentop=$output_objdir/${outputname}x
+ func_append generated " $gentop"
+ func_mkdir_p "$gentop"
+ save_oldobjs=$oldobjs
+ oldobjs=
+ counter=1
+ for obj in $save_oldobjs
+ do
+ func_basename "$obj"
+ objbase=$func_basename_result
+ case " $oldobjs " in
+ " ") oldobjs=$obj ;;
+ *[\ /]"$objbase "*)
+ while :; do
+ # Make sure we don't pick an alternate name that also
+ # overlaps.
+ newobj=lt$counter-$objbase
+ func_arith $counter + 1
+ counter=$func_arith_result
+ case " $oldobjs " in
+ *[\ /]"$newobj "*) ;;
+ *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+ esac
+ done
+ func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+ func_append oldobjs " $gentop/$newobj"
+ ;;
+ *) func_append oldobjs " $obj" ;;
+ esac
+ done
+ fi
+ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+ tool_oldlib=$func_to_tool_file_result
+ eval cmds=\"$old_archive_cmds\"
+
+ func_len " $cmds"
+ len=$func_len_result
+ if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+ cmds=$old_archive_cmds
+ elif test -n "$archiver_list_spec"; then
+ func_verbose "using command file archive linking..."
+ for obj in $oldobjs
+ do
+ func_to_tool_file "$obj"
+ $ECHO "$func_to_tool_file_result"
+ done > $output_objdir/$libname.libcmd
+ func_to_tool_file "$output_objdir/$libname.libcmd"
+ oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+ cmds=$old_archive_cmds
+ else
+ # the command line is too long to link in one step, link in parts
+ func_verbose "using piecewise archive linking..."
+ save_RANLIB=$RANLIB
+ RANLIB=:
+ objlist=
+ concat_cmds=
+ save_oldobjs=$oldobjs
+ oldobjs=
+ # Is there a better way of finding the last object in the list?
+ for obj in $save_oldobjs
+ do
+ last_oldobj=$obj
+ done
+ eval test_cmds=\"$old_archive_cmds\"
+ func_len " $test_cmds"
+ len0=$func_len_result
+ len=$len0
+ for obj in $save_oldobjs
+ do
+ func_len " $obj"
+ func_arith $len + $func_len_result
+ len=$func_arith_result
+ func_append objlist " $obj"
+ if test "$len" -lt "$max_cmd_len"; then
+ :
+ else
+ # the above command should be used before it gets too long
+ oldobjs=$objlist
+ if test "$obj" = "$last_oldobj"; then
+ RANLIB=$save_RANLIB
+ fi
+ test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+ eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
+ objlist=
+ len=$len0
+ fi
+ done
+ RANLIB=$save_RANLIB
+ oldobjs=$objlist
+ if test -z "$oldobjs"; then
+ eval cmds=\"\$concat_cmds\"
+ else
+ eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+ fi
+ fi
+ fi
+ func_execute_cmds "$cmds" 'exit $?'
+ done
+
+ test -n "$generated" && \
+ func_show_eval "${RM}r$generated"
+
+ # Now create the libtool archive.
+ case $output in
+ *.la)
+ old_library=
+ test yes = "$build_old_libs" && old_library=$libname.$libext
+ func_verbose "creating $output"
+
+ # Preserve any variables that may affect compiler behavior
+ for var in $variables_saved_for_relink; do
+ if eval test -z \"\${$var+set}\"; then
+ relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+ elif eval var_value=\$$var; test -z "$var_value"; then
+ relink_command="$var=; export $var; $relink_command"
+ else
+ func_quote_for_eval "$var_value"
+ relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+ fi
+ done
+ # Quote the link command for shipping.
+ relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+ relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
+ if test yes = "$hardcode_automatic"; then
+ relink_command=
+ fi
+
+ # Only create the output if not a dry run.
+ $opt_dry_run || {
+ for installed in no yes; do
+ if test yes = "$installed"; then
+ if test -z "$install_libdir"; then
+ break
+ fi
+ output=$output_objdir/${outputname}i
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
+ name=$func_basename_result
+ func_resolve_sysroot "$deplib"
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
+ test -z "$libdir" && \
+ func_fatal_error "'$deplib' is not a valid libtool archive"
+ func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ -L*)
+ func_stripname -L '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -L$func_replace_sysroot_result"
+ ;;
+ -R*)
+ func_stripname -R '' "$deplib"
+ func_replace_sysroot "$func_stripname_result"
+ func_append newdependency_libs " -R$func_replace_sysroot_result"
+ ;;
+ *) func_append newdependency_libs " $deplib" ;;
+ esac
+ done
+ dependency_libs=$newdependency_libs
+ newdlfiles=
+
+ for lib in $dlfiles; do
+ case $lib in
+ *.la)
+ func_basename "$lib"
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "'$lib' is not a valid libtool archive"
+ func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ *) func_append newdlfiles " $lib" ;;
+ esac
+ done
+ dlfiles=$newdlfiles
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ *.la)
+ # Only pass preopened files to the pseudo-archive (for
+ # eventual linking with the app. that links it) if we
+ # didn't already link the preopened objects directly into
+ # the library:
+ func_basename "$lib"
+ name=$func_basename_result
+ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+ test -z "$libdir" && \
+ func_fatal_error "'$lib' is not a valid libtool archive"
+ func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
+ ;;
+ esac
+ done
+ dlprefiles=$newdlprefiles
+ else
+ newdlfiles=
+ for lib in $dlfiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlfiles " $abs"
+ done
+ dlfiles=$newdlfiles
+ newdlprefiles=
+ for lib in $dlprefiles; do
+ case $lib in
+ [\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
+ *) abs=`pwd`"/$lib" ;;
+ esac
+ func_append newdlprefiles " $abs"
+ done
+ dlprefiles=$newdlprefiles
+ fi
+ $RM $output
+ # place dlname in correct position for cygwin
+ # In fact, it would be nice if we could use this code for all target
+ # systems that can't hard-code library paths into their executables
+ # and that have no shared library path variable independent of PATH,
+ # but it turns out we can't easily determine that from inspecting
+ # libtool variables, so we have to hard-code the OSs to which it
+ # applies here; at the moment, that means platforms that use the PE
+ # object format with DLL files. See the long comment at the top of
+ # tests/bindir.at for full details.
+ tdlname=$dlname
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
+ # If a -bindir argument was supplied, place the dll there.
+ if test -n "$bindir"; then
+ func_relative_path "$install_libdir" "$bindir"
+ tdlname=$func_relative_path_result/$dlname
+ else
+ # Otherwise fall back on heuristic.
+ tdlname=../bin/$dlname
+ fi
+ ;;
+ esac
+ $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that cannot go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+ if test no,yes = "$installed,$need_relink"; then
+ $ECHO >> $output "\
+relink_command=\"$relink_command\""
+ fi
+ done
+ }
+
+ # Do a symbolic link so that the libtool archive can be found in
+ # LD_LIBRARY_PATH before the program is installed.
+ func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+ ;;
+ esac
+ exit $EXIT_SUCCESS
+}
+
+if test link = "$opt_mode" || test relink = "$opt_mode"; then
+ func_mode_link ${1+"$@"}
+fi
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+ $debug_cmd
+
+ RM=$nonopt
+ files=
+ rmforce=false
+ exit_status=0
+
+ # This variable tells wrapper scripts just to set variables rather
+ # than running their programs.
+ libtool_install_magic=$magic
+
+ for arg
+ do
+ case $arg in
+ -f) func_append RM " $arg"; rmforce=: ;;
+ -*) func_append RM " $arg" ;;
+ *) func_append files " $arg" ;;
+ esac
+ done
+
+ test -z "$RM" && \
+ func_fatal_help "you must specify an RM program"
+
+ rmdirs=
+
+ for file in $files; do
+ func_dirname "$file" "" "."
+ dir=$func_dirname_result
+ if test . = "$dir"; then
+ odir=$objdir
+ else
+ odir=$dir/$objdir
+ fi
+ func_basename "$file"
+ name=$func_basename_result
+ test uninstall = "$opt_mode" && odir=$dir
+
+ # Remember odir for removal later, being careful to avoid duplicates
+ if test clean = "$opt_mode"; then
+ case " $rmdirs " in
+ *" $odir "*) ;;
+ *) func_append rmdirs " $odir" ;;
+ esac
+ fi
+
+ # Don't error if the file doesn't exist and rm -f was used.
+ if { test -L "$file"; } >/dev/null 2>&1 ||
+ { test -h "$file"; } >/dev/null 2>&1 ||
+ test -f "$file"; then
+ :
+ elif test -d "$file"; then
+ exit_status=1
+ continue
+ elif $rmforce; then
+ continue
+ fi
+
+ rmfiles=$file
+
+ case $name in
+ *.la)
+ # Possibly a libtool archive, so verify it.
+ if func_lalib_p "$file"; then
+ func_source $dir/$name
+
+ # Delete the libtool libraries and symlinks.
+ for n in $library_names; do
+ func_append rmfiles " $odir/$n"
+ done
+ test -n "$old_library" && func_append rmfiles " $odir/$old_library"
+
+ case $opt_mode in
+ clean)
+ case " $library_names " in
+ *" $dlname "*) ;;
+ *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
+ esac
+ test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
+ ;;
+ uninstall)
+ if test -n "$library_names"; then
+ # Do each command in the postuninstall commands.
+ func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
+ fi
+
+ if test -n "$old_library"; then
+ # Do each command in the old_postuninstall commands.
+ func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
+ fi
+ # FIXME: should reinstall the best remaining shared library.
+ ;;
+ esac
+ fi
+ ;;
+
+ *.lo)
+ # Possibly a libtool object, so verify it.
+ if func_lalib_p "$file"; then
+
+ # Read the .lo file
+ func_source $dir/$name
+
+ # Add PIC object to the list of files to remove.
+ if test -n "$pic_object" && test none != "$pic_object"; then
+ func_append rmfiles " $dir/$pic_object"
+ fi
+
+ # Add non-PIC object to the list of files to remove.
+ if test -n "$non_pic_object" && test none != "$non_pic_object"; then
+ func_append rmfiles " $dir/$non_pic_object"
+ fi
+ fi
+ ;;
+
+ *)
+ if test clean = "$opt_mode"; then
+ noexename=$name
+ case $file in
+ *.exe)
+ func_stripname '' '.exe' "$file"
+ file=$func_stripname_result
+ func_stripname '' '.exe' "$name"
+ noexename=$func_stripname_result
+ # $file with .exe has already been added to rmfiles,
+ # add $file without .exe
+ func_append rmfiles " $file"
+ ;;
+ esac
+ # Do a test to see if this is a libtool program.
+ if func_ltwrapper_p "$file"; then
+ if func_ltwrapper_executable_p "$file"; then
+ func_ltwrapper_scriptname "$file"
+ relink_command=
+ func_source $func_ltwrapper_scriptname_result
+ func_append rmfiles " $func_ltwrapper_scriptname_result"
+ else
+ relink_command=
+ func_source $dir/$noexename
+ fi
+
+ # note $name still contains .exe if it was in $file originally
+ # as does the version of $file that was added into $rmfiles
+ func_append rmfiles " $odir/$name $odir/${name}S.$objext"
+ if test yes = "$fast_install" && test -n "$relink_command"; then
+ func_append rmfiles " $odir/lt-$name"
+ fi
+ if test "X$noexename" != "X$name"; then
+ func_append rmfiles " $odir/lt-$noexename.c"
+ fi
+ fi
+ fi
+ ;;
+ esac
+ func_show_eval "$RM $rmfiles" 'exit_status=1'
+ done
+
+ # Try to remove the $objdir's in the directories where we deleted files
+ for dir in $rmdirs; do
+ if test -d "$dir"; then
+ func_show_eval "rmdir $dir >/dev/null 2>&1"
+ fi
+ done
+
+ exit $exit_status
+}
+
+if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
+ func_mode_uninstall ${1+"$@"}
+fi
+
+test -z "$opt_mode" && {
+ help=$generic_help
+ func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+ func_fatal_help "invalid operation mode '$opt_mode'"
+
+if test -n "$exec_cmd"; then
+ eval exec "$exec_cmd"
+ exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# where we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
diff --git a/3rdparty/libbacktrace/macho.c b/3rdparty/libbacktrace/macho.c
new file mode 100644
index 000000000..01cdaf240
--- /dev/null
+++ b/3rdparty/libbacktrace/macho.c
@@ -0,0 +1,1432 @@
+/* macho.c -- Get debug data from an Mach-O file for backtraces.
+ Copyright (C) 2012-2016 Free Software Foundation, Inc.
+ Written by John Colanduoni.
+
+ Pending upstream pull request:
+ https://github.com/ianlancetaylor/libbacktrace/pull/2
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+/* We can't use autotools to detect the pointer width of our program because
+ we may be building a fat Mach-O file containing both 32-bit and 64-bit
+ variants. However Mach-O runs a limited set of platforms so detection
+ via preprocessor is not difficult. */
+
+#if defined(__MACH__)
+#if defined(__LP64__)
+#define BACKTRACE_BITS 64
+#else
+#define BACKTRACE_BITS 32
+#endif
+#else
+#error Attempting to build Mach-O support on incorrect platform
+#endif
+
+#if defined(__x86_64__)
+#define NATIVE_CPU_TYPE CPU_TYPE_X86_64
+#elif defined(__i386__)
+#define NATIVE_CPU_TYPE CPU_TYPE_X86
+#elif defined(__aarch64__)
+#define NATIVE_CPU_TYPE CPU_TYPE_ARM64
+#elif defined(__arm__)
+#define NATIVE_CPU_TYPE CPU_TYPE_ARM
+#else
+#error Could not detect native Mach-O cpu_type_t
+#endif
+
+#include <sys/types.h>
+#include <sys/syslimits.h>
+#include <string.h>
+#include <mach-o/loader.h>
+#include <mach-o/nlist.h>
+#include <mach-o/fat.h>
+#include <mach-o/dyld.h>
+#include <uuid/uuid.h>
+#include <dirent.h>
+#include <stdlib.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+// Pragma macro only enabled on gcc >= 8
+#if defined(__GNUC__) && (GCC_VERSION >= 8000)
+#define PRAGMA_GCC8(str) _Pragma(#str)
+#else // ! defined(__GNUC__) && (GCC_VERSION >= 8000)
+#define PRAGMA_GCC8(str)
+#endif // ! defined(__GNUC__) && (GCC_VERSION >= 8000)
+
+struct macho_commands_view
+{
+ struct backtrace_view view;
+ uint32_t commands_count;
+ uint32_t commands_total_size;
+ int bytes_swapped;
+ size_t base_offset;
+};
+
+enum debug_section
+{
+ DEBUG_INFO,
+ DEBUG_LINE,
+ DEBUG_ABBREV,
+ DEBUG_RANGES,
+ DEBUG_STR,
+ DEBUG_MAX
+};
+
+static const char *const debug_section_names[DEBUG_MAX] =
+ {
+ "__debug_info",
+ "__debug_line",
+ "__debug_abbrev",
+ "__debug_ranges",
+ "__debug_str"
+ };
+
+struct found_dwarf_section
+{
+ uint32_t file_offset;
+ uintptr_t file_size;
+ const unsigned char *data;
+};
+
+/* Mach-O symbols don't have a length. As a result we have to infer it
+ by sorting the symbol addresses for each image and recording the
+ memory range attributed to each image. */
+struct macho_symbol
+{
+ uintptr_t addr;
+ size_t size;
+ const char *name;
+};
+
+struct macho_syminfo_data
+{
+ struct macho_syminfo_data *next;
+ struct macho_symbol *symbols;
+ size_t symbol_count;
+ uintptr_t min_addr;
+ uintptr_t max_addr;
+};
+
+uint16_t
+macho_file_to_host_u16 (int file_bytes_swapped, uint16_t input)
+{
+ if (file_bytes_swapped)
+ return (input >> 8) | (input << 8);
+ else
+ return input;
+}
+
+uint32_t
+macho_file_to_host_u32 (int file_bytes_swapped, uint32_t input)
+{
+ if (file_bytes_swapped)
+ {
+ return ((input >> 24) & 0x000000FF)
+ | ((input >> 8) & 0x0000FF00)
+ | ((input << 8) & 0x00FF0000)
+ | ((input << 24) & 0xFF000000);
+ }
+ else
+ {
+ return input;
+ }
+}
+
+uint64_t
+macho_file_to_host_u64 (int file_bytes_swapped, uint64_t input)
+{
+ if (file_bytes_swapped)
+ {
+ return macho_file_to_host_u32 (file_bytes_swapped,
+ (uint32_t) (input >> 32))
+ | (((uint64_t) macho_file_to_host_u32 (file_bytes_swapped,
+ (uint32_t) input)) << 32);
+ }
+ else
+ {
+ return input;
+ }
+}
+
+#if BACKTRACE_BITS == 64
+#define macho_file_to_host_usize macho_file_to_host_u64
+typedef struct mach_header_64 mach_header_native_t;
+#define LC_SEGMENT_NATIVE LC_SEGMENT_64
+typedef struct segment_command_64 segment_command_native_t;
+typedef struct nlist_64 nlist_native_t;
+typedef struct section_64 section_native_t;
+#else /* BACKTRACE_BITS == 32 */
+#define macho_file_to_host_usize macho_file_to_host_u32
+typedef struct mach_header mach_header_native_t;
+#define LC_SEGMENT_NATIVE LC_SEGMENT
+typedef struct segment_command segment_command_native_t;
+typedef struct nlist nlist_native_t;
+typedef struct section section_native_t;
+#endif
+
+// Gets a view into a Mach-O image, taking any slice offset into account
+int
+macho_get_view (struct backtrace_state *state, int descriptor,
+ off_t offset, size_t size,
+ backtrace_error_callback error_callback,
+ void *data, struct macho_commands_view *commands_view,
+ struct backtrace_view *view)
+{
+ return backtrace_get_view (state, descriptor,
+ commands_view->base_offset + offset, size,
+ error_callback, data, view);
+}
+
+int
+macho_get_commands (struct backtrace_state *state, int descriptor,
+ backtrace_error_callback error_callback,
+ void *data, struct macho_commands_view *commands_view,
+ int *incompatible)
+{
+ int ret = 0;
+ int is_fat = 0;
+ struct backtrace_view file_header_view;
+ int file_header_view_valid = 0;
+ struct backtrace_view fat_archs_view;
+ int fat_archs_view_valid = 0;
+ const mach_header_native_t *file_header;
+ uint64_t commands_offset;
+
+ *incompatible = 0;
+
+ if (!backtrace_get_view (state, descriptor, 0, sizeof (mach_header_native_t),
+ error_callback, data, &file_header_view))
+ goto end;
+ file_header_view_valid = 1;
+
+ switch (*(const uint32_t *) file_header_view.data)
+ {
+ case MH_MAGIC:
+ if (BACKTRACE_BITS == 32)
+ commands_view->bytes_swapped = 0;
+ else
+ {
+ *incompatible = 1;
+ goto end;
+ }
+ break;
+ case MH_CIGAM:
+ if (BACKTRACE_BITS == 32)
+ commands_view->bytes_swapped = 1;
+ else
+ {
+ *incompatible = 1;
+ goto end;
+ }
+ break;
+ case MH_MAGIC_64:
+ if (BACKTRACE_BITS == 64)
+ commands_view->bytes_swapped = 0;
+ else
+ {
+ *incompatible = 1;
+ goto end;
+ }
+ break;
+ case MH_CIGAM_64:
+ if (BACKTRACE_BITS == 64)
+ commands_view->bytes_swapped = 1;
+ else
+ {
+ *incompatible = 1;
+ goto end;
+ }
+ break;
+ case FAT_MAGIC:
+ is_fat = 1;
+ commands_view->bytes_swapped = 0;
+ break;
+ case FAT_CIGAM:
+ is_fat = 1;
+ commands_view->bytes_swapped = 1;
+ break;
+ default:
+ goto end;
+ }
+
+ if (is_fat)
+ {
+ uint32_t native_slice_offset;
+ size_t archs_total_size;
+ uint32_t arch_count;
+ const struct fat_header *fat_header;
+ const struct fat_arch *archs;
+ uint32_t i;
+
+ fat_header = file_header_view.data;
+ arch_count =
+ macho_file_to_host_u32 (commands_view->bytes_swapped,
+ fat_header->nfat_arch);
+
+ archs_total_size = arch_count * sizeof (struct fat_arch);
+
+ if (!backtrace_get_view (state, descriptor, sizeof (struct fat_header),
+ archs_total_size, error_callback,
+ data, &fat_archs_view))
+ goto end;
+ fat_archs_view_valid = 1;
+
+ native_slice_offset = 0;
+ archs = fat_archs_view.data;
+ for (i = 0; i < arch_count; i++)
+ {
+ const struct fat_arch *raw_arch = archs + i;
+ int cpu_type =
+ (int) macho_file_to_host_u32 (commands_view->bytes_swapped,
+ (uint32_t) raw_arch->cputype);
+
+ if (cpu_type == NATIVE_CPU_TYPE)
+ {
+ native_slice_offset =
+ macho_file_to_host_u32 (commands_view->bytes_swapped,
+ raw_arch->offset);
+
+ break;
+ }
+ }
+
+ if (native_slice_offset == 0)
+ {
+ *incompatible = 1;
+ goto end;
+ }
+
+ backtrace_release_view (state, &file_header_view, error_callback, data);
+ file_header_view_valid = 0;
+ if (!backtrace_get_view (state, descriptor, native_slice_offset,
+ sizeof (mach_header_native_t), error_callback,
+ data, &file_header_view))
+ goto end;
+ file_header_view_valid = 1;
+
+ // The endianess of the slice may be different than the fat image
+ switch (*(const uint32_t *) file_header_view.data)
+ {
+ case MH_MAGIC:
+ if (BACKTRACE_BITS == 32)
+ commands_view->bytes_swapped = 0;
+ else
+ goto end;
+ break;
+ case MH_CIGAM:
+ if (BACKTRACE_BITS == 32)
+ commands_view->bytes_swapped = 1;
+ else
+ goto end;
+ break;
+ case MH_MAGIC_64:
+ if (BACKTRACE_BITS == 64)
+ commands_view->bytes_swapped = 0;
+ else
+ goto end;
+ break;
+ case MH_CIGAM_64:
+ if (BACKTRACE_BITS == 64)
+ commands_view->bytes_swapped = 1;
+ else
+ goto end;
+ break;
+ default:
+ goto end;
+ }
+
+ commands_view->base_offset = native_slice_offset;
+ }
+ else
+ commands_view->base_offset = 0;
+
+ file_header = file_header_view.data;
+ commands_view->commands_count =
+ macho_file_to_host_u32 (commands_view->bytes_swapped,
+ file_header->ncmds);
+ commands_view->commands_total_size =
+ macho_file_to_host_u32 (commands_view->bytes_swapped,
+ file_header->sizeofcmds);
+ commands_offset =
+ commands_view->base_offset + sizeof (mach_header_native_t);
+
+ if (!backtrace_get_view (state, descriptor, commands_offset,
+ commands_view->commands_total_size, error_callback,
+ data, &commands_view->view))
+ goto end;
+
+ ret = 1;
+
+end:
+ if (file_header_view_valid)
+ backtrace_release_view (state, &file_header_view, error_callback, data);
+ if (fat_archs_view_valid)
+ backtrace_release_view (state, &fat_archs_view, error_callback, data);
+ return ret;
+}
+
+int
+macho_get_uuid (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ int descriptor ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback,
+ void *data, struct macho_commands_view *commands_view,
+ uuid_t *uuid)
+{
+ size_t offset = 0;
+ uint32_t i = 0;
+
+ for (i = 0; i < commands_view->commands_count; i++)
+ {
+ const struct load_command *raw_command;
+ struct load_command command;
+
+ if (offset + sizeof (struct load_command)
+ > commands_view->commands_total_size)
+ {
+ error_callback (data,
+ "executable file contains out of range command offset",
+ 0);
+ return 0;
+ }
+
+ raw_command =
+ commands_view->view.data + offset;
+ command.cmd = macho_file_to_host_u32 (commands_view->bytes_swapped,
+ raw_command->cmd);
+ command.cmdsize = macho_file_to_host_u32 (commands_view->bytes_swapped,
+ raw_command->cmdsize);
+
+ if (command.cmd == LC_UUID)
+ {
+ const struct uuid_command *uuid_command;
+
+ if (offset + sizeof (struct uuid_command)
+ > commands_view->commands_total_size)
+ {
+ error_callback (data,
+ "executable file contains out of range command offset",
+ 0);
+ return 0;
+ }
+
+ uuid_command =
+ (const struct uuid_command *) raw_command;
+ memcpy (uuid, uuid_command->uuid, sizeof (uuid_t));
+ return 1;
+ }
+
+ offset += command.cmdsize;
+ }
+
+ error_callback (data, "executable file is missing an identifying UUID", 0);
+ return 0;
+}
+
+/* Returns the base address of a Mach-O image, as encoded in the file header.
+ * WARNING: This does not take ASLR into account, which is ubiquitous on recent
+ * Darwin platforms.
+ */
+int
+macho_get_addr_range (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ int descriptor ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback,
+ void *data, struct macho_commands_view *commands_view,
+ uintptr_t *base_address, uintptr_t *max_address)
+{
+ size_t offset = 0;
+ int found_text = 0;
+ uint32_t i = 0;
+
+ *max_address = 0;
+
+ for (i = 0; i < commands_view->commands_count; i++)
+ {
+ const struct load_command *raw_command;
+ struct load_command command;
+
+ if (offset + sizeof (struct load_command)
+ > commands_view->commands_total_size)
+ {
+ error_callback (data,
+ "executable file contains out of range command offset",
+ 0);
+ return 0;
+ }
+
+ raw_command = commands_view->view.data + offset;
+ command.cmd = macho_file_to_host_u32 (commands_view->bytes_swapped,
+ raw_command->cmd);
+ command.cmdsize = macho_file_to_host_u32 (commands_view->bytes_swapped,
+ raw_command->cmdsize);
+
+ if (command.cmd == LC_SEGMENT_NATIVE)
+ {
+ const segment_command_native_t *raw_segment;
+ uintptr_t segment_vmaddr;
+ uintptr_t segment_vmsize;
+ uintptr_t segment_maxaddr;
+ uintptr_t text_fileoff;
+
+ if (offset + sizeof (segment_command_native_t)
+ > commands_view->commands_total_size)
+ {
+ error_callback (data,
+ "executable file contains out of range command offset",
+ 0);
+ return 0;
+ }
+
+ raw_segment = (const segment_command_native_t *) raw_command;
+
+ segment_vmaddr = macho_file_to_host_usize (
+ commands_view->bytes_swapped, raw_segment->vmaddr);
+ segment_vmsize = macho_file_to_host_usize (
+ commands_view->bytes_swapped, raw_segment->vmsize);
+ segment_maxaddr = segment_vmaddr + segment_vmsize;
+
+ if (strncmp (raw_segment->segname, "__TEXT",
+ sizeof (raw_segment->segname)) == 0)
+ {
+ text_fileoff = macho_file_to_host_usize (
+ commands_view->bytes_swapped, raw_segment->fileoff);
+ *base_address = segment_vmaddr - text_fileoff;
+
+ found_text = 1;
+ }
+
+ if (segment_maxaddr > *max_address)
+ *max_address = segment_maxaddr;
+ }
+
+ offset += command.cmdsize;
+ }
+
+ if (found_text)
+ return 1;
+ else
+ {
+ error_callback (data, "executable is missing __TEXT segment", 0);
+ return 0;
+ }
+}
+
+static int
+macho_symbol_compare_addr (const void *left_raw, const void *right_raw)
+{
+ const struct macho_symbol *left = left_raw;
+ const struct macho_symbol *right = right_raw;
+
+ if (left->addr > right->addr)
+ return 1;
+ else if (left->addr < right->addr)
+ return -1;
+ else
+ return 0;
+}
+
+int
+macho_symbol_type_relevant (uint8_t type)
+{
+ uint8_t type_field = (uint8_t) (type & N_TYPE);
+
+ return !(type & N_EXT) &&
+ (type_field == N_ABS || type_field == N_SECT);
+}
+
+int
+macho_add_symtab (struct backtrace_state *state,
+ backtrace_error_callback error_callback,
+ void *data, int descriptor,
+ struct macho_commands_view *commands_view,
+ uintptr_t base_address, uintptr_t max_image_address,
+ intptr_t vmslide, int *found_sym)
+{
+ struct macho_syminfo_data *syminfo_data;
+
+ int ret = 0;
+ size_t offset = 0;
+ struct backtrace_view symtab_view;
+ int symtab_view_valid = 0;
+ struct backtrace_view strtab_view;
+ int strtab_view_valid = 0;
+ size_t syminfo_index = 0;
+ size_t function_count = 0;
+ uint32_t i = 0;
+ uint32_t j = 0;
+ uint32_t symtab_index = 0;
+
+ *found_sym = 0;
+
+ for (i = 0; i < commands_view->commands_count; i++)
+ {
+ const struct load_command *raw_command;
+ struct load_command command;
+
+ if (offset + sizeof (struct load_command)
+ > commands_view->commands_total_size)
+ {
+ error_callback (data,
+ "executable file contains out of range command offset",
+ 0);
+ return 0;
+ }
+
+ raw_command = commands_view->view.data + offset;
+ command.cmd = macho_file_to_host_u32 (commands_view->bytes_swapped,
+ raw_command->cmd);
+ command.cmdsize = macho_file_to_host_u32 (commands_view->bytes_swapped,
+ raw_command->cmdsize);
+
+ if (command.cmd == LC_SYMTAB)
+ {
+ const struct symtab_command *symtab_command;
+ uint32_t symbol_table_offset;
+ uint32_t symbol_count;
+ uint32_t string_table_offset;
+ uint32_t string_table_size;
+
+ if (offset + sizeof (struct symtab_command)
+ > commands_view->commands_total_size)
+ {
+ error_callback (data,
+ "executable file contains out of range command offset",
+ 0);
+ return 0;
+ }
+
+ symtab_command = (const struct symtab_command *) raw_command;
+
+ symbol_table_offset = macho_file_to_host_u32 (
+ commands_view->bytes_swapped, symtab_command->symoff);
+ symbol_count = macho_file_to_host_u32 (
+ commands_view->bytes_swapped, symtab_command->nsyms);
+ string_table_offset = macho_file_to_host_u32 (
+ commands_view->bytes_swapped, symtab_command->stroff);
+ string_table_size = macho_file_to_host_u32 (
+ commands_view->bytes_swapped, symtab_command->strsize);
+
+
+ if (!macho_get_view (state, descriptor, symbol_table_offset,
+ symbol_count * sizeof (nlist_native_t),
+ error_callback, data, commands_view,
+ &symtab_view))
+ goto end;
+ symtab_view_valid = 1;
+
+ if (!macho_get_view (state, descriptor, string_table_offset,
+ string_table_size, error_callback, data,
+ commands_view, &strtab_view))
+ goto end;
+ strtab_view_valid = 1;
+
+ // Count functions first
+ for (j = 0; j < symbol_count; j++)
+ {
+ const nlist_native_t *raw_sym =
+ ((const nlist_native_t *) symtab_view.data) + j;
+
+ if (macho_symbol_type_relevant (raw_sym->n_type))
+ {
+ function_count += 1;
+ }
+ }
+
+ // Allocate space for the:
+ // (a) macho_syminfo_data for this image
+ // (b) macho_symbol entries
+ syminfo_data =
+ backtrace_alloc (state,
+ sizeof (struct macho_syminfo_data),
+ error_callback, data);
+ if (syminfo_data == NULL)
+ goto end;
+
+ syminfo_data->symbols = backtrace_alloc (
+ state, function_count * sizeof (struct macho_symbol),
+ error_callback, data);
+ if (syminfo_data->symbols == NULL)
+ goto end;
+
+ syminfo_data->symbol_count = function_count;
+ syminfo_data->next = NULL;
+ syminfo_data->min_addr = base_address;
+ syminfo_data->max_addr = max_image_address;
+
+ for (symtab_index = 0;
+ symtab_index < symbol_count; symtab_index++)
+ {
+ const nlist_native_t *raw_sym =
+ ((const nlist_native_t *) symtab_view.data) +
+ symtab_index;
+
+ if (macho_symbol_type_relevant (raw_sym->n_type))
+ {
+ size_t strtab_index;
+ const char *name;
+ size_t max_len_plus_one;
+
+ syminfo_data->symbols[syminfo_index].addr =
+ macho_file_to_host_usize (commands_view->bytes_swapped,
+ raw_sym->n_value) + vmslide;
+
+ strtab_index = macho_file_to_host_u32 (
+ commands_view->bytes_swapped,
+ raw_sym->n_un.n_strx);
+
+ // Check the range of the supposed "string" we've been
+ // given
+ if (strtab_index >= string_table_size)
+ {
+ error_callback (
+ data,
+ "dSYM file contains out of range string table index",
+ 0);
+ goto end;
+ }
+
+ name = strtab_view.data + strtab_index;
+ max_len_plus_one = string_table_size - strtab_index;
+
+ if (strnlen (name, max_len_plus_one) >= max_len_plus_one)
+ {
+ error_callback (
+ data,
+ "dSYM file contains unterminated string",
+ 0);
+ goto end;
+ }
+
+ // Remove underscore prefixes
+ if (name[0] == '_')
+ {
+ name = name + 1;
+ }
+
+ syminfo_data->symbols[syminfo_index].name = name;
+
+ syminfo_index += 1;
+ }
+ }
+
+ backtrace_qsort (syminfo_data->symbols,
+ syminfo_data->symbol_count,
+ sizeof (struct macho_symbol),
+ macho_symbol_compare_addr);
+
+ // Calculate symbol sizes
+ for (syminfo_index = 0;
+ syminfo_index < syminfo_data->symbol_count; syminfo_index++)
+ {
+ if (syminfo_index + 1 < syminfo_data->symbol_count)
+ {
+ syminfo_data->symbols[syminfo_index].size =
+ syminfo_data->symbols[syminfo_index + 1].addr -
+ syminfo_data->symbols[syminfo_index].addr;
+ }
+ else
+ {
+ syminfo_data->symbols[syminfo_index].size =
+ max_image_address -
+ syminfo_data->symbols[syminfo_index].addr;
+ }
+ }
+
+ if (!state->threaded)
+ {
+ struct macho_syminfo_data **pp;
+
+ for (pp = (struct macho_syminfo_data **) (void *) &state->syminfo_data;
+ *pp != NULL;
+ pp = &(*pp)->next);
+ *pp = syminfo_data;
+ }
+ else
+ {
+ while (1)
+ {
+ struct macho_syminfo_data **pp;
+
+ pp = (struct macho_syminfo_data **) (void *) &state->syminfo_data;
+
+ while (1)
+ {
+ struct macho_syminfo_data *p;
+
+ p = backtrace_atomic_load_pointer (pp);
+
+ if (p == NULL)
+ break;
+
+ pp = &p->next;
+ }
+
+ if (__sync_bool_compare_and_swap (pp, NULL, syminfo_data))
+ break;
+ }
+ }
+
+ strtab_view_valid = 0; // We need to keep string table around
+ *found_sym = 1;
+ ret = 1;
+ goto end;
+ }
+
+ offset += command.cmdsize;
+ }
+
+ // No symbol table here
+ ret = 1;
+ goto end;
+
+end:
+ if (symtab_view_valid)
+ backtrace_release_view (state, &symtab_view, error_callback, data);
+ if (strtab_view_valid)
+ backtrace_release_view (state, &strtab_view, error_callback, data);
+ return ret;
+}
+
+int
+macho_try_dwarf (struct backtrace_state *state,
+ backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn, uuid_t *executable_uuid,
+ uintptr_t base_address, uintptr_t max_image_address,
+ intptr_t vmslide, char *dwarf_filename, int *matched,
+ int *found_sym, int *found_dwarf)
+{
+ uuid_t dwarf_uuid;
+
+ int ret = 0;
+ int dwarf_descriptor;
+ int dwarf_descriptor_valid = 0;
+ struct macho_commands_view commands_view;
+ int commands_view_valid = 0;
+ struct backtrace_view dwarf_view;
+ int dwarf_view_valid = 0;
+ size_t offset = 0;
+ struct found_dwarf_section dwarf_sections[DEBUG_MAX];
+ uintptr_t min_dwarf_offset = 0;
+ uintptr_t max_dwarf_offset = 0;
+ uint32_t i = 0;
+ uint32_t j = 0;
+ int k = 0;
+
+ *matched = 0;
+ *found_sym = 0;
+ *found_dwarf = 0;
+
+ if ((dwarf_descriptor = backtrace_open (dwarf_filename, error_callback,
+ data, NULL)) == 0)
+ goto end;
+ dwarf_descriptor_valid = 1;
+
+ int incompatible;
+ if (!macho_get_commands (state, dwarf_descriptor, error_callback, data,
+ &commands_view, &incompatible))
+ {
+ // Failing to read the header here is fine, because this dSYM may be
+ // for a different architecture
+ if (incompatible)
+ {
+ ret = 1;
+ }
+ goto end;
+ }
+ commands_view_valid = 1;
+
+ // Get dSYM UUID and compare
+ if (!macho_get_uuid (state, dwarf_descriptor, error_callback, data,
+ &commands_view, &dwarf_uuid))
+ {
+ error_callback (data, "dSYM file is missing an identifying uuid", 0);
+ goto end;
+ }
+ if (memcmp (executable_uuid, &dwarf_uuid, sizeof (uuid_t)) != 0)
+ {
+ // DWARF doesn't belong to desired executable
+ ret = 1;
+ goto end;
+ }
+
+ *matched = 1;
+
+ // Read symbol table
+ if (!macho_add_symtab (state, error_callback, data, dwarf_descriptor,
+ &commands_view, base_address, max_image_address,
+ vmslide, found_sym))
+ goto end;
+
+ // Get DWARF sections
+
+ memset (dwarf_sections, 0, sizeof (dwarf_sections));
+ offset = 0;
+ for (i = 0; i < commands_view.commands_count; i++)
+ {
+ const struct load_command *raw_command;
+ struct load_command command;
+
+ if (offset + sizeof (struct load_command)
+ > commands_view.commands_total_size)
+ {
+ error_callback (data,
+ "dSYM file contains out of range command offset", 0);
+ goto end;
+ }
+
+ raw_command = commands_view.view.data + offset;
+ command.cmd = macho_file_to_host_u32 (commands_view.bytes_swapped,
+ raw_command->cmd);
+ command.cmdsize = macho_file_to_host_u32 (commands_view.bytes_swapped,
+ raw_command->cmdsize);
+
+ if (command.cmd == LC_SEGMENT_NATIVE)
+ {
+ uint32_t section_count;
+ size_t section_offset;
+ const segment_command_native_t *raw_segment;
+
+ if (offset + sizeof (segment_command_native_t)
+ > commands_view.commands_total_size)
+ {
+ error_callback (data,
+ "dSYM file contains out of range command offset",
+ 0);
+ goto end;
+ }
+
+ raw_segment = (const segment_command_native_t *) raw_command;
+
+ if (strncmp (raw_segment->segname, "__DWARF",
+ sizeof (raw_segment->segname)) == 0)
+ {
+ section_count = macho_file_to_host_u32 (
+ commands_view.bytes_swapped,
+ raw_segment->nsects);
+
+ section_offset = offset + sizeof (segment_command_native_t);
+
+ // Search sections for relevant DWARF section names
+ for (j = 0; j < section_count; j++)
+ {
+ const section_native_t *raw_section;
+
+ if (section_offset + sizeof (section_native_t) >
+ commands_view.commands_total_size)
+ {
+ error_callback (data,
+ "dSYM file contains out of range command offset",
+ 0);
+ goto end;
+ }
+
+ raw_section = commands_view.view.data + section_offset;
+
+ for (k = 0; k < DEBUG_MAX; k++)
+ {
+ uintptr_t dwarf_section_end;
+
+ if (strncmp (raw_section->sectname,
+ debug_section_names[k],
+ sizeof (raw_section->sectname)) == 0)
+ {
+ *found_dwarf = 1;
+
+ dwarf_sections[k].file_offset =
+ macho_file_to_host_u32 (
+ commands_view.bytes_swapped,
+ raw_section->offset);
+ dwarf_sections[k].file_size =
+ macho_file_to_host_usize (
+ commands_view.bytes_swapped,
+ raw_section->size);
+
+ if (min_dwarf_offset == 0 ||
+ dwarf_sections[k].file_offset <
+ min_dwarf_offset)
+ min_dwarf_offset = dwarf_sections[k].file_offset;
+
+ dwarf_section_end =
+ dwarf_sections[k].file_offset +
+ dwarf_sections[k].file_size;
+ if (dwarf_section_end > max_dwarf_offset)
+ max_dwarf_offset = dwarf_section_end;
+
+ break;
+ }
+ }
+
+ section_offset += sizeof (section_native_t);
+ }
+
+ break;
+ }
+ }
+
+ offset += command.cmdsize;
+ }
+
+ if (!*found_dwarf)
+ {
+ // No DWARF in this file
+ ret = 1;
+ goto end;
+ }
+
+ if (!macho_get_view (state, dwarf_descriptor, (off_t) min_dwarf_offset,
+ max_dwarf_offset - min_dwarf_offset, error_callback,
+ data, &commands_view, &dwarf_view))
+ goto end;
+ dwarf_view_valid = 1;
+
+ for (i = 0; i < DEBUG_MAX; i++)
+ {
+ if (dwarf_sections[i].file_offset == 0)
+ dwarf_sections[i].data = NULL;
+ else
+ dwarf_sections[i].data =
+ dwarf_view.data + dwarf_sections[i].file_offset - min_dwarf_offset;
+ }
+
+ if (!backtrace_dwarf_add (state, vmslide,
+ dwarf_sections[DEBUG_INFO].data,
+ dwarf_sections[DEBUG_INFO].file_size,
+ dwarf_sections[DEBUG_LINE].data,
+ dwarf_sections[DEBUG_LINE].file_size,
+ dwarf_sections[DEBUG_ABBREV].data,
+ dwarf_sections[DEBUG_ABBREV].file_size,
+ dwarf_sections[DEBUG_RANGES].data,
+ dwarf_sections[DEBUG_RANGES].file_size,
+ dwarf_sections[DEBUG_STR].data,
+ dwarf_sections[DEBUG_STR].file_size,
+ ((__DARWIN_BYTE_ORDER == __DARWIN_BIG_ENDIAN)
+ ^ commands_view.bytes_swapped),
+ error_callback, data, fileline_fn))
+ goto end;
+
+ // Don't release the DWARF view because it is still in use
+ dwarf_descriptor_valid = 0;
+ dwarf_view_valid = 0;
+ ret = 1;
+
+end:
+ if (dwarf_descriptor_valid)
+ backtrace_close (dwarf_descriptor, error_callback, data);
+ if (commands_view_valid)
+ backtrace_release_view (state, &commands_view.view, error_callback, data);
+ if (dwarf_view_valid)
+ backtrace_release_view (state, &dwarf_view, error_callback, data);
+ return ret;
+}
+
+int
+macho_try_dsym (struct backtrace_state *state,
+ backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn, uuid_t *executable_uuid,
+ uintptr_t base_address, uintptr_t max_image_address,
+ intptr_t vmslide, char *dsym_filename, int *matched,
+ int *found_sym, int *found_dwarf)
+{
+ int ret = 0;
+ char dwarf_image_dir_path[PATH_MAX + 1] = "";
+ DIR *dwarf_image_dir;
+ int dwarf_image_dir_valid = 0;
+ struct dirent *directory_entry;
+ char dwarf_filename[PATH_MAX + 1] = "";
+ int dwarf_matched;
+ int dwarf_had_sym;
+ int dwarf_had_dwarf;
+
+ *matched = 0;
+ *found_sym = 0;
+ *found_dwarf = 0;
+
+ strncpy (dwarf_image_dir_path, dsym_filename, PATH_MAX);
+ strncat (dwarf_image_dir_path, "/Contents/Resources/DWARF", PATH_MAX);
+
+ if (!(dwarf_image_dir = opendir (dwarf_image_dir_path)))
+ {
+ error_callback (data, "could not open DWARF directory in dSYM",
+ 0);
+ goto end;
+ }
+ dwarf_image_dir_valid = 1;
+
+ while ((directory_entry = readdir (dwarf_image_dir)))
+ {
+ if (directory_entry->d_type != DT_REG)
+ continue;
+
+PRAGMA_GCC8(GCC diagnostic push)
+PRAGMA_GCC8(GCC diagnostic ignored "-Wstringop-truncation")
+ // Silence the warning since the string is initialized to zero and has an extra NUL byte at the end.
+ strncpy (dwarf_filename, dwarf_image_dir_path, PATH_MAX);
+PRAGMA_GCC8(GCC diagnostic pop)
+ strncat (dwarf_filename, "/", PATH_MAX);
+ strncat (dwarf_filename, directory_entry->d_name, PATH_MAX);
+
+ if (!macho_try_dwarf (state, error_callback, data, fileline_fn,
+ executable_uuid, base_address, max_image_address,
+ vmslide, dwarf_filename,
+ &dwarf_matched, &dwarf_had_sym, &dwarf_had_dwarf))
+ goto end;
+
+ if (dwarf_matched)
+ {
+ *matched = 1;
+ *found_sym = dwarf_had_sym;
+ *found_dwarf = dwarf_had_dwarf;
+ ret = 1;
+ goto end;
+ }
+ }
+
+ // No matching DWARF in this dSYM
+ ret = 1;
+ goto end;
+
+end:
+ if (dwarf_image_dir_valid)
+ closedir (dwarf_image_dir);
+ return ret;
+}
+
+int
+macho_add (struct backtrace_state *state,
+ backtrace_error_callback error_callback, void *data, int descriptor,
+ const char *filename, fileline *fileline_fn, intptr_t vmslide,
+ int *found_sym, int *found_dwarf)
+{
+ uuid_t image_uuid;
+ uintptr_t image_file_base_address;
+ uintptr_t image_file_max_address;
+ uintptr_t image_actual_base_address = 0;
+ uintptr_t image_actual_max_address = 0;
+
+ int ret = 0;
+ struct macho_commands_view commands_view;
+ int commands_view_valid = 0;
+ char executable_dirname[PATH_MAX + 1] = "";
+ size_t filename_len;
+ DIR *executable_dir = NULL;
+ int executable_dir_valid = 0;
+ struct dirent *directory_entry;
+ char dsym_full_path[PATH_MAX + 1] = "";
+ static const char *extension;
+ size_t extension_len;
+ ssize_t i;
+
+ *found_sym = 0;
+ *found_dwarf = 0;
+
+ // Find Mach-O commands list
+ int incompatible;
+ if (!macho_get_commands (state, descriptor, error_callback, data,
+ &commands_view, &incompatible))
+ goto end;
+ commands_view_valid = 1;
+
+ // First we need to get the uuid of our file so we can hunt down the correct
+ // dSYM
+ if (!macho_get_uuid (state, descriptor, error_callback, data, &commands_view,
+ &image_uuid))
+ goto end;
+
+ // Now we need to find the in memory base address. Step one is to find out
+ // what the executable thinks the base address is
+ if (!macho_get_addr_range (state, descriptor, error_callback, data,
+ &commands_view,
+ &image_file_base_address,
+ &image_file_max_address))
+ goto end;
+
+ image_actual_base_address =
+ image_file_base_address + vmslide;
+ image_actual_max_address =
+ image_file_max_address + vmslide;
+
+ if (image_actual_base_address == 0)
+ {
+ error_callback (data, "executable file is not loaded", 0);
+ goto end;
+ }
+
+ // Look for dSYM in our executable's directory
+ strncpy (executable_dirname, filename, PATH_MAX);
+ filename_len = strlen (executable_dirname);
+ for (i = filename_len - 1; i >= 0; i--)
+ {
+ if (executable_dirname[i] == '/')
+ {
+ executable_dirname[i] = '\0';
+ break;
+ }
+ else if (i == 0)
+ {
+ executable_dirname[0] = '.';
+ executable_dirname[1] = '\0';
+ break;
+ }
+ }
+
+ if (!(executable_dir = opendir (executable_dirname)))
+ {
+ error_callback (data, "could not open directory containing executable",
+ 0);
+ goto end;
+ }
+ executable_dir_valid = 1;
+
+ extension = ".dSYM";
+ extension_len = strlen (extension);
+ while ((directory_entry = readdir (executable_dir)))
+ {
+ if (directory_entry->d_namlen < extension_len)
+ continue;
+ if (strncasecmp (directory_entry->d_name + directory_entry->d_namlen
+ - extension_len, extension, extension_len) == 0)
+ {
+ int matched;
+ int dsym_had_sym;
+ int dsym_had_dwarf;
+
+ // Found a dSYM
+PRAGMA_GCC8(GCC diagnostic push)
+PRAGMA_GCC8(GCC diagnostic ignored "-Wstringop-truncation")
+ // Silence the warning since the string is initialized to zero and has an extra NUL byte at the end.
+ strncpy (dsym_full_path, executable_dirname, PATH_MAX);
+PRAGMA_GCC8(GCC diagnostic pop)
+ strncat (dsym_full_path, "/", PATH_MAX);
+ strncat (dsym_full_path, directory_entry->d_name, PATH_MAX);
+
+ if (!macho_try_dsym (state, error_callback, data,
+ fileline_fn, &image_uuid,
+ image_actual_base_address,
+ image_actual_max_address, vmslide,
+ dsym_full_path,
+ &matched, &dsym_had_sym, &dsym_had_dwarf))
+ goto end;
+
+ if (matched)
+ {
+ *found_sym = dsym_had_sym;
+ *found_dwarf = dsym_had_dwarf;
+ ret = 1;
+ goto end;
+ }
+ }
+ }
+
+ // No matching dSYM
+ ret = 1;
+ goto end;
+
+end:
+ if (commands_view_valid)
+ backtrace_release_view (state, &commands_view.view, error_callback,
+ data);
+ if (executable_dir_valid)
+ closedir (executable_dir);
+ return ret;
+}
+
+static int
+macho_symbol_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct macho_symbol *entry = (const struct macho_symbol *) ventry;
+ uintptr_t addr;
+
+ addr = *key;
+ if (addr < entry->addr)
+ return -1;
+ else if (addr >= entry->addr + entry->size)
+ return 1;
+ else
+ return 0;
+}
+
+static void
+macho_syminfo (struct backtrace_state *state,
+ uintptr_t addr,
+ backtrace_syminfo_callback callback,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data)
+{
+ struct macho_syminfo_data *edata;
+ struct macho_symbol *sym = NULL;
+
+ if (!state->threaded)
+ {
+ for (edata = (struct macho_syminfo_data *) state->syminfo_data;
+ edata != NULL;
+ edata = edata->next)
+ {
+ if (addr >= edata->min_addr && addr <= edata->max_addr)
+ {
+ sym = ((struct macho_symbol *)
+ bsearch (&addr, edata->symbols, edata->symbol_count,
+ sizeof (struct macho_symbol), macho_symbol_search));
+ if (sym != NULL)
+ break;
+ }
+ }
+ }
+ else
+ {
+ struct macho_syminfo_data **pp;
+
+ pp = (struct macho_syminfo_data **) (void *) &state->syminfo_data;
+ while (1)
+ {
+ edata = backtrace_atomic_load_pointer (pp);
+ if (edata == NULL)
+ break;
+
+ if (addr >= edata->min_addr && addr <= edata->max_addr)
+ {
+ sym = ((struct macho_symbol *)
+ bsearch (&addr, edata->symbols, edata->symbol_count,
+ sizeof (struct macho_symbol), macho_symbol_search));
+ if (sym != NULL)
+ break;
+ }
+
+ pp = &edata->next;
+ }
+ }
+
+ if (sym == NULL)
+ callback (data, addr, NULL, 0, 0);
+ else
+ callback (data, addr, sym->name, sym->addr, sym->size);
+}
+
+
+static int
+macho_nodebug (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t pc ATTRIBUTE_UNUSED,
+ backtrace_full_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data, "no debug info in Mach-O executable", -1);
+ return 0;
+}
+
+static void
+macho_nosyms (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t addr ATTRIBUTE_UNUSED,
+ backtrace_syminfo_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data, "no symbol table in Mach-O executable", -1);
+}
+
+int
+backtrace_initialize (struct backtrace_state *state,
+ const char *filename,
+ int descriptor,
+ backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn)
+{
+ fileline macho_fileline_fn = macho_nodebug;
+ int found_sym = 0;
+ int found_dwarf = 0;
+ uint32_t i = 0;
+ uint32_t loaded_image_count;
+
+ // Add all loaded images
+ loaded_image_count = _dyld_image_count ();
+ for (i = 0; i < loaded_image_count; i++)
+ {
+ int current_found_sym;
+ int current_found_dwarf;
+ int current_descriptor;
+ intptr_t current_vmslide;
+ const char *current_name;
+
+ current_vmslide = _dyld_get_image_vmaddr_slide (i);
+ current_name = _dyld_get_image_name (i);
+
+ if (current_name == NULL || (i != 0 && current_vmslide == 0))
+ continue;
+
+ if (!(current_descriptor =
+ backtrace_open (current_name, error_callback, data, NULL)))
+ {
+ continue;
+ }
+
+ if (macho_add (state, error_callback, data, current_descriptor,
+ current_name, &macho_fileline_fn, current_vmslide,
+ &current_found_sym, &current_found_dwarf))
+ {
+ found_sym = found_sym || current_found_sym;
+ found_dwarf = found_dwarf || current_found_dwarf;
+ }
+
+ backtrace_close (current_descriptor, error_callback, data);
+ }
+
+ if (!state->threaded)
+ {
+ if (found_sym)
+ state->syminfo_fn = macho_syminfo;
+ else if (state->syminfo_fn == NULL)
+ state->syminfo_fn = macho_nosyms;
+ }
+ else
+ {
+ if (found_sym)
+ backtrace_atomic_store_pointer (&state->syminfo_fn, macho_syminfo);
+ else
+ (void) __sync_bool_compare_and_swap (&state->syminfo_fn, NULL,
+ macho_nosyms);
+ }
+
+ if (!state->threaded)
+ {
+ if (state->fileline_fn == NULL || state->fileline_fn == macho_nodebug)
+ *fileline_fn = macho_fileline_fn;
+ }
+ else
+ {
+ fileline current_fn;
+
+ current_fn = backtrace_atomic_load_pointer (&state->fileline_fn);
+ if (current_fn == NULL || current_fn == macho_nodebug)
+ *fileline_fn = macho_fileline_fn;
+ }
+
+ return 1;
+}
+
diff --git a/3rdparty/libbacktrace/mmap.c b/3rdparty/libbacktrace/mmap.c
new file mode 100644
index 000000000..32fcba623
--- /dev/null
+++ b/3rdparty/libbacktrace/mmap.c
@@ -0,0 +1,325 @@
+/* mmap.c -- Memory allocation with mmap.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* Memory allocation on systems that provide anonymous mmap. This
+ permits the backtrace functions to be invoked from a signal
+ handler, assuming that mmap is async-signal safe. */
+
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+#ifndef MAP_FAILED
+#define MAP_FAILED ((void *)-1)
+#endif
+
+/* A list of free memory blocks. */
+
+struct backtrace_freelist_struct
+{
+ /* Next on list. */
+ struct backtrace_freelist_struct *next;
+ /* Size of this block, including this structure. */
+ size_t size;
+};
+
+/* Free memory allocated by backtrace_alloc. */
+
+static void
+backtrace_free_locked (struct backtrace_state *state, void *addr, size_t size)
+{
+ /* Just leak small blocks. We don't have to be perfect. Don't put
+ more than 16 entries on the free list, to avoid wasting time
+ searching when allocating a block. If we have more than 16
+ entries, leak the smallest entry. */
+
+ if (size >= sizeof (struct backtrace_freelist_struct))
+ {
+ size_t c;
+ struct backtrace_freelist_struct **ppsmall;
+ struct backtrace_freelist_struct **pp;
+ struct backtrace_freelist_struct *p;
+
+ c = 0;
+ ppsmall = NULL;
+ for (pp = &state->freelist; *pp != NULL; pp = &(*pp)->next)
+ {
+ if (ppsmall == NULL || (*pp)->size < (*ppsmall)->size)
+ ppsmall = pp;
+ ++c;
+ }
+ if (c >= 16)
+ {
+ if (size <= (*ppsmall)->size)
+ return;
+ *ppsmall = (*ppsmall)->next;
+ }
+
+ p = (struct backtrace_freelist_struct *) addr;
+ p->next = state->freelist;
+ p->size = size;
+ state->freelist = p;
+ }
+}
+
+/* Allocate memory like malloc. If ERROR_CALLBACK is NULL, don't
+ report an error. */
+
+void *
+backtrace_alloc (struct backtrace_state *state,
+ size_t size, backtrace_error_callback error_callback,
+ void *data)
+{
+ void *ret;
+ int locked;
+ struct backtrace_freelist_struct **pp;
+ size_t pagesize;
+ size_t asksize;
+ void *page;
+
+ ret = NULL;
+
+ /* If we can acquire the lock, then see if there is space on the
+ free list. If we can't acquire the lock, drop straight into
+ using mmap. __sync_lock_test_and_set returns the old state of
+ the lock, so we have acquired it if it returns 0. */
+
+ if (!state->threaded)
+ locked = 1;
+ else
+ locked = __sync_lock_test_and_set (&state->lock_alloc, 1) == 0;
+
+ if (locked)
+ {
+ for (pp = &state->freelist; *pp != NULL; pp = &(*pp)->next)
+ {
+ if ((*pp)->size >= size)
+ {
+ struct backtrace_freelist_struct *p;
+
+ p = *pp;
+ *pp = p->next;
+
+ /* Round for alignment; we assume that no type we care about
+ is more than 8 bytes. */
+ size = (size + 7) & ~ (size_t) 7;
+ if (size < p->size)
+ backtrace_free_locked (state, (char *) p + size,
+ p->size - size);
+
+ ret = (void *) p;
+
+ break;
+ }
+ }
+
+ if (state->threaded)
+ __sync_lock_release (&state->lock_alloc);
+ }
+
+ if (ret == NULL)
+ {
+ /* Allocate a new page. */
+
+ pagesize = getpagesize ();
+ asksize = (size + pagesize - 1) & ~ (pagesize - 1);
+ page = mmap (NULL, asksize, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+ if (page == MAP_FAILED)
+ {
+ if (error_callback)
+ error_callback (data, "mmap", errno);
+ }
+ else
+ {
+ size = (size + 7) & ~ (size_t) 7;
+ if (size < asksize)
+ backtrace_free (state, (char *) page + size, asksize - size,
+ error_callback, data);
+
+ ret = page;
+ }
+ }
+
+ return ret;
+}
+
+/* Free memory allocated by backtrace_alloc. */
+
+void
+backtrace_free (struct backtrace_state *state, void *addr, size_t size,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data ATTRIBUTE_UNUSED)
+{
+ int locked;
+
+ /* If we are freeing a large aligned block, just release it back to
+ the system. This case arises when growing a vector for a large
+ binary with lots of debug info. Calling munmap here may cause us
+ to call mmap again if there is also a large shared library; we
+ just live with that. */
+ if (size >= 16 * 4096)
+ {
+ size_t pagesize;
+
+ pagesize = getpagesize ();
+ if (((uintptr_t) addr & (pagesize - 1)) == 0
+ && (size & (pagesize - 1)) == 0)
+ {
+ /* If munmap fails for some reason, just add the block to
+ the freelist. */
+ if (munmap (addr, size) == 0)
+ return;
+ }
+ }
+
+ /* If we can acquire the lock, add the new space to the free list.
+ If we can't acquire the lock, just leak the memory.
+ __sync_lock_test_and_set returns the old state of the lock, so we
+ have acquired it if it returns 0. */
+
+ if (!state->threaded)
+ locked = 1;
+ else
+ locked = __sync_lock_test_and_set (&state->lock_alloc, 1) == 0;
+
+ if (locked)
+ {
+ backtrace_free_locked (state, addr, size);
+
+ if (state->threaded)
+ __sync_lock_release (&state->lock_alloc);
+ }
+}
+
+/* Grow VEC by SIZE bytes. */
+
+void *
+backtrace_vector_grow (struct backtrace_state *state,size_t size,
+ backtrace_error_callback error_callback,
+ void *data, struct backtrace_vector *vec)
+{
+ void *ret;
+
+ if (size > vec->alc)
+ {
+ size_t pagesize;
+ size_t alc;
+ void *base;
+
+ pagesize = getpagesize ();
+ alc = vec->size + size;
+ if (vec->size == 0)
+ alc = 16 * size;
+ else if (alc < pagesize)
+ {
+ alc *= 2;
+ if (alc > pagesize)
+ alc = pagesize;
+ }
+ else
+ {
+ alc *= 2;
+ alc = (alc + pagesize - 1) & ~ (pagesize - 1);
+ }
+ base = backtrace_alloc (state, alc, error_callback, data);
+ if (base == NULL)
+ return NULL;
+ if (vec->base != NULL)
+ {
+ memcpy (base, vec->base, vec->size);
+ backtrace_free (state, vec->base, vec->size + vec->alc,
+ error_callback, data);
+ }
+ vec->base = base;
+ vec->alc = alc - vec->size;
+ }
+
+ ret = (char *) vec->base + vec->size;
+ vec->size += size;
+ vec->alc -= size;
+ return ret;
+}
+
+/* Finish the current allocation on VEC. */
+
+void *
+backtrace_vector_finish (
+ struct backtrace_state *state ATTRIBUTE_UNUSED,
+ struct backtrace_vector *vec,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data ATTRIBUTE_UNUSED)
+{
+ void *ret;
+
+ ret = vec->base;
+ vec->base = (char *) vec->base + vec->size;
+ vec->size = 0;
+ return ret;
+}
+
+/* Release any extra space allocated for VEC. */
+
+int
+backtrace_vector_release (struct backtrace_state *state,
+ struct backtrace_vector *vec,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ size_t size;
+ size_t alc;
+ size_t aligned;
+
+ /* Make sure that the block that we free is aligned on an 8-byte
+ boundary. */
+ size = vec->size;
+ alc = vec->alc;
+ aligned = (size + 7) & ~ (size_t) 7;
+ alc -= aligned - size;
+
+ backtrace_free (state, (char *) vec->base + aligned, alc,
+ error_callback, data);
+ vec->alc = 0;
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/mmapio.c b/3rdparty/libbacktrace/mmapio.c
new file mode 100644
index 000000000..1cf4019f6
--- /dev/null
+++ b/3rdparty/libbacktrace/mmapio.c
@@ -0,0 +1,100 @@
+/* mmapio.c -- File views using mmap.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+#ifndef MAP_FAILED
+#define MAP_FAILED ((void *)-1)
+#endif
+
+/* This file implements file views and memory allocation when mmap is
+ available. */
+
+/* Create a view of SIZE bytes from DESCRIPTOR at OFFSET. */
+
+int
+backtrace_get_view (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ int descriptor, off_t offset, size_t size,
+ backtrace_error_callback error_callback,
+ void *data, struct backtrace_view *view)
+{
+ size_t pagesize;
+ unsigned int inpage;
+ off_t pageoff;
+ void *map;
+
+ pagesize = getpagesize ();
+ inpage = offset % (unsigned int)pagesize;
+ pageoff = offset - inpage;
+
+ size += inpage;
+ size = (size + (pagesize - 1)) & ~ (pagesize - 1);
+
+ map = mmap (NULL, size, PROT_READ, MAP_PRIVATE, descriptor, pageoff);
+ if (map == MAP_FAILED)
+ {
+ error_callback (data, "mmap", errno);
+ return 0;
+ }
+
+ view->data = (char *) map + inpage;
+ view->base = map;
+ view->len = size;
+
+ return 1;
+}
+
+/* Release a view read by backtrace_get_view. */
+
+void
+backtrace_release_view (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ struct backtrace_view *view,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ union {
+ const void *cv;
+ void *v;
+ } const_cast;
+
+ const_cast.cv = view->base;
+ if (munmap (const_cast.v, view->len) < 0)
+ error_callback (data, "munmap", errno);
+}
diff --git a/3rdparty/libbacktrace/nounwind.c b/3rdparty/libbacktrace/nounwind.c
new file mode 100644
index 000000000..0a046cc29
--- /dev/null
+++ b/3rdparty/libbacktrace/nounwind.c
@@ -0,0 +1,66 @@
+/* backtrace.c -- Entry point for stack backtrace library.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <sys/types.h>
+
+#include "backtrace.h"
+
+#include "internal.h"
+
+/* This source file is compiled if the unwind library is not
+ available. */
+
+int
+backtrace_full (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ int skip ATTRIBUTE_UNUSED,
+ backtrace_full_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data,
+ "no stack trace because unwind library not available",
+ 0);
+ return 0;
+}
+
+int
+backtrace_simple (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ int skip ATTRIBUTE_UNUSED,
+ backtrace_simple_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data,
+ "no stack trace because unwind library not available",
+ 0);
+ return 0;
+}
diff --git a/3rdparty/libbacktrace/pecoff.c b/3rdparty/libbacktrace/pecoff.c
new file mode 100644
index 000000000..3fb1bf469
--- /dev/null
+++ b/3rdparty/libbacktrace/pecoff.c
@@ -0,0 +1,943 @@
+/* pecoff.c -- Get debug data from a PE/COFFF file for backtraces.
+ Copyright (C) 2015-2018 Free Software Foundation, Inc.
+ Adapted from elf.c by Tristan Gingold, AdaCore.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* Coff file header. */
+
+typedef struct {
+ uint16_t machine;
+ uint16_t number_of_sections;
+ uint32_t time_date_stamp;
+ uint32_t pointer_to_symbol_table;
+ uint32_t number_of_symbols;
+ uint16_t size_of_optional_header;
+ uint16_t characteristics;
+} b_coff_file_header;
+
+/* Coff optional header. */
+
+typedef struct {
+ uint16_t magic;
+ uint8_t major_linker_version;
+ uint8_t minor_linker_version;
+ uint32_t size_of_code;
+ uint32_t size_of_initialized_data;
+ uint32_t size_of_uninitialized_data;
+ uint32_t address_of_entry_point;
+ uint32_t base_of_code;
+ union {
+ struct {
+ uint32_t base_of_data;
+ uint32_t image_base;
+ } pe;
+ struct {
+ uint64_t image_base;
+ } pep;
+ } u;
+} b_coff_optional_header;
+
+/* Values of magic in optional header. */
+
+#define PE_MAGIC 0x10b /* PE32 executable. */
+#define PEP_MAGIC 0x20b /* PE32+ executable (for 64bit targets). */
+
+/* Coff section header. */
+
+typedef struct {
+ char name[8];
+ uint32_t virtual_size;
+ uint32_t virtual_address;
+ uint32_t size_of_raw_data;
+ uint32_t pointer_to_raw_data;
+ uint32_t pointer_to_relocations;
+ uint32_t pointer_to_line_numbers;
+ uint16_t number_of_relocations;
+ uint16_t number_of_line_numbers;
+ uint32_t characteristics;
+} b_coff_section_header;
+
+/* Coff symbol name. */
+
+typedef union {
+ char short_name[8];
+ struct {
+ unsigned char zeroes[4];
+ unsigned char off[4];
+ } long_name;
+} b_coff_name;
+
+/* Coff symbol (external representation which is unaligned). */
+
+typedef struct {
+ b_coff_name name;
+ unsigned char value[4];
+ unsigned char section_number[2];
+ unsigned char type[2];
+ unsigned char storage_class;
+ unsigned char number_of_aux_symbols;
+} b_coff_external_symbol;
+
+/* Symbol types. */
+
+#define N_TBSHFT 4 /* Shift for the derived type. */
+#define IMAGE_SYM_DTYPE_FUNCTION 2 /* Function derived type. */
+
+/* Size of a coff symbol. */
+
+#define SYM_SZ 18
+
+/* Coff symbol, internal representation (aligned). */
+
+typedef struct {
+ const char *name;
+ uint32_t value;
+ int16_t sec;
+ uint16_t type;
+ uint16_t sc;
+} b_coff_internal_symbol;
+
+/* An index of sections we care about. */
+
+enum debug_section
+{
+ DEBUG_INFO,
+ DEBUG_LINE,
+ DEBUG_ABBREV,
+ DEBUG_RANGES,
+ DEBUG_STR,
+ DEBUG_MAX
+};
+
+/* Names of sections, indexed by enum debug_section. */
+
+static const char * const debug_section_names[DEBUG_MAX] =
+{
+ ".debug_info",
+ ".debug_line",
+ ".debug_abbrev",
+ ".debug_ranges",
+ ".debug_str"
+};
+
+/* Information we gather for the sections we care about. */
+
+struct debug_section_info
+{
+ /* Section file offset. */
+ off_t offset;
+ /* Section size. */
+ size_t size;
+ /* Section contents, after read from file. */
+ const unsigned char *data;
+};
+
+/* Information we keep for an coff symbol. */
+
+struct coff_symbol
+{
+ /* The name of the symbol. */
+ const char *name;
+ /* The address of the symbol. */
+ uintptr_t address;
+};
+
+/* Information to pass to coff_syminfo. */
+
+struct coff_syminfo_data
+{
+ /* Symbols for the next module. */
+ struct coff_syminfo_data *next;
+ /* The COFF symbols, sorted by address. */
+ struct coff_symbol *symbols;
+ /* The number of symbols. */
+ size_t count;
+};
+
+/* A dummy callback function used when we can't find any debug info. */
+
+static int
+coff_nodebug (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t pc ATTRIBUTE_UNUSED,
+ backtrace_full_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data, "no debug info in PE/COFF executable", -1);
+ return 0;
+}
+
+/* A dummy callback function used when we can't find a symbol
+ table. */
+
+static void
+coff_nosyms (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t addr ATTRIBUTE_UNUSED,
+ backtrace_syminfo_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data, "no symbol table in PE/COFF executable", -1);
+}
+
+/* Read a potentially unaligned 4 byte word at P, using native endianness. */
+
+static uint32_t
+coff_read4 (const unsigned char *p)
+{
+ uint32_t res;
+
+ memcpy (&res, p, 4);
+ return res;
+}
+
+/* Read a potentially unaligned 2 byte word at P, using native endianness.
+ All 2 byte word in symbols are always aligned, but for coherency all
+ fields are declared as char arrays. */
+
+static uint16_t
+coff_read2 (const unsigned char *p)
+{
+ uint16_t res;
+
+ memcpy (&res, p, sizeof (res));
+ return res;
+}
+
+/* Return the length (without the trailing 0) of a COFF short name. */
+
+static size_t
+coff_short_name_len (const char *name)
+{
+ int i;
+
+ for (i = 0; i < 8; i++)
+ if (name[i] == 0)
+ return i;
+ return 8;
+}
+
+/* Return true iff COFF short name CNAME is the same as NAME (a NUL-terminated
+ string). */
+
+static int
+coff_short_name_eq (const char *name, const char *cname)
+{
+ int i;
+
+ for (i = 0; i < 8; i++)
+ {
+ if (name[i] != cname[i])
+ return 0;
+ if (name[i] == 0)
+ return 1;
+ }
+ return name[8] == 0;
+}
+
+/* Return true iff NAME is the same as string at offset OFF. */
+
+static int
+coff_long_name_eq (const char *name, unsigned int off,
+ struct backtrace_view *str_view)
+{
+ if (off >= str_view->len)
+ return 0;
+ return strcmp (name, (const char *)str_view->data + off) == 0;
+}
+
+/* Compare struct coff_symbol for qsort. */
+
+static int
+coff_symbol_compare (const void *v1, const void *v2)
+{
+ const struct coff_symbol *e1 = (const struct coff_symbol *) v1;
+ const struct coff_symbol *e2 = (const struct coff_symbol *) v2;
+
+ if (e1->address < e2->address)
+ return -1;
+ else if (e1->address > e2->address)
+ return 1;
+ else
+ return 0;
+}
+
+/* Convert SYM to internal (and aligned) format ISYM, using string table
+ from STRTAB and STRTAB_SIZE, and number of sections SECTS_NUM.
+ Return -1 in case of error (invalid section number or string index). */
+
+static int
+coff_expand_symbol (b_coff_internal_symbol *isym,
+ const b_coff_external_symbol *sym,
+ uint16_t sects_num,
+ const unsigned char *strtab, size_t strtab_size)
+{
+ isym->type = coff_read2 (sym->type);
+ isym->sec = coff_read2 (sym->section_number);
+ isym->sc = sym->storage_class;
+
+ if (isym->sec > 0 && (uint16_t) isym->sec > sects_num)
+ return -1;
+ if (sym->name.short_name[0] != 0)
+ isym->name = sym->name.short_name;
+ else
+ {
+ uint32_t off = coff_read4 (sym->name.long_name.off);
+
+ if (off >= strtab_size)
+ return -1;
+ isym->name = (const char *) strtab + off;
+ }
+ return 0;
+}
+
+/* Return true iff SYM is a defined symbol for a function. Data symbols
+ aren't considered because they aren't easily identified (same type as
+ section names, presence of symbols defined by the linker script). */
+
+static int
+coff_is_function_symbol (const b_coff_internal_symbol *isym)
+{
+ return (isym->type >> N_TBSHFT) == IMAGE_SYM_DTYPE_FUNCTION
+ && isym->sec > 0;
+}
+
+/* Initialize the symbol table info for coff_syminfo. */
+
+static int
+coff_initialize_syminfo (struct backtrace_state *state,
+ uintptr_t base_address,
+ const b_coff_section_header *sects, size_t sects_num,
+ const b_coff_external_symbol *syms, size_t syms_size,
+ const unsigned char *strtab, size_t strtab_size,
+ backtrace_error_callback error_callback,
+ void *data, struct coff_syminfo_data *sdata)
+{
+ size_t syms_count;
+ char *coff_symstr;
+ size_t coff_symstr_len;
+ size_t coff_symbol_count;
+ size_t coff_symbol_size;
+ struct coff_symbol *coff_symbols;
+ struct coff_symbol *coff_sym;
+ char *coff_str;
+ size_t i;
+
+ syms_count = syms_size / SYM_SZ;
+
+ /* We only care about function symbols. Count them. Also count size of
+ strings for in-symbol names. */
+ coff_symbol_count = 0;
+ coff_symstr_len = 0;
+ for (i = 0; i < syms_count; ++i)
+ {
+ const b_coff_external_symbol *asym = &syms[i];
+ b_coff_internal_symbol isym;
+
+ if (coff_expand_symbol (&isym, asym, sects_num, strtab, strtab_size) < 0)
+ {
+ error_callback (data, "invalid section or offset in coff symbol", 0);
+ return 0;
+ }
+ if (coff_is_function_symbol (&isym))
+ {
+ ++coff_symbol_count;
+ if (asym->name.short_name[0] != 0)
+ coff_symstr_len += coff_short_name_len (asym->name.short_name) + 1;
+ }
+
+ i += asym->number_of_aux_symbols;
+ }
+
+ coff_symbol_size = (coff_symbol_count + 1) * sizeof (struct coff_symbol);
+ coff_symbols = ((struct coff_symbol *)
+ backtrace_alloc (state, coff_symbol_size, error_callback,
+ data));
+ if (coff_symbols == NULL)
+ return 0;
+
+ /* Allocate memory for symbols strings. */
+ if (coff_symstr_len > 0)
+ {
+ coff_symstr = ((char *)
+ backtrace_alloc (state, coff_symstr_len, error_callback,
+ data));
+ if (coff_symstr == NULL)
+ {
+ backtrace_free (state, coff_symbols, coff_symbol_size,
+ error_callback, data);
+ return 0;
+ }
+ }
+ else
+ coff_symstr = NULL;
+
+ /* Copy symbols. */
+ coff_sym = coff_symbols;
+ coff_str = coff_symstr;
+ for (i = 0; i < syms_count; ++i)
+ {
+ const b_coff_external_symbol *asym = &syms[i];
+ b_coff_internal_symbol isym;
+
+ if (coff_expand_symbol (&isym, asym, sects_num, strtab, strtab_size))
+ {
+ /* Should not fail, as it was already tested in the previous
+ loop. */
+ abort ();
+ }
+ if (coff_is_function_symbol (&isym))
+ {
+ const char *name;
+ int16_t secnum;
+
+ if (asym->name.short_name[0] != 0)
+ {
+ size_t len = coff_short_name_len (isym.name);
+ name = coff_str;
+ memcpy (coff_str, isym.name, len);
+ coff_str[len] = 0;
+ coff_str += len + 1;
+ }
+ else
+ name = isym.name;
+
+ /* Strip leading '_'. */
+ if (name[0] == '_')
+ name++;
+
+ /* Symbol value is section relative, so we need to read the address
+ of its section. */
+ secnum = coff_read2 (asym->section_number);
+
+ coff_sym->name = name;
+ coff_sym->address = (coff_read4 (asym->value)
+ + sects[secnum - 1].virtual_address
+ + base_address);
+ coff_sym++;
+ }
+
+ i += asym->number_of_aux_symbols;
+ }
+
+ /* End of symbols marker. */
+ coff_sym->name = NULL;
+ coff_sym->address = -1;
+
+ backtrace_qsort (coff_symbols, coff_symbol_count,
+ sizeof (struct coff_symbol), coff_symbol_compare);
+
+ sdata->next = NULL;
+ sdata->symbols = coff_symbols;
+ sdata->count = coff_symbol_count;
+
+ return 1;
+}
+
+/* Add EDATA to the list in STATE. */
+
+static void
+coff_add_syminfo_data (struct backtrace_state *state,
+ struct coff_syminfo_data *sdata)
+{
+ if (!state->threaded)
+ {
+ struct coff_syminfo_data **pp;
+
+ for (pp = (struct coff_syminfo_data **) (void *) &state->syminfo_data;
+ *pp != NULL;
+ pp = &(*pp)->next)
+ ;
+ *pp = sdata;
+ }
+ else
+ {
+ while (1)
+ {
+ struct coff_syminfo_data **pp;
+
+ pp = (struct coff_syminfo_data **) (void *) &state->syminfo_data;
+
+ while (1)
+ {
+ struct coff_syminfo_data *p;
+
+ p = backtrace_atomic_load_pointer (pp);
+
+ if (p == NULL)
+ break;
+
+ pp = &p->next;
+ }
+
+ if (__sync_bool_compare_and_swap (pp, NULL, sdata))
+ break;
+ }
+ }
+}
+
+/* Compare an ADDR against an elf_symbol for bsearch. We allocate one
+ extra entry in the array so that this can look safely at the next
+ entry. */
+
+static int
+coff_symbol_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct coff_symbol *entry = (const struct coff_symbol *) ventry;
+ uintptr_t addr;
+
+ addr = *key;
+ if (addr < entry->address)
+ return -1;
+ else if (addr >= entry[1].address)
+ return 1;
+ else
+ return 0;
+}
+
+/* Return the symbol name and value for an ADDR. */
+
+static void
+coff_syminfo (struct backtrace_state *state, uintptr_t addr,
+ backtrace_syminfo_callback callback,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data)
+{
+ struct coff_syminfo_data *sdata;
+ struct coff_symbol *sym = NULL;
+
+ if (!state->threaded)
+ {
+ for (sdata = (struct coff_syminfo_data *) state->syminfo_data;
+ sdata != NULL;
+ sdata = sdata->next)
+ {
+ sym = ((struct coff_symbol *)
+ bsearch (&addr, sdata->symbols, sdata->count,
+ sizeof (struct coff_symbol), coff_symbol_search));
+ if (sym != NULL)
+ break;
+ }
+ }
+ else
+ {
+ struct coff_syminfo_data **pp;
+
+ pp = (struct coff_syminfo_data **) (void *) &state->syminfo_data;
+ while (1)
+ {
+ sdata = backtrace_atomic_load_pointer (pp);
+ if (sdata == NULL)
+ break;
+
+ sym = ((struct coff_symbol *)
+ bsearch (&addr, sdata->symbols, sdata->count,
+ sizeof (struct coff_symbol), coff_symbol_search));
+ if (sym != NULL)
+ break;
+
+ pp = &sdata->next;
+ }
+ }
+
+ if (sym == NULL)
+ callback (data, addr, NULL, 0, 0);
+ else
+ callback (data, addr, sym->name, sym->address, 0);
+}
+
+/* Add the backtrace data for one PE/COFF file. Returns 1 on success,
+ 0 on failure (in both cases descriptor is closed). */
+
+static int
+coff_add (struct backtrace_state *state, int descriptor,
+ backtrace_error_callback error_callback, void *data,
+ fileline *fileline_fn, int *found_sym, int *found_dwarf)
+{
+ struct backtrace_view fhdr_view;
+ off_t fhdr_off;
+ int magic_ok;
+ b_coff_file_header fhdr;
+ off_t opt_sects_off;
+ size_t opt_sects_size;
+ unsigned int sects_num;
+ struct backtrace_view sects_view;
+ int sects_view_valid;
+ const b_coff_optional_header *opt_hdr;
+ const b_coff_section_header *sects;
+ struct backtrace_view str_view;
+ int str_view_valid;
+ uint32_t str_size;
+ off_t str_off;
+ // NOTE: upstream doesn't have `{0}`, this is a fix for Rust issue #39468.
+ // If syms_view is not initialized, then `free(syms_view.base)` may segfault later.
+ struct backtrace_view syms_view = {0};
+ off_t syms_off;
+ size_t syms_size;
+ int syms_view_valid;
+ unsigned int syms_num;
+ unsigned int i;
+ struct debug_section_info sections[DEBUG_MAX];
+ off_t min_offset;
+ off_t max_offset;
+ struct backtrace_view debug_view;
+ int debug_view_valid;
+ uintptr_t image_base;
+
+ *found_sym = 0;
+ *found_dwarf = 0;
+
+ sects_view_valid = 0;
+ syms_view_valid = 0;
+ str_view_valid = 0;
+ debug_view_valid = 0;
+
+ /* Map the MS-DOS stub (if any) and extract file header offset. */
+ if (!backtrace_get_view (state, descriptor, 0, 0x40, error_callback,
+ data, &fhdr_view))
+ goto fail;
+
+ {
+ const unsigned char *vptr = fhdr_view.data;
+
+ if (vptr[0] == 'M' && vptr[1] == 'Z')
+ fhdr_off = coff_read4 (vptr + 0x3c);
+ else
+ fhdr_off = 0;
+ }
+
+ backtrace_release_view (state, &fhdr_view, error_callback, data);
+
+ /* Map the coff file header. */
+ if (!backtrace_get_view (state, descriptor, fhdr_off,
+ sizeof (b_coff_file_header) + 4,
+ error_callback, data, &fhdr_view))
+ goto fail;
+
+ if (fhdr_off != 0)
+ {
+ const char *magic = (const char *) fhdr_view.data;
+ magic_ok = memcmp (magic, "PE\0", 4) == 0;
+ fhdr_off += 4;
+
+ memcpy (&fhdr, fhdr_view.data + 4, sizeof fhdr);
+ }
+ else
+ {
+ memcpy (&fhdr, fhdr_view.data, sizeof fhdr);
+ /* TODO: test fhdr.machine for coff but non-PE platforms. */
+ magic_ok = 0;
+ }
+ backtrace_release_view (state, &fhdr_view, error_callback, data);
+
+ if (!magic_ok)
+ {
+ error_callback (data, "executable file is not COFF", 0);
+ goto fail;
+ }
+
+ sects_num = fhdr.number_of_sections;
+ syms_num = fhdr.number_of_symbols;
+
+ opt_sects_off = fhdr_off + sizeof (fhdr);
+ opt_sects_size = (fhdr.size_of_optional_header
+ + sects_num * sizeof (b_coff_section_header));
+
+ /* To translate PC to file/line when using DWARF, we need to find
+ the .debug_info and .debug_line sections. */
+
+ /* Read the optional header and the section headers. */
+
+ if (!backtrace_get_view (state, descriptor, opt_sects_off, opt_sects_size,
+ error_callback, data, &sects_view))
+ goto fail;
+ sects_view_valid = 1;
+ opt_hdr = (const b_coff_optional_header *) sects_view.data;
+ sects = (const b_coff_section_header *)
+ (sects_view.data + fhdr.size_of_optional_header);
+
+ if (fhdr.size_of_optional_header > sizeof (*opt_hdr))
+ {
+ if (opt_hdr->magic == PE_MAGIC)
+ image_base = opt_hdr->u.pe.image_base;
+ else if (opt_hdr->magic == PEP_MAGIC)
+ image_base = opt_hdr->u.pep.image_base;
+ else
+ {
+ error_callback (data, "bad magic in PE optional header", 0);
+ goto fail;
+ }
+ }
+ else
+ image_base = 0;
+
+ /* Read the symbol table and the string table. */
+
+ if (fhdr.pointer_to_symbol_table == 0)
+ {
+ /* No symbol table, no string table. */
+ str_off = 0;
+ str_size = 0;
+ syms_num = 0;
+ syms_size = 0;
+ }
+ else
+ {
+ /* Symbol table is followed by the string table. The string table
+ starts with its length (on 4 bytes).
+ Map the symbol table and the length of the string table. */
+ syms_off = fhdr.pointer_to_symbol_table;
+ syms_size = syms_num * SYM_SZ;
+
+ if (!backtrace_get_view (state, descriptor, syms_off, syms_size + 4,
+ error_callback, data, &syms_view))
+ goto fail;
+ syms_view_valid = 1;
+
+ str_size = coff_read4 (syms_view.data + syms_size);
+
+ str_off = syms_off + syms_size;
+
+ if (str_size > 4)
+ {
+ /* Map string table (including the length word). */
+
+ if (!backtrace_get_view (state, descriptor, str_off, str_size,
+ error_callback, data, &str_view))
+ goto fail;
+ str_view_valid = 1;
+ }
+ }
+
+ memset (sections, 0, sizeof sections);
+
+ /* Look for the symbol table. */
+ for (i = 0; i < sects_num; ++i)
+ {
+ const b_coff_section_header *s = sects + i;
+ unsigned int str_off1;
+ int j;
+
+ if (s->name[0] == '/')
+ {
+ /* Extended section name. */
+ str_off1 = atoi (s->name + 1);
+ }
+ else
+ str_off1 = 0;
+
+ for (j = 0; j < (int) DEBUG_MAX; ++j)
+ {
+ const char *dbg_name = debug_section_names[j];
+ int match;
+
+ if (str_off1 != 0)
+ match = coff_long_name_eq (dbg_name, str_off1, &str_view);
+ else
+ match = coff_short_name_eq (dbg_name, s->name);
+ if (match)
+ {
+ sections[j].offset = s->pointer_to_raw_data;
+ sections[j].size = s->virtual_size <= s->size_of_raw_data ?
+ s->virtual_size : s->size_of_raw_data;
+ break;
+ }
+ }
+ }
+
+ if (syms_num != 0)
+ {
+ struct coff_syminfo_data *sdata;
+
+ sdata = ((struct coff_syminfo_data *)
+ backtrace_alloc (state, sizeof *sdata, error_callback, data));
+ if (sdata == NULL)
+ goto fail;
+
+ if (!coff_initialize_syminfo (state, image_base,
+ sects, sects_num,
+ syms_view.data, syms_size,
+ str_view.data, str_size,
+ error_callback, data, sdata))
+ {
+ backtrace_free (state, sdata, sizeof *sdata, error_callback, data);
+ goto fail;
+ }
+
+ *found_sym = 1;
+
+ coff_add_syminfo_data (state, sdata);
+ }
+
+ backtrace_release_view (state, &sects_view, error_callback, data);
+ sects_view_valid = 0;
+ if (syms_view_valid)
+ {
+ backtrace_release_view (state, &syms_view, error_callback, data);
+ syms_view_valid = 0;
+ }
+
+ /* Read all the debug sections in a single view, since they are
+ probably adjacent in the file. We never release this view. */
+
+ min_offset = 0;
+ max_offset = 0;
+ for (i = 0; i < (int) DEBUG_MAX; ++i)
+ {
+ off_t end;
+
+ if (sections[i].size == 0)
+ continue;
+ if (min_offset == 0 || sections[i].offset < min_offset)
+ min_offset = sections[i].offset;
+ end = sections[i].offset + sections[i].size;
+ if (end > max_offset)
+ max_offset = end;
+ }
+ if (min_offset == 0 || max_offset == 0)
+ {
+ if (!backtrace_close (descriptor, error_callback, data))
+ goto fail;
+ *fileline_fn = coff_nodebug;
+ return 1;
+ }
+
+ if (!backtrace_get_view (state, descriptor, min_offset,
+ max_offset - min_offset,
+ error_callback, data, &debug_view))
+ goto fail;
+ debug_view_valid = 1;
+
+ /* We've read all we need from the executable. */
+ if (!backtrace_close (descriptor, error_callback, data))
+ goto fail;
+ descriptor = -1;
+
+ for (i = 0; i < (int) DEBUG_MAX; ++i)
+ {
+ if (sections[i].size == 0)
+ sections[i].data = NULL;
+ else
+ sections[i].data = ((const unsigned char *) debug_view.data
+ + (sections[i].offset - min_offset));
+ }
+
+ if (!backtrace_dwarf_add (state, /* base_address */ 0,
+ sections[DEBUG_INFO].data,
+ sections[DEBUG_INFO].size,
+ sections[DEBUG_LINE].data,
+ sections[DEBUG_LINE].size,
+ sections[DEBUG_ABBREV].data,
+ sections[DEBUG_ABBREV].size,
+ sections[DEBUG_RANGES].data,
+ sections[DEBUG_RANGES].size,
+ sections[DEBUG_STR].data,
+ sections[DEBUG_STR].size,
+ 0, /* FIXME */
+ error_callback, data, fileline_fn))
+ goto fail;
+
+ *found_dwarf = 1;
+
+ return 1;
+
+ fail:
+ if (sects_view_valid)
+ backtrace_release_view (state, &sects_view, error_callback, data);
+ if (str_view_valid)
+ backtrace_release_view (state, &str_view, error_callback, data);
+ if (syms_view_valid)
+ backtrace_release_view (state, &syms_view, error_callback, data);
+ if (debug_view_valid)
+ backtrace_release_view (state, &debug_view, error_callback, data);
+ if (descriptor != -1)
+ backtrace_close (descriptor, error_callback, data);
+ return 0;
+}
+
+/* Initialize the backtrace data we need from an ELF executable. At
+ the ELF level, all we need to do is find the debug info
+ sections. */
+
+int
+backtrace_initialize (struct backtrace_state *state,
+ const char *filename ATTRIBUTE_UNUSED, int descriptor,
+ backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn)
+{
+ int ret;
+ int found_sym;
+ int found_dwarf;
+ fileline coff_fileline_fn;
+
+ ret = coff_add (state, descriptor, error_callback, data,
+ &coff_fileline_fn, &found_sym, &found_dwarf);
+ if (!ret)
+ return 0;
+
+ if (!state->threaded)
+ {
+ if (found_sym)
+ state->syminfo_fn = coff_syminfo;
+ else if (state->syminfo_fn == NULL)
+ state->syminfo_fn = coff_nosyms;
+ }
+ else
+ {
+ if (found_sym)
+ backtrace_atomic_store_pointer (&state->syminfo_fn, coff_syminfo);
+ else
+ __sync_bool_compare_and_swap (&state->syminfo_fn, NULL, coff_nosyms);
+ }
+
+ if (!state->threaded)
+ {
+ if (state->fileline_fn == NULL || state->fileline_fn == coff_nodebug)
+ *fileline_fn = coff_fileline_fn;
+ }
+ else
+ {
+ fileline current_fn;
+
+ current_fn = backtrace_atomic_load_pointer (&state->fileline_fn);
+ if (current_fn == NULL || current_fn == coff_nodebug)
+ *fileline_fn = coff_fileline_fn;
+ }
+
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/posix.c b/3rdparty/libbacktrace/posix.c
new file mode 100644
index 000000000..ce441d98f
--- /dev/null
+++ b/3rdparty/libbacktrace/posix.c
@@ -0,0 +1,100 @@
+/* posix.c -- POSIX file I/O routines for the backtrace library.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 0
+#endif
+
+#ifndef FD_CLOEXEC
+#define FD_CLOEXEC 1
+#endif
+
+/* Open a file for reading. */
+
+int
+backtrace_open (const char *filename, backtrace_error_callback error_callback,
+ void *data, int *does_not_exist)
+{
+ int descriptor;
+
+ if (does_not_exist != NULL)
+ *does_not_exist = 0;
+
+ descriptor = open (filename, (int) (O_RDONLY | O_BINARY | O_CLOEXEC));
+ if (descriptor < 0)
+ {
+ if (does_not_exist != NULL && errno == ENOENT)
+ *does_not_exist = 1;
+ else
+ error_callback (data, filename, errno);
+ return -1;
+ }
+
+#ifdef HAVE_FCNTL
+ /* Set FD_CLOEXEC just in case the kernel does not support
+ O_CLOEXEC. It doesn't matter if this fails for some reason.
+ FIXME: At some point it should be safe to only do this if
+ O_CLOEXEC == 0. */
+ fcntl (descriptor, F_SETFD, FD_CLOEXEC);
+#endif
+
+ return descriptor;
+}
+
+/* Close DESCRIPTOR. */
+
+int
+backtrace_close (int descriptor, backtrace_error_callback error_callback,
+ void *data)
+{
+ if (close (descriptor) < 0)
+ {
+ error_callback (data, "close", errno);
+ return 0;
+ }
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/print.c b/3rdparty/libbacktrace/print.c
new file mode 100644
index 000000000..3c6bad283
--- /dev/null
+++ b/3rdparty/libbacktrace/print.c
@@ -0,0 +1,92 @@
+/* print.c -- Print the current backtrace.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* Passed to callbacks. */
+
+struct print_data
+{
+ struct backtrace_state *state;
+ FILE *f;
+};
+
+/* Print one level of a backtrace. */
+
+static int
+print_callback (void *data, uintptr_t pc, const char *filename, int lineno,
+ const char *function)
+{
+ struct print_data *pdata = (struct print_data *) data;
+
+ fprintf (pdata->f, "0x%lx %s\n\t%s:%d\n",
+ (unsigned long) pc,
+ function == NULL ? "???" : function,
+ filename == NULL ? "???" : filename,
+ lineno);
+ return 0;
+}
+
+/* Print errors to stderr. */
+
+static void
+error_callback (void *data, const char *msg, int errnum)
+{
+ struct print_data *pdata = (struct print_data *) data;
+
+ if (pdata->state->filename != NULL)
+ fprintf (stderr, "%s: ", pdata->state->filename);
+ fprintf (stderr, "libbacktrace: %s", msg);
+ if (errnum > 0)
+ fprintf (stderr, ": %s", strerror (errnum));
+ fputc ('\n', stderr);
+}
+
+/* Print a backtrace. */
+
+void
+backtrace_print (struct backtrace_state *state, int skip, FILE *f)
+{
+ struct print_data data;
+
+ data.state = state;
+ data.f = f;
+ backtrace_full (state, skip + 1, print_callback, error_callback,
+ (void *) &data);
+}
diff --git a/3rdparty/libbacktrace/read.c b/3rdparty/libbacktrace/read.c
new file mode 100644
index 000000000..211d6457c
--- /dev/null
+++ b/3rdparty/libbacktrace/read.c
@@ -0,0 +1,96 @@
+/* read.c -- File views without mmap.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* This file implements file views when mmap is not available. */
+
+/* Create a view of SIZE bytes from DESCRIPTOR at OFFSET. */
+
+int
+backtrace_get_view (struct backtrace_state *state, int descriptor,
+ off_t offset, size_t size,
+ backtrace_error_callback error_callback,
+ void *data, struct backtrace_view *view)
+{
+ ssize_t got;
+
+ if (lseek (descriptor, offset, SEEK_SET) < 0)
+ {
+ error_callback (data, "lseek", errno);
+ return 0;
+ }
+
+ view->base = backtrace_alloc (state, size, error_callback, data);
+ if (view->base == NULL)
+ return 0;
+ view->data = view->base;
+ view->len = size;
+
+ got = read (descriptor, view->base, size);
+ if (got < 0)
+ {
+ error_callback (data, "read", errno);
+ free (view->base);
+ return 0;
+ }
+
+ if ((size_t) got < size)
+ {
+ error_callback (data, "file too short", 0);
+ free (view->base);
+ return 0;
+ }
+
+ return 1;
+}
+
+/* Release a view read by backtrace_get_view. */
+
+void
+backtrace_release_view (struct backtrace_state *state,
+ struct backtrace_view *view,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ backtrace_free (state, view->base, view->len, error_callback, data);
+ view->data = NULL;
+ view->base = NULL;
+}
diff --git a/3rdparty/libbacktrace/simple.c b/3rdparty/libbacktrace/simple.c
new file mode 100644
index 000000000..510877c23
--- /dev/null
+++ b/3rdparty/libbacktrace/simple.c
@@ -0,0 +1,108 @@
+/* simple.c -- The backtrace_simple function.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include "unwind.h"
+#include "backtrace.h"
+
+/* The simple_backtrace routine. */
+
+/* Data passed through _Unwind_Backtrace. */
+
+struct backtrace_simple_data
+{
+ /* Number of frames to skip. */
+ int skip;
+ /* Library state. */
+ struct backtrace_state *state;
+ /* Callback routine. */
+ backtrace_simple_callback callback;
+ /* Error callback routine. */
+ backtrace_error_callback error_callback;
+ /* Data to pass to callback routine. */
+ void *data;
+ /* Value to return from backtrace. */
+ int ret;
+};
+
+/* Unwind library callback routine. This is passd to
+ _Unwind_Backtrace. */
+
+static _Unwind_Reason_Code
+simple_unwind (struct _Unwind_Context *context, void *vdata)
+{
+ struct backtrace_simple_data *bdata = (struct backtrace_simple_data *) vdata;
+ uintptr_t pc;
+ int ip_before_insn = 0;
+
+#ifdef HAVE_GETIPINFO
+ pc = _Unwind_GetIPInfo (context, &ip_before_insn);
+#else
+ pc = _Unwind_GetIP (context);
+#endif
+
+ if (bdata->skip > 0)
+ {
+ --bdata->skip;
+ return _URC_NO_REASON;
+ }
+
+ if (!ip_before_insn)
+ --pc;
+
+ bdata->ret = bdata->callback (bdata->data, pc);
+
+ if (bdata->ret != 0)
+ return _URC_END_OF_STACK;
+
+ return _URC_NO_REASON;
+}
+
+/* Get a simple stack backtrace. */
+
+int
+backtrace_simple (struct backtrace_state *state, int skip,
+ backtrace_simple_callback callback,
+ backtrace_error_callback error_callback, void *data)
+{
+ struct backtrace_simple_data bdata;
+
+ bdata.skip = skip + 1;
+ bdata.state = state;
+ bdata.callback = callback;
+ bdata.error_callback = error_callback;
+ bdata.data = data;
+ bdata.ret = 0;
+ _Unwind_Backtrace (simple_unwind, &bdata);
+ return bdata.ret;
+}
diff --git a/3rdparty/libbacktrace/sort.c b/3rdparty/libbacktrace/sort.c
new file mode 100644
index 000000000..9121bcb8d
--- /dev/null
+++ b/3rdparty/libbacktrace/sort.c
@@ -0,0 +1,108 @@
+/* sort.c -- Sort without allocating memory
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <stddef.h>
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* The GNU glibc version of qsort allocates memory, which we must not
+ do if we are invoked by a signal handler. So provide our own
+ sort. */
+
+static void
+swap (char *a, char *b, size_t size)
+{
+ size_t i;
+
+ for (i = 0; i < size; i++, a++, b++)
+ {
+ char t;
+
+ t = *a;
+ *a = *b;
+ *b = t;
+ }
+}
+
+void
+backtrace_qsort (void *basearg, size_t count, size_t size,
+ int (*compar) (const void *, const void *))
+{
+ char *base = (char *) basearg;
+ size_t i;
+ size_t mid;
+
+ tail_recurse:
+ if (count < 2)
+ return;
+
+ /* The symbol table and DWARF tables, which is all we use this
+ routine for, tend to be roughly sorted. Pick the middle element
+ in the array as our pivot point, so that we are more likely to
+ cut the array in half for each recursion step. */
+ swap (base, base + (count / 2) * size, size);
+
+ mid = 0;
+ for (i = 1; i < count; i++)
+ {
+ if ((*compar) (base, base + i * size) > 0)
+ {
+ ++mid;
+ if (i != mid)
+ swap (base + mid * size, base + i * size, size);
+ }
+ }
+
+ if (mid > 0)
+ swap (base, base + mid * size, size);
+
+ /* Recurse with the smaller array, loop with the larger one. That
+ ensures that our maximum stack depth is log count. */
+ if (2 * mid < count)
+ {
+ backtrace_qsort (base, mid, size, compar);
+ base += (mid + 1) * size;
+ count -= mid + 1;
+ goto tail_recurse;
+ }
+ else
+ {
+ backtrace_qsort (base + (mid + 1) * size, count - (mid + 1),
+ size, compar);
+ count = mid;
+ goto tail_recurse;
+ }
+}
diff --git a/3rdparty/libbacktrace/state.c b/3rdparty/libbacktrace/state.c
new file mode 100644
index 000000000..ad360a6b1
--- /dev/null
+++ b/3rdparty/libbacktrace/state.c
@@ -0,0 +1,72 @@
+/* state.c -- Create the backtrace state.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <string.h>
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "backtrace-supported.h"
+#include "internal.h"
+
+/* Create the backtrace state. This will then be passed to all the
+ other routines. */
+
+struct backtrace_state *
+backtrace_create_state (const char *filename, int threaded,
+ backtrace_error_callback error_callback,
+ void *data)
+{
+ struct backtrace_state init_state;
+ struct backtrace_state *state;
+
+#ifndef HAVE_SYNC_FUNCTIONS
+ if (threaded)
+ {
+ error_callback (data, "backtrace library does not support threads", 0);
+ return NULL;
+ }
+#endif
+
+ memset (&init_state, 0, sizeof init_state);
+ init_state.filename = filename;
+ init_state.threaded = threaded;
+
+ state = ((struct backtrace_state *)
+ backtrace_alloc (&init_state, sizeof *state, error_callback, data));
+ if (state == NULL)
+ return NULL;
+ *state = init_state;
+
+ return state;
+}
diff --git a/3rdparty/libbacktrace/stest.c b/3rdparty/libbacktrace/stest.c
new file mode 100644
index 000000000..2eb98808d
--- /dev/null
+++ b/3rdparty/libbacktrace/stest.c
@@ -0,0 +1,137 @@
+/* stest.c -- Test for libbacktrace internal sort function
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* Test the local qsort implementation. */
+
+#define MAX 10
+
+struct test
+{
+ size_t count;
+ int input[MAX];
+ int output[MAX];
+};
+
+static struct test tests[] =
+ {
+ {
+ 10,
+ { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 },
+ { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
+ },
+ {
+ 9,
+ { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
+ { 1, 2, 3, 4, 5, 6, 7, 8, 9 }
+ },
+ {
+ 10,
+ { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 },
+ { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 },
+ },
+ {
+ 9,
+ { 9, 8, 7, 6, 5, 4, 3, 2, 1 },
+ { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
+ },
+ {
+ 10,
+ { 2, 4, 6, 8, 10, 1, 3, 5, 7, 9 },
+ { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 },
+ },
+ {
+ 5,
+ { 4, 5, 3, 1, 2 },
+ { 1, 2, 3, 4, 5 },
+ },
+ {
+ 5,
+ { 1, 1, 1, 1, 1 },
+ { 1, 1, 1, 1, 1 },
+ },
+ {
+ 5,
+ { 1, 1, 2, 1, 1 },
+ { 1, 1, 1, 1, 2 },
+ },
+ {
+ 5,
+ { 2, 1, 1, 1, 1 },
+ { 1, 1, 1, 1, 2 },
+ },
+ };
+
+static int
+compare (const void *a, const void *b)
+{
+ const int *ai = (const int *) a;
+ const int *bi = (const int *) b;
+
+ return *ai - *bi;
+}
+
+int
+main (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
+{
+ int failures;
+ size_t i;
+ int a[MAX];
+
+ failures = 0;
+ for (i = 0; i < sizeof tests / sizeof tests[0]; i++)
+ {
+ memcpy (a, tests[i].input, tests[i].count * sizeof (int));
+ backtrace_qsort (a, tests[i].count, sizeof (int), compare);
+ if (memcmp (a, tests[i].output, tests[i].count * sizeof (int)) != 0)
+ {
+ size_t j;
+
+ fprintf (stderr, "test %d failed:", (int) i);
+ for (j = 0; j < tests[i].count; j++)
+ fprintf (stderr, " %d", a[j]);
+ fprintf (stderr, "\n");
+ ++failures;
+ }
+ }
+
+ exit (failures > 0 ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/3rdparty/libbacktrace/testlib.c b/3rdparty/libbacktrace/testlib.c
new file mode 100644
index 000000000..6dbef7c38
--- /dev/null
+++ b/3rdparty/libbacktrace/testlib.c
@@ -0,0 +1,234 @@
+/* testlib.c -- test functions for libbacktrace library
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "filenames.h"
+
+#include "backtrace.h"
+
+#include "testlib.h"
+
+/* The backtrace state. */
+
+void *state;
+
+/* The number of failures. */
+
+int failures;
+
+/* Return the base name in a path. */
+
+const char *
+base (const char *p)
+{
+ const char *last;
+ const char *s;
+
+ last = NULL;
+ for (s = p; *s != '\0'; ++s)
+ {
+ if (IS_DIR_SEPARATOR (*s))
+ last = s + 1;
+ }
+ return last != NULL ? last : p;
+}
+
+/* Check an entry in a struct info array. */
+
+void
+check (const char *name, int index, const struct info *all, int want_lineno,
+ const char *want_function, const char *want_file, int *failed)
+{
+ if (*failed)
+ return;
+ if (all[index].filename == NULL || all[index].function == NULL)
+ {
+ fprintf (stderr, "%s: [%d]: missing file name or function name\n",
+ name, index);
+ *failed = 1;
+ return;
+ }
+ if (strcmp (base (all[index].filename), want_file) != 0)
+ {
+ fprintf (stderr, "%s: [%d]: got %s expected %s\n", name, index,
+ all[index].filename, want_file);
+ *failed = 1;
+ }
+ if (all[index].lineno != want_lineno)
+ {
+ fprintf (stderr, "%s: [%d]: got %d expected %d\n", name, index,
+ all[index].lineno, want_lineno);
+ *failed = 1;
+ }
+ if (strcmp (all[index].function, want_function) != 0)
+ {
+ fprintf (stderr, "%s: [%d]: got %s expected %s\n", name, index,
+ all[index].function, want_function);
+ *failed = 1;
+ }
+}
+
+/* The backtrace callback function. */
+
+int
+callback_one (void *vdata, uintptr_t pc ATTRIBUTE_UNUSED,
+ const char *filename, int lineno, const char *function)
+{
+ struct bdata *data = (struct bdata *) vdata;
+ struct info *p;
+
+ if (data->index >= data->max)
+ {
+ fprintf (stderr, "callback_one: callback called too many times\n");
+ data->failed = 1;
+ return 1;
+ }
+
+ p = &data->all[data->index];
+ if (filename == NULL)
+ p->filename = NULL;
+ else
+ {
+ p->filename = strdup (filename);
+ assert (p->filename != NULL);
+ }
+ p->lineno = lineno;
+ if (function == NULL)
+ p->function = NULL;
+ else
+ {
+ p->function = strdup (function);
+ assert (p->function != NULL);
+ }
+ ++data->index;
+
+ return 0;
+}
+
+/* An error callback passed to backtrace. */
+
+void
+error_callback_one (void *vdata, const char *msg, int errnum)
+{
+ struct bdata *data = (struct bdata *) vdata;
+
+ fprintf (stderr, "%s", msg);
+ if (errnum > 0)
+ fprintf (stderr, ": %s", strerror (errnum));
+ fprintf (stderr, "\n");
+ data->failed = 1;
+}
+
+/* The backtrace_simple callback function. */
+
+int
+callback_two (void *vdata, uintptr_t pc)
+{
+ struct sdata *data = (struct sdata *) vdata;
+
+ if (data->index >= data->max)
+ {
+ fprintf (stderr, "callback_two: callback called too many times\n");
+ data->failed = 1;
+ return 1;
+ }
+
+ data->addrs[data->index] = pc;
+ ++data->index;
+
+ return 0;
+}
+
+/* An error callback passed to backtrace_simple. */
+
+void
+error_callback_two (void *vdata, const char *msg, int errnum)
+{
+ struct sdata *data = (struct sdata *) vdata;
+
+ fprintf (stderr, "%s", msg);
+ if (errnum > 0)
+ fprintf (stderr, ": %s", strerror (errnum));
+ fprintf (stderr, "\n");
+ data->failed = 1;
+}
+
+/* The backtrace_syminfo callback function. */
+
+void
+callback_three (void *vdata, uintptr_t pc ATTRIBUTE_UNUSED,
+ const char *symname, uintptr_t symval,
+ uintptr_t symsize)
+{
+ struct symdata *data = (struct symdata *) vdata;
+
+ if (symname == NULL)
+ data->name = NULL;
+ else
+ {
+ data->name = strdup (symname);
+ assert (data->name != NULL);
+ }
+ data->val = symval;
+ data->size = symsize;
+}
+
+/* The backtrace_syminfo error callback function. */
+
+void
+error_callback_three (void *vdata, const char *msg, int errnum)
+{
+ struct symdata *data = (struct symdata *) vdata;
+
+ fprintf (stderr, "%s", msg);
+ if (errnum > 0)
+ fprintf (stderr, ": %s", strerror (errnum));
+ fprintf (stderr, "\n");
+ data->failed = 1;
+}
+
+/* The backtrace_create_state error callback function. */
+
+void
+error_callback_create (void *data ATTRIBUTE_UNUSED, const char *msg,
+ int errnum)
+{
+ fprintf (stderr, "%s", msg);
+ if (errnum > 0)
+ fprintf (stderr, ": %s", strerror (errnum));
+ fprintf (stderr, "\n");
+ exit (EXIT_FAILURE);
+}
diff --git a/3rdparty/libbacktrace/testlib.h b/3rdparty/libbacktrace/testlib.h
new file mode 100644
index 000000000..5094656f1
--- /dev/null
+++ b/3rdparty/libbacktrace/testlib.h
@@ -0,0 +1,110 @@
+/* testlib.h -- Header for test functions for libbacktrace library
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#ifndef LIBBACKTRACE_TESTLIB_H
+#define LIBBACKTRACE_TESTLIB_H
+
+/* Portable attribute syntax. Actually some of these tests probably
+ won't work if the attributes are not recognized. */
+
+#ifndef GCC_VERSION
+# define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
+#endif
+
+#if (GCC_VERSION < 2007)
+# define __attribute__(x)
+#endif
+
+#ifndef ATTRIBUTE_UNUSED
+# define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#endif
+
+/* Used to collect backtrace info. */
+
+struct info
+{
+ char *filename;
+ int lineno;
+ char *function;
+};
+
+/* Passed to backtrace callback function. */
+
+struct bdata
+{
+ struct info *all;
+ size_t index;
+ size_t max;
+ int failed;
+};
+
+/* Passed to backtrace_simple callback function. */
+
+struct sdata
+{
+ uintptr_t *addrs;
+ size_t index;
+ size_t max;
+ int failed;
+};
+
+/* Passed to backtrace_syminfo callback function. */
+
+struct symdata
+{
+ const char *name;
+ uintptr_t val, size;
+ int failed;
+};
+
+/* The backtrace state. */
+
+extern void *state;
+
+/* The number of failures. */
+
+extern int failures;
+
+extern const char *base (const char *p);
+extern void check (const char *name, int index, const struct info *all,
+ int want_lineno, const char *want_function,
+ const char *want_file, int *failed);
+extern int callback_one (void *, uintptr_t, const char *, int, const char *);
+extern void error_callback_one (void *, const char *, int);
+extern int callback_two (void *, uintptr_t);
+extern void error_callback_two (void *, const char *, int);
+extern void callback_three (void *, uintptr_t, const char *, uintptr_t,
+ uintptr_t);
+extern void error_callback_three (void *, const char *, int);
+extern void error_callback_create (void *, const char *, int);
+
+#endif /* !defined(LIBBACKTRACE_TESTLIB_H) */
diff --git a/3rdparty/libbacktrace/ttest.c b/3rdparty/libbacktrace/ttest.c
new file mode 100644
index 000000000..ca55e9b37
--- /dev/null
+++ b/3rdparty/libbacktrace/ttest.c
@@ -0,0 +1,161 @@
+/* ttest.c -- Test for libbacktrace library
+ Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+/* Test using the libbacktrace library from multiple threads. */
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <pthread.h>
+
+#include "filenames.h"
+
+#include "backtrace.h"
+#include "backtrace-supported.h"
+
+#include "testlib.h"
+
+static int f2 (int) __attribute__ ((noinline));
+static int f3 (int, int) __attribute__ ((noinline));
+
+/* Test that a simple backtrace works. This is called via
+ pthread_create. It returns the number of failures, as void *. */
+
+static void *
+test1_thread (void *arg ATTRIBUTE_UNUSED)
+{
+ /* Returning a value here and elsewhere avoids a tailcall which
+ would mess up the backtrace. */
+ return (void *) (uintptr_t) (f2 (__LINE__) - 2);
+}
+
+static int
+f2 (int f1line)
+{
+ return f3 (f1line, __LINE__) + 2;
+}
+
+static int
+f3 (int f1line, int f2line)
+{
+ struct info all[20];
+ struct bdata data;
+ int f3line;
+ int i;
+
+ data.all = &all[0];
+ data.index = 0;
+ data.max = 20;
+ data.failed = 0;
+
+ f3line = __LINE__ + 1;
+ i = backtrace_full (state, 0, callback_one, error_callback_one, &data);
+
+ if (i != 0)
+ {
+ fprintf (stderr, "test1: unexpected return value %d\n", i);
+ data.failed = 1;
+ }
+
+ if (data.index < 3)
+ {
+ fprintf (stderr,
+ "test1: not enough frames; got %zu, expected at least 3\n",
+ data.index);
+ data.failed = 1;
+ }
+
+ check ("test1", 0, all, f3line, "f3", "ttest.c", &data.failed);
+ check ("test1", 1, all, f2line, "f2", "ttest.c", &data.failed);
+ check ("test1", 2, all, f1line, "test1_thread", "ttest.c", &data.failed);
+
+ return data.failed;
+}
+
+/* Run the test with 10 threads simultaneously. */
+
+#define THREAD_COUNT 10
+
+static void test1 (void) __attribute__ ((unused));
+
+static void
+test1 (void)
+{
+ pthread_t atid[THREAD_COUNT];
+ int i;
+ int errnum;
+ int this_fail;
+ void *ret;
+
+ for (i = 0; i < THREAD_COUNT; i++)
+ {
+ errnum = pthread_create (&atid[i], NULL, test1_thread, NULL);
+ if (errnum != 0)
+ {
+ fprintf (stderr, "pthread_create %d: %s\n", i, strerror (errnum));
+ exit (EXIT_FAILURE);
+ }
+ }
+
+ this_fail = 0;
+ for (i = 0; i < THREAD_COUNT; i++)
+ {
+ errnum = pthread_join (atid[i], &ret);
+ if (errnum != 0)
+ {
+ fprintf (stderr, "pthread_join %d: %s\n", i, strerror (errnum));
+ exit (EXIT_FAILURE);
+ }
+ this_fail += (int) (uintptr_t) ret;
+ }
+
+ printf ("%s: threaded backtrace_full noinline\n", this_fail > 0 ? "FAIL" : "PASS");
+
+ failures += this_fail;
+}
+
+int
+main (int argc ATTRIBUTE_UNUSED, char **argv)
+{
+ state = backtrace_create_state (argv[0], BACKTRACE_SUPPORTS_THREADS,
+ error_callback_create, NULL);
+
+#if BACKTRACE_SUPPORTED
+#if BACKTRACE_SUPPORTS_THREADS
+ test1 ();
+#endif
+#endif
+
+ exit (failures ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/3rdparty/libbacktrace/unknown.c b/3rdparty/libbacktrace/unknown.c
new file mode 100644
index 000000000..be521a85c
--- /dev/null
+++ b/3rdparty/libbacktrace/unknown.c
@@ -0,0 +1,65 @@
+/* unknown.c -- used when backtrace configury does not know file format.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <sys/types.h>
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* A trivial routine that always fails to find fileline data. */
+
+static int
+unknown_fileline (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t pc, backtrace_full_callback callback,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data)
+
+{
+ return callback (data, pc, NULL, 0, NULL);
+}
+
+/* Initialize the backtrace data when we don't know how to read the
+ debug info. */
+
+int
+backtrace_initialize (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ const char *filename ATTRIBUTE_UNUSED,
+ int descriptor ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data ATTRIBUTE_UNUSED, fileline *fileline_fn)
+{
+ state->fileline_data = NULL;
+ *fileline_fn = unknown_fileline;
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/xcoff.c b/3rdparty/libbacktrace/xcoff.c
new file mode 100644
index 000000000..1ae001dd1
--- /dev/null
+++ b/3rdparty/libbacktrace/xcoff.c
@@ -0,0 +1,1642 @@
+/* xcoff.c -- Get debug data from an XCOFF file for backtraces.
+ Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ Adapted from elf.c.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+
+#ifdef HAVE_LOADQUERY
+#include <sys/ldr.h>
+#endif
+
+#include "backtrace.h"
+#include "internal.h"
+
+/* The configure script must tell us whether we are 32-bit or 64-bit
+ XCOFF. We could make this code test and support either possibility,
+ but there is no point. This code only works for the currently
+ running executable, which means that we know the XCOFF mode at
+ configure time. */
+
+#if BACKTRACE_XCOFF_SIZE != 32 && BACKTRACE_XCOFF_SIZE != 64
+#error "Unknown BACKTRACE_XCOFF_SIZE"
+#endif
+
+/* XCOFF file header. */
+
+#if BACKTRACE_XCOFF_SIZE == 32
+
+typedef struct {
+ uint16_t f_magic;
+ uint16_t f_nscns;
+ uint32_t f_timdat;
+ uint32_t f_symptr;
+ uint32_t f_nsyms;
+ uint16_t f_opthdr;
+ uint16_t f_flags;
+} b_xcoff_filhdr;
+
+#define XCOFF_MAGIC 0737
+
+#else /* BACKTRACE_XCOFF_SIZE != 32 */
+
+typedef struct {
+ uint16_t f_magic;
+ uint16_t f_nscns;
+ uint32_t f_timdat;
+ uint64_t f_symptr;
+ uint16_t f_opthdr;
+ uint16_t f_flags;
+ uint32_t f_nsyms;
+} b_xcoff_filhdr;
+
+#define XCOFF_MAGIC 0767
+
+#endif /* BACKTRACE_XCOFF_SIZE != 32 */
+
+#define F_SHROBJ 0x2000 /* File is a shared object. */
+
+/* XCOFF section header. */
+
+#if BACKTRACE_XCOFF_SIZE == 32
+
+typedef struct {
+ char s_name[8];
+ uint32_t s_paddr;
+ uint32_t s_vaddr;
+ uint32_t s_size;
+ uint32_t s_scnptr;
+ uint32_t s_relptr;
+ uint32_t s_lnnoptr;
+ uint16_t s_nreloc;
+ uint16_t s_nlnno;
+ uint32_t s_flags;
+} b_xcoff_scnhdr;
+
+#define _OVERFLOW_MARKER 65535
+
+#else /* BACKTRACE_XCOFF_SIZE != 32 */
+
+typedef struct {
+ char name[8];
+ uint64_t s_paddr;
+ uint64_t s_vaddr;
+ uint64_t s_size;
+ uint64_t s_scnptr;
+ uint64_t s_relptr;
+ uint64_t s_lnnoptr;
+ uint32_t s_nreloc;
+ uint32_t s_nlnno;
+ uint32_t s_flags;
+} b_xcoff_scnhdr;
+
+#endif /* BACKTRACE_XCOFF_SIZE != 32 */
+
+#define STYP_DWARF 0x10 /* DWARF debugging section. */
+#define STYP_TEXT 0x20 /* Executable text (code) section. */
+#define STYP_OVRFLO 0x8000 /* Line-number field overflow section. */
+
+#define SSUBTYP_DWINFO 0x10000 /* DWARF info section. */
+#define SSUBTYP_DWLINE 0x20000 /* DWARF line-number section. */
+#define SSUBTYP_DWARNGE 0x50000 /* DWARF aranges section. */
+#define SSUBTYP_DWABREV 0x60000 /* DWARF abbreviation section. */
+#define SSUBTYP_DWSTR 0x70000 /* DWARF strings section. */
+
+/* XCOFF symbol. */
+
+#define SYMNMLEN 8
+
+#if BACKTRACE_XCOFF_SIZE == 32
+
+typedef struct {
+ union {
+ char _name[SYMNMLEN];
+ struct {
+ uint32_t _zeroes;
+ uint32_t _offset;
+ } _s;
+ } _u;
+#define n_name _u._name
+#define n_zeroes _u._s._zeroes
+#define n_offset_ _u._s._offset
+
+ uint32_t n_value;
+ int16_t n_scnum;
+ uint16_t n_type;
+ uint8_t n_sclass;
+ uint8_t n_numaux;
+} __attribute__ ((packed)) b_xcoff_syment;
+
+#else /* BACKTRACE_XCOFF_SIZE != 32 */
+
+typedef struct {
+ uint64_t n_value;
+ uint32_t n_offset_;
+ int16_t n_scnum;
+ uint16_t n_type;
+ uint8_t n_sclass;
+ uint8_t n_numaux;
+} __attribute__ ((packed)) b_xcoff_syment;
+
+#endif /* BACKTRACE_XCOFF_SIZE != 32 */
+
+#define SYMESZ 18
+
+#define C_EXT 2 /* External symbol. */
+#define C_FCN 101 /* Beginning or end of function. */
+#define C_FILE 103 /* Source file name. */
+#define C_HIDEXT 107 /* Unnamed external symbol. */
+#define C_BINCL 108 /* Beginning of include file. */
+#define C_EINCL 109 /* End of include file. */
+#define C_WEAKEXT 111 /* Weak external symbol. */
+
+#define ISFCN(x) ((x) & 0x0020)
+
+/* XCOFF AUX entry. */
+
+#define AUXESZ 18
+#define FILNMLEN 14
+
+typedef union {
+#if BACKTRACE_XCOFF_SIZE == 32
+ struct {
+ uint16_t pad;
+ uint16_t x_lnnohi;
+ uint16_t x_lnno;
+ } x_block;
+#else
+ struct {
+ uint32_t x_lnno;
+ } x_block;
+#endif
+ union {
+ char x_fname[FILNMLEN];
+ struct {
+ uint32_t x_zeroes;
+ uint32_t x_offset;
+ char pad[FILNMLEN-8];
+ uint8_t x_ftype;
+ } _x;
+ } x_file;
+#if BACKTRACE_XCOFF_SIZE == 32
+ struct {
+ uint32_t x_exptr;
+ uint32_t x_fsize;
+ uint32_t x_lnnoptr;
+ uint32_t x_endndx;
+ } x_fcn;
+#else
+ struct {
+ uint64_t x_lnnoptr;
+ uint32_t x_fsize;
+ uint32_t x_endndx;
+ } x_fcn;
+#endif
+ struct {
+ uint8_t pad[AUXESZ-1];
+ uint8_t x_auxtype;
+ } x_auxtype;
+} __attribute__ ((packed)) b_xcoff_auxent;
+
+/* XCOFF line number entry. */
+
+#if BACKTRACE_XCOFF_SIZE == 32
+
+typedef struct {
+ union {
+ uint32_t l_symndx;
+ uint32_t l_paddr;
+ } l_addr;
+ uint16_t l_lnno;
+} b_xcoff_lineno;
+
+#define LINESZ 6
+
+#else /* BACKTRACE_XCOFF_SIZE != 32 */
+
+typedef struct {
+ union {
+ uint32_t l_symndx;
+ uint64_t l_paddr;
+ } l_addr;
+ uint32_t l_lnno;
+} b_xcoff_lineno;
+
+#define LINESZ 12
+
+#endif /* BACKTRACE_XCOFF_SIZE != 32 */
+
+#if BACKTRACE_XCOFF_SIZE == 32
+#define XCOFF_AIX_TEXTBASE 0x10000000u
+#else
+#define XCOFF_AIX_TEXTBASE 0x100000000ul
+#endif
+
+/* AIX big archive fixed-length header. */
+
+#define AIAMAGBIG "<bigaf>\n"
+
+typedef struct {
+ char fl_magic[8]; /* Archive magic string. */
+ char fl_memoff[20]; /* Offset to member table. */
+ char fl_gstoff[20]; /* Offset to global symbol table. */
+ char fl_gst64off[20]; /* Offset to global symbol table for 64-bit objects. */
+ char fl_fstmoff[20]; /* Offset to first archive member. */
+ char fl_freeoff[20]; /* Offset to first member on free list. */
+} b_ar_fl_hdr;
+
+/* AIX big archive file member header. */
+
+typedef struct {
+ char ar_size[20]; /* File member size - decimal. */
+ char ar_nxtmem[20]; /* Next member offset - decimal. */
+ char ar_prvmem[20]; /* Previous member offset - decimal. */
+ char ar_date[12]; /* File member date - decimal. */
+ char ar_uid[12]; /* File member userid - decimal. */
+ char ar_gid[12]; /* File member group id - decimal. */
+ char ar_mode[12]; /* File member mode - octal. */
+ char ar_namlen[4]; /* File member name length - decimal. */
+ char ar_name[2]; /* Start of member name. */
+} b_ar_hdr;
+
+
+/* Information we keep for an XCOFF symbol. */
+
+struct xcoff_symbol
+{
+ /* The name of the symbol. */
+ const char *name;
+ /* The address of the symbol. */
+ uintptr_t address;
+ /* The size of the symbol. */
+ size_t size;
+};
+
+/* Information to pass to xcoff_syminfo. */
+
+struct xcoff_syminfo_data
+{
+ /* Symbols for the next module. */
+ struct xcoff_syminfo_data *next;
+ /* The XCOFF symbols, sorted by address. */
+ struct xcoff_symbol *symbols;
+ /* The number of symbols. */
+ size_t count;
+};
+
+/* Information about an include file. */
+
+struct xcoff_incl
+{
+ /* File name. */
+ const char *filename;
+ /* Offset to first line number from the include file. */
+ uintptr_t begin;
+ /* Offset to last line number from the include file. */
+ uintptr_t end;
+};
+
+/* A growable vector of include files information. */
+
+struct xcoff_incl_vector
+{
+ /* Memory. This is an array of struct xcoff_incl. */
+ struct backtrace_vector vec;
+ /* Number of include files. */
+ size_t count;
+};
+
+/* Map a single PC value to a file/function/line. */
+
+struct xcoff_line
+{
+ /* PC. */
+ uintptr_t pc;
+ /* File name. Many entries in the array are expected to point to
+ the same file name. */
+ const char *filename;
+ /* Function name. */
+ const char *function;
+ /* Line number. */
+ int lineno;
+};
+
+/* A growable vector of line number information. This is used while
+ reading the line numbers. */
+
+struct xcoff_line_vector
+{
+ /* Memory. This is an array of struct xcoff_line. */
+ struct backtrace_vector vec;
+ /* Number of valid mappings. */
+ size_t count;
+};
+
+/* The information we need to map a PC to a file and line. */
+
+struct xcoff_fileline_data
+{
+ /* The data for the next file we know about. */
+ struct xcoff_fileline_data *next;
+ /* Line number information. */
+ struct xcoff_line_vector vec;
+};
+
+/* An index of DWARF sections we care about. */
+
+enum dwarf_section
+{
+ DWSECT_INFO,
+ DWSECT_LINE,
+ DWSECT_ABBREV,
+ DWSECT_RANGES,
+ DWSECT_STR,
+ DWSECT_MAX
+};
+
+/* Information we gather for the DWARF sections we care about. */
+
+struct dwsect_info
+{
+ /* Section file offset. */
+ off_t offset;
+ /* Section size. */
+ size_t size;
+ /* Section contents, after read from file. */
+ const unsigned char *data;
+};
+
+/* A dummy callback function used when we can't find any debug info. */
+
+static int
+xcoff_nodebug (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t pc ATTRIBUTE_UNUSED,
+ backtrace_full_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data, "no debug info in XCOFF executable", -1);
+ return 0;
+}
+
+/* A dummy callback function used when we can't find a symbol
+ table. */
+
+static void
+xcoff_nosyms (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ uintptr_t addr ATTRIBUTE_UNUSED,
+ backtrace_syminfo_callback callback ATTRIBUTE_UNUSED,
+ backtrace_error_callback error_callback, void *data)
+{
+ error_callback (data, "no symbol table in XCOFF executable", -1);
+}
+
+/* Compare struct xcoff_symbol for qsort. */
+
+static int
+xcoff_symbol_compare (const void *v1, const void *v2)
+{
+ const struct xcoff_symbol *e1 = (const struct xcoff_symbol *) v1;
+ const struct xcoff_symbol *e2 = (const struct xcoff_symbol *) v2;
+
+ if (e1->address < e2->address)
+ return -1;
+ else if (e1->address > e2->address)
+ return 1;
+ else
+ return 0;
+}
+
+/* Compare an ADDR against an xcoff_symbol for bsearch. */
+
+static int
+xcoff_symbol_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct xcoff_symbol *entry = (const struct xcoff_symbol *) ventry;
+ uintptr_t addr;
+
+ addr = *key;
+ if (addr < entry->address)
+ return -1;
+ else if ((entry->size == 0 && addr > entry->address)
+ || (entry->size > 0 && addr >= entry->address + entry->size))
+ return 1;
+ else
+ return 0;
+}
+
+/* Add XDATA to the list in STATE. */
+
+static void
+xcoff_add_syminfo_data (struct backtrace_state *state,
+ struct xcoff_syminfo_data *xdata)
+{
+ if (!state->threaded)
+ {
+ struct xcoff_syminfo_data **pp;
+
+ for (pp = (struct xcoff_syminfo_data **) (void *) &state->syminfo_data;
+ *pp != NULL;
+ pp = &(*pp)->next)
+ ;
+ *pp = xdata;
+ }
+ else
+ {
+ while (1)
+ {
+ struct xcoff_syminfo_data **pp;
+
+ pp = (struct xcoff_syminfo_data **) (void *) &state->syminfo_data;
+
+ while (1)
+ {
+ struct xcoff_syminfo_data *p;
+
+ p = backtrace_atomic_load_pointer (pp);
+
+ if (p == NULL)
+ break;
+
+ pp = &p->next;
+ }
+
+ if (__sync_bool_compare_and_swap (pp, NULL, xdata))
+ break;
+ }
+ }
+}
+
+/* Return the symbol name and value for an ADDR. */
+
+static void
+xcoff_syminfo (struct backtrace_state *state ATTRIBUTE_UNUSED, uintptr_t addr,
+ backtrace_syminfo_callback callback,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data)
+{
+ struct xcoff_syminfo_data *edata;
+ struct xcoff_symbol *sym = NULL;
+
+ if (!state->threaded)
+ {
+ for (edata = (struct xcoff_syminfo_data *) state->syminfo_data;
+ edata != NULL;
+ edata = edata->next)
+ {
+ sym = ((struct xcoff_symbol *)
+ bsearch (&addr, edata->symbols, edata->count,
+ sizeof (struct xcoff_symbol), xcoff_symbol_search));
+ if (sym != NULL)
+ break;
+ }
+ }
+ else
+ {
+ struct xcoff_syminfo_data **pp;
+
+ pp = (struct xcoff_syminfo_data **) (void *) &state->syminfo_data;
+ while (1)
+ {
+ edata = backtrace_atomic_load_pointer (pp);
+ if (edata == NULL)
+ break;
+
+ sym = ((struct xcoff_symbol *)
+ bsearch (&addr, edata->symbols, edata->count,
+ sizeof (struct xcoff_symbol), xcoff_symbol_search));
+ if (sym != NULL)
+ break;
+
+ pp = &edata->next;
+ }
+ }
+
+ if (sym == NULL)
+ callback (data, addr, NULL, 0, 0);
+ else
+ callback (data, addr, sym->name, sym->address, sym->size);
+}
+
+/* Return the name of an XCOFF symbol. */
+
+static const char *
+xcoff_symname (const b_xcoff_syment *asym,
+ const unsigned char *strtab, size_t strtab_size)
+{
+#if BACKTRACE_XCOFF_SIZE == 32
+ if (asym->n_zeroes != 0)
+ {
+ /* Make a copy as we will release the symtab view. */
+ char name[SYMNMLEN+1];
+ strncpy (name, asym->n_name, SYMNMLEN);
+ name[SYMNMLEN] = '\0';
+ return strdup (name);
+ }
+#endif
+ if (asym->n_sclass & 0x80)
+ return NULL; /* .debug */
+ if (asym->n_offset_ >= strtab_size)
+ return NULL;
+ return (const char *) strtab + asym->n_offset_;
+}
+
+/* Initialize the symbol table info for xcoff_syminfo. */
+
+static int
+xcoff_initialize_syminfo (struct backtrace_state *state,
+ uintptr_t base_address,
+ const b_xcoff_scnhdr *sects,
+ const b_xcoff_syment *syms, size_t nsyms,
+ const unsigned char *strtab, size_t strtab_size,
+ backtrace_error_callback error_callback, void *data,
+ struct xcoff_syminfo_data *sdata)
+{
+ size_t xcoff_symbol_count;
+ size_t xcoff_symbol_size;
+ struct xcoff_symbol *xcoff_symbols;
+ size_t i;
+ unsigned int j;
+
+ /* We only care about function symbols. Count them. */
+ xcoff_symbol_count = 0;
+ for (i = 0; i < nsyms; ++i)
+ {
+ const b_xcoff_syment *asym = &syms[i];
+ if ((asym->n_sclass == C_EXT || asym->n_sclass == C_HIDEXT
+ || asym->n_sclass == C_WEAKEXT)
+ && ISFCN (asym->n_type) && asym->n_numaux > 0 && asym->n_scnum > 0)
+ ++xcoff_symbol_count;
+
+ i += asym->n_numaux;
+ }
+
+ xcoff_symbol_size = xcoff_symbol_count * sizeof (struct xcoff_symbol);
+ xcoff_symbols = ((struct xcoff_symbol *)
+ backtrace_alloc (state, xcoff_symbol_size, error_callback,
+ data));
+ if (xcoff_symbols == NULL)
+ return 0;
+
+ j = 0;
+ for (i = 0; i < nsyms; ++i)
+ {
+ const b_xcoff_syment *asym = &syms[i];
+ if ((asym->n_sclass == C_EXT || asym->n_sclass == C_HIDEXT
+ || asym->n_sclass == C_WEAKEXT)
+ && ISFCN (asym->n_type) && asym->n_numaux > 0 && asym->n_scnum > 0)
+ {
+ const b_xcoff_auxent *aux = (const b_xcoff_auxent *) (asym + 1);
+ xcoff_symbols[j].name = xcoff_symname (asym, strtab, strtab_size);
+ xcoff_symbols[j].address = base_address + asym->n_value
+ - sects[asym->n_scnum - 1].s_paddr;
+ /* x_fsize will be 0 if there is no debug information. */
+ xcoff_symbols[j].size = aux->x_fcn.x_fsize;
+ ++j;
+ }
+
+ i += asym->n_numaux;
+ }
+
+ backtrace_qsort (xcoff_symbols, xcoff_symbol_count,
+ sizeof (struct xcoff_symbol), xcoff_symbol_compare);
+
+ sdata->next = NULL;
+ sdata->symbols = xcoff_symbols;
+ sdata->count = xcoff_symbol_count;
+
+ return 1;
+}
+
+/* Compare struct xcoff_line for qsort. */
+
+static int
+xcoff_line_compare (const void *v1, const void *v2)
+{
+ const struct xcoff_line *ln1 = (const struct xcoff_line *) v1;
+ const struct xcoff_line *ln2 = (const struct xcoff_line *) v2;
+
+ if (ln1->pc < ln2->pc)
+ return -1;
+ else if (ln1->pc > ln2->pc)
+ return 1;
+ else
+ return 0;
+}
+
+/* Find a PC in a line vector. We always allocate an extra entry at
+ the end of the lines vector, so that this routine can safely look
+ at the next entry. */
+
+static int
+xcoff_line_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct xcoff_line *entry = (const struct xcoff_line *) ventry;
+ uintptr_t pc;
+
+ pc = *key;
+ if (pc < entry->pc)
+ return -1;
+ else if ((entry + 1)->pc == (uintptr_t) -1 || pc >= (entry + 1)->pc)
+ return 1;
+ else
+ return 0;
+}
+
+/* Look for a PC in the line vector for one module. On success,
+ call CALLBACK and return whatever it returns. On error, call
+ ERROR_CALLBACK and return 0. Sets *FOUND to 1 if the PC is found,
+ 0 if not. */
+
+static int
+xcoff_lookup_pc (struct backtrace_state *state ATTRIBUTE_UNUSED,
+ struct xcoff_fileline_data *fdata, uintptr_t pc,
+ backtrace_full_callback callback,
+ backtrace_error_callback error_callback ATTRIBUTE_UNUSED,
+ void *data, int *found)
+{
+ const struct xcoff_line *ln;
+ const char *function;
+
+ *found = 1;
+
+ ln = (struct xcoff_line *) bsearch (&pc, fdata->vec.vec.base,
+ fdata->vec.count,
+ sizeof (struct xcoff_line),
+ xcoff_line_search);
+ if (ln == NULL)
+ {
+ *found = 0;
+ return 0;
+ }
+
+ function = ln->function;
+ /* AIX prepends a '.' to function entry points, remove it. */
+ if (*function == '.')
+ ++function;
+ return callback (data, pc, ln->filename, ln->lineno, function);
+}
+
+/* Return the file/line information for a PC using the XCOFF lineno
+ mapping we built earlier. */
+
+static int
+xcoff_fileline (struct backtrace_state *state, uintptr_t pc,
+ backtrace_full_callback callback,
+ backtrace_error_callback error_callback, void *data)
+
+{
+ struct xcoff_fileline_data *fdata;
+ int found;
+ int ret;
+
+ if (!state->threaded)
+ {
+ for (fdata = (struct xcoff_fileline_data *) state->fileline_data;
+ fdata != NULL;
+ fdata = fdata->next)
+ {
+ ret = xcoff_lookup_pc (state, fdata, pc, callback, error_callback,
+ data, &found);
+ if (ret != 0 || found)
+ return ret;
+ }
+ }
+ else
+ {
+ struct xcoff_fileline_data **pp;
+
+ pp = (struct xcoff_fileline_data **) (void *) &state->fileline_data;
+ while (1)
+ {
+ fdata = backtrace_atomic_load_pointer (pp);
+ if (fdata == NULL)
+ break;
+
+ ret = xcoff_lookup_pc (state, fdata, pc, callback, error_callback,
+ data, &found);
+ if (ret != 0 || found)
+ return ret;
+
+ pp = &fdata->next;
+ }
+ }
+
+ /* FIXME: See if any libraries have been dlopen'ed. */
+
+ return callback (data, pc, NULL, 0, NULL);
+}
+
+/* Compare struct xcoff_incl for qsort. */
+
+static int
+xcoff_incl_compare (const void *v1, const void *v2)
+{
+ const struct xcoff_incl *in1 = (const struct xcoff_incl *) v1;
+ const struct xcoff_incl *in2 = (const struct xcoff_incl *) v2;
+
+ if (in1->begin < in2->begin)
+ return -1;
+ else if (in1->begin > in2->begin)
+ return 1;
+ else
+ return 0;
+}
+
+/* Find a lnnoptr in an include file. */
+
+static int
+xcoff_incl_search (const void *vkey, const void *ventry)
+{
+ const uintptr_t *key = (const uintptr_t *) vkey;
+ const struct xcoff_incl *entry = (const struct xcoff_incl *) ventry;
+ uintptr_t lnno;
+
+ lnno = *key;
+ if (lnno < entry->begin)
+ return -1;
+ else if (lnno > entry->end)
+ return 1;
+ else
+ return 0;
+}
+
+/* Add a new mapping to the vector of line mappings that we are
+ building. Returns 1 on success, 0 on failure. */
+
+static int
+xcoff_add_line (struct backtrace_state *state, uintptr_t pc,
+ const char *filename, const char *function, uint32_t lnno,
+ backtrace_error_callback error_callback, void *data,
+ struct xcoff_line_vector *vec)
+{
+ struct xcoff_line *ln;
+
+ ln = ((struct xcoff_line *)
+ backtrace_vector_grow (state, sizeof (struct xcoff_line),
+ error_callback, data, &vec->vec));
+ if (ln == NULL)
+ return 0;
+
+ ln->pc = pc;
+ ln->filename = filename;
+ ln->function = function;
+ ln->lineno = lnno;
+
+ ++vec->count;
+
+ return 1;
+}
+
+/* Add the line number entries for a function to the line vector. */
+
+static int
+xcoff_process_linenos (struct backtrace_state *state, uintptr_t base_address,
+ const b_xcoff_syment *fsym, const char *filename,
+ const b_xcoff_scnhdr *sects,
+ const unsigned char *strtab, size_t strtab_size,
+ uint32_t fcn_lnno, struct xcoff_incl_vector *vec,
+ struct xcoff_line_vector *lvec,
+ const unsigned char *linenos, size_t linenos_size,
+ uintptr_t lnnoptr0,
+ backtrace_error_callback error_callback, void *data)
+{
+ const b_xcoff_auxent *aux;
+ const b_xcoff_lineno *lineno;
+ const unsigned char *lineptr;
+ const char *function;
+ struct xcoff_incl *incl = NULL;
+ uintptr_t lnnoptr;
+ uintptr_t pc;
+ uint32_t lnno;
+ int begincl;
+
+ aux = (const b_xcoff_auxent *) (fsym + 1);
+ lnnoptr = aux->x_fcn.x_lnnoptr;
+
+ if (lnnoptr < lnnoptr0 || lnnoptr + LINESZ > lnnoptr0 + linenos_size)
+ return 0;
+
+ function = xcoff_symname (fsym, strtab, strtab_size);
+ if (function == NULL)
+ return 0;
+
+ /* Skip first entry that points to symtab. */
+
+ lnnoptr += LINESZ;
+
+ lineptr = linenos + (lnnoptr - lnnoptr0);
+
+ begincl = -1;
+ while (lineptr + LINESZ <= linenos + linenos_size)
+ {
+ lineno = (const b_xcoff_lineno *) lineptr;
+
+ lnno = lineno->l_lnno;
+ if (lnno == 0)
+ break;
+
+ /* If part of a function other than the beginning comes from an
+ include file, the line numbers are absolute, rather than
+ relative to the beginning of the function. */
+ incl = (struct xcoff_incl *) bsearch (&lnnoptr, vec->vec.base,
+ vec->count,
+ sizeof (struct xcoff_incl),
+ xcoff_incl_search);
+ if (begincl == -1)
+ begincl = incl != NULL;
+ if (incl != NULL)
+ {
+ filename = incl->filename;
+ if (begincl == 1)
+ lnno += fcn_lnno - 1;
+ }
+ else
+ lnno += fcn_lnno - 1;
+
+ pc = base_address + lineno->l_addr.l_paddr
+ - sects[fsym->n_scnum - 1].s_paddr;
+ xcoff_add_line (state, pc, filename, function, lnno, error_callback,
+ data, lvec);
+
+ lnnoptr += LINESZ;
+ lineptr += LINESZ;
+ }
+
+ return 1;
+}
+
+/* Initialize the line vector info for xcoff_fileline. */
+
+static int
+xcoff_initialize_fileline (struct backtrace_state *state,
+ uintptr_t base_address,
+ const b_xcoff_scnhdr *sects,
+ const b_xcoff_syment *syms, size_t nsyms,
+ const unsigned char *strtab, size_t strtab_size,
+ const unsigned char *linenos, size_t linenos_size,
+ uint64_t lnnoptr0,
+ backtrace_error_callback error_callback, void *data)
+{
+ struct xcoff_fileline_data *fdata;
+ struct xcoff_incl_vector vec;
+ struct xcoff_line *ln;
+ const b_xcoff_syment *fsym;
+ const b_xcoff_auxent *aux;
+ const char *filename;
+ const char *name;
+ struct xcoff_incl *incl;
+ uintptr_t begin, end;
+ uintptr_t lnno;
+ size_t i;
+
+ fdata = ((struct xcoff_fileline_data *)
+ backtrace_alloc (state, sizeof (struct xcoff_fileline_data),
+ error_callback, data));
+ if (fdata == NULL)
+ return 0;
+
+ memset (fdata, 0, sizeof *fdata);
+ memset (&vec, 0, sizeof vec);
+
+ /* Process include files first. */
+
+ begin = 0;
+ for (i = 0; i < nsyms; ++i)
+ {
+ const b_xcoff_syment *asym = &syms[i];
+
+ switch (asym->n_sclass)
+ {
+ case C_BINCL:
+ begin = asym->n_value;
+ break;
+
+ case C_EINCL:
+ if (begin == 0)
+ break;
+ end = asym->n_value;
+ incl = ((struct xcoff_incl *)
+ backtrace_vector_grow (state, sizeof (struct xcoff_incl),
+ error_callback, data, &vec.vec));
+ if (incl != NULL)
+ {
+ incl->filename = xcoff_symname (asym, strtab, strtab_size);
+ incl->begin = begin;
+ incl->end = end;
+ ++vec.count;
+ }
+ begin = 0;
+ break;
+ }
+
+ i += asym->n_numaux;
+ }
+
+ backtrace_qsort (vec.vec.base, vec.count,
+ sizeof (struct xcoff_incl), xcoff_incl_compare);
+
+ filename = NULL;
+ fsym = NULL;
+ for (i = 0; i < nsyms; ++i)
+ {
+ const b_xcoff_syment *asym = &syms[i];
+
+ switch (asym->n_sclass)
+ {
+ case C_FILE:
+ filename = xcoff_symname (asym, strtab, strtab_size);
+ if (filename == NULL)
+ break;
+
+ /* If the file auxiliary entry is not used, the symbol name is
+ the name of the source file. If the file auxiliary entry is
+ used, then the symbol name should be .file, and the first
+ file auxiliary entry (by convention) contains the source
+ file name. */
+
+ if (asym->n_numaux > 0 && !strcmp (filename, ".file"))
+ {
+ aux = (const b_xcoff_auxent *) (asym + 1);
+ if (aux->x_file._x.x_zeroes != 0)
+ {
+ /* Make a copy as we will release the symtab view. */
+ char name[FILNMLEN+1];
+ strncpy (name, aux->x_file.x_fname, FILNMLEN);
+ name[FILNMLEN] = '\0';
+ filename = strdup (name);
+ }
+ else if (aux->x_file._x.x_offset < strtab_size)
+ filename = (const char *) strtab + aux->x_file._x.x_offset;
+ else
+ filename = NULL;
+ }
+ break;
+
+ case C_EXT:
+ case C_HIDEXT:
+ case C_WEAKEXT:
+ fsym = NULL;
+ if (!ISFCN (asym->n_type) || asym->n_numaux == 0)
+ break;
+ if (filename == NULL)
+ break;
+ fsym = asym;
+ break;
+
+ case C_FCN:
+ if (asym->n_numaux == 0)
+ break;
+ if (fsym == NULL)
+ break;
+ name = xcoff_symname (asym, strtab, strtab_size);
+ if (name == NULL)
+ break;
+ aux = (const b_xcoff_auxent *) (asym + 1);
+#if BACKTRACE_XCOFF_SIZE == 32
+ lnno = (uint32_t) aux->x_block.x_lnnohi << 16
+ | aux->x_block.x_lnno;
+#else
+ lnno = aux->x_block.x_lnno;
+#endif
+ if (!strcmp (name, ".bf"))
+ {
+ xcoff_process_linenos (state, base_address, fsym, filename,
+ sects, strtab, strtab_size, lnno, &vec,
+ &fdata->vec, linenos, linenos_size,
+ lnnoptr0, error_callback, data);
+ }
+ else if (!strcmp (name, ".ef"))
+ {
+ fsym = NULL;
+ }
+ break;
+ }
+
+ i += asym->n_numaux;
+ }
+
+ /* Allocate one extra entry at the end. */
+ ln = ((struct xcoff_line *)
+ backtrace_vector_grow (state, sizeof (struct xcoff_line),
+ error_callback, data, &fdata->vec.vec));
+ if (ln == NULL)
+ goto fail;
+ ln->pc = (uintptr_t) -1;
+ ln->filename = NULL;
+ ln->function = NULL;
+ ln->lineno = 0;
+
+ if (!backtrace_vector_release (state, &fdata->vec.vec, error_callback, data))
+ goto fail;
+
+ backtrace_qsort (fdata->vec.vec.base, fdata->vec.count,
+ sizeof (struct xcoff_line), xcoff_line_compare);
+
+ if (!state->threaded)
+ {
+ struct xcoff_fileline_data **pp;
+
+ for (pp = (struct xcoff_fileline_data **) (void *) &state->fileline_data;
+ *pp != NULL;
+ pp = &(*pp)->next)
+ ;
+ *pp = fdata;
+ }
+ else
+ {
+ while (1)
+ {
+ struct xcoff_fileline_data **pp;
+
+ pp = (struct xcoff_fileline_data **) (void *) &state->fileline_data;
+
+ while (1)
+ {
+ struct xcoff_fileline_data *p;
+
+ p = backtrace_atomic_load_pointer (pp);
+
+ if (p == NULL)
+ break;
+
+ pp = &p->next;
+ }
+
+ if (__sync_bool_compare_and_swap (pp, NULL, fdata))
+ break;
+ }
+ }
+
+ return 1;
+
+fail:
+ return 0;
+}
+
+/* Add the backtrace data for one XCOFF file. Returns 1 on success,
+ 0 on failure (in both cases descriptor is closed). */
+
+static int
+xcoff_add (struct backtrace_state *state, int descriptor, off_t offset,
+ uintptr_t base_address, backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn, int *found_sym, int exe)
+{
+ struct backtrace_view fhdr_view;
+ struct backtrace_view sects_view;
+ struct backtrace_view linenos_view;
+ struct backtrace_view syms_view;
+ struct backtrace_view str_view;
+ struct backtrace_view dwarf_view;
+ b_xcoff_filhdr fhdr;
+ const b_xcoff_scnhdr *sects;
+ const b_xcoff_scnhdr *stext;
+ uint64_t lnnoptr;
+ uint32_t nlnno;
+ off_t str_off;
+ off_t min_offset;
+ off_t max_offset;
+ struct dwsect_info dwsect[DWSECT_MAX];
+ size_t sects_size;
+ size_t syms_size;
+ int32_t str_size;
+ int sects_view_valid;
+ int linenos_view_valid;
+ int syms_view_valid;
+ int str_view_valid;
+ int dwarf_view_valid;
+ int magic_ok;
+ int i;
+
+ *found_sym = 0;
+
+ sects_view_valid = 0;
+ linenos_view_valid = 0;
+ syms_view_valid = 0;
+ str_view_valid = 0;
+ dwarf_view_valid = 0;
+
+ str_size = 0;
+
+ /* Map the XCOFF file header. */
+ if (!backtrace_get_view (state, descriptor, offset, sizeof (b_xcoff_filhdr),
+ error_callback, data, &fhdr_view))
+ goto fail;
+
+ memcpy (&fhdr, fhdr_view.data, sizeof fhdr);
+ magic_ok = (fhdr.f_magic == XCOFF_MAGIC);
+
+ backtrace_release_view (state, &fhdr_view, error_callback, data);
+
+ if (!magic_ok)
+ {
+ if (exe)
+ error_callback (data, "executable file is not XCOFF", 0);
+ goto fail;
+ }
+
+ /* Verify object is of expected type. */
+ if ((exe && (fhdr.f_flags & F_SHROBJ))
+ || (!exe && !(fhdr.f_flags & F_SHROBJ)))
+ goto fail;
+
+ /* Read the section headers. */
+
+ sects_size = fhdr.f_nscns * sizeof (b_xcoff_scnhdr);
+
+ if (!backtrace_get_view (state, descriptor,
+ offset + sizeof (fhdr) + fhdr.f_opthdr,
+ sects_size, error_callback, data, &sects_view))
+ goto fail;
+ sects_view_valid = 1;
+ sects = (const b_xcoff_scnhdr *) sects_view.data;
+
+ /* FIXME: assumes only one .text section. */
+ for (i = 0; i < fhdr.f_nscns; ++i)
+ if ((sects[i].s_flags & 0xffff) == STYP_TEXT)
+ break;
+ if (i == fhdr.f_nscns)
+ goto fail;
+
+ stext = &sects[i];
+
+ /* AIX ldinfo_textorg includes the XCOFF headers. */
+ base_address = (exe ? XCOFF_AIX_TEXTBASE : base_address) + stext->s_scnptr;
+
+ lnnoptr = stext->s_lnnoptr;
+ nlnno = stext->s_nlnno;
+
+#if BACKTRACE_XCOFF_SIZE == 32
+ if (nlnno == _OVERFLOW_MARKER)
+ {
+ int sntext = i + 1;
+ /* Find the matching .ovrflo section. */
+ for (i = 0; i < fhdr.f_nscns; ++i)
+ {
+ if (((sects[i].s_flags & 0xffff) == STYP_OVRFLO)
+ && sects[i].s_nlnno == sntext)
+ {
+ nlnno = sects[i].s_vaddr;
+ break;
+ }
+ }
+ }
+#endif
+
+ /* Read the symbol table and the string table. */
+
+ if (fhdr.f_symptr != 0)
+ {
+ struct xcoff_syminfo_data *sdata;
+
+ /* Symbol table is followed by the string table. The string table
+ starts with its length (on 4 bytes).
+ Map the symbol table and the length of the string table. */
+ syms_size = fhdr.f_nsyms * sizeof (b_xcoff_syment);
+
+ if (!backtrace_get_view (state, descriptor, offset + fhdr.f_symptr,
+ syms_size + 4, error_callback, data,
+ &syms_view))
+ goto fail;
+ syms_view_valid = 1;
+
+ memcpy (&str_size, syms_view.data + syms_size, 4);
+
+ str_off = fhdr.f_symptr + syms_size;
+
+ if (str_size > 4)
+ {
+ /* Map string table (including the length word). */
+
+ if (!backtrace_get_view (state, descriptor, offset + str_off,
+ str_size, error_callback, data, &str_view))
+ goto fail;
+ str_view_valid = 1;
+ }
+
+ sdata = ((struct xcoff_syminfo_data *)
+ backtrace_alloc (state, sizeof *sdata, error_callback, data));
+ if (sdata == NULL)
+ goto fail;
+
+ if (!xcoff_initialize_syminfo (state, base_address, sects,
+ syms_view.data, fhdr.f_nsyms,
+ str_view.data, str_size,
+ error_callback, data, sdata))
+ {
+ backtrace_free (state, sdata, sizeof *sdata, error_callback, data);
+ goto fail;
+ }
+
+ *found_sym = 1;
+
+ xcoff_add_syminfo_data (state, sdata);
+ }
+
+ /* Read all the DWARF sections in a single view, since they are
+ probably adjacent in the file. We never release this view. */
+
+ min_offset = 0;
+ max_offset = 0;
+ memset (dwsect, 0, sizeof dwsect);
+ for (i = 0; i < fhdr.f_nscns; ++i)
+ {
+ off_t end;
+ int idx;
+
+ if ((sects[i].s_flags & 0xffff) != STYP_DWARF
+ || sects[i].s_size == 0)
+ continue;
+ /* Map DWARF section to array index. */
+ switch (sects[i].s_flags & 0xffff0000)
+ {
+ case SSUBTYP_DWINFO:
+ idx = DWSECT_INFO;
+ break;
+ case SSUBTYP_DWLINE:
+ idx = DWSECT_LINE;
+ break;
+ case SSUBTYP_DWABREV:
+ idx = DWSECT_ABBREV;
+ break;
+ case SSUBTYP_DWARNGE:
+ idx = DWSECT_RANGES;
+ break;
+ case SSUBTYP_DWSTR:
+ idx = DWSECT_STR;
+ break;
+ default:
+ continue;
+ }
+ if (min_offset == 0 || (off_t) sects[i].s_scnptr < min_offset)
+ min_offset = sects[i].s_scnptr;
+ end = sects[i].s_scnptr + sects[i].s_size;
+ if (end > max_offset)
+ max_offset = end;
+ dwsect[idx].offset = sects[i].s_scnptr;
+ dwsect[idx].size = sects[i].s_size;
+ }
+ if (min_offset != 0 && max_offset != 0)
+ {
+ if (!backtrace_get_view (state, descriptor, offset + min_offset,
+ max_offset - min_offset,
+ error_callback, data, &dwarf_view))
+ goto fail;
+ dwarf_view_valid = 1;
+
+ for (i = 0; i < (int) DWSECT_MAX; ++i)
+ {
+ if (dwsect[i].offset == 0)
+ dwsect[i].data = NULL;
+ else
+ dwsect[i].data = ((const unsigned char *) dwarf_view.data
+ + (dwsect[i].offset - min_offset));
+ }
+
+ if (!backtrace_dwarf_add (state, 0,
+ dwsect[DWSECT_INFO].data,
+ dwsect[DWSECT_INFO].size,
+#if BACKTRACE_XCOFF_SIZE == 32
+ /* XXX workaround for broken lineoff */
+ dwsect[DWSECT_LINE].data - 4,
+#else
+ /* XXX workaround for broken lineoff */
+ dwsect[DWSECT_LINE].data - 12,
+#endif
+ dwsect[DWSECT_LINE].size,
+ dwsect[DWSECT_ABBREV].data,
+ dwsect[DWSECT_ABBREV].size,
+ dwsect[DWSECT_RANGES].data,
+ dwsect[DWSECT_RANGES].size,
+ dwsect[DWSECT_STR].data,
+ dwsect[DWSECT_STR].size,
+ 1, /* big endian */
+ error_callback, data, fileline_fn))
+ goto fail;
+ }
+
+ /* Read the XCOFF line number entries if DWARF sections not found. */
+
+ if (!dwarf_view_valid && fhdr.f_symptr != 0 && lnnoptr != 0)
+ {
+ size_t linenos_size = (size_t) nlnno * LINESZ;
+
+ if (!backtrace_get_view (state, descriptor, offset + lnnoptr,
+ linenos_size,
+ error_callback, data, &linenos_view))
+ goto fail;
+ linenos_view_valid = 1;
+
+ if (xcoff_initialize_fileline (state, base_address, sects,
+ syms_view.data, fhdr.f_nsyms,
+ str_view.data, str_size,
+ linenos_view.data, linenos_size,
+ lnnoptr, error_callback, data))
+ *fileline_fn = xcoff_fileline;
+
+ backtrace_release_view (state, &linenos_view, error_callback, data);
+ linenos_view_valid = 0;
+ }
+
+ backtrace_release_view (state, &sects_view, error_callback, data);
+ sects_view_valid = 0;
+ if (syms_view_valid)
+ backtrace_release_view (state, &syms_view, error_callback, data);
+ syms_view_valid = 0;
+
+ /* We've read all we need from the executable. */
+ if (!backtrace_close (descriptor, error_callback, data))
+ goto fail;
+ descriptor = -1;
+
+ return 1;
+
+ fail:
+ if (sects_view_valid)
+ backtrace_release_view (state, &sects_view, error_callback, data);
+ if (str_view_valid)
+ backtrace_release_view (state, &str_view, error_callback, data);
+ if (syms_view_valid)
+ backtrace_release_view (state, &syms_view, error_callback, data);
+ if (linenos_view_valid)
+ backtrace_release_view (state, &linenos_view, error_callback, data);
+ if (dwarf_view_valid)
+ backtrace_release_view (state, &dwarf_view, error_callback, data);
+ if (descriptor != -1 && offset == 0)
+ backtrace_close (descriptor, error_callback, data);
+ return 0;
+}
+
+#ifdef HAVE_LOADQUERY
+
+/* Read an integer value in human-readable format from an AIX
+ big archive fixed-length or member header. */
+
+static int
+xcoff_parse_decimal (const char *buf, size_t size, off_t *off)
+{
+ char str[32];
+ char *end;
+
+ if (size >= sizeof str)
+ return 0;
+ memcpy (str, buf, size);
+ str[size] = '\0';
+ *off = strtol (str, &end, 10);
+ if (*end != '\0' && *end != ' ')
+ return 0;
+
+ return 1;
+}
+
+/* Add the backtrace data for a member of an AIX big archive.
+ Returns 1 on success, 0 on failure. */
+
+static int
+xcoff_armem_add (struct backtrace_state *state, int descriptor,
+ uintptr_t base_address, const char *member,
+ backtrace_error_callback error_callback, void *data,
+ fileline *fileline_fn, int *found_sym)
+{
+ struct backtrace_view view;
+ b_ar_fl_hdr fl_hdr;
+ const b_ar_hdr *ar_hdr;
+ off_t off;
+ off_t len;
+ int memlen;
+
+ *found_sym = 0;
+
+ /* Map archive fixed-length header. */
+
+ if (!backtrace_get_view (state, descriptor, 0, sizeof (b_ar_fl_hdr),
+ error_callback, data, &view))
+ goto fail;
+
+ memcpy (&fl_hdr, view.data, sizeof (b_ar_fl_hdr));
+
+ backtrace_release_view (state, &view, error_callback, data);
+
+ if (memcmp (fl_hdr.fl_magic, AIAMAGBIG, 8) != 0)
+ goto fail;
+
+ memlen = strlen (member);
+
+ /* Read offset of first archive member. */
+ if (!xcoff_parse_decimal (fl_hdr.fl_fstmoff, sizeof fl_hdr.fl_fstmoff, &off))
+ goto fail;
+ while (off != 0)
+ {
+ /* Map archive member header and member name. */
+
+ if (!backtrace_get_view (state, descriptor, off,
+ sizeof (b_ar_hdr) + memlen,
+ error_callback, data, &view))
+ break;
+
+ ar_hdr = (const b_ar_hdr *) view.data;
+
+ /* Read archive member name length. */
+ if (!xcoff_parse_decimal (ar_hdr->ar_namlen, sizeof ar_hdr->ar_namlen,
+ &len))
+ {
+ backtrace_release_view (state, &view, error_callback, data);
+ break;
+ }
+ if (len == memlen && !memcmp (ar_hdr->ar_name, member, memlen))
+ {
+ off = (off + sizeof (b_ar_hdr) + memlen + 1) & ~1;
+
+ /* The archive can contain several members with the same name
+ (e.g. 32-bit and 64-bit), so continue if not ok. */
+
+ if (xcoff_add (state, descriptor, off, base_address, error_callback,
+ data, fileline_fn, found_sym, 0))
+ {
+ backtrace_release_view (state, &view, error_callback, data);
+ return 1;
+ }
+ }
+
+ /* Read offset of next archive member. */
+ if (!xcoff_parse_decimal (ar_hdr->ar_nxtmem, sizeof ar_hdr->ar_nxtmem,
+ &off))
+ {
+ backtrace_release_view (state, &view, error_callback, data);
+ break;
+ }
+ backtrace_release_view (state, &view, error_callback, data);
+ }
+
+ fail:
+ /* No matching member found. */
+ backtrace_close (descriptor, error_callback, data);
+ return 0;
+}
+
+/* Add the backtrace data for dynamically loaded libraries. */
+
+static void
+xcoff_add_shared_libs (struct backtrace_state *state,
+ backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn, int *found_sym)
+{
+ const struct ld_info *ldinfo;
+ void *buf;
+ unsigned int buflen;
+ const char *member;
+ int descriptor;
+ int does_not_exist;
+ int lib_found_sym;
+ int ret;
+
+ /* Retrieve the list of loaded libraries. */
+
+ buf = NULL;
+ buflen = 512;
+ do
+ {
+ buf = realloc (buf, buflen);
+ if (buf == NULL)
+ {
+ ret = -1;
+ break;
+ }
+ ret = loadquery (L_GETINFO, buf, buflen);
+ if (ret == 0)
+ break;
+ buflen *= 2;
+ }
+ while (ret == -1 && errno == ENOMEM);
+ if (ret != 0)
+ {
+ free (buf);
+ return;
+ }
+
+ ldinfo = (const struct ld_info *) buf;
+ while ((const char *) ldinfo < (const char *) buf + buflen)
+ {
+ if (*ldinfo->ldinfo_filename != '/')
+ goto next;
+
+ descriptor = backtrace_open (ldinfo->ldinfo_filename, error_callback,
+ data, &does_not_exist);
+ if (descriptor < 0)
+ goto next;
+
+ /* Check if it is an archive (member name not empty). */
+
+ member = ldinfo->ldinfo_filename + strlen (ldinfo->ldinfo_filename) + 1;
+ if (*member)
+ {
+ xcoff_armem_add (state, descriptor,
+ (uintptr_t) ldinfo->ldinfo_textorg, member,
+ error_callback, data, fileline_fn, &lib_found_sym);
+ }
+ else
+ {
+ xcoff_add (state, descriptor, 0, (uintptr_t) ldinfo->ldinfo_textorg,
+ error_callback, data, fileline_fn, &lib_found_sym, 0);
+ }
+ if (lib_found_sym)
+ *found_sym = 1;
+
+ next:
+ if (ldinfo->ldinfo_next == 0)
+ break;
+ ldinfo = (const struct ld_info *) ((const char *) ldinfo
+ + ldinfo->ldinfo_next);
+ }
+
+ free (buf);
+}
+#endif /* HAVE_LOADQUERY */
+
+/* Initialize the backtrace data we need from an XCOFF executable.
+ Returns 1 on success, 0 on failure. */
+
+int
+backtrace_initialize (struct backtrace_state *state,
+ const char *filename ATTRIBUTE_UNUSED, int descriptor,
+ backtrace_error_callback error_callback,
+ void *data, fileline *fileline_fn)
+{
+ int ret;
+ int found_sym;
+ fileline xcoff_fileline_fn = xcoff_nodebug;
+
+ ret = xcoff_add (state, descriptor, 0, 0, error_callback, data,
+ &xcoff_fileline_fn, &found_sym, 1);
+ if (!ret)
+ return 0;
+
+#ifdef HAVE_LOADQUERY
+ xcoff_add_shared_libs (state, error_callback, data, &xcoff_fileline_fn,
+ &found_sym);
+#endif
+
+ if (!state->threaded)
+ {
+ if (found_sym)
+ state->syminfo_fn = xcoff_syminfo;
+ else if (state->syminfo_fn == NULL)
+ state->syminfo_fn = xcoff_nosyms;
+ }
+ else
+ {
+ if (found_sym)
+ backtrace_atomic_store_pointer (&state->syminfo_fn, xcoff_syminfo);
+ else
+ __sync_bool_compare_and_swap (&state->syminfo_fn, NULL, xcoff_nosyms);
+ }
+
+ if (!state->threaded)
+ {
+ if (state->fileline_fn == NULL || state->fileline_fn == xcoff_nodebug)
+ *fileline_fn = xcoff_fileline_fn;
+ }
+ else
+ {
+ fileline current_fn;
+
+ current_fn = backtrace_atomic_load_pointer (&state->fileline_fn);
+ if (current_fn == NULL || current_fn == xcoff_nodebug)
+ *fileline_fn = xcoff_fileline_fn;
+ }
+
+ return 1;
+}
diff --git a/3rdparty/libbacktrace/ztest.c b/3rdparty/libbacktrace/ztest.c
new file mode 100644
index 000000000..9cd712a1e
--- /dev/null
+++ b/3rdparty/libbacktrace/ztest.c
@@ -0,0 +1,537 @@
+/* ztest.c -- Test for libbacktrace inflate code.
+ Copyright (C) 2017-2018 Free Software Foundation, Inc.
+ Written by Ian Lance Taylor, Google.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ (1) Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ (2) Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ (3) The name of the author may not be used to
+ endorse or promote products derived from this software without
+ specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE. */
+
+#include "config.h"
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#ifdef HAVE_ZLIB
+#include <zlib.h>
+#endif
+
+#include "backtrace.h"
+#include "backtrace-supported.h"
+
+#include "internal.h"
+#include "testlib.h"
+
+#ifndef HAVE_CLOCK_GETTIME
+
+typedef int xclockid_t;
+
+static int
+xclock_gettime (xclockid_t id ATTRIBUTE_UNUSED,
+ struct timespec *ts ATTRIBUTE_UNUSED)
+{
+ errno = EINVAL;
+ return -1;
+}
+
+#define clockid_t xclockid_t
+#define clock_gettime xclock_gettime
+#undef CLOCK_REALTIME
+#define CLOCK_REALTIME 0
+
+#endif /* !defined(HAVE_CLOCK_GETTIME) */
+
+#ifdef CLOCK_PROCESS_CPUTIME_ID
+#define ZLIB_CLOCK_GETTIME_ARG CLOCK_PROCESS_CPUTIME_ID
+#else
+#define ZLIB_CLOCK_GETTIME_ARG CLOCK_REALTIME
+#endif
+
+/* Some tests for the local zlib inflation code. */
+
+struct zlib_test
+{
+ const char *name;
+ const char *uncompressed;
+ size_t uncompressed_len;
+ const char *compressed;
+ size_t compressed_len;
+};
+
+/* Error callback. */
+
+static void
+error_callback_compress (void *vdata, const char *msg, int errnum)
+{
+ fprintf (stderr, "%s", msg);
+ if (errnum > 0)
+ fprintf (stderr, ": %s", strerror (errnum));
+ fprintf (stderr, "\n");
+ exit (EXIT_FAILURE);
+}
+
+static const struct zlib_test tests[] =
+{
+ {
+ "empty",
+ "",
+ 0,
+ "\x78\x9c\x03\x00\x00\x00\x00\x01",
+ 8,
+ },
+ {
+ "hello",
+ "hello, world\n",
+ 0,
+ ("\x78\x9c\xca\x48\xcd\xc9\xc9\xd7\x51\x28\xcf"
+ "\x2f\xca\x49\xe1\x02\x04\x00\x00\xff\xff\x21\xe7\x04\x93"),
+ 25,
+ },
+ {
+ "goodbye",
+ "goodbye, world",
+ 0,
+ ("\x78\x9c\x4b\xcf\xcf\x4f\x49\xaa"
+ "\x4c\xd5\x51\x28\xcf\x2f\xca\x49"
+ "\x01\x00\x28\xa5\x05\x5e"),
+ 22,
+ },
+ {
+ "ranges",
+ ("\xcc\x11\x00\x00\x00\x00\x00\x00\xd5\x13\x00\x00\x00\x00\x00\x00"
+ "\x1c\x14\x00\x00\x00\x00\x00\x00\x72\x14\x00\x00\x00\x00\x00\x00"
+ "\x9d\x14\x00\x00\x00\x00\x00\x00\xd5\x14\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\xfb\x12\x00\x00\x00\x00\x00\x00\x09\x13\x00\x00\x00\x00\x00\x00"
+ "\x0c\x13\x00\x00\x00\x00\x00\x00\xcb\x13\x00\x00\x00\x00\x00\x00"
+ "\x29\x14\x00\x00\x00\x00\x00\x00\x4e\x14\x00\x00\x00\x00\x00\x00"
+ "\x9d\x14\x00\x00\x00\x00\x00\x00\xd5\x14\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\xfb\x12\x00\x00\x00\x00\x00\x00\x09\x13\x00\x00\x00\x00\x00\x00"
+ "\x67\x13\x00\x00\x00\x00\x00\x00\xcb\x13\x00\x00\x00\x00\x00\x00"
+ "\x9d\x14\x00\x00\x00\x00\x00\x00\xd5\x14\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x5f\x0b\x00\x00\x00\x00\x00\x00\x6c\x0b\x00\x00\x00\x00\x00\x00"
+ "\x7d\x0b\x00\x00\x00\x00\x00\x00\x7e\x0c\x00\x00\x00\x00\x00\x00"
+ "\x38\x0f\x00\x00\x00\x00\x00\x00\x5c\x0f\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x83\x0c\x00\x00\x00\x00\x00\x00\xfa\x0c\x00\x00\x00\x00\x00\x00"
+ "\xfd\x0d\x00\x00\x00\x00\x00\x00\xef\x0e\x00\x00\x00\x00\x00\x00"
+ "\x14\x0f\x00\x00\x00\x00\x00\x00\x38\x0f\x00\x00\x00\x00\x00\x00"
+ "\x9f\x0f\x00\x00\x00\x00\x00\x00\xac\x0f\x00\x00\x00\x00\x00\x00"
+ "\xdb\x0f\x00\x00\x00\x00\x00\x00\xff\x0f\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\xfd\x0d\x00\x00\x00\x00\x00\x00\xd8\x0e\x00\x00\x00\x00\x00\x00"
+ "\x9f\x0f\x00\x00\x00\x00\x00\x00\xac\x0f\x00\x00\x00\x00\x00\x00"
+ "\xdb\x0f\x00\x00\x00\x00\x00\x00\xff\x0f\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\xfa\x0c\x00\x00\x00\x00\x00\x00\xea\x0d\x00\x00\x00\x00\x00\x00"
+ "\xef\x0e\x00\x00\x00\x00\x00\x00\x14\x0f\x00\x00\x00\x00\x00\x00"
+ "\x5c\x0f\x00\x00\x00\x00\x00\x00\x9f\x0f\x00\x00\x00\x00\x00\x00"
+ "\xac\x0f\x00\x00\x00\x00\x00\x00\xdb\x0f\x00\x00\x00\x00\x00\x00"
+ "\xff\x0f\x00\x00\x00\x00\x00\x00\x2c\x10\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x60\x11\x00\x00\x00\x00\x00\x00\xd1\x16\x00\x00\x00\x00\x00\x00"
+ "\x40\x0b\x00\x00\x00\x00\x00\x00\x2c\x10\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x7a\x00\x00\x00\x00\x00\x00\x00\xb6\x00\x00\x00\x00\x00\x00\x00"
+ "\x9f\x01\x00\x00\x00\x00\x00\x00\xa7\x01\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
+ "\x7a\x00\x00\x00\x00\x00\x00\x00\xa9\x00\x00\x00\x00\x00\x00\x00"
+ "\x9f\x01\x00\x00\x00\x00\x00\x00\xa7\x01\x00\x00\x00\x00\x00\x00"
+ "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"),
+ 672,
+ ("\x78\x9c\x3b\x23\xc8\x00\x06\x57\x85\x21\xb4\x8c\x08\x84\x2e\x82"
+ "\xd2\x73\xa1\xf4\x55\x28\x8d\x0e\x7e\x0b\x41\x68\x4e\xa8\x7e\x1e"
+ "\x28\x7d\x1a\x4a\x6b\x42\xf5\xf9\x91\x69\x5e\x3a\x9a\x79\x84\xf4"
+ "\xc7\x73\x43\xe8\x1c\x28\x5d\x0b\xa5\xeb\x78\x20\xb4\x05\x3f\x84"
+ "\x8e\xe1\xc7\xae\xbf\x19\xaa\xee\x17\x94\xfe\xcb\x0b\xa1\xdf\xf3"
+ "\x41\x68\x11\x7e\x54\x73\xe6\x43\xe9\x35\x50\xfa\x36\x94\xfe\x8f"
+ "\xc3\x7c\x98\x79\x37\xf8\xc8\xd3\x0f\x73\xd7\x2b\x1c\xee\x8a\x21"
+ "\xd2\x5d\x3a\x02\xd8\xcd\x4f\x80\xa6\x87\x8b\x62\x10\xda\x81\x1b"
+ "\xbf\xfa\x2a\x28\xbd\x0d\x4a\xcf\x67\x84\xd0\xcb\x19\xf1\xab\x5f"
+ "\x49\xa4\x7a\x00\x48\x97\x29\xd4"),
+ 152,
+ }
+};
+
+/* Test the hand coded samples. */
+
+static void
+test_samples (struct backtrace_state *state)
+{
+ size_t i;
+
+ for (i = 0; i < sizeof tests / sizeof tests[0]; ++i)
+ {
+ char *p;
+ size_t v;
+ size_t j;
+ unsigned char *uncompressed;
+ size_t uncompressed_len;
+
+ p = malloc (12 + tests[i].compressed_len);
+ memcpy (p, "ZLIB", 4);
+ v = tests[i].uncompressed_len;
+ if (v == 0)
+ v = strlen (tests[i].uncompressed);
+ for (j = 0; j < 8; ++j)
+ p[j + 4] = (v >> ((7 - j) * 8)) & 0xff;
+ memcpy (p + 12, tests[i].compressed, tests[i].compressed_len);
+ uncompressed = NULL;
+ uncompressed_len = 0;
+ if (!backtrace_uncompress_zdebug (state, (unsigned char *) p,
+ tests[i].compressed_len + 12,
+ error_callback_compress, NULL,
+ &uncompressed, &uncompressed_len))
+ {
+ fprintf (stderr, "test %s: uncompress failed\n", tests[i].name);
+ ++failures;
+ }
+ else
+ {
+ if (uncompressed_len != v)
+ {
+ fprintf (stderr,
+ "test %s: got uncompressed length %zu, want %zu\n",
+ tests[i].name, uncompressed_len, v);
+ ++failures;
+ }
+ else if (memcmp (tests[i].uncompressed, uncompressed, v) != 0)
+ {
+ size_t j;
+
+ fprintf (stderr, "test %s: uncompressed data mismatch\n",
+ tests[i].name);
+ for (j = 0; j < v; ++j)
+ if (tests[i].uncompressed[j] != uncompressed[j])
+ fprintf (stderr, " %zu: got %#x want %#x\n", j,
+ uncompressed[j], tests[i].uncompressed[j]);
+ ++failures;
+ }
+ else
+ printf ("PASS: inflate %s\n", tests[i].name);
+
+ backtrace_free (state, uncompressed, uncompressed_len,
+ error_callback_compress, NULL);
+ }
+ }
+}
+
+#ifdef HAVE_ZLIB
+
+/* Given a set of TRIALS timings, discard the lowest and highest
+ values and return the mean average of the rest. */
+
+static size_t
+average_time (const size_t *times, size_t trials)
+{
+ size_t imax;
+ size_t max;
+ size_t imin;
+ size_t min;
+ size_t i;
+ size_t sum;
+
+ imin = 0;
+ imax = 0;
+ min = times[0];
+ max = times[0];
+ for (i = 1; i < trials; ++i)
+ {
+ if (times[i] < min)
+ {
+ imin = i;
+ min = times[i];
+ }
+ if (times[i] > max)
+ {
+ imax = i;
+ max = times[i];
+ }
+ }
+
+ sum = 0;
+ for (i = 0; i < trials; ++i)
+ {
+ if (i != imax && i != imin)
+ sum += times[i];
+ }
+ return sum / (trials - 2);
+}
+
+#endif
+
+/* Test a larger text, if available. */
+
+static void
+test_large (struct backtrace_state *state)
+{
+#ifdef HAVE_ZLIB
+ unsigned char *orig_buf;
+ size_t orig_bufsize;
+ size_t i;
+ char *compressed_buf;
+ size_t compressed_bufsize;
+ unsigned long compress_sizearg;
+ unsigned char *uncompressed_buf;
+ size_t uncompressed_bufsize;
+ int r;
+ clockid_t cid;
+ struct timespec ts1;
+ struct timespec ts2;
+ size_t ctime;
+ size_t ztime;
+ const size_t trials = 16;
+ size_t ctimes[16];
+ size_t ztimes[16];
+ static const char * const names[] = {
+ "Mark.Twain-Tom.Sawyer.txt",
+ "../libgo/go/compress/testdata/Mark.Twain-Tom.Sawyer.txt"
+ };
+
+ orig_buf = NULL;
+ orig_bufsize = 0;
+ uncompressed_buf = NULL;
+ compressed_buf = NULL;
+
+ for (i = 0; i < sizeof names / sizeof names[0]; ++i)
+ {
+ size_t len;
+ char *namebuf;
+ FILE *e;
+ struct stat st;
+ char *rbuf;
+ size_t got;
+
+ len = strlen (SRCDIR) + strlen (names[i]) + 2;
+ namebuf = malloc (len);
+ if (namebuf == NULL)
+ {
+ perror ("malloc");
+ goto fail;
+ }
+ snprintf (namebuf, len, "%s/%s", SRCDIR, names[i]);
+ e = fopen (namebuf, "r");
+ free (namebuf);
+ if (e == NULL)
+ continue;
+ if (fstat (fileno (e), &st) < 0)
+ {
+ perror ("fstat");
+ fclose (e);
+ continue;
+ }
+ rbuf = malloc (st.st_size);
+ if (rbuf == NULL)
+ {
+ perror ("malloc");
+ goto fail;
+ }
+ got = fread (rbuf, 1, st.st_size, e);
+ fclose (e);
+ if (got > 0)
+ {
+ orig_buf = rbuf;
+ orig_bufsize = got;
+ break;
+ }
+ free (rbuf);
+ }
+
+ if (orig_buf == NULL)
+ {
+ /* We couldn't find an input file. */
+ printf ("UNSUPPORTED: inflate large\n");
+ return;
+ }
+
+ compressed_bufsize = compressBound (orig_bufsize) + 12;
+ compressed_buf = malloc (compressed_bufsize);
+ if (compressed_buf == NULL)
+ {
+ perror ("malloc");
+ goto fail;
+ }
+
+ compress_sizearg = compressed_bufsize - 12;
+ r = compress (compressed_buf + 12, &compress_sizearg,
+ orig_buf, orig_bufsize);
+ if (r != Z_OK)
+ {
+ fprintf (stderr, "zlib compress failed: %d\n", r);
+ goto fail;
+ }
+
+ compressed_bufsize = compress_sizearg + 12;
+
+ /* Prepare the header that our library expects. */
+ memcpy (compressed_buf, "ZLIB", 4);
+ for (i = 0; i < 8; ++i)
+ compressed_buf[i + 4] = (orig_bufsize >> ((7 - i) * 8)) & 0xff;
+
+ uncompressed_buf = malloc (orig_bufsize);
+ if (uncompressed_buf == NULL)
+ {
+ perror ("malloc");
+ goto fail;
+ }
+ uncompressed_bufsize = orig_bufsize;
+
+ if (!backtrace_uncompress_zdebug (state, compressed_buf, compressed_bufsize,
+ error_callback_compress, NULL,
+ &uncompressed_buf, &uncompressed_bufsize))
+ {
+ fprintf (stderr, "inflate large: backtrace_uncompress_zdebug failed\n");
+ goto fail;
+ }
+
+ if (uncompressed_bufsize != orig_bufsize)
+ {
+ fprintf (stderr,
+ "inflate large: got uncompressed length %zu, want %zu\n",
+ uncompressed_bufsize, orig_bufsize);
+ goto fail;
+ }
+
+ if (memcmp (uncompressed_buf, orig_buf, uncompressed_bufsize) != 0)
+ {
+ fprintf (stderr, "inflate large: uncompressed data mismatch\n");
+ goto fail;
+ }
+
+ printf ("PASS: inflate large\n");
+
+ for (i = 0; i < trials; ++i)
+ {
+ unsigned long uncompress_sizearg;
+
+ cid = ZLIB_CLOCK_GETTIME_ARG;
+ if (clock_gettime (cid, &ts1) < 0)
+ {
+ if (errno == EINVAL)
+ return;
+ perror ("clock_gettime");
+ return;
+ }
+
+ if (!backtrace_uncompress_zdebug (state, compressed_buf,
+ compressed_bufsize,
+ error_callback_compress, NULL,
+ &uncompressed_buf,
+ &uncompressed_bufsize))
+ {
+ fprintf (stderr,
+ ("inflate large: "
+ "benchmark backtrace_uncompress_zdebug failed\n"));
+ return;
+ }
+
+ if (clock_gettime (cid, &ts2) < 0)
+ {
+ perror ("clock_gettime");
+ return;
+ }
+
+ ctime = (ts2.tv_sec - ts1.tv_sec) * 1000000000;
+ ctime += ts2.tv_nsec - ts1.tv_nsec;
+ ctimes[i] = ctime;
+
+ if (clock_gettime (cid, &ts1) < 0)
+ {
+ perror("clock_gettime");
+ return;
+ }
+
+ uncompress_sizearg = uncompressed_bufsize;
+ r = uncompress (uncompressed_buf, &uncompress_sizearg,
+ compressed_buf + 12, compressed_bufsize - 12);
+
+ if (clock_gettime (cid, &ts2) < 0)
+ {
+ perror ("clock_gettime");
+ return;
+ }
+
+ if (r != Z_OK)
+ {
+ fprintf (stderr,
+ "inflate large: benchmark zlib uncompress failed: %d\n",
+ r);
+ return;
+ }
+
+ ztime = (ts2.tv_sec - ts1.tv_sec) * 1000000000;
+ ztime += ts2.tv_nsec - ts1.tv_nsec;
+ ztimes[i] = ztime;
+ }
+
+ /* Toss the highest and lowest times and average the rest. */
+ ctime = average_time (ctimes, trials);
+ ztime = average_time (ztimes, trials);
+
+ printf ("backtrace: %zu ns\n", ctime);
+ printf ("zlib : %zu ns\n", ztime);
+ printf ("ratio : %g\n", (double) ztime / (double) ctime);
+
+ return;
+
+ fail:
+ printf ("FAIL: inflate large\n");
+ ++failures;
+
+ if (orig_buf != NULL)
+ free (orig_buf);
+ if (compressed_buf != NULL)
+ free (compressed_buf);
+ if (uncompressed_buf != NULL)
+ free (uncompressed_buf);
+
+#else /* !HAVE_ZLIB */
+
+ printf ("UNSUPPORTED: inflate large\n");
+
+#endif /* !HAVE_ZLIB */
+}
+
+int
+main (int argc ATTRIBUTE_UNUSED, char **argv)
+{
+ struct backtrace_state *state;
+
+ state = backtrace_create_state (argv[0], BACKTRACE_SUPPORTS_THREADS,
+ error_callback_create, NULL);
+
+ test_samples (state);
+ test_large (state);
+
+ exit (failures != 0 ? EXIT_FAILURE : EXIT_SUCCESS);
+}
diff --git a/3rdparty/libconfig/Makefile.in b/3rdparty/libconfig/Makefile.in
index 690dc90bf..67047739e 100644
--- a/3rdparty/libconfig/Makefile.in
+++ b/3rdparty/libconfig/Makefile.in
@@ -1,8 +1,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2012-2015 Hercules Dev Team
-# Copyright (C) Athena Dev Teams
+# Copyright (C) 2012-2020 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
diff --git a/3rdparty/libconfig/extra/doc/libconfig.texi b/3rdparty/libconfig/extra/doc/libconfig.texi
index 9441dc2ac..017face9b 100644
--- a/3rdparty/libconfig/extra/doc/libconfig.texi
+++ b/3rdparty/libconfig/extra/doc/libconfig.texi
@@ -36,7 +36,7 @@
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 2005-2014 Mark A Lindner
+Copyright @copyright{} 2005-2014 Mark A Lindner
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
diff --git a/3rdparty/libconfig/extra/gen/grammar.y b/3rdparty/libconfig/extra/gen/grammar.y
index 31b600e78..5d9f02c2d 100644
--- a/3rdparty/libconfig/extra/gen/grammar.y
+++ b/3rdparty/libconfig/extra/gen/grammar.y
@@ -1,8 +1,8 @@
/* -*- mode: C -*- */
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/extra/gen/scanner.l b/3rdparty/libconfig/extra/gen/scanner.l
index 1c99bcb77..f57e1c275 100644
--- a/3rdparty/libconfig/extra/gen/scanner.l
+++ b/3rdparty/libconfig/extra/gen/scanner.l
@@ -1,8 +1,8 @@
/* -*- mode: C -*- */
/* --------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/libconfig.c b/3rdparty/libconfig/libconfig.c
index da7ae048e..533145ac4 100644
--- a/3rdparty/libconfig/libconfig.c
+++ b/3rdparty/libconfig/libconfig.c
@@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/libconfig.h b/3rdparty/libconfig/libconfig.h
index d465bb236..5662968a7 100644
--- a/3rdparty/libconfig/libconfig.h
+++ b/3rdparty/libconfig/libconfig.h
@@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/parsectx.h b/3rdparty/libconfig/parsectx.h
index 865fa5912..4e6219bf6 100644
--- a/3rdparty/libconfig/parsectx.h
+++ b/3rdparty/libconfig/parsectx.h
@@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/scanctx.c b/3rdparty/libconfig/scanctx.c
index fc1e10618..de09916df 100644
--- a/3rdparty/libconfig/scanctx.c
+++ b/3rdparty/libconfig/scanctx.c
@@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/scanctx.h b/3rdparty/libconfig/scanctx.h
index 97d4ee56f..2f78e8bf3 100644
--- a/3rdparty/libconfig/scanctx.h
+++ b/3rdparty/libconfig/scanctx.h
@@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/scanner.c b/3rdparty/libconfig/scanner.c
index bed223ba6..1914142c4 100644
--- a/3rdparty/libconfig/scanner.c
+++ b/3rdparty/libconfig/scanner.c
@@ -551,8 +551,8 @@ static const flex_int32_t yy_rule_can_match_eol[46] =
/* -*- mode: C -*- */
/* --------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/strbuf.c b/3rdparty/libconfig/strbuf.c
index 7610dad0f..53684181c 100644
--- a/3rdparty/libconfig/strbuf.c
+++ b/3rdparty/libconfig/strbuf.c
@@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/strbuf.h b/3rdparty/libconfig/strbuf.h
index 474a502cb..b7375e958 100644
--- a/3rdparty/libconfig/strbuf.h
+++ b/3rdparty/libconfig/strbuf.h
@@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/libconfig/wincompat.h b/3rdparty/libconfig/wincompat.h
index 8ac7a916f..f0719ea5f 100644
--- a/3rdparty/libconfig/wincompat.h
+++ b/3rdparty/libconfig/wincompat.h
@@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------------
libconfig - A library for processing structured configuration files
- Copyright (C) 2013-2018 Hercules Dev Team
- Copyright (C) 2005-2014 Mark A Lindner
+ Copyright (C) 2013-2020 Hercules Dev Team
+ Copyright (C) 2005-2014 Mark A Lindner
This file is part of libconfig.
diff --git a/3rdparty/mariadb/include/client_plugin.h b/3rdparty/mariadb/include/client_plugin.h
new file mode 100644
index 000000000..ac29afd6f
--- /dev/null
+++ b/3rdparty/mariadb/include/client_plugin.h
@@ -0,0 +1,244 @@
+/* Copyright (C) 2010 - 2012 Sergei Golubchik and Monty Program Ab
+ 2014 MariaDB Corporation AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not see <http://www.gnu.org/licenses>
+ or write to the Free Software Foundation, Inc.,
+ 51 Franklin St., Fifth Floor, Boston, MA 02110, USA */
+
+/**
+ @file
+
+ MySQL Client Plugin API
+
+ This file defines the API for plugins that work on the client side
+*/
+#ifndef MYSQL_CLIENT_PLUGIN_INCLUDED
+#define MYSQL_CLIENT_PLUGIN_INCLUDED
+
+#ifndef MYSQL_ABI_CHECK
+#include <stdarg.h>
+#include <stdlib.h>
+#endif
+
+
+#ifndef PLUGINDIR
+#define PLUGINDIR "lib/plugin"
+#endif
+
+#define plugin_declarations_sym "_mysql_client_plugin_declaration_"
+
+/* known plugin types */
+#define MYSQL_CLIENT_PLUGIN_RESERVED 0
+#define MYSQL_CLIENT_PLUGIN_RESERVED2 1
+#define MYSQL_CLIENT_AUTHENTICATION_PLUGIN 2 /* authentication */
+
+#define MYSQL_CLIENT_AUTHENTICATION_PLUGIN_INTERFACE_VERSION 0x0100
+#define MYSQL_CLIENT_MAX_PLUGINS 3
+
+/* Connector/C specific plugin types */
+#define MARIADB_CLIENT_REMOTEIO_PLUGIN 100 /* communication IO */
+#define MARIADB_CLIENT_PVIO_PLUGIN 101
+#define MARIADB_CLIENT_TRACE_PLUGIN 102
+#define MARIADB_CLIENT_CONNECTION_PLUGIN 103
+
+#define MARIADB_CLIENT_REMOTEIO_PLUGIN_INTERFACE_VERSION 0x0100
+#define MARIADB_CLIENT_PVIO_PLUGIN_INTERFACE_VERSION 0x0100
+#define MARIADB_CLIENT_TRACE_PLUGIN_INTERFACE_VERSION 0x0100
+#define MARIADB_CLIENT_CONNECTION_PLUGIN_INTERFACE_VERSION 0x0100
+
+#define MARIADB_CLIENT_MAX_PLUGINS 4
+
+#define mysql_declare_client_plugin(X) \
+ struct st_mysql_client_plugin_ ## X \
+ _mysql_client_plugin_declaration_ = { \
+ MYSQL_CLIENT_ ## X ## _PLUGIN, \
+ MYSQL_CLIENT_ ## X ## _PLUGIN_INTERFACE_VERSION,
+#define mysql_end_client_plugin }
+
+/* generic plugin header structure */
+#ifndef MYSQL_CLIENT_PLUGIN_HEADER
+#define MYSQL_CLIENT_PLUGIN_HEADER \
+ int type; \
+ unsigned int interface_version; \
+ const char *name; \
+ const char *author; \
+ const char *desc; \
+ unsigned int version[3]; \
+ const char *license; \
+ void *mysql_api; \
+ int (*init)(char *, size_t, int, va_list); \
+ int (*deinit)(); \
+ int (*options)(const char *option, const void *);
+struct st_mysql_client_plugin
+{
+ MYSQL_CLIENT_PLUGIN_HEADER
+};
+#endif
+
+struct st_mysql;
+
+/********* connection handler plugin specific declarations **********/
+
+typedef struct st_ma_connection_plugin
+{
+ MYSQL_CLIENT_PLUGIN_HEADER
+ /* functions */
+ MYSQL *(*connect)(MYSQL *mysql, const char *host,
+ const char *user, const char *passwd,
+ const char *db, unsigned int port,
+ const char *unix_socket, unsigned long clientflag);
+ void (*close)(MYSQL *mysql);
+ int (*set_optionsv)(MYSQL *mysql, unsigned int option, ...);
+ int (*set_connection)(MYSQL *mysql,enum enum_server_command command,
+ const char *arg,
+ size_t length, my_bool skipp_check, void *opt_arg);
+ my_bool (*reconnect)(MYSQL *mysql);
+ int (*reset)(MYSQL *mysql);
+} MARIADB_CONNECTION_PLUGIN;
+
+#define MARIADB_DB_DRIVER(a) ((a)->ext_db)
+
+/******************* Communication IO plugin *****************/
+#include <ma_pvio.h>
+
+typedef struct st_mariadb_client_plugin_PVIO
+{
+ MYSQL_CLIENT_PLUGIN_HEADER
+ struct st_ma_pvio_methods *methods;
+} MARIADB_PVIO_PLUGIN;
+
+/******** authentication plugin specific declarations *********/
+#include <mysql/plugin_auth_common.h>
+
+struct st_mysql_client_plugin_AUTHENTICATION
+{
+ MYSQL_CLIENT_PLUGIN_HEADER
+ int (*authenticate_user)(MYSQL_PLUGIN_VIO *vio, struct st_mysql *mysql);
+};
+
+/******** trace plugin *******/
+struct st_mysql_client_plugin_TRACE
+{
+ MYSQL_CLIENT_PLUGIN_HEADER
+};
+
+/**
+ type of the mysql_authentication_dialog_ask function
+
+ @param mysql mysql
+ @param type type of the input
+ 1 - ordinary string input
+ 2 - password string
+ @param prompt prompt
+ @param buf a buffer to store the use input
+ @param buf_len the length of the buffer
+
+ @retval a pointer to the user input string.
+ It may be equal to 'buf' or to 'mysql->password'.
+ In all other cases it is assumed to be an allocated
+ string, and the "dialog" plugin will free() it.
+*/
+typedef char *(*mysql_authentication_dialog_ask_t)(struct st_mysql *mysql,
+ int type, const char *prompt, char *buf, int buf_len);
+
+/********************** remote IO plugin **********************/
+#ifdef HAVE_REMOTEIO
+#include <mariadb/ma_io.h>
+
+/* Remote IO plugin */
+typedef struct st_mysql_client_plugin_REMOTEIO
+{
+ MYSQL_CLIENT_PLUGIN_HEADER
+ struct st_rio_methods *methods;
+} MARIADB_REMOTEIO_PLUGIN;
+#endif
+
+/******** using plugins ************/
+
+/**
+ loads a plugin and initializes it
+
+ @param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
+ and last_errno/last_error, for error reporting
+ @param name a name of the plugin to load
+ @param type type of plugin that should be loaded, -1 to disable type check
+ @param argc number of arguments to pass to the plugin initialization
+ function
+ @param ... arguments for the plugin initialization function
+
+ @retval
+ a pointer to the loaded plugin, or NULL in case of a failure
+*/
+struct st_mysql_client_plugin *
+mysql_load_plugin(struct st_mysql *mysql, const char *name, int type,
+ int argc, ...);
+
+/**
+ loads a plugin and initializes it, taking va_list as an argument
+
+ This is the same as mysql_load_plugin, but take va_list instead of
+ a list of arguments.
+
+ @param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
+ and last_errno/last_error, for error reporting
+ @param name a name of the plugin to load
+ @param type type of plugin that should be loaded, -1 to disable type check
+ @param argc number of arguments to pass to the plugin initialization
+ function
+ @param args arguments for the plugin initialization function
+
+ @retval
+ a pointer to the loaded plugin, or NULL in case of a failure
+*/
+struct st_mysql_client_plugin * STDCALL
+mysql_load_plugin_v(struct st_mysql *mysql, const char *name, int type,
+ int argc, va_list args);
+
+/**
+ finds an already loaded plugin by name, or loads it, if necessary
+
+ @param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
+ and last_errno/last_error, for error reporting
+ @param name a name of the plugin to load
+ @param type type of plugin that should be loaded
+
+ @retval
+ a pointer to the plugin, or NULL in case of a failure
+*/
+struct st_mysql_client_plugin * STDCALL
+mysql_client_find_plugin(struct st_mysql *mysql, const char *name, int type);
+
+/**
+ adds a plugin structure to the list of loaded plugins
+
+ This is useful if an application has the necessary functionality
+ (for example, a special load data handler) statically linked into
+ the application binary. It can use this function to register the plugin
+ directly, avoiding the need to factor it out into a shared object.
+
+ @param mysql MYSQL structure. It is only used for error reporting
+ @param plugin an st_mysql_client_plugin structure to register
+
+ @retval
+ a pointer to the plugin, or NULL in case of a failure
+*/
+struct st_mysql_client_plugin * STDCALL
+mysql_client_register_plugin(struct st_mysql *mysql,
+ struct st_mysql_client_plugin *plugin);
+
+extern struct st_mysql_client_plugin *mysql_client_builtins[];
+
+#endif
+
+
diff --git a/3rdparty/mariadb/include/errmsg.h b/3rdparty/mariadb/include/errmsg.h
new file mode 100644
index 000000000..04c7e5e05
--- /dev/null
+++ b/3rdparty/mariadb/include/errmsg.h
@@ -0,0 +1,107 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+ 2012-2016 SkySQL AB, MariaDB Corporation AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA */
+
+/* Error messages for mysql clients */
+/* error messages for the demon is in share/language/errmsg.sys */
+#ifndef _errmsg_h_
+#define _errmsg_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+void init_client_errs(void);
+extern const char *client_errors[]; /* Error messages */
+extern const char *mariadb_client_errors[]; /* Error messages */
+#ifdef __cplusplus
+}
+#endif
+
+
+
+#define CR_MIN_ERROR 2000 /* For easier client code */
+#define CR_MAX_ERROR 2999
+#define CER_MIN_ERROR 5000
+#define CER_MAX_ERROR 5999
+#define CER(X) mariadb_client_errors[(X)-CER_MIN_ERROR]
+#define ER(X) client_errors[(X)-CR_MIN_ERROR]
+#define CLIENT_ERRMAP 2 /* Errormap used by ma_error() */
+
+#define CR_UNKNOWN_ERROR 2000
+#define CR_SOCKET_CREATE_ERROR 2001
+#define CR_CONNECTION_ERROR 2002
+#define CR_CONN_HOST_ERROR 2003 /* never sent to a client, message only */
+#define CR_IPSOCK_ERROR 2004
+#define CR_UNKNOWN_HOST 2005
+#define CR_SERVER_GONE_ERROR 2006 /* disappeared _between_ queries */
+#define CR_VERSION_ERROR 2007
+#define CR_OUT_OF_MEMORY 2008
+#define CR_WRONG_HOST_INFO 2009
+#define CR_LOCALHOST_CONNECTION 2010
+#define CR_TCP_CONNECTION 2011
+#define CR_SERVER_HANDSHAKE_ERR 2012
+#define CR_SERVER_LOST 2013 /* disappeared _during_ a query */
+#define CR_COMMANDS_OUT_OF_SYNC 2014
+#define CR_NAMEDPIPE_CONNECTION 2015
+#define CR_NAMEDPIPEWAIT_ERROR 2016
+#define CR_NAMEDPIPEOPEN_ERROR 2017
+#define CR_NAMEDPIPESETSTATE_ERROR 2018
+#define CR_CANT_READ_CHARSET 2019
+#define CR_NET_PACKET_TOO_LARGE 2020
+#define CR_SSL_CONNECTION_ERROR 2026
+#define CR_MALFORMED_PACKET 2027
+#define CR_NO_PREPARE_STMT 2030
+#define CR_PARAMS_NOT_BOUND 2031
+#define CR_INVALID_PARAMETER_NO 2034
+#define CR_INVALID_BUFFER_USE 2035
+#define CR_UNSUPPORTED_PARAM_TYPE 2036
+
+#define CR_SHARED_MEMORY_CONNECTION 2037
+#define CR_SHARED_MEMORY_CONNECT_ERROR 2038
+
+#define CR_CONN_UNKNOWN_PROTOCOL 2047
+#define CR_SECURE_AUTH 2049
+#define CR_NO_DATA 2051
+#define CR_NO_STMT_METADATA 2052
+#define CR_NOT_IMPLEMENTED 2054
+#define CR_SERVER_LOST_EXTENDED 2055 /* never sent to a client, message only */
+#define CR_STMT_CLOSED 2056
+#define CR_NEW_STMT_METADATA 2057
+#define CR_ALREADY_CONNECTED 2058
+#define CR_AUTH_PLUGIN_CANNOT_LOAD 2059
+#define CR_DUPLICATE_CONNECTION_ATTR 2060
+#define CR_AUTH_PLUGIN_ERR 2061
+/* Always last, if you add new error codes please update the
+ value for CR_MYSQL_LAST_ERROR */
+#define CR_MYSQL_LAST_ERROR CR_AUTH_PLUGIN_ERR
+
+/*
+ * MariaDB Connector/C errors:
+ */
+#define CR_EVENT_CREATE_FAILED 5000
+#define CR_BIND_ADDR_FAILED 5001
+#define CR_ASYNC_NOT_SUPPORTED 5002
+#define CR_FUNCTION_NOT_SUPPORTED 5003
+#define CR_FILE_NOT_FOUND 5004
+#define CR_FILE_READ 5005
+#define CR_BULK_WITHOUT_PARAMETERS 5006
+#define CR_INVALID_STMT 5007
+#define CR_VERSION_MISMATCH 5008
+/* Always last, if you add new error codes please update the
+ value for CR_MARIADB_LAST_ERROR */
+#define CR_MARIADB_LAST_ERROR CR_INVALID_STMT
+#endif
diff --git a/3rdparty/mariadb/include/ma_io.h b/3rdparty/mariadb/include/ma_io.h
new file mode 100644
index 000000000..d39fc06e3
--- /dev/null
+++ b/3rdparty/mariadb/include/ma_io.h
@@ -0,0 +1,55 @@
+/* Copyright (C) 2015 MariaDB Corporation AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA */
+
+#ifndef _ma_io_h_
+#define _ma_io_h_
+
+
+#ifdef HAVE_REMOTEIO
+#include <curl/curl.h>
+#endif
+
+enum enum_file_type {
+ MA_FILE_NONE=0,
+ MA_FILE_LOCAL=1,
+ MA_FILE_REMOTE=2
+};
+
+typedef struct
+{
+ enum enum_file_type type;
+ void *ptr;
+} MA_FILE;
+
+#ifdef HAVE_REMOTEIO
+struct st_rio_methods {
+ MA_FILE *(*mopen)(const char *url, const char *mode);
+ int (*mclose)(MA_FILE *ptr);
+ int (*mfeof)(MA_FILE *file);
+ size_t (*mread)(void *ptr, size_t size, size_t nmemb, MA_FILE *file);
+ char * (*mgets)(char *ptr, size_t size, MA_FILE *file);
+};
+#endif
+
+/* function prototypes */
+MA_FILE *ma_open(const char *location, const char *mode, MYSQL *mysql);
+int ma_close(MA_FILE *file);
+int ma_feof(MA_FILE *file);
+size_t ma_read(void *ptr, size_t size, size_t nmemb, MA_FILE *file);
+char *ma_gets(char *ptr, size_t size, MA_FILE *file);
+
+#endif
diff --git a/3rdparty/mariadb/include/ma_list.h b/3rdparty/mariadb/include/ma_list.h
new file mode 100644
index 000000000..549280d61
--- /dev/null
+++ b/3rdparty/mariadb/include/ma_list.h
@@ -0,0 +1,47 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA */
+
+#ifndef _list_h_
+#define _list_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct st_list {
+ struct st_list *prev,*next;
+ void *data;
+} LIST;
+
+typedef int (*list_walk_action)(void *,void *);
+
+extern LIST *list_add(LIST *root,LIST *element);
+extern LIST *list_delete(LIST *root,LIST *element);
+extern LIST *list_cons(void *data,LIST *root);
+extern LIST *list_reverse(LIST *root);
+extern void list_free(LIST *root,unsigned int free_data);
+extern unsigned int list_length(LIST *list);
+extern int list_walk(LIST *list,list_walk_action action,char * argument);
+
+#define list_rest(a) ((a)->next)
+#define list_push(a,b) (a)=list_cons((b),(a))
+#define list_pop(A) {LIST *old=(A); (A)=list_delete(old,old) ; ma_free((char *) old,MYF(MY_FAE)); }
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/3rdparty/mariadb/include/ma_pvio.h b/3rdparty/mariadb/include/ma_pvio.h
new file mode 100644
index 000000000..7e300fee5
--- /dev/null
+++ b/3rdparty/mariadb/include/ma_pvio.h
@@ -0,0 +1,133 @@
+#ifndef _ma_pvio_h_
+#define _ma_pvio_h_
+#define cio_defined
+
+#ifdef HAVE_TLS
+#include <ma_tls.h>
+#else
+#define MARIADB_TLS void
+#endif
+
+#define PVIO_SET_ERROR if (pvio->set_error) \
+ pvio->set_error
+
+#define PVIO_READ_AHEAD_CACHE_SIZE 16384
+#define PVIO_READ_AHEAD_CACHE_MIN_SIZE 2048
+#define PVIO_EINTR_TRIES 2
+
+struct st_ma_pvio_methods;
+typedef struct st_ma_pvio_methods PVIO_METHODS;
+
+#define IS_PVIO_ASYNC(a) \
+ ((a)->mysql && (a)->mysql->options.extension && (a)->mysql->options.extension->async_context)
+
+#define IS_PVIO_ASYNC_ACTIVE(a) \
+ (IS_PVIO_ASYNC(a)&& (a)->mysql->options.extension->async_context->active)
+
+#define IS_MYSQL_ASYNC(a) \
+ ((a)->options.extension && (a)->options.extension->async_context)
+
+#define IS_MYSQL_ASYNC_ACTIVE(a) \
+ (IS_MYSQL_ASYNC(a)&& (a)->options.extension->async_context->active)
+
+enum enum_pvio_timeout {
+ PVIO_CONNECT_TIMEOUT= 0,
+ PVIO_READ_TIMEOUT,
+ PVIO_WRITE_TIMEOUT
+};
+
+enum enum_pvio_io_event
+{
+ VIO_IO_EVENT_READ,
+ VIO_IO_EVENT_WRITE,
+ VIO_IO_EVENT_CONNECT
+};
+
+enum enum_pvio_type {
+ PVIO_TYPE_UNIXSOCKET= 0,
+ PVIO_TYPE_SOCKET,
+ PVIO_TYPE_NAMEDPIPE,
+ PVIO_TYPE_SHAREDMEM,
+};
+
+enum enum_pvio_operation {
+ PVIO_READ= 0,
+ PVIO_WRITE=1
+};
+
+#define SHM_DEFAULT_NAME "MYSQL"
+
+struct st_pvio_callback;
+
+typedef struct st_pvio_callback {
+ void (*callback)(MYSQL *mysql, uchar *buffer, size_t size);
+ struct st_pvio_callback *next;
+} PVIO_CALLBACK;
+
+struct st_ma_pvio {
+ void *data;
+ /* read ahead cache */
+ uchar *cache;
+ uchar *cache_pos;
+ size_t cache_size;
+ enum enum_pvio_type type;
+ int timeout[3];
+ int ssl_type; /* todo: change to enum (ssl plugins) */
+ MARIADB_TLS *ctls;
+ MYSQL *mysql;
+ PVIO_METHODS *methods;
+ void (*set_error)(MYSQL *mysql, unsigned int error_nr, const char *sqlstate, const char *format, ...);
+ void (*callback)(MARIADB_PVIO *pvio, my_bool is_read, const uchar *buffer, size_t length);
+};
+
+typedef struct st_ma_pvio_cinfo
+{
+ const char *host;
+ const char *unix_socket;
+ int port;
+ enum enum_pvio_type type;
+ MYSQL *mysql;
+} MA_PVIO_CINFO;
+
+struct st_ma_pvio_methods
+{
+ my_bool (*set_timeout)(MARIADB_PVIO *pvio, enum enum_pvio_timeout type, int timeout);
+ int (*get_timeout)(MARIADB_PVIO *pvio, enum enum_pvio_timeout type);
+ ssize_t (*read)(MARIADB_PVIO *pvio, uchar *buffer, size_t length);
+ ssize_t (*async_read)(MARIADB_PVIO *pvio, uchar *buffer, size_t length);
+ ssize_t (*write)(MARIADB_PVIO *pvio, const uchar *buffer, size_t length);
+ ssize_t (*async_write)(MARIADB_PVIO *pvio, const uchar *buffer, size_t length);
+ int (*wait_io_or_timeout)(MARIADB_PVIO *pvio, my_bool is_read, int timeout);
+ int (*blocking)(MARIADB_PVIO *pvio, my_bool value, my_bool *old_value);
+ my_bool (*connect)(MARIADB_PVIO *pvio, MA_PVIO_CINFO *cinfo);
+ my_bool (*close)(MARIADB_PVIO *pvio);
+ int (*fast_send)(MARIADB_PVIO *pvio);
+ int (*keepalive)(MARIADB_PVIO *pvio);
+ my_bool (*get_handle)(MARIADB_PVIO *pvio, void *handle);
+ my_bool (*is_blocking)(MARIADB_PVIO *pvio);
+ my_bool (*is_alive)(MARIADB_PVIO *pvio);
+ my_bool (*has_data)(MARIADB_PVIO *pvio, ssize_t *data_len);
+ int(*shutdown)(MARIADB_PVIO *pvio);
+};
+
+/* Function prototypes */
+MARIADB_PVIO *ma_pvio_init(MA_PVIO_CINFO *cinfo);
+void ma_pvio_close(MARIADB_PVIO *pvio);
+ssize_t ma_pvio_cache_read(MARIADB_PVIO *pvio, uchar *buffer, size_t length);
+ssize_t ma_pvio_read(MARIADB_PVIO *pvio, uchar *buffer, size_t length);
+ssize_t ma_pvio_write(MARIADB_PVIO *pvio, const uchar *buffer, size_t length);
+int ma_pvio_get_timeout(MARIADB_PVIO *pvio, enum enum_pvio_timeout type);
+my_bool ma_pvio_set_timeout(MARIADB_PVIO *pvio, enum enum_pvio_timeout type, int timeout);
+int ma_pvio_fast_send(MARIADB_PVIO *pvio);
+int ma_pvio_keepalive(MARIADB_PVIO *pvio);
+my_socket ma_pvio_get_socket(MARIADB_PVIO *pvio);
+my_bool ma_pvio_is_blocking(MARIADB_PVIO *pvio);
+my_bool ma_pvio_blocking(MARIADB_PVIO *pvio, my_bool block, my_bool *previous_mode);
+my_bool ma_pvio_is_blocking(MARIADB_PVIO *pvio);
+int ma_pvio_wait_io_or_timeout(MARIADB_PVIO *pvio, my_bool is_read, int timeout);
+my_bool ma_pvio_connect(MARIADB_PVIO *pvio, MA_PVIO_CINFO *cinfo);
+my_bool ma_pvio_is_alive(MARIADB_PVIO *pvio);
+my_bool ma_pvio_get_handle(MARIADB_PVIO *pvio, void *handle);
+my_bool ma_pvio_has_data(MARIADB_PVIO *pvio, ssize_t *length);
+
+#endif /* _ma_pvio_h_ */
diff --git a/3rdparty/mariadb/include/ma_tls.h b/3rdparty/mariadb/include/ma_tls.h
new file mode 100644
index 000000000..9ce49e7c9
--- /dev/null
+++ b/3rdparty/mariadb/include/ma_tls.h
@@ -0,0 +1,161 @@
+#ifndef _ma_tls_h_
+#define _ma_tls_h_
+
+enum enum_pvio_tls_type {
+ SSL_TYPE_DEFAULT=0,
+#ifdef _WIN32
+ SSL_TYPE_SCHANNEL,
+#endif
+ SSL_TYPE_OPENSSL,
+ SSL_TYPE_GNUTLS
+};
+
+#define PROTOCOL_SSLV3 0
+#define PROTOCOL_TLS_1_0 1
+#define PROTOCOL_TLS_1_1 2
+#define PROTOCOL_TLS_1_2 3
+#define PROTOCOL_TLS_1_3 4
+#define PROTOCOL_UNKNOWN 5
+#define PROTOCOL_MAX PROTOCOL_TLS_1_3
+
+#define TLS_VERSION_LENGTH 64
+extern char tls_library_version[TLS_VERSION_LENGTH];
+
+typedef struct st_ma_pvio_tls {
+ void *data;
+ MARIADB_PVIO *pvio;
+ void *ssl;
+} MARIADB_TLS;
+
+/* Function prototypes */
+
+/* ma_tls_start
+ initializes the ssl library
+ Parameter:
+ errmsg pointer to error message buffer
+ errmsg_len length of error message buffer
+ Returns:
+ 0 success
+ 1 if an error occurred
+ Notes:
+ On success the global variable ma_tls_initialized will be set to 1
+*/
+int ma_tls_start(char *errmsg, size_t errmsg_len);
+
+/* ma_tls_end
+ unloads/deinitializes ssl library and unsets global variable
+ ma_tls_initialized
+*/
+void ma_tls_end(void);
+
+/* ma_tls_init
+ creates a new SSL structure for a SSL connection and loads
+ client certificates
+
+ Parameters:
+ MYSQL a mysql structure
+ Returns:
+ void * a pointer to internal SSL structure
+*/
+void * ma_tls_init(MYSQL *mysql);
+
+/* ma_tls_connect
+ performs SSL handshake
+ Parameters:
+ MARIADB_TLS MariaDB SSL container
+ Returns:
+ 0 success
+ 1 error
+*/
+my_bool ma_tls_connect(MARIADB_TLS *ctls);
+
+/* ma_tls_read
+ reads up to length bytes from socket
+ Parameters:
+ ctls MariaDB SSL container
+ buffer read buffer
+ length buffer length
+ Returns:
+ 0-n bytes read
+ -1 if an error occurred
+*/
+ssize_t ma_tls_read(MARIADB_TLS *ctls, const uchar* buffer, size_t length);
+
+/* ma_tls_write
+ write buffer to socket
+ Parameters:
+ ctls MariaDB SSL container
+ buffer write buffer
+ length buffer length
+ Returns:
+ 0-n bytes written
+ -1 if an error occurred
+*/
+ssize_t ma_tls_write(MARIADB_TLS *ctls, const uchar* buffer, size_t length);
+
+/* ma_tls_close
+ closes SSL connection and frees SSL structure which was previously
+ created by ma_tls_init call
+ Parameters:
+ MARIADB_TLS MariaDB SSL container
+ Returns:
+ 0 success
+ 1 error
+*/
+my_bool ma_tls_close(MARIADB_TLS *ctls);
+
+/* ma_tls_verify_server_cert
+ validation check of server certificate
+ Parameter:
+ MARIADB_TLS MariaDB SSL container
+ Returns:
+ ß success
+ 1 error
+*/
+int ma_tls_verify_server_cert(MARIADB_TLS *ctls);
+
+/* ma_tls_get_cipher
+ returns cipher for current ssl connection
+ Parameter:
+ MARIADB_TLS MariaDB SSL container
+ Returns:
+ cipher in use or
+ NULL on error
+*/
+const char *ma_tls_get_cipher(MARIADB_TLS *ssl);
+
+/* ma_tls_get_finger_print
+ returns SHA1 finger print of server certificate
+ Parameter:
+ MARIADB_TLS MariaDB SSL container
+ fp buffer for fingerprint
+ fp_len buffer length
+ Returns:
+ actual size of finger print
+*/
+unsigned int ma_tls_get_finger_print(MARIADB_TLS *ctls, char *fp, unsigned int fp_len);
+
+/* ma_tls_get_protocol_version
+ returns protocol version number in use
+ Parameter:
+ MARIADB_TLS MariaDB SSL container
+ Returns:
+ protocol number
+*/
+int ma_tls_get_protocol_version(MARIADB_TLS *ctls);
+const char *ma_pvio_tls_get_protocol_version(MARIADB_TLS *ctls);
+int ma_pvio_tls_get_protocol_version_id(MARIADB_TLS *ctls);
+
+/* Function prototypes */
+MARIADB_TLS *ma_pvio_tls_init(MYSQL *mysql);
+my_bool ma_pvio_tls_connect(MARIADB_TLS *ctls);
+ssize_t ma_pvio_tls_read(MARIADB_TLS *ctls, const uchar *buffer, size_t length);
+ssize_t ma_pvio_tls_write(MARIADB_TLS *ctls, const uchar *buffer, size_t length);
+my_bool ma_pvio_tls_close(MARIADB_TLS *ctls);
+int ma_pvio_tls_verify_server_cert(MARIADB_TLS *ctls);
+const char *ma_pvio_tls_cipher(MARIADB_TLS *ctls);
+my_bool ma_pvio_tls_check_fp(MARIADB_TLS *ctls, const char *fp, const char *fp_list);
+my_bool ma_pvio_start_ssl(MARIADB_PVIO *pvio);
+void ma_pvio_tls_end();
+
+#endif /* _ma_tls_h_ */
diff --git a/3rdparty/mariadb/include/mariadb_com.h b/3rdparty/mariadb/include/mariadb_com.h
new file mode 100644
index 000000000..9a5da28dd
--- /dev/null
+++ b/3rdparty/mariadb/include/mariadb_com.h
@@ -0,0 +1,457 @@
+/************************************************************************************
+ Copyright (C) 2000, 2012 MySQL AB & MySQL Finland AB & TCX DataKonsult AB,
+ Monty Program AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not see <http://www.gnu.org/licenses>
+ or write to the Free Software Foundation, Inc.,
+ 51 Franklin St., Fifth Floor, Boston, MA 02110, USA
+
+ Part of this code includes code from the PHP project which
+ is freely available from http://www.php.net
+*************************************************************************************/
+
+/*
+** Common definition between mysql server & client
+*/
+
+#ifndef _mysql_com_h
+#define _mysql_com_h
+
+
+#define NAME_CHAR_LEN 64
+#define NAME_LEN 256 /* Field/table name length */
+#define HOSTNAME_LENGTH 60
+#define SYSTEM_MB_MAX_CHAR_LENGTH 4
+#define USERNAME_CHAR_LENGTH 128
+#define USERNAME_LENGTH USERNAME_CHAR_LENGTH * SYSTEM_MB_MAX_CHAR_LENGTH
+#define SERVER_VERSION_LENGTH 60
+#define SQLSTATE_LENGTH 5
+#define SCRAMBLE_LENGTH 20
+#define SCRAMBLE_LENGTH_323 8
+
+#define LOCAL_HOST "localhost"
+#define LOCAL_HOST_NAMEDPIPE "."
+
+#if defined(_WIN32) && !defined( _CUSTOMCONFIG_)
+#define MARIADB_NAMEDPIPE "MySQL"
+#define MYSQL_SERVICENAME "MySql"
+#endif /* _WIN32 */
+
+/* for use in mysql client tools only */
+#define MYSQL_AUTODETECT_CHARSET_NAME "auto"
+#define BINCMP_FLAG 131072
+
+enum mysql_enum_shutdown_level
+{
+ SHUTDOWN_DEFAULT = 0,
+ KILL_QUERY= 254,
+ KILL_CONNECTION= 255
+};
+
+enum enum_server_command
+{
+ COM_SLEEP = 0,
+ COM_QUIT,
+ COM_INIT_DB,
+ COM_QUERY,
+ COM_FIELD_LIST,
+ COM_CREATE_DB,
+ COM_DROP_DB,
+ COM_REFRESH,
+ COM_SHUTDOWN,
+ COM_STATISTICS,
+ COM_PROCESS_INFO,
+ COM_CONNECT,
+ COM_PROCESS_KILL,
+ COM_DEBUG,
+ COM_PING,
+ COM_TIME = 15,
+ COM_DELAYED_INSERT,
+ COM_CHANGE_USER,
+ COM_BINLOG_DUMP,
+ COM_TABLE_DUMP,
+ COM_CONNECT_OUT = 20,
+ COM_REGISTER_SLAVE,
+ COM_STMT_PREPARE = 22,
+ COM_STMT_EXECUTE = 23,
+ COM_STMT_SEND_LONG_DATA = 24,
+ COM_STMT_CLOSE = 25,
+ COM_STMT_RESET = 26,
+ COM_SET_OPTION = 27,
+ COM_STMT_FETCH = 28,
+ COM_DAEMON= 29,
+ COM_UNSUPPORTED= 30,
+ COM_RESET_CONNECTION = 31,
+ COM_STMT_BULK_EXECUTE = 250,
+ COM_MULTI = 254,
+ COM_END
+};
+
+
+#define NOT_NULL_FLAG 1 /* Field can't be NULL */
+#define PRI_KEY_FLAG 2 /* Field is part of a primary key */
+#define UNIQUE_KEY_FLAG 4 /* Field is part of a unique key */
+#define MULTIPLE_KEY_FLAG 8 /* Field is part of a key */
+#define BLOB_FLAG 16 /* Field is a blob */
+#define UNSIGNED_FLAG 32 /* Field is unsigned */
+#define ZEROFILL_FLAG 64 /* Field is zerofill */
+#define BINARY_FLAG 128
+/* The following are only sent to new clients */
+#define ENUM_FLAG 256 /* field is an enum */
+#define AUTO_INCREMENT_FLAG 512 /* field is a autoincrement field */
+#define TIMESTAMP_FLAG 1024 /* Field is a timestamp */
+#define SET_FLAG 2048 /* field is a set */
+/* new since 3.23.58 */
+#define NO_DEFAULT_VALUE_FLAG 4096 /* Field doesn't have default value */
+#define ON_UPDATE_NOW_FLAG 8192 /* Field is set to NOW on UPDATE */
+/* end new */
+#define NUM_FLAG 32768 /* Field is num (for clients) */
+#define PART_KEY_FLAG 16384 /* Intern; Part of some key */
+#define GROUP_FLAG 32768 /* Intern: Group field */
+#define UNIQUE_FLAG 65536 /* Intern: Used by sql_yacc */
+
+#define REFRESH_GRANT 1 /* Refresh grant tables */
+#define REFRESH_LOG 2 /* Start on new log file */
+#define REFRESH_TABLES 4 /* close all tables */
+#define REFRESH_HOSTS 8 /* Flush host cache */
+#define REFRESH_STATUS 16 /* Flush status variables */
+#define REFRESH_THREADS 32 /* Flush thread cache */
+#define REFRESH_SLAVE 64 /* Reset master info and restart slave
+ thread */
+#define REFRESH_MASTER 128 /* Remove all bin logs in the index
+ and truncate the index */
+
+/* The following can't be set with mysql_refresh() */
+#define REFRESH_READ_LOCK 16384 /* Lock tables for read */
+#define REFRESH_FAST 32768 /* Intern flag */
+
+#define CLIENT_MYSQL 1
+#define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
+#define CLIENT_LONG_FLAG 4 /* Get all column flags */
+#define CLIENT_CONNECT_WITH_DB 8 /* One can specify db on connect */
+#define CLIENT_NO_SCHEMA 16 /* Don't allow database.table.column */
+#define CLIENT_COMPRESS 32 /* Can use compression protocol */
+#define CLIENT_ODBC 64 /* Odbc client */
+#define CLIENT_LOCAL_FILES 128 /* Can use LOAD DATA LOCAL */
+#define CLIENT_IGNORE_SPACE 256 /* Ignore spaces before '(' */
+#define CLIENT_INTERACTIVE 1024 /* This is an interactive client */
+#define CLIENT_SSL 2048 /* Switch to SSL after handshake */
+#define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
+#define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
+/* added in 4.x */
+#define CLIENT_PROTOCOL_41 512
+#define CLIENT_RESERVED 16384
+#define CLIENT_SECURE_CONNECTION 32768
+#define CLIENT_MULTI_STATEMENTS (1UL << 16)
+#define CLIENT_MULTI_RESULTS (1UL << 17)
+#define CLIENT_PS_MULTI_RESULTS (1UL << 18)
+#define CLIENT_PLUGIN_AUTH (1UL << 19)
+#define CLIENT_CONNECT_ATTRS (1UL << 20)
+#define CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS (1UL << 22)
+#define CLIENT_SESSION_TRACKING (1UL << 23)
+#define CLIENT_PROGRESS (1UL << 29) /* client supports progress indicator */
+#define CLIENT_PROGRESS_OBSOLETE CLIENT_PROGRESS
+#define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
+#define CLIENT_REMEMBER_OPTIONS (1UL << 31)
+
+/* MariaDB specific capabilities */
+#define MARIADB_CLIENT_FLAGS 0xFFFFFFFF00000000ULL
+#define MARIADB_CLIENT_PROGRESS (1ULL << 32)
+#define MARIADB_CLIENT_COM_MULTI (1ULL << 33)
+#define MARIADB_CLIENT_STMT_BULK_OPERATIONS (1ULL << 34)
+
+#define IS_MARIADB_EXTENDED_SERVER(mysql)\
+ !(mysql->server_capabilities & CLIENT_MYSQL)
+
+#define MARIADB_CLIENT_SUPPORTED_FLAGS (MARIADB_CLIENT_PROGRESS |\
+ MARIADB_CLIENT_COM_MULTI |\
+ MARIADB_CLIENT_STMT_BULK_OPERATIONS)
+
+#define CLIENT_SUPPORTED_FLAGS (CLIENT_MYSQL |\
+ CLIENT_FOUND_ROWS |\
+ CLIENT_LONG_FLAG |\
+ CLIENT_CONNECT_WITH_DB |\
+ CLIENT_NO_SCHEMA |\
+ CLIENT_COMPRESS |\
+ CLIENT_ODBC |\
+ CLIENT_LOCAL_FILES |\
+ CLIENT_IGNORE_SPACE |\
+ CLIENT_INTERACTIVE |\
+ CLIENT_SSL |\
+ CLIENT_IGNORE_SIGPIPE |\
+ CLIENT_TRANSACTIONS |\
+ CLIENT_PROTOCOL_41 |\
+ CLIENT_RESERVED |\
+ CLIENT_SECURE_CONNECTION |\
+ CLIENT_MULTI_STATEMENTS |\
+ CLIENT_MULTI_RESULTS |\
+ CLIENT_PROGRESS |\
+ CLIENT_SSL_VERIFY_SERVER_CERT |\
+ CLIENT_REMEMBER_OPTIONS |\
+ CLIENT_PLUGIN_AUTH |\
+ CLIENT_SESSION_TRACKING |\
+ CLIENT_CONNECT_ATTRS)
+
+#define CLIENT_CAPABILITIES (CLIENT_MYSQL | \
+ CLIENT_LONG_FLAG |\
+ CLIENT_TRANSACTIONS |\
+ CLIENT_SECURE_CONNECTION |\
+ CLIENT_MULTI_RESULTS | \
+ CLIENT_PS_MULTI_RESULTS |\
+ CLIENT_PROTOCOL_41 |\
+ CLIENT_PLUGIN_AUTH |\
+ CLIENT_SESSION_TRACKING |\
+ CLIENT_CONNECT_ATTRS)
+
+#define CLIENT_DEFAULT_FLAGS ((CLIENT_SUPPORTED_FLAGS & ~CLIENT_COMPRESS)\
+ & ~CLIENT_SSL)
+
+#define SERVER_STATUS_IN_TRANS 1 /* Transaction has started */
+#define SERVER_STATUS_AUTOCOMMIT 2 /* Server in auto_commit mode */
+#define SERVER_MORE_RESULTS_EXIST 8
+#define SERVER_QUERY_NO_GOOD_INDEX_USED 16
+#define SERVER_QUERY_NO_INDEX_USED 32
+#define SERVER_STATUS_CURSOR_EXISTS 64
+#define SERVER_STATUS_LAST_ROW_SENT 128
+#define SERVER_STATUS_DB_DROPPED 256
+#define SERVER_STATUS_NO_BACKSLASH_ESCAPES 512
+#define SERVER_STATUS_METADATA_CHANGED 1024
+#define SERVER_QUERY_WAS_SLOW 2048
+#define SERVER_PS_OUT_PARAMS 4096
+#define SERVER_STATUS_IN_TRANS_READONLY 8192
+#define SERVER_SESSION_STATE_CHANGED 16384
+#define SERVER_STATUS_ANSI_QUOTES 32768
+
+#define MYSQL_ERRMSG_SIZE 512
+#define NET_READ_TIMEOUT 30 /* Timeout on read */
+#define NET_WRITE_TIMEOUT 60 /* Timeout on write */
+#define NET_WAIT_TIMEOUT 8*60*60 /* Wait for new query */
+
+/* for server integration (mysqlbinlog) */
+#define LIST_PROCESS_HOST_LEN 64
+#define MYSQL50_TABLE_NAME_PREFIX "#mysql50#"
+#define MYSQL50_TABLE_NAME_PREFIX_LENGTH (sizeof(MYSQL50_TABLE_NAME_PREFIX)-1)
+#define SAFE_NAME_LEN (NAME_LEN + MYSQL50_TABLE_NAME_PREFIX_LENGTH)
+
+struct st_ma_pvio;
+typedef struct st_ma_pvio MARIADB_PVIO;
+
+#define MAX_CHAR_WIDTH 255 /* Max length for a CHAR column */
+#define MAX_BLOB_WIDTH 8192 /* Default width for blob */
+
+/* the following defines were added for PHP's mysqli and pdo extensions:
+ see: CONC-56
+*/
+#define MAX_TINYINT_WIDTH 3
+#define MAX_SMALLINT_WIDTH 5
+#define MAX_MEDIUMINT_WIDTH 8
+#define MAX_INT_WIDTH 10
+#define MAX_BIGINT_WIDTH 20
+
+struct st_ma_connection_plugin;
+
+
+typedef struct st_net {
+ MARIADB_PVIO *pvio;
+ unsigned char *buff;
+ unsigned char *buff_end,*write_pos,*read_pos;
+ my_socket fd; /* For Perl DBI/dbd */
+ unsigned long remain_in_buf,length;
+ unsigned long buf_length, where_b;
+ unsigned long max_packet, max_packet_size;
+ unsigned int pkt_nr, compress_pkt_nr;
+ unsigned int write_timeout, read_timeout, retry_count;
+ int fcntl;
+ unsigned int *return_status;
+ unsigned char reading_or_writing;
+ char save_char;
+ char unused_1;
+ my_bool unused_2;
+ my_bool compress;
+ my_bool unused_3;
+ void *unused_4;
+ unsigned int last_errno;
+ unsigned char error;
+ my_bool unused_5;
+ my_bool unused_6;
+ char last_error[MYSQL_ERRMSG_SIZE];
+ char sqlstate[SQLSTATE_LENGTH+1];
+ struct st_mariadb_net_extension *extension;
+} NET;
+
+#define packet_error ((unsigned int) -1)
+
+/* used by mysql_set_server_option */
+enum enum_mysql_set_option
+{
+ MYSQL_OPTION_MULTI_STATEMENTS_ON,
+ MYSQL_OPTION_MULTI_STATEMENTS_OFF
+};
+
+enum enum_session_state_type
+{
+ SESSION_TRACK_SYSTEM_VARIABLES= 0,
+ SESSION_TRACK_SCHEMA,
+ SESSION_TRACK_STATE_CHANGE,
+ /* currently not supported by MariaDB Server */
+ SESSION_TRACK_GTIDS,
+ SESSION_TRACK_TRANSACTION_CHARACTERISTICS,
+ SESSION_TRACK_TRANSACTION_TYPE /* make sure that SESSION_TRACK_END always points
+ to last element of enum !! */
+};
+
+#define SESSION_TRACK_BEGIN 0
+#define SESSION_TRACK_END SESSION_TRACK_TRANSACTION_TYPE
+#define SESSION_TRACK_TYPES SESSION_TRACK_END + 1
+
+enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
+ MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG,
+ MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE,
+ MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP,
+ MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
+ MYSQL_TYPE_DATE, MYSQL_TYPE_TIME,
+ MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
+ MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,
+ MYSQL_TYPE_BIT,
+ /*
+ the following types are not used by client,
+ only for mysqlbinlog!!
+ */
+ MYSQL_TYPE_TIMESTAMP2,
+ MYSQL_TYPE_DATETIME2,
+ MYSQL_TYPE_TIME2,
+ /* --------------------------------------------- */
+ MYSQL_TYPE_JSON=245,
+ MYSQL_TYPE_NEWDECIMAL=246,
+ MYSQL_TYPE_ENUM=247,
+ MYSQL_TYPE_SET=248,
+ MYSQL_TYPE_TINY_BLOB=249,
+ MYSQL_TYPE_MEDIUM_BLOB=250,
+ MYSQL_TYPE_LONG_BLOB=251,
+ MYSQL_TYPE_BLOB=252,
+ MYSQL_TYPE_VAR_STRING=253,
+ MYSQL_TYPE_STRING=254,
+ MYSQL_TYPE_GEOMETRY=255,
+ MAX_NO_FIELD_TYPES };
+
+#define FIELD_TYPE_CHAR FIELD_TYPE_TINY /* For compatibility */
+#define FIELD_TYPE_INTERVAL FIELD_TYPE_ENUM /* For compatibility */
+#define FIELD_TYPE_DECIMAL MYSQL_TYPE_DECIMAL
+#define FIELD_TYPE_NEWDECIMAL MYSQL_TYPE_NEWDECIMAL
+#define FIELD_TYPE_TINY MYSQL_TYPE_TINY
+#define FIELD_TYPE_SHORT MYSQL_TYPE_SHORT
+#define FIELD_TYPE_LONG MYSQL_TYPE_LONG
+#define FIELD_TYPE_FLOAT MYSQL_TYPE_FLOAT
+#define FIELD_TYPE_DOUBLE MYSQL_TYPE_DOUBLE
+#define FIELD_TYPE_NULL MYSQL_TYPE_NULL
+#define FIELD_TYPE_TIMESTAMP MYSQL_TYPE_TIMESTAMP
+#define FIELD_TYPE_LONGLONG MYSQL_TYPE_LONGLONG
+#define FIELD_TYPE_INT24 MYSQL_TYPE_INT24
+#define FIELD_TYPE_DATE MYSQL_TYPE_DATE
+#define FIELD_TYPE_TIME MYSQL_TYPE_TIME
+#define FIELD_TYPE_DATETIME MYSQL_TYPE_DATETIME
+#define FIELD_TYPE_YEAR MYSQL_TYPE_YEAR
+#define FIELD_TYPE_NEWDATE MYSQL_TYPE_NEWDATE
+#define FIELD_TYPE_ENUM MYSQL_TYPE_ENUM
+#define FIELD_TYPE_SET MYSQL_TYPE_SET
+#define FIELD_TYPE_TINY_BLOB MYSQL_TYPE_TINY_BLOB
+#define FIELD_TYPE_MEDIUM_BLOB MYSQL_TYPE_MEDIUM_BLOB
+#define FIELD_TYPE_LONG_BLOB MYSQL_TYPE_LONG_BLOB
+#define FIELD_TYPE_BLOB MYSQL_TYPE_BLOB
+#define FIELD_TYPE_VAR_STRING MYSQL_TYPE_VAR_STRING
+#define FIELD_TYPE_STRING MYSQL_TYPE_STRING
+#define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
+#define FIELD_TYPE_BIT MYSQL_TYPE_BIT
+
+extern unsigned long max_allowed_packet;
+extern unsigned long net_buffer_length;
+
+#define net_new_transaction(net) ((net)->pkt_nr=0)
+
+int ma_net_init(NET *net, MARIADB_PVIO *pvio);
+void ma_net_end(NET *net);
+void ma_net_clear(NET *net);
+int ma_net_flush(NET *net);
+int ma_net_write(NET *net,const unsigned char *packet, size_t len);
+int ma_net_write_command(NET *net,unsigned char command,const char *packet,
+ size_t len, my_bool disable_flush);
+int ma_net_real_write(NET *net,const char *packet, size_t len);
+extern unsigned long ma_net_read(NET *net);
+
+struct rand_struct {
+ unsigned long seed1,seed2,max_value;
+ double max_value_dbl;
+};
+
+ /* The following is for user defined functions */
+
+enum Item_result {STRING_RESULT,REAL_RESULT,INT_RESULT,ROW_RESULT,DECIMAL_RESULT};
+
+typedef struct st_udf_args
+{
+ unsigned int arg_count; /* Number of arguments */
+ enum Item_result *arg_type; /* Pointer to item_results */
+ char **args; /* Pointer to argument */
+ unsigned long *lengths; /* Length of string arguments */
+ char *maybe_null; /* Set to 1 for all maybe_null args */
+} UDF_ARGS;
+
+ /* This holds information about the result */
+
+typedef struct st_udf_init
+{
+ my_bool maybe_null; /* 1 if function can return NULL */
+ unsigned int decimals; /* for real functions */
+ unsigned int max_length; /* For string functions */
+ char *ptr; /* free pointer for function data */
+ my_bool const_item; /* 0 if result is independent of arguments */
+} UDF_INIT;
+
+/* Connection types */
+#define MARIADB_CONNECTION_UNIXSOCKET 0
+#define MARIADB_CONNECTION_TCP 1
+#define MARIADB_CONNECTION_NAMEDPIPE 2
+#define MARIADB_CONNECTION_SHAREDMEM 3
+
+ /* Constants when using compression */
+#define NET_HEADER_SIZE 4 /* standard header size */
+#define COMP_HEADER_SIZE 3 /* compression header extra size */
+
+ /* Prototypes to password functions */
+#define native_password_plugin_name "mysql_native_password"
+#define old_password_plugin_name "mysql_old_password"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char *ma_scramble_323(char *to,const char *message,const char *password);
+void ma_scramble_41(const unsigned char *buffer, const char *scramble, const char *password);
+void ma_hash_password(unsigned long *result, const char *password, size_t len);
+void ma_make_scrambled_password(char *to,const char *password);
+
+/* Some other useful functions */
+
+void mariadb_load_defaults(const char *conf_file, const char **groups,
+ int *argc, char ***argv);
+my_bool ma_thread_init(void);
+void ma_thread_end(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define NULL_LENGTH ((unsigned long) ~0) /* For net_store_length */
+
+#endif
diff --git a/3rdparty/mariadb/include/mariadb_ctype.h b/3rdparty/mariadb/include/mariadb_ctype.h
new file mode 100644
index 000000000..bc65fcdc2
--- /dev/null
+++ b/3rdparty/mariadb/include/mariadb_ctype.h
@@ -0,0 +1,76 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA */
+
+/*
+ A better inplementation of the UNIX ctype(3) library.
+ Notes: my_global.h should be included before ctype.h
+*/
+
+#ifndef _mariadb_ctype_h
+#define _mariadb_ctype_h
+
+#include <ctype.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define CHARSET_DIR "charsets/"
+#define MY_CS_NAME_SIZE 32
+
+#define MADB_DEFAULT_CHARSET_NAME "latin1"
+#define MADB_DEFAULT_COLLATION_NAME "latin1_swedish_ci"
+#define MADB_AUTODETECT_CHARSET_NAME "auto"
+
+/* we use the mysqlnd implementation */
+typedef struct ma_charset_info_st
+{
+ unsigned int nr; /* so far only 1 byte for charset */
+ unsigned int state;
+ const char *csname;
+ const char *name;
+ const char *dir;
+ unsigned int codepage;
+ const char *encoding;
+ unsigned int char_minlen;
+ unsigned int char_maxlen;
+ unsigned int (*mb_charlen)(unsigned int c);
+ unsigned int (*mb_valid)(const char *start, const char *end);
+} MARIADB_CHARSET_INFO;
+
+extern const MARIADB_CHARSET_INFO mariadb_compiled_charsets[];
+extern MARIADB_CHARSET_INFO *ma_default_charset_info;
+extern MARIADB_CHARSET_INFO *ma_charset_bin;
+extern MARIADB_CHARSET_INFO *ma_charset_latin1;
+extern MARIADB_CHARSET_INFO *ma_charset_utf8_general_ci;
+extern MARIADB_CHARSET_INFO *ma_charset_utf16le_general_ci;
+
+MARIADB_CHARSET_INFO *find_compiled_charset(unsigned int cs_number);
+MARIADB_CHARSET_INFO *find_compiled_charset_by_name(const char *name);
+
+size_t mysql_cset_escape_quotes(const MARIADB_CHARSET_INFO *cset, char *newstr, const char *escapestr, size_t escapestr_len);
+size_t mysql_cset_escape_slashes(const MARIADB_CHARSET_INFO *cset, char *newstr, const char *escapestr, size_t escapestr_len);
+const char* madb_get_os_character_set(void);
+#ifdef _WIN32
+int madb_get_windows_cp(const char *charset);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/3rdparty/mariadb/include/mariadb_dyncol.h b/3rdparty/mariadb/include/mariadb_dyncol.h
new file mode 100644
index 000000000..a6084fd92
--- /dev/null
+++ b/3rdparty/mariadb/include/mariadb_dyncol.h
@@ -0,0 +1,256 @@
+/* Copyright (c) 2011, Monty Program Ab
+ Copyright (c) 2011, Oleksandr Byelkin
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+ THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ``AS IS'' AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
+*/
+
+#ifndef ma_dyncol_h
+#define ma_dyncol_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef LIBMARIADB
+#include <decimal.h>
+#include <my_decimal_limits.h>
+#endif
+#include <mysql.h>
+
+#ifndef longlong_defined
+#if defined(HAVE_LONG_LONG) && SIZEOF_LONG != 8
+typedef unsigned long long int ulonglong; /* ulong or unsigned long long */
+typedef long long int longlong;
+#else
+typedef unsigned long ulonglong; /* ulong or unsigned long long */
+typedef long longlong;
+#endif
+#define longlong_defined
+#endif
+
+
+#ifndef _my_sys_h
+typedef struct st_dynamic_string
+{
+ char *str;
+ size_t length,max_length,alloc_increment;
+} DYNAMIC_STRING;
+#endif
+
+struct st_mysql_lex_string
+{
+ char *str;
+ size_t length;
+};
+typedef struct st_mysql_lex_string MYSQL_LEX_STRING;
+typedef struct st_mysql_lex_string LEX_STRING;
+/*
+ Limits of implementation
+*/
+#define MAX_TOTAL_NAME_LENGTH 65535
+#define MAX_NAME_LENGTH (MAX_TOTAL_NAME_LENGTH/4)
+
+/* NO and OK is the same used just to show semantics */
+#define ER_DYNCOL_NO ER_DYNCOL_OK
+
+enum enum_dyncol_func_result
+{
+ ER_DYNCOL_OK= 0,
+ ER_DYNCOL_YES= 1, /* For functions returning 0/1 */
+ ER_DYNCOL_FORMAT= -1, /* Wrong format of the encoded string */
+ ER_DYNCOL_LIMIT= -2, /* Some limit reached */
+ ER_DYNCOL_RESOURCE= -3, /* Out of resourses */
+ ER_DYNCOL_DATA= -4, /* Incorrect input data */
+ ER_DYNCOL_UNKNOWN_CHARSET= -5, /* Unknown character set */
+ ER_DYNCOL_TRUNCATED= 2 /* OK, but data was truncated */
+};
+
+typedef DYNAMIC_STRING DYNAMIC_COLUMN;
+
+enum enum_dynamic_column_type
+{
+ DYN_COL_NULL= 0,
+ DYN_COL_INT,
+ DYN_COL_UINT,
+ DYN_COL_DOUBLE,
+ DYN_COL_STRING,
+ DYN_COL_DECIMAL,
+ DYN_COL_DATETIME,
+ DYN_COL_DATE,
+ DYN_COL_TIME,
+ DYN_COL_DYNCOL
+};
+
+typedef enum enum_dynamic_column_type DYNAMIC_COLUMN_TYPE;
+
+struct st_dynamic_column_value
+{
+ DYNAMIC_COLUMN_TYPE type;
+ union
+ {
+ long long long_value;
+ unsigned long long ulong_value;
+ double double_value;
+ struct {
+ MYSQL_LEX_STRING value;
+ MARIADB_CHARSET_INFO *charset;
+ } string;
+#ifndef LIBMARIADB
+ struct {
+ decimal_digit_t buffer[DECIMAL_BUFF_LENGTH];
+ decimal_t value;
+ } decimal;
+#endif
+ MYSQL_TIME time_value;
+ } x;
+};
+
+typedef struct st_dynamic_column_value DYNAMIC_COLUMN_VALUE;
+
+#ifdef MADYNCOL_DEPRECATED
+enum enum_dyncol_func_result
+dynamic_column_create(DYNAMIC_COLUMN *str,
+ uint column_nr, DYNAMIC_COLUMN_VALUE *value);
+
+enum enum_dyncol_func_result
+dynamic_column_create_many(DYNAMIC_COLUMN *str,
+ uint column_count,
+ uint *column_numbers,
+ DYNAMIC_COLUMN_VALUE *values);
+enum enum_dyncol_func_result
+dynamic_column_update(DYNAMIC_COLUMN *org, uint column_nr,
+ DYNAMIC_COLUMN_VALUE *value);
+enum enum_dyncol_func_result
+dynamic_column_update_many(DYNAMIC_COLUMN *str,
+ uint add_column_count,
+ uint *column_numbers,
+ DYNAMIC_COLUMN_VALUE *values);
+
+enum enum_dyncol_func_result
+dynamic_column_exists(DYNAMIC_COLUMN *org, uint column_nr);
+
+enum enum_dyncol_func_result
+dynamic_column_list(DYNAMIC_COLUMN *org, DYNAMIC_ARRAY *array_of_uint);
+
+enum enum_dyncol_func_result
+dynamic_column_get(DYNAMIC_COLUMN *org, uint column_nr,
+ DYNAMIC_COLUMN_VALUE *store_it_here);
+#endif
+
+/* new functions */
+enum enum_dyncol_func_result
+mariadb_dyncol_create_many_num(DYNAMIC_COLUMN *str,
+ uint column_count,
+ uint *column_numbers,
+ DYNAMIC_COLUMN_VALUE *values,
+ my_bool new_string);
+enum enum_dyncol_func_result
+mariadb_dyncol_create_many_named(DYNAMIC_COLUMN *str,
+ uint column_count,
+ MYSQL_LEX_STRING *column_keys,
+ DYNAMIC_COLUMN_VALUE *values,
+ my_bool new_string);
+
+
+enum enum_dyncol_func_result
+mariadb_dyncol_update_many_num(DYNAMIC_COLUMN *str,
+ uint add_column_count,
+ uint *column_keys,
+ DYNAMIC_COLUMN_VALUE *values);
+enum enum_dyncol_func_result
+mariadb_dyncol_update_many_named(DYNAMIC_COLUMN *str,
+ uint add_column_count,
+ MYSQL_LEX_STRING *column_keys,
+ DYNAMIC_COLUMN_VALUE *values);
+
+
+enum enum_dyncol_func_result
+mariadb_dyncol_exists_num(DYNAMIC_COLUMN *org, uint column_nr);
+enum enum_dyncol_func_result
+mariadb_dyncol_exists_named(DYNAMIC_COLUMN *str, MYSQL_LEX_STRING *name);
+
+/* List of not NULL columns */
+enum enum_dyncol_func_result
+mariadb_dyncol_list_num(DYNAMIC_COLUMN *str, uint *count, uint **nums);
+enum enum_dyncol_func_result
+mariadb_dyncol_list_named(DYNAMIC_COLUMN *str, uint *count,
+ MYSQL_LEX_STRING **names);
+
+/*
+ if the column do not exists it is NULL
+*/
+enum enum_dyncol_func_result
+mariadb_dyncol_get_num(DYNAMIC_COLUMN *org, uint column_nr,
+ DYNAMIC_COLUMN_VALUE *store_it_here);
+enum enum_dyncol_func_result
+mariadb_dyncol_get_named(DYNAMIC_COLUMN *str, MYSQL_LEX_STRING *name,
+ DYNAMIC_COLUMN_VALUE *store_it_here);
+
+my_bool mariadb_dyncol_has_names(DYNAMIC_COLUMN *str);
+
+enum enum_dyncol_func_result
+mariadb_dyncol_check(DYNAMIC_COLUMN *str);
+
+enum enum_dyncol_func_result
+mariadb_dyncol_json(DYNAMIC_COLUMN *str, DYNAMIC_STRING *json);
+
+void mariadb_dyncol_free(DYNAMIC_COLUMN *str);
+
+#define mariadb_dyncol_init(A) memset((A), 0, sizeof(DYNAMIC_COLUMN))
+#define dynamic_column_initialize(A) mariadb_dyncol_init((A))
+#define dynamic_column_column_free(A) mariadb_dyncol_free((A))
+
+/* conversion of values to 3 base types */
+enum enum_dyncol_func_result
+mariadb_dyncol_val_str(DYNAMIC_STRING *str, DYNAMIC_COLUMN_VALUE *val,
+ MARIADB_CHARSET_INFO *cs, char quote);
+enum enum_dyncol_func_result
+mariadb_dyncol_val_long(longlong *ll, DYNAMIC_COLUMN_VALUE *val);
+enum enum_dyncol_func_result
+mariadb_dyncol_val_double(double *dbl, DYNAMIC_COLUMN_VALUE *val);
+
+enum enum_dyncol_func_result
+mariadb_dyncol_unpack(DYNAMIC_COLUMN *str,
+ uint *count,
+ MYSQL_LEX_STRING **names, DYNAMIC_COLUMN_VALUE **vals);
+
+int mariadb_dyncol_column_cmp_named(const MYSQL_LEX_STRING *s1,
+ const MYSQL_LEX_STRING *s2);
+
+enum enum_dyncol_func_result
+mariadb_dyncol_column_count(DYNAMIC_COLUMN *str, uint *column_count);
+
+#define mariadb_dyncol_value_init(V) (V)->type= DYN_COL_NULL
+
+/*
+ Prepare value for using as decimal
+*/
+void mariadb_dyncol_prepare_decimal(DYNAMIC_COLUMN_VALUE *value);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/3rdparty/mariadb/include/mariadb_rpl.h b/3rdparty/mariadb/include/mariadb_rpl.h
new file mode 100644
index 000000000..96b3aba04
--- /dev/null
+++ b/3rdparty/mariadb/include/mariadb_rpl.h
@@ -0,0 +1,305 @@
+/* Copyright (C) 2018 MariaDB Corporation AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA */
+#ifndef _mariadb_rpl_h_
+#define _mariadb_rpl_h_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stdint.h>
+
+#define MARIADB_RPL_VERSION 0x0001
+#define MARIADB_RPL_REQUIRED_VERSION 0x0001
+
+/* Protocol flags */
+#define MARIADB_RPL_BINLOG_DUMP_NON_BLOCK 1
+#define MARIADB_RPL_BINLOG_SEND_ANNOTATE_ROWS 2
+#define MARIADB_RPL_IGNORE_HEARTBEAT (1 << 17)
+
+#define EVENT_HEADER_OFS 20
+
+#define FL_GROUP_COMMIT_ID 2
+#define FL_STMT_END 1
+
+#define LOG_EVENT_ARTIFICIAL_F 0x20
+
+
+/* Options */
+enum mariadb_rpl_option {
+ MARIADB_RPL_FILENAME, /* Filename and length */
+ MARIADB_RPL_START, /* Start position */
+ MARIADB_RPL_SERVER_ID, /* Server ID */
+ MARIADB_RPL_FLAGS, /* Protocol flags */
+ MARIADB_RPL_GTID_CALLBACK, /* GTID callback function */
+ MARIADB_RPL_GTID_DATA, /* GTID data */
+ MARIADB_RPL_BUFFER
+};
+
+/* Event types: From MariaDB Server sql/log_event.h */
+enum mariadb_rpl_event {
+ UNKNOWN_EVENT= 0,
+ START_EVENT_V3= 1,
+ QUERY_EVENT= 2,
+ STOP_EVENT= 3,
+ ROTATE_EVENT= 4,
+ INTVAR_EVENT= 5,
+ LOAD_EVENT= 6,
+ SLAVE_EVENT= 7,
+ CREATE_FILE_EVENT= 8,
+ APPEND_BLOCK_EVENT= 9,
+ EXEC_LOAD_EVENT= 10,
+ DELETE_FILE_EVENT= 11,
+ NEW_LOAD_EVENT= 12,
+ RAND_EVENT= 13,
+ USER_VAR_EVENT= 14,
+ FORMAT_DESCRIPTION_EVENT= 15,
+ XID_EVENT= 16,
+ BEGIN_LOAD_QUERY_EVENT= 17,
+ EXECUTE_LOAD_QUERY_EVENT= 18,
+ TABLE_MAP_EVENT = 19,
+
+ PRE_GA_WRITE_ROWS_EVENT = 20, /* deprecated */
+ PRE_GA_UPDATE_ROWS_EVENT = 21, /* deprecated */
+ PRE_GA_DELETE_ROWS_EVENT = 22, /* deprecated */
+
+ WRITE_ROWS_EVENT_V1 = 23,
+ UPDATE_ROWS_EVENT_V1 = 24,
+ DELETE_ROWS_EVENT_V1 = 25,
+ INCIDENT_EVENT= 26,
+ HEARTBEAT_LOG_EVENT= 27,
+ IGNORABLE_LOG_EVENT= 28,
+ ROWS_QUERY_LOG_EVENT= 29,
+ WRITE_ROWS_EVENT = 30,
+ UPDATE_ROWS_EVENT = 31,
+ DELETE_ROWS_EVENT = 32,
+ GTID_LOG_EVENT= 33,
+ ANONYMOUS_GTID_LOG_EVENT= 34,
+ PREVIOUS_GTIDS_LOG_EVENT= 35,
+ TRANSACTION_CONTEXT_EVENT= 36,
+ VIEW_CHANGE_EVENT= 37,
+ XA_PREPARE_LOG_EVENT= 38,
+
+ /*
+ Add new events here - right above this comment!
+ Existing events (except ENUM_END_EVENT) should never change their numbers
+ */
+
+ /* New MySQL/Sun events are to be added right above this comment */
+ MYSQL_EVENTS_END,
+
+ MARIA_EVENTS_BEGIN= 160,
+ ANNOTATE_ROWS_EVENT= 160,
+ BINLOG_CHECKPOINT_EVENT= 161,
+ GTID_EVENT= 162,
+ GTID_LIST_EVENT= 163,
+ START_ENCRYPTION_EVENT= 164,
+ QUERY_COMPRESSED_EVENT = 165,
+ WRITE_ROWS_COMPRESSED_EVENT_V1 = 166,
+ UPDATE_ROWS_COMPRESSED_EVENT_V1 = 167,
+ DELETE_ROWS_COMPRESSED_EVENT_V1 = 168,
+ WRITE_ROWS_COMPRESSED_EVENT = 169,
+ UPDATE_ROWS_COMPRESSED_EVENT = 170,
+ DELETE_ROWS_COMPRESSED_EVENT = 171,
+
+ /* Add new MariaDB events here - right above this comment! */
+
+ ENUM_END_EVENT /* end marker */
+};
+
+typedef struct {
+ char *str;
+ size_t length;
+} MARIADB_STRING;
+
+enum mariadb_row_event_type {
+ WRITE_ROWS= 0,
+ UPDATE_ROWS= 1,
+ DELETE_ROWS= 2
+};
+
+/* Global transaction id */
+typedef struct st_mariadb_gtid {
+ unsigned int domain_id;
+ unsigned int server_id;
+ unsigned long long sequence_nr;
+} MARIADB_GTID;
+
+/* Generic replication handle */
+typedef struct st_mariadb_rpl {
+ unsigned int version;
+ MYSQL *mysql;
+ char *filename;
+ uint32_t filename_length;
+ unsigned char *buffer;
+ unsigned long buffer_size;
+ uint32_t server_id;
+ unsigned long start_position;
+ uint32_t flags;
+ uint8_t fd_header_len; /* header len from last format description event */
+ uint8_t use_checksum;
+} MARIADB_RPL;
+
+/* Event header */
+struct st_mariadb_rpl_rotate_event {
+ unsigned long long position;
+ MARIADB_STRING filename;
+};
+
+struct st_mariadb_rpl_query_event {
+ uint32_t thread_id;
+ uint32_t seconds;
+ MARIADB_STRING database;
+ uint32_t errornr;
+ MARIADB_STRING status;
+ MARIADB_STRING statement;
+};
+
+struct st_mariadb_rpl_gtid_list_event {
+ uint32_t gtid_cnt;
+ MARIADB_GTID *gtid;
+};
+
+struct st_mariadb_rpl_format_description_event
+{
+ uint16_t format;
+ char *server_version;
+ uint32_t timestamp;
+ uint8_t header_len;
+};
+
+struct st_mariadb_rpl_checkpoint_event {
+ MARIADB_STRING filename;
+};
+
+struct st_mariadb_rpl_xid_event {
+ uint64_t transaction_nr;
+};
+
+struct st_mariadb_rpl_gtid_event {
+ uint64_t sequence_nr;
+ uint32_t domain_id;
+ uint8_t flags;
+ uint64_t commit_id;
+};
+
+struct st_mariadb_rpl_annotate_rows_event {
+ MARIADB_STRING statement;
+};
+
+struct st_mariadb_rpl_table_map_event {
+ unsigned long long table_id;
+ MARIADB_STRING database;
+ MARIADB_STRING table;
+ unsigned int column_count;
+ MARIADB_STRING column_types;
+ MARIADB_STRING metadata;
+ char *null_indicator;
+};
+
+struct st_mariadb_rpl_rand_event {
+ unsigned long long first_seed;
+ unsigned long long second_seed;
+};
+
+struct st_mariadb_rpl_encryption_event {
+ char scheme;
+ unsigned int key_version;
+ char *nonce;
+};
+
+struct st_mariadb_rpl_intvar_event {
+ char type;
+ unsigned long long value;
+};
+
+struct st_mariadb_rpl_uservar_event {
+ MARIADB_STRING name;
+ uint8_t is_null;
+ uint8_t type;
+ uint32_t charset_nr;
+ MARIADB_STRING value;
+ uint8_t flags;
+};
+
+struct st_mariadb_rpl_rows_event {
+ enum mariadb_row_event_type type;
+ uint64_t table_id;
+ uint16_t flags;
+ uint32_t column_count;
+ char *column_bitmap;
+ char *column_update_bitmap;
+ size_t row_data_size;
+ void *row_data;
+};
+
+struct st_mariadb_rpl_heartbeat_event {
+ uint32_t timestamp;
+ uint32_t next_position;
+ uint8_t type;
+ uint16_t flags;
+};
+
+typedef struct st_mariadb_rpl_event
+{
+ /* common header */
+ MA_MEM_ROOT memroot;
+ unsigned int checksum;
+ char ok;
+ enum mariadb_rpl_event event_type;
+ unsigned int timestamp;
+ unsigned int server_id;
+ unsigned int event_length;
+ unsigned int next_event_pos;
+ unsigned short flags;
+ /****************/
+ union {
+ struct st_mariadb_rpl_rotate_event rotate;
+ struct st_mariadb_rpl_query_event query;
+ struct st_mariadb_rpl_format_description_event format_description;
+ struct st_mariadb_rpl_gtid_list_event gtid_list;
+ struct st_mariadb_rpl_checkpoint_event checkpoint;
+ struct st_mariadb_rpl_xid_event xid;
+ struct st_mariadb_rpl_gtid_event gtid;
+ struct st_mariadb_rpl_annotate_rows_event annotate_rows;
+ struct st_mariadb_rpl_table_map_event table_map;
+ struct st_mariadb_rpl_rand_event rand;
+ struct st_mariadb_rpl_encryption_event encryption;
+ struct st_mariadb_rpl_intvar_event intvar;
+ struct st_mariadb_rpl_uservar_event uservar;
+ struct st_mariadb_rpl_rows_event rows;
+ struct st_mariadb_rpl_heartbeat_event heartbeat;
+ } event;
+} MARIADB_RPL_EVENT;
+
+#define mariadb_rpl_init(a) mariadb_rpl_init_ex((a), MARIADB_RPL_VERSION)
+
+/* Function prototypes */
+MARIADB_RPL * STDCALL mariadb_rpl_init_ex(MYSQL *mysql, unsigned int version);
+
+int STDCALL mariadb_rpl_optionsv(MARIADB_RPL *rpl, enum mariadb_rpl_option, ...);
+int STDCALL mariadb_rpl_get_optionsv(MARIADB_RPL *rpl, enum mariadb_rpl_option, ...);
+
+int STDCALL mariadb_rpl_open(MARIADB_RPL *rpl);
+void STDCALL mariadb_rpl_close(MARIADB_RPL *rpl);
+MARIADB_RPL_EVENT * STDCALL mariadb_rpl_fetch(MARIADB_RPL *rpl, MARIADB_RPL_EVENT *event);
+void STDCALL mariadb_free_rpl_event(MARIADB_RPL_EVENT *event);
+
+#ifdef __cplusplus
+}
+#endif
+#endif
diff --git a/3rdparty/mariadb/include/mariadb_stmt.h b/3rdparty/mariadb/include/mariadb_stmt.h
new file mode 100644
index 000000000..0aa14362a
--- /dev/null
+++ b/3rdparty/mariadb/include/mariadb_stmt.h
@@ -0,0 +1,298 @@
+/************************************************************************
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA
+
+ Part of this code includes code from PHP's mysqlnd extension
+ (written by Andrey Hristov, Georg Richter and Ulf Wendel), freely
+ available from http://www.php.net/software
+
+*************************************************************************/
+
+#define MYSQL_NO_DATA 100
+#define MYSQL_DATA_TRUNCATED 101
+#define MYSQL_DEFAULT_PREFETCH_ROWS (unsigned long) 1
+
+/* Bind flags */
+#define MADB_BIND_DUMMY 1
+
+#define MARIADB_STMT_BULK_SUPPORTED(stmt)\
+ ((stmt)->mysql && \
+ (!((stmt)->mysql->server_capabilities & CLIENT_MYSQL) &&\
+ ((stmt)->mysql->extension->mariadb_server_capabilities & \
+ (MARIADB_CLIENT_STMT_BULK_OPERATIONS >> 32))))
+
+#define SET_CLIENT_STMT_ERROR(a, b, c, d) \
+{ \
+ (a)->last_errno= (b);\
+ strncpy((a)->sqlstate, (c), SQLSTATE_LENGTH);\
+ (a)->sqlstate[SQLSTATE_LENGTH]= 0;\
+ strncpy((a)->last_error, (d) ? (d) : ER((b)), MYSQL_ERRMSG_SIZE);\
+ (a)->last_error[MYSQL_ERRMSG_SIZE - 1]= 0;\
+}
+
+#define CLEAR_CLIENT_STMT_ERROR(a) \
+{ \
+ (a)->last_errno= 0;\
+ strcpy((a)->sqlstate, "00000");\
+ (a)->last_error[0]= 0;\
+}
+
+#define MYSQL_PS_SKIP_RESULT_W_LEN -1
+#define MYSQL_PS_SKIP_RESULT_STR -2
+#define STMT_ID_LENGTH 4
+
+
+typedef struct st_mysql_stmt MYSQL_STMT;
+
+typedef MYSQL_RES* (*mysql_stmt_use_or_store_func)(MYSQL_STMT *);
+
+enum enum_stmt_attr_type
+{
+ STMT_ATTR_UPDATE_MAX_LENGTH,
+ STMT_ATTR_CURSOR_TYPE,
+ STMT_ATTR_PREFETCH_ROWS,
+
+ /* MariaDB only */
+ STMT_ATTR_PREBIND_PARAMS=200,
+ STMT_ATTR_ARRAY_SIZE,
+ STMT_ATTR_ROW_SIZE,
+ STMT_ATTR_STATE,
+ STMT_ATTR_CB_USER_DATA,
+ STMT_ATTR_CB_PARAM,
+ STMT_ATTR_CB_RESULT
+};
+
+enum enum_cursor_type
+{
+ CURSOR_TYPE_NO_CURSOR= 0,
+ CURSOR_TYPE_READ_ONLY= 1,
+ CURSOR_TYPE_FOR_UPDATE= 2,
+ CURSOR_TYPE_SCROLLABLE= 4
+};
+
+enum enum_indicator_type
+{
+ STMT_INDICATOR_NTS=-1,
+ STMT_INDICATOR_NONE=0,
+ STMT_INDICATOR_NULL=1,
+ STMT_INDICATOR_DEFAULT=2,
+ STMT_INDICATOR_IGNORE=3,
+ STMT_INDICATOR_IGNORE_ROW=4
+};
+
+/*
+ bulk PS flags
+*/
+#define STMT_BULK_FLAG_CLIENT_SEND_TYPES 128
+#define STMT_BULK_FLAG_INSERT_ID_REQUEST 64
+
+typedef enum mysql_stmt_state
+{
+ MYSQL_STMT_INITTED = 0,
+ MYSQL_STMT_PREPARED,
+ MYSQL_STMT_EXECUTED,
+ MYSQL_STMT_WAITING_USE_OR_STORE,
+ MYSQL_STMT_USE_OR_STORE_CALLED,
+ MYSQL_STMT_USER_FETCHING, /* fetch_row_buff or fetch_row_unbuf */
+ MYSQL_STMT_FETCH_DONE
+} enum_mysqlnd_stmt_state;
+
+typedef struct st_mysql_bind
+{
+ unsigned long *length; /* output length pointer */
+ my_bool *is_null; /* Pointer to null indicator */
+ void *buffer; /* buffer to get/put data */
+ /* set this if you want to track data truncations happened during fetch */
+ my_bool *error;
+ union {
+ unsigned char *row_ptr; /* for the current data position */
+ char *indicator; /* indicator variable */
+ } u;
+ void (*store_param_func)(NET *net, struct st_mysql_bind *param);
+ void (*fetch_result)(struct st_mysql_bind *, MYSQL_FIELD *,
+ unsigned char **row);
+ void (*skip_result)(struct st_mysql_bind *, MYSQL_FIELD *,
+ unsigned char **row);
+ /* output buffer length, must be set when fetching str/binary */
+ unsigned long buffer_length;
+ unsigned long offset; /* offset position for char/binary fetch */
+ unsigned long length_value; /* Used if length is 0 */
+ unsigned int flags; /* special flags, e.g. for dummy bind */
+ unsigned int pack_length; /* Internal length for packed data */
+ enum enum_field_types buffer_type; /* buffer type */
+ my_bool error_value; /* used if error is 0 */
+ my_bool is_unsigned; /* set if integer type is unsigned */
+ my_bool long_data_used; /* If used with mysql_send_long_data */
+ my_bool is_null_value; /* Used if is_null is 0 */
+ void *extension;
+} MYSQL_BIND;
+
+typedef struct st_mysqlnd_upsert_result
+{
+ unsigned int warning_count;
+ unsigned int server_status;
+ unsigned long long affected_rows;
+ unsigned long long last_insert_id;
+} mysql_upsert_status;
+
+typedef struct st_mysql_cmd_buffer
+{
+ unsigned char *buffer;
+ size_t length;
+} MYSQL_CMD_BUFFER;
+
+typedef struct st_mysql_error_info
+{
+ unsigned int error_no;
+ char error[MYSQL_ERRMSG_SIZE+1];
+ char sqlstate[SQLSTATE_LENGTH + 1];
+} mysql_error_info;
+
+
+struct st_mysqlnd_stmt_methods
+{
+ my_bool (*prepare)(const MYSQL_STMT * stmt, const char * const query, size_t query_len);
+ my_bool (*execute)(const MYSQL_STMT * stmt);
+ MYSQL_RES * (*use_result)(const MYSQL_STMT * stmt);
+ MYSQL_RES * (*store_result)(const MYSQL_STMT * stmt);
+ MYSQL_RES * (*get_result)(const MYSQL_STMT * stmt);
+ my_bool (*free_result)(const MYSQL_STMT * stmt);
+ my_bool (*seek_data)(const MYSQL_STMT * stmt, unsigned long long row);
+ my_bool (*reset)(const MYSQL_STMT * stmt);
+ my_bool (*close)(const MYSQL_STMT * stmt); /* private */
+ my_bool (*dtor)(const MYSQL_STMT * stmt); /* use this for mysqlnd_stmt_close */
+
+ my_bool (*fetch)(const MYSQL_STMT * stmt, my_bool * const fetched_anything);
+
+ my_bool (*bind_param)(const MYSQL_STMT * stmt, const MYSQL_BIND bind);
+ my_bool (*refresh_bind_param)(const MYSQL_STMT * stmt);
+ my_bool (*bind_result)(const MYSQL_STMT * stmt, const MYSQL_BIND *bind);
+ my_bool (*send_long_data)(const MYSQL_STMT * stmt, unsigned int param_num,
+ const char * const data, size_t length);
+ MYSQL_RES *(*get_parameter_metadata)(const MYSQL_STMT * stmt);
+ MYSQL_RES *(*get_result_metadata)(const MYSQL_STMT * stmt);
+ unsigned long long (*get_last_insert_id)(const MYSQL_STMT * stmt);
+ unsigned long long (*get_affected_rows)(const MYSQL_STMT * stmt);
+ unsigned long long (*get_num_rows)(const MYSQL_STMT * stmt);
+
+ unsigned int (*get_param_count)(const MYSQL_STMT * stmt);
+ unsigned int (*get_field_count)(const MYSQL_STMT * stmt);
+ unsigned int (*get_warning_count)(const MYSQL_STMT * stmt);
+
+ unsigned int (*get_error_no)(const MYSQL_STMT * stmt);
+ const char * (*get_error_str)(const MYSQL_STMT * stmt);
+ const char * (*get_sqlstate)(const MYSQL_STMT * stmt);
+
+ my_bool (*get_attribute)(const MYSQL_STMT * stmt, enum enum_stmt_attr_type attr_type, const void * value);
+ my_bool (*set_attribute)(const MYSQL_STMT * stmt, enum enum_stmt_attr_type attr_type, const void * value);
+ void (*set_error)(MYSQL_STMT *stmt, unsigned int error_nr, const char *sqlstate, const char *format, ...);
+};
+
+typedef int (*mysql_stmt_fetch_row_func)(MYSQL_STMT *stmt, unsigned char **row);
+typedef void (*ps_result_callback)(void *data, unsigned int column, unsigned char **row);
+typedef my_bool *(*ps_param_callback)(void *data, MYSQL_BIND *bind, unsigned int row_nr);
+
+struct st_mysql_stmt
+{
+ MA_MEM_ROOT mem_root;
+ MYSQL *mysql;
+ unsigned long stmt_id;
+ unsigned long flags;/* cursor is set here */
+ enum_mysqlnd_stmt_state state;
+ MYSQL_FIELD *fields;
+ unsigned int field_count;
+ unsigned int param_count;
+ unsigned char send_types_to_server;
+ MYSQL_BIND *params;
+ MYSQL_BIND *bind;
+ MYSQL_DATA result; /* we don't use mysqlnd's result set logic */
+ MYSQL_ROWS *result_cursor;
+ my_bool bind_result_done;
+ my_bool bind_param_done;
+
+ mysql_upsert_status upsert_status;
+
+ unsigned int last_errno;
+ char last_error[MYSQL_ERRMSG_SIZE+1];
+ char sqlstate[SQLSTATE_LENGTH + 1];
+
+ my_bool update_max_length;
+ unsigned long prefetch_rows;
+ LIST list;
+
+ my_bool cursor_exists;
+
+ void *extension;
+ mysql_stmt_fetch_row_func fetch_row_func;
+ unsigned int execute_count;/* count how many times the stmt was executed */
+ mysql_stmt_use_or_store_func default_rset_handler;
+ struct st_mysqlnd_stmt_methods *m;
+ unsigned int array_size;
+ size_t row_size;
+ unsigned int prebind_params;
+ void *user_data;
+ ps_result_callback result_callback;
+ ps_param_callback param_callback;
+};
+
+typedef void (*ps_field_fetch_func)(MYSQL_BIND *r_param, const MYSQL_FIELD * field, unsigned char **row);
+typedef struct st_mysql_perm_bind {
+ ps_field_fetch_func func;
+ /* should be signed int */
+ int pack_len;
+ unsigned long max_len;
+} MYSQL_PS_CONVERSION;
+
+extern MYSQL_PS_CONVERSION mysql_ps_fetch_functions[MYSQL_TYPE_GEOMETRY + 1];
+unsigned long ma_net_safe_read(MYSQL *mysql);
+void mysql_init_ps_subsystem(void);
+unsigned long net_field_length(unsigned char **packet);
+int ma_simple_command(MYSQL *mysql,enum enum_server_command command, const char *arg,
+ size_t length, my_bool skipp_check, void *opt_arg);
+/*
+ * function prototypes
+ */
+MYSQL_STMT * STDCALL mysql_stmt_init(MYSQL *mysql);
+int STDCALL mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, unsigned long length);
+int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_fetch(MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *bind_arg, unsigned int column, unsigned long offset);
+int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt);
+unsigned long STDCALL mysql_stmt_param_count(MYSQL_STMT * stmt);
+my_bool STDCALL mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *attr);
+my_bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *attr);
+my_bool STDCALL mysql_stmt_bind_param(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
+my_bool STDCALL mysql_stmt_bind_result(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
+my_bool STDCALL mysql_stmt_close(MYSQL_STMT * stmt);
+my_bool STDCALL mysql_stmt_reset(MYSQL_STMT * stmt);
+my_bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt);
+my_bool STDCALL mysql_stmt_send_long_data(MYSQL_STMT *stmt, unsigned int param_number, const char *data, unsigned long length);
+MYSQL_RES *STDCALL mysql_stmt_result_metadata(MYSQL_STMT *stmt);
+MYSQL_RES *STDCALL mysql_stmt_param_metadata(MYSQL_STMT *stmt);
+unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT * stmt);
+const char *STDCALL mysql_stmt_error(MYSQL_STMT * stmt);
+const char *STDCALL mysql_stmt_sqlstate(MYSQL_STMT * stmt);
+MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET offset);
+MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_tell(MYSQL_STMT *stmt);
+void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, unsigned long long offset);
+unsigned long long STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt);
+unsigned long long STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt);
+unsigned long long STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt);
+unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_next_result(MYSQL_STMT *stmt);
+my_bool STDCALL mysql_stmt_more_results(MYSQL_STMT *stmt);
+int STDCALL mariadb_stmt_execute_direct(MYSQL_STMT *stmt, const char *stmt_str, size_t length);
+MYSQL_FIELD * STDCALL mariadb_stmt_fetch_fields(MYSQL_STMT *stmt);
diff --git a/3rdparty/mariadb/include/mariadb_version.h b/3rdparty/mariadb/include/mariadb_version.h
new file mode 100644
index 000000000..0fd2da691
--- /dev/null
+++ b/3rdparty/mariadb/include/mariadb_version.h
@@ -0,0 +1,38 @@
+/* Copyright Abandoned 1996, 1999, 2001 MySQL AB
+ This file is public domain and comes with NO WARRANTY of any kind */
+
+/* Version numbers for protocol & mysqld */
+
+#ifndef _mariadb_version_h_
+#define _mariadb_version_h_
+
+#ifdef _CUSTOMCONFIG_
+#include <custom_conf.h>
+#else
+#define PROTOCOL_VERSION 10
+#define MARIADB_CLIENT_VERSION_STR "10.4.3"
+#define MARIADB_BASE_VERSION "mariadb-10.4"
+#define MARIADB_VERSION_ID 100403
+#define MARIADB_PORT 3306
+#define MARIADB_UNIX_ADDR "/tmp/mysql.sock"
+
+#define MYSQL_CONFIG_NAME "my"
+#define MYSQL_VERSION_ID 100403
+#define MYSQL_SERVER_VERSION "10.4.3-MariaDB"
+
+#define MARIADB_PACKAGE_VERSION "3.1.5"
+#define MARIADB_PACKAGE_VERSION_ID 30105
+#define MARIADB_SYSTEM_TYPE "Windows"
+#define MARIADB_MACHINE_TYPE "AMD64"
+#define MARIADB_PLUGINDIR "./3rdparty/mariadb/lib/plugin"
+
+/* mysqld compile time options */
+#ifndef MYSQL_CHARSET
+#define MYSQL_CHARSET ""
+#endif
+#endif
+
+/* Source information */
+#define CC_SOURCE_REVISION "980f2dbea6586091333057bb2994b18747466942"
+
+#endif /* _mariadb_version_h_ */
diff --git a/3rdparty/mariadb/include/mysql.h b/3rdparty/mariadb/include/mysql.h
new file mode 100644
index 000000000..dcaf316de
--- /dev/null
+++ b/3rdparty/mariadb/include/mysql.h
@@ -0,0 +1,868 @@
+/* Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
+ 2012 by MontyProgram AB
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA */
+
+/* defines for the libmariadb library */
+
+#ifndef _mysql_h
+#define _mysql_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef LIBMARIADB
+#define LIBMARIADB
+#endif
+#ifndef MYSQL_CLIENT
+#define MYSQL_CLIENT
+#endif
+
+#include <stdarg.h>
+
+#if !defined (_global_h) && !defined (MY_GLOBAL_INCLUDED) /* If not standard header */
+#include <sys/types.h>
+typedef char my_bool;
+typedef unsigned long long my_ulonglong;
+
+#if !defined(_WIN32)
+#define STDCALL
+#else
+#define STDCALL __stdcall
+#endif
+
+#ifndef my_socket_defined
+#define my_socket_defined
+#if defined(_WIN64)
+#define my_socket unsigned long long
+#elif defined(_WIN32)
+#define my_socket unsigned int
+#else
+typedef int my_socket;
+#endif
+#endif
+#endif
+#include "mariadb_com.h"
+#include "mariadb_version.h"
+#include "ma_list.h"
+#include "mariadb_ctype.h"
+
+#ifndef ST_MA_USED_MEM_DEFINED
+#define ST_MA_USED_MEM_DEFINED
+ typedef struct st_ma_used_mem { /* struct for once_alloc */
+ struct st_ma_used_mem *next; /* Next block in use */
+ size_t left; /* memory left in block */
+ size_t size; /* Size of block */
+ } MA_USED_MEM;
+
+ typedef struct st_ma_mem_root {
+ MA_USED_MEM *free;
+ MA_USED_MEM *used;
+ MA_USED_MEM *pre_alloc;
+ size_t min_malloc;
+ size_t block_size;
+ unsigned int block_num;
+ unsigned int first_block_usage;
+ void (*error_handler)(void);
+ } MA_MEM_ROOT;
+#endif
+
+extern unsigned int mysql_port;
+extern char *mysql_unix_port;
+extern unsigned int mariadb_deinitialize_ssl;
+
+#define IS_PRI_KEY(n) ((n) & PRI_KEY_FLAG)
+#define IS_NOT_NULL(n) ((n) & NOT_NULL_FLAG)
+#define IS_BLOB(n) ((n) & BLOB_FLAG)
+#define IS_NUM(t) (((t) <= MYSQL_TYPE_INT24 && (t) != MYSQL_TYPE_TIMESTAMP) || (t) == MYSQL_TYPE_YEAR || (t) == MYSQL_TYPE_NEWDECIMAL)
+#define IS_NUM_FIELD(f) ((f)->flags & NUM_FLAG)
+#define INTERNAL_NUM_FIELD(f) (((f)->type <= MYSQL_TYPE_INT24 && ((f)->type != MYSQL_TYPE_TIMESTAMP || (f)->length == 14 || (f)->length == 8)) || (f)->type == MYSQL_TYPE_YEAR || (f)->type == MYSQL_TYPE_NEWDECIMAL || (f)->type == MYSQL_TYPE_DECIMAL)
+
+ typedef struct st_mysql_field {
+ char *name; /* Name of column */
+ char *org_name; /* Name of original column (added after 3.23.58) */
+ char *table; /* Table of column if column was a field */
+ char *org_table; /* Name of original table (added after 3.23.58 */
+ char *db; /* table schema (added after 3.23.58) */
+ char *catalog; /* table catalog (added after 3.23.58) */
+ char *def; /* Default value (set by mysql_list_fields) */
+ unsigned long length; /* Width of column */
+ unsigned long max_length; /* Max width of selected set */
+ /* added after 3.23.58 */
+ unsigned int name_length;
+ unsigned int org_name_length;
+ unsigned int table_length;
+ unsigned int org_table_length;
+ unsigned int db_length;
+ unsigned int catalog_length;
+ unsigned int def_length;
+ /***********************/
+ unsigned int flags; /* Div flags */
+ unsigned int decimals; /* Number of decimals in field */
+ unsigned int charsetnr; /* char set number (added in 4.1) */
+ enum enum_field_types type; /* Type of field. Se mysql_com.h for types */
+ void *extension; /* added in 4.1 */
+ } MYSQL_FIELD;
+
+ typedef char **MYSQL_ROW; /* return data as array of strings */
+ typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
+
+#define SET_CLIENT_ERROR(a, b, c, d) \
+ { \
+ (a)->net.last_errno= (b);\
+ strncpy((a)->net.sqlstate, (c), SQLSTATE_LENGTH);\
+ (a)->net.sqlstate[SQLSTATE_LENGTH]= 0;\
+ strncpy((a)->net.last_error, (d) ? (d) : ER((b)), MYSQL_ERRMSG_SIZE - 1);\
+ (a)->net.last_error[MYSQL_ERRMSG_SIZE - 1]= 0;\
+ }
+
+/* For mysql_async.c */
+#define set_mariadb_error(A,B,C) SET_CLIENT_ERROR((A),(B),(C),0)
+extern const char *SQLSTATE_UNKNOWN;
+#define unknown_sqlstate SQLSTATE_UNKNOWN
+
+#define CLEAR_CLIENT_ERROR(a) \
+ { \
+ (a)->net.last_errno= 0;\
+ strcpy((a)->net.sqlstate, "00000");\
+ (a)->net.last_error[0]= '\0';\
+ (a)->net.extension->extended_errno= 0;\
+ }
+
+#define MYSQL_COUNT_ERROR (~(unsigned long long) 0)
+
+
+ typedef struct st_mysql_rows {
+ struct st_mysql_rows *next; /* list of rows */
+ MYSQL_ROW data;
+ unsigned long length;
+ } MYSQL_ROWS;
+
+ typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; /* offset to current row */
+
+ typedef struct st_mysql_data {
+ MYSQL_ROWS *data;
+ void *embedded_info;
+ MA_MEM_ROOT alloc;
+ unsigned long long rows;
+ unsigned int fields;
+ void *extension;
+ } MYSQL_DATA;
+
+ enum mysql_option
+ {
+ MYSQL_OPT_CONNECT_TIMEOUT,
+ MYSQL_OPT_COMPRESS,
+ MYSQL_OPT_NAMED_PIPE,
+ MYSQL_INIT_COMMAND,
+ MYSQL_READ_DEFAULT_FILE,
+ MYSQL_READ_DEFAULT_GROUP,
+ MYSQL_SET_CHARSET_DIR,
+ MYSQL_SET_CHARSET_NAME,
+ MYSQL_OPT_LOCAL_INFILE,
+ MYSQL_OPT_PROTOCOL,
+ MYSQL_SHARED_MEMORY_BASE_NAME,
+ MYSQL_OPT_READ_TIMEOUT,
+ MYSQL_OPT_WRITE_TIMEOUT,
+ MYSQL_OPT_USE_RESULT,
+ MYSQL_OPT_USE_REMOTE_CONNECTION,
+ MYSQL_OPT_USE_EMBEDDED_CONNECTION,
+ MYSQL_OPT_GUESS_CONNECTION,
+ MYSQL_SET_CLIENT_IP,
+ MYSQL_SECURE_AUTH,
+ MYSQL_REPORT_DATA_TRUNCATION,
+ MYSQL_OPT_RECONNECT,
+ MYSQL_OPT_SSL_VERIFY_SERVER_CERT,
+ MYSQL_PLUGIN_DIR,
+ MYSQL_DEFAULT_AUTH,
+ MYSQL_OPT_BIND,
+ MYSQL_OPT_SSL_KEY,
+ MYSQL_OPT_SSL_CERT,
+ MYSQL_OPT_SSL_CA,
+ MYSQL_OPT_SSL_CAPATH,
+ MYSQL_OPT_SSL_CIPHER,
+ MYSQL_OPT_SSL_CRL,
+ MYSQL_OPT_SSL_CRLPATH,
+ /* Connection attribute options */
+ MYSQL_OPT_CONNECT_ATTR_RESET,
+ MYSQL_OPT_CONNECT_ATTR_ADD,
+ MYSQL_OPT_CONNECT_ATTR_DELETE,
+ MYSQL_SERVER_PUBLIC_KEY,
+ MYSQL_ENABLE_CLEARTEXT_PLUGIN,
+ MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS,
+ MYSQL_OPT_SSL_ENFORCE,
+ MYSQL_OPT_MAX_ALLOWED_PACKET,
+ MYSQL_OPT_NET_BUFFER_LENGTH,
+ MYSQL_OPT_TLS_VERSION,
+
+ /* MariaDB specific */
+ MYSQL_PROGRESS_CALLBACK=5999,
+ MYSQL_OPT_NONBLOCK,
+ /* MariaDB Connector/C specific */
+ MYSQL_DATABASE_DRIVER=7000,
+ MARIADB_OPT_SSL_FP, /* deprecated, use MARIADB_OPT_TLS_PEER_FP instead */
+ MARIADB_OPT_SSL_FP_LIST, /* deprecated, use MARIADB_OPT_TLS_PEER_FP_LIST instead */
+ MARIADB_OPT_TLS_PASSPHRASE, /* passphrase for encrypted certificates */
+ MARIADB_OPT_TLS_CIPHER_STRENGTH,
+ MARIADB_OPT_TLS_VERSION,
+ MARIADB_OPT_TLS_PEER_FP, /* single finger print for server certificate verification */
+ MARIADB_OPT_TLS_PEER_FP_LIST, /* finger print white list for server certificate verification */
+ MARIADB_OPT_CONNECTION_READ_ONLY,
+ MYSQL_OPT_CONNECT_ATTRS, /* for mysql_get_optionv */
+ MARIADB_OPT_USERDATA,
+ MARIADB_OPT_CONNECTION_HANDLER,
+ MARIADB_OPT_PORT,
+ MARIADB_OPT_UNIXSOCKET,
+ MARIADB_OPT_PASSWORD,
+ MARIADB_OPT_HOST,
+ MARIADB_OPT_USER,
+ MARIADB_OPT_SCHEMA,
+ MARIADB_OPT_DEBUG,
+ MARIADB_OPT_FOUND_ROWS,
+ MARIADB_OPT_MULTI_RESULTS,
+ MARIADB_OPT_MULTI_STATEMENTS,
+ MARIADB_OPT_INTERACTIVE,
+ MARIADB_OPT_PROXY_HEADER,
+ MARIADB_OPT_IO_WAIT
+ };
+
+ enum mariadb_value {
+ MARIADB_CHARSET_ID,
+ MARIADB_CHARSET_NAME,
+ MARIADB_CLIENT_ERRORS,
+ MARIADB_CLIENT_VERSION,
+ MARIADB_CLIENT_VERSION_ID,
+ MARIADB_CONNECTION_ASYNC_TIMEOUT,
+ MARIADB_CONNECTION_ASYNC_TIMEOUT_MS,
+ MARIADB_CONNECTION_MARIADB_CHARSET_INFO,
+ MARIADB_CONNECTION_ERROR,
+ MARIADB_CONNECTION_ERROR_ID,
+ MARIADB_CONNECTION_HOST,
+ MARIADB_CONNECTION_INFO,
+ MARIADB_CONNECTION_PORT,
+ MARIADB_CONNECTION_PROTOCOL_VERSION_ID,
+ MARIADB_CONNECTION_PVIO_TYPE,
+ MARIADB_CONNECTION_SCHEMA,
+ MARIADB_CONNECTION_SERVER_TYPE,
+ MARIADB_CONNECTION_SERVER_VERSION,
+ MARIADB_CONNECTION_SERVER_VERSION_ID,
+ MARIADB_CONNECTION_SOCKET,
+ MARIADB_CONNECTION_SQLSTATE,
+ MARIADB_CONNECTION_SSL_CIPHER,
+ MARIADB_TLS_LIBRARY,
+ MARIADB_CONNECTION_TLS_VERSION,
+ MARIADB_CONNECTION_TLS_VERSION_ID,
+ MARIADB_CONNECTION_TYPE,
+ MARIADB_CONNECTION_UNIX_SOCKET,
+ MARIADB_CONNECTION_USER,
+ MARIADB_MAX_ALLOWED_PACKET,
+ MARIADB_NET_BUFFER_LENGTH,
+ MARIADB_CONNECTION_SERVER_STATUS,
+ MARIADB_CONNECTION_SERVER_CAPABILITIES,
+ MARIADB_CONNECTION_EXTENDED_SERVER_CAPABILITIES,
+ MARIADB_CONNECTION_CLIENT_CAPABILITIES
+ };
+
+ enum mysql_status { MYSQL_STATUS_READY,
+ MYSQL_STATUS_GET_RESULT,
+ MYSQL_STATUS_USE_RESULT,
+ MYSQL_STATUS_QUERY_SENT,
+ MYSQL_STATUS_SENDING_LOAD_DATA,
+ MYSQL_STATUS_FETCHING_DATA,
+ MYSQL_STATUS_NEXT_RESULT_PENDING,
+ MYSQL_STATUS_QUIT_SENT, /* object is "destroyed" at this stage */
+ MYSQL_STATUS_STMT_RESULT
+ };
+
+ enum mysql_protocol_type
+ {
+ MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET,
+ MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY
+ };
+
+struct st_mysql_options {
+ unsigned int connect_timeout, read_timeout, write_timeout;
+ unsigned int port, protocol;
+ unsigned long client_flag;
+ char *host,*user,*password,*unix_socket,*db;
+ struct st_dynamic_array *init_command;
+ char *my_cnf_file,*my_cnf_group, *charset_dir, *charset_name;
+ char *ssl_key; /* PEM key file */
+ char *ssl_cert; /* PEM cert file */
+ char *ssl_ca; /* PEM CA file */
+ char *ssl_capath; /* PEM directory of CA-s? */
+ char *ssl_cipher;
+ char *shared_memory_base_name;
+ unsigned long max_allowed_packet;
+ my_bool use_ssl; /* if to use SSL or not */
+ my_bool compress,named_pipe;
+ my_bool reconnect, unused_1, unused_2, unused_3;
+ enum mysql_option methods_to_use;
+ char *bind_address;
+ my_bool secure_auth;
+ my_bool report_data_truncation;
+ /* function pointers for local infile support */
+ int (*local_infile_init)(void **, const char *, void *);
+ int (*local_infile_read)(void *, char *, unsigned int);
+ void (*local_infile_end)(void *);
+ int (*local_infile_error)(void *, char *, unsigned int);
+ void *local_infile_userdata;
+ struct st_mysql_options_extension *extension;
+};
+
+ typedef struct st_mysql {
+ NET net; /* Communication parameters */
+ void *unused_0;
+ char *host,*user,*passwd,*unix_socket,*server_version,*host_info;
+ char *info,*db;
+ const struct ma_charset_info_st *charset; /* character set */
+ MYSQL_FIELD *fields;
+ MA_MEM_ROOT field_alloc;
+ unsigned long long affected_rows;
+ unsigned long long insert_id; /* id if insert on table with NEXTNR */
+ unsigned long long extra_info; /* Used by mysqlshow */
+ unsigned long thread_id; /* Id for connection in server */
+ unsigned long packet_length;
+ unsigned int port;
+ unsigned long client_flag;
+ unsigned long server_capabilities;
+ unsigned int protocol_version;
+ unsigned int field_count;
+ unsigned int server_status;
+ unsigned int server_language;
+ unsigned int warning_count; /* warning count, added in 4.1 protocol */
+ struct st_mysql_options options;
+ enum mysql_status status;
+ my_bool free_me; /* If free in mysql_close */
+ my_bool unused_1;
+ char scramble_buff[20+ 1];
+ /* madded after 3.23.58 */
+ my_bool unused_2;
+ void *unused_3, *unused_4, *unused_5, *unused_6;
+ LIST *stmts;
+ const struct st_mariadb_methods *methods;
+ void *thd;
+ my_bool *unbuffered_fetch_owner;
+ char *info_buffer;
+ struct st_mariadb_extension *extension;
+} MYSQL;
+
+typedef struct st_mysql_res {
+ unsigned long long row_count;
+ unsigned int field_count, current_field;
+ MYSQL_FIELD *fields;
+ MYSQL_DATA *data;
+ MYSQL_ROWS *data_cursor;
+ MA_MEM_ROOT field_alloc;
+ MYSQL_ROW row; /* If unbuffered read */
+ MYSQL_ROW current_row; /* buffer to current row */
+ unsigned long *lengths; /* column lengths of current row */
+ MYSQL *handle; /* for unbuffered reads */
+ my_bool eof; /* Used my mysql_fetch_row */
+ my_bool is_ps;
+} MYSQL_RES;
+
+typedef struct
+{
+ unsigned long *p_max_allowed_packet;
+ unsigned long *p_net_buffer_length;
+ void *extension;
+} MYSQL_PARAMETERS;
+
+#ifndef _mysql_time_h_
+enum enum_mysql_timestamp_type
+{
+ MYSQL_TIMESTAMP_NONE= -2, MYSQL_TIMESTAMP_ERROR= -1,
+ MYSQL_TIMESTAMP_DATE= 0, MYSQL_TIMESTAMP_DATETIME= 1, MYSQL_TIMESTAMP_TIME= 2
+};
+
+typedef struct st_mysql_time
+{
+ unsigned int year, month, day, hour, minute, second;
+ unsigned long second_part;
+ my_bool neg;
+ enum enum_mysql_timestamp_type time_type;
+} MYSQL_TIME;
+#define AUTO_SEC_PART_DIGITS 39
+#endif
+
+#define SEC_PART_DIGITS 6
+#define MARIADB_INVALID_SOCKET -1
+
+/* Ansynchronous API constants */
+#define MYSQL_WAIT_READ 1
+#define MYSQL_WAIT_WRITE 2
+#define MYSQL_WAIT_EXCEPT 4
+#define MYSQL_WAIT_TIMEOUT 8
+
+typedef struct character_set
+{
+ unsigned int number; /* character set number */
+ unsigned int state; /* character set state */
+ const char *csname; /* character set name */
+ const char *name; /* collation name */
+ const char *comment; /* comment */
+ const char *dir; /* character set directory */
+ unsigned int mbminlen; /* min. length for multibyte strings */
+ unsigned int mbmaxlen; /* max. length for multibyte strings */
+} MY_CHARSET_INFO;
+
+/* Local infile support functions */
+#define LOCAL_INFILE_ERROR_LEN 512
+
+#include "mariadb_stmt.h"
+
+#ifndef MYSQL_CLIENT_PLUGIN_HEADER
+#define MYSQL_CLIENT_PLUGIN_HEADER \
+ int type; \
+ unsigned int interface_version; \
+ const char *name; \
+ const char *author; \
+ const char *desc; \
+ unsigned int version[3]; \
+ const char *license; \
+ void *mariadb_api; \
+ int (*init)(char *, size_t, int, va_list); \
+ int (*deinit)(); \
+ int (*options)(const char *option, const void *);
+struct st_mysql_client_plugin
+{
+ MYSQL_CLIENT_PLUGIN_HEADER
+};
+
+struct st_mysql_client_plugin *
+mysql_load_plugin(struct st_mysql *mysql, const char *name, int type,
+ int argc, ...);
+struct st_mysql_client_plugin * STDCALL
+mysql_load_plugin_v(struct st_mysql *mysql, const char *name, int type,
+ int argc, va_list args);
+struct st_mysql_client_plugin * STDCALL
+mysql_client_find_plugin(struct st_mysql *mysql, const char *name, int type);
+struct st_mysql_client_plugin * STDCALL
+mysql_client_register_plugin(struct st_mysql *mysql,
+ struct st_mysql_client_plugin *plugin);
+#endif
+
+
+void STDCALL mysql_set_local_infile_handler(MYSQL *mysql,
+ int (*local_infile_init)(void **, const char *, void *),
+ int (*local_infile_read)(void *, char *, unsigned int),
+ void (*local_infile_end)(void *),
+ int (*local_infile_error)(void *, char*, unsigned int),
+ void *);
+
+void mysql_set_local_infile_default(MYSQL *mysql);
+
+void my_set_error(MYSQL *mysql, unsigned int error_nr,
+ const char *sqlstate, const char *format, ...);
+/* Functions to get information from the MYSQL and MYSQL_RES structures */
+/* Should definitely be used if one uses shared libraries */
+
+my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);
+unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
+my_bool STDCALL mysql_eof(MYSQL_RES *res);
+MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res,
+ unsigned int fieldnr);
+MYSQL_FIELD * STDCALL mysql_fetch_fields(MYSQL_RES *res);
+MYSQL_ROWS * STDCALL mysql_row_tell(MYSQL_RES *res);
+unsigned int STDCALL mysql_field_tell(MYSQL_RES *res);
+
+unsigned int STDCALL mysql_field_count(MYSQL *mysql);
+my_bool STDCALL mysql_more_results(MYSQL *mysql);
+int STDCALL mysql_next_result(MYSQL *mysql);
+my_ulonglong STDCALL mysql_affected_rows(MYSQL *mysql);
+my_bool STDCALL mysql_autocommit(MYSQL *mysql, my_bool mode);
+my_bool STDCALL mysql_commit(MYSQL *mysql);
+my_bool STDCALL mysql_rollback(MYSQL *mysql);
+my_ulonglong STDCALL mysql_insert_id(MYSQL *mysql);
+unsigned int STDCALL mysql_errno(MYSQL *mysql);
+const char * STDCALL mysql_error(MYSQL *mysql);
+const char * STDCALL mysql_info(MYSQL *mysql);
+unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
+const char * STDCALL mysql_character_set_name(MYSQL *mysql);
+void STDCALL mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *cs);
+int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);
+
+my_bool mariadb_get_infov(MYSQL *mysql, enum mariadb_value value, void *arg, ...);
+my_bool STDCALL mariadb_get_info(MYSQL *mysql, enum mariadb_value value, void *arg);
+MYSQL * STDCALL mysql_init(MYSQL *mysql);
+int STDCALL mysql_ssl_set(MYSQL *mysql, const char *key,
+ const char *cert, const char *ca,
+ const char *capath, const char *cipher);
+const char * STDCALL mysql_get_ssl_cipher(MYSQL *mysql);
+my_bool STDCALL mysql_change_user(MYSQL *mysql, const char *user,
+ const char *passwd, const char *db);
+MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
+ const char *user,
+ const char *passwd,
+ const char *db,
+ unsigned int port,
+ const char *unix_socket,
+ unsigned long clientflag);
+void STDCALL mysql_close(MYSQL *sock);
+int STDCALL mysql_select_db(MYSQL *mysql, const char *db);
+int STDCALL mysql_query(MYSQL *mysql, const char *q);
+int STDCALL mysql_send_query(MYSQL *mysql, const char *q,
+ unsigned long length);
+my_bool STDCALL mysql_read_query_result(MYSQL *mysql);
+int STDCALL mysql_real_query(MYSQL *mysql, const char *q,
+ unsigned long length);
+int STDCALL mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level);
+int STDCALL mysql_dump_debug_info(MYSQL *mysql);
+int STDCALL mysql_refresh(MYSQL *mysql,
+ unsigned int refresh_options);
+int STDCALL mysql_kill(MYSQL *mysql,unsigned long pid);
+int STDCALL mysql_ping(MYSQL *mysql);
+char * STDCALL mysql_stat(MYSQL *mysql);
+char * STDCALL mysql_get_server_info(MYSQL *mysql);
+unsigned long STDCALL mysql_get_server_version(MYSQL *mysql);
+char * STDCALL mysql_get_host_info(MYSQL *mysql);
+unsigned int STDCALL mysql_get_proto_info(MYSQL *mysql);
+MYSQL_RES * STDCALL mysql_list_dbs(MYSQL *mysql,const char *wild);
+MYSQL_RES * STDCALL mysql_list_tables(MYSQL *mysql,const char *wild);
+MYSQL_RES * STDCALL mysql_list_fields(MYSQL *mysql, const char *table,
+ const char *wild);
+MYSQL_RES * STDCALL mysql_list_processes(MYSQL *mysql);
+MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql);
+MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql);
+int STDCALL mysql_options(MYSQL *mysql,enum mysql_option option,
+ const void *arg);
+int STDCALL mysql_options4(MYSQL *mysql,enum mysql_option option,
+ const void *arg1, const void *arg2);
+void STDCALL mysql_free_result(MYSQL_RES *result);
+void STDCALL mysql_data_seek(MYSQL_RES *result,
+ unsigned long long offset);
+MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET);
+MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result,
+ MYSQL_FIELD_OFFSET offset);
+MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);
+unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result);
+MYSQL_FIELD * STDCALL mysql_fetch_field(MYSQL_RES *result);
+unsigned long STDCALL mysql_escape_string(char *to,const char *from,
+ unsigned long from_length);
+unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql,
+ char *to,const char *from,
+ unsigned long length);
+unsigned int STDCALL mysql_thread_safe(void);
+unsigned int STDCALL mysql_warning_count(MYSQL *mysql);
+const char * STDCALL mysql_sqlstate(MYSQL *mysql);
+int STDCALL mysql_server_init(int argc, char **argv, char **groups);
+void STDCALL mysql_server_end(void);
+void STDCALL mysql_thread_end(void);
+my_bool STDCALL mysql_thread_init(void);
+int STDCALL mysql_set_server_option(MYSQL *mysql,
+ enum enum_mysql_set_option option);
+const char * STDCALL mysql_get_client_info(void);
+unsigned long STDCALL mysql_get_client_version(void);
+my_bool STDCALL mariadb_connection(MYSQL *mysql);
+const char * STDCALL mysql_get_server_name(MYSQL *mysql);
+MARIADB_CHARSET_INFO * STDCALL mariadb_get_charset_by_name(const char *csname);
+MARIADB_CHARSET_INFO * STDCALL mariadb_get_charset_by_nr(unsigned int csnr);
+size_t STDCALL mariadb_convert_string(const char *from, size_t *from_len, MARIADB_CHARSET_INFO *from_cs,
+ char *to, size_t *to_len, MARIADB_CHARSET_INFO *to_cs, int *errorcode);
+int mysql_optionsv(MYSQL *mysql,enum mysql_option option, ...);
+int mysql_get_optionv(MYSQL *mysql, enum mysql_option option, void *arg, ...);
+int STDCALL mysql_get_option(MYSQL *mysql, enum mysql_option option, void *arg);
+unsigned long STDCALL mysql_hex_string(char *to, const char *from, unsigned long len);
+my_socket STDCALL mysql_get_socket(MYSQL *mysql);
+unsigned int STDCALL mysql_get_timeout_value(const MYSQL *mysql);
+unsigned int STDCALL mysql_get_timeout_value_ms(const MYSQL *mysql);
+my_bool STDCALL mariadb_reconnect(MYSQL *mysql);
+int STDCALL mariadb_cancel(MYSQL *mysql);
+void STDCALL mysql_debug(const char *debug);
+unsigned long STDCALL mysql_net_read_packet(MYSQL *mysql);
+unsigned long STDCALL mysql_net_field_length(unsigned char **packet);
+my_bool STDCALL mysql_embedded(void);
+MYSQL_PARAMETERS *STDCALL mysql_get_parameters(void);
+
+/* Async API */
+int STDCALL mysql_close_start(MYSQL *sock);
+int STDCALL mysql_close_cont(MYSQL *sock, int status);
+int STDCALL mysql_commit_start(my_bool *ret, MYSQL * mysql);
+int STDCALL mysql_commit_cont(my_bool *ret, MYSQL * mysql, int status);
+int STDCALL mysql_dump_debug_info_cont(int *ret, MYSQL *mysql, int ready_status);
+int STDCALL mysql_dump_debug_info_start(int *ret, MYSQL *mysql);
+int STDCALL mysql_rollback_start(my_bool *ret, MYSQL * mysql);
+int STDCALL mysql_rollback_cont(my_bool *ret, MYSQL * mysql, int status);
+int STDCALL mysql_autocommit_start(my_bool *ret, MYSQL * mysql,
+ my_bool auto_mode);
+int STDCALL mysql_list_fields_cont(MYSQL_RES **ret, MYSQL *mysql, int ready_status);
+int STDCALL mysql_list_fields_start(MYSQL_RES **ret, MYSQL *mysql, const char *table,
+ const char *wild);
+int STDCALL mysql_autocommit_cont(my_bool *ret, MYSQL * mysql, int status);
+int STDCALL mysql_next_result_start(int *ret, MYSQL *mysql);
+int STDCALL mysql_next_result_cont(int *ret, MYSQL *mysql, int status);
+int STDCALL mysql_select_db_start(int *ret, MYSQL *mysql, const char *db);
+int STDCALL mysql_select_db_cont(int *ret, MYSQL *mysql, int ready_status);
+int STDCALL mysql_stmt_warning_count(MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_next_result_start(int *ret, MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_next_result_cont(int *ret, MYSQL_STMT *stmt, int status);
+
+int STDCALL mysql_set_character_set_start(int *ret, MYSQL *mysql,
+ const char *csname);
+int STDCALL mysql_set_character_set_cont(int *ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_change_user_start(my_bool *ret, MYSQL *mysql,
+ const char *user,
+ const char *passwd,
+ const char *db);
+int STDCALL mysql_change_user_cont(my_bool *ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_real_connect_start(MYSQL **ret, MYSQL *mysql,
+ const char *host,
+ const char *user,
+ const char *passwd,
+ const char *db,
+ unsigned int port,
+ const char *unix_socket,
+ unsigned long clientflag);
+int STDCALL mysql_real_connect_cont(MYSQL **ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_query_start(int *ret, MYSQL *mysql,
+ const char *q);
+int STDCALL mysql_query_cont(int *ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_send_query_start(int *ret, MYSQL *mysql,
+ const char *q,
+ unsigned long length);
+int STDCALL mysql_send_query_cont(int *ret, MYSQL *mysql, int status);
+int STDCALL mysql_real_query_start(int *ret, MYSQL *mysql,
+ const char *q,
+ unsigned long length);
+int STDCALL mysql_real_query_cont(int *ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_store_result_start(MYSQL_RES **ret, MYSQL *mysql);
+int STDCALL mysql_store_result_cont(MYSQL_RES **ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_shutdown_start(int *ret, MYSQL *mysql,
+ enum mysql_enum_shutdown_level
+ shutdown_level);
+int STDCALL mysql_shutdown_cont(int *ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_refresh_start(int *ret, MYSQL *mysql,
+ unsigned int refresh_options);
+int STDCALL mysql_refresh_cont(int *ret, MYSQL *mysql, int status);
+int STDCALL mysql_kill_start(int *ret, MYSQL *mysql,
+ unsigned long pid);
+int STDCALL mysql_kill_cont(int *ret, MYSQL *mysql, int status);
+int STDCALL mysql_set_server_option_start(int *ret, MYSQL *mysql,
+ enum enum_mysql_set_option
+ option);
+int STDCALL mysql_set_server_option_cont(int *ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_ping_start(int *ret, MYSQL *mysql);
+int STDCALL mysql_ping_cont(int *ret, MYSQL *mysql, int status);
+int STDCALL mysql_stat_start(const char **ret, MYSQL *mysql);
+int STDCALL mysql_stat_cont(const char **ret, MYSQL *mysql,
+ int status);
+int STDCALL mysql_free_result_start(MYSQL_RES *result);
+int STDCALL mysql_free_result_cont(MYSQL_RES *result, int status);
+int STDCALL mysql_fetch_row_start(MYSQL_ROW *ret,
+ MYSQL_RES *result);
+int STDCALL mysql_fetch_row_cont(MYSQL_ROW *ret, MYSQL_RES *result,
+ int status);
+int STDCALL mysql_read_query_result_start(my_bool *ret,
+ MYSQL *mysql);
+int STDCALL mysql_read_query_result_cont(my_bool *ret,
+ MYSQL *mysql, int status);
+int STDCALL mysql_reset_connection_start(int *ret, MYSQL *mysql);
+int STDCALL mysql_reset_connection_cont(int *ret, MYSQL *mysql, int status);
+int STDCALL mysql_session_track_get_next(MYSQL *mysql, enum enum_session_state_type type, const char **data, size_t *length);
+int STDCALL mysql_session_track_get_first(MYSQL *mysql, enum enum_session_state_type type, const char **data, size_t *length);
+int STDCALL mysql_stmt_prepare_start(int *ret, MYSQL_STMT *stmt,const char *query, unsigned long length);
+int STDCALL mysql_stmt_prepare_cont(int *ret, MYSQL_STMT *stmt, int status);
+int STDCALL mysql_stmt_execute_start(int *ret, MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_execute_cont(int *ret, MYSQL_STMT *stmt, int status);
+int STDCALL mysql_stmt_fetch_start(int *ret, MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_fetch_cont(int *ret, MYSQL_STMT *stmt, int status);
+int STDCALL mysql_stmt_store_result_start(int *ret, MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_store_result_cont(int *ret, MYSQL_STMT *stmt,int status);
+int STDCALL mysql_stmt_close_start(my_bool *ret, MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_close_cont(my_bool *ret, MYSQL_STMT * stmt, int status);
+int STDCALL mysql_stmt_reset_start(my_bool *ret, MYSQL_STMT * stmt);
+int STDCALL mysql_stmt_reset_cont(my_bool *ret, MYSQL_STMT *stmt, int status);
+int STDCALL mysql_stmt_free_result_start(my_bool *ret, MYSQL_STMT *stmt);
+int STDCALL mysql_stmt_free_result_cont(my_bool *ret, MYSQL_STMT *stmt,
+ int status);
+int STDCALL mysql_stmt_send_long_data_start(my_bool *ret, MYSQL_STMT *stmt,
+ unsigned int param_number,
+ const char *data,
+ unsigned long len);
+int STDCALL mysql_stmt_send_long_data_cont(my_bool *ret, MYSQL_STMT *stmt,
+ int status);
+int STDCALL mysql_reset_connection(MYSQL *mysql);
+
+/* API function calls (used by dynmic plugins) */
+struct st_mariadb_api {
+ unsigned long long (STDCALL *mysql_num_rows)(MYSQL_RES *res);
+ unsigned int (STDCALL *mysql_num_fields)(MYSQL_RES *res);
+ my_bool (STDCALL *mysql_eof)(MYSQL_RES *res);
+ MYSQL_FIELD *(STDCALL *mysql_fetch_field_direct)(MYSQL_RES *res, unsigned int fieldnr);
+ MYSQL_FIELD * (STDCALL *mysql_fetch_fields)(MYSQL_RES *res);
+ MYSQL_ROWS * (STDCALL *mysql_row_tell)(MYSQL_RES *res);
+ unsigned int (STDCALL *mysql_field_tell)(MYSQL_RES *res);
+ unsigned int (STDCALL *mysql_field_count)(MYSQL *mysql);
+ my_bool (STDCALL *mysql_more_results)(MYSQL *mysql);
+ int (STDCALL *mysql_next_result)(MYSQL *mysql);
+ unsigned long long (STDCALL *mysql_affected_rows)(MYSQL *mysql);
+ my_bool (STDCALL *mysql_autocommit)(MYSQL *mysql, my_bool mode);
+ my_bool (STDCALL *mysql_commit)(MYSQL *mysql);
+ my_bool (STDCALL *mysql_rollback)(MYSQL *mysql);
+ unsigned long long (STDCALL *mysql_insert_id)(MYSQL *mysql);
+ unsigned int (STDCALL *mysql_errno)(MYSQL *mysql);
+ const char * (STDCALL *mysql_error)(MYSQL *mysql);
+ const char * (STDCALL *mysql_info)(MYSQL *mysql);
+ unsigned long (STDCALL *mysql_thread_id)(MYSQL *mysql);
+ const char * (STDCALL *mysql_character_set_name)(MYSQL *mysql);
+ void (STDCALL *mysql_get_character_set_info)(MYSQL *mysql, MY_CHARSET_INFO *cs);
+ int (STDCALL *mysql_set_character_set)(MYSQL *mysql, const char *csname);
+ my_bool (*mariadb_get_infov)(MYSQL *mysql, enum mariadb_value value, void *arg, ...);
+ my_bool (STDCALL *mariadb_get_info)(MYSQL *mysql, enum mariadb_value value, void *arg);
+ MYSQL * (STDCALL *mysql_init)(MYSQL *mysql);
+ int (STDCALL *mysql_ssl_set)(MYSQL *mysql, const char *key, const char *cert, const char *ca, const char *capath, const char *cipher);
+ const char * (STDCALL *mysql_get_ssl_cipher)(MYSQL *mysql);
+ my_bool (STDCALL *mysql_change_user)(MYSQL *mysql, const char *user, const char *passwd, const char *db);
+ MYSQL * (STDCALL *mysql_real_connect)(MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag);
+ void (STDCALL *mysql_close)(MYSQL *sock);
+ int (STDCALL *mysql_select_db)(MYSQL *mysql, const char *db);
+ int (STDCALL *mysql_query)(MYSQL *mysql, const char *q);
+ int (STDCALL *mysql_send_query)(MYSQL *mysql, const char *q, unsigned long length);
+ my_bool (STDCALL *mysql_read_query_result)(MYSQL *mysql);
+ int (STDCALL *mysql_real_query)(MYSQL *mysql, const char *q, unsigned long length);
+ int (STDCALL *mysql_shutdown)(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level);
+ int (STDCALL *mysql_dump_debug_info)(MYSQL *mysql);
+ int (STDCALL *mysql_refresh)(MYSQL *mysql, unsigned int refresh_options);
+ int (STDCALL *mysql_kill)(MYSQL *mysql,unsigned long pid);
+ int (STDCALL *mysql_ping)(MYSQL *mysql);
+ char * (STDCALL *mysql_stat)(MYSQL *mysql);
+ char * (STDCALL *mysql_get_server_info)(MYSQL *mysql);
+ unsigned long (STDCALL *mysql_get_server_version)(MYSQL *mysql);
+ char * (STDCALL *mysql_get_host_info)(MYSQL *mysql);
+ unsigned int (STDCALL *mysql_get_proto_info)(MYSQL *mysql);
+ MYSQL_RES * (STDCALL *mysql_list_dbs)(MYSQL *mysql,const char *wild);
+ MYSQL_RES * (STDCALL *mysql_list_tables)(MYSQL *mysql,const char *wild);
+ MYSQL_RES * (STDCALL *mysql_list_fields)(MYSQL *mysql, const char *table, const char *wild);
+ MYSQL_RES * (STDCALL *mysql_list_processes)(MYSQL *mysql);
+ MYSQL_RES * (STDCALL *mysql_store_result)(MYSQL *mysql);
+ MYSQL_RES * (STDCALL *mysql_use_result)(MYSQL *mysql);
+ int (STDCALL *mysql_options)(MYSQL *mysql,enum mysql_option option, const void *arg);
+ void (STDCALL *mysql_free_result)(MYSQL_RES *result);
+ void (STDCALL *mysql_data_seek)(MYSQL_RES *result, unsigned long long offset);
+ MYSQL_ROW_OFFSET (STDCALL *mysql_row_seek)(MYSQL_RES *result, MYSQL_ROW_OFFSET);
+ MYSQL_FIELD_OFFSET (STDCALL *mysql_field_seek)(MYSQL_RES *result, MYSQL_FIELD_OFFSET offset);
+ MYSQL_ROW (STDCALL *mysql_fetch_row)(MYSQL_RES *result);
+ unsigned long * (STDCALL *mysql_fetch_lengths)(MYSQL_RES *result);
+ MYSQL_FIELD * (STDCALL *mysql_fetch_field)(MYSQL_RES *result);
+ unsigned long (STDCALL *mysql_escape_string)(char *to,const char *from, unsigned long from_length);
+ unsigned long (STDCALL *mysql_real_escape_string)(MYSQL *mysql, char *to,const char *from, unsigned long length);
+ unsigned int (STDCALL *mysql_thread_safe)(void);
+ unsigned int (STDCALL *mysql_warning_count)(MYSQL *mysql);
+ const char * (STDCALL *mysql_sqlstate)(MYSQL *mysql);
+ int (STDCALL *mysql_server_init)(int argc, char **argv, char **groups);
+ void (STDCALL *mysql_server_end)(void);
+ void (STDCALL *mysql_thread_end)(void);
+ my_bool (STDCALL *mysql_thread_init)(void);
+ int (STDCALL *mysql_set_server_option)(MYSQL *mysql, enum enum_mysql_set_option option);
+ const char * (STDCALL *mysql_get_client_info)(void);
+ unsigned long (STDCALL *mysql_get_client_version)(void);
+ my_bool (STDCALL *mariadb_connection)(MYSQL *mysql);
+ const char * (STDCALL *mysql_get_server_name)(MYSQL *mysql);
+ MARIADB_CHARSET_INFO * (STDCALL *mariadb_get_charset_by_name)(const char *csname);
+ MARIADB_CHARSET_INFO * (STDCALL *mariadb_get_charset_by_nr)(unsigned int csnr);
+ size_t (STDCALL *mariadb_convert_string)(const char *from, size_t *from_len, MARIADB_CHARSET_INFO *from_cs, char *to, size_t *to_len, MARIADB_CHARSET_INFO *to_cs, int *errorcode);
+ int (*mysql_optionsv)(MYSQL *mysql,enum mysql_option option, ...);
+ int (*mysql_get_optionv)(MYSQL *mysql, enum mysql_option option, void *arg, ...);
+ int (STDCALL *mysql_get_option)(MYSQL *mysql, enum mysql_option option, void *arg);
+ unsigned long (STDCALL *mysql_hex_string)(char *to, const char *from, unsigned long len);
+ my_socket (STDCALL *mysql_get_socket)(MYSQL *mysql);
+ unsigned int (STDCALL *mysql_get_timeout_value)(const MYSQL *mysql);
+ unsigned int (STDCALL *mysql_get_timeout_value_ms)(const MYSQL *mysql);
+ my_bool (STDCALL *mariadb_reconnect)(MYSQL *mysql);
+ MYSQL_STMT * (STDCALL *mysql_stmt_init)(MYSQL *mysql);
+ int (STDCALL *mysql_stmt_prepare)(MYSQL_STMT *stmt, const char *query, unsigned long length);
+ int (STDCALL *mysql_stmt_execute)(MYSQL_STMT *stmt);
+ int (STDCALL *mysql_stmt_fetch)(MYSQL_STMT *stmt);
+ int (STDCALL *mysql_stmt_fetch_column)(MYSQL_STMT *stmt, MYSQL_BIND *bind_arg, unsigned int column, unsigned long offset);
+ int (STDCALL *mysql_stmt_store_result)(MYSQL_STMT *stmt);
+ unsigned long (STDCALL *mysql_stmt_param_count)(MYSQL_STMT * stmt);
+ my_bool (STDCALL *mysql_stmt_attr_set)(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *attr);
+ my_bool (STDCALL *mysql_stmt_attr_get)(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *attr);
+ my_bool (STDCALL *mysql_stmt_bind_param)(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
+ my_bool (STDCALL *mysql_stmt_bind_result)(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
+ my_bool (STDCALL *mysql_stmt_close)(MYSQL_STMT * stmt);
+ my_bool (STDCALL *mysql_stmt_reset)(MYSQL_STMT * stmt);
+ my_bool (STDCALL *mysql_stmt_free_result)(MYSQL_STMT *stmt);
+ my_bool (STDCALL *mysql_stmt_send_long_data)(MYSQL_STMT *stmt, unsigned int param_number, const char *data, unsigned long length);
+ MYSQL_RES *(STDCALL *mysql_stmt_result_metadata)(MYSQL_STMT *stmt);
+ MYSQL_RES *(STDCALL *mysql_stmt_param_metadata)(MYSQL_STMT *stmt);
+ unsigned int (STDCALL *mysql_stmt_errno)(MYSQL_STMT * stmt);
+ const char *(STDCALL *mysql_stmt_error)(MYSQL_STMT * stmt);
+ const char *(STDCALL *mysql_stmt_sqlstate)(MYSQL_STMT * stmt);
+ MYSQL_ROW_OFFSET (STDCALL *mysql_stmt_row_seek)(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET offset);
+ MYSQL_ROW_OFFSET (STDCALL *mysql_stmt_row_tell)(MYSQL_STMT *stmt);
+ void (STDCALL *mysql_stmt_data_seek)(MYSQL_STMT *stmt, unsigned long long offset);
+ unsigned long long (STDCALL *mysql_stmt_num_rows)(MYSQL_STMT *stmt);
+ unsigned long long (STDCALL *mysql_stmt_affected_rows)(MYSQL_STMT *stmt);
+ unsigned long long (STDCALL *mysql_stmt_insert_id)(MYSQL_STMT *stmt);
+ unsigned int (STDCALL *mysql_stmt_field_count)(MYSQL_STMT *stmt);
+ int (STDCALL *mysql_stmt_next_result)(MYSQL_STMT *stmt);
+ my_bool (STDCALL *mysql_stmt_more_results)(MYSQL_STMT *stmt);
+ int (STDCALL *mariadb_stmt_execute_direct)(MYSQL_STMT *stmt, const char *stmtstr, size_t length);
+ int (STDCALL *mysql_reset_connection)(MYSQL *mysql);
+};
+
+/* these methods can be overwritten by db plugins */
+struct st_mariadb_methods {
+ MYSQL *(*db_connect)(MYSQL *mysql, const char *host, const char *user, const char *passwd,
+ const char *db, unsigned int port, const char *unix_socket, unsigned long clientflag);
+ void (*db_close)(MYSQL *mysql);
+ int (*db_command)(MYSQL *mysql,enum enum_server_command command, const char *arg,
+ size_t length, my_bool skipp_check, void *opt_arg);
+ void (*db_skip_result)(MYSQL *mysql);
+ int (*db_read_query_result)(MYSQL *mysql);
+ MYSQL_DATA *(*db_read_rows)(MYSQL *mysql,MYSQL_FIELD *fields, unsigned int field_count);
+ int (*db_read_one_row)(MYSQL *mysql,unsigned int fields,MYSQL_ROW row, unsigned long *lengths);
+ /* prepared statements */
+ my_bool (*db_supported_buffer_type)(enum enum_field_types type);
+ my_bool (*db_read_prepare_response)(MYSQL_STMT *stmt);
+ int (*db_read_stmt_result)(MYSQL *mysql);
+ my_bool (*db_stmt_get_result_metadata)(MYSQL_STMT *stmt);
+ my_bool (*db_stmt_get_param_metadata)(MYSQL_STMT *stmt);
+ int (*db_stmt_read_all_rows)(MYSQL_STMT *stmt);
+ int (*db_stmt_fetch)(MYSQL_STMT *stmt, unsigned char **row);
+ int (*db_stmt_fetch_to_bind)(MYSQL_STMT *stmt, unsigned char *row);
+ void (*db_stmt_flush_unbuffered)(MYSQL_STMT *stmt);
+ void (*set_error)(MYSQL *mysql, unsigned int error_nr, const char *sqlstate, const char *format, ...);
+ void (*invalidate_stmts)(MYSQL *mysql, const char *function_name);
+ struct st_mariadb_api *api;
+};
+
+/* synonyms/aliases functions */
+#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
+#define mysql_library_init mysql_server_init
+#define mysql_library_end mysql_server_end
+
+/* new api functions */
+
+#define HAVE_MYSQL_REAL_CONNECT
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/3rdparty/mariadb/include/mysqld_error.h b/3rdparty/mariadb/include/mysqld_error.h
new file mode 100644
index 000000000..cc8c76d21
--- /dev/null
+++ b/3rdparty/mariadb/include/mysqld_error.h
@@ -0,0 +1,1126 @@
+/* Autogenerated file, please don't edit
+ branch: 10.2
+ revision id: 01a4eb8f761eb669fe2ae5139c73a7434b141a8f
+ */
+
+#define ER_ERROR_FIRST 1000
+#define ER_HASHCHK 1000
+#define ER_NISAMCHK 1001
+#define ER_NO 1002
+#define ER_YES 1003
+#define ER_CANT_CREATE_FILE 1004
+#define ER_CANT_CREATE_TABLE 1005
+#define ER_CANT_CREATE_DB 1006
+#define ER_DB_CREATE_EXISTS 1007
+#define ER_DB_DROP_EXISTS 1008
+#define ER_DB_DROP_DELETE 1009
+#define ER_DB_DROP_RMDIR 1010
+#define ER_CANT_DELETE_FILE 1011
+#define ER_CANT_FIND_SYSTEM_REC 1012
+#define ER_CANT_GET_STAT 1013
+#define ER_CANT_GET_WD 1014
+#define ER_CANT_LOCK 1015
+#define ER_CANT_OPEN_FILE 1016
+#define ER_FILE_NOT_FOUND 1017
+#define ER_CANT_READ_DIR 1018
+#define ER_CANT_SET_WD 1019
+#define ER_CHECKREAD 1020
+#define ER_DISK_FULL 1021
+#define ER_DUP_KEY 1022
+#define ER_ERROR_ON_CLOSE 1023
+#define ER_ERROR_ON_READ 1024
+#define ER_ERROR_ON_RENAME 1025
+#define ER_ERROR_ON_WRITE 1026
+#define ER_FILE_USED 1027
+#define ER_FILSORT_ABORT 1028
+#define ER_FORM_NOT_FOUND 1029
+#define ER_GET_ERRNO 1030
+#define ER_ILLEGAL_HA 1031
+#define ER_KEY_NOT_FOUND 1032
+#define ER_NOT_FORM_FILE 1033
+#define ER_NOT_KEYFILE 1034
+#define ER_OLD_KEYFILE 1035
+#define ER_OPEN_AS_READONLY 1036
+#define ER_OUTOFMEMORY 1037
+#define ER_OUT_OF_SORTMEMORY 1038
+#define ER_UNEXPECTED_EOF 1039
+#define ER_CON_COUNT_ERROR 1040
+#define ER_OUT_OF_RESOURCES 1041
+#define ER_BAD_HOST_ERROR 1042
+#define ER_HANDSHAKE_ERROR 1043
+#define ER_DBACCESS_DENIED_ERROR 1044
+#define ER_ACCESS_DENIED_ERROR 1045
+#define ER_NO_DB_ERROR 1046
+#define ER_UNKNOWN_COM_ERROR 1047
+#define ER_BAD_NULL_ERROR 1048
+#define ER_BAD_DB_ERROR 1049
+#define ER_TABLE_EXISTS_ERROR 1050
+#define ER_BAD_TABLE_ERROR 1051
+#define ER_NON_UNIQ_ERROR 1052
+#define ER_SERVER_SHUTDOWN 1053
+#define ER_BAD_FIELD_ERROR 1054
+#define ER_WRONG_FIELD_WITH_GROUP 1055
+#define ER_WRONG_GROUP_FIELD 1056
+#define ER_WRONG_SUM_SELECT 1057
+#define ER_WRONG_VALUE_COUNT 1058
+#define ER_TOO_LONG_IDENT 1059
+#define ER_DUP_FIELDNAME 1060
+#define ER_DUP_KEYNAME 1061
+#define ER_DUP_ENTRY 1062
+#define ER_WRONG_FIELD_SPEC 1063
+#define ER_PARSE_ERROR 1064
+#define ER_EMPTY_QUERY 1065
+#define ER_NONUNIQ_TABLE 1066
+#define ER_INVALID_DEFAULT 1067
+#define ER_MULTIPLE_PRI_KEY 1068
+#define ER_TOO_MANY_KEYS 1069
+#define ER_TOO_MANY_KEY_PARTS 1070
+#define ER_TOO_LONG_KEY 1071
+#define ER_KEY_COLUMN_DOES_NOT_EXITS 1072
+#define ER_BLOB_USED_AS_KEY 1073
+#define ER_TOO_BIG_FIELDLENGTH 1074
+#define ER_WRONG_AUTO_KEY 1075
+#define ER_UNUSED_9 1076
+#define ER_NORMAL_SHUTDOWN 1077
+#define ER_GOT_SIGNAL 1078
+#define ER_SHUTDOWN_COMPLETE 1079
+#define ER_FORCING_CLOSE 1080
+#define ER_IPSOCK_ERROR 1081
+#define ER_NO_SUCH_INDEX 1082
+#define ER_WRONG_FIELD_TERMINATORS 1083
+#define ER_BLOBS_AND_NO_TERMINATED 1084
+#define ER_TEXTFILE_NOT_READABLE 1085
+#define ER_FILE_EXISTS_ERROR 1086
+#define ER_LOAD_INFO 1087
+#define ER_ALTER_INFO 1088
+#define ER_WRONG_SUB_KEY 1089
+#define ER_CANT_REMOVE_ALL_FIELDS 1090
+#define ER_CANT_DROP_FIELD_OR_KEY 1091
+#define ER_INSERT_INFO 1092
+#define ER_UPDATE_TABLE_USED 1093
+#define ER_NO_SUCH_THREAD 1094
+#define ER_KILL_DENIED_ERROR 1095
+#define ER_NO_TABLES_USED 1096
+#define ER_TOO_BIG_SET 1097
+#define ER_NO_UNIQUE_LOGFILE 1098
+#define ER_TABLE_NOT_LOCKED_FOR_WRITE 1099
+#define ER_TABLE_NOT_LOCKED 1100
+#define ER_BLOB_CANT_HAVE_DEFAULT 1101
+#define ER_WRONG_DB_NAME 1102
+#define ER_WRONG_TABLE_NAME 1103
+#define ER_TOO_BIG_SELECT 1104
+#define ER_UNKNOWN_ERROR 1105
+#define ER_UNKNOWN_PROCEDURE 1106
+#define ER_WRONG_PARAMCOUNT_TO_PROCEDURE 1107
+#define ER_WRONG_PARAMETERS_TO_PROCEDURE 1108
+#define ER_UNKNOWN_TABLE 1109
+#define ER_FIELD_SPECIFIED_TWICE 1110
+#define ER_INVALID_GROUP_FUNC_USE 1111
+#define ER_UNSUPPORTED_EXTENSION 1112
+#define ER_TABLE_MUST_HAVE_COLUMNS 1113
+#define ER_RECORD_FILE_FULL 1114
+#define ER_UNKNOWN_CHARACTER_SET 1115
+#define ER_TOO_MANY_TABLES 1116
+#define ER_TOO_MANY_FIELDS 1117
+#define ER_TOO_BIG_ROWSIZE 1118
+#define ER_STACK_OVERRUN 1119
+#define ER_WRONG_OUTER_JOIN 1120
+#define ER_NULL_COLUMN_IN_INDEX 1121
+#define ER_CANT_FIND_UDF 1122
+#define ER_CANT_INITIALIZE_UDF 1123
+#define ER_UDF_NO_PATHS 1124
+#define ER_UDF_EXISTS 1125
+#define ER_CANT_OPEN_LIBRARY 1126
+#define ER_CANT_FIND_DL_ENTRY 1127
+#define ER_FUNCTION_NOT_DEFINED 1128
+#define ER_HOST_IS_BLOCKED 1129
+#define ER_HOST_NOT_PRIVILEGED 1130
+#define ER_PASSWORD_ANONYMOUS_USER 1131
+#define ER_PASSWORD_NOT_ALLOWED 1132
+#define ER_PASSWORD_NO_MATCH 1133
+#define ER_UPDATE_INFO 1134
+#define ER_CANT_CREATE_THREAD 1135
+#define ER_WRONG_VALUE_COUNT_ON_ROW 1136
+#define ER_CANT_REOPEN_TABLE 1137
+#define ER_INVALID_USE_OF_NULL 1138
+#define ER_REGEXP_ERROR 1139
+#define ER_MIX_OF_GROUP_FUNC_AND_FIELDS 1140
+#define ER_NONEXISTING_GRANT 1141
+#define ER_TABLEACCESS_DENIED_ERROR 1142
+#define ER_COLUMNACCESS_DENIED_ERROR 1143
+#define ER_ILLEGAL_GRANT_FOR_TABLE 1144
+#define ER_GRANT_WRONG_HOST_OR_USER 1145
+#define ER_NO_SUCH_TABLE 1146
+#define ER_NONEXISTING_TABLE_GRANT 1147
+#define ER_NOT_ALLOWED_COMMAND 1148
+#define ER_SYNTAX_ERROR 1149
+#define ER_DELAYED_CANT_CHANGE_LOCK 1150
+#define ER_TOO_MANY_DELAYED_THREADS 1151
+#define ER_ABORTING_CONNECTION 1152
+#define ER_NET_PACKET_TOO_LARGE 1153
+#define ER_NET_READ_ERROR_FROM_PIPE 1154
+#define ER_NET_FCNTL_ERROR 1155
+#define ER_NET_PACKETS_OUT_OF_ORDER 1156
+#define ER_NET_UNCOMPRESS_ERROR 1157
+#define ER_NET_READ_ERROR 1158
+#define ER_NET_READ_INTERRUPTED 1159
+#define ER_NET_ERROR_ON_WRITE 1160
+#define ER_NET_WRITE_INTERRUPTED 1161
+#define ER_TOO_LONG_STRING 1162
+#define ER_TABLE_CANT_HANDLE_BLOB 1163
+#define ER_TABLE_CANT_HANDLE_AUTO_INCREMENT 1164
+#define ER_DELAYED_INSERT_TABLE_LOCKED 1165
+#define ER_WRONG_COLUMN_NAME 1166
+#define ER_WRONG_KEY_COLUMN 1167
+#define ER_WRONG_MRG_TABLE 1168
+#define ER_DUP_UNIQUE 1169
+#define ER_BLOB_KEY_WITHOUT_LENGTH 1170
+#define ER_PRIMARY_CANT_HAVE_NULL 1171
+#define ER_TOO_MANY_ROWS 1172
+#define ER_REQUIRES_PRIMARY_KEY 1173
+#define ER_NO_RAID_COMPILED 1174
+#define ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE 1175
+#define ER_KEY_DOES_NOT_EXITS 1176
+#define ER_CHECK_NO_SUCH_TABLE 1177
+#define ER_CHECK_NOT_IMPLEMENTED 1178
+#define ER_CANT_DO_THIS_DURING_AN_TRANSACTION 1179
+#define ER_ERROR_DURING_COMMIT 1180
+#define ER_ERROR_DURING_ROLLBACK 1181
+#define ER_ERROR_DURING_FLUSH_LOGS 1182
+#define ER_ERROR_DURING_CHECKPOINT 1183
+#define ER_NEW_ABORTING_CONNECTION 1184
+#define ER_UNUSED_10 1185
+#define ER_FLUSH_MASTER_BINLOG_CLOSED 1186
+#define ER_INDEX_REBUILD 1187
+#define ER_MASTER 1188
+#define ER_MASTER_NET_READ 1189
+#define ER_MASTER_NET_WRITE 1190
+#define ER_FT_MATCHING_KEY_NOT_FOUND 1191
+#define ER_LOCK_OR_ACTIVE_TRANSACTION 1192
+#define ER_UNKNOWN_SYSTEM_VARIABLE 1193
+#define ER_CRASHED_ON_USAGE 1194
+#define ER_CRASHED_ON_REPAIR 1195
+#define ER_WARNING_NOT_COMPLETE_ROLLBACK 1196
+#define ER_TRANS_CACHE_FULL 1197
+#define ER_SLAVE_MUST_STOP 1198
+#define ER_SLAVE_NOT_RUNNING 1199
+#define ER_BAD_SLAVE 1200
+#define ER_MASTER_INFO 1201
+#define ER_SLAVE_THREAD 1202
+#define ER_TOO_MANY_USER_CONNECTIONS 1203
+#define ER_SET_CONSTANTS_ONLY 1204
+#define ER_LOCK_WAIT_TIMEOUT 1205
+#define ER_LOCK_TABLE_FULL 1206
+#define ER_READ_ONLY_TRANSACTION 1207
+#define ER_DROP_DB_WITH_READ_LOCK 1208
+#define ER_CREATE_DB_WITH_READ_LOCK 1209
+#define ER_WRONG_ARGUMENTS 1210
+#define ER_NO_PERMISSION_TO_CREATE_USER 1211
+#define ER_UNION_TABLES_IN_DIFFERENT_DIR 1212
+#define ER_LOCK_DEADLOCK 1213
+#define ER_TABLE_CANT_HANDLE_FT 1214
+#define ER_CANNOT_ADD_FOREIGN 1215
+#define ER_NO_REFERENCED_ROW 1216
+#define ER_ROW_IS_REFERENCED 1217
+#define ER_CONNECT_TO_MASTER 1218
+#define ER_QUERY_ON_MASTER 1219
+#define ER_ERROR_WHEN_EXECUTING_COMMAND 1220
+#define ER_WRONG_USAGE 1221
+#define ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT 1222
+#define ER_CANT_UPDATE_WITH_READLOCK 1223
+#define ER_MIXING_NOT_ALLOWED 1224
+#define ER_DUP_ARGUMENT 1225
+#define ER_USER_LIMIT_REACHED 1226
+#define ER_SPECIFIC_ACCESS_DENIED_ERROR 1227
+#define ER_LOCAL_VARIABLE 1228
+#define ER_GLOBAL_VARIABLE 1229
+#define ER_NO_DEFAULT 1230
+#define ER_WRONG_VALUE_FOR_VAR 1231
+#define ER_WRONG_TYPE_FOR_VAR 1232
+#define ER_VAR_CANT_BE_READ 1233
+#define ER_CANT_USE_OPTION_HERE 1234
+#define ER_NOT_SUPPORTED_YET 1235
+#define ER_MASTER_FATAL_ERROR_READING_BINLOG 1236
+#define ER_SLAVE_IGNORED_TABLE 1237
+#define ER_INCORRECT_GLOBAL_LOCAL_VAR 1238
+#define ER_WRONG_FK_DEF 1239
+#define ER_KEY_REF_DO_NOT_MATCH_TABLE_REF 1240
+#define ER_OPERAND_COLUMNS 1241
+#define ER_SUBQUERY_NO_1_ROW 1242
+#define ER_UNKNOWN_STMT_HANDLER 1243
+#define ER_CORRUPT_HELP_DB 1244
+#define ER_CYCLIC_REFERENCE 1245
+#define ER_AUTO_CONVERT 1246
+#define ER_ILLEGAL_REFERENCE 1247
+#define ER_DERIVED_MUST_HAVE_ALIAS 1248
+#define ER_SELECT_REDUCED 1249
+#define ER_TABLENAME_NOT_ALLOWED_HERE 1250
+#define ER_NOT_SUPPORTED_AUTH_MODE 1251
+#define ER_SPATIAL_CANT_HAVE_NULL 1252
+#define ER_COLLATION_CHARSET_MISMATCH 1253
+#define ER_SLAVE_WAS_RUNNING 1254
+#define ER_SLAVE_WAS_NOT_RUNNING 1255
+#define ER_TOO_BIG_FOR_UNCOMPRESS 1256
+#define ER_ZLIB_Z_MEM_ERROR 1257
+#define ER_ZLIB_Z_BUF_ERROR 1258
+#define ER_ZLIB_Z_DATA_ERROR 1259
+#define ER_CUT_VALUE_GROUP_CONCAT 1260
+#define ER_WARN_TOO_FEW_RECORDS 1261
+#define ER_WARN_TOO_MANY_RECORDS 1262
+#define ER_WARN_NULL_TO_NOTNULL 1263
+#define ER_WARN_DATA_OUT_OF_RANGE 1264
+#define WARN_DATA_TRUNCATED 1265
+#define ER_WARN_USING_OTHER_HANDLER 1266
+#define ER_CANT_AGGREGATE_2COLLATIONS 1267
+#define ER_DROP_USER 1268
+#define ER_REVOKE_GRANTS 1269
+#define ER_CANT_AGGREGATE_3COLLATIONS 1270
+#define ER_CANT_AGGREGATE_NCOLLATIONS 1271
+#define ER_VARIABLE_IS_NOT_STRUCT 1272
+#define ER_UNKNOWN_COLLATION 1273
+#define ER_SLAVE_IGNORED_SSL_PARAMS 1274
+#define ER_SERVER_IS_IN_SECURE_AUTH_MODE 1275
+#define ER_WARN_FIELD_RESOLVED 1276
+#define ER_BAD_SLAVE_UNTIL_COND 1277
+#define ER_MISSING_SKIP_SLAVE 1278
+#define ER_UNTIL_COND_IGNORED 1279
+#define ER_WRONG_NAME_FOR_INDEX 1280
+#define ER_WRONG_NAME_FOR_CATALOG 1281
+#define ER_WARN_QC_RESIZE 1282
+#define ER_BAD_FT_COLUMN 1283
+#define ER_UNKNOWN_KEY_CACHE 1284
+#define ER_WARN_HOSTNAME_WONT_WORK 1285
+#define ER_UNKNOWN_STORAGE_ENGINE 1286
+#define ER_WARN_DEPRECATED_SYNTAX 1287
+#define ER_NON_UPDATABLE_TABLE 1288
+#define ER_FEATURE_DISABLED 1289
+#define ER_OPTION_PREVENTS_STATEMENT 1290
+#define ER_DUPLICATED_VALUE_IN_TYPE 1291
+#define ER_TRUNCATED_WRONG_VALUE 1292
+#define ER_TOO_MUCH_AUTO_TIMESTAMP_COLS 1293
+#define ER_INVALID_ON_UPDATE 1294
+#define ER_UNSUPPORTED_PS 1295
+#define ER_GET_ERRMSG 1296
+#define ER_GET_TEMPORARY_ERRMSG 1297
+#define ER_UNKNOWN_TIME_ZONE 1298
+#define ER_WARN_INVALID_TIMESTAMP 1299
+#define ER_INVALID_CHARACTER_STRING 1300
+#define ER_WARN_ALLOWED_PACKET_OVERFLOWED 1301
+#define ER_CONFLICTING_DECLARATIONS 1302
+#define ER_SP_NO_RECURSIVE_CREATE 1303
+#define ER_SP_ALREADY_EXISTS 1304
+#define ER_SP_DOES_NOT_EXIST 1305
+#define ER_SP_DROP_FAILED 1306
+#define ER_SP_STORE_FAILED 1307
+#define ER_SP_LILABEL_MISMATCH 1308
+#define ER_SP_LABEL_REDEFINE 1309
+#define ER_SP_LABEL_MISMATCH 1310
+#define ER_SP_UNINIT_VAR 1311
+#define ER_SP_BADSELECT 1312
+#define ER_SP_BADRETURN 1313
+#define ER_SP_BADSTATEMENT 1314
+#define ER_UPDATE_LOG_DEPRECATED_IGNORED 1315
+#define ER_UPDATE_LOG_DEPRECATED_TRANSLATED 1316
+#define ER_QUERY_INTERRUPTED 1317
+#define ER_SP_WRONG_NO_OF_ARGS 1318
+#define ER_SP_COND_MISMATCH 1319
+#define ER_SP_NORETURN 1320
+#define ER_SP_NORETURNEND 1321
+#define ER_SP_BAD_CURSOR_QUERY 1322
+#define ER_SP_BAD_CURSOR_SELECT 1323
+#define ER_SP_CURSOR_MISMATCH 1324
+#define ER_SP_CURSOR_ALREADY_OPEN 1325
+#define ER_SP_CURSOR_NOT_OPEN 1326
+#define ER_SP_UNDECLARED_VAR 1327
+#define ER_SP_WRONG_NO_OF_FETCH_ARGS 1328
+#define ER_SP_FETCH_NO_DATA 1329
+#define ER_SP_DUP_PARAM 1330
+#define ER_SP_DUP_VAR 1331
+#define ER_SP_DUP_COND 1332
+#define ER_SP_DUP_CURS 1333
+#define ER_SP_CANT_ALTER 1334
+#define ER_SP_SUBSELECT_NYI 1335
+#define ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG 1336
+#define ER_SP_VARCOND_AFTER_CURSHNDLR 1337
+#define ER_SP_CURSOR_AFTER_HANDLER 1338
+#define ER_SP_CASE_NOT_FOUND 1339
+#define ER_FPARSER_TOO_BIG_FILE 1340
+#define ER_FPARSER_BAD_HEADER 1341
+#define ER_FPARSER_EOF_IN_COMMENT 1342
+#define ER_FPARSER_ERROR_IN_PARAMETER 1343
+#define ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER 1344
+#define ER_VIEW_NO_EXPLAIN 1345
+#define ER_FRM_UNKNOWN_TYPE 1346
+#define ER_WRONG_OBJECT 1347
+#define ER_NONUPDATEABLE_COLUMN 1348
+#define ER_VIEW_SELECT_DERIVED 1349
+#define ER_VIEW_SELECT_CLAUSE 1350
+#define ER_VIEW_SELECT_VARIABLE 1351
+#define ER_VIEW_SELECT_TMPTABLE 1352
+#define ER_VIEW_WRONG_LIST 1353
+#define ER_WARN_VIEW_MERGE 1354
+#define ER_WARN_VIEW_WITHOUT_KEY 1355
+#define ER_VIEW_INVALID 1356
+#define ER_SP_NO_DROP_SP 1357
+#define ER_SP_GOTO_IN_HNDLR 1358
+#define ER_TRG_ALREADY_EXISTS 1359
+#define ER_TRG_DOES_NOT_EXIST 1360
+#define ER_TRG_ON_VIEW_OR_TEMP_TABLE 1361
+#define ER_TRG_CANT_CHANGE_ROW 1362
+#define ER_TRG_NO_SUCH_ROW_IN_TRG 1363
+#define ER_NO_DEFAULT_FOR_FIELD 1364
+#define ER_DIVISION_BY_ZERO 1365
+#define ER_TRUNCATED_WRONG_VALUE_FOR_FIELD 1366
+#define ER_ILLEGAL_VALUE_FOR_TYPE 1367
+#define ER_VIEW_NONUPD_CHECK 1368
+#define ER_VIEW_CHECK_FAILED 1369
+#define ER_PROCACCESS_DENIED_ERROR 1370
+#define ER_RELAY_LOG_FAIL 1371
+#define ER_PASSWD_LENGTH 1372
+#define ER_UNKNOWN_TARGET_BINLOG 1373
+#define ER_IO_ERR_LOG_INDEX_READ 1374
+#define ER_BINLOG_PURGE_PROHIBITED 1375
+#define ER_FSEEK_FAIL 1376
+#define ER_BINLOG_PURGE_FATAL_ERR 1377
+#define ER_LOG_IN_USE 1378
+#define ER_LOG_PURGE_UNKNOWN_ERR 1379
+#define ER_RELAY_LOG_INIT 1380
+#define ER_NO_BINARY_LOGGING 1381
+#define ER_RESERVED_SYNTAX 1382
+#define ER_WSAS_FAILED 1383
+#define ER_DIFF_GROUPS_PROC 1384
+#define ER_NO_GROUP_FOR_PROC 1385
+#define ER_ORDER_WITH_PROC 1386
+#define ER_LOGGING_PROHIBIT_CHANGING_OF 1387
+#define ER_NO_FILE_MAPPING 1388
+#define ER_WRONG_MAGIC 1389
+#define ER_PS_MANY_PARAM 1390
+#define ER_KEY_PART_0 1391
+#define ER_VIEW_CHECKSUM 1392
+#define ER_VIEW_MULTIUPDATE 1393
+#define ER_VIEW_NO_INSERT_FIELD_LIST 1394
+#define ER_VIEW_DELETE_MERGE_VIEW 1395
+#define ER_CANNOT_USER 1396
+#define ER_XAER_NOTA 1397
+#define ER_XAER_INVAL 1398
+#define ER_XAER_RMFAIL 1399
+#define ER_XAER_OUTSIDE 1400
+#define ER_XAER_RMERR 1401
+#define ER_XA_RBROLLBACK 1402
+#define ER_NONEXISTING_PROC_GRANT 1403
+#define ER_PROC_AUTO_GRANT_FAIL 1404
+#define ER_PROC_AUTO_REVOKE_FAIL 1405
+#define ER_DATA_TOO_LONG 1406
+#define ER_SP_BAD_SQLSTATE 1407
+#define ER_STARTUP 1408
+#define ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR 1409
+#define ER_CANT_CREATE_USER_WITH_GRANT 1410
+#define ER_WRONG_VALUE_FOR_TYPE 1411
+#define ER_TABLE_DEF_CHANGED 1412
+#define ER_SP_DUP_HANDLER 1413
+#define ER_SP_NOT_VAR_ARG 1414
+#define ER_SP_NO_RETSET 1415
+#define ER_CANT_CREATE_GEOMETRY_OBJECT 1416
+#define ER_FAILED_ROUTINE_BREAK_BINLOG 1417
+#define ER_BINLOG_UNSAFE_ROUTINE 1418
+#define ER_BINLOG_CREATE_ROUTINE_NEED_SUPER 1419
+#define ER_EXEC_STMT_WITH_OPEN_CURSOR 1420
+#define ER_STMT_HAS_NO_OPEN_CURSOR 1421
+#define ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG 1422
+#define ER_NO_DEFAULT_FOR_VIEW_FIELD 1423
+#define ER_SP_NO_RECURSION 1424
+#define ER_TOO_BIG_SCALE 1425
+#define ER_TOO_BIG_PRECISION 1426
+#define ER_M_BIGGER_THAN_D 1427
+#define ER_WRONG_LOCK_OF_SYSTEM_TABLE 1428
+#define ER_CONNECT_TO_FOREIGN_DATA_SOURCE 1429
+#define ER_QUERY_ON_FOREIGN_DATA_SOURCE 1430
+#define ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST 1431
+#define ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE 1432
+#define ER_FOREIGN_DATA_STRING_INVALID 1433
+#define ER_CANT_CREATE_FEDERATED_TABLE 1434
+#define ER_TRG_IN_WRONG_SCHEMA 1435
+#define ER_STACK_OVERRUN_NEED_MORE 1436
+#define ER_TOO_LONG_BODY 1437
+#define ER_WARN_CANT_DROP_DEFAULT_KEYCACHE 1438
+#define ER_TOO_BIG_DISPLAYWIDTH 1439
+#define ER_XAER_DUPID 1440
+#define ER_DATETIME_FUNCTION_OVERFLOW 1441
+#define ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG 1442
+#define ER_VIEW_PREVENT_UPDATE 1443
+#define ER_PS_NO_RECURSION 1444
+#define ER_SP_CANT_SET_AUTOCOMMIT 1445
+#define ER_MALFORMED_DEFINER 1446
+#define ER_VIEW_FRM_NO_USER 1447
+#define ER_VIEW_OTHER_USER 1448
+#define ER_NO_SUCH_USER 1449
+#define ER_FORBID_SCHEMA_CHANGE 1450
+#define ER_ROW_IS_REFERENCED_2 1451
+#define ER_NO_REFERENCED_ROW_2 1452
+#define ER_SP_BAD_VAR_SHADOW 1453
+#define ER_TRG_NO_DEFINER 1454
+#define ER_OLD_FILE_FORMAT 1455
+#define ER_SP_RECURSION_LIMIT 1456
+#define ER_SP_PROC_TABLE_CORRUPT 1457
+#define ER_SP_WRONG_NAME 1458
+#define ER_TABLE_NEEDS_UPGRADE 1459
+#define ER_SP_NO_AGGREGATE 1460
+#define ER_MAX_PREPARED_STMT_COUNT_REACHED 1461
+#define ER_VIEW_RECURSIVE 1462
+#define ER_NON_GROUPING_FIELD_USED 1463
+#define ER_TABLE_CANT_HANDLE_SPKEYS 1464
+#define ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA 1465
+#define ER_REMOVED_SPACES 1466
+#define ER_AUTOINC_READ_FAILED 1467
+#define ER_USERNAME 1468
+#define ER_HOSTNAME 1469
+#define ER_WRONG_STRING_LENGTH 1470
+#define ER_NON_INSERTABLE_TABLE 1471
+#define ER_ADMIN_WRONG_MRG_TABLE 1472
+#define ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT 1473
+#define ER_NAME_BECOMES_EMPTY 1474
+#define ER_AMBIGUOUS_FIELD_TERM 1475
+#define ER_FOREIGN_SERVER_EXISTS 1476
+#define ER_FOREIGN_SERVER_DOESNT_EXIST 1477
+#define ER_ILLEGAL_HA_CREATE_OPTION 1478
+#define ER_PARTITION_REQUIRES_VALUES_ERROR 1479
+#define ER_PARTITION_WRONG_VALUES_ERROR 1480
+#define ER_PARTITION_MAXVALUE_ERROR 1481
+#define ER_PARTITION_SUBPARTITION_ERROR 1482
+#define ER_PARTITION_SUBPART_MIX_ERROR 1483
+#define ER_PARTITION_WRONG_NO_PART_ERROR 1484
+#define ER_PARTITION_WRONG_NO_SUBPART_ERROR 1485
+#define ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR 1486
+#define ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR 1487
+#define ER_FIELD_NOT_FOUND_PART_ERROR 1488
+#define ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR 1489
+#define ER_INCONSISTENT_PARTITION_INFO_ERROR 1490
+#define ER_PARTITION_FUNC_NOT_ALLOWED_ERROR 1491
+#define ER_PARTITIONS_MUST_BE_DEFINED_ERROR 1492
+#define ER_RANGE_NOT_INCREASING_ERROR 1493
+#define ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR 1494
+#define ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR 1495
+#define ER_PARTITION_ENTRY_ERROR 1496
+#define ER_MIX_HANDLER_ERROR 1497
+#define ER_PARTITION_NOT_DEFINED_ERROR 1498
+#define ER_TOO_MANY_PARTITIONS_ERROR 1499
+#define ER_SUBPARTITION_ERROR 1500
+#define ER_CANT_CREATE_HANDLER_FILE 1501
+#define ER_BLOB_FIELD_IN_PART_FUNC_ERROR 1502
+#define ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF 1503
+#define ER_NO_PARTS_ERROR 1504
+#define ER_PARTITION_MGMT_ON_NONPARTITIONED 1505
+#define ER_FOREIGN_KEY_ON_PARTITIONED 1506
+#define ER_DROP_PARTITION_NON_EXISTENT 1507
+#define ER_DROP_LAST_PARTITION 1508
+#define ER_COALESCE_ONLY_ON_HASH_PARTITION 1509
+#define ER_REORG_HASH_ONLY_ON_SAME_NO 1510
+#define ER_REORG_NO_PARAM_ERROR 1511
+#define ER_ONLY_ON_RANGE_LIST_PARTITION 1512
+#define ER_ADD_PARTITION_SUBPART_ERROR 1513
+#define ER_ADD_PARTITION_NO_NEW_PARTITION 1514
+#define ER_COALESCE_PARTITION_NO_PARTITION 1515
+#define ER_REORG_PARTITION_NOT_EXIST 1516
+#define ER_SAME_NAME_PARTITION 1517
+#define ER_NO_BINLOG_ERROR 1518
+#define ER_CONSECUTIVE_REORG_PARTITIONS 1519
+#define ER_REORG_OUTSIDE_RANGE 1520
+#define ER_PARTITION_FUNCTION_FAILURE 1521
+#define ER_PART_STATE_ERROR 1522
+#define ER_LIMITED_PART_RANGE 1523
+#define ER_PLUGIN_IS_NOT_LOADED 1524
+#define ER_WRONG_VALUE 1525
+#define ER_NO_PARTITION_FOR_GIVEN_VALUE 1526
+#define ER_FILEGROUP_OPTION_ONLY_ONCE 1527
+#define ER_CREATE_FILEGROUP_FAILED 1528
+#define ER_DROP_FILEGROUP_FAILED 1529
+#define ER_TABLESPACE_AUTO_EXTEND_ERROR 1530
+#define ER_WRONG_SIZE_NUMBER 1531
+#define ER_SIZE_OVERFLOW_ERROR 1532
+#define ER_ALTER_FILEGROUP_FAILED 1533
+#define ER_BINLOG_ROW_LOGGING_FAILED 1534
+#define ER_BINLOG_ROW_WRONG_TABLE_DEF 1535
+#define ER_BINLOG_ROW_RBR_TO_SBR 1536
+#define ER_EVENT_ALREADY_EXISTS 1537
+#define ER_EVENT_STORE_FAILED 1538
+#define ER_EVENT_DOES_NOT_EXIST 1539
+#define ER_EVENT_CANT_ALTER 1540
+#define ER_EVENT_DROP_FAILED 1541
+#define ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG 1542
+#define ER_EVENT_ENDS_BEFORE_STARTS 1543
+#define ER_EVENT_EXEC_TIME_IN_THE_PAST 1544
+#define ER_EVENT_OPEN_TABLE_FAILED 1545
+#define ER_EVENT_NEITHER_M_EXPR_NOR_M_AT 1546
+#define ER_UNUSED_2 1547
+#define ER_UNUSED_3 1548
+#define ER_EVENT_CANNOT_DELETE 1549
+#define ER_EVENT_COMPILE_ERROR 1550
+#define ER_EVENT_SAME_NAME 1551
+#define ER_EVENT_DATA_TOO_LONG 1552
+#define ER_DROP_INDEX_FK 1553
+#define ER_WARN_DEPRECATED_SYNTAX_WITH_VER 1554
+#define ER_CANT_WRITE_LOCK_LOG_TABLE 1555
+#define ER_CANT_LOCK_LOG_TABLE 1556
+#define ER_UNUSED_4 1557
+#define ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE 1558
+#define ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR 1559
+#define ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT 1560
+#define ER_UNUSED_13 1561
+#define ER_PARTITION_NO_TEMPORARY 1562
+#define ER_PARTITION_CONST_DOMAIN_ERROR 1563
+#define ER_PARTITION_FUNCTION_IS_NOT_ALLOWED 1564
+#define ER_DDL_LOG_ERROR 1565
+#define ER_NULL_IN_VALUES_LESS_THAN 1566
+#define ER_WRONG_PARTITION_NAME 1567
+#define ER_CANT_CHANGE_TX_CHARACTERISTICS 1568
+#define ER_DUP_ENTRY_AUTOINCREMENT_CASE 1569
+#define ER_EVENT_MODIFY_QUEUE_ERROR 1570
+#define ER_EVENT_SET_VAR_ERROR 1571
+#define ER_PARTITION_MERGE_ERROR 1572
+#define ER_CANT_ACTIVATE_LOG 1573
+#define ER_RBR_NOT_AVAILABLE 1574
+#define ER_BASE64_DECODE_ERROR 1575
+#define ER_EVENT_RECURSION_FORBIDDEN 1576
+#define ER_EVENTS_DB_ERROR 1577
+#define ER_ONLY_INTEGERS_ALLOWED 1578
+#define ER_UNSUPORTED_LOG_ENGINE 1579
+#define ER_BAD_LOG_STATEMENT 1580
+#define ER_CANT_RENAME_LOG_TABLE 1581
+#define ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT 1582
+#define ER_WRONG_PARAMETERS_TO_NATIVE_FCT 1583
+#define ER_WRONG_PARAMETERS_TO_STORED_FCT 1584
+#define ER_NATIVE_FCT_NAME_COLLISION 1585
+#define ER_DUP_ENTRY_WITH_KEY_NAME 1586
+#define ER_BINLOG_PURGE_EMFILE 1587
+#define ER_EVENT_CANNOT_CREATE_IN_THE_PAST 1588
+#define ER_EVENT_CANNOT_ALTER_IN_THE_PAST 1589
+#define ER_SLAVE_INCIDENT 1590
+#define ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT 1591
+#define ER_BINLOG_UNSAFE_STATEMENT 1592
+#define ER_SLAVE_FATAL_ERROR 1593
+#define ER_SLAVE_RELAY_LOG_READ_FAILURE 1594
+#define ER_SLAVE_RELAY_LOG_WRITE_FAILURE 1595
+#define ER_SLAVE_CREATE_EVENT_FAILURE 1596
+#define ER_SLAVE_MASTER_COM_FAILURE 1597
+#define ER_BINLOG_LOGGING_IMPOSSIBLE 1598
+#define ER_VIEW_NO_CREATION_CTX 1599
+#define ER_VIEW_INVALID_CREATION_CTX 1600
+#define ER_SR_INVALID_CREATION_CTX 1601
+#define ER_TRG_CORRUPTED_FILE 1602
+#define ER_TRG_NO_CREATION_CTX 1603
+#define ER_TRG_INVALID_CREATION_CTX 1604
+#define ER_EVENT_INVALID_CREATION_CTX 1605
+#define ER_TRG_CANT_OPEN_TABLE 1606
+#define ER_CANT_CREATE_SROUTINE 1607
+#define ER_UNUSED_11 1608
+#define ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT 1609
+#define ER_SLAVE_CORRUPT_EVENT 1610
+#define ER_LOAD_DATA_INVALID_COLUMN 1611
+#define ER_LOG_PURGE_NO_FILE 1612
+#define ER_XA_RBTIMEOUT 1613
+#define ER_XA_RBDEADLOCK 1614
+#define ER_NEED_REPREPARE 1615
+#define ER_DELAYED_NOT_SUPPORTED 1616
+#define WARN_NO_MASTER_INFO 1617
+#define WARN_OPTION_IGNORED 1618
+#define ER_PLUGIN_DELETE_BUILTIN 1619
+#define WARN_PLUGIN_BUSY 1620
+#define ER_VARIABLE_IS_READONLY 1621
+#define ER_WARN_ENGINE_TRANSACTION_ROLLBACK 1622
+#define ER_SLAVE_HEARTBEAT_FAILURE 1623
+#define ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE 1624
+#define ER_UNUSED_14 1625
+#define ER_CONFLICT_FN_PARSE_ERROR 1626
+#define ER_EXCEPTIONS_WRITE_ERROR 1627
+#define ER_TOO_LONG_TABLE_COMMENT 1628
+#define ER_TOO_LONG_FIELD_COMMENT 1629
+#define ER_FUNC_INEXISTENT_NAME_COLLISION 1630
+#define ER_DATABASE_NAME 1631
+#define ER_TABLE_NAME 1632
+#define ER_PARTITION_NAME 1633
+#define ER_SUBPARTITION_NAME 1634
+#define ER_TEMPORARY_NAME 1635
+#define ER_RENAMED_NAME 1636
+#define ER_TOO_MANY_CONCURRENT_TRXS 1637
+#define WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED 1638
+#define ER_DEBUG_SYNC_TIMEOUT 1639
+#define ER_DEBUG_SYNC_HIT_LIMIT 1640
+#define ER_DUP_SIGNAL_SET 1641
+#define ER_SIGNAL_WARN 1642
+#define ER_SIGNAL_NOT_FOUND 1643
+#define ER_SIGNAL_EXCEPTION 1644
+#define ER_RESIGNAL_WITHOUT_ACTIVE_HANDLER 1645
+#define ER_SIGNAL_BAD_CONDITION_TYPE 1646
+#define WARN_COND_ITEM_TRUNCATED 1647
+#define ER_COND_ITEM_TOO_LONG 1648
+#define ER_UNKNOWN_LOCALE 1649
+#define ER_SLAVE_IGNORE_SERVER_IDS 1650
+#define ER_QUERY_CACHE_DISABLED 1651
+#define ER_SAME_NAME_PARTITION_FIELD 1652
+#define ER_PARTITION_COLUMN_LIST_ERROR 1653
+#define ER_WRONG_TYPE_COLUMN_VALUE_ERROR 1654
+#define ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR 1655
+#define ER_MAXVALUE_IN_VALUES_IN 1656
+#define ER_TOO_MANY_VALUES_ERROR 1657
+#define ER_ROW_SINGLE_PARTITION_FIELD_ERROR 1658
+#define ER_FIELD_TYPE_NOT_ALLOWED_AS_PARTITION_FIELD 1659
+#define ER_PARTITION_FIELDS_TOO_LONG 1660
+#define ER_BINLOG_ROW_ENGINE_AND_STMT_ENGINE 1661
+#define ER_BINLOG_ROW_MODE_AND_STMT_ENGINE 1662
+#define ER_BINLOG_UNSAFE_AND_STMT_ENGINE 1663
+#define ER_BINLOG_ROW_INJECTION_AND_STMT_ENGINE 1664
+#define ER_BINLOG_STMT_MODE_AND_ROW_ENGINE 1665
+#define ER_BINLOG_ROW_INJECTION_AND_STMT_MODE 1666
+#define ER_BINLOG_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE 1667
+#define ER_BINLOG_UNSAFE_LIMIT 1668
+#define ER_BINLOG_UNSAFE_INSERT_DELAYED 1669
+#define ER_BINLOG_UNSAFE_SYSTEM_TABLE 1670
+#define ER_BINLOG_UNSAFE_AUTOINC_COLUMNS 1671
+#define ER_BINLOG_UNSAFE_UDF 1672
+#define ER_BINLOG_UNSAFE_SYSTEM_VARIABLE 1673
+#define ER_BINLOG_UNSAFE_SYSTEM_FUNCTION 1674
+#define ER_BINLOG_UNSAFE_NONTRANS_AFTER_TRANS 1675
+#define ER_MESSAGE_AND_STATEMENT 1676
+#define ER_SLAVE_CONVERSION_FAILED 1677
+#define ER_SLAVE_CANT_CREATE_CONVERSION 1678
+#define ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_FORMAT 1679
+#define ER_PATH_LENGTH 1680
+#define ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT 1681
+#define ER_WRONG_NATIVE_TABLE_STRUCTURE 1682
+#define ER_WRONG_PERFSCHEMA_USAGE 1683
+#define ER_WARN_I_S_SKIPPED_TABLE 1684
+#define ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_BINLOG_DIRECT 1685
+#define ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_DIRECT 1686
+#define ER_SPATIAL_MUST_HAVE_GEOM_COL 1687
+#define ER_TOO_LONG_INDEX_COMMENT 1688
+#define ER_LOCK_ABORTED 1689
+#define ER_DATA_OUT_OF_RANGE 1690
+#define ER_WRONG_SPVAR_TYPE_IN_LIMIT 1691
+#define ER_BINLOG_UNSAFE_MULTIPLE_ENGINES_AND_SELF_LOGGING_ENGINE 1692
+#define ER_BINLOG_UNSAFE_MIXED_STATEMENT 1693
+#define ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SQL_LOG_BIN 1694
+#define ER_STORED_FUNCTION_PREVENTS_SWITCH_SQL_LOG_BIN 1695
+#define ER_FAILED_READ_FROM_PAR_FILE 1696
+#define ER_VALUES_IS_NOT_INT_TYPE_ERROR 1697
+#define ER_ACCESS_DENIED_NO_PASSWORD_ERROR 1698
+#define ER_SET_PASSWORD_AUTH_PLUGIN 1699
+#define ER_GRANT_PLUGIN_USER_EXISTS 1700
+#define ER_TRUNCATE_ILLEGAL_FK 1701
+#define ER_PLUGIN_IS_PERMANENT 1702
+#define ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN 1703
+#define ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX 1704
+#define ER_STMT_CACHE_FULL 1705
+#define ER_MULTI_UPDATE_KEY_CONFLICT 1706
+#define ER_TABLE_NEEDS_REBUILD 1707
+#define WARN_OPTION_BELOW_LIMIT 1708
+#define ER_INDEX_COLUMN_TOO_LONG 1709
+#define ER_ERROR_IN_TRIGGER_BODY 1710
+#define ER_ERROR_IN_UNKNOWN_TRIGGER_BODY 1711
+#define ER_INDEX_CORRUPT 1712
+#define ER_UNDO_RECORD_TOO_BIG 1713
+#define ER_BINLOG_UNSAFE_INSERT_IGNORE_SELECT 1714
+#define ER_BINLOG_UNSAFE_INSERT_SELECT_UPDATE 1715
+#define ER_BINLOG_UNSAFE_REPLACE_SELECT 1716
+#define ER_BINLOG_UNSAFE_CREATE_IGNORE_SELECT 1717
+#define ER_BINLOG_UNSAFE_CREATE_REPLACE_SELECT 1718
+#define ER_BINLOG_UNSAFE_UPDATE_IGNORE 1719
+#define ER_UNUSED_15 1720
+#define ER_UNUSED_16 1721
+#define ER_BINLOG_UNSAFE_WRITE_AUTOINC_SELECT 1722
+#define ER_BINLOG_UNSAFE_CREATE_SELECT_AUTOINC 1723
+#define ER_BINLOG_UNSAFE_INSERT_TWO_KEYS 1724
+#define ER_TABLE_IN_FK_CHECK 1725
+#define ER_UNUSED_1 1726
+#define ER_BINLOG_UNSAFE_AUTOINC_NOT_FIRST 1727
+#define ER_CANNOT_LOAD_FROM_TABLE_V2 1728
+#define ER_MASTER_DELAY_VALUE_OUT_OF_RANGE 1729
+#define ER_ONLY_FD_AND_RBR_EVENTS_ALLOWED_IN_BINLOG_STATEMENT 1730
+#define ER_PARTITION_EXCHANGE_DIFFERENT_OPTION 1731
+#define ER_PARTITION_EXCHANGE_PART_TABLE 1732
+#define ER_PARTITION_EXCHANGE_TEMP_TABLE 1733
+#define ER_PARTITION_INSTEAD_OF_SUBPARTITION 1734
+#define ER_UNKNOWN_PARTITION 1735
+#define ER_TABLES_DIFFERENT_METADATA 1736
+#define ER_ROW_DOES_NOT_MATCH_PARTITION 1737
+#define ER_BINLOG_CACHE_SIZE_GREATER_THAN_MAX 1738
+#define ER_WARN_INDEX_NOT_APPLICABLE 1739
+#define ER_PARTITION_EXCHANGE_FOREIGN_KEY 1740
+#define ER_NO_SUCH_KEY_VALUE 1741
+#define ER_VALUE_TOO_LONG 1742
+#define ER_NETWORK_READ_EVENT_CHECKSUM_FAILURE 1743
+#define ER_BINLOG_READ_EVENT_CHECKSUM_FAILURE 1744
+#define ER_BINLOG_STMT_CACHE_SIZE_GREATER_THAN_MAX 1745
+#define ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT 1746
+#define ER_PARTITION_CLAUSE_ON_NONPARTITIONED 1747
+#define ER_ROW_DOES_NOT_MATCH_GIVEN_PARTITION_SET 1748
+#define ER_UNUSED_5 1749
+#define ER_CHANGE_RPL_INFO_REPOSITORY_FAILURE 1750
+#define ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_CREATED_TEMP_TABLE 1751
+#define ER_WARNING_NOT_COMPLETE_ROLLBACK_WITH_DROPPED_TEMP_TABLE 1752
+#define ER_MTS_FEATURE_IS_NOT_SUPPORTED 1753
+#define ER_MTS_UPDATED_DBS_GREATER_MAX 1754
+#define ER_MTS_CANT_PARALLEL 1755
+#define ER_MTS_INCONSISTENT_DATA 1756
+#define ER_FULLTEXT_NOT_SUPPORTED_WITH_PARTITIONING 1757
+#define ER_DA_INVALID_CONDITION_NUMBER 1758
+#define ER_INSECURE_PLAIN_TEXT 1759
+#define ER_INSECURE_CHANGE_MASTER 1760
+#define ER_FOREIGN_DUPLICATE_KEY_WITH_CHILD_INFO 1761
+#define ER_FOREIGN_DUPLICATE_KEY_WITHOUT_CHILD_INFO 1762
+#define ER_SQLTHREAD_WITH_SECURE_SLAVE 1763
+#define ER_TABLE_HAS_NO_FT 1764
+#define ER_VARIABLE_NOT_SETTABLE_IN_SF_OR_TRIGGER 1765
+#define ER_VARIABLE_NOT_SETTABLE_IN_TRANSACTION 1766
+#define ER_GTID_NEXT_IS_NOT_IN_GTID_NEXT_LIST 1767
+#define ER_CANT_CHANGE_GTID_NEXT_IN_TRANSACTION_WHEN_GTID_NEXT_LIST_IS_NULL 1768
+#define ER_SET_STATEMENT_CANNOT_INVOKE_FUNCTION 1769
+#define ER_GTID_NEXT_CANT_BE_AUTOMATIC_IF_GTID_NEXT_LIST_IS_NON_NULL 1770
+#define ER_SKIPPING_LOGGED_TRANSACTION 1771
+#define ER_MALFORMED_GTID_SET_SPECIFICATION 1772
+#define ER_MALFORMED_GTID_SET_ENCODING 1773
+#define ER_MALFORMED_GTID_SPECIFICATION 1774
+#define ER_GNO_EXHAUSTED 1775
+#define ER_BAD_SLAVE_AUTO_POSITION 1776
+#define ER_AUTO_POSITION_REQUIRES_GTID_MODE_ON 1777
+#define ER_CANT_DO_IMPLICIT_COMMIT_IN_TRX_WHEN_GTID_NEXT_IS_SET 1778
+#define ER_GTID_MODE_2_OR_3_REQUIRES_ENFORCE_GTID_CONSISTENCY_ON 1779
+#define ER_GTID_MODE_REQUIRES_BINLOG 1780
+#define ER_CANT_SET_GTID_NEXT_TO_GTID_WHEN_GTID_MODE_IS_OFF 1781
+#define ER_CANT_SET_GTID_NEXT_TO_ANONYMOUS_WHEN_GTID_MODE_IS_ON 1782
+#define ER_CANT_SET_GTID_NEXT_LIST_TO_NON_NULL_WHEN_GTID_MODE_IS_OFF 1783
+#define ER_FOUND_GTID_EVENT_WHEN_GTID_MODE_IS_OFF 1784
+#define ER_GTID_UNSAFE_NON_TRANSACTIONAL_TABLE 1785
+#define ER_GTID_UNSAFE_CREATE_SELECT 1786
+#define ER_GTID_UNSAFE_CREATE_DROP_TEMPORARY_TABLE_IN_TRANSACTION 1787
+#define ER_GTID_MODE_CAN_ONLY_CHANGE_ONE_STEP_AT_A_TIME 1788
+#define ER_MASTER_HAS_PURGED_REQUIRED_GTIDS 1789
+#define ER_CANT_SET_GTID_NEXT_WHEN_OWNING_GTID 1790
+#define ER_UNKNOWN_EXPLAIN_FORMAT 1791
+#define ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION 1792
+#define ER_TOO_LONG_TABLE_PARTITION_COMMENT 1793
+#define ER_SLAVE_CONFIGURATION 1794
+#define ER_INNODB_FT_LIMIT 1795
+#define ER_INNODB_NO_FT_TEMP_TABLE 1796
+#define ER_INNODB_FT_WRONG_DOCID_COLUMN 1797
+#define ER_INNODB_FT_WRONG_DOCID_INDEX 1798
+#define ER_INNODB_ONLINE_LOG_TOO_BIG 1799
+#define ER_UNKNOWN_ALTER_ALGORITHM 1800
+#define ER_UNKNOWN_ALTER_LOCK 1801
+#define ER_MTS_CHANGE_MASTER_CANT_RUN_WITH_GAPS 1802
+#define ER_MTS_RECOVERY_FAILURE 1803
+#define ER_MTS_RESET_WORKERS 1804
+#define ER_COL_COUNT_DOESNT_MATCH_CORRUPTED_V2 1805
+#define ER_SLAVE_SILENT_RETRY_TRANSACTION 1806
+#define ER_DISCARD_FK_CHECKS_RUNNING 1807
+#define ER_TABLE_SCHEMA_MISMATCH 1808
+#define ER_TABLE_IN_SYSTEM_TABLESPACE 1809
+#define ER_IO_READ_ERROR 1810
+#define ER_IO_WRITE_ERROR 1811
+#define ER_TABLESPACE_MISSING 1812
+#define ER_TABLESPACE_EXISTS 1813
+#define ER_TABLESPACE_DISCARDED 1814
+#define ER_INTERNAL_ERROR 1815
+#define ER_INNODB_IMPORT_ERROR 1816
+#define ER_INNODB_INDEX_CORRUPT 1817
+#define ER_INVALID_YEAR_COLUMN_LENGTH 1818
+#define ER_NOT_VALID_PASSWORD 1819
+#define ER_MUST_CHANGE_PASSWORD 1820
+#define ER_FK_NO_INDEX_CHILD 1821
+#define ER_FK_NO_INDEX_PARENT 1822
+#define ER_FK_FAIL_ADD_SYSTEM 1823
+#define ER_FK_CANNOT_OPEN_PARENT 1824
+#define ER_FK_INCORRECT_OPTION 1825
+#define ER_DUP_CONSTRAINT_NAME 1826
+#define ER_PASSWORD_FORMAT 1827
+#define ER_FK_COLUMN_CANNOT_DROP 1828
+#define ER_FK_COLUMN_CANNOT_DROP_CHILD 1829
+#define ER_FK_COLUMN_NOT_NULL 1830
+#define ER_DUP_INDEX 1831
+#define ER_FK_COLUMN_CANNOT_CHANGE 1832
+#define ER_FK_COLUMN_CANNOT_CHANGE_CHILD 1833
+#define ER_FK_CANNOT_DELETE_PARENT 1834
+#define ER_MALFORMED_PACKET 1835
+#define ER_READ_ONLY_MODE 1836
+#define ER_GTID_NEXT_TYPE_UNDEFINED_GROUP 1837
+#define ER_VARIABLE_NOT_SETTABLE_IN_SP 1838
+#define ER_CANT_SET_GTID_PURGED_WHEN_GTID_MODE_IS_OFF 1839
+#define ER_CANT_SET_GTID_PURGED_WHEN_GTID_EXECUTED_IS_NOT_EMPTY 1840
+#define ER_CANT_SET_GTID_PURGED_WHEN_OWNED_GTIDS_IS_NOT_EMPTY 1841
+#define ER_GTID_PURGED_WAS_CHANGED 1842
+#define ER_GTID_EXECUTED_WAS_CHANGED 1843
+#define ER_BINLOG_STMT_MODE_AND_NO_REPL_TABLES 1844
+#define ER_ALTER_OPERATION_NOT_SUPPORTED 1845
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON 1846
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COPY 1847
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_PARTITION 1848
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_RENAME 1849
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE 1850
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FK_CHECK 1851
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_IGNORE 1852
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOPK 1853
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_AUTOINC 1854
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_HIDDEN_FTS 1855
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_CHANGE_FTS 1856
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_FTS 1857
+#define ER_SQL_SLAVE_SKIP_COUNTER_NOT_SETTABLE_IN_GTID_MODE 1858
+#define ER_DUP_UNKNOWN_IN_INDEX 1859
+#define ER_IDENT_CAUSES_TOO_LONG_PATH 1860
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_NOT_NULL 1861
+#define ER_MUST_CHANGE_PASSWORD_LOGIN 1862
+#define ER_ROW_IN_WRONG_PARTITION 1863
+#define ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX 1864
+#define ER_INNODB_NO_FT_USES_PARSER 1865
+#define ER_BINLOG_LOGICAL_CORRUPTION 1866
+#define ER_WARN_PURGE_LOG_IN_USE 1867
+#define ER_WARN_PURGE_LOG_IS_ACTIVE 1868
+#define ER_AUTO_INCREMENT_CONFLICT 1869
+#define WARN_ON_BLOCKHOLE_IN_RBR 1870
+#define ER_SLAVE_MI_INIT_REPOSITORY 1871
+#define ER_SLAVE_RLI_INIT_REPOSITORY 1872
+#define ER_ACCESS_DENIED_CHANGE_USER_ERROR 1873
+#define ER_INNODB_READ_ONLY 1874
+#define ER_STOP_SLAVE_SQL_THREAD_TIMEOUT 1875
+#define ER_STOP_SLAVE_IO_THREAD_TIMEOUT 1876
+#define ER_TABLE_CORRUPT 1877
+#define ER_TEMP_FILE_WRITE_FAILURE 1878
+#define ER_INNODB_FT_AUX_NOT_HEX_ID 1879
+#define ER_LAST_MYSQL_ERROR_MESSAGE 1880
+#define ER_ERROR_LAST_SECTION_1 1880
+
+/* New section */
+
+#define ER_ERROR_FIRST_SECTION_2 1900
+#define ER_UNUSED_18 1900
+#define ER_GENERATED_COLUMN_FUNCTION_IS_NOT_ALLOWED 1901
+#define ER_UNUSED_19 1902
+#define ER_PRIMARY_KEY_BASED_ON_GENERATED_COLUMN 1903
+#define ER_KEY_BASED_ON_GENERATED_VIRTUAL_COLUMN 1904
+#define ER_WRONG_FK_OPTION_FOR_GENERATED_COLUMN 1905
+#define ER_WARNING_NON_DEFAULT_VALUE_FOR_GENERATED_COLUMN 1906
+#define ER_UNSUPPORTED_ACTION_ON_GENERATED_COLUMN 1907
+#define ER_UNUSED_20 1908
+#define ER_UNUSED_21 1909
+#define ER_UNSUPPORTED_ENGINE_FOR_GENERATED_COLUMNS 1910
+#define ER_UNKNOWN_OPTION 1911
+#define ER_BAD_OPTION_VALUE 1912
+#define ER_UNUSED_6 1913
+#define ER_UNUSED_7 1914
+#define ER_UNUSED_8 1915
+#define ER_DATA_OVERFLOW 1916
+#define ER_DATA_TRUNCATED 1917
+#define ER_BAD_DATA 1918
+#define ER_DYN_COL_WRONG_FORMAT 1919
+#define ER_DYN_COL_IMPLEMENTATION_LIMIT 1920
+#define ER_DYN_COL_DATA 1921
+#define ER_DYN_COL_WRONG_CHARSET 1922
+#define ER_ILLEGAL_SUBQUERY_OPTIMIZER_SWITCHES 1923
+#define ER_QUERY_CACHE_IS_DISABLED 1924
+#define ER_QUERY_CACHE_IS_GLOBALY_DISABLED 1925
+#define ER_VIEW_ORDERBY_IGNORED 1926
+#define ER_CONNECTION_KILLED 1927
+#define ER_UNUSED_12 1928
+#define ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_SKIP_REPLICATION 1929
+#define ER_STORED_FUNCTION_PREVENTS_SWITCH_SKIP_REPLICATION 1930
+#define ER_QUERY_EXCEEDED_ROWS_EXAMINED_LIMIT 1931
+#define ER_NO_SUCH_TABLE_IN_ENGINE 1932
+#define ER_TARGET_NOT_EXPLAINABLE 1933
+#define ER_CONNECTION_ALREADY_EXISTS 1934
+#define ER_MASTER_LOG_PREFIX 1935
+#define ER_CANT_START_STOP_SLAVE 1936
+#define ER_SLAVE_STARTED 1937
+#define ER_SLAVE_STOPPED 1938
+#define ER_SQL_DISCOVER_ERROR 1939
+#define ER_FAILED_GTID_STATE_INIT 1940
+#define ER_INCORRECT_GTID_STATE 1941
+#define ER_CANNOT_UPDATE_GTID_STATE 1942
+#define ER_DUPLICATE_GTID_DOMAIN 1943
+#define ER_GTID_OPEN_TABLE_FAILED 1944
+#define ER_GTID_POSITION_NOT_FOUND_IN_BINLOG 1945
+#define ER_CANNOT_LOAD_SLAVE_GTID_STATE 1946
+#define ER_MASTER_GTID_POS_CONFLICTS_WITH_BINLOG 1947
+#define ER_MASTER_GTID_POS_MISSING_DOMAIN 1948
+#define ER_UNTIL_REQUIRES_USING_GTID 1949
+#define ER_GTID_STRICT_OUT_OF_ORDER 1950
+#define ER_GTID_START_FROM_BINLOG_HOLE 1951
+#define ER_SLAVE_UNEXPECTED_MASTER_SWITCH 1952
+#define ER_INSIDE_TRANSACTION_PREVENTS_SWITCH_GTID_DOMAIN_ID_SEQ_NO 1953
+#define ER_STORED_FUNCTION_PREVENTS_SWITCH_GTID_DOMAIN_ID_SEQ_NO 1954
+#define ER_GTID_POSITION_NOT_FOUND_IN_BINLOG2 1955
+#define ER_BINLOG_MUST_BE_EMPTY 1956
+#define ER_NO_SUCH_QUERY 1957
+#define ER_BAD_BASE64_DATA 1958
+#define ER_INVALID_ROLE 1959
+#define ER_INVALID_CURRENT_USER 1960
+#define ER_CANNOT_GRANT_ROLE 1961
+#define ER_CANNOT_REVOKE_ROLE 1962
+#define ER_CHANGE_SLAVE_PARALLEL_THREADS_ACTIVE 1963
+#define ER_PRIOR_COMMIT_FAILED 1964
+#define ER_IT_IS_A_VIEW 1965
+#define ER_SLAVE_SKIP_NOT_IN_GTID 1966
+#define ER_TABLE_DEFINITION_TOO_BIG 1967
+#define ER_PLUGIN_INSTALLED 1968
+#define ER_STATEMENT_TIMEOUT 1969
+#define ER_SUBQUERIES_NOT_SUPPORTED 1970
+#define ER_SET_STATEMENT_NOT_SUPPORTED 1971
+#define ER_UNUSED_17 1972
+#define ER_USER_CREATE_EXISTS 1973
+#define ER_USER_DROP_EXISTS 1974
+#define ER_ROLE_CREATE_EXISTS 1975
+#define ER_ROLE_DROP_EXISTS 1976
+#define ER_CANNOT_CONVERT_CHARACTER 1977
+#define ER_INVALID_DEFAULT_VALUE_FOR_FIELD 1978
+#define ER_KILL_QUERY_DENIED_ERROR 1979
+#define ER_NO_EIS_FOR_FIELD 1980
+#define ER_WARN_AGGFUNC_DEPENDENCE 1981
+#define ER_ERROR_LAST_SECTION_2 1981
+
+/* New section */
+
+#define ER_ERROR_FIRST_SECTION_3 2000
+#define ER_ERROR_LAST_SECTION_3 2000
+
+/* New section */
+
+#define ER_ERROR_FIRST_SECTION_4 3000
+#define ER_FILE_CORRUPT 3000
+#define ER_ERROR_ON_MASTER 3001
+#define ER_INCONSISTENT_ERROR 3002
+#define ER_STORAGE_ENGINE_NOT_LOADED 3003
+#define ER_GET_STACKED_DA_WITHOUT_ACTIVE_HANDLER 3004
+#define ER_WARN_LEGACY_SYNTAX_CONVERTED 3005
+#define ER_BINLOG_UNSAFE_FULLTEXT_PLUGIN 3006
+#define ER_CANNOT_DISCARD_TEMPORARY_TABLE 3007
+#define ER_FK_DEPTH_EXCEEDED 3008
+#define ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE_V2 3009
+#define ER_WARN_TRIGGER_DOESNT_HAVE_CREATED 3010
+#define ER_REFERENCED_TRG_DOES_NOT_EXIST_MYSQL 3011
+#define ER_EXPLAIN_NOT_SUPPORTED 3012
+#define ER_INVALID_FIELD_SIZE 3013
+#define ER_MISSING_HA_CREATE_OPTION 3014
+#define ER_ENGINE_OUT_OF_MEMORY 3015
+#define ER_PASSWORD_EXPIRE_ANONYMOUS_USER 3016
+#define ER_SLAVE_SQL_THREAD_MUST_STOP 3017
+#define ER_NO_FT_MATERIALIZED_SUBQUERY 3018
+#define ER_INNODB_UNDO_LOG_FULL 3019
+#define ER_INVALID_ARGUMENT_FOR_LOGARITHM 3020
+#define ER_SLAVE_CHANNEL_IO_THREAD_MUST_STOP 3021
+#define ER_WARN_OPEN_TEMP_TABLES_MUST_BE_ZERO 3022
+#define ER_WARN_ONLY_MASTER_LOG_FILE_NO_POS 3023
+#define ER_QUERY_TIMEOUT 3024
+#define ER_NON_RO_SELECT_DISABLE_TIMER 3025
+#define ER_DUP_LIST_ENTRY 3026
+#define ER_SQL_MODE_NO_EFFECT 3027
+#define ER_AGGREGATE_ORDER_FOR_UNION 3028
+#define ER_AGGREGATE_ORDER_NON_AGG_QUERY 3029
+#define ER_SLAVE_WORKER_STOPPED_PREVIOUS_THD_ERROR 3030
+#define ER_DONT_SUPPORT_SLAVE_PRESERVE_COMMIT_ORDER 3031
+#define ER_SERVER_OFFLINE_MODE 3032
+#define ER_GIS_DIFFERENT_SRIDS 3033
+#define ER_GIS_UNSUPPORTED_ARGUMENT 3034
+#define ER_GIS_UNKNOWN_ERROR 3035
+#define ER_GIS_UNKNOWN_EXCEPTION 3036
+#define ER_GIS_INVALID_DATA 3037
+#define ER_BOOST_GEOMETRY_EMPTY_INPUT_EXCEPTION 3038
+#define ER_BOOST_GEOMETRY_CENTROID_EXCEPTION 3039
+#define ER_BOOST_GEOMETRY_OVERLAY_INVALID_INPUT_EXCEPTION 3040
+#define ER_BOOST_GEOMETRY_TURN_INFO_EXCEPTION 3041
+#define ER_BOOST_GEOMETRY_SELF_INTERSECTION_POINT_EXCEPTION 3042
+#define ER_BOOST_GEOMETRY_UNKNOWN_EXCEPTION 3043
+#define ER_STD_BAD_ALLOC_ERROR 3044
+#define ER_STD_DOMAIN_ERROR 3045
+#define ER_STD_LENGTH_ERROR 3046
+#define ER_STD_INVALID_ARGUMENT 3047
+#define ER_STD_OUT_OF_RANGE_ERROR 3048
+#define ER_STD_OVERFLOW_ERROR 3049
+#define ER_STD_RANGE_ERROR 3050
+#define ER_STD_UNDERFLOW_ERROR 3051
+#define ER_STD_LOGIC_ERROR 3052
+#define ER_STD_RUNTIME_ERROR 3053
+#define ER_STD_UNKNOWN_EXCEPTION 3054
+#define ER_GIS_DATA_WRONG_ENDIANESS 3055
+#define ER_CHANGE_MASTER_PASSWORD_LENGTH 3056
+#define ER_USER_LOCK_WRONG_NAME 3057
+#define ER_USER_LOCK_DEADLOCK 3058
+#define ER_REPLACE_INACCESSIBLE_ROWS 3059
+#define ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_GIS 3060
+#define ER_ERROR_LAST_SECTION_4 3060
+
+/* New section */
+
+#define ER_ERROR_FIRST_SECTION_5 4000
+#define ER_COMMULTI_BADCONTEXT 4000
+#define ER_BAD_COMMAND_IN_MULTI 4001
+#define ER_WITH_COL_WRONG_LIST 4002
+#define ER_TOO_MANY_DEFINITIONS_IN_WITH_CLAUSE 4003
+#define ER_DUP_QUERY_NAME 4004
+#define ER_RECURSIVE_WITHOUT_ANCHORS 4005
+#define ER_UNACCEPTABLE_MUTUAL_RECURSION 4006
+#define ER_REF_TO_RECURSIVE_WITH_TABLE_IN_DERIVED 4007
+#define ER_NOT_STANDARD_COMPLIANT_RECURSIVE 4008
+#define ER_WRONG_WINDOW_SPEC_NAME 4009
+#define ER_DUP_WINDOW_NAME 4010
+#define ER_PARTITION_LIST_IN_REFERENCING_WINDOW_SPEC 4011
+#define ER_ORDER_LIST_IN_REFERENCING_WINDOW_SPEC 4012
+#define ER_WINDOW_FRAME_IN_REFERENCED_WINDOW_SPEC 4013
+#define ER_BAD_COMBINATION_OF_WINDOW_FRAME_BOUND_SPECS 4014
+#define ER_WRONG_PLACEMENT_OF_WINDOW_FUNCTION 4015
+#define ER_WINDOW_FUNCTION_IN_WINDOW_SPEC 4016
+#define ER_NOT_ALLOWED_WINDOW_FRAME 4017
+#define ER_NO_ORDER_LIST_IN_WINDOW_SPEC 4018
+#define ER_RANGE_FRAME_NEEDS_SIMPLE_ORDERBY 4019
+#define ER_WRONG_TYPE_FOR_ROWS_FRAME 4020
+#define ER_WRONG_TYPE_FOR_RANGE_FRAME 4021
+#define ER_FRAME_EXCLUSION_NOT_SUPPORTED 4022
+#define ER_WINDOW_FUNCTION_DONT_HAVE_FRAME 4023
+#define ER_INVALID_NTILE_ARGUMENT 4024
+#define ER_CONSTRAINT_FAILED 4025
+#define ER_EXPRESSION_IS_TOO_BIG 4026
+#define ER_ERROR_EVALUATING_EXPRESSION 4027
+#define ER_CALCULATING_DEFAULT_VALUE 4028
+#define ER_EXPRESSION_REFERS_TO_UNINIT_FIELD 4029
+#define ER_PARTITION_DEFAULT_ERROR 4030
+#define ER_REFERENCED_TRG_DOES_NOT_EXIST 4031
+#define ER_INVALID_DEFAULT_PARAM 4032
+#define ER_BINLOG_NON_SUPPORTED_BULK 4033
+#define ER_BINLOG_UNCOMPRESS_ERROR 4034
+#define ER_JSON_BAD_CHR 4035
+#define ER_JSON_NOT_JSON_CHR 4036
+#define ER_JSON_EOS 4037
+#define ER_JSON_SYNTAX 4038
+#define ER_JSON_ESCAPING 4039
+#define ER_JSON_DEPTH 4040
+#define ER_JSON_PATH_EOS 4041
+#define ER_JSON_PATH_SYNTAX 4042
+#define ER_JSON_PATH_DEPTH 4043
+#define ER_JSON_PATH_NO_WILDCARD 4044
+#define ER_JSON_PATH_ARRAY 4045
+#define ER_JSON_ONE_OR_ALL 4046
+#define ER_UNSUPPORT_COMPRESSED_TEMPORARY_TABLE 4047
+#define ER_GEOJSON_INCORRECT 4048
+#define ER_GEOJSON_TOO_FEW_POINTS 4049
+#define ER_GEOJSON_NOT_CLOSED 4050
+#define ER_JSON_PATH_EMPTY 4051
+#define ER_SLAVE_SAME_ID 4052
+#define ER_FLASHBACK_NOT_SUPPORTED 4053
+#define ER_KEYS_OUT_OF_ORDER 4054
+#define ER_OVERLAPPING_KEYS 4055
+#define ER_REQUIRE_ROW_BINLOG_FORMAT 4056
+#define ER_ISOLATION_MODE_NOT_SUPPORTED 4057
+#define ER_ON_DUPLICATE_DISABLED 4058
+#define ER_UPDATES_WITH_CONSISTENT_SNAPSHOT 4059
+#define ER_ROLLBACK_ONLY 4060
+#define ER_ROLLBACK_TO_SAVEPOINT 4061
+#define ER_ISOLATION_LEVEL_WITH_CONSISTENT_SNAPSHOT 4062
+#define ER_UNSUPPORTED_COLLATION 4063
+#define ER_METADATA_INCONSISTENCY 4064
+#define ER_KEY_CREATE_DURING_ALTER 4065
+#define ER_SK_POPULATE_DURING_ALTER 4066
+#define ER_CF_DIFFERENT 4067
+#define ER_RDB_STATUS_GENERAL 4068
+#define ER_RDB_STATUS_MSG 4069
+#define ER_NET_OK_PACKET_TOO_LARGE 4070
+#define ER_RDB_TTL_UNSUPPORTED 4071
+#define ER_RDB_TTL_COL_FORMAT 4072
+#define ER_RDB_TTL_DURATION_FORMAT 4073
+#define ER_PER_INDEX_CF_DEPRECATED 4074
+#define ER_ERROR_LAST 4074
diff --git a/3rdparty/mariadb/include/plugin_auth.h b/3rdparty/mariadb/include/plugin_auth.h
new file mode 100644
index 000000000..2be64a6b3
--- /dev/null
+++ b/3rdparty/mariadb/include/plugin_auth.h
@@ -0,0 +1,107 @@
+#ifndef MYSQL_PLUGIN_AUTH_COMMON_INCLUDED
+/* Copyright (C) 2010 Sergei Golubchik and Monty Program Ab
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA */
+
+/**
+ @file
+
+ This file defines constants and data structures that are the same for
+ both client- and server-side authentication plugins.
+*/
+#define MYSQL_PLUGIN_AUTH_COMMON_INCLUDED
+
+/** the max allowed length for a user name */
+#define MYSQL_USERNAME_LENGTH 512
+
+/**
+ return values of the plugin authenticate_user() method.
+*/
+
+/**
+ Authentication failed. Additionally, all other CR_xxx values
+ (libmariadb error code) can be used too.
+
+ The client plugin may set the error code and the error message directly
+ in the MYSQL structure and return CR_ERROR. If a CR_xxx specific error
+ code was returned, an error message in the MYSQL structure will be
+ overwritten. If CR_ERROR is returned without setting the error in MYSQL,
+ CR_UNKNOWN_ERROR will be user.
+*/
+#define CR_ERROR 0
+/**
+ Authentication (client part) was successful. It does not mean that the
+ authentication as a whole was successful, usually it only means
+ that the client was able to send the user name and the password to the
+ server. If CR_OK is returned, the libmariadb reads the next packet expecting
+ it to be one of OK, ERROR, or CHANGE_PLUGIN packets.
+*/
+#define CR_OK -1
+/**
+ Authentication was successful.
+ It means that the client has done its part successfully and also that
+ a plugin has read the last packet (one of OK, ERROR, CHANGE_PLUGIN).
+ In this case, libmariadb will not read a packet from the server,
+ but it will use the data at mysql->net.read_pos.
+
+ A plugin may return this value if the number of roundtrips in the
+ authentication protocol is not known in advance, and the client plugin
+ needs to read one packet more to determine if the authentication is finished
+ or not.
+*/
+#define CR_OK_HANDSHAKE_COMPLETE -2
+
+typedef struct st_plugin_vio_info
+{
+ enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET,
+ MYSQL_VIO_PIPE, MYSQL_VIO_MEMORY } protocol;
+ int socket; /**< it's set, if the protocol is SOCKET or TCP */
+#ifdef _WIN32
+ HANDLE handle; /**< it's set, if the protocol is PIPE or MEMORY */
+#endif
+} MYSQL_PLUGIN_VIO_INFO;
+
+/**
+ Provides plugin access to communication channel
+*/
+typedef struct st_plugin_vio
+{
+ /**
+ Plugin provides a pointer reference and this function sets it to the
+ contents of any incoming packet. Returns the packet length, or -1 if
+ the plugin should terminate.
+ */
+ int (*read_packet)(struct st_plugin_vio *vio,
+ unsigned char **buf);
+
+ /**
+ Plugin provides a buffer with data and the length and this
+ function sends it as a packet. Returns 0 on success, 1 on failure.
+ */
+ int (*write_packet)(struct st_plugin_vio *vio,
+ const unsigned char *packet,
+ int packet_len);
+
+ /**
+ Fills in a st_plugin_vio_info structure, providing the information
+ about the connection.
+ */
+ void (*info)(struct st_plugin_vio *vio, struct st_plugin_vio_info *info);
+
+} MYSQL_PLUGIN_VIO;
+
+#endif
+
diff --git a/3rdparty/mariadb/include/plugin_auth_common.h b/3rdparty/mariadb/include/plugin_auth_common.h
new file mode 100644
index 000000000..ee4b8b9ce
--- /dev/null
+++ b/3rdparty/mariadb/include/plugin_auth_common.h
@@ -0,0 +1,110 @@
+/* Copyright (C) 2010 Sergei Golubchik and Monty Program Ab
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ MA 02111-1301, USA */
+
+
+#ifndef MYSQL_PLUGIN_AUTH_COMMON_INCLUDED
+/**
+ @file
+
+ This file defines constants and data structures that are the same for
+ both client- and server-side authentication plugins.
+*/
+#define MYSQL_PLUGIN_AUTH_COMMON_INCLUDED
+
+/** the max allowed length for a user name */
+#define MYSQL_USERNAME_LENGTH 512
+
+/**
+ return values of the plugin authenticate_user() method.
+*/
+
+/**
+ Authentication failed. Additionally, all other CR_xxx values
+ (libmariadb error code) can be used too.
+
+ The client plugin may set the error code and the error message directly
+ in the MYSQL structure and return CR_ERROR. If a CR_xxx specific error
+ code was returned, an error message in the MYSQL structure will be
+ overwritten. If CR_ERROR is returned without setting the error in MYSQL,
+ CR_UNKNOWN_ERROR will be user.
+*/
+#define CR_ERROR 0
+/**
+ Authentication (client part) was successful. It does not mean that the
+ authentication as a whole was successful, usually it only means
+ that the client was able to send the user name and the password to the
+ server. If CR_OK is returned, the libmariadb reads the next packet expecting
+ it to be one of OK, ERROR, or CHANGE_PLUGIN packets.
+*/
+#define CR_OK -1
+/**
+ Authentication was successful.
+ It means that the client has done its part successfully and also that
+ a plugin has read the last packet (one of OK, ERROR, CHANGE_PLUGIN).
+ In this case, libmariadb will not read a packet from the server,
+ but it will use the data at mysql->net.read_pos.
+
+ A plugin may return this value if the number of roundtrips in the
+ authentication protocol is not known in advance, and the client plugin
+ needs to read one packet more to determine if the authentication is finished
+ or not.
+*/
+#define CR_OK_HANDSHAKE_COMPLETE -2
+
+typedef struct st_plugin_vio_info
+{
+ enum { MYSQL_VIO_INVALID, MYSQL_VIO_TCP, MYSQL_VIO_SOCKET,
+ MYSQL_VIO_PIPE, MYSQL_VIO_MEMORY } protocol;
+#ifndef _WIN32
+ int socket; /**< it's set, if the protocol is SOCKET or TCP */
+#else
+ SOCKET socket; /**< it's set, if the protocol is SOCKET or TCP */
+ HANDLE handle; /**< it's set, if the protocol is PIPE or MEMORY */
+#endif
+} MYSQL_PLUGIN_VIO_INFO;
+
+/**
+ Provides plugin access to communication channel
+*/
+typedef struct st_plugin_vio
+{
+ /**
+ Plugin provides a pointer reference and this function sets it to the
+ contents of any incoming packet. Returns the packet length, or -1 if
+ the plugin should terminate.
+ */
+ int (*read_packet)(struct st_plugin_vio *vio,
+ unsigned char **buf);
+
+ /**
+ Plugin provides a buffer with data and the length and this
+ function sends it as a packet. Returns 0 on success, 1 on failure.
+ */
+ int (*write_packet)(struct st_plugin_vio *vio,
+ const unsigned char *packet,
+ int packet_len);
+
+ /**
+ Fills in a st_plugin_vio_info structure, providing the information
+ about the connection.
+ */
+ void (*info)(struct st_plugin_vio *vio, struct st_plugin_vio_info *info);
+
+} MYSQL_PLUGIN_VIO;
+
+#endif
+
diff --git a/3rdparty/mariadb/lib/libmariadb.lib b/3rdparty/mariadb/lib/libmariadb.lib
new file mode 100644
index 000000000..5a2a616ed
--- /dev/null
+++ b/3rdparty/mariadb/lib/libmariadb.lib
Binary files differ
diff --git a/3rdparty/mariadb/lib/plugin/auth_gssapi_client.dll b/3rdparty/mariadb/lib/plugin/auth_gssapi_client.dll
new file mode 100644
index 000000000..049a5ac0f
--- /dev/null
+++ b/3rdparty/mariadb/lib/plugin/auth_gssapi_client.dll
Binary files differ
diff --git a/3rdparty/mariadb/lib/plugin/caching_sha2_password.dll b/3rdparty/mariadb/lib/plugin/caching_sha2_password.dll
new file mode 100644
index 000000000..882032a41
--- /dev/null
+++ b/3rdparty/mariadb/lib/plugin/caching_sha2_password.dll
Binary files differ
diff --git a/3rdparty/mariadb/lib/plugin/client_ed25519.dll b/3rdparty/mariadb/lib/plugin/client_ed25519.dll
new file mode 100644
index 000000000..d5fe5dbe1
--- /dev/null
+++ b/3rdparty/mariadb/lib/plugin/client_ed25519.dll
Binary files differ
diff --git a/3rdparty/mariadb/lib/plugin/dialog.dll b/3rdparty/mariadb/lib/plugin/dialog.dll
new file mode 100644
index 000000000..7d31042cc
--- /dev/null
+++ b/3rdparty/mariadb/lib/plugin/dialog.dll
Binary files differ
diff --git a/3rdparty/mariadb/lib/plugin/mysql_clear_password.dll b/3rdparty/mariadb/lib/plugin/mysql_clear_password.dll
new file mode 100644
index 000000000..252a1cff6
--- /dev/null
+++ b/3rdparty/mariadb/lib/plugin/mysql_clear_password.dll
Binary files differ
diff --git a/3rdparty/mariadb/lib/plugin/pvio_npipe.dll b/3rdparty/mariadb/lib/plugin/pvio_npipe.dll
new file mode 100644
index 000000000..9d5a7a538
--- /dev/null
+++ b/3rdparty/mariadb/lib/plugin/pvio_npipe.dll
Binary files differ
diff --git a/3rdparty/mariadb/lib/plugin/pvio_shmem.dll b/3rdparty/mariadb/lib/plugin/pvio_shmem.dll
new file mode 100644
index 000000000..0548ac096
--- /dev/null
+++ b/3rdparty/mariadb/lib/plugin/pvio_shmem.dll
Binary files differ
diff --git a/3rdparty/mariadb/lib/plugin/sha256_password.dll b/3rdparty/mariadb/lib/plugin/sha256_password.dll
new file mode 100644
index 000000000..ce7940e9a
--- /dev/null
+++ b/3rdparty/mariadb/lib/plugin/sha256_password.dll
Binary files differ
diff --git a/3rdparty/mt19937ar/Makefile.in b/3rdparty/mt19937ar/Makefile.in
index fde5e88f5..683300fd9 100644
--- a/3rdparty/mt19937ar/Makefile.in
+++ b/3rdparty/mt19937ar/Makefile.in
@@ -1,8 +1,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2012-2015 Hercules Dev Team
-# Copyright (C) Athena Dev Teams
+# Copyright (C) 2012-2020 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
diff --git a/3rdparty/mysql/include/config-win.h b/3rdparty/mysql/include/config-win.h
deleted file mode 100644
index b2e1c9831..000000000
--- a/3rdparty/mysql/include/config-win.h
+++ /dev/null
@@ -1,470 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-/* Defines for Win32 to make it compatible for MySQL */
-
-#ifdef __WIN2000__
-/* We have to do this define before including windows.h to get the AWE API
-functions */
-#define _WIN32_WINNT 0x0500
-#endif
-
-#if defined(_MSC_VER) && _MSC_VER >= 1400
-/* Avoid endless warnings about sprintf() etc. being unsafe. */
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <sys/locking.h>
-#include <windows.h>
-#include <math.h> /* Because of rint() */
-#include <fcntl.h>
-#include <io.h>
-#include <malloc.h>
-
-#define HAVE_SMEM 1
-
-#if defined(_WIN64) || defined(WIN64)
-#define SYSTEM_TYPE "Win64"
-#elif defined(_WIN32) || defined(WIN32)
-#define SYSTEM_TYPE "Win32"
-#else
-#define SYSTEM_TYPE "Windows"
-#endif
-
-#if defined(_M_IA64)
-#define MACHINE_TYPE "ia64"
-#elif defined(_M_IX86)
-#define MACHINE_TYPE "ia32"
-#elif defined(_M_ALPHA)
-#define MACHINE_TYPE "axp"
-#else
-#define MACHINE_TYPE "unknown" /* Define to machine type name */
-#endif
-
-#if !(defined(_WIN64) || defined(WIN64))
-#ifndef _WIN32
-#define _WIN32 /* Compatible with old source */
-#endif
-#ifndef __WIN32__
-#define __WIN32__
-#endif
-#endif /* _WIN64 */
-#ifndef __WIN__
-#define __WIN__ /* To make it easier in VC++ */
-#endif
-
-#ifndef MAX_INDEXES
-#define MAX_INDEXES 64
-#endif
-
-/* File and lock constants */
-#define O_SHARE 0x1000 /* Open file in sharing mode */
-#ifdef __BORLANDC__
-#define F_RDLCK LK_NBLCK /* read lock */
-#define F_WRLCK LK_NBRLCK /* write lock */
-#define F_UNLCK LK_UNLCK /* remove lock(s) */
-#else
-#define F_RDLCK _LK_NBLCK /* read lock */
-#define F_WRLCK _LK_NBRLCK /* write lock */
-#define F_UNLCK _LK_UNLCK /* remove lock(s) */
-#endif
-
-#define F_EXCLUSIVE 1 /* We have only exclusive locking */
-#define F_TO_EOF (INT_MAX32/2) /* size for lock of all file */
-#define F_OK 0 /* parameter to access() */
-#define W_OK 2
-
-#define S_IROTH S_IREAD /* for my_lib */
-
-#ifdef __BORLANDC__
-#define FILE_BINARY O_BINARY /* my_fopen in binary mode */
-#define O_TEMPORARY 0
-#define O_SHORT_LIVED 0
-#define SH_DENYNO _SH_DENYNO
-#else
-#define O_BINARY _O_BINARY /* compability with MSDOS */
-#define FILE_BINARY _O_BINARY /* my_fopen in binary mode */
-#define O_TEMPORARY _O_TEMPORARY
-#define O_SHORT_LIVED _O_SHORT_LIVED
-#define SH_DENYNO _SH_DENYNO
-#endif
-#define NO_OPEN_3 /* For my_create() */
-
-#define SIGQUIT SIGTERM /* No SIGQUIT */
-
-#undef _REENTRANT /* Crashes something for win32 */
-#undef SAFE_MUTEX /* Can't be used on windows */
-
-#if defined(_MSC_VER) && _MSC_VER >= 1310
-#define LL(A) A##ll
-#define ULL(A) A##ull
-#else
-#define LL(A) ((__int64) A)
-#define ULL(A) ((unsigned __int64) A)
-#endif
-
-#define LONGLONG_MIN LL(0x8000000000000000)
-#define LONGLONG_MAX LL(0x7FFFFFFFFFFFFFFF)
-#define ULONGLONG_MAX ULL(0xFFFFFFFFFFFFFFFF)
-
-/* Type information */
-
-#if defined(__EMX__) || !defined(HAVE_UINT)
-#undef HAVE_UINT
-#define HAVE_UINT
-typedef unsigned short ushort;
-typedef unsigned int uint;
-#endif /* defined(__EMX__) || !defined(HAVE_UINT) */
-
-typedef unsigned __int64 ulonglong; /* Microsofts 64 bit types */
-typedef __int64 longlong;
-#ifndef HAVE_SIGSET_T
-typedef int sigset_t;
-#endif
-#define longlong_defined
-/*
- off_t should not be __int64 because of conflicts in header files;
- Use my_off_t or os_off_t instead
-*/
-#ifndef HAVE_OFF_T
-typedef long off_t;
-#endif
-typedef __int64 os_off_t;
-#ifdef _WIN64
-typedef UINT_PTR rf_SetTimer;
-#else
-#ifndef HAVE_SIZE_T
-typedef unsigned int size_t;
-#endif
-typedef uint rf_SetTimer;
-#endif
-
-#define Socket_defined
-#define my_socket SOCKET
-#define bool BOOL
-#define SIGPIPE SIGINT
-#define RETQSORTTYPE void
-#define QSORT_TYPE_IS_VOID
-#define RETSIGTYPE void
-#define SOCKET_SIZE_TYPE int
-#define my_socket_defined
-#define bool_defined
-#define byte_defined
-#define HUGE_PTR
-#define STDCALL __stdcall /* Used by libmysql.dll */
-#define isnan(X) _isnan(X)
-#define finite(X) _finite(X)
-
-#ifndef UNDEF_THREAD_HACK
-#define THREAD
-#endif
-#define VOID_SIGHANDLER
-#define SIZEOF_CHAR 1
-#define SIZEOF_LONG 4
-#define SIZEOF_LONG_LONG 8
-#define SIZEOF_OFF_T 8
-#ifdef _WIN64
-#define SIZEOF_CHARP 8
-#else
-#define SIZEOF_CHARP 4
-#endif
-#define HAVE_BROKEN_NETINET_INCLUDES
-#ifdef __NT__
-#define HAVE_NAMED_PIPE /* We can only create pipes on NT */
-#endif
-
-/* ERROR is defined in wingdi.h */
-#undef ERROR
-
-/* We need to close files to break connections on shutdown */
-#ifndef SIGNAL_WITH_VIO_CLOSE
-#define SIGNAL_WITH_VIO_CLOSE
-#endif
-
-/* Use all character sets in MySQL */
-#define USE_MB 1
-#define USE_MB_IDENT 1
-#define USE_STRCOLL 1
-
-/* All windows servers should support .sym files */
-#undef USE_SYMDIR
-#define USE_SYMDIR
-
-/* If LOAD DATA LOCAL INFILE should be enabled by default */
-#define ENABLED_LOCAL_INFILE 1
-
-/* Convert some simple functions to Posix */
-
-#define my_sigset(A,B) signal((A),(B))
-#define finite(A) _finite(A)
-#define sleep(A) Sleep((A)*1000)
-#define popen(A,B) _popen((A),(B))
-#define pclose(A) _pclose(A)
-
-#ifndef __BORLANDC__
-#define access(A,B) _access(A,B)
-#endif
-
-#if !defined(__cplusplus)
-#define inline __inline
-#endif /* __cplusplus */
-
-inline double rint(double nr)
-{
- double f = floor(nr);
- double c = ceil(nr);
- return (((c-nr) >= (nr-f)) ? f :c);
-}
-
-#ifdef _WIN64
-#define ulonglong2double(A) ((double) (ulonglong) (A))
-#define my_off_t2double(A) ((double) (my_off_t) (A))
-
-#else
-inline double ulonglong2double(ulonglong value)
-{
- longlong nr=(longlong) value;
- if (nr >= 0)
- return (double) nr;
- return (18446744073709551616.0 + (double) nr);
-}
-#define my_off_t2double(A) ulonglong2double(A)
-#endif /* _WIN64 */
-
-#if SIZEOF_OFF_T > 4
-#define lseek(A,B,C) _lseeki64((A),(longlong) (B),(C))
-#define tell(A) _telli64(A)
-#endif
-
-#define set_timespec(ABSTIME,SEC) { (ABSTIME).tv_sec=time((time_t*)0) + (time_t) (SEC); (ABSTIME).tv_nsec=0; }
-
-#define STACK_DIRECTION -1
-
-/* Optimized store functions for Intel x86 */
-
-#ifndef _WIN64
-#define sint2korr(A) (*((int16 *) (A)))
-#define sint3korr(A) ((int32) ((((uchar) (A)[2]) & 128) ? \
- (((uint32) 255L << 24) | \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])) : \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])))
-#define sint4korr(A) (*((long *) (A)))
-#define uint2korr(A) (*((uint16 *) (A)))
-/*
- ATTENTION !
-
- Please, note, uint3korr reads 4 bytes (not 3) !
- It means, that you have to provide enough allocated space !
-*/
-#define uint3korr(A) (long) (*((unsigned int *) (A)) & 0xFFFFFF)
-#define uint4korr(A) (*((unsigned long *) (A)))
-#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24)) +\
- (((ulonglong) ((uchar) (A)[4])) << 32))
-#define uint8korr(A) (*((ulonglong *) (A)))
-#define sint8korr(A) (*((longlong *) (A)))
-#define int2store(T,A) *((uint16*) (T))= (uint16) (A)
-#define int3store(T,A) { *(T)= (uchar) ((A));\
- *(T+1)=(uchar) (((uint) (A) >> 8));\
- *(T+2)=(uchar) (((A) >> 16)); }
-#define int4store(T,A) *((long *) (T))= (long) (A)
-#define int5store(T,A) { *(T)= (uchar)((A));\
- *((T)+1)=(uchar) (((A) >> 8));\
- *((T)+2)=(uchar) (((A) >> 16));\
- *((T)+3)=(uchar) (((A) >> 24)); \
- *((T)+4)=(uchar) (((A) >> 32)); }
-#define int8store(T,A) *((ulonglong *) (T))= (ulonglong) (A)
-
-#define doubleget(V,M) do { *((long *) &V) = *((long*) M); \
- *(((long *) &V)+1) = *(((long*) M)+1); } while(0)
-#define doublestore(T,V) do { *((long *) T) = *((long*) &V); \
- *(((long *) T)+1) = *(((long*) &V)+1); } while(0)
-#define float4get(V,M) { *((long *) &(V)) = *((long*) (M)); }
-#define floatstore(T,V) memcpy((byte*)(T), (byte*)(&V), sizeof(float))
-#define floatget(V,M) memcpy((byte*)(&V), (byte*)(M), sizeof(float))
-#define float8get(V,M) doubleget((V),(M))
-#define float4store(V,M) memcpy((byte*) V,(byte*) (&M),sizeof(float))
-#define float8store(V,M) doublestore((V),(M))
-#endif /* _WIN64 */
-
-#define HAVE_PERROR
-#define HAVE_VFPRINT
-#define HAVE_RENAME /* Have rename() as function */
-#define HAVE_BINARY_STREAMS /* Have "b" flag in streams */
-#define HAVE_LONG_JMP /* Have long jump function */
-#define HAVE_LOCKING /* have locking() call */
-#define HAVE_ERRNO_AS_DEFINE /* errno is a define */
-#define HAVE_STDLIB /* everything is include in this file */
-#define HAVE_MEMCPY
-#define HAVE_MEMMOVE
-#define HAVE_GETCWD
-#define HAVE_TELL
-#define HAVE_TZNAME
-#define HAVE_PUTENV
-#define HAVE_SELECT
-#define HAVE_SETLOCALE
-#define HAVE_SOCKET /* Giangi */
-#define HAVE_FLOAT_H
-#define HAVE_LIMITS_H
-#define HAVE_STDDEF_H
-#define HAVE_RINT /* defined in this file */
-#define NO_FCNTL_NONBLOCK /* No FCNTL */
-#define HAVE_ALLOCA
-#define HAVE_STRPBRK
-#define HAVE_STRSTR
-#define HAVE_COMPRESS
-#define HAVE_CREATESEMAPHORE
-#define HAVE_ISNAN
-#define HAVE_FINITE
-#define HAVE_QUERY_CACHE
-#define SPRINTF_RETURNS_INT
-#define HAVE_SETFILEPOINTER
-#define HAVE_VIO_READ_BUFF
-#define HAVE_STRNLEN
-
-#ifndef __NT__
-#undef FILE_SHARE_DELETE
-#define FILE_SHARE_DELETE 0 /* Not implemented on Win 98/ME */
-#endif
-
-#ifdef NOT_USED
-#define HAVE_SNPRINTF /* Gave link error */
-#define _snprintf snprintf
-#endif
-
-#ifdef _MSC_VER
-#define HAVE_LDIV /* The optimizer breaks in zortech for ldiv */
-#define HAVE_ANSI_INCLUDE
-#define HAVE_SYS_UTIME_H
-#define HAVE_STRTOUL
-#endif
-#define my_reinterpret_cast(A) reinterpret_cast <A>
-#define my_const_cast(A) const_cast<A>
-
-
-/* MYSQL OPTIONS */
-
-#ifdef _CUSTOMCONFIG_
-#include <custom_conf.h>
-#else
-#define DEFAULT_MYSQL_HOME "c:\\mysql"
-#define PACKAGE "mysql"
-#define DEFAULT_BASEDIR "C:\\"
-#define SHAREDIR "share"
-#define DEFAULT_CHARSET_HOME "C:/mysql/"
-#endif
-#ifndef DEFAULT_HOME_ENV
-#define DEFAULT_HOME_ENV MYSQL_HOME
-#endif
-#ifndef DEFAULT_GROUP_SUFFIX_ENV
-#define DEFAULT_GROUP_SUFFIX_ENV MYSQL_GROUP_SUFFIX
-#endif
-
-/* File name handling */
-
-#define FN_LIBCHAR '\\'
-#define FN_ROOTDIR "\\"
-#define FN_NETWORK_DRIVES /* Uses \\ to indicate network drives */
-#define FN_NO_CASE_SENCE /* Files are not case-sensitive */
-#define OS_FILE_LIMIT 2048
-
-#define DO_NOT_REMOVE_THREAD_WRAPPERS
-#define thread_safe_increment(V,L) InterlockedIncrement((long*) &(V))
-#define thread_safe_decrement(V,L) InterlockedDecrement((long*) &(V))
-/* The following is only used for statistics, so it should be good enough */
-#ifdef __NT__ /* This should also work on Win98 but .. */
-#define thread_safe_add(V,C,L) InterlockedExchangeAdd((long*) &(V),(C))
-#define thread_safe_sub(V,C,L) InterlockedExchangeAdd((long*) &(V),-(long) (C))
-#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
-#else
-#define thread_safe_add(V,C,L) \
- pthread_mutex_lock((L)); (V)+=(C); pthread_mutex_unlock((L));
-#define thread_safe_sub(V,C,L) \
- pthread_mutex_lock((L)); (V)-=(C); pthread_mutex_unlock((L));
-#define statistic_add(V,C,L) (V)+=(C)
-#endif
-#define statistic_increment(V,L) thread_safe_increment((V),(L))
-#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
-
-#define shared_memory_buffer_length 16000
-#define default_shared_memory_base_name "MYSQL"
-
-#ifdef CYBOZU
-#define MYSQL_DEFAULT_CHARSET_NAME "utf8"
-#define MYSQL_DEFAULT_COLLATION_NAME "utf8_general_cs"
-#define HAVE_UTF8_GENERAL_CS 1
-#else
-#define MYSQL_DEFAULT_CHARSET_NAME "latin1"
-#define MYSQL_DEFAULT_COLLATION_NAME "latin1_swedish_ci"
-#endif
-
-#define HAVE_SPATIAL 1
-#define HAVE_RTREE_KEYS 1
-
-#define HAVE_OPENSSL 1
-#define HAVE_YASSL 1
-
-/* Define charsets you want */
-/* #undef HAVE_CHARSET_armscii8 */
-/* #undef HAVE_CHARSET_ascii */
-#ifndef CYBOZU
-#define HAVE_CHARSET_big5 1
-#define HAVE_CHARSET_cp1250 1
-#endif
-/* #undef HAVE_CHARSET_cp1251 */
-/* #undef HAVE_CHARSET_cp1256 */
-/* #undef HAVE_CHARSET_cp1257 */
-/* #undef HAVE_CHARSET_cp850 */
-/* #undef HAVE_CHARSET_cp852 */
-/* #undef HAVE_CHARSET_cp866 */
-#define HAVE_CHARSET_cp932 1
-/* #undef HAVE_CHARSET_dec8 */
-#ifndef CYBOZU
-#define HAVE_CHARSET_eucjpms 1
-#define HAVE_CHARSET_euckr 1
-#define HAVE_CHARSET_gb2312 1
-#define HAVE_CHARSET_gbk 1
-#endif
-/* #undef HAVE_CHARSET_greek */
-/* #undef HAVE_CHARSET_hebrew */
-/* #undef HAVE_CHARSET_hp8 */
-/* #undef HAVE_CHARSET_keybcs2 */
-/* #undef HAVE_CHARSET_koi8r */
-/* #undef HAVE_CHARSET_koi8u */
-#ifndef CYBOZU
-#define HAVE_CHARSET_latin1 1
-#define HAVE_CHARSET_latin2 1
-#endif
-/* #undef HAVE_CHARSET_latin5 */
-/* #undef HAVE_CHARSET_latin7 */
-/* #undef HAVE_CHARSET_macce */
-/* #undef HAVE_CHARSET_macroman */
-#define HAVE_CHARSET_sjis 1
-/* #undef HAVE_CHARSET_swe7 */
-#ifndef CYBOZU
-#define HAVE_CHARSET_tis620 1
-#define HAVE_CHARSET_ucs2 1
-#define HAVE_CHARSET_ujis 1
-#endif
-#define HAVE_CHARSET_utf8 1
-#define HAVE_UCA_COLLATIONS 1
-
diff --git a/3rdparty/mysql/include/m_ctype.h b/3rdparty/mysql/include/m_ctype.h
deleted file mode 100644
index 7d058d89d..000000000
--- a/3rdparty/mysql/include/m_ctype.h
+++ /dev/null
@@ -1,493 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-/*
- A better inplementation of the UNIX ctype(3) library.
- Notes: my_global.h should be included before ctype.h
-*/
-
-#ifndef _m_ctype_h
-#define _m_ctype_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MY_CS_NAME_SIZE 32
-#define MY_CS_CTYPE_TABLE_SIZE 257
-#define MY_CS_TO_LOWER_TABLE_SIZE 256
-#define MY_CS_TO_UPPER_TABLE_SIZE 256
-#define MY_CS_SORT_ORDER_TABLE_SIZE 256
-#define MY_CS_TO_UNI_TABLE_SIZE 256
-
-#define CHARSET_DIR "charsets/"
-
-#define my_wc_t ulong
-
-typedef struct unicase_info_st
-{
- uint16 toupper;
- uint16 tolower;
- uint16 sort;
-} MY_UNICASE_INFO;
-
-
-extern MY_UNICASE_INFO *my_unicase_default[256];
-extern MY_UNICASE_INFO *my_unicase_turkish[256];
-
-
-/* wm_wc and wc_mb return codes */
-#define MY_CS_ILSEQ 0 /* Wrong by sequence: wb_wc */
-#define MY_CS_ILUNI 0 /* Cannot encode Unicode to charset: wc_mb */
-#define MY_CS_TOOSMALL -101 /* Need at least one byte: wc_mb and mb_wc */
-#define MY_CS_TOOSMALL2 -102 /* Need at least two bytes: wc_mb and mb_wc */
-#define MY_CS_TOOSMALL3 -103 /* Need at least three bytes: wc_mb and mb_wc */
-/* These following three are currently not really used */
-#define MY_CS_TOOSMALL4 -104 /* Need at least 4 bytes: wc_mb and mb_wc */
-#define MY_CS_TOOSMALL5 -105 /* Need at least 5 bytes: wc_mb and mb_wc */
-#define MY_CS_TOOSMALL6 -106 /* Need at least 6 bytes: wc_mb and mb_wc */
-/* A helper macros for "need at least n bytes" */
-#define MY_CS_TOOSMALLN(n) (-100-(n))
-
-#define MY_SEQ_INTTAIL 1
-#define MY_SEQ_SPACES 2
-
- /* My charsets_list flags */
-#define MY_CS_COMPILED 1 /* compiled-in sets */
-#define MY_CS_CONFIG 2 /* sets that have a *.conf file */
-#define MY_CS_INDEX 4 /* sets listed in the Index file */
-#define MY_CS_LOADED 8 /* sets that are currently loaded */
-#define MY_CS_BINSORT 16 /* if binary sort order */
-#define MY_CS_PRIMARY 32 /* if primary collation */
-#define MY_CS_STRNXFRM 64 /* if strnxfrm is used for sort */
-#define MY_CS_UNICODE 128 /* is a charset is full unicode */
-#define MY_CS_READY 256 /* if a charset is initialized */
-#define MY_CS_AVAILABLE 512 /* If either compiled-in or loaded*/
-#define MY_CS_CSSORT 1024 /* if case sensitive sort order */
-#define MY_CHARSET_UNDEFINED 0
-
-
-typedef struct my_uni_idx_st
-{
- uint16 from;
- uint16 to;
- uchar *tab;
-} MY_UNI_IDX;
-
-typedef struct
-{
- uint beg;
- uint end;
- uint mblen;
-} my_match_t;
-
-enum my_lex_states
-{
- MY_LEX_START, MY_LEX_CHAR, MY_LEX_IDENT,
- MY_LEX_IDENT_SEP, MY_LEX_IDENT_START,
- MY_LEX_REAL, MY_LEX_HEX_NUMBER, MY_LEX_BIN_NUMBER,
- MY_LEX_CMP_OP, MY_LEX_LONG_CMP_OP, MY_LEX_STRING, MY_LEX_COMMENT, MY_LEX_END,
- MY_LEX_OPERATOR_OR_IDENT, MY_LEX_NUMBER_IDENT, MY_LEX_INT_OR_REAL,
- MY_LEX_REAL_OR_POINT, MY_LEX_BOOL, MY_LEX_EOL, MY_LEX_ESCAPE,
- MY_LEX_LONG_COMMENT, MY_LEX_END_LONG_COMMENT, MY_LEX_SEMICOLON,
- MY_LEX_SET_VAR, MY_LEX_USER_END, MY_LEX_HOSTNAME, MY_LEX_SKIP,
- MY_LEX_USER_VARIABLE_DELIMITER, MY_LEX_SYSTEM_VAR,
- MY_LEX_IDENT_OR_KEYWORD,
- MY_LEX_IDENT_OR_HEX, MY_LEX_IDENT_OR_BIN, MY_LEX_IDENT_OR_NCHAR,
- MY_LEX_STRING_OR_DELIMITER
-};
-
-struct charset_info_st;
-
-typedef struct my_collation_handler_st
-{
- my_bool (*init)(struct charset_info_st *, void *(*alloc)(uint));
- /* Collation routines */
- int (*strnncoll)(struct charset_info_st *,
- const uchar *, uint, const uchar *, uint, my_bool);
- int (*strnncollsp)(struct charset_info_st *,
- const uchar *, uint, const uchar *, uint,
- my_bool diff_if_only_endspace_difference);
- int (*strnxfrm)(struct charset_info_st *,
- uchar *, uint, const uchar *, uint);
- uint (*strnxfrmlen)(struct charset_info_st *, uint);
- my_bool (*like_range)(struct charset_info_st *,
- const char *s, uint s_length,
- pchar w_prefix, pchar w_one, pchar w_many,
- uint res_length,
- char *min_str, char *max_str,
- uint *min_len, uint *max_len);
- int (*wildcmp)(struct charset_info_st *,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape,int w_one, int w_many);
-
- int (*strcasecmp)(struct charset_info_st *, const char *, const char *);
-
- uint (*instr)(struct charset_info_st *,
- const char *b, uint b_length,
- const char *s, uint s_length,
- my_match_t *match, uint nmatch);
-
- /* Hash calculation */
- void (*hash_sort)(struct charset_info_st *cs, const uchar *key, uint len,
- ulong *nr1, ulong *nr2);
- my_bool (*propagate)(struct charset_info_st *cs, const uchar *str, uint len);
-} MY_COLLATION_HANDLER;
-
-extern MY_COLLATION_HANDLER my_collation_mb_bin_handler;
-extern MY_COLLATION_HANDLER my_collation_8bit_bin_handler;
-extern MY_COLLATION_HANDLER my_collation_8bit_simple_ci_handler;
-extern MY_COLLATION_HANDLER my_collation_ucs2_uca_handler;
-
-
-typedef struct my_charset_handler_st
-{
- my_bool (*init)(struct charset_info_st *, void *(*alloc)(uint));
- /* Multibyte routines */
- int (*ismbchar)(struct charset_info_st *, const char *, const char *);
- int (*mbcharlen)(struct charset_info_st *, uint);
- uint (*numchars)(struct charset_info_st *, const char *b, const char *e);
- uint (*charpos)(struct charset_info_st *, const char *b, const char *e, uint pos);
- uint (*well_formed_len)(struct charset_info_st *,
- const char *b,const char *e,
- uint nchars, int *error);
- uint (*lengthsp)(struct charset_info_st *, const char *ptr, uint length);
- uint (*numcells)(struct charset_info_st *, const char *b, const char *e);
-
- /* Unicode convertion */
- int (*mb_wc)(struct charset_info_st *cs,my_wc_t *wc,
- const unsigned char *s,const unsigned char *e);
- int (*wc_mb)(struct charset_info_st *cs,my_wc_t wc,
- unsigned char *s,unsigned char *e);
-
- /* Functions for case and sort convertion */
- void (*caseup_str)(struct charset_info_st *, char *);
- void (*casedn_str)(struct charset_info_st *, char *);
- uint (*caseup)(struct charset_info_st *, char *src, uint srclen,
- char *dst, uint dstlen);
- uint (*casedn)(struct charset_info_st *, char *src, uint srclen,
- char *dst, uint dstlen);
-
- /* Charset dependant snprintf() */
- int (*snprintf)(struct charset_info_st *, char *to, uint n, const char *fmt,
- ...);
- int (*long10_to_str)(struct charset_info_st *, char *to, uint n, int radix,
- long int val);
- int (*longlong10_to_str)(struct charset_info_st *, char *to, uint n,
- int radix, longlong val);
-
- void (*fill)(struct charset_info_st *, char *to, uint len, int fill);
-
- /* String-to-number convertion routines */
- long (*strntol)(struct charset_info_st *, const char *s, uint l,
- int base, char **e, int *err);
- ulong (*strntoul)(struct charset_info_st *, const char *s, uint l,
- int base, char **e, int *err);
- longlong (*strntoll)(struct charset_info_st *, const char *s, uint l,
- int base, char **e, int *err);
- ulonglong (*strntoull)(struct charset_info_st *, const char *s, uint l,
- int base, char **e, int *err);
- double (*strntod)(struct charset_info_st *, char *s, uint l, char **e,
- int *err);
- longlong (*strtoll10)(struct charset_info_st *cs,
- const char *nptr, char **endptr, int *error);
- ulong (*scan)(struct charset_info_st *, const char *b, const char *e,
- int sq);
-} MY_CHARSET_HANDLER;
-
-extern MY_CHARSET_HANDLER my_charset_8bit_handler;
-extern MY_CHARSET_HANDLER my_charset_ucs2_handler;
-
-
-typedef struct charset_info_st
-{
- uint number;
- uint primary_number;
- uint binary_number;
- uint state;
- const char *csname;
- const char *name;
- const char *comment;
- const char *tailoring;
- uchar *ctype;
- uchar *to_lower;
- uchar *to_upper;
- uchar *sort_order;
- uint16 *contractions;
- uint16 **sort_order_big;
- uint16 *tab_to_uni;
- MY_UNI_IDX *tab_from_uni;
- MY_UNICASE_INFO **caseinfo;
- uchar *state_map;
- uchar *ident_map;
- uint strxfrm_multiply;
- uchar caseup_multiply;
- uchar casedn_multiply;
- uint mbminlen;
- uint mbmaxlen;
- uint16 min_sort_char;
- uint16 max_sort_char; /* For LIKE optimization */
- uchar pad_char;
- my_bool escape_with_backslash_is_dangerous;
-
- MY_CHARSET_HANDLER *cset;
- MY_COLLATION_HANDLER *coll;
-
-} CHARSET_INFO;
-
-
-extern CHARSET_INFO my_charset_bin;
-extern CHARSET_INFO my_charset_big5_chinese_ci;
-extern CHARSET_INFO my_charset_big5_bin;
-extern CHARSET_INFO my_charset_cp932_japanese_ci;
-extern CHARSET_INFO my_charset_cp932_bin;
-extern CHARSET_INFO my_charset_eucjpms_japanese_ci;
-extern CHARSET_INFO my_charset_eucjpms_bin;
-extern CHARSET_INFO my_charset_euckr_korean_ci;
-extern CHARSET_INFO my_charset_euckr_bin;
-extern CHARSET_INFO my_charset_gb2312_chinese_ci;
-extern CHARSET_INFO my_charset_gb2312_bin;
-extern CHARSET_INFO my_charset_gbk_chinese_ci;
-extern CHARSET_INFO my_charset_gbk_bin;
-extern CHARSET_INFO my_charset_latin1;
-extern CHARSET_INFO my_charset_latin1_german2_ci;
-extern CHARSET_INFO my_charset_latin1_bin;
-extern CHARSET_INFO my_charset_latin2_czech_ci;
-extern CHARSET_INFO my_charset_sjis_japanese_ci;
-extern CHARSET_INFO my_charset_sjis_bin;
-extern CHARSET_INFO my_charset_tis620_thai_ci;
-extern CHARSET_INFO my_charset_tis620_bin;
-extern CHARSET_INFO my_charset_ucs2_general_ci;
-extern CHARSET_INFO my_charset_ucs2_bin;
-extern CHARSET_INFO my_charset_ucs2_general_uca;
-extern CHARSET_INFO my_charset_ujis_japanese_ci;
-extern CHARSET_INFO my_charset_ujis_bin;
-extern CHARSET_INFO my_charset_utf8_general_ci;
-extern CHARSET_INFO my_charset_utf8_bin;
-extern CHARSET_INFO my_charset_cp1250_czech_ci;
-
-/* declarations for simple charsets */
-extern int my_strnxfrm_simple(CHARSET_INFO *, uchar *, uint, const uchar *,
- uint);
-uint my_strnxfrmlen_simple(CHARSET_INFO *, uint);
-extern int my_strnncoll_simple(CHARSET_INFO *, const uchar *, uint,
- const uchar *, uint, my_bool);
-
-extern int my_strnncollsp_simple(CHARSET_INFO *, const uchar *, uint,
- const uchar *, uint,
- my_bool diff_if_only_endspace_difference);
-
-extern void my_hash_sort_simple(CHARSET_INFO *cs,
- const uchar *key, uint len,
- ulong *nr1, ulong *nr2);
-
-extern uint my_lengthsp_8bit(CHARSET_INFO *cs, const char *ptr, uint length);
-
-extern uint my_instr_simple(struct charset_info_st *,
- const char *b, uint b_length,
- const char *s, uint s_length,
- my_match_t *match, uint nmatch);
-
-
-/* Functions for 8bit */
-extern void my_caseup_str_8bit(CHARSET_INFO *, char *);
-extern void my_casedn_str_8bit(CHARSET_INFO *, char *);
-extern uint my_caseup_8bit(CHARSET_INFO *, char *src, uint srclen,
- char *dst, uint dstlen);
-extern uint my_casedn_8bit(CHARSET_INFO *, char *src, uint srclen,
- char *dst, uint dstlen);
-
-extern int my_strcasecmp_8bit(CHARSET_INFO * cs, const char *, const char *);
-
-int my_mb_wc_8bit(CHARSET_INFO *cs,my_wc_t *wc, const uchar *s,const uchar *e);
-int my_wc_mb_8bit(CHARSET_INFO *cs,my_wc_t wc, uchar *s, uchar *e);
-
-ulong my_scan_8bit(CHARSET_INFO *cs, const char *b, const char *e, int sq);
-
-int my_snprintf_8bit(struct charset_info_st *, char *to, uint n,
- const char *fmt, ...);
-
-long my_strntol_8bit(CHARSET_INFO *, const char *s, uint l, int base,
- char **e, int *err);
-ulong my_strntoul_8bit(CHARSET_INFO *, const char *s, uint l, int base,
- char **e, int *err);
-longlong my_strntoll_8bit(CHARSET_INFO *, const char *s, uint l, int base,
- char **e, int *err);
-ulonglong my_strntoull_8bit(CHARSET_INFO *, const char *s, uint l, int base,
- char **e, int *err);
-double my_strntod_8bit(CHARSET_INFO *, char *s, uint l,char **e,
- int *err);
-int my_long10_to_str_8bit(CHARSET_INFO *, char *to, uint l, int radix,
- long int val);
-int my_longlong10_to_str_8bit(CHARSET_INFO *, char *to, uint l, int radix,
- longlong val);
-
-longlong my_strtoll10_8bit(CHARSET_INFO *cs,
- const char *nptr, char **endptr, int *error);
-longlong my_strtoll10_ucs2(CHARSET_INFO *cs,
- const char *nptr, char **endptr, int *error);
-
-void my_fill_8bit(CHARSET_INFO *cs, char* to, uint l, int fill);
-
-my_bool my_like_range_simple(CHARSET_INFO *cs,
- const char *ptr, uint ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- uint res_length,
- char *min_str, char *max_str,
- uint *min_length, uint *max_length);
-
-my_bool my_like_range_mb(CHARSET_INFO *cs,
- const char *ptr, uint ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- uint res_length,
- char *min_str, char *max_str,
- uint *min_length, uint *max_length);
-
-my_bool my_like_range_ucs2(CHARSET_INFO *cs,
- const char *ptr, uint ptr_length,
- pbool escape, pbool w_one, pbool w_many,
- uint res_length,
- char *min_str, char *max_str,
- uint *min_length, uint *max_length);
-
-
-int my_wildcmp_8bit(CHARSET_INFO *,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many);
-
-int my_wildcmp_bin(CHARSET_INFO *,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many);
-
-uint my_numchars_8bit(CHARSET_INFO *, const char *b, const char *e);
-uint my_numcells_8bit(CHARSET_INFO *, const char *b, const char *e);
-uint my_charpos_8bit(CHARSET_INFO *, const char *b, const char *e, uint pos);
-uint my_well_formed_len_8bit(CHARSET_INFO *, const char *b, const char *e,
- uint pos, int *error);
-int my_mbcharlen_8bit(CHARSET_INFO *, uint c);
-
-
-/* Functions for multibyte charsets */
-extern void my_caseup_str_mb(CHARSET_INFO *, char *);
-extern void my_casedn_str_mb(CHARSET_INFO *, char *);
-extern uint my_caseup_mb(CHARSET_INFO *, char *src, uint srclen,
- char *dst, uint dstlen);
-extern uint my_casedn_mb(CHARSET_INFO *, char *src, uint srclen,
- char *dst, uint dstlen);
-extern int my_strcasecmp_mb(CHARSET_INFO * cs,const char *, const char *);
-
-int my_wildcmp_mb(CHARSET_INFO *,
- const char *str,const char *str_end,
- const char *wildstr,const char *wildend,
- int escape, int w_one, int w_many);
-uint my_numchars_mb(CHARSET_INFO *, const char *b, const char *e);
-uint my_numcells_mb(CHARSET_INFO *, const char *b, const char *e);
-uint my_charpos_mb(CHARSET_INFO *, const char *b, const char *e, uint pos);
-uint my_well_formed_len_mb(CHARSET_INFO *, const char *b, const char *e,
- uint pos, int *error);
-uint my_instr_mb(struct charset_info_st *,
- const char *b, uint b_length,
- const char *s, uint s_length,
- my_match_t *match, uint nmatch);
-
-int my_wildcmp_unicode(CHARSET_INFO *cs,
- const char *str, const char *str_end,
- const char *wildstr, const char *wildend,
- int escape, int w_one, int w_many,
- MY_UNICASE_INFO **weights);
-
-extern my_bool my_parse_charset_xml(const char *bug, uint len,
- int (*add)(CHARSET_INFO *cs));
-
-my_bool my_propagate_simple(CHARSET_INFO *cs, const uchar *str, uint len);
-my_bool my_propagate_complex(CHARSET_INFO *cs, const uchar *str, uint len);
-
-
-#define _MY_U 01 /* Upper case */
-#define _MY_L 02 /* Lower case */
-#define _MY_NMR 04 /* Numeral (digit) */
-#define _MY_SPC 010 /* Spacing character */
-#define _MY_PNT 020 /* Punctuation */
-#define _MY_CTR 040 /* Control character */
-#define _MY_B 0100 /* Blank */
-#define _MY_X 0200 /* heXadecimal digit */
-
-
-#define my_isascii(c) (!((c) & ~0177))
-#define my_toascii(c) ((c) & 0177)
-#define my_tocntrl(c) ((c) & 31)
-#define my_toprint(c) ((c) | 64)
-#define my_toupper(s,c) (char) ((s)->to_upper[(uchar) (c)])
-#define my_tolower(s,c) (char) ((s)->to_lower[(uchar) (c)])
-#define my_isalpha(s, c) (((s)->ctype+1)[(uchar) (c)] & (_MY_U | _MY_L))
-#define my_isupper(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_U)
-#define my_islower(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_L)
-#define my_isdigit(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_NMR)
-#define my_isxdigit(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_X)
-#define my_isalnum(s, c) (((s)->ctype+1)[(uchar) (c)] & (_MY_U | _MY_L | _MY_NMR))
-#define my_isspace(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_SPC)
-#define my_ispunct(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_PNT)
-#define my_isprint(s, c) (((s)->ctype+1)[(uchar) (c)] & (_MY_PNT | _MY_U | _MY_L | _MY_NMR | _MY_B))
-#define my_isgraph(s, c) (((s)->ctype+1)[(uchar) (c)] & (_MY_PNT | _MY_U | _MY_L | _MY_NMR))
-#define my_iscntrl(s, c) (((s)->ctype+1)[(uchar) (c)] & _MY_CTR)
-
-/* Some macros that should be cleaned up a little */
-#define my_isvar(s,c) (my_isalnum(s,c) || (c) == '_')
-#define my_isvar_start(s,c) (my_isalpha(s,c) || (c) == '_')
-
-#define my_binary_compare(s) ((s)->state & MY_CS_BINSORT)
-#define use_strnxfrm(s) ((s)->state & MY_CS_STRNXFRM)
-#define my_strnxfrm(s, a, b, c, d) ((s)->coll->strnxfrm((s), (a), (b), (c), (d)))
-#define my_strnncoll(s, a, b, c, d) ((s)->coll->strnncoll((s), (a), (b), (c), (d), 0))
-#define my_like_range(s, a, b, c, d, e, f, g, h, i, j) \
- ((s)->coll->like_range((s), (a), (b), (c), (d), (e), (f), (g), (h), (i), (j)))
-#define my_wildcmp(cs,s,se,w,we,e,o,m) ((cs)->coll->wildcmp((cs),(s),(se),(w),(we),(e),(o),(m)))
-#define my_strcasecmp(s, a, b) ((s)->coll->strcasecmp((s), (a), (b)))
-#define my_charpos(cs, b, e, num) (cs)->cset->charpos((cs), (const char*) (b), (const char *)(e), (num))
-
-
-#define use_mb(s) ((s)->cset->ismbchar != NULL)
-#define my_ismbchar(s, a, b) ((s)->cset->ismbchar((s), (a), (b)))
-#ifdef USE_MB
-#define my_mbcharlen(s, a) ((s)->cset->mbcharlen((s),(a)))
-#else
-#define my_mbcharlen(s, a) 1
-#endif
-
-#define my_caseup_str(s, a) ((s)->cset->caseup_str((s), (a)))
-#define my_casedn_str(s, a) ((s)->cset->casedn_str((s), (a)))
-#define my_strntol(s, a, b, c, d, e) ((s)->cset->strntol((s),(a),(b),(c),(d),(e)))
-#define my_strntoul(s, a, b, c, d, e) ((s)->cset->strntoul((s),(a),(b),(c),(d),(e)))
-#define my_strntoll(s, a, b, c, d, e) ((s)->cset->strntoll((s),(a),(b),(c),(d),(e)))
-#define my_strntoull(s, a, b, c,d, e) ((s)->cset->strntoull((s),(a),(b),(c),(d),(e)))
-#define my_strntod(s, a, b, c, d) ((s)->cset->strntod((s),(a),(b),(c),(d)))
-
-
-/* XXX: still need to take care of this one */
-#ifdef MY_CHARSET_TIS620
-#error The TIS620 charset is broken at the moment. Tell tim to fix it.
-#define USE_TIS620
-#include "t_ctype.h"
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _m_ctype_h */
diff --git a/3rdparty/mysql/include/my_alloc.h b/3rdparty/mysql/include/my_alloc.h
deleted file mode 100644
index 1641b3acf..000000000
--- a/3rdparty/mysql/include/my_alloc.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-/*
- Data structures for mysys/my_alloc.c (root memory allocator)
-*/
-
-#ifndef _my_alloc_h
-#define _my_alloc_h
-
-#define ALLOC_MAX_BLOCK_TO_DROP 4096
-#define ALLOC_MAX_BLOCK_USAGE_BEFORE_DROP 10
-
-typedef struct st_used_mem
-{ /* struct for once_alloc (block) */
- struct st_used_mem *next; /* Next block in use */
- unsigned int left; /* memory left in block */
- unsigned int size; /* size of block */
-} USED_MEM;
-
-
-typedef struct st_mem_root
-{
- USED_MEM *free; /* blocks with free memory in it */
- USED_MEM *used; /* blocks almost without free memory */
- USED_MEM *pre_alloc; /* preallocated block */
- /* if block have less memory it will be put in 'used' list */
- unsigned int min_malloc;
- unsigned int block_size; /* initial block size */
- unsigned int block_num; /* allocated blocks counter */
- /*
- first free block in queue test counter (if it exceed
- MAX_BLOCK_USAGE_BEFORE_DROP block will be dropped in 'used' list)
- */
- unsigned int first_block_usage;
-
- void (*error_handler)(void);
-} MEM_ROOT;
-#endif
diff --git a/3rdparty/mysql/include/my_dbug.h b/3rdparty/mysql/include/my_dbug.h
deleted file mode 100644
index b76a3fcc8..000000000
--- a/3rdparty/mysql/include/my_dbug.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-#ifndef _dbug_h
-#define _dbug_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#if !defined(DBUG_OFF) && !defined(_lint)
-extern int _db_on_,_no_db_;
-extern FILE *_db_fp_;
-extern char *_db_process_;
-extern int _db_keyword_(const char *keyword);
-extern int _db_strict_keyword_(const char *keyword);
-extern void _db_setjmp_(void);
-extern void _db_longjmp_(void);
-extern void _db_push_(const char *control);
-extern void _db_pop_(void);
-extern void _db_enter_(const char *_func_,const char *_file_,uint _line_,
- const char **_sfunc_,const char **_sfile_,
- uint *_slevel_, char ***);
-extern void _db_return_(uint _line_,const char **_sfunc_,const char **_sfile_,
- uint *_slevel_);
-extern void _db_pargs_(uint _line_,const char *keyword);
-extern void _db_doprnt_ _VARARGS((const char *format,...));
-extern void _db_dump_(uint _line_,const char *keyword,const char *memory,
- uint length);
-extern void _db_output_(uint flag);
-extern void _db_lock_file(void);
-extern void _db_unlock_file(void);
-
-#define DBUG_ENTER(a) const char *_db_func_, *_db_file_; uint _db_level_; \
- char **_db_framep_; \
- _db_enter_ (a,__FILE__,__LINE__,&_db_func_,&_db_file_,&_db_level_, \
- &_db_framep_)
-#define DBUG_LEAVE \
- (_db_return_ (__LINE__, &_db_func_, &_db_file_, &_db_level_))
-#define DBUG_RETURN(a1) {DBUG_LEAVE; return(a1);}
-#define DBUG_VOID_RETURN {DBUG_LEAVE; return;}
-#define DBUG_EXECUTE(keyword,a1) \
- {if (_db_on_) {if (_db_keyword_ (keyword)) { a1 }}}
-#define DBUG_PRINT(keyword,arglist) \
- {if (_db_on_) {_db_pargs_(__LINE__,keyword); _db_doprnt_ arglist;}}
-#define DBUG_PUSH(a1) _db_push_ (a1)
-#define DBUG_POP() _db_pop_ ()
-#define DBUG_PROCESS(a1) (_db_process_ = a1)
-#define DBUG_FILE (_db_fp_)
-#define DBUG_SETJMP(a1) (_db_setjmp_ (), setjmp (a1))
-#define DBUG_LONGJMP(a1,a2) (_db_longjmp_ (), longjmp (a1, a2))
-#define DBUG_DUMP(keyword,a1,a2)\
- {if (_db_on_) {_db_dump_(__LINE__,keyword,a1,a2);}}
-#define DBUG_IN_USE (_db_fp_ && _db_fp_ != stderr)
-#define DEBUGGER_OFF _no_db_=1;_db_on_=0;
-#define DEBUGGER_ON _no_db_=0
-#define DBUG_LOCK_FILE { _db_lock_file(); }
-#define DBUG_UNLOCK_FILE { _db_unlock_file(); }
-#define DBUG_OUTPUT(A) { _db_output_(A); }
-#define DBUG_ASSERT(A) assert(A)
-#define DBUG_EXECUTE_IF(keyword,a1) \
- {if (_db_on_) {if (_db_strict_keyword_ (keyword)) { a1 }}}
-#else /* No debugger */
-
-#define DBUG_ENTER(a1)
-#define DBUG_RETURN(a1) return(a1)
-#define DBUG_VOID_RETURN return
-#define DBUG_EXECUTE(keyword,a1) {}
-#define DBUG_EXECUTE_IF(keyword,a1) {}
-#define DBUG_PRINT(keyword,arglist) {}
-#define DBUG_PUSH(a1) {}
-#define DBUG_POP() {}
-#define DBUG_PROCESS(a1) {}
-#define DBUG_FILE (stderr)
-#define DBUG_SETJMP setjmp
-#define DBUG_LONGJMP longjmp
-#define DBUG_DUMP(keyword,a1,a2) {}
-#define DBUG_IN_USE 0
-#define DEBUGGER_OFF
-#define DEBUGGER_ON
-#define DBUG_LOCK_FILE
-#define DBUG_UNLOCK_FILE
-#define DBUG_OUTPUT(A)
-#define DBUG_ASSERT(A) {}
-#endif
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/3rdparty/mysql/include/my_global.h b/3rdparty/mysql/include/my_global.h
deleted file mode 100644
index 8e4287c19..000000000
--- a/3rdparty/mysql/include/my_global.h
+++ /dev/null
@@ -1,1306 +0,0 @@
-/* Copyright (C) 2000-2003 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-/* This is the include file that should be included 'first' in every C file. */
-
-#ifndef _global_h
-#define _global_h
-
-#ifndef EMBEDDED_LIBRARY
-#define HAVE_REPLICATION
-#define HAVE_EXTERNAL_CLIENT
-#endif
-
-#if defined( __EMX__) && !defined( MYSQL_SERVER)
-/* moved here to use below VOID macro redefinition */
-#define INCL_BASE
-#define INCL_NOPMAPI
-#include <os2.h>
-#endif /* __EMX__ */
-
-#ifdef __CYGWIN__
-/* We use a Unix API, so pretend it's not Windows */
-#undef WIN
-#undef WIN32
-#undef _WIN
-#undef _WIN32
-#undef _WIN64
-#undef __WIN__
-#undef __WIN32__
-#define HAVE_ERRNO_AS_DEFINE
-#endif /* __CYGWIN__ */
-
-#if defined(__QNXNTO__) && !defined(FD_SETSIZE)
-#define FD_SETSIZE 1024 /* Max number of file descriptor bits in
- fd_set, used when calling 'select'
- Must be defined before including
- "sys/select.h" and "sys/time.h"
- */
-#endif
-
-
-/* to make command line shorter we'll define USE_PRAGMA_INTERFACE here */
-#ifdef USE_PRAGMA_IMPLEMENTATION
-#define USE_PRAGMA_INTERFACE
-#endif
-
-#if defined(i386) && !defined(__i386__)
-#define __i386__
-#endif
-
-/* Macros to make switching between C and C++ mode easier */
-#ifdef __cplusplus
-#define C_MODE_START extern "C" {
-#define C_MODE_END }
-#else
-#define C_MODE_START
-#define C_MODE_END
-#endif
-
-#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(WIN32)
-#include <config-win.h>
-#elif defined(OS2)
-#include <config-os2.h>
-#elif defined(__NETWARE__)
-#include <my_config.h>
-#include <config-netware.h>
-#if defined(__cplusplus) && defined(inline)
-#undef inline /* fix configure problem */
-#endif
-#else
-#include <my_config.h>
-#if defined(__cplusplus) && defined(inline)
-#undef inline /* fix configure problem */
-#endif
-#endif /* _WIN32... */
-
-/* Some defines to avoid ifdefs in the code */
-#ifndef NETWARE_YIELD
-#define NETWARE_YIELD
-#define NETWARE_SET_SCREEN_MODE(A)
-#endif
-
-#include "common/strlib.h"
-
-/*
- The macros below are borrowed from include/linux/compiler.h in the
- Linux kernel. Use them to indicate the likelyhood of the truthfulness
- of a condition. This serves two purposes - newer versions of gcc will be
- able to optimize for branch predication, which could yield siginficant
- performance gains in frequently executed sections of the code, and the
- other reason to use them is for documentation
-*/
-
-#if !defined(__GNUC__) || (__GNUC__ == 2 && __GNUC_MINOR__ < 96)
-#define __builtin_expect(x, expected_value) (x)
-#endif
-
-#define likely(x) __builtin_expect((x),1)
-#define unlikely(x) __builtin_expect((x),0)
-
-
-/* Fix problem with S_ISLNK() on Linux */
-#if defined(TARGET_OS_LINUX)
-#undef _GNU_SOURCE
-#define _GNU_SOURCE 1
-#endif
-
-/*
- Temporary solution to solve bug#7156. Include "sys/types.h" before
- the thread headers, else the function madvise() will not be defined
-*/
-#if defined(HAVE_SYS_TYPES_H) && ( defined(sun) || defined(__sun) )
-#include <sys/types.h>
-#endif
-
-/* The client defines this to avoid all thread code */
-#if defined(UNDEF_THREADS_HACK)
-#undef THREAD
-#undef HAVE_mit_thread
-#undef HAVE_LINUXTHREADS
-#undef HAVE_NPTL
-#undef HAVE_UNIXWARE7_THREADS
-#endif
-
-#ifdef HAVE_THREADS_WITHOUT_SOCKETS
-/* MIT pthreads does not work with unix sockets */
-#undef HAVE_SYS_UN_H
-#endif
-
-#define __EXTENSIONS__ 1 /* We want some extension */
-#ifndef __STDC_EXT__
-#define __STDC_EXT__ 1 /* To get large file support on hpux */
-#endif
-
-/*
- Solaris 9 include file <sys/feature_tests.h> refers to X/Open document
-
- System Interfaces and Headers, Issue 5
-
- saying we should define _XOPEN_SOURCE=500 to get POSIX.1c prototypes,
- but apparently other systems (namely FreeBSD) don't agree.
-
- On a newer Solaris 10, the above file recognizes also _XOPEN_SOURCE=600.
- Furthermore, it tests that if a program requires older standard
- (_XOPEN_SOURCE<600 or _POSIX_C_SOURCE<200112L) it cannot be
- run on a new compiler (that defines _STDC_C99) and issues an #error.
- It's also an #error if a program requires new standard (_XOPEN_SOURCE=600
- or _POSIX_C_SOURCE=200112L) and a compiler does not define _STDC_C99.
-
- To add more to this mess, Sun Studio C compiler defines _STDC_C99 while
- C++ compiler does not!
-
- So, in a desperate attempt to get correct prototypes for both
- C and C++ code, we define either _XOPEN_SOURCE=600 or _XOPEN_SOURCE=500
- depending on the compiler's announced C standard support.
-
- Cleaner solutions are welcome.
-*/
-#ifdef __sun
-#if __STDC_VERSION__ - 0 >= 199901L
-#define _XOPEN_SOURCE 600
-#else
-#define _XOPEN_SOURCE 500
-#endif
-#endif
-
-#if defined(THREAD) && !defined(__WIN__) && !defined(OS2)
-#ifndef _POSIX_PTHREAD_SEMANTICS
-#define _POSIX_PTHREAD_SEMANTICS /* We want posix threads */
-#endif
-
-#if !defined(SCO)
-#define _REENTRANT 1 /* Some thread libraries require this */
-#endif
-#if !defined(_THREAD_SAFE) && !defined(_AIX)
-#define _THREAD_SAFE /* Required for OSF1 */
-#endif
-#ifndef HAVE_mit_thread
-#ifdef HAVE_UNIXWARE7_THREADS
-#include <thread.h>
-#else
-#if defined(HPUX10) || defined(HPUX11)
-C_MODE_START /* HPUX needs this, signal.h bug */
-#include <pthread.h>
-C_MODE_END
-#else
-#include <pthread.h> /* AIX must have this included first */
-#endif
-#endif /* HAVE_UNIXWARE7_THREADS */
-#endif /* HAVE_mit_thread */
-#if !defined(SCO) && !defined(_REENTRANT)
-#define _REENTRANT 1 /* Threads requires reentrant code */
-#endif
-#endif /* THREAD */
-
-/* Go around some bugs in different OS and compilers */
-#ifdef _AIX /* By soren@t.dk */
-#define _H_STRINGS
-#define _SYS_STREAM_H
-/* #define _AIX32_CURSES */ /* XXX: this breaks AIX 4.3.3 (others?). */
-#define ulonglong2double(A) my_ulonglong2double(A)
-#define my_off_t2double(A) my_ulonglong2double(A)
-C_MODE_START
-double my_ulonglong2double(unsigned long long A);
-C_MODE_END
-#endif /* _AIX */
-
-#ifdef HAVE_BROKEN_SNPRINTF /* HPUX 10.20 don't have this defined */
-#undef HAVE_SNPRINTF
-#endif
-#ifdef HAVE_BROKEN_PREAD
-/*
- pread()/pwrite() are not 64 bit safe on HP-UX 11.0 without
- installing the kernel patch PHKL_20349 or greater
-*/
-#undef HAVE_PREAD
-#undef HAVE_PWRITE
-#endif
-#if defined(HAVE_BROKEN_INLINE) && !defined(__cplusplus)
-#undef inline
-#define inline
-#endif
-
-#ifdef UNDEF_HAVE_GETHOSTBYNAME_R /* For OSF4.x */
-#undef HAVE_GETHOSTBYNAME_R
-#endif
-#ifdef UNDEF_HAVE_INITGROUPS /* For AIX 4.3 */
-#undef HAVE_INITGROUPS
-#endif
-
-/* gcc/egcs issues */
-
-#if defined(__GNUC) && defined(__EXCEPTIONS)
-#error "Please add -fno-exceptions to CXXFLAGS and reconfigure/recompile"
-#endif
-
-
-/* Fix a bug in gcc 2.8.0 on IRIX 6.2 */
-#if SIZEOF_LONG == 4 && defined(__LONG_MAX__) && (__GNUC__ == 2 && __GNUC_MINOR__ == 8)
-#undef __LONG_MAX__ /* Is a longlong value in gcc 2.8.0 ??? */
-#define __LONG_MAX__ 2147483647
-#endif
-
-/* egcs 1.1.2 has a problem with memcpy on Alpha */
-#if defined(__GNUC__) && defined(__alpha__) && ! (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95))
-#define BAD_MEMCPY
-#endif
-
-#if defined(_lint) && !defined(lint)
-#define lint
-#endif
-#if SIZEOF_LONG_LONG > 4 && !defined(_LONG_LONG)
-#define _LONG_LONG 1 /* For AIX string library */
-#endif
-
-#ifndef stdin
-#include <stdio.h>
-#endif
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STDDEF_H
-#include <stddef.h>
-#endif
-
-#include <math.h>
-#ifdef HAVE_LIMITS_H
-#include <limits.h>
-#endif
-#ifdef HAVE_FLOAT_H
-#include <float.h>
-#endif
-
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_FCNTL_H
-#include <fcntl.h>
-#endif
-#ifdef HAVE_SYS_TIMEB_H
-#include <sys/timeb.h> /* Avoid warnings on SCO */
-#endif
-#if TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <time.h>
-#else
-# if HAVE_SYS_TIME_H
-# include <sys/time.h>
-# else
-# include <time.h>
-# endif
-#endif /* TIME_WITH_SYS_TIME */
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#if defined(__cplusplus) && defined(NO_CPLUSPLUS_ALLOCA)
-#undef HAVE_ALLOCA
-#undef HAVE_ALLOCA_H
-#endif
-#ifdef HAVE_ALLOCA_H
-#include <alloca.h>
-#endif
-#ifdef HAVE_ATOMIC_ADD
-#define new my_arg_new
-#define need_to_restore_new 1
-C_MODE_START
-#include <asm/atomic.h>
-C_MODE_END
-#ifdef need_to_restore_new /* probably safer than #ifdef new */
-#undef new
-#undef need_to_restore_new
-#endif
-#endif
-#include <errno.h> /* Recommended by debian */
-/* We need the following to go around a problem with openssl on solaris */
-#if defined(HAVE_CRYPT_H)
-#include <crypt.h>
-#endif
-
-/*
- A lot of our programs uses asserts, so better to always include it
- This also fixes a problem when people uses DBUG_ASSERT without including
- assert.h
-*/
-#include <assert.h>
-
-/* Go around some bugs in different OS and compilers */
-#if defined(_HPUX_SOURCE) && defined(HAVE_SYS_STREAM_H)
-#include <sys/stream.h> /* HPUX 10.20 defines ulong here. UGLY !!! */
-#define HAVE_ULONG
-#endif
-#ifdef DONT_USE_FINITE /* HPUX 11.x has is_finite() */
-#undef HAVE_FINITE
-#endif
-#if defined(HPUX10) && defined(_LARGEFILE64_SOURCE) && defined(THREAD)
-/* Fix bug in setrlimit */
-#undef setrlimit
-#define setrlimit cma_setrlimit64
-#endif
-/* Declare madvise where it is not declared for C++, like Solaris */
-#if HAVE_MADVISE && !HAVE_DECL_MADVISE && defined(__cplusplus)
-extern "C" int madvise(void *addr, size_t len, int behav);
-#endif
-
-#ifdef __QNXNTO__
-/* This has to be after include limits.h */
-#define HAVE_ERRNO_AS_DEFINE
-#define HAVE_FCNTL_LOCK
-#undef HAVE_FINITE
-#undef LONGLONG_MIN /* These get wrongly defined in QNX 6.2 */
-#undef LONGLONG_MAX /* standard system library 'limits.h' */
-#ifdef __cplusplus
-#ifndef HAVE_RINT
-#define HAVE_RINT
-#endif /* rint() and isnan() functions are not */
-#define rint(a) std::rint(a) /* visible in C++ scope due to an error */
-#define isnan(a) std::isnan(a) /* in the usr/include/math.h on QNX */
-#endif
-#endif
-
-/* We can not live without the following defines */
-
-#define USE_MYFUNC 1 /* Must use syscall indirection */
-#define MASTER 1 /* Compile without unireg */
-#define ENGLISH 1 /* Messages in English */
-#define POSIX_MISTAKE 1 /* regexp: Fix stupid spec error */
-#define USE_REGEX 1 /* We want the use the regex library */
-/* Do not define for ultra sparcs */
-#ifndef OS2
-#define USE_BMOVE512 1 /* Use this unless system bmove is faster */
-#endif
-
-#define QUOTE_ARG(x) #x /* Quote argument (before cpp) */
-#define STRINGIFY_ARG(x) QUOTE_ARG(x) /* Quote argument, after cpp */
-
-/* Paranoid settings. Define I_AM_PARANOID if you are paranoid */
-#ifdef I_AM_PARANOID
-#define DONT_ALLOW_USER_CHANGE 1
-#define DONT_USE_MYSQL_PWD 1
-#endif
-
-/* Does the system remember a signal handler after a signal ? */
-#ifndef HAVE_BSD_SIGNALS
-#define DONT_REMEMBER_SIGNAL
-#endif
-
-/* Define void to stop lint from generating "null effekt" comments */
-#ifndef DONT_DEFINE_VOID
-#ifdef _lint
-int __void__;
-#define VOID(X) (__void__ = (int) (X))
-#else
-#undef VOID
-#define VOID(X) (X)
-#endif
-#endif /* DONT_DEFINE_VOID */
-
-#if defined(_lint) || defined(FORCE_INIT_OF_VARS)
-#define LINT_INIT(var) var=0 /* No uninitialize-warning */
-#else
-#define LINT_INIT(var)
-#endif
-
-#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(HAVE_purify)
-#define PURIFY_OR_LINT_INIT(var) var=0
-#else
-#define PURIFY_OR_LINT_INIT(var)
-#endif
-
-/* Define some useful general macros */
-#if !defined(max)
-#define max(a, b) ((a) > (b) ? (a) : (b))
-#define min(a, b) ((a) < (b) ? (a) : (b))
-#endif
-
-#if defined(__EMX__) || !defined(HAVE_UINT)
-#undef HAVE_UINT
-#define HAVE_UINT
-typedef unsigned int uint;
-typedef unsigned short ushort;
-#endif
-
-#define CMP_NUM(a,b) (((a) < (b)) ? -1 : ((a) == (b)) ? 0 : 1)
-#define sgn(a) (((a) < 0) ? -1 : ((a) > 0) ? 1 : 0)
-#define swap_variables(t, a, b) { register t dummy; dummy= a; a= b; b= dummy; }
-#define test(a) ((a) ? 1 : 0)
-#define set_if_bigger(a,b) do { if ((a) < (b)) (a)=(b); } while(0)
-#define set_if_smaller(a,b) do { if ((a) > (b)) (a)=(b); } while(0)
-#define test_all_bits(a,b) (((a) & (b)) == (b))
-#define set_bits(type, bit_count) (sizeof(type)*8 <= (bit_count) ? ~(type) 0 : ((((type) 1) << (bit_count)) - (type) 1))
-#define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
-#ifndef HAVE_RINT
-#define rint(A) floor((A)+(((A) < 0)? -0.5 : 0.5))
-#endif
-
-/* Define some general constants */
-#ifndef TRUE
-#define TRUE (1) /* Logical true */
-#define FALSE (0) /* Logical false */
-#endif
-
-#if defined(__GNUC__)
-#define function_volatile volatile
-#define my_reinterpret_cast(A) reinterpret_cast<A>
-#define my_const_cast(A) const_cast<A>
-#elif !defined(my_reinterpret_cast)
-#define my_reinterpret_cast(A) (A)
-#define my_const_cast(A) (A)
-#endif
-#if !defined(__attribute__) && (defined(__cplusplus) || !defined(__GNUC__) || __GNUC__ == 2 && __GNUC_MINOR__ < 8)
-#define __attribute__(A)
-#endif
-
-/*
- Wen using the embedded library, users might run into link problems,
- dupicate declaration of __cxa_pure_virtual, solved by declaring it a
- weak symbol.
-*/
-#ifdef USE_MYSYS_NEW
-C_MODE_START
-int __cxa_pure_virtual () __attribute__ ((weak));
-C_MODE_END
-#endif
-
-/* From old s-system.h */
-
-/*
- Support macros for non ansi & other old compilers. Since such
- things are no longer supported we do nothing. We keep then since
- some of our code may still be needed to upgrade old customers.
-*/
-#define _VARARGS(X) X
-#define _STATIC_VARARGS(X) X
-#define _PC(X) X
-
-#if defined(DBUG_ON) && defined(DBUG_OFF)
-#undef DBUG_OFF
-#endif
-
-#if defined(_lint) && !defined(DBUG_OFF)
-#define DBUG_OFF
-#endif
-
-#include <my_dbug.h>
-
-#define MIN_ARRAY_SIZE 0 /* Zero or One. Gcc allows zero*/
-#define ASCII_BITS_USED 8 /* Bit char used */
-#define NEAR_F /* No near function handling */
-
-/* Some types that is different between systems */
-
-typedef int File; /* File descriptor */
-#ifndef Socket_defined
-typedef int my_socket; /* File descriptor for sockets */
-#define INVALID_SOCKET -1
-#endif
-/* Type for fuctions that handles signals */
-#define sig_handler RETSIGTYPE
-C_MODE_START
-typedef void (*sig_return)();/* Returns type from signal */
-C_MODE_END
-#if defined(__GNUC__) && !defined(_lint)
-typedef char pchar; /* Mixed prototypes can take char */
-typedef char puchar; /* Mixed prototypes can take char */
-typedef char pbool; /* Mixed prototypes can take char */
-typedef short pshort; /* Mixed prototypes can take short int */
-typedef float pfloat; /* Mixed prototypes can take float */
-#else
-typedef int pchar; /* Mixed prototypes can't take char */
-typedef uint puchar; /* Mixed prototypes can't take char */
-typedef int pbool; /* Mixed prototypes can't take char */
-typedef int pshort; /* Mixed prototypes can't take short int */
-typedef double pfloat; /* Mixed prototypes can't take float */
-#endif
-C_MODE_START
-typedef int (*qsort_cmp)(const void *,const void *);
-typedef int (*qsort_cmp2)(void*, const void *,const void *);
-C_MODE_END
-#ifdef HAVE_mit_thread
-#define qsort_t void
-#undef QSORT_TYPE_IS_VOID
-#define QSORT_TYPE_IS_VOID
-#else
-#define qsort_t RETQSORTTYPE /* Broken GCC cant handle typedef !!!! */
-#endif
-#ifdef HAVE_mit_thread
-#define size_socket socklen_t /* Type of last arg to accept */
-#else
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-typedef SOCKET_SIZE_TYPE size_socket;
-#endif
-
-#ifndef SOCKOPT_OPTLEN_TYPE
-#define SOCKOPT_OPTLEN_TYPE size_socket
-#endif
-
-/* file create flags */
-
-#ifndef O_SHARE /* Probably not windows */
-#define O_SHARE 0 /* Flag to my_open for shared files */
-#ifndef O_BINARY
-#define O_BINARY 0 /* Flag to my_open for binary files */
-#endif
-#ifndef FILE_BINARY
-#define FILE_BINARY O_BINARY /* Flag to my_fopen for binary streams */
-#endif
-#ifdef HAVE_FCNTL
-#define HAVE_FCNTL_LOCK
-#define F_TO_EOF 0L /* Param to lockf() to lock rest of file */
-#endif
-#endif /* O_SHARE */
-
-#ifndef O_TEMPORARY
-#define O_TEMPORARY 0
-#endif
-#ifndef O_SHORT_LIVED
-#define O_SHORT_LIVED 0
-#endif
-#ifndef O_NOFOLLOW
-#define O_NOFOLLOW 0
-#endif
-
-/* additional file share flags for win32 */
-#ifdef __WIN__
-#define _SH_DENYRWD 0x110 /* deny read/write mode & delete */
-#define _SH_DENYWRD 0x120 /* deny write mode & delete */
-#define _SH_DENYRDD 0x130 /* deny read mode & delete */
-#define _SH_DENYDEL 0x140 /* deny delete only */
-#endif /* __WIN__ */
-
-
-/* #define USE_RECORD_LOCK */
-
- /* Unsigned types supported by the compiler */
-#define UNSINT8 /* unsigned int8 (char) */
-#define UNSINT16 /* unsigned int16 */
-#define UNSINT32 /* unsigned int32 */
-
- /* General constants */
-#define SC_MAXWIDTH 256 /* Max width of screen (for error messages) */
-#define FN_LEN 256 /* Max file name len */
-#define FN_HEADLEN 253 /* Max length of filepart of file name */
-#define FN_EXTLEN 20 /* Max length of extension (part of FN_LEN) */
-#define FN_REFLEN 512 /* Max length of full path-name */
-#define FN_EXTCHAR '.'
-#define FN_HOMELIB '~' /* ~/ is used as abbrev for home dir */
-#define FN_CURLIB '.' /* ./ is used as abbrev for current dir */
-#define FN_PARENTDIR ".." /* Parent directory; Must be a string */
-#define FN_DEVCHAR ':'
-
-#ifndef FN_LIBCHAR
-#ifdef __EMX__
-#define FN_LIBCHAR '\\'
-#define FN_ROOTDIR "\\"
-#else
-#define FN_LIBCHAR '/'
-#define FN_ROOTDIR "/"
-#endif
-#endif
-#define MY_NFILE 64 /* This is only used to save filenames */
-#ifndef OS_FILE_LIMIT
-#define OS_FILE_LIMIT 65535
-#endif
-
-/* #define EXT_IN_LIBNAME */
-/* #define FN_NO_CASE_SENCE */
-/* #define FN_UPPER_CASE TRUE */
-
-/*
- Io buffer size; Must be a power of 2 and a multiple of 512. May be
- smaller what the disk page size. This influences the speed of the
- isam btree library. eg to big to slow.
-*/
-#define IO_SIZE 4096
-/*
- How much overhead does malloc have. The code often allocates
- something like 1024-MALLOC_OVERHEAD bytes
-*/
-#ifdef SAFEMALLOC
-#define MALLOC_OVERHEAD (8+24+4)
-#else
-#define MALLOC_OVERHEAD 8
-#endif
- /* get memory in huncs */
-#define ONCE_ALLOC_INIT (uint) (4096-MALLOC_OVERHEAD)
- /* Typical record cash */
-#define RECORD_CACHE_SIZE (uint) (64*1024-MALLOC_OVERHEAD)
- /* Typical key cash */
-#define KEY_CACHE_SIZE (uint) (8*1024*1024-MALLOC_OVERHEAD)
- /* Default size of a key cache block */
-#define KEY_CACHE_BLOCK_SIZE (uint) 1024
-
-
- /* Some things that this system doesn't have */
-
-#define NO_HASH /* Not needed anymore */
-#ifdef __WIN__
-#define NO_DIR_LIBRARY /* Not standar dir-library */
-#define USE_MY_STAT_STRUCT /* For my_lib */
-#endif
-
-/* Some defines of functions for portability */
-
-#undef remove /* Crashes MySQL on SCO 5.0.0 */
-#ifndef __WIN__
-#ifdef OS2
-#define closesocket(A) soclose(A)
-#else
-#define closesocket(A) close(A)
-#endif
-#ifndef ulonglong2double
-#define ulonglong2double(A) ((double) (ulonglong) (A))
-#define my_off_t2double(A) ((double) (my_off_t) (A))
-#endif
-#endif
-
-#ifndef offsetof
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
-#define ulong_to_double(X) ((double) (ulong) (X))
-#define SET_STACK_SIZE(X) /* Not needed on real machines */
-
-#if !defined(HAVE_mit_thread) && !defined(HAVE_STRTOK_R)
-#define strtok_r(A,B,C) strtok((A),(B))
-#endif
-
-/* Remove some things that mit_thread break or doesn't support */
-#if defined(HAVE_mit_thread) && defined(THREAD)
-#undef HAVE_PREAD
-#undef HAVE_REALPATH
-#undef HAVE_MLOCK
-#undef HAVE_TEMPNAM /* Use ours */
-#undef HAVE_PTHREAD_SETPRIO
-#undef HAVE_FTRUNCATE
-#undef HAVE_READLINK
-#endif
-
-/* This is from the old m-machine.h file */
-
-#if SIZEOF_LONG_LONG > 4
-#define HAVE_LONG_LONG 1
-#endif
-
-/*
- Some pre-ANSI-C99 systems like AIX 5.1 and Linux/GCC 2.95 define
- ULONGLONG_MAX, LONGLONG_MIN, LONGLONG_MAX; we use them if they're defined.
- Also on Windows we define these constants by hand in config-win.h.
-*/
-
-#if defined(HAVE_LONG_LONG) && !defined(LONGLONG_MIN)
-#define LONGLONG_MIN ((long long) 0x8000000000000000LL)
-#define LONGLONG_MAX ((long long) 0x7FFFFFFFFFFFFFFFLL)
-#endif
-
-#if defined(HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)
-/* First check for ANSI C99 definition: */
-#ifdef ULLONG_MAX
-#define ULONGLONG_MAX ULLONG_MAX
-#else
-#define ULONGLONG_MAX ((unsigned long long)(~0ULL))
-#endif
-#endif /* defined (HAVE_LONG_LONG) && !defined(ULONGLONG_MAX)*/
-
-#define INT_MIN32 (~0x7FFFFFFFL)
-#define INT_MAX32 0x7FFFFFFFL
-#define UINT_MAX32 0xFFFFFFFFL
-#define INT_MIN24 (~0x007FFFFF)
-#define INT_MAX24 0x007FFFFF
-#define UINT_MAX24 0x00FFFFFF
-#define INT_MIN16 (~0x7FFF)
-#define INT_MAX16 0x7FFF
-#define UINT_MAX16 0xFFFF
-#define INT_MIN8 (~0x7F)
-#define INT_MAX8 0x7F
-#define UINT_MAX8 0xFF
-
-/* From limits.h instead */
-#ifndef DBL_MIN
-#define DBL_MIN 4.94065645841246544e-324
-#define FLT_MIN ((float)1.40129846432481707e-45)
-#endif
-#ifndef DBL_MAX
-#define DBL_MAX 1.79769313486231470e+308
-#define FLT_MAX ((float)3.40282346638528860e+38)
-#endif
-
-#if !defined(HAVE_ISINF) && !defined(isinf)
-#define isinf(X) 0
-#endif
-
-/* Define missing math constants. */
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-#ifndef M_E
-#define M_E 2.7182818284590452354
-#endif
-#ifndef M_LN2
-#define M_LN2 0.69314718055994530942
-#endif
-
-/*
- Max size that must be added to a so that we know Size to make
- adressable obj.
-*/
-#if SIZEOF_CHARP == 4
-typedef long my_ptrdiff_t;
-#else
-typedef long long my_ptrdiff_t;
-#endif
-
-#define MY_ALIGN(A,L) (((A) + (L) - 1) & ~((L) - 1))
-#define ALIGN_SIZE(A) MY_ALIGN((A),sizeof(double))
-/* Size to make adressable obj. */
-#define ALIGN_PTR(A, t) ((t*) MY_ALIGN((A),sizeof(t)))
- /* Offset of field f in structure t */
-#define OFFSET(t, f) ((size_t)(char *)&((t *)0)->f)
-#define ADD_TO_PTR(ptr,size,type) (type) ((byte*) (ptr)+size)
-#define PTR_BYTE_DIFF(A,B) (my_ptrdiff_t) ((byte*) (A) - (byte*) (B))
-
-#define NullS (char *) 0
-/* Nowdays we do not support MessyDos */
-#ifndef NEAR
-#define NEAR /* Who needs segments ? */
-#define FAR /* On a good machine */
-#ifndef HUGE_PTR
-#define HUGE_PTR
-#endif
-#endif
-#if defined(__IBMC__) || defined(__IBMCPP__)
-/* This was _System _Export but caused a lot of warnings on _AIX43 */
-#define STDCALL
-#elif !defined( STDCALL)
-#define STDCALL
-#endif
-
-/* Typdefs for easyier portability */
-
-#if defined(VOIDTYPE)
-typedef void *gptr; /* Generic pointer */
-#else
-typedef char *gptr; /* Generic pointer */
-#endif
-#ifndef HAVE_INT_8_16_32
-typedef signed char int8; /* Signed integer >= 8 bits */
-typedef short int16; /* Signed integer >= 16 bits */
-#endif
-#ifndef HAVE_UCHAR
-typedef unsigned char uchar; /* Short for unsigned char */
-#endif
-typedef unsigned char uint8; /* Short for unsigned integer >= 8 bits */
-typedef unsigned short uint16; /* Short for unsigned integer >= 16 bits */
-
-#if SIZEOF_INT == 4
-#ifndef HAVE_INT_8_16_32
-typedef int int32;
-#endif
-typedef unsigned int uint32; /* Short for unsigned integer >= 32 bits */
-#elif SIZEOF_LONG == 4
-#ifndef HAVE_INT_8_16_32
-typedef long int32;
-#endif
-typedef unsigned long uint32; /* Short for unsigned integer >= 32 bits */
-#else
-#error "Neither int or long is of 4 bytes width"
-#endif
-
-#if !defined(HAVE_ULONG) && !defined(TARGET_OS_LINUX) && !defined(__USE_MISC)
-typedef unsigned long ulong; /* Short for unsigned long */
-#endif
-#ifndef longlong_defined
-#if defined(HAVE_LONG_LONG) && SIZEOF_LONG != 8
-typedef unsigned long long int ulonglong; /* ulong or unsigned long long */
-typedef long long int longlong;
-#else
-typedef unsigned long ulonglong; /* ulong or unsigned long long */
-typedef long longlong;
-#endif
-#endif
-
-#if defined(NO_CLIENT_LONG_LONG)
-typedef unsigned long my_ulonglong;
-#elif defined (__WIN__)
-typedef unsigned __int64 my_ulonglong;
-#else
-typedef unsigned long long my_ulonglong;
-#endif
-
-#ifdef USE_RAID
-/*
- The following is done with a if to not get problems with pre-processors
- with late define evaluation
-*/
-#if SIZEOF_OFF_T == 4
-#define SYSTEM_SIZEOF_OFF_T 4
-#else
-#define SYSTEM_SIZEOF_OFF_T 8
-#endif
-#undef SIZEOF_OFF_T
-#define SIZEOF_OFF_T 8
-#else
-#define SYSTEM_SIZEOF_OFF_T SIZEOF_OFF_T
-#endif /* USE_RAID */
-
-#if SIZEOF_OFF_T > 4
-typedef ulonglong my_off_t;
-#else
-typedef unsigned long my_off_t;
-#endif
-#define MY_FILEPOS_ERROR (~(my_off_t) 0)
-#if !defined(__WIN__) && !defined(OS2)
-typedef off_t os_off_t;
-#endif
-
-#if defined(__WIN__)
-#define socket_errno WSAGetLastError()
-#define SOCKET_EINTR WSAEINTR
-#define SOCKET_EAGAIN WSAEINPROGRESS
-#define SOCKET_ETIMEDOUT WSAETIMEDOUT
-#define SOCKET_EWOULDBLOCK WSAEWOULDBLOCK
-#define SOCKET_EADDRINUSE WSAEADDRINUSE
-#define SOCKET_ENFILE ENFILE
-#define SOCKET_EMFILE EMFILE
-#elif defined(OS2)
-#define socket_errno sock_errno()
-#define SOCKET_EINTR SOCEINTR
-#define SOCKET_EAGAIN SOCEINPROGRESS
-#define SOCKET_ETIMEDOUT SOCKET_EINTR
-#define SOCKET_EWOULDBLOCK SOCEWOULDBLOCK
-#define SOCKET_EADDRINUSE SOCEADDRINUSE
-#define SOCKET_ENFILE SOCENFILE
-#define SOCKET_EMFILE SOCEMFILE
-#define closesocket(A) soclose(A)
-#else /* Unix */
-#define socket_errno errno
-#define closesocket(A) close(A)
-#define SOCKET_EINTR EINTR
-#define SOCKET_EAGAIN EAGAIN
-#define SOCKET_ETIMEDOUT SOCKET_EINTR
-#define SOCKET_EWOULDBLOCK EWOULDBLOCK
-#define SOCKET_EADDRINUSE EADDRINUSE
-#define SOCKET_ENFILE ENFILE
-#define SOCKET_EMFILE EMFILE
-#endif
-
-typedef uint8 int7; /* Most effective integer 0 <= x <= 127 */
-typedef short int15; /* Most effective integer 0 <= x <= 32767 */
-typedef char *my_string; /* String of characters */
-typedef unsigned long size_s; /* Size of strings (In string-funcs) */
-typedef int myf; /* Type of MyFlags in my_funcs */
-#ifndef byte_defined
-typedef char byte; /* Smallest addressable unit */
-#endif
-typedef char my_bool; /* Small bool */
-#if !defined(bool) && !defined(bool_defined) && (!defined(HAVE_BOOL) || !defined(__cplusplus))
-typedef char bool; /* Ordinary boolean values 0 1 */
-#endif
- /* Macros for converting *constants* to the right type */
-#define INT8(v) (int8) (v)
-#define INT16(v) (int16) (v)
-#define INT32(v) (int32) (v)
-#define MYF(v) (myf) (v)
-
-#ifndef LL
-#ifdef HAVE_LONG_LONG
-#define LL(A) A ## LL
-#else
-#define LL(A) A ## L
-#endif
-#endif
-
-#ifndef ULL
-#ifdef HAVE_LONG_LONG
-#define ULL(A) A ## ULL
-#else
-#define ULL(A) A ## UL
-#endif
-#endif
-
-/*
- Defines to make it possible to prioritize register assignments. No
- longer that important with modern compilers.
-*/
-#ifndef USING_X
-#define reg1 register
-#define reg2 register
-#define reg3 register
-#define reg4 register
-#define reg5 register
-#define reg6 register
-#define reg7 register
-#define reg8 register
-#define reg9 register
-#define reg10 register
-#define reg11 register
-#define reg12 register
-#define reg13 register
-#define reg14 register
-#define reg15 register
-#define reg16 register
-#endif
-
-/*
- Sometimes we want to make sure that the variable is not put into
- a register in debugging mode so we can see its value in the core
-*/
-
-#ifndef DBUG_OFF
-#define dbug_volatile volatile
-#else
-#define dbug_volatile
-#endif
-
-/* Defines for time function */
-#define SCALE_SEC 100
-#define SCALE_USEC 10000
-#define MY_HOW_OFTEN_TO_ALARM 2 /* How often we want info on screen */
-#define MY_HOW_OFTEN_TO_WRITE 1000 /* How often we want info on screen */
-
-#ifdef HAVE_TIMESPEC_TS_SEC
-#ifndef set_timespec
-#define set_timespec(ABSTIME,SEC) \
-{ \
- (ABSTIME).ts_sec=time(0) + (time_t) (SEC); \
- (ABSTIME).ts_nsec=0; \
-}
-#endif /* !set_timespec */
-#ifndef set_timespec_nsec
-#define set_timespec_nsec(ABSTIME,NSEC) \
-{ \
- ulonglong now= my_getsystime() + (NSEC/100); \
- (ABSTIME).ts_sec= (now / ULL(10000000)); \
- (ABSTIME).ts_nsec= (now % ULL(10000000) * 100 + ((NSEC) % 100)); \
-}
-#endif /* !set_timespec_nsec */
-#else
-#ifndef set_timespec
-#define set_timespec(ABSTIME,SEC) \
-{\
- struct timeval tv;\
- gettimeofday(&tv,0);\
- (ABSTIME).tv_sec=tv.tv_sec+(time_t) (SEC);\
- (ABSTIME).tv_nsec=tv.tv_usec*1000;\
-}
-#endif /* !set_timespec */
-#ifndef set_timespec_nsec
-#define set_timespec_nsec(ABSTIME,NSEC) \
-{\
- ulonglong now= my_getsystime() + (NSEC/100); \
- (ABSTIME).tv_sec= (now / ULL(10000000)); \
- (ABSTIME).tv_nsec= (now % ULL(10000000) * 100 + ((NSEC) % 100)); \
-}
-#endif /* !set_timespec_nsec */
-#endif /* HAVE_TIMESPEC_TS_SEC */
-
-/*
- Define-funktions for reading and storing in machine independent format
- (low byte first)
-*/
-
-/* Optimized store functions for Intel x86 */
-#if defined(__i386__) && !defined(_WIN64)
-#define sint2korr(A) (*((int16 *) (A)))
-#define sint3korr(A) ((int32) ((((uchar) (A)[2]) & 128) ? \
- (((uint32) 255L << 24) | \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])) : \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])))
-#define sint4korr(A) (*((long *) (A)))
-#define uint2korr(A) (*((uint16 *) (A)))
-#ifdef HAVE_purify
-#define uint3korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16))
-#else
-/*
- ATTENTION !
-
- Please, note, uint3korr reads 4 bytes (not 3) !
- It means, that you have to provide enough allocated space !
-*/
-#define uint3korr(A) (long) (*((unsigned int *) (A)) & 0xFFFFFF)
-#endif
-#define uint4korr(A) (*((unsigned long *) (A)))
-#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24)) +\
- (((ulonglong) ((uchar) (A)[4])) << 32))
-#define uint8korr(A) (*((ulonglong *) (A)))
-#define sint8korr(A) (*((longlong *) (A)))
-#define int2store(T,A) *((uint16*) (T))= (uint16) (A)
-#define int3store(T,A) do { *(T)= (uchar) ((A));\
- *(T+1)=(uchar) (((uint) (A) >> 8));\
- *(T+2)=(uchar) (((A) >> 16)); } while (0)
-#define int4store(T,A) *((long *) (T))= (long) (A)
-#define int5store(T,A) do { *(T)= (uchar)((A));\
- *((T)+1)=(uchar) (((A) >> 8));\
- *((T)+2)=(uchar) (((A) >> 16));\
- *((T)+3)=(uchar) (((A) >> 24)); \
- *((T)+4)=(uchar) (((A) >> 32)); } while(0)
-#define int8store(T,A) *((ulonglong *) (T))= (ulonglong) (A)
-
-typedef union {
- double v;
- long m[2];
-} doubleget_union;
-#define doubleget(V,M) \
-do { doubleget_union _tmp; \
- _tmp.m[0] = *((long*)(M)); \
- _tmp.m[1] = *(((long*) (M))+1); \
- (V) = _tmp.v; } while(0)
-#define doublestore(T,V) do { *((long *) T) = ((doubleget_union *)&V)->m[0]; \
- *(((long *) T)+1) = ((doubleget_union *)&V)->m[1]; \
- } while (0)
-#define float4get(V,M) do { *((long *) &(V)) = *((long*) (M)); } while(0)
-#define float8get(V,M) doubleget((V),(M))
-#define float4store(V,M) memcpy((byte*) V,(byte*) (&M),sizeof(float))
-#define floatstore(T,V) memcpy((byte*)(T), (byte*)(&V),sizeof(float))
-#define floatget(V,M) memcpy((byte*) &V,(byte*) (M),sizeof(float))
-#define float8store(V,M) doublestore((V),(M))
-#endif /* __i386__ */
-
-#ifndef sint2korr
-/*
- We're here if it's not a IA-32 architecture (Win32 and UNIX IA-32 defines
- were done before)
-*/
-#define sint2korr(A) (int16) (((int16) ((uchar) (A)[0])) +\
- ((int16) ((int16) (A)[1]) << 8))
-#define sint3korr(A) ((int32) ((((uchar) (A)[2]) & 128) ? \
- (((uint32) 255L << 24) | \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])) : \
- (((uint32) (uchar) (A)[2]) << 16) |\
- (((uint32) (uchar) (A)[1]) << 8) | \
- ((uint32) (uchar) (A)[0])))
-#define sint4korr(A) (int32) (((int32) ((uchar) (A)[0])) +\
- (((int32) ((uchar) (A)[1]) << 8)) +\
- (((int32) ((uchar) (A)[2]) << 16)) +\
- (((int32) ((int16) (A)[3]) << 24)))
-#define sint8korr(A) (longlong) uint8korr(A)
-#define uint2korr(A) (uint16) (((uint16) ((uchar) (A)[0])) +\
- ((uint16) ((uchar) (A)[1]) << 8))
-#define uint3korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16))
-#define uint4korr(A) (uint32) (((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24))
-#define uint5korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24)) +\
- (((ulonglong) ((uchar) (A)[4])) << 32))
-#define uint8korr(A) ((ulonglong)(((uint32) ((uchar) (A)[0])) +\
- (((uint32) ((uchar) (A)[1])) << 8) +\
- (((uint32) ((uchar) (A)[2])) << 16) +\
- (((uint32) ((uchar) (A)[3])) << 24)) +\
- (((ulonglong) (((uint32) ((uchar) (A)[4])) +\
- (((uint32) ((uchar) (A)[5])) << 8) +\
- (((uint32) ((uchar) (A)[6])) << 16) +\
- (((uint32) ((uchar) (A)[7])) << 24))) <<\
- 32))
-#define int2store(T,A) do { uint def_temp= (uint) (A) ;\
- *((uchar*) (T))= (uchar)(def_temp); \
- *((uchar*) (T)+1)=(uchar)((def_temp >> 8)); \
- } while(0)
-#define int3store(T,A) do { /*lint -save -e734 */\
- *((uchar*)(T))=(uchar) ((A));\
- *((uchar*) (T)+1)=(uchar) (((A) >> 8));\
- *((uchar*)(T)+2)=(uchar) (((A) >> 16)); \
- /*lint -restore */} while(0)
-#define int4store(T,A) do { *((char *)(T))=(char) ((A));\
- *(((char *)(T))+1)=(char) (((A) >> 8));\
- *(((char *)(T))+2)=(char) (((A) >> 16));\
- *(((char *)(T))+3)=(char) (((A) >> 24)); } while(0)
-#define int5store(T,A) do { *((char *)(T))=((A));\
- *(((char *)(T))+1)=(((A) >> 8));\
- *(((char *)(T))+2)=(((A) >> 16));\
- *(((char *)(T))+3)=(((A) >> 24)); \
- *(((char *)(T))+4)=(((A) >> 32)); } while(0)
-#define int8store(T,A) do { uint def_temp= (uint) (A), def_temp2= (uint) ((A) >> 32); \
- int4store((T),def_temp); \
- int4store((T+4),def_temp2); } while(0)
-#ifdef WORDS_BIGENDIAN
-#define float4store(T,A) do { *(T)= ((byte *) &A)[3];\
- *((T)+1)=(char) ((byte *) &A)[2];\
- *((T)+2)=(char) ((byte *) &A)[1];\
- *((T)+3)=(char) ((byte *) &A)[0]; } while(0)
-
-#define float4get(V,M) do { float def_temp;\
- ((byte*) &def_temp)[0]=(M)[3];\
- ((byte*) &def_temp)[1]=(M)[2];\
- ((byte*) &def_temp)[2]=(M)[1];\
- ((byte*) &def_temp)[3]=(M)[0];\
- (V)=def_temp; } while(0)
-#define float8store(T,V) do { *(T)= ((byte *) &V)[7];\
- *((T)+1)=(char) ((byte *) &V)[6];\
- *((T)+2)=(char) ((byte *) &V)[5];\
- *((T)+3)=(char) ((byte *) &V)[4];\
- *((T)+4)=(char) ((byte *) &V)[3];\
- *((T)+5)=(char) ((byte *) &V)[2];\
- *((T)+6)=(char) ((byte *) &V)[1];\
- *((T)+7)=(char) ((byte *) &V)[0]; } while(0)
-
-#define float8get(V,M) do { double def_temp;\
- ((byte*) &def_temp)[0]=(M)[7];\
- ((byte*) &def_temp)[1]=(M)[6];\
- ((byte*) &def_temp)[2]=(M)[5];\
- ((byte*) &def_temp)[3]=(M)[4];\
- ((byte*) &def_temp)[4]=(M)[3];\
- ((byte*) &def_temp)[5]=(M)[2];\
- ((byte*) &def_temp)[6]=(M)[1];\
- ((byte*) &def_temp)[7]=(M)[0];\
- (V) = def_temp; } while(0)
-#else
-#define float4get(V,M) memcpy_fixed((byte*) &V,(byte*) (M),sizeof(float))
-#define float4store(V,M) memcpy_fixed((byte*) V,(byte*) (&M),sizeof(float))
-
-#if defined(__FLOAT_WORD_ORDER) && (__FLOAT_WORD_ORDER == __BIG_ENDIAN)
-#define doublestore(T,V) do { *(((char*)T)+0)=(char) ((byte *) &V)[4];\
- *(((char*)T)+1)=(char) ((byte *) &V)[5];\
- *(((char*)T)+2)=(char) ((byte *) &V)[6];\
- *(((char*)T)+3)=(char) ((byte *) &V)[7];\
- *(((char*)T)+4)=(char) ((byte *) &V)[0];\
- *(((char*)T)+5)=(char) ((byte *) &V)[1];\
- *(((char*)T)+6)=(char) ((byte *) &V)[2];\
- *(((char*)T)+7)=(char) ((byte *) &V)[3]; }\
- while(0)
-#define doubleget(V,M) do { double def_temp;\
- ((byte*) &def_temp)[0]=(M)[4];\
- ((byte*) &def_temp)[1]=(M)[5];\
- ((byte*) &def_temp)[2]=(M)[6];\
- ((byte*) &def_temp)[3]=(M)[7];\
- ((byte*) &def_temp)[4]=(M)[0];\
- ((byte*) &def_temp)[5]=(M)[1];\
- ((byte*) &def_temp)[6]=(M)[2];\
- ((byte*) &def_temp)[7]=(M)[3];\
- (V) = def_temp; } while(0)
-#endif /* __FLOAT_WORD_ORDER */
-
-#define float8get(V,M) doubleget((V),(M))
-#define float8store(V,M) doublestore((V),(M))
-#endif /* WORDS_BIGENDIAN */
-
-#endif /* sint2korr */
-
-/*
- Macro for reading 32-bit integer from network byte order (big-endian)
- from unaligned memory location.
-*/
-#define int4net(A) (int32) (((uint32) ((uchar) (A)[3])) |\
- (((uint32) ((uchar) (A)[2])) << 8) |\
- (((uint32) ((uchar) (A)[1])) << 16) |\
- (((uint32) ((uchar) (A)[0])) << 24))
-/*
- Define-funktions for reading and storing in machine format from/to
- short/long to/from some place in memory V should be a (not
- register) variable, M is a pointer to byte
-*/
-
-#ifdef WORDS_BIGENDIAN
-
-#define ushortget(V,M) do { V = (uint16) (((uint16) ((uchar) (M)[1]))+\
- ((uint16) ((uint16) (M)[0]) << 8)); } while(0)
-#define shortget(V,M) do { V = (short) (((short) ((uchar) (M)[1]))+\
- ((short) ((short) (M)[0]) << 8)); } while(0)
-#define longget(V,M) do { int32 def_temp;\
- ((byte*) &def_temp)[0]=(M)[0];\
- ((byte*) &def_temp)[1]=(M)[1];\
- ((byte*) &def_temp)[2]=(M)[2];\
- ((byte*) &def_temp)[3]=(M)[3];\
- (V)=def_temp; } while(0)
-#define ulongget(V,M) do { uint32 def_temp;\
- ((byte*) &def_temp)[0]=(M)[0];\
- ((byte*) &def_temp)[1]=(M)[1];\
- ((byte*) &def_temp)[2]=(M)[2];\
- ((byte*) &def_temp)[3]=(M)[3];\
- (V)=def_temp; } while(0)
-#define shortstore(T,A) do { uint def_temp=(uint) (A) ;\
- *(((char*)T)+1)=(char)(def_temp); \
- *(((char*)T)+0)=(char)(def_temp >> 8); } while(0)
-#define longstore(T,A) do { *(((char*)T)+3)=((A));\
- *(((char*)T)+2)=(((A) >> 8));\
- *(((char*)T)+1)=(((A) >> 16));\
- *(((char*)T)+0)=(((A) >> 24)); } while(0)
-
-#define floatget(V,M) memcpy_fixed((byte*) &V,(byte*) (M),sizeof(float))
-#define floatstore(T,V) memcpy_fixed((byte*) (T),(byte*)(&V),sizeof(float))
-#define doubleget(V,M) memcpy_fixed((byte*) &V,(byte*) (M),sizeof(double))
-#define doublestore(T,V) memcpy_fixed((byte*) (T),(byte*) &V,sizeof(double))
-#define longlongget(V,M) memcpy_fixed((byte*) &V,(byte*) (M),sizeof(ulonglong))
-#define longlongstore(T,V) memcpy_fixed((byte*) (T),(byte*) &V,sizeof(ulonglong))
-
-#else
-
-#define ushortget(V,M) do { V = uint2korr(M); } while(0)
-#define shortget(V,M) do { V = sint2korr(M); } while(0)
-#define longget(V,M) do { V = sint4korr(M); } while(0)
-#define ulongget(V,M) do { V = uint4korr(M); } while(0)
-#define shortstore(T,V) int2store(T,V)
-#define longstore(T,V) int4store(T,V)
-#ifndef floatstore
-#define floatstore(T,V) memcpy_fixed((byte*) (T),(byte*) (&V),sizeof(float))
-#define floatget(V,M) memcpy_fixed((byte*) &V, (byte*) (M), sizeof(float))
-#endif
-#ifndef doubleget
-#define doubleget(V,M) memcpy_fixed((byte*) &V,(byte*) (M),sizeof(double))
-#define doublestore(T,V) memcpy_fixed((byte*) (T),(byte*) &V,sizeof(double))
-#endif /* doubleget */
-#define longlongget(V,M) memcpy_fixed((byte*) &V,(byte*) (M),sizeof(ulonglong))
-#define longlongstore(T,V) memcpy_fixed((byte*) (T),(byte*) &V,sizeof(ulonglong))
-
-#endif /* WORDS_BIGENDIAN */
-
-/* sprintf does not always return the number of bytes :- */
-#ifdef SPRINTF_RETURNS_INT
-#define my_sprintf(buff,args) sprintf args
-#else
-#ifdef SPRINTF_RETURNS_PTR
-#define my_sprintf(buff,args) ((int)(sprintf args - buff))
-#else
-#define my_sprintf(buff,args) ((ulong) sprintf args, (ulong) strlen(buff))
-#endif
-#endif
-
-#ifndef THREAD
-#define thread_safe_increment(V,L) (V)++
-#define thread_safe_add(V,C,L) (V)+=(C)
-#define thread_safe_sub(V,C,L) (V)-=(C)
-#define statistic_increment(V,L) (V)++
-#define statistic_add(V,C,L) (V)+=(C)
-#endif
-
-#ifdef HAVE_CHARSET_utf8
-#define MYSQL_UNIVERSAL_CLIENT_CHARSET "utf8"
-#else
-#define MYSQL_UNIVERSAL_CLIENT_CHARSET MYSQL_DEFAULT_CHARSET_NAME
-#endif
-
-#if defined(EMBEDDED_LIBRARY) && !defined(HAVE_EMBEDDED_PRIVILEGE_CONTROL)
-#define NO_EMBEDDED_ACCESS_CHECKS
-#endif
-
-#endif /* my_global_h */
diff --git a/3rdparty/mysql/include/my_list.h b/3rdparty/mysql/include/my_list.h
deleted file mode 100644
index 92598696f..000000000
--- a/3rdparty/mysql/include/my_list.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-#ifndef _list_h_
-#define _list_h_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct st_list {
- struct st_list *prev,*next;
- void *data;
-} LIST;
-
-typedef int (*list_walk_action)(void *,void *);
-
-extern LIST *list_add(LIST *root,LIST *element);
-extern LIST *list_delete(LIST *root,LIST *element);
-extern LIST *list_cons(void *data,LIST *root);
-extern LIST *list_reverse(LIST *root);
-extern void list_free(LIST *root,unsigned int free_data);
-extern unsigned int list_length(LIST *);
-extern int list_walk(LIST *,list_walk_action action,gptr argument);
-
-#define list_rest(a) ((a)->next)
-#define list_push(a,b) (a)=list_cons((b),(a))
-#define list_pop(A) {LIST *old=(A); (A)=list_delete(old,old) ; my_free((gptr) old,MYF(MY_FAE)); }
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/3rdparty/mysql/include/my_pthread.h b/3rdparty/mysql/include/my_pthread.h
deleted file mode 100644
index 202e047dc..000000000
--- a/3rdparty/mysql/include/my_pthread.h
+++ /dev/null
@@ -1,717 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-/* Defines to make different thread packages compatible */
-
-#ifndef _my_pthread_h
-#define _my_pthread_h
-
-#include <errno.h>
-#ifndef ETIME
-#define ETIME ETIMEDOUT /* For FreeBSD */
-#endif
-
-#ifdef __cplusplus
-#define EXTERNC extern "C"
-extern "C" {
-#else
-#define EXTERNC
-#endif /* __cplusplus */
-
-#if defined(__WIN__) || defined(OS2)
-
-#ifdef OS2
-typedef ULONG HANDLE;
-typedef ULONG DWORD;
-typedef int sigset_t;
-#endif
-
-#ifdef OS2
-typedef HMTX pthread_mutex_t;
-#else
-typedef CRITICAL_SECTION pthread_mutex_t;
-#endif
-typedef HANDLE pthread_t;
-typedef struct thread_attr {
- DWORD dwStackSize ;
- DWORD dwCreatingFlag ;
- int priority ;
-} pthread_attr_t ;
-
-typedef struct { int dummy; } pthread_condattr_t;
-
-/* Implementation of posix conditions */
-
-typedef struct st_pthread_link {
- DWORD thread_id;
- struct st_pthread_link *next;
-} pthread_link;
-
-typedef struct {
- uint32 waiting;
-#ifdef OS2
- HEV semaphore;
-#else
- HANDLE semaphore;
-#endif
-} pthread_cond_t;
-
-
-#ifndef OS2
-struct timespec { /* For pthread_cond_timedwait() */
- time_t tv_sec;
- long tv_nsec;
-};
-#endif
-
-typedef int pthread_mutexattr_t;
-#define win_pthread_self my_thread_var->pthread_self
-#ifdef OS2
-#define pthread_handler_t EXTERNC void * _Optlink
-typedef void * (_Optlink *pthread_handler)(void *);
-#else
-#define pthread_handler_t EXTERNC void * __cdecl
-typedef void * (__cdecl *pthread_handler)(void *);
-#endif
-
-void win_pthread_init(void);
-int win_pthread_setspecific(void *A,void *B,uint length);
-int pthread_create(pthread_t *,pthread_attr_t *,pthread_handler,void *);
-int pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t *attr);
-int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
-int pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
- struct timespec *abstime);
-int pthread_cond_signal(pthread_cond_t *cond);
-int pthread_cond_broadcast(pthread_cond_t *cond);
-int pthread_cond_destroy(pthread_cond_t *cond);
-int pthread_attr_init(pthread_attr_t *connect_att);
-int pthread_attr_setstacksize(pthread_attr_t *connect_att,DWORD stack);
-int pthread_attr_setprio(pthread_attr_t *connect_att,int priority);
-int pthread_attr_destroy(pthread_attr_t *connect_att);
-struct tm *localtime_r(const time_t *timep,struct tm *tmp);
-struct tm *gmtime_r(const time_t *timep,struct tm *tmp);
-
-
-void pthread_exit(void *a); /* was #define pthread_exit(A) ExitThread(A)*/
-
-#ifndef OS2
-#define ETIMEDOUT 145 /* Win32 doesn't have this */
-#define getpid() GetCurrentThreadId()
-#endif
-#define pthread_self() win_pthread_self
-#define HAVE_LOCALTIME_R 1
-#define _REENTRANT 1
-#define HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
-
-#ifdef USE_TLS /* For LIBMYSQL.DLL */
-#undef SAFE_MUTEX /* This will cause conflicts */
-#define pthread_key(T,V) DWORD V
-#define pthread_key_create(A,B) ((*A=TlsAlloc())==0xFFFFFFFF)
-#define pthread_key_delete(A) TlsFree(A)
-#define pthread_getspecific(A) (TlsGetValue(A))
-#define my_pthread_getspecific(T,A) ((T) TlsGetValue(A))
-#define my_pthread_getspecific_ptr(T,V) ((T) TlsGetValue(V))
-#define my_pthread_setspecific_ptr(T,V) (!TlsSetValue((T),(V)))
-#define pthread_setspecific(A,B) (!TlsSetValue((A),(B)))
-#else
-#define pthread_key(T,V) __declspec(thread) T V
-#define pthread_key_create(A,B) pthread_dummy(0)
-#define pthread_key_delete(A) pthread_dummy(0)
-#define pthread_getspecific(A) (&(A))
-#define my_pthread_getspecific(T,A) (&(A))
-#define my_pthread_getspecific_ptr(T,V) (V)
-#define my_pthread_setspecific_ptr(T,V) ((T)=(V),0)
-#define pthread_setspecific(A,B) win_pthread_setspecific(&(A),(B),sizeof(A))
-#endif /* USE_TLS */
-
-#define pthread_equal(A,B) ((A) == (B))
-#ifdef OS2
-extern int pthread_mutex_init (pthread_mutex_t *, const pthread_mutexattr_t *);
-extern int pthread_mutex_lock (pthread_mutex_t *);
-extern int pthread_mutex_unlock (pthread_mutex_t *);
-extern int pthread_mutex_destroy (pthread_mutex_t *);
-#define my_pthread_setprio(A,B) DosSetPriority(PRTYS_THREAD,PRTYC_NOCHANGE, B, A)
-#define pthread_kill(A,B) raise(B)
-#define pthread_exit(A) pthread_dummy()
-#else
-#define pthread_mutex_init(A,B) (InitializeCriticalSection(A),0)
-#define pthread_mutex_lock(A) (EnterCriticalSection(A),0)
-#define pthread_mutex_trylock(A) (WaitForSingleObject((A), 0) == WAIT_TIMEOUT)
-#define pthread_mutex_unlock(A) LeaveCriticalSection(A)
-#define pthread_mutex_destroy(A) DeleteCriticalSection(A)
-#define my_pthread_setprio(A,B) SetThreadPriority(GetCurrentThread(), (B))
-#define pthread_kill(A,B) pthread_dummy(0)
-#endif /* OS2 */
-
-/* Dummy defines for easier code */
-#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)
-#define my_pthread_attr_setprio(A,B) pthread_attr_setprio(A,B)
-#define pthread_attr_setscope(A,B)
-#define pthread_detach_this_thread()
-#define pthread_condattr_init(A)
-#define pthread_condattr_destroy(A)
-
-/*Irena: compiler does not like this: */
-/*#define my_pthread_getprio(pthread_t thread_id) pthread_dummy(0) */
-#define my_pthread_getprio(thread_id) pthread_dummy(0)
-
-#elif defined(HAVE_UNIXWARE7_THREADS)
-
-#include <thread.h>
-#include <synch.h>
-
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-
-#define HAVE_NONPOSIX_SIGWAIT
-#define pthread_t thread_t
-#define pthread_cond_t cond_t
-#define pthread_mutex_t mutex_t
-#define pthread_key_t thread_key_t
-typedef int pthread_attr_t; /* Needed by Unixware 7.0.0 */
-
-#define pthread_key_create(A,B) thr_keycreate((A),(B))
-#define pthread_key_delete(A) thr_keydelete(A)
-
-#define pthread_handler_t EXTERNC void *
-#define pthread_key(T,V) pthread_key_t V
-
-void * my_pthread_getspecific_imp(pthread_key_t key);
-#define my_pthread_getspecific(A,B) ((A) my_pthread_getspecific_imp(B))
-#define my_pthread_getspecific_ptr(T,V) my_pthread_getspecific(T,V)
-
-#define pthread_setspecific(A,B) thr_setspecific(A,B)
-#define my_pthread_setspecific_ptr(T,V) pthread_setspecific(T,V)
-
-#define pthread_create(A,B,C,D) thr_create(NULL,65536L,(C),(D),THR_DETACHED,(A))
-#define pthread_cond_init(a,b) cond_init((a),USYNC_THREAD,NULL)
-#define pthread_cond_destroy(a) cond_destroy(a)
-#define pthread_cond_signal(a) cond_signal(a)
-#define pthread_cond_wait(a,b) cond_wait((a),(b))
-#define pthread_cond_timedwait(a,b,c) cond_timedwait((a),(b),(c))
-#define pthread_cond_broadcast(a) cond_broadcast(a)
-
-#define pthread_mutex_init(a,b) mutex_init((a),USYNC_THREAD,NULL)
-#define pthread_mutex_lock(a) mutex_lock(a)
-#define pthread_mutex_unlock(a) mutex_unlock(a)
-#define pthread_mutex_destroy(a) mutex_destroy(a)
-
-#define pthread_self() thr_self()
-#define pthread_exit(A) thr_exit(A)
-#define pthread_equal(A,B) (((A) == (B)) ? 1 : 0)
-#define pthread_kill(A,B) thr_kill((A),(B))
-#define HAVE_PTHREAD_KILL
-
-#define pthread_sigmask(A,B,C) thr_sigsetmask((A),(B),(C))
-
-extern int my_sigwait(const sigset_t *set,int *sig);
-
-#define pthread_detach_this_thread() pthread_dummy(0)
-
-#define pthread_attr_init(A) pthread_dummy(0)
-#define pthread_attr_destroy(A) pthread_dummy(0)
-#define pthread_attr_setscope(A,B) pthread_dummy(0)
-#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)
-#define my_pthread_setprio(A,B) pthread_dummy (0)
-#define my_pthread_getprio(A) pthread_dummy (0)
-#define my_pthread_attr_setprio(A,B) pthread_dummy(0)
-
-#else /* Normal threads */
-
-#ifdef HAVE_rts_threads
-#define sigwait org_sigwait
-#include <signal.h>
-#undef sigwait
-#endif
-#include <pthread.h>
-#ifndef _REENTRANT
-#define _REENTRANT
-#endif
-#ifdef HAVE_THR_SETCONCURRENCY
-#include <thread.h> /* Probably solaris */
-#endif
-#ifdef HAVE_SCHED_H
-#include <sched.h>
-#endif
-#ifdef HAVE_SYNCH_H
-#include <synch.h>
-#endif
-#if defined(__EMX__) && (!defined(EMX_PTHREAD_REV) || (EMX_PTHREAD_REV < 2))
-#error Requires at least rev 2 of EMX pthreads library.
-#endif
-
-#ifdef __NETWARE__
-void my_pthread_exit(void *status);
-#define pthread_exit(A) my_pthread_exit(A)
-#endif
-
-extern int my_pthread_getprio(pthread_t thread_id);
-
-#define pthread_key(T,V) pthread_key_t V
-#define my_pthread_getspecific_ptr(T,V) my_pthread_getspecific(T,(V))
-#define my_pthread_setspecific_ptr(T,V) pthread_setspecific(T,(void*) (V))
-#define pthread_detach_this_thread()
-#define pthread_handler_t EXTERNC void *
-typedef void *(* pthread_handler)(void *);
-
-/* Test first for RTS or FSU threads */
-
-#if defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM)
-#define HAVE_rts_threads
-extern int my_pthread_create_detached;
-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
-#define PTHREAD_CREATE_DETACHED &my_pthread_create_detached
-#define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_GLOBAL
-#define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_LOCAL
-#define USE_ALARM_THREAD
-#elif defined(HAVE_mit_thread)
-#define USE_ALARM_THREAD
-#undef HAVE_LOCALTIME_R
-#define HAVE_LOCALTIME_R
-#undef HAVE_GMTIME_R
-#define HAVE_GMTIME_R
-#undef HAVE_PTHREAD_ATTR_SETSCOPE
-#define HAVE_PTHREAD_ATTR_SETSCOPE
-#undef HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE /* If we are running linux */
-#undef HAVE_RWLOCK_T
-#undef HAVE_RWLOCK_INIT
-#undef HAVE_PTHREAD_RWLOCK_RDLOCK
-#undef HAVE_SNPRINTF
-
-#define my_pthread_attr_setprio(A,B)
-#endif /* defined(PTHREAD_SCOPE_GLOBAL) && !defined(PTHREAD_SCOPE_SYSTEM) */
-
-#if defined(_BSDI_VERSION) && _BSDI_VERSION < 199910
-int sigwait(sigset_t *set, int *sig);
-#endif
-
-#ifndef HAVE_NONPOSIX_SIGWAIT
-#define my_sigwait(A,B) sigwait((A),(B))
-#else
-int my_sigwait(const sigset_t *set,int *sig);
-#endif
-
-#ifdef HAVE_NONPOSIX_PTHREAD_MUTEX_INIT
-#ifndef SAFE_MUTEX
-#define pthread_mutex_init(a,b) my_pthread_mutex_init((a),(b))
-extern int my_pthread_mutex_init(pthread_mutex_t *mp,
- const pthread_mutexattr_t *attr);
-#endif /* SAFE_MUTEX */
-#define pthread_cond_init(a,b) my_pthread_cond_init((a),(b))
-extern int my_pthread_cond_init(pthread_cond_t *mp,
- const pthread_condattr_t *attr);
-#endif /* HAVE_NONPOSIX_PTHREAD_MUTEX_INIT */
-
-#if defined(HAVE_SIGTHREADMASK) && !defined(HAVE_PTHREAD_SIGMASK)
-#define pthread_sigmask(A,B,C) sigthreadmask((A),(B),(C))
-#endif
-
-#if !defined(HAVE_SIGWAIT) && !defined(HAVE_mit_thread) && !defined(HAVE_rts_threads) && !defined(sigwait) && !defined(alpha_linux_port) && !defined(HAVE_NONPOSIX_SIGWAIT) && !defined(HAVE_DEC_3_2_THREADS) && !defined(_AIX)
-int sigwait(sigset_t *setp, int *sigp); /* Use our implemention */
-#endif
-
-
-/*
- We define my_sigset() and use that instead of the system sigset() so that
- we can favor an implementation based on sigaction(). On some systems, such
- as Mac OS X, sigset() results in flags such as SA_RESTART being set, and
- we want to make sure that no such flags are set.
-*/
-#if defined(HAVE_SIGACTION) && !defined(my_sigset)
-#define my_sigset(A,B) do { struct sigaction s; sigset_t set; \
- sigemptyset(&set); \
- s.sa_handler = (B); \
- s.sa_mask = set; \
- s.sa_flags = 0; \
- sigaction((A), &s, (struct sigaction *) NULL); \
- } while (0)
-#elif defined(HAVE_SIGSET) && !defined(my_sigset)
-#define my_sigset(A,B) sigset((A),(B))
-#elif !defined(my_sigset)
-#define my_sigset(A,B) signal((A),(B))
-#endif
-
-#ifndef my_pthread_setprio
-#if defined(HAVE_PTHREAD_SETPRIO_NP) /* FSU threads */
-#define my_pthread_setprio(A,B) pthread_setprio_np((A),(B))
-#elif defined(HAVE_PTHREAD_SETPRIO)
-#define my_pthread_setprio(A,B) pthread_setprio((A),(B))
-#else
-extern void my_pthread_setprio(pthread_t thread_id,int prior);
-#endif
-#endif
-
-#ifndef my_pthread_attr_setprio
-#ifdef HAVE_PTHREAD_ATTR_SETPRIO
-#define my_pthread_attr_setprio(A,B) pthread_attr_setprio((A),(B))
-#else
-extern void my_pthread_attr_setprio(pthread_attr_t *attr, int priority);
-#endif
-#endif
-
-#if !defined(HAVE_PTHREAD_ATTR_SETSCOPE) || defined(HAVE_DEC_3_2_THREADS)
-#define pthread_attr_setscope(A,B)
-#undef HAVE_GETHOSTBYADDR_R /* No definition */
-#endif
-
-#if defined(HAVE_BROKEN_PTHREAD_COND_TIMEDWAIT) && !defined(SAFE_MUTEX)
-extern int my_pthread_cond_timedwait(pthread_cond_t *cond,
- pthread_mutex_t *mutex,
- struct timespec *abstime);
-#define pthread_cond_timedwait(A,B,C) my_pthread_cond_timedwait((A),(B),(C))
-#endif
-
-#if defined(OS2)
-#define my_pthread_getspecific(T,A) ((T) &(A))
-#define pthread_setspecific(A,B) win_pthread_setspecific(&(A),(B),sizeof(A))
-#elif !defined( HAVE_NONPOSIX_PTHREAD_GETSPECIFIC)
-#define my_pthread_getspecific(A,B) ((A) pthread_getspecific(B))
-#else
-#define my_pthread_getspecific(A,B) ((A) my_pthread_getspecific_imp(B))
-void *my_pthread_getspecific_imp(pthread_key_t key);
-#endif /* OS2 */
-
-#ifndef HAVE_LOCALTIME_R
-struct tm *localtime_r(const time_t *clock, struct tm *res);
-#endif
-
-#ifndef HAVE_GMTIME_R
-struct tm *gmtime_r(const time_t *clock, struct tm *res);
-#endif
-
-#ifdef HAVE_PTHREAD_CONDATTR_CREATE
-/* DCE threads on HPUX 10.20 */
-#define pthread_condattr_init pthread_condattr_create
-#define pthread_condattr_destroy pthread_condattr_delete
-#endif
-
-/* FSU THREADS */
-#if !defined(HAVE_PTHREAD_KEY_DELETE) && !defined(pthread_key_delete)
-#define pthread_key_delete(A) pthread_dummy(0)
-#endif
-
-#ifdef HAVE_CTHREADS_WRAPPER /* For MacOSX */
-#define pthread_cond_destroy(A) pthread_dummy(0)
-#define pthread_mutex_destroy(A) pthread_dummy(0)
-#define pthread_attr_delete(A) pthread_dummy(0)
-#define pthread_condattr_delete(A) pthread_dummy(0)
-#define pthread_attr_setstacksize(A,B) pthread_dummy(0)
-#define pthread_equal(A,B) ((A) == (B))
-#define pthread_cond_timedwait(a,b,c) pthread_cond_wait((a),(b))
-#define pthread_attr_init(A) pthread_attr_create(A)
-#define pthread_attr_destroy(A) pthread_attr_delete(A)
-#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)
-#define pthread_create(A,B,C,D) pthread_create((A),*(B),(C),(D))
-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
-#define pthread_kill(A,B) pthread_dummy(0)
-#undef pthread_detach_this_thread
-#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(&tmp); }
-#endif
-
-#ifdef HAVE_DARWIN5_THREADS
-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
-#define pthread_kill(A,B) pthread_dummy(0)
-#define pthread_condattr_init(A) pthread_dummy(0)
-#define pthread_condattr_destroy(A) pthread_dummy(0)
-#undef pthread_detach_this_thread
-#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(tmp); }
-#endif
-
-#if ((defined(HAVE_PTHREAD_ATTR_CREATE) && !defined(HAVE_SIGWAIT)) || defined(HAVE_DEC_3_2_THREADS)) && !defined(HAVE_CTHREADS_WRAPPER)
-/* This is set on AIX_3_2 and Siemens unix (and DEC OSF/1 3.2 too) */
-#define pthread_key_create(A,B) \
- pthread_keycreate(A,(B) ?\
- (pthread_destructor_t) (B) :\
- (pthread_destructor_t) pthread_dummy)
-#define pthread_attr_init(A) pthread_attr_create(A)
-#define pthread_attr_destroy(A) pthread_attr_delete(A)
-#define pthread_attr_setdetachstate(A,B) pthread_dummy(0)
-#define pthread_create(A,B,C,D) pthread_create((A),*(B),(C),(D))
-#ifndef pthread_sigmask
-#define pthread_sigmask(A,B,C) sigprocmask((A),(B),(C))
-#endif
-#define pthread_kill(A,B) pthread_dummy(0)
-#undef pthread_detach_this_thread
-#define pthread_detach_this_thread() { pthread_t tmp=pthread_self() ; pthread_detach(&tmp); }
-#elif !defined(__NETWARE__) /* HAVE_PTHREAD_ATTR_CREATE && !HAVE_SIGWAIT */
-#define HAVE_PTHREAD_KILL
-#endif
-
-#endif /* defined(__WIN__) */
-
-#if defined(HPUX10) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS)
-#undef pthread_cond_timedwait
-#define pthread_cond_timedwait(a,b,c) my_pthread_cond_timedwait((a),(b),(c))
-int my_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
- struct timespec *abstime);
-#endif
-
-#if defined(HPUX10)
-#define pthread_attr_getstacksize(A,B) my_pthread_attr_getstacksize(A,B)
-void my_pthread_attr_getstacksize(pthread_attr_t *attrib, size_t *size);
-#endif
-
-#if defined(HAVE_POSIX1003_4a_MUTEX) && !defined(DONT_REMAP_PTHREAD_FUNCTIONS)
-#undef pthread_mutex_trylock
-#define pthread_mutex_trylock(a) my_pthread_mutex_trylock((a))
-int my_pthread_mutex_trylock(pthread_mutex_t *mutex);
-#endif
-
- /* safe_mutex adds checking to mutex for easier debugging */
-
-#if defined(__NETWARE__) && !defined(SAFE_MUTEX_DETECT_DESTROY)
-#define SAFE_MUTEX_DETECT_DESTROY
-#endif
-
-typedef struct st_safe_mutex_t
-{
- pthread_mutex_t global,mutex;
- const char *file;
- uint line,count;
- pthread_t thread;
-#ifdef SAFE_MUTEX_DETECT_DESTROY
- struct st_safe_mutex_info_t *info; /* to track destroying of mutexes */
-#endif
-} safe_mutex_t;
-
-#ifdef SAFE_MUTEX_DETECT_DESTROY
-/*
- Used to track the destroying of mutexes. This needs to be a seperate
- structure because the safe_mutex_t structure could be freed before
- the mutexes are destroyed.
-*/
-
-typedef struct st_safe_mutex_info_t
-{
- struct st_safe_mutex_info_t *next;
- struct st_safe_mutex_info_t *prev;
- const char *init_file;
- uint32 init_line;
-} safe_mutex_info_t;
-#endif /* SAFE_MUTEX_DETECT_DESTROY */
-
-int safe_mutex_init(safe_mutex_t *mp, const pthread_mutexattr_t *attr,
- const char *file, uint line);
-int safe_mutex_lock(safe_mutex_t *mp,const char *file, uint line);
-int safe_mutex_unlock(safe_mutex_t *mp,const char *file, uint line);
-int safe_mutex_destroy(safe_mutex_t *mp,const char *file, uint line);
-int safe_cond_wait(pthread_cond_t *cond, safe_mutex_t *mp,const char *file,
- uint line);
-int safe_cond_timedwait(pthread_cond_t *cond, safe_mutex_t *mp,
- struct timespec *abstime, const char *file, uint line);
-void safe_mutex_global_init(void);
-void safe_mutex_end(FILE *file);
-
- /* Wrappers if safe mutex is actually used */
-#ifdef SAFE_MUTEX
-#undef pthread_mutex_init
-#undef pthread_mutex_lock
-#undef pthread_mutex_unlock
-#undef pthread_mutex_destroy
-#undef pthread_mutex_wait
-#undef pthread_mutex_timedwait
-#undef pthread_mutex_t
-#undef pthread_cond_wait
-#undef pthread_cond_timedwait
-#undef pthread_mutex_trylock
-#define pthread_mutex_init(A,B) safe_mutex_init((A),(B),__FILE__,__LINE__)
-#define pthread_mutex_lock(A) safe_mutex_lock((A),__FILE__,__LINE__)
-#define pthread_mutex_unlock(A) safe_mutex_unlock((A),__FILE__,__LINE__)
-#define pthread_mutex_destroy(A) safe_mutex_destroy((A),__FILE__,__LINE__)
-#define pthread_cond_wait(A,B) safe_cond_wait((A),(B),__FILE__,__LINE__)
-#define pthread_cond_timedwait(A,B,C) safe_cond_timedwait((A),(B),(C),__FILE__,__LINE__)
-#define pthread_mutex_trylock(A) pthread_mutex_lock(A)
-#define pthread_mutex_t safe_mutex_t
-#define safe_mutex_assert_owner(mp) \
- DBUG_ASSERT((mp)->count > 0 && \
- pthread_equal(pthread_self(), (mp)->thread))
-#define safe_mutex_assert_not_owner(mp) \
- DBUG_ASSERT(! (mp)->count || \
- ! pthread_equal(pthread_self(), (mp)->thread))
-#else
-#define safe_mutex_assert_owner(mp)
-#define safe_mutex_assert_not_owner(mp)
-#endif /* SAFE_MUTEX */
-
- /* READ-WRITE thread locking */
-
-#ifdef HAVE_BROKEN_RWLOCK /* For OpenUnix */
-#undef HAVE_PTHREAD_RWLOCK_RDLOCK
-#undef HAVE_RWLOCK_INIT
-#undef HAVE_RWLOCK_T
-#endif
-
-#if defined(USE_MUTEX_INSTEAD_OF_RW_LOCKS)
-/* use these defs for simple mutex locking */
-#define rw_lock_t pthread_mutex_t
-#define my_rwlock_init(A,B) pthread_mutex_init((A),(B))
-#define rw_rdlock(A) pthread_mutex_lock((A))
-#define rw_wrlock(A) pthread_mutex_lock((A))
-#define rw_tryrdlock(A) pthread_mutex_trylock((A))
-#define rw_trywrlock(A) pthread_mutex_trylock((A))
-#define rw_unlock(A) pthread_mutex_unlock((A))
-#define rwlock_destroy(A) pthread_mutex_destroy((A))
-#elif defined(HAVE_PTHREAD_RWLOCK_RDLOCK)
-#define rw_lock_t pthread_rwlock_t
-#define my_rwlock_init(A,B) pthread_rwlock_init((A),(B))
-#define rw_rdlock(A) pthread_rwlock_rdlock(A)
-#define rw_wrlock(A) pthread_rwlock_wrlock(A)
-#define rw_tryrdlock(A) pthread_rwlock_tryrdlock((A))
-#define rw_trywrlock(A) pthread_rwlock_trywrlock((A))
-#define rw_unlock(A) pthread_rwlock_unlock(A)
-#define rwlock_destroy(A) pthread_rwlock_destroy(A)
-#elif defined(HAVE_RWLOCK_INIT)
-#ifdef HAVE_RWLOCK_T /* For example Solaris 2.6-> */
-#define rw_lock_t rwlock_t
-#endif
-#define my_rwlock_init(A,B) rwlock_init((A),USYNC_THREAD,0)
-#else
-/* Use our own version of read/write locks */
-typedef struct _my_rw_lock_t {
- pthread_mutex_t lock; /* lock for structure */
- pthread_cond_t readers; /* waiting readers */
- pthread_cond_t writers; /* waiting writers */
- int state; /* -1:writer,0:free,>0:readers */
- int waiters; /* number of waiting writers */
-} my_rw_lock_t;
-
-#define rw_lock_t my_rw_lock_t
-#define rw_rdlock(A) my_rw_rdlock((A))
-#define rw_wrlock(A) my_rw_wrlock((A))
-#define rw_tryrdlock(A) my_rw_tryrdlock((A))
-#define rw_trywrlock(A) my_rw_trywrlock((A))
-#define rw_unlock(A) my_rw_unlock((A))
-#define rwlock_destroy(A) my_rwlock_destroy((A))
-
-extern int my_rwlock_init(my_rw_lock_t *, void *);
-extern int my_rwlock_destroy(my_rw_lock_t *);
-extern int my_rw_rdlock(my_rw_lock_t *);
-extern int my_rw_wrlock(my_rw_lock_t *);
-extern int my_rw_unlock(my_rw_lock_t *);
-extern int my_rw_tryrdlock(my_rw_lock_t *);
-extern int my_rw_trywrlock(my_rw_lock_t *);
-#endif /* USE_MUTEX_INSTEAD_OF_RW_LOCKS */
-
-#define GETHOSTBYADDR_BUFF_SIZE 2048
-
-#ifndef HAVE_THR_SETCONCURRENCY
-#define thr_setconcurrency(A) pthread_dummy(0)
-#endif
-#if !defined(HAVE_PTHREAD_ATTR_SETSTACKSIZE) && ! defined(pthread_attr_setstacksize)
-#define pthread_attr_setstacksize(A,B) pthread_dummy(0)
-#endif
-
-/* Define mutex types, see my_thr_init.c */
-#define MY_MUTEX_INIT_SLOW NULL
-#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
-extern pthread_mutexattr_t my_fast_mutexattr;
-#define MY_MUTEX_INIT_FAST &my_fast_mutexattr
-#else
-#define MY_MUTEX_INIT_FAST NULL
-#endif
-#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
-extern pthread_mutexattr_t my_errorcheck_mutexattr;
-#define MY_MUTEX_INIT_ERRCHK &my_errorcheck_mutexattr
-#else
-#define MY_MUTEX_INIT_ERRCHK NULL
-#endif
-
-extern my_bool my_thread_global_init(void);
-extern void my_thread_global_end(void);
-extern my_bool my_thread_init(void);
-extern void my_thread_end(void);
-extern const char *my_thread_name(void);
-extern long my_thread_id(void);
-extern int pthread_no_free(void *);
-extern int pthread_dummy(int);
-
-/* All thread specific variables are in the following struct */
-
-#define THREAD_NAME_SIZE 10
-#ifndef DEFAULT_THREAD_STACK
-#if SIZEOF_CHARP > 4
-/*
- MySQL can survive with 32K, but some glibc libraries require > 128K stack
- To resolve hostnames. Also recursive stored procedures needs stack.
-*/
-#define DEFAULT_THREAD_STACK (256*1024L)
-#else
-#define DEFAULT_THREAD_STACK (192*1024)
-#endif
-#endif
-
-struct st_my_thread_var
-{
- int thr_errno;
- pthread_cond_t suspend;
- pthread_mutex_t mutex;
- pthread_mutex_t * volatile current_mutex;
- pthread_cond_t * volatile current_cond;
- pthread_t pthread_self;
- long id;
- int cmp_length;
- int volatile abort;
- my_bool init;
- struct st_my_thread_var *next,**prev;
- void *opt_info;
-#ifndef DBUG_OFF
- gptr dbug;
- char name[THREAD_NAME_SIZE+1];
-#endif
-};
-
-extern struct st_my_thread_var *_my_thread_var(void) __attribute__ ((const));
-#define my_thread_var (_my_thread_var())
-#define my_errno my_thread_var->thr_errno
-/*
- Keep track of shutdown,signal, and main threads so that my_end() will not
- report errors with them
-*/
-extern pthread_t shutdown_th, main_th, signal_th;
-
- /* statistics_xxx functions are for not essential statistic */
-
-#ifndef thread_safe_increment
-#ifdef HAVE_ATOMIC_ADD
-#define thread_safe_increment(V,L) atomic_inc((atomic_t*) &V)
-#define thread_safe_decrement(V,L) atomic_dec((atomic_t*) &V)
-#define thread_safe_add(V,C,L) atomic_add((C),(atomic_t*) &V)
-#define thread_safe_sub(V,C,L) atomic_sub((C),(atomic_t*) &V)
-#else
-#define thread_safe_increment(V,L) \
- (pthread_mutex_lock((L)), (V)++, pthread_mutex_unlock((L)))
-#define thread_safe_decrement(V,L) \
- (pthread_mutex_lock((L)), (V)--, pthread_mutex_unlock((L)))
-#define thread_safe_add(V,C,L) (pthread_mutex_lock((L)), (V)+=(C), pthread_mutex_unlock((L)))
-#define thread_safe_sub(V,C,L) \
- (pthread_mutex_lock((L)), (V)-=(C), pthread_mutex_unlock((L)))
-#endif /* HAVE_ATOMIC_ADD */
-#ifdef SAFE_STATISTICS
-#define statistic_increment(V,L) thread_safe_increment((V),(L))
-#define statistic_decrement(V,L) thread_safe_decrement((V),(L))
-#define statistic_add(V,C,L) thread_safe_add((V),(C),(L))
-#else
-#define statistic_decrement(V,L) (V)--
-#define statistic_increment(V,L) (V)++
-#define statistic_add(V,C,L) (V)+=(C)
-#endif /* SAFE_STATISTICS */
-#endif /* thread_safe_increment */
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* _my_ptread_h */
diff --git a/3rdparty/mysql/include/my_sys.h b/3rdparty/mysql/include/my_sys.h
deleted file mode 100644
index 44fe383bf..000000000
--- a/3rdparty/mysql/include/my_sys.h
+++ /dev/null
@@ -1,904 +0,0 @@
-/* Copyright (C) 2000-2003 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-#ifndef _my_sys_h
-#define _my_sys_h
-C_MODE_START
-
-#ifdef HAVE_AIOWAIT
-#include <sys/asynch.h> /* Used by record-cache */
-typedef struct my_aio_result {
- aio_result_t result;
- int pending;
-} my_aio_result;
-#endif
-
-#ifndef THREAD
-extern int NEAR my_errno; /* Last error in mysys */
-#else
-#include <my_pthread.h>
-#endif
-
-#ifndef _m_ctype_h
-#include <m_ctype.h> /* for CHARSET_INFO */
-#endif
-
-#include <stdarg.h>
-#include <typelib.h>
-
-#define MYSYS_PROGRAM_USES_CURSES() { error_handler_hook = my_message_curses; mysys_uses_curses=1; }
-#define MYSYS_PROGRAM_DONT_USE_CURSES() { error_handler_hook = my_message_no_curses; mysys_uses_curses=0;}
-#define MY_INIT(name); { my_progname= name; my_init(); }
-
-#define ERRMSGSIZE (SC_MAXWIDTH) /* Max length of a error message */
-#define NRERRBUFFS (2) /* Buffers for parameters */
-#define MY_FILE_ERROR ((uint) ~0)
-
- /* General bitmaps for my_func's */
-#define MY_FFNF 1 /* Fatal if file not found */
-#define MY_FNABP 2 /* Fatal if not all bytes read/writen */
-#define MY_NABP 4 /* Error if not all bytes read/writen */
-#define MY_FAE 8 /* Fatal if any error */
-#define MY_WME 16 /* Write message on error */
-#define MY_WAIT_IF_FULL 32 /* Wait and try again if disk full error */
-#define MY_IGNORE_BADFD 32 /* my_sync: ignore 'bad descriptor' errors */
-#define MY_RAID 64 /* Support for RAID */
-#define MY_FULL_IO 512 /* For my_read - loop intil I/O is complete */
-#define MY_DONT_CHECK_FILESIZE 128 /* Option to init_io_cache() */
-#define MY_LINK_WARNING 32 /* my_redel() gives warning if links */
-#define MY_COPYTIME 64 /* my_redel() copys time */
-#define MY_DELETE_OLD 256 /* my_create_with_symlink() */
-#define MY_RESOLVE_LINK 128 /* my_realpath(); Only resolve links */
-#define MY_HOLD_ORIGINAL_MODES 128 /* my_copy() holds to file modes */
-#define MY_REDEL_MAKE_BACKUP 256
-#define MY_SEEK_NOT_DONE 32 /* my_lock may have to do a seek */
-#define MY_DONT_WAIT 64 /* my_lock() don't wait if can't lock */
-#define MY_ZEROFILL 32 /* my_malloc(), fill array with zero */
-#define MY_ALLOW_ZERO_PTR 64 /* my_realloc() ; zero ptr -> malloc */
-#define MY_FREE_ON_ERROR 128 /* my_realloc() ; Free old ptr on error */
-#define MY_HOLD_ON_ERROR 256 /* my_realloc() ; Return old ptr on error */
-#define MY_THREADSAFE 128 /* pread/pwrite: Don't allow interrupts */
-#define MY_DONT_OVERWRITE_FILE 1024 /* my_copy: Don't overwrite file */
-
-#define MY_CHECK_ERROR 1 /* Params to my_end; Check open-close */
-#define MY_GIVE_INFO 2 /* Give time info about process*/
-
-#define ME_HIGHBYTE 8 /* Shift for colours */
-#define ME_NOCUR 1 /* Don't use curses message */
-#define ME_OLDWIN 2 /* Use old window */
-#define ME_BELL 4 /* Ring bell then printing message */
-#define ME_HOLDTANG 8 /* Don't delete last keys */
-#define ME_WAITTOT 16 /* Wait for errtime secs of for a action */
-#define ME_WAITTANG 32 /* Wait for a user action */
-#define ME_NOREFRESH 64 /* Dont refresh screen */
-#define ME_NOINPUT 128 /* Dont use the input libary */
-#define ME_COLOUR1 ((1 << ME_HIGHBYTE)) /* Possibly error-colours */
-#define ME_COLOUR2 ((2 << ME_HIGHBYTE))
-#define ME_COLOUR3 ((3 << ME_HIGHBYTE))
-
- /* Bits in last argument to fn_format */
-#define MY_REPLACE_DIR 1 /* replace dir in name with 'dir' */
-#define MY_REPLACE_EXT 2 /* replace extension with 'ext' */
-#define MY_UNPACK_FILENAME 4 /* Unpack name (~ -> home) */
-#define MY_PACK_FILENAME 8 /* Pack name (home -> ~) */
-#define MY_RESOLVE_SYMLINKS 16 /* Resolve all symbolic links */
-#define MY_RETURN_REAL_PATH 32 /* return full path for file */
-#define MY_SAFE_PATH 64 /* Return NULL if too long path */
-#define MY_RELATIVE_PATH 128 /* name is relative to 'dir' */
-
- /* My seek flags */
-#define MY_SEEK_SET 0
-#define MY_SEEK_CUR 1
-#define MY_SEEK_END 2
-
- /* Some constants */
-#define MY_WAIT_FOR_USER_TO_FIX_PANIC 60 /* in seconds */
-#define MY_WAIT_GIVE_USER_A_MESSAGE 10 /* Every 10 times of prev */
-#define MIN_COMPRESS_LENGTH 50 /* Don't compress small bl. */
-#define DFLT_INIT_HITS 3
-
- /* root_alloc flags */
-#define MY_KEEP_PREALLOC 1
-#define MY_MARK_BLOCKS_FREE 2 /* move used to free list and reuse them */
-
- /* Internal error numbers (for assembler functions) */
-#define MY_ERRNO_EDOM 33
-#define MY_ERRNO_ERANGE 34
-
- /* Bits for get_date timeflag */
-#define GETDATE_DATE_TIME 1
-#define GETDATE_SHORT_DATE 2
-#define GETDATE_HHMMSSTIME 4
-#define GETDATE_GMT 8
-#define GETDATE_FIXEDLENGTH 16
-
- /* defines when allocating data */
-#ifdef SAFEMALLOC
-#define my_malloc(SZ,FLAG) _mymalloc((SZ), __FILE__, __LINE__, FLAG )
-#define my_malloc_ci(SZ,FLAG) _mymalloc((SZ), sFile, uLine, FLAG )
-#define my_realloc(PTR,SZ,FLAG) _myrealloc((PTR), (SZ), __FILE__, __LINE__, FLAG )
-#define my_checkmalloc() _sanity( __FILE__, __LINE__ )
-#define my_free(PTR,FLAG) _myfree((PTR), __FILE__, __LINE__,FLAG)
-#define my_memdup(A,B,C) _my_memdup((A),(B), __FILE__,__LINE__,C)
-#define my_strdup(A,C) _my_strdup((A), __FILE__,__LINE__,C)
-#define my_strdup_with_length(A,B,C) _my_strdup_with_length((A),(B),__FILE__,__LINE__,C)
-#define TRASH(A,B) bfill(A, B, 0x8F)
-#define QUICK_SAFEMALLOC sf_malloc_quick=1
-#define NORMAL_SAFEMALLOC sf_malloc_quick=0
-extern uint sf_malloc_prehunc,sf_malloc_endhunc,sf_malloc_quick;
-extern ulonglong sf_malloc_mem_limit;
-
-#define CALLER_INFO_PROTO , const char *sFile, uint uLine
-#define CALLER_INFO , __FILE__, __LINE__
-#define ORIG_CALLER_INFO , sFile, uLine
-#else
-#define my_checkmalloc()
-#undef TERMINATE
-#define TERMINATE(A) {}
-#define QUICK_SAFEMALLOC
-#define NORMAL_SAFEMALLOC
-extern gptr my_malloc(uint Size,myf MyFlags);
-#define my_malloc_ci(SZ,FLAG) my_malloc( SZ, FLAG )
-extern gptr my_realloc(gptr oldpoint,uint Size,myf MyFlags);
-extern void my_no_flags_free(gptr ptr);
-extern gptr my_memdup(const byte *from,uint length,myf MyFlags);
-extern char *my_strdup(const char *from,myf MyFlags);
-extern char *my_strdup_with_length(const byte *from, uint length,
- myf MyFlags);
-/* we do use FG (as a no-op) in below so that a typo on FG is caught */
-#define my_free(PTR,FG) ((void)FG,my_no_flags_free(PTR))
-#define CALLER_INFO_PROTO /* nothing */
-#define CALLER_INFO /* nothing */
-#define ORIG_CALLER_INFO /* nothing */
-#define TRASH(A,B) /* nothing */
-#endif
-
-#ifdef HAVE_LARGE_PAGES
-extern uint my_get_large_page_size(void);
-extern gptr my_large_malloc(uint size, myf my_flags);
-extern void my_large_free(gptr ptr, myf my_flags);
-#else
-#define my_get_large_page_size() (0)
-#define my_large_malloc(A,B) my_malloc_lock((A),(B))
-#define my_large_free(A,B) my_free_lock((A),(B))
-#endif /* HAVE_LARGE_PAGES */
-
-#ifdef HAVE_ALLOCA
-#if defined(_AIX) && !defined(__GNUC__) && !defined(_AIX43)
-#pragma alloca
-#endif /* _AIX */
-#if defined(__MWERKS__)
-#undef alloca
-#define alloca _alloca
-#endif /* __MWERKS__ */
-#if defined(__GNUC__) && !defined(HAVE_ALLOCA_H) && ! defined(alloca)
-#define alloca __builtin_alloca
-#endif /* GNUC */
-#define my_alloca(SZ) alloca((size_t) (SZ))
-#define my_afree(PTR) {}
-#else
-#define my_alloca(SZ) my_malloc(SZ,MYF(0))
-#define my_afree(PTR) my_free(PTR,MYF(MY_WME))
-#endif /* HAVE_ALLOCA */
-
-#ifdef MSDOS
-#ifdef __ZTC__
-void * __CDECL halloc(long count,size_t length);
-void __CDECL hfree(void *ptr);
-#endif
-#if defined(USE_HALLOC)
-#if defined(_VCM_) || defined(M_IC80386)
-#undef USE_HALLOC
-#endif
-#endif
-#ifdef USE_HALLOC
-#define malloc(a) halloc((long) (a),1)
-#define free(a) hfree(a)
-#endif
-#endif /* MSDOS */
-
-#ifndef errno /* did we already get it? */
-#ifdef HAVE_ERRNO_AS_DEFINE
-#include <errno.h> /* errno is a define */
-#else
-extern int errno; /* declare errno */
-#endif
-#endif /* #ifndef errno */
-extern char NEAR errbuff[NRERRBUFFS][ERRMSGSIZE];
-extern char *home_dir; /* Home directory for user */
-extern const char *my_progname; /* program-name (printed in errors) */
-extern char NEAR curr_dir[]; /* Current directory for user */
-extern int (*error_handler_hook)(uint my_err, const char *str,myf MyFlags);
-extern int (*fatal_error_handler_hook)(uint my_err, const char *str,
- myf MyFlags);
-extern uint my_file_limit;
-
-#ifdef HAVE_LARGE_PAGES
-extern my_bool my_use_large_pages;
-extern uint my_large_page_size;
-#endif
-
-/* charsets */
-extern CHARSET_INFO *default_charset_info;
-extern CHARSET_INFO *all_charsets[256];
-extern CHARSET_INFO compiled_charsets[];
-
-/* statistics */
-extern ulong my_file_opened,my_stream_opened, my_tmp_file_created;
-extern uint mysys_usage_id;
-extern my_bool my_init_done;
-
- /* Point to current my_message() */
-extern void (*my_sigtstp_cleanup)(void),
- /* Executed before jump to shell */
- (*my_sigtstp_restart)(void),
- (*my_abort_hook)(int);
- /* Executed when comming from shell */
-extern int NEAR my_umask, /* Default creation mask */
- NEAR my_umask_dir,
- NEAR my_recived_signals, /* Signals we have got */
- NEAR my_safe_to_handle_signal, /* Set when allowed to SIGTSTP */
- NEAR my_dont_interrupt; /* call remember_intr when set */
-extern my_bool NEAR mysys_uses_curses, my_use_symdir;
-extern ulong sf_malloc_cur_memory, sf_malloc_max_memory;
-
-extern ulong my_default_record_cache_size;
-extern my_bool NEAR my_disable_locking,NEAR my_disable_async_io,
- NEAR my_disable_flush_key_blocks, NEAR my_disable_symlinks;
-extern char wild_many,wild_one,wild_prefix;
-extern const char *charsets_dir;
-extern char *defaults_extra_file;
-extern const char *defaults_group_suffix;
-extern const char *defaults_file;
-
-extern my_bool timed_mutexes;
-
-typedef struct wild_file_pack /* Struct to hold info when selecting files */
-{
- uint wilds; /* How many wildcards */
- uint not_pos; /* Start of not-theese-files */
- my_string *wild; /* Pointer to wildcards */
-} WF_PACK;
-
-enum loglevel {
- ERROR_LEVEL,
- WARNING_LEVEL,
- INFORMATION_LEVEL
-};
-
-enum cache_type
-{
- TYPE_NOT_SET= 0, READ_CACHE, WRITE_CACHE,
- SEQ_READ_APPEND /* sequential read or append */,
- READ_FIFO, READ_NET,WRITE_NET};
-
-enum flush_type
-{
- FLUSH_KEEP, FLUSH_RELEASE, FLUSH_IGNORE_CHANGED, FLUSH_FORCE_WRITE
-};
-
-typedef struct st_record_cache /* Used when cacheing records */
-{
- File file;
- int rc_seek,error,inited;
- uint rc_length,read_length,reclength;
- my_off_t rc_record_pos,end_of_file;
- byte *rc_buff,*rc_buff2,*rc_pos,*rc_end,*rc_request_pos;
-#ifdef HAVE_AIOWAIT
- int use_async_io;
- my_aio_result aio_result;
-#endif
- enum cache_type type;
-} RECORD_CACHE;
-
-enum file_type
-{
- UNOPEN = 0, FILE_BY_OPEN, FILE_BY_CREATE, STREAM_BY_FOPEN, STREAM_BY_FDOPEN,
- FILE_BY_MKSTEMP, FILE_BY_DUP
-};
-
-struct st_my_file_info
-{
- my_string name;
- enum file_type type;
-#if defined(THREAD) && !defined(HAVE_PREAD)
- pthread_mutex_t mutex;
-#endif
-};
-
-extern struct st_my_file_info *my_file_info;
-
-typedef struct st_my_tmpdir
-{
- char **list;
- uint cur, max;
-#ifdef THREAD
- pthread_mutex_t mutex;
-#endif
-} MY_TMPDIR;
-
-typedef struct st_dynamic_array
-{
- char *buffer;
- uint elements,max_element;
- uint alloc_increment;
- uint size_of_element;
-} DYNAMIC_ARRAY;
-
-typedef struct st_dynamic_string
-{
- char *str;
- uint length,max_length,alloc_increment;
-} DYNAMIC_STRING;
-
-struct st_io_cache;
-typedef int (*IO_CACHE_CALLBACK)(struct st_io_cache*);
-
-#ifdef THREAD
-typedef struct st_io_cache_share
-{
- /* to sync on reads into buffer */
- pthread_mutex_t mutex;
- pthread_cond_t cond;
- int count, total;
- /* actual IO_CACHE that filled the buffer */
- struct st_io_cache *active;
-#ifdef NOT_YET_IMPLEMENTED
- /* whether the structure should be free'd */
- my_bool alloced;
-#endif
-} IO_CACHE_SHARE;
-#endif
-
-typedef struct st_io_cache /* Used when cacheing files */
-{
- /* Offset in file corresponding to the first byte of byte* buffer. */
- my_off_t pos_in_file;
- /*
- The offset of end of file for READ_CACHE and WRITE_CACHE.
- For SEQ_READ_APPEND it the maximum of the actual end of file and
- the position represented by read_end.
- */
- my_off_t end_of_file;
- /* Points to current read position in the buffer */
- byte *read_pos;
- /* the non-inclusive boundary in the buffer for the currently valid read */
- byte *read_end;
- byte *buffer; /* The read buffer */
- /* Used in ASYNC_IO */
- byte *request_pos;
-
- /* Only used in WRITE caches and in SEQ_READ_APPEND to buffer writes */
- byte *write_buffer;
- /*
- Only used in SEQ_READ_APPEND, and points to the current read position
- in the write buffer. Note that reads in SEQ_READ_APPEND caches can
- happen from both read buffer (byte* buffer) and write buffer
- (byte* write_buffer).
- */
- byte *append_read_pos;
- /* Points to current write position in the write buffer */
- byte *write_pos;
- /* The non-inclusive boundary of the valid write area */
- byte *write_end;
-
- /*
- Current_pos and current_end are convenience variables used by
- my_b_tell() and other routines that need to know the current offset
- current_pos points to &write_pos, and current_end to &write_end in a
- WRITE_CACHE, and &read_pos and &read_end respectively otherwise
- */
- byte **current_pos, **current_end;
-#ifdef THREAD
- /*
- The lock is for append buffer used in SEQ_READ_APPEND cache
- need mutex copying from append buffer to read buffer.
- */
- pthread_mutex_t append_buffer_lock;
- /*
- The following is used when several threads are reading the
- same file in parallel. They are synchronized on disk
- accesses reading the cached part of the file asynchronously.
- It should be set to NULL to disable the feature. Only
- READ_CACHE mode is supported.
- */
- IO_CACHE_SHARE *share;
-#endif
- /*
- A caller will use my_b_read() macro to read from the cache
- if the data is already in cache, it will be simply copied with
- memcpy() and internal variables will be accordinging updated with
- no functions invoked. However, if the data is not fully in the cache,
- my_b_read() will call read_function to fetch the data. read_function
- must never be invoked directly.
- */
- int (*read_function)(struct st_io_cache *,byte *,uint);
- /*
- Same idea as in the case of read_function, except my_b_write() needs to
- be replaced with my_b_append() for a SEQ_READ_APPEND cache
- */
- int (*write_function)(struct st_io_cache *,const byte *,uint);
- /*
- Specifies the type of the cache. Depending on the type of the cache
- certain operations might not be available and yield unpredicatable
- results. Details to be documented later
- */
- enum cache_type type;
- /*
- Callbacks when the actual read I/O happens. These were added and
- are currently used for binary logging of LOAD DATA INFILE - when a
- block is read from the file, we create a block create/append event, and
- when IO_CACHE is closed, we create an end event. These functions could,
- of course be used for other things
- */
- IO_CACHE_CALLBACK pre_read;
- IO_CACHE_CALLBACK post_read;
- IO_CACHE_CALLBACK pre_close;
- /*
- Counts the number of times, when we were forced to use disk. We use it to
- increase the binlog_cache_disk_use status variable.
- */
- ulong disk_writes;
- void* arg; /* for use by pre/post_read */
- char *file_name; /* if used with 'open_cached_file' */
- char *dir,*prefix;
- File file; /* file descriptor */
- /*
- seek_not_done is set by my_b_seek() to inform the upcoming read/write
- operation that a seek needs to be preformed prior to the actual I/O
- error is 0 if the cache operation was successful, -1 if there was a
- "hard" error, and the actual number of I/O-ed bytes if the read/write was
- partial.
- */
- int seek_not_done,error;
- /* buffer_length is memory size allocated for buffer or write_buffer */
- uint buffer_length;
- /* read_length is the same as buffer_length except when we use async io */
- uint read_length;
- myf myflags; /* Flags used to my_read/my_write */
- /*
- alloced_buffer is 1 if the buffer was allocated by init_io_cache() and
- 0 if it was supplied by the user.
- Currently READ_NET is the only one that will use a buffer allocated
- somewhere else
- */
- my_bool alloced_buffer;
-#ifdef HAVE_AIOWAIT
- /*
- As inidicated by ifdef, this is for async I/O, which is not currently
- used (because it's not reliable on all systems)
- */
- uint inited;
- my_off_t aio_read_pos;
- my_aio_result aio_result;
-#endif
-} IO_CACHE;
-
-typedef int (*qsort2_cmp)(const void *, const void *, const void *);
-
- /* defines for mf_iocache */
-
- /* Test if buffer is inited */
-#define my_b_clear(info) (info)->buffer=0
-#define my_b_inited(info) (info)->buffer
-#define my_b_EOF INT_MIN
-
-#define my_b_read(info,Buffer,Count) \
- ((info)->read_pos + (Count) <= (info)->read_end ?\
- (memcpy(Buffer,(info)->read_pos,(size_t) (Count)), \
- ((info)->read_pos+=(Count)),0) :\
- (*(info)->read_function)((info),Buffer,Count))
-
-#define my_b_write(info,Buffer,Count) \
- ((info)->write_pos + (Count) <=(info)->write_end ?\
- (memcpy((info)->write_pos, (Buffer), (size_t)(Count)),\
- ((info)->write_pos+=(Count)),0) : \
- (*(info)->write_function)((info),(Buffer),(Count)))
-
-#define my_b_get(info) \
- ((info)->read_pos != (info)->read_end ?\
- ((info)->read_pos++, (int) (uchar) (info)->read_pos[-1]) :\
- _my_b_get(info))
-
- /* my_b_write_byte dosn't have any err-check */
-#define my_b_write_byte(info,chr) \
- (((info)->write_pos < (info)->write_end) ?\
- ((*(info)->write_pos++)=(chr)) :\
- (_my_b_write(info,0,0) , ((*(info)->write_pos++)=(chr))))
-
-#define my_b_fill_cache(info) \
- (((info)->read_end=(info)->read_pos),(*(info)->read_function)(info,0,0))
-
-#define my_b_tell(info) ((info)->pos_in_file + \
- (uint) (*(info)->current_pos - (info)->request_pos))
-
-/* tell write offset in the SEQ_APPEND cache */
-my_off_t my_b_append_tell(IO_CACHE* info);
-my_off_t my_b_safe_tell(IO_CACHE* info); /* picks the correct tell() */
-
-#define my_b_bytes_in_cache(info) (uint) (*(info)->current_end - \
- *(info)->current_pos)
-
-typedef uint32 ha_checksum;
-
-/* Define the type of function to be passed to process_default_option_files */
-typedef int (*Process_option_func)(void *ctx, const char *group_name,
- const char *option);
-
-#include <my_alloc.h>
-
- /* Prototypes for mysys and my_func functions */
-
-extern int my_copy(const char *from,const char *to,myf MyFlags);
-extern int my_append(const char *from,const char *to,myf MyFlags);
-extern int my_delete(const char *name,myf MyFlags);
-extern int my_getwd(my_string buf,uint size,myf MyFlags);
-extern int my_setwd(const char *dir,myf MyFlags);
-extern int my_lock(File fd,int op,my_off_t start, my_off_t length,myf MyFlags);
-extern gptr my_once_alloc(uint Size,myf MyFlags);
-extern void my_once_free(void);
-extern char *my_once_strdup(const char *src,myf myflags);
-extern char *my_once_memdup(const char *src, uint len, myf myflags);
-extern File my_open(const char *FileName,int Flags,myf MyFlags);
-extern File my_register_filename(File fd, const char *FileName,
- enum file_type type_of_file,
- uint error_message_number, myf MyFlags);
-extern File my_create(const char *FileName,int CreateFlags,
- int AccsesFlags, myf MyFlags);
-extern int my_close(File Filedes,myf MyFlags);
-extern File my_dup(File file, myf MyFlags);
-extern int my_mkdir(const char *dir, int Flags, myf MyFlags);
-extern int my_readlink(char *to, const char *filename, myf MyFlags);
-extern int my_realpath(char *to, const char *filename, myf MyFlags);
-extern File my_create_with_symlink(const char *linkname, const char *filename,
- int createflags, int access_flags,
- myf MyFlags);
-extern int my_delete_with_symlink(const char *name, myf MyFlags);
-extern int my_rename_with_symlink(const char *from,const char *to,myf MyFlags);
-extern int my_symlink(const char *content, const char *linkname, myf MyFlags);
-extern uint my_read(File Filedes,byte *Buffer,uint Count,myf MyFlags);
-extern uint my_pread(File Filedes,byte *Buffer,uint Count,my_off_t offset,
- myf MyFlags);
-extern int my_rename(const char *from,const char *to,myf MyFlags);
-extern my_off_t my_seek(File fd,my_off_t pos,int whence,myf MyFlags);
-extern my_off_t my_tell(File fd,myf MyFlags);
-extern uint my_write(File Filedes,const byte *Buffer,uint Count,
- myf MyFlags);
-extern uint my_pwrite(File Filedes,const byte *Buffer,uint Count,
- my_off_t offset,myf MyFlags);
-extern uint my_fread(FILE *stream,byte *Buffer,uint Count,myf MyFlags);
-extern uint my_fwrite(FILE *stream,const byte *Buffer,uint Count,
- myf MyFlags);
-extern my_off_t my_fseek(FILE *stream,my_off_t pos,int whence,myf MyFlags);
-extern my_off_t my_ftell(FILE *stream,myf MyFlags);
-extern gptr _mymalloc(uint uSize,const char *sFile,
- uint uLine, myf MyFlag);
-extern gptr _myrealloc(gptr pPtr,uint uSize,const char *sFile,
- uint uLine, myf MyFlag);
-extern gptr my_multi_malloc _VARARGS((myf MyFlags, ...));
-extern void _myfree(gptr pPtr,const char *sFile,uint uLine, myf MyFlag);
-extern int _sanity(const char *sFile,unsigned int uLine);
-extern gptr _my_memdup(const byte *from,uint length,
- const char *sFile, uint uLine,myf MyFlag);
-extern my_string _my_strdup(const char *from, const char *sFile, uint uLine,
- myf MyFlag);
-extern char *_my_strdup_with_length(const byte *from, uint length,
- const char *sFile, uint uLine,
- myf MyFlag);
-
-#ifdef __WIN__
-extern int my_access(const char *path, int amode);
-extern File my_sopen(const char *path, int oflag, int shflag, int pmode);
-#else
-#define my_access access
-#endif
-extern int check_if_legal_filename(const char *path);
-
-#ifndef TERMINATE
-extern void TERMINATE(FILE *file);
-#endif
-extern void init_glob_errs(void);
-extern FILE *my_fopen(const char *FileName,int Flags,myf MyFlags);
-extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags);
-extern int my_fclose(FILE *fd,myf MyFlags);
-extern int my_chsize(File fd,my_off_t newlength, int filler, myf MyFlags);
-extern int my_sync(File fd, myf my_flags);
-extern int my_error _VARARGS((int nr,myf MyFlags, ...));
-extern int my_printf_error _VARARGS((uint my_err, const char *format,
- myf MyFlags, ...)
- __attribute__ ((format (printf, 2, 4))));
-extern int my_error_register(const char **errmsgs, int first, int last);
-extern const char **my_error_unregister(int first, int last);
-extern int my_message(uint my_err, const char *str,myf MyFlags);
-extern int my_message_no_curses(uint my_err, const char *str,myf MyFlags);
-extern int my_message_curses(uint my_err, const char *str,myf MyFlags);
-extern my_bool my_init(void);
-extern void my_end(int infoflag);
-extern int my_redel(const char *from, const char *to, int MyFlags);
-extern int my_copystat(const char *from, const char *to, int MyFlags);
-extern my_string my_filename(File fd);
-
-#ifndef THREAD
-extern void dont_break(void);
-extern void allow_break(void);
-#else
-#define dont_break()
-#define allow_break()
-#endif
-
-extern my_bool init_tmpdir(MY_TMPDIR *tmpdir, const char *pathlist);
-extern char *my_tmpdir(MY_TMPDIR *tmpdir);
-extern void free_tmpdir(MY_TMPDIR *tmpdir);
-
-extern void my_remember_signal(int signal_number,sig_handler (*func)(int));
-extern uint dirname_part(my_string to,const char *name);
-extern uint dirname_length(const char *name);
-#define base_name(A) (A+dirname_length(A))
-extern int test_if_hard_path(const char *dir_name);
-extern my_bool has_path(const char *name);
-extern char *convert_dirname(char *to, const char *from, const char *from_end);
-extern void to_unix_path(my_string name);
-extern my_string fn_ext(const char *name);
-extern my_string fn_same(my_string toname,const char *name,int flag);
-extern my_string fn_format(my_string to,const char *name,const char *dir,
- const char *form, uint flag);
-extern size_s strlength(const char *str);
-extern void pack_dirname(my_string to,const char *from);
-extern uint unpack_dirname(my_string to,const char *from);
-extern uint cleanup_dirname(my_string to,const char *from);
-extern uint system_filename(my_string to,const char *from);
-extern uint unpack_filename(my_string to,const char *from);
-extern my_string intern_filename(my_string to,const char *from);
-extern my_string directory_file_name(my_string dst, const char *src);
-extern int pack_filename(my_string to, const char *name, size_s max_length);
-extern my_string my_path(my_string to,const char *progname,
- const char *own_pathname_part);
-extern my_string my_load_path(my_string to, const char *path,
- const char *own_path_prefix);
-extern int wild_compare(const char *str,const char *wildstr,pbool str_is_pattern);
-extern WF_PACK *wf_comp(my_string str);
-extern int wf_test(struct wild_file_pack *wf_pack,const char *name);
-extern void wf_end(struct wild_file_pack *buffer);
-extern size_s strip_sp(my_string str);
-extern void get_date(my_string to,int timeflag,time_t use_time);
-extern void soundex(CHARSET_INFO *, my_string out_pntr, my_string in_pntr,pbool remove_garbage);
-extern int init_record_cache(RECORD_CACHE *info,uint cachesize,File file,
- uint reclength,enum cache_type type,
- pbool use_async_io);
-extern int read_cache_record(RECORD_CACHE *info,byte *to);
-extern int end_record_cache(RECORD_CACHE *info);
-extern int write_cache_record(RECORD_CACHE *info,my_off_t filepos,
- const byte *record,uint length);
-extern int flush_write_cache(RECORD_CACHE *info);
-extern long my_clock(void);
-extern sig_handler sigtstp_handler(int signal_number);
-extern void handle_recived_signals(void);
-
-extern sig_handler my_set_alarm_variable(int signo);
-extern void my_string_ptr_sort(void *base,uint items,size_s size);
-extern void radixsort_for_str_ptr(uchar* base[], uint number_of_elements,
- size_s size_of_element,uchar *buffer[]);
-extern qsort_t qsort2(void *base_ptr, size_t total_elems, size_t size,
- qsort2_cmp cmp, void *cmp_argument);
-extern qsort2_cmp get_ptr_compare(uint);
-void my_store_ptr(byte *buff, uint pack_length, my_off_t pos);
-my_off_t my_get_ptr(byte *ptr, uint pack_length);
-extern int init_io_cache(IO_CACHE *info,File file,uint cachesize,
- enum cache_type type,my_off_t seek_offset,
- pbool use_async_io, myf cache_myflags);
-extern my_bool reinit_io_cache(IO_CACHE *info,enum cache_type type,
- my_off_t seek_offset,pbool use_async_io,
- pbool clear_cache);
-extern void setup_io_cache(IO_CACHE* info);
-extern int _my_b_read(IO_CACHE *info,byte *Buffer,uint Count);
-#ifdef THREAD
-extern int _my_b_read_r(IO_CACHE *info,byte *Buffer,uint Count);
-extern void init_io_cache_share(IO_CACHE *info,
- IO_CACHE_SHARE *s, uint num_threads);
-extern void remove_io_thread(IO_CACHE *info);
-#endif
-extern int _my_b_seq_read(IO_CACHE *info,byte *Buffer,uint Count);
-extern int _my_b_net_read(IO_CACHE *info,byte *Buffer,uint Count);
-extern int _my_b_get(IO_CACHE *info);
-extern int _my_b_async_read(IO_CACHE *info,byte *Buffer,uint Count);
-extern int _my_b_write(IO_CACHE *info,const byte *Buffer,uint Count);
-extern int my_b_append(IO_CACHE *info,const byte *Buffer,uint Count);
-extern int my_b_safe_write(IO_CACHE *info,const byte *Buffer,uint Count);
-
-extern int my_block_write(IO_CACHE *info, const byte *Buffer,
- uint Count, my_off_t pos);
-extern int my_b_flush_io_cache(IO_CACHE *info, int need_append_buffer_lock);
-
-#define flush_io_cache(info) my_b_flush_io_cache((info),1)
-
-extern int end_io_cache(IO_CACHE *info);
-extern uint my_b_fill(IO_CACHE *info);
-extern void my_b_seek(IO_CACHE *info,my_off_t pos);
-extern uint my_b_gets(IO_CACHE *info, char *to, uint max_length);
-extern my_off_t my_b_filelength(IO_CACHE *info);
-extern uint my_b_printf(IO_CACHE *info, const char* fmt, ...);
-extern uint my_b_vprintf(IO_CACHE *info, const char* fmt, va_list ap);
-extern my_bool open_cached_file(IO_CACHE *cache,const char *dir,
- const char *prefix, uint cache_size,
- myf cache_myflags);
-extern my_bool real_open_cached_file(IO_CACHE *cache);
-extern void close_cached_file(IO_CACHE *cache);
-File create_temp_file(char *to, const char *dir, const char *pfx,
- int mode, myf MyFlags);
-#define my_init_dynamic_array(A,B,C,D) init_dynamic_array(A,B,C,D CALLER_INFO)
-#define my_init_dynamic_array_ci(A,B,C,D) init_dynamic_array(A,B,C,D ORIG_CALLER_INFO)
-extern my_bool init_dynamic_array(DYNAMIC_ARRAY *array,uint element_size,
- uint init_alloc,uint alloc_increment
- CALLER_INFO_PROTO);
-extern my_bool insert_dynamic(DYNAMIC_ARRAY *array,gptr element);
-extern byte *alloc_dynamic(DYNAMIC_ARRAY *array);
-extern byte *pop_dynamic(DYNAMIC_ARRAY*);
-extern my_bool set_dynamic(DYNAMIC_ARRAY *array,gptr element,uint array_index);
-extern void get_dynamic(DYNAMIC_ARRAY *array,gptr element,uint array_index);
-extern void delete_dynamic(DYNAMIC_ARRAY *array);
-extern void delete_dynamic_element(DYNAMIC_ARRAY *array, uint array_index);
-extern void freeze_size(DYNAMIC_ARRAY *array);
-#define dynamic_array_ptr(array,array_index) ((array)->buffer+(array_index)*(array)->size_of_element)
-#define dynamic_element(array,array_index,type) ((type)((array)->buffer) +(array_index))
-#define push_dynamic(A,B) insert_dynamic(A,B)
-#define reset_dynamic(array) ((array)->elements= 0)
-
-extern my_bool init_dynamic_string(DYNAMIC_STRING *str, const char *init_str,
- uint init_alloc,uint alloc_increment);
-extern my_bool dynstr_append(DYNAMIC_STRING *str, const char *append);
-my_bool dynstr_append_mem(DYNAMIC_STRING *str, const char *append,
- uint length);
-extern my_bool dynstr_set(DYNAMIC_STRING *str, const char *init_str);
-extern my_bool dynstr_realloc(DYNAMIC_STRING *str, ulong additional_size);
-extern void dynstr_free(DYNAMIC_STRING *str);
-#ifdef HAVE_MLOCK
-extern byte *my_malloc_lock(uint length,myf flags);
-extern void my_free_lock(byte *ptr,myf flags);
-#else
-#define my_malloc_lock(A,B) my_malloc((A),(B))
-#define my_free_lock(A,B) my_free((A),(B))
-#endif
-#define alloc_root_inited(A) ((A)->min_malloc != 0)
-#define ALLOC_ROOT_MIN_BLOCK_SIZE (MALLOC_OVERHEAD + sizeof(USED_MEM) + 8)
-#define clear_alloc_root(A) do { (A)->free= (A)->used= (A)->pre_alloc= 0; (A)->min_malloc=0;} while(0)
-extern void init_alloc_root(MEM_ROOT *mem_root, uint block_size,
- uint pre_alloc_size);
-extern gptr alloc_root(MEM_ROOT *mem_root,unsigned int Size);
-extern gptr multi_alloc_root(MEM_ROOT *mem_root, ...);
-extern void free_root(MEM_ROOT *root, myf MyFLAGS);
-extern void set_prealloc_root(MEM_ROOT *root, char *ptr);
-extern void reset_root_defaults(MEM_ROOT *mem_root, uint block_size,
- uint prealloc_size);
-extern char *strdup_root(MEM_ROOT *root,const char *str);
-extern char *strmake_root(MEM_ROOT *root,const char *str,uint len);
-extern char *memdup_root(MEM_ROOT *root,const char *str,uint len);
-extern int get_defaults_options(int argc, char **argv,
- char **defaults, char **extra_defaults,
- char **group_suffix);
-extern int load_defaults(const char *conf_file, const char **groups,
- int *argc, char ***argv);
-extern int modify_defaults_file(const char *file_location, const char *option,
- const char *option_value,
- const char *section_name, int remove_option);
-extern int my_search_option_files(const char *conf_file, int *argc,
- char ***argv, uint *args_used,
- Process_option_func func, void *func_ctx);
-extern void free_defaults(char **argv);
-extern void my_print_default_files(const char *conf_file);
-extern void print_defaults(const char *conf_file, const char **groups);
-extern my_bool my_compress(byte *, ulong *, ulong *);
-extern my_bool my_uncompress(byte *, ulong *, ulong *);
-extern byte *my_compress_alloc(const byte *packet, ulong *len, ulong *complen);
-extern ha_checksum my_checksum(ha_checksum crc, const byte *mem, uint count);
-extern uint my_bit_log2(ulong value);
-extern uint my_count_bits(ulonglong v);
-extern uint my_count_bits_ushort(ushort v);
-extern void my_sleep(ulong m_seconds);
-extern ulong crc32(ulong crc, const uchar *buf, uint len);
-extern uint my_set_max_open_files(uint files);
-void my_free_open_file_info(void);
-
-ulonglong my_getsystime(void);
-my_bool my_gethwaddr(uchar *to);
-
-#ifdef HAVE_SYS_MMAN_H
-#include <sys/mman.h>
-
-#ifndef MAP_NOSYNC
-#define MAP_NOSYNC 0
-#endif
-
-#define my_mmap(a,b,c,d,e,f) mmap(a,b,c,d,e,f)
-#ifdef HAVE_GETPAGESIZE
-#define my_getpagesize() getpagesize()
-#else
-/* qnx ? */
-#define my_getpagesize() 8192
-#endif
-#define my_munmap(a,b) munmap((a),(b))
-
-#else
-/* not a complete set of mmap() flags, but only those that nesessary */
-#define PROT_READ 1
-#define PROT_WRITE 2
-#define MAP_SHARED 0x0001
-#define MAP_NOSYNC 0x0800
-#define MAP_FAILED ((void *)-1)
-#define MS_SYNC 0x0000
-
-#ifndef __NETWARE__
-#define HAVE_MMAP
-#endif
-
-int my_getpagesize(void);
-void *my_mmap(void *, size_t, int, int, int, my_off_t);
-int my_munmap(void *, size_t);
-#endif
-
-int my_msync(int, void *, size_t, int);
-
-/* character sets */
-extern uint get_charset_number(const char *cs_name, uint cs_flags);
-extern uint get_collation_number(const char *name);
-extern const char *get_charset_name(uint cs_number);
-
-extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
-extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
-extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
- uint cs_flags, myf my_flags);
-extern void free_charsets(void);
-extern char *get_charsets_dir(char *buf);
-extern my_bool my_charset_same(CHARSET_INFO *cs1, CHARSET_INFO *cs2);
-extern my_bool init_compiled_charsets(myf flags);
-extern void add_compiled_collation(CHARSET_INFO *cs);
-extern ulong escape_string_for_mysql(CHARSET_INFO *charset_info,
- char *to, ulong to_length,
- const char *from, ulong length);
-#ifdef __WIN__
-#define BACKSLASH_MBTAIL
-/* File system character set */
-extern CHARSET_INFO *fs_character_set(void);
-#endif
-extern ulong escape_quotes_for_mysql(CHARSET_INFO *charset_info,
- char *to, ulong to_length,
- const char *from, ulong length);
-
-extern void thd_increment_bytes_sent(ulong length);
-extern void thd_increment_bytes_received(ulong length);
-extern void thd_increment_net_big_packet_count(ulong length);
-
-#ifdef __WIN__
-extern my_bool have_tcpip; /* Is set if tcpip is used */
-
-/* implemented in my_windac.c */
-
-int my_security_attr_create(SECURITY_ATTRIBUTES **psa, const char **perror,
- DWORD owner_rights, DWORD everybody_rights);
-
-void my_security_attr_free(SECURITY_ATTRIBUTES *sa);
-
-/* implemented in my_conio.c */
-char* my_cgets(char *string, unsigned long clen, unsigned long* plen);
-
-#endif
-#ifdef __NETWARE__
-void netware_reg_user(const char *ip, const char *user,
- const char *application);
-#endif
-
-C_MODE_END
-#include "raid.h"
-#endif /* _my_sys_h */
diff --git a/3rdparty/mysql/include/mysql.h b/3rdparty/mysql/include/mysql.h
deleted file mode 100644
index 925a45253..000000000
--- a/3rdparty/mysql/include/mysql.h
+++ /dev/null
@@ -1,847 +0,0 @@
-/* Copyright (C) 2000-2003 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-#ifndef _mysql_h
-#define _mysql_h
-
-#ifdef __CYGWIN__ /* CYGWIN implements a UNIX API */
-#undef WIN
-#undef _WIN
-#undef _WIN32
-#undef _WIN64
-#undef __WIN__
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef _global_h /* If not standard header */
-#include <sys/types.h>
-#ifdef __LCC__
-#include <winsock.h> /* For windows */
-#endif
-typedef char my_bool;
-#if (defined(_WIN32) || defined(_WIN64)) && !defined(__WIN__)
-#define __WIN__
-#endif
-#if !defined(__WIN__)
-#define STDCALL
-#else
-#define STDCALL __stdcall
-#endif
-typedef char * gptr;
-
-#ifndef my_socket_defined
-#ifdef __WIN__
-#define my_socket SOCKET
-#else
-typedef int my_socket;
-#endif /* __WIN__ */
-#endif /* my_socket_defined */
-#endif /* _global_h */
-
-#include "mysql_com.h"
-#include "mysql_time.h"
-#include "mysql_version.h"
-#include "typelib.h"
-
-#include "my_list.h" /* for LISTs used in 'MYSQL' and 'MYSQL_STMT' */
-
-extern unsigned int mysql_port;
-extern char *mysql_unix_port;
-
-#define CLIENT_NET_READ_TIMEOUT 365*24*3600 /* Timeout on read */
-#define CLIENT_NET_WRITE_TIMEOUT 365*24*3600 /* Timeout on write */
-
-#ifdef __NETWARE__
-#pragma pack(push, 8) /* 8 byte alignment */
-#endif
-
-#define IS_PRI_KEY(n) ((n) & PRI_KEY_FLAG)
-#define IS_NOT_NULL(n) ((n) & NOT_NULL_FLAG)
-#define IS_BLOB(n) ((n) & BLOB_FLAG)
-#define IS_NUM(t) ((t) <= FIELD_TYPE_INT24 || (t) == FIELD_TYPE_YEAR || (t) == FIELD_TYPE_NEWDECIMAL)
-#define IS_NUM_FIELD(f) ((f)->flags & NUM_FLAG)
-#define INTERNAL_NUM_FIELD(f) (((f)->type <= FIELD_TYPE_INT24 && ((f)->type != FIELD_TYPE_TIMESTAMP || (f)->length == 14 || (f)->length == 8)) || (f)->type == FIELD_TYPE_YEAR)
-
-
-typedef struct st_mysql_field {
- char *name; /* Name of column */
- char *org_name; /* Original column name, if an alias */
- char *table; /* Table of column if column was a field */
- char *org_table; /* Org table name, if table was an alias */
- char *db; /* Database for table */
- char *catalog; /* Catalog for table */
- char *def; /* Default value (set by mysql_list_fields) */
- unsigned long length; /* Width of column (create length) */
- unsigned long max_length; /* Max width for selected set */
- unsigned int name_length;
- unsigned int org_name_length;
- unsigned int table_length;
- unsigned int org_table_length;
- unsigned int db_length;
- unsigned int catalog_length;
- unsigned int def_length;
- unsigned int flags; /* Div flags */
- unsigned int decimals; /* Number of decimals in field */
- unsigned int charsetnr; /* Character set */
- enum enum_field_types type; /* Type of field. See mysql_com.h for types */
-} MYSQL_FIELD;
-
-typedef char **MYSQL_ROW; /* return data as array of strings */
-typedef unsigned int MYSQL_FIELD_OFFSET; /* offset to current field */
-
-#ifndef _global_h
-#if defined(NO_CLIENT_LONG_LONG)
-typedef unsigned long my_ulonglong;
-#elif defined (__WIN__)
-typedef unsigned __int64 my_ulonglong;
-#else
-typedef unsigned long long my_ulonglong;
-#endif
-#endif
-
-#define MYSQL_COUNT_ERROR (~(my_ulonglong) 0)
-
-/* backward compatibility define - to be removed eventually */
-#define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED
-
-typedef struct st_mysql_rows {
- struct st_mysql_rows *next; /* list of rows */
- MYSQL_ROW data;
- unsigned long length;
-} MYSQL_ROWS;
-
-typedef MYSQL_ROWS *MYSQL_ROW_OFFSET; /* offset to current row */
-
-#include "my_alloc.h"
-
-typedef struct embedded_query_result EMBEDDED_QUERY_RESULT;
-typedef struct st_mysql_data {
- my_ulonglong rows;
- unsigned int fields;
- MYSQL_ROWS *data;
- MEM_ROOT alloc;
- /* extra info for embedded library */
- struct embedded_query_result *embedded_info;
-} MYSQL_DATA;
-
-enum mysql_option
-{
- MYSQL_OPT_CONNECT_TIMEOUT, MYSQL_OPT_COMPRESS, MYSQL_OPT_NAMED_PIPE,
- MYSQL_INIT_COMMAND, MYSQL_READ_DEFAULT_FILE, MYSQL_READ_DEFAULT_GROUP,
- MYSQL_SET_CHARSET_DIR, MYSQL_SET_CHARSET_NAME, MYSQL_OPT_LOCAL_INFILE,
- MYSQL_OPT_PROTOCOL, MYSQL_SHARED_MEMORY_BASE_NAME, MYSQL_OPT_READ_TIMEOUT,
- MYSQL_OPT_WRITE_TIMEOUT, MYSQL_OPT_USE_RESULT,
- MYSQL_OPT_USE_REMOTE_CONNECTION, MYSQL_OPT_USE_EMBEDDED_CONNECTION,
- MYSQL_OPT_GUESS_CONNECTION, MYSQL_SET_CLIENT_IP, MYSQL_SECURE_AUTH,
- MYSQL_REPORT_DATA_TRUNCATION, MYSQL_OPT_RECONNECT
-};
-
-struct st_mysql_options {
- unsigned int connect_timeout, read_timeout, write_timeout;
- unsigned int port, protocol;
- unsigned long client_flag;
- char *host,*user,*password,*unix_socket,*db;
- struct st_dynamic_array *init_commands;
- char *my_cnf_file,*my_cnf_group, *charset_dir, *charset_name;
- char *ssl_key; /* PEM key file */
- char *ssl_cert; /* PEM cert file */
- char *ssl_ca; /* PEM CA file */
- char *ssl_capath; /* PEM directory of CA-s? */
- char *ssl_cipher; /* cipher to use */
- char *shared_memory_base_name;
- unsigned long max_allowed_packet;
- my_bool use_ssl; /* if to use SSL or not */
- my_bool compress,named_pipe;
- /*
- On connect, find out the replication role of the server, and
- establish connections to all the peers
- */
- my_bool rpl_probe;
- /*
- Each call to mysql_real_query() will parse it to tell if it is a read
- or a write, and direct it to the slave or the master
- */
- my_bool rpl_parse;
- /*
- If set, never read from a master, only from slave, when doing
- a read that is replication-aware
- */
- my_bool no_master_reads;
-#if !defined(CHECK_EMBEDDED_DIFFERENCES) || defined(EMBEDDED_LIBRARY)
- my_bool separate_thread;
-#endif
- enum mysql_option methods_to_use;
- char *client_ip;
- /* Refuse client connecting to server if it uses old (pre-4.1.1) protocol */
- my_bool secure_auth;
- /* 0 - never report, 1 - always report (default) */
- my_bool report_data_truncation;
-
- /* function pointers for local infile support */
- int (*local_infile_init)(void **, const char *, void *);
- int (*local_infile_read)(void *, char *, unsigned int);
- void (*local_infile_end)(void *);
- int (*local_infile_error)(void *, char *, unsigned int);
- void *local_infile_userdata;
-};
-
-enum mysql_status
-{
- MYSQL_STATUS_READY,MYSQL_STATUS_GET_RESULT,MYSQL_STATUS_USE_RESULT
-};
-
-enum mysql_protocol_type
-{
- MYSQL_PROTOCOL_DEFAULT, MYSQL_PROTOCOL_TCP, MYSQL_PROTOCOL_SOCKET,
- MYSQL_PROTOCOL_PIPE, MYSQL_PROTOCOL_MEMORY
-};
-/*
- There are three types of queries - the ones that have to go to
- the master, the ones that go to a slave, and the adminstrative
- type which must happen on the pivot connectioin
-*/
-enum mysql_rpl_type
-{
- MYSQL_RPL_MASTER, MYSQL_RPL_SLAVE, MYSQL_RPL_ADMIN
-};
-
-typedef struct character_set
-{
- unsigned int number; /* character set number */
- unsigned int state; /* character set state */
- const char *csname; /* collation name */
- const char *name; /* character set name */
- const char *comment; /* comment */
- const char *dir; /* character set directory */
- unsigned int mbminlen; /* min. length for multibyte strings */
- unsigned int mbmaxlen; /* max. length for multibyte strings */
-} MY_CHARSET_INFO;
-
-struct st_mysql_methods;
-
-typedef struct st_mysql
-{
- NET net; /* Communication parameters */
- gptr connector_fd; /* ConnectorFd for SSL */
- char *host,*user,*passwd,*unix_socket,*server_version,*host_info,*info;
- char *db;
- struct charset_info_st *charset;
- MYSQL_FIELD *fields;
- MEM_ROOT field_alloc;
- my_ulonglong affected_rows;
- my_ulonglong insert_id; /* id if insert on table with NEXTNR */
- my_ulonglong extra_info; /* Not used */
- unsigned long thread_id; /* Id for connection in server */
- unsigned long packet_length;
- unsigned int port;
- unsigned long client_flag,server_capabilities;
- unsigned int protocol_version;
- unsigned int field_count;
- unsigned int server_status;
- unsigned int server_language;
- unsigned int warning_count;
- struct st_mysql_options options;
- enum mysql_status status;
- my_bool free_me; /* If free in mysql_close */
- my_bool reconnect; /* set to 1 if automatic reconnect */
-
- /* session-wide random string */
- char scramble[SCRAMBLE_LENGTH+1];
-
- /*
- Set if this is the original connection, not a master or a slave we have
- added though mysql_rpl_probe() or mysql_set_master()/ mysql_add_slave()
- */
- my_bool rpl_pivot;
- /*
- Pointers to the master, and the next slave connections, points to
- itself if lone connection.
- */
- struct st_mysql* master, *next_slave;
-
- struct st_mysql* last_used_slave; /* needed for round-robin slave pick */
- /* needed for send/read/store/use result to work correctly with replication */
- struct st_mysql* last_used_con;
-
- LIST *stmts; /* list of all statements */
- const struct st_mysql_methods *methods;
- void *thd;
- /*
- Points to boolean flag in MYSQL_RES or MYSQL_STMT. We set this flag
- from mysql_stmt_close if close had to cancel result set of this object.
- */
- my_bool *unbuffered_fetch_owner;
-#if defined(EMBEDDED_LIBRARY) || defined(EMBEDDED_LIBRARY_COMPATIBLE) || MYSQL_VERSION_ID >= 50100
- /* needed for embedded server - no net buffer to store the 'info' */
- char *info_buffer;
-#endif
-} MYSQL;
-
-typedef struct st_mysql_res {
- my_ulonglong row_count;
- MYSQL_FIELD *fields;
- MYSQL_DATA *data;
- MYSQL_ROWS *data_cursor;
- unsigned long *lengths; /* column lengths of current row */
- MYSQL *handle; /* for unbuffered reads */
- MEM_ROOT field_alloc;
- unsigned int field_count, current_field;
- MYSQL_ROW row; /* If unbuffered read */
- MYSQL_ROW current_row; /* buffer to current row */
- my_bool eof; /* Used by mysql_fetch_row */
- /* mysql_stmt_close() had to cancel this result */
- my_bool unbuffered_fetch_cancelled;
- const struct st_mysql_methods *methods;
-} MYSQL_RES;
-
-#define MAX_MYSQL_MANAGER_ERR 256
-#define MAX_MYSQL_MANAGER_MSG 256
-
-#define MANAGER_OK 200
-#define MANAGER_INFO 250
-#define MANAGER_ACCESS 401
-#define MANAGER_CLIENT_ERR 450
-#define MANAGER_INTERNAL_ERR 500
-
-#if !defined(MYSQL_SERVER) && !defined(MYSQL_CLIENT)
-#define MYSQL_CLIENT
-#endif
-
-
-typedef struct st_mysql_manager
-{
- NET net;
- char *host,*user,*passwd;
- unsigned int port;
- my_bool free_me;
- my_bool eof;
- int cmd_status;
- int last_errno;
- char* net_buf,*net_buf_pos,*net_data_end;
- int net_buf_size;
- char last_error[MAX_MYSQL_MANAGER_ERR];
-} MYSQL_MANAGER;
-
-typedef struct st_mysql_parameters
-{
- unsigned long *p_max_allowed_packet;
- unsigned long *p_net_buffer_length;
-} MYSQL_PARAMETERS;
-
-#if !defined(MYSQL_SERVER) && !defined(EMBEDDED_LIBRARY)
-#define max_allowed_packet (*mysql_get_parameters()->p_max_allowed_packet)
-#define net_buffer_length (*mysql_get_parameters()->p_net_buffer_length)
-#endif
-
-/*
- Set up and bring down the server; to ensure that applications will
- work when linked against either the standard client library or the
- embedded server library, these functions should be called.
-*/
-int STDCALL mysql_server_init(int argc, char **argv, char **groups);
-void STDCALL mysql_server_end(void);
-/*
- mysql_server_init/end need to be called when using libmysqld or
- libmysqlclient (exactly, mysql_server_init() is called by mysql_init() so
- you don't need to call it explicitely; but you need to call
- mysql_server_end() to free memory). The names are a bit misleading
- (mysql_SERVER* to be used when using libmysqlCLIENT). So we add more general
- names which suit well whether you're using libmysqld or libmysqlclient. We
- intend to promote these aliases over the mysql_server* ones.
-*/
-#define mysql_library_init mysql_server_init
-#define mysql_library_end mysql_server_end
-
-MYSQL_PARAMETERS *STDCALL mysql_get_parameters(void);
-
-/*
- Set up and bring down a thread; these function should be called
- for each thread in an application which opens at least one MySQL
- connection. All uses of the connection(s) should be between these
- function calls.
-*/
-my_bool STDCALL mysql_thread_init(void);
-void STDCALL mysql_thread_end(void);
-
-/*
- Functions to get information from the MYSQL and MYSQL_RES structures
- Should definitely be used if one uses shared libraries.
-*/
-
-my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);
-unsigned int STDCALL mysql_num_fields(MYSQL_RES *res);
-my_bool STDCALL mysql_eof(MYSQL_RES *res);
-MYSQL_FIELD *STDCALL mysql_fetch_field_direct(MYSQL_RES *res,
- unsigned int fieldnr);
-MYSQL_FIELD * STDCALL mysql_fetch_fields(MYSQL_RES *res);
-MYSQL_ROW_OFFSET STDCALL mysql_row_tell(MYSQL_RES *res);
-MYSQL_FIELD_OFFSET STDCALL mysql_field_tell(MYSQL_RES *res);
-
-unsigned int STDCALL mysql_field_count(MYSQL *mysql);
-my_ulonglong STDCALL mysql_affected_rows(MYSQL *mysql);
-my_ulonglong STDCALL mysql_insert_id(MYSQL *mysql);
-unsigned int STDCALL mysql_errno(MYSQL *mysql);
-const char * STDCALL mysql_error(MYSQL *mysql);
-const char *STDCALL mysql_sqlstate(MYSQL *mysql);
-unsigned int STDCALL mysql_warning_count(MYSQL *mysql);
-const char * STDCALL mysql_info(MYSQL *mysql);
-unsigned long STDCALL mysql_thread_id(MYSQL *mysql);
-const char * STDCALL mysql_character_set_name(MYSQL *mysql);
-int STDCALL mysql_set_character_set(MYSQL *mysql, const char *csname);
-
-MYSQL * STDCALL mysql_init(MYSQL *mysql);
-my_bool STDCALL mysql_ssl_set(MYSQL *mysql, const char *key,
- const char *cert, const char *ca,
- const char *capath, const char *cipher);
-my_bool STDCALL mysql_change_user(MYSQL *mysql, const char *user,
- const char *passwd, const char *db);
-MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
- const char *user,
- const char *passwd,
- const char *db,
- unsigned int port,
- const char *unix_socket,
- unsigned long clientflag);
-int STDCALL mysql_select_db(MYSQL *mysql, const char *db);
-int STDCALL mysql_query(MYSQL *mysql, const char *q);
-int STDCALL mysql_send_query(MYSQL *mysql, const char *q,
- unsigned long length);
-int STDCALL mysql_real_query(MYSQL *mysql, const char *q,
- unsigned long length);
-MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql);
-MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql);
-
-/* perform query on master */
-my_bool STDCALL mysql_master_query(MYSQL *mysql, const char *q,
- unsigned long length);
-my_bool STDCALL mysql_master_send_query(MYSQL *mysql, const char *q,
- unsigned long length);
-/* perform query on slave */
-my_bool STDCALL mysql_slave_query(MYSQL *mysql, const char *q,
- unsigned long length);
-my_bool STDCALL mysql_slave_send_query(MYSQL *mysql, const char *q,
- unsigned long length);
-void STDCALL mysql_get_character_set_info(MYSQL *mysql,
- MY_CHARSET_INFO *charset);
-
-/* local infile support */
-
-#define LOCAL_INFILE_ERROR_LEN 512
-
-void
-mysql_set_local_infile_handler(MYSQL *mysql,
- int (*local_infile_init)(void **, const char *,
- void *),
- int (*local_infile_read)(void *, char *,
- unsigned int),
- void (*local_infile_end)(void *),
- int (*local_infile_error)(void *, char*,
- unsigned int),
- void *);
-
-void
-mysql_set_local_infile_default(MYSQL *mysql);
-
-
-/*
- enable/disable parsing of all queries to decide if they go on master or
- slave
-*/
-void STDCALL mysql_enable_rpl_parse(MYSQL* mysql);
-void STDCALL mysql_disable_rpl_parse(MYSQL* mysql);
-/* get the value of the parse flag */
-int STDCALL mysql_rpl_parse_enabled(MYSQL* mysql);
-
-/* enable/disable reads from master */
-void STDCALL mysql_enable_reads_from_master(MYSQL* mysql);
-void STDCALL mysql_disable_reads_from_master(MYSQL* mysql);
-/* get the value of the master read flag */
-my_bool STDCALL mysql_reads_from_master_enabled(MYSQL* mysql);
-
-enum mysql_rpl_type STDCALL mysql_rpl_query_type(const char* q, int len);
-
-/* discover the master and its slaves */
-my_bool STDCALL mysql_rpl_probe(MYSQL* mysql);
-
-/* set the master, close/free the old one, if it is not a pivot */
-int STDCALL mysql_set_master(MYSQL* mysql, const char* host,
- unsigned int port,
- const char* user,
- const char* passwd);
-int STDCALL mysql_add_slave(MYSQL* mysql, const char* host,
- unsigned int port,
- const char* user,
- const char* passwd);
-
-int STDCALL mysql_shutdown(MYSQL *mysql,
- enum mysql_enum_shutdown_level
- shutdown_level);
-int STDCALL mysql_dump_debug_info(MYSQL *mysql);
-int STDCALL mysql_refresh(MYSQL *mysql,
- unsigned int refresh_options);
-int STDCALL mysql_kill(MYSQL *mysql,unsigned long pid);
-int STDCALL mysql_set_server_option(MYSQL *mysql,
- enum enum_mysql_set_option
- option);
-int STDCALL mysql_ping(MYSQL *mysql);
-const char * STDCALL mysql_stat(MYSQL *mysql);
-const char * STDCALL mysql_get_server_info(MYSQL *mysql);
-const char * STDCALL mysql_get_client_info(void);
-unsigned long STDCALL mysql_get_client_version(void);
-const char * STDCALL mysql_get_host_info(MYSQL *mysql);
-unsigned long STDCALL mysql_get_server_version(MYSQL *mysql);
-unsigned int STDCALL mysql_get_proto_info(MYSQL *mysql);
-MYSQL_RES * STDCALL mysql_list_dbs(MYSQL *mysql,const char *wild);
-MYSQL_RES * STDCALL mysql_list_tables(MYSQL *mysql,const char *wild);
-MYSQL_RES * STDCALL mysql_list_processes(MYSQL *mysql);
-int STDCALL mysql_options(MYSQL *mysql,enum mysql_option option,
- const char *arg);
-void STDCALL mysql_free_result(MYSQL_RES *result);
-void STDCALL mysql_data_seek(MYSQL_RES *result,
- my_ulonglong offset);
-MYSQL_ROW_OFFSET STDCALL mysql_row_seek(MYSQL_RES *result,
- MYSQL_ROW_OFFSET offset);
-MYSQL_FIELD_OFFSET STDCALL mysql_field_seek(MYSQL_RES *result,
- MYSQL_FIELD_OFFSET offset);
-MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);
-unsigned long * STDCALL mysql_fetch_lengths(MYSQL_RES *result);
-MYSQL_FIELD * STDCALL mysql_fetch_field(MYSQL_RES *result);
-MYSQL_RES * STDCALL mysql_list_fields(MYSQL *mysql, const char *table,
- const char *wild);
-unsigned long STDCALL mysql_escape_string(char *to,const char *from,
- unsigned long from_length);
-unsigned long STDCALL mysql_hex_string(char *to,const char *from,
- unsigned long from_length);
-unsigned long STDCALL mysql_real_escape_string(MYSQL *mysql,
- char *to,const char *from,
- unsigned long length);
-void STDCALL mysql_debug(const char *debug);
-char * STDCALL mysql_odbc_escape_string(MYSQL *mysql,
- char *to,
- unsigned long to_length,
- const char *from,
- unsigned long from_length,
- void *param,
- char *
- (*extend_buffer)
- (void *, char *to,
- unsigned long *length));
-void STDCALL myodbc_remove_escape(MYSQL *mysql,char *name);
-unsigned int STDCALL mysql_thread_safe(void);
-my_bool STDCALL mysql_embedded(void);
-MYSQL_MANAGER* STDCALL mysql_manager_init(MYSQL_MANAGER* con);
-MYSQL_MANAGER* STDCALL mysql_manager_connect(MYSQL_MANAGER* con,
- const char* host,
- const char* user,
- const char* passwd,
- unsigned int port);
-void STDCALL mysql_manager_close(MYSQL_MANAGER* con);
-int STDCALL mysql_manager_command(MYSQL_MANAGER* con,
- const char* cmd, int cmd_len);
-int STDCALL mysql_manager_fetch_line(MYSQL_MANAGER* con,
- char* res_buf,
- int res_buf_size);
-my_bool STDCALL mysql_read_query_result(MYSQL *mysql);
-
-
-/*
- The following definitions are added for the enhanced
- client-server protocol
-*/
-
-/* statement state */
-enum enum_mysql_stmt_state
-{
- MYSQL_STMT_INIT_DONE= 1, MYSQL_STMT_PREPARE_DONE, MYSQL_STMT_EXECUTE_DONE,
- MYSQL_STMT_FETCH_DONE
-};
-
-
-/*
- This structure is used to define bind information, and
- internally by the client library.
- Public members with their descriptions are listed below
- (conventionally `On input' refers to the binds given to
- mysql_stmt_bind_param, `On output' refers to the binds given
- to mysql_stmt_bind_result):
-
- buffer_type - One of the MYSQL_* types, used to describe
- the host language type of buffer.
- On output: if column type is different from
- buffer_type, column value is automatically converted
- to buffer_type before it is stored in the buffer.
- buffer - On input: points to the buffer with input data.
- On output: points to the buffer capable to store
- output data.
- The type of memory pointed by buffer must correspond
- to buffer_type. See the correspondence table in
- the comment to mysql_stmt_bind_param.
-
- The two above members are mandatory for any kind of bind.
-
- buffer_length - the length of the buffer. You don't have to set
- it for any fixed length buffer: float, double,
- int, etc. It must be set however for variable-length
- types, such as BLOBs or STRINGs.
-
- length - On input: in case when lengths of input values
- are different for each execute, you can set this to
- point at a variable containining value length. This
- way the value length can be different in each execute.
- If length is not NULL, buffer_length is not used.
- Note, length can even point at buffer_length if
- you keep bind structures around while fetching:
- this way you can change buffer_length before
- each execution, everything will work ok.
- On output: if length is set, mysql_stmt_fetch will
- write column length into it.
-
- is_null - On input: points to a boolean variable that should
- be set to TRUE for NULL values.
- This member is useful only if your data may be
- NULL in some but not all cases.
- If your data is never NULL, is_null should be set to 0.
- If your data is always NULL, set buffer_type
- to MYSQL_TYPE_NULL, and is_null will not be used.
-
- is_unsigned - On input: used to signify that values provided for one
- of numeric types are unsigned.
- On output describes signedness of the output buffer.
- If, taking into account is_unsigned flag, column data
- is out of range of the output buffer, data for this column
- is regarded truncated. Note that this has no correspondence
- to the sign of result set column, if you need to find it out
- use mysql_stmt_result_metadata.
- error - where to write a truncation error if it is present.
- possible error value is:
- 0 no truncation
- 1 value is out of range or buffer is too small
-
- Please note that MYSQL_BIND also has internals members.
-*/
-
-typedef struct st_mysql_bind
-{
- unsigned long *length; /* output length pointer */
- my_bool *is_null; /* Pointer to null indicator */
- void *buffer; /* buffer to get/put data */
- /* set this if you want to track data truncations happened during fetch */
- my_bool *error;
- enum enum_field_types buffer_type; /* buffer type */
- /* output buffer length, must be set when fetching str/binary */
- unsigned long buffer_length;
- unsigned char *row_ptr; /* for the current data position */
- unsigned long offset; /* offset position for char/binary fetch */
- unsigned long length_value; /* Used if length is 0 */
- unsigned int param_number; /* For null count and error messages */
- unsigned int pack_length; /* Internal length for packed data */
- my_bool error_value; /* used if error is 0 */
- my_bool is_unsigned; /* set if integer type is unsigned */
- my_bool long_data_used; /* If used with mysql_send_long_data */
- my_bool is_null_value; /* Used if is_null is 0 */
- void (*store_param_func)(NET *net, struct st_mysql_bind *param);
- void (*fetch_result)(struct st_mysql_bind *, MYSQL_FIELD *,
- unsigned char **row);
- void (*skip_result)(struct st_mysql_bind *, MYSQL_FIELD *,
- unsigned char **row);
-} MYSQL_BIND;
-
-
-/* statement handler */
-typedef struct st_mysql_stmt
-{
- MEM_ROOT mem_root; /* root allocations */
- LIST list; /* list to keep track of all stmts */
- MYSQL *mysql; /* connection handle */
- MYSQL_BIND *params; /* input parameters */
- MYSQL_BIND *bind; /* output parameters */
- MYSQL_FIELD *fields; /* result set metadata */
- MYSQL_DATA result; /* cached result set */
- MYSQL_ROWS *data_cursor; /* current row in cached result */
- /* copy of mysql->affected_rows after statement execution */
- my_ulonglong affected_rows;
- my_ulonglong insert_id; /* copy of mysql->insert_id */
- /*
- mysql_stmt_fetch() calls this function to fetch one row (it's different
- for buffered, unbuffered and cursor fetch).
- */
- int (*read_row_func)(struct st_mysql_stmt *stmt,
- unsigned char **row);
- unsigned long stmt_id; /* Id for prepared statement */
- unsigned long flags; /* i.e. type of cursor to open */
- unsigned long prefetch_rows; /* number of rows per one COM_FETCH */
- /*
- Copied from mysql->server_status after execute/fetch to know
- server-side cursor status for this statement.
- */
- unsigned int server_status;
- unsigned int last_errno; /* error code */
- unsigned int param_count; /* input parameter count */
- unsigned int field_count; /* number of columns in result set */
- enum enum_mysql_stmt_state state; /* statement state */
- char last_error[MYSQL_ERRMSG_SIZE]; /* error message */
- char sqlstate[SQLSTATE_LENGTH+1];
- /* Types of input parameters should be sent to server */
- my_bool send_types_to_server;
- my_bool bind_param_done; /* input buffers were supplied */
- unsigned char bind_result_done; /* output buffers were supplied */
- /* mysql_stmt_close() had to cancel this result */
- my_bool unbuffered_fetch_cancelled;
- /*
- Is set to true if we need to calculate field->max_length for
- metadata fields when doing mysql_stmt_store_result.
- */
- my_bool update_max_length;
-} MYSQL_STMT;
-
-enum enum_stmt_attr_type
-{
- /*
- When doing mysql_stmt_store_result calculate max_length attribute
- of statement metadata. This is to be consistent with the old API,
- where this was done automatically.
- In the new API we do that only by request because it slows down
- mysql_stmt_store_result sufficiently.
- */
- STMT_ATTR_UPDATE_MAX_LENGTH,
- /*
- unsigned long with combination of cursor flags (read only, for update,
- etc)
- */
- STMT_ATTR_CURSOR_TYPE,
- /*
- Amount of rows to retrieve from server per one fetch if using cursors.
- Accepts unsigned long attribute in the range 1 - ulong_max
- */
- STMT_ATTR_PREFETCH_ROWS
-};
-
-
-typedef struct st_mysql_methods
-{
- my_bool (*read_query_result)(MYSQL *mysql);
- my_bool (*advanced_command)(MYSQL *mysql,
- enum enum_server_command command,
- const char *header,
- unsigned long header_length,
- const char *arg,
- unsigned long arg_length,
- my_bool skip_check);
- MYSQL_DATA *(*read_rows)(MYSQL *mysql,MYSQL_FIELD *mysql_fields,
- unsigned int fields);
- MYSQL_RES * (*use_result)(MYSQL *mysql);
- void (*fetch_lengths)(unsigned long *to,
- MYSQL_ROW column, unsigned int field_count);
- void (*flush_use_result)(MYSQL *mysql);
-#if !defined(MYSQL_SERVER) || defined(EMBEDDED_LIBRARY)
- MYSQL_FIELD * (*list_fields)(MYSQL *mysql);
- my_bool (*read_prepare_result)(MYSQL *mysql, MYSQL_STMT *stmt);
- int (*stmt_execute)(MYSQL_STMT *stmt);
- int (*read_binary_rows)(MYSQL_STMT *stmt);
- int (*unbuffered_fetch)(MYSQL *mysql, char **row);
- void (*free_embedded_thd)(MYSQL *mysql);
- const char *(*read_statistics)(MYSQL *mysql);
- my_bool (*next_result)(MYSQL *mysql);
- int (*read_change_user_result)(MYSQL *mysql, char *buff, const char *passwd);
- int (*read_rows_from_cursor)(MYSQL_STMT *stmt);
-#endif
-} MYSQL_METHODS;
-
-
-MYSQL_STMT * STDCALL mysql_stmt_init(MYSQL *mysql);
-int STDCALL mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query,
- unsigned long length);
-int STDCALL mysql_stmt_execute(MYSQL_STMT *stmt);
-int STDCALL mysql_stmt_fetch(MYSQL_STMT *stmt);
-int STDCALL mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *bind,
- unsigned int column,
- unsigned long offset);
-int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt);
-unsigned long STDCALL mysql_stmt_param_count(MYSQL_STMT * stmt);
-my_bool STDCALL mysql_stmt_attr_set(MYSQL_STMT *stmt,
- enum enum_stmt_attr_type attr_type,
- const void *attr);
-my_bool STDCALL mysql_stmt_attr_get(MYSQL_STMT *stmt,
- enum enum_stmt_attr_type attr_type,
- void *attr);
-my_bool STDCALL mysql_stmt_bind_param(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
-my_bool STDCALL mysql_stmt_bind_result(MYSQL_STMT * stmt, MYSQL_BIND * bnd);
-my_bool STDCALL mysql_stmt_close(MYSQL_STMT * stmt);
-my_bool STDCALL mysql_stmt_reset(MYSQL_STMT * stmt);
-my_bool STDCALL mysql_stmt_free_result(MYSQL_STMT *stmt);
-my_bool STDCALL mysql_stmt_send_long_data(MYSQL_STMT *stmt,
- unsigned int param_number,
- const char *data,
- unsigned long length);
-MYSQL_RES *STDCALL mysql_stmt_result_metadata(MYSQL_STMT *stmt);
-MYSQL_RES *STDCALL mysql_stmt_param_metadata(MYSQL_STMT *stmt);
-unsigned int STDCALL mysql_stmt_errno(MYSQL_STMT * stmt);
-const char *STDCALL mysql_stmt_error(MYSQL_STMT * stmt);
-const char *STDCALL mysql_stmt_sqlstate(MYSQL_STMT * stmt);
-MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_seek(MYSQL_STMT *stmt,
- MYSQL_ROW_OFFSET offset);
-MYSQL_ROW_OFFSET STDCALL mysql_stmt_row_tell(MYSQL_STMT *stmt);
-void STDCALL mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong offset);
-my_ulonglong STDCALL mysql_stmt_num_rows(MYSQL_STMT *stmt);
-my_ulonglong STDCALL mysql_stmt_affected_rows(MYSQL_STMT *stmt);
-my_ulonglong STDCALL mysql_stmt_insert_id(MYSQL_STMT *stmt);
-unsigned int STDCALL mysql_stmt_field_count(MYSQL_STMT *stmt);
-
-my_bool STDCALL mysql_commit(MYSQL * mysql);
-my_bool STDCALL mysql_rollback(MYSQL * mysql);
-my_bool STDCALL mysql_autocommit(MYSQL * mysql, my_bool auto_mode);
-my_bool STDCALL mysql_more_results(MYSQL *mysql);
-int STDCALL mysql_next_result(MYSQL *mysql);
-void STDCALL mysql_close(MYSQL *sock);
-
-
-/* status return codes */
-#define MYSQL_NO_DATA 100
-#define MYSQL_DATA_TRUNCATED 101
-
-#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
-
-#ifdef USE_OLD_FUNCTIONS
-MYSQL * STDCALL mysql_connect(MYSQL *mysql, const char *host,
- const char *user, const char *passwd);
-int STDCALL mysql_create_db(MYSQL *mysql, const char *DB);
-int STDCALL mysql_drop_db(MYSQL *mysql, const char *DB);
-#define mysql_reload(mysql) mysql_refresh((mysql),REFRESH_GRANT)
-#endif
-#define HAVE_MYSQL_REAL_CONNECT
-
-/*
- The following functions are mainly exported because of mysqlbinlog;
- They are not for general usage
-*/
-
-#define simple_command(mysql, command, arg, length, skip_check) \
- (*(mysql)->methods->advanced_command)(mysql, command, \
- NullS, 0, arg, length, skip_check)
-unsigned long net_safe_read(MYSQL* mysql);
-
-#ifdef __NETWARE__
-#pragma pack(pop) /* restore alignment */
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _mysql_h */
diff --git a/3rdparty/mysql/include/mysql_com.h b/3rdparty/mysql/include/mysql_com.h
deleted file mode 100644
index ec1c13379..000000000
--- a/3rdparty/mysql/include/mysql_com.h
+++ /dev/null
@@ -1,452 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-/*
-** Common definition between mysql server & client
-*/
-
-#ifndef _mysql_com_h
-#define _mysql_com_h
-
-#define NAME_LEN 64 /* Field/table name length */
-#define HOSTNAME_LENGTH 60
-#define USERNAME_LENGTH 16
-#define SERVER_VERSION_LENGTH 60
-#define SQLSTATE_LENGTH 5
-
-/*
- USER_HOST_BUFF_SIZE -- length of string buffer, that is enough to contain
- username and hostname parts of the user identifier with trailing zero in
- MySQL standard format:
- user_name_part@host_name_part\0
-*/
-#define USER_HOST_BUFF_SIZE HOSTNAME_LENGTH + USERNAME_LENGTH + 2
-
-#define LOCAL_HOST "localhost"
-#define LOCAL_HOST_NAMEDPIPE "."
-
-
-#if defined(__WIN__) && !defined( _CUSTOMCONFIG_)
-#define MYSQL_NAMEDPIPE "MySQL"
-#define MYSQL_SERVICENAME "MySQL"
-#endif /* __WIN__ */
-
-/*
- You should add new commands to the end of this list, otherwise old
- servers won't be able to handle them as 'unsupported'.
-*/
-
-enum enum_server_command
-{
- COM_SLEEP, COM_QUIT, COM_INIT_DB, COM_QUERY, COM_FIELD_LIST,
- COM_CREATE_DB, COM_DROP_DB, COM_REFRESH, COM_SHUTDOWN, COM_STATISTICS,
- COM_PROCESS_INFO, COM_CONNECT, COM_PROCESS_KILL, COM_DEBUG, COM_PING,
- COM_TIME, COM_DELAYED_INSERT, COM_CHANGE_USER, COM_BINLOG_DUMP,
- COM_TABLE_DUMP, COM_CONNECT_OUT, COM_REGISTER_SLAVE,
- COM_STMT_PREPARE, COM_STMT_EXECUTE, COM_STMT_SEND_LONG_DATA, COM_STMT_CLOSE,
- COM_STMT_RESET, COM_SET_OPTION, COM_STMT_FETCH,
- /* don't forget to update const char *command_name[] in sql_parse.cc */
-
- /* Must be last */
- COM_END
-};
-
-
-/*
- Length of random string sent by server on handshake; this is also length of
- obfuscated password, recieved from client
-*/
-#define SCRAMBLE_LENGTH 20
-#define SCRAMBLE_LENGTH_323 8
-/* length of password stored in the db: new passwords are preceeded with '*' */
-#define SCRAMBLED_PASSWORD_CHAR_LENGTH (SCRAMBLE_LENGTH*2+1)
-#define SCRAMBLED_PASSWORD_CHAR_LENGTH_323 (SCRAMBLE_LENGTH_323*2)
-
-
-#define NOT_NULL_FLAG 1 /* Field can't be NULL */
-#define PRI_KEY_FLAG 2 /* Field is part of a primary key */
-#define UNIQUE_KEY_FLAG 4 /* Field is part of a unique key */
-#define MULTIPLE_KEY_FLAG 8 /* Field is part of a key */
-#define BLOB_FLAG 16 /* Field is a blob */
-#define UNSIGNED_FLAG 32 /* Field is unsigned */
-#define ZEROFILL_FLAG 64 /* Field is zerofill */
-#define BINARY_FLAG 128 /* Field is binary */
-
-/* The following are only sent to new clients */
-#define ENUM_FLAG 256 /* field is an enum */
-#define AUTO_INCREMENT_FLAG 512 /* field is a autoincrement field */
-#define TIMESTAMP_FLAG 1024 /* Field is a timestamp */
-#define SET_FLAG 2048 /* field is a set */
-#define NO_DEFAULT_VALUE_FLAG 4096 /* Field doesn't have default value */
-#define NUM_FLAG 32768 /* Field is num (for clients) */
-#define PART_KEY_FLAG 16384 /* Intern; Part of some key */
-#define GROUP_FLAG 32768 /* Intern: Group field */
-#define UNIQUE_FLAG 65536 /* Intern: Used by sql_yacc */
-#define BINCMP_FLAG 131072 /* Intern: Used by sql_yacc */
-
-#define REFRESH_GRANT 1 /* Refresh grant tables */
-#define REFRESH_LOG 2 /* Start on new log file */
-#define REFRESH_TABLES 4 /* close all tables */
-#define REFRESH_HOSTS 8 /* Flush host cache */
-#define REFRESH_STATUS 16 /* Flush status variables */
-#define REFRESH_THREADS 32 /* Flush thread cache */
-#define REFRESH_SLAVE 64 /* Reset master info and restart slave
- thread */
-#define REFRESH_MASTER 128 /* Remove all bin logs in the index
- and truncate the index */
-
-/* The following can't be set with mysql_refresh() */
-#define REFRESH_READ_LOCK 16384 /* Lock tables for read */
-#define REFRESH_FAST 32768 /* Intern flag */
-
-/* RESET (remove all queries) from query cache */
-#define REFRESH_QUERY_CACHE 65536
-#define REFRESH_QUERY_CACHE_FREE 0x20000L /* pack query cache */
-#define REFRESH_DES_KEY_FILE 0x40000L
-#define REFRESH_USER_RESOURCES 0x80000L
-
-#define CLIENT_LONG_PASSWORD 1 /* new more secure passwords */
-#define CLIENT_FOUND_ROWS 2 /* Found instead of affected rows */
-#define CLIENT_LONG_FLAG 4 /* Get all column flags */
-#define CLIENT_CONNECT_WITH_DB 8 /* One can specify db on connect */
-#define CLIENT_NO_SCHEMA 16 /* Don't allow database.table.column */
-#define CLIENT_COMPRESS 32 /* Can use compression protocol */
-#define CLIENT_ODBC 64 /* Odbc client */
-#define CLIENT_LOCAL_FILES 128 /* Can use LOAD DATA LOCAL */
-#define CLIENT_IGNORE_SPACE 256 /* Ignore spaces before '(' */
-#define CLIENT_PROTOCOL_41 512 /* New 4.1 protocol */
-#define CLIENT_INTERACTIVE 1024 /* This is an interactive client */
-#define CLIENT_SSL 2048 /* Switch to SSL after handshake */
-#define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
-#define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
-#define CLIENT_RESERVED 16384 /* Old flag for 4.1 protocol */
-#define CLIENT_SECURE_CONNECTION 32768 /* New 4.1 authentication */
-#define CLIENT_MULTI_STATEMENTS 65536 /* Enable/disable multi-stmt support */
-#define CLIENT_MULTI_RESULTS 131072 /* Enable/disable multi-results */
-#define CLIENT_REMEMBER_OPTIONS (((ulong) 1) << 31)
-
-#define SERVER_STATUS_IN_TRANS 1 /* Transaction has started */
-#define SERVER_STATUS_AUTOCOMMIT 2 /* Server in auto_commit mode */
-#define SERVER_STATUS_MORE_RESULTS 4 /* More results on server */
-#define SERVER_MORE_RESULTS_EXISTS 8 /* Multi query - next query exists */
-#define SERVER_QUERY_NO_GOOD_INDEX_USED 16
-#define SERVER_QUERY_NO_INDEX_USED 32
-/*
- The server was able to fulfill the clients request and opened a
- read-only non-scrollable cursor for a query. This flag comes
- in reply to COM_STMT_EXECUTE and COM_STMT_FETCH commands.
-*/
-#define SERVER_STATUS_CURSOR_EXISTS 64
-/*
- This flag is sent when a read-only cursor is exhausted, in reply to
- COM_STMT_FETCH command.
-*/
-#define SERVER_STATUS_LAST_ROW_SENT 128
-#define SERVER_STATUS_DB_DROPPED 256 /* A database was dropped */
-#define SERVER_STATUS_NO_BACKSLASH_ESCAPES 512
-
-#define MYSQL_ERRMSG_SIZE 512
-#define NET_READ_TIMEOUT 30 /* Timeout on read */
-#define NET_WRITE_TIMEOUT 60 /* Timeout on write */
-#define NET_WAIT_TIMEOUT 8*60*60 /* Wait for new query */
-
-#define ONLY_KILL_QUERY 1
-
-struct st_vio; /* Only C */
-typedef struct st_vio Vio;
-
-#define MAX_TINYINT_WIDTH 3 /* Max width for a TINY w.o. sign */
-#define MAX_SMALLINT_WIDTH 5 /* Max width for a SHORT w.o. sign */
-#define MAX_MEDIUMINT_WIDTH 8 /* Max width for a INT24 w.o. sign */
-#define MAX_INT_WIDTH 10 /* Max width for a LONG w.o. sign */
-#define MAX_BIGINT_WIDTH 20 /* Max width for a LONGLONG */
-#define MAX_CHAR_WIDTH 255 /* Max length for a CHAR colum */
-#define MAX_BLOB_WIDTH 8192 /* Default width for blob */
-
-typedef struct st_net {
-#if !defined(CHECK_EMBEDDED_DIFFERENCES) || !defined(EMBEDDED_LIBRARY)
- Vio* vio;
- unsigned char *buff,*buff_end,*write_pos,*read_pos;
- my_socket fd; /* For Perl DBI/dbd */
- unsigned long max_packet,max_packet_size;
- unsigned int pkt_nr,compress_pkt_nr;
- unsigned int write_timeout, read_timeout, retry_count;
- int fcntl;
- my_bool compress;
- /*
- The following variable is set if we are doing several queries in one
- command ( as in LOAD TABLE ... FROM MASTER ),
- and do not want to confuse the client with OK at the wrong time
- */
- unsigned long remain_in_buf,length, buf_length, where_b;
- unsigned int *return_status;
- unsigned char reading_or_writing;
- char save_char;
- my_bool no_send_ok; /* For SPs and other things that do multiple stmts */
- my_bool no_send_eof; /* For SPs' first version read-only cursors */
- /*
- Set if OK packet is already sent, and we do not need to send error
- messages
- */
- my_bool no_send_error;
- /*
- Pointer to query object in query cache, do not equal NULL (0) for
- queries in cache that have not stored its results yet
- */
-#endif
- char last_error[MYSQL_ERRMSG_SIZE], sqlstate[SQLSTATE_LENGTH+1];
- unsigned int last_errno;
- unsigned char error;
- gptr query_cache_query;
- my_bool report_error; /* We should report error (we have unreported error) */
- my_bool return_errno;
-} NET;
-
-#define packet_error (~(unsigned long) 0)
-
-enum enum_field_types { MYSQL_TYPE_DECIMAL, MYSQL_TYPE_TINY,
- MYSQL_TYPE_SHORT, MYSQL_TYPE_LONG,
- MYSQL_TYPE_FLOAT, MYSQL_TYPE_DOUBLE,
- MYSQL_TYPE_NULL, MYSQL_TYPE_TIMESTAMP,
- MYSQL_TYPE_LONGLONG,MYSQL_TYPE_INT24,
- MYSQL_TYPE_DATE, MYSQL_TYPE_TIME,
- MYSQL_TYPE_DATETIME, MYSQL_TYPE_YEAR,
- MYSQL_TYPE_NEWDATE, MYSQL_TYPE_VARCHAR,
- MYSQL_TYPE_BIT,
- MYSQL_TYPE_NEWDECIMAL=246,
- MYSQL_TYPE_ENUM=247,
- MYSQL_TYPE_SET=248,
- MYSQL_TYPE_TINY_BLOB=249,
- MYSQL_TYPE_MEDIUM_BLOB=250,
- MYSQL_TYPE_LONG_BLOB=251,
- MYSQL_TYPE_BLOB=252,
- MYSQL_TYPE_VAR_STRING=253,
- MYSQL_TYPE_STRING=254,
- MYSQL_TYPE_GEOMETRY=255
-
-};
-
-/* For backward compatibility */
-#define CLIENT_MULTI_QUERIES CLIENT_MULTI_STATEMENTS
-#define FIELD_TYPE_DECIMAL MYSQL_TYPE_DECIMAL
-#define FIELD_TYPE_NEWDECIMAL MYSQL_TYPE_NEWDECIMAL
-#define FIELD_TYPE_TINY MYSQL_TYPE_TINY
-#define FIELD_TYPE_SHORT MYSQL_TYPE_SHORT
-#define FIELD_TYPE_LONG MYSQL_TYPE_LONG
-#define FIELD_TYPE_FLOAT MYSQL_TYPE_FLOAT
-#define FIELD_TYPE_DOUBLE MYSQL_TYPE_DOUBLE
-#define FIELD_TYPE_NULL MYSQL_TYPE_NULL
-#define FIELD_TYPE_TIMESTAMP MYSQL_TYPE_TIMESTAMP
-#define FIELD_TYPE_LONGLONG MYSQL_TYPE_LONGLONG
-#define FIELD_TYPE_INT24 MYSQL_TYPE_INT24
-#define FIELD_TYPE_DATE MYSQL_TYPE_DATE
-#define FIELD_TYPE_TIME MYSQL_TYPE_TIME
-#define FIELD_TYPE_DATETIME MYSQL_TYPE_DATETIME
-#define FIELD_TYPE_YEAR MYSQL_TYPE_YEAR
-#define FIELD_TYPE_NEWDATE MYSQL_TYPE_NEWDATE
-#define FIELD_TYPE_ENUM MYSQL_TYPE_ENUM
-#define FIELD_TYPE_SET MYSQL_TYPE_SET
-#define FIELD_TYPE_TINY_BLOB MYSQL_TYPE_TINY_BLOB
-#define FIELD_TYPE_MEDIUM_BLOB MYSQL_TYPE_MEDIUM_BLOB
-#define FIELD_TYPE_LONG_BLOB MYSQL_TYPE_LONG_BLOB
-#define FIELD_TYPE_BLOB MYSQL_TYPE_BLOB
-#define FIELD_TYPE_VAR_STRING MYSQL_TYPE_VAR_STRING
-#define FIELD_TYPE_STRING MYSQL_TYPE_STRING
-#define FIELD_TYPE_CHAR MYSQL_TYPE_TINY
-#define FIELD_TYPE_INTERVAL MYSQL_TYPE_ENUM
-#define FIELD_TYPE_GEOMETRY MYSQL_TYPE_GEOMETRY
-#define FIELD_TYPE_BIT MYSQL_TYPE_BIT
-
-
-/* Shutdown/kill enums and constants */
-
-/* Bits for THD::killable. */
-#define MYSQL_SHUTDOWN_KILLABLE_CONNECT (unsigned char)(1 << 0)
-#define MYSQL_SHUTDOWN_KILLABLE_TRANS (unsigned char)(1 << 1)
-#define MYSQL_SHUTDOWN_KILLABLE_LOCK_TABLE (unsigned char)(1 << 2)
-#define MYSQL_SHUTDOWN_KILLABLE_UPDATE (unsigned char)(1 << 3)
-
-enum mysql_enum_shutdown_level {
- /*
- We want levels to be in growing order of hardness (because we use number
- comparisons). Note that DEFAULT does not respect the growing property, but
- it's ok.
- */
- SHUTDOWN_DEFAULT = 0,
- /* wait for existing connections to finish */
- SHUTDOWN_WAIT_CONNECTIONS= MYSQL_SHUTDOWN_KILLABLE_CONNECT,
- /* wait for existing trans to finish */
- SHUTDOWN_WAIT_TRANSACTIONS= MYSQL_SHUTDOWN_KILLABLE_TRANS,
- /* wait for existing updates to finish (=> no partial MyISAM update) */
- SHUTDOWN_WAIT_UPDATES= MYSQL_SHUTDOWN_KILLABLE_UPDATE,
- /* flush InnoDB buffers and other storage engines' buffers*/
- SHUTDOWN_WAIT_ALL_BUFFERS= (MYSQL_SHUTDOWN_KILLABLE_UPDATE << 1),
- /* don't flush InnoDB buffers, flush other storage engines' buffers*/
- SHUTDOWN_WAIT_CRITICAL_BUFFERS= (MYSQL_SHUTDOWN_KILLABLE_UPDATE << 1) + 1,
- /* Now the 2 levels of the KILL command */
-#if MYSQL_VERSION_ID >= 50000
- KILL_QUERY= 254,
-#endif
- KILL_CONNECTION= 255
-};
-
-
-enum enum_cursor_type
-{
- CURSOR_TYPE_NO_CURSOR= 0,
- CURSOR_TYPE_READ_ONLY= 1,
- CURSOR_TYPE_FOR_UPDATE= 2,
- CURSOR_TYPE_SCROLLABLE= 4
-};
-
-
-/* options for mysql_set_option */
-enum enum_mysql_set_option
-{
- MYSQL_OPTION_MULTI_STATEMENTS_ON,
- MYSQL_OPTION_MULTI_STATEMENTS_OFF
-};
-
-#define net_new_transaction(net) ((net)->pkt_nr=0)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-my_bool my_net_init(NET *net, Vio* vio);
-void my_net_local_init(NET *net);
-void net_end(NET *net);
-void net_clear(NET *net);
-my_bool net_realloc(NET *net, unsigned long length);
-my_bool net_flush(NET *net);
-my_bool my_net_write(NET *net,const char *packet,unsigned long len);
-my_bool net_write_command(NET *net,unsigned char command,
- const char *header, unsigned long head_len,
- const char *packet, unsigned long len);
-int net_real_write(NET *net,const char *packet,unsigned long len);
-unsigned long my_net_read(NET *net);
-
-/*
- The following function is not meant for normal usage
- Currently it's used internally by manager.c
-*/
-struct sockaddr;
-int my_connect(my_socket s, const struct sockaddr *name, unsigned int namelen,
- unsigned int timeout);
-
-struct rand_struct {
- unsigned long seed1,seed2,max_value;
- double max_value_dbl;
-};
-
-#ifdef __cplusplus
-}
-#endif
-
- /* The following is for user defined functions */
-
-enum Item_result {STRING_RESULT=0, REAL_RESULT, INT_RESULT, ROW_RESULT,
- DECIMAL_RESULT};
-
-typedef struct st_udf_args
-{
- unsigned int arg_count; /* Number of arguments */
- enum Item_result *arg_type; /* Pointer to item_results */
- char **args; /* Pointer to argument */
- unsigned long *lengths; /* Length of string arguments */
- char *maybe_null; /* Set to 1 for all maybe_null args */
- char **attributes; /* Pointer to attribute name */
- unsigned long *attribute_lengths; /* Length of attribute arguments */
-} UDF_ARGS;
-
- /* This holds information about the result */
-
-typedef struct st_udf_init
-{
- my_bool maybe_null; /* 1 if function can return NULL */
- unsigned int decimals; /* for real functions */
- unsigned long max_length; /* For string functions */
- char *ptr; /* free pointer for function data */
- my_bool const_item; /* 0 if result is independent of arguments */
-} UDF_INIT;
-
- /* Constants when using compression */
-#define NET_HEADER_SIZE 4 /* standard header size */
-#define COMP_HEADER_SIZE 3 /* compression header extra size */
-
- /* Prototypes to password functions */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- These functions are used for authentication by client and server and
- implemented in sql/password.c
-*/
-
-void randominit(struct rand_struct *, unsigned long seed1,
- unsigned long seed2);
-double my_rnd(struct rand_struct *);
-void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
-
-void hash_password(unsigned long *to, const char *password, unsigned int password_len);
-void make_scrambled_password_323(char *to, const char *password);
-void scramble_323(char *to, const char *message, const char *password);
-my_bool check_scramble_323(const char *, const char *message,
- unsigned long *salt);
-void get_salt_from_password_323(unsigned long *res, const char *password);
-void make_password_from_salt_323(char *to, const unsigned long *salt);
-
-void make_scrambled_password(char *to, const char *password);
-void scramble(char *to, const char *message, const char *password);
-my_bool check_scramble(const char *reply, const char *message,
- const unsigned char *hash_stage2);
-void get_salt_from_password(unsigned char *res, const char *password);
-void make_password_from_salt(char *to, const unsigned char *hash_stage2);
-char *octet2hex(char *to, const char *str, unsigned int len);
-
-/* end of password.c */
-
-char *get_tty_password(char *opt_message);
-const char *mysql_errno_to_sqlstate(unsigned int mysql_errno);
-
-/* Some other useful functions */
-
-my_bool my_init(void);
-extern int modify_defaults_file(const char *file_location, const char *option,
- const char *option_value,
- const char *section_name, int remove_option);
-int load_defaults(const char *conf_file, const char **groups,
- int *argc, char ***argv);
-my_bool my_thread_init(void);
-void my_thread_end(void);
-
-#ifdef _global_h
-ulong STDCALL net_field_length(uchar **packet);
-my_ulonglong net_field_length_ll(uchar **packet);
-char *net_store_length(char *pkg, ulonglong length);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#define NULL_LENGTH ((unsigned long) ~0) /* For net_store_length */
-#define MYSQL_STMT_HEADER 4
-#define MYSQL_LONG_DATA_HEADER 6
-
-#endif
diff --git a/3rdparty/mysql/include/mysql_time.h b/3rdparty/mysql/include/mysql_time.h
deleted file mode 100644
index 5f4fc12c0..000000000
--- a/3rdparty/mysql/include/mysql_time.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 2004 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-#ifndef _mysql_time_h_
-#define _mysql_time_h_
-
-/*
- Time declarations shared between the server and client API:
- you should not add anything to this header unless it's used
- (and hence should be visible) in mysql.h.
- If you're looking for a place to add new time-related declaration,
- it's most likely my_time.h. See also "C API Handling of Date
- and Time Values" chapter in documentation.
-*/
-
-enum enum_mysql_timestamp_type
-{
- MYSQL_TIMESTAMP_NONE= -2, MYSQL_TIMESTAMP_ERROR= -1,
- MYSQL_TIMESTAMP_DATE= 0, MYSQL_TIMESTAMP_DATETIME= 1, MYSQL_TIMESTAMP_TIME= 2
-};
-
-
-/*
- Structure which is used to represent datetime values inside MySQL.
-
- We assume that values in this structure are normalized, i.e. year <= 9999,
- month <= 12, day <= 31, hour <= 23, hour <= 59, hour <= 59. Many functions
- in server such as my_system_gmt_sec() or make_time() family of functions
- rely on this (actually now usage of make_*() family relies on a bit weaker
- restriction). Also functions that produce MYSQL_TIME as result ensure this.
- There is one exception to this rule though if this structure holds time
- value (time_type == MYSQL_TIMESTAMP_TIME) days and hour member can hold
- bigger values.
-*/
-typedef struct st_mysql_time
-{
- unsigned int year, month, day, hour, minute, second;
- unsigned long second_part;
- my_bool neg;
- enum enum_mysql_timestamp_type time_type;
-} MYSQL_TIME;
-
-#endif /* _mysql_time_h_ */
diff --git a/3rdparty/mysql/include/mysql_version.h b/3rdparty/mysql/include/mysql_version.h
deleted file mode 100644
index 473a19987..000000000
--- a/3rdparty/mysql/include/mysql_version.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright Abandoned 1996, 1999, 2001 MySQL AB
- This file is public domain and comes with NO WARRANTY of any kind */
-
-/* Version numbers for protocol & mysqld */
-
-#ifndef _mysql_version_h
-#define _mysql_version_h
-#ifdef _CUSTOMCONFIG_
-#include <custom_conf.h>
-#else
-#define PROTOCOL_VERSION 10
-#define MYSQL_SERVER_VERSION "5.0.20"
-#define MYSQL_BASE_VERSION "mysqld-5.0"
-#define MYSQL_SERVER_SUFFIX_DEF "-community-max-nt"
-#define FRM_VER 6
-#define MYSQL_VERSION_ID 50020
-#define MYSQL_PORT 3306
-#define MYSQL_UNIX_ADDR "/tmp/mysql.sock"
-#define MYSQL_CONFIG_NAME "my"
-#define MYSQL_COMPILATION_COMMENT "MySQL Community Edition - Max (GPL)"
-
-/* mysqld compile time options */
-#endif /* _CUSTOMCONFIG_ */
-
-#ifndef LICENSE
-#define LICENSE GPL
-#endif /* LICENSE */
-
-#endif /* _mysql_version_h */
diff --git a/3rdparty/mysql/include/raid.h b/3rdparty/mysql/include/raid.h
deleted file mode 100644
index c840afcba..000000000
--- a/3rdparty/mysql/include/raid.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-/* Parser needs these defines always, even if USE_RAID is not defined */
-#define RAID_TYPE_0 1 /* Striping */
-#define RAID_TYPE_x 2 /* Some new modes */
-#define RAID_TYPE_y 3
-
-#define RAID_DEFAULT_CHUNKS 4
-#define RAID_DEFAULT_CHUNKSIZE 256*1024 /* 256kB */
-
-C_MODE_START
-#define my_raid_type(raid_type) raid_type_string[(int)(raid_type)]
-extern const char *raid_type_string[];
-C_MODE_END
-
-#ifdef DONT_USE_RAID
-#undef USE_RAID
-#endif
-#if defined(USE_RAID)
-
-#include "my_dir.h"
-
-/* Trap all occurences of my_...() in source and use our wrapper around this function */
-
-#ifdef MAP_TO_USE_RAID
-#define my_read(A,B,C,D) my_raid_read(A,B,C,D)
-#define my_write(A,B,C,D) my_raid_write(A,B,C,D)
-#define my_pwrite(A,B,C,D,E) my_raid_pwrite(A,B,C,D,E)
-#define my_pread(A,B,C,D,E) my_raid_pread(A,B,C,D,E)
-#define my_chsize(A,B,C,D) my_raid_chsize(A,B,C,D)
-#define my_close(A,B) my_raid_close(A,B)
-#define my_tell(A,B) my_raid_tell(A,B)
-#define my_seek(A,B,C,D) my_raid_seek(A,B,C,D)
-#define my_lock(A,B,C,D,E) my_raid_lock(A,B,C,D,E)
-#define my_fstat(A,B,C) my_raid_fstat(A,B,C)
-#endif /* MAP_TO_USE_RAID */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- void init_raid(void);
- void end_raid(void);
-
- bool is_raid(File fd);
- File my_raid_create(const char *FileName, int CreateFlags, int access_flags,
- uint raid_type, uint raid_chunks, ulong raid_chunksize,
- myf MyFlags);
- File my_raid_open(const char *FileName, int Flags,
- uint raid_type, uint raid_chunks, ulong raid_chunksize,
- myf MyFlags);
- int my_raid_rename(const char *from, const char *to, uint raid_chunks,
- myf MyFlags);
- int my_raid_delete(const char *from, uint raid_chunks, myf MyFlags);
- int my_raid_redel(const char *old_name, const char *new_name,
- uint raid_chunks, myf MyFlags);
-
- my_off_t my_raid_seek(File fd, my_off_t pos, int whence, myf MyFlags);
- my_off_t my_raid_tell(File fd, myf MyFlags);
-
- uint my_raid_write(File,const byte *Buffer, uint Count, myf MyFlags);
- uint my_raid_read(File Filedes, byte *Buffer, uint Count, myf MyFlags);
-
- uint my_raid_pread(File Filedes, byte *Buffer, uint Count, my_off_t offset,
- myf MyFlags);
- uint my_raid_pwrite(int Filedes, const byte *Buffer, uint Count,
- my_off_t offset, myf MyFlags);
-
- int my_raid_lock(File,int locktype, my_off_t start, my_off_t length,
- myf MyFlags);
- int my_raid_chsize(File fd, my_off_t newlength, int filler, myf MyFlags);
- int my_raid_close(File, myf MyFlags);
- int my_raid_fstat(int Filedes, struct stat *buf, myf MyFlags);
-
-#ifdef __cplusplus
-}
-
-#ifdef USE_PRAGMA_INTERFACE
-#pragma interface /* gcc class implementation */
-#endif
-
-class RaidName {
- public:
- RaidName(const char *FileName);
- ~RaidName();
- bool IsRaid();
- int Rename(const char * from, const char * to, myf MyFlags);
- private:
- uint _raid_type; /* RAID_TYPE_0 or RAID_TYPE_1 or RAID_TYPE_5 */
- uint _raid_chunks; /* 1..n */
- ulong _raid_chunksize; /* 1..n in bytes */
-};
-
-class RaidFd {
- public:
- RaidFd(uint raid_type, uint raid_chunks , ulong raid_chunksize);
- ~RaidFd();
- File Create(const char *FileName, int CreateFlags, int access_flags,
- myf MyFlags);
- File Open(const char *FileName, int Flags, myf MyFlags);
- my_off_t Seek(my_off_t pos,int whence,myf MyFlags);
- my_off_t Tell(myf MyFlags);
- int Write(const byte *Buffer, uint Count, myf MyFlags);
- int Read(const byte *Buffer, uint Count, myf MyFlags);
- int Lock(int locktype, my_off_t start, my_off_t length, myf MyFlags);
- int Chsize(File fd, my_off_t newlength, int filler, myf MyFlags);
- int Fstat(int fd, MY_STAT *stat_area, myf MyFlags );
- int Close(myf MyFlags);
- static bool IsRaid(File fd);
- static DYNAMIC_ARRAY _raid_map; /* Map of RaidFD* */
- private:
-
- uint _raid_type; /* RAID_TYPE_0 or RAID_TYPE_1 or RAID_TYPE_5 */
- uint _raid_chunks; /* 1..n */
- ulong _raid_chunksize; /* 1..n in bytes */
-
- ulong _total_block; /* We are operating with block no x (can be 0..many). */
- uint _this_block; /* can be 0.._raid_chunks */
- uint _remaining_bytes; /* Maximum bytes that can be written in this block */
-
- my_off_t _position;
- my_off_t _size; /* Cached file size for faster seek(SEEK_END) */
- File _fd;
- File *_fd_vector; /* Array of File */
- off_t *_seek_vector; /* Array of cached seek positions */
-
- inline void Calculate()
- {
- DBUG_ENTER("RaidFd::_Calculate");
- DBUG_PRINT("info",("_position: %lu _raid_chunksize: %d, _size: %lu",
- (ulong) _position, _raid_chunksize, (ulong) _size));
-
- _total_block = (ulong) (_position / _raid_chunksize);
- _this_block = _total_block % _raid_chunks; /* can be 0.._raid_chunks */
- _remaining_bytes = (uint) (_raid_chunksize -
- (_position - _total_block * _raid_chunksize));
- DBUG_PRINT("info",
- ("_total_block: %d this_block: %d _remaining_bytes:%d",
- _total_block, _this_block, _remaining_bytes));
- DBUG_VOID_RETURN;
- }
-};
-
-#endif /* __cplusplus */
-#endif /* USE_RAID */
diff --git a/3rdparty/mysql/include/typelib.h b/3rdparty/mysql/include/typelib.h
deleted file mode 100644
index 4d6a90ad5..000000000
--- a/3rdparty/mysql/include/typelib.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 2000 MySQL AB
-
- This program 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 2 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, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
-
-
-#ifndef _typelib_h
-#define _typelib_h
-
-typedef struct st_typelib { /* Different types saved here */
- unsigned int count; /* How many types */
- const char *name; /* Name of typelib */
- const char **type_names;
- unsigned int *type_lengths;
-} TYPELIB;
-
-extern int find_type(char *x,TYPELIB *typelib,unsigned int full_name);
-extern void make_type(char *to,unsigned int nr,TYPELIB *typelib);
-extern const char *get_type(TYPELIB *typelib,unsigned int nr);
-
-extern TYPELIB sql_protocol_typelib;
-
-#endif /* _typelib_h */
diff --git a/3rdparty/mysql/lib/libmysql.lib b/3rdparty/mysql/lib/libmysql.lib
deleted file mode 100644
index aa99dc3b8..000000000
--- a/3rdparty/mysql/lib/libmysql.lib
+++ /dev/null
Binary files differ
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9fe7a2450..97cbf5bfc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,15 +5,669 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project does not adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
## [Unreleased]
+
<!--
If you are reading this in a text editor, simply ignore this section
-->
+## [v2020.04.05] `April 05 2020` `PATCH 1`
+
+### Fixed
+
+- Fixed a regression that prevented pets from hatching. (#2685, issue #2683)
+
+## [v2020.04.05] `April 05 2020`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2020-04-01. (#2663)
+- The `setpcblock()` and `checkpcblock()` can now be used on another character by passing the account id. (#2668)
+- Added new StatusChange types (`SC_POPECOOKIE`, `SC_VITALIZE_POTION`, `SC_SKF_MATK`, `SC_SKF_ATK`, `SC_SKF_ASPD`, `SC_SKF_CAST`, `SC_ALMIGHTY`) and updated relevant items. (#2658, related to #1177)
+- Added _libbacktrace_ support (currently Linux-only) for better error call stack logging. (#2581)
+
+### Changed
+
+- Extended the atcommand `@fakename` with a new `options` parameter, to select which names will be displayed. (#2637, related to issue #1966 and #2168)
+- Refactored the pet system code. (#2600, issues #2434 and #303)
+ - Added enumerations for pet hunger/intimacy levels
+ - Added value capping to `pet_set_intimate()` function.
+ - Adjusted pet catch rate calculation. The old, custom, calculation can be restored by setting the `pet_catch_rate_official_formula` battle config flag to false.
+ - Adjusted pet intimacy calculation when feeding.
+ - Improved validation of the Pet DB fields and of the input of various pet related functions.
+ - Removed the redundant `SpriteName` field from pet DB.
+ - Changed `EggItem` field in pet DB to be mandatory.
+ - Added new field `HungerDecrement` to pet DB. This replaces the `pet_hungry_friendly_decrease` battle config setting.
+ - Added new field `Intimacy.StarvingDelay` to pet DB.
+ - Added new field `Intimacy.StarvingDecrement` to pet DB.
+ - Increased `MAX_MOB_DB` to 22000.
+ - Added pet DB documentation file. (`doc/pet_db.txt`)
+ - Removed fields from pet DB where default values can be used.
+ - Added intimacy validation to pet DB `EquipScript` fields. This replaces the `pet_equip_min_friendly` battle config setting.
+ - Adjusted `inter_pet_tosql()` and `inter_pet_fromsql()` functions to use prepared statements.
+ - Refactored and/or updated code style of various functions that were touched by this pull request.
+- Added a backtrace to the error message of `clif_unknownname_ack()`. (part of #2663)
+- Added a `UNIQUE` constraint to the `userid` column of the `login` SQL table to prevent having multiple accounts with the same name. (#2666, related to #2169)
+- Increased the column size of `list`for the `ipbanlist` SQL table to accomodate for non-wildcard IPv4 and for IPv6 compatiblity. (#2665, issue #2631)
+
+### Fixed
+
+- Fixed memory violations and incorrect handling of `npc_data` in the quest info code. (#2682)
+- Fixed an issue that prevented the fake name to show up when using `@fakename` in RE clients. (part of #2637)
+- Fixed a compiler error in `PACKET_ZC_SE_CASHSHOP_OPEN`. (part of #2663, issue #2669)
+- Added missing libraries into the plugins Makefile, causing a linking error when a plugin uses MySQL or other libraries. (part of #2663)
+- Fixed a bug causing failed assertions that appeared when attacking a skill unit (such as Ice Wall). (#2678)
+- Fixed a bug causing failed assertions in `timer_do_delete()`, related to `ud->walktimer`. (#2676)
+- Fixed a bug allowing to equip bullets and grenades regardless of the weapon type. (#2660, issue #2661, related to #2579)
+- Fixed a memory leak in barter NPCs. (#2655)
+- Fixed a pointer overflow in the script command `getiteminfo()`. (#2656)
+- Refactored and fixed several bugs in the skill auto-cast system. (#2657, issue #1211)
+
+### Removed
+
+- Removed the `pet_hungry_friendly_decrease` battle config setting, superseded by the `HungerDecrement` field of the Pet DB. (part of #2600)
+- Removed the `pet_equip_min_friendly` battle config setting, superseded by the code inside the Pet DB `EquipScript` fields. (part of #2600)
+- Removed the redundant `SpriteName` field from pet DB. (part of #2600)
+
+## [v2020.03.08+2] `March 08 2020` `PATCH 2`
+
+### Fixed
+
+- Fixed an incorrect return value in `unit->walktobl()` causing mobs to get stuck when they try to loot. (#2664)
+
+## [v2020.03.08+1] `March 08 2020` `PATCH 1`
+
+### Fixed
+
+- Fixed an incorrect return value in `unit->walktobl()` causing mobs to be unable to walk to their target. (#2659)
+
+## [v2020.03.08] `March 08 2020`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2020-03-04. (#2645)
+- Exposed the item bound type (`IBT_*`) constants to the script engine. (#2650)
+- Added item scripts for item IDs 12459 through 12465 and corrected their name in the pre-renewal DB. (#2634, issue #1196)
+- Added the `unitiswalking()` script command, to check whether an unit is walking at a given time. (#2628)
+
+### Changed
+
+- Changed the default `PACKETVER` to 2019-05-30. (part of #2645)
+- Major refactoring of the functions in `unit.c`, adding code documentation and following the code style guidelines. Functions have been renamed when backward compatible changes to the arguments or return values were made. (#2546)
+ - A new header `unitdefines.h` has been added.
+ - `enum unit_dir` is now provided, to standardize handling of facing/walking directions.
+ - The macros `unit_get_opposite_dir()`, `unit_is_diagonal_dir()`, `unit_is_dir_or_opposite()`, `unit_get_ccw90_dir()`, `unit_get_rnd_diagonal_dir()` have been added.
+ - `unit->walktoxy_timer()` has been renamed to `unit->walk_toxy_timer()` and its return values have been changed and documented.
+ - `unit->walktoxy_sub()` has been renamed to `unit->walk_toxy_sub()` and its return values have been changed and documented.
+ - `unit->delay_walktoxy_timer()` has been renamed to `unit->delay_walk_toxy_timer()` and its return values have been changed and documented.
+ - `unit->walktoxy()` has been renamed to `unit->walk_toxy()` and its return values have been changed and documented.
+ - `unit->walktobl_sub()` has been renamed to `unit->walk_tobl_timer()` and its return values have been changed and documented.
+ - `unit->setdir()` has been renamed to `unit->set_dir()` and its return value and arguments have been changed and documented.
+ - `unit->getdir()` has been renamed to `unit->get_dir()` and its return type and constness of the arguments have been changed.
+ - `unit->warpto_master()` has been added.
+ - `unit->sleep_timer()` has been renamed to `unit->sleeptimer()` and its return values have been changed and documented.
+ - `unit->calc_pos()` now accepts `enum unit_dir`.
+ - `map->check_dir()` now accepts `enum unit_dir`.
+ - `map->calc_dir()` now returns `enum unit_dir` and accepts a const bl.
+ - `npc->create_npc()` now accepts `enum unit_dir`.
+ - `skill->blown()` now accepts `enum unit_dir`.
+ - `skill->brandishspear_first()` now accepts `enum unit_dir`.
+ - `skill->brandishspear_dir()` now accepts `enum unit_dir`.
+ - `skill->attack_blow_unknown()` now accepts `enum unit_dir`.
+ - The remaining unit functions have been documented.
+- New return values have been added to `pc->setpos()`, for better error handling. (#2633, issue #2632)
+- Increased the `MAX_MOB_LIST_PER_MAP` value to 115 in pre-renewal builds, to fit all the default spawns. (#2638, issue #1915)
+- Extended the `getiteminfo()` command to also accept item names, and added the types `ITEMINFO_ID`, `ITEMINFO_AEGISNAME`, `ITEMINFO_NAME`. (#2639)
+- Changed `itemskill()` to ignore conditions by default. The `ISF_CHECKCONDITIONS` needs to be explicitly passed if conditions should be checked/consumed. (part of #2648)
+- Changed the NPC shop behavior to prevent selling items from the favorites tab of the inventory. (#2651)
+- Updated Doxygen configuration to speed up generation and fix compatibility warnings. (0d747896e0)
+- Updated the Travis-CI configuration file according to the validation warnings and notices. (eb97973e68)
+
+### Fixed
+
+- Fixed a missing `get_index()` call in `Skill2SCTable`, causing some skills to activate the wrong status. (#2643, issue #2636)
+- Fixed a compilation error C2233 in Visual Studio. (part of #2645)
+- Fixed Basilica unintentionally restraining boss mobs. (#2612, issue #1276, related to issue #2420)
+- Fixed the handling of unequip scripts in zones where an item is restricted. The `OnUnequip` script is now never executed when unequipping in a restricted zone, but it is always executed when entering such zones, regardless of the `unequip_restricted_equipment` battle flag. (#2642, issue #2180)
+- Fixed the handling of skill requirements and conditions by the `itemskill()` command. (#2648, issue #2646)
+- Added missing requirements to `CASH_INCAGI` and `RK_CRUSHSTRIKE`. (part of #2648)
+
+### Removed
+
+- Removed the `ISF_IGNORECONDITIONS` flag previously used by `itemskill()`, now the default behavior. (#2648)
+
+## [v2020.02.09] `February 09 2020`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2020-02-06. (#2625)
+- Added support for the expanded barter shop, see example script in `npc/custom/expandedbartershop.txt` and the related script commands `sellitem()`, `startsellitem()`, `sellitemcurrency()`, `endsellitem()`. Note: this includes a database migration. (part of #2625)
+- Added the new script commands `cloakonnpc()` and `cloakoffnpc()`. (part of #2615)
+- Added the new script command `achievement_iscompleted()` to check for achievement completion. (part of #2615)
+- Added Exploration Achievement NPCs. (#2615)
+- Added support for an `OnNPCUnload` label, where a script can perform its cleanup before being unloaded (such as removing mapflags, etc). (part of #2590)
+- Added the Rebellion jobchange quest and its related mobs and items. (#2621)
+- Added support for switching madogear type. See the documentation for `setmount()` and the related `MADO_ROBOT` and `MADO_SUITE` constants. (#2586)
+
+### Changed
+
+- Changed the logic of `skill_get_index` to make it easier to add new skills, custom or official. (#2596)
+- Refactored `int_party` code related to exp sharing calculations. (part of #2601)
+- Updated the Duel system cooldown to be configurable with seconds granularity. The `duel_time_interval` setting can be safely updated and with `@reloadbattleconf`, applying to any existing cooldowns. (#1495)
+- Converted `PACKET_ZC_STATE_CHANGE` to use its struct format and added a function to send it to a single target. (part of #2615)
+- Changed the behavior of `@unloadnpc`, `@reloadnpc`, `@unloadnpcfile` to kill the monsters that were spawned by the unloaded script (non-permanent spawns). (#2590, issue #2530)
+- Updated the `mobdbconverter.py` tool to support Race, Size and Element constants. The script now requires Python 3. (#2620)
+- Cleaned up a duplicate definition of `SP_VARCASTRATE` in `pc_readparam()`. (#2624, issue #1311)
+- Extended `itemskill()` with a new `ISF_INSTANTCAST` flag to be able to cast a skill without cast time. (part of #2616)
+- Extended `itemskill()` with a new `ISF_CASTONSELF` flag to be able to forcefully cast a skill on the invoking character. (part of #2616)
+- Converted `ZC_AUTORUN_SKILL` to use its struct format. (part of #2616)
+
+### Fixed
+
+- Fixed some signed/unsigned mismatch compiler warnings. (#2601, issue #1434)
+- Fixed some cases where the family exp sharing state wasn't correctly detected. (part of #2601)
+- Fixed a duplicate "Skill Failed" message when using Asura Strike. (part of #2248, issue #1239)
+- Fixed an issue that made a character turn to face its target after casting Asura Strike. (#2248, issue #1239)
+- Fixed the position of a character after a failed Asura Strike cast, to be 3 cells from its original position instead of 2. (part of #2248, issue #1239)
+- Fixed the status icon from the Elemental Resistance Potions and the Undead Element Scroll not disappearing when the status changes end. (#2614, issue #2593)
+- Fixed a crash when using `@loadnpc`, `@reloadnpc` or `@unloadnpcfile` on a directory. (part of #2590, issue #1279)
+- Fixed `PR_STRECOVERY` to only cure status effects if the target's element isn't Undead. (#2618, issue #2558)
+- Fixed the mobs spawned by `mob_clone_spawn()` (`clone()`, `@evilclone`) being invulnerable because of an uninitialized `dmg_taken_rate` taking the value of 0. (#2617, issue #2607)
+- Fixed a crash when the script function `getunits()` was called with an invalid mapindex. Now an error message is added when the mapindex validation fails. (#2619)
+- Fixed a crash when `map_forcountinmap()` was called with an invalid mapindex. Now the function will return 0 instead. (part of #2619)
+- Fixed clientside errors when using a `ViewData` block in the mob database without specifying a `HairStyleId`. The hair style will now default to 1 when a `ViewData` block is specified. (#2622)
+- Fixed the damage calculation being too low when using weapons of type `W_RIFLE` (in pre-renewal). (#2623)
+- Fixed an issue that could cause homunculi to be in an unexpected partially-vaporized state (i.e. when a Vanilmirth kills its own master through `HVAN_EXPLOSION`). (#2626)
+- Fixed NPC ID validation when `SECURE_NPCTIMEOUT` is defined, causing scripts to abort with an "Unknown NPC" error on the console. (#2627, issue #2073)
+- Fixed the skill condition checks and the `flag` parameter of `itemskill()`. The constants `ISF_NONE` and `ISF_IGNORECONDITIONS` are now available. (part of #2616)
+- Fixed the `itemskill()` items to provide their proper Aegis behavior, in their requirement checks, self-targeting and item consumption. (#2616, issue #819)
+- Fixed the Earth Spike Scroll to consume 10 SP when `SC_EARTHSCROLL` is active. (part of #2616)
+- Fixed warnings in the HPMHookGenerator. (1000b10026)
+
+## [v2020.01.12] `January 12 2020`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2020-01-08. (#2599)
+- Added support for auto exp insurance items. (#2603)
+- Added the script commands `resetfeel()` and `resethate()`. (#2285)
+- Added the atcommand `@hatereset`. (part of #2285)
+
+### Changed
+
+- Extracted packet `ZC_SE_CASHSHOP_OPEN` to a separate function. (part of #2599)
+- Renamed the functions `clif_parse_CashShop*` into `clif_parse_cashShop*`. (part of #2599)
+- Converted `clif_partytickack()` to use the struct version of packet `ZC_PARTY_CONFIG`. (part of #2599)
+- Extended `setpcblock()` with a new `PCBLOCK_NPC` functionality to prevent players interacting with NPCs (e.g. During some npctalk dialogue). (#2606)
+- Extended `warpparty()` and `warpguild()` with an option to disregard the `nowarp` and `nowarpto` mapflags. (#2604, issue #1861)
+- Updated copyright header for year 2020.
+
+### Fixed
+
+- Fixed reading water level from RSW version 2.2 and newer. (part of #2599)
+- Fixed `pc_have_item_chain()` to retrieve the chain ID from the chain cache. (part of #2603)
+- Fixed an overflow in a zeny check condition in RODEX, causing code to never be executed. (#2266)
+- Fixed a re-definition of HPM related symbols in plugins with multiple compilation units. (#2608)
+
+## [v2019.12.15] `December 15 2019`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2019-12-11. (#2585)
+- Added new version of packet `ZC_NOTIFY_EFFECT3`. (part of #2583)
+- Added script function `specialeffectnum()`. (part of #2583)
+
+### Changed
+
+- Reduced the IP ban column length to 13 characters, matching the length of the inserted data. A database migration is required. (#2583, issue #2349)
+- Converted packet `CZ_SE_CASHSHOP_OPEN` into a struct. (part of #2583)
+- Replaced the old MySQL Connector with MariaDB C Connector 3.1.5 / Client Lib 10.4.3, for the Windows VS builds. (#2580)
+- Moved the functionalities of `mob_avail.txt` to the mob database, expanding it with more fields (see the `mob_db` documentation for details). (#2572)
+
+### Fixed
+
+- Fixed incompatibilities with MySQL 8. (part of #2580)
+- Fixed errors when `guild_skill_relog_delay` is set to 1 (reset on relog). (#2592, issue #2591)
+- Fixed Tarot Card equipment breaking behavior to match the official, targeting only Left Hand (Shield), Armor and Helm. (#2589)
+- Fixed racial crit bonuses not being affected by katar crit bonus. (#2588)
+- Fixed interaction between Lex Aetherna and Stone/Freezing, now mutually exclusive. (#2598, issue #2559)
+
+### Removed
+
+- Removed `mob_avail.txt`, since its functionality has been moved to the mob database. (part of #2572)
+
+## [v2019.11.17+1] `November 17 2019` `PATCH 1`
+
+### Added
+
+- Added an SQL linter. The `./tools/checksql.sh` script can be used to automatically validate the syntax of every file in the `sql-files` folder (note: dependencies might need to be installed through composer). The script is also executed in the Travis builds. (#2582)
+
+### Fixed
+
+- Fixed a syntax error in the `2019-10-12--14-21.sql` migration file. (part of #2582)
+
+## [v2019.11.17] `November 17 2019`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2019-11-13. (#2568)
+- Added support for packet `CZ_REQ_MOUNTOFF`. (part of #2568)
+- Added a missing building entrance portal in Juno and in Lighthalzen. (#2542)
+- Added the script command `getguildinfo()` and its related constants `GUILDINFO_*`, to lookup information about a guild. (#2566)
+- Added a separate configuration flag in `map_log.enable` to control the logging of `LOG_TYPE_LOOT`. (part of #2560, issue #2414)
+- Added a new log type, `LOG_TYPE_ACHIEVEMENT` and its configuration flag, to control the logging of achievement-granted items. A database migration is required. (#2560, issue #2414)
+- De-hardcoded the boss monsters' resistance to some status effects. It's now controlled by a new `NoBoss` flag in `sc_config`. (#2570)
+- De-hardcoded the combo skills chaining check. It's now controlled by a new `IsCombo` flag in `skill_db`. (#2573)
+- De-hardcoded the status icons. They are now defined through a new `Icon` field in `sc_config`. (#2577)
+
+### Changed
+
+- Added error details to the python converter tools when a libconfig parsing error is encountered. (part of #2568)
+- Converted packet `CZ_LAPINEDDUKDDAK_CLOSE` into a struct. (part of #2568)
+- Updated the location of various NPCs: portals in Juno, sign post in Brasilis, Young Man in Payon (pre-renewal). (part of #2542)
+- Reordered the loading of the stylist DB to be before the loading of NPC scripts, for consistence with the other DB files. (#2571)
+
+### Fixed
+
+- Fixed an incorrect nullpo check when slave monsters are summoned by an alchemist. (#2574, issue #2576)
+- Fixed the Steal skill not showing the HP bar of the targeted monster right away but only when leaving and re-entering sight range. (part of #2567)
+- Fixed a regression in the Steal skill that caused it to allow stealing of some cards. Card stealing prevention is now enforced by item type rather than by position in the drop list. (#2567)
+- Fixed the `@fakename` to display the overridden name regardless of whether the character is disguised. (#2548, issue #2539)
+- Fixed the `target_to` field not being cleared appropriately, causing monsters to get stuck in a loop walking to their previous target that has died, and causing hunters with auto-attack to be unable to walk away from their target and cancel their attack action. (#2564)
+- Fixed the handling of HULD .po translations that contain the `\r` escape sequence. (#2569)
+- Fixed the unintended clearing of status changes granted by passive guild skills, via `sc_end(SC_ALL)`. (#2575, issue #1147)
+
+### Deprecated
+
+- Deprecated the script command `getguildname()`, use `getguildinfo(GUILDINFO_NAME, <guild id>)` instead. (part of #2566)
+- Deprecated the script command `getguildmaster()`, use `getguildinfo(GUILDINFO_MASTER_NAME, <guild id>)` instead. (part of #2566)
+- Deprecated the script command `getguildmasterid()`, use `getguildinfo(GUILDINFO_MASTER_CID, <guild id>)` instead. (part of #2566)
+
+### Removed
+
+- Removed the `SI_*` constants from the source code, now available through `constants.conf`. (part of #2577)
+
+## [v2019.10.20] `October 20 2019`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2019-10-02. (#2537)
+- Added a new config file `conf/common/map-index.conf` to customize the location of the `map_index.txt` file. (part of #2547)
+
+### Changed
+
+- Moved several hardcoded messages to `messages.conf`. (#2152, issue #1282)
+- Updated the `@dropall` command to correctly show the amount of dropped (and skipped) items. (#2545)
+- Split the HULD generated translations into smaller (and easier to manage) files. A translation will now consist of a folder, with one .po (.pot) file per script. Third party translations may need to be updated to match this change. (#2492)
+- Changed the slave monsters' behavior to react to chase the same target as their master, to match the official behavior. A configuration setting `slave_chase_masters_chasetarget` has been provided in `battle/monster.conf` for those that wish to keep using the old custom behavior. (#2561)
+- De-hardcoded the path to the `db` folder, now using `map_configuration.database.db_path` and `char_configuration.database.db_path` in the map and char server respectively. This allows the user to customize the location of the db folder. (#2547)
+
+### Fixed
+
+- Fixed an exploitable issue in the Izlude Arena party mode script. (#2538)
+- Fixed a buffer overflow in the `buildin_npcshopdelitem()`. (#2540)
+- Fixed a potentially exploitable issue in the Ore Downgrade script. (#1935, issue #1934)
+- Corrected the item bonus for `Drooping_Kitty_C`. (#2543)
+- Corrected the display of the Sense skill to cap to 0 the negative resistance values instead of underflowing them. (#2544)
+- Fixed compilation warning with gcc-9. (part of #2537)
+- Fixed the HP bar of party members not showing when they unhide. (#2549)
+- Fixed the status change timers not showing the correct values in the client, after relogging. This requires a database migration. (#2551, issue #2018)
+- Corrected Magnum Break's 2 second delay to be an after-cast delay (reducible by Bragi's Poem) instead of a cooldown. (#2553)
+- Fixed an issue that prevented players from closing their own vending shop. (#2555, issue #2554)
+- Fixed the Homunculus skill requirements being applied to the master as well. (#2556)
+- Fixed the Homunculus skill failure message not displaying any required items (part of #2556)
+- Fixed the Chaotic Blessings skill from Vanilmirth never picking the enemy as its random target to heal. (part of #2556)
+- Fixed an issue that caused the saved character data to retain the old party ID after leaving or getting kicked. (#2562)
+- Fixed some possible crashes or memory corruption caused by dangling pointers to guilds in the character data. (part of #2562, related to issue #1266)
+- Fixed the party name not getting removed from all affected characters (clientside) when a party is disbanded. (part of #2562)
+- Fixed a crash in the console command parser when a line consisting only of spaces is executed. (#2563)
+- Fixed the argument string passed to console commands when the input starts with multiple adjacent spaces. (part of #2563)
+- Fixed the mapindex value not getting updated in the `gm:info` console command. (part of #2563)
+- Fixed an issue that caused aggressive monsters with ranged attack to be unable to attack from above a cliff. (#2550)
+
+### Removed
+
+- Removed the legacy, unused, `castle_defense_rate` option from `battle/guild.conf`. (#2552)
+
+## [v2019.09.22] `September 22 2019`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2019-09-18. (#2528)
+- Added the `@changecharsex` command, to change a character's sex. (part of #2528)
+- Added support for clan names in the name packets. (part of #2528)
+- Added support for multiple Token of Siegfried item IDs. (#2515)
+- Added support for the new guild UI features in the client. (#2519)
+- Added per-item scriptable start/end rental functions, replacing the previous hardcoded functionality. See the new item DB fields `OnRentalStartScript` and `OnRentalEndScript`. (#2462, issue #140)
+- Added the `getfont()` script command, to check the player's current chat font. (part of #2462)
+- Added support for gcc-9 by disabling the array bound checks until the `ZEROED_BLOCK` related code will be fully compatible (#2536)
+- Implemented the LapineDdukDdak System. (#2336)
+- Implemented the Library Mistake Quest, allowing players to bypass the rebirth costs. (#2532)
+
+### Changed
+
+- Converted `sc_config` to libconfig. A tool to convert from the old format has been provided in `tools/scconfigconverter.py`. (#2526)
+- Converted packet `ZC_TALKBOX_CHATCONTENTS` into a struct. (part of #2528)
+- Extracted homunculus experience gain message code to a separate function. (part of #2528)
+- Changed function arguments to type `enum battle_dmg_type` where applicable. (part of #2528)
+- Changed pets, homunculi, etc. not to be loaded when autotrading. (part of #2524)
+- Changed the guild castle IDs order to match the client's. (#part of #2519)
+- Converted the item combo DB to libconfig. A tool to convert from the old format has been provided in `tools/itemcombodbconverter.py`. (#2529)
+- Changed some remaining symbols to `static`. (part of #2536)
+- Updated the gitlab-ci builds to reflect the release of Debian 10 buster. Gcc-8 is now the primary compiler used for the gcov, asan and i386 builds. (part of #2536)
+- Increased the maximum allowed item ID to int32 max, for clients supporting it. (part of #2336)
+
+### Fixed
+
+- Fixed packet `ZC_ACK_RANKING` on old (2013 and earlier) clients. (part of #2528)
+- Fixed an issue preventing homunculus auto-vaporize on death or skill reset, when the 80% HP condition isn't met. (#2524)
+- Fixed a bug that caused homunculi's HP and SP to be refilled on every login instead of just on creation. (part of #2524)
+- Fixed the intimacy requirement check for the homunculus ultimate skills. (part of #2524)
+- Fixed the MVP tombstones causing players to get stuck if they were reading their message when the MVP respawns. (#2525)
+- Fixed the MVP tombstones showing their message multiple times when clicked. (part of #2525)
+- Fixed some incorrect examples of use of `while (select(...))` in the script documentation. (#2533)
+- Corrected the item ID used by the KVM Logistic Officer. (#2527, issue #2404)
+- Fixed several subtle issues caused by the nick partial match feature, when enabled. Now the partial match is only performed for lookups requested by atcommands and client features, while a full match is used for source and script lookups. (#2523)
+- Rewritten the `itemdb_searchname_array` function, now properly supporting the items with IDs greater than 65535. (#2535)
+- Fixed support for items with IDs greater than 65535 in the constdb2doc plugin. (part of #2535)
+- Fixed a minor C standard compliance error, mixing function pointers and non-function pointers. (part of #2536)
+- Fixed the (commented out by default) custom Venom Splasher countdown timer code. (part of #2536)
+
+## [v2019.08.25] `August 25 2019`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2019-08-21. (#2517)
+- Added icons for the elemental resistance status changes (`SC_ARMORPROPERTY`). (#2516)
+- Added Visual Studio 2019 solution. (#2520)
+- Added new NPC ID constants. (#2521)
+
+### Changed
+
+- Converted various packets (`ZC_ADD_SKILL`, `ZC_SKILLINFO_LIST`, `ZC_SKILLINFO_UPDATE2`) into structs and added a new version for `ZC_NPC_MARKET_PURCHASE_RESULT`. (part of #2517)
+- Added missing sanity checks into many clif functions. (#2501)
+- Extended the `getequiprefinerycnt()` command to accept multiple equipment slots at the same time, returning the total refine of them. (#2512)
+- Added the path (relative to the Hercules root) to various database reading status messages. (#2513)
+- Extended `setiteminfo()` and `getiteminfo()` with additional options: `ITEMINFO_ELV_MAX`, `ITEMINFO_DELAY`, `ITEMINFO_DROPEFFECT_MODE`, `ITEMINFO_CLASS_*`, `ITEMINFO_FLAG_*`, `ITEMINFO_STACK_*`, `ITEMINFO_ITEM_USAGE_*`, `ITEMINFO_GM_LV_TRADE_OVERRIDE`. (#2518)
+
+### Fixed
+
+- Fixed packets `ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN` and `ZC_MAKINGITEM_LIST`. (part of #2517)
+- Fixed an overflow in the auto bonus processing function, that made it unable to handle costume/shadow gears. (#2514, issues #1355, #1190, #2451)
+
+### Removed
+
+- Removed Visual Studio 2013 solution. (part of #2520)
+- Removed round-trips to the inter-server for packets related to whisper messages, reports to GMs, GM broadcasts, party, guild and main chat, previously needed for, now unsupported, multi-zone setups. (#2522)
+
+## [v2019.07.28] `July 28 2019`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2019-07-24. (#2498)
+- Added a setting to have `@autoloot` take player drop penalties/bonuses into account. See `autoloot_adjust` in `drops.conf` for details. (#2505)
+- Added a mob DB field `DamageTakenRate` to change the rate of the damage received by each monster. (#2510)
+- Added a setting to allow homunculi to obtain a portion of the EXP gained by their master. See `hom_bonus_exp_from_master` in `homunc.conf`. Note: in order to restore the previous behavior, the setting can be changed to `0`. (#2507, issue #2313)
+
+### Changed
+
+- Converted various packets (`ZC_ACK_RANKING`, `ZC_STATUS_CHANGE_ACK`, `ZC_HAT_EFFECT`) into structs. (part of #2498)
+- Changed `pc_statusup()` to send the actual stat value back to the client in case of error. (part of #2498)
+- Disabled the `@refresh` and `@refreshall` commands during NPC conversations, causing the character to be stuck on an invisible NPC dialog until relogging. (#2499)
+- Extended `@reloadmobdb` to update the currently spawned monsters. (#2500)
+- Changed the party sharing checks to avoid unnecessary SQL queries. (part of #2502)
+- Extended the `@refine` command with shortcuts to refine every normal equipment (-1), every costume equipment (-2) or every shadow equipment (-3). (#2504)
+- Extended the `@refine` command to list the costume and shadow equipments. (#part of #2504)
+- Increased the stack limit of Turisus, Asir and Pertz to unlimited and the other runestones to 60. (#2509)
+- Extended the commands `getmonsterinfo()` and `setunitdata()` / `getunitdata()` with accessors for the new `DamageTakenRate` mob DB field, using, respectively, `MOB_DMG_TAKEN_RATE` and `UDT_DAMAGE_TAKEN_RATE`. (part of #2510)
+- Converted the Guild Castle database to the libconfig format, in preparation for future updates. (#2506)
+
+### Fixed
+
+- Sanitized the use of `input()` in all the scripts to work correctly if the minimum accepted value is changed to less than zero in the configuration. It's recommended that third party scripts get updated not to assume a positive value, since the default setting may change in the future. (#2494)
+- Fixed an issue in the Sealed Shrine script, allowing to unseal multiple Baphomets under certain conditions. (#2332)
+- Fixed an issue that allowed an appropriately created party to enable experience sharing even if outside the sharing range. (#2502)
+- Corrected the cooldown after killing Wounded Morroc. (#2503)
+- Corrected `isequipped()` and `isequippedcnt()` to correctly handle costume equipment. (#2508)
+
+## [v2019.06.30] `June 30 2019`
+
+### Added
+
+- Added/updated packets, encryption keys and message tables for clients up to 2019-06-05. (#2491)
+- Added support for the new shortcuts packets in the Zero clients. (part of #2491)
+- Added support for the Summoner class in `stylist.txt`. (part of #2357, issue #2356)
+- Implemented the new `setfavoriteitemidx()` and `autofavoriteitem()` script commands. (#2427)
+- Implemented the new `@reloadnpc` atcommand, to reload a single script file. (#2476)
+- Implemented the new `identify()` and `identifyidx()` script commands and `@identifyall` atcommand. (#2487)
+
+### Changed
+
+- Suppressed unnecessary ShowWarning messages related to the `nosave`, `adjust_unit_duration` and `adjust_skill_damage` mapflags when using `@reloadscript`. (#2410, issue #2347)
+- Updated the Rune Knight, Guillotine Cross and Ranger shops with missing items. (#2343)
+
+### Fixed
+
+- Fixed monster spawns disregarding the custom names specified. (#2496, #2491, issue #2495)
+- Fixed the style range in `stylist.txt`, now starting from 1 instead of 0. (part of #2357, issue #2356)
+
+## [v2019.06.02] `June 2 2019`
+
+### Added
+
+- Added Stat Reduction Potions to the Renewal item DB. (#2483)
+- Added the constant `MAX_NPC_PER_MAP` to the script engine. (part of #2474)
+- Added the `cap_value()` script command, to cap a value between a minimum and maximum. (#2472)
+- Added the `mesclear()` script command, to clean an NPC message dialog without user interaction. (#2471)
+- Added a script for simplified installation on Windows development machines. (#2222)
+- Added/updated packets, encryption keys and message tables for clients up to 2019-05-30. (#2468, #2490)
+- Added support for multiple hotkeys sets (two 'tabs' on the RE clients). The constant `MAX_HOTKEYS_DB` represents the maximum amount of hotkeys saved to the database. This requires a database migration. (part of #2468)
+- Added the `delitemidx()` script command, to delete an item by its inventory index. (#2394)
+- Added the `getguildonline()` script command, to return the amount of online guild members. (#2290)
+- Added the `nostorage` and `nogstorage` mapflags, disallowing storage usage on the affected maps. The `bypass_nostorage` permission is also provided, to bypass those mapflags. (#2221)
+
+### Changed
+
+- Moved the questinfo data from map to npc data, allowing the use of multiple `questinfo()` blocks. (#2433, issue #2431)
+- Removed code duplication from the map data cleanup functions. (part of #2433)
+- Allow to read negative values from `input()`. The minimum value is still set to 0 in the default configuration, but it can be overridden globally by editing `input_min_value` or locally by specifying the `min` and `max` arguments to `input()`. (#2375)
+- Extended the `getmapinfo()` command to return the total number of NPCs in a map (`MAPINFO_NPC_COUNT`). (#2474)
+- Updated the pre-renewal Byorgue summon slave delay to match the official value, increased before renewal to prevent farming exploits. (#2456)
+- Changed the `"all"` special value used by `killmonster()` to be lowercase and case sensitive, for consistency with other script commands. (#2380)
+- Updated and simplified the Windows installation instructions. (part of #2222)
+- Updated some NPC/name translations to match the official ones or the official intent. Cougar -> Kuuga Gai, Gaebolg -> Geoborg, Family -> Clan, Magic Gear -> Mado Gear (#2457)
+- Updated the Mado Gear rental NPC to sell Mado Gear Box and Cooling Device. (part of #2457)
+- Changed the `expandinventoryack()`, `expandinventoryresult()`, `expandinventory()` and `getinventorysize()` script commands to be lowercase, for consistency. (#2374)
+
+### Fixed
+
+- Fixed the `failedremovecards()` command, to only remove the carts when `type` is set to 1, as described in its documentation. (#2477, issue #2469)
+- Fixed a crash when using `npcspeed()`, `npcwalkto()`, `npcstop()`, `unitwalk()`, `unitwarp()`, `unitstop()` on a floating NPC without a sprite. (#2430)
+- Fixed a stats calculation regression. (#2482)
+- Fixed a version check for the `ZC_PING` packet. (part of #2468)
+- Fixed errors caused by missing Option DB and Option Drop Groups DB data when the map server loads the mob database in minimal mode. (#2486, related to issue #2484)
+
+### Deprecated
+
+- Deprecated use of `"All"` with `killmonster()`. Use `"all"` instead. (part of #2380)
+- Deprecated the mixed case version of the `expandInventoryAck()`, `expandInventoryResult()`, `expandInventory()` and `getInventorySize()` script commands. Use the lowercase variants instead. (part of #2374)
+
+## [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 (#2365, issue #2369)
+- Fixed a buffer size issue in inter server packets (#2370, issue #2369)
## [v2019.02.10] `February 10 2019`
@@ -189,7 +843,7 @@ If you are reading this in a text editor, simply ignore this section
### 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)
+- Added a shorthand to call `mes()` without arguments to mean `mes("")`. (#2193)
### Fixed
@@ -197,17 +851,19 @@ If you are reading this in a text editor, simply ignore this section
- 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 truncation 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
+
- Fixed a bug which prevented the script engine from updating params. (#2200, e554c1c9c)
## [v2018.08.26] `August 26 2018`
### Added
+
- Added the `@setzone` command, which allows changing the zone of the current map on the fly. (#2162)
- Added/updated packets, encryption keys, and message tables for clients up to 2018-08-08. (#2176)
- Added support for `sak` and `ad` clients. (#2185)
@@ -215,15 +871,18 @@ If you are reading this in a text editor, simply ignore this section
- Added const-correct wrappers for `strchr()`, `strrchr()`, `strstr()`, when building with C11-compatible compilers. (#2189)
### Changed
+
- Made the map zone db also reload when `@reloadscript` is used. (#2162)
- Updated the `is_function` script command to support built-in commands, local functions, and local subroutines. (#2154)
- Updated the `debugmes` script command to support printf format strings. (#2146)
- Changed the language specification to `C11` in autoconf builds. (#2189)
### Deprecated
+
- `script->add_str()` should no longer be used by plugins to inject variables, as `script->add_variable()` supersedes it. (#2164)
### Fixed
+
- Fixed the `@mapflag` command not working with the `town` mapflag. (#2133, #2162)
- Fixed some issues with the banking and roulette packets. (#2190)
- Fixed the compiler throwing a warning when `MAGIC_REFLECTION_TYPE` is set to `0`. (#1920, 2175)
@@ -234,15 +893,21 @@ If you are reading this in a text editor, simply ignore this section
- Fixed zeny spending achievements recording the zeny amount in negative values. (#2171)
## [v2018.07.29+2] `August 1 2018` `PATCH 2`
+
### Fixed
+
- Fixed a wrong preprocessor directive that prevented some clients from connecting. (#2165, #2166)
## [v2018.07.29+1] `Jul 30 2018` `PATCH 1`
+
### Fixed
-- Added a temporary patch for getd when variable types are C_NOP. (#2163)
+
+- Added a temporary patch for `getd()` when variable types are `C_NOP`. (#2163)
## [v2018.07.29] `Jul 29 2018`
+
### Added
+
- Added support for the Achievements system and the Titles system. (#2067, #2157, #2161)
- Added a stylist db option to restrict some hairstyles for the Doram race. (#2155)
- Added/updated packets, encryption keys, and message tables for clients up to 2018-07-18. (#2139, #2126, #2132)
@@ -254,6 +919,7 @@ If you are reading this in a text editor, simply ignore this section
- Added project files for Microsoft Visual Studio 2017 (#2131)
### Changed
+
- Updated the warp list packet for clients older than 2017-04-19. (#2139)
- Simplified the `questinfo()` script command and added `setquestinfo()`. This may break some scripts, but is easily fixable with a regular expression search/replace. (#2107)
- The constants database will now also be reloaded when calling `@reloadscript`. (#2130)
@@ -261,28 +927,35 @@ If you are reading this in a text editor, simply ignore this section
- Added the missing `pos` parameter to `skill_init_unit_layout_unknown()`. (#2143)
### Deprecated
+
- Microsoft Visual Studio 2012 is no longer officially supported. (#2131)
### Removed
+
- Removed the `EF_ANGEL3` effect from the novice academy, as it is now triggered by the Achievements system. (#2156)
### Fixed
+
- Fixed a bug which made the `Venom Splasher` skill consume gemstones twice. (#2148)
- Fixed a bug that could make skill cooldowns never expire, rendering the skill unusable. (#2147)
- Fixed the maximum array size being higher than the maximum integer (uint32 vs int32), which could cause integer overflows in scripts. (#2093)
- Fixed a wrongly named constant, which made `Sea-Otter Card` not increase the `Sushi` heal rate. (#2117)
- Fixed misc bugs related to pet evolution. (#2136, #2153)
-- Fixed a bug that sent an attendance system message without the attendence ui being opened. (#2129)
-- Corrected several outdated documentation references to db/constants.conf, to point to doc/constants.md. (#2090)
+- Fixed a bug that sent an attendance system message without the attendance ui being opened. (#2129)
+- Corrected several outdated documentation references to `db/constants.conf`, to point to `doc/constants.md`. (#2090)
- Fixed an issue in the script command `getd()` that wouldn't properly initialize the type of newly created variables through `set(getd(...), ...)` (#2158)
- Fixed a missing memory initialization in several dummy `struct block_list` entries created as local variables. (#2159)
## [v2018.07.01+1] `Jul 1 2018` `PATCH 1`
+
### Fixed
+
- Fixed a regression that made it impossible to invite guild members. (#2124, issue #2122)
## [v2018.07.01] `Jul 1 2018`
+
### Added
+
- Added/updated packets and message tables for clients from 2018-05-30 to 2018-06-12. (#2064)
- Added/updated a pair of enums (`cz_ui_types`, `zc_ui_types`) for the values used by packets 0xa68 and 0x0ae2, fixed compatibility with older clients. (part of #2064)
- Added the possibility for a plugin to abort the skill currently being cast by returning true from `skill_check_condition_castend_unknown()`. (#2076)
@@ -296,6 +969,7 @@ If you are reading this in a text editor, simply ignore this section
- Added an option to hide names in the script commands `unittalk()` and `npctalk()` (#1831, formerly #1571, issue #1523)
### Changed
+
- Updated README with more info about the development dependencies. (b57232ac29)
- Updated `instance_create()` when trying to create an already existing instance, to match the official behavior. (#1924, issue #1651)
- Removed the `RTLD_DEEPBIND` flag from the plugin-loading functions, for compatibility with asan in gcc-8. (#2079)
@@ -314,6 +988,7 @@ If you are reading this in a text editor, simply ignore this section
- Prevented compilation of the non-memmgr memory management function wrappers when the memory manager is enabled. (part of #2112)
### Fixed
+
- Fixed a crash when entries from the `job_db` are removed. (#2071, issue #2070)
- Fixed `getunits()` to always return a value, even in case of error. (d2c0e453fc)
- Fixed an incorrect response message in the stylist shop. (#2066, issue #2065)
@@ -335,18 +1010,22 @@ If you are reading this in a text editor, simply ignore this section
- Fixed an issue in the travis builds when the console error output is too long. (part of #2112)
## [v2018.06.03] `Jun 3 2018`
+
### Added
+
- Added/updated packets support for clients from 2018-05-09 to 2018-05-23. (#2043)
- Added client/version-specific `enum clif_messages` values for msgstringtable message IDs. All the related functions have been updated. (#2038)
- Added the script commands `setpcblock()` and `checkpcblock()`, to prevent various character actions - see the script command docs for details. (#842)
- Implemented the Stylist UI, available in clients starting from 2015. Configurable in `stylist_db.conf`, accessible to scripts through `openstylist()`. (#2004)
### Changed
+
- Extended the script command `getunits()` with support to look up units globally, making the map argument optional. (#1851)
- Updated copyright headers to year 2018. (#2054)
- Converted `exp.txt` (now `exp_group_db.conf`) to the libconfig format, now better integrated with `job_db.conf`. (#2036, originally #1944)
### Fixed
+
- Fixed an issue in the mob skill db parser that limited the mob skills to a maximum of 5 (#2042, issue #2044)
- Fixed some incorrect msgstringtable IDs. (part of #2038)
- Fixed inheritance in the mob DB, no longer overwriting the Range field with a default value. (#2055)
@@ -354,11 +1033,14 @@ If you are reading this in a text editor, simply ignore this section
- Fixed interaction between the `pvp_nocalcrank` mapflag and the script/atcommands to toggle PvP. (#2057, issue #2056)
### Deprecated
+
- While not officially deprecated yet, use of `maprespawnguildid()` and `playbgmall()` has been superseded by `getunits()`. (part of #1851)
- Deprecated the `pcblockmove()` script command. Use the more flexible `setpcblock()` instead. (part pf #842)
## [v2018.05.06] `May 6 2018`
+
### Added
+
- Added a configurable PIN code blacklist, to prevent use of certain codes. (#2007 and #2029, issue #769)
- Added/updated packets support for clients from 2018-04-11 to 2018-05-02. (#2021, #2030)
- Implemented option to allow guild skill cooldowns to continue when the leader is logged out. Enabled by default and controlled by the `guild_skill_relog_delay` flag in guild.conf. (#2005, issue #1774)
@@ -366,6 +1048,7 @@ If you are reading this in a text editor, simply ignore this section
- Added the constants `DEFAULT_MOB_JNAME` and `DEFAULT_MOB_NAME` (source only) to replace hardcoded use of `"--ja--"` and `"--en--"` respectively. (part of #2027)
### Changed
+
- Replaced custom messages related to the PIN code system with the official ones. (part of #2007)
- Updated the minimum client version that enables certain features: new drop packet now in `PACKETVER >= 20180418`, attendance system now in `PACKETVER_ZERO_NUM >= 20180411`. (#2020)
- Introduced a friendly error message when the `delwall()` script command fails due to a non-existent wall. (#2017)
@@ -374,6 +1057,7 @@ If you are reading this in a text editor, simply ignore this section
- Converted the Mob Skill DB to the libconfig format. A converter script (`mobskilldbconverter.py`) has been provided for convenience. (#2019)
### Fixed
+
- Fixed interaction between Curse and Blessing. When under Curse or Stone Curse, Blessing will only remove the negative statuses and will need to be cast again to obtain the buff. (#1706, issue #680)
- Added support for `time_t` as return type in the HPMHookGen. (bb0e228bd29dd689ca76f64578de8759415a763b)
- Fixed some possible buffer overflows. (#2028)
@@ -383,10 +1067,13 @@ If you are reading this in a text editor, simply ignore this section
- Fixed the display name of monster summoned through the `SA_SUMMONMONSTER` skill. (#2027)
### Removed
+
- Removed all the code related to the anonymous-stat-reporting system. (#2023)
## [v2018.04.08] `April 8 2018`
+
### Added
+
- Added/updated packets support for clients from 2018-03-14 to 2018-04-04. (#1994 and #2014)
- Introduced macros `PACKETVER_RE_NUM`, `PACKETVER_ZERO_NUM` and `PACKETVER_MAIN_NUM` to simplify client type-specific version checks.
These macros are defined to `PACKETVER` only if, respectively, `PACKETVER_RE`, `PACKETVER_ZERO` or neither are defined. (part of #1994)
@@ -401,12 +1088,14 @@ If you are reading this in a text editor, simply ignore this section
- Added a configurable delay to the MVP Tombstone. The delay can be configured through the `mvp_tomb_spawn_delay` setting in `monster.conf`. (#2001, issue #1980)
### Changed
+
- Updated the functions handling quest-related packets to use the struct-based form. (part of #1111)
- Converted the Pet DB to the libconfig format. A converter script (`petdbconverter.py`) has been provided for convenience. (#2000)
- The `noteleport` mapflag has been added to the Archer Village (`pay_arche`), to match official servers. (part of #2006)
- The `script->sprintf()` function has been renamed to `script->sprintf_helper()`. (part of #2009)
### Fixed
+
- Removed a duplicated line in the login server VS project that would prevent Visual Studio from loading it. (#1992)
- Prevented a console warning when a nonexistent map is passed to the `getmapinfo()` script command. (584e8de35)
- Fixed a RODEX loading data problem when a message's expiration date was manually edited. (#1995)
@@ -416,19 +1105,23 @@ If you are reading this in a text editor, simply ignore this section
- Fixed compilation of the HPMHooking plugin on systems where `sprintf()` is a macro. (#2009, issue #2003)
## [v2018.03.11] `March 11 2018`
+
### Added
+
- Added a new `mapcache` plugin to convert, update or recreate mapcache files in the new format. (part of #1552)
- Added appveyor configuration to the repository. (part of #1552)
- Exposed `script->sprintf()` to plugins. (#1976)
- Added/updated packets support for clients from 2018-02-21 to 2018-03-09. (#1983)
### Changed
+
- Updated the mapcache to a new, git-friendly, format having one file per map. (#1552, #1981)
- For info on how to convert or recreate mapcache entries, see the mapcache plugin (`./map-server --load-plugin mapcache --help`)
- Removed the display of PIN codes and passwords from the `@accinfo` GM command. Old code is kept commented out for those that may wish to re-enable it. (#1975)
-- Updated README.md with some clarifications and corrections. (#1985)
+- Updated `README.md` with some clarifications and corrections. (#1985)
### Fixed
+
- Updated the VS project files with the recently added .h files, for better intellisense/search. (#1970)
- Fixed a NULL pointer in `login->accounts`, only affecting plugins. (part of #1979)
- Fixed a case of use after free in the `@reloadatcommand` GM command. (part of #1979)
@@ -443,16 +1136,21 @@ If you are reading this in a text editor, simply ignore this section
- Fixed an incorrect Kafra Points / Cash Points calculation. (#1541, issue #1540)
### Removed
+
- Removed the old `mapcache` executable, superseded by the new plugin. (part of #1552)
## [v2018.02.11+1] `February 13 2018` `PATCH 1`
+
### Fixed
+
- Fixed a possible crash in `@cvcon` (and possibly other functions) when a referenced map zone doesn't exist. (#1972, issue #1971)
- Fixed the messages displayed when enabling or disabling CvC. (part of #1972)
- Extended the `bg_message` string termination fix to all the clients. (#1973)
## [v2018.02.11] `February 11 2018`
+
### Added
+
- Added/updated packets support for clients from 2017-12-13 to 2018-01-24. (part of #1957)
- Implemented the official Clan System, including the possibility of customization and a Clan vs Clan versus mode. (#1718, #1964, #1968, related to issue #241)
- New GM commands: `@claninfo`, `@joinclan`, `@leaveclan`, `@reloadclans`, `@cvcon` and `@cvcoff`.
@@ -466,12 +1164,13 @@ If you are reading this in a text editor, simply ignore this section
- Functions in `account.c` and `loginlog.c` have been prefixed with `account_` and `loginlog_` respectively.
- The `chrif_` functions of the login server have been renamed to `lchrif_`.
- The `server[]` array has been moved to `login->dbs->server[]`.
- - The `account` (account.h), `ipban` (ipban.h), `lchrif` (login.h), `loginlog` (loginlog.h)
+ - The `account` (account.h), `ipban` (`ipban.h`), `lchrif` (login.h), `loginlog` (`loginlog.h`)
- Several `log_*` global variables have been moved to the loginlog interface, with their respective names.
- The `account_engine[0]` variable has been moved to `login->dbs->account_engine` (note: this is not an array!)
- Added/updated packets support for clients from 2018-01-31 to 2018-02-07. (#1969)
### Changed
+
- Applied script standardization to the Bakonawa Lake instance script. (#1874)
- Applied script standardization to the Buwaya Cave instance script. (#1877)
- Applied script standardization to the Eclage Interior instance script. (#1878)
@@ -479,60 +1178,76 @@ If you are reading this in a text editor, simply ignore this section
- Applied script standardization to the Malangdo Culvert instance script. (#1881)
### Fixed
+
- Fixed compatibility issues with the 2013-12-23 client. (part of #1957, issue #1956)
- Prevented the leak of a hidden GM's presence through area packets. (#1200)
- Fixed an unterminated string in the `bg_message()` related packets, with certain client versions. (#1890)
## [v2018.01.14] `January 14 2018`
+
### Added
-- Added support for the `AllowReproduce` flag in the skill DB. This supersedes the skill_reproduce_db. (#1943)
+
+- Added support for the `AllowReproduce` flag in the skill DB. This supersedes the `skill_reproduce_db`. (#1943)
- Added support for the `ZC_PROGRESS_ACTOR` packet. The packet is exposed to the script engine through the `progressbar_unit()` command (available on PACKETVER 20130821 and newer). (#1929)
- Added support for the new item drop packet for the Zero clients. The packet is controlled by the `ShowDropEffect` and `DropEffectMode` item DB flags and ignored by non-Zero clients. (#1939)
- Added support for the new Map Server Change packet 0x0ac7. (part of #1948)
### Changed
+
- Always enabled assertions and null pointer checks. In order to disable them (very discouraged, as it may lead to security issues), it is now necessary to edit `nullpo.h`. (#1937)
- Disabled the address sanitizer's memory leak detector in the travis builds, since it produced failures in third libraries. (#1949, #1952)
- Applied script standardization to the Nydhogg's Nest instance script. (#1871)
-- Split packet_keys.h into separate files for main clients and zero clients. (part of #1948)
-- Split packets_shuffle.h into separate files for main clients and zero clients. (part of #1948)
+- Split `packet_keys.h` into separate files for main clients and zero clients. (part of #1948)
+- Split `packets_shuffle.h` into separate files for main clients and zero clients. (part of #1948)
- Replaced the custom bank unavailable error message with the actual bank check error packet. (part of #1948)
- Updated and corrected the party member and party info packets. (part of #1948)
-- Updated README.md with more relevant badges and links (added Discord, removed Waffle, added more GitHub information). (#1951)
+- Updated `README.md` with more relevant badges and links (added Discord, removed Waffle, added more GitHub information). (#1951)
### Fixed
+
- Updated Xcode project to include the RODEX related files. (#1942)
- Fixed RODEX loading mails when it requires multiple packets. (#1945, issue #1933)
### Removed
-- Removed the skill_reproduce_db, now superseded by the `AllowReproduce` skill flag. (part of #1943)
+
+- Removed the `skill_reproduce_db`, now superseded by the `AllowReproduce` skill flag. (part of #1943)
## [v2017.12.17] `December 17 2017`
+
### Added
-- Implemented Homunculus Autofeeding, available on the 2017 clients. The feature can be disabled by flipping `features.enable_homun_autofeed` in feature.conf. (#1898)
+
+- Implemented Homunculus Autofeeding, available on the 2017 clients. The feature can be disabled by flipping `features.enable_homun_autofeed` in `feature.conf`. (#1898)
- Added support for the newly released Ragnarok Zero clients. The client type is controlled with the `--enable-packetver-zero` configure-time flag (disabled by default). (#1923)
### Changed
+
- Applied script standardization to the Old Glast Heim instance script. (#1883)
-- Split packets.h into two files: packets.h and packets_shuffle.h. (part of #1923)
+- Split packets.h into two files: `packets.h` and `packets_shuffle.h`. (part of #1923)
### Fixed
+
- Corrected a wrong path displayed in an error message pointing to the map-server configuration. (#1913)
- Fixed the natural expiration of the Poison status when under the effect of Slow Poison. (#1925)
## [v2017.11.19+2] `November 28 2017` `PATCH 2`
+
### Fixed
+
- Fixed an item loading failure in RODEX. (#1917, issue #1912)
- Fixed invisible NPCs (such as `FAKE_NPC`) being displayed as novices. (#1918, issue #1916)
## [v2017.11.19+1] `November 24 2017` `PATCH 1`
+
### Fixed
+
- Suppressed assertions in the Skill DB accessors when called with `skill_id = 0` (normal attacks). (#1910, issue #1909)
## [v2017.11.19] `November 19 2017`
+
### Added
+
- Added several missing members to the login interface. (Part of #1891)
-- Added support for colored character server population counter in the service selection list. Configurable through `users_count` in login-server.conf. (#1891)
+- Added support for colored character server population counter in the service selection list. Configurable through `users_count` in `login-server.conf`. (#1891)
- Added top-level command `miniboss_monster` to label monsters as minibosses, and to send them as such to the client. (part of #1889)
- Added support for 2017-10-25 - 2017-11-01 clients. (#1889)
- Added support to display NPCs with player classes, including equipment and styles (best with clients starting from 20170726). This extends `getunitdata()` and `setunitdata()` with support for `UDT_SEX`, `UDT_HAIRSTYLE`, `UDT_HAIRCOLOR`, `UDT_HEADBOTTOM`, `UDT_HEADMIDDLE`, `UDT_HEADTOP`, `UDT_CLOTHCOLOR`, `UDT_SHIELD`, `UDT_WEAPON`, `UDT_ROBE`, `UDT_BODY2`. (#1893)
@@ -541,6 +1256,7 @@ If you are reading this in a text editor, simply ignore this section
- Added support for the Skill Scale packet, available in client versions 20151223 and newer. (#1903)
### Changed
+
- Applied script standardization to the Octopus Cave instance script. (#1882)
- Applied script standardization to the Ghost Palace instance script. (#1879)
- Applied script standardization to the Sara's Memory instance script. (#1884)
@@ -549,54 +1265,88 @@ If you are reading this in a text editor, simply ignore this section
- Applied script standardization to the Orc's Memory instance script. (#1872)
- Applied script standardization to the Sealed Shrine instance script. (#1873)
- Extended the global function `F_GetArmorType()` to support costumes and shadow equipment. (#1836)
-- Extended the script commands `has_instance()` and `has_instance2()` with suport to search instances of type `IOT_NONE`. (#1397)
+- Extended the script commands `has_instance()` and `has_instance2()` with support to search instances of type `IOT_NONE`. (#1397)
- Applied script standardization and improvements to the Endless Tower instance script. (#1862)
- Cleared some confusion between skill IDs and indexes through the codebase. Rewritten Skill DB accessors in a safer, more readable way. (part of #1896)
### Deprecated
+
- The use of numeric type constants with `getiteminfo()` and `setiteminfo()` is deprecated. For technical reasons, no deprecation notice is displayed. (part of #1902)
### Removed
+
- The `MAX_SKILL` constant has been removed, in favor of the more clear `MAX_SKILL_DB`, to be used in all places that use the compacted Skill DB array. For use with the non-compacted clientside Skill IDs, the `MAX_SKILL_ID` constant is still available. (part of #1896)
### Fixed
+
- Fixed compilation warnings when compiling with gcc-7. (#1887)
- Fixed the display flag for monsters labeled as `boss_monster` to be that of MVP monsters instead of miniboss monsters. (part of #1889)
- Fixed a subtle error in case `skill->unit_group_newid` overflows, causing certain skill unit entries to get stuck and never get deleted correctly. This can manifest itself with some monster spawns becoming immune to certain AoE spells having the `UF_NOOVERLAP` flag (Storm Gust, Lord of Vermillion, etc). (#1896)
-- Implemented MATK support in the `getiteminfo()` and `setiteminfo()`. This functionality was previously advertised as availble in the command documentation, but was not implemented. (part of #1902)
+- Implemented MATK support in the `getiteminfo()` and `setiteminfo()`. This functionality was previously advertised as available in the command documentation, but was not implemented. (part of #1902)
- Restored View Sprite support in the `getiteminfo()` and `setiteminfo()`. This functionality was lost with #1828. (part of #1902, issue #1895)
- Reimplemented the global function `F_GetArmorType()` to reflect the fact that `ITEMINFO_LOC` returns a bitmask. The function now handles multi-slot headgears and other uncommon cases better. (part of #1902)
- Corrected some incorrect data types passed to the SQL `StmtBind` functions, causing query errors and data loss. Said functions will now have a runtime assertion to ensure the right data type is passed. Third party code needs to be updated to reflect this stricter requirement. (#1901, issue #1531)
- Corrected some RODEX related queries in case `MAX_SLOTS` or `MAX_ITEM_OPTIONS` are set to custom values. (part of #1901)
## [v2017.10.22+1] `October 22 2017` `PATCH 1`
+
### Fixed
+
- Fixed a wrong null pointer check in `logmes()`, which caused the command to never log and instead print debug information.
## [v2017.10.22] `October 22 2017`
+
### Added
+
- Added the script command `getmapinfo()`, which allows to obtain misc information about a map. (#1852)
- Added an option to restrict party leader changes to characters on the same map. Controlled by the setting `party_change_leader_same_map` (defaults to true). (#1812)
- Added initial support (shuffle packets, obfuscation keys) for clients 2017-09-27, 2017-10-02, 2017-10-11, 2017-10-18. (#1859)
- Added the `noautoloot` mapflag, allowing to disable the `@autoloot` functionality on a map by map basis. (#1833)
### Changed
+
- Extended the script command `logmes()` with an option to log to the `atcommandlog` table. (#1843)
- Updated RoDEX, with support for packetver `20170419` and newer. (#1859)
- Updated Exp-related packets and handling functions to support values larger than 2 billions (as seen in packetver `20170830` and newer). (#1859)
- Changed the diagnostic message in `skill_init_unit_layout()` to report the skill ID instead of its index. (#1854)
### Fixed
+
- Corrected the Kafra dialog in case a Doram without the Summoner's Basic Skill attempts to open the Storage. (#1864)
- Changed the cell stack counting algorithm to ignore invisible NPCs, improving the Dancer Quest experience as well as other cases of hidden NPCs blocking off certain cells. (#1827)
- Improved the handling of the `cardfix` value to make it more resistant to overflows, especially in renewal mode. Simplified the related renewal/pre-renewal conditional code. (#1825)
- Fixed some compilation warnings occurring in VS2017. (#1870)
### Other
+
- New versioning scheme and project changelogs/release notes (#1853)
[Unreleased]: https://github.com/HerculesWS/Hercules/compare/stable...master
-[v2019.02.10+1]: https://github.com/HerculesWS/Hercules/compare/v2019.02.10...v2019.10.10+1
+[v2020.04.05]: https://github.com/HerculesWS/Hercules/compare/v2020.04.05...v2020.04.05+1
+[v2020.04.05]: https://github.com/HerculesWS/Hercules/compare/v2020.03.08+2...v2020.04.05
+[v2020.03.08+2]: https://github.com/HerculesWS/Hercules/compare/v2020.03.08+1...v2020.03.08+2
+[v2020.03.08+1]: https://github.com/HerculesWS/Hercules/compare/v2020.03.08...v2020.03.08+1
+[v2020.03.08]: https://github.com/HerculesWS/Hercules/compare/v2020.02.09...v2020.03.08
+[v2020.02.09]: https://github.com/HerculesWS/Hercules/compare/v2020.01.12...v2020.02.09
+[v2020.01.12]: https://github.com/HerculesWS/Hercules/compare/v2019.12.15...v2020.01.12
+[v2019.12.15]: https://github.com/HerculesWS/Hercules/compare/v2019.11.17+1...v2019.12.15
+[v2019.11.17+1]: https://github.com/HerculesWS/Hercules/compare/v2019.11.17...v2019.11.17+1
+[v2019.11.17]: https://github.com/HerculesWS/Hercules/compare/v2019.10.20...v2019.11.17
+[v2019.10.20]: https://github.com/HerculesWS/Hercules/compare/v2019.09.22...v2019.10.20
+[v2019.09.22]: https://github.com/HerculesWS/Hercules/compare/v2019.08.25...v2019.09.22
+[v2019.08.25]: https://github.com/HerculesWS/Hercules/compare/v2019.07.28...v2019.08.25
+[v2019.07.28]: https://github.com/HerculesWS/Hercules/compare/v2019.06.30...v2019.07.28
+[v2019.06.30]: https://github.com/HerculesWS/Hercules/compare/v2019.06.02...v2019.06.30
+[v2019.06.02]: https://github.com/HerculesWS/Hercules/compare/v2019.05.05+4...v2019.06.02
+[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
diff --git a/Hercules-12.sln b/Hercules-16.sln
index c1a78b5ef..b4bece6d9 100644
--- a/Hercules-12.sln
+++ b/Hercules-16.sln
@@ -1,21 +1,21 @@

Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 14
-VisualStudioVersion = 14.0.25420.1
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29123.88
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "char-server", "vcproj-12\char-server.vcxproj", "{D356871D-58E1-450B-967A-E4E9646175AF}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "char-server", "vcproj-16\char-server.vcxproj", "{D356871D-58E1-450B-967A-E4E9646175AF}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "login-server", "vcproj-12\login-server.vcxproj", "{D356871D-58E1-450B-967A-E5E9646175AF}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "login-server", "vcproj-16\login-server.vcxproj", "{D356871D-58E1-450B-967A-E5E9646175AF}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map-server", "vcproj-12\map-server.vcxproj", "{D356871D-58E1-450B-967A-E6E9646175AF}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map-server", "vcproj-16\map-server.vcxproj", "{D356871D-58E1-450B-967A-E6E9646175AF}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-sample", "vcproj-12\plugin-sample.vcxproj", "{E64C56D3-CDFB-483B-900B-A62D216B6D2F}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-sample", "vcproj-16\plugin-sample.vcxproj", "{E64C56D3-CDFB-483B-900B-A62D216B6D2F}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-HPMHooking_map", "vcproj-12\plugin-HPMHooking_map.vcxproj", "{745D4A8C-6A68-4721-A43A-D81BF59860A1}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-HPMHooking_map", "vcproj-16\plugin-HPMHooking_map.vcxproj", "{745D4A8C-6A68-4721-A43A-D81BF59860A1}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-HPMHooking_char", "vcproj-12\plugin-HPMHooking_char.vcxproj", "{D495824D-24D3-4623-A28C-4CA506084A09}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-HPMHooking_char", "vcproj-16\plugin-HPMHooking_char.vcxproj", "{D495824D-24D3-4623-A28C-4CA506084A09}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-HPMHooking_login", "vcproj-12\plugin-HPMHooking_login.vcxproj", "{544AD8E8-0309-49DE-9F8D-F9FEA24D92F1}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "plugin-HPMHooking_login", "vcproj-16\plugin-HPMHooking_login.vcxproj", "{544AD8E8-0309-49DE-9F8D-F9FEA24D92F1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -55,4 +55,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5DB2664E-B4D7-4FC3-B0E2-F5E7608B9393}
+ EndGlobalSection
EndGlobal
diff --git a/Hercules.xcodeproj/project.pbxproj b/Hercules.xcodeproj/project.pbxproj
index 1126c3780..403e7357a 100644
--- a/Hercules.xcodeproj/project.pbxproj
+++ b/Hercules.xcodeproj/project.pbxproj
@@ -164,6 +164,8 @@
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 */; };
@@ -494,6 +496,15 @@
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>"; };
@@ -607,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>";
@@ -652,6 +665,7 @@
A5467AD21A16FCB4008AFAA6 /* loginif.h */,
A5467AD41A16FCDC008AFAA6 /* mapif.c */,
A5467AD51A16FCDC008AFAA6 /* mapif.h */,
+ A5C5CF58227F956900485106 /* packets_hc_struct.h */,
A56CC75B185657D9009EB79C /* pincode.c */,
A56CC75C185657D9009EB79C /* pincode.h */,
);
@@ -708,6 +722,7 @@
A56CC78F18565812009EB79C /* mail.h */,
A56CC79018565812009EB79C /* map.c */,
A56CC79118565812009EB79C /* map.h */,
+ A5C5CF5D227F959700485106 /* mapdefines.h */,
A56CC79218565812009EB79C /* mapreg_sql.c */,
A56CC79318565812009EB79C /* mapreg.h */,
A56CC79418565812009EB79C /* mercenary.c */,
@@ -742,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 */,
@@ -754,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 */,
@@ -1385,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 */,
diff --git a/Makefile.in b/Makefile.in
index e85c1bb96..3d6309925 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2012-2015 Hercules Dev Team
-# Copyright (C) Athena Dev Teams
+# Copyright (C) 2012-2020 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
@@ -25,11 +25,11 @@ HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
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
- CHAR_SQL_DEPENDS=mt19937ar libconfig common_sql sysinfo
- MAP_SQL_DEPENDS=mt19937ar libconfig common_sql sysinfo
- TOOLS_DEPENDS=mt19937ar libconfig common_sql sysinfo
+ COMMON_SQL_DEPENDS=mt19937ar libconfig libbacktrace sysinfo
+ LOGIN_SQL_DEPENDS=mt19937ar libconfig libbacktrace common_sql sysinfo
+ CHAR_SQL_DEPENDS=mt19937ar libconfig libbacktrace common_sql sysinfo
+ MAP_SQL_DEPENDS=mt19937ar libconfig libbacktrace common_sql sysinfo
+ TOOLS_DEPENDS=mt19937ar libconfig libbacktrace common_sql sysinfo
else
ALL_DEPENDS=needs_mysql
SQL_DEPENDS=needs_mysql
@@ -52,7 +52,7 @@ HAVE_PERL=@HAVE_PERL@
HAVE_DOXYGEN=@HAVE_DOXYGEN@
MF_TARGETS = Makefile $(addsuffix /Makefile, src/common 3rdparty/mt19937ar \
- 3rdparty/libconfig src/char src/login src/map src/plugins \
+ 3rdparty/libconfig 3rdparty/libbacktrace src/char src/login src/map src/plugins \
src/test tools/HPMHookGen tools/doxygen)
CC = @CC@
@@ -107,6 +107,10 @@ libconfig: 3rdparty/libconfig/Makefile
@echo " MAKE $@"
@$(MAKE) -C 3rdparty/libconfig
+libbacktrace: 3rdparty/libbacktrace/Makefile
+ @echo " MAKE $@"
+ @$(MAKE) -C 3rdparty/libbacktrace
+
login_sql: $(LOGIN_SQL_DEPENDS) src/login/Makefile
@echo " MAKE $@"
@$(MAKE) -C src/login sql
@@ -150,6 +154,7 @@ clean buildclean: $(MF_TARGETS)
@$(MAKE) -C src/common $@
@$(MAKE) -C 3rdparty/mt19937ar $@
@$(MAKE) -C 3rdparty/libconfig $@
+ @$(MAKE) -C 3rdparty/libbacktrace $@
@$(MAKE) -C src/login $@
@$(MAKE) -C src/char $@
@$(MAKE) -C src/map $@
@@ -176,31 +181,32 @@ config.status: configure
help: Makefile
@echo "most common targets are 'all' 'sql' 'clean' 'plugins' 'help'"
@echo "possible targets are:"
- @echo "'common_sql' - builds object files used in SQL servers"
- @echo "'mt19937ar' - builds object file of Mersenne Twister MT19937"
- @echo "'libconfig' - builds object files of libconfig"
- @echo "'login_sql' - builds login server"
- @echo "'char_sql' - builds char server"
- @echo "'map_sql' - builds map server"
- @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'"
- @echo " 'map_sql' and 'import')"
- @echo "'plugins' - builds all available plugins"
- @echo "'plugin.Name' - builds plugin named 'Name'"
- @echo "'test' - builds tests"
- @echo "'clean' - cleans executables and objects"
- @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
- @echo " executables"
- @echo "'distclean' - cleans files generated by ./configure"
- @echo "'sysinfo' - re-generates the System Info include"
+ @echo "'common_sql' - builds object files used in SQL servers"
+ @echo "'mt19937ar' - builds object file of Mersenne Twister MT19937"
+ @echo "'libconfig' - builds object files of libconfig"
+ @echo "'libbacktrace' - builds object files of libbacktrace"
+ @echo "'login_sql' - builds login server"
+ @echo "'char_sql' - builds char server"
+ @echo "'map_sql' - builds map server"
+ @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'"
+ @echo " 'map_sql' and 'import')"
+ @echo "'plugins' - builds all available plugins"
+ @echo "'plugin.Name' - builds plugin named 'Name'"
+ @echo "'test' - builds tests"
+ @echo "'clean' - cleans executables and objects"
+ @echo "'buildclean' - cleans build temporary (object) files, without deleting the"
+ @echo " executables"
+ @echo "'distclean' - cleans files generated by ./configure"
+ @echo "'sysinfo' - re-generates the System Info include"
ifeq ($(HAVE_DOXYGEN),yes)
- @echo "'docs' - Generate the Doxygen source code documentation"
+ @echo "'docs' - Generate the Doxygen source code documentation"
ifeq ($(HAVE_PERL),yes)
- @echo "'hooks' - re-generates the definitions for the HPM"
+ @echo "'hooks' - re-generates the definitions for the HPM"
endif
endif
- @echo "'help' - outputs this message"
+ @echo "'help' - outputs this message"
#####################################################################
diff --git a/README.md b/README.md
index 1798bf394..0b4257b3b 100644
--- a/README.md
+++ b/README.md
@@ -29,14 +29,15 @@ 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)
@@ -45,20 +46,17 @@ 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
following list is broken down into Windows and Unix (incl. Linux) prerequisites.
-For a list of supported platforms, please refer to the [Supported
-Platforms](https://github.com/HerculesWS/Hercules/wiki/Supported-Platforms) wiki page.
+For a list of supported platforms, please refer to the [Supported Platforms](https://github.com/HerculesWS/Hercules/wiki/Supported-Platforms) wiki page.
#### Windows
- - Git client
- - MySQL-compatible server ([MySQL Community Edition](https://www.mysql.com/products/community/) or
- [MariaDB](https://mariadb.org/))
- - Microsoft Visual Studio ([Version 2012 through 2015](https://www.visualstudio.com/))
+ - [Git client](https://git-scm.com/)
+ - [Microsoft Visual Studio Community](https://visualstudio.microsoft.com/vs/community/)
#### Unix/Linux/BSD (names of packages may require specific version numbers on certain distributions)
- git
@@ -84,13 +82,23 @@ Platforms](https://github.com/HerculesWS/Hercules/wiki/Supported-Platforms) wiki
- MySQL GUI clients
- [MySQL Workbench](http://www.mysql.com/downloads/workbench/) (cross-platform)
- [HeidiSQL](http://www.heidisql.com/) (Windows)
+ - [DBeaver](http://dbeaver.jkiss.org/) (cross-platform)
- [Sequel Pro](http://www.sequelpro.com/) (Mac OS X)
+ - *More options available at [mariadb.com](https://mariadb.com/kb/en/library/graphical-and-enhanced-clients/)*
- GUI Git clients
+ - [GitHub Desktop](https://desktop.github.com/) (cross-platform)
+ - [GitKraken](https://www.gitkraken.com/git-client) (cross-platform)
+ - [SmartGit](https://www.syntevo.com/smartgit/) (cross-platform)
- [Atlassian SourceTree](https://www.sourcetreeapp.com/) (Windows, Mac OS X)
- - [TortoiseGit](https://tortoisegit.org/) (Windows)
+ - *More options available at [git-scm.com](https://git-scm.com/downloads/guis)*
+ - Text editors with syntax highlighting
+ - [Visual Studio Code](https://code.visualstudio.com) (cross-platform)
+ - [Atom](https://atom.io) (cross-platform)
+ - [Notepad++](https://notepad-plus-plus.org) (Windows)
+ - *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
@@ -98,42 +106,52 @@ guides relevant to your Operation System, please refer to the Wiki (links at
the end of this file).
#### Windows
+##### Easy installation
+ 1. Install the prerequisites.
+ 2. Clone the [Hercules repository](https://github.com/HerculesWS/Hercules) using a git client, into a new
+ folder.
+ - If you do not want to use the command line, you can instead clone with [GitHub Desktop](https://desktop.github.com/).
+ 3. Run `mariadb.bat` to automatically install and configure MariaDB.
+ 4. Start Visual Studio and load the provided solution:
+ - Compile and run the three projects, login-server, char-server, map-server.
+##### Manual installation
1. Install the prerequisites.
- 2. Clone the Hercules repository (see [GitHub](https://github.com/HerculesWS/Hercules)) using a git client, into a new
+ 2. Install a MySQL-compatible server, such as [MariaDB](https://mariadb.org/) (recommended) or [MySQL Community Edition](https://www.mysql.com/products/community/)
+ 3. Clone the Hercules repository [Hercules repository](https://github.com/HerculesWS/Hercules) using a git client, into a new
folder.
- 3. Connect to the MySQL server as root:
- - Create a database (hercules): `CREATE DATABASE hercules;`
- - Create a user (hercules): `CREATE USER 'hercules'@'localhost' IDENTIFIED BY 'password';`.
- - Give permissions (GRANT SELECT,INSERT,UPDATE,DELETE) to the user: `GRANT SELECT,INSERT,UPDATE,DELETE ON hercules.* TO 'hercules'@'localhost';`
- 4. Connect to the MySQL server as the new user:
- - Import the .sql files in /sql-files/ into the new database.
- 5. Start Visual Studio and load the provided solution:
- - Compile and run the three projects, login-server, char-server, map-server.
+ 4. Connect to the MySQL server as root:
+ - Create a database (hercules): `CREATE DATABASE hercules;`
+ - Create a user (hercules): `CREATE USER 'hercules'@'localhost' IDENTIFIED BY 'password';`.
+ - Give permissions (GRANT SELECT,INSERT,UPDATE,DELETE) to the user: `GRANT SELECT,INSERT,UPDATE,DELETE ON hercules.* TO 'hercules'@'localhost';`
+ 5. Connect to the MySQL server as the new user:
+ - Import the .sql files in /sql-files/ into the new database.
+ 6. Start Visual Studio and load the provided solution:
+ - Compile and run the three projects, login-server, char-server, map-server.
#### Unix
1. Install the prerequisites through your distribution's package manager
- - (Red Hat compatible / CentOS) `yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel git`
- - (Debian compatible) `apt-get install gcc make libmysqlclient-dev zlib1g-dev libpcre3-dev mysql-server git`
- - (FreeBSD) `pkg install clang35 gmake mysql56-server mysql-connector-c pcre git`
- - (Mac OS X):
- - Install Xcode through the Mac App Store
- - Initialize the build tools through the Terminal `xcode-select --help`
- - Install Homebrew as described on the project page
- - Install the other prerequisites: `brew install mysql pcre`
+ - (Red Hat compatible / CentOS) `yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel git`
+ - (Debian compatible) `apt-get install gcc make libmysqlclient-dev zlib1g-dev libpcre3-dev mysql-server git`
+ - (FreeBSD) `pkg install clang35 gmake mysql56-server mysql-connector-c pcre git`
+ - (Mac OS X):
+ - Install Xcode through the Mac App Store
+ - Initialize the build tools through the Terminal `xcode-select --help`
+ - Install Homebrew as described on the project page
+ - Install the other prerequisites: `brew install mysql pcre`
2. Clone the Hercules repository `git clone https://github.com/HerculesWS/Hercules.git ~/Hercules`
3. Configure the MySQL server and start it.
4. Connect to the MySQL server as root:
- - Create a database (hercules): `CREATE DATABASE hercules;`
- - Create a user (hercules): `CREATE USER 'hercules'@'localhost' IDENTIFIED BY 'password';`.
- - Give permissions (GRANT SELECT,INSERT,UPDATE,DELETE) to the user: `GRANT SELECT,INSERT,UPDATE,DELETE ON hercules.* TO 'hercules'@'localhost';`
+ - Create a database (hercules): `CREATE DATABASE hercules;`
+ - Create a user (hercules): `CREATE USER 'hercules'@'localhost' IDENTIFIED BY 'password';`.
+ - Give permissions (GRANT SELECT,INSERT,UPDATE,DELETE) to the user: `GRANT SELECT,INSERT,UPDATE,DELETE ON hercules.* TO 'hercules'@'localhost';`
5. Connect to the MySQL server as the new user:
- - Import the .sql files in /sql-files/ into the new database.
+ - Import the .sql files in /sql-files/ into the new database.
6. Enter the Hercules directory and configure/build Hercules
- - `./configure`
- - `make clean && make sql` (on FreeBSD, replace `make` with `gmake`)
+ - `./configure`
+ - `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
@@ -148,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=
```
@@ -179,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,
@@ -198,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
diff --git a/conf/char/char-server.conf b/conf/char/char-server.conf
index 0f07731fb..a8918e705 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-2020 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
@@ -214,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..75cfb8984 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-2020 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 cbeb6617d..7696774d6 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-2020 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
@@ -118,6 +118,7 @@ inter_configuration: {
autotrade_data_db: "autotrade_data"
npc_market_data_db: "npc_market_data"
npc_barter_data_db: "npc_barter_data"
+ npc_expanded_barter_data_db: "npc_expanded_barter_data"
}
}
diff --git a/conf/common/map-index.conf b/conf/common/map-index.conf
new file mode 100644
index 000000000..63ee2e495
--- /dev/null
+++ b/conf/common/map-index.conf
@@ -0,0 +1,34 @@
+//================= Hercules Configuration ================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2014-2020 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/>.
+//=========================================================================
+//= Map Index configuration file.
+//=========================================================================
+
+mapindex_configuration: {
+ // Full path to the map_index.txt file
+ // Default: db/map_index.txt
+ file_path: "db/map_index.txt"
+}
diff --git a/conf/common/socket.conf b/conf/common/socket.conf
index 8b8b21865..fe171336a 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-2020 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..4865fd9b7 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-2020 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..7a8932f33 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-2020 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/battle.conf b/conf/import-tmpl/battle.conf
index 7d1d03578..7facb0c74 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-2020 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..b31920a94 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-2020 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..7ccb2c0a3 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-2020 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..5e8195d34 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-2020 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..d42e24dea 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-2020 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..f235a4429 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-2020 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..204d1a0c1 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-2020 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..a73aabf4f 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-2020 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..a7a30c83d 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-2020 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..bbcc5cd02 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-2020 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..c85d0182d 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-2020 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..9fe58efe0 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-2020 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 b7d4ac781..5601dbc9e 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-2020 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
@@ -189,3 +189,16 @@ mvp_exp_reward_message: false
// 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..bc6a226f6 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-2020 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,12 @@ 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
+
+// Does autoloot take into account player bonuses and penalties? (Note 1)
+// If RENEWAL_DROP, Bubble Gum, or any other modifiers are active autoloot will take them into account.
+autoloot_adjust: false
diff --git a/conf/map/battle/exp.conf b/conf/map/battle/exp.conf
index 8ca3de933..172959fd0 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-2020 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..0d2ab8397 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-2020 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..bd5cfbef7 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-2020 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..781f6555b 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-2020 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
@@ -45,9 +45,6 @@ guild_max_castles: 0
// 2 - like 1, but your logged off time is also decreased from the remaining cooldown (Aegis)
guild_skill_relog_delay: 2
-// Damage adjustments for WOE battles against defending Guild monsters (Note 2)
-castle_defense_rate: 100
-
// Flee penalty on gvg grounds. Official value is 20 (Note 2)
// NOTE: It's %, not absolute, so 20 is -20% of your total flee
gvg_flee_penalty: 20
diff --git a/conf/map/battle/homunc.conf b/conf/map/battle/homunc.conf
index 0042df016..3884552c2 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-2020 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
@@ -66,3 +66,6 @@ homunculus_max_level: 99
// Max level for Homunculus S
homunculus_S_max_level: 150
+
+// Bonus EXP homunculus received from master? (Note 2)
+hom_bonus_exp_from_master: 10
diff --git a/conf/map/battle/items.conf b/conf/map/battle/items.conf
index e834b80f6..4788d7b30 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-2020 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/limits.conf b/conf/map/battle/limits.conf
new file mode 100644
index 000000000..b987026ea
--- /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-2020 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..8cc1d0171 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-2020 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
@@ -101,7 +101,7 @@ duel_allow_teleport: false
// Autoleave duel when die
duel_autoleave_when_die: true
-// Delay between using @duel in minutes
+// Delay between using @duel in seconds
duel_time_interval: 60
// Restrict duel usage to same map
diff --git a/conf/map/battle/monster.conf b/conf/map/battle/monster.conf
index 192e54615..fb19a6f76 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-2020 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
@@ -269,3 +269,8 @@ boss_icewall_walk_block: 1
// only have a range of 9. If you put a number higher than 0, their range will
// be increased by that number.
monster_eye_range_bonus: 0
+
+// Should slaves chase after what their master is chasing?
+// false: Don't chase after what master is chasing. (old behavior)
+// true: Chase after what master is chasing. (official, default)
+slave_chase_masters_chasetarget: true
diff --git a/conf/map/battle/party.conf b/conf/map/battle/party.conf
index 621ec50f4..e27a709fd 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-2020 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..5797bb2a5 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-2020 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,6 +32,14 @@
// assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun, 16: Mercenary)
//=========================================================================
+// Use the offical formula to calculate the pet catch rate? (Note 1)
+// Official formula:
+// CatchRate = CaptureRate * (100 - 100 * MonsterHP / MonsterMaxHP) / 100 + CaptureRate
+// Custum *Athena formula:
+// CatchRate = (CaptureRate + (CharacterBaseLevel - MonsterLevel) * 30 + CharacterLuk * 20) * (200 - 100 * MonsterHP / MonsterMaxHP) / 100
+// (CaptureRate is defined in db/(pre-)re/pet_db.conf.)
+pet_catch_rate_official_formula: true
+
// Rate for catching pets (Note 2)
pet_catch_rate: 100
@@ -44,10 +52,6 @@ pet_friendly_rate: 100
// The rate at which a pet will become hungry. (Note 2)
pet_hungry_delay_rate: 100
-// If your pet is hungry by how much will the friendlyness decrease by. (Default is 5)
-// Note: The friendlyness is 0-1000 total, at 0 the pet runs away.
-pet_hungry_friendly_decrease: 5
-
// Does the pet need its equipment before it does its skill? (Note 1)
pet_equip_required: true
@@ -62,9 +66,6 @@ pet_damage_support: false
// At max (1000) support rate is 150%.
pet_support_min_friendly: 900
-// Same as above, but this is to use the pet_script field with official pet abilities.
-pet_equip_min_friendly: 900
-
// Whether or not the pet's will use skills. (Note 1)
// Note: Offensive pet skills need at least pet_attack_support or
// pet_damage_support to work (they trigger while the pet is attacking).
diff --git a/conf/map/battle/player.conf b/conf/map/battle/player.conf
index c7bb13e88..b691f7343 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-2020 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/skill.conf b/conf/map/battle/skill.conf
index 64bba68b5..a40b52124 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-2020 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.
@@ -330,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..8e9fe779c 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-2020 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/help.txt b/conf/map/help.txt
index 846c16276..17dd829fd 100644
--- a/conf/map/help.txt
+++ b/conf/map/help.txt
@@ -305,3 +305,5 @@ autoloottype: "Manage a list of autolooting item types.\n"
" To remove an item type, use \"@autoloottype -<type name>\".\n"
" Type List: healing, usable, etc, weapon, armor, card, petegg, petarmor, ammo.\n"
" \"@autoloottype reset\" will clear your autoloottype list."
+feelreset: "Reset 'Feeling' maps."
+hatereset: "Reset 'Hatred' targets."
diff --git a/conf/map/logs.conf b/conf/map/logs.conf
index f56db9eee..a672eb2f3 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-2020 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
@@ -34,38 +34,40 @@
map_log: {
// Enable Logs? (Note 3)
- // 0x0000000 - Don't log at all
- // 0x0000001 - (T) Log trades
- // 0x0000002 - (V) Log vending transactions
- // 0x0000004 - (P) Log items drop/picked by players
- // 0x0000008 - (L) Log items drop/looted by monsters
- // 0x0000010 - (S) Log NPC transactions (buy/sell)
- // 0x0000020 - (N) Log Script transactions (items deleted/acquired through quests)
- // 0x0000040 - (D) Log items stolen from mobs (Steal/Gank)
- // 0x0000080 - (C) Log player-used items (consumables/pet&hom&merc food/items used for skills&attacks)
- // 0x0000100 - (O) Log produced/ingredient items
- // 0x0000200 - (U) Log MVP prize items
- // 0x0000400 - (A) Log player created/deleted items (through @/# commands)
- // 0x0000800 - (R) Log items placed/retrieved from storage.
- // 0x0001000 - (G) Log items placed/retrieved from guild storage.
- // 0x0002000 - (E) Log mail system transactions.
- // 0x0004000 - (I) Log auction system transactions.
- // 0x0008000 - (B) Log buying store transactions
- // 0x0010000 - (X) Log other transactions
- // 0x0020000 - (K) Log account bank transactions
- // 0x0040000 - (Y) Divorce
- // 0x0080000 - (Z) Roulette
- // 0x0100000 - (W) Rental
- // 0x0200000 - (Q) Card
- // 0x0400000 - (J) Invalid in inventory
- // 0x0800000 - (H) Invalid in cart
- // 0x1000000 - (@) Egg
- // 0x2000000 - (0) Quest
- // 0x4000000 - (1) Skill
- // 0x8000000 - (2) Refine
+ // 0x00000000 - Don't log at all
+ // 0x00000001 - (T) Log trades X
+ // 0x00000002 - (V) Log vending transactions X
+ // 0x00000004 - (P) Log items drop/picked by players X
+ // 0x00000008 - (M) Log items dropped by monsters
+ // 0x00000010 - (S) Log NPC transactions (buy/sell)
+ // 0x00000020 - (N) Log Script transactions (items deleted/acquired through quests)
+ // 0x00000040 - (D) Log items stolen from mobs (Steal/Gank)
+ // 0x00000080 - (C) Log player-used items (consumables/pet&hom&merc food/items used for skills&attacks)
+ // 0x00000100 - (O) Log produced/ingredient items
+ // 0x00000200 - (U) Log MVP prize items
+ // 0x00000400 - (A) Log player created/deleted items (through @/# commands)
+ // 0x00000800 - (R) Log items placed/retrieved from storage.
+ // 0x00001000 - (G) Log items placed/retrieved from guild storage.
+ // 0x00002000 - (E) Log mail system transactions.
+ // 0x00004000 - (I) Log auction system transactions.
+ // 0x00008000 - (B) Log buying store transactions
+ // 0x00010000 - (X) Log other transactions
+ // 0x00020000 - (K) Log account bank transactions
+ // 0x00040000 - (Y) Divorce
+ // 0x00080000 - (Z) Roulette
+ // 0x00100000 - (W) Rental
+ // 0x00200000 - (Q) Card
+ // 0x00400000 - (J) Invalid in inventory
+ // 0x00800000 - (H) Invalid in cart
+ // 0x01000000 - (@) Egg
+ // 0x02000000 - (0) Quest
+ // 0x04000000 - (1) Skill
+ // 0x08000000 - (2) Refine
+ // 0x10000000 - (L) Log items looted by monsters
+ // 0x20000000 - (3) Achievements
// Example: Log trades+vending+script items+created items: 1+2+32+1024 = 1059
// Please note that moving items from inventory to cart and back is not logged by design.
- enable: 0xFFFFFFF
+ enable: 0xFFFFFFFF
// Logging files/tables
// Following settings specify where to log to. If 'use_sql' is
diff --git a/conf/map/map-server.conf b/conf/map/map-server.conf
index 943b7b5a6..c720c28e2 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-2020 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 1634ef3a8..64299c731 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-2020 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/script.conf b/conf/map/script.conf
index f18e9d6e2..fc4f26965 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-2020 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 2f790b13f..98b0e0a9d 100644
--- a/conf/messages.conf
+++ b/conf/messages.conf
@@ -191,7 +191,7 @@
170: The item is not equippable.
171: %d - void
172: Speed returned to normal.
-//173 FREE
+173: Please enter a valid madogear type.
174: Number of status points changed.
175: Number of skill points changed.
176: Current amount of zeny changed.
@@ -368,7 +368,7 @@
353: Duel: The Player is in the duel already.
354: Duel: Invitation has been sent.
355: Duel: You can't use @duel without @reject.
-356: Duel: You can take part in duel once per %d minutes.
+356: Duel: You can take part in duel again after %d seconds.
357: Duel: Invalid value.
358: Duel: You can't use @leave. You aren't a duelist.
359: Duel: You've left the duel.
@@ -442,14 +442,36 @@
432: change the sex of
433: This character has been banned until
434: Char-server has been asked to %s the character '%.*s'.
-//435-449 FREE
+//435-448 FREE
// Homunculus messages
+449: Homunculus Experience Gained Base:%u (%.2f%%)
450: You already have a homunculus
// Return pet to egg message
451: You can't return your pet because your inventory is full.
452: usage @camerainfo range rotation latitude
-//453-497 FREE
+
+// Refinary
+453: Refinery UI is not available
+
+// Battlegrounds
+454: Server : %s is leaving the battlefield...
+455: Server : %s has been afk-kicked from the battlefield...
+456: You are a deserter! Wait %u minute(s) before you can apply again
+457: You are a deserter! Wait %u seconds before you can apply again
+458: You can't reapply to this arena so fast. Apply to the different arena or wait %u minute(s)
+459: You can't reapply to this arena so fast. Apply to the different arena or wait %u seconds
+460: Can't apply: not enough members in your team/guild that have not entered the queue in individual mode, minimum is %d
+461: Can't apply: not enough members in your team/guild, minimum is %d
+462: Can't apply: not enough members in your team/party that have not entered the queue in individual mode, minimum is %d
+463: Can't apply: not enough members in your team/party, minimum is %d
+464: Server : %s has quit the game...
+// IRC
+465: [ #%s ] User IRC.%s left the channel. [Quit: %s]
+466: [ #%s ] User IRC.%s left the channel. [%s]
+467: [ #%s ] User IRC.%s is now known as IRC.%s
+468: [ #%s ] User IRC.%s joined the channel.
+// 469-497 FREE
// Messages of others (not for GM commands)
// ----------------------------------------
@@ -477,7 +499,8 @@
// mail system
//----------------------
510: You have %d new emails (%d unread)
-//511-537 FREE
+511: Inbox is full (Max %d). Delete some mails.
+// 512-537 FREE
// Trade Spoof Messages
538: Hack on trade: character '%s' (account: %d) try to trade more items that he has.
@@ -660,7 +683,28 @@
879: You have become the Guild Master!
880: You have been recovered!
881: Shop is out of stock! Come again later!
-//882-899 FREE
+
+// Frost Joker / Scream text for monster (MobName : SkillName !!)
+882: %s : %s !!
+// Cursed Circle
+883: You are too close to a stone or emperium to do this skill
+//
+884: Skill Failed. [%s] requires %dx %s.
+885: Removed %dz.
+886: Gained %dz.
+887: %s stole an Unknown Item (id: %i).
+888: %s stole %s.
+889: Experience Gained Base:%"PRIu64" (%.2f%%) Job:%"PRIu64" (%.2f%%)
+890: [KS Warning!! - Owner : %s]
+891: [Watch out! %s is trying to KS you!]
+892: Growth: hp:%d sp:%d str(%.2f) agi(%.2f) vit(%.2f) int(%.2f) dex(%.2f) luk(%.2f)
+893: [ Kill Steal Protection Disabled. KS is allowed in this map ]
+894: %s is in autotrade mode and cannot receive whispered messages.
+// 895 FREE
+896: Base EXP : %d%% | Base Drop: %d%% | Base Death Penalty: %d%%
+897: #%s '%s' joined
+898: #%s '%s' left
+// 899 FREE
//------------------------------------
// More atcommands message
@@ -719,7 +763,10 @@
926: Zone not found. Keep in mind that the names are CaSe SenSitiVe.
927: Zone successfully changed from '%s' to '%s'.
-//928-979 FREE
+//928-978 FREE
+
+// @hatereset
+979: Reset 'Hatred' targets.
// @kami
980: Please enter a message (usage: @kami <message>).
@@ -758,18 +805,18 @@
//995 FREE
-// @refine
+// @refine - Part 1
996: Please enter a position bitmask and an amount (usage: @refine <equip position> <+/- amount>).
-997: %d: Lower Headgear
-998: %d: Right Hand
+997: %d: Headgear (Low)
+998: %d: Hand (Right)
999: %d: Garment
-1000: %d: Left Accessory
+1000: %d: Accessory (Left)
1001: %d: Body Armor
-1002: %d: Left Hand
+1002: %d: Hand (Left)
1003: %d: Shoes
-1004: %d: Right Accessory
-1005: %d: Top Headgear
-1006: %d: Mid Headgear
+1004: %d: Accessory (Right)
+1005: %d: Headgear (Top)
+1006: %d: Headgear (Mid)
// @produce
1007: Please enter at least one item name/ID (usage: @produce <equip name/ID> <element> <# of very's>).
@@ -969,8 +1016,8 @@
// @loadnpc
1132: Please enter a script file name (usage: @loadnpc <file name>).
-// @npcoff
-1133: Please enter a NPC name (usage: @npcoff <NPC_name>).
+// @unloadnpc
+1133: Please enter a NPC name (Usage: @unloadnpc <NPC_name> {<flag>}).
// @jail
1134: Please enter a player name (usage: @jail <char_name>).
@@ -1408,8 +1455,8 @@
1384: User '%s' permissions updated successfully. The changes are temporary.
// @unloadnpcfile
-1385: Usage: @unloadnpcfile <file name>
-1386: File unloaded. Be aware that mapflags and monsters spawned directly are not removed.
+1385: Usage: @unloadnpcfile <path> {<flag>}
+1386: File unloaded. Be aware that some changes made by NPC are not reverted on unload. See doc/atcommands.txt for details.
1387: File not found.
// General command messages
@@ -1569,5 +1616,33 @@
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 (%d skipped)!
+
+// @refine - Part 2
+1503: %d: Costume Headgear (Top)
+1504: %d: Costume Headgear (Mid)
+1505: %d: Costume Headgear (Low)
+1506: %d: Costume Garment
+1507: %d: Shadow Armor
+1508: %d: Shadow Weapon
+1509: %d: Shadow Shield
+1510: %d: Shadow Shoes
+1511: %d: Shadow Accessory (Right)
+1512: %d: Shadow Accessory (Left)
+1513: %d: Refine All Equip (General)
+1514: %d: Refine All Equip (Costume)
+1515: %d: Refine All Equip (Shadow)
+
+// @reloadnpc
+1516: Usage: @reloadnpc <path> {<flag>}
+1517: Script could not be unloaded.
+
+// File name validation
+1518: Not a file.
+1519: Can't open file.
+
//Custom translations
import: conf/import/msg_conf.txt
diff --git a/configure b/configure
index 4ab9057e8..e3a8cc99a 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.ac 5b2340b4d.
+# From configure.ac 7c9af5bf8.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69.
#
@@ -633,6 +633,16 @@ MYSQL_VERSION
HAVE_MYSQL
MYSQL_CONFIG_HOME
DLLEXT
+USE_LIBBACKTRACE
+BACKTRACE_USES_MALLOC
+ALLOC_FILE
+VIEW_FILE
+BACKTRACE_SUPPORTS_DATA
+BACKTRACE_SUPPORTED
+LIBBACKTRACE_FORMAT_FILE
+BACKTRACE_SUPPORTS_THREADS
+BACKTRACE_FILE
+AWK
SOFLAGS
WITH_PLUGINS
AR
@@ -700,6 +710,7 @@ with_key1
with_key2
with_key3
enable_debug
+enable_libbacktrace
enable_buildbot
enable_rdtsc
enable_profiler
@@ -1355,6 +1366,9 @@ Optional Features:
--enable-epoll use epoll(4) on Linux
--enable-debug[=ARG] Compiles extra debug code. (yes by default)
(available options: yes, no, gdb)
+ --enable-libbacktrace[=ARG]
+ Compiles with libbacktrace. (no by default -
+ experimental)
--enable-buildbot[=ARG] (available options: yes, no)
--enable-rdtsc Uses rdtsc as timing source (disabled by default)
Enable it when you've timing issues. (For example:
@@ -1838,6 +1852,52 @@ $as_echo "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_func
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_decl
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
@@ -2195,7 +2255,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_files="$ac_config_files Makefile src/common/Makefile"
-ac_config_files="$ac_config_files 3rdparty/mt19937ar/Makefile 3rdparty/libconfig/Makefile"
+ac_config_files="$ac_config_files 3rdparty/mt19937ar/Makefile 3rdparty/libconfig/Makefile 3rdparty/libbacktrace/Makefile 3rdparty/libbacktrace/backtrace-supported.h"
ac_config_files="$ac_config_files src/char/Makefile src/login/Makefile"
@@ -3457,8 +3517,13 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host OS" >&5
+$as_echo_n "checking host OS... " >&6; }
+host_os="`uname`"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $host_os" >&5
+$as_echo "$host_os" >&6; }
+
# Root-check
-host_is="`uname`"
case $host_os in
CYGWIN*)
;;
@@ -3739,6 +3804,34 @@ fi
#
+# libbacktrace
+#
+# Check whether --enable-libbacktrace was given.
+if test "${enable_libbacktrace+set}" = set; then :
+ enableval=$enable_libbacktrace;
+ enable_libbacktrace="$enableval"
+ case $enableval in
+ "no");;
+ "yes");;
+ *) as_fn_error $? "invalid argument --enable-libbacktrace=$enableval... stopping" "$LINENO" 5;;
+ esac
+
+else
+
+ case $host_os in
+ Linux* )
+ enable_libbacktrace="yes"
+ ;;
+ *)
+ enable_libbacktrace="no"
+ ;;
+ esac
+
+
+fi
+
+
+#
# Buildbot
#
# Check whether --enable-buildbot was given.
@@ -6230,7 +6323,6 @@ fi
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -Wno-unused-parameter" >&5
$as_echo_n "checking whether $CC supports -Wno-unused-parameter... " >&6; }
OLD_CFLAGS="$CFLAGS"
@@ -8518,6 +8610,439 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
esac
#
+# libbacktrace
+#
+if test "$enable_libbacktrace" = "no" ; then
+ USE_LIBBACKTRACE="no"
+else
+ CPPFLAGS="$CPPFLAGS -DHAVE_LIBBACKTRACE"
+ USE_LIBBACKTRACE="yes"
+
+ # libbacktrace checks
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports -funwind-tables" >&5
+$as_echo_n "checking whether $CC supports -funwind-tables... " >&6; }
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS -funwind-tables"
+ OLD_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -funwind-tables"
+ 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; }
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ CFLAGS="$OLD_CFLAGS"
+ LDFLAGS="$OLD_LDFLAGS"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+
+ for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+ case "$AWK" in
+ "")
+ as_fn_error $? "Libbacktrace requires awk to build" "$LINENO" 5
+ ;;
+ esac
+
+ backtrace_supported=yes
+ ac_fn_c_check_header_mongrel "$LINENO" "unwind.h" "ac_cv_header_unwind_h" "$ac_includes_default"
+if test "x$ac_cv_header_unwind_h" = xyes; then :
+ ac_fn_c_check_func "$LINENO" "_Unwind_Backtrace" "ac_cv_func__Unwind_Backtrace"
+if test "x$ac_cv_func__Unwind_Backtrace" = xyes; then :
+ BACKTRACE_FILE="backtrace.lo simple.lo"
+else
+
+ BACKTRACE_FILE="nounwind.lo"
+ backtrace_supported=no
+
+
+fi
+
+else
+
+ BACKTRACE_FILE="nounwind.lo"
+ backtrace_supported=no
+
+
+fi
+
+
+
+
+
+$as_echo "#define HAVE_GETIPINFO 1" >>confdefs.h
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking __sync extensions" >&5
+$as_echo_n "checking __sync extensions... " >&6; }
+if ${libbacktrace_cv_sys_sync+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test -n "${with_target_subdir}"; then
+ case "${host}" in
+ hppa*-*-hpux*)
+ libbacktrace_cv_sys_sync=no
+ ;;
+ *)
+ libbacktrace_cv_sys_sync=yes
+ ;;
+ esac
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ int i;
+int
+main ()
+{
+
+ __sync_bool_compare_and_swap(&i, i, i);
+ __sync_lock_test_and_set(&i, 1);
+ __sync_lock_release(&i);
+
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ libbacktrace_cv_sys_sync=yes
+else
+ libbacktrace_cv_sys_sync=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libbacktrace_cv_sys_sync" >&5
+$as_echo "$libbacktrace_cv_sys_sync" >&6; }
+ BACKTRACE_SUPPORTS_THREADS=0
+ if test "$libbacktrace_cv_sys_sync" = "yes"; then
+ BACKTRACE_SUPPORTS_THREADS=1
+
+$as_echo "#define HAVE_SYNC_FUNCTIONS 1" >>confdefs.h
+
+ fi
+
+
+ # Test for __atomic support.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking __atomic extensions" >&5
+$as_echo_n "checking __atomic extensions... " >&6; }
+if ${libbacktrace_cv_sys_atomic+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ if test -n "${with_target_subdir}"; then
+ libbacktrace_cv_sys_atomic=yes
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+ int i;
+int
+main ()
+{
+
+ __atomic_load_n(&i, __ATOMIC_ACQUIRE);
+ __atomic_store_n(&i, 1, __ATOMIC_RELEASE);
+
+
+ ;
+ return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ libbacktrace_cv_sys_atomic=yes
+else
+ libbacktrace_cv_sys_atomic=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ fi
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libbacktrace_cv_sys_atomic" >&5
+$as_echo "$libbacktrace_cv_sys_atomic" >&6; }
+ if test "$libbacktrace_cv_sys_atomic" = "yes"; then
+
+$as_echo "#define HAVE_ATOMIC_FUNCTIONS 1" >>confdefs.h
+
+ fi
+
+ # The library needs to be able to read the executable itself. Compile
+ # a file to determine the executable format. The awk script
+ # filetype.awk prints out the file type.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking output filetype" >&5
+$as_echo_n "checking output filetype... " >&6; }
+if ${libbacktrace_cv_sys_filetype+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ filetype=
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+int i;
+int
+main ()
+{
+int j;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ filetype=`${AWK} -f $srcdir/3rdparty/libbacktrace/filetype.awk conftest.$ac_objext`
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "compiler failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ libbacktrace_cv_sys_filetype=$filetype
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libbacktrace_cv_sys_filetype" >&5
+$as_echo "$libbacktrace_cv_sys_filetype" >&6; }
+
+ # Match the file type to decide what files to compile.
+ LIBBACKTRACE_FORMAT_FILE=
+ backtrace_supports_data=yes
+ case "$libbacktrace_cv_sys_filetype" in
+ elf*)
+ LIBBACKTRACE_FORMAT_FILE="elf.o"
+ ;;
+ pecoff)
+ LIBBACKTRACE_FORMAT_FILE="pecoff.o"
+ backtrace_supports_data=no
+ ;;
+ xcoff*)
+ LIBBACKTRACE_FORMAT_FILE="xcoff.o"
+ backtrace_supports_data=no
+ ;;
+ macho*)
+ LIBBACKTRACE_FORMAT_FILE="macho.o"
+ backtrace_supports_data=no
+ ;;
+ *)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: could not determine output file type" >&5
+$as_echo "$as_me: WARNING: could not determine output file type" >&2;}
+ LIBBACKTRACE_FORMAT_FILE="unknown.o"
+ backtrace_supported=no
+ ;;
+ esac
+
+
+ # ELF defines.
+ elfsize=
+ case "$libbacktrace_cv_sys_filetype" in
+ elf32)
+ elfsize=32
+ ;;
+ elf64)
+ elfsize=64
+ ;;
+ *)
+ elfsize=unused
+ esac
+
+cat >>confdefs.h <<_ACEOF
+#define BACKTRACE_ELF_SIZE $elfsize
+_ACEOF
+
+
+ # XCOFF defines.
+ xcoffsize=
+ case "$libbacktrace_cv_sys_filetype" in
+ xcoff32)
+ xcoffsize=32
+ ;;
+ xcoff64)
+ xcoffsize=64
+ ;;
+ *)
+ xcoffsize=unused
+ esac
+
+cat >>confdefs.h <<_ACEOF
+#define BACKTRACE_XCOFF_SIZE $xcoffsize
+_ACEOF
+
+
+ BACKTRACE_SUPPORTED=0
+ if test "$backtrace_supported" = "yes"; then
+ BACKTRACE_SUPPORTED=1
+ fi
+
+
+ BACKTRACE_SUPPORTS_DATA=0
+ if test "$backtrace_supports_data" = "yes"; then
+ BACKTRACE_SUPPORTS_DATA=1
+ fi
+
+
+ ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
+if test "x$ac_cv_func_mmap" = xyes; then :
+ have_mmap=yes
+else
+ have_mmap=no
+fi
+
+
+ VIEW_FILE=mmapio.lo
+ ALLOC_FILE=mmap.lo
+
+
+
+
+ BACKTRACE_USES_MALLOC=0
+ if test "$ALLOC_FILE" = "alloc.lo"; then
+ BACKTRACE_USES_MALLOC=1
+ fi
+
+
+ ac_fn_c_check_func "$LINENO" "dl_iterate_phdr" "ac_cv_func_dl_iterate_phdr"
+if test "x$ac_cv_func_dl_iterate_phdr" = xyes; then :
+ have_dl_iterate_phdr=yes
+else
+ have_dl_iterate_phdr=no
+fi
+
+ if test "$have_dl_iterate_phdr" = "yes"; then
+
+$as_echo "#define HAVE_DL_ITERATE_PHDR 1" >>confdefs.h
+
+ fi
+
+ # Check for the fcntl function.
+ if test -n "${with_target_subdir}"; then
+ case "${host}" in
+ *-*-mingw*)
+ have_fcntl=no
+ ;;
+ spu-*-*)
+ have_fcntl=no
+ ;;
+ *)
+ have_fcntl=yes
+ ;;
+ esac
+ else
+ ac_fn_c_check_func "$LINENO" "fcntl" "ac_cv_func_fcntl"
+if test "x$ac_cv_func_fcntl" = xyes; then :
+ have_fcntl=yes
+else
+ have_fcntl=no
+fi
+
+ fi
+ if test "$have_fcntl" = "yes"; then
+
+$as_echo "#define HAVE_FCNTL 1" >>confdefs.h
+
+ fi
+
+ ac_fn_c_check_decl "$LINENO" "strnlen" "ac_cv_have_decl_strnlen" "$ac_includes_default"
+if test "x$ac_cv_have_decl_strnlen" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_STRNLEN $ac_have_decl
+_ACEOF
+
+ for ac_func in lstat readlink
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+ ac_fn_c_check_func "$LINENO" "getexecname" "ac_cv_func_getexecname"
+if test "x$ac_cv_func_getexecname" = xyes; then :
+ have_getexecname=yes
+else
+ have_getexecname=no
+fi
+
+ if test "$have_getexecname" = "yes"; then
+
+$as_echo "#define HAVE_GETEXECNAME 1" >>confdefs.h
+
+ fi
+fi
+
+
+#
# Buildbot
#
case $enable_buildbot in
@@ -8598,11 +9123,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
#
# Host specific stuff
#
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host OS" >&5
-$as_echo_n "checking host OS... " >&6; }
-host_os="`uname`"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $host_os" >&5
-$as_echo "$host_os" >&6; }
fd_setsize=""
DLLEXT=".so"
case $host_os in
@@ -10418,6 +10938,7 @@ gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
+AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF
@@ -10522,6 +11043,8 @@ do
"src/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/common/Makefile" ;;
"3rdparty/mt19937ar/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/mt19937ar/Makefile" ;;
"3rdparty/libconfig/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/libconfig/Makefile" ;;
+ "3rdparty/libbacktrace/Makefile") CONFIG_FILES="$CONFIG_FILES 3rdparty/libbacktrace/Makefile" ;;
+ "3rdparty/libbacktrace/backtrace-supported.h") CONFIG_FILES="$CONFIG_FILES 3rdparty/libbacktrace/backtrace-supported.h" ;;
"src/char/Makefile") CONFIG_FILES="$CONFIG_FILES src/char/Makefile" ;;
"src/login/Makefile") CONFIG_FILES="$CONFIG_FILES src/login/Makefile" ;;
"src/map/Makefile") CONFIG_FILES="$CONFIG_FILES src/map/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index ec9e35cfe..df3da8266 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,8 +4,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2012-2015 Hercules Dev Team
-# Copyright (C) Athena Dev Teams
+# Copyright (C) 2012-2020 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
@@ -25,7 +25,7 @@ AC_REVISION([m4_esyscmd_s([type git >/dev/null 2>&1 && git describe --always 2>/
AC_PREREQ([2.59])
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([3rdparty/mt19937ar/Makefile 3rdparty/libconfig/Makefile 3rdparty/libbacktrace/Makefile 3rdparty/libbacktrace/backtrace-supported.h])
AC_CONFIG_FILES([src/char/Makefile src/login/Makefile])
AC_CONFIG_FILES([src/map/Makefile src/plugins/Makefile])
AC_CONFIG_FILES([src/test/Makefile])
@@ -38,8 +38,11 @@ m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
[AC_GNU_SOURCE]
)
+AC_MSG_CHECKING([host OS])
+host_os="`uname`"
+AC_MSG_RESULT([$host_os])
+
# Root-check
-host_is="`uname`"
case $host_os in
CYGWIN*)
;;
@@ -312,6 +315,37 @@ AC_ARG_ENABLE(
)
#
+# libbacktrace
+#
+AC_ARG_ENABLE(
+ [libbacktrace],
+ AC_HELP_STRING(
+ [--enable-libbacktrace@<:@=ARG@:>@],
+ [
+ Compiles with libbacktrace. (no by default - experimental)
+ ]
+ ),
+ [
+ enable_libbacktrace="$enableval"
+ case $enableval in
+ "no");;
+ "yes");;
+ *) AC_MSG_ERROR([[invalid argument --enable-libbacktrace=$enableval... stopping]]);;
+ esac
+ ],
+ [
+ case $host_os in
+ Linux* )
+ enable_libbacktrace="yes"
+ ;;
+ *)
+ enable_libbacktrace="no"
+ ;;
+ esac
+ ]
+)
+
+#
# Buildbot
#
AC_ARG_ENABLE(
@@ -963,7 +997,6 @@ if test "$enable_sanitize" != "no" ; then
fi
fi
-
AC_DEFUN([AC_CHECK_COMPILER_WFLAG],
[
AC_MSG_CHECKING([whether $CC supports -W$1])
@@ -1392,6 +1425,237 @@ case $enable_debug in
esac
#
+# libbacktrace
+#
+if test "$enable_libbacktrace" = "no" ; then
+ USE_LIBBACKTRACE="no"
+else
+ CPPFLAGS="$CPPFLAGS -DHAVE_LIBBACKTRACE"
+ USE_LIBBACKTRACE="yes"
+
+ # libbacktrace checks
+ AC_CHECK_FLAG(-funwind-tables)
+
+ AC_PROG_AWK
+ case "$AWK" in
+ "")
+ AC_MSG_ERROR([Libbacktrace requires awk to build])
+ ;;
+ esac
+
+ backtrace_supported=yes
+ AC_CHECK_HEADER([unwind.h],
+ [AC_CHECK_FUNC([_Unwind_Backtrace],
+ [BACKTRACE_FILE="backtrace.lo simple.lo"],
+ [
+ BACKTRACE_FILE="nounwind.lo"
+ backtrace_supported=no
+ ]
+ )],
+ [
+ BACKTRACE_FILE="nounwind.lo"
+ backtrace_supported=no
+ ]
+ )
+ AC_SUBST(BACKTRACE_FILE)
+
+ AC_DEFINE(HAVE_GETIPINFO, 1, [Define if _Unwind_GetIPInfo is available.])
+
+ AC_CACHE_CHECK([__sync extensions],
+ [libbacktrace_cv_sys_sync],
+ [
+ if test -n "${with_target_subdir}"; then
+ case "${host}" in
+ hppa*-*-hpux*)
+ libbacktrace_cv_sys_sync=no
+ ;;
+ *)
+ libbacktrace_cv_sys_sync=yes
+ ;;
+ esac
+ else
+ AC_LINK_IFELSE(
+ [
+ AC_LANG_PROGRAM([int i;],
+ [
+ __sync_bool_compare_and_swap(&i, i, i);
+ __sync_lock_test_and_set(&i, 1);
+ __sync_lock_release(&i);
+ ]
+ )
+ ],
+ [libbacktrace_cv_sys_sync=yes],
+ [libbacktrace_cv_sys_sync=no]
+ )
+ fi
+ ]
+ )
+ BACKTRACE_SUPPORTS_THREADS=0
+ if test "$libbacktrace_cv_sys_sync" = "yes"; then
+ BACKTRACE_SUPPORTS_THREADS=1
+ AC_DEFINE([HAVE_SYNC_FUNCTIONS], 1, [Define to 1 if you have the __sync functions])
+ fi
+ AC_SUBST(BACKTRACE_SUPPORTS_THREADS)
+
+ # Test for __atomic support.
+ AC_CACHE_CHECK([__atomic extensions],
+ [libbacktrace_cv_sys_atomic],
+ [
+ if test -n "${with_target_subdir}"; then
+ libbacktrace_cv_sys_atomic=yes
+ else
+ AC_LINK_IFELSE(
+ [
+ AC_LANG_PROGRAM([int i;],
+ [
+ __atomic_load_n(&i, __ATOMIC_ACQUIRE);
+ __atomic_store_n(&i, 1, __ATOMIC_RELEASE);
+ ]
+ )
+ ],
+ [libbacktrace_cv_sys_atomic=yes],
+ [libbacktrace_cv_sys_atomic=no]
+ )
+ fi
+ ]
+ )
+ if test "$libbacktrace_cv_sys_atomic" = "yes"; then
+ AC_DEFINE([HAVE_ATOMIC_FUNCTIONS], 1, [Define to 1 if you have the __atomic functions])
+ fi
+
+ # The library needs to be able to read the executable itself. Compile
+ # a file to determine the executable format. The awk script
+ # filetype.awk prints out the file type.
+ AC_CACHE_CHECK([output filetype],
+ [libbacktrace_cv_sys_filetype],
+ [
+ filetype=
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM([int i;], [int j;])],
+ [filetype=`${AWK} -f $srcdir/3rdparty/libbacktrace/filetype.awk conftest.$ac_objext`],
+ [AC_MSG_FAILURE([compiler failed])]
+ )
+ libbacktrace_cv_sys_filetype=$filetype
+ ]
+ )
+
+ # Match the file type to decide what files to compile.
+ LIBBACKTRACE_FORMAT_FILE=
+ backtrace_supports_data=yes
+ case "$libbacktrace_cv_sys_filetype" in
+ elf*)
+ LIBBACKTRACE_FORMAT_FILE="elf.o"
+ ;;
+ pecoff)
+ LIBBACKTRACE_FORMAT_FILE="pecoff.o"
+ backtrace_supports_data=no
+ ;;
+ xcoff*)
+ LIBBACKTRACE_FORMAT_FILE="xcoff.o"
+ backtrace_supports_data=no
+ ;;
+ macho*)
+ LIBBACKTRACE_FORMAT_FILE="macho.o"
+ backtrace_supports_data=no
+ ;;
+ *)
+ AC_MSG_WARN([could not determine output file type])
+ LIBBACKTRACE_FORMAT_FILE="unknown.o"
+ backtrace_supported=no
+ ;;
+ esac
+ AC_SUBST(LIBBACKTRACE_FORMAT_FILE)
+
+ # ELF defines.
+ elfsize=
+ case "$libbacktrace_cv_sys_filetype" in
+ elf32)
+ elfsize=32
+ ;;
+ elf64)
+ elfsize=64
+ ;;
+ *)
+ elfsize=unused
+ esac
+ AC_DEFINE_UNQUOTED([BACKTRACE_ELF_SIZE], [$elfsize], [ELF size: 32 or 64])
+
+ # XCOFF defines.
+ xcoffsize=
+ case "$libbacktrace_cv_sys_filetype" in
+ xcoff32)
+ xcoffsize=32
+ ;;
+ xcoff64)
+ xcoffsize=64
+ ;;
+ *)
+ xcoffsize=unused
+ esac
+ AC_DEFINE_UNQUOTED([BACKTRACE_XCOFF_SIZE], [$xcoffsize], [XCOFF size: 32 or 64])
+
+ BACKTRACE_SUPPORTED=0
+ if test "$backtrace_supported" = "yes"; then
+ BACKTRACE_SUPPORTED=1
+ fi
+ AC_SUBST(BACKTRACE_SUPPORTED)
+
+ BACKTRACE_SUPPORTS_DATA=0
+ if test "$backtrace_supports_data" = "yes"; then
+ BACKTRACE_SUPPORTS_DATA=1
+ fi
+ AC_SUBST(BACKTRACE_SUPPORTS_DATA)
+
+ AC_CHECK_FUNC(mmap, [have_mmap=yes], [have_mmap=no])
+
+ VIEW_FILE=mmapio.lo
+ ALLOC_FILE=mmap.lo
+
+ AC_SUBST(VIEW_FILE)
+ AC_SUBST(ALLOC_FILE)
+
+ BACKTRACE_USES_MALLOC=0
+ if test "$ALLOC_FILE" = "alloc.lo"; then
+ BACKTRACE_USES_MALLOC=1
+ fi
+ AC_SUBST(BACKTRACE_USES_MALLOC)
+
+ AC_CHECK_FUNC([dl_iterate_phdr], [have_dl_iterate_phdr=yes], [have_dl_iterate_phdr=no])
+ if test "$have_dl_iterate_phdr" = "yes"; then
+ AC_DEFINE(HAVE_DL_ITERATE_PHDR, 1, [Define if dl_iterate_phdr is available.])
+ fi
+
+ # Check for the fcntl function.
+ if test -n "${with_target_subdir}"; then
+ case "${host}" in
+ *-*-mingw*)
+ have_fcntl=no
+ ;;
+ spu-*-*)
+ have_fcntl=no
+ ;;
+ *)
+ have_fcntl=yes
+ ;;
+ esac
+ else
+ AC_CHECK_FUNC(fcntl, [have_fcntl=yes], [have_fcntl=no])
+ fi
+ if test "$have_fcntl" = "yes"; then
+ AC_DEFINE([HAVE_FCNTL], 1, [Define to 1 if you have the fcntl function])
+ fi
+
+ AC_CHECK_DECLS(strnlen)
+ AC_CHECK_FUNCS(lstat readlink)
+
+ AC_CHECK_FUNC(getexecname, [have_getexecname=yes], [have_getexecname=no])
+ if test "$have_getexecname" = "yes"; then
+ AC_DEFINE(HAVE_GETEXECNAME, 1, [Define if getexecname is available.])
+ fi
+fi
+AC_SUBST(USE_LIBBACKTRACE)
+
+#
# Buildbot
#
case $enable_buildbot in
@@ -1446,9 +1710,6 @@ AC_CHECK_FLAG(-fno-var-tracking)
#
# Host specific stuff
#
-AC_MSG_CHECKING([host OS])
-host_os="`uname`"
-AC_MSG_RESULT([$host_os])
fd_setsize=""
DLLEXT=".so"
case $host_os in
diff --git a/db/achievement_rank_db.conf b/db/achievement_rank_db.conf
index e19194fad..6b8155438 100644
--- a/db/achievement_rank_db.conf
+++ b/db/achievement_rank_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/db/attendance_db.conf b/db/attendance_db.conf
index f63ceed53..58e61f763 100644
--- a/db/attendance_db.conf
+++ b/db/attendance_db.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
-//= Copyright (C) 2018 Asheraf
+//= Copyright (C) 2018-2020 Hercules Dev Team
+//= Copyright (C) 2018 Asheraf
//=
//= 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/db/cashshop_db.conf b/db/cashshop_db.conf
index c92eeface..4401a26b3 100644
--- a/db/cashshop_db.conf
+++ b/db/cashshop_db.conf
@@ -9,7 +9,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-2020 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/db/castle_db.conf b/db/castle_db.conf
new file mode 100644
index 000000000..4e83b7148
--- /dev/null
+++ b/db/castle_db.conf
@@ -0,0 +1,471 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019-2020 Hercules Dev Team
+//= Copyright (C) 2019 Asheraf
+//=
+//= 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/>.
+//=========================================================================
+//= Castle Database
+//=========================================================================
+
+castle_db: (
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ==============================
+ CastleID: (int) Unique ID of the castle. Must remain unique across all map-servers.
+ MapName: (string) Map name to be considered as the castle map.
+ CastleName: (string) Name of the castle (used by scripts and guardian name tags)
+ OnGuildBreakEventName: (string) NPC unique name to invoke ::OnGuildBreak on, when a occupied
+ castle is abandoned during guild break.
+ // ================ Optional fields ===============================
+ SiegeType: (string, default to SIEGE_TYPE_FE) define siege type
+ EnableClientWarp: (bool, default to false) enable or disable client teleport features
+ ClientWarp: {
+ Position: (int, int) x, y position of warp request
+ ZenyCost: (int) The zeny cost of warp
+ ZenyCostSiegeTime: (int) The zeny cost of warp durring woe
+ }
+},
+**************************************************************************/
+//================
+// Prontera
+//================
+{
+ CastleID: 1
+ MapName: "prtg_cas01"
+ CastleName: "Kriemhild" // kRO : Creamhilt
+ OnGuildBreakEventName: "Agit#prtg_cas01"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (107, 180)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 2
+ MapName: "prtg_cas02"
+ CastleName: "Swanhild" // kRO : Sbanhealt
+ OnGuildBreakEventName: "Agit#prtg_cas02"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (94, 56)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 3
+ MapName: "prtg_cas03"
+ CastleName: "Fadhgridh" // kRO : Lazrigees
+ OnGuildBreakEventName: "Agit#prtg_cas03"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (46, 97)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 4
+ MapName: "prtg_cas04"
+ CastleName: "Skoegul" // kRO : Squagul
+ OnGuildBreakEventName: "Agit#prtg_cas04"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (260, 262)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 5
+ MapName: "prtg_cas05"
+ CastleName: "Gondul" // kRO : Guindull
+ OnGuildBreakEventName: "Agit#prtg_cas05"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (26, 38)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+//================
+// Al De Baran
+//================
+{
+ CastleID: 6
+ MapName: "aldeg_cas01"
+ CastleName: "Neuschwanstein" // kRO : Noisyubantian
+ OnGuildBreakEventName: "Agit#aldeg_cas01"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (212, 175)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 7
+ MapName: "aldeg_cas02"
+ CastleName: "Hohenschwangau" // kRO : Hohensyubangawoo
+ OnGuildBreakEventName: "Agit#aldeg_cas02"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (82, 71)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 8
+ MapName: "aldeg_cas03"
+ CastleName: "Nuernberg" // kRO : Nyirenverk
+ OnGuildBreakEventName: "Agit#aldeg_cas03"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (109, 112)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 9
+ MapName: "aldeg_cas04"
+ CastleName: "Wuerzburg" // kRO : Byirtsburi
+ OnGuildBreakEventName: "Agit#aldeg_cas04"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (60, 116)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 10
+ MapName: "aldeg_cas05"
+ CastleName: "Rothenburg" // kRO : Rotenburk
+ OnGuildBreakEventName: "Agit#aldeg_cas05"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (61, 185)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+//================
+// Geffen
+//================
+{
+ CastleID: 11
+ MapName: "gefg_cas01"
+ CastleName: "Repherion" // kRO : Reprion
+ OnGuildBreakEventName: "Agit#gefg_cas01"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (40, 43)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 12
+ MapName: "gefg_cas02"
+ CastleName: "Eeyolbriggar" // kRO : Yolbriger
+ OnGuildBreakEventName: "Agit#gefg_cas02"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (22, 66)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 13
+ MapName: "gefg_cas03"
+ CastleName: "Yesnelph" // kRO : Isinlife
+ OnGuildBreakEventName: "Agit#gefg_cas03"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (112, 23)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 14
+ MapName: "gefg_cas04"
+ CastleName: "Bergel" // kRO : Berigel
+ OnGuildBreakEventName: "Agit#gefg_cas04"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (58, 46)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 15
+ MapName: "gefg_cas05"
+ CastleName: "Mersetzdeitz" // kRO : Melsedetsu
+ OnGuildBreakEventName: "Agit#gefg_cas05"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (66, 48)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+//================
+// Payon
+//================
+{
+ CastleID: 16
+ MapName: "payg_cas01"
+ CastleName: "Bright Arbor" // kRO : Mingting
+ OnGuildBreakEventName: "Agit#payg_cas01"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (115, 57)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 17
+ MapName: "payg_cas02"
+ CastleName: "Scarlet Palace" // kRO : Tiantan
+ OnGuildBreakEventName: "Agit#payg_cas02"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (26, 265)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 18
+ MapName: "payg_cas03"
+ CastleName: "Holy Shadow" // kRO : Fuying
+ OnGuildBreakEventName: "Agit#payg_cas03"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (43, 264)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 19
+ MapName: "payg_cas04"
+ CastleName: "Sacred Altar" // kRO : Honglou
+ OnGuildBreakEventName: "Agit#payg_cas04"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (36, 272)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 20
+ MapName: "payg_cas05"
+ CastleName: "Bamboo Grove Hill" // kRO : Zhulinxian
+ OnGuildBreakEventName: "Agit#payg_cas05"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (274, 246)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+//================
+// Rachel
+//================
+{
+ CastleID: 21
+ MapName: "arug_cas01"
+ CastleName: "Mardol" // kRO : Mardol
+ OnGuildBreakEventName: "Manager#arug_cas01"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (77, 371)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 22
+ MapName: "arug_cas02"
+ CastleName: "Cyr" // kRO : Cyr
+ OnGuildBreakEventName: "Manager#arug_cas02"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (301, 332)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 23
+ MapName: "arug_cas03"
+ CastleName: "Horn" // kRO : Horn
+ OnGuildBreakEventName: "Manager#arug_cas03"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (322, 91)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 24
+ MapName: "arug_cas04"
+ CastleName: "Gefn" // kRO : Gefn
+ OnGuildBreakEventName: "Manager#arug_cas04"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (322, 91)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 25
+ MapName: "arug_cas05"
+ CastleName: "Bandis" // kRO : Bandis
+ OnGuildBreakEventName: "Manager#arug_cas05"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (322, 91)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+//================
+// Yuno
+//================
+{
+ CastleID: 26
+ MapName: "schg_cas01"
+ CastleName: "Himinn" // kRO : Himinn
+ OnGuildBreakEventName: "Manager#schg_cas01"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (233, 300)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 27
+ MapName: "schg_cas02"
+ CastleName: "Andlangr" // kRO : Andlangr
+ OnGuildBreakEventName: "Manager#schg_cas02"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (101, 372)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 28
+ MapName: "schg_cas03"
+ CastleName: "Viblainn" // kRO : Viblainn
+ OnGuildBreakEventName: "Manager#schg_cas03"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (81, 94)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 29
+ MapName: "schg_cas04"
+ CastleName: "Hljod" // kRO : Hljod
+ OnGuildBreakEventName: "Manager#schg_cas04"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (233, 300)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+{
+ CastleID: 30
+ MapName: "schg_cas05"
+ CastleName: "Skidbladnir" // kRO : Skidbladnir
+ OnGuildBreakEventName: "Manager#schg_cas05"
+ SiegeType: "SIEGE_TYPE_SE"
+ EnableClientWarp: true
+ ClientWarp: {
+ Position: (233, 300)
+ ZenyCost: 100
+ ZenyCostSiegeTime: 100000
+ }
+},
+//================
+// Novice Guilds
+//================
+{
+ CastleID: 31
+ MapName: "nguild_prt"
+ CastleName: "Fire"
+ OnGuildBreakEventName: "Agit_N04"
+ SiegeType: "SIEGE_TYPE_TE"
+},
+{
+ CastleID: 32
+ MapName: "nguild_alde"
+ CastleName: "Earth"
+ OnGuildBreakEventName: "Agit_N01"
+ SiegeType: "SIEGE_TYPE_TE"
+},
+{
+ CastleID: 33
+ MapName: "nguild_gef"
+ CastleName: "Air"
+ OnGuildBreakEventName: "Agit_N02"
+ SiegeType: "SIEGE_TYPE_TE"
+},
+{
+ CastleID: 34
+ MapName: "nguild_pay"
+ CastleName: "Water"
+ OnGuildBreakEventName: "Agit_N03"
+ SiegeType: "SIEGE_TYPE_TE"
+},
+)
diff --git a/db/castle_db.txt b/db/castle_db.txt
deleted file mode 100644
index 12e222eb6..000000000
--- a/db/castle_db.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-// Guild Castles Database
-//
-// Structure of Database:
-// CastleID,MapName,CastleName,OnGuildBreakEventName,Flag
-//
-// 01. CastleID Unique ID of the castle. Must remain unique across all map-servers.
-// 02. MapName Map name to be considered as the castle map.
-// 03. CastleName Name of the castle (used by scripts and guardian name tags).
-// 04. OnGuildBreakEventName NPC unique name to invoke ::OnGuildBreak on, when a occupied
-// castle is abandoned during guild break.
-// 05. Flag Switch flag (reserved as of athena-dev mod0796~0801, not used by server).
-
-
-//================
-// Al De Baran
-//================
-0,aldeg_cas01,Neuschwanstein,Agit#aldeg_cas01,1 // kRO : Noisyubantian
-1,aldeg_cas02,Hohenschwangau,Agit#aldeg_cas02,1 // kRO : Hohensyubangawoo
-2,aldeg_cas03,Nuernberg,Agit#aldeg_cas03,1 // kRO : Nyirenverk
-3,aldeg_cas04,Wuerzburg,Agit#aldeg_cas04,1 // kRO : Byirtsburi
-4,aldeg_cas05,Rothenburg,Agit#aldeg_cas05,1 // kRO : Rotenburk
-
-//================
-// Geffen
-//================
-5,gefg_cas01,Repherion,Agit#gefg_cas01,1 // kRO : Reprion
-6,gefg_cas02,Eeyolbriggar,Agit#gefg_cas02,1 // kRO : Yolbriger
-7,gefg_cas03,Yesnelph,Agit#gefg_cas03,1 // kRO : Isinlife
-8,gefg_cas04,Bergel,Agit#gefg_cas04,1 // kRO : Berigel
-9,gefg_cas05,Mersetzdeitz,Agit#gefg_cas05,1 // kRO : Melsedetsu
-
-//================
-// Payon
-//================
-10,payg_cas01,Bright Arbor,Agit#payg_cas01,1 // kRO : Mingting
-11,payg_cas02,Scarlet Palace,Agit#payg_cas02,1 // kRO : Tiantan
-12,payg_cas03,Holy Shadow,Agit#payg_cas03,1 // kRO : Fuying
-13,payg_cas04,Sacred Altar,Agit#payg_cas04,1 // kRO : Honglou
-14,payg_cas05,Bamboo Grove Hill,Agit#payg_cas05,1 // kRO : Zhulinxian
-
-//================
-// Prontera
-//================
-15,prtg_cas01,Kriemhild,Agit#prtg_cas01,1 // kRO : Creamhilt
-16,prtg_cas02,Swanhild,Agit#prtg_cas02,1 // kRO : Sbanhealt
-17,prtg_cas03,Fadhgridh,Agit#prtg_cas03,1 // kRO : Lazrigees
-18,prtg_cas04,Skoegul,Agit#prtg_cas04,1 // kRO : Squagul
-19,prtg_cas05,Gondul,Agit#prtg_cas05,1 // kRO : Guindull
-
-//================
-// Novice Guilds
-//================
-20,nguild_alde,Earth,Agit_N01,2
-21,nguild_gef,Air,Agit_N02,2
-22,nguild_pay,Water,Agit_N03,2
-23,nguild_prt,Fire,Agit_N04,2
-
-//================
-// Yuno
-//================
-24,schg_cas01,Himinn,Manager#schg_cas01,1 // kRO : Himinn
-25,schg_cas02,Andlangr,Manager#schg_cas02,1 // kRO : Andlangr
-26,schg_cas03,Viblainn,Manager#schg_cas03,1 // kRO : Viblainn
-27,schg_cas04,Hljod,Manager#schg_cas04,1 // kRO : Hljod
-28,schg_cas05,Skidbladnir,Manager#schg_cas05,1 // kRO : Skidbladnir
-
-//================
-// Rachel
-//================
-29,arug_cas01,Mardol,Manager#arug_cas01,1 // kRO : Mardol
-30,arug_cas02,Cyr,Manager#arug_cas02,1 // kRO : Cyr
-31,arug_cas03,Horn,Manager#arug_cas03,1 // kRO : Horn
-32,arug_cas04,Gefn,Manager#arug_cas04,1 // kRO : Gefn
-33,arug_cas05,Bandis,Manager#arug_cas05,1 // kRO : Bandis
diff --git a/db/clans.conf b/db/clans.conf
index 93257f470..7b28bca90 100644
--- a/db/clans.conf
+++ b/db/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-2020 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/db/constants.conf b/db/constants.conf
index 1914c1f15..6f8030a45 100644
--- a/db/constants.conf
+++ b/db/constants.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2016 Hercules Dev Team
+//= Copyright (C) 2016-2020 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
@@ -424,6 +424,8 @@ constants_db: {
mf_noviewid: 56
mf_pairship_startable: 57
mf_pairship_endable: 58
+ mf_nostorage: 59
+ mf_nogstorage: 60
comment__: "Cell Properties"
cell_walkable: 0
@@ -1406,6 +1408,29 @@ constants_db: {
// Clan System
SC_CLAN_INFO: 654
+ SC_SIT: 655
+ SC_MOON: 656
+ SC_TING: 657
+ SC_DEVIL1: 658
+ SC_RIDING: 659
+ SC_FALCON: 660
+ SC_WUGRIDER: 661
+ SC_POSTDELAY: 662
+ SC_ON_PUSH_CART: 663
+ SC_RESIST_PROPERTY_WATER: 664
+ SC_RESIST_PROPERTY_GROUND: 665
+ SC_RESIST_PROPERTY_FIRE: 666
+ SC_RESIST_PROPERTY_WIND: 667
+ SC_CLIENT_ONLY_EQUIP_ARROW: 668
+ SC_MADOGEAR: 669
+ SC_POPECOOKIE: 670
+ SC_VITALIZE_POTION: 671
+ SC_SKF_MATK: 672
+ SC_SKF_ATK: 673
+ SC_SKF_ASPD: 674
+ SC_SKF_CAST: 675
+ SC_ALMIGHTY: 676
+
comment__: "Emotes"
e_gasp: 0
e_what: 1
@@ -1489,37 +1514,53 @@ 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
- MOB_LV: 1
- MOB_MAXHP: 2
- MOB_BASEEXP: 3
- MOB_JOBEXP: 4
- MOB_ATK1: 5
- MOB_ATK2: 6
- MOB_DEF: 7
- MOB_MDEF: 8
- MOB_STR: 9
- MOB_AGI: 10
- MOB_VIT: 11
- MOB_INT: 12
- MOB_DEX: 13
- MOB_LUK: 14
- MOB_RANGE: 15
- MOB_RANGE2: 16
- MOB_RANGE3: 17
- MOB_SIZE: 18
- MOB_RACE: 19
- MOB_ELEMENT: 20
- MOB_MODE: 21
- MOB_MVPEXP: 22
+ MOB_NAME: 0
+ MOB_LV: 1
+ MOB_MAXHP: 2
+ MOB_BASEEXP: 3
+ MOB_JOBEXP: 4
+ MOB_ATK1: 5
+ MOB_ATK2: 6
+ MOB_DEF: 7
+ MOB_MDEF: 8
+ MOB_STR: 9
+ MOB_AGI: 10
+ MOB_VIT: 11
+ MOB_INT: 12
+ MOB_DEX: 13
+ MOB_LUK: 14
+ MOB_RANGE: 15
+ MOB_RANGE2: 16
+ MOB_RANGE3: 17
+ MOB_SIZE: 18
+ MOB_RACE: 19
+ MOB_ELEMENT: 20
+ MOB_MODE: 21
+ MOB_MVPEXP: 22
+ MOB_DMG_TAKEN_RATE: 23
comment__: "mercenary guilds"
ARCH_MERC_GUILD: 0
@@ -3565,11 +3606,38 @@ constants_db: {
4_M_POPFESTA: 10251
4_BONFIRE: 10252
4_PCCOUNT: 10253
+ 4_LAVAGOLEM: 10254
+ 4_F_IA: 10255
+ 4_LOCKE: 10256
+ 4_LIL_LIF: 10257
+ 4_LIL_LIF2: 10258
+ 4_F_DRAGONHAT: 10259
+ 4_M_DRAGONHAT: 10260
+ JP_NPC02: 10261
+ JP_NPC03: 10262
+ JP_NPC04: 10263
+ JP_NPC05: 10264
+ JP_NPC06: 10265
+ JP_NPC07: 10266
+ JP_NPC08: 10267
+ JP_NPC09: 10268
+ JP_NPC10: 10269
+ 4_FIRERING: 10270
4_SCATLETON: 10271
+ 4_JP_AB_NPC_001: 10272
+ 4_JP_AB_NPC_002: 10273
+ 4_JP_AB_NPC_003: 10274
+ 4_JP_AB_NPC_004: 10275
+ 4_JP_AB_NPC_005: 10276
+ 4_JP_AB_NPC_006: 10277
+ 4_JP_AB_NPC_007: 10278
+ 4_JP_AB_NPC_008: 10279
4_JJAK: 10280
4_M_SNOWMAN_B: 10281
4_M_SNOWMAN_R: 10282
4_M_SNOWMAN_G: 10283
+ WARPEFFECTNPC: 10284
+ 4_HEN: 10285
4_F_DANGDANG: 10286
4_M_DANGDANG: 10287
4_F_DANGDANG1: 10288
@@ -3594,6 +3662,39 @@ constants_db: {
4_ED_OSCAR: 10307
4_ED_ORB: 10308
4_ED_FENCE: 10309
+ 4_M_ANDREA: 10310
+ 4_M_ANDREA_D: 10311
+ 4_F_ANES: 10312
+ 4_F_ANES_D: 10313
+ 4_M_SILVANO: 10314
+ 4_M_SILVANO_D: 10315
+ 4_F_CECILIA: 10316
+ 4_F_CECILIA_D: 10317
+ 4_M_MD_SEYREN: 10318
+ 4_M_MD_EREMES: 10319
+ 4_M_MD_HARWORD: 10320
+ 4_F_MD_MAGALETA: 10321
+ 4_F_MD_SHECIL: 10322
+ 4_F_MD_KATRINN: 10323
+ 4_M_MD_SEYREN_H: 10324
+ 4_M_MD_EREMES_H: 10325
+ 4_M_MD_HARWORD_H: 10326
+ 4_F_MD_MAGALETA_H: 10327
+ 4_F_MD_SHECIL_H: 10328
+ 4_F_MD_KATRINN_H: 10329
+ 4_M_MD_SEYREN_D: 10330
+ 4_M_MD_EREMES_D: 10331
+ 4_M_MD_HARWORD_D: 10332
+ 4_F_MD_MAGALETA_D: 10333
+ 4_F_MD_SHECIL_D: 10334
+ 4_F_MD_KATRINN_D: 10335
+ 4_F_MD_YGNIZEM: 10336
+ 4_F_ERENE: 10337
+ 4_M_EINCPTMINER: 10338
+ 4_F_EINRESERCHER: 10339
+ 4_F_REINDEER: 10340
+ 4_PIGOCTO: 10341
+ 4_JP_16TH: 10343
comment__: "Mercenary IDs"
MER_LIF: 6001
@@ -3849,64 +3950,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
@@ -4048,4 +4091,658 @@ constants_db: {
comment__: "inventory expansion"
INVENTORY_INCREASE_STEP: 10
+
+ comment__: "Status Effect Icons"
+ SI_BLANK: -1
+ SI_PROVOKE: 0
+ SI_ENDURE: 1
+ SI_TWOHANDQUICKEN: 2
+ SI_CONCENTRATION: 3
+ SI_HIDING: 4
+ SI_CLOAKING: 5
+ SI_ENCHANTPOISON: 6
+ SI_POISONREACT: 7
+ SI_QUAGMIRE: 8
+ SI_ANGELUS: 9
+ SI_BLESSING: 10
+ SI_CRUCIS: 11
+ SI_INC_AGI: 12
+ SI_DEC_AGI: 13
+ SI_SLOWPOISON: 14
+ SI_IMPOSITIO: 15
+ SI_SUFFRAGIUM: 16
+ SI_ASPERSIO: 17
+ SI_BENEDICTIO: 18
+ SI_KYRIE: 19
+ SI_MAGNIFICAT: 20
+ SI_GLORIA: 21
+ SI_LEXAETERNA: 22
+ SI_ADRENALINE: 23
+ SI_WEAPONPERFECT: 24
+ SI_OVERTHRUST: 25
+ SI_MAXIMIZE: 26
+ SI_RIDING: 27
+ SI_FALCON: 28
+ SI_TRICKDEAD: 29
+ SI_SHOUT: 30
+ SI_ENERGYCOAT: 31
+ SI_BROKENARMOR: 32
+ SI_BROKENWEAPON: 33
+ SI_ILLUSION: 34
+ SI_WEIGHTOVER50: 35
+ SI_WEIGHTOVER90: 36
+ SI_ATTHASTE_POTION1: 37
+ SI_ATTHASTE_POTION2: 38
+ SI_ATTHASTE_POTION3: 39
+ SI_ATTHASTE_INFINITY: 40
+ SI_MOVHASTE_POTION: 41
+ SI_MOVHASTE_INFINITY: 42
+ SI_ANKLESNARE: 45
+ SI_POSTDELAY: 46
+ SI_NOEQUIPWEAPON: 50
+ SI_NOEQUIPSHIELD: 51
+ SI_NOEQUIPARMOR: 52
+ SI_NOEQUIPHELM: 53
+ SI_PROTECTWEAPON: 54
+ SI_PROTECTSHIELD: 55
+ SI_PROTECTARMOR: 56
+ SI_PROTECTHELM: 57
+ SI_AUTOGUARD: 58
+ SI_REFLECTSHIELD: 59
+ SI_PROVIDENCE: 61
+ SI_DEFENDER: 62
+ SI_AUTOSPELL: 65
+ SI_SPEARQUICKEN: 68
+ SI_EXPLOSIONSPIRITS: 86
+ SI_STEELBODY: 87
+ SI_EXTREMITYFIST: 88
+ SI_PROPERTYFIRE: 90
+ SI_PROPERTYWATER: 91
+ SI_PROPERTYWIND: 92
+ SI_PROPERTYGROUND: 93
+ SI_STOP: 95
+ SI_PROPERTYUNDEAD: 97
+ SI_AURABLADE: 103
+ SI_PARRYING: 104
+ SI_LKCONCENTRATION: 105
+ SI_TENSIONRELAX: 106
+ SI_BERSERK: 107
+ SI_ASSUMPTIO: 110
+ SI_GROUNDMAGIC: 112
+ SI_MAGICPOWER: 113
+ SI_EDP: 114
+ SI_TRUESIGHT: 115
+ SI_WINDWALK: 116
+ SI_MELTDOWN: 117
+ SI_CARTBOOST: 118
+ SI_SWORDREJECT: 120
+ SI_MARIONETTE_MASTER: 121
+ SI_MARIONETTE: 122
+ SI_MOON: 123
+ SI_BLOODING: 124
+ SI_JOINTBEAT: 125
+ SI_PROTECTEXP: 130
+ SI_AUTOBERSERK: 132
+ SI_RUN: 133
+ SI_TING: 134
+ SI_STORMKICK_ON: 135
+ SI_STORMKICK_READY: 136
+ SI_DOWNKICK_ON: 137
+ SI_DOWNKICK_READY: 138
+ SI_TURNKICK_ON: 139
+ SI_TURNKICK_READY: 140
+ SI_COUNTER_ON: 141
+ SI_COUNTER_READY: 142
+ SI_DODGE_ON: 143
+ SI_DODGE_READY: 144
+ SI_STRUP: 145
+ SI_PROPERTYDARK: 146
+ SI_ADRENALINE2: 147
+ SI_PROPERTYTELEKINESIS: 148
+ SI_SOULLINK: 149
+ SI_PLUSATTACKPOWER: 150
+ SI_PLUSMAGICPOWER: 151
+ SI_DEVIL1: 152
+ SI_KAITE: 153
+ SI_KAIZEL: 156
+ SI_KAAHI: 157
+ SI_KAUPE: 158
+ SI_SMA_READY: 159
+ SI_SKE: 160
+ SI_ONEHANDQUICKEN: 161
+ SI_SG_SUN_WARM: 165
+ SI_SUN_COMFORT: 169
+ SI_MOON_COMFORT: 170
+ SI_STAR_COMFORT: 171
+ SI_PRESERVE: 181
+ SI_INCSTR: 182
+ SI_CLAIRVOYANCE: 184
+ SI_MOVESLOW_POTION: 185
+ SI_DOUBLECASTING: 186
+ SI_OVERTHRUSTMAX: 188
+ SI_TAROTCARD: 191
+ SI_CR_SHRINK: 197
+ SI_WZ_SIGHTBLASTER: 198
+ SI_DC_WINKCHARM: 199
+ SI_RG_CCONFINE_M: 200
+ SI_RG_CCONFINE_S: 201
+ SI_GS_MADNESSCANCEL: 203
+ SI_GS_GATLINGFEVER: 204
+ SI_EARTHSCROLL: 205
+ SI_NJ_UTSUSEMI: 206
+ SI_NJ_BUNSINJYUTSU: 207
+ SI_NJ_NEN: 208
+ SI_GS_ADJUSTMENT: 209
+ SI_GS_ACCURACY: 210
+ SI_NJ_SUITON: 211
+ SI_FOOD_STR: 241
+ SI_FOOD_AGI: 242
+ SI_FOOD_VIT: 243
+ SI_FOOD_DEX: 244
+ SI_FOOD_INT: 245
+ SI_FOOD_LUK: 246
+ SI_FOOD_BASICAVOIDANCE: 247
+ SI_FOOD_BASICHIT: 248
+ SI_FOOD_CRITICALSUCCESSVALUE: 249
+ SI_CASH_PLUSEXP: 250
+ SI_CASH_DEATHPENALTY: 251
+ SI_CASH_RECEIVEITEM: 252
+ SI_CASH_BOSS_ALARM: 253
+ SI_FOOD_STR_CASH: 271
+ SI_FOOD_AGI_CASH: 272
+ SI_FOOD_VIT_CASH: 273
+ SI_FOOD_DEX_CASH: 274
+ SI_FOOD_INT_CASH: 275
+ SI_FOOD_LUK_CASH: 276
+ SI_MER_FLEE: 277
+ SI_MER_ATK: 278
+ SI_MER_HP: 279
+ SI_MER_SP: 280
+ SI_MER_HIT: 281
+ SI_SLOWCAST: 282
+ SI_CRITICALWOUND: 286
+ SI_MOVHASTE_HORSE: 289
+ SI_PROTECT_DEF: 290
+ SI_PROTECT_MDEF: 291
+ SI_HEALPLUS: 292
+ SI_S_LIFEPOTION: 293
+ SI_L_LIFEPOTION: 294
+ SI_CRITICALPERCENT: 295
+ SI_PLUSAVOIDVALUE: 296
+ SI_ATKER_ASPD: 297
+ SI_TARGET_ASPD: 298
+ SI_ATKER_MOVESPEED: 299
+ SI_ATKER_BLOOD: 300
+ SI_TARGET_BLOOD: 301
+ SI_ARMOR_PROPERTY: 302
+ SI_HELLPOWER: 304
+ SI_STEAMPACK: 305
+ SI_INVINCIBLE: 311
+ SI_CASH_PLUSONLYJOBEXP: 312
+ SI_PARTYFLEE: 313
+ SI_ANGEL_PROTECT: 314
+ SI_ENCHANTBLADE: 316
+ SI_DEATHBOUND: 317
+ SI_REFRESH: 318
+ SI_GIANTGROWTH: 319
+ SI_STONEHARDSKIN: 320
+ SI_VITALITYACTIVATION: 321
+ SI_FIGHTINGSPIRIT: 322
+ SI_ABUNDANCE: 323
+ SI_REUSE_MILLENNIUMSHIELD: 324
+ SI_REUSE_CRUSHSTRIKE: 325
+ SI_REUSE_REFRESH: 326
+ SI_REUSE_STORMBLAST: 327
+ SI_VENOMIMPRESS: 328
+ SI_EPICLESIS: 329
+ SI_ORATIO: 330
+ SI_LAUDAAGNUS: 331
+ SI_LAUDARAMUS: 332
+ SI_CLOAKINGEXCEED: 333
+ SI_HALLUCINATIONWALK: 334
+ SI_HALLUCINATIONWALK_POSTDELAY: 335
+ SI_RENOVATIO: 336
+ SI_WEAPONBLOCKING: 337
+ SI_WEAPONBLOCKING_POSTDELAY: 338
+ SI_ROLLINGCUTTER: 339
+ SI_EXPIATIO: 340
+ SI_POISONINGWEAPON: 341
+ SI_TOXIN: 342
+ SI_PARALYSE: 343
+ SI_VENOMBLEED: 344
+ SI_MAGICMUSHROOM: 345
+ SI_DEATHHURT: 346
+ SI_PYREXIA: 347
+ SI_OBLIVIONCURSE: 348
+ SI_LEECHESEND: 349
+ SI_DUPLELIGHT: 350
+ SI_FROSTMISTY: 351
+ SI_FEARBREEZE: 352
+ SI_ELECTRICSHOCKER: 353
+ SI_MARSHOFABYSS: 354
+ SI_RECOGNIZEDSPELL: 355
+ SI_STASIS: 356
+ SI_WUGRIDER: 357
+ SI_WUGDASH: 358
+ SI_WUGBITE: 359
+ SI_CAMOUFLAGE: 360
+ SI_ACCELERATION: 361
+ SI_HOVERING: 362
+ SI_SPHERE_1: 363
+ SI_SPHERE_2: 364
+ SI_SPHERE_3: 365
+ SI_SPHERE_4: 366
+ SI_SPHERE_5: 367
+ SI_MVPCARD_TAOGUNKA: 368
+ SI_MVPCARD_MISTRESS: 369
+ SI_MVPCARD_ORCHERO: 370
+ SI_MVPCARD_ORCLORD: 371
+ SI_OVERHEAT_LIMITPOINT: 372
+ SI_OVERHEAT: 373
+ SI_SHAPESHIFT: 374
+ SI_INFRAREDSCAN: 375
+ SI_MAGNETICFIELD: 376
+ SI_NEUTRALBARRIER: 377
+ SI_NEUTRALBARRIER_MASTER: 378
+ SI_STEALTHFIELD: 379
+ SI_STEALTHFIELD_MASTER: 380
+ SI_MANU_ATK: 381
+ SI_MANU_DEF: 382
+ SI_SPL_ATK: 383
+ SI_SPL_DEF: 384
+ SI_REPRODUCE: 385
+ SI_MANU_MATK: 386
+ SI_SPL_MATK: 387
+ SI_STR_SCROLL: 388
+ SI_INT_SCROLL: 389
+ SI_LG_REFLECTDAMAGE: 390
+ SI_FORCEOFVANGUARD: 391
+ SI_BUCHEDENOEL: 392
+ SI_AUTOSHADOWSPELL: 393
+ SI_SHADOWFORM: 394
+ SI_RAID: 395
+ SI_SHIELDSPELL_DEF: 396
+ SI_SHIELDSPELL_MDEF: 397
+ SI_SHIELDSPELL_REF: 398
+ SI_BODYPAINT: 399
+ SI_EXEEDBREAK: 400
+ SI_ADORAMUS: 401
+ SI_PRESTIGE: 402
+ SI_INVISIBILITY: 403
+ SI_DEADLYINFECT: 404
+ SI_BANDING: 405
+ SI_EARTHDRIVE: 406
+ SI_INSPIRATION: 407
+ SI_ENERVATION: 408
+ SI_GROOMY: 409
+ SI_RAISINGDRAGON: 410
+ SI_IGNORANCE: 411
+ SI_LAZINESS: 412
+ SI_LIGHTNINGWALK: 413
+ SI_ACARAJE: 414
+ SI_UNLUCKY: 415
+ SI_CURSEDCIRCLE_ATKER: 416
+ SI_CURSEDCIRCLE_TARGET: 417
+ SI_WEAKNESS: 418
+ SI_CRESCENTELBOW: 419
+ SI_NOEQUIPACCESSARY: 420
+ SI_STRIPACCESSARY: 421
+ SI_MANHOLE: 422
+ SI_POPECOOKIE: 423
+ SI_FALLENEMPIRE: 424
+ SI_GENTLETOUCH_ENERGYGAIN: 425
+ SI_GENTLETOUCH_CHANGE: 426
+ SI_GENTLETOUCH_REVITALIZE: 427
+ SI_BLOODYLUST: 428
+ SI_SWINGDANCE: 429
+ SI_SYMPHONYOFLOVERS: 430
+ SI_PROPERTYWALK: 431
+ SI_SPELLFIST: 432
+ SI_NETHERWORLD: 433
+ SI_SIREN: 434
+ SI_DEEPSLEEP: 435
+ SI_SIRCLEOFNATURE: 436
+ SI_COLD: 437
+ SI_GLOOMYDAY: 438
+ SI_SONG_OF_MANA: 439
+ SI_CLOUDKILL: 440
+ SI_DANCEWITHWUG: 441
+ SI_RUSHWINDMILL: 442
+ SI_ECHOSONG: 443
+ SI_HARMONIZE: 444
+ SI_STRIKING: 445
+ SI_MOONLITSERENADE: 447
+ SI_SATURDAYNIGHTFEVER: 448
+ SI_SITDOWN_FORCE: 449
+ SI_ANALYZE: 450
+ SI_LERADSDEW: 451
+ SI_MELODYOFSINK: 452
+ SI_WARCRYOFBEYOND: 453
+ SI_UNLIMITEDHUMMINGVOICE: 454
+ SI_SPELLBOOK1: 455
+ SI_SPELLBOOK2: 456
+ SI_SPELLBOOK3: 457
+ SI_FREEZE_SP: 458
+ SI_GN_TRAINING_SWORD: 459
+ SI_GN_REMODELING_CART: 460
+ SI_CARTSBOOST: 461
+ SI_FIXEDCASTINGTM_REDUCE: 462
+ SI_THORNTRAP: 463
+ SI_BLOODSUCKER: 464
+ SI_SPORE_EXPLOSION: 465
+ SI_DEMONIC_FIRE: 466
+ SI_FIRE_EXPANSION_SMOKE_POWDER: 467
+ SI_FIRE_EXPANSION_TEAR_GAS: 468
+ SI_BLOCKING_PLAY: 469
+ SI_MANDRAGORA: 470
+ SI_ACTIVATE: 471
+ SI_SECRAMENT: 472
+ SI_ASSUMPTIO2: 473
+ SI_TK_SEVENWIND: 474
+ SI_LIMIT_ODINS_RECALL: 475
+ SI_STOMACHACHE: 476
+ SI_MYSTERIOUS_POWDER: 477
+ SI_MELON_BOMB: 478
+ SI_BANANA_BOMB_SITDOWN_POSTDELAY: 479
+ SI_PROMOTE_HEALTH_RESERCH: 480
+ SI_ENERGY_DRINK_RESERCH: 481
+ SI_EXTRACT_WHITE_POTION_Z: 482
+ SI_VITATA_500: 483
+ SI_EXTRACT_SALAMINE_JUICE: 484
+ SI_BOOST500: 485
+ SI_FULL_SWING_K: 486
+ SI_MANA_PLUS: 487
+ SI_MUSTLE_M: 488
+ SI_LIFE_FORCE_F: 489
+ SI_VACUUM_EXTREME: 490
+ SI_SAVAGE_STEAK: 491
+ SI_COCKTAIL_WARG_BLOOD: 492
+ SI_MINOR_BBQ: 493
+ SI_SIROMA_ICE_TEA: 494
+ SI_DROCERA_HERB_STEAMED: 495
+ SI_PUTTI_TAILS_NOODLES: 496
+ SI_BANANA_BOMB: 497
+ SI_SUMMON_AGNI: 498
+ SI_SPELLBOOK4: 499
+ SI_SPELLBOOK5: 500
+ SI_SPELLBOOK6: 501
+ SI_SPELLBOOK7: 502
+ SI_ELEMENTAL_AGGRESSIVE: 503
+ SI_RETURN_TO_ELDICASTES: 504
+ SI_BANDING_DEFENCE: 505
+ SI_SKELSCROLL: 506
+ SI_DISTRUCTIONSCROLL: 507
+ SI_ROYALSCROLL: 508
+ SI_IMMUNITYSCROLL: 509
+ SI_MYSTICSCROLL: 510
+ SI_BATTLESCROLL: 511
+ SI_ARMORSCROLL: 512
+ SI_FREYJASCROLL: 513
+ SI_SOULSCROLL: 514
+ SI_CIRCLE_OF_FIRE: 515
+ SI_CIRCLE_OF_FIRE_OPTION: 516
+ SI_FIRE_CLOAK: 517
+ SI_FIRE_CLOAK_OPTION: 518
+ SI_WATER_SCREEN: 519
+ SI_WATER_SCREEN_OPTION: 520
+ SI_WATER_DROP: 521
+ SI_WATER_DROP_OPTION: 522
+ SI_WIND_STEP: 523
+ SI_WIND_STEP_OPTION: 524
+ SI_WIND_CURTAIN: 525
+ SI_WIND_CURTAIN_OPTION: 526
+ SI_WATER_BARRIER: 527
+ SI_ZEPHYR: 528
+ SI_SOLID_SKIN: 529
+ SI_SOLID_SKIN_OPTION: 530
+ SI_STONE_SHIELD: 531
+ SI_STONE_SHIELD_OPTION: 532
+ SI_POWER_OF_GAIA: 533
+ SI_PYROTECHNIC: 539
+ SI_PYROTECHNIC_OPTION: 540
+ SI_HEATER: 541
+ SI_HEATER_OPTION: 542
+ SI_TROPIC: 543
+ SI_TROPIC_OPTION: 544
+ SI_AQUAPLAY: 545
+ SI_AQUAPLAY_OPTION: 546
+ SI_COOLER: 547
+ SI_COOLER_OPTION: 548
+ SI_CHILLY_AIR: 549
+ SI_CHILLY_AIR_OPTION: 550
+ SI_GUST: 551
+ SI_GUST_OPTION: 552
+ SI_BLAST: 553
+ SI_BLAST_OPTION: 554
+ SI_WILD_STORM: 555
+ SI_WILD_STORM_OPTION: 556
+ SI_PETROLOGY: 557
+ SI_PETROLOGY_OPTION: 558
+ SI_CURSED_SOIL: 559
+ SI_CURSED_SOIL_OPTION: 560
+ SI_UPHEAVAL: 561
+ SI_UPHEAVAL_OPTION: 562
+ SI_TIDAL_WEAPON: 563
+ SI_TIDAL_WEAPON_OPTION: 564
+ SI_ROCK_CRUSHER: 565
+ SI_ROCK_CRUSHER_ATK: 566
+ SI_FIRE_INSIGNIA: 567
+ SI_WATER_INSIGNIA: 568
+ SI_WIND_INSIGNIA: 569
+ SI_EARTH_INSIGNIA: 570
+ SI_EQUIPED_FLOOR: 571
+ SI_GUARDIAN_RECALL: 572
+ SI_MORA_BUFF: 573
+ SI_REUSE_LIMIT_G: 574
+ SI_REUSE_LIMIT_H: 575
+ SI_NEEDLE_OF_PARALYZE: 576
+ SI_PAIN_KILLER: 577
+ SI_G_LIFEPOTION: 578
+ SI_VITALIZE_POTION: 579
+ SI_LIGHT_OF_REGENE: 580
+ SI_OVERED_BOOST: 581
+ SI_SILENT_BREEZE: 582
+ SI_ODINS_POWER: 583
+ SI_STYLE_CHANGE: 584
+ SI_SONIC_CLAW_POSTDELAY: 585
+ SI_SILVERVEIN_RUSH_POSTDELAY: 596
+ SI_MIDNIGHT_FRENZY_POSTDELAY: 597
+ SI_GOLDENE_FERSE: 598
+ SI_ANGRIFFS_MODUS: 599
+ SI_TINDER_BREAKER: 600
+ SI_TINDER_BREAKER_POSTDELAY: 601
+ SI_CBC: 602
+ SI_CBC_POSTDELAY: 603
+ SI_EQC: 604
+ SI_MAGMA_FLOW: 605
+ SI_GRANITIC_ARMOR: 606
+ SI_PYROCLASTIC: 607
+ SI_VOLCANIC_ASH: 608
+ SI_SPIRITS_SAVEINFO1: 609
+ SI_SPIRITS_SAVEINFO2: 610
+ SI_MAGIC_CANDY: 611
+ SI_SEARCH_STORE_INFO: 612
+ SI_ALL_RIDING: 613
+ SI_ALL_RIDING_REUSE_LIMIT: 614
+ SI_MACRO: 615
+ SI_MACRO_POSTDELAY: 616
+ SI_BEER_BOTTLE_CAP: 617
+ SI_OVERLAPEXPUP: 618
+ SI_PC_IZ_DUN05: 619
+ SI_CRUSHSTRIKE: 620
+ SI_MONSTER_TRANSFORM: 621
+ SI_SIT: 622
+ SI_ONAIR: 623
+ SI_MTF_ASPD: 624
+ SI_MTF_RANGEATK: 625
+ SI_MTF_MATK: 626
+ SI_MTF_MLEATKED: 627
+ SI_MTF_CRIDAMAGE: 628
+ SI_REUSE_LIMIT_MTF: 629
+ SI_MACRO_PERMIT: 630
+ SI_MACRO_PLAY: 631
+ SI_SKF_CAST: 632
+ SI_SKF_ASPD: 633
+ SI_SKF_ATK: 634
+ SI_SKF_MATK: 635
+ SI_REWARD_PLUSONLYJOBEXP: 636
+ SI_HANDICAPSTATE_NORECOVER: 637
+ SI_SET_NUM_DEF: 638
+ SI_SET_NUM_MDEF: 639
+ SI_SET_PER_DEF: 640
+ SI_SET_PER_MDEF: 641
+ SI_PARTYBOOKING_SEARCH_DEALY: 642
+ SI_PARTYBOOKING_REGISTER_DEALY: 643
+ SI_PERIOD_TIME_CHECK_DETECT_SKILL: 644
+ SI_KO_JYUMONJIKIRI: 645
+ SI_MEIKYOUSISUI: 646
+ SI_ATTHASTE_CASH: 647
+ SI_EQUIPPED_DIVINE_ARMOR: 648
+ SI_EQUIPPED_HOLY_ARMOR: 649
+ SI_2011RWC: 650
+ SI_KYOUGAKU: 651
+ SI_IZAYOI: 652
+ SI_ZENKAI: 653
+ SI_KG_KAGEHUMI: 654
+ SI_KYOMU: 655
+ SI_KAGEMUSYA: 656
+ SI_ZANGETSU: 657
+ SI_PHI_DEMON: 658
+ SI_GENSOU: 659
+ SI_AKAITSUKI: 660
+ SI_TETANY: 661
+ SI_GM_BATTLE: 662
+ SI_GM_BATTLE2: 663
+ SI_2011RWC_SCROLL: 664
+ SI_ACTIVE_MONSTER_TRANSFORM: 665
+ SI_MYSTICPOWDER: 666
+ SI_ECLAGE_RECALL: 667
+ SI_ENTRY_QUEUE_APPLY_DELAY: 668
+ SI_REUSE_LIMIT_ECL: 669
+ SI_M_LIFEPOTION: 670
+ SI_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT: 671
+ SI_UNKNOWN_NAME: 672
+ SI_ON_PUSH_CART: 673
+ SI_HAT_EFFECT: 674
+ SI_FLOWER_LEAF: 675
+ SI_RAY_OF_PROTECTION: 676
+ SI_GLASTHEIM_ATK: 677
+ SI_GLASTHEIM_DEF: 678
+ SI_GLASTHEIM_HEAL: 679
+ SI_GLASTHEIM_HIDDEN: 680
+ SI_GLASTHEIM_STATE: 681
+ SI_GLASTHEIM_ITEMDEF: 682
+ SI_GLASTHEIM_HPSP: 683
+ SI_HOMUN_SKILL_POSTDELAY: 684
+ SI_ALMIGHTY: 685
+ SI_GVG_GIANT: 686
+ SI_GVG_GOLEM: 687
+ SI_GVG_STUN: 688
+ SI_GVG_STONE: 689
+ SI_GVG_FREEZ: 690
+ SI_GVG_SLEEP: 691
+ SI_GVG_CURSE: 692
+ SI_GVG_SILENCE: 693
+ SI_GVG_BLIND: 694
+ SI_CLIENT_ONLY_EQUIP_ARROW: 695
+ SI_CLAN_INFO: 696
+ SI_JP_EVENT01: 697
+ SI_JP_EVENT02: 698
+ SI_JP_EVENT03: 699
+ SI_JP_EVENT04: 700
+ SI_TELEPORT_FIXEDCASTINGDELAY: 701
+ SI_GEFFEN_MAGIC1: 702
+ SI_GEFFEN_MAGIC2: 703
+ SI_GEFFEN_MAGIC3: 704
+ SI_QUEST_BUFF1: 705
+ SI_QUEST_BUFF2: 706
+ SI_QUEST_BUFF3: 707
+ SI_REUSE_LIMIT_RECALL: 708
+ SI_SAVEPOSITION: 709
+ SI_HANDICAPSTATE_ICEEXPLO: 710
+ SI_FENRIR_CARD: 711
+ SI_REUSE_LIMIT_ASPD_POTION: 712
+ SI_MAXPAIN: 713
+ SI_PC_STOP: 714
+ SI_FRIGG_SONG: 715
+ SI_OFFERTORIUM: 716
+ SI_TELEKINESIS_INTENSE: 717
+ SI_MOONSTAR: 718
+ SI_STRANGELIGHTS: 719
+ SI_FULL_THROTTLE: 720
+ SI_REBOUND: 721
+ SI_UNLIMIT: 722
+ SI_KINGS_GRACE: 723
+ SI_ITEM_ATKMAX: 724
+ SI_ITEM_ATKMIN: 725
+ SI_ITEM_MATKMAX: 726
+ SI_ITEM_MATKMIN: 727
+ SI_SUPER_STAR: 728
+ SI_HIGH_RANKER: 729
+ SI_DARKCROW: 730
+ SI_2013_VALENTINE1: 731
+ SI_2013_VALENTINE2: 732
+ SI_2013_VALENTINE3: 733
+ SI_ILLUSIONDOPING: 734
+ SI_CHILL: 736
+ SI_BURNT: 737
+ SI_FLASHCOMBO: 740
+ SI_CUP_OF_BOZA: 751
+ SI_B_TRAP: 752
+ SI_E_CHAIN: 753
+ SI_E_QD_SHOT_READY: 754
+ SI_C_MARKER: 755
+ SI_H_MINE: 756
+ SI_H_MINE_SPLASH: 757
+ SI_P_ALTER: 758
+ SI_HEAT_BARREL: 759
+ SI_ANTI_M_BLAST: 760
+ SI_SLUGSHOT: 761
+ SI_SWORDCLAN: 762
+ SI_ARCWANDCLAN: 763
+ SI_GOLDENMACECLAN: 764
+ SI_CROSSBOWCLAN: 765
+ SI_PACKING_ENVELOPE1: 766
+ SI_PACKING_ENVELOPE2: 767
+ SI_PACKING_ENVELOPE3: 768
+ SI_PACKING_ENVELOPE4: 769
+ SI_PACKING_ENVELOPE5: 770
+ SI_PACKING_ENVELOPE6: 771
+ SI_PACKING_ENVELOPE7: 772
+ SI_PACKING_ENVELOPE8: 773
+ SI_PACKING_ENVELOPE9: 774
+ SI_PACKING_ENVELOPE10: 775
+ SI_GLASTHEIM_TRANS: 776
+ SI_HEAT_BARREL_AFTER: 778
+ SI_DECORATION_OF_MUSIC: 779
+ SI_MTF_MHP: 793
+ SI_MTF_MSP: 794
+ SI_MTF_PUMPKIN: 795
+ SI_MTF_HITFLEE: 796
+ SI_FLOWERSMOKE: 822
+ SI_FSTONE: 823
+ SI_DAILYSENDMAILCNT: 824
+ SI_LJOSALFAR: 826
+ SI_HAPPINESS_STAR: 849
+ SI_DRESS_UP: 856
+ SI_MAPLE_FALLS: 857
+ SI_MERMAID_LONGING: 863
+ SI_MAGICAL_FEATHER: 864
+ SI_TIME_ACCESSORY: 872
+ SI_SU_STOOP: 893
+ SI_CATNIPPOWDER: 894
+ SI_BLOSSOM_FLUTTERING: 895
+ SI_SV_ROOTTWIST: 896
+ SI_RESIST_PROPERTY_WATER: 908
+ SI_RESIST_PROPERTY_GROUND: 909
+ SI_RESIST_PROPERTY_FIRE: 910
+ SI_RESIST_PROPERTY_WIND: 911
+ SI_BITESCAR: 917
+ SI_ARCLOUSEDASH: 918
+ SI_TUNAPARTY: 919
+ SI_SHRIMP: 920
+ SI_FRESHSHRIMP: 921
+ SI_SUHIDE: 933
+ SI_SPRITEMABLE: 937
+ SI_MADOGEAR: 1149
}
diff --git a/db/item_db2.conf b/db/item_db2.conf
index 8a2d8e429..4bcda494d 100644
--- a/db/item_db2.conf
+++ b/db/item_db2.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-2020 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,8 @@ item_db: (
">
OnEquipScript: <" OnEquip Script (can also be multi-line) ">
OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">
+ OnRentalStartScript: <" On item renting script, gets called after item is created in inventory (can also be multi-line) ">
+ OnRentalEndScript: <" On item rent end/expire script, gets called after item is removed from inventory (can also be multi-line) ">
// ================ Optional fields (item_db2 only) ===============
Inherit: true/false (boolean, if true, inherit the values
that weren't specified, from item_db.conf,
diff --git a/db/item_options.conf b/db/item_options.conf
index 95e2316ae..e705d80b5 100644
--- a/db/item_options.conf
+++ b/db/item_options.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-2020 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/db/mob_avail.txt b/db/mob_avail.txt
deleted file mode 100644
index 2df4ddedc..000000000
--- a/db/mob_avail.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-// Mob Availability and Alias Database
-//
-// Structure of Database:
-// MobID,SpriteID{,Equipment}
-//
-// 01. MobID Mob ID to change.
-// 02. SpriteID Mob ID which will be sent to the client instead of MobID.
-// If 0, the mob becomes unavailable for use.
-// 03. Equipment Item ID of pet equipment (must be available for pet counterpart, or this will cause problems).
-//
-// To disguise a mob as a player:
-// MobID,SpriteID,Sex,Hair_Style,Hair_Color,Weapon,Shield,Head_Top,Head_Middle,Head_Bottom,Option,Dye_Color
-//
-// SpriteID is a job class value.
-// Weapon and Shield uses Item ID, while Head uses View ID.
-
-//1002,1039 // Poring - Baphomet
-//1970,1002,10013 // Displays a Poring with a backpack
-
-// Easter Event Monsters
-//1920,1047,0
-//1921,1093,0
-
-// eA Dev Team
-// Valaris
-//1900,4013,1,1,1,1254,0,67,12,54,16,1
-// Valaris Worshiper
-//1901,6,1,1,1,1219,2101,67,12,54,0,1
-// MC Cameri
-//1902,14,1,6,6,1101,2105,0,0,0,32,3
-// Poki#3
-//1903,4012,1,21,0,1720,0,102,184,57,16,0
-// Sentry
-//1904,1286,0
-
-// iRO Halloween Event 2008
-//3000,1015,0
-//3001,1036,0
-//3002,1298,0
-
-// iRO Halloween Event 2009
-//3014,1179,0
-//3015,1272,0
diff --git a/db/mob_db2.conf b/db/mob_db2.conf
index 8d3e67904..8cc1a1459 100644
--- a/db/mob_db2.conf
+++ b/db/mob_db2.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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
@@ -89,8 +89,11 @@ mob_db: (
}
Drops: {
AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
// ...
}
+ DamageTakenRate: damage taken rate (int, defaults to 100)
},
**************************************************************************/
diff --git a/db/mob_skill_db2.conf b/db/mob_skill_db2.conf
index 77d353610..6a732ff2d 100644
--- a/db/mob_skill_db2.conf
+++ b/db/mob_skill_db2.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/db/option_drop_groups.conf b/db/option_drop_groups.conf
new file mode 100644
index 000000000..726811ac5
--- /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-2020 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/pet_db2.conf b/db/pet_db2.conf
index 34a6130e4..d6862da32 100644
--- a/db/pet_db2.conf
+++ b/db/pet_db2.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/db/pre-re/achievement_db.conf b/db/pre-re/achievement_db.conf
index db63ed4a8..e8d3ee31f 100644
--- a/db/pre-re/achievement_db.conf
+++ b/db/pre-re/achievement_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/db/pre-re/exp_group_db.conf b/db/pre-re/exp_group_db.conf
index 9ebb94e3c..aa710e41c 100644
--- a/db/pre-re/exp_group_db.conf
+++ b/db/pre-re/exp_group_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/db/pre-re/item_chain.conf b/db/pre-re/item_chain.conf
index a2e4efff4..075a8d34a 100644
--- a/db/pre-re/item_chain.conf
+++ b/db/pre-re/item_chain.conf
@@ -9,7 +9,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-2020 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
@@ -59,6 +59,12 @@ ITMCHAIN_ORE: {
Emperium: 5
}
+ITMCHAIN_SIEGFRIED: {
+ Token_Of_Siegfried: 1
+ F_Token_Of_Siegfried: 1
+ E_Token_Of_Siegfried: 1
+}
+
ITMCHAIN_GEM: {
Dark_Red_Jewel: 80
Violet_Jewel: 30
@@ -119,3 +125,7 @@ ITMCHAIN_FOOD: {
Banana: 100
Apple: 600
}
+
+ITMCHAIN_NEO_INSURANCE: {
+ New_Insurance: 1
+}
diff --git a/db/pre-re/item_combo_db.conf b/db/pre-re/item_combo_db.conf
new file mode 100644
index 000000000..61e6ad1d4
--- /dev/null
+++ b/db/pre-re/item_combo_db.conf
@@ -0,0 +1,1280 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019-2020 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/>.
+//================= Description ===========================================
+// Configurations file for status effects
+//=========================================================================
+
+combo_db: (
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ===============================
+ Items: ["item_list"] (string, array) list of items
+ Script: <"
+ Script
+ (it can be multi-line)
+ ">
+}
+**************************************************************************/
+{
+ Items: ["Dragon_Slayer", "Dragon_Breath"]
+ Script: <"
+ bonus2 bAddRace, RC_Dragon, 5;
+ ">
+},
+{
+ Items: ["Long_Horn", "Valkyrjas_Shield"]
+ Script: <"
+ bonus3 bAutoSpellWhenHit, "HP_ASSUMPTIO", 2, 5;
+ ">
+},
+{
+ Items: ["Long_Horn", "Tournament_Shield"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 4;
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Battle_Hook", "Tournament_Shield"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 4;
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Hunting_Spear", "Tournament_Shield"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 4;
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Long_Horn_M", "Valkyrjas_Shield"]
+ Script: <"
+ bonus3 bAutoSpellWhenHit, "HP_ASSUMPTIO", 2, 5;
+ ">
+},
+{
+ Items: ["Staff_Of_Soul", "Spiritual_Ring"]
+ Script: <"
+ bonus bMatkRate, 6;
+ bonus bDex, 2;
+ bonus bCastrate, -getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Staff_Of_Soul", "Spiritual_Ring_C"]
+ Script: <"
+ bonus bMatkRate, 6;
+ bonus bDex, 2;
+ bonus bCastrate, -getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Wizardy_Staff", "Spiritual_Ring"]
+ Script: <"
+ bonus bMatkRate, 6;
+ bonus bDex, 2;
+ bonus bCastrate, -getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Wizardy_Staff", "Spiritual_Ring_C"]
+ Script: <"
+ bonus bMatkRate, 6;
+ bonus bDex, 2;
+ bonus bCastrate, -getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Gae_Bolg", "Dragon_Breath"]
+ Script: <"
+ bonus2 bAddRace, RC_Dragon, 5;
+ ">
+},
+{
+ Items: ["Spectral_Spear", "Red_Silk_Seal"]
+ Script: <"
+ bonus2 bResEff, Eff_Confusion, 9500;
+ ">
+},
+{
+ Items: ["Spectral_Spear_", "Red_Silk_Seal"]
+ Script: <"
+ bonus2 bResEff, Eff_Confusion, 9500;
+ ">
+},
+{
+ Items: ["Hollgrehenn_Hammer", "B_Harword_Card"]
+ Script: <"
+ bonus bBreakArmorRate, 900;
+ bonus bBreakWeaponRate, 900;
+ ">
+},
+{
+ Items: ["Principles_Of_Magic", "Librarian_Glove", "Pocket_Watch_"]
+ Script: <"
+ bonus bInt, 5;
+ bonus bMaxHP, 700;
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Ancient_Magic", "Mage_Coat"]
+ Script: <"
+ bonus bMdef, 8;
+ bonus bMaxSPrate, 10;
+ bonus bInt, 4;
+ ">
+},
+{
+ Items: ["Ancient_Magic", "Mage_Coat_"]
+ Script: <"
+ bonus bMdef, 8;
+ bonus bMaxSPrate, 10;
+ bonus bInt, 4;
+ ">
+},
+{
+ Items: ["Ancient_Magic", "Librarian_Glove", "Pocket_Watch_"]
+ Script: <"
+ bonus bInt, 5;
+ bonus bMaxHP, 700;
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Bone_Wand", "Skull_Cap"]
+ Script: <"
+ bonus bMatk, 10 * getequiprefinerycnt(EQI_HAND_R);
+ bonus bCastrate, -10;
+ ">
+},
+{
+ Items: ["Staff_Of_Wing", "Wing_Of_Eagle"]
+ Script: <"
+ bonus bSpeedRate, 25;
+ ">
+},
+{
+ Items: ["Survival_Rod_", "Clack_Of_Servival"]
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMatkRate, getequiprefinerycnt(EQI_HAND_R) - 5;
+ bonus2 bSubEle, Ele_Neutral, getequiprefinerycnt(EQI_HAND_R) * 3;
+ ">
+},
+{
+ Items: ["Survival_Rod_", "Cloak_Of_Survival_C"]
+ Script: <"
+ bonus bMatkRate, 5;
+ bonus2 bSubEle, Ele_Neutral, 25;
+ ">
+},
+{
+ Items: ["Survival_Rod2_", "Clack_Of_Servival"]
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMatkRate, getequiprefinerycnt(EQI_HAND_R) - 5;
+ bonus2 bSubEle, Ele_Neutral, getequiprefinerycnt(EQI_HAND_R) * 3;
+ ">
+},
+{
+ Items: ["Survival_Rod2_", "Cloak_Of_Survival_C"]
+ Script: <"
+ bonus bMatkRate, 5;
+ bonus2 bSubEle, Ele_Neutral, 25;
+ ">
+},
+{
+ Items: ["Walking_Stick", "Magician_Hat"]
+ Script: <"
+ bonus bDex, 2;
+ bonus bInt, 2;
+ bonus bSPrecovRate, 5;
+ bonus bMatkRate, getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Holy_Stick", "Exorcism_Bible"]
+ Script: <"
+ bonus2 bSkillAtk, "PR_MAGNUS", 20;
+ bonus3 bAutoSpellWhenHit, "PR_TURNUNDEAD", 1, 20;
+ ">
+},
+{
+ Items: ["Thorn_Staff", "Skull_Cap"]
+ Script: <"
+ bonus bMatk, 10 * getequiprefinerycnt(EQI_HAND_R);
+ bonus bCastrate, -10;
+ ">
+},
+{
+ Items: ["Luna_Bow", "Lunatic_Brooch"]
+ Script: <"
+ bonus bDex, 1;
+ bonus bMaxSP, 50;
+ bonus bSPrecovRate, 10;
+ ">
+},
+{
+ Items: ["Burning_Bow", "Fire_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 25;
+ ">
+},
+{
+ Items: ["Frozen_Bow", "Crystal_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 25;
+ ">
+},
+{
+ Items: ["Earth_Bow", "Stone_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 25;
+ bonus2 bAddEff, Eff_Stone, 1000;
+ ">
+},
+{
+ Items: ["Gust_Bow", "Arrow_Of_Wind"]
+ Script: <"
+ bonus bLongAtkRate, 25;
+ bonus3 bAutoSpell, "NJ_HUUJIN", 5, 100;
+ if (readparam(bInt) > 39)
+ bonus3 bAutoSpell, "NJ_HUUJIN", 5, 200;
+ ">
+},
+{
+ Items: ["Orc_Archer_Bow", "Steel_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 50;
+ ">
+},
+{
+ Items: ["Cursed_Lyre", "Cursed_Star"]
+ Script: <"
+ bonus bAtk, 25;
+ bonus3 bAddEff, Eff_Curse, 200, ATF_WEAPON | ATF_LONG | ATF_TARGET;
+ ">
+},
+{
+ Items: ["Divine_Cross", "Spiritual_Ring"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bDex, 2;
+ bonus2 bSubRace, RC_Demon, 10;
+ bonus2 bSubRace, RC_Undead, 10;
+ ">
+},
+{
+ Items: ["Divine_Cross", "Spiritual_Ring_C"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bDex, 2;
+ bonus2 bSubRace, RC_Demon, 10;
+ bonus2 bSubRace, RC_Undead, 10;
+ ">
+},
+{
+ Items: ["Memorize_Book", "Pocket_Watch_", "One_Eyed_Glass"]
+ Script: <"
+ bonus bHPrecovRate, 15;
+ bonus bSPrecovRate, 15;
+ bonus bMatkRate, 7;
+ ">
+},
+{
+ Items: ["Stone_Buckler", "Odins_Blessing", "Magni_Cap"]
+ Script: <"
+ bonus bStr, 2;
+ bonus bDef, 5;
+ bonus bMdef, 5;
+ if (BaseClass == Job_Swordman)
+ bonus bDef, 6;
+ ">
+},
+{
+ Items: ["Valkyrjas_Shield", "Odins_Blessing", "Fricca_Circlet"]
+ Script: <"
+ bonus bDef, 2 - getequiprefinerycnt(EQI_HAND_L) - getequiprefinerycnt(EQI_HEAD_TOP);
+ bonus bMdef, 5 + getequiprefinerycnt(EQI_HAND_L) + getequiprefinerycnt(EQI_HEAD_TOP);
+ ">
+},
+{
+ Items: ["Angels_Safeguard", "Angels_Protection", "Angels_Arrival", "Angels_Warmth", "Kiss_Of_Angel"]
+ Script: <"
+ bonus bMaxHP, 900;
+ bonus bMaxSP, 100;
+ bonus3 bAutoSpellWhenHit, "HP_ASSUMPTIO", 1, 30;
+ ">
+},
+{
+ Items: ["Memorize_Book_", "Pocket_Watch_", "One_Eyed_Glass"]
+ Script: <"
+ bonus bHPrecovRate, 15;
+ bonus bSPrecovRate, 15;
+ bonus bMatkRate, 7;
+ ">
+},
+{
+ Items: ["Orleans_Server", "Orleans_Glove"]
+ Script: <"
+ bonus bCastrate, -10;
+ ">
+},
+{
+ Items: ["Thorny_Buckler", "Bison_Horn"]
+ Script: <"
+ bonus bAspdRate, 10;
+ bonus bShortWeaponDamageReturn, 5;
+ ">
+},
+{
+ Items: ["Shadow_Guard", "Shadow_Walk"]
+ Script: <"
+ bonus2 bAddEff, Eff_Blind, 500;
+ autobonus "{ bonus bFlee,20; }", 200, 10000, BF_WEAPON, "{ specialeffect(EF_INCAGILITY, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Valkyrjas_Shield_C", "Odins_Blessing", "Fricca_Circlet"]
+ Script: <"
+ bonus bDef, 2 - getrefine() - getequiprefinerycnt(EQI_HEAD_TOP);
+ bonus bMdef, 5 + getrefine() + getequiprefinerycnt(EQI_HEAD_TOP);
+ ">
+},
+{
+ Items: ["Mr_Smile", "Wit_Pumpkin_Hat"]
+ Script: <"
+ bonus2 bAddMonsterDropItem, 12192, 1;
+ ">
+},
+{
+ Items: ["Phantom_Of_Opera", "Wit_Pumpkin_Hat"]
+ Script: <"
+ bonus bFlee, 10;
+ bonus2 bAddEff, Eff_Stun, 1000;
+ ">
+},
+{
+ Items: ["Elven_Ears", "Skull_Cap"]
+ Script: <"
+ bonus bUseSPrate, -3;
+ ">
+},
+{
+ Items: ["Padded_Armor", "Hyper_Changer"]
+ Script: <"
+ bonus bDef, 5;
+ bonus bMaxHP, 150;
+ ">
+},
+{
+ Items: ["Padded_Armor_", "Hyper_Changer"]
+ Script: <"
+ bonus bDef, 5;
+ bonus bMaxHP, 150;
+ ">
+},
+{
+ Items: ["Ninja_Suit", "Shinobis_Sash"]
+ Script: <"
+ bonus bUseSPrate, -20;
+ bonus bMaxHP, 300;
+ ">
+},
+{
+ Items: ["G_Strings", "Undershirt"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["G_Strings", "Undershirt_"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Fricco_Shoes", "Falcon_Robe"]
+ Script: <"
+ bonus bAgi, 3;
+ bonus bMaxHPrate, 5;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Vidars_Boots", "Valis_Manteau"]
+ Script: <"
+ bonus bVit, 5;
+ bonus bHPrecovRate, 10;
+ bonus bSPrecovRate, 10;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Ulle_Cap"]
+ Script: <"
+ if (readparam(bDex) > 69)
+ bonus bUseSPrate, -10;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Ulle_Cap_I"]
+ Script: <"
+ if (readparam(bDex) > 69)
+ bonus bUseSPrate, -10;
+ ">
+},
+{
+ Items: ["Goibnes_Armor", "Goibnes_Combat_Boots", "Goibnes_Shoulder_Arms", "Goibnes_Helmet"]
+ Script: <"
+ bonus bVit, 5;
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ bonus bDef, 5;
+ bonus bMdef, 15;
+ bonus2 bSubEle, Ele_Water, 10;
+ bonus2 bSubEle, Ele_Earth, 10;
+ bonus2 bSubEle, Ele_Fire, 10;
+ bonus2 bSubEle, Ele_Wind, 10;
+ ">
+},
+{
+ Items: ["Valkyrie_Armor", "Valkyrie_Shoes", "Valkyrie_Manteau", "Valkyrie_Helm"]
+ Script: <"
+ bonus bAllStats, 1;
+ ">
+},
+{
+ Items: ["Dress_Of_Angel", "Angeling_Hairpin"]
+ Script: <"
+ bonus bLuk, 6;
+ bonus bFlee, 5;
+ bonus bInt, 2;
+ ">
+},
+{
+ Items: ["Ninja_Suit_", "Shinobis_Sash"]
+ Script: <"
+ bonus bUseSPrate, -20;
+ bonus bMaxHP, 300;
+ ">
+},
+{
+ Items: ["G_Strings_", "Undershirt"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["G_Strings_", "Undershirt_"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Diabolus_Robe", "Diabolus_Ring"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 3;
+ bonus bMatkRate, 3;
+ ">
+},
+{
+ Items: ["Diabolus_Armor", "Diabolus_Ring"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 3;
+ bonus bMatkRate, 3;
+ ">
+},
+{
+ Items: ["Assaulter_Plate", "Battle_Greave", "Commander_Manteau"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bVit, 3;
+ bonus bMaxHPrate, 12;
+ bonus bHealPower2, 10;
+ bonus bAddItemHealRate, 10;
+ autobonus2 "{ bonus2 bHPRegenRate,600,1000; }", 5, 10000, BF_WEAPON, "{ specialeffect(EF_HEAL, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Elite_Engineer_Armor", "Battle_Greave", "Commander_Manteau"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bStr, 3;
+ bonus bMaxHPrate, 12;
+ bonus2 bSkillAtk, "MC_MAMMONITE", 20;
+ bonus2 bSkillHeal, "AM_POTIONPITCHER", 10;
+ bonus2 bSkillHeal2, "AM_POTIONPITCHER", 10;
+ bonus2 bSkillHeal2, "AL_HEAL", 10;
+ bonus bUnbreakableArmor, 0;
+ ">
+},
+{
+ Items: ["Assassin_Robe", "Battle_Greave", "Commander_Manteau"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bAgi, 3;
+ bonus bMaxHPrate, 12;
+ bonus bCritical, 5;
+ bonus bAspdRate, 5;
+ autobonus "{ bonus2 bHPRegenRate,300,1000; }", 10, 10000, BF_WEAPON, "{ specialeffect(EF_HEAL, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Warlock_Battle_Robe", "Combat_Boots", "Commander_Manteau_"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bInt, 3;
+ bonus bMaxHPrate, 12;
+ bonus2 bResEff, Eff_Stun, 2000;
+ autobonus2 "{ bonus bDefEle,Ele_Ghost; }", 30, 10000, BF_WEAPON, "{ specialeffect(EF_ENERGYCOAT, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Medic_Robe", "Combat_Boots", "Commander_Manteau_"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bInt, 3;
+ bonus bMaxHPrate, 12;
+ bonus2 bCastrate, "AL_HOLYLIGHT", -50;
+ bonus bHealPower, 6;
+ autobonus2 "{ bonus bDefEle,Ele_Ghost; }", 30, 10000, BF_WEAPON, "{ specialeffect(EF_ENERGYCOAT, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Elite_Archer_Suit", "Combat_Boots", "Commander_Manteau_"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bDex, 3;
+ bonus bMaxHPrate, 12;
+ bonus bLongAtkDef, 10;
+ bonus bDelayrate, -25;
+ ">
+},
+{
+ Items: ["Elite_Shooter_Suit", "Battle_Boots", "Sheriff_Manteau"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bDex, 3;
+ bonus bMaxHPrate, 12;
+ bonus bLongAtkDef, 10;
+ bonus bDelayrate, -25;
+ ">
+},
+{
+ Items: ["Sprint_Mail", "Sprint_Shoes", "Sprint_Ring"]
+ Script: <"
+ bonus bMaxHPrate, 7;
+ bonus bMaxSPrate, 7;
+ bonus bCastrate, -3;
+ bonus bDelayrate, -15;
+ ">
+},
+{
+ Items: ["Improved_Tights", "Linen_Glove"]
+ Script: <"
+ bonus bFlee2, 5;
+ ">
+},
+{
+ Items: ["Krieger_Suit1", "Krieger_Shoes1", "Krieger_Muffler1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 5;
+ bonus2 bResEff, Eff_Freeze, 10000;
+ bonus2 bSkillHeal2, "AM_POTIONPITCHER", 3;
+ bonus2 bSkillHeal2, "AL_HEAL", 3;
+ bonus2 bSkillHeal2, "PR_SANCTUARY", 3;
+ ">
+},
+{
+ Items: ["Dragon_Vest", "Dragon_Manteau"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 15;
+ ">
+},
+{
+ Items: ["Cuffs", "Bloody_Iron_Ball"]
+ Script: <"
+ bonus bBaseAtk, 50;
+ bonus2 bAddDefClass, 1196, 20;
+ bonus2 bAddDefClass, 1197, 20;
+ ">
+},
+{
+ Items: ["Tidal_Shoes", "Wool_Scarf"]
+ Script: <"
+ bonus bHPrecovRate, 5;
+ bonus bMaxHPrate, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots", "Rider_Insignia"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots", "Rider_Insignia_"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots", "Rider_Insignia_M"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Diabolus_Boots", "Diabolus_Manteau"]
+ Script: <"
+ bonus bMaxHPrate, 6;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots_", "Rider_Insignia"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots_", "Rider_Insignia_"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots_", "Rider_Insignia_M"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Beach_Sandal", "Beach_Manteau"]
+ Script: <"
+ bonus bFlee, 5;
+ ">
+},
+{
+ Items: ["Morpheuss_Shawl", "Morpheuss_Ring", "Morpheuss_Armlet", "Morpheuss_Hood"]
+ Script: <"
+ bonus bInt, 5;
+ bonus bMdef, 11;
+ bonus bMaxSPrate, 20;
+ bonus bNoCastCancel, 0;
+ bonus bCastrate, 25;
+ ">
+},
+{
+ Items: ["Morriganes_Manteau", "Morriganes_Belt", "Morriganes_Pendant", "Morriganes_Helm"]
+ Script: <"
+ bonus bStr, 2;
+ bonus bLuk, 9;
+ bonus bCritical, 13;
+ bonus bBaseAtk, 18;
+ bonus bFlee2, 13;
+ ">
+},
+{
+ Items: ["Dragon_Breath", "Dragon_Killer"]
+ Script: <"
+ bonus2 bAddRace, RC_Dragon, 5;
+ ">
+},
+{
+ Items: ["Clip", "Spiritual_Ring"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Clip", "Spiritual_Ring_C"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Clip", "Spiritual_Ring_M"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary", "Spiritual_Ring"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary", "Spiritual_Ring_C"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary", "Spiritual_Ring_M"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Ring_Of_Rogue", "Cold_Heart"]
+ Script: <"
+ bonus2 bAddSize, Size_Medium, 8;
+ bonus bAspdRate, getequiprefinerycnt(EQI_HAND_R) / 2;
+ ">
+},
+{
+ Items: ["Ring_Of_Rogue", "Black_Cat"]
+ Script: <"
+ bonus2 bAddSize, Size_Large, 8;
+ bonus bHit, getequiprefinerycnt(EQI_HAND_R) / 2;
+ bonus bCastrate, -getequiprefinerycnt(EQI_HAND_R) / 2;
+ ">
+},
+{
+ Items: ["Rosary_", "Spiritual_Ring"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary_", "Spiritual_Ring_C"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary_", "Spiritual_Ring_M"]
+ Script: <"
+ bonus2 bSkillAtk, "AL_HEAL", 50;
+ bonus2 bSkillAtk, "PR_MAGNUS", 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Ring_Of_Flame_Lord", "Ring_Of_Resonance"]
+ Script: <"
+ bonus4 bAutoSpell, "MO_EXTREMITYFIST", 1, 3, 1;
+ bonus3 bAutoSpell, "PR_LEXAETERNA", 1, 20;
+ bonus3 bAutoSpell, "AS_SONICBLOW", 5, 50;
+ bonus3 bAutoSpell, "MO_INVESTIGATE", 5, 20;
+ bonus3 bAutoSpell, "ASC_METEORASSAULT", 2, 50;
+ ">
+},
+{
+ Items: ["Medal_Swordman", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Thief", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Acolyte", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Mage", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Archer", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Merchant", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Icarus_Wing", "Bowman_Scarf"]
+ Script: <"
+ bonus bUseSPrate, -25;
+ ">
+},
+{
+ Items: ["Medal_Gunner", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Shaman_Ring", "Shaman_Earing", "Shamans_Hair_Ornament"]
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMatkRate, 5;
+ bonus2 bSubEle, Ele_Neutral, 5;
+ ">
+},
+{
+ Items: ["Dark_Knight_Belt", "Dark_Knight_Glove", "Dark_Knight_Mask"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bInt, 5;
+ bonus2 bSubRace, RC_Angel, 10;
+ ">
+},
+{
+ Items: ["Dark_Knight_Belt", "Dark_Knight_Glove", "Dark_Knight_MaskB"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bInt, 5;
+ bonus2 bSubRace, RC_Angel, 10;
+ ">
+},
+{
+ Items: ["Poring_Card", "Mastering_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Lunatic_Card", "Eclipse_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Chonchon_Card", "Dragon_Fly_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Roda_Frog_Card", "Toad_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Rocker_Card", "Vocal_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Skeleton_Card", "Skel_Prisoner_Card"]
+ Script: <"
+ bonus2 bAddEffWhenHit, Eff_Sleep, 600;
+ ">
+},
+{
+ Items: ["Tarou_Card", "Cramp_Card"]
+ Script: <"
+ bonus bStr, 3;
+ ">
+},
+{
+ Items: ["Wolf_Card", "Vagabond_Wolf_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Pecopeco_Card", "Grand_Peco_Card"]
+ Script: <"
+ bonus bDef, 3;
+ bonus bVit, 3;
+ ">
+},
+{
+ Items: ["Muka_Card", "Raggler_Card", "Baby_Leopard_Card", "Zipper_Bear_Card", "Mole_Card"]
+ Script: <"
+ bonus bStr, 4;
+ bonus bMaxHPrate, 7;
+ bonus bMaxSPrate, 7;
+ bonus2 bSkillAtk, "MC_MAMMONITE", 20;
+ bonus bSPDrainValue, 1;
+ if (BaseJob == Job_Alchemist) {
+ bonus3 bAutoSpell, "BS_ADRENALINE", 1, 10;
+ bonus2 bAddMonsterDropItem, 7139, 3;
+ bonus2 bAddMonsterDropItem, 905, 10;
+ }
+ ">
+},
+{
+ Items: ["Stainer_Card", "Wander_Man_Card", "Shinobi_Card", "Wild_Rose_Card", "Whikebain_Card"]
+ Script: <"
+ bonus bStr, 6;
+ bonus bAgi, 4;
+ bonus2 bSkillAtk, "RG_BACKSTAP", 10;
+ if (getskilllv("RG_STRIPARMOR") == 5)
+ bonus3 bAutoSpell, "RG_STRIPARMOR", 5, 50;
+ if (BaseJob == Job_Rogue) {
+ bonus bUseSPrate, -20;
+ bonus3 bAutoSpell, "RG_INTIMIDATE", 1, -20;
+ }
+ ">
+},
+{
+ Items: ["BigFoot_Card", "Grizzly_Card"]
+ Script: <"
+ bonus2 bAddEffWhenHit, Eff_Blind, 600;
+ ">
+},
+{
+ Items: ["Munak_Card", "Bon_Gun_Card", "Hyegun_Card"]
+ Script: <"
+ bonus bAllStats, 1;
+ ">
+},
+{
+ Items: ["Mummy_Card", "Ancient_Mummy_Card"]
+ Script: <"
+ bonus bPerfectHitAddRate, 20;
+ ">
+},
+{
+ Items: ["Nightmare_Card", "Nightmare_Terror_Card"]
+ Script: <"
+ bonus2 bAddEffWhenHit, Eff_Curse, 600;
+ ">
+},
+{
+ Items: ["Crab_Card", "Aster_Card", "Shellfish_Card"]
+ Script: <"
+ bonus3 bAddMonsterDropItem, 544, RC_Fish, 3000;
+ bonus2 bAddEle, Ele_Water, 30;
+ ">
+},
+{
+ Items: ["Dark_Lord_Card", "Dark_Illusion_Card"]
+ Script: <"
+ bonus bMaxHPrate, 20;
+ bonus bMaxSPrate, 20;
+ bonus bCastrate, -10;
+ ">
+},
+{
+ Items: ["The_Paper_Card", "Wander_Man_Card", "Shinobi_Card", "Wild_Rose_Card", "Dancing_Dragon_Card"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bStr, 5;
+ bonus bAspdRate, 5;
+ bonus bSpeedRate, 25;
+ bonus2 bSPDrainValue, 1, 0;
+ if (BaseClass == Job_Thief)
+ bonus bNoGemStone, 0;
+ ">
+},
+{
+ Items: ["Dragon_Tail_Card", "Merman_Card", "Anolian_Card", "Alligator_Card", "Cruiser_Card"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bDex, 3;
+ bonus bLongAtkRate, 20;
+ bonus bPerfectHitAddRate, 20;
+ if (BaseClass == Job_Archer) {
+ bonus2 bExpAddRace, RC_Brute, 5;
+ bonus2 bWeaponComaRace, RC_Brute, 100;
+ }
+ ">
+},
+{
+ Items: ["Dragon_Tail_Card", "Anolian_Card", "Alligator_Card", "Cruiser_Card", "Ferus__Card"]
+ Script: <"
+ bonus bDex, 5;
+ bonus2 bSkillAtk, "CG_ARROWVULCAN", 5;
+ bonus2 bSkillAtk, "DC_THROWARROW", 10;
+ bonus2 bSkillAtk, "BA_MUSICALSTRIKE", 10;
+ if (BaseJob == Job_Bard || BaseJob == Job_Dancer)
+ bonus3 bAutoSpellWhenHit, "CG_TAROTCARD", 2, 50;
+ ">
+},
+{
+ Items: ["Rideword_Card", "Live_Peach_Tree_Card", "Geographer_Card", "Cookie_Card", "Fur_Seal_Card"]
+ Script: <"
+ bonus bVit, 10;
+ bonus bCastrate, -10;
+ bonus bUseSPrate, -10;
+ if (BaseClass == Job_Acolyte) {
+ bonus2 bExpAddRace, RC_Undead, 5;
+ bonus2 bExpAddRace, RC_Demon, 5;
+ bonus2 bSubRace, RC_Undead, 30;
+ bonus2 bSubRace, RC_Demon, 30;
+ }
+ ">
+},
+{
+ Items: ["Rideword_Card", "Cookie_Card", "Fur_Seal_Card", "Waste_Stove_Card"]
+ Script: <"
+ bonus bStr, 3;
+ bonus bMaxSP, 80;
+ bonus bBaseAtk, 25;
+ bonus3 bAutoSpell, "AL_CRUCIS", 5, 10;
+ bonus2 bSkillAtk, "MO_EXTREMITYFIST", 10;
+ if (BaseJob == Job_Monk) {
+ bonus bUseSPrate, -10;
+ bonus bNoCastCancel, 0;
+ }
+ ">
+},
+{
+ Items: ["Raggler_Card", "Mystcase_Card", "Baby_Leopard_Card", "Zipper_Bear_Card", "Hylozoist_Card"]
+ Script: <"
+ bonus bLuk, 10;
+ bonus2 bSPDrainValue, 2, 0;
+ bonus2 bSkillAtk, 42, 20;
+ if (BaseClass == Job_Merchant) {
+ bonus2 bAddMonsterDropItem, 617, 5;
+ bonus bMagicDamageReturn, 20;
+ }
+ ">
+},
+{
+ Items: ["Loli_Ruri_Card", "Miyabi_Ningyo_Card", "Wicked_Nymph_Card", "Parasite_Card", "Harpy_Card", "Blood_Butterfly_Card"]
+ Script: <"
+ bonus bMaxHP, 500;
+ bonus bDef, 5;
+ bonus bMdef, 5;
+ bonus2 bSkillAtk, 14, 10;
+ bonus2 bSkillAtk, 19, 10;
+ bonus2 bSkillAtk, 20, 10;
+ if (BaseClass == Job_Mage) {
+ bonus bMatkRate, 3;
+ bonus bCastrate, -15;
+ }
+ ">
+},
+{
+ Items: ["Lude_Card", "Quve_Card"]
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMaxSP, 60;
+ ">
+},
+{
+ Items: ["Miyabi_Ningyo_Card", "Wicked_Nymph_Card", "Harpy_Card", "Blood_Butterfly_Card", "Novus__Card"]
+ Script: <"
+ bonus bInt, 3;
+ bonus2 bSkillAtk, "WZ_HEAVENDRIVE", 10;
+ bonus2 bSkillAtk, "MG_THUNDERSTORM", 10;
+ if (BaseJob == Job_Sage) {
+ bonus bMagicDamageReturn, 20;
+ bonus2 bAddMonsterDropItem, 716, 100;
+ bonus2 bAddMonsterDropItem, 715, 100;
+ bonus bCastrate, -20;
+ }
+ ">
+},
+{
+ Items: ["Succubus_Card", "Incubus_Card"]
+ Script: <"
+ bonus bHPrecovRate, 30;
+ bonus bSPrecovRate, 30;
+ bonus bVit, 4;
+ bonus bInt, 4;
+ ">
+},
+{
+ Items: ["Solider_Card", "Assulter_Card", "Permeter_Card", "Freezer_Card", "Heater_Card"]
+ Script: <"
+ bonus bStr, 10;
+ bonus bMaxHPrate, 20;
+ bonus bHPrecovRate, 50;
+ bonus3 bAutoSpell, "BS_WEAPONPERFECT", 1, 3;
+ bonus2 bAddMonsterDropItem, 501, 500;
+ if (BaseClass == Job_Swordman) {
+ bonus2 bAddItemHealRate, Red_Potion, 50;
+ bonus2 bAddItemHealRate, Yellow_Potion, 50;
+ bonus2 bAddItemHealRate, Orange_Potion, 50;
+ bonus2 bAddItemHealRate, White_Potion, 50;
+ }
+ ">
+},
+{
+ Items: ["C_Tower_Manager_Card", "Alarm_Card", "Clock_Card", "Punk_Card"]
+ Script: <"
+ bonus bDef, 3;
+ bonus bMdef, 3;
+ ">
+},
+{
+ Items: ["Owl_Duke_Card", "Owl_Baron_Card"]
+ Script: <"
+ bonus3 bAutoSpell, "MG_LIGHTNINGBOLT", 5, 20;
+ ">
+},
+{
+ Items: ["Injustice_Card", "Zherlthsh_Card"]
+ Script: <"
+ bonus bBaseAtk, 20;
+ bonus bLuk, 3;
+ ">
+},
+{
+ Items: ["Permeter_Card", "Freezer_Card", "Heater_Card", "Archdam_Card"]
+ Script: <"
+ bonus bInt, 1;
+ bonus bStr, 1;
+ bonus bDef, 2;
+ bonus bSPrecovRate, 10;
+ bonus2 bSkillAtk, "PA_SHIELDCHAIN", 10;
+ bonus2 bSkillAtk, "PA_SACRIFICE", 10;
+ bonus bCastrate, -10;
+ if (BaseJob == Job_Crusader)
+ bonus bDefEle, Ele_Holy;
+ ">
+},
+{
+ Items: ["Garm_Baby_Card", "Garm_Card"]
+ Script: <"
+ bonus3 bAutoSpell, "MG_FROSTDIVER", 3, 250;
+ ">
+},
+{
+ Items: ["Zombie_Slaughter_Card", "Ragged_Zombie_Card"]
+ Script: <"
+ bonus2 bSPGainRace, RC_DemiPlayer, 2;
+ ">
+},
+{
+ Items: ["Blush", "Necktie"]
+ Script: <"
+ bonus bAspdRate, 3;
+ bonus bCastrate, 3;
+ ">
+},
+{
+ Items: ["Ear_Of_Devils_Wing", "Darkness_Helm_J"]
+ Script: <"
+ bonus bStr, 1;
+ bonus bAtkRate, 5;
+ ">
+},
+{
+ Items: ["Ear_Of_Angels_Wing", "Darkness_Helm_J"]
+ Script: <"
+ bonus bStr, 1;
+ bonus bAspdRate, 2;
+ ">
+},
+{
+ Items: ["Alarm_Mask", "Wit_Pumpkin_Hat"]
+ Script: <"
+ bonus2 bAddMonsterDropItem, 12192, 1;
+ bonus2 bAddMonsterDropItem, 538, 1;
+ bonus2 bAddItemHealRate, 12192, 100;
+ bonus2 bAddItemHealRate, 538, 100;
+ ">
+},
+{
+ Items: ["Hahoe_Mask", "Wit_Pumpkin_Hat"]
+ Script: <"
+ bonus bAspdRate, 5;
+ autobonus "{ bonus bAtk,50; }", 5, 10000, 0, "{ specialeffect(EF_POTION_BERSERK, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Pecopeco_Wing_Ears", "Darkness_Helm_J"]
+ Script: <"
+ bonus bAgi, 1;
+ bonus bFlee, 3;
+ ">
+},
+{
+ Items: ["Black_Glasses", "Darkness_Helm_J"]
+ Script: <"
+ bonus bInt, 1;
+ bonus bMatkRate, 2;
+ ">
+},
+{
+ Items: ["Pencil_In_Mouth", "Cap_Of_Concentration"]
+ Script: <"
+ bonus bDex, 2;
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Twilight_Desert", "Sandstorm"]
+ Script: <"
+ bonus bMaxSP, 20;
+ bonus bMaxHPrate, 5;
+ bonus bHit, 10;
+ bonus2 bAddSize, Size_Large, 30;
+ autobonus "{ bonus bAspdRate,100; }", 1, 7000, 0, "{ specialeffect(EF_POTION_BERSERK, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Elven_Ears_", "Skull_Cap"]
+ Script: <"
+ bonus bUseSPrate, -3;
+ ">
+},
+)
diff --git a/db/pre-re/item_combo_db.txt b/db/pre-re/item_combo_db.txt
deleted file mode 100644
index f3bf81e38..000000000
--- a/db/pre-re/item_combo_db.txt
+++ /dev/null
@@ -1,165 +0,0 @@
-// Item Combos Database
-//
-// Structure of Database:
-// ID:ID:ID:ID,{ Script }
-
-1166:2527,{ bonus2 bAddRace,RC_Dragon,5; }
-1420:2115,{ bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",2,5; }
-1420:2133,{ bonus2 bAddRace, RC_All, 4; bonus bDef,2; }
-1421:2133,{ bonus2 bAddRace, RC_All, 4; bonus bDef,2; }
-1422:2133,{ bonus2 bAddRace, RC_All, 4; bonus bDef,2; }
-1428:2115,{ bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",2,5; }
-1472:2677,{ bonus bMatkRate,6; bonus bDex,2; bonus bCastrate,-getequiprefinerycnt(EQI_HAND_R); }
-1472:2711,{ bonus bMatkRate,6; bonus bDex,2; bonus bCastrate,-getequiprefinerycnt(EQI_HAND_R); }
-1473:2677,{ bonus bMatkRate,6; bonus bDex,2; bonus bCastrate,-getequiprefinerycnt(EQI_HAND_R); }
-1473:2711,{ bonus bMatkRate,6; bonus bDex,2; bonus bCastrate,-getequiprefinerycnt(EQI_HAND_R); }
-1474:2527,{ bonus2 bAddRace,RC_Dragon,5; }
-1477:2700,{ bonus2 bResEff,Eff_Confusion,9500; }
-1479:2700,{ bonus2 bResEff,Eff_Confusion,9500; }
-1535:4361,{ bonus bBreakArmorRate,900; bonus bBreakWeaponRate,900; }
-1572:2716:2717,{ bonus bInt,5; bonus bMaxHP,700; bonus bAspdRate,5; }
-1573:2334,{ bonus bMdef,8; bonus bMaxSPrate,10; bonus bInt,4; }
-1573:2372,{ bonus bMdef,8; bonus bMaxSPrate,10; bonus bInt,4; }
-1573:2716:2717,{ bonus bInt,5; bonus bMaxHP,700; bonus bAspdRate,5; }
-1615:18539,{ bonus bMatk,10*getequiprefinerycnt(EQI_HAND_R); bonus bCastrate,-10; }
-1616:2515,{ bonus bSpeedRate,25; }
-1618:2509,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_HAND_R)*3; }
-1618:2535,{ bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,25; }
-1620:2509,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_HAND_R)*3; }
-1620:2535,{ bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,25; }
-1629:5045,{ bonus bDex,2; bonus bInt,2; bonus bSPrecovRate,5; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R); }
-1631:2129,{ bonus2 bSkillAtk,"PR_MAGNUS",20; bonus3 bAutoSpellWhenHit,"PR_TURNUNDEAD",1,20; }
-1636:18539,{ bonus bMatk,10*getequiprefinerycnt(EQI_HAND_R); bonus bCastrate,-10; }
-1723:2718,{ bonus bDex,1; bonus bMaxSP,50; bonus bSPrecovRate,10; }
-1730:1752,{ bonus bLongAtkRate,25; }
-1731:1754,{ bonus bLongAtkRate,25; }
-1732:1756,{ bonus bLongAtkRate,25; bonus2 bAddEff,Eff_Stone,1000; }
-1733:1755,{ bonus bLongAtkRate,25; bonus3 bAutoSpell,"NJ_HUUJIN",5,100; if(readparam(bInt)>39) bonus3 bAutoSpell,"NJ_HUUJIN",5,200; }
-1734:1753,{ bonus bLongAtkRate,50; }
-1741:2748,{ bonus bAtk,25; bonus3 bAddEff,Eff_Curse,200,ATF_WEAPON|ATF_LONG|ATF_TARGET; }
-2001:2677,{ bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }
-2001:2711,{ bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }
-2109:2717:2239,{ bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }
-2114:2353:5122,{ bonus bStr,2; bonus bDef,5; bonus bMdef,5; if(BaseClass==Job_Swordman) bonus bDef,6; }
-2115:2353:5124,{ bonus bDef,2-getequiprefinerycnt(EQI_HAND_L)-getequiprefinerycnt(EQI_HEAD_TOP); bonus bMdef,5+getequiprefinerycnt(EQI_HAND_L)+getequiprefinerycnt(EQI_HEAD_TOP); }
-2116:2355:2420:2521:5125,{ bonus bMaxHP,900; bonus bMaxSP,100; bonus3 bAutoSpellWhenHit,"HP_ASSUMPTIO",1,30; }
-2121:2717:2239,{ bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }
-2123:2701,{ bonus bCastrate,-10; }
-2124:2702,{ bonus bAspdRate,10; bonus bShortWeaponDamageReturn,5; }
-2135:2426,{ bonus2 bAddEff,Eff_Blind,500; autobonus "{ bonus bFlee,20; }",200,10000,BF_WEAPON,"{ specialeffect(EF_INCAGILITY, AREA, playerattached()); }"; }
-2137:2353:5124,{ bonus bDef,2-getrefine()-getequiprefinerycnt(EQI_HEAD_TOP); bonus bMdef,5+getrefine()+getequiprefinerycnt(EQI_HEAD_TOP); }
-2278:18656,{ bonus2 bAddMonsterDropItem,12192,1; }
-2281:18656,{ bonus bFlee,10; bonus2 bAddEff,Eff_Stun,1000; }
-2286:18539,{ bonus bUseSPrate,-3; }
-2312:2656,{ bonus bDef,5; bonus bMaxHP,150; }
-2313:2656,{ bonus bDef,5; bonus bMaxHP,150; }
-2337:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
-2339:2522,{ bonus bAgi,5; bonus bFlee,10; }
-2339:2523,{ bonus bAgi,5; bonus bFlee,10; }
-2353:2417:2516,{ bonus bAgi,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5; }
-2353:2418:2517,{ bonus bVit,5; bonus bHPrecovRate,10; bonus bSPrecovRate,10; }
-2353:5123,{ if(readparam(bDex)>69) bonus bUseSPrate,-10; }
-2353:5493,{ if(readparam(bDex)>69) bonus bUseSPrate,-10; }
-2354:2419:2520:5128,{ bonus bVit,5; bonus bMaxHPrate,15; bonus bMaxSPrate,5; bonus bDef,5; bonus bMdef,15; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Wind,10; }
-2357:2421:2524:5171,{ bonus bAllStats,1; }
-2358:5153,{ bonus bLuk,6; bonus bFlee,5; bonus bInt,2; }
-2359:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
-//2369:2428:2533:5306,{ bonus2 bSubRace,RC_DemiPlayer,10; bonus bMaxHPrate,20; bonus2 bResEff,Eff_Freeze,10000; skill "WZ_FIREPILLAR",10; }
-2371:2522,{ bonus bAgi,5; bonus bFlee,10; }
-2371:2523,{ bonus bAgi,5; bonus bFlee,10; }
-2374:2729,{ bonus2 bAddRace, RC_All, 3; bonus bMatkRate,3; }
-2375:2729,{ bonus2 bAddRace, RC_All, 3; bonus bMatkRate,3; }
-2376:2435:2538,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bVit,3; bonus bMaxHPrate,12; bonus bHealPower2,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect(EF_HEAL, AREA, playerattached()); }"; }
-2377:2435:2538,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bStr,3; bonus bMaxHPrate,12; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus2 bSkillHeal,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AM_POTIONPITCHER",10; bonus2 bSkillHeal2,"AL_HEAL",10; bonus bUnbreakableArmor,0; }
-2378:2435:2538,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bAgi,3; bonus bMaxHPrate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect(EF_HEAL, AREA, playerattached()); }"; }
-2379:2436:2539,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bInt,3; bonus bMaxHPrate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect(EF_ENERGYCOAT, AREA, playerattached()); }"; }
-2380:2436:2539,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bInt,3; bonus bMaxHPrate,12; bonus2 bCastrate,"AL_HOLYLIGHT",-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect(EF_ENERGYCOAT, AREA, playerattached()); }"; }
-2381:2436:2539,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bDex,3; bonus bMaxHPrate,12; bonus bLongAtkDef,10; bonus bDelayrate,-25; }
-2382:2437:2540,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bDex,3; bonus bMaxHPrate,12; bonus bLongAtkDef,10; bonus bDelayrate,-25; }
-2387:2440:2744,{ bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bCastrate,-3; bonus bDelayrate,-15; }
-2390:2749,{ bonus bFlee2,5; }
-2394:2444:2549,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,"AM_POTIONPITCHER",3; bonus2 bSkillHeal2,"AL_HEAL",3; bonus2 bSkillHeal2,"PR_SANCTUARY",3; }
-2399:2553,{ bonus bAgi,5; bonus bFlee,15; }
-2408:2655,{ bonus bBaseAtk,50; bonus2 bAddDefClass,1196,20; bonus2 bAddDefClass,1197,20; }
-2424:2528,{ bonus bHPrecovRate,5; bonus bMaxHPrate,10; }
-2425:2529,{ bonus bFlee,10; }
-2425:2530,{ bonus bFlee,10; }
-2425:2551,{ bonus bFlee,10; }
-2433:2537,{ bonus bMaxHPrate,6; }
-2434:2529,{ bonus bFlee,10; }
-2434:2530,{ bonus bFlee,10; }
-2434:2551,{ bonus bFlee,10; }
-2441:2546,{ bonus bFlee,5; }
-2518:2648:2649:5126,{ bonus bInt,5; bonus bMdef,11; bonus bMaxSPrate,20; bonus bNoCastCancel,0; bonus bCastrate,25; }
-2519:2650:2651:5127,{ bonus bStr,2; bonus bLuk,9; bonus bCritical,13; bonus bBaseAtk,18; bonus bFlee2,13; }
-2527:13001,{ bonus2 bAddRace,RC_Dragon,5; }
-2607:2677,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2607:2711,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2607:2786,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2608:2677,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2608:2711,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2608:2786,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2620:2746,{ bonus2 bAddSize,Size_Medium,8; bonus bAspdRate,getequiprefinerycnt(EQI_HAND_R)/2; }
-2620:2747,{ bonus2 bAddSize,Size_Large,8; bonus bHit,getequiprefinerycnt(EQI_HAND_R)/2; bonus bCastrate,-getequiprefinerycnt(EQI_HAND_R)/2; }
-2626:2677,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2626:2711,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2626:2786,{ bonus2 bSkillAtk,"AL_HEAL",50; bonus2 bSkillAtk,"PR_MAGNUS",30; bonus bSPrecovRate,9; }
-2678:2679,{ bonus4 bAutoSpell,"MO_EXTREMITYFIST",1,3,1; bonus3 bAutoSpell,"PR_LEXAETERNA",1,20; bonus3 bAutoSpell,"AS_SONICBLOW",5,50; bonus3 bAutoSpell,"MO_INVESTIGATE",5,20; bonus3 bAutoSpell,"ASC_METEORASSAULT",2,50; }
-//2679:2792,{ bonus4 bAutoSpell,"MO_EXTREMITYFIST",1,3,1; bonus3 bAutoSpell,"PR_LEXAETERNA",1,20; bonus3 bAutoSpell,"AS_SONICBLOW",5,50; bonus3 bAutoSpell,"MO_INVESTIGATE",5,20; bonus3 bAutoSpell,"ASC_METEORASSAULT",2,50; }
-2720:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2721:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2722:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2723:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2724:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2725:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2726:2727,{ bonus bUseSPrate,-25; }
-2733:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2777:2778:5479,{ bonus bMaxHP,300; bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,5; }
-2779:2780:5482,{ bonus bMatkRate,10; bonus bInt,5; bonus2 bSubRace,RC_Angel,10; }
-2779:2780:5577,{ bonus bMatkRate,10; bonus bInt,5; bonus2 bSubRace,RC_Angel,10; }
-4001:4197,{ bonus bFlee,18; }
-4006:4266,{ bonus bFlee,18; }
-4009:4179,{ bonus bFlee,18; }
-4014:4306,{ bonus bFlee,18; }
-4021:4211,{ bonus bFlee,18; }
-4025:4222,{ bonus2 bAddEffWhenHit,Eff_Sleep,600; }
-4028:4296,{ bonus bStr,3; }
-4029:4183,{ bonus bFlee,18; }
-4031:4161,{ bonus bDef,3; bonus bVit,3; }
-4036:4186:4233:4281:4343,{ bonus bStr,4; bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus2 bSkillAtk,"MC_MAMMONITE",20; bonus bSPDrainValue,1; if(BaseJob==Job_Alchemist) { bonus3 bAutoSpell,"BS_ADRENALINE",1,10; bonus2 bAddMonsterDropItem,7139,3; bonus2 bAddMonsterDropItem,905,10; } }
-4039:4210:4230:4257:4348,{ bonus bStr,6; bonus bAgi,4; bonus2 bSkillAtk,"RG_BACKSTAP",10; if(getskilllv("RG_STRIPARMOR")==5) bonus3 bAutoSpell,"RG_STRIPARMOR",5,50; if(BaseJob==Job_Rogue) { bonus bUseSPrate,-20; bonus3 bAutoSpell,"RG_INTIMIDATE",1,-20; } }
-4074:4162,{ bonus2 bAddEffWhenHit,Eff_Blind,600; }
-4090:4212:4328,{ bonus bAllStats,1; }
-4106:4248,{ bonus bPerfectHitAddRate,20; }
-4127:4166,{ bonus2 bAddEffWhenHit,Eff_Curse,600; }
-4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
-4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bCastrate,-10; }
-4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus2 bSPDrainValue,1,0; if(BaseClass==Job_Thief) bonus bNoGemStone,0; }
-4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bWeaponComaRace,RC_Brute,100; } }
-4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,"CG_ARROWVULCAN",5; bonus2 bSkillAtk,"DC_THROWARROW",10; bonus2 bSkillAtk,"BA_MUSICALSTRIKE",10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,"CG_TAROTCARD",2,50; }
-4185:4217:4280:4293:4312,{ bonus bVit,10; bonus bCastrate,-10; bonus bUseSPrate,-10; if(BaseClass==Job_Acolyte) { bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,30; bonus2 bSubRace,RC_Demon,30; } }
-4185:4293:4312:4332,{ bonus bStr,3; bonus bMaxSP,80; bonus bBaseAtk,25; bonus3 bAutoSpell,"AL_CRUCIS",5,10; bonus2 bSkillAtk,"MO_EXTREMITYFIST",10; if(BaseJob==Job_Monk) { bonus bUseSPrate,-10; bonus bNoCastCancel,0; } }
-4186:4206:4233:4281:4321,{ bonus bLuk,10; bonus2 bSPDrainValue,2,0; bonus2 bSkillAtk,42,20; if(BaseClass==Job_Merchant) { bonus2 bAddMonsterDropItem,617,5; bonus bMagicDamageReturn,20; } }
-4191:4208:4258:4309:4325:4327,{ bonus bMaxHP,500; bonus bDef,5; bonus bMdef,5; bonus2 bSkillAtk,14,10; bonus2 bSkillAtk,19,10; bonus2 bSkillAtk,20,10; if(BaseClass==Job_Mage) { bonus bMatkRate,3; bonus bCastrate,-15; } }
-4193:4294,{ bonus bMaxHP,300; bonus bMaxSP,60; }
-4208:4258:4325:4327:4382,{ bonus bInt,3; bonus2 bSkillAtk,"WZ_HEAVENDRIVE",10; bonus2 bSkillAtk,"MG_THUNDERSTORM",10; if(BaseJob==Job_Sage) { bonus bMagicDamageReturn,20; bonus2 bAddMonsterDropItem,716,100; bonus2 bAddMonsterDropItem,715,100; bonus bCastrate,-20; } }
-4218:4269,{ bonus bHPrecovRate,30; bonus bSPrecovRate,30; bonus bVit,4; bonus bInt,4; }
-4220:4246:4311:4319:4331,{ bonus bStr,10; bonus bMaxHPrate,20; bonus bHPrecovRate,50; bonus3 bAutoSpell,"BS_WEAPONPERFECT",1,3; bonus2 bAddMonsterDropItem,501,500; if(BaseClass==Job_Swordman) { bonus2 bAddItemHealRate,Red_Potion,50; bonus2 bAddItemHealRate,Yellow_Potion,50; bonus2 bAddItemHealRate,Orange_Potion,50; bonus2 bAddItemHealRate,White_Potion,50; } }
-4229:4244:4299:4313,{ bonus bDef,3; bonus bMdef,3; }
-4237:4238,{ bonus3 bAutoSpell,"MG_LIGHTNINGBOLT",5,20; }
-4268:4277,{ bonus bBaseAtk,20; bonus bLuk,3; }
-4311:4319:4331:4371,{ bonus bInt,1; bonus bStr,1; bonus bDef,2; bonus bSPrecovRate,10; bonus2 bSkillAtk,"PA_SHIELDCHAIN",10; bonus2 bSkillAtk,"PA_SACRIFICE",10; bonus bCastrate,-10; if(BaseJob==Job_Crusader) bonus bDefEle,Ele_Holy; }
-4323:4324,{ bonus3 bAutoSpell,"MG_FROSTDIVER",3,250; }
-4435:4436,{ bonus2 bSPGainRace,RC_DemiPlayer,2; }
-5040:5442,{ bonus bAspdRate,3; bonus bCastrate,3; }
-5068:5653,{ bonus bStr,1; bonus bAtkRate,5; }
-5074:5653,{ bonus bStr,1; bonus bAspdRate,2; }
-5086:18656,{ bonus2 bAddMonsterDropItem,12192,1; bonus2 bAddMonsterDropItem,538,1; bonus2 bAddItemHealRate,12192,100; bonus2 bAddItemHealRate,538,100; }
-5176:18656,{ bonus bAspdRate,5; autobonus "{ bonus bAtk,50; }",5,10000,0,"{ specialeffect(EF_POTION_BERSERK, AREA, playerattached()); }"; }
-//5184:5657,{ bonus bLongAtkRate,getrefine(); }
-5358:5653,{ bonus bAgi,1; bonus bFlee,3; }
-5401:5653,{ bonus bInt,1; bonus bMatkRate,2; }
-//5470:5653,{ bonus bDex,1; bonus bLongAtkRate,3; }
-5574:5073,{ bonus bDex, 2; bonus bDef, 2; }
-13034:13035,{ bonus bMaxSP,20; bonus bMaxHPrate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,0,"{ specialeffect(EF_POTION_BERSERK, AREA, playerattached()); }"; }
-18507:18539,{ bonus bUseSPrate,-3; }
diff --git a/db/pre-re/item_db.conf b/db/pre-re/item_db.conf
index c860e0239..74aeaa460 100644
--- a/db/pre-re/item_db.conf
+++ b/db/pre-re/item_db.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-2020 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
@@ -121,6 +121,8 @@ item_db: (
">
OnEquipScript: <" OnEquip Script (can also be multi-line) ">
OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">
+ OnRentalStartScript: <" On item renting script, gets called after item is created in inventory (can also be multi-line) ">
+ OnRentalEndScript: <" On item rent end/expire script, gets called after item is removed from inventory (can also be multi-line) ">
},
**************************************************************************/
@@ -1157,7 +1159,7 @@ item_db: (
Id: 601
AegisName: "Wing_Of_Fly"
Name: "Fly Wing"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 60
Weight: 50
BuyingStore: true
@@ -1167,7 +1169,7 @@ item_db: (
Id: 602
AegisName: "Wing_Of_Butterfly"
Name: "Butterfly Wing"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 300
Weight: 50
BuyingStore: true
@@ -1197,7 +1199,7 @@ item_db: (
Id: 605
AegisName: "Anodyne"
Name: "Anodyne"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 100
BuyingStore: true
@@ -1210,7 +1212,7 @@ item_db: (
Id: 606
AegisName: "Aloebera"
Name: "Aloevera"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1500
Weight: 100
BuyingStore: true
@@ -1252,7 +1254,7 @@ item_db: (
Id: 610
AegisName: "Leaf_Of_Yggdrasil"
Name: "Yggdrasil Leaf"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 4000
Weight: 100
BuyingStore: true
@@ -1262,7 +1264,7 @@ item_db: (
Id: 611
AegisName: "Spectacles"
Name: "Magnifier"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 40
Weight: 50
BuyingStore: true
@@ -2038,7 +2040,7 @@ item_db: (
Id: 686
AegisName: "Earth_Scroll_1_3"
Name: "Level 3 Earth Spike"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2051,7 +2053,7 @@ item_db: (
Id: 687
AegisName: "Earth_Scroll_1_5"
Name: "Level 5 Earth Spike"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2064,7 +2066,7 @@ item_db: (
Id: 688
AegisName: "Cold_Scroll_1_3"
Name: "Level 3 Cold Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2077,7 +2079,7 @@ item_db: (
Id: 689
AegisName: "Cold_Scroll_1_5"
Name: "Level 5 Cold Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2090,7 +2092,7 @@ item_db: (
Id: 690
AegisName: "Fire_Scroll_1_3"
Name: "Level 3 Fire Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2103,7 +2105,7 @@ item_db: (
Id: 691
AegisName: "Fire_Scroll_1_5"
Name: "Level 5 Fire Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2116,7 +2118,7 @@ item_db: (
Id: 692
AegisName: "Wind_Scroll_1_3"
Name: "Level 3 Lightening Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2129,7 +2131,7 @@ item_db: (
Id: 693
AegisName: "Wind_Scroll_1_5"
Name: "Level 5 Lightening Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2142,7 +2144,7 @@ item_db: (
Id: 694
AegisName: "Ghost_Scroll_1_3"
Name: "Level 3 Soul Strike"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2155,7 +2157,7 @@ item_db: (
Id: 695
AegisName: "Ghost_Scroll_1_5"
Name: "Level 5 Soul Strike"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2168,7 +2170,7 @@ item_db: (
Id: 696
AegisName: "Fire_Scroll_2_1"
Name: "Level 1 Fire Ball"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2181,7 +2183,7 @@ item_db: (
Id: 697
AegisName: "Fire_Scroll_2_5"
Name: "Level 5 Fire Ball"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2194,7 +2196,7 @@ item_db: (
Id: 698
AegisName: "Fire_Scroll_3_1"
Name: "Level 1 Fire Wall"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2207,7 +2209,7 @@ item_db: (
Id: 699
AegisName: "Fire_Scroll_3_5"
Name: "Level 5 Fire Wall"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2220,7 +2222,7 @@ item_db: (
Id: 700
AegisName: "Cold_Scroll_2_1"
Name: "Level 1 Frost Diver"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -18256,6 +18258,11 @@ item_db: (
Name: "Combo_Battle_Glove_IL"
},
{
+ Id: 1847
+ AegisName: "Iron_Nail_K"
+ Name: "Iron_Nail_K"
+},
+{
Id: 1848
AegisName: "Rebeginer_SR_Nuckle"
Name: "Rebeginer_SR_Nuckle"
@@ -18270,6 +18277,11 @@ item_db: (
AegisName: "Evt_Iron_Nail_K"
Name: "Evt_Iron_Nail_K"
},
+{
+ Id: 1867
+ AegisName: "Ein_1HKNUCK"
+ Name: "Ein_1HKNUCK"
+},
//== Instruments ===========================================
{
@@ -19909,6 +19921,11 @@ item_db: (
Name: "Rebeginer_WL_Staff"
},
{
+ Id: 2048
+ AegisName: "Iron_Staff"
+ Name: "Iron_Staff"
+},
+{
Id: 2051
AegisName: "Survival_Staff_IL"
Name: "Survival_Staff_IL"
@@ -19918,6 +19935,11 @@ item_db: (
AegisName: "Evt_Iron_Staff"
Name: "Evt_Iron_Staff"
},
+{
+ Id: 2058
+ AegisName: "Ein_BHSTAFF"
+ Name: "Ein_BHSTAFF"
+},
//== Shields ===============================================
{
@@ -42875,7 +42897,7 @@ item_db: (
Script: <"
bonus bMdef,15;
bonus2 bResEff,Eff_Curse,4000;
- bonus2 bResEff,Eff_Curse,1000;
+ bonus2 bResEff,Eff_Stun,1000;
">
},
{
@@ -55824,6 +55846,13 @@ item_db: (
Weight: 10
},
{
+ Id: 6413
+ AegisName: "New_Insurance"
+ Name: "New Insurance"
+ Buy: 2
+ Weight: 10
+},
+{
Id: 6415
AegisName: "Strange_Embryo"
Name: "Strange Embryo"
@@ -64627,6 +64656,31 @@ item_db: (
noauction: true
}
},
+{
+ Id: 9514
+ AegisName: "Ein_Ddbox"
+ Name: "Ein_Ddbox"
+},
+{
+ Id: 9523
+ AegisName: "Metal_Rifine_Ticket"
+ Name: "Metal_Rifine_Ticket"
+},
+{
+ Id: 9529
+ AegisName: "Ein_Ddbox2"
+ Name: "Ein_Ddbox2"
+},
+{
+ Id: 9550
+ AegisName: "Gemstone_Of_Time"
+ Name: "Gemstone_Of_Time"
+},
+{
+ Id: 9551
+ AegisName: "Time_Unseal_Key"
+ Name: "Time_Unseal_Key"
+},
//== Pet Accessories =======================================
{
Id: 10001
@@ -65803,7 +65857,7 @@ item_db: (
Id: 12000
AegisName: "Cold_Scroll_2_5"
Name: "Level 5 Frost Diver"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -65816,7 +65870,7 @@ item_db: (
Id: 12001
AegisName: "Holy_Scroll_1_3"
Name: "Level 3 Heal"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -65829,7 +65883,7 @@ item_db: (
Id: 12002
AegisName: "Holy_Scroll_1_5"
Name: "Level 5 Heal"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -65842,7 +65896,7 @@ item_db: (
Id: 12003
AegisName: "Holy_Scroll_2_1"
Name: "Level 1 Teleport"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -66002,7 +66056,7 @@ item_db: (
Id: 12019
AegisName: "Holy_Egg"
Name: "Holy Egg"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 150
Script: <" itemskill ALL_RESURRECTION,2; ">
@@ -66011,7 +66065,7 @@ item_db: (
Id: 12020
AegisName: "Water_Of_Darkness"
Name: "Cursed Water"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 30
BuyingStore: true
@@ -66102,7 +66156,7 @@ item_db: (
Id: 12029
AegisName: "Gloomy_Box"
Name: "Box of Gloom"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 200
BuyingStore: true
@@ -66141,7 +66195,7 @@ item_db: (
Id: 12032
AegisName: "Box_Of_Storm"
Name: "Box of Storms"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 200
BuyingStore: true
@@ -67163,7 +67217,7 @@ item_db: (
Id: 12114
AegisName: "Elemental_Fire"
Name: "Elemental Converter"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
BuyingStore: true
@@ -67173,7 +67227,7 @@ item_db: (
Id: 12115
AegisName: "Elemental_Water"
Name: "Elemental Converter"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
BuyingStore: true
@@ -67183,7 +67237,7 @@ item_db: (
Id: 12116
AegisName: "Elemental_Earth"
Name: "Elemental Converter"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
BuyingStore: true
@@ -67193,7 +67247,7 @@ item_db: (
Id: 12117
AegisName: "Elemental_Wind"
Name: "Elemental Converter"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
BuyingStore: true
@@ -67207,7 +67261,10 @@ item_db: (
Buy: 2
Weight: 10
BuyingStore: true
- Script: <" sc_start4 SC_ARMORPROPERTY,1200000,-15,0,20,0; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_FIRE, 1200000, 20);
+ sc_start(SC_RESIST_PROPERTY_WATER, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);
+ ">
},
{
Id: 12119
@@ -67217,7 +67274,10 @@ item_db: (
Buy: 2
Weight: 10
BuyingStore: true
- Script: <" sc_start4 SC_ARMORPROPERTY,1200000,20,0,0,-15; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_WATER, 1200000, 20);
+ sc_start(SC_RESIST_PROPERTY_WIND, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);
+ ">
},
{
Id: 12120
@@ -67227,7 +67287,10 @@ item_db: (
Buy: 2
Weight: 10
BuyingStore: true
- Script: <" sc_start4 SC_ARMORPROPERTY,1200000,0,20,-15,0; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_GROUND, 1200000, 20);
+ sc_start(SC_RESIST_PROPERTY_FIRE, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);
+ ">
},
{
Id: 12121
@@ -67237,7 +67300,10 @@ item_db: (
Buy: 2
Weight: 10
BuyingStore: true
- Script: <" sc_start4 SC_ARMORPROPERTY,1200000,0,-15,0,20; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_WIND, 1200000, 20);
+ sc_start(SC_RESIST_PROPERTY_GROUND, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);
+ ">
},
{
Id: 12122
@@ -68256,7 +68322,7 @@ item_db: (
Id: 12200
AegisName: "Event_Cake"
Name: "X-mas Cake"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 50
Script: <" itemskill PR_MAGNIFICAT,3; ">
@@ -68543,10 +68609,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,240000,10;
- ">
+ Script: <" itemskill(AL_BLESSING, 10, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12216
@@ -68567,14 +68630,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- if(Hp>15) {
- skilleffect AL_INCAGI,0;
- sc_start SC_INC_AGI,240000,10;
- heal -15,0;
- }
-
- ">
+ Script: <" itemskill(AL_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12217
@@ -68595,14 +68651,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- if(countitem(523)>0) {
- skilleffect PR_ASPERSIO,0;
- sc_start SC_ASPERSIO,180000,5;
- delitem 523,1;
- }
-
- ">
+ Script: <" itemskill(PR_ASPERSIO, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12218
@@ -68623,10 +68672,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- sc_start SC_ASSUMPTIO,100000,5;
- skilleffect HP_ASSUMPTIO,0;
- ">
+ Script: <" itemskill(HP_ASSUMPTIO, 5, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12219
@@ -68647,10 +68693,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- skilleffect SN_WINDWALK,0;
- sc_start SC_WINDWALK,250000,5;
- ">
+ Script: <" itemskill(SN_WINDWALK, 10, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12220
@@ -68671,14 +68714,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- .@type = getiteminfo(getequipid(EQI_HAND_R),11);
- if (.@type==6||.@type==7||.@type==8) {
- skilleffect BS_ADRENALINE,0;
- sc_start SC_ADRENALINE,150000,5;
- }
-
- ">
+ Script: <" itemskill(BS_ADRENALINE, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12221
@@ -68853,16 +68889,15 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 0,5;
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,240000,10;
+ percentheal(0, 5);
+ itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
Id: 12236
AegisName: "Choco_Tart"
Name: "Chocolate Tart"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 100
Nouse: {
@@ -69467,7 +69502,12 @@ item_db: (
Name: "Undead Elemental Scroll"
Type: "IT_USABLE"
Weight: 10
- Script: <" sc_start4 SC_ARMOR_RESIST,300000,20,20,20,20; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_FIRE, 300000, 20);
+ sc_start(SC_RESIST_PROPERTY_WATER, 300000, 20);
+ sc_start(SC_RESIST_PROPERTY_WIND, 300000, 20);
+ sc_start(SC_RESIST_PROPERTY_GROUND, 300000, 20);
+ ">
},
{
Id: 12280
@@ -69570,7 +69610,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 1; ">
+ Script: <" setfont(1); ">
+ OnRentalEndScript: <"
+ if (getfont() == 1)
+ setfont(0);
+ ">
},
{
Id: 12288
@@ -69587,7 +69631,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 2; ">
+ Script: <" setfont(2); ">
+ OnRentalEndScript: <"
+ if (getfont() == 2)
+ setfont(0);
+ ">
},
{
Id: 12289
@@ -69604,7 +69652,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 3; ">
+ Script: <" setfont(3); ">
+ OnRentalEndScript: <"
+ if (getfont() == 3)
+ setfont(0);
+ ">
},
{
Id: 12290
@@ -69618,9 +69670,8 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 5,0;
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,120000,5;
+ percentheal(5, 0);
+ itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -69635,9 +69686,8 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 5,0;
- skilleffect AL_INCAGI,0;
- sc_start SC_INC_AGI,120000,5;
+ percentheal(0, 5);
+ itemskill(AL_INCAGI, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -69856,7 +69906,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 4; ">
+ Script: <" setfont(4); ">
+ OnRentalEndScript: <"
+ if (getfont() == 4)
+ setfont(0);
+ ">
},
{
Id: 12305
@@ -69873,7 +69927,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 5; ">
+ Script: <" setfont(5); ">
+ OnRentalEndScript: <"
+ if (getfont() == 5)
+ setfont(0);
+ ">
},
{
Id: 12306
@@ -69890,7 +69948,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 6; ">
+ Script: <" setfont(6); ">
+ OnRentalEndScript: <"
+ if (getfont() == 6)
+ setfont(0);
+ ">
},
{
Id: 12307
@@ -69907,7 +69969,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 7; ">
+ Script: <" setfont(7); ">
+ OnRentalEndScript: <"
+ if (getfont() == 7)
+ setfont(0);
+ ">
},
{
Id: 12308
@@ -69924,7 +69990,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 8; ">
+ Script: <" setfont(8); ">
+ OnRentalEndScript: <"
+ if (getfont() == 8)
+ setfont(0);
+ ">
},
{
Id: 12309
@@ -69941,7 +70011,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 9; ">
+ Script: <" setfont(9); ">
+ OnRentalEndScript: <"
+ if (getfont() == 9)
+ setfont(0);
+ ">
},
{
Id: 12310
@@ -69966,7 +70040,7 @@ item_db: (
Id: 12311
AegisName: "Large_Spray_Of_Flowers"
Name: "Huge Spray Of Flowers"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 100
Trade: {
nodrop: true
@@ -70085,7 +70159,7 @@ item_db: (
Id: 12323
AegisName: "N_Fly_Wing"
Name: "Novice Fly Wing"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Trade: {
nodrop: true
notrade: true
@@ -70105,7 +70179,7 @@ item_db: (
Id: 12324
AegisName: "N_Butterfly_Wing"
Name: "Novice Butterfly Wing"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Trade: {
nodrop: true
notrade: true
@@ -70125,7 +70199,7 @@ item_db: (
Id: 12325
AegisName: "N_Magnifier"
Name: "Novice Magnifier"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Trade: {
nodrop: true
notrade: true
@@ -70492,7 +70566,7 @@ item_db: (
Id: 12350
AegisName: "Angeling_Potion"
Name: "Angeling Potion"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 100
BuyingStore: true
@@ -70507,16 +70581,15 @@ item_db: (
sitting: true
}
Script: <"
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,120000,5;
- itemskill AL_ANGELUS,5;
+ itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
+ itemskill(AL_ANGELUS, 5);
">
},
{
Id: 12351
AegisName: "Shout_Megaphone"
Name: "Scream Megaphone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 50
BuyingStore: true
@@ -70861,8 +70934,8 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 3, 0;
- itemskill PR_GLORIA, 2;
+ percentheal(3, 0);
+ itemskill(PR_GLORIA, 2, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -70877,8 +70950,8 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 0, 3;
- itemskill PR_MAGNIFICAT, 1;
+ percentheal(0, 3);
+ itemskill(PR_MAGNIFICAT, 1, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -70898,6 +70971,18 @@ item_db: (
Buy: 10
Weight: 10
BuyingStore: true
+ Trade: {
+ nodrop: true
+ notrade: true
+ nocart: true
+ nomail: true
+ noauction: true
+ nogstorage: true
+ }
+ Script: <"
+ specialeffect(EF_STEAL, AREA, playerattached());
+ sc_start4(SC_POPECOOKIE, 1200000, 3, 3, 3, 0);
+ ">
},
{
Id: 12380
@@ -70950,7 +71035,7 @@ item_db: (
Id: 12384
AegisName: "Rainbow_Ruby_Water"
Name: "Rainbow Ruby"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 50
Trade: {
nodrop: true
@@ -70971,7 +71056,7 @@ item_db: (
Id: 12385
AegisName: "Rainbow_Ruby_Fire"
Name: "Rainbow Ruby"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 50
Trade: {
nodrop: true
@@ -70992,7 +71077,7 @@ item_db: (
Id: 12386
AegisName: "Rainbow_Ruby_Wind"
Name: "Rainbow Ruby"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 50
Trade: {
nodrop: true
@@ -71013,7 +71098,7 @@ item_db: (
Id: 12387
AegisName: "Rainbow_Ruby_Earth"
Name: "Rainbow Ruby"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 50
Trade: {
nodrop: true
@@ -71034,7 +71119,7 @@ item_db: (
Id: 12388
AegisName: "Runstone_Crush"
Name: "Rhydo Runestone For Apprentice"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -71051,7 +71136,7 @@ item_db: (
}
Script: <"
//if(strcharinfo(PC_MAP)=="job3_rune02") {
- // itemskill RK_CRUSHSTRIKE,1;
+ // itemskill(RK_CRUSHSTRIKE, 1, ISF_CHECKCONDITIONS);
//}
">
},
@@ -71059,7 +71144,7 @@ item_db: (
Id: 12389
AegisName: "Runstone_Storm"
Name: "Pertz Runestone For Apprentice"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -71075,16 +71160,15 @@ item_db: (
sitting: true
}
Script: <"
- //if(strcharinfo(PC_MAP)=="job3_rune02") {
- // itemskill RK_STORMBLAST,1;
- //}
+ //if (strcharinfo(PC_MAP) == "job3_rune02")
+ // itemskill(RK_STORMBLAST, 1, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
Id: 12390
AegisName: "Runstone_Millennium"
Name: "Verkana Runestone For Apprentice"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -71100,9 +71184,8 @@ item_db: (
sitting: true
}
Script: <"
- //if(strcharinfo(PC_MAP)=="job3_rune02") {
- // itemskill RK_MILLENNIUMSHIELD,1;
- //}
+ //if (strcharinfo(PC_MAP) == "job3_rune02")
+ // itemskill(RK_MILLENNIUMSHIELD, 1, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -71178,7 +71261,7 @@ item_db: (
Id: 12396
AegisName: "Fools_Day_Box"
Name: "Gift Box?"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
Trade: {
@@ -71207,7 +71290,7 @@ item_db: (
Id: 12397
AegisName: "Fools_Day_Box2"
Name: "Gift Box?"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
Trade: {
@@ -71219,17 +71302,27 @@ item_db: (
sitting: true
}
Script: <"
- .@temp = rand(1,10);
- if (.@temp == 1) itemskill TF_DETOXIFY,1;
- else if (.@temp == 2) itemskill TF_PICKSTONE,1;
- else if (.@temp == 3) itemskill BA_FROSTJOKER,1;
- else if (.@temp == 4) itemskill DC_SCREAM,1;
- else if (.@temp == 5) percentheal 50,50;
- else if (.@temp == 6) getitem Jellopy,1;
- else if (.@temp == 7) itemskill AL_RUWACH,1;
- else if (.@temp == 8) specialeffect(EF_BEGINASURA, AREA, playerattached());
- else if (.@temp == 9) specialeffect(EF_MVP, AREA, playerattached());
- else specialeffect(EF_CURSEATTACK, AREA, playerattached());
+ .@temp = rand(1, 10);
+ if (.@temp == 1)
+ itemskill(TF_DETOXIFY, 1, ISF_INSTANTCAST | ISF_CASTONSELF);
+ else if (.@temp == 2)
+ itemskill(TF_PICKSTONE, 1);
+ else if (.@temp == 3)
+ itemskill(BA_FROSTJOKER, 1);
+ else if (.@temp == 4)
+ itemskill(DC_SCREAM, 1);
+ else if (.@temp == 5)
+ announce(strcharinfo(PC_NAME) + " shouts : I am a fool!!!", bc_all, C_WHITE);
+ else if (.@temp == 6)
+ getitem(Jellopy, 1);
+ else if (.@temp == 7)
+ itemskill(AL_RUWACH, 1);
+ else if (.@temp == 8)
+ specialeffect(EF_BEGINASURA, AREA, playerattached());
+ else if (.@temp == 9)
+ specialeffect(EF_MVP, AREA, playerattached());
+ else
+ specialeffect(EF_CURSEATTACK, AREA, playerattached());
">
},
{
@@ -71299,7 +71392,7 @@ item_db: (
{
Id: 12404
AegisName: "Acti_Potion"
- Name: "Acti Potion"
+ Name: "Activation Potion"
Type: "IT_USABLE"
Buy: 20
Weight: 10
@@ -71312,6 +71405,10 @@ item_db: (
nomail: true
noauction: true
}
+ Script: <"
+ specialeffect(EF_STEAL, AREA, playerattached());
+ sc_start4(SC_VITALIZE_POTION, 120000, 2, 2, 10, 0);
+ ">
},
{
Id: 12405
@@ -71330,9 +71427,8 @@ item_db: (
noauction: true
}
Script: <"
- percentheal 30,30;
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,140000,5;
+ percentheal(30, 30);
+ itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -71426,9 +71522,8 @@ item_db: (
Weight: 10
BuyingStore: true
Script: <"
- sc_start SC_ATTHASTE_POTION1, 1800000, 0;
- sc_start SC_INC_AGI, 140000, 5;
- skilleffect AL_INCAGI, 0;
+ sc_start(SC_ATTHASTE_POTION1, 1800000, 0);
+ itemskill(AL_INCAGI, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -71816,51 +71911,80 @@ item_db: (
{
Id: 12459
AegisName: "F_Med_Life_Potion"
- Name: "F Med Life Potion"
+ Name: "Medium Life Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_HEAL3, AREA, playerattached());
+ sc_start2(SC_M_LIFEPOTION, 600000, -7, 4);
+ ">
},
{
Id: 12460
AegisName: "F_Small_Life_Potion"
- Name: "F Small Life Potion"
+ Name: "Small Life Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_HEAL3, AREA, playerattached());
+ /* Probably it should be 5% instead of 7%, but we'll follow the client side description... */
+ sc_start2(SC_S_LIFEPOTION, 600000, -7, 4);
+ ">
},
{
Id: 12461
AegisName: "F_Regeneration_Potion"
- Name: "F Regeneration Potion"
+ Name: "Regeneration Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
+ sc_start(SC_HEALPLUS, 1800000, 20);
+ ">
},
{
Id: 12462
AegisName: "F_B_Mdef_Potion"
- Name: "F B Mdef Potion"
+ Name: "Big Magic Defense Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_SPELLBREAKER, AREA, playerattached());
+ sc_start(SC_PROTECT_MDEF, 180000, 3);
+ ">
},
{
Id: 12463
AegisName: "F_S_Mdef_Potion"
- Name: "F S Mdef Potion"
+ Name: "Small Magic Defense Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_SPELLBREAKER, AREA, playerattached());
+ sc_start(SC_PROTECT_MDEF, 60000, 3);
+ ">
},
{
Id: 12464
AegisName: "F_B_Def_Potion"
- Name: "F B Def Potion"
+ Name: "Big Defense Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_GUARD, AREA, playerattached());
+ sc_start(SC_PROTECT_DEF, 180000, 3);
+ ">
},
{
Id: 12465
AegisName: "F_S_Def_Potion"
- Name: "F S Def Potion"
+ Name: "Small Defense Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_GUARD, AREA, playerattached());
+ sc_start(SC_PROTECT_DEF, 60000, 3);
+ ">
},
{
Id: 12466
@@ -73051,6 +73175,91 @@ item_db: (
noauction: true
}
Script: <" setcashmount(); ">
+ OnRentalEndScript: <" sc_end(SC_ALL_RIDING); ">
+},
+{
+ Id: 12666
+ AegisName: "Thai_Perfume_MATK"
+ Name: "Thai Perfume(MATK)"
+ Type: "IT_USABLE"
+ Buy: 20
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ sc_start(SC_SKF_MATK, 600000, 24);
+ ">
+},
+{
+ Id: 12667
+ AegisName: "Thai_Perfume_ATK"
+ Name: "Thai Perfume(ATK)"
+ Type: "IT_USABLE"
+ Buy: 20
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ sc_start(SC_SKF_ATK, 600000, 24);
+ ">
+},
+{
+ Id: 12668
+ AegisName: "Thai_Perfume_ASPD"
+ Name: "Thai Perfume(ASPD)"
+ Type: "IT_USABLE"
+ Buy: 20
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ sc_start(SC_SKF_ASPD, 600000, 3);
+ ">
+},
+{
+ Id: 12669
+ AegisName: "Thai_Perfume_CAST"
+ Name: "Thai Perfume(CAST)"
+ Type: "IT_USABLE"
+ Buy: 20
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ sc_start(SC_SKF_CAST, 600000, 5);
+ ">
},
{
Id: 12701
@@ -73117,34 +73326,34 @@ item_db: (
Id: 12706
AegisName: "Lucky_Cookie01"
Name: "Lucky Cookie"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 100
Nouse: {
sitting: true
}
- Script: <" itemskill PR_GLORIA,5; ">
+ Script: <" itemskill(PR_GLORIA, 5, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12707
AegisName: "Lucky_Cookie02"
Name: "Lucky Cookie"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 100
Nouse: {
sitting: true
}
- Script: <" itemskill PR_MAGNIFICAT,1; ">
+ Script: <" itemskill(PR_MAGNIFICAT, 1, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12708
AegisName: "Lucky_Cookie03"
Name: "Lucky Cookie"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 100
Nouse: {
sitting: true
}
- Script: <" itemskill PR_IMPOSITIO,3; ">
+ Script: <" itemskill(PR_IMPOSITIO, 3, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12709
@@ -73373,7 +73582,7 @@ item_db: (
Id: 12725
AegisName: "Runstone_Nosiege"
Name: "Nauthiz Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -73400,7 +73609,7 @@ item_db: (
Id: 12726
AegisName: "Runstone_Rhydo"
Name: "Raido Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -73421,13 +73630,13 @@ item_db: (
sitting: true
}
Stack: [20, 1]
- Script: <" itemskill RK_CRUSHSTRIKE, 1; ">
+ Script: <" itemskill(RK_CRUSHSTRIKE, 1, ISF_CHECKCONDITIONS); ">
},
{
Id: 12727
AegisName: "Runstone_Verkana"
Name: "Berkana Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -73454,7 +73663,7 @@ item_db: (
Id: 12728
AegisName: "Runstone_Isia"
Name: "Isa Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -73480,7 +73689,7 @@ item_db: (
Id: 12729
AegisName: "Runstone_Asir"
Name: "Othila Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -73506,7 +73715,7 @@ item_db: (
Id: 12730
AegisName: "Runstone_Urj"
Name: "Uruz Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -73532,7 +73741,7 @@ item_db: (
Id: 12731
AegisName: "Runstone_Turisus"
Name: "Thurisaz Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -73558,7 +73767,7 @@ item_db: (
Id: 12732
AegisName: "Runstone_Pertz"
Name: "Wyrd Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -73585,7 +73794,7 @@ item_db: (
Id: 12733
AegisName: "Runstone_Hagalas"
Name: "Hagalaz Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 100
Weight: 100
Job: {
@@ -74124,6 +74333,33 @@ item_db: (
">
},
{
+ Id: 12883
+ AegisName: "Almighty"
+ Name: "Almighty"
+ Type: "IT_USABLE"
+ Buy: 20
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_BASH3D, AREA, playerattached());
+ sc_start(SC_FOOD_STR_CASH, 1800000, 10);
+ sc_start(SC_FOOD_VIT_CASH, 1800000, 10);
+ sc_start(SC_FOOD_AGI_CASH, 1800000, 10);
+ sc_start(SC_FOOD_INT_CASH, 1800000, 10);
+ sc_start(SC_FOOD_DEX_CASH, 1800000, 10);
+ sc_start(SC_FOOD_LUK_CASH, 1800000, 10);
+ sc_start2(SC_ALMIGHTY, 1800000, 30, 30);
+ ">
+},
+{
Id: 12900
AegisName: "Battle_Manual_Box"
Name: "Battle Manual Box"
@@ -74572,7 +74808,7 @@ item_db: (
Id: 12928
AegisName: "J_Aspersio_5_Scroll"
Name: "Sacred Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
Trade: {
@@ -75229,7 +75465,7 @@ item_db: (
Id: 12968
AegisName: "Emergency_Scroll1"
Name: "Emergency Level 1 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
Script: <" itemskill GD_EMERGENCYCALL,1; ">
@@ -75238,7 +75474,7 @@ item_db: (
Id: 12969
AegisName: "Emergency_Scroll2"
Name: "Emergency Level 2 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
Script: <" itemskill GD_EMERGENCYCALL,1; ">
@@ -75247,7 +75483,7 @@ item_db: (
Id: 12970
AegisName: "Emergency_Scroll3"
Name: "Emergency Level 3 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
Script: <" itemskill GD_EMERGENCYCALL,1; ">
@@ -79394,6 +79630,16 @@ item_db: (
AegisName: "Rebeginer_KO_Humma"
Name: "Rebeginer_KO_Humma"
},
+{
+ Id: 13345
+ AegisName: "Humma_Clear"
+ Name: "Humma_Clear"
+},
+{
+ Id: 13346
+ AegisName: "Ein_BHHuuma"
+ Name: "Ein_BHHuuma"
+},
//== More One-Handed Swords ================================
{
@@ -80184,6 +80430,11 @@ item_db: (
Name: "Rebeginer_GN_Sword"
},
{
+ Id: 13485
+ AegisName: "Sword_Of_Bluefire"
+ Name: "Sword_Of_Bluefire"
+},
+{
Id: 13493
AegisName: "Cannon_Rapier_OS"
Name: "Cannon_Rapier_OS"
@@ -92031,7 +92282,7 @@ item_db: (
Id: 14512
AegisName: "Meteor_10_Scroll"
Name: "Meteor Storm Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill WZ_METEOR,10; ">
},
@@ -92039,7 +92290,7 @@ item_db: (
Id: 14513
AegisName: "Storm_10_Scroll"
Name: "Storm Gust Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill WZ_STORMGUST,10; ">
},
@@ -92047,7 +92298,7 @@ item_db: (
Id: 14514
AegisName: "Vermilion_10_Scroll"
Name: "Lord of Vermilion Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill WZ_VERMILION,10; ">
},
@@ -92055,7 +92306,7 @@ item_db: (
Id: 14515
AegisName: "Lex_Aeterna_Scroll"
Name: "Lex Aeterna Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill PR_LEXAETERNA,1; ">
},
@@ -92063,7 +92314,7 @@ item_db: (
Id: 14516
AegisName: "Magnificat_5_Scroll"
Name: "Magnificat Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill PR_MAGNIFICAT,5; ">
},
@@ -92073,7 +92324,7 @@ item_db: (
Name: "Chemical Protection Helm Scroll"
Type: "IT_USABLE"
Weight: 10
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),237,5; ">
+ Script: <" itemskill(AM_CP_HELM, 5, ISF_CHECKCONDITIONS); ">
},
{
Id: 14518
@@ -92081,7 +92332,7 @@ item_db: (
Name: "Chemical Protection Shield Scrol"
Type: "IT_USABLE"
Weight: 10
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),235,5; ">
+ Script: <" itemskill(AM_CP_SHIELD, 5, ISF_CHECKCONDITIONS); ">
},
{
Id: 14519
@@ -92089,7 +92340,7 @@ item_db: (
Name: "Chemical Protection Armor Scroll"
Type: "IT_USABLE"
Weight: 10
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),236,5; ">
+ Script: <" itemskill(AM_CP_ARMOR, 5, ISF_CHECKCONDITIONS); ">
},
{
Id: 14520
@@ -92097,7 +92348,7 @@ item_db: (
Name: "Chemical Protection Weapon Scroll"
Type: "IT_USABLE"
Weight: 10
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),234,5; ">
+ Script: <" itemskill(AM_CP_WEAPON, 5, ISF_CHECKCONDITIONS); ">
},
{
Id: 14521
@@ -92117,7 +92368,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),108,1; ">
+ Script: <" itemskill(BS_REPAIRWEAPON, 1); ">
},
{
Id: 14522
@@ -92187,12 +92438,12 @@ item_db: (
Id: 14529
AegisName: "Greed_Scroll"
Name: "Greed Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Nouse: {
sitting: true
}
- Script: <" itemskill BS_GREED,1; ">
+ Script: <" itemskill(BS_GREED, 1, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14530
@@ -92965,7 +93216,7 @@ item_db: (
Id: 14587
AegisName: "Repair_Scroll_"
Name: "Equipment Repair Spell Book"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -92985,7 +93236,7 @@ item_db: (
Id: 14588
AegisName: "Pty_Blessing_Scroll"
Name: "Party Blessing 10 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 10
Weight: 10
Trade: {
@@ -92994,13 +93245,13 @@ item_db: (
noselltonpc: true
nogstorage: true
}
- Script: <" itemskill CASH_BLESSING,10; ">
+ Script: <" itemskill(CASH_BLESSING, 10, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14589
AegisName: "Pty_Inc_Agi_Scroll"
Name: "Party Increase Agi 10 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 10
Weight: 10
Trade: {
@@ -93009,13 +93260,13 @@ item_db: (
noselltonpc: true
nogstorage: true
}
- Script: <" itemskill CASH_INCAGI,10; ">
+ Script: <" itemskill(CASH_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14590
AegisName: "Pty_Assumptio_Scroll"
Name: "Party Assumptio 5 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 10
Weight: 10
Trade: {
@@ -93024,7 +93275,7 @@ item_db: (
noselltonpc: true
nogstorage: true
}
- Script: <" itemskill CASH_ASSUMPTIO,5; ">
+ Script: <" itemskill(CASH_ASSUMPTIO, 5, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14591
@@ -93070,7 +93321,7 @@ item_db: (
Id: 14593
AegisName: "Magic_Power_Scroll"
Name: "Mystical Amplification Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -93084,13 +93335,13 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <" itemskill HW_MAGICPOWER,10; ">
+ Script: <" itemskill(HW_MAGICPOWER, 10, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14594
AegisName: "Quagmire_Scroll"
Name: "Quagmire Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -93183,6 +93434,7 @@ item_db: (
Nouse: {
sitting: true
}
+ Script: <" itemskill(BS_GREED, 1, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14600
@@ -93436,16 +93688,46 @@ item_db: (
Name: "Rebeginer_Suits"
},
{
+ Id: 15278
+ AegisName: "Overwhelm_Str_Armor"
+ Name: "Overwhelm_Str_Armor"
+},
+{
+ Id: 15279
+ AegisName: "Overwhelm_Int_Armor"
+ Name: "Overwhelm_Int_Armor"
+},
+{
Id: 15280
AegisName: "S_CriticalHit_Armor"
Name: "S_CriticalHit_Armor"
},
{
+ Id: 15346
+ AegisName: "Overwhelm_Luk_Armor"
+ Name: "Overwhelm_Luk_Armor"
+},
+{
+ Id: 15347
+ AegisName: "Overwhelm_Vit_Armor"
+ Name: "Overwhelm_Vit_Armor"
+},
+{
Id: 15348
AegisName: "Goibne_Armor_IL"
Name: "Goibne_Armor_IL"
},
{
+ Id: 15353
+ AegisName: "Overwhelm_Agi_Armor"
+ Name: "Overwhelm_Agi_Armor"
+},
+{
+ Id: 15354
+ AegisName: "Overwhelm_Dex_Armor"
+ Name: "Overwhelm_Dex_Armor"
+},
+{
Id: 15376
AegisName: "Illusion_Armor_A"
Name: "Illusion_Armor_A"
@@ -93456,6 +93738,21 @@ item_db: (
Name: "Illusion_Armor_B"
},
{
+ Id: 15378
+ AegisName: "Lava_Leather_Armor"
+ Name: "Lava_Leather_Armor"
+},
+{
+ Id: 15379
+ AegisName: "Lava_Leather_Suits"
+ Name: "Lava_Leather_Suits"
+},
+{
+ Id: 15380
+ AegisName: "Lava_Leather_Robe"
+ Name: "Lava_Leather_Robe"
+},
+{
Id: 15383
AegisName: "Time_Overload_Robe"
Name: "Time_Overload_Robe"
@@ -93470,6 +93767,36 @@ item_db: (
AegisName: "Schmidt_Manteau"
Name: "Schmidt_Manteau"
},
+{
+ Id: 15391
+ AegisName: "DragonA_Red"
+ Name: "DragonA_Red"
+},
+{
+ Id: 15392
+ AegisName: "DragonA_Green"
+ Name: "DragonA_Green"
+},
+{
+ Id: 15393
+ AegisName: "DragonA_Gold"
+ Name: "DragonA_Gold"
+},
+{
+ Id: 15394
+ AegisName: "DragonA_Purple"
+ Name: "DragonA_Purple"
+},
+{
+ Id: 15395
+ AegisName: "DragonA_Blue"
+ Name: "DragonA_Blue"
+},
+{
+ Id: 15396
+ AegisName: "DragonA_Silver"
+ Name: "DragonA_Silver"
+},
//== More Maces ============================================
{
@@ -93663,6 +93990,11 @@ item_db: (
AegisName: "Ultio_Spes_OS"
Name: "Ultio_Spes_OS"
},
+{
+ Id: 16099
+ AegisName: "Ein_1HHAMMER"
+ Name: "Ein_1HHAMMER"
+},
//== More Rental Boxes =====================================
{
@@ -93792,6 +94124,24 @@ item_db: (
},
*/
{
+ Id: 16254
+ AegisName: "Energizing_Potion_Box"
+ Name: "Activation Potion Box"
+ Type: "IT_CASH"
+ Buy: 20
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <" getitem(Acti_Potion, 5); ">
+},
+{
Id: 16257
AegisName: "Buddah_Scroll"
Name: "Buddah Scroll"
@@ -94260,6 +94610,23 @@ item_db: (
Script: <" getitem(Clothing_Dye_Coupon2, 1); ">
},
{
+ Id: 17224
+ AegisName: "Almighty_Box"
+ Name: "Almighty Box"
+ Type: "IT_CASH"
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <" getitem(Almighty, 10); ">
+},
+{
Id: 17336
AegisName: "Jeremy_Beauty_Coupon_Box"
Name: "Jeremy's Beauty Coupon Box"
@@ -94549,6 +94916,11 @@ item_db: (
Name: "Balistar_IL"
},
{
+ Id: 18164
+ AegisName: "Royal_Bow_K"
+ Name: "Royal_Bow_K"
+},
+{
Id: 18165
AegisName: "Rebeginer_RN_Bow"
Name: "Rebeginer_RN_Bow"
@@ -94593,6 +94965,11 @@ item_db: (
AegisName: "Evt_Narcis_Bow"
Name: "Evt_Narcis_Bow"
},
+{
+ Id: 18190
+ AegisName: "Ein_BHBOW"
+ Name: "Ein_BHBOW"
+},
//== More Headgears ========================================
{
@@ -95058,6 +95435,11 @@ item_db: (
Name: "C_GiantCatBag_TW"
},
{
+ Id: 20519
+ AegisName: "C_Full_BloomCherry_Tree"
+ Name: "C_Full_BloomCherry_Tree"
+},
+{
Id: 20528
AegisName: "C_GoldButterfly_Wing"
Name: "C_GoldButterfly_Wing"
@@ -95078,6 +95460,36 @@ item_db: (
Name: "C_Digital_Space"
},
{
+ Id: 20543
+ AegisName: "C_Halloween_Poring_Bag"
+ Name: "C_Halloween_Poring_Bag"
+},
+{
+ Id: 20546
+ AegisName: "C_Backside_Ribbon_Bell"
+ Name: "C_Backside_Ribbon_Bell"
+},
+{
+ Id: 20570
+ AegisName: "C_HeartChocoBag"
+ Name: "C_HeartChocoBag"
+},
+{
+ Id: 20572
+ AegisName: "C_WingOfHeart"
+ Name: "C_WingOfHeart"
+},
+{
+ Id: 20576
+ AegisName: "C_Cat_Fork"
+ Name: "C_Cat_Fork"
+},
+{
+ Id: 20584
+ AegisName: "C_Big_Foxtail"
+ Name: "C_Big_Foxtail"
+},
+{
Id: 20838
AegisName: "Muffler_IL"
Name: "Muffler_IL"
@@ -95143,11 +95555,51 @@ item_db: (
Name: "Fairy_Cloth"
},
{
+ Id: 20946
+ AegisName: "Drag_Manteau"
+ Name: "Drag_Manteau"
+},
+{
+ Id: 20963
+ AegisName: "Temporal_M_Str"
+ Name: "Temporal_M_Str"
+},
+{
+ Id: 20964
+ AegisName: "Temporal_M_Agi"
+ Name: "Temporal_M_Agi"
+},
+{
+ Id: 20965
+ AegisName: "Temporal_M_Vit"
+ Name: "Temporal_M_Vit"
+},
+{
+ Id: 20966
+ AegisName: "Temporal_M_Int"
+ Name: "Temporal_M_Int"
+},
+{
+ Id: 20967
+ AegisName: "Temporal_M_Dex"
+ Name: "Temporal_M_Dex"
+},
+{
+ Id: 20968
+ AegisName: "Temporal_M_Luk"
+ Name: "Temporal_M_Luk"
+},
+{
Id: 21037
AegisName: "Rebeginer_RK_T_Sword"
Name: "Rebeginer_RK_T_Sword"
},
{
+ Id: 21038
+ AegisName: "Oriental_Sword"
+ Name: "Oriental_Sword"
+},
+{
Id: 21047
AegisName: "Beam_Claymore_OS"
Name: "Beam_Claymore_OS"
@@ -95158,6 +95610,16 @@ item_db: (
Name: "Evt_Oriental_Sword"
},
{
+ Id: 21050
+ AegisName: "Taegoolyeon_IL"
+ Name: "Taegoolyeon_IL"
+},
+{
+ Id: 21054
+ AegisName: "Ein_BHSWORD"
+ Name: "Ein_BHSWORD"
+},
+{
Id: 22133
AegisName: "Shoes_IL"
Name: "Shoes_IL"
@@ -95212,13 +95674,18 @@ item_db: (
AegisName: "Time_Overload_Boots"
Name: "Time_Overload_Boots"
},
+{
+ Id: 22208
+ AegisName: "Dragon_Boots"
+ Name: "Dragon_Boots"
+},
//== New Etc Items =========================================
{
Id: 22540
AegisName: "Runstone_Lux"
Name: "Lux Anima Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -95439,6 +95906,11 @@ item_db: (
Name: "Green_Scroll_K2"
},
{
+ Id: 23436
+ AegisName: "Shadow_Refine_Hammer"
+ Name: "Shadow_Refine_Hammer"
+},
+{
Id: 23440
AegisName: "Sentimental_Scroll"
Name: "Sentimental_Scroll"
@@ -95459,6 +95931,11 @@ item_db: (
Name: "Infinity_Scroll"
},
{
+ Id: 23474
+ AegisName: "InfinityShadow_Mix"
+ Name: "InfinityShadow_Mix"
+},
+{
Id: 23475
AegisName: "Infinity_Drink"
Name: "Infinity_Drink"
@@ -95589,6 +96066,21 @@ item_db: (
Name: "Bloody_Scroll"
},
{
+ Id: 23545
+ AegisName: "Silver_Statue"
+ Name: "Silver_Statue"
+},
+{
+ Id: 23546
+ AegisName: "Cursed_Blood"
+ Name: "Cursed_Blood"
+},
+{
+ Id: 23547
+ AegisName: "Gold_Statue"
+ Name: "Gold_Statue"
+},
+{
Id: 23549
AegisName: "Snow_Cookie"
Name: "Snow_Cookie"
@@ -95694,6 +96186,56 @@ item_db: (
Name: "2018_New_Year_Scroll"
},
{
+ Id: 23665
+ AegisName: "PhysicalMagical_Mix"
+ Name: "PhysicalMagical_Mix"
+},
+{
+ Id: 23666
+ AegisName: "ImmunedAthena_Mix"
+ Name: "ImmunedAthena_Mix"
+},
+{
+ Id: 23667
+ AegisName: "HardChamption_Mix"
+ Name: "HardChamption_Mix"
+},
+{
+ Id: 23668
+ AegisName: "KingbirdAncient_Mix"
+ Name: "KingbirdAncient_Mix"
+},
+{
+ Id: 23669
+ AegisName: "CriticalHit_Mix"
+ Name: "CriticalHit_Mix"
+},
+{
+ Id: 23675
+ AegisName: "Geffen_Magic_Scroll"
+ Name: "Geffen_Magic_Scroll"
+},
+{
+ Id: 23676
+ AegisName: "Gray_Charcoal_Melee"
+ Name: "Gray_Charcoal_Melee"
+},
+{
+ Id: 23677
+ AegisName: "Gray_Charcoal_Magic"
+ Name: "Gray_Charcoal_Magic"
+},
+{
+ Id: 23678
+ AegisName: "Gray_Charcoal_Range"
+ Name: "Gray_Charcoal_Range"
+},
+{
+ Id: 23679
+ AegisName: "Geffen_Magic_Scroll2"
+ Name: "Geffen_Magic_Scroll2"
+},
+{
Id: 23683
AegisName: "EVT_JAN02KR"
Name: "EVT_JAN02KR"
@@ -95719,6 +96261,11 @@ item_db: (
Name: "2018_Spring_Scroll"
},
{
+ Id: 23720
+ AegisName: "Shadow_Random_Mix"
+ Name: "Shadow_Random_Mix"
+},
+{
Id: 23723
AegisName: "Melon_Bread"
Name: "Melon_Bread"
@@ -95754,16 +96301,431 @@ item_db: (
Name: "EP17_1_SPC04"
},
{
+ Id: 23776
+ AegisName: "EP17_1_SPC05"
+ Name: "EP17_1_SPC05"
+},
+{
+ Id: 23777
+ AegisName: "EP17_1_SPC06"
+ Name: "EP17_1_SPC06"
+},
+{
+ Id: 23778
+ AegisName: "EP17_1_SPC07"
+ Name: "EP17_1_SPC07"
+},
+{
+ Id: 23779
+ AegisName: "EP17_1_SPC08"
+ Name: "EP17_1_SPC08"
+},
+{
+ Id: 23780
+ AegisName: "EP17_1_SPC09"
+ Name: "EP17_1_SPC09"
+},
+{
+ Id: 23781
+ AegisName: "EP17_1_SPC10"
+ Name: "EP17_1_SPC10"
+},
+{
+ Id: 23815
+ AegisName: "Magma_Essence"
+ Name: "Magma_Essence"
+},
+{
Id: 23817
AegisName: "Bs_Making_Scrolls"
Name: "Bs_Making_Scrolls"
},
{
+ Id: 23818
+ AegisName: "Bs_Item_M_S_2"
+ Name: "Bs_Item_M_S_2"
+},
+{
+ Id: 23819
+ AegisName: "Bs_Item_M_S_8"
+ Name: "Bs_Item_M_S_8"
+},
+{
+ Id: 23820
+ AegisName: "Bs_Item_M_S_10"
+ Name: "Bs_Item_M_S_10"
+},
+{
+ Id: 23821
+ AegisName: "Bs_Item_M_S_11"
+ Name: "Bs_Item_M_S_11"
+},
+{
+ Id: 23822
+ AegisName: "Bs_Item_M_S_34"
+ Name: "Bs_Item_M_S_34"
+},
+{
+ Id: 23823
+ AegisName: "Bs_Item_M_S_41"
+ Name: "Bs_Item_M_S_41"
+},
+{
+ Id: 23824
+ AegisName: "Bs_Item_M_S_42"
+ Name: "Bs_Item_M_S_42"
+},
+{
+ Id: 23825
+ AegisName: "Bs_Item_M_S_43"
+ Name: "Bs_Item_M_S_43"
+},
+{
+ Id: 23826
+ AegisName: "Bs_Item_M_S_44"
+ Name: "Bs_Item_M_S_44"
+},
+{
+ Id: 23827
+ AegisName: "Bs_Sha_M_S_1"
+ Name: "Bs_Sha_M_S_1"
+},
+{
+ Id: 23828
+ AegisName: "Bs_Sha_M_S_17"
+ Name: "Bs_Sha_M_S_17"
+},
+{
+ Id: 23829
+ AegisName: "Bs_Sha_M_S_18"
+ Name: "Bs_Sha_M_S_18"
+},
+{
+ Id: 23830
+ AegisName: "Bs_Sha_M_S_19"
+ Name: "Bs_Sha_M_S_19"
+},
+{
+ Id: 23831
+ AegisName: "Bs_Sha_M_S_20"
+ Name: "Bs_Sha_M_S_20"
+},
+{
+ Id: 23832
+ AegisName: "Bs_Item_M_S_4"
+ Name: "Bs_Item_M_S_4"
+},
+{
+ Id: 23833
+ AegisName: "Bs_Item_M_S_6"
+ Name: "Bs_Item_M_S_6"
+},
+{
+ Id: 23834
+ AegisName: "Bs_Item_M_S_7"
+ Name: "Bs_Item_M_S_7"
+},
+{
+ Id: 23835
+ AegisName: "Bs_Item_M_S_12"
+ Name: "Bs_Item_M_S_12"
+},
+{
+ Id: 23836
+ AegisName: "Bs_Item_M_S_13"
+ Name: "Bs_Item_M_S_13"
+},
+{
+ Id: 23837
+ AegisName: "Bs_Item_M_S_15"
+ Name: "Bs_Item_M_S_15"
+},
+{
+ Id: 23838
+ AegisName: "Bs_Item_M_S_28"
+ Name: "Bs_Item_M_S_28"
+},
+{
+ Id: 23839
+ AegisName: "Bs_Item_M_S_29"
+ Name: "Bs_Item_M_S_29"
+},
+{
+ Id: 23840
+ AegisName: "Bs_Item_M_S_31"
+ Name: "Bs_Item_M_S_31"
+},
+{
+ Id: 23841
+ AegisName: "Bs_Item_M_S_32"
+ Name: "Bs_Item_M_S_32"
+},
+{
+ Id: 23842
+ AegisName: "Bs_Item_M_S_33"
+ Name: "Bs_Item_M_S_33"
+},
+{
+ Id: 23843
+ AegisName: "Bs_Item_M_S_36"
+ Name: "Bs_Item_M_S_36"
+},
+{
+ Id: 23844
+ AegisName: "Bs_Item_M_S_37"
+ Name: "Bs_Item_M_S_37"
+},
+{
+ Id: 23845
+ AegisName: "Bs_Item_M_S_38"
+ Name: "Bs_Item_M_S_38"
+},
+{
+ Id: 23846
+ AegisName: "Bs_Item_M_S_39"
+ Name: "Bs_Item_M_S_39"
+},
+{
+ Id: 23847
+ AegisName: "Bs_Item_M_S_40"
+ Name: "Bs_Item_M_S_40"
+},
+{
+ Id: 23848
+ AegisName: "Bs_Item_M_S_45"
+ Name: "Bs_Item_M_S_45"
+},
+{
+ Id: 23849
+ AegisName: "Bs_Item_M_S_46"
+ Name: "Bs_Item_M_S_46"
+},
+{
+ Id: 23850
+ AegisName: "Bs_Item_M_S_47"
+ Name: "Bs_Item_M_S_47"
+},
+{
+ Id: 23851
+ AegisName: "Bs_Item_M_S_48"
+ Name: "Bs_Item_M_S_48"
+},
+{
+ Id: 23852
+ AegisName: "Bs_Item_M_S_49"
+ Name: "Bs_Item_M_S_49"
+},
+{
+ Id: 23853
+ AegisName: "Bs_Item_M_S_50"
+ Name: "Bs_Item_M_S_50"
+},
+{
+ Id: 23854
+ AegisName: "Bs_Sha_M_S_2"
+ Name: "Bs_Sha_M_S_2"
+},
+{
+ Id: 23855
+ AegisName: "Bs_Sha_M_S_5"
+ Name: "Bs_Sha_M_S_5"
+},
+{
+ Id: 23856
+ AegisName: "Bs_Sha_M_S_6"
+ Name: "Bs_Sha_M_S_6"
+},
+{
+ Id: 23857
+ AegisName: "Bs_Sha_M_S_7"
+ Name: "Bs_Sha_M_S_7"
+},
+{
+ Id: 23858
+ AegisName: "Bs_Sha_M_S_8"
+ Name: "Bs_Sha_M_S_8"
+},
+{
+ Id: 23859
+ AegisName: "Bs_Sha_M_S_13"
+ Name: "Bs_Sha_M_S_13"
+},
+{
+ Id: 23860
+ AegisName: "Bs_Sha_M_S_15"
+ Name: "Bs_Sha_M_S_15"
+},
+{
+ Id: 23861
+ AegisName: "Bs_Sha_M_S_16"
+ Name: "Bs_Sha_M_S_16"
+},
+{
+ Id: 23862
+ AegisName: "Bs_Sha_M_S_23"
+ Name: "Bs_Sha_M_S_23"
+},
+{
+ Id: 23863
+ AegisName: "Bs_Item_M_S_5"
+ Name: "Bs_Item_M_S_5"
+},
+{
+ Id: 23864
+ AegisName: "Bs_Item_M_S_9"
+ Name: "Bs_Item_M_S_9"
+},
+{
+ Id: 23865
+ AegisName: "Bs_Item_M_S_14"
+ Name: "Bs_Item_M_S_14"
+},
+{
+ Id: 23866
+ AegisName: "Bs_Item_M_S_16"
+ Name: "Bs_Item_M_S_16"
+},
+{
+ Id: 23867
+ AegisName: "Bs_Item_M_S_17"
+ Name: "Bs_Item_M_S_17"
+},
+{
+ Id: 23868
+ AegisName: "Bs_Item_M_S_19"
+ Name: "Bs_Item_M_S_19"
+},
+{
+ Id: 23869
+ AegisName: "Bs_Item_M_S_27"
+ Name: "Bs_Item_M_S_27"
+},
+{
+ Id: 23870
+ AegisName: "Bs_Item_M_S_35"
+ Name: "Bs_Item_M_S_35"
+},
+{
+ Id: 23871
+ AegisName: "Bs_Sha_M_S_9"
+ Name: "Bs_Sha_M_S_9"
+},
+{
+ Id: 23872
+ AegisName: "Bs_Sha_M_S_10"
+ Name: "Bs_Sha_M_S_10"
+},
+{
+ Id: 23873
+ AegisName: "Bs_Sha_M_S_11"
+ Name: "Bs_Sha_M_S_11"
+},
+{
+ Id: 23874
+ AegisName: "Bs_Sha_M_S_21"
+ Name: "Bs_Sha_M_S_21"
+},
+{
+ Id: 23875
+ AegisName: "Bs_Sha_M_S_22"
+ Name: "Bs_Sha_M_S_22"
+},
+{
+ Id: 23876
+ AegisName: "Bs_Item_M_S_1"
+ Name: "Bs_Item_M_S_1"
+},
+{
+ Id: 23877
+ AegisName: "Bs_Item_M_S_3"
+ Name: "Bs_Item_M_S_3"
+},
+{
Id: 23878
AegisName: "StarSoul_Scroll"
Name: "StarSoul_Scroll"
},
{
+ Id: 23879
+ AegisName: "Bs_Item_M_S_18"
+ Name: "Bs_Item_M_S_18"
+},
+{
+ Id: 23880
+ AegisName: "Bs_Item_M_S_20"
+ Name: "Bs_Item_M_S_20"
+},
+{
+ Id: 23881
+ AegisName: "Bs_Item_M_S_21"
+ Name: "Bs_Item_M_S_21"
+},
+{
+ Id: 23882
+ AegisName: "Bs_Item_M_S_22"
+ Name: "Bs_Item_M_S_22"
+},
+{
+ Id: 23883
+ AegisName: "Bs_Item_M_S_23"
+ Name: "Bs_Item_M_S_23"
+},
+{
+ Id: 23884
+ AegisName: "Bs_Item_M_S_24"
+ Name: "Bs_Item_M_S_24"
+},
+{
+ Id: 23885
+ AegisName: "Bs_Item_M_S_25"
+ Name: "Bs_Item_M_S_25"
+},
+{
+ Id: 23886
+ AegisName: "Bs_Item_M_S_26"
+ Name: "Bs_Item_M_S_26"
+},
+{
+ Id: 23887
+ AegisName: "Bs_Item_M_S_30"
+ Name: "Bs_Item_M_S_30"
+},
+{
+ Id: 23888
+ AegisName: "Bs_Sha_M_S_3"
+ Name: "Bs_Sha_M_S_3"
+},
+{
+ Id: 23889
+ AegisName: "Bs_Sha_M_S_4"
+ Name: "Bs_Sha_M_S_4"
+},
+{
+ Id: 23890
+ AegisName: "Bs_Sha_M_S_12"
+ Name: "Bs_Sha_M_S_12"
+},
+{
+ Id: 23891
+ AegisName: "Bs_Sha_M_S_14"
+ Name: "Bs_Sha_M_S_14"
+},
+{
+ Id: 23892
+ AegisName: "Bs_Sha_M_S_24"
+ Name: "Bs_Sha_M_S_24"
+},
+{
+ Id: 23893
+ AegisName: "Bs_Sha_M_S_25"
+ Name: "Bs_Sha_M_S_25"
+},
+{
+ Id: 23894
+ AegisName: "Bs_Item_M_S_51"
+ Name: "Bs_Item_M_S_51"
+},
+{
Id: 23897
AegisName: "2018_Jump_Thx_Box"
Name: "2018_Jump_Thx_Box"
@@ -95794,11 +96756,26 @@ item_db: (
Name: "Season_Evt_Reward"
},
{
+ Id: 23926
+ AegisName: "Shadow_9_Refine_Hammer"
+ Name: "Shadow_9_Refine_Hammer"
+},
+{
Id: 23962
AegisName: "Malang_Cat_Can2"
Name: "Malang_Cat_Can2"
},
{
+ Id: 23967
+ AegisName: "EnchantStone_Recipe_9m"
+ Name: "EnchantStone_Recipe_9m"
+},
+{
+ Id: 23981
+ AegisName: "Abyss_Ddbox"
+ Name: "Abyss_Ddbox"
+},
+{
Id: 24380
AegisName: "Sentimental_Weapone_S"
Name: "Sentimental_Weapone_S"
@@ -96009,6 +96986,811 @@ item_db: (
Name: "S_Timeoverload_Pandent"
},
{
+ Id: 24423
+ AegisName: "S_Tempest_Weapon"
+ Name: "S_Tempest_Weapon"
+},
+{
+ Id: 24424
+ AegisName: "S_Tempest_Armor"
+ Name: "S_Tempest_Armor"
+},
+{
+ Id: 24425
+ AegisName: "S_PerfectSize_Weapon"
+ Name: "S_PerfectSize_Weapon"
+},
+{
+ Id: 24426
+ AegisName: "S_PerfectSize_Armor"
+ Name: "S_PerfectSize_Armor"
+},
+{
+ Id: 24427
+ AegisName: "S_M_Exo_Co_Weapon"
+ Name: "S_M_Exo_Co_Weapon"
+},
+{
+ Id: 24428
+ AegisName: "S_M_Viv_Dr_Weapon"
+ Name: "S_M_Viv_Dr_Weapon"
+},
+{
+ Id: 24429
+ AegisName: "S_M_Sci_Hu_Weapon"
+ Name: "S_M_Sci_Hu_Weapon"
+},
+{
+ Id: 24430
+ AegisName: "S_M_Fis_In_Weapon"
+ Name: "S_M_Fis_In_Weapon"
+},
+{
+ Id: 24431
+ AegisName: "S_M_Exe_Ho_Weapon"
+ Name: "S_M_Exe_Ho_Weapon"
+},
+{
+ Id: 24432
+ AegisName: "S_Penetration_Weapon"
+ Name: "S_Penetration_Weapon"
+},
+{
+ Id: 24433
+ AegisName: "S_Penetration_Armor"
+ Name: "S_Penetration_Armor"
+},
+{
+ Id: 24434
+ AegisName: "S_Exe_Ho_Weapon"
+ Name: "S_Exe_Ho_Weapon"
+},
+{
+ Id: 24435
+ AegisName: "S_Fis_In_Weapon"
+ Name: "S_Fis_In_Weapon"
+},
+{
+ Id: 24436
+ AegisName: "S_Sci_Hu_Weapon"
+ Name: "S_Sci_Hu_Weapon"
+},
+{
+ Id: 24437
+ AegisName: "S_Viv_Dr_Weapon"
+ Name: "S_Viv_Dr_Weapon"
+},
+{
+ Id: 24438
+ AegisName: "S_Exo_Co_Weapon"
+ Name: "S_Exo_Co_Weapon"
+},
+{
+ Id: 24439
+ AegisName: "S_Hasty_Weapon"
+ Name: "S_Hasty_Weapon"
+},
+{
+ Id: 24440
+ AegisName: "S_Sonic_Armor"
+ Name: "S_Sonic_Armor"
+},
+{
+ Id: 24441
+ AegisName: "S_Sonic_Shield"
+ Name: "S_Sonic_Shield"
+},
+{
+ Id: 24442
+ AegisName: "S_Sonic_Shoes"
+ Name: "S_Sonic_Shoes"
+},
+{
+ Id: 24443
+ AegisName: "S_Ignition_Weapon"
+ Name: "S_Ignition_Weapon"
+},
+{
+ Id: 24444
+ AegisName: "S_Ignition_Pendant"
+ Name: "S_Ignition_Pendant"
+},
+{
+ Id: 24445
+ AegisName: "S_Ignition_Earing"
+ Name: "S_Ignition_Earing"
+},
+{
+ Id: 24446
+ AegisName: "S_W_Breath_Armor"
+ Name: "S_W_Breath_Armor"
+},
+{
+ Id: 24447
+ AegisName: "S_W_Breath_Shield"
+ Name: "S_W_Breath_Shield"
+},
+{
+ Id: 24448
+ AegisName: "S_W_Breath_Shoes"
+ Name: "S_W_Breath_Shoes"
+},
+{
+ Id: 24449
+ AegisName: "S_F_Breath_Weapon"
+ Name: "S_F_Breath_Weapon"
+},
+{
+ Id: 24450
+ AegisName: "S_F_Breath_Pendant"
+ Name: "S_F_Breath_Pendant"
+},
+{
+ Id: 24451
+ AegisName: "S_F_Breath_Earing"
+ Name: "S_F_Breath_Earing"
+},
+{
+ Id: 24452
+ AegisName: "S_Cluster_Armor"
+ Name: "S_Cluster_Armor"
+},
+{
+ Id: 24453
+ AegisName: "S_Cluster_Shield"
+ Name: "S_Cluster_Shield"
+},
+{
+ Id: 24454
+ AegisName: "S_Cluster_Shoes"
+ Name: "S_Cluster_Shoes"
+},
+{
+ Id: 24455
+ AegisName: "S_Aimed_Weapon"
+ Name: "S_Aimed_Weapon"
+},
+{
+ Id: 24456
+ AegisName: "S_Aimed_Pendant"
+ Name: "S_Aimed_Pendant"
+},
+{
+ Id: 24457
+ AegisName: "S_Aimed_Earing"
+ Name: "S_Aimed_Earing"
+},
+{
+ Id: 24458
+ AegisName: "S_Arrow_Armor"
+ Name: "S_Arrow_Armor"
+},
+{
+ Id: 24459
+ AegisName: "S_Arrow_Shield"
+ Name: "S_Arrow_Shield"
+},
+{
+ Id: 24460
+ AegisName: "S_Arrow_Shoes"
+ Name: "S_Arrow_Shoes"
+},
+{
+ Id: 24461
+ AegisName: "S_Shooting_Weapon"
+ Name: "S_Shooting_Weapon"
+},
+{
+ Id: 24462
+ AegisName: "S_Shooting_Pendant"
+ Name: "S_Shooting_Pendant"
+},
+{
+ Id: 24463
+ AegisName: "S_Shooting_Earing"
+ Name: "S_Shooting_Earing"
+},
+{
+ Id: 24464
+ AegisName: "S_Tornado_Armor"
+ Name: "S_Tornado_Armor"
+},
+{
+ Id: 24465
+ AegisName: "S_Tornado_Shield"
+ Name: "S_Tornado_Shield"
+},
+{
+ Id: 24466
+ AegisName: "S_Tornado_Shoes"
+ Name: "S_Tornado_Shoes"
+},
+{
+ Id: 24467
+ AegisName: "S_Boomerang_Weapon"
+ Name: "S_Boomerang_Weapon"
+},
+{
+ Id: 24468
+ AegisName: "S_Boomerang_Pendant"
+ Name: "S_Boomerang_Pendant"
+},
+{
+ Id: 24469
+ AegisName: "S_Boomerang_Earing"
+ Name: "S_Boomerang_Earing"
+},
+{
+ Id: 24470
+ AegisName: "S_Vulcan_Armor"
+ Name: "S_Vulcan_Armor"
+},
+{
+ Id: 24471
+ AegisName: "S_Vulcan_Shield"
+ Name: "S_Vulcan_Shield"
+},
+{
+ Id: 24472
+ AegisName: "S_Vulcan_Shoes"
+ Name: "S_Vulcan_Shoes"
+},
+{
+ Id: 24473
+ AegisName: "S_Arms_Weapon"
+ Name: "S_Arms_Weapon"
+},
+{
+ Id: 24474
+ AegisName: "S_Arms_Pendant"
+ Name: "S_Arms_Pendant"
+},
+{
+ Id: 24475
+ AegisName: "S_Arms_Earing"
+ Name: "S_Arms_Earing"
+},
+{
+ Id: 24476
+ AegisName: "S_Rampage_Armor"
+ Name: "S_Rampage_Armor"
+},
+{
+ Id: 24477
+ AegisName: "S_Rampage_Shield"
+ Name: "S_Rampage_Shield"
+},
+{
+ Id: 24478
+ AegisName: "S_Rampage_Shoes"
+ Name: "S_Rampage_Shoes"
+},
+{
+ Id: 24479
+ AegisName: "S_Skynetblow_Weapon"
+ Name: "S_Skynetblow_Weapon"
+},
+{
+ Id: 24480
+ AegisName: "S_Skynetblow_Pendant"
+ Name: "S_Skynetblow_Pendant"
+},
+{
+ Id: 24481
+ AegisName: "S_Skynetblow_Earing"
+ Name: "S_Skynetblow_Earing"
+},
+{
+ Id: 24482
+ AegisName: "S_Knucklearrow_Armor"
+ Name: "S_Knucklearrow_Armor"
+},
+{
+ Id: 24483
+ AegisName: "S_Knucklearrow_Shield"
+ Name: "S_Knucklearrow_Shield"
+},
+{
+ Id: 24484
+ AegisName: "S_Knucklearrow_Shoes"
+ Name: "S_Knucklearrow_Shoes"
+},
+{
+ Id: 24485
+ AegisName: "S_TigerCannon_Weapon"
+ Name: "S_TigerCannon_Weapon"
+},
+{
+ Id: 24486
+ AegisName: "S_Tigercannon_Pendant"
+ Name: "S_Tigercannon_Pendant"
+},
+{
+ Id: 24487
+ AegisName: "S_Tigercannon_Earing"
+ Name: "S_Tigercannon_Earing"
+},
+{
+ Id: 24488
+ AegisName: "S_Duplelight_Armor"
+ Name: "S_Duplelight_Armor"
+},
+{
+ Id: 24489
+ AegisName: "S_Duplelight_Shield"
+ Name: "S_Duplelight_Shield"
+},
+{
+ Id: 24490
+ AegisName: "S_Duplelight_Shoes"
+ Name: "S_Duplelight_Shoes"
+},
+{
+ Id: 24491
+ AegisName: "S_Adoramus_Weapon"
+ Name: "S_Adoramus_Weapon"
+},
+{
+ Id: 24492
+ AegisName: "S_Adoramus_Pendant"
+ Name: "S_Adoramus_Pendant"
+},
+{
+ Id: 24493
+ AegisName: "S_Adoramus_Earing"
+ Name: "S_Adoramus_Earing"
+},
+{
+ Id: 24494
+ AegisName: "S_Judex_Armor"
+ Name: "S_Judex_Armor"
+},
+{
+ Id: 24495
+ AegisName: "S_Judex_Shield"
+ Name: "S_Judex_Shield"
+},
+{
+ Id: 24496
+ AegisName: "S_Judex_Shoes"
+ Name: "S_Judex_Shoes"
+},
+{
+ Id: 24497
+ AegisName: "S_Magnus_Weapon"
+ Name: "S_Magnus_Weapon"
+},
+{
+ Id: 24498
+ AegisName: "S_Magnus_Pendant"
+ Name: "S_Magnus_Pendant"
+},
+{
+ Id: 24499
+ AegisName: "S_Magnus_Earing"
+ Name: "S_Magnus_Earing"
+},
+{
+ Id: 24500
+ AegisName: "S_Rainstorm_Armor"
+ Name: "S_Rainstorm_Armor"
+},
+{
+ Id: 24501
+ AegisName: "S_Rainstorm_Shield"
+ Name: "S_Rainstorm_Shield"
+},
+{
+ Id: 24502
+ AegisName: "S_Rainstorm_Shoes"
+ Name: "S_Rainstorm_Shoes"
+},
+{
+ Id: 24503
+ AegisName: "S_Arrowvulcan_Weapon"
+ Name: "S_Arrowvulcan_Weapon"
+},
+{
+ Id: 24504
+ AegisName: "S_Arrowvulcan_Pendant"
+ Name: "S_Arrowvulcan_Pendant"
+},
+{
+ Id: 24505
+ AegisName: "S_Arrowvulcan_Earing"
+ Name: "S_Arrowvulcan_Earing"
+},
+{
+ Id: 24506
+ AegisName: "S_Metalic_Armor"
+ Name: "S_Metalic_Armor"
+},
+{
+ Id: 24507
+ AegisName: "S_Metalic_Shield"
+ Name: "S_Metalic_Shield"
+},
+{
+ Id: 24508
+ AegisName: "S_Metalic_Shoes"
+ Name: "S_Metalic_Shoes"
+},
+{
+ Id: 24509
+ AegisName: "S_Reverberation_Weapon"
+ Name: "S_Reverberation_Weapon"
+},
+{
+ Id: 24510
+ AegisName: "S_Reverberation_Pendant"
+ Name: "S_Reverberation_Pendant"
+},
+{
+ Id: 24511
+ AegisName: "S_Reverberation_Earing"
+ Name: "S_Reverberation_Earing"
+},
+{
+ Id: 24512
+ AegisName: "S_Jack_Armor"
+ Name: "S_Jack_Armor"
+},
+{
+ Id: 24513
+ AegisName: "S_Jack_Shield"
+ Name: "S_Jack_Shield"
+},
+{
+ Id: 24514
+ AegisName: "S_Jack_Shoes"
+ Name: "S_Jack_Shoes"
+},
+{
+ Id: 24515
+ AegisName: "S_Strain_Weapon"
+ Name: "S_Strain_Weapon"
+},
+{
+ Id: 24516
+ AegisName: "S_Strain_Pendant"
+ Name: "S_Strain_Pendant"
+},
+{
+ Id: 24517
+ AegisName: "S_Strain_Earing"
+ Name: "S_Strain_Earing"
+},
+{
+ Id: 24518
+ AegisName: "S_Crimson_Armor"
+ Name: "S_Crimson_Armor"
+},
+{
+ Id: 24519
+ AegisName: "S_Crimson_Shield"
+ Name: "S_Crimson_Shield"
+},
+{
+ Id: 24520
+ AegisName: "S_Crimson_Shoes"
+ Name: "S_Crimson_Shoes"
+},
+{
+ Id: 24521
+ AegisName: "S_Chain_Weapon"
+ Name: "S_Chain_Weapon"
+},
+{
+ Id: 24522
+ AegisName: "S_Chain_Pendant"
+ Name: "S_Chain_Pendant"
+},
+{
+ Id: 24523
+ AegisName: "S_Chain_Earing"
+ Name: "S_Chain_Earing"
+},
+{
+ Id: 24524
+ AegisName: "S_Triangle_Armor"
+ Name: "S_Triangle_Armor"
+},
+{
+ Id: 24525
+ AegisName: "S_Triangle_Shield"
+ Name: "S_Triangle_Shield"
+},
+{
+ Id: 24526
+ AegisName: "S_Triangle_Shoes"
+ Name: "S_Triangle_Shoes"
+},
+{
+ Id: 24527
+ AegisName: "S_Shadowspell_Weapon"
+ Name: "S_Shadowspell_Weapon"
+},
+{
+ Id: 24528
+ AegisName: "S_Shadowspell_Pendant"
+ Name: "S_Shadowspell_Pendant"
+},
+{
+ Id: 24529
+ AegisName: "S_Shadowspell_Earing"
+ Name: "S_Shadowspell_Earing"
+},
+{
+ Id: 24530
+ AegisName: "S_Menace_Armor"
+ Name: "S_Menace_Armor"
+},
+{
+ Id: 24531
+ AegisName: "S_Menace_Shield"
+ Name: "S_Menace_Shield"
+},
+{
+ Id: 24532
+ AegisName: "S_Menace_Shoes"
+ Name: "S_Menace_Shoes"
+},
+{
+ Id: 24533
+ AegisName: "S_Paint_Weapon"
+ Name: "S_Paint_Weapon"
+},
+{
+ Id: 24534
+ AegisName: "S_Paint_Pendant"
+ Name: "S_Paint_Pendant"
+},
+{
+ Id: 24535
+ AegisName: "S_Paint_Earing"
+ Name: "S_Paint_Earing"
+},
+{
+ Id: 24536
+ AegisName: "S_Rolling_Armor"
+ Name: "S_Rolling_Armor"
+},
+{
+ Id: 24537
+ AegisName: "S_Rolling_Shield"
+ Name: "S_Rolling_Shield"
+},
+{
+ Id: 24538
+ AegisName: "S_Rolling_Shoes"
+ Name: "S_Rolling_Shoes"
+},
+{
+ Id: 24539
+ AegisName: "S_Katar_Weapon"
+ Name: "S_Katar_Weapon"
+},
+{
+ Id: 24540
+ AegisName: "S_Katar_Pendant"
+ Name: "S_Katar_Pendant"
+},
+{
+ Id: 24541
+ AegisName: "S_Katar_Earing"
+ Name: "S_Katar_Earing"
+},
+{
+ Id: 24542
+ AegisName: "S_Slash_Armor"
+ Name: "S_Slash_Armor"
+},
+{
+ Id: 24543
+ AegisName: "S_Slash_Shield"
+ Name: "S_Slash_Shield"
+},
+{
+ Id: 24544
+ AegisName: "S_Slash_Shoes"
+ Name: "S_Slash_Shoes"
+},
+{
+ Id: 24545
+ AegisName: "S_Ripper_Weapon"
+ Name: "S_Ripper_Weapon"
+},
+{
+ Id: 24546
+ AegisName: "S_Ripper_Pendant"
+ Name: "S_Ripper_Pendant"
+},
+{
+ Id: 24547
+ AegisName: "S_Ripper_Earing"
+ Name: "S_Ripper_Earing"
+},
+{
+ Id: 24548
+ AegisName: "S_Dust_Armor"
+ Name: "S_Dust_Armor"
+},
+{
+ Id: 24549
+ AegisName: "S_Dust_Shield"
+ Name: "S_Dust_Shield"
+},
+{
+ Id: 24550
+ AegisName: "S_Dust_Shoes"
+ Name: "S_Dust_Shoes"
+},
+{
+ Id: 24551
+ AegisName: "S_Grave_Weapon"
+ Name: "S_Grave_Weapon"
+},
+{
+ Id: 24552
+ AegisName: "S_Grave_Pendant"
+ Name: "S_Grave_Pendant"
+},
+{
+ Id: 24553
+ AegisName: "S_Grave_Earing"
+ Name: "S_Grave_Earing"
+},
+{
+ Id: 24554
+ AegisName: "S_Psychic_Armor"
+ Name: "S_Psychic_Armor"
+},
+{
+ Id: 24555
+ AegisName: "S_Psychic_Shield"
+ Name: "S_Psychic_Shield"
+},
+{
+ Id: 24556
+ AegisName: "S_Psychic_Shoes"
+ Name: "S_Psychic_Shoes"
+},
+{
+ Id: 24557
+ AegisName: "S_Varetyr_Weapon"
+ Name: "S_Varetyr_Weapon"
+},
+{
+ Id: 24558
+ AegisName: "S_Varetyr_Pendant"
+ Name: "S_Varetyr_Pendant"
+},
+{
+ Id: 24559
+ AegisName: "S_Varetyr_Earing"
+ Name: "S_Varetyr_Earing"
+},
+{
+ Id: 24560
+ AegisName: "S_Cart_Tornado_Armor"
+ Name: "S_Cart_Tornado_Armor"
+},
+{
+ Id: 24561
+ AegisName: "S_Cart_Tornado_Shield"
+ Name: "S_Cart_Tornado_Shield"
+},
+{
+ Id: 24562
+ AegisName: "S_Cart_Tornado_Shoes"
+ Name: "S_Cart_Tornado_Shoes"
+},
+{
+ Id: 24563
+ AegisName: "S_Cannon_Cart_Weapon"
+ Name: "S_Cannon_Cart_Weapon"
+},
+{
+ Id: 24564
+ AegisName: "S_Cannon_Cart_Pendant"
+ Name: "S_Cannon_Cart_Pendant"
+},
+{
+ Id: 24565
+ AegisName: "S_Cannon_Cart_Earing"
+ Name: "S_Cannon_Cart_Earing"
+},
+{
+ Id: 24566
+ AegisName: "S_Spore_Bomb_Armor"
+ Name: "S_Spore_Bomb_Armor"
+},
+{
+ Id: 24567
+ AegisName: "S_Spore_Bomb_Shield"
+ Name: "S_Spore_Bomb_Shield"
+},
+{
+ Id: 24568
+ AegisName: "S_Spore_Bomb_Shoes"
+ Name: "S_Spore_Bomb_Shoes"
+},
+{
+ Id: 24569
+ AegisName: "S_Crazy_Weapon"
+ Name: "S_Crazy_Weapon"
+},
+{
+ Id: 24570
+ AegisName: "S_Crazy_Pendant"
+ Name: "S_Crazy_Pendant"
+},
+{
+ Id: 24571
+ AegisName: "S_Crazy_Earing"
+ Name: "S_Crazy_Earing"
+},
+{
+ Id: 24572
+ AegisName: "S_Brand_Armor"
+ Name: "S_Brand_Armor"
+},
+{
+ Id: 24573
+ AegisName: "S_Brand_Shield"
+ Name: "S_Brand_Shield"
+},
+{
+ Id: 24574
+ AegisName: "S_Brand_Shoes"
+ Name: "S_Brand_Shoes"
+},
+{
+ Id: 24575
+ AegisName: "S_Chain_Press_Weapon"
+ Name: "S_Chain_Press_Weapon"
+},
+{
+ Id: 24576
+ AegisName: "S_Chain_Press_Pendant"
+ Name: "S_Chain_Press_Pendant"
+},
+{
+ Id: 24577
+ AegisName: "S_Chain_Press_Earing"
+ Name: "S_Chain_Press_Earing"
+},
+{
+ Id: 24578
+ AegisName: "S_Banish_Cannon_Armor"
+ Name: "S_Banish_Cannon_Armor"
+},
+{
+ Id: 24579
+ AegisName: "S_Banish_Cannon_Shield"
+ Name: "S_Banish_Cannon_Shield"
+},
+{
+ Id: 24580
+ AegisName: "S_Banish_Cannon_Shoes"
+ Name: "S_Banish_Cannon_Shoes"
+},
+{
+ Id: 24581
+ AegisName: "S_Genesis_Weapon"
+ Name: "S_Genesis_Weapon"
+},
+{
+ Id: 24582
+ AegisName: "S_Genesis_Pendant"
+ Name: "S_Genesis_Pendant"
+},
+{
+ Id: 24583
+ AegisName: "S_Genesis_Earing"
+ Name: "S_Genesis_Earing"
+},
+{
Id: 25258
AegisName: "BrokenArrow"
Name: "BrokenArrow"
@@ -96539,6 +98321,186 @@ item_db: (
Name: "Inventory_Extension_Coupon"
},
{
+ Id: 25797
+ AegisName: "SuraStone_Robe2"
+ Name: "SuraStone_Robe2"
+},
+{
+ Id: 25798
+ AegisName: "SuraStone_Bottom2"
+ Name: "SuraStone_Bottom2"
+},
+{
+ Id: 25799
+ AegisName: "SuraStone_Middle2"
+ Name: "SuraStone_Middle2"
+},
+{
+ Id: 25800
+ AegisName: "SuraStone_Top2"
+ Name: "SuraStone_Top2"
+},
+{
+ Id: 25801
+ AegisName: "SorcererStone_Robe2"
+ Name: "SorcererStone_Robe2"
+},
+{
+ Id: 25802
+ AegisName: "SorcererStone_Bottom2"
+ Name: "SorcererStone_Bottom2"
+},
+{
+ Id: 25803
+ AegisName: "SorcererStone_Middle2"
+ Name: "SorcererStone_Middle2"
+},
+{
+ Id: 25804
+ AegisName: "SorcererStone_Top2"
+ Name: "SorcererStone_Top2"
+},
+{
+ Id: 25805
+ AegisName: "ShadowchaserStone_Robe2"
+ Name: "ShadowchaserStone_Robe2"
+},
+{
+ Id: 25806
+ AegisName: "ShadowchasStone_Bottom2"
+ Name: "ShadowchasStone_Bottom2"
+},
+{
+ Id: 25807
+ AegisName: "ShadowchasStone_Middle2"
+ Name: "ShadowchasStone_Middle2"
+},
+{
+ Id: 25808
+ AegisName: "ShadowchaserStone_Top2"
+ Name: "ShadowchaserStone_Top2"
+},
+{
+ Id: 25815
+ AegisName: "Ein_SOLIDDUST"
+ Name: "Ein_SOLIDDUST"
+},
+{
+ Id: 25816
+ AegisName: "Ein_RUSTHELM"
+ Name: "Ein_RUSTHELM"
+},
+{
+ Id: 25817
+ AegisName: "Ein_EYEROCK"
+ Name: "Ein_EYEROCK"
+},
+{
+ Id: 25842
+ AegisName: "SoulreaperStone_Robe"
+ Name: "SoulreaperStone_Robe"
+},
+{
+ Id: 25843
+ AegisName: "SoullinkerStone_Top"
+ Name: "SoullinkerStone_Top"
+},
+{
+ Id: 25844
+ AegisName: "SoullinkerStone_Middle"
+ Name: "SoullinkerStone_Middle"
+},
+{
+ Id: 25845
+ AegisName: "SoullinkerStone_Bottom"
+ Name: "SoullinkerStone_Bottom"
+},
+{
+ Id: 25846
+ AegisName: "GladiatorStone_Top"
+ Name: "GladiatorStone_Top"
+},
+{
+ Id: 25847
+ AegisName: "GladiatorStone_Middle"
+ Name: "GladiatorStone_Middle"
+},
+{
+ Id: 25848
+ AegisName: "GladiatorStone_Bottom"
+ Name: "GladiatorStone_Bottom"
+},
+{
+ Id: 25849
+ AegisName: "StaremperorStone_Robe"
+ Name: "StaremperorStone_Robe"
+},
+{
+ Id: 25850
+ AegisName: "NinjaStone_Top"
+ Name: "NinjaStone_Top"
+},
+{
+ Id: 25851
+ AegisName: "NinjaStone_Middle"
+ Name: "NinjaStone_Middle"
+},
+{
+ Id: 25852
+ AegisName: "NinjaStone_Bottom"
+ Name: "NinjaStone_Bottom"
+},
+{
+ Id: 25853
+ AegisName: "KagerouStone_Robe"
+ Name: "KagerouStone_Robe"
+},
+{
+ Id: 25854
+ AegisName: "OboroStone_Robe"
+ Name: "OboroStone_Robe"
+},
+{
+ Id: 25855
+ AegisName: "GunslingerStone_Top"
+ Name: "GunslingerStone_Top"
+},
+{
+ Id: 25856
+ AegisName: "GunslingerStone_Middle"
+ Name: "GunslingerStone_Middle"
+},
+{
+ Id: 25857
+ AegisName: "GunslingerStone_Bottom"
+ Name: "GunslingerStone_Bottom"
+},
+{
+ Id: 25858
+ AegisName: "RebellionStone_Robe"
+ Name: "RebellionStone_Robe"
+},
+{
+ Id: 25859
+ AegisName: "DoramStone_Top"
+ Name: "DoramStone_Top"
+},
+{
+ Id: 25860
+ AegisName: "DoramStone_Middle"
+ Name: "DoramStone_Middle"
+},
+{
+ Id: 25861
+ AegisName: "DoramStone_Bottom"
+ Name: "DoramStone_Bottom"
+},
+{
+ Id: 25862
+ AegisName: "DoramStone_Robe"
+ Name: "DoramStone_Robe"
+},
+{
Id: 26007
AegisName: "Spectral_Spear_IL"
Name: "Spectral_Spear_IL"
@@ -96564,6 +98526,11 @@ item_db: (
Name: "Metal_Foxtail"
},
{
+ Id: 26118
+ AegisName: "Shadow_Staff_K"
+ Name: "Shadow_Staff_K"
+},
+{
Id: 26119
AegisName: "Rebeginer_SO_Rod"
Name: "Rebeginer_SO_Rod"
@@ -96579,6 +98546,11 @@ item_db: (
Name: "Rutilus_Stick_OS"
},
{
+ Id: 26154
+ AegisName: "SoulWeight"
+ Name: "SoulWeight"
+},
+{
Id: 26155
AegisName: "MeawFoxtail"
Name: "MeawFoxtail"
@@ -96589,6 +98561,21 @@ item_db: (
Name: "Evt_Shadow_Staff_K"
},
{
+ Id: 26162
+ AegisName: "Ein_1HWAND"
+ Name: "Ein_1HWAND"
+},
+{
+ Id: 26164
+ AegisName: "ElectricFox_OS"
+ Name: "ElectricFox_OS"
+},
+{
+ Id: 26215
+ AegisName: "Ein_1HWHIP"
+ Name: "Ein_1HWHIP"
+},
+{
Id: 28022
AegisName: "Infiltrator_IL"
Name: "Infiltrator_IL"
@@ -96609,11 +98596,26 @@ item_db: (
Name: "Meuchler_OS"
},
{
+ Id: 28039
+ AegisName: "Shiver_Katar_K"
+ Name: "Shiver_Katar_K"
+},
+{
Id: 28040
AegisName: "Evt_Shiver_Katar_K"
Name: "Evt_Shiver_Katar_K"
},
{
+ Id: 28045
+ AegisName: "Ein_BHKATAR"
+ Name: "Ein_BHKATAR"
+},
+{
+ Id: 28130
+ AegisName: "Avenger"
+ Name: "Avenger"
+},
+{
Id: 28136
AegisName: "Blasti_OS"
Name: "Blasti_OS"
@@ -96624,6 +98626,11 @@ item_db: (
Name: "Evt_Avenger"
},
{
+ Id: 28140
+ AegisName: "Ein_BHAXE"
+ Name: "Ein_BHAXE"
+},
+{
Id: 28240
AegisName: "Calf_Kingcobra"
Name: "Calf_Kingcobra"
@@ -96654,6 +98661,31 @@ item_db: (
Name: "HR_S55_OS"
},
{
+ Id: 28254
+ AegisName: "Butcher_IL"
+ Name: "Butcher_IL"
+},
+{
+ Id: 28255
+ AegisName: "Master_Soul_Rifle"
+ Name: "Master_Soul_Rifle"
+},
+{
+ Id: 28256
+ AegisName: "Demon_S_Shot"
+ Name: "Demon_S_Shot"
+},
+{
+ Id: 28257
+ AegisName: "Golden_L_Launcher"
+ Name: "Golden_L_Launcher"
+},
+{
+ Id: 28258
+ AegisName: "The_Black_Gatling"
+ Name: "The_Black_Gatling"
+},
+{
Id: 28508
AegisName: "Skul_Ring_IL"
Name: "Skul_Ring_IL"
@@ -96704,11 +98736,21 @@ item_db: (
Name: "Circuit_Board_OS"
},
{
+ Id: 28630
+ AegisName: "Demon_Hunting_Bible_K"
+ Name: "Demon_Hunting_Bible_K"
+},
+{
Id: 28631
AegisName: "Time_Kamiji"
Name: "Time_Kamiji"
},
{
+ Id: 28635
+ AegisName: "Ein_1HBOOK"
+ Name: "Ein_1HBOOK"
+},
+{
Id: 28725
AegisName: "Moonlight_Sword_IL"
Name: "Moonlight_Sword_IL"
@@ -96719,6 +98761,11 @@ item_db: (
Name: "Rebeginer_SC_Dagger"
},
{
+ Id: 28744
+ AegisName: "Magic_Sword"
+ Name: "Magic_Sword"
+},
+{
Id: 28745
AegisName: "Counter_Dagger_IL"
Name: "Counter_Dagger_IL"
@@ -96734,6 +98781,31 @@ item_db: (
Name: "Evt_Magic_Sword"
},
{
+ Id: 28762
+ AegisName: "Bazerald_IL"
+ Name: "Bazerald_IL"
+},
+{
+ Id: 28763
+ AegisName: "Sharp_Wind_Sword"
+ Name: "Sharp_Wind_Sword"
+},
+{
+ Id: 28764
+ AegisName: "Fog_Dew_Sword"
+ Name: "Fog_Dew_Sword"
+},
+{
+ Id: 28771
+ AegisName: "Ein_1HDAGGER"
+ Name: "Ein_1HDAGGER"
+},
+{
+ Id: 28772
+ AegisName: "Ein_1HMAGGER"
+ Name: "Ein_1HMAGGER"
+},
+{
Id: 28922
AegisName: "Herald_Of_GOD_IL"
Name: "Herald_Of_GOD_IL"
@@ -96909,6 +98981,11 @@ item_db: (
Name: "Straight_Long_YL_"
},
{
+ Id: 31382
+ AegisName: "C_Cat_Ears_Punkish"
+ Name: "C_Cat_Ears_Punkish"
+},
+{
Id: 31387
AegisName: "Jjakk"
Name: "Jjakk"
@@ -96969,6 +99046,11 @@ item_db: (
Name: "C_Fluffy_Heart_Earmuffs"
},
{
+ Id: 31440
+ AegisName: "C_Snow_Bear_Food"
+ Name: "C_Snow_Bear_Food"
+},
+{
Id: 31452
AegisName: "White_Cat"
Name: "White_Cat"
@@ -96999,6 +99081,16 @@ item_db: (
Name: "Egg_Minihat"
},
{
+ Id: 31481
+ AegisName: "C_CatCoffeeCup_TW"
+ Name: "C_CatCoffeeCup_TW"
+},
+{
+ Id: 31483
+ AegisName: "C_CatEarRibbon_TW"
+ Name: "C_CatEarRibbon_TW"
+},
+{
Id: 31489
AegisName: "C_Bouquet_Hat"
Name: "C_Bouquet_Hat"
@@ -97024,6 +99116,11 @@ item_db: (
Name: "C_Elephangel_TH"
},
{
+ Id: 31512
+ AegisName: "C_Panda_Rabbit"
+ Name: "C_Panda_Rabbit"
+},
+{
Id: 31516
AegisName: "Mini_Melon"
Name: "Mini_Melon"
@@ -97044,21 +99141,111 @@ item_db: (
Name: "C_Happy_Rabbit_Ribbon"
},
{
+ Id: 31565
+ AegisName: "C_Princess_Ribbon_Crown"
+ Name: "C_Princess_Ribbon_Crown"
+},
+{
+ Id: 31569
+ AegisName: "C_OpenAir_Headset"
+ Name: "C_OpenAir_Headset"
+},
+{
+ Id: 31572
+ AegisName: "C_Mobile_Pursuit_System"
+ Name: "C_Mobile_Pursuit_System"
+},
+{
+ Id: 31573
+ AegisName: "C_Mecha_Cat_Ears"
+ Name: "C_Mecha_Cat_Ears"
+},
+{
+ Id: 31574
+ AegisName: "C_Cyber_Income"
+ Name: "C_Cyber_Income"
+},
+{
Id: 31580
AegisName: "Autumnal_Flavor"
Name: "Autumnal_Flavor"
},
{
+ Id: 31586
+ AegisName: "C_Poporing_Muffler"
+ Name: "C_Poporing_Muffler"
+},
+{
Id: 31589
AegisName: "GOLD_MAJESTIC_GOUT"
Name: "GOLD_MAJESTIC_GOUT"
},
{
+ Id: 31600
+ AegisName: "C_Kishu_Inu"
+ Name: "C_Kishu_Inu"
+},
+{
Id: 31606
AegisName: "C_Autumn_Headband"
Name: "C_Autumn_Headband"
},
{
+ Id: 31614
+ AegisName: "C_Fox"
+ Name: "C_Fox"
+},
+{
+ Id: 31616
+ AegisName: "C_Sleep_Sheep_TW"
+ Name: "C_Sleep_Sheep_TW"
+},
+{
+ Id: 31624
+ AegisName: "C_HeartOfCat_TW"
+ Name: "C_HeartOfCat_TW"
+},
+{
+ Id: 31625
+ AegisName: "C_Protect_Cloth"
+ Name: "C_Protect_Cloth"
+},
+{
+ Id: 31693
+ AegisName: "C_LunaticMuffler"
+ Name: "C_LunaticMuffler"
+},
+{
+ Id: 31698
+ AegisName: "C_Pigtail_Red_Hood"
+ Name: "C_Pigtail_Red_Hood"
+},
+{
+ Id: 31699
+ AegisName: "C_Smiling_Eyes"
+ Name: "C_Smiling_Eyes"
+},
+{
+ Id: 31765
+ AegisName: "C_Garnet_Tiara"
+ Name: "C_Garnet_Tiara"
+},
+{
+ Id: 31766
+ AegisName: "C_Peony_Hair_Ornament"
+ Name: "C_Peony_Hair_Ornament"
+},
+{
+ Id: 31787
+ AegisName: "C_SavageB_On_Shoulder"
+ Name: "C_SavageB_On_Shoulder"
+},
+{
+ Id: 31798
+ AegisName: "C_Baby_Panda"
+ Name: "C_Baby_Panda"
+},
+{
Id: 32005
AegisName: "Pole_Axe_IL"
Name: "Pole_Axe_IL"
@@ -97069,6 +99256,11 @@ item_db: (
Name: "Metal_Stick"
},
{
+ Id: 32018
+ AegisName: "Undine_Spear_K"
+ Name: "Undine_Spear_K"
+},
+{
Id: 32019
AegisName: "Boost_Lance_OS"
Name: "Boost_Lance_OS"
@@ -97079,6 +99271,16 @@ item_db: (
Name: "Evt_Undine_Spear_K"
},
{
+ Id: 32026
+ AegisName: "Ein_1HSPEAR"
+ Name: "Ein_1HSPEAR"
+},
+{
+ Id: 32110
+ AegisName: "Ein_1HLUTE"
+ Name: "Ein_1HLUTE"
+},
+{
Id: 32207
AegisName: "Illusion_B_R"
Name: "Illusion_B_R"
@@ -97108,4 +99310,1114 @@ item_db: (
AegisName: "Celine_Brooch"
Name: "Celine_Brooch"
},
+{
+ Id: 32301
+ AegisName: "Gold_Lux_IL"
+ Name: "Gold_Lux_IL"
+},
+{
+ Id: 32302
+ AegisName: "Crimson_Rose"
+ Name: "Crimson_Rose"
+},
+{
+ Id: 32303
+ AegisName: "Ein_1HGUN"
+ Name: "Ein_1HGUN"
+},
+{
+ Id: 32352
+ AegisName: "Ein_1HSWORD"
+ Name: "Ein_1HSWORD"
+},
+{
+ Id: 100000
+ AegisName: "IDTest_Special"
+ Name: "IDTest_Special"
+},
+{
+ Id: 100003
+ AegisName: "ILL_Piece_A"
+ Name: "ILL_Piece_A"
+},
+{
+ Id: 100004
+ AegisName: "ILL_Piece_B"
+ Name: "ILL_Piece_B"
+},
+{
+ Id: 100009
+ AegisName: "Joy_Of_Victory"
+ Name: "Joy_Of_Victory"
+},
+{
+ Id: 100010
+ AegisName: "PerfectSize_Mix"
+ Name: "PerfectSize_Mix"
+},
+{
+ Id: 100011
+ AegisName: "MagicPiercing_Mix"
+ Name: "MagicPiercing_Mix"
+},
+{
+ Id: 100023
+ AegisName: "Ancient_Hero_Bravery"
+ Name: "Ancient_Hero_Bravery"
+},
+{
+ Id: 100025
+ AegisName: "Ancient_Hero_Wisdom"
+ Name: "Ancient_Hero_Wisdom"
+},
+{
+ Id: 100043
+ AegisName: "Boost_Up_1"
+ Name: "Boost_Up_1"
+},
+{
+ Id: 100044
+ AegisName: "Boost_Up_2"
+ Name: "Boost_Up_2"
+},
+{
+ Id: 100053
+ AegisName: "Piercing_Mix"
+ Name: "Piercing_Mix"
+},
+{
+ Id: 100058
+ AegisName: "Hasty_Mix"
+ Name: "Hasty_Mix"
+},
+{
+ Id: 100060
+ AegisName: "EnchantStone_Recipe_4m"
+ Name: "EnchantStone_Recipe_4m"
+},
+{
+ Id: 100128
+ AegisName: "Noblesse_Rifine_Ticket"
+ Name: "Noblesse_Rifine_Ticket"
+},
+{
+ Id: 100129
+ AegisName: "Imperial_Rifine_Ticket"
+ Name: "Imperial_Rifine_Ticket"
+},
+{
+ Id: 100130
+ AegisName: "Grace_Rifine_Ticket"
+ Name: "Grace_Rifine_Ticket"
+},
+{
+ Id: 100131
+ AegisName: "Imperial_Convert1"
+ Name: "Imperial_Convert1"
+},
+{
+ Id: 100132
+ AegisName: "Imperial_Convert2"
+ Name: "Imperial_Convert2"
+},
+{
+ Id: 100133
+ AegisName: "Grace_Convert1"
+ Name: "Grace_Convert1"
+},
+{
+ Id: 100134
+ AegisName: "Grace_Convert2"
+ Name: "Grace_Convert2"
+},
+{
+ Id: 100135
+ AegisName: "Imperial_Convert3"
+ Name: "Imperial_Convert3"
+},
+{
+ Id: 100136
+ AegisName: "Imperial_Convert4"
+ Name: "Imperial_Convert4"
+},
+{
+ Id: 100137
+ AegisName: "Grace_Convert3"
+ Name: "Grace_Convert3"
+},
+{
+ Id: 100138
+ AegisName: "Grace_Convert4"
+ Name: "Grace_Convert4"
+},
+{
+ Id: 100142
+ AegisName: "Abyss_Ddbox2"
+ Name: "Abyss_Ddbox2"
+},
+{
+ Id: 100144
+ AegisName: "Abyss_Ddbox3"
+ Name: "Abyss_Ddbox3"
+},
+{
+ Id: 100145
+ AegisName: "Abyss_Ddbox4"
+ Name: "Abyss_Ddbox4"
+},
+{
+ Id: 400002
+ AegisName: "Victory_Wing_Ear_"
+ Name: "Victory_Wing_Ear_"
+},
+{
+ Id: 400020
+ AegisName: "C_BeachBall"
+ Name: "C_BeachBall"
+},
+{
+ Id: 440000
+ AegisName: "C_SharkHead"
+ Name: "C_SharkHead"
+},
+{
+ Id: 450001
+ AegisName: "Atker_Plate"
+ Name: "Atker_Plate"
+},
+{
+ Id: 450002
+ AegisName: "Ele_Robe"
+ Name: "Ele_Robe"
+},
+{
+ Id: 450003
+ AegisName: "Defn_Robe"
+ Name: "Defn_Robe"
+},
+{
+ Id: 450004
+ AegisName: "Ran_Suits"
+ Name: "Ran_Suits"
+},
+{
+ Id: 450018
+ AegisName: "Noblesse_Breath_Armor"
+ Name: "Noblesse_Breath_Armor"
+},
+{
+ Id: 450019
+ AegisName: "Noblesse_Knight_Armor"
+ Name: "Noblesse_Knight_Armor"
+},
+{
+ Id: 450020
+ AegisName: "Noblesse_Spear_Armor"
+ Name: "Noblesse_Spear_Armor"
+},
+{
+ Id: 450021
+ AegisName: "Noblesse_Genesis_Armor"
+ Name: "Noblesse_Genesis_Armor"
+},
+{
+ Id: 450022
+ AegisName: "Noblesse_Sharp_Suit"
+ Name: "Noblesse_Sharp_Suit"
+},
+{
+ Id: 450023
+ AegisName: "Noblesse_Aim_Suit"
+ Name: "Noblesse_Aim_Suit"
+},
+{
+ Id: 450024
+ AegisName: "Noblesse_Severe_Suit"
+ Name: "Noblesse_Severe_Suit"
+},
+{
+ Id: 450025
+ AegisName: "Noblesse_Reverb_Suit"
+ Name: "Noblesse_Reverb_Suit"
+},
+{
+ Id: 450026
+ AegisName: "Noblesse_Adora_Robe"
+ Name: "Noblesse_Adora_Robe"
+},
+{
+ Id: 450027
+ AegisName: "Noblesse_Duple_Robe"
+ Name: "Noblesse_Duple_Robe"
+},
+{
+ Id: 450028
+ AegisName: "Noblesse_Tonado_Armor"
+ Name: "Noblesse_Tonado_Armor"
+},
+{
+ Id: 450029
+ AegisName: "Noblesse_Vulcan_Armor"
+ Name: "Noblesse_Vulcan_Armor"
+},
+{
+ Id: 450030
+ AegisName: "Noblesse_Kart_Suit"
+ Name: "Noblesse_Kart_Suit"
+},
+{
+ Id: 450031
+ AegisName: "Noblesse_Kart_Suit2"
+ Name: "Noblesse_Kart_Suit2"
+},
+{
+ Id: 450032
+ AegisName: "Noblesse_Rolling_Suit"
+ Name: "Noblesse_Rolling_Suit"
+},
+{
+ Id: 450033
+ AegisName: "Noblesse_Assasin_Suit"
+ Name: "Noblesse_Assasin_Suit"
+},
+{
+ Id: 450034
+ AegisName: "Noblesse_Fatal_Suit"
+ Name: "Noblesse_Fatal_Suit"
+},
+{
+ Id: 450035
+ AegisName: "Noblesse_Stalker_Suit"
+ Name: "Noblesse_Stalker_Suit"
+},
+{
+ Id: 450036
+ AegisName: "Noblesse_Picky_Robe"
+ Name: "Noblesse_Picky_Robe"
+},
+{
+ Id: 450037
+ AegisName: "Noblesse_Carrot_Robe"
+ Name: "Noblesse_Carrot_Robe"
+},
+{
+ Id: 450038
+ AegisName: "Noblesse_Trip_Suit"
+ Name: "Noblesse_Trip_Suit"
+},
+{
+ Id: 450039
+ AegisName: "Noblesse_Firerain_Suit"
+ Name: "Noblesse_Firerain_Suit"
+},
+{
+ Id: 450040
+ AegisName: "Noblesse_Crimson_Robe"
+ Name: "Noblesse_Crimson_Robe"
+},
+{
+ Id: 450041
+ AegisName: "Noblesse_Frost_Robe"
+ Name: "Noblesse_Frost_Robe"
+},
+{
+ Id: 450042
+ AegisName: "Noblesse_Psychic_Robe"
+ Name: "Noblesse_Psychic_Robe"
+},
+{
+ Id: 450043
+ AegisName: "Noblesse_Dust_Robe"
+ Name: "Noblesse_Dust_Robe"
+},
+{
+ Id: 450044
+ AegisName: "Noblesse_Sun_Suit"
+ Name: "Noblesse_Sun_Suit"
+},
+{
+ Id: 450045
+ AegisName: "Noblesse_Moon_Suit"
+ Name: "Noblesse_Moon_Suit"
+},
+{
+ Id: 450046
+ AegisName: "Noblesse_Ninja_Suit"
+ Name: "Noblesse_Ninja_Suit"
+},
+{
+ Id: 450047
+ AegisName: "Noblesse_Kunai_Suit"
+ Name: "Noblesse_Kunai_Suit"
+},
+{
+ Id: 450048
+ AegisName: "Noblesse_Swhoo_Robe"
+ Name: "Noblesse_Swhoo_Robe"
+},
+{
+ Id: 450049
+ AegisName: "Noblesse_Explosion_Robe"
+ Name: "Noblesse_Explosion_Robe"
+},
+{
+ Id: 450050
+ AegisName: "Noblesse_Knuckle_Suit"
+ Name: "Noblesse_Knuckle_Suit"
+},
+{
+ Id: 450051
+ AegisName: "Noblesse_Tiger_Suit"
+ Name: "Noblesse_Tiger_Suit"
+},
+{
+ Id: 450052
+ AegisName: "Imperial_Breath_Armor"
+ Name: "Imperial_Breath_Armor"
+},
+{
+ Id: 450053
+ AegisName: "Imperial_Knight_Armor"
+ Name: "Imperial_Knight_Armor"
+},
+{
+ Id: 450054
+ AegisName: "Imperial_Spear_Armor"
+ Name: "Imperial_Spear_Armor"
+},
+{
+ Id: 450055
+ AegisName: "Imperial_Genesis_Armor"
+ Name: "Imperial_Genesis_Armor"
+},
+{
+ Id: 450056
+ AegisName: "Imperial_Sharp_Suit"
+ Name: "Imperial_Sharp_Suit"
+},
+{
+ Id: 450057
+ AegisName: "Imperial_Aim_Suit"
+ Name: "Imperial_Aim_Suit"
+},
+{
+ Id: 450058
+ AegisName: "Imperial_Severe_Suit"
+ Name: "Imperial_Severe_Suit"
+},
+{
+ Id: 450059
+ AegisName: "Imperial_Reverb_Suit"
+ Name: "Imperial_Reverb_Suit"
+},
+{
+ Id: 450060
+ AegisName: "Imperial_Adora_Robe"
+ Name: "Imperial_Adora_Robe"
+},
+{
+ Id: 450061
+ AegisName: "Imperial_Duple_Robe"
+ Name: "Imperial_Duple_Robe"
+},
+{
+ Id: 450062
+ AegisName: "Imperial_Knuckle_Suit"
+ Name: "Imperial_Knuckle_Suit"
+},
+{
+ Id: 450063
+ AegisName: "Imperial_Tiger_Suit"
+ Name: "Imperial_Tiger_Suit"
+},
+{
+ Id: 450064
+ AegisName: "Imperial_Tonado_Armor"
+ Name: "Imperial_Tonado_Armor"
+},
+{
+ Id: 450065
+ AegisName: "Imperial_Vulcan_Armor"
+ Name: "Imperial_Vulcan_Armor"
+},
+{
+ Id: 450066
+ AegisName: "Imperial_Kart_Suit"
+ Name: "Imperial_Kart_Suit"
+},
+{
+ Id: 450067
+ AegisName: "Imperial_Kart_Suit2"
+ Name: "Imperial_Kart_Suit2"
+},
+{
+ Id: 450068
+ AegisName: "Imperial_Rolling_Suit"
+ Name: "Imperial_Rolling_Suit"
+},
+{
+ Id: 450069
+ AegisName: "Imperial_Assasin_Suit"
+ Name: "Imperial_Assasin_Suit"
+},
+{
+ Id: 450070
+ AegisName: "Imperial_Fatal_Suit"
+ Name: "Imperial_Fatal_Suit"
+},
+{
+ Id: 450071
+ AegisName: "Imperial_Stalker_Suit"
+ Name: "Imperial_Stalker_Suit"
+},
+{
+ Id: 450072
+ AegisName: "Imperial_Picky_Robe"
+ Name: "Imperial_Picky_Robe"
+},
+{
+ Id: 450073
+ AegisName: "Imperial_Carrot_Robe"
+ Name: "Imperial_Carrot_Robe"
+},
+{
+ Id: 450074
+ AegisName: "Imperial_Trip_Suit"
+ Name: "Imperial_Trip_Suit"
+},
+{
+ Id: 450075
+ AegisName: "Imperial_Firerain_Suit"
+ Name: "Imperial_Firerain_Suit"
+},
+{
+ Id: 450076
+ AegisName: "Imperial_Crimson_Robe"
+ Name: "Imperial_Crimson_Robe"
+},
+{
+ Id: 450077
+ AegisName: "Imperial_Frost_Robe"
+ Name: "Imperial_Frost_Robe"
+},
+{
+ Id: 450078
+ AegisName: "Imperial_Psychic_Robe"
+ Name: "Imperial_Psychic_Robe"
+},
+{
+ Id: 450079
+ AegisName: "Imperial_Dust_Robe"
+ Name: "Imperial_Dust_Robe"
+},
+{
+ Id: 450080
+ AegisName: "Imperial_Sun_Suit"
+ Name: "Imperial_Sun_Suit"
+},
+{
+ Id: 450081
+ AegisName: "Imperial_Moon_Suit"
+ Name: "Imperial_Moon_Suit"
+},
+{
+ Id: 450082
+ AegisName: "Imperial_Ninja_Suit"
+ Name: "Imperial_Ninja_Suit"
+},
+{
+ Id: 450083
+ AegisName: "Imperial_Kunai_Suit"
+ Name: "Imperial_Kunai_Suit"
+},
+{
+ Id: 450084
+ AegisName: "Imperial_Swhoo_Robe"
+ Name: "Imperial_Swhoo_Robe"
+},
+{
+ Id: 450085
+ AegisName: "Imperial_Explosion_Robe"
+ Name: "Imperial_Explosion_Robe"
+},
+{
+ Id: 450086
+ AegisName: "Grace_Breath_Armor"
+ Name: "Grace_Breath_Armor"
+},
+{
+ Id: 450087
+ AegisName: "Grace_Knight_Armor"
+ Name: "Grace_Knight_Armor"
+},
+{
+ Id: 450088
+ AegisName: "Grace_Spear_Armor"
+ Name: "Grace_Spear_Armor"
+},
+{
+ Id: 450089
+ AegisName: "Grace_Genesis_Armor"
+ Name: "Grace_Genesis_Armor"
+},
+{
+ Id: 450090
+ AegisName: "Grace_Sharp_Suit"
+ Name: "Grace_Sharp_Suit"
+},
+{
+ Id: 450091
+ AegisName: "Grace_Aim_Suit"
+ Name: "Grace_Aim_Suit"
+},
+{
+ Id: 450092
+ AegisName: "Grace_Severe_Suit"
+ Name: "Grace_Severe_Suit"
+},
+{
+ Id: 450093
+ AegisName: "Grace_Reverb_Suit"
+ Name: "Grace_Reverb_Suit"
+},
+{
+ Id: 450094
+ AegisName: "Grace_Adora_Robe"
+ Name: "Grace_Adora_Robe"
+},
+{
+ Id: 450095
+ AegisName: "Grace_Duple_Robe"
+ Name: "Grace_Duple_Robe"
+},
+{
+ Id: 450096
+ AegisName: "Grace_Knuckle_Suit"
+ Name: "Grace_Knuckle_Suit"
+},
+{
+ Id: 450097
+ AegisName: "Grace_Tiger_Suit"
+ Name: "Grace_Tiger_Suit"
+},
+{
+ Id: 450098
+ AegisName: "Grace_Tonado_Armor"
+ Name: "Grace_Tonado_Armor"
+},
+{
+ Id: 450099
+ AegisName: "Grace_Vulcan_Armor"
+ Name: "Grace_Vulcan_Armor"
+},
+{
+ Id: 450100
+ AegisName: "Grace_Kart_Suit"
+ Name: "Grace_Kart_Suit"
+},
+{
+ Id: 450101
+ AegisName: "Grace_Kart_Suit2"
+ Name: "Grace_Kart_Suit2"
+},
+{
+ Id: 450102
+ AegisName: "Grace_Rolling_Suit"
+ Name: "Grace_Rolling_Suit"
+},
+{
+ Id: 450103
+ AegisName: "Grace_Assasin_Suit"
+ Name: "Grace_Assasin_Suit"
+},
+{
+ Id: 450104
+ AegisName: "Grace_Fatal_Suit"
+ Name: "Grace_Fatal_Suit"
+},
+{
+ Id: 450105
+ AegisName: "Grace_Stalker_Suit"
+ Name: "Grace_Stalker_Suit"
+},
+{
+ Id: 450106
+ AegisName: "Grace_Picky_Robe"
+ Name: "Grace_Picky_Robe"
+},
+{
+ Id: 450107
+ AegisName: "Grace_Carrot_Robe"
+ Name: "Grace_Carrot_Robe"
+},
+{
+ Id: 450108
+ AegisName: "Grace_Trip_Suit"
+ Name: "Grace_Trip_Suit"
+},
+{
+ Id: 450109
+ AegisName: "Grace_Firerain_Suit"
+ Name: "Grace_Firerain_Suit"
+},
+{
+ Id: 450110
+ AegisName: "Grace_Crimson_Robe"
+ Name: "Grace_Crimson_Robe"
+},
+{
+ Id: 450111
+ AegisName: "Grace_Frost_Robe"
+ Name: "Grace_Frost_Robe"
+},
+{
+ Id: 450112
+ AegisName: "Grace_Psychic_Robe"
+ Name: "Grace_Psychic_Robe"
+},
+{
+ Id: 450113
+ AegisName: "Grace_Dust_Robe"
+ Name: "Grace_Dust_Robe"
+},
+{
+ Id: 450114
+ AegisName: "Grace_Sun_Suit"
+ Name: "Grace_Sun_Suit"
+},
+{
+ Id: 450115
+ AegisName: "Grace_Moon_Suit"
+ Name: "Grace_Moon_Suit"
+},
+{
+ Id: 450116
+ AegisName: "Grace_Ninja_Suit"
+ Name: "Grace_Ninja_Suit"
+},
+{
+ Id: 450117
+ AegisName: "Grace_Kunai_Suit"
+ Name: "Grace_Kunai_Suit"
+},
+{
+ Id: 450118
+ AegisName: "Grace_Swhoo_Robe"
+ Name: "Grace_Swhoo_Robe"
+},
+{
+ Id: 450119
+ AegisName: "Grace_Explosion_Robe"
+ Name: "Grace_Explosion_Robe"
+},
+{
+ Id: 450121
+ AegisName: "Noblesse_Snovice_Suit"
+ Name: "Noblesse_Snovice_Suit"
+},
+{
+ Id: 450122
+ AegisName: "Noblesse_Snovice_Robe"
+ Name: "Noblesse_Snovice_Robe"
+},
+{
+ Id: 450123
+ AegisName: "Imperial_Snovice_Suit"
+ Name: "Imperial_Snovice_Suit"
+},
+{
+ Id: 450124
+ AegisName: "Imperial_Snovice_Robe"
+ Name: "Imperial_Snovice_Robe"
+},
+{
+ Id: 450125
+ AegisName: "Grace_Snovice_Suit"
+ Name: "Grace_Snovice_Suit"
+},
+{
+ Id: 450126
+ AegisName: "Grace_Snovice_Robe"
+ Name: "Grace_Snovice_Robe"
+},
+{
+ Id: 470000
+ AegisName: "Atker_Greave"
+ Name: "Atker_Greave"
+},
+{
+ Id: 470001
+ AegisName: "Ele_Shoes"
+ Name: "Ele_Shoes"
+},
+{
+ Id: 470002
+ AegisName: "Defn_Shoes"
+ Name: "Defn_Shoes"
+},
+{
+ Id: 470003
+ AegisName: "Ran_Boots"
+ Name: "Ran_Boots"
+},
+{
+ Id: 470016
+ AegisName: "Noblesse_Attack_Boots"
+ Name: "Noblesse_Attack_Boots"
+},
+{
+ Id: 470017
+ AegisName: "Noblesse_Magic_Boots"
+ Name: "Noblesse_Magic_Boots"
+},
+{
+ Id: 470018
+ AegisName: "Imperial_Attack_Boots"
+ Name: "Imperial_Attack_Boots"
+},
+{
+ Id: 470019
+ AegisName: "Imperial_Magic_Boots"
+ Name: "Imperial_Magic_Boots"
+},
+{
+ Id: 470020
+ AegisName: "Grace_Attack_Boots"
+ Name: "Grace_Attack_Boots"
+},
+{
+ Id: 470021
+ AegisName: "Grace_Magic_Boots"
+ Name: "Grace_Magic_Boots"
+},
+{
+ Id: 480000
+ AegisName: "Atker_Manteau"
+ Name: "Atker_Manteau"
+},
+{
+ Id: 480001
+ AegisName: "Ele_Muffler"
+ Name: "Ele_Muffler"
+},
+{
+ Id: 480002
+ AegisName: "Defn_Muffler"
+ Name: "Defn_Muffler"
+},
+{
+ Id: 480003
+ AegisName: "Ran_Manteau"
+ Name: "Ran_Manteau"
+},
+{
+ Id: 480012
+ AegisName: "Noblesse_Attack_Manteau"
+ Name: "Noblesse_Attack_Manteau"
+},
+{
+ Id: 480014
+ AegisName: "Noblesse_Magic_Manteau"
+ Name: "Noblesse_Magic_Manteau"
+},
+{
+ Id: 480016
+ AegisName: "Imperial_Attack_Manteau"
+ Name: "Imperial_Attack_Manteau"
+},
+{
+ Id: 480017
+ AegisName: "Imperial_Magic_Manteau"
+ Name: "Imperial_Magic_Manteau"
+},
+{
+ Id: 480018
+ AegisName: "Grace_Attack_Manteau"
+ Name: "Grace_Attack_Manteau"
+},
+{
+ Id: 480019
+ AegisName: "Grace_Magic_Manteau"
+ Name: "Grace_Magic_Manteau"
+},
+{
+ Id: 500001
+ AegisName: "Boost_Sword"
+ Name: "Boost_Sword"
+},
+{
+ Id: 500003
+ AegisName: "Light_Blade"
+ Name: "Light_Blade"
+},
+{
+ Id: 500004
+ AegisName: "Slate_Sword"
+ Name: "Slate_Sword"
+},
+{
+ Id: 510001
+ AegisName: "Boost_Dagger"
+ Name: "Boost_Dagger"
+},
+{
+ Id: 510002
+ AegisName: "Boost_Nindo"
+ Name: "Boost_Nindo"
+},
+{
+ Id: 510006
+ AegisName: "Fatalist"
+ Name: "Fatalist"
+},
+{
+ Id: 520000
+ AegisName: "Boost_Axe"
+ Name: "Boost_Axe"
+},
+{
+ Id: 530000
+ AegisName: "Boost_Spear"
+ Name: "Boost_Spear"
+},
+{
+ Id: 540000
+ AegisName: "Boost_Spl_Book"
+ Name: "Boost_Spl_Book"
+},
+{
+ Id: 540001
+ AegisName: "Boost_Text"
+ Name: "Boost_Text"
+},
+{
+ Id: 550001
+ AegisName: "Boost_Soul_Rod"
+ Name: "Boost_Soul_Rod"
+},
+{
+ Id: 550002
+ AegisName: "Boost_Foxtail"
+ Name: "Boost_Foxtail"
+},
+{
+ Id: 550006
+ AegisName: "Ein_1H_Foxtail"
+ Name: "Ein_1H_Foxtail"
+},
+{
+ Id: 550007
+ AegisName: "Freezing_Rod"
+ Name: "Freezing_Rod"
+},
+{
+ Id: 560000
+ AegisName: "Boost_Knuckle"
+ Name: "Boost_Knuckle"
+},
+{
+ Id: 560005
+ AegisName: "Ray_Knuckle"
+ Name: "Ray_Knuckle"
+},
+{
+ Id: 570000
+ AegisName: "Boost_Guitar"
+ Name: "Boost_Guitar"
+},
+{
+ Id: 570002
+ AegisName: "Trumpet_Shell_K"
+ Name: "Trumpet_Shell_K"
+},
+{
+ Id: 580000
+ AegisName: "Boost_Whip"
+ Name: "Boost_Whip"
+},
+{
+ Id: 580002
+ AegisName: "Barb_Wire_K"
+ Name: "Barb_Wire_K"
+},
+{
+ Id: 590000
+ AegisName: "Boost_Hall"
+ Name: "Boost_Hall"
+},
+{
+ Id: 590002
+ AegisName: "Meteor_Striker"
+ Name: "Meteor_Striker"
+},
+{
+ Id: 590003
+ AegisName: "Saint_Hall"
+ Name: "Saint_Hall"
+},
+{
+ Id: 600001
+ AegisName: "Boost_TH_Sword"
+ Name: "Boost_TH_Sword"
+},
+{
+ Id: 600004
+ AegisName: "Dragonic_Slayer"
+ Name: "Dragonic_Slayer"
+},
+{
+ Id: 610000
+ AegisName: "Boost_Katar"
+ Name: "Boost_Katar"
+},
+{
+ Id: 610003
+ AegisName: "Blade_Katar"
+ Name: "Blade_Katar"
+},
+{
+ Id: 640000
+ AegisName: "Boost_Staff"
+ Name: "Boost_Staff"
+},
+{
+ Id: 640004
+ AegisName: "Blue_Crystal_Staff"
+ Name: "Blue_Crystal_Staff"
+},
+{
+ Id: 700001
+ AegisName: "Boost_Bow"
+ Name: "Boost_Bow"
+},
+{
+ Id: 700003
+ AegisName: "Scalet_Dragon_L_Bow"
+ Name: "Scalet_Dragon_L_Bow"
+},
+{
+ Id: 830000
+ AegisName: "Boost_Gatling"
+ Name: "Boost_Gatling"
+},
+{
+ Id: 1000008
+ AegisName: "RangerStone_Top2"
+ Name: "RangerStone_Top2"
+},
+{
+ Id: 1000009
+ AegisName: "RangerStone_Middle2"
+ Name: "RangerStone_Middle2"
+},
+{
+ Id: 1000010
+ AegisName: "RangerStone_Bottom2"
+ Name: "RangerStone_Bottom2"
+},
+{
+ Id: 1000011
+ AegisName: "RangerStone_Robe2"
+ Name: "RangerStone_Robe2"
+},
+{
+ Id: 1000012
+ AegisName: "MechanicStone_Top2"
+ Name: "MechanicStone_Top2"
+},
+{
+ Id: 1000013
+ AegisName: "MechanicStone_Middle2"
+ Name: "MechanicStone_Middle2"
+},
+{
+ Id: 1000014
+ AegisName: "MechanicStone_Bottom2"
+ Name: "MechanicStone_Bottom2"
+},
+{
+ Id: 1000015
+ AegisName: "MechanicStone_Robe2"
+ Name: "MechanicStone_Robe2"
+},
+{
+ Id: 1000016
+ AegisName: "HighpriestStone_Top2"
+ Name: "HighpriestStone_Top2"
+},
+{
+ Id: 1000017
+ AegisName: "HighpriestStone_Middle2"
+ Name: "HighpriestStone_Middle2"
+},
+{
+ Id: 1000018
+ AegisName: "HighpriestStone_Bottom2"
+ Name: "HighpriestStone_Bottom2"
+},
+{
+ Id: 1000019
+ AegisName: "ArchbishopStone_Robe2"
+ Name: "ArchbishopStone_Robe2"
+},
+{
+ Id: 1000213
+ AegisName: "WarlockStone_Robe2"
+ Name: "WarlockStone_Robe2"
+},
+{
+ Id: 1000214
+ AegisName: "WarlockStone_Top2"
+ Name: "WarlockStone_Top2"
+},
+{
+ Id: 1000215
+ AegisName: "WarlockStone_Middle2"
+ Name: "WarlockStone_Middle2"
+},
+{
+ Id: 1000216
+ AegisName: "WarlockStone_Bottom2"
+ Name: "WarlockStone_Bottom2"
+},
+{
+ Id: 1000217
+ AegisName: "RoyalguardStone_Robe2"
+ Name: "RoyalguardStone_Robe2"
+},
+{
+ Id: 1000218
+ AegisName: "PaladinStone_Top2"
+ Name: "PaladinStone_Top2"
+},
+{
+ Id: 1000219
+ AegisName: "PaladinStone_Middle2"
+ Name: "PaladinStone_Middle2"
+},
+{
+ Id: 1000220
+ AegisName: "PaladinStone_Bottom2"
+ Name: "PaladinStone_Bottom2"
+},
+{
+ Id: 1000221
+ AegisName: "GuillcrossStone_Robe2"
+ Name: "GuillcrossStone_Robe2"
+},
+{
+ Id: 1000222
+ AegisName: "AssacrossStone_Top2"
+ Name: "AssacrossStone_Top2"
+},
+{
+ Id: 1000223
+ AegisName: "AssacrossStone_Middle2"
+ Name: "AssacrossStone_Middle2"
+},
+{
+ Id: 1000224
+ AegisName: "AssacrossStone_Bottom2"
+ Name: "AssacrossStone_Bottom2"
+},
)
diff --git a/db/pre-re/item_group.conf b/db/pre-re/item_group.conf
index d2d9c61d8..ebf79bd4d 100644
--- a/db/pre-re/item_group.conf
+++ b/db/pre-re/item_group.conf
@@ -9,7 +9,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-2020 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/db/pre-re/item_lapineddukddak.conf b/db/pre-re/item_lapineddukddak.conf
new file mode 100644
index 000000000..af45e0504
--- /dev/null
+++ b/db/pre-re/item_lapineddukddak.conf
@@ -0,0 +1,2318 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018-2020 Hercules Dev Team
+//= Copyright (C) 2018-2019 Asheraf
+//=
+//= 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/>.
+//=========================================================================
+
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+<Box_Item_Const>: {
+ NeedCount: (int, defaults to 0) The required amount of unique items
+ NeedRefineMin: (int, defaults to 0) The minimum refine for each of the items
+ NeedRefineMax: (int, defaults to 0) The maximum refine for each of the items
+ SourceItems: { A list of allowed items to be converted with specific amount for each item
+ <Item_Const>: <amount> (string, int)
+ ...
+ }
+ Script: <"
+ Script (it can be multi-line)
+ Executes on success
+ ">
+}
+**************************************************************************/
+/*
+22529: {
+ NeedCount: 3
+ SourceItems: {
+ S_CriticalHit_Armor: 1
+ // 24018: 1
+ // 24019: 1
+ // 24020: 1
+ // 24021: 1
+ // 24022: 1
+ // 24023: 1
+ // 24024: 1
+ // 24025: 1
+ // 24026: 1
+ // 24027: 1
+ // 24028: 1
+ // 24029: 1
+ // 24030: 1
+ // 24031: 1
+ // 24032: 1
+ // 24033: 1
+ // 24034: 1
+ // 24035: 1
+ // 24036: 1
+ // 24037: 1
+ // 24038: 1
+ // 24039: 1
+ // 24040: 1
+ // 24041: 1
+ // 24042: 1
+ // 24043: 1
+ // 24044: 1
+ // 24045: 1
+ // 24046: 1
+ // 24047: 1
+ // 24048: 1
+ // 24049: 1
+ // 24050: 1
+ // 24051: 1
+ // 24052: 1
+ // 24053: 1
+ // 24054: 1
+ // 24055: 1
+ // 24056: 1
+ // 24057: 1
+ // 24058: 1
+ // 24059: 1
+ // 24060: 1
+ // 24061: 1
+ // 24062: 1
+ // 24063: 1
+ // 24064: 1
+ // 24065: 1
+ // 24066: 1
+ // 24067: 1
+ // 24068: 1
+ // 24069: 1
+ // 24070: 1
+ // 24071: 1
+ // 24072: 1
+ // 24073: 1
+ // 24074: 1
+ // 24075: 1
+ // 24076: 1
+ // 24077: 1
+ // 24078: 1
+ // 24079: 1
+ // 24080: 1
+ // 24081: 1
+ // 24082: 1
+ // 24083: 1
+ // 24084: 1
+ // 24085: 1
+ // 24086: 1
+ // 24087: 1
+ // 24088: 1
+ // 24089: 1
+ // 24090: 1
+ // 24091: 1
+ // 24092: 1
+ // 24093: 1
+ // 24094: 1
+ // 24095: 1
+ // 24096: 1
+ // 24097: 1
+ // 24098: 1
+ // 24099: 1
+ // 24100: 1
+ // 24101: 1
+ // 24102: 1
+ // 24103: 1
+ // 24104: 1
+ // 24105: 1
+ // 24106: 1
+ // 24107: 1
+ // 24108: 1
+ // 24109: 1
+ // 24110: 1
+ // 24111: 1
+ // 24112: 1
+ // 24113: 1
+ // 24114: 1
+ // 24115: 1
+ // 24116: 1
+ // 24117: 1
+ // 24118: 1
+ // 24119: 1
+ // 24120: 1
+ // 24121: 1
+ // 24122: 1
+ // 24123: 1
+ // 24124: 1
+ // 24125: 1
+ // 24126: 1
+ // 24127: 1
+ // 24128: 1
+ // 24129: 1
+ // 24130: 1
+ // 24131: 1
+ // 24132: 1
+ // 24133: 1
+ // 24134: 1
+ // 24135: 1
+ // 24136: 1
+ // 24137: 1
+ // 24138: 1
+ // 24139: 1
+ // 24140: 1
+ // 24141: 1
+ // 24142: 1
+ // 24143: 1
+ // 24144: 1
+ // 24145: 1
+ // 24146: 1
+ // 24147: 1
+ // 24148: 1
+ // 24149: 1
+ // 24150: 1
+ // 24151: 1
+ // 24152: 1
+ // 24153: 1
+ // 24154: 1
+ // 24155: 1
+ // 24156: 1
+ // 24157: 1
+ // 24158: 1
+ // 24159: 1
+ // 24160: 1
+ // 24161: 1
+ // 24162: 1
+ // 24163: 1
+ // 24164: 1
+ // 24165: 1
+ // 24166: 1
+ // 24167: 1
+ // 24168: 1
+ // 24169: 1
+ // 24170: 1
+ // 24171: 1
+ // 24172: 1
+ // 24173: 1
+ // 24174: 1
+ // 24175: 1
+ // 24176: 1
+ // 24177: 1
+ // 24178: 1
+ // 24179: 1
+ // 24180: 1
+ // 24181: 1
+ // 24182: 1
+ // 24183: 1
+ // 24184: 1
+ // 24185: 1
+ // 24186: 1
+ // 24187: 1
+ // 24188: 1
+ // 24189: 1
+ // 24190: 1
+ // 24191: 1
+ // 24192: 1
+ // 24193: 1
+ // 24194: 1
+ // 24195: 1
+ // 24196: 1
+ // 24197: 1
+ // 24198: 1
+ // 24199: 1
+ // 24200: 1
+ // 24201: 1
+ // 24202: 1
+ // 24203: 1
+ // 24204: 1
+ // 24205: 1
+ // 24206: 1
+ // 24207: 1
+ // 24208: 1
+ // 24209: 1
+ // 24210: 1
+ // 24211: 1
+ // 24212: 1
+ // 24213: 1
+ // 24214: 1
+ // 24215: 1
+ // 24216: 1
+ // 24217: 1
+ // 24218: 1
+ // 24219: 1
+ // 24220: 1
+ // 24221: 1
+ // 24222: 1
+ // 24223: 1
+ // 24224: 1
+ // 24225: 1
+ // 24226: 1
+ // 24227: 1
+ // 24228: 1
+ // 24229: 1
+ // 24230: 1
+ // 24231: 1
+ // 24232: 1
+ // 24233: 1
+ // 24234: 1
+ // 24235: 1
+ // 24236: 1
+ // 24237: 1
+ // 24238: 1
+ // 24239: 1
+ // 24240: 1
+ // 24241: 1
+ // 24242: 1
+ // 24243: 1
+ // 24244: 1
+ // 24245: 1
+ // 24246: 1
+ // 24247: 1
+ // 24248: 1
+ // 24249: 1
+ // 24250: 1
+ // 24251: 1
+ // 24252: 1
+ // 24253: 1
+ // 24254: 1
+ // 24255: 1
+ // 24256: 1
+ // 24257: 1
+ // 24258: 1
+ // 24259: 1
+ // 24260: 1
+ // 24261: 1
+ // 24262: 1
+ // 24263: 1
+ // 24264: 1
+ // 24265: 1
+ // 24266: 1
+ // 24267: 1
+ // 24268: 1
+ // 24269: 1
+ // 24270: 1
+ // 24271: 1
+ // 24272: 1
+ // 24273: 1
+ // 24274: 1
+ // 24275: 1
+ // 24276: 1
+ // 24277: 1
+ // 24278: 1
+ // 24279: 1
+ // 24280: 1
+ // 24281: 1
+ // 24282: 1
+ // 24283: 1
+ // 24284: 1
+ // 24285: 1
+ // 24286: 1
+ // 24287: 1
+ // 24288: 1
+ // 24289: 1
+ // 24290: 1
+ // 24291: 1
+ // 24292: 1
+ // 24293: 1
+ // 24294: 1
+ // 24295: 1
+ // 24296: 1
+ // 24297: 1
+ // 24298: 1
+ // 24299: 1
+ // 24300: 1
+ // 24301: 1
+ // 24302: 1
+ // 24303: 1
+ // 24304: 1
+ // 24305: 1
+ // 24306: 1
+ // 24307: 1
+ // 24308: 1
+ // 24309: 1
+ // 24310: 1
+ // 24311: 1
+ // 24312: 1
+ // 24313: 1
+ // 24314: 1
+ // 24315: 1
+ // 24316: 1
+ // 24317: 1
+ // 24318: 1
+ // 24319: 1
+ // 24320: 1
+ // 24321: 1
+ // 24322: 1
+ // 24323: 1
+ // 24324: 1
+ // 24325: 1
+ // 24326: 1
+ // 24327: 1
+ // 24328: 1
+ // 24329: 1
+ // 24330: 1
+ // 24331: 1
+ // 24332: 1
+ // 24333: 1
+ // 24334: 1
+ // 24335: 1
+ // 24336: 1
+ // 24337: 1
+ // 24338: 1
+ // 24339: 1
+ // 24340: 1
+ // 24345: 1
+ // 24346: 1
+ // 24347: 1
+ // 24348: 1
+ // 24349: 1
+ // 24350: 1
+ // 24351: 1
+ // 24352: 1
+ // 24353: 1
+ // 24354: 1
+ // 24355: 1
+ // 24356: 1
+ // 24357: 1
+ // 24358: 1
+ // 24359: 1
+ // 24360: 1
+ // 24361: 1
+ // 24362: 1
+ // 24363: 1
+ // 24364: 1
+ // 24365: 1
+ // 24366: 1
+ // 24367: 1
+ // 24368: 1
+ // 24369: 1
+ // 24370: 1
+ // 24371: 1
+ // 24372: 1
+ // 24373: 1
+ // 24374: 1
+ // 24375: 1
+ // 24376: 1
+ // 24377: 1
+ // 24378: 1
+ // 24379: 1
+ Sentimental_Weapone_S: 1
+ Sentimental_Earring_S: 1
+ Sentimental_Pendant_S: 1
+ Enchanting_Weapone_S: 1
+ Enchanting_Earring_S: 1
+ Enchanting_Pendant_S: 1
+ S_Infinity_Weapon: 1
+ S_Physical_Shoes: 1
+ S_Physical_Shield: 1
+ S_Physical_Armor: 1
+ S_Magical_Shoes: 1
+ S_Magical_Shield: 1
+ S_Magical_Armor: 1
+ S_ImmunedAthena_Shield: 1
+ S_HardChamption_Shoes: 1
+ S_KingbirdAncient_Armor: 1
+ S_Rebellion_Armor: 1
+ S_Kagerou_Armor: 1
+ S_Oboro_Armor: 1
+ S_Rebellion_Shoes: 1
+ S_Kagerou_Shoes: 1
+ S_Oboro_Shoes: 1
+ S_DoramPhysical_Armor: 1
+ S_DoramPhysical_Shoes: 1
+ S_DoramMagical_Armor: 1
+ S_DoramMagical_Shoes: 1
+ S_Star_Emperor_Armor: 1
+ S_Star_Emperor_Shoes: 1
+ S_Soul_Reaper_Armor: 1
+ S_Soul_Reaper_Shoes: 1
+ S_Tempest_Weapon: 1
+ S_Tempest_Armor: 1
+ S_PerfectSize_Weapon: 1
+ S_PerfectSize_Armor: 1
+ S_M_Exo_Co_Weapon: 1
+ S_M_Viv_Dr_Weapon: 1
+ S_M_Sci_Hu_Weapon: 1
+ S_M_Fis_In_Weapon: 1
+ S_M_Exe_Ho_Weapon: 1
+ S_Penetration_Weapon: 1
+ S_Penetration_Armor: 1
+ S_Exe_Ho_Weapon: 1
+ S_Fis_In_Weapon: 1
+ S_Sci_Hu_Weapon: 1
+ S_Viv_Dr_Weapon: 1
+ S_Exo_Co_Weapon: 1
+ S_Hasty_Weapon: 1
+ S_Sonic_Armor: 1
+ S_Sonic_Shield: 1
+ S_Sonic_Shoes: 1
+ S_Ignition_Weapon: 1
+ S_Ignition_Pendant: 1
+ S_Ignition_Earing: 1
+ S_W_Breath_Armor: 1
+ S_W_Breath_Shield: 1
+ S_W_Breath_Shoes: 1
+ S_F_Breath_Weapon: 1
+ S_F_Breath_Pendant: 1
+ S_F_Breath_Earing: 1
+ S_Cluster_Armor: 1
+ S_Cluster_Shield: 1
+ S_Cluster_Shoes: 1
+ S_Aimed_Weapon: 1
+ S_Aimed_Pendant: 1
+ S_Aimed_Earing: 1
+ S_Arrow_Armor: 1
+ S_Arrow_Shield: 1
+ S_Arrow_Shoes: 1
+ S_Shooting_Weapon: 1
+ S_Shooting_Pendant: 1
+ S_Shooting_Earing: 1
+ S_Tornado_Armor: 1
+ S_Tornado_Shield: 1
+ S_Tornado_Shoes: 1
+ S_Boomerang_Weapon: 1
+ S_Boomerang_Pendant: 1
+ S_Boomerang_Earing: 1
+ S_Vulcan_Armor: 1
+ S_Vulcan_Shield: 1
+ S_Vulcan_Shoes: 1
+ S_Arms_Weapon: 1
+ S_Arms_Pendant: 1
+ S_Arms_Earing: 1
+ S_Rampage_Armor: 1
+ S_Rampage_Shield: 1
+ S_Rampage_Shoes: 1
+ S_Skynetblow_Weapon: 1
+ S_Skynetblow_Pendant: 1
+ S_Skynetblow_Earing: 1
+ S_Knucklearrow_Armor: 1
+ S_Knucklearrow_Shield: 1
+ S_Knucklearrow_Shoes: 1
+ S_TigerCannon_Weapon: 1
+ S_Tigercannon_Pendant: 1
+ S_Tigercannon_Earing: 1
+ S_Duplelight_Armor: 1
+ S_Duplelight_Shield: 1
+ S_Duplelight_Shoes: 1
+ S_Adoramus_Weapon: 1
+ S_Adoramus_Pendant: 1
+ S_Adoramus_Earing: 1
+ S_Judex_Armor: 1
+ S_Judex_Shield: 1
+ S_Judex_Shoes: 1
+ S_Magnus_Weapon: 1
+ S_Magnus_Pendant: 1
+ S_Magnus_Earing: 1
+ S_Rainstorm_Armor: 1
+ S_Rainstorm_Shield: 1
+ S_Rainstorm_Shoes: 1
+ S_Arrowvulcan_Weapon: 1
+ S_Arrowvulcan_Pendant: 1
+ S_Arrowvulcan_Earing: 1
+ S_Metalic_Armor: 1
+ S_Metalic_Shield: 1
+ S_Metalic_Shoes: 1
+ S_Reverberation_Weapon: 1
+ S_Reverberation_Pendant: 1
+ S_Reverberation_Earing: 1
+ S_Jack_Armor: 1
+ S_Jack_Shield: 1
+ S_Jack_Shoes: 1
+ S_Strain_Weapon: 1
+ S_Strain_Pendant: 1
+ S_Strain_Earing: 1
+ S_Crimson_Armor: 1
+ S_Crimson_Shield: 1
+ S_Crimson_Shoes: 1
+ S_Chain_Weapon: 1
+ S_Chain_Pendant: 1
+ S_Chain_Earing: 1
+ S_Triangle_Armor: 1
+ S_Triangle_Shield: 1
+ S_Triangle_Shoes: 1
+ S_Shadowspell_Weapon: 1
+ S_Shadowspell_Pendant: 1
+ S_Shadowspell_Earing: 1
+ S_Menace_Armor: 1
+ S_Menace_Shield: 1
+ S_Menace_Shoes: 1
+ S_Paint_Weapon: 1
+ S_Paint_Pendant: 1
+ S_Paint_Earing: 1
+ S_Rolling_Armor: 1
+ S_Rolling_Shield: 1
+ S_Rolling_Shoes: 1
+ S_Katar_Weapon: 1
+ S_Katar_Pendant: 1
+ S_Katar_Earing: 1
+ S_Slash_Armor: 1
+ S_Slash_Shield: 1
+ S_Slash_Shoes: 1
+ S_Ripper_Weapon: 1
+ S_Ripper_Pendant: 1
+ S_Ripper_Earing: 1
+ S_Dust_Armor: 1
+ S_Dust_Shield: 1
+ S_Dust_Shoes: 1
+ S_Grave_Weapon: 1
+ S_Grave_Pendant: 1
+ S_Grave_Earing: 1
+ S_Psychic_Armor: 1
+ S_Psychic_Shield: 1
+ S_Psychic_Shoes: 1
+ S_Varetyr_Weapon: 1
+ S_Varetyr_Pendant: 1
+ S_Varetyr_Earing: 1
+ S_Cart_Tornado_Armor: 1
+ S_Cart_Tornado_Shield: 1
+ S_Cart_Tornado_Shoes: 1
+ S_Cannon_Cart_Weapon: 1
+ S_Cannon_Cart_Pendant: 1
+ S_Cannon_Cart_Earing: 1
+ S_Spore_Bomb_Armor: 1
+ S_Spore_Bomb_Shield: 1
+ S_Spore_Bomb_Shoes: 1
+ S_Crazy_Weapon: 1
+ S_Crazy_Pendant: 1
+ S_Crazy_Earing: 1
+ S_Brand_Armor: 1
+ S_Brand_Shield: 1
+ S_Brand_Shoes: 1
+ S_Chain_Press_Weapon: 1
+ S_Chain_Press_Pendant: 1
+ S_Chain_Press_Earing: 1
+ S_Banish_Cannon_Armor: 1
+ S_Banish_Cannon_Shield: 1
+ S_Banish_Cannon_Shoes: 1
+ S_Genesis_Weapon: 1
+ S_Genesis_Pendant: 1
+ S_Genesis_Earing: 1
+ // 28391: 1
+ // 28392: 1
+ }
+}
+*/
+/*
+23151: {
+ NeedCount: 3
+ SourceItems: {
+ // 6636: 1
+ // 6637: 1
+ // 6638: 1
+ // 6639: 1
+ // 6640: 1
+ // 6641: 1
+ // 6642: 1
+ // 6643: 1
+ // 6644: 1
+ // 6645: 1
+ // 6716: 1
+ // 6717: 1
+ // 6718: 1
+ // 6740: 1
+ // 6741: 1
+ // 6742: 1
+ // 6743: 1
+ // 6744: 1
+ // 6745: 1
+ // 6790: 1
+ // 6791: 1
+ // 6792: 1
+ // 6908: 1
+ // 6943: 1
+ // 6944: 1
+ // 6945: 1
+ // 6946: 1
+ // 6947: 1
+ // 6948: 1
+ // 6949: 1
+ // 6950: 1
+ // 6951: 1
+ // 6963: 1
+ // 6964: 1
+ // 6999: 1
+ // 25000: 1
+ // 25001: 1
+ // 25002: 1
+ // 25003: 1
+ // 25004: 1
+ // 25005: 1
+ // 25006: 1
+ // 25007: 1
+ // 25008: 1
+ // 25009: 1
+ // 25010: 1
+ // 25011: 1
+ // 25012: 1
+ // 25013: 1
+ // 25014: 1
+ // 25015: 1
+ // 25016: 1
+ // 25017: 1
+ // 25058: 1
+ // 25059: 1
+ // 25060: 1
+ // 25061: 1
+ // 25062: 1
+ // 25063: 1
+ // 25064: 1
+ // 25065: 1
+ // 25066: 1
+ // 25067: 1
+ // 25068: 1
+ // 25069: 1
+ // 25070: 1
+ // 25071: 1
+ // 25072: 1
+ // 25136: 1
+ // 25137: 1
+ // 25138: 1
+ // 25139: 1
+ // 25141: 1
+ // 25170: 1
+ // 25171: 1
+ // 25172: 1
+ // 25173: 1
+ // 25174: 1
+ // 25175: 1
+ // 25176: 1
+ // 25177: 1
+ // 25178: 1
+ // 25205: 1
+ // 25206: 1
+ // 25207: 1
+ // 25208: 1
+ // 25209: 1
+ // 25210: 1
+ // 25224: 1
+ // 25225: 1
+ // 25226: 1
+ // 25227: 1
+ // 25228: 1
+ // 25229: 1
+ // 25302: 1
+ // 25303: 1
+ // 25304: 1
+ // 25305: 1
+ // 25306: 1
+ SuraStone_Top: 1
+ SuraStone_Middle: 1
+ SuraStone_Bottom: 1
+ SuraStone_Robe: 1
+ RangerStone_Top: 1
+ RangerStone_Middle: 1
+ RangerStone_Bottom: 1
+ RangerStone_Robe: 1
+ SorcererStone_Top: 1
+ SorcererStone_Middle: 1
+ SorcererStone_Bottom: 1
+ SorcererStone_Robe: 1
+ RuneknightStone_Top: 1
+ RuneknightStone_Middle: 1
+ RuneknightStone_Bottom: 1
+ RuneknightStone_Robe: 1
+ GeneticStone_Robe: 1
+ GeneticStone_Top: 1
+ GeneticStone_Middle: 1
+ GeneticStone_Bottom: 1
+ WarlockStone_Top: 1
+ WarlockStone_Middle: 1
+ WarlockStone_Bottom: 1
+ WarlockStone_Robe: 1
+ ShadowchaserStone_Top: 1
+ ShadowchaseStone_Middle: 1
+ ShadowchaseStone_Bottom: 1
+ ShadowchaserStone_Robe: 1
+ MechanicStone_Top: 1
+ MechanicStone_Middle: 1
+ MechanicStone_Bottom: 1
+ MechanicStone_Robe: 1
+ WanderMinstrelStone_Top: 1
+ WanderMinstStone_Middle: 1
+ WanderMinstStone_Bottom: 1
+ WanderMinstreStone_Robe: 1
+ HighpriestStone_Top: 1
+ HighpriestStone_Middle: 1
+ HighpriestStone_Bottom: 1
+ ArchbishopStone_Robe: 1
+ PaladinStone_Top: 1
+ PaladinStone_Middle: 1
+ PaladinStone_Bottom: 1
+ RoyalguardStone_Robe: 1
+ AssacrossStone_Top: 1
+ AssacrossStone_Middle: 1
+ AssacrossStone_Bottom: 1
+ GuillcrossStone_Robe: 1
+ SuraStone_Robe2: 1
+ SuraStone_Bottom2: 1
+ SuraStone_Middle2: 1
+ SuraStone_Top2: 1
+ SorcererStone_Robe2: 1
+ SorcererStone_Bottom2: 1
+ SorcererStone_Middle2: 1
+ SorcererStone_Top2: 1
+ ShadowchaserStone_Robe2: 1
+ ShadowchasStone_Bottom2: 1
+ ShadowchasStone_Middle2: 1
+ ShadowchaserStone_Top2: 1
+ SoulreaperStone_Robe: 1
+ SoullinkerStone_Top: 1
+ SoullinkerStone_Middle: 1
+ SoullinkerStone_Bottom: 1
+ GladiatorStone_Top: 1
+ GladiatorStone_Middle: 1
+ GladiatorStone_Bottom: 1
+ StaremperorStone_Robe: 1
+ NinjaStone_Top: 1
+ NinjaStone_Middle: 1
+ NinjaStone_Bottom: 1
+ KagerouStone_Robe: 1
+ OboroStone_Robe: 1
+ GunslingerStone_Top: 1
+ GunslingerStone_Middle: 1
+ GunslingerStone_Bottom: 1
+ RebellionStone_Robe: 1
+ DoramStone_Top: 1
+ DoramStone_Middle: 1
+ DoramStone_Bottom: 1
+ DoramStone_Robe: 1
+ RangerStone_Top2: 1
+ RangerStone_Middle2: 1
+ RangerStone_Bottom2: 1
+ RangerStone_Robe2: 1
+ MechanicStone_Top2: 1
+ MechanicStone_Middle2: 1
+ MechanicStone_Bottom2: 1
+ MechanicStone_Robe2: 1
+ HighpriestStone_Top2: 1
+ HighpriestStone_Middle2: 1
+ HighpriestStone_Bottom2: 1
+ ArchbishopStone_Robe2: 1
+ WarlockStone_Robe2: 1
+ WarlockStone_Top2: 1
+ WarlockStone_Middle2: 1
+ WarlockStone_Bottom2: 1
+ RoyalguardStone_Robe2: 1
+ PaladinStone_Top2: 1
+ PaladinStone_Middle2: 1
+ PaladinStone_Bottom2: 1
+ GuillcrossStone_Robe2: 1
+ AssacrossStone_Top2: 1
+ AssacrossStone_Middle2: 1
+ AssacrossStone_Bottom2: 1
+ }
+}
+*/
+/*
+23152: {
+ NeedCount: 10
+ SourceItems: {
+ Danggie: 10
+ Tree_Root: 10
+ Reptile_Tongue: 10
+ Scorpions_Tail: 10
+ Stem: 10
+ Pointed_Scale: 10
+ Resin: 10
+ Spawn: 10
+ Jellopy: 10
+ Garlet: 10
+ Scell: 10
+ Zargon: 10
+ Tooth_Of_Bat: 10
+ Fluff: 10
+ Chrysalis: 10
+ Feather_Of_Birds: 10
+ Talon: 10
+ Sticky_Webfoot: 10
+ Animals_Skin: 10
+ Claw_Of_Wolves: 10
+ Mushroom_Spore: 10
+ Orcish_Cuspid: 10
+ Evil_Horn: 10
+ Powder_Of_Butterfly: 10
+ Bill_Of_Birds: 10
+ Scale_Of_Snakes: 10
+ Insect_Feeler: 10
+ Immortal_Heart: 10
+ Rotten_Bandage: 10
+ Orcish_Voucher: 10
+ Skel_Bone: 10
+ Shell: 10
+ Scales_Shell: 10
+ Posionous_Canine: 10
+ Sticky_Mucus: 10
+ Bee_Sting: 10
+ Grasshoppers_Leg: 10
+ Nose_Ring: 10
+ Yoyo_Tail: 10
+ Solid_Shell: 10
+ Horseshoe: 10
+ Raccoon_Leaf: 10
+ Snails_Shell: 10
+ Horn: 10
+ Bears_Foot: 10
+ Feather: 10
+ Heart_Of_Mermaid: 10
+ Fin: 10
+ Cactus_Needle: 10
+ Stone_Heart: 10
+ Shining_Scales: 10
+ Worm_Peelings: 10
+ Gill: 10
+ Decayed_Nail: 10
+ Horrendous_Mouth: 10
+ Rotten_Scale: 10
+ Nipper: 10
+ Conch: 10
+ Tentacle: 10
+ Sharp_Scale: 10
+ Crap_Shell: 10
+ Clam_Shell: 10
+ Flesh_Of_Clam: 10
+ Turtle_Shell: 10
+ Voucher_Of_Orcish_Hero: 10
+ Gold: 10
+ Lizard_Scruff: 10
+ Colorful_Shell: 10
+ Jaws_Of_Ant: 10
+ Thin_N_Long_Tongue: 10
+ Rat_Tail: 10
+ Moustache_Of_Mole: 10
+ Nail_Of_Mole: 10
+ Wooden_Block: 10
+ Long_Hair: 10
+ Dokkaebi_Horn: 10
+ Fox_Tail: 10
+ Fish_Tail: 10
+ Chinese_Ink: 10
+ Spiderweb: 10
+ Acorn: 10
+ Porcupine_Spike: 10
+ Wild_Boars_Mane: 10
+ Tigers_Skin: 10
+ Tiger_Footskin: 10
+ Limb_Of_Mantis: 10
+ Blossom_Of_Maneater: 10
+ Root_Of_Maneater: 10
+ Cobold_Hair: 10
+ Dragon_Canine: 10
+ Dragon_Scale: 10
+ Dragon_Train: 10
+ Petite_DiablOfs_Horn: 10
+ Petite_DiablOfs_Wing: 10
+ Elder_Pixies_Beard: 10
+ Lantern: 10
+ Short_Leg: 10
+ Nail_Of_Orc: 10
+ Tooth_Of_: 10
+ Sacred_Masque: 10
+ Tweezer: 10
+ Head_Of_Medusa: 10
+ Slender_Snake: 10
+ Skirt_Of_Virgin: 10
+ Tendon: 10
+ Detonator: 10
+ Single_Cell: 10
+ Tooth_Of_Ancient_Fish: 10
+ Lip_Of_Ancient_Fish: 10
+ Earthworm_Peeling: 10
+ Grit: 10
+ Moth_Dust: 10
+ Wing_Of_Moth: 10
+ Transparent_Cloth: 10
+ Golden_Hair: 10
+ Starsand_Of_Witch: 10
+ Pumpkin_Head: 10
+ Sharpened_Cuspid: 10
+ Reins: 10
+ Tree_Of_Archer_1: 10
+ Tree_Of_Archer_2: 10
+ Tree_Of_Archer_3: 10
+ Short_Daenggie: 10
+ Needle_Of_Alarm: 10
+ Round_Shell: 10
+ Worn_Out_Page: 10
+ Manacles: 10
+ Worn_Out_Prison_Uniform: 10
+ // 4454: 10
+ // 4455: 10
+ // 4478: 10
+ // 4479: 10
+ Fur: 10
+ Peaked_Hat: 10
+ Hard_Skin: 10
+ Mystic_Horn: 10
+ Rakehorn_Helm: 10
+ Antler_Helm: 10
+ Twinhorn_Helm: 10
+ Singlehorn_Helm: 10
+ White_Spider_Limb: 10
+ Fortune_Cookie_Fail: 10
+ // 6496: 10
+ // 6609: 10
+ // 6610: 10
+ // 6648: 10
+ // 6936: 10
+ // 6937: 10
+ // 6938: 10
+ // 6939: 10
+ // 6940: 10
+ // 6941: 10
+ // 6942: 10
+ Mould_Powder: 10
+ Ogre_Tooth: 10
+ Anolian_Skin: 10
+ Mud_Lump: 10
+ Skull: 10
+ Wing_Of_Red_Bat: 10
+ Claw_Of_Rat: 10
+ Stiff_Horn: 10
+ Glitter_Shell: 10
+ Tail_Of_Steel_Scorpion: 10
+ Claw_Of_Monkey: 10
+ Tough_Scalelike_Stem: 10
+ Coral_Reef: 10
+ Executioners_Mitten: 10
+ Claw_Of_Desert_Wolf: 10
+ Old_Frying_Pan: 10
+ Piece_Of_Egg_Shell: 10
+ Poison_Spore: 10
+ Alices_Apron: 10
+ Talon_Of_Griffin: 10
+ Cyfar: 10
+ Brigan: 10
+ Treasure_Box: 10
+ Old_White_Cloth: 10
+ Clattering_Skull: 10
+ Broken_Farming_Utensil: 10
+ Broken_Crown: 10
+ // 25156: 10
+ // 25157: 10
+ // 25158: 10
+ // 25256: 10
+ BrokenArrow: 10
+ // 25259: 10
+ // 25261: 10
+ // 25262: 10
+ // 25263: 10
+ // 25264: 10
+ Shining_Spore: 10
+ Dried_Leaf_Of_Ygg: 10
+ // 25267: 10
+ // 25272: 10
+ // 25276: 10
+ // 25277: 10
+ // 25278: 10
+ // 25279: 10
+ // 25280: 10
+ // 25281: 10
+ // 25282: 10
+ // 25283: 10
+ // 25284: 10
+ // 25285: 10
+ // 25297: 10
+ // 25298: 10
+ // 25299: 10
+ // 25300: 10
+ // 25311: 10
+ // 25312: 10
+ // 25313: 10
+ Ein_SOLIDDUST: 10
+ Ein_RUSTHELM: 10
+ Ein_EYEROCK: 10
+ }
+}
+*/
+/*
+23153: {
+ NeedCount: 2
+ SourceItems: {
+ Poring_Egg: 1
+ Drops_Egg: 1
+ Poporing_Egg: 1
+ Lunatic_Egg: 1
+ Picky_Egg: 1
+ Chonchon_Egg: 1
+ Steel_Chonchon_Egg: 1
+ Hunter_Fly_Egg: 1
+ Savage_Bebe_Egg: 1
+ Baby_Desert_Wolf_Egg: 1
+ Rocker_Egg: 1
+ Spore_Egg: 1
+ Poison_Spore_Egg: 1
+ PecoPeco_Egg: 1
+ Smokie_Egg: 1
+ Yoyo_Egg: 1
+ Orc_Warrior_Egg: 1
+ Munak_Egg: 1
+ Dokkaebi_Egg: 1
+ Sohee_Egg: 1
+ Isis_Egg: 1
+ Green_Petite_Egg: 1
+ Deviruchi_Egg: 1
+ Bapho_Jr_Egg: 1
+ Bongun_Egg: 1
+ Zherlthsh_Egg: 1
+ Alice_Egg: 1
+ Rice_Cake_Egg: 1
+ Santa_Goblin_Egg: 1
+ Chung_E_Egg: 1
+ Spring_Rabbit_Egg: 1
+ Knife_Goblin_Egg: 1
+ Flail_Goblin_Egg: 1
+ Hammer_Goblin_Egg: 1
+ Red_Deleter_Egg: 1
+ Diabolic_Egg: 1
+ Wanderer_Egg: 1
+ New_Year_Doll_Egg: 1
+ Bacsojin_Egg: 1
+ Civil_Servant_Egg: 1
+ Leaf_Cat_Egg: 1
+ Loli_Ruri_Egg: 1
+ Marionette_Egg: 1
+ Shinobi_Egg: 1
+ Whisper_Egg: 1
+ Goblin_Leader_Egg: 1
+ Wicked_Nymph_Egg: 1
+ Miyabi_Ningyo_Egg: 1
+ Dullahan_Egg: 1
+ Medusa_Egg: 1
+ Stone_Shooter_Egg: 1
+ Incubus_Egg: 1
+ Golem_Egg: 1
+ Nightmare_Terror_Egg: 1
+ Succubus_Egg: 1
+ Imp_Egg: 1
+ // 9057: 1
+ Snow_Rabbit_Egg: 1
+ // 9059: 1
+ // 9060: 1
+ // 9061: 1
+ // 9063: 1
+ // 9068: 1
+ // 9095: 1
+ // 9099: 1
+ // 9100: 1
+ // 9101: 1
+ // 9102: 1
+ // 9103: 1
+ // 9104: 1
+ }
+}
+*/
+/*
+23154: {
+ NeedCount: 1
+ SourceItems: {
+ // 5909: 1
+ // 5979: 1
+ // 18740: 1
+ // 19158: 1
+ // 19289: 1
+ C_Shiba_Inu: 1
+ C_CatEars_Cyber_HeadP_R: 1
+ // 19608: 1
+ // 19643: 1
+ // 19654: 1
+ // 19712: 1
+ // 19721: 1
+ // 19761: 1
+ // 19815: 1
+ // 19816: 1
+ // 19823: 1
+ // 19876: 1
+ // 19954: 1
+ // 19959: 1
+ // 19960: 1
+ // 19990: 1
+ // 19992: 1
+ // 20022: 1
+ // 20033: 1
+ // 20036: 1
+ // 20071: 1
+ // 20098: 1
+ // 20130: 1
+ // 20132: 1
+ // 20133: 1
+ // 20145: 1
+ // 20146: 1
+ // 20147: 1
+ // 20171: 1
+ // 20172: 1
+ // 20174: 1
+ // 20175: 1
+ // 20195: 1
+ // 20199: 1
+ // 20200: 1
+ // 20201: 1
+ // 20202: 1
+ // 20230: 1
+ // 20231: 1
+ // 20232: 1
+ // 20233: 1
+ // 20239: 1
+ // 20242: 1
+ // 20255: 1
+ // 20257: 1
+ // 20266: 1
+ // 20268: 1
+ // 20273: 1
+ // 20286: 1
+ // 20299: 1
+ // 20300: 1
+ // 20315: 1
+ // 20318: 1
+ // 20325: 1
+ // 20329: 1
+ // 20330: 1
+ // 20340: 1
+ // 20341: 1
+ // 20342: 1
+ // 20349: 1
+ // 20350: 1
+ // 20351: 1
+ // 20352: 1
+ // 20353: 1
+ // 20354: 1
+ // 20355: 1
+ // 20356: 1
+ // 20357: 1
+ // 20358: 1
+ // 20359: 1
+ // 20360: 1
+ // 20361: 1
+ // 20362: 1
+ // 20363: 1
+ // 20364: 1
+ // 20365: 1
+ // 20366: 1
+ // 20367: 1
+ // 20368: 1
+ // 20369: 1
+ // 20370: 1
+ // 20381: 1
+ // 20395: 1
+ // 20396: 1
+ // 20398: 1
+ // 20399: 1
+ // 20404: 1
+ // 20405: 1
+ // 20430: 1
+ // 20432: 1
+ // 20433: 1
+ // 20440: 1
+ // 20447: 1
+ // 20448: 1
+ // 20449: 1
+ // 20458: 1
+ // 20459: 1
+ // 20464: 1
+ // 20482: 1
+ // 20486: 1
+ // 20487: 1
+ // 20488: 1
+ // 20489: 1
+ // 20491: 1
+ // 20499: 1
+ // 20502: 1
+ // 20504: 1
+ // 20507: 1
+ // 20509: 1
+ // 20510: 1
+ // 20511: 1
+ C_Thanatos_Sword: 1
+ C_Magic_Circle: 1
+ C_Wings_of_Michael: 1
+ C_GiantCatBag_TW: 1
+ C_Full_BloomCherry_Tree: 1
+ C_PinkButterfly_Wing_T: 1
+ C_Digital_Space: 1
+ C_Halloween_Poring_Bag: 1
+ C_Backside_Ribbon_Bell: 1
+ C_HeartChocoBag: 1
+ C_WingOfHeart: 1
+ C_Cat_Fork: 1
+ C_Big_Foxtail: 1
+ // 20746: 1
+ // 20761: 1
+ // 20762: 1
+ // 20764: 1
+ // 20765: 1
+ // 31027: 1
+ // 31029: 1
+ // 31031: 1
+ // 31033: 1
+ // 31040: 1
+ // 31055: 1
+ // 31057: 1
+ // 31062: 1
+ // 31063: 1
+ // 31064: 1
+ // 31065: 1
+ // 31066: 1
+ // 31067: 1
+ // 31068: 1
+ // 31069: 1
+ // 31070: 1
+ // 31071: 1
+ // 31072: 1
+ // 31073: 1
+ // 31074: 1
+ // 31075: 1
+ // 31076: 1
+ // 31077: 1
+ // 31078: 1
+ // 31079: 1
+ // 31080: 1
+ // 31081: 1
+ // 31082: 1
+ // 31083: 1
+ // 31084: 1
+ // 31085: 1
+ // 31086: 1
+ // 31087: 1
+ // 31088: 1
+ // 31118: 1
+ // 31120: 1
+ // 31123: 1
+ // 31125: 1
+ // 31134: 1
+ // 31136: 1
+ // 31139: 1
+ // 31160: 1
+ // 31162: 1
+ // 31164: 1
+ // 31165: 1
+ // 31166: 1
+ // 31168: 1
+ // 31178: 1
+ // 31180: 1
+ C_Black_Cat: 1
+ Rabbit_Hopping: 1
+ Warm_Cat_Muffler: 1
+ C_Ghost_Holiday: 1
+ C_Alice_Wig: 1
+ C_Khalitzburg_Helm_BL: 1
+ C_Cat_Ears_Punkish: 1
+ C_Sorcerer_Hood: 1
+ C_Pope_Sitting_Head: 1
+ C_Blinking_Thin_Eyes: 1
+ C_Wanderer_Sakkat: 1
+ C_Luwmin_Ice: 1
+ C_Baby_Penguin: 1
+ C_Fluffy_Heart_Earmuffs: 1
+ C_Snow_Bear_Food: 1
+ C_Blessing_Sky_Lantern: 1
+ C_CatCoffeeCup_TW: 1
+ C_CatEarRibbon_TW: 1
+ C_Bouquet_Hat: 1
+ C_Poring_Muffler: 1
+ C_Panda_Rabbit: 1
+ C_Happy_Rabbit_Ribbon: 1
+ C_Princess_Ribbon_Crown: 1
+ C_OpenAir_Headset: 1
+ C_Mobile_Pursuit_System: 1
+ C_Mecha_Cat_Ears: 1
+ C_Cyber_Income: 1
+ C_Poporing_Muffler: 1
+ C_Kishu_Inu: 1
+ C_Autumn_Headband: 1
+ C_Fox: 1
+ C_Sleep_Sheep_TW: 1
+ C_HeartOfCat_TW: 1
+ C_Protect_Cloth: 1
+ C_LunaticMuffler: 1
+ C_Pigtail_Red_Hood: 1
+ C_Smiling_Eyes: 1
+ C_Garnet_Tiara: 1
+ C_Peony_Hair_Ornament: 1
+ C_SavageB_On_Shoulder: 1
+ C_Baby_Panda: 1
+ C_BeachBall: 1
+ C_SharkHead: 1
+ }
+}
+*/
+/*
+23170: {
+ NeedCount: 1
+ SourceItems: {
+ // 28439: 1
+ }
+}
+*/
+/*
+23236: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24282: 1
+ // 24283: 1
+ // 24284: 1
+ // 24285: 1
+ // 24286: 1
+ // 24287: 1
+ // 24288: 1
+ // 24289: 1
+ // 24290: 1
+ // 24291: 1
+ // 24292: 1
+ // 24293: 1
+ // 24294: 1
+ // 24295: 1
+ // 24296: 1
+ // 24297: 1
+ // 24298: 1
+ // 24299: 1
+ // 24300: 1
+ }
+}
+*/
+/*
+23237: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24269: 1
+ // 24270: 1
+ // 24271: 1
+ // 24272: 1
+ // 24273: 1
+ // 24274: 1
+ // 24275: 1
+ // 24276: 1
+ // 24277: 1
+ // 24278: 1
+ // 24279: 1
+ // 24280: 1
+ // 24281: 1
+ S_Rebellion_Armor: 1
+ S_Kagerou_Armor: 1
+ S_Oboro_Armor: 1
+ S_DoramPhysical_Armor: 1
+ S_DoramMagical_Armor: 1
+ S_Star_Emperor_Armor: 1
+ S_Soul_Reaper_Armor: 1
+ }
+}
+*/
+/*
+23238: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24256: 1
+ // 24257: 1
+ // 24258: 1
+ // 24259: 1
+ // 24260: 1
+ // 24261: 1
+ // 24262: 1
+ // 24263: 1
+ // 24264: 1
+ // 24265: 1
+ // 24266: 1
+ // 24267: 1
+ // 24268: 1
+ S_Rebellion_Shoes: 1
+ S_Kagerou_Shoes: 1
+ S_Oboro_Shoes: 1
+ S_DoramPhysical_Shoes: 1
+ S_DoramMagical_Shoes: 1
+ S_Star_Emperor_Shoes: 1
+ S_Soul_Reaper_Shoes: 1
+ }
+}
+*/
+/*
+23239: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24301: 1
+ // 24302: 1
+ // 24303: 1
+ // 24304: 1
+ // 24305: 1
+ // 24306: 1
+ // 24307: 1
+ // 24308: 1
+ // 24309: 1
+ // 24310: 1
+ // 24311: 1
+ // 24312: 1
+ // 24313: 1
+ // 24314: 1
+ // 24315: 1
+ // 24316: 1
+ // 24317: 1
+ // 24318: 1
+ // 24319: 1
+ }
+}
+*/
+/*
+23240: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24250: 1
+ // 24251: 1
+ // 24252: 1
+ // 24253: 1
+ // 24254: 1
+ // 24255: 1
+ }
+}
+*/
+/*
+23241: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24246: 1
+ // 24247: 1
+ // 24248: 1
+ // 24249: 1
+ // 28391: 1
+ // 28392: 1
+ }
+}
+*/
+/*
+23247: {
+ NeedCount: 5
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24034: 1
+ // 24035: 1
+ // 24036: 1
+ // 24037: 1
+ // 24038: 1
+ // 24039: 1
+ // 24040: 1
+ // 24041: 1
+ // 24042: 1
+ // 24043: 1
+ // 24044: 1
+ // 24045: 1
+ }
+}
+*/
+/*
+23248: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24084: 1
+ // 24085: 1
+ // 24086: 1
+ // 24087: 1
+ // 24088: 1
+ // 24089: 1
+ }
+}
+*/
+/*
+23249: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24180: 1
+ // 24181: 1
+ // 24182: 1
+ // 24183: 1
+ // 24184: 1
+ // 24185: 1
+ }
+}
+*/
+/*
+23250: {
+ NeedCount: 4
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24219: 1
+ // 24220: 1
+ // 24221: 1
+ // 24222: 1
+ }
+}
+*/
+/*
+23281: {
+ NeedCount: 4
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24052: 1
+ // 24054: 1
+ // 24055: 1
+ // 24056: 1
+ // 24057: 1
+ // 24058: 1
+ // 24059: 1
+ // 24060: 1
+ // 24061: 1
+ // 24062: 1
+ // 24064: 1
+ // 24065: 1
+ // 24066: 1
+ // 24067: 1
+ // 24068: 1
+ // 24069: 1
+ // 24070: 1
+ // 24071: 1
+ }
+}
+*/
+/*
+23308: {
+ NeedCount: 1
+ SourceItems: {
+ // 19241: 1
+ }
+}
+*/
+/*
+23324: {
+ NeedCount: 3
+ NeedRefineMin: 5
+ SourceItems: {
+ // 24091: 1
+ // 24092: 1
+ // 24093: 1
+ // 24094: 1
+ // 24095: 1
+ // 24096: 1
+ // 24097: 1
+ // 24098: 1
+ // 24099: 1
+ // 24100: 1
+ // 24101: 1
+ // 24102: 1
+ // 24103: 1
+ // 24104: 1
+ // 24105: 1
+ // 24106: 1
+ // 24107: 1
+ // 24108: 1
+ }
+}
+*/
+InfinityShadow_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24150: 1
+ // 24151: 1
+ }
+}
+Silver_Statue: {
+ NeedCount: 1
+ SourceItems: {
+ Bloody_Knight_Shield: 1
+ }
+}
+PhysicalMagical_Mix: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24018: 1
+ // 24019: 1
+ // 24020: 1
+ // 24021: 1
+ // 24022: 1
+ // 24023: 1
+ }
+}
+ImmunedAthena_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24026: 1
+ // 24027: 1
+ // 24051: 1
+ }
+}
+HardChamption_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24025: 1
+ // 24028: 1
+ // 24049: 1
+ }
+}
+KingbirdAncient_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24029: 1
+ // 24031: 1
+ }
+}
+CriticalHit_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24030: 1
+ // 24032: 1
+ // 24332: 1
+ // 24333: 1
+ }
+}
+Bs_Item_M_S_2: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_8: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_10: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_11: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_34: {
+ NeedCount: 2
+ SourceItems: {
+ Piece_Of_Bone_Armor: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_41: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_42: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_43: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_44: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 120
+ Zelunium: 10
+ }
+}
+Bs_Sha_M_S_1: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_17: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 10
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_18: {
+ NeedCount: 2
+ SourceItems: {
+ Baphomet_Doll: 10
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_19: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_20: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Item_M_S_4: {
+ NeedCount: 2
+ SourceItems: {
+ Baphomet_Doll: 30
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_6: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_7: {
+ NeedCount: 2
+ SourceItems: {
+ White_Snake_Tear: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_12: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_13: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_15: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_28: {
+ NeedCount: 2
+ SourceItems: {
+ Ice_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_29: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_31: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_32: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_33: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_36: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_37: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_38: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_39: {
+ NeedCount: 2
+ SourceItems: {
+ Tutankhamens_Mask: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_40: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Pharaoh_Symbol: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_45: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_46: {
+ NeedCount: 2
+ SourceItems: {
+ Scale_Of_Red_Dragon: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_47: {
+ NeedCount: 2
+ SourceItems: {
+ Konts_Letter: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_48: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_49: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_50: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 20
+ }
+}
+Bs_Sha_M_S_2: {
+ NeedCount: 2
+ SourceItems: {
+ Scale_Of_Red_Dragon: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_5: {
+ NeedCount: 2
+ SourceItems: {
+ Queen_Wing_Piece: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_6: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_7: {
+ NeedCount: 2
+ SourceItems: {
+ Boroken_Shiled_Piece: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_8: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_13: {
+ NeedCount: 2
+ SourceItems: {
+ Voucher_Of_Orcish_Hero: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_15: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_16: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_23: {
+ NeedCount: 2
+ SourceItems: {
+ // 6649: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Item_M_S_5: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_9: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_14: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_16: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_17: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_19: {
+ NeedCount: 2
+ SourceItems: {
+ Ice_Scale: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_27: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_35: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 150
+ Zelunium: 25
+ }
+}
+Bs_Sha_M_S_9: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_10: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_11: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_21: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 10
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_22: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Item_M_S_1: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 300
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_3: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_18: {
+ NeedCount: 2
+ SourceItems: {
+ Rojerta_Piece: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_20: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 200
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_21: {
+ NeedCount: 2
+ SourceItems: {
+ // 6649: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_22: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_23: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_24: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_25: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_26: {
+ NeedCount: 2
+ SourceItems: {
+ Boroken_Shiled_Piece: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_30: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Zelunium: 30
+ }
+}
+Bs_Sha_M_S_3: {
+ NeedCount: 2
+ SourceItems: {
+ Piece_Of_Bone_Armor: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_4: {
+ NeedCount: 2
+ SourceItems: {
+ Konts_Letter: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_12: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_14: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_24: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 150
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_25: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Shadowdecon: 25
+ }
+}
+Bs_Item_M_S_51: {
+ NeedCount: 2
+ SourceItems: {
+ Queen_Wing_Piece: 150
+ Zelunium: 20
+ }
+}
+EnchantStone_Recipe_9m: {
+ NeedCount: 1
+ SourceItems: {
+ // 19959: 1
+ // 19960: 1
+ // 20033: 1
+ // 20171: 1
+ // 20482: 1
+ // 31139: 1
+ Rabbit_Hopping: 1
+ C_Ghost_Holiday: 1
+ C_Sorcerer_Hood: 1
+ C_Luwmin_Ice: 1
+ C_Astro_Circle: 1
+ C_Baby_Penguin: 1
+ C_Fluffy_Heart_Earmuffs: 1
+ C_Blessing_Sky_Lantern: 1
+ C_Flying_Drone: 1
+ C_Bouquet_Hat: 1
+ C_Poring_Muffler: 1
+ C_Elephangel_TH: 1
+ C_Happy_Rabbit_Ribbon: 1
+ C_Autumn_Headband: 1
+ }
+}
+IDTest_Special: {
+ NeedCount: 3
+ SourceItems: {
+ Jellopy: 1
+ Fluff: 1
+ Shell: 1
+ }
+}
+PerfectSize_Mix: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24072: 1
+ // 24073: 1
+ // 24074: 1
+ // 24075: 1
+ // 24076: 1
+ // 24077: 1
+ }
+}
+MagicPiercing_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24170: 1
+ // 24171: 1
+ // 24172: 1
+ // 24173: 1
+ // 24174: 1
+ // 24175: 1
+ // 24176: 1
+ // 24177: 1
+ // 24178: 1
+ // 24179: 1
+ }
+}
+Piercing_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24156: 1
+ // 24157: 1
+ // 24158: 1
+ // 24159: 1
+ // 24160: 1
+ // 24161: 1
+ // 24162: 1
+ // 24163: 1
+ // 24164: 1
+ // 24165: 1
+ }
+}
+Hasty_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24196: 1
+ // 24197: 1
+ // 24320: 1
+ }
+}
+EnchantStone_Recipe_4m: {
+ NeedCount: 1
+ SourceItems: {
+ // 19990: 1
+ // 20098: 1
+ // 20174: 1
+ // 20175: 1
+ // 20257: 1
+ // 20395: 1
+ // 20486: 1
+ C_Full_BloomCherry_Tree: 1
+ // 31139: 1
+ Rabbit_Hopping: 1
+ C_Cat_Ears_Punkish: 1
+ C_Snow_Bear_Food: 1
+ C_CatCoffeeCup_TW: 1
+ C_Panda_Rabbit: 1
+ C_Princess_Ribbon_Crown: 1
+ C_Poporing_Muffler: 1
+ C_Kishu_Inu: 1
+ C_Autumn_Headband: 1
+ C_Fox: 1
+ C_HeartOfCat_TW: 1
+ C_LunaticMuffler: 1
+ }
+}
diff --git a/db/pre-re/item_packages.conf b/db/pre-re/item_packages.conf
index 8e421be53..6da6f1bfe 100644
--- a/db/pre-re/item_packages.conf
+++ b/db/pre-re/item_packages.conf
@@ -9,7 +9,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-2020 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/db/pre-re/job_db.conf b/db/pre-re/job_db.conf
index af8cabf9a..a48a4bc6a 100644
--- a/db/pre-re/job_db.conf
+++ b/db/pre-re/job_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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/db/pre-re/map_zone_db.conf b/db/pre-re/map_zone_db.conf
index b8797a6d3..6d7827dd6 100644
--- a/db/pre-re/map_zone_db.conf
+++ b/db/pre-re/map_zone_db.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) 2013 Ind
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) 2013 Ind
//=
//= 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/db/pre-re/mob_db.conf b/db/pre-re/mob_db.conf
index 40635cd68..78e255f36 100644
--- a/db/pre-re/mob_db.conf
+++ b/db/pre-re/mob_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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
@@ -89,8 +89,26 @@ mob_db: (
}
Drops: {
AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
// ...
}
+ DamageTakenRate: damage taken rate (int, defaults to 100)
+ ViewData: {
+ SpriteId: sprite id (int, defaults to Id)
+ WeaponId: weapon id (int, defaults to 0)
+ ShieldId: shield id (int, defaults to 0)
+ RobeId: garment id (int, defaults to 0)
+ HeadTopId: top headgear id (int, defaults to 0)
+ HeadMidId: middle headgear id (int, defaults to 0)
+ HeadLowId: lower headgear id (int, defaults to 0)
+ HairStyleId: hair style id (int, defaults to 1)
+ BodyStyleId: clothes id (int, defaults to 0)
+ HairColorId: hair color id (int, defaults to 0)
+ BodyColorId: clothes color id (int, defaults to 0)
+ Gender: gender (string, defaults to "SEX_FEMALE")
+ Options: options (int, defaults to 0)
+ }
},
**************************************************************************/
diff --git a/db/pre-re/mob_skill_db.conf b/db/pre-re/mob_skill_db.conf
index 8f752cb68..11af05e98 100644
--- a/db/pre-re/mob_skill_db.conf
+++ b/db/pre-re/mob_skill_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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
@@ -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/pet_db.conf b/db/pre-re/pet_db.conf
index 91f9cb8e8..5c3949572 100644
--- a/db/pre-re/pet_db.conf
+++ b/db/pre-re/pet_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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
@@ -34,1518 +34,1037 @@ pet_db:(
{
// ================ Mandatory fields ==============================
Id: ID (int)
- SpriteName: "Sprite_Name" (string)
Name: "Pet Name" (string)
+ EggItem: "Egg Item Constant" (string)
// ================ Optional fields ===============================
- TamingItem: Taming Item (string, defaults to 0)
- EggItem: Egg Id (string, defaults to 0)
- AccessoryItem: Equipment Id (string, defaults to 0)
- FoodItem: Food Id (string, defaults to 0)
- FoodEffectiveness: hunger points (int, defaults to 0)
- HungerDelay: hunger time (int, defaults to 0)
+ TamingItem: "Taming Item Constant" (string, defaults to 0)
+ FoodItem: "Food Item Constant" (string, defaults to "Pet_Food" (ID=537))
+ AccessoryItem: "Equipment Item Constant" (string, defaults to 0)
+ FoodEffectiveness: hunger points (int, defaults to 80)
+ HungerDelay: hunger time (int, defaults to 60)
+ HungerDecrement: hunger points (int, defaults to 1)
Intimacy: {
- Initial: start intimacy (int, defaults to 0)
- FeedIncrement: feeding intimacy (int, defaults to 0)
- OverFeedDecrement: overfeeding intimacy (int, defaults to 0)
- OwnerDeathDecrement: owner die intimacy (int, defaults to 0)
+ Initial: start intimacy (int, defaults to 250)
+ FeedIncrement: feeding intimacy (int, defaults to 10)
+ OverFeedDecrement: overfeeding intimacy (int, defaults to 100)
+ OwnerDeathDecrement: owner die intimacy (int, defaults to 20)
+ StarvingDelay: starving time (int, defaults to 20)
+ StarvingDecrement: starving intimacy (int, defaults to 20)
}
- CaptureRate: capture rate (int, defaults to 0)
- Speed: speed (int, defaults to 0)
+ CaptureRate: capture rate (int, defaults to 1000)
+ Speed: speed (int, defaults to 150)
SpecialPerformance: true/false (boolean, defaults to false)
TalkWithEmotes: convert talk (boolean, defaults to false)
- AttackRate: attack rate (int, defaults to 0)
- DefendRate: Defence attack (int, defaults to 0)
- ChangeTargetRate: change target (int, defaults to 0)
+ AttackRate: attack rate (int, defaults to 300)
+ DefendRate: Defence attack (int, defaults to 300)
+ ChangeTargetRate: change target (int, defaults to 800)
+ AutoFeed: true/false (boolean, defaults to false)
+ PetScript: <" Pet Script (can also be multi-line) ">
+ EquipScript: <" Equip Script (can also be multi-line) ">
Evolve: {
- EggID: { (string, Evolved Pet EggID)
- Name: Amount (items required to perform evolution)
+ EggID: { (string, Evolved Pet EggID)
+ Name: Amount (items required to perform evolution)
...
}
}
- AutoFeed: true/false (boolean, defaults to false)
- PetScript: <" Pet Script (can also be multi-line) ">
- EquipScript: <" Equip Script (can also be multi-line) ">
},
**************************************************************************/
{
Id: 1002
- SpriteName: "PORING"
Name: "Poring"
TamingItem: "Unripe_Apple"
EggItem: "Poring_Egg"
AccessoryItem: "Backpack"
FoodItem: "Apple_Juice"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
SpecialPerformance: true
AttackRate: 350
DefendRate: 400
- ChangeTargetRate: 800
PetScript: <" petloot(10); ">
EquipScript: <"
- bonus(bLuk, 2);
- bonus(bCritical, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bLuk, 2);
+ bonus(bCritical, 1);
+ }
">
},
{
Id: 1011
- SpriteName: "CHONCHON"
Name: "ChonChon"
TamingItem: "Rotten_Fish"
EggItem: "Chonchon_Egg"
AccessoryItem: "Monster_Oxygen_Mask"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 250
PetScript: <" petskillbonus(bAgi, 4, 10, 50); ">
EquipScript: <"
- bonus(bAgi, 1);
- bonus(bFlee, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bAgi, 1);
+ bonus(bFlee, 2);
+ }
">
},
{
Id: 1014
- SpriteName: "SPORE"
Name: "Spore"
TamingItem: "Dew_Laden_Moss"
EggItem: "Spore_Egg"
AccessoryItem: "Bark_Shorts"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
AttackRate: 350
DefendRate: 500
ChangeTargetRate: 500
PetScript: <" petrecovery(SC_POISON, 60); ">
EquipScript: <"
- bonus(bHit, 5);
- bonus(bAtk, -2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bHit, 5);
+ bonus(bAtk, -2);
+ }
">
},
{
Id: 1019
- SpriteName: "PECOPECO"
Name: "PecoPeco"
TamingItem: "Fatty_Chubby_Earthworm"
EggItem: "PecoPeco_Egg"
AccessoryItem: "Battered_Pot"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
AttackRate: 400
DefendRate: 500
- ChangeTargetRate: 800
PetScript: <" petskillbonus(bSpeedRate, 25, 20, 20); ">
EquipScript: <"
- bonus(bMaxHP, 150);
- bonus(bMaxSP, -10);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxHP, 150);
+ bonus(bMaxSP, -10);
+ }
">
},
{
Id: 1023
- SpriteName: "ORK_WARRIOR"
Name: "Orc Warrior"
TamingItem: "Horror_Of_Tribe"
EggItem: "Orc_Warrior_Egg"
AccessoryItem: "Wild_Flower"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
SpecialPerformance: true
AttackRate: 600
DefendRate: 200
ChangeTargetRate: 300
PetScript: <" petskillattack("NPC_PIERCINGATT", 100, 1, 0, 10); ">
EquipScript: <"
- bonus(bAtk, 10);
- bonus(bDef, -3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bAtk, 10);
+ bonus(bDef, -3);
+ }
">
},
{
Id: 1026
- SpriteName: "MUNAK"
Name: "Munak"
TamingItem: "No_Recipient"
EggItem: "Munak_Egg"
AccessoryItem: "Punisher"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
DefendRate: 750
ChangeTargetRate: 300
PetScript: <" petskillattack("NPC_DARKNESSATTACK", 444, 1, 0, 10); ">
EquipScript: <"
- bonus(bInt, 1);
- bonus(bDef, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bInt, 1);
+ bonus(bDef, 1);
+ }
">
},
{
Id: 1029
- SpriteName: "ISIS"
Name: "Isis"
TamingItem: "Armlet_Of_Obedience"
EggItem: "Isis_Egg"
AccessoryItem: "Queens_Hair_Ornament"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
AttackRate: 650
DefendRate: 450
ChangeTargetRate: 150
PetScript: <" petskillsupport("PR_MAGNIFICAT", 2, 60, 50, 50); ">
EquipScript: <"
- bonus(bMatkRate, -1);
- bonus(bAtkRate, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMatkRate, -1);
+ bonus(bAtkRate, 1);
+ }
">
},
{
Id: 1031
- SpriteName: "POPORING"
Name: "Poporing"
TamingItem: "Bitter_Herb"
EggItem: "Poporing_Egg"
AccessoryItem: "Backpack"
FoodItem: "Green_Herb"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
DefendRate: 500
ChangeTargetRate: 400
PetScript: <" petloot(15); ">
EquipScript: <"
- bonus(bLuk, 2);
- bonus2(bSubEle, Ele_Poison, 10);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bLuk, 2);
+ bonus2(bSubEle, Ele_Poison, 10);
+ }
">
},
{
Id: 1035
- SpriteName: "HUNTER_FLY"
Name: "Hunter Fly"
TamingItem: "Monster_Juice"
EggItem: "Hunter_Fly_Egg"
AccessoryItem: "Monster_Oxygen_Mask"
FoodItem: "Red_Gemstone"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 200
PetScript: <" petskillattack("NPC_WINDATTACK", 888, 2, 0, 10); ">
EquipScript: <"
- bonus(bFlee, -5);
- bonus(bFlee2, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bFlee, -5);
+ bonus(bFlee2, 2);
+ }
">
},
{
Id: 1042
- SpriteName: "STEEL_CHONCHON"
Name: "Steel ChonChon"
TamingItem: "Lusty_Iron"
EggItem: "Steel_Chonchon_Egg"
AccessoryItem: "Monster_Oxygen_Mask"
FoodItem: "Iron_Ore"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 200
PetScript: <" petskillbonus(bAgiVit, 4, 20, 40); ">
EquipScript: <"
- bonus(bFlee, 6);
- bonus(bAgi, -1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bFlee, 6);
+ bonus(bAgi, -1);
+ }
">
},
{
Id: 1049
- SpriteName: "PICKY"
Name: "Picky"
TamingItem: "Earthworm_The_Dude"
EggItem: "Picky_Egg"
AccessoryItem: "Tiny_Egg_Shell"
FoodItem: "Red_Herb"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 600
ChangeTargetRate: 50
PetScript: <" petskillbonus(bStr, 3, 10, 50); ">
EquipScript: <"
- bonus(bStr, 1);
- bonus(bAtk, 5);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bStr, 1);
+ bonus(bAtk, 5);
+ }
">
},
{
Id: 1052
- SpriteName: "ROCKER"
Name: "Rocker"
TamingItem: "Singing_Flower"
EggItem: "Rocker_Egg"
AccessoryItem: "Rocker_Glasses"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
AttackRate: 350
DefendRate: 350
ChangeTargetRate: 600
PetScript: <" petskillbonus(bAllStats, 1, 10, 50); ">
EquipScript: <"
- bonus(bHPrecovRate, 5);
- bonus(bMaxHP, 25);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bHPrecovRate, 5);
+ bonus(bMaxHP, 25);
+ }
">
},
{
Id: 1056
- SpriteName: "SMOKIE"
Name: "Smokie"
TamingItem: "Baked_Yam"
EggItem: "Smokie_Egg"
AccessoryItem: "Red_Muffler"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
AttackRate: 600
DefendRate: 600
ChangeTargetRate: 100
PetScript: <" petskillbonus(bPerfectHide, 1, 3600, 0); ">
EquipScript: <"
- bonus(bAgi, 1);
- bonus(bFlee2, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bAgi, 1);
+ bonus(bFlee2, 1);
+ }
">
},
{
Id: 1057
- SpriteName: "YOYO"
Name: "Yoyo"
TamingItem: "Tropical_Banana"
EggItem: "Yoyo_Egg"
AccessoryItem: "Monkey_Circlet"
FoodItem: "Banana_Juice"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
- DefendRate: 800
ChangeTargetRate: 400
PetScript: <" petloot(20); ">
EquipScript: <"
- bonus(bCritical, 3);
- bonus(bLuk, -1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bCritical, 3);
+ bonus(bLuk, -1);
+ }
">
},
{
Id: 1063
- SpriteName: "LUNATIC"
Name: "Lunatic"
TamingItem: "Rainbow_Carrot"
EggItem: "Lunatic_Egg"
AccessoryItem: "Silk_Ribbon"
FoodItem: "Carrot_Juice"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
ChangeTargetRate: 1000
PetScript: <" petskillbonus(bLuk, 3, 10, 50); ">
EquipScript: <"
- bonus(bCritical, 2);
- bonus(bAtk, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bCritical, 2);
+ bonus(bAtk, 2);
+ }
">
},
{
Id: 1077
- SpriteName: "POISON_SPORE"
Name: "Poison Spore"
TamingItem: "Deadly_Noxious_Herb"
EggItem: "Poison_Spore_Egg"
AccessoryItem: "Bark_Shorts"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
AttackRate: 600
DefendRate: 200
ChangeTargetRate: 400
PetScript: <" petskillattack("NPC_POISON", 20, 0, 0, 10); ">
EquipScript: <"
- bonus(bStr, 1);
- bonus(bInt, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bStr, 1);
+ bonus(bInt, 1);
+ }
">
},
{
Id: 1101
- SpriteName: "BAPHOMET_"
Name: "Baphomet Jr."
TamingItem: "Book_Of_Devil"
EggItem: "Bapho_Jr_Egg"
AccessoryItem: "Skull_Helm"
FoodItem: "Honey"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
AttackRate: 1000
DefendRate: 100
ChangeTargetRate: 200
PetScript: <" petskillattack("NPC_DARKNESSATTACK", 1776, 4, 0, 5); ">
EquipScript: <"
- bonus(bDef, 1);
- bonus(bMdef, 1);
- bonus2(bResEff, Eff_Stun, -100);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bDef, 1);
+ bonus(bMdef, 1);
+ bonus2(bResEff, Eff_Stun, -100);
+ }
">
},
{
Id: 1107
- SpriteName: "DESERT_WOLF_B"
Name: "Baby Desert Wolf"
TamingItem: "Well_Dried_Bone"
EggItem: "Baby_Desert_Wolf_Egg"
AccessoryItem: "Transparent_Headgear"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
AttackRate: 400
DefendRate: 400
ChangeTargetRate: 400
PetScript: <" petskillattack("SM_PROVOKE", 1, 0, 0, 5);">
EquipScript: <"
- bonus(bInt, 1);
- bonus(bMaxSP, 50);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bInt, 1);
+ bonus(bMaxSP, 50);
+ }
">
},
{
Id: 1109
- SpriteName: "DEVIRUCHI"
Name: "Deviruchi"
TamingItem: "Contracts_In_Shadow"
EggItem: "Deviruchi_Egg"
AccessoryItem: "Pacifier"
FoodItem: "Shoot"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
- AttackRate: 800
DefendRate: 200
ChangeTargetRate: 100
PetScript: <" petskillbonus(bAgiDexStr, 6, 20, 40); ">
EquipScript: <"
- bonus(bMatkRate, 1);
- bonus(bAtkRate, 1);
- bonus(bMaxHPrate, -3);
- bonus(bMaxSPrate, -3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMatkRate, 1);
+ bonus(bAtkRate, 1);
+ bonus(bMaxHPrate, -3);
+ bonus(bMaxSPrate, -3);
+ }
">
},
{
Id: 1110
- SpriteName: "DOKEBI"
Name: "Dokebi"
TamingItem: "Old_Broom"
EggItem: "Dokkaebi_Egg"
AccessoryItem: "Wig"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("BS_HAMMERFALL", 1, 0, 0, 10); ">
EquipScript: <"
- bonus(bMatkRate, 1);
- bonus(bAtkRate, -1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMatkRate, 1);
+ bonus(bAtkRate, -1);
+ }
">
},
{
Id: 1113
- SpriteName: "DROPS"
Name: "Drops"
TamingItem: "Orange_Juice"
EggItem: "Drops_Egg"
AccessoryItem: "Backpack"
FoodItem: "Yellow_Herb"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
DefendRate: 400
ChangeTargetRate: 500
PetScript: <" petloot(10); ">
EquipScript: <"
- bonus(bHit, 3);
- bonus(bAtk, 3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bHit, 3);
+ bonus(bAtk, 3);
+ }
">
},
{
Id: 1155
- SpriteName: "PETIT"
Name: "Petite"
TamingItem: "Shining_Stone"
EggItem: "Green_Petite_Egg"
AccessoryItem: "Stellar_Hairpin"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 800
DefendRate: 400
ChangeTargetRate: 100
PetScript: <" petskillattack("WZ_HEAVENDRIVE", 500, 1, 0, 10); ">
EquipScript: <"
- bonus(bDef, -2);
- bonus(bMdef, -2);
- bonus(bAspdRate, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bDef, -2);
+ bonus(bMdef, -2);
+ bonus(bAspdRate, 1);
+ }
">
},
{
Id: 1167
- SpriteName: "SAVAGE_BABE"
Name: "Savage Babe"
TamingItem: "Sweet_Milk"
EggItem: "Savage_Bebe_Egg"
AccessoryItem: "Green_Lace"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 200
PetScript: <" petskillbonus(bVit, 4, 10, 50); ">
EquipScript: <"
- bonus(bVit, 1);
- bonus(bMaxHP, 50);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bVit, 1);
+ bonus(bMaxHP, 50);
+ }
">
},
{
Id: 1170
- SpriteName: "SOHEE"
Name: "Sohee"
TamingItem: "Silver_Knife_Of_Chaste"
EggItem: "Sohee_Egg"
AccessoryItem: "Golden_Bell"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
AttackRate: 100
DefendRate: 1000
ChangeTargetRate: 200
PetScript: <" petskillsupport(AL_HEAL, 10, 60, 33, 100); ">
EquipScript: <"
- bonus(bStr, 1);
- bonus(bDex, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bStr, 1);
+ bonus(bDex, 1);
+ }
">
},
{
Id: 1188
- SpriteName: "BON_GUN"
Name: "Bon Gun"
TamingItem: "Heart_Of_Her"
EggItem: "Bongun_Egg"
AccessoryItem: "Sword_Of_Grave_Keeper"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
SpecialPerformance: true
AttackRate: 600
DefendRate: 200
ChangeTargetRate: 400
PetScript: <" petskillattack("NPC_DARKNESSATTACK", 555, 1, 1, 1); ">
EquipScript: <"
- bonus(bVit, 1);
- bonus2(bResEff, Eff_Stun, 100);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bVit, 1);
+ bonus2(bResEff, Eff_Stun, 100);
+ }
">
},
{
Id: 1200
- SpriteName: "ZHERLTHSH"
Name: "Zealotus"
TamingItem: "Prohibition_Red_Candle"
EggItem: "Zherlthsh_Egg"
FoodItem: "Immortal_Heart"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 300
- Speed: 150
AttackRate: 1000
DefendRate: 100
ChangeTargetRate: 500
PetScript: <" petskillattack("AS_SONICBLOW", 1, 0, 0, 3); ">
EquipScript: <"
- bonus2(bAddRace, RC_DemiPlayer, 2);
- bonus2(bMagicAddRace, RC_DemiPlayer, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus2(bAddRace, RC_DemiPlayer, 2);
+ bonus2(bMagicAddRace, RC_DemiPlayer, 2);
+ }
">
},
{
Id: 1245
- SpriteName: "GOBLINE_XMAS"
Name: "Christmas Goblin"
TamingItem: "Sweet_Candy_Striper"
EggItem: "Santa_Goblin_Egg"
FoodItem: "Scell"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("MG_SIGHT", 5, 0, 5, 5); ">
EquipScript: <"
- bonus(bMaxHP, 30);
- bonus2(bSubEle, Ele_Water, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxHP, 30);
+ bonus2(bSubEle, Ele_Water, 1);
+ }
">
},
{
Id: 1275
- SpriteName: "ALICE"
Name: "Alice"
TamingItem: "Sway_Apron"
EggItem: "Alice_Egg"
FoodItem: "White_Potion"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
AttackRate: 100
DefendRate: 1000
ChangeTargetRate: 200
PetScript: <" petskillsupport("AL_HEAL", 5, 60, 25, 100); ">
EquipScript: <"
- bonus(bMdef, 1);
- bonus2(bSubRace, RC_DemiPlayer, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMdef, 1);
+ bonus2(bSubRace, RC_DemiPlayer, 1);
+ }
">
},
// New Pets
{
Id: 1122
- SpriteName: "GOBLIN_1"
Name: "Goblin"
TamingItem: "Knife_Goblin_Ring"
EggItem: "Knife_Goblin_Egg"
FoodItem: "Green_Apple"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("NPC_WINDATTACK", 5, 0, 5, 5); ">
},
{
Id: 1123
- SpriteName: "GOBLIN_2"
Name: "Goblin"
TamingItem: "Flail_Goblin_Ring"
EggItem: "Flail_Goblin_Egg"
FoodItem: "Green_Apple"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("NPC_FIREATTACK", 5, 0, 5, 5); ">
},
{
Id: 1125
- SpriteName: "GOBLIN_4"
Name: "Goblin"
TamingItem: "Hammer_Goblin_Ring"
EggItem: "Hammer_Goblin_Egg"
FoodItem: "Green_Apple"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("NPC_GROUNDATTACK", 5, 0, 5, 5); ">
},
{
Id: 1208
- SpriteName: "WANDER_MAN"
Name: "Wanderer"
TamingItem: "Skull_Of_Vagabond"
EggItem: "Wanderer_Egg"
FoodItem: "Spirit_Liquor"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("NPC_UNDEADATTACK", 5, 0, 5, 5); ">
},
{
Id: 1382
- SpriteName: "DIABOLIC"
Name: "Diabolic"
TamingItem: "Red_Burning_Stone"
EggItem: "Diabolic_Egg"
FoodItem: "Meat_Veg_Skewer"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("WZ_METEOR", 2, 0, 5, 5); ">
},
{
Id: 1385
- SpriteName: "DELETER_"
Name: "Deleter"
TamingItem: "Holy_Marble"
EggItem: "Red_Deleter_Egg"
FoodItem: "Whole_Barbecue"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("SM_MAGNUM", 5, 0, 5, 5); ">
},
{
Id: 1879
- SpriteName: "ECLIPSE_P"
Name: "Spring Rabbit"
EggItem: "Spring_Rabbit_Egg"
FoodItem: "Bok_Choy"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("TF_THROWSTONE", 1, 0, 5, 5); ">
},
// Episode 12
{
Id: 1963
- SpriteName: "P_CHUNG_E"
Name: "New Year Doll"
EggItem: "New_Year_Doll_Egg"
FoodItem: "Mojji"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("CR_SHIELDCHARGE", 5, 0, 5, 5); ">
},
// Episode 13
{
Id: 1815
- SpriteName: "EVENT_RICECAKE"
Name: "Rice Cake"
EggItem: "Rice_Cake_Egg"
FoodItem: "Green_Herb"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 200
PetScript: <" petskillsupport("CR_DEFENDER", 3, 240, 50, 100); ">
EquipScript: <"
- bonus2(bSubEle, Ele_Neutral, 1);
- bonus(bMaxHPrate, -1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus2(bSubEle, Ele_Neutral, 1);
+ bonus(bMaxHPrate, -1);
+ }
">
},
{
Id: 2210
- SpriteName: "XMAS_LUNATIC"
Name: "Christmas Snow Rabbit"
EggItem: "Snow_Rabbit_Egg"
FoodItem: "Candy"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bExpAddRace, RC_All, 5); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bExpAddRace, RC_All, 5);
+ ">
},
// Episode 13.2
{
Id: 1040
- SpriteName: "GOLEM"
Name: "Golem"
TamingItem: "Magical_Lithography"
EggItem: "Golem_Egg"
AccessoryItem: "Windup_Spring"
FoodItem: "Mystic_Stone"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bMaxHP, 100);
- bonus(bFlee, -5);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxHP, 100);
+ bonus(bFlee, -5);
+ }
">
},
{
Id: 1143
- SpriteName: "MARIONETTE"
Name: "Marionette"
TamingItem: "Delicious_Shaved_Ice"
EggItem: "Marionette_Egg"
AccessoryItem: "Star_Hairband"
FoodItem: "Small_Snow_Flower"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bSPrecovRate, 3); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bSPrecovRate, 3);
+ ">
},
{
Id: 1148
- SpriteName: "MEDUSA"
Name: "Medusa"
TamingItem: "Splendid_Mirror"
EggItem: "Medusa_Egg"
AccessoryItem: "Queens_Coronet"
FoodItem: "Apple_Pudding"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bVit, 1);
- bonus2(bResEff, Eff_Stone, 500);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bVit, 1);
+ bonus2(bResEff, Eff_Stone, 500);
+ }
">
},
{
Id: 1179
- SpriteName: "WHISPER"
Name: "Whisper"
TamingItem: "Fit_Pipe"
EggItem: "Whisper_Egg"
AccessoryItem: "Spirit_Chain_"
FoodItem: "Damp_Darkness"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bFlee, 7);
- bonus(bDef, -3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bFlee, 7);
+ bonus(bDef, -3);
+ }
">
},
{
Id: 1299
- SpriteName: "GOBLIN_LEADER"
Name: "Goblin Leader"
TamingItem: "Staff_Of_Leader"
EggItem: "Goblin_Leader_Egg"
AccessoryItem: "Nice_Badge"
FoodItem: "Big_Cell"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 50
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bAddRace, RC_DemiPlayer, 3); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bAddRace, RC_DemiPlayer, 3);
+ ">
},
{
Id: 1370
- SpriteName: "SUCCUBUS"
Name: "Succubus"
TamingItem: "Boys_Naivety"
EggItem: "Succubus_Egg"
AccessoryItem: "Black_Butterfly_Mask"
FoodItem: "Vital_Flower_"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bHPDrainRate, 50, 5); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bHPDrainRate, 50, 5);
+ ">
},
{
Id: 1374
- SpriteName: "INCUBUS"
Name: "Incubus"
TamingItem: "Grils_Naivety"
EggItem: "Incubus_Egg"
AccessoryItem: "Ball_Mask"
FoodItem: "Vital_Flower"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 50
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bMaxSPrate, 3); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bMaxSPrate, 3);
+ ">
},
{
Id: 1379
- SpriteName: "NIGHTMARE_TERROR"
Name: "Nightmare Terror"
TamingItem: "Hell_Contract"
EggItem: "Nightmare_Terror_Egg"
AccessoryItem: "Hell_Horn"
FoodItem: "Fresh_Plant"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bResEff, Eff_Sleep, 10000); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bResEff, Eff_Sleep, 10000);
+ ">
},
{
Id: 1401
- SpriteName: "SHINOBI"
Name: "Shinobi"
TamingItem: "Kuloren"
EggItem: "Shinobi_Egg"
AccessoryItem: "Wine_On_Sleeve"
FoodItem: "Grilled_Rice_Cake"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bAgi, 2); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bAgi, 2);
+ ">
},
{
Id: 1404
- SpriteName: "MIYABI_NINGYO"
Name: "Miyabi Doll"
TamingItem: "Gril_Doll"
EggItem: "Miyabi_Ningyo_Egg"
AccessoryItem: "Summer_Fan"
FoodItem: "Well_Ripened_Berry"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 15
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bInt, 1);
- bonus(bCastrate, -3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bInt, 1);
+ bonus(bCastrate, -3);
+ }
">
},
{
Id: 1416
- SpriteName: "WICKED_NYMPH"
Name: "Evil Nymph"
TamingItem: "Charming_Lotus"
EggItem: "Wicked_Nymph_Egg"
AccessoryItem: "Jade_Trinket"
FoodItem: "Morning_Dew"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 15
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bMaxSP, 30);
- bonus(bSPrecovRate, 5);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxSP, 30);
+ bonus(bSPrecovRate, 5);
+ }
">
},
{
Id: 1495
- SpriteName: "STONE_SHOOTER"
Name: "Stone Shooter"
TamingItem: "Oilpalm_Coconut"
EggItem: "Stone_Shooter_Egg"
AccessoryItem: "Apro_Hair"
FoodItem: "Plant_Neutrient"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bSubEle, Ele_Fire, 3); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bSubEle, Ele_Fire, 3);
+ ">
},
{
Id: 1504
- SpriteName: "DULLAHAN"
Name: "Dullahan"
TamingItem: "Luxury_Whisky_Bottle"
EggItem: "Dullahan_Egg"
AccessoryItem: "Death_Coil"
FoodItem: "Sunset_On_The_Rock"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bCritAtkRate, 5); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bCritAtkRate, 5);
+ ">
},
{
Id: 1505
- SpriteName: "LOLI_RURI"
Name: "Loli Ruri"
TamingItem: "Very_Red_Juice"
EggItem: "Loli_Ruri_Egg"
AccessoryItem: "Fashionable_Glasses"
FoodItem: "Pumpkin_Pie_"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 15
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bMaxHPrate, 3);
- bonus3(bAutoSpellWhenHit, "AL_HEAL", 1, 50);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxHPrate, 3);
+ bonus3(bAutoSpellWhenHit, "AL_HEAL", 1, 50);
+ }
">
},
{
Id: 1513
- SpriteName: "CIVIL_SERVANT"
Name: "Mao Guai"
TamingItem: "Fan_Of_Wind"
EggItem: "Civil_Servant_Egg"
AccessoryItem: "Golden_Earing"
FoodItem: "Flavored_Alcohol"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bMaxSP, 10); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bMaxSP, 10);
+ ">
},
{
Id: 1519
- SpriteName: "CHUNG_E"
Name: "Green Maiden"
TamingItem: "Tantanmen"
EggItem: "Chung_E_Egg"
FoodItem: "Bun_"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("CR_SHIELDCHARGE", 5, 0, 5, 5); ">
EquipScript: <"
- bonus(bDef, 1);
- bonus2(bSubRace, RC_DemiPlayer, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bDef, 1);
+ bonus2(bSubRace, RC_DemiPlayer, 1);
+ }
">
},
{
Id: 1586
- SpriteName: "LEAF_CAT"
Name: "Leaf Cat"
TamingItem: "Very_Soft_Plant"
EggItem: "Leaf_Cat_Egg"
AccessoryItem: "Green_Lucky_Bag"
FoodItem: "Fish_With_Blue_Back"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus2(bSubRace, RC_Brute, 3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bSubRace, RC_Brute, 3);
">
},
{
Id: 1630
- SpriteName: "BACSOJIN_"
Name: "White Lady"
TamingItem: "Shiny_Wing_Gown"
EggItem: "Bacsojin_Egg"
AccessoryItem: "Round_Hair_Ornament"
FoodItem: "Traditional_Cookie"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 2000
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
},
{
Id: 1837
- SpriteName: "IMP"
Name: "Fire Imp"
TamingItem: "Flaming_Ice"
EggItem: "Imp_Egg"
AccessoryItem: "Horn_Protector"
FoodItem: "Flame_Gemstone"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus2(bSubEle, Ele_Fire, 2);
- bonus2(bAddEle, Ele_Fire, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus2(bSubEle, Ele_Fire, 2);
+ bonus2(bAddEle, Ele_Fire, 2);
+ }
">
},
// Episode 13.2 Brasilis
{
Id: 2057
- SpriteName: "E_CRAMP"
Name: "Strange Cramp"
TamingItem: "Leaf_Cat_Ball"
EggItem: "Mystic_Leaf_Cat_Ball"
CaptureRate: 50
AttackRate: 350
DefendRate: 400
- ChangeTargetRate: 800
},
{
Id: 2081
- SpriteName: "E_HYDRA"
Name: "Strange Hydra"
TamingItem: "Leaf_Cat_Ball"
EggItem: "Mystic_Leaf_Cat_Ball"
CaptureRate: 50
AttackRate: 350
DefendRate: 400
- ChangeTargetRate: 800
},
)
diff --git a/db/pre-re/refine_db.conf b/db/pre-re/refine_db.conf
index dd3bcdb41..051e5c39d 100644
--- a/db/pre-re/refine_db.conf
+++ b/db/pre-re/refine_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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
@@ -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 21a0f0e78..1222aa1a0 100644
--- a/db/pre-re/skill_db.conf
+++ b/db/pre-re/skill_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2017 Hercules Dev Team
+//= Copyright (C) 2014-2020 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,6 +75,8 @@
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)
+ IsCombo: true/false (boolean, defaults to false)
}
AttackType: "Attack Type" (string, defaults to "None")
Types: "None", "Weapon", "Magic" or "Misc"
@@ -114,7 +116,7 @@
SkillData1: Skill Data/Duration (in ms) (int, defaults to 0) (can be grouped by Levels)
SkillData2: Skill Data/Duration (in ms) (int, defaults to 0) (can be grouped by Levels)
CoolDown: Skill Cooldown (in ms) (int, defaults to 0) (can be grouped by Levels)
-
+
CastTimeOptions: {
IgnoreDex: true/false (boolean, defaults to false)
IgnoreStatusEffect: true/false (boolean, defaults to false)
@@ -385,9 +387,9 @@ skill_db: (
}
SplashRange: 2
KnockBackTiles: 2
- SkillData1: 2000
SkillData2: 10000
- CoolDown: 2000
+ AfterCastActDelay: 2000
+ CoolDown: 0
Requirements: {
HPCost: {
Lv1: 20
@@ -7734,6 +7736,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
DamageType: {
@@ -7810,6 +7813,7 @@ skill_db: (
SkillInfo: {
NoCastSelf: true
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -7870,6 +7874,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -10920,6 +10925,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -10968,6 +10974,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12253,6 +12260,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12305,6 +12313,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12355,6 +12364,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12410,6 +12420,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12461,6 +12472,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -15020,6 +15032,7 @@ skill_db: (
}
SkillInfo: {
Spirit: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -17681,6 +17694,9 @@ skill_db: (
Lv10: 240000
}
CoolDown: 0
+ Requirements: {
+ HPCost: 15
+ }
},
{
Id: 691
@@ -18615,6 +18631,31 @@ skill_db: (
CoolDown: 0
Requirements: {
SPCost: 1
+ WeaponTypes: {
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Bows: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ 2HStaves: true
+ }
}
},
{
@@ -19060,6 +19101,9 @@ skill_db: (
SkillType: {
Self: true
}
+ SkillInfo: {
+ IsCombo: true
+ }
AttackType: "Weapon"
Element: "Ele_Weapon"
DamageType: {
@@ -19096,6 +19140,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25005,6 +25050,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25128,6 +25174,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25173,6 +25220,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25641,6 +25689,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
NumberOfHits: -7
@@ -35237,8 +35286,7 @@ skill_db: (
}
SplashRange: 2
KnockBackTiles: 2
- AfterCastWalkDelay: 2000
- SkillData1: 2000
+ AfterCastActDelay: 2000
SkillData2: 10000
CoolDown: 0
Requirements: {
diff --git a/db/pre-re/skill_tree.conf b/db/pre-re/skill_tree.conf
index 00fc6c915..dff312c18 100644
--- a/db/pre-re/skill_tree.conf
+++ b/db/pre-re/skill_tree.conf
@@ -9,7 +9,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-2020 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/db/quest_db.conf b/db/quest_db.conf
index 49952d94b..8163c540a 100644
--- a/db/quest_db.conf
+++ b/db/quest_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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
@@ -3614,6 +3614,10 @@ quest_db: (
},
// 2012 Headgear Quests
{
+ Id: 5160
+ Name: "Library Mistake"
+},
+{
Id: 5161
Name: "Low Level collection request[Stand by]"
TimeLimit: 86400
@@ -12622,6 +12626,42 @@ quest_db: (
Name: "About skills"
},
{
+ Id: 12340
+ Name: "Suspicious Person"
+},
+{
+ Id: 12341
+ Name: "New Challenge"
+},
+{
+ Id: 12342
+ Name: "Crafting Firearms"
+},
+{
+ Id: 12343
+ Name: "Target Practice"
+ Targets: (
+ {
+ MobId: 3169
+ Count: 10
+ },
+ )
+},
+{
+ Id: 12344
+ Name: "Wrong Target Practice"
+ Targets: (
+ {
+ MobId: 3170
+ Count: 3
+ },
+ )
+},
+{
+ Id: 12345
+ Name: "Transforming to Rebellion"
+},
+{
Id: 13101
Name: "The way of Taekwon"
},
diff --git a/db/re/achievement_db.conf b/db/re/achievement_db.conf
index e54a1d924..76c2bd9cb 100644
--- a/db/re/achievement_db.conf
+++ b/db/re/achievement_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/db/re/exp_group_db.conf b/db/re/exp_group_db.conf
index c59d8e77d..924a5f258 100644
--- a/db/re/exp_group_db.conf
+++ b/db/re/exp_group_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/db/re/item_chain.conf b/db/re/item_chain.conf
index a2e4efff4..075a8d34a 100644
--- a/db/re/item_chain.conf
+++ b/db/re/item_chain.conf
@@ -9,7 +9,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-2020 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
@@ -59,6 +59,12 @@ ITMCHAIN_ORE: {
Emperium: 5
}
+ITMCHAIN_SIEGFRIED: {
+ Token_Of_Siegfried: 1
+ F_Token_Of_Siegfried: 1
+ E_Token_Of_Siegfried: 1
+}
+
ITMCHAIN_GEM: {
Dark_Red_Jewel: 80
Violet_Jewel: 30
@@ -119,3 +125,7 @@ ITMCHAIN_FOOD: {
Banana: 100
Apple: 600
}
+
+ITMCHAIN_NEO_INSURANCE: {
+ New_Insurance: 1
+}
diff --git a/db/re/item_combo_db.conf b/db/re/item_combo_db.conf
new file mode 100644
index 000000000..31630546a
--- /dev/null
+++ b/db/re/item_combo_db.conf
@@ -0,0 +1,3224 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019-2020 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/>.
+//================= Description ===========================================
+// Configurations file for status effects
+//=========================================================================
+
+combo_db: (
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ===============================
+ Items: ["item_list"] (string, array) list of items
+ Script: <"
+ Script
+ (it can be multi-line)
+ ">
+}
+**************************************************************************/
+{
+ Items: ["Dragon_Slayer", "Dragon_Breath"]
+ Script: <"
+ bonus2 bAddRace, RC_Dragon, 5;
+ ">
+},
+{
+ Items: ["Gladius", "Hoplite_Helmet"]
+ Script: <"
+ bonus bAtkRate, 3;
+ ">
+},
+{
+ Items: ["Gladius_", "Hoplite_Helmet"]
+ Script: <"
+ bonus bAtkRate, 3;
+ ">
+},
+{
+ Items: ["Gladius__", "Hoplite_Helmet"]
+ Script: <"
+ bonus bAtkRate, 3;
+ ">
+},
+{
+ Items: ["Krishna", "Assassin_Handcuffs"]
+ Script: <"
+ bonus bBaseAtk, 50;
+ bonus2 bSkillAtk, AS_SONICBLOW, 50;
+ bonus bFlee, -30;
+ ">
+},
+{
+ Items: ["Cakram", "Assassin_Handcuffs"]
+ Script: <"
+ bonus bCritAtkRate, 40;
+ bonus bCritical, 4;
+ bonus bMaxHPrate, -10;
+ ">
+},
+{
+ Items: ["Durga", "Whikebain_Suit"]
+ Script: <"
+ if (getequiprefinerycnt(EQI_HAND_R) > 6) {
+ autobonus2 "{ bonus bIgnoreDefRace,RC_NonBoss; }", 20, 3000, BF_WEAPON, "{}";
+ }
+ ">
+},
+{
+ Items: ["Shiver_Katar", "Mobster_Card"]
+ Script: <"
+ bonus bCritAtkRate, 5;
+ ">
+},
+{
+ Items: ["Shiver_Katar", "Sedora_Card"]
+ Script: <"
+ bonus bCritAtkRate, 5;
+ ">
+},
+{
+ Items: ["Giant_Axe", "Gigant_Helm"]
+ Script: <"
+ bonus2 bSkillAtk, WS_CARTTERMINATION, 15 + (getequiprefinerycnt(EQI_HAND_R) * 5);
+ ">
+},
+{
+ Items: ["Pike", "Hoplite_Helmet"]
+ Script: <"
+ bonus bAtkRate, 3;
+ ">
+},
+{
+ Items: ["Pike_", "Hoplite_Helmet"]
+ Script: <"
+ bonus bAtkRate, 3;
+ ">
+},
+{
+ Items: ["Pike__", "Hoplite_Helmet"]
+ Script: <"
+ bonus bAtkRate, 3;
+ ">
+},
+{
+ Items: ["Long_Horn", "Valkyrjas_Shield"]
+ Script: <"
+ bonus3 bAutoSpellWhenHit, HP_ASSUMPTIO, 2, 5;
+ ">
+},
+{
+ Items: ["Long_Horn", "Tournament_Shield"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 4;
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Battle_Hook", "Tournament_Shield"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 4;
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Hunting_Spear", "Tournament_Shield"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 4;
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Long_Horn_M", "Valkyrjas_Shield"]
+ Script: <"
+ bonus3 bAutoSpellWhenHit, HP_ASSUMPTIO, 2, 5;
+ ">
+},
+{
+ Items: ["Imperial_Spear", "Imperial_Guard"]
+ Script: <"
+ bonus2 bSkillAtk, CR_GRANDCROSS, 10;
+ bonus2 bSkillAtk, LG_RAYOFGENESIS, 10;
+ ">
+},
+{
+ Items: ["Imperial_Spear", "Imperial_Guard", "Imperial_Feather", "Imperial_Ring"]
+ Script: <"
+ bonus2 bSkillUseSP, CR_GRANDCROSS, 30;
+ bonus2 bSkillUseSP, LG_SHIELDPRESS, 5;
+ bonus2 bSkillUseSP, LG_BANISHINGPOINT, 15;
+ bonus2 bSkillUseSP, LG_CANNONSPEAR, 10;
+ ">
+},
+{
+ Items: ["Imperial_Spear", "Imperial_Ring"]
+ Script: <"
+ bonus2 bSkillAtk, LG_CANNONSPEAR, 7 * (getequiprefinerycnt(EQI_HAND_L) / 2);
+ ">
+},
+{
+ Items: ["Staff_Of_Soul", "Spiritual_Ring"]
+ Script: <"
+ bonus bMatkRate, 6;
+ bonus bDex, 2;
+ bonus bVariableCastrate, -getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Staff_Of_Soul", "Spiritual_Ring_C"]
+ Script: <"
+ bonus bMatkRate, 6;
+ bonus bDex, 2;
+ bonus bVariableCastrate, -getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Wizardy_Staff", "Spiritual_Ring"]
+ Script: <"
+ bonus bMatkRate, 6;
+ bonus bDex, 2;
+ bonus bVariableCastrate, -getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Wizardy_Staff", "Spiritual_Ring_C"]
+ Script: <"
+ bonus bMatkRate, 6;
+ bonus bDex, 2;
+ bonus bVariableCastrate, -getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Gae_Bolg", "Dragon_Breath"]
+ Script: <"
+ bonus2 bAddRace, RC_Dragon, 5;
+ ">
+},
+{
+ Items: ["Spectral_Spear", "Red_Silk_Seal"]
+ Script: <"
+ bonus2 bResEff, Eff_Confusion, 9500;
+ ">
+},
+{
+ Items: ["Spectral_Spear_", "Red_Silk_Seal"]
+ Script: <"
+ bonus2 bResEff, Eff_Confusion, 9500;
+ ">
+},
+{
+ Items: ["Encyclopedia", "Encyclopedia_Revision"]
+ Script: <"
+ bonus bAspdRate, getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Hollgrehenn_Hammer", "B_Harword_Card"]
+ Script: <"
+ bonus bBreakArmorRate, 900;
+ bonus bBreakWeaponRate, 900;
+ ">
+},
+{
+ Items: ["Principles_Of_Magic", "Librarian_Glove", "Pocket_Watch_"]
+ Script: <"
+ bonus bInt, 5;
+ bonus bMaxHP, 700;
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Ancient_Magic", "Mage_Coat"]
+ Script: <"
+ bonus bMdef, 8;
+ bonus bMaxSPrate, 10;
+ bonus bInt, 4;
+ ">
+},
+{
+ Items: ["Ancient_Magic", "Mage_Coat_"]
+ Script: <"
+ bonus bMdef, 8;
+ bonus bMaxSPrate, 10;
+ bonus bInt, 4;
+ ">
+},
+{
+ Items: ["Ancient_Magic", "Librarian_Glove", "Pocket_Watch_"]
+ Script: <"
+ bonus bInt, 5;
+ bonus bMaxHP, 700;
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Snake_Encyclopedia", "Snake_Card"]
+ Script: <"
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Snake_Encyclopedia", "Side_Winder_Card"]
+ Script: <"
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Snake_Encyclopedia", "Snake_Card", "Side_Winder_Card"]
+ Script: <"
+ bonus bAspd, 1;
+ ">
+},
+{
+ Items: ["Snake_Encyclopedia_", "Snake_Card"]
+ Script: <"
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Snake_Encyclopedia_", "Side_Winder_Card"]
+ Script: <"
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Snake_Encyclopedia_", "Snake_Card", "Side_Winder_Card"]
+ Script: <"
+ bonus bAspd, 1;
+ ">
+},
+{
+ Items: ["Bone_Wand", "Skull_Cap"]
+ Script: <"
+ bonus bMatk, 10 * getequiprefinerycnt(EQI_HAND_R);
+ bonus bVariableCastrate, -10;
+ ">
+},
+{
+ Items: ["Staff_Of_Wing", "Wing_Of_Eagle"]
+ Script: <"
+ bonus bSpeedRate, 25;
+ ">
+},
+{
+ Items: ["Survival_Rod_", "Clack_Of_Servival"]
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMatkRate, getequiprefinerycnt(EQI_HAND_R) - 5;
+ if (getequiprefinerycnt(EQI_GARMENT) > 10) {
+ bonus2 bSubEle, Ele_Neutral, 30;
+ } else {
+ bonus2 bSubEle, Ele_Neutral, getequiprefinerycnt(EQI_GARMENT) * 3;
+ }
+ ">
+},
+{
+ Items: ["Survival_Rod_", "Cloak_Of_Survival_C"]
+ Script: <"
+ bonus bMatkRate, 5;
+ bonus2 bSubEle, Ele_Neutral, 25;
+ ">
+},
+{
+ Items: ["Survival_Rod_", "Survive_Circlet"]
+ Script: <"
+ bonus bMatk, getequiprefinerycnt(EQI_HAND_R) * 10;
+ if (getequiprefinerycnt(EQI_HAND_R) >= 10)
+ autobonus "{ bonus bVariableCastrate,-50; }", 50, 5000, BF_MAGIC, "{ specialeffect(EF_SUFFRAGIUM, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Survival_Rod2_", "Clack_Of_Servival"]
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMatkRate, getequiprefinerycnt(EQI_HAND_R) - 5;
+ if (getequiprefinerycnt(EQI_GARMENT) > 10) {
+ bonus2 bSubEle, Ele_Neutral, 30;
+ } else {
+ bonus2 bSubEle, Ele_Neutral, getequiprefinerycnt(EQI_GARMENT) * 3;
+ }
+ ">
+},
+{
+ Items: ["Survival_Rod2_", "Cloak_Of_Survival_C"]
+ Script: <"
+ bonus bMatkRate, 5;
+ bonus2 bSubEle, Ele_Neutral, 25;
+ ">
+},
+{
+ Items: ["Healing_Staff", "All_Love_Guard"]
+ Script: <"
+ bonus bHealPower, getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Walking_Stick", "Magician_Hat"]
+ Script: <"
+ bonus bDex, 2;
+ bonus bInt, 2;
+ bonus bSPrecovRate, 5;
+ bonus bMatkRate, getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Holy_Stick", "Exorcism_Bible"]
+ Script: <"
+ bonus2 bSkillAtk, PR_MAGNUS, 20;
+ bonus3 bAutoSpellWhenHit, PR_TURNUNDEAD, 1, 20;
+ ">
+},
+{
+ Items: ["Holy_Stick", "All_Love_Guard"]
+ Script: <"
+ bonus bHealPower, getequiprefinerycnt(EQI_HAND_R) * 3;
+ ">
+},
+{
+ Items: ["Thorn_Staff", "Skull_Cap"]
+ Script: <"
+ bonus bMatk, 10 * getequiprefinerycnt(EQI_HAND_R);
+ bonus bVariableCastrate, -10;
+ ">
+},
+{
+ Items: ["Thorn_Staff", "Thornwood_Band"]
+ Script: <"
+ bonus bMatk, getequiprefinerycnt(EQI_HAND_R) * 10;
+ ">
+},
+{
+ Items: ["Rafini_Staff", "Lapine_Shield"]
+ Script: <"
+ if (getequiprefinerycnt(EQI_HAND_L) > 8) {
+ bonus bMatk, getequiprefinerycnt(EQI_HAND_R) * 15;
+ }
+ if (getequiprefinerycnt(EQI_HAND_R) > 9) {
+ bonus bMatk, 50;
+ bonus bVariableCastrate, -10;
+ }
+ ">
+},
+{
+ Items: ["Wand_Of_Affection", "Shoes_Of_Affection", "Shawl_Of_Affection", "Robe_Of_Affection"]
+ Script: <"
+ bonus bHealPower, 25;
+ ">
+},
+{
+ Items: ["Wand_Of_Affection2", "Shoes_Of_Affection", "Shawl_Of_Affection", "Robe_Of_Affection"]
+ Script: <"
+ bonus bHealPower, 45;
+ bonus3 bAutoSpellWhenHit, AB_SILENTIUM, 1, 10;
+ ">
+},
+{
+ Items: ["Bone_Wand_", "Skull_Cap"]
+ Script: <"
+ bonus bMatk, 10 * getequiprefinerycnt(EQI_HAND_R);
+ bonus bVariableCastrate, -10;
+ ">
+},
+{
+ Items: ["Hunter_Bow", "Hunting_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 50;
+ ">
+},
+{
+ Items: ["Luna_Bow", "Lunatic_Brooch"]
+ Script: <"
+ bonus bDex, 1;
+ bonus bMaxSP, 50;
+ bonus bSPrecovRate, 10;
+ ">
+},
+{
+ Items: ["Hunter_Bow_", "Hunting_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 50;
+ ">
+},
+{
+ Items: ["Burning_Bow", "Fire_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 25;
+ ">
+},
+{
+ Items: ["Frozen_Bow", "Crystal_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 25;
+ ">
+},
+{
+ Items: ["Earth_Bow", "Stone_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 25;
+ bonus2 bAddEff, Eff_Stone, 1000;
+ ">
+},
+{
+ Items: ["Gust_Bow", "Arrow_Of_Wind"]
+ Script: <"
+ bonus bLongAtkRate, 25;
+ bonus3 bAutoSpell, NJ_HUUJIN, 5, 100;
+ if (readparam(bInt) > 39)
+ bonus3 bAutoSpell, NJ_HUUJIN, 5, 200;
+ ">
+},
+{
+ Items: ["Orc_Archer_Bow", "Steel_Arrow"]
+ Script: <"
+ bonus bLongAtkRate, 50;
+ ">
+},
+{
+ Items: ["Cursed_Lyre", "Cursed_Star"]
+ Script: <"
+ bonus bAtk, 25;
+ bonus3 bAddEff, Eff_Curse, 200, ATF_WEAPON | ATF_LONG | ATF_TARGET;
+ ">
+},
+{
+ Items: ["Elven_Bow", "Arrow_Of_Elf"]
+ Script: <"
+ bonus bLongAtkRate, 50;
+ ">
+},
+{
+ Items: ["Incisive_Arrow", "Little_Fhat"]
+ Script: <"
+ bonus bCritAtkRate, 5;
+ ">
+},
+{
+ Items: ["Siege_Arrow_S", "Velum_CrossBow"]
+ Script: <"
+ bonus bLongAtkRate, 70;
+ ">
+},
+{
+ Items: ["Siege_Arrow_A", "Velum_CrossBow"]
+ Script: <"
+ bonus bLongAtkRate, 40;
+ ">
+},
+{
+ Items: ["Ukulele_Of_Newoz", "Winged_Ring_Of_Newoz"]
+ Script: <"
+ bonus2 bSkillAtk, CG_ARROWVULCAN, 200;
+ bonus2 bSkillUseSP, CG_ARROWVULCAN, 20;
+ ">
+},
+{
+ Items: ["Floral_Mic_Of_Igu", "Floral_Bracelet_Of_Igu"]
+ Script: <"
+ bonus2 bSkillAtk, CG_ARROWVULCAN, 200;
+ ">
+},
+{
+ Items: ["Divine_Cross", "Spiritual_Ring"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bDex, 2;
+ bonus2 bSubRace, RC_Demon, 10;
+ bonus2 bSubRace, RC_Undead, 10;
+ ">
+},
+{
+ Items: ["Divine_Cross", "Spiritual_Ring_C"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bDex, 2;
+ bonus2 bSubRace, RC_Demon, 10;
+ bonus2 bSubRace, RC_Undead, 10;
+ ">
+},
+{
+ Items: ["Golden_Rod_Staff", "Golden_Rod_Shoes", "Golden_Rod_Orb", "Golden_Rod_Robe"]
+ Script: <"
+ bonus2 bMagicAtkEle, Ele_Wind, 40;
+ bonus2 bMagicAtkEle, Ele_Earth, -30;
+ bonus2 bSubEle, Ele_Earth, -50;
+ ">
+},
+{
+ Items: ["Aqua_Staff", "Aqua_Shoes", "Aqua_Orb", "Aqua_Robe"]
+ Script: <"
+ bonus2 bMagicAtkEle, Ele_Water, 40;
+ bonus2 bMagicAtkEle, Ele_Wind, -30;
+ bonus2 bSubEle, Ele_Wind, -50;
+ ">
+},
+{
+ Items: ["Crimson_Staff", "Crimson_Shoes", "Crimson_Orb", "Crimson_Robe"]
+ Script: <"
+ bonus2 bMagicAtkEle, Ele_Fire, 40;
+ bonus2 bMagicAtkEle, Ele_Water, -30;
+ bonus2 bSubEle, Ele_Water, -50;
+ ">
+},
+{
+ Items: ["Forest_Staff", "Forest_Shoes", "Forest_Orb", "Forest_Robe"]
+ Script: <"
+ bonus2 bMagicAtkEle, Ele_Earth, 40;
+ bonus2 bMagicAtkEle, Ele_Fire, -30;
+ bonus2 bSubEle, Ele_Fire, -50;
+ ">
+},
+{
+ Items: ["Golden_Rod_Staff2", "Golden_Rod_Shoes", "Golden_Rod_Orb", "Golden_Rod_Robe"]
+ Script: <"
+ bonus2 bMagicAtkEle, Ele_Wind, 60;
+ bonus2 bMagicAtkEle, Ele_Earth, -60;
+ bonus2 bSubEle, Ele_Earth, -50;
+ ">
+},
+{
+ Items: ["Aqua_Staff2", "Aqua_Shoes", "Aqua_Orb", "Aqua_Robe"]
+ Script: <"
+ bonus2 bMagicAtkEle, Ele_Water, 60;
+ bonus2 bMagicAtkEle, Ele_Wind, -60;
+ bonus2 bSubEle, Ele_Wind, -50;
+ ">
+},
+{
+ Items: ["Crimson_Staff2", "Crimson_Shoes", "Crimson_Orb", "Crimson_Robe"]
+ Script: <"
+ bonus2 bMagicAtkEle, Ele_Fire, 60;
+ bonus2 bMagicAtkEle, Ele_Water, -60;
+ bonus2 bSubEle, Ele_Water, -50;
+ ">
+},
+{
+ Items: ["Forest_Staff2", "Forest_Shoes", "Forest_Orb", "Forest_Robe"]
+ Script: <"
+ bonus2 bMagicAtkEle, Ele_Earth, 60;
+ bonus2 bMagicAtkEle, Ele_Fire, -60;
+ bonus2 bSubEle, Ele_Fire, -50;
+ ">
+},
+{
+ Items: ["Memorize_Book", "Pocket_Watch_", "One_Eyed_Glass"]
+ Script: <"
+ bonus bHPrecovRate, 15;
+ bonus bSPrecovRate, 15;
+ bonus bMatkRate, 7;
+ ">
+},
+{
+ Items: ["Stone_Buckler", "Odins_Blessing", "Magni_Cap"]
+ Script: <"
+ bonus bStr, 2;
+ bonus bDef, 5;
+ bonus bMdef, 5;
+ if (BaseClass == Job_Swordman) bonus bDef, 6;
+ ">
+},
+{
+ Items: ["Valkyrjas_Shield", "Odins_Blessing", "Fricca_Circlet"]
+ Script: <"
+ bonus bDef, 2 - getequiprefinerycnt(EQI_HAND_L, EQI_HEAD_TOP);
+ bonus bMdef, 5 + getequiprefinerycnt(EQI_HAND_L, EQI_HEAD_TOP);
+ ">
+},
+{
+ Items: ["Angels_Safeguard", "Angels_Protection", "Angels_Arrival", "Angels_Warmth", "Kiss_Of_Angel"]
+ Script: <"
+ bonus bMaxHP, 900;
+ bonus bMaxSP, 100;
+ bonus3 bAutoSpellWhenHit, HP_ASSUMPTIO, 1, 30;
+ ">
+},
+{
+ Items: ["Memorize_Book_", "Pocket_Watch_", "One_Eyed_Glass"]
+ Script: <"
+ bonus bHPrecovRate, 15;
+ bonus bSPrecovRate, 15;
+ bonus bMatkRate, 7;
+ ">
+},
+{
+ Items: ["Orleans_Server", "Orleans_Glove"]
+ Script: <"
+ bonus bVariableCastrate, -10;
+ ">
+},
+{
+ Items: ["Orleans_Server", "Orleans_Necklace"]
+ Script: <"
+ bonus bMatk, getrefine() * 2;
+ ">
+},
+{
+ Items: ["Thorny_Buckler", "Bison_Horn"]
+ Script: <"
+ bonus bAspdRate, 10;
+ bonus bShortWeaponDamageReturn, 5;
+ ">
+},
+{
+ Items: ["Strong_Shield", "Hoplite_Helmet"]
+ Script: <"
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Shadow_Guard", "Shadow_Walk"]
+ Script: <"
+ bonus2 bAddEff, Eff_Blind, 500;
+ autobonus "{ bonus bFlee,20; }", 200, 10000, BF_WEAPON, "{ specialeffect(EF_INCAGILITY, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Valkyrjas_Shield_C", "Odins_Blessing", "Fricca_Circlet"]
+ Script: <"
+ bonus bDef, 2 - getequiprefinerycnt(EQI_HAND_L, EQI_HEAD_TOP);
+ bonus bMdef, 5 + getequiprefinerycnt(EQI_HAND_L, EQI_HEAD_TOP);
+ ">
+},
+{
+ Items: ["Imperial_Guard", "Imperial_Ring"]
+ Script: <"
+ if (getequiprefinerycnt(EQI_HAND_L) > 5) {
+ bonus2 bSkillAtk, LG_SHIELDPRESS, (getequiprefinerycnt(EQI_HAND_L) * 8) - 40;
+ }
+ ">
+},
+{
+ Items: ["Insecticide", "Super_Ora_Ora"]
+ Script: <"
+ bonus2 bAddRaceTolerance, RC_Insect, 10;
+ if (getequiprefinerycnt(EQI_HAND_L) > 7) {
+ bonus2 bMagicAddRace, RC_Insect, 4;
+ bonus2 bAddRaceTolerance, RC_Insect, 20;
+ }
+ ">
+},
+{
+ Items: ["Giant_Shield", "Gigant_Helm"]
+ Script: <"
+ bonus2 bSkillAtk, WS_CARTTERMINATION, 15 + (getequiprefinerycnt(EQI_HAND_R) * 5);
+ ">
+},
+{
+ Items: ["Kalasak", "Bangungot_Boots", "Buwaya_Cloth", "Bakonawa_Armor"]
+ Script: <"
+ bonus bMaxHPrate, 20;
+ bonus bMaxSPrate, 10;
+ ">
+},
+{
+ Items: ["Fox_Armguard", "Special_Ninja_Suit"]
+ Script: <"
+ bonus bAgi, 2;
+ ">
+},
+{
+ Items: ["Fox_Armguard", "Special_Ninja_Suit_"]
+ Script: <"
+ bonus bAgi, 2;
+ ">
+},
+{
+ Items: ["Crescent_Armguard", "Tenebris_Latitantes"]
+ Script: <"
+ bonus bFlee, 10;
+ bonus bFlee2, 10;
+ ">
+},
+{
+ Items: ["Impr_Angels_Safeguard", "Im_Angels_Protection", "Improved_Kiss_Of_Angel", "Impr_Angels_Warmth", "Impr_Angels_Arrival"]
+ Script: <"
+ bonus(bMaxHP, 900);
+ bonus(bMaxSP, 100);
+ bonus3(bAutoSpellWhenHit, HP_ASSUMPTIO, 1, 30);
+ ">
+},
+{
+ Items: ["Lapine_Shield", "KarduiEar"]
+ Script: <"
+ if (!isequipped(Fallen_Bishop_Card)) {
+ if (getequiprefinerycnt(EQI_HAND_L) > 6) {
+ bonus2 bSkillCooldown, WL_COMET, -20000;
+ }
+ if (getequiprefinerycnt(EQI_HAND_L) > 9) {
+ bonus2 bSkillCooldown, WL_COMET, -20000;
+ }
+ }
+ ">
+},
+{
+ Items: ["Angelic_Chain", "Bell_Pigeon"]
+ Script: <"
+ bonus2 bExpAddRace, RC_All, 5;
+ ">
+},
+{
+ Items: ["Centimental_Flower", "Persika"]
+ Script: <"
+ bonus bMaxSP, 30;
+ bonus bInt, 1;
+ ">
+},
+{
+ Items: ["Centimental_Flower", "Ancient_Elven_Ear"]
+ Script: <"
+ bonus bMatkRate, 1;
+ ">
+},
+{
+ Items: ["Centimental_Flower", "Black_Cat_Hat"]
+ Script: <"
+ bonus bAllStats, 1;
+ ">
+},
+{
+ Items: ["Centimental_Leaf", "Persika"]
+ Script: <"
+ bonus bLuk, 1;
+ bonus bFlee, 2;
+ ">
+},
+{
+ Items: ["Centimental_Leaf", "Ancient_Elven_Ear"]
+ Script: <"
+ bonus bAtkRate, 1;
+ ">
+},
+{
+ Items: ["Centimental_Leaf", "Black_Cat_Hat"]
+ Script: <"
+ bonus bAllStats, 1;
+ ">
+},
+{
+ Items: ["Mr_Smile", "Gloomy_Pumpkin_Hat"]
+ Script: <"
+ bonus2 bAddMonsterDropItem, 12192, 20;
+ ">
+},
+{
+ Items: ["Phantom_Of_Opera", "Gloomy_Pumpkin_Hat"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Impr_Angels_Safeguard", "Im_Angels_Protection"]
+ Script: <"
+ bonus bAllStats, 2;
+ ">
+},
+{
+ Items: ["Elven_Ears", "Skull_Cap"]
+ Script: <"
+ bonus bUseSPrate, -3;
+ ">
+},
+{
+ Items: ["Padded_Armor", "Hyper_Changer"]
+ Script: <"
+ bonus bDef, 5;
+ bonus bMaxHP, 150;
+ ">
+},
+{
+ Items: ["Padded_Armor_", "Hyper_Changer"]
+ Script: <"
+ bonus bDef, 5;
+ bonus bMaxHP, 150;
+ ">
+},
+{
+ Items: ["Ninja_Suit", "Shinobis_Sash"]
+ Script: <"
+ bonus bUseSPrate, -20;
+ bonus bMaxHP, 300;
+ ">
+},
+{
+ Items: ["G_Strings", "Undershirt"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["G_Strings", "Undershirt_"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Fricco_Shoes", "Falcon_Robe"]
+ Script: <"
+ bonus bAgi, 3;
+ bonus bMaxHPrate, 5;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Vidars_Boots", "Valis_Manteau"]
+ Script: <"
+ bonus bVit, 5;
+ bonus bHPrecovRate, 10;
+ bonus bSPrecovRate, 10;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Ulle_Cap"]
+ Script: <"
+ if (readparam(bDex) > 69)
+ bonus bUseSPrate, -10;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Ulle_Cap_I"]
+ Script: <"
+ if (readparam(bDex) > 69)
+ bonus bUseSPrate, -10;
+ ">
+},
+{
+ Items: ["Odins_Blessing", "Priest_Sword"]
+ Script: <"
+ bonus bMaxSP, 50;
+ bonus2 bSkillAtk, KN_BOWLINGBASH, 5;
+ ">
+},
+{
+ Items: ["Goibnes_Armor", "Goibnes_Combat_Boots", "Goibnes_Shoulder_Arms", "Goibnes_Helmet"]
+ Script: <"
+ bonus bVit, 5;
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ bonus bDef, 5;
+ bonus bMdef, 15;
+ bonus2 bSubEle, Ele_Water, 10;
+ bonus2 bSubEle, Ele_Earth, 10;
+ bonus2 bSubEle, Ele_Fire, 10;
+ bonus2 bSubEle, Ele_Wind, 10;
+ ">
+},
+{
+ Items: ["Goibnes_Armor", "Goibnes_Combat_Boots_", "Goibnes_Shoulder_Arms_", "Goibnes_Helmet_"]
+ Script: <"
+ bonus bVit, 5;
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ bonus bDef, 5;
+ bonus bMdef, 15;
+ bonus2 bSubEle, Ele_Water, 10;
+ bonus2 bSubEle, Ele_Earth, 10;
+ bonus2 bSubEle, Ele_Fire, 10;
+ bonus2 bSubEle, Ele_Wind, 10;
+ ">
+},
+{
+ Items: ["Valkyrie_Armor", "Valkyrie_Shoes", "Valkyrie_Manteau", "Valkyrie_Helm"]
+ Script: <"
+ bonus bAllStats, 1;
+ ">
+},
+{
+ Items: ["Dress_Of_Angel", "Angeling_Hairpin"]
+ Script: <"
+ bonus bLuk, 6;
+ bonus bFlee, 5;
+ bonus bInt, 2;
+ ">
+},
+{
+ Items: ["Ninja_Suit_", "Shinobis_Sash"]
+ Script: <"
+ bonus bUseSPrate, -20;
+ bonus bMaxHP, 300;
+ ">
+},
+{
+ Items: ["Orleans_Gown", "Orleans_Necklace"]
+ Script: <"
+ bonus bVariableCastrate, 15;
+ ">
+},
+{
+ Items: ["Freyja_Overcoat", "Freyja_Boots", "Freyja_Cape", "Freyja_Crown"]
+ Script: <"
+ bonus2 bSubRace, RC_DemiPlayer, 10;
+ bonus bMaxHPrate, 20;
+ bonus2 bResEff, Eff_Freeze, 10000;
+ skill WZ_FIREPILLAR, 10;
+ ">
+},
+{
+ Items: ["G_Strings_", "Undershirt"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["G_Strings_", "Undershirt_"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Diabolus_Robe", "Diabolus_Ring"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 3;
+ bonus bMatkRate, 3;
+ ">
+},
+{
+ Items: ["Diabolus_Armor", "Diabolus_Ring"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 3;
+ bonus bMatkRate, 3;
+ ">
+},
+{
+ Items: ["Assaulter_Plate", "Battle_Greave", "Commander_Manteau"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bVit, 3;
+ bonus bMaxHPrate, 12;
+ bonus bHealPower2, 10;
+ bonus bAddItemHealRate, 10;
+ autobonus2 "{ bonus2 bHPRegenRate,600,1000; }", 5, 10000, BF_WEAPON, "{ specialeffect(EF_HEAL, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Elite_Engineer_Armor", "Battle_Greave", "Commander_Manteau"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bStr, 3;
+ bonus bMaxHPrate, 12;
+ bonus2 bSkillAtk, MC_MAMMONITE, 20;
+ bonus2 bSkillHeal, AM_POTIONPITCHER, 10;
+ bonus2 bSkillHeal2, AM_POTIONPITCHER, 10;
+ bonus2 bSkillHeal2, AL_HEAL, 10;
+ bonus bUnbreakableArmor, 0;
+ ">
+},
+{
+ Items: ["Assassin_Robe", "Battle_Greave", "Commander_Manteau"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bAgi, 3;
+ bonus bMaxHPrate, 12;
+ bonus bCritical, 5;
+ bonus bAspdRate, 5;
+ autobonus "{ bonus2 bHPRegenRate,300,1000; }", 10, 10000, BF_WEAPON, "{ specialeffect(EF_HEAL, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Warlock_Battle_Robe", "Combat_Boots", "Commander_Manteau_"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bInt, 3;
+ bonus bMaxHPrate, 12;
+ bonus2 bResEff, Eff_Stun, 2000;
+ autobonus2 "{ bonus bDefEle,Ele_Ghost; }", 30, 10000, BF_WEAPON, "{ specialeffect(EF_ENERGYCOAT, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Medic_Robe", "Combat_Boots", "Commander_Manteau_"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bInt, 3;
+ bonus bMaxHPrate, 12;
+ bonus2 bVariableCastrate, AL_HOLYLIGHT, -50;
+ bonus bHealPower, 6;
+ autobonus2 "{ bonus bDefEle,Ele_Ghost; }", 30, 10000, BF_WEAPON, "{ specialeffect(EF_ENERGYCOAT, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Elite_Archer_Suit", "Combat_Boots", "Commander_Manteau_"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bDex, 3;
+ bonus bMaxHPrate, 12;
+ bonus bLongAtkDef, 10;
+ bonus bDelayrate, -25;
+ ">
+},
+{
+ Items: ["Elite_Shooter_Suit", "Battle_Boots", "Sheriff_Manteau"]
+ Script: <"
+ bonus2 bSubRace, RC_NonDemiPlayer, -300;
+ bonus bDex, 3;
+ bonus bMaxHPrate, 12;
+ bonus bLongAtkDef, 10;
+ bonus bDelayrate, -25;
+ ">
+},
+{
+ Items: ["Sprint_Mail", "Sprint_Shoes", "Sprint_Ring"]
+ Script: <"
+ bonus bMaxHPrate, 7;
+ bonus bMaxSPrate, 7;
+ bonus bVariableCastrate, -3;
+ bonus bDelayrate, -15;
+ ">
+},
+{
+ Items: ["Improved_Tights", "Linen_Glove"]
+ Script: <"
+ bonus bFlee2, 5;
+ ">
+},
+{
+ Items: ["Krieger_Suit1", "Krieger_Shoes1", "Krieger_Muffler1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 5;
+ bonus2 bResEff, Eff_Freeze, 10000;
+ bonus2 bSkillHeal2, AM_POTIONPITCHER, 3;
+ bonus2 bSkillHeal2, AL_HEAL, 3;
+ bonus2 bSkillHeal2, PR_SANCTUARY, 3;
+ ">
+},
+{
+ Items: ["Dragon_Vest", "Dragon_Manteau"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bFlee, 15;
+ ">
+},
+{
+ Items: ["Cuffs", "Bloody_Iron_Ball"]
+ Script: <"
+ bonus bBaseAtk, 50;
+ bonus2 bAddDefClass, 1196, 20;
+ bonus2 bAddDefClass, 1197, 20;
+ ">
+},
+{
+ Items: ["Tidal_Shoes", "Wool_Scarf"]
+ Script: <"
+ bonus bHPrecovRate, 5;
+ bonus bMaxHPrate, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots", "Rider_Insignia"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots", "Rider_Insignia_"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots", "Rider_Insignia_M"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Diabolus_Boots", "Diabolus_Manteau"]
+ Script: <"
+ bonus bMaxHPrate, 6;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots_", "Rider_Insignia"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots_", "Rider_Insignia_"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Black_Leather_Boots_", "Rider_Insignia_M"]
+ Script: <"
+ bonus bFlee, 10;
+ ">
+},
+{
+ Items: ["Beach_Sandal", "Beach_Manteau"]
+ Script: <"
+ bonus bFlee, 5;
+ ">
+},
+{
+ Items: ["Shoes_Of_Judgement", "Shawl_Of_Judgement", "Robe_Of_Judgement", "Mace_Of_Judgement"]
+ Script: <"
+ bonus2 bAddRace, RC_Undead, 15;
+ bonus2 bMagicAddRace, RC_Undead, 15;
+ bonus2 bSkillAtk, AB_ADORAMUS, 100;
+ ">
+},
+{
+ Items: ["Shoes_Of_Judgement", "Shawl_Of_Judgement", "Robe_Of_Judgement", "Mace_Of_Judgement2"]
+ Script: <"
+ bonus2 bAddRace, RC_Undead, 30;
+ bonus2 bMagicAddRace, RC_Undead, 30;
+ bonus2 bSkillAtk, AB_ADORAMUS, 200;
+ bonus bVariableCastrate, -50;
+ ">
+},
+{
+ Items: ["Ur_Greave", "Ur_Manteau", "Ur_Seal", "Ur_Plate"]
+ Script: <"
+ bonus bMaxHPrate, 14;
+ bonus2 bSkillAtk, RK_HUNDREDSPEAR, 50;
+ skill CR_AUTOGUARD, 1;
+ bonus bUseSPrate, 10;
+ bonus2 bSubEle, Ele_Neutral, 10;
+ ">
+},
+{
+ Items: ["Peuz_Greave", "Peuz_Manteau", "Peuz_Seal", "Peuz_Plate"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 10;
+ bonus2 bSkillAtk, RK_SONICWAVE, 100;
+ bonus2 bSkillAtk, RK_WINDCUTTER, 100;
+ bonus3 bAutoSpell, RK_STORMBLAST, 1, 20;
+ autobonus3 "{ bonus bAspd,2; }", 1000, 10000, LK_CONCENTRATION, "{ specialeffect(EF_ENHANCE, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Sabah_Shoes", "Sabah_Hood", "Sabah_Ring", "Sabah_Cloth"]
+ Script: <"
+ bonus bCritical, 15;
+ bonus bFlee, 10;
+ bonus bCritAtkRate, 40;
+ bonus2 bSkillAtk, GC_CROSSIMPACT, 20;
+ bonus bUseSPrate, 10;
+ ">
+},
+{
+ Items: ["Nab_Shoes", "Nab_Hood", "Nab_Ring", "Nab_Cloth"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 10;
+ bonus bMatkRate, 10;
+ if (readparam(bStr) > 119) {
+ bonus bBaseAtk, 30;
+ }
+ bonus3 bAutoSpell, ASC_BREAKER, getskilllv(ASC_BREAKER), 10;
+ bonus bCritical, -20;
+ ">
+},
+{
+ Items: ["White_Wing_Boots", "White_Wing_Manteau", "White_Wing_Brooch", "White_Wing_Suits"]
+ Script: <"
+ bonus bAspd, 2;
+ bonus bLongAtkRate, 30;
+ bonus3 bAutoSpell, AC_DOUBLE, 3, 10;
+ bonus2 bSkillAtk, RA_ARROWSTORM, 50;
+ ">
+},
+{
+ Items: ["Black_Wing_Boots", "Black_Wing_Manteau", "Black_wing_Brooch", "Black_Wing_Suits"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus2 bSkillAtk, RA_CLUSTERBOMB, 20;
+ bonus bFlee2, 20;
+ bonus bLongAtkRate, -30;
+ bonus bAspd, -7;
+ ">
+},
+{
+ Items: ["Siege_Greave", "Siege_Manteau", "Siege_Plate"]
+ Script: <"
+ bonus bVit, 5;
+ bonus2 bSubRace, RC_DemiPlayer, 15;
+ ">
+},
+{
+ Items: ["Siege_Boots", "Siege_Manteau", "Siege_Suits"]
+ Script: <"
+ bonus bDex, 5;
+ bonus2 bSubRace, RC_DemiPlayer, 15;
+ ">
+},
+{
+ Items: ["Siege_Shoes", "Siege_Muffler", "Siege_Robe"]
+ Script: <"
+ bonus bInt, 5;
+ bonus bMdef, 10;
+ bonus2 bSubRace, RC_DemiPlayer, 15;
+ ">
+},
+{
+ Items: ["Morpheuss_Shawl", "Morpheuss_Ring", "Morpheuss_Armlet", "Morpheuss_Hood"]
+ Script: <"
+ bonus bInt, 5;
+ bonus bMdef, 11;
+ bonus bMaxSPrate, 20;
+ bonus bNoCastCancel, 0;
+ bonus bVariableCastrate, 25;
+ ">
+},
+{
+ Items: ["Morriganes_Manteau", "Morriganes_Belt", "Morriganes_Pendant", "Morriganes_Helm"]
+ Script: <"
+ bonus bStr, 2;
+ bonus bLuk, 9;
+ bonus bCritical, 13;
+ bonus bBaseAtk, 18;
+ bonus bFlee2, 13;
+ ">
+},
+{
+ Items: ["Morriganes_Manteau", "Morriganes_Belt_", "Morriganes_Pendant_", "Morriganes_Helm_"]
+ Script: <"
+ bonus bStr, 2;
+ bonus bLuk, 9;
+ bonus bCritical, 13;
+ bonus bBaseAtk, 18;
+ bonus bFlee2, 13;
+ ">
+},
+{
+ Items: ["Dragon_Breath", "Dragon_Killer"]
+ Script: <"
+ bonus2 bAddRace, RC_Dragon, 5;
+ ">
+},
+{
+ Items: ["Scarlet_Poncho", "Critical_Ring"]
+ Script: <"
+ bonus bCritAtkRate, 5;
+ bonus bCritical, 10;
+ if (getequiprefinerycnt(EQI_GARMENT) >= 5) {
+ bonus bCritAtkRate, 3;
+ }
+ if (getequiprefinerycnt(EQI_GARMENT) >= 7) {
+ bonus bCritAtkRate, 4;
+ }
+ ">
+},
+{
+ Items: ["Scarlet_Poncho", "Rose_Cascade"]
+ Script: <"
+ bonus bUseSPrate, -5;
+ ">
+},
+{
+ Items: ["Clip", "Spiritual_Ring"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Clip", "Spiritual_Ring_C"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Clip", "Spiritual_Ring_M"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary", "Spiritual_Ring"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary", "Spiritual_Ring_C"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary", "Spiritual_Ring_M"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Safety_Ring", "Angel_Earing"]
+ Script: <"
+ bonus bMdef, 7;
+ bonus bDef, 7;
+ ">
+},
+{
+ Items: ["Critical_Ring", "Angel_Earing"]
+ Script: <"
+ bonus bCritical, 7;
+ ">
+},
+{
+ Items: ["Ring_Of_Rogue", "Cold_Heart"]
+ Script: <"
+ bonus2 bAddSize, Size_Medium, 8;
+ bonus bAspdRate, 3;
+ ">
+},
+{
+ Items: ["Ring_Of_Rogue", "Black_Cat"]
+ Script: <"
+ bonus2 bAddSize, Size_Large, 8;
+ bonus bHit, 3;
+ bonus bVariableCastrate, -3;
+ ">
+},
+{
+ Items: ["Rosary_", "Spiritual_Ring"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary_", "Spiritual_Ring_C"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Rosary_", "Spiritual_Ring_M"]
+ Script: <"
+ bonus2 bSkillAtk, AL_HEAL, 50;
+ bonus2 bSkillAtk, PR_MAGNUS, 30;
+ bonus bSPrecovRate, 9;
+ ">
+},
+{
+ Items: ["Ring_Of_Flame_Lord", "Ring_Of_Resonance"]
+ Script: <"
+ bonus4 bAutoSpell, MO_EXTREMITYFIST, 1, 3, 1;
+ bonus3 bAutoSpell, PR_LEXAETERNA, 1, 20;
+ bonus3 bAutoSpell, AS_SONICBLOW, 5, 50;
+ bonus3 bAutoSpell, MO_INVESTIGATE, 5, 20;
+ bonus3 bAutoSpell, ASC_METEORASSAULT, 2, 50;
+ ">
+},
+{
+ Items: ["Ring_Of_Resonance", "Ring_Of_Flame_Lord_I"]
+ Script: <"
+ bonus4 bAutoSpell, MO_EXTREMITYFIST, 1, 3, 1;
+ bonus3 bAutoSpell, PR_LEXAETERNA, 1, 20;
+ bonus3 bAutoSpell, AS_SONICBLOW, 5, 50;
+ bonus3 bAutoSpell, MO_INVESTIGATE, 5, 20;
+ bonus3 bAutoSpell, ASC_METEORASSAULT, 2, 50;
+ ">
+},
+{
+ Items: ["Orleans_Glove", "Orleans_Necklace"]
+ Script: <"
+ bonus bMatk, 20;
+ ">
+},
+{
+ Items: ["Medal_Swordman", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Thief", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Acolyte", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Mage", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Archer", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Medal_Merchant", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Icarus_Wing", "Bowman_Scarf"]
+ Script: <"
+ bonus bUseSPrate, -25;
+ ">
+},
+{
+ Items: ["Medal_Gunner", "Krieger_Ring1"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 5;
+ bonus bMatkRate, 3;
+ bonus bHealPower, 5;
+ ">
+},
+{
+ Items: ["Black_Cat", "Black_Wing"]
+ Script: <"
+ bonus bHit, 5;
+ bonus bMatk, 5;
+ bonus2 bSkillUseSP, SC_ENERVATION, 20;
+ bonus2 bSkillUseSP, SC_GROOMY, 20;
+ ">
+},
+{
+ Items: ["Shaman_Ring", "Shaman_Earing", "Shamans_Hair_Ornament"]
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMatkRate, 5;
+ bonus2 bSubEle, Ele_Neutral, 5;
+ ">
+},
+{
+ Items: ["Dark_Knight_Belt", "Dark_Knight_Glove", "Dark_Knight_Mask"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bInt, 5;
+ bonus2 bSubRace, RC_Angel, 10;
+ ">
+},
+{
+ Items: ["Dark_Knight_Belt", "Dark_Knight_Glove", "Dark_Knight_MaskB"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bInt, 5;
+ bonus2 bSubRace, RC_Angel, 10;
+ ">
+},
+{
+ Items: ["Rune_Ring", "Rune_Suit", "Mana_Manteau", "Mana_Boots"]
+ Script: <"
+ bonus2 bExpAddRace, RC_All, 10;
+ ">
+},
+{
+ Items: ["Body_Power_Up_Ring", "Anti_Magic_Suit"]
+ Script: <"
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Body_Power_Up_Ring", "Geffen_Mage_Robe"]
+ Script: <"
+ bonus bDelayrate, -5;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;
+ ">
+},
+{
+ Items: ["Ring_Of_Spell_Explosion", "Anti_Magic_Suit"]
+ Script: <"
+ bonus bDelayrate, -5;
+ bonus2 bAddRaceTolerance, RC_DemiPlayer, 5;
+ ">
+},
+{
+ Items: ["Ring_Of_Spell_Explosion", "Geffen_Mage_Robe"]
+ Script: <"
+ bonus bVariableCastrate, -5;
+ ">
+},
+{
+ Items: ["RWC_Gold_Brooch", "RWC_Silver_Brooch"]
+ Script: <"
+ bonus bMatkRate, 10;
+ bonus bAtkRate, 10;
+ ">
+},
+{
+ Items: ["Poring_Card", "Mastering_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Lunatic_Card", "Eclipse_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Chonchon_Card", "Dragon_Fly_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Roda_Frog_Card", "Toad_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Condor_Card", "FlyingGalapago"]
+ Script: <"
+ bonus2 bSubEle, Ele_All, 5;
+ ">
+},
+{
+ Items: ["Rocker_Card", "Vocal_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Skeleton_Card", "Skel_Prisoner_Card"]
+ Script: <"
+ bonus2 bAddEffWhenHit, Eff_Sleep, 600;
+ ">
+},
+{
+ Items: ["Tarou_Card", "Cramp_Card"]
+ Script: <"
+ bonus bStr, 3;
+ ">
+},
+{
+ Items: ["Wolf_Card", "Vagabond_Wolf_Card"]
+ Script: <"
+ bonus bFlee, 18;
+ ">
+},
+{
+ Items: ["Pecopeco_Card", "Grand_Peco_Card"]
+ Script: <"
+ bonus bDef, 3;
+ bonus bVit, 3;
+ ">
+},
+{
+ Items: ["Muka_Card", "Raggler_Card", "Baby_Leopard_Card", "Zipper_Bear_Card", "Mole_Card"]
+ Script: <"
+ bonus bStr, 4;
+ bonus bMaxHPrate, 7;
+ bonus bMaxSPrate, 7;
+ bonus2 bSkillAtk, MC_MAMMONITE, 20;
+ bonus bSPDrainValue, 1;
+ if (BaseJob == Job_Alchemist) {
+ bonus3 bAutoSpell, BS_ADRENALINE, 1, 10;
+ bonus2 bAddMonsterDropItem, 7139, 3;
+ bonus2 bAddMonsterDropItem, 905, 10;
+ }
+ ">
+},
+{
+ Items: ["Stainer_Card", "Wander_Man_Card", "Shinobi_Card", "Wild_Rose_Card", "Whikebain_Card"]
+ Script: <"
+ bonus bStr, 6;
+ bonus bAgi, 4;
+ bonus2 bSkillAtk, RG_BACKSTAP, 10;
+ if (getskilllv(RG_STRIPARMOR) == 5)
+ bonus3 bAutoSpell, RG_STRIPARMOR, 5, 50;
+ if (BaseJob == Job_Rogue) {
+ bonus bUseSPrate, -20;
+ bonus3 bAutoSpell, RG_INTIMIDATE, 1, -20;
+ }
+ ">
+},
+{
+ Items: ["Golem_Card", "Companion_Cavalry_Sword"]
+ Script: <"
+ bonus2 bSubSize, Size_Large, 15;
+ bonus2 bSubSize, Size_Small, 15;
+ ">
+},
+{
+ Items: ["BigFoot_Card", "Grizzly_Card"]
+ Script: <"
+ bonus2 bAddEffWhenHit, Eff_Blind, 600;
+ ">
+},
+{
+ Items: ["Munak_Card", "Bon_Gun_Card", "Hyegun_Card"]
+ Script: <"
+ bonus bAllStats, 1;
+ ">
+},
+{
+ Items: ["Mummy_Card", "Ancient_Mummy_Card"]
+ Script: <"
+ bonus bPerfectHitAddRate, 20;
+ ">
+},
+{
+ Items: ["Nightmare_Card", "Nightmare_Terror_Card"]
+ Script: <"
+ bonus2 bAddEffWhenHit, Eff_Curse, 600;
+ ">
+},
+{
+ Items: ["Knight_Of_Abyss_Card", "Lord_of_Death"]
+ Script: <"
+ bonus2 bAddRace, RC_Boss, 5;
+ if (getequiprefinerycnt(EQI_HEAD_TOP) >= 11)
+ bonus2 bSubRace, RC_NonBoss, 5;
+ ">
+},
+{
+ Items: ["Galapago_Card", "FlyingGalapago"]
+ Script: <"
+ bonus2 bAddItemHealRate, Apple_Juice, 1000;
+ bonus2 bAddItemHealRate, Banana_Juice, 1000;
+ bonus2 bAddItemHealRate, Carrot_Juice, 1000;
+ ">
+},
+{
+ Items: ["Crab_Card", "Aster_Card", "Shellfish_Card"]
+ Script: <"
+ bonus3 bAddMonsterDropItem, 544, RC_Fish, 3000;
+ bonus2 bAddEle, Ele_Water, 30;
+ ">
+},
+{
+ Items: ["Grand_Peco_Card", "Heaven_Cage"]
+ Script: <"
+ bonus4 bAutoSpell, PR_GLORIA, 5, 10, 0;
+ ">
+},
+{
+ Items: ["Gryphon_Card", "FlyingGalapago"]
+ Script: <"
+ bonus bAspdRate, 3;
+ bonus bAspd, 1;
+ bonus bAtkRate, -5;
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_BOW) {
+ if (getequiprefinerycnt(EQI_HAND_R) > 8)
+ bonus bAspd, 1;
+ }
+ ">
+},
+{
+ Items: ["Dark_Lord_Card", "Dark_Illusion_Card"]
+ Script: <"
+ bonus bMaxHPrate, 20;
+ bonus bMaxSPrate, 20;
+ bonus bVariableCastrate, -10;
+ ">
+},
+{
+ Items: ["The_Paper_Card", "Wander_Man_Card", "Shinobi_Card", "Wild_Rose_Card", "Dancing_Dragon_Card"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bStr, 5;
+ bonus bAspdRate, 5;
+ bonus bSpeedRate, 25;
+ bonus2 bSPDrainValue, 1, 0;
+ if (BaseClass == Job_Thief)
+ bonus bNoGemStone, 0;
+ ">
+},
+{
+ Items: ["Dragon_Tail_Card", "Merman_Card", "Anolian_Card", "Alligator_Card", "Cruiser_Card"]
+ Script: <"
+ bonus bAgi, 5;
+ bonus bDex, 3;
+ bonus bLongAtkRate, 20;
+ bonus bPerfectHitAddRate, 20;
+ if (BaseClass == Job_Archer) {
+ bonus2 bExpAddRace, RC_Brute, 5;
+ bonus2 bWeaponComaRace, RC_Brute, 100;
+ }
+ ">
+},
+{
+ Items: ["Dragon_Tail_Card", "Anolian_Card", "Alligator_Card", "Cruiser_Card", "Ferus__Card"]
+ Script: <"
+ bonus bDex, 5;
+ bonus2 bSkillAtk, CG_ARROWVULCAN, 5;
+ bonus2 bSkillAtk, DC_THROWARROW, 10;
+ bonus2 bSkillAtk, BA_MUSICALSTRIKE, 10;
+ if (BaseJob == Job_Bard || BaseJob == Job_Dancer)
+ bonus3 bAutoSpellWhenHit, CG_TAROTCARD, 2, 50;
+ ">
+},
+{
+ Items: ["Rideword_Card", "Live_Peach_Tree_Card", "Geographer_Card", "Cookie_Card", "Fur_Seal_Card"]
+ Script: <"
+ bonus bVit, 10;
+ bonus bVariableCastrate, -10;
+ bonus bUseSPrate, -10;
+ if (BaseClass == Job_Acolyte) {
+ bonus2 bExpAddRace, RC_Undead, 5;
+ bonus2 bExpAddRace, RC_Demon, 5;
+ bonus2 bSubRace, RC_Undead, 30;
+ bonus2 bSubRace, RC_Demon, 30;
+ }
+ ">
+},
+{
+ Items: ["Rideword_Card", "Cookie_Card", "Fur_Seal_Card", "Waste_Stove_Card"]
+ Script: <"
+ bonus bStr, 3;
+ bonus bMaxSP, 80;
+ bonus bBaseAtk, 25;
+ bonus3 bAutoSpell, AL_CRUCIS, 5, 10;
+ bonus2 bSkillAtk, MO_EXTREMITYFIST, 10;
+ if (BaseJob == Job_Monk) {
+ bonus bUseSPrate, -10;
+ bonus bNoCastCancel, 0;
+ }
+ ">
+},
+{
+ Items: ["Raggler_Card", "Mystcase_Card", "Baby_Leopard_Card", "Zipper_Bear_Card", "Hylozoist_Card"]
+ Script: <"
+ bonus bLuk, 10;
+ bonus2 bSPDrainValue, 2, 0;
+ bonus2 bSkillAtk, 42, 20;
+ if (BaseClass == Job_Merchant) {
+ bonus2 bAddMonsterDropItem, 617, 5;
+ bonus bMagicDamageReturn, 20;
+ }
+ ">
+},
+{
+ Items: ["Loli_Ruri_Card", "Miyabi_Ningyo_Card", "Wicked_Nymph_Card", "Parasite_Card", "Harpy_Card", "Blood_Butterfly_Card"]
+ Script: <"
+ bonus bMaxHP, 500;
+ bonus bDef, 5;
+ bonus bMdef, 5;
+ bonus2 bSkillAtk, 14, 10;
+ bonus2 bSkillAtk, 19, 10;
+ bonus2 bSkillAtk, 20, 10;
+ if (BaseClass == Job_Mage) {
+ bonus bMatkRate, 3;
+ bonus bVariableCastrate, -15;
+ }
+ ">
+},
+{
+ Items: ["Lude_Card", "Quve_Card"]
+ Script: <"
+ bonus bMaxHP, 300;
+ bonus bMaxSP, 60;
+ ">
+},
+{
+ Items: ["Miyabi_Ningyo_Card", "Wicked_Nymph_Card", "Harpy_Card", "Blood_Butterfly_Card", "Novus__Card"]
+ Script: <"
+ bonus bInt, 3;
+ bonus2 bSkillAtk, WZ_HEAVENDRIVE, 10;
+ bonus2 bSkillAtk, MG_THUNDERSTORM, 10;
+ if (BaseJob == Job_Sage) {
+ bonus bMagicDamageReturn, 20;
+ bonus2 bAddMonsterDropItem, 716, 100;
+ bonus2 bAddMonsterDropItem, 715, 100;
+ bonus bVariableCastrate, -20;
+ }
+ ">
+},
+{
+ Items: ["Succubus_Card", "Incubus_Card"]
+ Script: <"
+ bonus bHPrecovRate, 30;
+ bonus bSPrecovRate, 30;
+ bonus bVit, 4;
+ bonus bInt, 4;
+ ">
+},
+{
+ Items: ["Solider_Card", "Assulter_Card", "Permeter_Card", "Freezer_Card", "Heater_Card"]
+ Script: <"
+ bonus bStr, 10;
+ bonus bMaxHPrate, 20;
+ bonus bHPrecovRate, 50;
+ bonus3 bAutoSpell, BS_WEAPONPERFECT, 1, 3;
+ bonus2 bAddMonsterDropItem, 501, 500;
+ if (BaseClass == Job_Swordman) {
+ bonus2 bAddItemHealRate, Red_Potion, 50;
+ bonus2 bAddItemHealRate, Yellow_Potion, 50;
+ bonus2 bAddItemHealRate, Orange_Potion, 50;
+ bonus2 bAddItemHealRate, White_Potion, 50;
+ }
+ ">
+},
+{
+ Items: ["C_Tower_Manager_Card", "Alarm_Card", "Clock_Card", "Punk_Card"]
+ Script: <"
+ bonus bDef, 3;
+ bonus bMdef, 3;
+ ">
+},
+{
+ Items: ["Owl_Duke_Card", "Owl_Baron_Card"]
+ Script: <"
+ bonus3 bAutoSpell, MG_LIGHTNINGBOLT, 5, 20;
+ ">
+},
+{
+ Items: ["Injustice_Card", "Zherlthsh_Card"]
+ Script: <"
+ bonus bBaseAtk, 20;
+ bonus bLuk, 3;
+ ">
+},
+{
+ Items: ["Permeter_Card", "Freezer_Card", "Heater_Card", "Archdam_Card"]
+ Script: <"
+ bonus bInt, 1;
+ bonus bStr, 1;
+ bonus bDef, 2;
+ bonus bSPrecovRate, 10;
+ bonus2 bSkillAtk, PA_SHIELDCHAIN, 10;
+ bonus2 bSkillAtk, PA_SACRIFICE, 10;
+ bonus bVariableCastrate, -10;
+ if (BaseJob == Job_Crusader)
+ bonus bDefEle, Ele_Holy;
+ ">
+},
+{
+ Items: ["Garm_Baby_Card", "Garm_Card"]
+ Script: <"
+ bonus3 bAutoSpell, MG_FROSTDIVER, 3, 250;
+ ">
+},
+{
+ Items: ["Pitman_Card", "Mashirubeken"]
+ Script: <"
+ bonus3 bAutoSpell, WZ_EARTHSPIKE, 5, 20 + (getequiprefinerycnt(EQI_HAND_R));
+ ">
+},
+{
+ Items: ["Hill_Wind_Card", "Mashirubeken"]
+ Script: <"
+ bonus3 bAutoSpell, MG_LIGHTNINGBOLT, 5, 20 + (getequiprefinerycnt(EQI_HAND_R));
+ ">
+},
+{
+ Items: ["Rawrel_Card", "Mashirubeken"]
+ Script: <"
+ bonus3 bAutoSpell, MG_COLDBOLT, 5, 20 + (getequiprefinerycnt(EQI_HAND_R));
+ ">
+},
+{
+ Items: ["Ferus_Card", "Mashirubeken"]
+ Script: <"
+ bonus3 bAutoSpell, MG_FIREBOLT, 5, 20 + (getequiprefinerycnt(EQI_HAND_R));
+ ">
+},
+{
+ Items: ["Deathword_Card", "Mashirubeken"]
+ Script: <"
+ bonus3 bAutoSpell, MG_SOULSTRIKE, 5, 20 + (getequiprefinerycnt(EQI_HAND_R));
+ ">
+},
+{
+ Items: ["Zombie_Slaughter_Card", "Ragged_Zombie_Card"]
+ Script: <"
+ bonus2 bSPGainRace, RC_DemiPlayer, 2;
+ ">
+},
+{
+ Items: ["Tendrilion_Card", "KarduiEar"]
+ Script: <"
+ if (getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_2HSPEAR
+ || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_2HSTAFF
+ || getiteminfo(getequipid(EQI_HAND_R), ITEMINFO_SUBTYPE) == W_STAFF) {
+ bonus2 bMagicAddRace, RC_DemiPlayer, getequipid(EQI_HAND_R) * 2;
+ bonus2 bMagicAddRace, RC_Player, getequipid(EQI_HAND_R) * 2;
+ }
+ ">
+},
+{
+ Items: ["Scaraba_Card", "Gold_Scaraba_Card"]
+ Script: <"
+ bonus3 bAutoSpell, NPC_DRAGONFEAR, 2, 100 + (getrefine() * 10);
+ ">
+},
+{
+ Items: ["Q_Scaraba_Card", "Queen_Scaraba_Crown"]
+ Script: <"
+ bonus2 bAddRace2, 7, 30;
+ ">
+},
+{
+ Items: ["Gold_Q_Scaraba_Card", "Queen_Scaraba_Crown"]
+ Script: <"
+ bonus2 bSubRace, RC_Insect, 10;
+ bonus2 bResEff, Eff_Confusion, 10000;
+ ">
+},
+{
+ Items: ["Cendrawasih_Card", "FlyingGalapago"]
+ Script: <"
+ bonus bInt, 1;
+ bonus bCritAtkRate, 5;
+ if (BaseClass == Job_Archer) {
+ bonus bCritAtkRate, 10;
+ }
+ ">
+},
+{
+ Items: ["UndeadKnightF_Card", "Crimson_Stole"]
+ Script: <"
+ bonus bMaxSPrate, 44;
+ bonus bSPGainValue, -(20 + (getequiprefinerycnt(EQI_GARMENT) / 2));
+ ">
+},
+{
+ Items: ["White_Knightage_Card", "Khali_Knightage_Card"]
+ Script: <"
+ bonus2 bAddSize, Size_Medium, 15;
+ bonus2 bAddSize, Size_Large, 15;
+ bonus2 bSubSize, Size_Medium, 5;
+ bonus2 bSubSize, Size_Large, 5;
+ ">
+},
+{
+ Items: ["P_Amdarais_Card", "Bijou_Card"]
+ Script: <"
+ bonus2 bResEff, Eff_Burning, 10000;
+ ">
+},
+{
+ Items: ["Min_Toad_Card", "Min_Chimera_Card"]
+ Script: <"
+ bonus bAtkRate, 10;
+ bonus bMatkRate, 10;
+ ">
+},
+{
+ Items: ["Min_Vagabond_Wolf_Card", "Min_Chimera_Card"]
+ Script: <"
+ bonus bAtkRate, 10;
+ bonus bMatkRate, 10;
+ ">
+},
+{
+ Items: ["Min_Vocal_Card", "Min_Chimera_Card"]
+ Script: <"
+ bonus bAtkRate, 10;
+ bonus bMatkRate, 10;
+ ">
+},
+{
+ Items: ["Min_Eclipse_Card", "Min_Chimera_Card"]
+ Script: <"
+ bonus bAtkRate, 10;
+ bonus bMatkRate, 10;
+ ">
+},
+{
+ Items: ["N_Arclouse_Card", "N_Mimic_Card"]
+ Script: <"
+ bonus2 bSubRace, RC_Brute, 5;
+ bonus2 bSubRace, RC_Undead, 5;
+ bonus2 bIgnoreMdefRate, 50, RC_Brute;
+ bonus2 bIgnoreMdefRate, 50, RC_Undead;
+ ">
+},
+{
+ Items: ["N_Arclouse_Card", "N_Minorous_Card"]
+ Script: <"
+ bonus2 bSubRace, RC_Brute, 5;
+ bonus2 bSubRace, RC_Undead, 5;
+ bonus2 bIgnoreDefRate, 50, RC_Brute;
+ bonus2 bIgnoreDefRate, 50, RC_Undead;
+ ">
+},
+{
+ Items: ["Loard_Circlet", "Gossip_Raven"]
+ Script: <"
+ bonus2 bExpAddRace, RC_All, 5;
+ ">
+},
+{
+ Items: ["Bankruptcy_Of_Heart", "Mask_Of_Bankrupt"]
+ Script: <"
+ bonus bMaxHP, 100;
+ bonus2 bSubEle, Ele_Neutral, getequiprefinerycnt(EQI_HEAD_TOP);
+ ">
+},
+{
+ Items: ["Blush", "Necktie"]
+ Script: <"
+ bonus bAspdRate, 3;
+ bonus bVariableCastrate, 3;
+ ">
+},
+{
+ Items: ["Blush", "Tare_Pope"]
+ Script: <"
+ bonus bSPrecovRate, 3;
+ ">
+},
+{
+ Items: ["Blush", "Tare_Pope_"]
+ Script: <"
+ bonus bHealPower, 10;
+ ">
+},
+{
+ Items: ["Ear_Of_Devils_Wing", "Darkness_Helm_J"]
+ Script: <"
+ bonus bStr, 1;
+ bonus bAtkRate, 5;
+ ">
+},
+{
+ Items: ["Ear_Of_Angels_Wing", "Darkness_Helm_J"]
+ Script: <"
+ bonus bStr, 1;
+ bonus bAspdRate, 2;
+ ">
+},
+{
+ Items: ["Alarm_Mask", "Gloomy_Pumpkin_Hat"]
+ Script: <"
+ bonus2 bAddItemHealRate, 12192, 200;
+ ">
+},
+{
+ Items: ["Feather_Beret", "Protect_Feathers"]
+ Script: <"
+ bonus bAspdRate, 5;
+ if (getequiprefinerycnt(EQI_HEAD_TOP) > 6)
+ bonus bAspdRate, 5;
+ if (getequiprefinerycnt(EQI_HEAD_TOP) > 8)
+ bonus bMaxHPrate, 5;
+ ">
+},
+{
+ Items: ["Hahoe_Mask", "Gloomy_Pumpkin_Hat"]
+ Script: <"
+ bonus bAspdRate, 5;
+ ">
+},
+{
+ Items: ["Captain_Hat", "Antique_Pipe_J"]
+ Script: <"
+ bonus bLongAtkRate, getequiprefinerycnt(EQI_HEAD_TOP);
+ ">
+},
+{
+ Items: ["Pecopeco_Wing_Ears", "Darkness_Helm_J"]
+ Script: <"
+ bonus bAgi, 1;
+ bonus bFlee, 3;
+ ">
+},
+{
+ Items: ["Pencil_In_Mouth", "Cap_Of_Concentration"]
+ Script: <"
+ bonus bDex, 2;
+ bonus bDef, 2;
+ ">
+},
+{
+ Items: ["Black_Glasses", "Darkness_Helm_J"]
+ Script: <"
+ bonus bInt, 1;
+ bonus bMatkRate, 2;
+ ">
+},
+{
+ Items: ["Eyes_Of_Darkness", "Darkness_Helm_J"]
+ Script: <"
+ bonus bDex, 1;
+ bonus bLongAtkRate, 3;
+ ">
+},
+{
+ Items: ["Red_Wing_Hat", "Priest_Sword"]
+ Script: <"
+ bonus2 bAddRace, RC_DemiPlayer, 10;
+ bonus bHit, 10;
+ ">
+},
+{
+ Items: ["Angel_Earing", "Bless_Of_Moon"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 3;
+ ">
+},
+{
+ Items: ["Heaven_Cage", "Ixion_Wing"]
+ Script: <"
+ if (Class == Job_Ranger || Class == Job_Ranger_T)
+ skill HT_BLITZBEAT, 5 * getequiprefinerycnt(EQI_HAND_R);
+ ">
+},
+{
+ Items: ["Scalpel", "Green_Operation_Coat"]
+ Script: <"
+ bonus3 bAddMonsterDropItem, 929, RC_Brute, 100 + (getequiprefinerycnt(EQI_HAND_R) * 10);
+ bonus3 bAddMonsterDropItem, 929, RC_DemiPlayer, 100 + (getequiprefinerycnt(EQI_HAND_R) * 10);
+ bonus3 bAddMonsterDropItem, 970, RC_Brute, 20 + (getequiprefinerycnt(EQI_HAND_R) * 2);
+ bonus3 bAddMonsterDropItem, 970, RC_DemiPlayer, 20 + (getequiprefinerycnt(EQI_HAND_R) * 2);
+ ">
+},
+{
+ Items: ["Twilight_Desert", "Sandstorm"]
+ Script: <"
+ bonus bMaxSP, 20;
+ bonus bMaxHPrate, 5;
+ bonus bHit, 10;
+ bonus2 bAddSize, Size_Large, 30;
+ autobonus "{ bonus bAspdRate,100; }", 1, 7000, BF_WEAPON, "{ specialeffect(EF_POTION_BERSERK, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Sandstorm", "Twilight_Desert_"]
+ Script: <"
+ bonus bMaxSP, 20;
+ bonus bMaxHPrate, 5;
+ bonus bHit, 10;
+ bonus2 bAddSize, Size_Large, 30;
+ autobonus "{ bonus bAspdRate,100; }", 1, 7000, BF_WEAPON, "{ specialeffect(EF_POTION_BERSERK, AREA, playerattached()); }";
+ ">
+},
+{
+ Items: ["Boitata_Armor", "Boitata_Hat"]
+ Script: <"
+ bonus2 bAddEle, Ele_Earth, 10;
+ bonus bDefEle, Ele_Fire;
+ ">
+},
+{
+ Items: ["Egir_Armor", "Aegir_Helm"]
+ Script: <"
+ bonus2 bAddRaceTolerance, RC_Fish, 10 + getequiprefinerycnt(EQI_ARMOR);
+ ">
+},
+{
+ Items: ["Im_Angels_Protection", "Impr_Angels_Warmth"]
+ Script: <"
+ bonus(bAgi, 5);
+ bonus(bFlee, 10);
+ ">
+},
+{
+ Items: ["Female_Poring_Egg", "Excellion_Wing"]
+ Script: <"
+ bonus bDelayrate, -10;
+ bonus bFlee2, 6;
+ if (BaseLevel > 130) {
+ bonus bDelayrate, -10;
+ }
+ ">
+},
+{
+ Items: ["Elven_Ears_", "Skull_Cap"]
+ Script: <"
+ bonus bUseSPrate, -3;
+ ">
+},
+{
+ Items: ["Blush_", "Tare_Pope"]
+ Script: <"
+ bonus bSPrecovRate, 3;
+ ">
+},
+{
+ Items: ["Blush_", "Tare_Pope_"]
+ Script: <"
+ bonus bHealPower, 10;
+ ">
+},
+{
+ Items: ["Imperial_Feather", "Imperial_Ring"]
+ Script: <"
+ bonus2 bSkillVariableCast, CR_GRANDCROSS, -2000;
+ bonus2 bSkillUseSP, LG_RAYOFGENESIS, 10;
+ bonus2 bSkillAtk, CR_GRANDCROSS, BaseLevel;
+ bonus2 bSkillAtk, LG_RAYOFGENESIS, BaseLevel / 30;
+ ">
+},
+{
+ Items: ["Imperial_Feather", "Imperial_Guard", "Imperial_Spear"]
+ Script: <"
+ bonus2 bSkillAtk, LG_CANNONSPEAR, 20;
+ bonus2 bSkillAtk, LG_BANISHINGPOINT, 20;
+ bonus2 bSkillAtk, LG_SHIELDPRESS, 20;
+ ">
+},
+{
+ Items: ["Armor_Of_Gray", "Gray_Helmet", "Cloak_Of_Gray", "Boots_Of_Gray"]
+ Script: <"
+ bonus2 bSubEle, Ele_Neutral, 15;
+ bonus3 bAutoSpellWhenHit, WL_DRAINLIFE, 3, 100;
+ ">
+},
+{
+ Items: ["Gray_Robe", "Gray_Helmet", "Cloak_Of_Gray", "Boots_Of_Gray"]
+ Script: <"
+ bonus2 bSubEle, Ele_Neutral, 15;
+ bonus bMaxHPrate, 25;
+ bonus bMaxSPrate, 25;
+ bonus bMatkRate, 10;
+ ">
+},
+{
+ Items: ["Felock_Armor", "Felock_Cape", "Felock_Boots"]
+ Script: <"
+ bonus bMaxHP, 25;
+ bonus bMaxSP, 25;
+ bonus bSpeedRate, 25;
+ if (getequiprefinerycnt(EQI_GARMENT, EQI_SHOES, EQI_ARMOR) >= 30) {
+ bonus bMaxHP, 5;
+ bonus bMaxSP, 5;
+ }
+ ">
+},
+{
+ Items: ["Blood_Angel_Hair_Band", "Blood_Angel_Wing_Ear"]
+ Script: <"
+ bonus2 bAddRace, RC_Angel, 3;
+ ">
+},
+{
+ Items: ["Egir_Helm", "Egir_Armor", "Egir_Shoes", "Egir_Manteau"]
+ Script: <"
+ bonus bAllStats, 1;
+ bonus2 bSubEle, Ele_Water, 50;
+ ">
+},
+{
+ Items: ["Improved_Kiss_Of_Angel", "Impr_Angels_Warmth"]
+ Script: <"
+ bonus(bBaseAtk, 10);
+ ">
+},
+{
+ Items: ["Improved_Kiss_Of_Angel", "Impr_Angels_Arrival"]
+ Script: <"
+ bonus(bMatk, 20);
+ ">
+},
+{
+ Items: ["Mask_Of_Bankrupt", "Bankruptcy_Of_Heart_"]
+ Script: <"
+ bonus bMaxHP, 100;
+ bonus2 bSubEle, Ele_Neutral, getequiprefinerycnt(EQI_HEAD_TOP);
+ ">
+},
+{
+ Items: ["One_Eyed_Glass_", "Memorize_Book", "Pocket_Watch__"]
+ Script: <"
+ bonus bHPrecovRate, 15;
+ bonus bSPrecovRate, 15;
+ bonus bMatkRate, 7;
+ ">
+},
+{
+ Items: ["Riot_Chip", "Broken_Chip_1", "Broken_Chip_2"]
+ Script: <"
+ bonus bSpeedRate, 10;
+ bonus bBaseAtk, 50;
+ bonus bMatk, 50;
+ if (getequiprefinerycnt(EQI_HEAD_TOP) >= 9) {
+ bonus bMaxHPrate, 10;
+ bonus bMaxSPrate, 50;
+ }
+ ">
+},
+{
+ Items: ["Aegir_Helm", "Aegir_Armor"]
+ Script: <"
+ bonus2 bAddRaceTolerance, RC_Fish, 10 + getequiprefinerycnt(EQI_ARMOR);
+ ">
+},
+{
+ Items: ["Aegir_Helm", "Aegir_Cloak"]
+ Script: <"
+ .@r = getequiprefinerycnt(EQI_GARMENT);
+ bonus2 bSPGainRace, RC_Fish, 10;
+ bonus3 bAddMonsterDropItem, Shusi, RC_Fish, (5 + .@r);
+ bonus3 bAddMonsterDropItem, Fish_Slice, RC_Fish, (5 + .@r);
+ bonus2 bAddItemHealRate, Shusi, 5;
+ bonus2 bAddItemHealRate, Fish_Slice, 5;
+ bonus bHPrecovRate, (5 + .@r);
+ ">
+},
+{
+ Items: ["Aegir_Helm", "Aegir_Shoes"]
+ Script: <"
+ bonus2 bCriticalAddRace, RC_Fish, 10 + getequiprefinerycnt(EQI_SHOES);
+ ">
+},
+{
+ Items: ["Aegir_Helm", "Aegir_Armor", "Aegir_Shoes", "Aegir_Cloak"]
+ Script: <"
+ bonus bMaxHP, 1000;
+ bonus bMaxSP, 100;
+ bonus2 bExpAddRace, RC_Fish, 20;
+ bonus2 bAddRace, RC_Fish, 50;
+ bonus2 bMagicAddRace, RC_Fish, 50;
+ bonus2 bSubEle, Ele_Water, 50;
+ ">
+},
+{
+ Items: ["C_Amistr_Cap", "C_Amistr_Bag"]
+ Script: <"
+ bonus2 bAddRaceTolerance, RC_Player, 4;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Str_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Int_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Agi_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Vit_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Dex_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Luk_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Str_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Vit_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Dex_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Int_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Agi_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin", "Temporal_Luk_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Str_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Int_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Agi_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Vit_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Dex_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Luk_Boots"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Str_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Vit_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Dex_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Int_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Agi_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["FaceWorm_Skin_", "Temporal_Luk_Boots_"]
+ Script: <"
+ bonus bMaxHPrate, 15;
+ bonus bMaxSPrate, 5;
+ ">
+},
+{
+ Items: ["Supplement_Part_Con", "Tornado_Axe"]
+ Script: <"
+ bonus2 bAddRace, RC_All, 25;
+ ">
+},
+{
+ Items: ["Assassin_Shoes", "Desperation_of_Assassin"]
+ Script: <"
+ bonus2 bAddRace, RC_DemiPlayer, getequiprefinerycnt(EQI_SHOES);
+ bonus2 bAddRace, RC_Player, getequiprefinerycnt(EQI_SHOES);
+ ">
+},
+{
+ Items: ["Broken_Chip_1", "Broken_Chip_2"]
+ Script: <"
+ bonus bInt, 8;
+ bonus bStr, 8;
+ ">
+},
+{
+ Items: ["S_Promotion_Weapon", "S_Promotion_Armor", "S_Promotion_Shoes", "S_Promotion_Shield", "S_Promotion_Earring", "S_Promotion_Pendant"]
+ Script: <"
+ bonus bAllStats, 9;
+ ">
+},
+{
+ Items: ["S_Physical_Earring", "S_Physical_Weapon", "S_Physical_Pendant"]
+ Script: <"
+ if (getequiprefinerycnt(EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L, EQI_SHADOW_WEAPON) >= 23) {
+ bonus bAtkRate, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Magical_Earring", "S_Magical_Weapon", "S_Magical_Pendant"]
+ Script: <"
+ if (getequiprefinerycnt(EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L, EQI_SHADOW_WEAPON) >= 23) {
+ bonus bMatkRate, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Champion_Shoes", "S_Hard_Armor"]
+ Script: <"
+ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR, EQI_SHADOW_SHOES);
+ bonus bMaxHP, .@r;
+ bonus bMaxSP, .@r;
+ if (.@r >= 15) {
+ bonus bMaxHPrate, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Athena_Shield", "S_Immune_Armor"]
+ Script: <"
+ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR, EQI_SHADOW_SHIELD);
+ bonus bDef, .@r;
+ if (.@r >= 15) {
+ bonus2 bSubEle, 0, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Ancient_Armor", "S_Kingbird_Weapon"]
+ Script: <"
+ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR, EQI_SHADOW_WEAPON);
+ bonus bBaseAtk, .@r;
+ if (.@r >= 15) {
+ bonus bLongAtkRate, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Critical_Armor", "S_Cri_Hit_Weapon"]
+ Script: <"
+ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR, EQI_SHADOW_WEAPON);
+ bonus bCritical, .@r;
+ bonus bBaseAtk, .@r;
+ if (.@r >= 15) {
+ bonus bCritAtkRate, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Lucky_Weapon", "S_Lucky_Armor"]
+ Script: <"
+ bonus bLuk, 1;
+ ">
+},
+{
+ Items: ["S_Power_Earring", "S_Power_Pendant"]
+ Script: <"
+ bonus bStr, 1;
+ ">
+},
+{
+ Items: ["S_Int_Pendant", "S_Int_Earring"]
+ Script: <"
+ bonus bInt, 1;
+ ">
+},
+{
+ Items: ["S_Dexterous_Armor", "S_Dexterous_Weapon"]
+ Script: <"
+ bonus bDex, 1;
+ ">
+},
+{
+ Items: ["S_Vital_Shoes", "S_Vital_Shield"]
+ Script: <"
+ bonus bVit, 1;
+ ">
+},
+{
+ Items: ["S_Athletic_Shield", "S_Athletic_Shoes"]
+ Script: <"
+ bonus bAgi, 1;
+ ">
+},
+{
+ Items: ["S_Resist_Spell_Pendant", "S_Athena_Earring"]
+ Script: <"
+ bonus2 bSubEle, Ele_Neutral, 1;
+ if (getequiprefinerycnt(EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 15) {
+ bonus2 bSubEle, Ele_Neutral, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Cranial_Shield", "S_Bloody_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_DemiPlayer, 3;
+ ">
+},
+{
+ Items: ["S_Safeguard_Shield", "S_Liberation_Shoes"]
+ Script: <"
+ bonus2 bAddRace, RC_Boss, 5;
+ bonus2 bMagicAddRace, RC_Boss, 5;
+ ">
+},
+{
+ Items: ["S_Brutal_Shield", "S_Clamorous_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_Brute, 3;
+ ">
+},
+{
+ Items: ["S_Gargantua_Shield", "S_Insecticide_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_Insect, 3;
+ ">
+},
+{
+ Items: ["S_Homers_Shield", "S_Fisher_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_Fish, 3;
+ ">
+},
+{
+ Items: ["S_Dragoon_Shield", "S_Dragoon_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_Dragon, 3;
+ ">
+},
+{
+ Items: ["S_Satanic_Shield", "S_Seraphim_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_Angel, 3;
+ ">
+},
+{
+ Items: ["S_Flameguard_Shield", "S_Beholder_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_Formless, 3;
+ ">
+},
+{
+ Items: ["S_Requiem_Shield", "S_Divine_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_Undead, 3;
+ ">
+},
+{
+ Items: ["S_Cadi_Shield", "S_Chemical_Shoes"]
+ Script: <"
+ bonus2 bExpAddRace, RC_Plant, 3;
+ ">
+},
+{
+ Items: ["S_Big_Armor", "S_Big_Weapon"]
+ Script: <"
+ bonus bMaxHPrate, 1;
+ bonus bMaxSPrate, 1;
+ ">
+},
+{
+ Items: ["S_Medium_Armor", "S_Medium_Weapon"]
+ Script: <"
+ bonus bMaxHPrate, 1;
+ bonus bMaxSPrate, 1;
+ ">
+},
+{
+ Items: ["S_Small_Armor", "S_Small_Weapon"]
+ Script: <"
+ bonus bMaxHPrate, 1;
+ bonus bMaxSPrate, 1;
+ ">
+},
+{
+ Items: ["S_Spiritual_Weapon", "S_Spiritual_Earring", "S_Spiritual_Pendent"]
+ Script: <"
+ bonus3 bSPDrainRate, 10, 1 + (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) / 10), 0;
+ ">
+},
+{
+ Items: ["S_Malicious_Armor", "S_Malicious_Shoes", "S_Malicious_Shield"]
+ Script: <"
+ bonus3 bHPDrainRateRace, 11, 40, 2 + (getequiprefinerycnt(EQI_SHADOW_ARMOR, EQI_SHADOW_SHIELD, EQI_SHADOW_SHOES) / 5);
+ ">
+},
+{
+ Items: ["S_Gemstone_Armor", "S_Gemstone_Shoes", "S_Gemstone_Shield", "S_Gemstone_Weapon", "S_Gemstone_Earring", "S_Gemstone_Pendent"]
+ Script: <"
+ bonus bAllStats, 1;
+ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR, EQI_SHADOW_WEAPON, EQI_SHADOW_SHIELD, EQI_SHADOW_SHOES, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L);
+ if (.@r >= 45) {
+ bonus bNoGemStone, 1;
+ }
+ bonus bUseSPrate, 100 - .@r;
+ ">
+},
+{
+ Items: ["S_Stability_Shield", "S_Plasterers_Armor", "S_Plasterers_Shoes"]
+ Script: <"
+ bonus bDef, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_ARMOR, EQI_SHADOW_SHOES) >= 20)
+ bonus2 bResEff, Eff_Stone, 100;
+ ">
+},
+{
+ Items: ["S_Stability_Shield", "S_Insomniac_Armor", "S_Insomniac_Shoes"]
+ Script: <"
+ bonus bDef, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_ARMOR, EQI_SHADOW_SHOES) >= 20)
+ bonus2 bResEff, Eff_Sleep, 100;
+ ">
+},
+{
+ Items: ["S_Stability_Shield", "S_Peerless_Armor", "S_Peerless_Shoes"]
+ Script: <"
+ bonus bDef, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_ARMOR, EQI_SHADOW_SHOES) >= 20)
+ bonus2 bResEff, Eff_Silence, 100;
+ ">
+},
+{
+ Items: ["S_Stability_Shield", "S_Adurate_Armor", "S_Adurate_Shoes"]
+ Script: <"
+ bonus bDef, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_ARMOR, EQI_SHADOW_SHOES) >= 20)
+ bonus2 bResEff, Eff_Blind, 100;
+ ">
+},
+{
+ Items: ["S_Stability_Shield", "Unfreez_Weapon_S", "Unfreeze_Earing_S", "Unfreeze_Pendent_S"]
+ Script: <"
+ bonus bDef, 4;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_L, EQI_SHADOW_ACC_R) >= 30)
+ bonus2 bResEff, Eff_Freeze, 100;
+ ">
+},
+{
+ Items: ["S_Stability_Shield", "Vitality_Earing_S", "Vitality_Pendant_S"]
+ Script: <"
+ bonus bDef, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_ACC_L, EQI_SHADOW_ACC_R) >= 20)
+ bonus2 bResEff, Eff_Bleeding, 100;
+ ">
+},
+{
+ Items: ["S_Stability_Shield", "S_Neutral_Weapon", "S_Neutral_Earring", "S_Neutral_Pendent"]
+ Script: <"
+ bonus bDef, 4;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_L, EQI_SHADOW_ACC_R) >= 30)
+ bonus2 bResEff, Eff_Stun, 100;
+ ">
+},
+{
+ Items: ["S_Stability_Shield", "S_Curse_Lift_Earring", "S_Curse_Lift_Pendent"]
+ Script: <"
+ bonus bDef, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_ACC_L, EQI_SHADOW_ACC_R) >= 20)
+ bonus2 bResEff, Eff_Curse, 100;
+ ">
+},
+{
+ Items: ["S_Caster_earring", "S_Caster_Weapon", "S_Caster_Pendant"]
+ Script: <"
+ bonus bNoCastCancel, 1;
+ bonus bVariableCastrate, 40 - (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L));
+ ">
+},
+{
+ Items: ["S_Spell_Flow_Shoes", "S_Spell_Flow_Armor", "S_Spell_Flow_Shield"]
+ Script: <"
+ bonus bNoCastCancel, 1;
+ bonus bUseSPrate, 40 - getequiprefinerycnt(EQI_SHADOW_SHIELD) - getequiprefinerycnt(EQI_SHADOW_ARMOR) - getequiprefinerycnt(EQI_SHADOW_SHOES);
+ ">
+},
+{
+ Items: ["S_Infinity_Earring", "S_Infinity_Pendant"]
+ Script: <"
+ bonus bAtkRate, 1;
+ if (getequiprefinerycnt(EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 15)
+ bonus bNoSizeFix, 1;
+ ">
+},
+{
+ Items: ["S_Solid_Weapon", "S_Solid_Earring"]
+ Script: <"
+ bonus bAtk, getequiprefinerycnt(EQI_SHADOW_WEAPON);
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R) >= 15)
+ bonus bUnbreakableWeapon, 1;
+ ">
+},
+{
+ Items: ["S_Immortal_Armor", "S_Immortal_Pendant"]
+ Script: <"
+ bonus bDef, getequiprefinerycnt(EQI_SHADOW_ARMOR);
+ if (getequiprefinerycnt(EQI_SHADOW_ARMOR, EQI_SHADOW_ACC_L) >= 15)
+ bonus bUnbreakableArmor, 1;
+ ">
+},
+{
+ Items: ["S_Executioner_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_DemiPlayer;
+ ">
+},
+{
+ Items: ["S_Exorcist_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Demon;
+ ">
+},
+{
+ Items: ["S_Hunting_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Brute;
+ ">
+},
+{
+ Items: ["S_Insect_Net_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Insect;
+ ">
+},
+{
+ Items: ["S_Fishing_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Fish;
+ ">
+},
+{
+ Items: ["S_Dragon_Killer_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Dragon;
+ ">
+},
+{
+ Items: ["S_Corrupt_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Angel;
+ ">
+},
+{
+ Items: ["S_Vibration_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Formless;
+ ">
+},
+{
+ Items: ["S_Holy_Water_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Undead;
+ ">
+},
+{
+ Items: ["S_Scissors_Weapon", "S_Penetration_Earring", "S_Penetration_Pendent"]
+ Script: <"
+ bonus bBaseAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreDefRace, RC_Plant;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Executioner_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_DemiPlayer;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Exorcist_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Demon;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Hunting_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Brute;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Insect_Net_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Insect;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Fishing_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Fish;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Dragon_K_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Dragon;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Corrupt_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Angel;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Vibration_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Formless;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Holy_Water_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Undead;
+ ">
+},
+{
+ Items: ["S_Tempest_Earring", "S_Tempest_Pendent", "S_M_Scissors_Weapon"]
+ Script: <"
+ bonus bMatk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 25)
+ bonus bIgnoreMdefRace, RC_Plant;
+ ">
+},
+{
+ Items: ["S_Bearers_Armor", "S_Bearers_Shoes", "S_Bearers_Shield", "S_Bearers_Weapon", "S_Bearers_Earring", "S_Bearers_Pendent"]
+ Script: <"
+ .@refine = getequiprefinerycnt(EQI_SHADOW_ARMOR, EQI_SHADOW_WEAPON, EQI_SHADOW_SHIELD, EQI_SHADOW_SHOES, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L);
+ bonus bAllStats, 1;
+ if (.@refine >= 45) {
+ bonus bMaxHPrate, (.@refine - 60);
+ sc_start4 SC_ENDURE, 1, 10, 0, 0, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Hasty_Shoes", "S_Hasty_Armor"]
+ Script: <"
+ bonus bFlee, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_SHOES, EQI_SHADOW_ARMOR) >= 15)
+ bonus bSpeedAddRate, 3;
+ ">
+},
+{
+ Items: ["S_Expert_Shoes", "S_Expert_Shield"]
+ Script: <"
+ bonus2 bExpAddRace, RC_All, ((getequiprefinerycnt(EQI_SHADOW_SHOES, EQI_SHADOW_SHIELD)) >= 15 ? 10 : 1);
+ ">
+},
+{
+ Items: ["S_Beginner_Shoes", "S_Beginner_Shield"]
+ Script: <"
+ bonus2 bExpAddRace, RC_All, ((getequiprefinerycnt(EQI_SHADOW_SHOES, EQI_SHADOW_SHIELD)) >= 15 ? 20 : 10);
+ ">
+},
+{
+ Items: ["S_Rookie_Shoes", "S_Rookie_Shield"]
+ Script: <"
+ bonus2 bExpAddRace, RC_All, ((getequiprefinerycnt(EQI_SHADOW_SHOES, EQI_SHADOW_SHIELD)) >= 15 ? 10 : 5);
+ ">
+},
+{
+ Items: ["S_Advanced_Shoes", "S_Advanced_Shield"]
+ Script: <"
+ bonus2 bExpAddRace, RC_All, ((getequiprefinerycnt(EQI_SHADOW_SHOES, EQI_SHADOW_SHIELD)) >= 15 ? 4 : 2);
+ ">
+},
+{
+ Items: ["S_Blitz_Earring", "S_Blitz_Pendent"]
+ Script: <"
+ if (getequiprefinerycnt(EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 15)
+ bonus bAspd, 1;
+ ">
+},
+{
+ Items: ["S_Force_Weapon", "S_Force_Earring", "S_Force_Pendant"]
+ Script: <"
+ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L);
+ if (.@refine >= 25) {
+ bonus bAtkRate, 2;
+ } else if (.@refine >= 20) {
+ bonus bAtkRate, 1;
+ }
+ bonus bAtk2, 10;
+ ">
+},
+{
+ Items: ["S_Spirit_Weapon", "S_Spirit_Earring", "S_Spirit_Pendant"]
+ Script: <"
+ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON, EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L);
+ if (.@refine >= 25) {
+ bonus bMatkRate, 2;
+ } else if (.@refine >= 20) {
+ bonus bMatkRate, 1;
+ }
+ bonus bMatk, 10;
+ ">
+},
+{
+ Items: ["S_Blitz_Shoes", "S_Blitz_Shield"]
+ Script: <"
+ bonus bFlee, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_SHOES, EQI_SHADOW_SHIELD) >= 15) {
+ bonus bAspd, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Titan_Earring", "S_Titan_Pendant"]
+ Script: <"
+ bonus bAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 15) {
+ bonus2 bAddSize, Size_Large, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Boned_Earring", "S_Boned_Pendant"]
+ Script: <"
+ bonus bAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 15) {
+ bonus2 bAddSize, Size_Medium, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Gigantic_Earring", "S_Gigantic_Pendant"]
+ Script: <"
+ bonus bAtk, 5;
+ if (getequiprefinerycnt(EQI_SHADOW_ACC_R, EQI_SHADOW_ACC_L) >= 15) {
+ bonus2 bAddSize, Size_Small, 1;
+ }
+ ">
+},
+{
+ Items: ["S_Caster_Shoes", "S_Caster_Shield", "S_Caster_Armor"]
+ Script: <"
+ bonus bUseSPrate, -1;
+ .@refine = getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_ARMOR, EQI_SHADOW_SHOES);
+ bonus bVariableCastrate, (.@refine) / 5;
+ if (.@refine >= 25) {
+ bonus bUseSPrate, -1;
+ }
+ ">
+},
+{
+ Items: ["S_Reload_Shoes", "S_Reload_Shield", "S_Reload_Armor"]
+ Script: <"
+ bonus bDelayrate, -1;
+ if (getequiprefinerycnt(EQI_SHADOW_SHIELD, EQI_SHADOW_ARMOR, EQI_SHADOW_SHOES) >= 25)
+ bonus bDelayrate, -5;
+ ">
+},
+{
+ Items: ["Geffenia_Book_Water", "Lacryma_Stick"]
+ Script: <"
+ .@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_combo_db.txt b/db/re/item_combo_db.txt
deleted file mode 100644
index 739be9a65..000000000
--- a/db/re/item_combo_db.txt
+++ /dev/null
@@ -1,438 +0,0 @@
-// Item Combos Database
-//
-// Structure of Database:
-// ID:ID:ID:ID,{ Script }
-
-1166:2527,{ bonus2 bAddRace,RC_Dragon,5; }
-1219:5782,{ bonus bAtkRate,3; }
-1220:5782,{ bonus bAtkRate,3; }
-1221:5782,{ bonus bAtkRate,3; }
-1284:2892,{ bonus bBaseAtk,50; bonus2 bSkillAtk,AS_SONICBLOW,50; bonus bFlee,-30; }
-1285:2892,{ bonus bCritAtkRate,40; bonus bCritical,4; bonus bMaxHPrate,-10; }
-1287:15123,{ if(getequiprefinerycnt(EQI_HAND_R)>6) { autobonus2 "{ bonus bIgnoreDefRace,RC_NonBoss; }",20,3000,BF_WEAPON,"{}"; } }
-1298:4317,{ bonus bCritAtkRate,5; }
-1298:4521,{ bonus bCritAtkRate,5; }
-1387:19021,{ bonus2 bSkillAtk,WS_CARTTERMINATION,15+(getequiprefinerycnt(EQI_HAND_R)*5); }
-1407:5782,{ bonus bAtkRate,3; }
-1408:5782,{ bonus bAtkRate,3; }
-1409:5782,{ bonus bAtkRate,3; }
-1420:2115,{ bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,2,5; }
-1420:2133,{ bonus2 bAddRace, RC_All, 4; bonus bDef,2; }
-1421:2133,{ bonus2 bAddRace, RC_All, 4; bonus bDef,2; }
-1422:2133,{ bonus2 bAddRace, RC_All, 4; bonus bDef,2; }
-1428:2115,{ bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,2,5; }
-1433:2153,{ bonus2 bSkillAtk,CR_GRANDCROSS,10; bonus2 bSkillAtk,LG_RAYOFGENESIS,10; }
-1433:2153:18823:28372,{ bonus2 bSkillUseSP,CR_GRANDCROSS,30; bonus2 bSkillUseSP,LG_SHIELDPRESS,5; bonus2 bSkillUseSP,LG_BANISHINGPOINT,15; bonus2 bSkillUseSP,LG_CANNONSPEAR,10; }
-1433:28372,{ bonus2 bSkillAtk,LG_CANNONSPEAR,7*(getequiprefinerycnt(EQI_HAND_L)/2); }
-1472:2677,{ bonus bMatkRate,6; bonus bDex,2; bonus bVariableCastrate,-getequiprefinerycnt(EQI_HAND_R); }
-1472:2711,{ bonus bMatkRate,6; bonus bDex,2; bonus bVariableCastrate,-getequiprefinerycnt(EQI_HAND_R); }
-1473:2677,{ bonus bMatkRate,6; bonus bDex,2; bonus bVariableCastrate,-getequiprefinerycnt(EQI_HAND_R); }
-1473:2711,{ bonus bMatkRate,6; bonus bDex,2; bonus bVariableCastrate,-getequiprefinerycnt(EQI_HAND_R); }
-1474:2527,{ bonus2 bAddRace,RC_Dragon,5; }
-1477:2700,{ bonus2 bResEff,Eff_Confusion,9500; }
-1479:2700,{ bonus2 bResEff,Eff_Confusion,9500; }
-1564:2186,{ bonus bAspdRate,getequiprefinerycnt(EQI_HAND_R); }
-1535:4361,{ bonus bBreakArmorRate,900; bonus bBreakWeaponRate,900; }
-1572:2716:2717,{ bonus bInt,5; bonus bMaxHP,700; bonus bAspdRate,5; }
-1573:2334,{ bonus bMdef,8; bonus bMaxSPrate,10; bonus bInt,4; }
-1573:2372,{ bonus bMdef,8; bonus bMaxSPrate,10; bonus bInt,4; }
-1573:2716:2717,{ bonus bInt,5; bonus bMaxHP,700; bonus bAspdRate,5; }
-1590:4037,{ bonus bAspdRate,5; }
-1590:4117,{ bonus bAspdRate,5; }
-1590:4037:4117,{ bonus bAspd,1; }
-1598:4037,{ bonus bAspdRate,5; }
-1598:4117,{ bonus bAspdRate,5; }
-1598:4037:4117,{ bonus bAspd,1; }
-1615:18539,{ bonus bMatk,10*getequiprefinerycnt(EQI_HAND_R); bonus bVariableCastrate,-10; }
-1616:2515,{ bonus bSpeedRate,25; }
-1618:2509,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; if(getequiprefinerycnt(EQI_GARMENT) > 10) { bonus2 bSubEle,Ele_Neutral,30; } else { bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_GARMENT)*3; } }
-1618:2535,{ bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,25; }
-1618:19020,{ bonus bMatk,getequiprefinerycnt(EQI_HAND_R)*10; if (getequiprefinerycnt(EQI_HAND_R)>=10) autobonus "{ bonus bVariableCastrate,-50; }",50,5000,BF_MAGIC,"{ specialeffect(EF_SUFFRAGIUM, AREA, playerattached()); }"; }
-1620:2509,{ bonus bMaxHP,300; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R)-5; if(getequiprefinerycnt(EQI_GARMENT) > 10) { bonus2 bSubEle,Ele_Neutral,30; } else { bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_GARMENT)*3; } }
-1620:2535,{ bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,25; }
-1625:18542,{ bonus bHealPower,getequiprefinerycnt(EQI_HAND_R); }
-1629:5045,{ bonus bDex,2; bonus bInt,2; bonus bSPrecovRate,5; bonus bMatkRate,getequiprefinerycnt(EQI_HAND_R); }
-1631:2129,{ bonus2 bSkillAtk,PR_MAGNUS,20; bonus3 bAutoSpellWhenHit,PR_TURNUNDEAD,1,20; }
-1631:18542,{ bonus bHealPower,getequiprefinerycnt(EQI_HAND_R)*3; }
-1636:18539,{ bonus bMatk,10*getequiprefinerycnt(EQI_HAND_R); bonus bVariableCastrate,-10; }
-1636:18804,{ bonus bMatk,getequiprefinerycnt(EQI_HAND_R)*10; }
-1649:2198,{ if(getequiprefinerycnt(EQI_HAND_L)>8) { bonus bMatk,getequiprefinerycnt(EQI_HAND_R)*15; } if(getequiprefinerycnt(EQI_HAND_R)>9) { bonus bMatk,50; bonus bVariableCastrate,-10; } }
-1657:2471:2569:15029,{ bonus bHealPower,25; }
-1660:2471:2569:15029,{ bonus bHealPower,45; bonus3 bAutoSpellWhenHit,AB_SILENTIUM,1,10; }
-1662:18539,{ bonus bMatk,10*getequiprefinerycnt(EQI_HAND_R); bonus bVariableCastrate,-10; }
-1718:1774,{ bonus bLongAtkRate,50; }
-1723:2718,{ bonus bDex,1; bonus bMaxSP,50; bonus bSPrecovRate,10; }
-1726:1774,{ bonus bLongAtkRate,50; }
-1730:1752,{ bonus bLongAtkRate,25; }
-1731:1754,{ bonus bLongAtkRate,25; }
-1732:1756,{ bonus bLongAtkRate,25; bonus2 bAddEff,Eff_Stone,1000; }
-1733:1755,{ bonus bLongAtkRate,25; bonus3 bAutoSpell,NJ_HUUJIN,5,100; if(readparam(bInt)>39) bonus3 bAutoSpell,NJ_HUUJIN,5,200; }
-1734:1753,{ bonus bLongAtkRate,50; }
-1741:2748,{ bonus bAtk,25; bonus3 bAddEff,Eff_Curse,200,ATF_WEAPON|ATF_LONG|ATF_TARGET; }
-1746:1773,{ bonus bLongAtkRate,50; }
-1764:18541,{ bonus bCritAtkRate,5; }
-1775:18114,{ bonus bLongAtkRate,70; }
-1776:18114,{ bonus bLongAtkRate,40; }
-1935:2988,{ bonus2 bSkillAtk,CG_ARROWVULCAN,200; bonus2 bSkillUseSP,CG_ARROWVULCAN,20; }
-1990:2989,{ bonus2 bSkillAtk,CG_ARROWVULCAN,200; }
-2001:2677,{ bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }
-2001:2711,{ bonus bMatkRate,10; bonus bDex,2; bonus2 bSubRace,RC_Demon,10; bonus2 bSubRace,RC_Undead,10; }
-2007:2467:2859:15025,{ bonus2 bMagicAtkEle,Ele_Wind,40; bonus2 bMagicAtkEle,Ele_Earth,-30; bonus2 bSubEle,Ele_Earth,-50; }
-2008:2468:2860:15026,{ bonus2 bMagicAtkEle,Ele_Water,40; bonus2 bMagicAtkEle,Ele_Wind,-30; bonus2 bSubEle,Ele_Wind,-50; }
-2009:2469:2861:15027,{ bonus2 bMagicAtkEle,Ele_Fire,40; bonus2 bMagicAtkEle,Ele_Water,-30; bonus2 bSubEle,Ele_Water,-50; }
-2010:2470:2862:15028,{ bonus2 bMagicAtkEle,Ele_Earth,40; bonus2 bMagicAtkEle,Ele_Fire,-30; bonus2 bSubEle,Ele_Fire,-50; }
-2011:2467:2859:15025,{ bonus2 bMagicAtkEle,Ele_Wind,60; bonus2 bMagicAtkEle,Ele_Earth,-60; bonus2 bSubEle,Ele_Earth,-50; }
-2012:2468:2860:15026,{ bonus2 bMagicAtkEle,Ele_Water,60; bonus2 bMagicAtkEle,Ele_Wind,-60; bonus2 bSubEle,Ele_Wind,-50; }
-2013:2469:2861:15027,{ bonus2 bMagicAtkEle,Ele_Fire,60; bonus2 bMagicAtkEle,Ele_Water,-60; bonus2 bSubEle,Ele_Water,-50; }
-2014:2470:2862:15028,{ bonus2 bMagicAtkEle,Ele_Earth,60; bonus2 bMagicAtkEle,Ele_Fire,-60; bonus2 bSubEle,Ele_Fire,-50; }
-2109:2717:2239,{ bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }
-2114:2353:5122,{ bonus bStr,2; bonus bDef,5; bonus bMdef,5; if(BaseClass==Job_Swordman) bonus bDef,6; }
-2115:2353:5124,{ bonus bDef,2-getequiprefinerycnt(EQI_HAND_L)-getequiprefinerycnt(EQI_HEAD_TOP); bonus bMdef,5+getequiprefinerycnt(EQI_HAND_L)+getequiprefinerycnt(EQI_HEAD_TOP); }
-2116:2355:2420:2521:5125,{ bonus bMaxHP,900; bonus bMaxSP,100; bonus3 bAutoSpellWhenHit,HP_ASSUMPTIO,1,30; }
-2121:2717:2239,{ bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }
-2123:2701,{ bonus bVariableCastrate,-10; }
-2123:2881,{ bonus bMatk,getrefine()*2; }
-2124:2702,{ bonus bAspdRate,10; bonus bShortWeaponDamageReturn,5; }
-2125:5782,{ bonus bDef,2; }
-2135:2426,{ bonus2 bAddEff,Eff_Blind,500; autobonus "{ bonus bFlee,20; }",200,10000,BF_WEAPON,"{ specialeffect(EF_INCAGILITY, AREA, playerattached()); }"; }
-2137:2353:5124,{ bonus bDef,2-getequiprefinerycnt(EQI_HAND_L)-getequiprefinerycnt(EQI_HEAD_TOP); bonus bMdef,5+getequiprefinerycnt(EQI_HAND_L)+getequiprefinerycnt(EQI_HEAD_TOP); }
-2153:28372,{ if(getequiprefinerycnt(EQI_HAND_L)>5) { bonus2 bSkillAtk,LG_SHIELDPRESS,(getequiprefinerycnt(EQI_HAND_L)*8)-40; } }
-2157:2905,{ bonus2 bAddRaceTolerance,RC_Insect,10; if (getequiprefinerycnt(EQI_HAND_L)>7) { bonus2 bMagicAddRace,RC_Insect,4; bonus2 bAddRaceTolerance,RC_Insect,20; } }
-2160:19021,{ bonus2 bSkillAtk,WS_CARTTERMINATION,15+(getequiprefinerycnt(EQI_HAND_R)*5); }
-2169:2491:2590:15051,{ bonus bMaxHPrate,20; bonus bMaxSPrate,10; }
-2171:15053,{ bonus bAgi,2; }
-2171:15056,{ bonus bAgi,2; }
-2173:15055,{ bonus bFlee,10; bonus bFlee2,10; }
-2183:15068:18776:20710:22015,{ bonus(bMaxHP, 900); bonus(bMaxSP, 100); bonus3(bAutoSpellWhenHit, HP_ASSUMPTIO, 1, 30); }
-2198:5966,{ if (isequipped(4441)) {} else { if(getequiprefinerycnt(EQI_HAND_L)>6) { bonus2 bSkillCooldown,WL_COMET,-20000; } if(getequiprefinerycnt(EQI_HAND_L)>9) { bonus2 bSkillCooldown,WL_COMET,-20000; } } }
-2254:18912,{ bonus2 bExpAddRace, RC_All, 5; }
-2269:5781,{ bonus bMaxSP,30; bonus bInt,1; }
-2269:5786,{ bonus bMatkRate,1; }
-2269:5891,{ bonus bAllStats,1; }
-2270:5781,{ bonus bLuk,1; bonus bFlee,2; }
-2270:5786,{ bonus bAtkRate,1; }
-2270:5891,{ bonus bAllStats,1; }
-2278:18527,{ bonus2 bAddMonsterDropItem,12192,20; }
-2281:18527,{ bonus bFlee,10; }
-2183:15068,{ bonus bAllStats,2; }
-2286:18539,{ bonus bUseSPrate,-3; }
-2312:2656,{ bonus bDef,5; bonus bMaxHP,150; }
-2313:2656,{ bonus bDef,5; bonus bMaxHP,150; }
-2337:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
-2339:2522,{ bonus bAgi,5; bonus bFlee,10; }
-2339:2523,{ bonus bAgi,5; bonus bFlee,10; }
-2353:2417:2516,{ bonus bAgi,3; bonus bMaxHPrate,5; bonus bMaxSPrate,5; }
-2353:2418:2517,{ bonus bVit,5; bonus bHPrecovRate,10; bonus bSPrecovRate,10; }
-2353:5123,{ if(readparam(bDex)>69) bonus bUseSPrate,-10; }
-2353:5493,{ if(readparam(bDex)>69) bonus bUseSPrate,-10; }
-2353:13428,{ bonus bMaxSP,50; bonus2 bSkillAtk,KN_BOWLINGBASH,5; }
-2354:2419:2520:5128,{ bonus bVit,5; bonus bMaxHPrate,15; bonus bMaxSPrate,5; bonus bDef,5; bonus bMdef,15; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Wind,10; }
-2354:2493:2599:19043,{ bonus bVit,5; bonus bMaxHPrate,15; bonus bMaxSPrate,5; bonus bDef,5; bonus bMdef,15; bonus2 bSubEle,Ele_Water,10; bonus2 bSubEle,Ele_Earth,10; bonus2 bSubEle,Ele_Fire,10; bonus2 bSubEle,Ele_Wind,10; }
-2357:2421:2524:5171,{ bonus bAllStats,1; }
-2358:5153,{ bonus bLuk,6; bonus bFlee,5; bonus bInt,2; }
-2359:2654,{ bonus bUseSPrate,-20; bonus bMaxHP,300; }
-2365:2881,{ bonus bVariableCastrate,15; }
-2369:2428:2533:5306,{ bonus2 bSubRace,RC_DemiPlayer,10; bonus bMaxHPrate,20; bonus2 bResEff,Eff_Freeze,10000; skill WZ_FIREPILLAR,10; }
-2371:2522,{ bonus bAgi,5; bonus bFlee,10; }
-2371:2523,{ bonus bAgi,5; bonus bFlee,10; }
-2374:2729,{ bonus2 bAddRace, RC_All, 3; bonus bMatkRate,3; }
-2375:2729,{ bonus2 bAddRace, RC_All, 3; bonus bMatkRate,3; }
-2376:2435:2538,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bVit,3; bonus bMaxHPrate,12; bonus bHealPower2,10; bonus bAddItemHealRate,10; autobonus2 "{ bonus2 bHPRegenRate,600,1000; }",5,10000,BF_WEAPON,"{ specialeffect(EF_HEAL, AREA, playerattached()); }"; }
-2377:2435:2538,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bStr,3; bonus bMaxHPrate,12; bonus2 bSkillAtk,MC_MAMMONITE,20; bonus2 bSkillHeal,AM_POTIONPITCHER,10; bonus2 bSkillHeal2,AM_POTIONPITCHER,10; bonus2 bSkillHeal2,AL_HEAL,10; bonus bUnbreakableArmor,0; }
-2378:2435:2538,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bAgi,3; bonus bMaxHPrate,12; bonus bCritical,5; bonus bAspdRate,5; autobonus "{ bonus2 bHPRegenRate,300,1000; }",10,10000,BF_WEAPON,"{ specialeffect(EF_HEAL, AREA, playerattached()); }"; }
-2379:2436:2539,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bInt,3; bonus bMaxHPrate,12; bonus2 bResEff,Eff_Stun,2000; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect(EF_ENERGYCOAT, AREA, playerattached()); }"; }
-2380:2436:2539,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bInt,3; bonus bMaxHPrate,12; bonus2 bVariableCastrate,AL_HOLYLIGHT,-50; bonus bHealPower,6; autobonus2 "{ bonus bDefEle,Ele_Ghost; }",30,10000,BF_WEAPON,"{ specialeffect(EF_ENERGYCOAT, AREA, playerattached()); }"; }
-2381:2436:2539,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bDex,3; bonus bMaxHPrate,12; bonus bLongAtkDef,10; bonus bDelayrate,-25; }
-2382:2437:2540,{ bonus2 bSubRace,RC_NonDemiPlayer,-300; bonus bDex,3; bonus bMaxHPrate,12; bonus bLongAtkDef,10; bonus bDelayrate,-25; }
-2387:2440:2744,{ bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus bVariableCastrate,-3; bonus bDelayrate,-15; }
-2390:2749,{ bonus bFlee2,5; }
-2394:2444:2549,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,5; bonus2 bResEff,Eff_Freeze,10000; bonus2 bSkillHeal2,AM_POTIONPITCHER,3; bonus2 bSkillHeal2,AL_HEAL,3; bonus2 bSkillHeal2,PR_SANCTUARY,3; }
-2399:2553,{ bonus bAgi,5; bonus bFlee,15; }
-2408:2655,{ bonus bBaseAtk,50; bonus2 bAddDefClass,1196,20; bonus2 bAddDefClass,1197,20; }
-2424:2528,{ bonus bHPrecovRate,5; bonus bMaxHPrate,10; }
-2425:2529,{ bonus bFlee,10; }
-2425:2530,{ bonus bFlee,10; }
-2425:2551,{ bonus bFlee,10; }
-2433:2537,{ bonus bMaxHPrate,6; }
-2434:2529,{ bonus bFlee,10; }
-2434:2530,{ bonus bFlee,10; }
-2434:2551,{ bonus bFlee,10; }
-2441:2546,{ bonus bFlee,5; }
-2472:2570:15030:16013,{ bonus2 bAddRace,RC_Undead,15; bonus2 bMagicAddRace,RC_Undead,15; bonus2 bSkillAtk,AB_ADORAMUS,100; }
-2472:2570:15030:16018,{ bonus2 bAddRace,RC_Undead,30; bonus2 bMagicAddRace,RC_Undead,30; bonus2 bSkillAtk,AB_ADORAMUS,200; bonus bVariableCastrate,-50; }
-2475:2574:2883:15036,{ bonus bMaxHPrate,14; bonus2 bSkillAtk,RK_HUNDREDSPEAR,50; skill CR_AUTOGUARD,1; bonus bUseSPrate,10; bonus2 bSubEle,Ele_Neutral,10; }
-2476:2575:2884:15037,{ bonus2 bAddRace, RC_All, 10; bonus2 bSkillAtk,RK_SONICWAVE,100; bonus2 bSkillAtk,RK_WINDCUTTER,100; bonus3 bAutoSpell,RK_STORMBLAST,1,20; autobonus3 "{ bonus bAspd,2; }",1000,10000,LK_CONCENTRATION,"{ specialeffect(EF_ENHANCE, AREA, playerattached()); }"; }
-2477:2577:2886:15038,{ bonus bCritical,15; bonus bFlee,10; bonus bCritAtkRate,40; bonus2 bSkillAtk,GC_CROSSIMPACT,20; bonus bUseSPrate,10; }
-2478:2578:2887:15039,{ bonus2 bAddRace, RC_All, 10; bonus bMatkRate,10; if(readparam(bStr)>119) { bonus bBaseAtk,30; } bonus3 bAutoSpell,ASC_BREAKER,getskilllv(ASC_BREAKER),10; bonus bCritical,-20; }
-2479:2580:2890:15042,{ bonus bAspd,2; bonus bLongAtkRate,30; bonus3 bAutoSpell,AC_DOUBLE,3,10; bonus2 bSkillAtk,RA_ARROWSTORM,50; }
-2480:2581:2891:15043,{ bonus bMaxHPrate,15; bonus2 bSkillAtk,RA_CLUSTERBOMB,20; bonus bFlee2,20; bonus bLongAtkRate,-30; bonus bAspd,-7; }
-2483:2586:15046,{ bonus bVit,5; bonus2 bSubRace,RC_DemiPlayer,15; }
-2484:2586:15047,{ bonus bDex,5; bonus2 bSubRace,RC_DemiPlayer,15; }
-2485:2587:15048,{ bonus bInt,5; bonus bMdef,10; bonus2 bSubRace,RC_DemiPlayer,15; }
-2518:2648:2649:5126,{ bonus bInt,5; bonus bMdef,11; bonus bMaxSPrate,20; bonus bNoCastCancel,0; bonus bVariableCastrate,25; }
-2519:2650:2651:5127,{ bonus bStr,2; bonus bLuk,9; bonus bCritical,13; bonus bBaseAtk,18; bonus bFlee2,13; }
-2519:2900:2901:19044,{ bonus bStr,2; bonus bLuk,9; bonus bCritical,13; bonus bBaseAtk,18; bonus bFlee2,13; }
-2527:13001,{ bonus2 bAddRace,RC_Dragon,5; }
-2597:2616,{ bonus bCritAtkRate,5; bonus bCritical,10; if (getequiprefinerycnt(EQI_GARMENT)>=5) { bonus bCritAtkRate,3; } if (getequiprefinerycnt(EQI_GARMENT)>=7) { bonus bCritAtkRate,4;} }
-2597:18803,{ bonus bUseSPrate,-5; }
-2607:2677,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2607:2711,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2607:2786,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2608:2677,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2608:2711,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2608:2786,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2615:5890,{ bonus bMdef,7; bonus bDef,7; }
-2616:5890,{ bonus bCritical,7; }
-2620:2746,{ bonus2 bAddSize,Size_Medium,8; bonus bAspdRate,3; }
-2620:2747,{ bonus2 bAddSize,Size_Large,8; bonus bHit,3; bonus bVariableCastrate,-3; }
-2626:2677,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2626:2711,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2626:2786,{ bonus2 bSkillAtk,AL_HEAL,50; bonus2 bSkillAtk,PR_MAGNUS,30; bonus bSPrecovRate,9; }
-2678:2679,{ bonus4 bAutoSpell,MO_EXTREMITYFIST,1,3,1; bonus3 bAutoSpell,PR_LEXAETERNA,1,20; bonus3 bAutoSpell,AS_SONICBLOW,5,50; bonus3 bAutoSpell,MO_INVESTIGATE,5,20; bonus3 bAutoSpell,ASC_METEORASSAULT,2,50; }
-2679:2792,{ bonus4 bAutoSpell,MO_EXTREMITYFIST,1,3,1; bonus3 bAutoSpell,PR_LEXAETERNA,1,20; bonus3 bAutoSpell,AS_SONICBLOW,5,50; bonus3 bAutoSpell,MO_INVESTIGATE,5,20; bonus3 bAutoSpell,ASC_METEORASSAULT,2,50; }
-2701:2881,{ bonus bMatk,20; }
-2720:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2721:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2722:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2723:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2724:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2725:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2726:2727,{ bonus bUseSPrate,-25; }
-2733:2772,{ bonus2 bAddRace, RC_All, 5; bonus bMatkRate,3; bonus bHealPower,5; }
-2747:13061,{ bonus bHit,5; bonus bMatk,5; bonus2 bSkillUseSP,SC_ENERVATION,20; bonus2 bSkillUseSP,SC_GROOMY,20;}
-2777:2778:5479,{ bonus bMaxHP,300; bonus bMatkRate,5; bonus2 bSubEle,Ele_Neutral,5; }
-2779:2780:5482,{ bonus bMatkRate,10; bonus bInt,5; bonus2 bSubRace,RC_Angel,10; }
-2779:2780:5577,{ bonus bMatkRate,10; bonus bInt,5; bonus2 bSubRace,RC_Angel,10; }
-2950:15067:20709:22012,{ bonus2 bExpAddRace,RC_All,10; }
-2963:15073,{ bonus bAspdRate,5; }
-2963:15074,{ bonus bDelayrate,-5; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; }
-2964:15073,{ bonus bDelayrate,-5; bonus2 bAddRaceTolerance,RC_DemiPlayer,5; }
-2964:15074,{ bonus bVariableCastrate,-5; }
-2997:2999,{ bonus bMatkRate,10; bonus bAtkRate,10; }
-4001:4197,{ bonus bFlee,18; }
-4006:4266,{ bonus bFlee,18; }
-4009:4179,{ bonus bFlee,18; }
-4014:4306,{ bonus bFlee,18; }
-4015:5967,{ bonus2 bSubEle,Ele_All,5; }
-4021:4211,{ bonus bFlee,18; }
-4025:4222,{ bonus2 bAddEffWhenHit,Eff_Sleep,600; }
-4028:4296,{ bonus bStr,3; }
-4029:4183,{ bonus bFlee,18; }
-4031:4161,{ bonus bDef,3; bonus bVit,3; }
-4036:4186:4233:4281:4343,{ bonus bStr,4; bonus bMaxHPrate,7; bonus bMaxSPrate,7; bonus2 bSkillAtk,MC_MAMMONITE,20; bonus bSPDrainValue,1; if(BaseJob==Job_Alchemist) { bonus3 bAutoSpell,BS_ADRENALINE,1,10; bonus2 bAddMonsterDropItem,7139,3; bonus2 bAddMonsterDropItem,905,10; } }
-4039:4210:4230:4257:4348,{ bonus bStr,6; bonus bAgi,4; bonus2 bSkillAtk,RG_BACKSTAP,10; if(getskilllv(RG_STRIPARMOR)==5) bonus3 bAutoSpell,RG_STRIPARMOR,5,50; if(BaseJob==Job_Rogue) { bonus bUseSPrate,-20; bonus3 bAutoSpell,RG_INTIMIDATE,1,-20; } }
-4072:21013,{ bonus2 bSubSize,Size_Large,15; bonus2 bSubSize,Size_Small,15; }
-4074:4162,{ bonus2 bAddEffWhenHit,Eff_Blind,600; }
-4090:4212:4328,{ bonus bAllStats,1; }
-4106:4248,{ bonus bPerfectHitAddRate,20; }
-4127:4166,{ bonus2 bAddEffWhenHit,Eff_Curse,600; }
-4140:18574,{ bonus2 bAddRace,RC_Boss,5; if (getequiprefinerycnt(EQI_HEAD_TOP)>=11) bonus2 bSubRace,RC_NonBoss,5; }
-4152:5967,{ bonus2 bAddItemHealRate,Apple_Juice,1000; bonus2 bAddItemHealRate,Banana_Juice,1000; bonus2 bAddItemHealRate,Carrot_Juice,1000; }
-4153:4247:4273,{ bonus3 bAddMonsterDropItem,544,RC_Fish,3000; bonus2 bAddEle,Ele_Water,30; }
-4161:5932,{ bonus4 bAutoSpell,PR_GLORIA,5,10,0; }
-4163:5967,{ bonus bAspdRate,3; bonus bAspd,1; bonus bAtkRate,-5; if(getiteminfo(getequipid(EQI_HAND_R),11)==11) { if(getequiprefinerycnt(EQI_HAND_R)>8) bonus bAspd,1; } }
-4168:4169,{ bonus bMaxHPrate,20; bonus bMaxSPrate,20; bonus bVariableCastrate,-10; }
-4172:4210:4230:4257:4272,{ bonus bAgi,5; bonus bStr,5; bonus bAspdRate,5; bonus bSpeedRate,25; bonus2 bSPDrainValue,1,0; if(BaseClass==Job_Thief) bonus bNoGemStone,0; }
-4178:4199:4234:4252:4297,{ bonus bAgi,5; bonus bDex,3; bonus bLongAtkRate,20; bonus bPerfectHitAddRate,20; if(BaseClass==Job_Archer) { bonus2 bExpAddRace,RC_Brute,5; bonus2 bWeaponComaRace,RC_Brute,100; } }
-4178:4234:4252:4297:4381,{ bonus bDex,5; bonus2 bSkillAtk,CG_ARROWVULCAN,5; bonus2 bSkillAtk,DC_THROWARROW,10; bonus2 bSkillAtk,BA_MUSICALSTRIKE,10; if(BaseJob==Job_Bard||BaseJob==Job_Dancer) bonus3 bAutoSpellWhenHit,CG_TAROTCARD,2,50; }
-4185:4217:4280:4293:4312,{ bonus bVit,10; bonus bVariableCastrate,-10; bonus bUseSPrate,-10; if(BaseClass==Job_Acolyte) { bonus2 bExpAddRace,RC_Undead,5; bonus2 bExpAddRace,RC_Demon,5; bonus2 bSubRace,RC_Undead,30; bonus2 bSubRace,RC_Demon,30; } }
-4185:4293:4312:4332,{ bonus bStr,3; bonus bMaxSP,80; bonus bBaseAtk,25; bonus3 bAutoSpell,AL_CRUCIS,5,10; bonus2 bSkillAtk,MO_EXTREMITYFIST,10; if(BaseJob==Job_Monk) { bonus bUseSPrate,-10; bonus bNoCastCancel,0; } }
-4186:4206:4233:4281:4321,{ bonus bLuk,10; bonus2 bSPDrainValue,2,0; bonus2 bSkillAtk,42,20; if(BaseClass==Job_Merchant) { bonus2 bAddMonsterDropItem,617,5; bonus bMagicDamageReturn,20; } }
-4191:4208:4258:4309:4325:4327,{ bonus bMaxHP,500; bonus bDef,5; bonus bMdef,5; bonus2 bSkillAtk,14,10; bonus2 bSkillAtk,19,10; bonus2 bSkillAtk,20,10; if(BaseClass==Job_Mage) { bonus bMatkRate,3; bonus bVariableCastrate,-15; } }
-4193:4294,{ bonus bMaxHP,300; bonus bMaxSP,60; }
-4208:4258:4325:4327:4382,{ bonus bInt,3; bonus2 bSkillAtk,WZ_HEAVENDRIVE,10; bonus2 bSkillAtk,MG_THUNDERSTORM,10; if(BaseJob==Job_Sage) { bonus bMagicDamageReturn,20; bonus2 bAddMonsterDropItem,716,100; bonus2 bAddMonsterDropItem,715,100; bonus bVariableCastrate,-20; } }
-4218:4269,{ bonus bHPrecovRate,30; bonus bSPrecovRate,30; bonus bVit,4; bonus bInt,4; }
-4220:4246:4311:4319:4331,{ bonus bStr,10; bonus bMaxHPrate,20; bonus bHPrecovRate,50; bonus3 bAutoSpell,BS_WEAPONPERFECT,1,3; bonus2 bAddMonsterDropItem,501,500; if(BaseClass==Job_Swordman) { bonus2 bAddItemHealRate,Red_Potion,50; bonus2 bAddItemHealRate,Yellow_Potion,50; bonus2 bAddItemHealRate,Orange_Potion,50; bonus2 bAddItemHealRate,White_Potion,50; } }
-4229:4244:4299:4313,{ bonus bDef,3; bonus bMdef,3; }
-4237:4238,{ bonus3 bAutoSpell,MG_LIGHTNINGBOLT,5,20; }
-4268:4277,{ bonus bBaseAtk,20; bonus bLuk,3; }
-4311:4319:4331:4371,{ bonus bInt,1; bonus bStr,1; bonus bDef,2; bonus bSPrecovRate,10; bonus2 bSkillAtk,PA_SHIELDCHAIN,10; bonus2 bSkillAtk,PA_SACRIFICE,10; bonus bVariableCastrate,-10; if(BaseJob==Job_Crusader) bonus bDefEle,Ele_Holy; }
-4323:4324,{ bonus3 bAutoSpell,MG_FROSTDIVER,3,250; }
-4335:21012,{ bonus3 bAutoSpell,WZ_EARTHSPIKE,5,20+(getequiprefinerycnt(EQI_HAND_R)); }
-4345:21012,{ bonus3 bAutoSpell,MG_LIGHTNINGBOLT,5,20+(getequiprefinerycnt(EQI_HAND_R)); }
-4350:21012,{ bonus3 bAutoSpell,MG_COLDBOLT,5,20+(getequiprefinerycnt(EQI_HAND_R)); }
-4380:21012,{ bonus3 bAutoSpell,MG_FIREBOLT,5,20+(getequiprefinerycnt(EQI_HAND_R)); }
-4388:21012,{ bonus3 bAutoSpell,MG_SOULSTRIKE,5,20+(getequiprefinerycnt(EQI_HAND_R)); }
-4435:4436,{ bonus2 bSPGainRace,RC_DemiPlayer,2; }
-4463:5966,{ if(getiteminfo(getequipid(EQI_HAND_R),11)==5||getiteminfo(getequipid(EQI_HAND_R),11)==23||getiteminfo(getequipid(EQI_HAND_R),11)==10) { bonus2 bMagicAddRace,RC_DemiPlayer,getequipid(EQI_HAND_R)*2; bonus2 bMagicAddRace,RC_Player,getequipid(EQI_HAND_R)*2; } }
-4505:4508,{ bonus3 bAutoSpell,NPC_DRAGONFEAR,2,100+(getrefine()*10); }
-4507:19023,{ bonus2 bAddRace2,7,30; }
-4509:19023,{ bonus2 bSubRace,RC_Insect,10; bonus2 bResEff,Eff_Confusion,10000; }
-4517:5967,{ bonus bInt,1; bonus bCritAtkRate,5; if(BaseClass==Job_Archer) { bonus bCritAtkRate,10; } }
-4606:20778,{ bonus bMaxSPrate,44; bonus bSPGainValue,-(20+(getequiprefinerycnt(EQI_GARMENT)/2)); }
-4608:4609,{ bonus2 bAddSize,Size_Medium,15; bonus2 bAddSize,Size_Large,15; bonus2 bSubSize,Size_Medium,5; bonus2 bSubSize,Size_Large,5; }
-4635:4636,{ bonus2 bResEff,Eff_Burning,10000; }
-4642:4646,{ bonus bAtkRate,10; bonus bMatkRate,10; }
-4643:4646,{ bonus bAtkRate,10; bonus bMatkRate,10; }
-4644:4646,{ bonus bAtkRate,10; bonus bMatkRate,10; }
-4645:4646,{ bonus bAtkRate,10; bonus bMatkRate,10; }
-4653:4654,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Undead,5; bonus2 bIgnoreMdefRate,50,RC_Brute; bonus2 bIgnoreMdefRate,50,RC_Undead; }
-4653:4655,{ bonus2 bSubRace,RC_Brute,5; bonus2 bSubRace,RC_Undead,5; bonus2 bIgnoreDefRate,50,RC_Brute; bonus2 bIgnoreDefRate,50,RC_Undead; }
-//4656:4657,{ bonus2 bSubEle,Ele_Neutral,5; /* Increase the probability of causing Sleep to all targets on 11x11 cells. */ }
-5007:18913,{ bonus2 bExpAddRace, RC_All, 5; }
-5021:18824,{ bonus bMaxHP,100; bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_HEAD_TOP); }
-5040:5442,{ bonus bAspdRate,3; bonus bVariableCastrate,3; }
-5040:18672,{ bonus bSPrecovRate,3; }
-5040:18673,{ bonus bHealPower,10; }
-5068:5653,{ bonus bStr,1; bonus bAtkRate,5; }
-5074:5653,{ bonus bStr,1; bonus bAspdRate,2; }
-5086:18527,{ bonus2 bAddItemHealRate,12192,200; }
-5170:19024,{ bonus bAspdRate,5; if(getequiprefinerycnt(EQI_HEAD_TOP)>6) bonus bAspdRate,5; if(getequiprefinerycnt(EQI_HEAD_TOP)>8) bonus bMaxHPrate,5; }
-5176:18527,{ bonus bAspdRate,5; }
-5184:5657,{ bonus bLongAtkRate,getequiprefinerycnt(EQI_HEAD_TOP); }
-//5206:5768,{ bonus bDex,1; if(getequiprefinerycnt(EQI_HEAD_TOP) > 4) bonus bDelayrate,4-getequiprefinerycnt(EQI_HEAD_TOP); }
-5358:5653,{ bonus bAgi,1; bonus bFlee,3; }
-//5359:5657,{ bonus bLongAtkRate,getequiprefinerycnt(EQI_HEAD_TOP); }
-5574:5073,{ bonus bDex, 2; bonus bDef, 2; }
-5401:5653,{ bonus bInt,1; bonus bMatkRate,2; }
-5470:5653,{ bonus bDex,1; bonus bLongAtkRate,3; }
-5690:13428,{ bonus2 bAddRace,RC_DemiPlayer,10; bonus bHit,10; }
-5890:28306,{ bonus2 bAddRace, RC_All, 3; }
-5932:1737,{ if (Class == Job_Ranger || Class == Job_Ranger_T) skill HT_BLITZBEAT,5*getequiprefinerycnt(EQI_HAND_R); }
-//5967:28321,{ skill HT_BLITZBEAT,-200; }
-13027:15044,{ bonus3 bAddMonsterDropItem,929,RC_Brute,100+(getequiprefinerycnt(EQI_HAND_R)*10); bonus3 bAddMonsterDropItem,929,RC_DemiPlayer,100+(getequiprefinerycnt(EQI_HAND_R)*10); bonus3 bAddMonsterDropItem,970,RC_Brute,20+(getequiprefinerycnt(EQI_HAND_R)*2); bonus3 bAddMonsterDropItem,970,RC_DemiPlayer,20+(getequiprefinerycnt(EQI_HAND_R)*2); }
-13034:13035,{ bonus bMaxSP,20; bonus bMaxHPrate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,BF_WEAPON,"{ specialeffect(EF_POTION_BERSERK, AREA, playerattached()); }"; }
-13035:28704,{ bonus bMaxSP,20; bonus bMaxHPrate,5; bonus bHit,10; bonus2 bAddSize,Size_Large,30; autobonus "{ bonus bAspdRate,100; }",1,7000,BF_WEAPON,"{ specialeffect(EF_POTION_BERSERK, AREA, playerattached()); }"; }
-15041:18659,{ bonus2 bAddEle,Ele_Earth,10; bonus bDefEle,Ele_Fire; }
-15061:19026,{ bonus2 bAddRaceTolerance,RC_Fish,10+getequiprefinerycnt(EQI_ARMOR); }
-15068:20710,{ bonus(bAgi, 5); bonus(bFlee, 10); }
-15128:20773,{ bonus bDelayrate,-10; bonus bFlee2,6; if(BaseLevel>130) { bonus bDelayrate,-10;} }
-18507:18539,{ bonus bUseSPrate,-3; }
-18607:18672,{ bonus bSPrecovRate,3; }
-18607:18673,{ bonus bHealPower,10; }
-18823:28372,{ bonus2 bSkillVariableCast,CR_GRANDCROSS,-2000; bonus2 bSkillUseSP,LG_RAYOFGENESIS,10; bonus2 bSkillAtk,CR_GRANDCROSS,BaseLevel; bonus2 bSkillAtk,LG_RAYOFGENESIS,BaseLevel/30; }
-18823:2153:1433,{ bonus2 bSkillAtk,LG_CANNONSPEAR,20; bonus2 bSkillAtk,LG_BANISHINGPOINT,20; bonus2 bSkillAtk,LG_SHIELDPRESS,20; }
-15090:18820:20721:22033,{ bonus2 bSubEle,Ele_Neutral,15; bonus3 bAutoSpellWhenHit,WL_DRAINLIFE,3,100; }
-15091:18820:20721:22033,{ bonus2 bSubEle,Ele_Neutral,15; bonus bMaxHPrate,25; bonus bMaxSPrate,25; bonus bMatkRate,10; }
-15117:20744:22047,{ bonus bMaxHP,25; bonus bMaxSP,25; bonus bSpeedRate,25; if (getequiprefinerycnt(EQI_GARMENT)+getequiprefinerycnt(EQI_SHOES)+getequiprefinerycnt(EQI_ARMOR) >= 30) { bonus bMaxHP,5; bonus bMaxSP,5; } }
-18510:18511,{ bonus2 bAddRace,RC_Angel,3; }
-18728:15061:2495:20700,{ bonus bAllStats, 1; bonus2 bSubEle, Ele_Water, 50; }
-18776:20710,{ bonus(bBaseAtk, 10); }
-18776:22015,{ bonus(bMatk, 20); }
-18824:18825,{ bonus bMaxHP,100; bonus2 bSubEle,Ele_Neutral,getequiprefinerycnt(EQI_HEAD_TOP); }
-18874:2109:2971,{ bonus bHPrecovRate,15; bonus bSPrecovRate,15; bonus bMatkRate,7; }
-18997:28326:28327,{ bonus bSpeedRate,10; bonus bBaseAtk,50; bonus bMatk,50; if(getequiprefinerycnt(EQI_HEAD_TOP)>=9){ bonus bMaxHPrate,10; bonus bMaxSPrate,50; } }
-19026:15138,{ bonus2 bAddRaceTolerance, RC_Fish, 10 + getequiprefinerycnt(EQI_ARMOR); }
-19026:20756,{ .@r = getequiprefinerycnt(EQI_GARMENT); bonus2 bSPGainRace, RC_Fish, 10; bonus3 bAddMonsterDropItem, Shusi, RC_Fish, (5 + .@r); bonus3 bAddMonsterDropItem, Fish_Slice, RC_Fish, (5 + .@r); bonus2 bAddItemHealRate, Shusi, 5; bonus2 bAddItemHealRate, Fish_Slice, 5; bonus bHPrecovRate, (5 + .@r); }
-19026:22059,{ bonus2 bCriticalAddRace, RC_Fish, 10 + getequiprefinerycnt(EQI_SHOES); }
-19026:15138:22059:20756,{ bonus bMaxHP, 1000; bonus bMaxSP, 100; bonus2 bExpAddRace, RC_Fish, 20; bonus2 bAddRace, RC_Fish, 50; bonus2 bMagicAddRace, RC_Fish, 50; bonus2 bSubEle, Ele_Water, 50; }
-19827:20763,{ bonus2 bAddRaceTolerance,RC_Player,4; }
-20717:22000,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22001,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22002,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22003,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22004,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22005,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22006,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22007,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22008,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22009,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22010,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20717:22011,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22000,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22001,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22002,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22003,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22004,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22005,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22006,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22007,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22008,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22009,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22010,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20718:22011,{ bonus bMaxHPrate,15; bonus bMaxSPrate,5; }
-20732:28101,{ bonus2 bAddRace, RC_All, 25; }
-22016:28320,{ bonus2 bAddRace,RC_DemiPlayer,getequiprefinerycnt(EQI_SHOES); bonus2 bAddRace,RC_Player,getequiprefinerycnt(EQI_SHOES); }
-28326:28327,{ bonus bInt,8; bonus bStr,8; }
-
-// Shadow Equipment
-24012:24013:24014:24015:24016:24017,{ bonus bAllStats,9; }
-24018:24019:24020,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus bAtkRate,1; } }
-24021:24022:24023,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) + getequiprefinerycnt(EQI_SHADOW_WEAPON) >= 23) { bonus bMatkRate,1; } }
-24025:24028,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHOES); bonus bMaxHP,.@r; bonus bMaxSP,.@r; if(.@r >= 15) { bonus bMaxHPrate,1; } }
-24026:24027,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_SHIELD); bonus bDef,.@r; if(.@r >= 15) { bonus2 bSubEle,0,1; } }
-24029:24031,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus bBaseAtk,.@r; if(.@r >= 15) { bonus bLongAtkRate,1; } }
-24030:24032,{ .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR) + getequiprefinerycnt(EQI_SHADOW_WEAPON); bonus bCritical,.@r; bonus bBaseAtk,.@r; if(.@r >= 15) { bonus bCritAtkRate,1; } }
-24034:24040,{ bonus bLuk,1; }
-24035:24041,{ bonus bStr,1; }
-24036:24042,{ bonus bInt,1; }
-24037:24043,{ bonus bDex,1; }
-24038:24044,{ bonus bVit,1; }
-24039:24045,{ bonus bAgi,1; }
-24046:24051,{ bonus2 bSubEle,Ele_Neutral,1; if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 15) { bonus2 bSubEle,Ele_Neutral,1; } }
-24052:24062,{ bonus2 bExpAddRace,RC_DemiPlayer,3; }
-24053:24063,{ bonus2 bAddRace,RC_Boss,5; bonus2 bMagicAddRace,RC_Boss,5; }
-24054:24065,{ bonus2 bExpAddRace,RC_Brute,3; }
-24055:24066,{ bonus2 bExpAddRace,RC_Insect,3; }
-24056:24067,{ bonus2 bExpAddRace,RC_Fish,3; }
-24057:24071,{ bonus2 bExpAddRace,RC_Dragon,3; }
-24058:24068,{ bonus2 bExpAddRace,RC_Angel,3; }
-24059:24069,{ bonus2 bExpAddRace,RC_Formless,3; }
-24060:24070,{ bonus2 bExpAddRace,RC_Undead,3; }
-24061:24064,{ bonus2 bExpAddRace,RC_Plant,3; }
-24072:24075,{ bonus bMaxHPrate,1; bonus bMaxSPrate,1; }
-24073:24076,{ bonus bMaxHPrate,1; bonus bMaxSPrate,1; }
-24074:24077,{ bonus bMaxHPrate,1; bonus bMaxSPrate,1; }
-24078:24079:24080,{ bonus3 bSPDrainRate,10,1+(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)/10),0; }
-24081:24082:24083,{ bonus3 bHPDrainRateRace,11,40,2+(getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)/5); }
-24084:24085:24086:24087:24088:24089,{ bonus bAllStats,1; .@r = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if (.@r >= 45) { bonus bNoGemStone,1; } bonus bUseSPrate,100-.@r; }
-24090:24091:24092,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Stone,100; }
-24090:24093:24094,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Sleep,100; }
-24090:24095:24096,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Silence,100; }
-24090:24097:24098,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_SHOES) >= 20) bonus2 bResEff,Eff_Blind,100; }
-24090:24099:24100:24101,{ bonus bDef,4; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 30) bonus2 bResEff,Eff_Freeze,100; }
-24090:24102:24103,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 20) bonus2 bResEff,Eff_Bleeding,100; }
-24090:24104:24105:24106,{ bonus bDef,4; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 30) bonus2 bResEff,Eff_Stun,100; }
-24090:24107:24108,{ bonus bDef,5; if (getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_ACC_L)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 20) bonus2 bResEff,Eff_Curse,100; }
-24109:24110:24048,{ bonus bNoCastCancel,1; bonus bVariableCastrate,40-(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)); }
-24111:24112:24113,{ bonus bNoCastCancel,1; bonus bUseSPrate,40-getequiprefinerycnt(EQI_SHADOW_SHIELD)-getequiprefinerycnt(EQI_SHADOW_ARMOR)-getequiprefinerycnt(EQI_SHADOW_SHOES); }
-24150:24151,{ bonus bAtkRate,1; if (getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 15) bonus bNoSizeFix,1; }
-24152:24153,{ bonus bAtk,getequiprefinerycnt(EQI_SHADOW_WEAPON); if (getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R) >= 15) bonus bUnbreakableWeapon,1; }
-24154:24155,{ bonus bDef,getequiprefinerycnt(EQI_SHADOW_ARMOR); if (getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_ACC_L) >= 15) bonus bUnbreakableArmor,1; }
-24156:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_DemiPlayer; }
-24157:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Demon; }
-24158:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Brute; }
-24159:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Insect; }
-24160:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Fish; }
-24161:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Dragon; }
-24162:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Angel; }
-24163:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Formless; }
-24164:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Undead; }
-24165:24166:24167,{ bonus bBaseAtk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreDefRace,RC_Plant; }
-24168:24169:24170,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_DemiPlayer; }
-24168:24169:24171,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Demon; }
-24168:24169:24172,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Brute; }
-24168:24169:24173,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Insect; }
-24168:24169:24174,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Fish; }
-24168:24169:24175,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Dragon; }
-24168:24169:24176,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Angel; }
-24168:24169:24177,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Formless; }
-24168:24169:24178,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Undead; }
-24168:24169:24179,{ bonus bMatk,5; if(getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=25) bonus bIgnoreMdefRace,RC_Plant; }
-24180:24181:24182:24183:24184:24185,{ .@refine = getequiprefinerycnt(EQI_SHADOW_ARMOR)+getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_SHIELD)+getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); bonus bAllStats,1; if(.@refine>=45) { bonus bMaxHPrate,(.@refine-60); sc_start4 SC_ENDURE,1,10,0,0,1;} }
-// 24186:24198,{ /* Reduces physical and magical damage received from Neutral property monsters by 2% */ }
-// 24187:24199,{ /* Reduces physical and magical damage received from Shadow property monsters by 2% */ }
-// 24188:24200,{ /* Reduces physical and magical damage received from Water property monsters by 2% */ }
-// 24189:24201,{ /* Reduces physical and magical damage received from Earth property monsters by 2% */ }
-// 24190:24202,{ /* Reduces physical and magical damage received from Fire property monsters by 2% */ }
-// 24191:24203,{ /* Reduces physical and magical damage received from Wind property monsters by 2% */; }
-// 24192:24204,{ /* Reduces physical and magical damage received from Poison property monsters by 2% */ }
-// 24193:24205,{ /* Reduces physical and magical damage received from Holy property monsters by 2% */ }
-// 24194:24206,{ /* Reduces physical and magical damage received from Ghost property monsters by 2% */ }
-// 24195:24207,{ /* Reduces physical and magical damage received from Undead property monsters by 2% */ }
-24196:24197,{ bonus bFlee,5; if(getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_ARMOR)>=15) bonus bSpeedAddRate,3; }
-24208:24209,{ bonus2 bExpAddRace, RC_All, ((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?10:1); }
-24210:24211,{ bonus2 bExpAddRace, RC_All, ((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?20:10); }
-24212:24213,{ bonus2 bExpAddRace, RC_All, ((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?10:5); }
-24214:24215,{ bonus2 bExpAddRace, RC_All, ((getequiprefinerycnt(EQI_SHADOW_SHOES)+getequiprefinerycnt(EQI_SHADOW_SHIELD))>=15?4:2); }
-24217:24218,{ if(getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L)>=15) bonus bAspd,1; }
-//24223:Enhanced Force Shadow Earring:Enhanced Force Shadow Pendant,{ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@refine)>=25 {bonus bAtkRate,2;} else if(.@refine)>=20 {bonus bAtkRate,1;} bonus bAtkRate,1; }
-24224:24225:24226,{ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@refine)>=25 { bonus bAtkRate,2; } else if(.@refine)>=20 { bonus bAtkRate,1; } bonus bAtk2,10; }
-//24227:Enhanced Soul Earring:Enhanced Soul Pendant,{ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@refine)>=25 {bonus bMatkRate,2;} else if(.@refine)>=20 {bonus bMatkRate,1;} bonus bMatkRate,1; }
-24228:24229:24230,{ .@refine = getequiprefinerycnt(EQI_SHADOW_WEAPON)+getequiprefinerycnt(EQI_SHADOW_ACC_R)+getequiprefinerycnt(EQI_SHADOW_ACC_L); if(.@refine)>=25 { bonus bMatkRate,2; } else if(.@refine)>=20 { bonus bMatkRate,1; } bonus bMatk,10; }
-24231:24232,{ bonus bFlee,5; if(getequiprefinerycnt(EQI_SHADOW_SHOES) + getequiprefinerycnt(EQI_SHADOW_SHIELD) >=15) { bonus bAspd,1; } }
-24234:24235,{ bonus bAtk,5; if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) >=15) { bonus2 bAddSize,Size_Large,1; } }
-24236:24237,{ bonus bAtk,5; if(getequiprefinerycnt(EQI_SHADOW_ACC_R) + getequiprefinerycnt(EQI_SHADOW_ACC_L) >=15) { bonus2 bAddSize,Size_Medium,1; } }
-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; }
diff --git a/db/re/item_db.conf b/db/re/item_db.conf
index 961fa102e..cf2bd7da2 100644
--- a/db/re/item_db.conf
+++ b/db/re/item_db.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-2020 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
@@ -121,6 +121,8 @@ item_db: (
">
OnEquipScript: <" OnEquip Script (can also be multi-line) ">
OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">
+ OnRentalStartScript: <" On item renting script, gets called after item is created in inventory (can also be multi-line) ">
+ OnRentalEndScript: <" On item rent end/expire script, gets called after item is removed from inventory (can also be multi-line) ">
},
**************************************************************************/
@@ -1175,7 +1177,7 @@ item_db: (
Id: 601
AegisName: "Wing_Of_Fly"
Name: "Fly Wing"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 60
Weight: 50
BuyingStore: true
@@ -1185,7 +1187,7 @@ item_db: (
Id: 602
AegisName: "Wing_Of_Butterfly"
Name: "Butterfly Wing"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 300
Weight: 50
BuyingStore: true
@@ -1218,7 +1220,7 @@ item_db: (
Id: 605
AegisName: "Anodyne"
Name: "Anodyne"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 100
BuyingStore: true
@@ -1231,7 +1233,7 @@ item_db: (
Id: 606
AegisName: "Aloebera"
Name: "Aloevera"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1500
Weight: 100
BuyingStore: true
@@ -1275,7 +1277,7 @@ item_db: (
Id: 610
AegisName: "Leaf_Of_Yggdrasil"
Name: "Yggdrasil Leaf"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 4000
Weight: 100
BuyingStore: true
@@ -1285,7 +1287,7 @@ item_db: (
Id: 611
AegisName: "Spectacles"
Name: "Magnifier"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 40
Weight: 50
BuyingStore: true
@@ -2064,7 +2066,7 @@ item_db: (
Id: 686
AegisName: "Earth_Scroll_1_3"
Name: "Level 3 Earth Spike"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2077,7 +2079,7 @@ item_db: (
Id: 687
AegisName: "Earth_Scroll_1_5"
Name: "Level 5 Earth Spike"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2090,7 +2092,7 @@ item_db: (
Id: 688
AegisName: "Cold_Scroll_1_3"
Name: "Level 3 Cold Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2103,7 +2105,7 @@ item_db: (
Id: 689
AegisName: "Cold_Scroll_1_5"
Name: "Level 5 Cold Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2116,7 +2118,7 @@ item_db: (
Id: 690
AegisName: "Fire_Scroll_1_3"
Name: "Level 3 Fire Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2129,7 +2131,7 @@ item_db: (
Id: 691
AegisName: "Fire_Scroll_1_5"
Name: "Level 5 Fire Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2142,7 +2144,7 @@ item_db: (
Id: 692
AegisName: "Wind_Scroll_1_3"
Name: "Level 3 Lightening Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2155,7 +2157,7 @@ item_db: (
Id: 693
AegisName: "Wind_Scroll_1_5"
Name: "Level 5 Lightening Bolt"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2168,7 +2170,7 @@ item_db: (
Id: 694
AegisName: "Ghost_Scroll_1_3"
Name: "Level 3 Soul Strike"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2181,7 +2183,7 @@ item_db: (
Id: 695
AegisName: "Ghost_Scroll_1_5"
Name: "Level 5 Soul Strike"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2194,7 +2196,7 @@ item_db: (
Id: 696
AegisName: "Fire_Scroll_2_1"
Name: "Level 1 Fire Ball"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2207,7 +2209,7 @@ item_db: (
Id: 697
AegisName: "Fire_Scroll_2_5"
Name: "Level 5 Fire Ball"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2220,7 +2222,7 @@ item_db: (
Id: 698
AegisName: "Fire_Scroll_3_1"
Name: "Level 1 Fire Wall"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -2233,7 +2235,7 @@ item_db: (
Id: 699
AegisName: "Fire_Scroll_3_5"
Name: "Level 5 Fire Wall"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -2246,7 +2248,7 @@ item_db: (
Id: 700
AegisName: "Cold_Scroll_2_1"
Name: "Level 1 Frost Diver"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -21494,6 +21496,11 @@ item_db: (
Name: "Combo_Battle_Glove_IL"
},
{
+ Id: 1847
+ AegisName: "Iron_Nail_K"
+ Name: "Iron_Nail_K"
+},
+{
Id: 1848
AegisName: "Rebeginer_SR_Nuckle"
Name: "Rebeginer_SR_Nuckle"
@@ -21508,6 +21515,11 @@ item_db: (
AegisName: "Evt_Iron_Nail_K"
Name: "Evt_Iron_Nail_K"
},
+{
+ Id: 1867
+ AegisName: "Ein_1HKNUCK"
+ Name: "Ein_1HKNUCK"
+},
//== Instruments ===========================================
{
@@ -24340,6 +24352,11 @@ item_db: (
Name: "Rebeginer_WL_Staff"
},
{
+ Id: 2048
+ AegisName: "Iron_Staff"
+ Name: "Iron_Staff"
+},
+{
Id: 2051
AegisName: "Survival_Staff_IL"
Name: "Survival_Staff_IL"
@@ -24349,6 +24366,11 @@ item_db: (
AegisName: "Evt_Iron_Staff"
Name: "Evt_Iron_Staff"
},
+{
+ Id: 2058
+ AegisName: "Ein_BHSTAFF"
+ Name: "Ein_BHSTAFF"
+},
//== Shields ===============================================
{
@@ -58444,7 +58466,7 @@ item_db: (
Script: <"
bonus bMdef,15;
bonus2 bResEff,Eff_Curse,4000;
- bonus2 bResEff,Eff_Curse,1000;
+ bonus2 bResEff,Eff_Stun,1000;
">
},
{
@@ -74501,6 +74523,16 @@ item_db: (
Name: "Love Wand"
},
{
+ Id: 6746
+ AegisName: "Steel_Article"
+ Name: "Steel Artifact"
+},
+{
+ Id: 6747
+ AegisName: "Steel_Article_"
+ Name: "Steel Artifact"
+},
+{
Id: 6755
AegisName: "Corrupted_Charm"
Name: "Contaminated Magic"
@@ -83806,6 +83838,31 @@ item_db: (
Type: "IT_PETEGG"
Buy: 20
},
+{
+ Id: 9514
+ AegisName: "Ein_Ddbox"
+ Name: "Ein_Ddbox"
+},
+{
+ Id: 9523
+ AegisName: "Metal_Rifine_Ticket"
+ Name: "Metal_Rifine_Ticket"
+},
+{
+ Id: 9529
+ AegisName: "Ein_Ddbox2"
+ Name: "Ein_Ddbox2"
+},
+{
+ Id: 9550
+ AegisName: "Gemstone_Of_Time"
+ Name: "Gemstone_Of_Time"
+},
+{
+ Id: 9551
+ AegisName: "Time_Unseal_Key"
+ Name: "Time_Unseal_Key"
+},
//== Pet Accessories =======================================
{
@@ -85499,7 +85556,7 @@ item_db: (
Id: 12000
AegisName: "Cold_Scroll_2_5"
Name: "Level 5 Frost Diver"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -85512,7 +85569,7 @@ item_db: (
Id: 12001
AegisName: "Holy_Scroll_1_3"
Name: "Level 3 Heal"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -85525,7 +85582,7 @@ item_db: (
Id: 12002
AegisName: "Holy_Scroll_1_5"
Name: "Level 5 Heal"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2000
Weight: 10
BuyingStore: true
@@ -85538,7 +85595,7 @@ item_db: (
Id: 12003
AegisName: "Holy_Scroll_2_1"
Name: "Level 1 Teleport"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 10
BuyingStore: true
@@ -85698,7 +85755,7 @@ item_db: (
Id: 12019
AegisName: "Holy_Egg"
Name: "Holy Egg"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 150
Script: <" itemskill ALL_RESURRECTION,2; ">
@@ -85707,7 +85764,7 @@ item_db: (
Id: 12020
AegisName: "Water_Of_Darkness"
Name: "Cursed Water"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 30
BuyingStore: true
@@ -85798,7 +85855,7 @@ item_db: (
Id: 12029
AegisName: "Gloomy_Box"
Name: "Box of Gloom"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 200
BuyingStore: true
@@ -85837,7 +85894,7 @@ item_db: (
Id: 12032
AegisName: "Box_Of_Storm"
Name: "Box of Storms"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 1000
Weight: 200
BuyingStore: true
@@ -86799,7 +86856,7 @@ item_db: (
Id: 12114
AegisName: "Elemental_Fire"
Name: "Elemental Converter"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
BuyingStore: true
@@ -86809,7 +86866,7 @@ item_db: (
Id: 12115
AegisName: "Elemental_Water"
Name: "Elemental Converter"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
BuyingStore: true
@@ -86819,7 +86876,7 @@ item_db: (
Id: 12116
AegisName: "Elemental_Earth"
Name: "Elemental Converter"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
BuyingStore: true
@@ -86829,7 +86886,7 @@ item_db: (
Id: 12117
AegisName: "Elemental_Wind"
Name: "Elemental Converter"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
BuyingStore: true
@@ -86843,7 +86900,10 @@ item_db: (
Buy: 2
Weight: 10
BuyingStore: true
- Script: <" sc_start4 SC_ARMORPROPERTY,1200000,-15,0,20,0; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_FIRE, 1200000, 20);
+ sc_start(SC_RESIST_PROPERTY_WATER, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);
+ ">
},
{
Id: 12119
@@ -86853,7 +86913,10 @@ item_db: (
Buy: 2
Weight: 10
BuyingStore: true
- Script: <" sc_start4 SC_ARMORPROPERTY,1200000,20,0,0,-15; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_WATER, 1200000, 20);
+ sc_start(SC_RESIST_PROPERTY_WIND, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);
+ ">
},
{
Id: 12120
@@ -86863,7 +86926,10 @@ item_db: (
Buy: 2
Weight: 10
BuyingStore: true
- Script: <" sc_start4 SC_ARMORPROPERTY,1200000,0,20,-15,0; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_GROUND, 1200000, 20);
+ sc_start(SC_RESIST_PROPERTY_FIRE, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);
+ ">
},
{
Id: 12121
@@ -86873,7 +86939,10 @@ item_db: (
Buy: 2
Weight: 10
BuyingStore: true
- Script: <" sc_start4 SC_ARMORPROPERTY,1200000,0,-15,0,20; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_WIND, 1200000, 20);
+ sc_start(SC_RESIST_PROPERTY_GROUND, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);
+ ">
},
{
Id: 12122
@@ -87896,7 +87965,7 @@ item_db: (
Id: 12200
AegisName: "Event_Cake"
Name: "X-mas Cake"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 50
Script: <" itemskill PR_MAGNIFICAT,3; ">
@@ -88183,10 +88252,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,240000,10;
- ">
+ Script: <" itemskill(AL_BLESSING, 10, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12216
@@ -88207,13 +88273,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- if(Hp>15) {
- skilleffect AL_INCAGI,0;
- sc_start SC_INC_AGI,240000,10;
- heal -15,0;
- }
- ">
+ Script: <" itemskill(AL_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12217
@@ -88234,13 +88294,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- if(countitem(523)>0) {
- skilleffect PR_ASPERSIO,0;
- sc_start SC_ASPERSIO,180000,5;
- delitem 523,1;
- }
- ">
+ Script: <" itemskill(PR_ASPERSIO, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12218
@@ -88261,10 +88315,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- sc_start SC_ASSUMPTIO,100000,5;
- skilleffect HP_ASSUMPTIO,0;
- ">
+ Script: <" itemskill(HP_ASSUMPTIO, 5, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12219
@@ -88285,10 +88336,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- skilleffect SN_WINDWALK,0;
- sc_start SC_WINDWALK,250000,5;
- ">
+ Script: <" itemskill(SN_WINDWALK, 10, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12220
@@ -88309,13 +88357,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <"
- .@type = getiteminfo(getequipid(EQI_HAND_R),11);
- if (.@type==6||.@type==7||.@type==8) {
- skilleffect BS_ADRENALINE,0;
- sc_start SC_ADRENALINE,150000,5;
- }
- ">
+ Script: <" itemskill(BS_ADRENALINE, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12221
@@ -88490,16 +88532,15 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 0,5;
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,240000,10;
+ percentheal(0, 5);
+ itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
Id: 12236
AegisName: "Choco_Tart"
Name: "Chocolate Tart"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 100
Nouse: {
@@ -89123,7 +89164,12 @@ item_db: (
Name: "Undead Elemental Scroll"
Type: "IT_USABLE"
Weight: 10
- Script: <" sc_start4 SC_ARMOR_RESIST,300000,20,20,20,20; ">
+ Script: <"
+ sc_start(SC_RESIST_PROPERTY_FIRE, 300000, 20);
+ sc_start(SC_RESIST_PROPERTY_WATER, 300000, 20);
+ sc_start(SC_RESIST_PROPERTY_WIND, 300000, 20);
+ sc_start(SC_RESIST_PROPERTY_GROUND, 300000, 20);
+ ">
},
{
Id: 12280
@@ -89226,7 +89272,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 1; ">
+ Script: <" setfont(1); ">
+ OnRentalEndScript: <"
+ if (getfont() == 1)
+ setfont(0);
+ ">
},
{
Id: 12288
@@ -89243,7 +89293,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 2; ">
+ Script: <" setfont(2); ">
+ OnRentalEndScript: <"
+ if (getfont() == 2)
+ setfont(0);
+ ">
},
{
Id: 12289
@@ -89260,7 +89314,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 3; ">
+ Script: <" setfont(3); ">
+ OnRentalEndScript: <"
+ if (getfont() == 3)
+ setfont(0);
+ ">
},
{
Id: 12290
@@ -89274,9 +89332,8 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 5,0;
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,120000,5;
+ percentheal(5, 0);
+ itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -89291,9 +89348,8 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 5,0;
- skilleffect AL_INCAGI,0;
- sc_start SC_INC_AGI,120000,5;
+ percentheal(0, 5);
+ itemskill(AL_INCAGI, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -89512,7 +89568,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 4; ">
+ Script: <" setfont(4); ">
+ OnRentalEndScript: <"
+ if (getfont() == 4)
+ setfont(0);
+ ">
},
{
Id: 12305
@@ -89529,7 +89589,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 5; ">
+ Script: <" setfont(5); ">
+ OnRentalEndScript: <"
+ if (getfont() == 5)
+ setfont(0);
+ ">
},
{
Id: 12306
@@ -89546,7 +89610,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 6; ">
+ Script: <" setfont(6); ">
+ OnRentalEndScript: <"
+ if (getfont() == 6)
+ setfont(0);
+ ">
},
{
Id: 12307
@@ -89563,7 +89631,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 7; ">
+ Script: <" setfont(7); ">
+ OnRentalEndScript: <"
+ if (getfont() == 7)
+ setfont(0);
+ ">
},
{
Id: 12308
@@ -89580,7 +89652,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 8; ">
+ Script: <" setfont(8); ">
+ OnRentalEndScript: <"
+ if (getfont() == 8)
+ setfont(0);
+ ">
},
{
Id: 12309
@@ -89597,7 +89673,11 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" setfont 9; ">
+ Script: <" setfont(9); ">
+ OnRentalEndScript: <"
+ if (getfont() == 9)
+ setfont(0);
+ ">
},
{
Id: 12310
@@ -89622,7 +89702,7 @@ item_db: (
Id: 12311
AegisName: "Large_Spray_Of_Flowers"
Name: "Huge Spray Of Flowers"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 100
Trade: {
nodrop: true
@@ -89784,7 +89864,7 @@ item_db: (
Id: 12323
AegisName: "N_Fly_Wing"
Name: "Novice Fly Wing"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Trade: {
nodrop: true
notrade: true
@@ -89803,7 +89883,7 @@ item_db: (
Id: 12324
AegisName: "N_Butterfly_Wing"
Name: "Novice Butterfly Wing"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Trade: {
nodrop: true
notrade: true
@@ -89822,7 +89902,7 @@ item_db: (
Id: 12325
AegisName: "N_Magnifier"
Name: "Novice Magnifier"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Trade: {
nodrop: true
notrade: true
@@ -90123,7 +90203,7 @@ item_db: (
Id: 12350
AegisName: "Angeling_Potion"
Name: "Angeling Potion"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 100
BuyingStore: true
@@ -90131,16 +90211,15 @@ item_db: (
sitting: true
}
Script: <"
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,120000,5;
- itemskill AL_ANGELUS,5;
+ itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
+ itemskill(AL_ANGELUS, 5);
">
},
{
Id: 12351
AegisName: "Shout_Megaphone"
Name: "Scream Megaphone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 50
BuyingStore: true
@@ -90468,8 +90547,8 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 3, 0;
- itemskill PR_GLORIA, 2;
+ percentheal(3, 0);
+ itemskill(PR_GLORIA, 2, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -90484,8 +90563,8 @@ item_db: (
sitting: true
}
Script: <"
- percentheal 0, 3;
- itemskill PR_MAGNIFICAT, 1;
+ percentheal(0, 3);
+ itemskill(PR_MAGNIFICAT, 1, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -90505,6 +90584,18 @@ item_db: (
Buy: 10
Weight: 10
BuyingStore: true
+ Trade: {
+ nodrop: true
+ notrade: true
+ nocart: true
+ nomail: true
+ noauction: true
+ nogstorage: true
+ }
+ Script: <"
+ specialeffect(EF_STEAL, AREA, playerattached());
+ sc_start4(SC_POPECOOKIE, 1200000, 3, 3, 3, 0);
+ ">
},
{
Id: 12380
@@ -90555,7 +90646,7 @@ item_db: (
Id: 12384
AegisName: "Rainbow_Ruby_Water"
Name: "Rainbow Ruby"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 50
Trade: {
nodrop: true
@@ -90576,7 +90667,7 @@ item_db: (
Id: 12385
AegisName: "Rainbow_Ruby_Fire"
Name: "Rainbow Ruby"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 50
Trade: {
nodrop: true
@@ -90597,7 +90688,7 @@ item_db: (
Id: 12386
AegisName: "Rainbow_Ruby_Wind"
Name: "Rainbow Ruby"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 50
Trade: {
nodrop: true
@@ -90618,7 +90709,7 @@ item_db: (
Id: 12387
AegisName: "Rainbow_Ruby_Earth"
Name: "Rainbow Ruby"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 50
Trade: {
nodrop: true
@@ -90639,7 +90730,7 @@ item_db: (
Id: 12388
AegisName: "Runstone_Crush"
Name: "Rhydo Runestone For Apprentice"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -90656,7 +90747,7 @@ item_db: (
}
Script: <"
if(strcharinfo(PC_MAP)=="job3_rune02") {
- itemskill RK_CRUSHSTRIKE,1;
+ itemskill(RK_CRUSHSTRIKE, 1, ISF_CHECKCONDITIONS);
}
">
},
@@ -90664,7 +90755,7 @@ item_db: (
Id: 12389
AegisName: "Runstone_Storm"
Name: "Pertz Runestone For Apprentice"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -90680,16 +90771,15 @@ item_db: (
sitting: true
}
Script: <"
- if(strcharinfo(PC_MAP)=="job3_rune02") {
- itemskill RK_STORMBLAST,1;
- }
+ if (strcharinfo(PC_MAP) == "job3_rune02")
+ itemskill(RK_STORMBLAST, 1, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
Id: 12390
AegisName: "Runstone_Millennium"
Name: "Verkana Runestone For Apprentice"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -90705,9 +90795,8 @@ item_db: (
sitting: true
}
Script: <"
- if(strcharinfo(PC_MAP)=="job3_rune02") {
- itemskill RK_MILLENNIUMSHIELD,1;
- }
+ if (strcharinfo(PC_MAP) == "job3_rune02")
+ itemskill(RK_MILLENNIUMSHIELD, 1, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -90780,7 +90869,7 @@ item_db: (
Id: 12396
AegisName: "Fools_Day_Box"
Name: "Gift Box?"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
Nouse: {
@@ -90804,24 +90893,34 @@ item_db: (
Id: 12397
AegisName: "Fools_Day_Box2"
Name: "Gift Box?"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
Nouse: {
sitting: true
}
Script: <"
- .@temp = rand(1,10);
- if (.@temp == 1) itemskill TF_DETOXIFY,1;
- else if (.@temp == 2) itemskill TF_PICKSTONE,1;
- else if (.@temp == 3) itemskill BA_FROSTJOKER,1;
- else if (.@temp == 4) itemskill DC_SCREAM,1;
- else if (.@temp == 5) percentheal 50,50;
- else if (.@temp == 6) getitem Jellopy,1;
- else if (.@temp == 7) itemskill AL_RUWACH,1;
- else if (.@temp == 8) specialeffect(EF_BEGINASURA, AREA, playerattached());
- else if (.@temp == 9) specialeffect(EF_MVP, AREA, playerattached());
- else specialeffect(EF_CURSEATTACK, AREA, playerattached());
+ .@temp = rand(1, 10);
+ if (.@temp == 1)
+ itemskill(TF_DETOXIFY, 1, ISF_INSTANTCAST | ISF_CASTONSELF);
+ else if (.@temp == 2)
+ itemskill(TF_PICKSTONE, 1);
+ else if (.@temp == 3)
+ itemskill(BA_FROSTJOKER, 1);
+ else if (.@temp == 4)
+ itemskill(DC_SCREAM, 1);
+ else if (.@temp == 5)
+ announce(strcharinfo(PC_NAME) + " shouts : I am a fool!!!", bc_all, C_WHITE);
+ else if (.@temp == 6)
+ getitem(Jellopy, 1);
+ else if (.@temp == 7)
+ itemskill(AL_RUWACH, 1);
+ else if (.@temp == 8)
+ specialeffect(EF_BEGINASURA, AREA, playerattached());
+ else if (.@temp == 9)
+ specialeffect(EF_MVP, AREA, playerattached());
+ else
+ specialeffect(EF_CURSEATTACK, AREA, playerattached());
">
},
{
@@ -90914,6 +91013,10 @@ item_db: (
nomail: true
noauction: true
}
+ Script: <"
+ specialeffect(EF_STEAL, AREA, playerattached());
+ sc_start4(SC_VITALIZE_POTION, 120000, 2, 2, 10, 0);
+ ">
},
{
Id: 12405
@@ -90932,9 +91035,8 @@ item_db: (
noauction: true
}
Script: <"
- percentheal 30,30;
- skilleffect AL_BLESSING,0;
- sc_start SC_BLESSING,140000,5;
+ percentheal(30, 30);
+ itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -91035,9 +91137,8 @@ item_db: (
Weight: 10
BuyingStore: true
Script: <"
- sc_start SC_ATTHASTE_POTION1,1800000,0;
- sc_start SC_INC_AGI,140000,5;
- skilleffect AL_INCAGI,0;
+ sc_start(SC_ATTHASTE_POTION1, 1800000, 0);
+ itemskill(AL_INCAGI, 5, ISF_INSTANTCAST | ISF_CASTONSELF);
">
},
{
@@ -91446,6 +91547,10 @@ item_db: (
Name: "Medium Life Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_HEAL3, AREA, playerattached());
+ sc_start2(SC_M_LIFEPOTION, 600000, -7, 4);
+ ">
},
{
Id: 12460
@@ -91453,6 +91558,11 @@ item_db: (
Name: "Small Life Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_HEAL3, AREA, playerattached());
+ /* Probably it should be 5% instead of 7%, but we'll follow the client side description... */
+ sc_start2(SC_S_LIFEPOTION, 600000, -7, 4);
+ ">
},
{
Id: 12461
@@ -91460,6 +91570,10 @@ item_db: (
Name: "Regeneration Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_LIGHTSPHERE, AREA, playerattached());
+ sc_start(SC_HEALPLUS, 1800000, 20);
+ ">
},
{
Id: 12462
@@ -91467,6 +91581,10 @@ item_db: (
Name: "Big Magic Defense Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_SPELLBREAKER, AREA, playerattached());
+ sc_start(SC_PROTECT_MDEF, 180000, 3);
+ ">
},
{
Id: 12463
@@ -91474,6 +91592,10 @@ item_db: (
Name: "Small Magic Defense Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_SPELLBREAKER, AREA, playerattached());
+ sc_start(SC_PROTECT_MDEF, 60000, 3);
+ ">
},
{
Id: 12464
@@ -91481,6 +91603,10 @@ item_db: (
Name: "Big Defense Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_GUARD, AREA, playerattached());
+ sc_start(SC_PROTECT_DEF, 180000, 3);
+ ">
},
{
Id: 12465
@@ -91488,6 +91614,10 @@ item_db: (
Name: "Small Defense Potion"
Type: "IT_USABLE"
Weight: 10
+ Script: <"
+ specialeffect(EF_GUARD, AREA, playerattached());
+ sc_start(SC_PROTECT_DEF, 60000, 3);
+ ">
},
{
Id: 12466
@@ -93349,6 +93479,7 @@ item_db: (
noauction: true
}
Script: <" setcashmount(); ">
+ OnRentalEndScript: <" sc_end(SC_ALL_RIDING); ">
},
{
Id: 12623
@@ -93973,33 +94104,85 @@ item_db: (
Id: 12666
AegisName: "Thai_Perfume_MATK"
Name: "Thai Perfume(MATK)"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ sc_start(SC_SKF_MATK, 600000, 24);
+ ">
},
{
Id: 12667
AegisName: "Thai_Perfume_ATK"
Name: "Thai Perfume(ATK)"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ sc_start(SC_SKF_ATK, 600000, 24);
+ ">
},
{
Id: 12668
AegisName: "Thai_Perfume_ASPD"
Name: "Thai Perfume(ASPD)"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ sc_start(SC_SKF_ASPD, 600000, 3);
+ ">
},
{
Id: 12669
AegisName: "Thai_Perfume_CAST"
Name: "Thai Perfume(CAST)"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_MAGICALATTHIT, AREA, playerattached());
+ sc_start(SC_SKF_CAST, 600000, 5);
+ ">
},
{
Id: 12670
@@ -94367,34 +94550,34 @@ item_db: (
Id: 12706
AegisName: "Lucky_Cookie01"
Name: "Lucky Cookie"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 100
Nouse: {
sitting: true
}
- Script: <" itemskill PR_GLORIA,5; ">
+ Script: <" itemskill(PR_GLORIA, 5, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12707
AegisName: "Lucky_Cookie02"
Name: "Lucky Cookie"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 100
Nouse: {
sitting: true
}
- Script: <" itemskill PR_MAGNIFICAT,1; ">
+ Script: <" itemskill(PR_MAGNIFICAT, 1, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12708
AegisName: "Lucky_Cookie03"
Name: "Lucky Cookie"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 100
Nouse: {
sitting: true
}
- Script: <" itemskill PR_IMPOSITIO,3; ">
+ Script: <" itemskill(PR_IMPOSITIO, 3, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 12709
@@ -94624,7 +94807,7 @@ item_db: (
Id: 12725
AegisName: "Runstone_Nosiege"
Name: "Nosiege Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94644,14 +94827,14 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
+ Stack: [60, 1]
Script: <" itemskill RK_REFRESH, 1; ">
},
{
Id: 12726
AegisName: "Runstone_Rhydo"
Name: "Rhydo Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94671,14 +94854,14 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
- Script: <" itemskill RK_CRUSHSTRIKE, 1; ">
+ Stack: [60, 1]
+ Script: <" itemskill(RK_CRUSHSTRIKE, 1, ISF_CHECKCONDITIONS); ">
},
{
Id: 12727
AegisName: "Runstone_Verkana"
Name: "Verkana Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94698,14 +94881,14 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
+ Stack: [60, 1]
Script: <" itemskill RK_MILLENNIUMSHIELD, 1; ">
},
{
Id: 12728
AegisName: "Runstone_Isia"
Name: "Isia Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94724,14 +94907,14 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
+ Stack: [60, 1]
Script: <" itemskill RK_VITALITYACTIVATION, 1; ">
},
{
Id: 12729
AegisName: "Runstone_Asir"
Name: "Asir Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94750,14 +94933,13 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
Script: <" itemskill RK_FIGHTINGSPIRIT, 1; ">
},
{
Id: 12730
AegisName: "Runstone_Urj"
Name: "Urj Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94776,14 +94958,14 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
+ Stack: [60, 1]
Script: <" itemskill RK_ABUNDANCE, 1; ">
},
{
Id: 12731
AegisName: "Runstone_Turisus"
Name: "Turisus Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94802,14 +94984,13 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
Script: <" itemskill RK_GIANTGROWTH, 1; ">
},
{
Id: 12732
AegisName: "Runstone_Pertz"
Name: "Pertz Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94829,14 +95010,13 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
Script: <" itemskill RK_STORMBLAST, 1; ">
},
{
Id: 12733
AegisName: "Runstone_Hagalas"
Name: "Hagalas Runestone"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -94855,7 +95035,7 @@ item_db: (
Nouse: {
sitting: true
}
- Stack: [20, 1]
+ Stack: [60, 1]
Script: <" itemskill RK_STONEHARDSKIN, 1; ">
},
@@ -95453,7 +95633,7 @@ item_db: (
Id: 12796
AegisName: "Red_Booster"
Name: "Red Boost"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 20
Weight: 10
Trade: {
@@ -95591,7 +95771,7 @@ item_db: (
Id: 12812
AegisName: "Snow_Flip"
Name: "Snow Flip"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill ECL_SNOWFLIP,1; ">
},
@@ -95599,7 +95779,7 @@ item_db: (
Id: 12813
AegisName: "Peony_Mommy"
Name: "Peony Mamy"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill ECL_PEONYMAMY,1; ">
},
@@ -95607,7 +95787,7 @@ item_db: (
Id: 12814
AegisName: "Slapping_Herb"
Name: "Sadagui"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill ECL_SADAGUI,1; ">
},
@@ -95615,7 +95795,7 @@ item_db: (
Id: 12815
AegisName: "Yggdrasil_Dust"
Name: "Sequoia Dust"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Script: <" itemskill ECL_SEQUOIADUST,1; ">
},
@@ -95917,6 +96097,33 @@ item_db: (
Script: <" autobonus "{ heal -3000,0; bonus2 bResEff,Eff_Blind,10000; }",10,0,0,SI_GVG_BLIND; ">
},
{
+ Id: 12883
+ AegisName: "Almighty"
+ Name: "Almighty"
+ Type: "IT_USABLE"
+ Buy: 20
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <"
+ specialeffect(EF_BASH3D, AREA, playerattached());
+ sc_start(SC_FOOD_STR_CASH, 1800000, 10);
+ sc_start(SC_FOOD_VIT_CASH, 1800000, 10);
+ sc_start(SC_FOOD_AGI_CASH, 1800000, 10);
+ sc_start(SC_FOOD_INT_CASH, 1800000, 10);
+ sc_start(SC_FOOD_DEX_CASH, 1800000, 10);
+ sc_start(SC_FOOD_LUK_CASH, 1800000, 10);
+ sc_start2(SC_ALMIGHTY, 1800000, 30, 30);
+ ">
+},
+{
Id: 12884
AegisName: "C_Center_Potion"
Name: "Infinite Concentration Potion"
@@ -96536,7 +96743,7 @@ item_db: (
Id: 12928
AegisName: "J_Aspersio_5_Scroll"
Name: "Sacred Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
Trade: {
@@ -97256,7 +97463,7 @@ item_db: (
Id: 12968
AegisName: "Emergency_Scroll1"
Name: "Emergency Level 1 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
Trade: {
@@ -97274,7 +97481,7 @@ item_db: (
Id: 12969
AegisName: "Emergency_Scroll2"
Name: "Emergency Level 2 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
Trade: {
@@ -97292,7 +97499,7 @@ item_db: (
Id: 12970
AegisName: "Emergency_Scroll3"
Name: "Emergency Level 3 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 10
Trade: {
@@ -101122,6 +101329,58 @@ item_db: (
">
},
{
+ Id: 13118
+ AegisName: "Tiny_Flame"
+ Name: "Fading Flame"
+ Type: "IT_WEAPON"
+ Weight: 100
+ Range: 7
+ Job: {
+ Gunslinger: true
+ Rebellion: true
+ }
+ Loc: "EQP_ARMS"
+ WeaponLv: 1
+ EquipLv: 1
+ Trade: {
+ nodrop: true
+ notrade: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Subtype: "W_REVOLVER"
+},
+{
+ Id: 13119
+ AegisName: "Freedom_Flame"
+ Name: "Freedom Flame"
+ Type: "IT_WEAPON"
+ Weight: 100
+ Atk: 100
+ Range: 7
+ Slots: 2
+ Job: {
+ Gunslinger: true
+ Rebellion: true
+ }
+ Loc: "EQP_ARMS"
+ WeaponLv: 3
+ EquipLv: 99
+ Trade: {
+ nodrop: true
+ notrade: true
+ nocart: true
+ nostorage: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Subtype: "W_REVOLVER"
+},
+{
Id: 13120
AegisName: "H_FEATHER_H_FIRE"
Name: "Heaven's_Feather_&_Hell's_Fire"
@@ -102791,6 +103050,7 @@ item_db: (
Atk: 15
Job: {
Gunslinger: true
+ Rebellion: true
}
Loc: "EQP_AMMO"
Subtype: "A_BULLET"
@@ -102806,6 +103066,7 @@ item_db: (
Atk: 30
Job: {
Gunslinger: true
+ Rebellion: true
}
Loc: "EQP_AMMO"
Subtype: "A_BULLET"
@@ -102824,6 +103085,7 @@ item_db: (
Atk: 50
Job: {
Gunslinger: true
+ Rebellion: true
}
Loc: "EQP_AMMO"
Subtype: "A_BULLET"
@@ -102839,6 +103101,7 @@ item_db: (
Atk: 50
Job: {
Gunslinger: true
+ Rebellion: true
}
Loc: "EQP_AMMO"
Subtype: "A_BULLET"
@@ -102854,6 +103117,7 @@ item_db: (
Atk: 50
Job: {
Gunslinger: true
+ Rebellion: true
}
Loc: "EQP_AMMO"
Subtype: "A_BULLET"
@@ -102872,6 +103136,7 @@ item_db: (
Atk: 50
Job: {
Gunslinger: true
+ Rebellion: true
}
Loc: "EQP_AMMO"
Subtype: "A_BULLET"
@@ -102890,11 +103155,98 @@ item_db: (
Atk: 50
Job: {
Gunslinger: true
+ Rebellion: true
+ }
+ Loc: "EQP_AMMO"
+ Subtype: "A_BULLET"
+ Script: <" bonus bAtkEle, Ele_Water; ">
+},
+{
+ Id: 13228
+ AegisName: "Flare_Bullet"
+ Name: "Flare Bullet"
+ Type: "IT_AMMO"
+ Buy: 15
+ Weight: 5
+ Atk: 50
+ Job: {
+ Gunslinger: true
+ Rebellion: true
+ }
+ Loc: "EQP_AMMO"
+ Subtype: "A_BULLET"
+ Script: <" bonus bAtkEle, Ele_Fire; ">
+},
+{
+ Id: 13229
+ AegisName: "Lightning_Bullet"
+ Name: "Lightning Bullet"
+ Type: "IT_AMMO"
+ Buy: 15
+ Weight: 5
+ Atk: 50
+ Job: {
+ Gunslinger: true
+ Rebellion: true
+ }
+ Loc: "EQP_AMMO"
+ Subtype: "A_BULLET"
+ Script: <" bonus bAtkEle, Ele_Wind; ">
+},
+{
+ Id: 13230
+ AegisName: "Ice_Bullet"
+ Name: "Ice Bullet"
+ Type: "IT_AMMO"
+ Buy: 15
+ Weight: 5
+ Atk: 50
+ Job: {
+ Gunslinger: true
+ Rebellion: true
}
Loc: "EQP_AMMO"
Subtype: "A_BULLET"
Script: <" bonus bAtkEle, Ele_Water; ">
},
+{
+ Id: 13231
+ AegisName: "Poison_Bullet"
+ Name: "Poison Bullet"
+ Type: "IT_AMMO"
+ Buy: 15
+ Weight: 5
+ Atk: 50
+ Job: {
+ Gunslinger: true
+ Rebellion: true
+ }
+ Loc: "EQP_AMMO"
+ Subtype: "A_BULLET"
+ Script: <"
+ bonus bAtkEle, Ele_Poison;
+ bonus2 bAddEff, Eff_Poison, 500;
+ ">
+},
+{
+ Id: 13232
+ AegisName: "Blind_Bullet"
+ Name: "Blind Bullet"
+ Type: "IT_AMMO"
+ Buy: 15
+ Weight: 5
+ Atk: 50
+ Job: {
+ Gunslinger: true
+ Rebellion: true
+ }
+ Loc: "EQP_AMMO"
+ Subtype: "A_BULLET"
+ Script: <"
+ bonus bAtkEle, Ele_Dark;
+ bonus2 bAddEff, Eff_Blind, 500;
+ ">
+},
//== Shurikens & Kunais ====================================
{
@@ -104210,6 +104562,16 @@ item_db: (
AegisName: "Rebeginer_KO_Humma"
Name: "Rebeginer_KO_Humma"
},
+{
+ Id: 13345
+ AegisName: "Humma_Clear"
+ Name: "Humma_Clear"
+},
+{
+ Id: 13346
+ AegisName: "Ein_BHHuuma"
+ Name: "Ein_BHHuuma"
+},
//== More One-Handed Swords ================================
{
@@ -105603,6 +105965,11 @@ item_db: (
Name: "Rebeginer_GN_Sword"
},
{
+ Id: 13485
+ AegisName: "Sword_Of_Bluefire"
+ Name: "Sword_Of_Bluefire"
+},
+{
Id: 13493
AegisName: "Cannon_Rapier_OS"
Name: "Cannon_Rapier_OS"
@@ -121340,7 +121707,7 @@ item_db: (
Id: 14512
AegisName: "Meteor_10_Scroll"
Name: "Meteor Storm Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -121357,7 +121724,7 @@ item_db: (
Id: 14513
AegisName: "Storm_10_Scroll"
Name: "Storm Gust Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -121374,7 +121741,7 @@ item_db: (
Id: 14514
AegisName: "Vermilion_10_Scroll"
Name: "Lord of Vermilion Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -121391,7 +121758,7 @@ item_db: (
Id: 14515
AegisName: "Lex_Aeterna_Scroll"
Name: "Lex Aeterna Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -121408,7 +121775,7 @@ item_db: (
Id: 14516
AegisName: "Magnificat_5_Scroll"
Name: "Magnificat Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -121436,7 +121803,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),237,5; ">
+ Script: <" itemskill(AM_CP_HELM, 5, ISF_CHECKCONDITIONS); ">
},
{
Id: 14518
@@ -121453,7 +121820,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),235,5; ">
+ Script: <" itemskill(AM_CP_SHIELD, 5, ISF_CHECKCONDITIONS); ">
},
{
Id: 14519
@@ -121470,7 +121837,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),236,5; ">
+ Script: <" itemskill(AM_CP_ARMOR, 5, ISF_CHECKCONDITIONS); ">
},
{
Id: 14520
@@ -121487,7 +121854,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),234,5; ">
+ Script: <" itemskill(AM_CP_WEAPON, 5, ISF_CHECKCONDITIONS); ">
},
{
Id: 14521
@@ -121507,7 +121874,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <" unitskilluseid getcharid(CHAR_ID_ACCOUNT),108,1; ">
+ Script: <" itemskill(BS_REPAIRWEAPON, 1); ">
},
{
Id: 14522
@@ -121631,7 +121998,7 @@ item_db: (
Id: 14529
AegisName: "Greed_Scroll"
Name: "Greed Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -121646,7 +122013,7 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <" itemskill BS_GREED,1; ">
+ Script: <" itemskill(BS_GREED, 1, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14530
@@ -122756,7 +123123,7 @@ item_db: (
Id: 14587
AegisName: "Repair_Scroll_"
Name: "Equipment Repair Spell Book"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -122776,7 +123143,7 @@ item_db: (
Id: 14588
AegisName: "Pty_Blessing_Scroll"
Name: "Party Blessing 10 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 10
Weight: 10
Trade: {
@@ -122788,13 +123155,13 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" itemskill CASH_BLESSING,10; ">
+ Script: <" itemskill(CASH_BLESSING, 10, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14589
AegisName: "Pty_Inc_Agi_Scroll"
Name: "Party Increase Agi 10 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 10
Weight: 10
Trade: {
@@ -122806,13 +123173,13 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" itemskill CASH_INCAGI,10; ">
+ Script: <" itemskill(CASH_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14590
AegisName: "Pty_Assumptio_Scroll"
Name: "Party Assumptio 5 Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 10
Weight: 10
Trade: {
@@ -122824,7 +123191,7 @@ item_db: (
nomail: true
noauction: true
}
- Script: <" itemskill CASH_ASSUMPTIO,5; ">
+ Script: <" itemskill(CASH_ASSUMPTIO, 5, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14591
@@ -122870,7 +123237,7 @@ item_db: (
Id: 14593
AegisName: "Magic_Power_Scroll"
Name: "Mystical Amplification Scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -122884,13 +123251,13 @@ item_db: (
Nouse: {
sitting: true
}
- Script: <" itemskill HW_MAGICPOWER,10; ">
+ Script: <" itemskill(HW_MAGICPOWER, 10, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14594
AegisName: "Quagmire_Scroll"
Name: "Quagmire scroll"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Weight: 10
Trade: {
nodrop: true
@@ -122993,6 +123360,7 @@ item_db: (
Nouse: {
sitting: true
}
+ Script: <" itemskill(BS_GREED, 1, ISF_INSTANTCAST | ISF_CASTONSELF); ">
},
{
Id: 14600
@@ -125170,16 +125538,46 @@ item_db: (
Name: "Rebeginer_Suits"
},
{
+ Id: 15278
+ AegisName: "Overwhelm_Str_Armor"
+ Name: "Overwhelm_Str_Armor"
+},
+{
+ Id: 15279
+ AegisName: "Overwhelm_Int_Armor"
+ Name: "Overwhelm_Int_Armor"
+},
+{
Id: 15280
AegisName: "S_CriticalHit_Armor"
Name: "S_CriticalHit_Armor"
},
{
+ Id: 15346
+ AegisName: "Overwhelm_Luk_Armor"
+ Name: "Overwhelm_Luk_Armor"
+},
+{
+ Id: 15347
+ AegisName: "Overwhelm_Vit_Armor"
+ Name: "Overwhelm_Vit_Armor"
+},
+{
Id: 15348
AegisName: "Goibne_Armor_IL"
Name: "Goibne_Armor_IL"
},
{
+ Id: 15353
+ AegisName: "Overwhelm_Agi_Armor"
+ Name: "Overwhelm_Agi_Armor"
+},
+{
+ Id: 15354
+ AegisName: "Overwhelm_Dex_Armor"
+ Name: "Overwhelm_Dex_Armor"
+},
+{
Id: 15376
AegisName: "Illusion_Armor_A"
Name: "Illusion_Armor_A"
@@ -125190,6 +125588,21 @@ item_db: (
Name: "Illusion_Armor_B"
},
{
+ Id: 15378
+ AegisName: "Lava_Leather_Armor"
+ Name: "Lava_Leather_Armor"
+},
+{
+ Id: 15379
+ AegisName: "Lava_Leather_Suits"
+ Name: "Lava_Leather_Suits"
+},
+{
+ Id: 15380
+ AegisName: "Lava_Leather_Robe"
+ Name: "Lava_Leather_Robe"
+},
+{
Id: 15383
AegisName: "Time_Overload_Robe"
Name: "Time_Overload_Robe"
@@ -125204,6 +125617,36 @@ item_db: (
AegisName: "Schmidt_Manteau"
Name: "Schmidt_Manteau"
},
+{
+ Id: 15391
+ AegisName: "DragonA_Red"
+ Name: "DragonA_Red"
+},
+{
+ Id: 15392
+ AegisName: "DragonA_Green"
+ Name: "DragonA_Green"
+},
+{
+ Id: 15393
+ AegisName: "DragonA_Gold"
+ Name: "DragonA_Gold"
+},
+{
+ Id: 15394
+ AegisName: "DragonA_Purple"
+ Name: "DragonA_Purple"
+},
+{
+ Id: 15395
+ AegisName: "DragonA_Blue"
+ Name: "DragonA_Blue"
+},
+{
+ Id: 15396
+ AegisName: "DragonA_Silver"
+ Name: "DragonA_Silver"
+},
//== More Maces ============================================
{
@@ -126237,6 +126680,11 @@ item_db: (
AegisName: "Ultio_Spes_OS"
Name: "Ultio_Spes_OS"
},
+{
+ Id: 16099
+ AegisName: "Ein_1HHAMMER"
+ Name: "Ein_1HHAMMER"
+},
//== More Rental Boxes =====================================
{
@@ -126711,6 +127159,7 @@ item_db: (
Name: "Activation Potion Box"
Type: "IT_CASH"
Buy: 20
+ Weight: 10
Trade: {
nodrop: true
notrade: true
@@ -126720,6 +127169,7 @@ item_db: (
nomail: true
noauction: true
}
+ Script: <" getitem(Acti_Potion, 5); ">
},
{
Id: 16257
@@ -130228,6 +130678,23 @@ item_db: (
Script: <" packageitem(); ">
},
{
+ Id: 17224
+ AegisName: "Almighty_Box"
+ Name: "Almighty Box"
+ Type: "IT_CASH"
+ Weight: 10
+ Trade: {
+ nodrop: true
+ notrade: true
+ noselltonpc: true
+ nocart: true
+ nogstorage: true
+ nomail: true
+ noauction: true
+ }
+ Script: <" getitem(Almighty, 10); ">
+},
+{
Id: 17226
AegisName: "C_Center_Potion_Box"
Name: "Infinite Concentration Potion Box"
@@ -131546,6 +132013,11 @@ item_db: (
Name: "Balistar_IL"
},
{
+ Id: 18164
+ AegisName: "Royal_Bow_K"
+ Name: "Royal_Bow_K"
+},
+{
Id: 18165
AegisName: "Rebeginer_RN_Bow"
Name: "Rebeginer_RN_Bow"
@@ -131590,6 +132062,11 @@ item_db: (
AegisName: "Evt_Narcis_Bow"
Name: "Evt_Narcis_Bow"
},
+{
+ Id: 18190
+ AegisName: "Ein_BHBOW"
+ Name: "Ein_BHBOW"
+},
//== More Headgears ========================================
{
@@ -145732,6 +146209,11 @@ item_db: (
Name: "C_GiantCatBag_TW"
},
{
+ Id: 20519
+ AegisName: "C_Full_BloomCherry_Tree"
+ Name: "C_Full_BloomCherry_Tree"
+},
+{
Id: 20528
AegisName: "C_GoldButterfly_Wing"
Name: "C_GoldButterfly_Wing"
@@ -145752,6 +146234,36 @@ item_db: (
Name: "C_Digital_Space"
},
{
+ Id: 20543
+ AegisName: "C_Halloween_Poring_Bag"
+ Name: "C_Halloween_Poring_Bag"
+},
+{
+ Id: 20546
+ AegisName: "C_Backside_Ribbon_Bell"
+ Name: "C_Backside_Ribbon_Bell"
+},
+{
+ Id: 20570
+ AegisName: "C_HeartChocoBag"
+ Name: "C_HeartChocoBag"
+},
+{
+ Id: 20572
+ AegisName: "C_WingOfHeart"
+ Name: "C_WingOfHeart"
+},
+{
+ Id: 20576
+ AegisName: "C_Cat_Fork"
+ Name: "C_Cat_Fork"
+},
+{
+ Id: 20584
+ AegisName: "C_Big_Foxtail"
+ Name: "C_Big_Foxtail"
+},
+{
Id: 20600
AegisName: "Fantastic_Aura"
Name: "Fantastic Aura"
@@ -146508,6 +147020,41 @@ item_db: (
AegisName: "Fairy_Cloth"
Name: "Fairy_Cloth"
},
+{
+ Id: 20946
+ AegisName: "Drag_Manteau"
+ Name: "Drag_Manteau"
+},
+{
+ Id: 20963
+ AegisName: "Temporal_M_Str"
+ Name: "Temporal_M_Str"
+},
+{
+ Id: 20964
+ AegisName: "Temporal_M_Agi"
+ Name: "Temporal_M_Agi"
+},
+{
+ Id: 20965
+ AegisName: "Temporal_M_Vit"
+ Name: "Temporal_M_Vit"
+},
+{
+ Id: 20966
+ AegisName: "Temporal_M_Int"
+ Name: "Temporal_M_Int"
+},
+{
+ Id: 20967
+ AegisName: "Temporal_M_Dex"
+ Name: "Temporal_M_Dex"
+},
+{
+ Id: 20968
+ AegisName: "Temporal_M_Luk"
+ Name: "Temporal_M_Luk"
+},
//== New Two-Handed Swords =================================
{
@@ -146993,6 +147540,11 @@ item_db: (
Name: "Rebeginer_RK_T_Sword"
},
{
+ Id: 21038
+ AegisName: "Oriental_Sword"
+ Name: "Oriental_Sword"
+},
+{
Id: 21047
AegisName: "Beam_Claymore_OS"
Name: "Beam_Claymore_OS"
@@ -147002,6 +147554,16 @@ item_db: (
AegisName: "Evt_Oriental_Sword"
Name: "Evt_Oriental_Sword"
},
+{
+ Id: 21050
+ AegisName: "Taegoolyeon_IL"
+ Name: "Taegoolyeon_IL"
+},
+{
+ Id: 21054
+ AegisName: "Ein_BHSWORD"
+ Name: "Ein_BHSWORD"
+},
//== New Shoes =============================================
{
@@ -147838,6 +148400,11 @@ item_db: (
AegisName: "Time_Overload_Boots"
Name: "Time_Overload_Boots"
},
+{
+ Id: 22208
+ AegisName: "Dragon_Boots"
+ Name: "Dragon_Boots"
+},
//== New Etc Items =========================================
{
@@ -147900,7 +148467,7 @@ item_db: (
Id: 22540
AegisName: "Runstone_Lux"
Name: "Lux Anima Rune"
- Type: "IT_DELAYCONSUME"
+ Type: "IT_USABLE"
Buy: 2
Weight: 100
Job: {
@@ -147917,7 +148484,7 @@ item_db: (
nomail: true
noauction: true
}
- Stack: [20, 1]
+ Stack: [60, 1]
Script: <" itemskill RK_LUXANIMA, 1; ">
},
{
@@ -148002,6 +148569,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"
@@ -148328,6 +148943,11 @@ item_db: (
Name: "Green_Scroll_K2"
},
{
+ Id: 23436
+ AegisName: "Shadow_Refine_Hammer"
+ Name: "Shadow_Refine_Hammer"
+},
+{
Id: 23440
AegisName: "Sentimental_Scroll"
Name: "Sentimental_Scroll"
@@ -148348,6 +148968,11 @@ item_db: (
Name: "Infinity_Scroll"
},
{
+ Id: 23474
+ AegisName: "InfinityShadow_Mix"
+ Name: "InfinityShadow_Mix"
+},
+{
Id: 23475
AegisName: "Infinity_Drink"
Name: "Infinity_Drink"
@@ -148478,6 +149103,21 @@ item_db: (
Name: "Bloody_Scroll"
},
{
+ Id: 23545
+ AegisName: "Silver_Statue"
+ Name: "Silver_Statue"
+},
+{
+ Id: 23546
+ AegisName: "Cursed_Blood"
+ Name: "Cursed_Blood"
+},
+{
+ Id: 23547
+ AegisName: "Gold_Statue"
+ Name: "Gold_Statue"
+},
+{
Id: 23549
AegisName: "Snow_Cookie"
Name: "Snow_Cookie"
@@ -148583,6 +149223,56 @@ item_db: (
Name: "2018_New_Year_Scroll"
},
{
+ Id: 23665
+ AegisName: "PhysicalMagical_Mix"
+ Name: "PhysicalMagical_Mix"
+},
+{
+ Id: 23666
+ AegisName: "ImmunedAthena_Mix"
+ Name: "ImmunedAthena_Mix"
+},
+{
+ Id: 23667
+ AegisName: "HardChamption_Mix"
+ Name: "HardChamption_Mix"
+},
+{
+ Id: 23668
+ AegisName: "KingbirdAncient_Mix"
+ Name: "KingbirdAncient_Mix"
+},
+{
+ Id: 23669
+ AegisName: "CriticalHit_Mix"
+ Name: "CriticalHit_Mix"
+},
+{
+ Id: 23675
+ AegisName: "Geffen_Magic_Scroll"
+ Name: "Geffen_Magic_Scroll"
+},
+{
+ Id: 23676
+ AegisName: "Gray_Charcoal_Melee"
+ Name: "Gray_Charcoal_Melee"
+},
+{
+ Id: 23677
+ AegisName: "Gray_Charcoal_Magic"
+ Name: "Gray_Charcoal_Magic"
+},
+{
+ Id: 23678
+ AegisName: "Gray_Charcoal_Range"
+ Name: "Gray_Charcoal_Range"
+},
+{
+ Id: 23679
+ AegisName: "Geffen_Magic_Scroll2"
+ Name: "Geffen_Magic_Scroll2"
+},
+{
Id: 23683
AegisName: "EVT_JAN02KR"
Name: "EVT_JAN02KR"
@@ -148608,6 +149298,11 @@ item_db: (
Name: "2018_Spring_Scroll"
},
{
+ Id: 23720
+ AegisName: "Shadow_Random_Mix"
+ Name: "Shadow_Random_Mix"
+},
+{
Id: 23723
AegisName: "Melon_Bread"
Name: "Melon_Bread"
@@ -148643,16 +149338,431 @@ item_db: (
Name: "EP17_1_SPC04"
},
{
+ Id: 23776
+ AegisName: "EP17_1_SPC05"
+ Name: "EP17_1_SPC05"
+},
+{
+ Id: 23777
+ AegisName: "EP17_1_SPC06"
+ Name: "EP17_1_SPC06"
+},
+{
+ Id: 23778
+ AegisName: "EP17_1_SPC07"
+ Name: "EP17_1_SPC07"
+},
+{
+ Id: 23779
+ AegisName: "EP17_1_SPC08"
+ Name: "EP17_1_SPC08"
+},
+{
+ Id: 23780
+ AegisName: "EP17_1_SPC09"
+ Name: "EP17_1_SPC09"
+},
+{
+ Id: 23781
+ AegisName: "EP17_1_SPC10"
+ Name: "EP17_1_SPC10"
+},
+{
+ Id: 23815
+ AegisName: "Magma_Essence"
+ Name: "Magma_Essence"
+},
+{
Id: 23817
AegisName: "Bs_Making_Scrolls"
Name: "Bs_Making_Scrolls"
},
{
+ Id: 23818
+ AegisName: "Bs_Item_M_S_2"
+ Name: "Bs_Item_M_S_2"
+},
+{
+ Id: 23819
+ AegisName: "Bs_Item_M_S_8"
+ Name: "Bs_Item_M_S_8"
+},
+{
+ Id: 23820
+ AegisName: "Bs_Item_M_S_10"
+ Name: "Bs_Item_M_S_10"
+},
+{
+ Id: 23821
+ AegisName: "Bs_Item_M_S_11"
+ Name: "Bs_Item_M_S_11"
+},
+{
+ Id: 23822
+ AegisName: "Bs_Item_M_S_34"
+ Name: "Bs_Item_M_S_34"
+},
+{
+ Id: 23823
+ AegisName: "Bs_Item_M_S_41"
+ Name: "Bs_Item_M_S_41"
+},
+{
+ Id: 23824
+ AegisName: "Bs_Item_M_S_42"
+ Name: "Bs_Item_M_S_42"
+},
+{
+ Id: 23825
+ AegisName: "Bs_Item_M_S_43"
+ Name: "Bs_Item_M_S_43"
+},
+{
+ Id: 23826
+ AegisName: "Bs_Item_M_S_44"
+ Name: "Bs_Item_M_S_44"
+},
+{
+ Id: 23827
+ AegisName: "Bs_Sha_M_S_1"
+ Name: "Bs_Sha_M_S_1"
+},
+{
+ Id: 23828
+ AegisName: "Bs_Sha_M_S_17"
+ Name: "Bs_Sha_M_S_17"
+},
+{
+ Id: 23829
+ AegisName: "Bs_Sha_M_S_18"
+ Name: "Bs_Sha_M_S_18"
+},
+{
+ Id: 23830
+ AegisName: "Bs_Sha_M_S_19"
+ Name: "Bs_Sha_M_S_19"
+},
+{
+ Id: 23831
+ AegisName: "Bs_Sha_M_S_20"
+ Name: "Bs_Sha_M_S_20"
+},
+{
+ Id: 23832
+ AegisName: "Bs_Item_M_S_4"
+ Name: "Bs_Item_M_S_4"
+},
+{
+ Id: 23833
+ AegisName: "Bs_Item_M_S_6"
+ Name: "Bs_Item_M_S_6"
+},
+{
+ Id: 23834
+ AegisName: "Bs_Item_M_S_7"
+ Name: "Bs_Item_M_S_7"
+},
+{
+ Id: 23835
+ AegisName: "Bs_Item_M_S_12"
+ Name: "Bs_Item_M_S_12"
+},
+{
+ Id: 23836
+ AegisName: "Bs_Item_M_S_13"
+ Name: "Bs_Item_M_S_13"
+},
+{
+ Id: 23837
+ AegisName: "Bs_Item_M_S_15"
+ Name: "Bs_Item_M_S_15"
+},
+{
+ Id: 23838
+ AegisName: "Bs_Item_M_S_28"
+ Name: "Bs_Item_M_S_28"
+},
+{
+ Id: 23839
+ AegisName: "Bs_Item_M_S_29"
+ Name: "Bs_Item_M_S_29"
+},
+{
+ Id: 23840
+ AegisName: "Bs_Item_M_S_31"
+ Name: "Bs_Item_M_S_31"
+},
+{
+ Id: 23841
+ AegisName: "Bs_Item_M_S_32"
+ Name: "Bs_Item_M_S_32"
+},
+{
+ Id: 23842
+ AegisName: "Bs_Item_M_S_33"
+ Name: "Bs_Item_M_S_33"
+},
+{
+ Id: 23843
+ AegisName: "Bs_Item_M_S_36"
+ Name: "Bs_Item_M_S_36"
+},
+{
+ Id: 23844
+ AegisName: "Bs_Item_M_S_37"
+ Name: "Bs_Item_M_S_37"
+},
+{
+ Id: 23845
+ AegisName: "Bs_Item_M_S_38"
+ Name: "Bs_Item_M_S_38"
+},
+{
+ Id: 23846
+ AegisName: "Bs_Item_M_S_39"
+ Name: "Bs_Item_M_S_39"
+},
+{
+ Id: 23847
+ AegisName: "Bs_Item_M_S_40"
+ Name: "Bs_Item_M_S_40"
+},
+{
+ Id: 23848
+ AegisName: "Bs_Item_M_S_45"
+ Name: "Bs_Item_M_S_45"
+},
+{
+ Id: 23849
+ AegisName: "Bs_Item_M_S_46"
+ Name: "Bs_Item_M_S_46"
+},
+{
+ Id: 23850
+ AegisName: "Bs_Item_M_S_47"
+ Name: "Bs_Item_M_S_47"
+},
+{
+ Id: 23851
+ AegisName: "Bs_Item_M_S_48"
+ Name: "Bs_Item_M_S_48"
+},
+{
+ Id: 23852
+ AegisName: "Bs_Item_M_S_49"
+ Name: "Bs_Item_M_S_49"
+},
+{
+ Id: 23853
+ AegisName: "Bs_Item_M_S_50"
+ Name: "Bs_Item_M_S_50"
+},
+{
+ Id: 23854
+ AegisName: "Bs_Sha_M_S_2"
+ Name: "Bs_Sha_M_S_2"
+},
+{
+ Id: 23855
+ AegisName: "Bs_Sha_M_S_5"
+ Name: "Bs_Sha_M_S_5"
+},
+{
+ Id: 23856
+ AegisName: "Bs_Sha_M_S_6"
+ Name: "Bs_Sha_M_S_6"
+},
+{
+ Id: 23857
+ AegisName: "Bs_Sha_M_S_7"
+ Name: "Bs_Sha_M_S_7"
+},
+{
+ Id: 23858
+ AegisName: "Bs_Sha_M_S_8"
+ Name: "Bs_Sha_M_S_8"
+},
+{
+ Id: 23859
+ AegisName: "Bs_Sha_M_S_13"
+ Name: "Bs_Sha_M_S_13"
+},
+{
+ Id: 23860
+ AegisName: "Bs_Sha_M_S_15"
+ Name: "Bs_Sha_M_S_15"
+},
+{
+ Id: 23861
+ AegisName: "Bs_Sha_M_S_16"
+ Name: "Bs_Sha_M_S_16"
+},
+{
+ Id: 23862
+ AegisName: "Bs_Sha_M_S_23"
+ Name: "Bs_Sha_M_S_23"
+},
+{
+ Id: 23863
+ AegisName: "Bs_Item_M_S_5"
+ Name: "Bs_Item_M_S_5"
+},
+{
+ Id: 23864
+ AegisName: "Bs_Item_M_S_9"
+ Name: "Bs_Item_M_S_9"
+},
+{
+ Id: 23865
+ AegisName: "Bs_Item_M_S_14"
+ Name: "Bs_Item_M_S_14"
+},
+{
+ Id: 23866
+ AegisName: "Bs_Item_M_S_16"
+ Name: "Bs_Item_M_S_16"
+},
+{
+ Id: 23867
+ AegisName: "Bs_Item_M_S_17"
+ Name: "Bs_Item_M_S_17"
+},
+{
+ Id: 23868
+ AegisName: "Bs_Item_M_S_19"
+ Name: "Bs_Item_M_S_19"
+},
+{
+ Id: 23869
+ AegisName: "Bs_Item_M_S_27"
+ Name: "Bs_Item_M_S_27"
+},
+{
+ Id: 23870
+ AegisName: "Bs_Item_M_S_35"
+ Name: "Bs_Item_M_S_35"
+},
+{
+ Id: 23871
+ AegisName: "Bs_Sha_M_S_9"
+ Name: "Bs_Sha_M_S_9"
+},
+{
+ Id: 23872
+ AegisName: "Bs_Sha_M_S_10"
+ Name: "Bs_Sha_M_S_10"
+},
+{
+ Id: 23873
+ AegisName: "Bs_Sha_M_S_11"
+ Name: "Bs_Sha_M_S_11"
+},
+{
+ Id: 23874
+ AegisName: "Bs_Sha_M_S_21"
+ Name: "Bs_Sha_M_S_21"
+},
+{
+ Id: 23875
+ AegisName: "Bs_Sha_M_S_22"
+ Name: "Bs_Sha_M_S_22"
+},
+{
+ Id: 23876
+ AegisName: "Bs_Item_M_S_1"
+ Name: "Bs_Item_M_S_1"
+},
+{
+ Id: 23877
+ AegisName: "Bs_Item_M_S_3"
+ Name: "Bs_Item_M_S_3"
+},
+{
Id: 23878
AegisName: "StarSoul_Scroll"
Name: "StarSoul_Scroll"
},
{
+ Id: 23879
+ AegisName: "Bs_Item_M_S_18"
+ Name: "Bs_Item_M_S_18"
+},
+{
+ Id: 23880
+ AegisName: "Bs_Item_M_S_20"
+ Name: "Bs_Item_M_S_20"
+},
+{
+ Id: 23881
+ AegisName: "Bs_Item_M_S_21"
+ Name: "Bs_Item_M_S_21"
+},
+{
+ Id: 23882
+ AegisName: "Bs_Item_M_S_22"
+ Name: "Bs_Item_M_S_22"
+},
+{
+ Id: 23883
+ AegisName: "Bs_Item_M_S_23"
+ Name: "Bs_Item_M_S_23"
+},
+{
+ Id: 23884
+ AegisName: "Bs_Item_M_S_24"
+ Name: "Bs_Item_M_S_24"
+},
+{
+ Id: 23885
+ AegisName: "Bs_Item_M_S_25"
+ Name: "Bs_Item_M_S_25"
+},
+{
+ Id: 23886
+ AegisName: "Bs_Item_M_S_26"
+ Name: "Bs_Item_M_S_26"
+},
+{
+ Id: 23887
+ AegisName: "Bs_Item_M_S_30"
+ Name: "Bs_Item_M_S_30"
+},
+{
+ Id: 23888
+ AegisName: "Bs_Sha_M_S_3"
+ Name: "Bs_Sha_M_S_3"
+},
+{
+ Id: 23889
+ AegisName: "Bs_Sha_M_S_4"
+ Name: "Bs_Sha_M_S_4"
+},
+{
+ Id: 23890
+ AegisName: "Bs_Sha_M_S_12"
+ Name: "Bs_Sha_M_S_12"
+},
+{
+ Id: 23891
+ AegisName: "Bs_Sha_M_S_14"
+ Name: "Bs_Sha_M_S_14"
+},
+{
+ Id: 23892
+ AegisName: "Bs_Sha_M_S_24"
+ Name: "Bs_Sha_M_S_24"
+},
+{
+ Id: 23893
+ AegisName: "Bs_Sha_M_S_25"
+ Name: "Bs_Sha_M_S_25"
+},
+{
+ Id: 23894
+ AegisName: "Bs_Item_M_S_51"
+ Name: "Bs_Item_M_S_51"
+},
+{
Id: 23897
AegisName: "2018_Jump_Thx_Box"
Name: "2018_Jump_Thx_Box"
@@ -148683,10 +149793,25 @@ item_db: (
Name: "Season_Evt_Reward"
},
{
+ Id: 23926
+ AegisName: "Shadow_9_Refine_Hammer"
+ Name: "Shadow_9_Refine_Hammer"
+},
+{
Id: 23962
AegisName: "Malang_Cat_Can2"
Name: "Malang_Cat_Can2"
},
+{
+ Id: 23967
+ AegisName: "EnchantStone_Recipe_9m"
+ Name: "EnchantStone_Recipe_9m"
+},
+{
+ Id: 23981
+ AegisName: "Abyss_Ddbox"
+ Name: "Abyss_Ddbox"
+},
//== Shadow Equipments =====================================
{
@@ -151808,6 +152933,818 @@ item_db: (
Name: "S_Timeoverload_Pandent"
},
{
+ Id: 24423
+ AegisName: "S_Tempest_Weapon"
+ Name: "S_Tempest_Weapon"
+},
+{
+ Id: 24424
+ AegisName: "S_Tempest_Armor"
+ Name: "S_Tempest_Armor"
+},
+{
+ Id: 24425
+ AegisName: "S_PerfectSize_Weapon"
+ Name: "S_PerfectSize_Weapon"
+},
+{
+ Id: 24426
+ AegisName: "S_PerfectSize_Armor"
+ Name: "S_PerfectSize_Armor"
+},
+{
+ Id: 24427
+ AegisName: "S_M_Exo_Co_Weapon"
+ Name: "S_M_Exo_Co_Weapon"
+},
+{
+ Id: 24428
+ AegisName: "S_M_Viv_Dr_Weapon"
+ Name: "S_M_Viv_Dr_Weapon"
+},
+{
+ Id: 24429
+ AegisName: "S_M_Sci_Hu_Weapon"
+ Name: "S_M_Sci_Hu_Weapon"
+},
+{
+ Id: 24430
+ AegisName: "S_M_Fis_In_Weapon"
+ Name: "S_M_Fis_In_Weapon"
+},
+{
+ Id: 24431
+ AegisName: "S_M_Exe_Ho_Weapon"
+ Name: "S_M_Exe_Ho_Weapon"
+},
+{
+ Id: 24432
+ AegisName: "S_Penetration_Weapon"
+ Name: "S_Penetration_Weapon"
+},
+{
+ Id: 24433
+ AegisName: "S_Penetration_Armor"
+ Name: "S_Penetration_Armor"
+},
+{
+ Id: 24434
+ AegisName: "S_Exe_Ho_Weapon"
+ Name: "S_Exe_Ho_Weapon"
+},
+{
+ Id: 24435
+ AegisName: "S_Fis_In_Weapon"
+ Name: "S_Fis_In_Weapon"
+},
+{
+ Id: 24436
+ AegisName: "S_Sci_Hu_Weapon"
+ Name: "S_Sci_Hu_Weapon"
+},
+{
+ Id: 24437
+ AegisName: "S_Viv_Dr_Weapon"
+ Name: "S_Viv_Dr_Weapon"
+},
+{
+ Id: 24438
+ AegisName: "S_Exo_Co_Weapon"
+ Name: "S_Exo_Co_Weapon"
+},
+{
+ Id: 24439
+ AegisName: "S_Hasty_Weapon"
+ Name: "S_Hasty_Weapon"
+},
+{
+ Id: 24440
+ AegisName: "S_Sonic_Armor"
+ Name: "S_Sonic_Armor"
+},
+{
+ Id: 24441
+ AegisName: "S_Sonic_Shield"
+ Name: "S_Sonic_Shield"
+},
+{
+ Id: 24442
+ AegisName: "S_Sonic_Shoes"
+ Name: "S_Sonic_Shoes"
+},
+{
+ Id: 24443
+ AegisName: "S_Ignition_Weapon"
+ Name: "S_Ignition_Weapon"
+},
+{
+ Id: 24444
+ AegisName: "S_Ignition_Pendant"
+ Name: "S_Ignition_Pendant"
+},
+{
+ Id: 24445
+ AegisName: "S_Ignition_Earing"
+ Name: "S_Ignition_Earing"
+},
+{
+ Id: 24446
+ AegisName: "S_W_Breath_Armor"
+ Name: "S_W_Breath_Armor"
+},
+{
+ Id: 24447
+ AegisName: "S_W_Breath_Shield"
+ Name: "S_W_Breath_Shield"
+},
+{
+ Id: 24448
+ AegisName: "S_W_Breath_Shoes"
+ Name: "S_W_Breath_Shoes"
+},
+{
+ Id: 24449
+ AegisName: "S_F_Breath_Weapon"
+ Name: "S_F_Breath_Weapon"
+},
+{
+ Id: 24450
+ AegisName: "S_F_Breath_Pendant"
+ Name: "S_F_Breath_Pendant"
+},
+{
+ Id: 24451
+ AegisName: "S_F_Breath_Earing"
+ Name: "S_F_Breath_Earing"
+},
+{
+ Id: 24452
+ AegisName: "S_Cluster_Armor"
+ Name: "S_Cluster_Armor"
+},
+{
+ Id: 24453
+ AegisName: "S_Cluster_Shield"
+ Name: "S_Cluster_Shield"
+},
+{
+ Id: 24454
+ AegisName: "S_Cluster_Shoes"
+ Name: "S_Cluster_Shoes"
+},
+{
+ Id: 24455
+ AegisName: "S_Aimed_Weapon"
+ Name: "S_Aimed_Weapon"
+},
+{
+ Id: 24456
+ AegisName: "S_Aimed_Pendant"
+ Name: "S_Aimed_Pendant"
+},
+{
+ Id: 24457
+ AegisName: "S_Aimed_Earing"
+ Name: "S_Aimed_Earing"
+},
+{
+ Id: 24458
+ AegisName: "S_Arrow_Armor"
+ Name: "S_Arrow_Armor"
+},
+{
+ Id: 24459
+ AegisName: "S_Arrow_Shield"
+ Name: "S_Arrow_Shield"
+},
+{
+ Id: 24460
+ AegisName: "S_Arrow_Shoes"
+ Name: "S_Arrow_Shoes"
+},
+{
+ Id: 24461
+ AegisName: "S_Shooting_Weapon"
+ Name: "S_Shooting_Weapon"
+},
+{
+ Id: 24462
+ AegisName: "S_Shooting_Pendant"
+ Name: "S_Shooting_Pendant"
+},
+{
+ Id: 24463
+ AegisName: "S_Shooting_Earing"
+ Name: "S_Shooting_Earing"
+},
+{
+ Id: 24464
+ AegisName: "S_Tornado_Armor"
+ Name: "S_Tornado_Armor"
+},
+{
+ Id: 24465
+ AegisName: "S_Tornado_Shield"
+ Name: "S_Tornado_Shield"
+},
+{
+ Id: 24466
+ AegisName: "S_Tornado_Shoes"
+ Name: "S_Tornado_Shoes"
+},
+{
+ Id: 24467
+ AegisName: "S_Boomerang_Weapon"
+ Name: "S_Boomerang_Weapon"
+},
+{
+ Id: 24468
+ AegisName: "S_Boomerang_Pendant"
+ Name: "S_Boomerang_Pendant"
+},
+{
+ Id: 24469
+ AegisName: "S_Boomerang_Earing"
+ Name: "S_Boomerang_Earing"
+},
+{
+ Id: 24470
+ AegisName: "S_Vulcan_Armor"
+ Name: "S_Vulcan_Armor"
+},
+{
+ Id: 24471
+ AegisName: "S_Vulcan_Shield"
+ Name: "S_Vulcan_Shield"
+},
+{
+ Id: 24472
+ AegisName: "S_Vulcan_Shoes"
+ Name: "S_Vulcan_Shoes"
+},
+{
+ Id: 24473
+ AegisName: "S_Arms_Weapon"
+ Name: "S_Arms_Weapon"
+},
+{
+ Id: 24474
+ AegisName: "S_Arms_Pendant"
+ Name: "S_Arms_Pendant"
+},
+{
+ Id: 24475
+ AegisName: "S_Arms_Earing"
+ Name: "S_Arms_Earing"
+},
+{
+ Id: 24476
+ AegisName: "S_Rampage_Armor"
+ Name: "S_Rampage_Armor"
+},
+{
+ Id: 24477
+ AegisName: "S_Rampage_Shield"
+ Name: "S_Rampage_Shield"
+},
+{
+ Id: 24478
+ AegisName: "S_Rampage_Shoes"
+ Name: "S_Rampage_Shoes"
+},
+{
+ Id: 24479
+ AegisName: "S_Skynetblow_Weapon"
+ Name: "S_Skynetblow_Weapon"
+},
+{
+ Id: 24480
+ AegisName: "S_Skynetblow_Pendant"
+ Name: "S_Skynetblow_Pendant"
+},
+{
+ Id: 24481
+ AegisName: "S_Skynetblow_Earing"
+ Name: "S_Skynetblow_Earing"
+},
+{
+ Id: 24482
+ AegisName: "S_Knucklearrow_Armor"
+ Name: "S_Knucklearrow_Armor"
+},
+{
+ Id: 24483
+ AegisName: "S_Knucklearrow_Shield"
+ Name: "S_Knucklearrow_Shield"
+},
+{
+ Id: 24484
+ AegisName: "S_Knucklearrow_Shoes"
+ Name: "S_Knucklearrow_Shoes"
+},
+{
+ Id: 24485
+ AegisName: "S_TigerCannon_Weapon"
+ Name: "S_TigerCannon_Weapon"
+},
+{
+ Id: 24486
+ AegisName: "S_Tigercannon_Pendant"
+ Name: "S_Tigercannon_Pendant"
+},
+{
+ Id: 24487
+ AegisName: "S_Tigercannon_Earing"
+ Name: "S_Tigercannon_Earing"
+},
+{
+ Id: 24488
+ AegisName: "S_Duplelight_Armor"
+ Name: "S_Duplelight_Armor"
+},
+{
+ Id: 24489
+ AegisName: "S_Duplelight_Shield"
+ Name: "S_Duplelight_Shield"
+},
+{
+ Id: 24490
+ AegisName: "S_Duplelight_Shoes"
+ Name: "S_Duplelight_Shoes"
+},
+{
+ Id: 24491
+ AegisName: "S_Adoramus_Weapon"
+ Name: "S_Adoramus_Weapon"
+},
+{
+ Id: 24492
+ AegisName: "S_Adoramus_Pendant"
+ Name: "S_Adoramus_Pendant"
+},
+{
+ Id: 24493
+ AegisName: "S_Adoramus_Earing"
+ Name: "S_Adoramus_Earing"
+},
+{
+ Id: 24494
+ AegisName: "S_Judex_Armor"
+ Name: "S_Judex_Armor"
+},
+{
+ Id: 24495
+ AegisName: "S_Judex_Shield"
+ Name: "S_Judex_Shield"
+},
+{
+ Id: 24496
+ AegisName: "S_Judex_Shoes"
+ Name: "S_Judex_Shoes"
+},
+{
+ Id: 24497
+ AegisName: "S_Magnus_Weapon"
+ Name: "S_Magnus_Weapon"
+},
+{
+ Id: 24498
+ AegisName: "S_Magnus_Pendant"
+ Name: "S_Magnus_Pendant"
+},
+{
+ Id: 24499
+ AegisName: "S_Magnus_Earing"
+ Name: "S_Magnus_Earing"
+},
+{
+ Id: 24500
+ AegisName: "S_Rainstorm_Armor"
+ Name: "S_Rainstorm_Armor"
+},
+{
+ Id: 24501
+ AegisName: "S_Rainstorm_Shield"
+ Name: "S_Rainstorm_Shield"
+},
+{
+ Id: 24502
+ AegisName: "S_Rainstorm_Shoes"
+ Name: "S_Rainstorm_Shoes"
+},
+{
+ Id: 24503
+ AegisName: "S_Arrowvulcan_Weapon"
+ Name: "S_Arrowvulcan_Weapon"
+},
+{
+ Id: 24504
+ AegisName: "S_Arrowvulcan_Pendant"
+ Name: "S_Arrowvulcan_Pendant"
+},
+{
+ Id: 24505
+ AegisName: "S_Arrowvulcan_Earing"
+ Name: "S_Arrowvulcan_Earing"
+},
+{
+ Id: 24506
+ AegisName: "S_Metalic_Armor"
+ Name: "S_Metalic_Armor"
+},
+{
+ Id: 24507
+ AegisName: "S_Metalic_Shield"
+ Name: "S_Metalic_Shield"
+},
+{
+ Id: 24508
+ AegisName: "S_Metalic_Shoes"
+ Name: "S_Metalic_Shoes"
+},
+{
+ Id: 24509
+ AegisName: "S_Reverberation_Weapon"
+ Name: "S_Reverberation_Weapon"
+},
+{
+ Id: 24510
+ AegisName: "S_Reverberation_Pendant"
+ Name: "S_Reverberation_Pendant"
+},
+{
+ Id: 24511
+ AegisName: "S_Reverberation_Earing"
+ Name: "S_Reverberation_Earing"
+},
+{
+ Id: 24512
+ AegisName: "S_Jack_Armor"
+ Name: "S_Jack_Armor"
+},
+{
+ Id: 24513
+ AegisName: "S_Jack_Shield"
+ Name: "S_Jack_Shield"
+},
+{
+ Id: 24514
+ AegisName: "S_Jack_Shoes"
+ Name: "S_Jack_Shoes"
+},
+{
+ Id: 24515
+ AegisName: "S_Strain_Weapon"
+ Name: "S_Strain_Weapon"
+},
+{
+ Id: 24516
+ AegisName: "S_Strain_Pendant"
+ Name: "S_Strain_Pendant"
+},
+{
+ Id: 24517
+ AegisName: "S_Strain_Earing"
+ Name: "S_Strain_Earing"
+},
+{
+ Id: 24518
+ AegisName: "S_Crimson_Armor"
+ Name: "S_Crimson_Armor"
+},
+{
+ Id: 24519
+ AegisName: "S_Crimson_Shield"
+ Name: "S_Crimson_Shield"
+},
+{
+ Id: 24520
+ AegisName: "S_Crimson_Shoes"
+ Name: "S_Crimson_Shoes"
+},
+{
+ Id: 24521
+ AegisName: "S_Chain_Weapon"
+ Name: "S_Chain_Weapon"
+},
+{
+ Id: 24522
+ AegisName: "S_Chain_Pendant"
+ Name: "S_Chain_Pendant"
+},
+{
+ Id: 24523
+ AegisName: "S_Chain_Earing"
+ Name: "S_Chain_Earing"
+},
+{
+ Id: 24524
+ AegisName: "S_Triangle_Armor"
+ Name: "S_Triangle_Armor"
+},
+{
+ Id: 24525
+ AegisName: "S_Triangle_Shield"
+ Name: "S_Triangle_Shield"
+},
+{
+ Id: 24526
+ AegisName: "S_Triangle_Shoes"
+ Name: "S_Triangle_Shoes"
+},
+{
+ Id: 24527
+ AegisName: "S_Shadowspell_Weapon"
+ Name: "S_Shadowspell_Weapon"
+},
+{
+ Id: 24528
+ AegisName: "S_Shadowspell_Pendant"
+ Name: "S_Shadowspell_Pendant"
+},
+{
+ Id: 24529
+ AegisName: "S_Shadowspell_Earing"
+ Name: "S_Shadowspell_Earing"
+},
+{
+ Id: 24530
+ AegisName: "S_Menace_Armor"
+ Name: "S_Menace_Armor"
+},
+{
+ Id: 24531
+ AegisName: "S_Menace_Shield"
+ Name: "S_Menace_Shield"
+},
+{
+ Id: 24532
+ AegisName: "S_Menace_Shoes"
+ Name: "S_Menace_Shoes"
+},
+{
+ Id: 24533
+ AegisName: "S_Paint_Weapon"
+ Name: "S_Paint_Weapon"
+},
+{
+ Id: 24534
+ AegisName: "S_Paint_Pendant"
+ Name: "S_Paint_Pendant"
+},
+{
+ Id: 24535
+ AegisName: "S_Paint_Earing"
+ Name: "S_Paint_Earing"
+},
+{
+ Id: 24536
+ AegisName: "S_Rolling_Armor"
+ Name: "S_Rolling_Armor"
+},
+{
+ Id: 24537
+ AegisName: "S_Rolling_Shield"
+ Name: "S_Rolling_Shield"
+},
+{
+ Id: 24538
+ AegisName: "S_Rolling_Shoes"
+ Name: "S_Rolling_Shoes"
+},
+{
+ Id: 24539
+ AegisName: "S_Katar_Weapon"
+ Name: "S_Katar_Weapon"
+},
+{
+ Id: 24540
+ AegisName: "S_Katar_Pendant"
+ Name: "S_Katar_Pendant"
+},
+{
+ Id: 24541
+ AegisName: "S_Katar_Earing"
+ Name: "S_Katar_Earing"
+},
+{
+ Id: 24542
+ AegisName: "S_Slash_Armor"
+ Name: "S_Slash_Armor"
+},
+{
+ Id: 24543
+ AegisName: "S_Slash_Shield"
+ Name: "S_Slash_Shield"
+},
+{
+ Id: 24544
+ AegisName: "S_Slash_Shoes"
+ Name: "S_Slash_Shoes"
+},
+{
+ Id: 24545
+ AegisName: "S_Ripper_Weapon"
+ Name: "S_Ripper_Weapon"
+},
+{
+ Id: 24546
+ AegisName: "S_Ripper_Pendant"
+ Name: "S_Ripper_Pendant"
+},
+{
+ Id: 24547
+ AegisName: "S_Ripper_Earing"
+ Name: "S_Ripper_Earing"
+},
+{
+ Id: 24548
+ AegisName: "S_Dust_Armor"
+ Name: "S_Dust_Armor"
+},
+{
+ Id: 24549
+ AegisName: "S_Dust_Shield"
+ Name: "S_Dust_Shield"
+},
+{
+ Id: 24550
+ AegisName: "S_Dust_Shoes"
+ Name: "S_Dust_Shoes"
+},
+{
+ Id: 24551
+ AegisName: "S_Grave_Weapon"
+ Name: "S_Grave_Weapon"
+},
+{
+ Id: 24552
+ AegisName: "S_Grave_Pendant"
+ Name: "S_Grave_Pendant"
+},
+{
+ Id: 24553
+ AegisName: "S_Grave_Earing"
+ Name: "S_Grave_Earing"
+},
+{
+ Id: 24554
+ AegisName: "S_Psychic_Armor"
+ Name: "S_Psychic_Armor"
+},
+{
+ Id: 24555
+ AegisName: "S_Psychic_Shield"
+ Name: "S_Psychic_Shield"
+},
+{
+ Id: 24556
+ AegisName: "S_Psychic_Shoes"
+ Name: "S_Psychic_Shoes"
+},
+{
+ Id: 24557
+ AegisName: "S_Varetyr_Weapon"
+ Name: "S_Varetyr_Weapon"
+},
+{
+ Id: 24558
+ AegisName: "S_Varetyr_Pendant"
+ Name: "S_Varetyr_Pendant"
+},
+{
+ Id: 24559
+ AegisName: "S_Varetyr_Earing"
+ Name: "S_Varetyr_Earing"
+},
+{
+ Id: 24560
+ AegisName: "S_Cart_Tornado_Armor"
+ Name: "S_Cart_Tornado_Armor"
+},
+{
+ Id: 24561
+ AegisName: "S_Cart_Tornado_Shield"
+ Name: "S_Cart_Tornado_Shield"
+},
+{
+ Id: 24562
+ AegisName: "S_Cart_Tornado_Shoes"
+ Name: "S_Cart_Tornado_Shoes"
+},
+{
+ Id: 24563
+ AegisName: "S_Cannon_Cart_Weapon"
+ Name: "S_Cannon_Cart_Weapon"
+},
+{
+ Id: 24564
+ AegisName: "S_Cannon_Cart_Pendant"
+ Name: "S_Cannon_Cart_Pendant"
+},
+{
+ Id: 24565
+ AegisName: "S_Cannon_Cart_Earing"
+ Name: "S_Cannon_Cart_Earing"
+},
+{
+ Id: 24566
+ AegisName: "S_Spore_Bomb_Armor"
+ Name: "S_Spore_Bomb_Armor"
+},
+{
+ Id: 24567
+ AegisName: "S_Spore_Bomb_Shield"
+ Name: "S_Spore_Bomb_Shield"
+},
+{
+ Id: 24568
+ AegisName: "S_Spore_Bomb_Shoes"
+ Name: "S_Spore_Bomb_Shoes"
+},
+{
+ Id: 24569
+ AegisName: "S_Crazy_Weapon"
+ Name: "S_Crazy_Weapon"
+},
+{
+ Id: 24570
+ AegisName: "S_Crazy_Pendant"
+ Name: "S_Crazy_Pendant"
+},
+{
+ Id: 24571
+ AegisName: "S_Crazy_Earing"
+ Name: "S_Crazy_Earing"
+},
+{
+ Id: 24572
+ AegisName: "S_Brand_Armor"
+ Name: "S_Brand_Armor"
+},
+{
+ Id: 24573
+ AegisName: "S_Brand_Shield"
+ Name: "S_Brand_Shield"
+},
+{
+ Id: 24574
+ AegisName: "S_Brand_Shoes"
+ Name: "S_Brand_Shoes"
+},
+{
+ Id: 24575
+ AegisName: "S_Chain_Press_Weapon"
+ Name: "S_Chain_Press_Weapon"
+},
+{
+ Id: 24576
+ AegisName: "S_Chain_Press_Pendant"
+ Name: "S_Chain_Press_Pendant"
+},
+{
+ Id: 24577
+ AegisName: "S_Chain_Press_Earing"
+ Name: "S_Chain_Press_Earing"
+},
+{
+ Id: 24578
+ AegisName: "S_Banish_Cannon_Armor"
+ Name: "S_Banish_Cannon_Armor"
+},
+{
+ Id: 24579
+ AegisName: "S_Banish_Cannon_Shield"
+ Name: "S_Banish_Cannon_Shield"
+},
+{
+ Id: 24580
+ AegisName: "S_Banish_Cannon_Shoes"
+ Name: "S_Banish_Cannon_Shoes"
+},
+{
+ Id: 24581
+ AegisName: "S_Genesis_Weapon"
+ Name: "S_Genesis_Weapon"
+},
+{
+ Id: 24582
+ AegisName: "S_Genesis_Pendant"
+ Name: "S_Genesis_Pendant"
+},
+{
+ Id: 24583
+ AegisName: "S_Genesis_Earing"
+ Name: "S_Genesis_Earing"
+},
+{
+ Id: 25187
+ AegisName: "Slug_Bullet"
+ Name: "Slug Bullet"
+ Buy: 1200
+ Weight: 1200
+},
+{
Id: 25258
AegisName: "BrokenArrow"
Name: "BrokenArrow"
@@ -152338,6 +154275,186 @@ item_db: (
Name: "Inventory_Extension_Coupon"
},
{
+ Id: 25797
+ AegisName: "SuraStone_Robe2"
+ Name: "SuraStone_Robe2"
+},
+{
+ Id: 25798
+ AegisName: "SuraStone_Bottom2"
+ Name: "SuraStone_Bottom2"
+},
+{
+ Id: 25799
+ AegisName: "SuraStone_Middle2"
+ Name: "SuraStone_Middle2"
+},
+{
+ Id: 25800
+ AegisName: "SuraStone_Top2"
+ Name: "SuraStone_Top2"
+},
+{
+ Id: 25801
+ AegisName: "SorcererStone_Robe2"
+ Name: "SorcererStone_Robe2"
+},
+{
+ Id: 25802
+ AegisName: "SorcererStone_Bottom2"
+ Name: "SorcererStone_Bottom2"
+},
+{
+ Id: 25803
+ AegisName: "SorcererStone_Middle2"
+ Name: "SorcererStone_Middle2"
+},
+{
+ Id: 25804
+ AegisName: "SorcererStone_Top2"
+ Name: "SorcererStone_Top2"
+},
+{
+ Id: 25805
+ AegisName: "ShadowchaserStone_Robe2"
+ Name: "ShadowchaserStone_Robe2"
+},
+{
+ Id: 25806
+ AegisName: "ShadowchasStone_Bottom2"
+ Name: "ShadowchasStone_Bottom2"
+},
+{
+ Id: 25807
+ AegisName: "ShadowchasStone_Middle2"
+ Name: "ShadowchasStone_Middle2"
+},
+{
+ Id: 25808
+ AegisName: "ShadowchaserStone_Top2"
+ Name: "ShadowchaserStone_Top2"
+},
+{
+ Id: 25815
+ AegisName: "Ein_SOLIDDUST"
+ Name: "Ein_SOLIDDUST"
+},
+{
+ Id: 25816
+ AegisName: "Ein_RUSTHELM"
+ Name: "Ein_RUSTHELM"
+},
+{
+ Id: 25817
+ AegisName: "Ein_EYEROCK"
+ Name: "Ein_EYEROCK"
+},
+{
+ Id: 25842
+ AegisName: "SoulreaperStone_Robe"
+ Name: "SoulreaperStone_Robe"
+},
+{
+ Id: 25843
+ AegisName: "SoullinkerStone_Top"
+ Name: "SoullinkerStone_Top"
+},
+{
+ Id: 25844
+ AegisName: "SoullinkerStone_Middle"
+ Name: "SoullinkerStone_Middle"
+},
+{
+ Id: 25845
+ AegisName: "SoullinkerStone_Bottom"
+ Name: "SoullinkerStone_Bottom"
+},
+{
+ Id: 25846
+ AegisName: "GladiatorStone_Top"
+ Name: "GladiatorStone_Top"
+},
+{
+ Id: 25847
+ AegisName: "GladiatorStone_Middle"
+ Name: "GladiatorStone_Middle"
+},
+{
+ Id: 25848
+ AegisName: "GladiatorStone_Bottom"
+ Name: "GladiatorStone_Bottom"
+},
+{
+ Id: 25849
+ AegisName: "StaremperorStone_Robe"
+ Name: "StaremperorStone_Robe"
+},
+{
+ Id: 25850
+ AegisName: "NinjaStone_Top"
+ Name: "NinjaStone_Top"
+},
+{
+ Id: 25851
+ AegisName: "NinjaStone_Middle"
+ Name: "NinjaStone_Middle"
+},
+{
+ Id: 25852
+ AegisName: "NinjaStone_Bottom"
+ Name: "NinjaStone_Bottom"
+},
+{
+ Id: 25853
+ AegisName: "KagerouStone_Robe"
+ Name: "KagerouStone_Robe"
+},
+{
+ Id: 25854
+ AegisName: "OboroStone_Robe"
+ Name: "OboroStone_Robe"
+},
+{
+ Id: 25855
+ AegisName: "GunslingerStone_Top"
+ Name: "GunslingerStone_Top"
+},
+{
+ Id: 25856
+ AegisName: "GunslingerStone_Middle"
+ Name: "GunslingerStone_Middle"
+},
+{
+ Id: 25857
+ AegisName: "GunslingerStone_Bottom"
+ Name: "GunslingerStone_Bottom"
+},
+{
+ Id: 25858
+ AegisName: "RebellionStone_Robe"
+ Name: "RebellionStone_Robe"
+},
+{
+ Id: 25859
+ AegisName: "DoramStone_Top"
+ Name: "DoramStone_Top"
+},
+{
+ Id: 25860
+ AegisName: "DoramStone_Middle"
+ Name: "DoramStone_Middle"
+},
+{
+ Id: 25861
+ AegisName: "DoramStone_Bottom"
+ Name: "DoramStone_Bottom"
+},
+{
+ Id: 25862
+ AegisName: "DoramStone_Robe"
+ Name: "DoramStone_Robe"
+},
+{
Id: 26007
AegisName: "Spectral_Spear_IL"
Name: "Spectral_Spear_IL"
@@ -152388,6 +154505,11 @@ item_db: (
Name: "Metal_Foxtail"
},
{
+ Id: 26118
+ AegisName: "Shadow_Staff_K"
+ Name: "Shadow_Staff_K"
+},
+{
Id: 26119
AegisName: "Rebeginer_SO_Rod"
Name: "Rebeginer_SO_Rod"
@@ -152403,6 +154525,11 @@ item_db: (
Name: "Rutilus_Stick_OS"
},
{
+ Id: 26154
+ AegisName: "SoulWeight"
+ Name: "SoulWeight"
+},
+{
Id: 26155
AegisName: "MeawFoxtail"
Name: "MeawFoxtail"
@@ -152412,6 +154539,21 @@ item_db: (
AegisName: "Evt_Shadow_Staff_K"
Name: "Evt_Shadow_Staff_K"
},
+{
+ Id: 26162
+ AegisName: "Ein_1HWAND"
+ Name: "Ein_1HWAND"
+},
+{
+ Id: 26164
+ AegisName: "ElectricFox_OS"
+ Name: "ElectricFox_OS"
+},
+{
+ Id: 26215
+ AegisName: "Ein_1HWHIP"
+ Name: "Ein_1HWHIP"
+},
//== New Cards
@@ -152612,10 +154754,20 @@ item_db: (
Name: "Meuchler_OS"
},
{
+ Id: 28039
+ AegisName: "Shiver_Katar_K"
+ Name: "Shiver_Katar_K"
+},
+{
Id: 28040
AegisName: "Evt_Shiver_Katar_K"
Name: "Evt_Shiver_Katar_K"
},
+{
+ Id: 28045
+ AegisName: "Ein_BHKATAR"
+ Name: "Ein_BHKATAR"
+},
//== New Axes ==============================================
{
@@ -152768,6 +154920,11 @@ item_db: (
">
},
{
+ Id: 28130
+ AegisName: "Avenger"
+ Name: "Avenger"
+},
+{
Id: 28136
AegisName: "Blasti_OS"
Name: "Blasti_OS"
@@ -152777,6 +154934,11 @@ item_db: (
AegisName: "Evt_Avenger"
Name: "Evt_Avenger"
},
+{
+ Id: 28140
+ AegisName: "Ein_BHAXE"
+ Name: "Ein_BHAXE"
+},
//== New Grenade Launcher ==================================
{
@@ -152913,6 +155075,31 @@ item_db: (
AegisName: "HR_S55_OS"
Name: "HR_S55_OS"
},
+{
+ Id: 28254
+ AegisName: "Butcher_IL"
+ Name: "Butcher_IL"
+},
+{
+ Id: 28255
+ AegisName: "Master_Soul_Rifle"
+ Name: "Master_Soul_Rifle"
+},
+{
+ Id: 28256
+ AegisName: "Demon_S_Shot"
+ Name: "Demon_S_Shot"
+},
+{
+ Id: 28257
+ AegisName: "Golden_L_Launcher"
+ Name: "Golden_L_Launcher"
+},
+{
+ Id: 28258
+ AegisName: "The_Black_Gatling"
+ Name: "The_Black_Gatling"
+},
//== New Accessories =======================================
{
@@ -153552,10 +155739,20 @@ item_db: (
Name: "Circuit_Board_OS"
},
{
+ Id: 28630
+ AegisName: "Demon_Hunting_Bible_K"
+ Name: "Demon_Hunting_Bible_K"
+},
+{
Id: 28631
AegisName: "Time_Kamiji"
Name: "Time_Kamiji"
},
+{
+ Id: 28635
+ AegisName: "Ein_1HBOOK"
+ Name: "Ein_1HBOOK"
+},
//== New Daggers ===========================================
{
@@ -153715,6 +155912,11 @@ item_db: (
Name: "Rebeginer_SC_Dagger"
},
{
+ Id: 28744
+ AegisName: "Magic_Sword"
+ Name: "Magic_Sword"
+},
+{
Id: 28745
AegisName: "Counter_Dagger_IL"
Name: "Counter_Dagger_IL"
@@ -153729,6 +155931,31 @@ item_db: (
AegisName: "Evt_Magic_Sword"
Name: "Evt_Magic_Sword"
},
+{
+ Id: 28762
+ AegisName: "Bazerald_IL"
+ Name: "Bazerald_IL"
+},
+{
+ Id: 28763
+ AegisName: "Sharp_Wind_Sword"
+ Name: "Sharp_Wind_Sword"
+},
+{
+ Id: 28764
+ AegisName: "Fog_Dew_Sword"
+ Name: "Fog_Dew_Sword"
+},
+{
+ Id: 28771
+ AegisName: "Ein_1HDAGGER"
+ Name: "Ein_1HDAGGER"
+},
+{
+ Id: 28772
+ AegisName: "Ein_1HMAGGER"
+ Name: "Ein_1HMAGGER"
+},
//== New Shields ===========================================
{
@@ -154312,6 +156539,11 @@ item_db: (
Name: "Straight_Long_YL_"
},
{
+ Id: 31382
+ AegisName: "C_Cat_Ears_Punkish"
+ Name: "C_Cat_Ears_Punkish"
+},
+{
Id: 31387
AegisName: "Jjakk"
Name: "Jjakk"
@@ -154372,6 +156604,11 @@ item_db: (
Name: "C_Fluffy_Heart_Earmuffs"
},
{
+ Id: 31440
+ AegisName: "C_Snow_Bear_Food"
+ Name: "C_Snow_Bear_Food"
+},
+{
Id: 31452
AegisName: "White_Cat"
Name: "White_Cat"
@@ -154402,6 +156639,16 @@ item_db: (
Name: "Egg_Minihat"
},
{
+ Id: 31481
+ AegisName: "C_CatCoffeeCup_TW"
+ Name: "C_CatCoffeeCup_TW"
+},
+{
+ Id: 31483
+ AegisName: "C_CatEarRibbon_TW"
+ Name: "C_CatEarRibbon_TW"
+},
+{
Id: 31489
AegisName: "C_Bouquet_Hat"
Name: "C_Bouquet_Hat"
@@ -154427,6 +156674,11 @@ item_db: (
Name: "C_Elephangel_TH"
},
{
+ Id: 31512
+ AegisName: "C_Panda_Rabbit"
+ Name: "C_Panda_Rabbit"
+},
+{
Id: 31516
AegisName: "Mini_Melon"
Name: "Mini_Melon"
@@ -154447,21 +156699,111 @@ item_db: (
Name: "C_Happy_Rabbit_Ribbon"
},
{
+ Id: 31565
+ AegisName: "C_Princess_Ribbon_Crown"
+ Name: "C_Princess_Ribbon_Crown"
+},
+{
+ Id: 31569
+ AegisName: "C_OpenAir_Headset"
+ Name: "C_OpenAir_Headset"
+},
+{
+ Id: 31572
+ AegisName: "C_Mobile_Pursuit_System"
+ Name: "C_Mobile_Pursuit_System"
+},
+{
+ Id: 31573
+ AegisName: "C_Mecha_Cat_Ears"
+ Name: "C_Mecha_Cat_Ears"
+},
+{
+ Id: 31574
+ AegisName: "C_Cyber_Income"
+ Name: "C_Cyber_Income"
+},
+{
Id: 31580
AegisName: "Autumnal_Flavor"
Name: "Autumnal_Flavor"
},
{
+ Id: 31586
+ AegisName: "C_Poporing_Muffler"
+ Name: "C_Poporing_Muffler"
+},
+{
Id: 31589
AegisName: "GOLD_MAJESTIC_GOUT"
Name: "GOLD_MAJESTIC_GOUT"
},
{
+ Id: 31600
+ AegisName: "C_Kishu_Inu"
+ Name: "C_Kishu_Inu"
+},
+{
Id: 31606
AegisName: "C_Autumn_Headband"
Name: "C_Autumn_Headband"
},
{
+ Id: 31614
+ AegisName: "C_Fox"
+ Name: "C_Fox"
+},
+{
+ Id: 31616
+ AegisName: "C_Sleep_Sheep_TW"
+ Name: "C_Sleep_Sheep_TW"
+},
+{
+ Id: 31624
+ AegisName: "C_HeartOfCat_TW"
+ Name: "C_HeartOfCat_TW"
+},
+{
+ Id: 31625
+ AegisName: "C_Protect_Cloth"
+ Name: "C_Protect_Cloth"
+},
+{
+ Id: 31693
+ AegisName: "C_LunaticMuffler"
+ Name: "C_LunaticMuffler"
+},
+{
+ Id: 31698
+ AegisName: "C_Pigtail_Red_Hood"
+ Name: "C_Pigtail_Red_Hood"
+},
+{
+ Id: 31699
+ AegisName: "C_Smiling_Eyes"
+ Name: "C_Smiling_Eyes"
+},
+{
+ Id: 31765
+ AegisName: "C_Garnet_Tiara"
+ Name: "C_Garnet_Tiara"
+},
+{
+ Id: 31766
+ AegisName: "C_Peony_Hair_Ornament"
+ Name: "C_Peony_Hair_Ornament"
+},
+{
+ Id: 31787
+ AegisName: "C_SavageB_On_Shoulder"
+ Name: "C_SavageB_On_Shoulder"
+},
+{
+ Id: 31798
+ AegisName: "C_Baby_Panda"
+ Name: "C_Baby_Panda"
+},
+{
Id: 32005
AegisName: "Pole_Axe_IL"
Name: "Pole_Axe_IL"
@@ -154472,6 +156814,11 @@ item_db: (
Name: "Metal_Stick"
},
{
+ Id: 32018
+ AegisName: "Undine_Spear_K"
+ Name: "Undine_Spear_K"
+},
+{
Id: 32019
AegisName: "Boost_Lance_OS"
Name: "Boost_Lance_OS"
@@ -154482,6 +156829,16 @@ item_db: (
Name: "Evt_Undine_Spear_K"
},
{
+ Id: 32026
+ AegisName: "Ein_1HSPEAR"
+ Name: "Ein_1HSPEAR"
+},
+{
+ Id: 32110
+ AegisName: "Ein_1HLUTE"
+ Name: "Ein_1HLUTE"
+},
+{
Id: 32207
AegisName: "Illusion_B_R"
Name: "Illusion_B_R"
@@ -154511,4 +156868,1114 @@ item_db: (
AegisName: "Celine_Brooch"
Name: "Celine_Brooch"
},
+{
+ Id: 32301
+ AegisName: "Gold_Lux_IL"
+ Name: "Gold_Lux_IL"
+},
+{
+ Id: 32302
+ AegisName: "Crimson_Rose"
+ Name: "Crimson_Rose"
+},
+{
+ Id: 32303
+ AegisName: "Ein_1HGUN"
+ Name: "Ein_1HGUN"
+},
+{
+ Id: 32352
+ AegisName: "Ein_1HSWORD"
+ Name: "Ein_1HSWORD"
+},
+{
+ Id: 100000
+ AegisName: "IDTest_Special"
+ Name: "IDTest_Special"
+},
+{
+ Id: 100003
+ AegisName: "ILL_Piece_A"
+ Name: "ILL_Piece_A"
+},
+{
+ Id: 100004
+ AegisName: "ILL_Piece_B"
+ Name: "ILL_Piece_B"
+},
+{
+ Id: 100009
+ AegisName: "Joy_Of_Victory"
+ Name: "Joy_Of_Victory"
+},
+{
+ Id: 100010
+ AegisName: "PerfectSize_Mix"
+ Name: "PerfectSize_Mix"
+},
+{
+ Id: 100011
+ AegisName: "MagicPiercing_Mix"
+ Name: "MagicPiercing_Mix"
+},
+{
+ Id: 100023
+ AegisName: "Ancient_Hero_Bravery"
+ Name: "Ancient_Hero_Bravery"
+},
+{
+ Id: 100025
+ AegisName: "Ancient_Hero_Wisdom"
+ Name: "Ancient_Hero_Wisdom"
+},
+{
+ Id: 100043
+ AegisName: "Boost_Up_1"
+ Name: "Boost_Up_1"
+},
+{
+ Id: 100044
+ AegisName: "Boost_Up_2"
+ Name: "Boost_Up_2"
+},
+{
+ Id: 100053
+ AegisName: "Piercing_Mix"
+ Name: "Piercing_Mix"
+},
+{
+ Id: 100058
+ AegisName: "Hasty_Mix"
+ Name: "Hasty_Mix"
+},
+{
+ Id: 100060
+ AegisName: "EnchantStone_Recipe_4m"
+ Name: "EnchantStone_Recipe_4m"
+},
+{
+ Id: 100128
+ AegisName: "Noblesse_Rifine_Ticket"
+ Name: "Noblesse_Rifine_Ticket"
+},
+{
+ Id: 100129
+ AegisName: "Imperial_Rifine_Ticket"
+ Name: "Imperial_Rifine_Ticket"
+},
+{
+ Id: 100130
+ AegisName: "Grace_Rifine_Ticket"
+ Name: "Grace_Rifine_Ticket"
+},
+{
+ Id: 100131
+ AegisName: "Imperial_Convert1"
+ Name: "Imperial_Convert1"
+},
+{
+ Id: 100132
+ AegisName: "Imperial_Convert2"
+ Name: "Imperial_Convert2"
+},
+{
+ Id: 100133
+ AegisName: "Grace_Convert1"
+ Name: "Grace_Convert1"
+},
+{
+ Id: 100134
+ AegisName: "Grace_Convert2"
+ Name: "Grace_Convert2"
+},
+{
+ Id: 100135
+ AegisName: "Imperial_Convert3"
+ Name: "Imperial_Convert3"
+},
+{
+ Id: 100136
+ AegisName: "Imperial_Convert4"
+ Name: "Imperial_Convert4"
+},
+{
+ Id: 100137
+ AegisName: "Grace_Convert3"
+ Name: "Grace_Convert3"
+},
+{
+ Id: 100138
+ AegisName: "Grace_Convert4"
+ Name: "Grace_Convert4"
+},
+{
+ Id: 100142
+ AegisName: "Abyss_Ddbox2"
+ Name: "Abyss_Ddbox2"
+},
+{
+ Id: 100144
+ AegisName: "Abyss_Ddbox3"
+ Name: "Abyss_Ddbox3"
+},
+{
+ Id: 100145
+ AegisName: "Abyss_Ddbox4"
+ Name: "Abyss_Ddbox4"
+},
+{
+ Id: 400002
+ AegisName: "Victory_Wing_Ear_"
+ Name: "Victory_Wing_Ear_"
+},
+{
+ Id: 400020
+ AegisName: "C_BeachBall"
+ Name: "C_BeachBall"
+},
+{
+ Id: 440000
+ AegisName: "C_SharkHead"
+ Name: "C_SharkHead"
+},
+{
+ Id: 450001
+ AegisName: "Atker_Plate"
+ Name: "Atker_Plate"
+},
+{
+ Id: 450002
+ AegisName: "Ele_Robe"
+ Name: "Ele_Robe"
+},
+{
+ Id: 450003
+ AegisName: "Defn_Robe"
+ Name: "Defn_Robe"
+},
+{
+ Id: 450004
+ AegisName: "Ran_Suits"
+ Name: "Ran_Suits"
+},
+{
+ Id: 450018
+ AegisName: "Noblesse_Breath_Armor"
+ Name: "Noblesse_Breath_Armor"
+},
+{
+ Id: 450019
+ AegisName: "Noblesse_Knight_Armor"
+ Name: "Noblesse_Knight_Armor"
+},
+{
+ Id: 450020
+ AegisName: "Noblesse_Spear_Armor"
+ Name: "Noblesse_Spear_Armor"
+},
+{
+ Id: 450021
+ AegisName: "Noblesse_Genesis_Armor"
+ Name: "Noblesse_Genesis_Armor"
+},
+{
+ Id: 450022
+ AegisName: "Noblesse_Sharp_Suit"
+ Name: "Noblesse_Sharp_Suit"
+},
+{
+ Id: 450023
+ AegisName: "Noblesse_Aim_Suit"
+ Name: "Noblesse_Aim_Suit"
+},
+{
+ Id: 450024
+ AegisName: "Noblesse_Severe_Suit"
+ Name: "Noblesse_Severe_Suit"
+},
+{
+ Id: 450025
+ AegisName: "Noblesse_Reverb_Suit"
+ Name: "Noblesse_Reverb_Suit"
+},
+{
+ Id: 450026
+ AegisName: "Noblesse_Adora_Robe"
+ Name: "Noblesse_Adora_Robe"
+},
+{
+ Id: 450027
+ AegisName: "Noblesse_Duple_Robe"
+ Name: "Noblesse_Duple_Robe"
+},
+{
+ Id: 450028
+ AegisName: "Noblesse_Tonado_Armor"
+ Name: "Noblesse_Tonado_Armor"
+},
+{
+ Id: 450029
+ AegisName: "Noblesse_Vulcan_Armor"
+ Name: "Noblesse_Vulcan_Armor"
+},
+{
+ Id: 450030
+ AegisName: "Noblesse_Kart_Suit"
+ Name: "Noblesse_Kart_Suit"
+},
+{
+ Id: 450031
+ AegisName: "Noblesse_Kart_Suit2"
+ Name: "Noblesse_Kart_Suit2"
+},
+{
+ Id: 450032
+ AegisName: "Noblesse_Rolling_Suit"
+ Name: "Noblesse_Rolling_Suit"
+},
+{
+ Id: 450033
+ AegisName: "Noblesse_Assasin_Suit"
+ Name: "Noblesse_Assasin_Suit"
+},
+{
+ Id: 450034
+ AegisName: "Noblesse_Fatal_Suit"
+ Name: "Noblesse_Fatal_Suit"
+},
+{
+ Id: 450035
+ AegisName: "Noblesse_Stalker_Suit"
+ Name: "Noblesse_Stalker_Suit"
+},
+{
+ Id: 450036
+ AegisName: "Noblesse_Picky_Robe"
+ Name: "Noblesse_Picky_Robe"
+},
+{
+ Id: 450037
+ AegisName: "Noblesse_Carrot_Robe"
+ Name: "Noblesse_Carrot_Robe"
+},
+{
+ Id: 450038
+ AegisName: "Noblesse_Trip_Suit"
+ Name: "Noblesse_Trip_Suit"
+},
+{
+ Id: 450039
+ AegisName: "Noblesse_Firerain_Suit"
+ Name: "Noblesse_Firerain_Suit"
+},
+{
+ Id: 450040
+ AegisName: "Noblesse_Crimson_Robe"
+ Name: "Noblesse_Crimson_Robe"
+},
+{
+ Id: 450041
+ AegisName: "Noblesse_Frost_Robe"
+ Name: "Noblesse_Frost_Robe"
+},
+{
+ Id: 450042
+ AegisName: "Noblesse_Psychic_Robe"
+ Name: "Noblesse_Psychic_Robe"
+},
+{
+ Id: 450043
+ AegisName: "Noblesse_Dust_Robe"
+ Name: "Noblesse_Dust_Robe"
+},
+{
+ Id: 450044
+ AegisName: "Noblesse_Sun_Suit"
+ Name: "Noblesse_Sun_Suit"
+},
+{
+ Id: 450045
+ AegisName: "Noblesse_Moon_Suit"
+ Name: "Noblesse_Moon_Suit"
+},
+{
+ Id: 450046
+ AegisName: "Noblesse_Ninja_Suit"
+ Name: "Noblesse_Ninja_Suit"
+},
+{
+ Id: 450047
+ AegisName: "Noblesse_Kunai_Suit"
+ Name: "Noblesse_Kunai_Suit"
+},
+{
+ Id: 450048
+ AegisName: "Noblesse_Swhoo_Robe"
+ Name: "Noblesse_Swhoo_Robe"
+},
+{
+ Id: 450049
+ AegisName: "Noblesse_Explosion_Robe"
+ Name: "Noblesse_Explosion_Robe"
+},
+{
+ Id: 450050
+ AegisName: "Noblesse_Knuckle_Suit"
+ Name: "Noblesse_Knuckle_Suit"
+},
+{
+ Id: 450051
+ AegisName: "Noblesse_Tiger_Suit"
+ Name: "Noblesse_Tiger_Suit"
+},
+{
+ Id: 450052
+ AegisName: "Imperial_Breath_Armor"
+ Name: "Imperial_Breath_Armor"
+},
+{
+ Id: 450053
+ AegisName: "Imperial_Knight_Armor"
+ Name: "Imperial_Knight_Armor"
+},
+{
+ Id: 450054
+ AegisName: "Imperial_Spear_Armor"
+ Name: "Imperial_Spear_Armor"
+},
+{
+ Id: 450055
+ AegisName: "Imperial_Genesis_Armor"
+ Name: "Imperial_Genesis_Armor"
+},
+{
+ Id: 450056
+ AegisName: "Imperial_Sharp_Suit"
+ Name: "Imperial_Sharp_Suit"
+},
+{
+ Id: 450057
+ AegisName: "Imperial_Aim_Suit"
+ Name: "Imperial_Aim_Suit"
+},
+{
+ Id: 450058
+ AegisName: "Imperial_Severe_Suit"
+ Name: "Imperial_Severe_Suit"
+},
+{
+ Id: 450059
+ AegisName: "Imperial_Reverb_Suit"
+ Name: "Imperial_Reverb_Suit"
+},
+{
+ Id: 450060
+ AegisName: "Imperial_Adora_Robe"
+ Name: "Imperial_Adora_Robe"
+},
+{
+ Id: 450061
+ AegisName: "Imperial_Duple_Robe"
+ Name: "Imperial_Duple_Robe"
+},
+{
+ Id: 450062
+ AegisName: "Imperial_Knuckle_Suit"
+ Name: "Imperial_Knuckle_Suit"
+},
+{
+ Id: 450063
+ AegisName: "Imperial_Tiger_Suit"
+ Name: "Imperial_Tiger_Suit"
+},
+{
+ Id: 450064
+ AegisName: "Imperial_Tonado_Armor"
+ Name: "Imperial_Tonado_Armor"
+},
+{
+ Id: 450065
+ AegisName: "Imperial_Vulcan_Armor"
+ Name: "Imperial_Vulcan_Armor"
+},
+{
+ Id: 450066
+ AegisName: "Imperial_Kart_Suit"
+ Name: "Imperial_Kart_Suit"
+},
+{
+ Id: 450067
+ AegisName: "Imperial_Kart_Suit2"
+ Name: "Imperial_Kart_Suit2"
+},
+{
+ Id: 450068
+ AegisName: "Imperial_Rolling_Suit"
+ Name: "Imperial_Rolling_Suit"
+},
+{
+ Id: 450069
+ AegisName: "Imperial_Assasin_Suit"
+ Name: "Imperial_Assasin_Suit"
+},
+{
+ Id: 450070
+ AegisName: "Imperial_Fatal_Suit"
+ Name: "Imperial_Fatal_Suit"
+},
+{
+ Id: 450071
+ AegisName: "Imperial_Stalker_Suit"
+ Name: "Imperial_Stalker_Suit"
+},
+{
+ Id: 450072
+ AegisName: "Imperial_Picky_Robe"
+ Name: "Imperial_Picky_Robe"
+},
+{
+ Id: 450073
+ AegisName: "Imperial_Carrot_Robe"
+ Name: "Imperial_Carrot_Robe"
+},
+{
+ Id: 450074
+ AegisName: "Imperial_Trip_Suit"
+ Name: "Imperial_Trip_Suit"
+},
+{
+ Id: 450075
+ AegisName: "Imperial_Firerain_Suit"
+ Name: "Imperial_Firerain_Suit"
+},
+{
+ Id: 450076
+ AegisName: "Imperial_Crimson_Robe"
+ Name: "Imperial_Crimson_Robe"
+},
+{
+ Id: 450077
+ AegisName: "Imperial_Frost_Robe"
+ Name: "Imperial_Frost_Robe"
+},
+{
+ Id: 450078
+ AegisName: "Imperial_Psychic_Robe"
+ Name: "Imperial_Psychic_Robe"
+},
+{
+ Id: 450079
+ AegisName: "Imperial_Dust_Robe"
+ Name: "Imperial_Dust_Robe"
+},
+{
+ Id: 450080
+ AegisName: "Imperial_Sun_Suit"
+ Name: "Imperial_Sun_Suit"
+},
+{
+ Id: 450081
+ AegisName: "Imperial_Moon_Suit"
+ Name: "Imperial_Moon_Suit"
+},
+{
+ Id: 450082
+ AegisName: "Imperial_Ninja_Suit"
+ Name: "Imperial_Ninja_Suit"
+},
+{
+ Id: 450083
+ AegisName: "Imperial_Kunai_Suit"
+ Name: "Imperial_Kunai_Suit"
+},
+{
+ Id: 450084
+ AegisName: "Imperial_Swhoo_Robe"
+ Name: "Imperial_Swhoo_Robe"
+},
+{
+ Id: 450085
+ AegisName: "Imperial_Explosion_Robe"
+ Name: "Imperial_Explosion_Robe"
+},
+{
+ Id: 450086
+ AegisName: "Grace_Breath_Armor"
+ Name: "Grace_Breath_Armor"
+},
+{
+ Id: 450087
+ AegisName: "Grace_Knight_Armor"
+ Name: "Grace_Knight_Armor"
+},
+{
+ Id: 450088
+ AegisName: "Grace_Spear_Armor"
+ Name: "Grace_Spear_Armor"
+},
+{
+ Id: 450089
+ AegisName: "Grace_Genesis_Armor"
+ Name: "Grace_Genesis_Armor"
+},
+{
+ Id: 450090
+ AegisName: "Grace_Sharp_Suit"
+ Name: "Grace_Sharp_Suit"
+},
+{
+ Id: 450091
+ AegisName: "Grace_Aim_Suit"
+ Name: "Grace_Aim_Suit"
+},
+{
+ Id: 450092
+ AegisName: "Grace_Severe_Suit"
+ Name: "Grace_Severe_Suit"
+},
+{
+ Id: 450093
+ AegisName: "Grace_Reverb_Suit"
+ Name: "Grace_Reverb_Suit"
+},
+{
+ Id: 450094
+ AegisName: "Grace_Adora_Robe"
+ Name: "Grace_Adora_Robe"
+},
+{
+ Id: 450095
+ AegisName: "Grace_Duple_Robe"
+ Name: "Grace_Duple_Robe"
+},
+{
+ Id: 450096
+ AegisName: "Grace_Knuckle_Suit"
+ Name: "Grace_Knuckle_Suit"
+},
+{
+ Id: 450097
+ AegisName: "Grace_Tiger_Suit"
+ Name: "Grace_Tiger_Suit"
+},
+{
+ Id: 450098
+ AegisName: "Grace_Tonado_Armor"
+ Name: "Grace_Tonado_Armor"
+},
+{
+ Id: 450099
+ AegisName: "Grace_Vulcan_Armor"
+ Name: "Grace_Vulcan_Armor"
+},
+{
+ Id: 450100
+ AegisName: "Grace_Kart_Suit"
+ Name: "Grace_Kart_Suit"
+},
+{
+ Id: 450101
+ AegisName: "Grace_Kart_Suit2"
+ Name: "Grace_Kart_Suit2"
+},
+{
+ Id: 450102
+ AegisName: "Grace_Rolling_Suit"
+ Name: "Grace_Rolling_Suit"
+},
+{
+ Id: 450103
+ AegisName: "Grace_Assasin_Suit"
+ Name: "Grace_Assasin_Suit"
+},
+{
+ Id: 450104
+ AegisName: "Grace_Fatal_Suit"
+ Name: "Grace_Fatal_Suit"
+},
+{
+ Id: 450105
+ AegisName: "Grace_Stalker_Suit"
+ Name: "Grace_Stalker_Suit"
+},
+{
+ Id: 450106
+ AegisName: "Grace_Picky_Robe"
+ Name: "Grace_Picky_Robe"
+},
+{
+ Id: 450107
+ AegisName: "Grace_Carrot_Robe"
+ Name: "Grace_Carrot_Robe"
+},
+{
+ Id: 450108
+ AegisName: "Grace_Trip_Suit"
+ Name: "Grace_Trip_Suit"
+},
+{
+ Id: 450109
+ AegisName: "Grace_Firerain_Suit"
+ Name: "Grace_Firerain_Suit"
+},
+{
+ Id: 450110
+ AegisName: "Grace_Crimson_Robe"
+ Name: "Grace_Crimson_Robe"
+},
+{
+ Id: 450111
+ AegisName: "Grace_Frost_Robe"
+ Name: "Grace_Frost_Robe"
+},
+{
+ Id: 450112
+ AegisName: "Grace_Psychic_Robe"
+ Name: "Grace_Psychic_Robe"
+},
+{
+ Id: 450113
+ AegisName: "Grace_Dust_Robe"
+ Name: "Grace_Dust_Robe"
+},
+{
+ Id: 450114
+ AegisName: "Grace_Sun_Suit"
+ Name: "Grace_Sun_Suit"
+},
+{
+ Id: 450115
+ AegisName: "Grace_Moon_Suit"
+ Name: "Grace_Moon_Suit"
+},
+{
+ Id: 450116
+ AegisName: "Grace_Ninja_Suit"
+ Name: "Grace_Ninja_Suit"
+},
+{
+ Id: 450117
+ AegisName: "Grace_Kunai_Suit"
+ Name: "Grace_Kunai_Suit"
+},
+{
+ Id: 450118
+ AegisName: "Grace_Swhoo_Robe"
+ Name: "Grace_Swhoo_Robe"
+},
+{
+ Id: 450119
+ AegisName: "Grace_Explosion_Robe"
+ Name: "Grace_Explosion_Robe"
+},
+{
+ Id: 450121
+ AegisName: "Noblesse_Snovice_Suit"
+ Name: "Noblesse_Snovice_Suit"
+},
+{
+ Id: 450122
+ AegisName: "Noblesse_Snovice_Robe"
+ Name: "Noblesse_Snovice_Robe"
+},
+{
+ Id: 450123
+ AegisName: "Imperial_Snovice_Suit"
+ Name: "Imperial_Snovice_Suit"
+},
+{
+ Id: 450124
+ AegisName: "Imperial_Snovice_Robe"
+ Name: "Imperial_Snovice_Robe"
+},
+{
+ Id: 450125
+ AegisName: "Grace_Snovice_Suit"
+ Name: "Grace_Snovice_Suit"
+},
+{
+ Id: 450126
+ AegisName: "Grace_Snovice_Robe"
+ Name: "Grace_Snovice_Robe"
+},
+{
+ Id: 470000
+ AegisName: "Atker_Greave"
+ Name: "Atker_Greave"
+},
+{
+ Id: 470001
+ AegisName: "Ele_Shoes"
+ Name: "Ele_Shoes"
+},
+{
+ Id: 470002
+ AegisName: "Defn_Shoes"
+ Name: "Defn_Shoes"
+},
+{
+ Id: 470003
+ AegisName: "Ran_Boots"
+ Name: "Ran_Boots"
+},
+{
+ Id: 470016
+ AegisName: "Noblesse_Attack_Boots"
+ Name: "Noblesse_Attack_Boots"
+},
+{
+ Id: 470017
+ AegisName: "Noblesse_Magic_Boots"
+ Name: "Noblesse_Magic_Boots"
+},
+{
+ Id: 470018
+ AegisName: "Imperial_Attack_Boots"
+ Name: "Imperial_Attack_Boots"
+},
+{
+ Id: 470019
+ AegisName: "Imperial_Magic_Boots"
+ Name: "Imperial_Magic_Boots"
+},
+{
+ Id: 470020
+ AegisName: "Grace_Attack_Boots"
+ Name: "Grace_Attack_Boots"
+},
+{
+ Id: 470021
+ AegisName: "Grace_Magic_Boots"
+ Name: "Grace_Magic_Boots"
+},
+{
+ Id: 480000
+ AegisName: "Atker_Manteau"
+ Name: "Atker_Manteau"
+},
+{
+ Id: 480001
+ AegisName: "Ele_Muffler"
+ Name: "Ele_Muffler"
+},
+{
+ Id: 480002
+ AegisName: "Defn_Muffler"
+ Name: "Defn_Muffler"
+},
+{
+ Id: 480003
+ AegisName: "Ran_Manteau"
+ Name: "Ran_Manteau"
+},
+{
+ Id: 480012
+ AegisName: "Noblesse_Attack_Manteau"
+ Name: "Noblesse_Attack_Manteau"
+},
+{
+ Id: 480014
+ AegisName: "Noblesse_Magic_Manteau"
+ Name: "Noblesse_Magic_Manteau"
+},
+{
+ Id: 480016
+ AegisName: "Imperial_Attack_Manteau"
+ Name: "Imperial_Attack_Manteau"
+},
+{
+ Id: 480017
+ AegisName: "Imperial_Magic_Manteau"
+ Name: "Imperial_Magic_Manteau"
+},
+{
+ Id: 480018
+ AegisName: "Grace_Attack_Manteau"
+ Name: "Grace_Attack_Manteau"
+},
+{
+ Id: 480019
+ AegisName: "Grace_Magic_Manteau"
+ Name: "Grace_Magic_Manteau"
+},
+{
+ Id: 500001
+ AegisName: "Boost_Sword"
+ Name: "Boost_Sword"
+},
+{
+ Id: 500003
+ AegisName: "Light_Blade"
+ Name: "Light_Blade"
+},
+{
+ Id: 500004
+ AegisName: "Slate_Sword"
+ Name: "Slate_Sword"
+},
+{
+ Id: 510001
+ AegisName: "Boost_Dagger"
+ Name: "Boost_Dagger"
+},
+{
+ Id: 510002
+ AegisName: "Boost_Nindo"
+ Name: "Boost_Nindo"
+},
+{
+ Id: 510006
+ AegisName: "Fatalist"
+ Name: "Fatalist"
+},
+{
+ Id: 520000
+ AegisName: "Boost_Axe"
+ Name: "Boost_Axe"
+},
+{
+ Id: 530000
+ AegisName: "Boost_Spear"
+ Name: "Boost_Spear"
+},
+{
+ Id: 540000
+ AegisName: "Boost_Spl_Book"
+ Name: "Boost_Spl_Book"
+},
+{
+ Id: 540001
+ AegisName: "Boost_Text"
+ Name: "Boost_Text"
+},
+{
+ Id: 550001
+ AegisName: "Boost_Soul_Rod"
+ Name: "Boost_Soul_Rod"
+},
+{
+ Id: 550002
+ AegisName: "Boost_Foxtail"
+ Name: "Boost_Foxtail"
+},
+{
+ Id: 550006
+ AegisName: "Ein_1H_Foxtail"
+ Name: "Ein_1H_Foxtail"
+},
+{
+ Id: 550007
+ AegisName: "Freezing_Rod"
+ Name: "Freezing_Rod"
+},
+{
+ Id: 560000
+ AegisName: "Boost_Knuckle"
+ Name: "Boost_Knuckle"
+},
+{
+ Id: 560005
+ AegisName: "Ray_Knuckle"
+ Name: "Ray_Knuckle"
+},
+{
+ Id: 570000
+ AegisName: "Boost_Guitar"
+ Name: "Boost_Guitar"
+},
+{
+ Id: 570002
+ AegisName: "Trumpet_Shell_K"
+ Name: "Trumpet_Shell_K"
+},
+{
+ Id: 580000
+ AegisName: "Boost_Whip"
+ Name: "Boost_Whip"
+},
+{
+ Id: 580002
+ AegisName: "Barb_Wire_K"
+ Name: "Barb_Wire_K"
+},
+{
+ Id: 590000
+ AegisName: "Boost_Hall"
+ Name: "Boost_Hall"
+},
+{
+ Id: 590002
+ AegisName: "Meteor_Striker"
+ Name: "Meteor_Striker"
+},
+{
+ Id: 590003
+ AegisName: "Saint_Hall"
+ Name: "Saint_Hall"
+},
+{
+ Id: 600001
+ AegisName: "Boost_TH_Sword"
+ Name: "Boost_TH_Sword"
+},
+{
+ Id: 600004
+ AegisName: "Dragonic_Slayer"
+ Name: "Dragonic_Slayer"
+},
+{
+ Id: 610000
+ AegisName: "Boost_Katar"
+ Name: "Boost_Katar"
+},
+{
+ Id: 610003
+ AegisName: "Blade_Katar"
+ Name: "Blade_Katar"
+},
+{
+ Id: 640000
+ AegisName: "Boost_Staff"
+ Name: "Boost_Staff"
+},
+{
+ Id: 640004
+ AegisName: "Blue_Crystal_Staff"
+ Name: "Blue_Crystal_Staff"
+},
+{
+ Id: 700001
+ AegisName: "Boost_Bow"
+ Name: "Boost_Bow"
+},
+{
+ Id: 700003
+ AegisName: "Scalet_Dragon_L_Bow"
+ Name: "Scalet_Dragon_L_Bow"
+},
+{
+ Id: 830000
+ AegisName: "Boost_Gatling"
+ Name: "Boost_Gatling"
+},
+{
+ Id: 1000008
+ AegisName: "RangerStone_Top2"
+ Name: "RangerStone_Top2"
+},
+{
+ Id: 1000009
+ AegisName: "RangerStone_Middle2"
+ Name: "RangerStone_Middle2"
+},
+{
+ Id: 1000010
+ AegisName: "RangerStone_Bottom2"
+ Name: "RangerStone_Bottom2"
+},
+{
+ Id: 1000011
+ AegisName: "RangerStone_Robe2"
+ Name: "RangerStone_Robe2"
+},
+{
+ Id: 1000012
+ AegisName: "MechanicStone_Top2"
+ Name: "MechanicStone_Top2"
+},
+{
+ Id: 1000013
+ AegisName: "MechanicStone_Middle2"
+ Name: "MechanicStone_Middle2"
+},
+{
+ Id: 1000014
+ AegisName: "MechanicStone_Bottom2"
+ Name: "MechanicStone_Bottom2"
+},
+{
+ Id: 1000015
+ AegisName: "MechanicStone_Robe2"
+ Name: "MechanicStone_Robe2"
+},
+{
+ Id: 1000016
+ AegisName: "HighpriestStone_Top2"
+ Name: "HighpriestStone_Top2"
+},
+{
+ Id: 1000017
+ AegisName: "HighpriestStone_Middle2"
+ Name: "HighpriestStone_Middle2"
+},
+{
+ Id: 1000018
+ AegisName: "HighpriestStone_Bottom2"
+ Name: "HighpriestStone_Bottom2"
+},
+{
+ Id: 1000019
+ AegisName: "ArchbishopStone_Robe2"
+ Name: "ArchbishopStone_Robe2"
+},
+{
+ Id: 1000213
+ AegisName: "WarlockStone_Robe2"
+ Name: "WarlockStone_Robe2"
+},
+{
+ Id: 1000214
+ AegisName: "WarlockStone_Top2"
+ Name: "WarlockStone_Top2"
+},
+{
+ Id: 1000215
+ AegisName: "WarlockStone_Middle2"
+ Name: "WarlockStone_Middle2"
+},
+{
+ Id: 1000216
+ AegisName: "WarlockStone_Bottom2"
+ Name: "WarlockStone_Bottom2"
+},
+{
+ Id: 1000217
+ AegisName: "RoyalguardStone_Robe2"
+ Name: "RoyalguardStone_Robe2"
+},
+{
+ Id: 1000218
+ AegisName: "PaladinStone_Top2"
+ Name: "PaladinStone_Top2"
+},
+{
+ Id: 1000219
+ AegisName: "PaladinStone_Middle2"
+ Name: "PaladinStone_Middle2"
+},
+{
+ Id: 1000220
+ AegisName: "PaladinStone_Bottom2"
+ Name: "PaladinStone_Bottom2"
+},
+{
+ Id: 1000221
+ AegisName: "GuillcrossStone_Robe2"
+ Name: "GuillcrossStone_Robe2"
+},
+{
+ Id: 1000222
+ AegisName: "AssacrossStone_Top2"
+ Name: "AssacrossStone_Top2"
+},
+{
+ Id: 1000223
+ AegisName: "AssacrossStone_Middle2"
+ Name: "AssacrossStone_Middle2"
+},
+{
+ Id: 1000224
+ AegisName: "AssacrossStone_Bottom2"
+ Name: "AssacrossStone_Bottom2"
+},
)
diff --git a/db/re/item_group.conf b/db/re/item_group.conf
index 7646059af..21397a11a 100644
--- a/db/re/item_group.conf
+++ b/db/re/item_group.conf
@@ -9,7 +9,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-2020 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/db/re/item_lapineddukddak.conf b/db/re/item_lapineddukddak.conf
new file mode 100644
index 000000000..ef6991882
--- /dev/null
+++ b/db/re/item_lapineddukddak.conf
@@ -0,0 +1,2318 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2018-2020 Hercules Dev Team
+//= Copyright (C) 2018-2019 Asheraf
+//=
+//= 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/>.
+//=========================================================================
+
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+<Box_Item_Const>: {
+ NeedCount: (int, defaults to 0) The required amount of unique items
+ NeedRefineMin: (int, defaults to 0) The minimum refine for each of the items
+ NeedRefineMax: (int, defaults to 0) The maximum refine for each of the items
+ SourceItems: { A list of allowed items to be converted with specific amount for each item
+ <Item_Const>: <amount> (string, int)
+ ...
+ }
+ Script: <"
+ Script (it can be multi-line)
+ Executes on success
+ ">
+}
+**************************************************************************/
+/*
+22529: {
+ NeedCount: 3
+ SourceItems: {
+ S_CriticalHit_Armor: 1
+ S_Physical_Earring: 1
+ S_Physical_Weapon: 1
+ S_Physical_Pendant: 1
+ S_Magical_Earring: 1
+ S_Magical_Weapon: 1
+ S_Magical_Pendant: 1
+ S_Breezy_Armor: 1
+ S_Champion_Shoes: 1
+ S_Athena_Shield: 1
+ S_Immune_Armor: 1
+ S_Hard_Armor: 1
+ S_Ancient_Armor: 1
+ S_Critical_Armor: 1
+ S_Kingbird_Weapon: 1
+ S_Cri_Hit_Weapon: 1
+ S_Healing_Weapon: 1
+ S_Lucky_Weapon: 1
+ S_Power_Earring: 1
+ S_Int_Pendant: 1
+ S_Dexterous_Armor: 1
+ S_Vital_Shoes: 1
+ S_Athletic_Shield: 1
+ S_Lucky_Armor: 1
+ S_Power_Pendant: 1
+ S_Int_Earring: 1
+ S_Dexterous_Weapon: 1
+ S_Vital_Shield: 1
+ S_Athletic_Shoes: 1
+ S_Resist_Spell_Pendant: 1
+ S_Rapid_Pendant: 1
+ S_Caster_Pendant: 1
+ S_Hard_Earring: 1
+ S_Wise_Earring: 1
+ S_Athena_Earring: 1
+ S_Cranial_Shield: 1
+ S_Safeguard_Shield: 1
+ S_Brutal_Shield: 1
+ S_Gargantua_Shield: 1
+ S_Homers_Shield: 1
+ S_Dragoon_Shield: 1
+ S_Satanic_Shield: 1
+ S_Flameguard_Shield: 1
+ S_Requiem_Shield: 1
+ S_Cadi_Shield: 1
+ S_Bloody_Shoes: 1
+ S_Liberation_Shoes: 1
+ S_Chemical_Shoes: 1
+ S_Clamorous_Shoes: 1
+ S_Insecticide_Shoes: 1
+ S_Fisher_Shoes: 1
+ S_Seraphim_Shoes: 1
+ S_Beholder_Shoes: 1
+ S_Divine_Shoes: 1
+ S_Dragoon_Shoes: 1
+ S_Big_Armor: 1
+ S_Medium_Armor: 1
+ S_Small_Armor: 1
+ S_Big_Weapon: 1
+ S_Medium_Weapon: 1
+ S_Small_Weapon: 1
+ S_Spiritual_Weapon: 1
+ S_Spiritual_Earring: 1
+ S_Spiritual_Pendent: 1
+ S_Malicious_Armor: 1
+ S_Malicious_Shoes: 1
+ S_Malicious_Shield: 1
+ S_Gemstone_Armor: 1
+ S_Gemstone_Shoes: 1
+ S_Gemstone_Shield: 1
+ S_Gemstone_Weapon: 1
+ S_Gemstone_Earring: 1
+ S_Gemstone_Pendent: 1
+ S_Stability_Shield: 1
+ S_Plasterers_Armor: 1
+ S_Plasterers_Shoes: 1
+ S_Insomniac_Armor: 1
+ S_Insomniac_Shoes: 1
+ S_Peerless_Armor: 1
+ S_Peerless_Shoes: 1
+ S_Adurate_Armor: 1
+ S_Adurate_Shoes: 1
+ Unfreez_Weapon_S: 1
+ Unfreeze_Earing_S: 1
+ Unfreeze_Pendent_S: 1
+ Vitality_Earing_S: 1
+ Vitality_Pendant_S: 1
+ S_Neutral_Weapon: 1
+ S_Neutral_Earring: 1
+ S_Neutral_Pendent: 1
+ S_Curse_Lift_Earring: 1
+ S_Curse_Lift_Pendent: 1
+ S_Caster_earring: 1
+ S_Caster_Weapon: 1
+ S_Spell_Flow_Shoes: 1
+ S_Spell_Flow_Armor: 1
+ S_Spell_Flow_Shield: 1
+ S_Greed_Armor: 1
+ S_Greed_Shoes: 1
+ S_Greed_Shield: 1
+ S_Greed_Weapon: 1
+ S_Greed_Earring: 1
+ S_Greed_Pendant: 1
+ S_Heal_Armor: 1
+ S_Heal_Shoes: 1
+ S_Heal_Shield: 1
+ S_Heal_Weapon: 1
+ S_Heal_Earring: 1
+ S_Heal_Pendant: 1
+ S_Hiding_Armor: 1
+ S_Hiding_Shoes: 1
+ S_Hiding_Shield: 1
+ S_Hiding_Weapon: 1
+ S_Hiding_Earring: 1
+ S_Hiding_Pendant: 1
+ S_Cloaking_Armor: 1
+ S_Cloaking_Shoes: 1
+ S_Cloaking_Shield: 1
+ S_Cloaking_Weapon: 1
+ S_Cloaking_Earring: 1
+ S_Cloaking_Pendant: 1
+ S_Teleport_Armor: 1
+ S_Teleport_Shoes: 1
+ S_Teleport_Shield: 1
+ S_Teleport_Weapon: 1
+ S_Teleport_Earring: 1
+ S_Teleport_Pendant: 1
+ S_Steal_Armor: 1
+ S_Steal_Shoes: 1
+ S_Steal_Shield: 1
+ S_Steal_Weapon: 1
+ S_Steal_Earring: 1
+ S_Steal_Pendant: 1
+ S_Infinity_Earring: 1
+ S_Infinity_Pendant: 1
+ S_Solid_Weapon: 1
+ S_Solid_Earring: 1
+ S_Immortal_Armor: 1
+ S_Immortal_Pendant: 1
+ S_Executioner_Weapon: 1
+ S_Exorcist_Weapon: 1
+ S_Hunting_Weapon: 1
+ S_Insect_Net_Weapon: 1
+ S_Fishing_Weapon: 1
+ S_Dragon_Killer_Weapon: 1
+ S_Corrupt_Weapon: 1
+ S_Vibration_Weapon: 1
+ S_Holy_Water_Weapon: 1
+ S_Scissors_Weapon: 1
+ S_Penetration_Earring: 1
+ S_Penetration_Pendent: 1
+ S_Tempest_Earring: 1
+ S_Tempest_Pendent: 1
+ S_M_Executioner_Weapon: 1
+ S_M_Exorcist_Weapon: 1
+ S_M_Hunting_Weapon: 1
+ S_M_Insect_Net_Weapon: 1
+ S_M_Fishing_Weapon: 1
+ S_M_Dragon_K_Weapon: 1
+ S_M_Corrupt_Weapon: 1
+ S_M_Vibration_Weapon: 1
+ S_M_Holy_Water_Weapon: 1
+ S_M_Scissors_Weapon: 1
+ S_Bearers_Armor: 1
+ S_Bearers_Shoes: 1
+ S_Bearers_Shield: 1
+ S_Bearers_Weapon: 1
+ S_Bearers_Earring: 1
+ S_Bearers_Pendent: 1
+ S_Basis_Armor: 1
+ S_Hallowed_Armor: 1
+ S_Saharic_Armor: 1
+ S_Underneath_Armor: 1
+ S_Flam_Armor: 1
+ S_Windy_Armor: 1
+ S_Envenom_Armor: 1
+ S_Damned_Armor: 1
+ S_Geist_Armor: 1
+ S_Divine_Armor: 1
+ S_Hasty_Shoes: 1
+ S_Hasty_Armor: 1
+ S_Basis_Shield: 1
+ S_Hallowed_Shield: 1
+ S_Saharic_Shield: 1
+ S_Underneath_Shield: 1
+ S_Flam_Shield: 1
+ S_Windy_Shield: 1
+ S_Envenom_Shield: 1
+ S_Damned_Shield: 1
+ S_Geist_Shield: 1
+ S_Divine_Shield: 1
+ S_Expert_Shoes: 1
+ S_Expert_Shield: 1
+ S_Beginner_Shoes: 1
+ S_Beginner_Shield: 1
+ S_Rookie_Shoes: 1
+ S_Rookie_Shield: 1
+ S_Advanced_Shoes: 1
+ S_Advanced_Shield: 1
+ S_Attack_Armor: 1
+ S_Blitz_Earring: 1
+ S_Blitz_Pendent: 1
+ S_ColdBolt_Armor: 1
+ S_FireBolt_Armor: 1
+ S_LightingBolt_Armor: 1
+ S_EarthSpike_Armor: 1
+ S_Enhance_Force_Weapon: 1
+ S_Force_Weapon: 1
+ S_Force_Earring: 1
+ S_Force_Pendant: 1
+ S_Enhance_Spirit_Weapon: 1
+ S_Spirit_Weapon: 1
+ S_Spirit_Earring: 1
+ S_Spirit_Pendant: 1
+ S_Blitz_Shoes: 1
+ S_Blitz_Shield: 1
+ S_Exceed_Weapon: 1
+ S_Titan_Earring: 1
+ S_Titan_Pendant: 1
+ S_Boned_Earring: 1
+ S_Boned_Pendant: 1
+ S_Gigantic_Earring: 1
+ S_Gigantic_Pendant: 1
+ S_Caster_Shoes: 1
+ S_Caster_Shield: 1
+ S_Caster_Armor: 1
+ S_Reload_Shoes: 1
+ S_Reload_Shield: 1
+ S_Reload_Armor: 1
+ // 24246: 1
+ // 24247: 1
+ // 24248: 1
+ // 24249: 1
+ // 24250: 1
+ // 24251: 1
+ // 24252: 1
+ // 24253: 1
+ // 24254: 1
+ // 24255: 1
+ // 24256: 1
+ // 24257: 1
+ // 24258: 1
+ // 24259: 1
+ // 24260: 1
+ // 24261: 1
+ // 24262: 1
+ // 24263: 1
+ // 24264: 1
+ // 24265: 1
+ // 24266: 1
+ // 24267: 1
+ // 24268: 1
+ // 24269: 1
+ // 24270: 1
+ // 24271: 1
+ // 24272: 1
+ // 24273: 1
+ // 24274: 1
+ // 24275: 1
+ // 24276: 1
+ // 24277: 1
+ // 24278: 1
+ // 24279: 1
+ // 24280: 1
+ // 24281: 1
+ // 24282: 1
+ // 24283: 1
+ // 24284: 1
+ // 24285: 1
+ // 24286: 1
+ // 24287: 1
+ // 24288: 1
+ // 24289: 1
+ // 24290: 1
+ // 24291: 1
+ // 24292: 1
+ // 24293: 1
+ // 24294: 1
+ // 24295: 1
+ // 24296: 1
+ // 24297: 1
+ // 24298: 1
+ // 24299: 1
+ // 24300: 1
+ // 24301: 1
+ // 24302: 1
+ // 24303: 1
+ // 24304: 1
+ // 24305: 1
+ // 24306: 1
+ // 24307: 1
+ // 24308: 1
+ // 24309: 1
+ // 24310: 1
+ // 24311: 1
+ // 24312: 1
+ // 24313: 1
+ // 24314: 1
+ // 24315: 1
+ // 24316: 1
+ // 24317: 1
+ // 24318: 1
+ // 24319: 1
+ // 24320: 1
+ // 24321: 1
+ // 24322: 1
+ // 24323: 1
+ // 24324: 1
+ // 24325: 1
+ // 24326: 1
+ // 24327: 1
+ // 24328: 1
+ // 24329: 1
+ // 24330: 1
+ // 24331: 1
+ // 24332: 1
+ // 24333: 1
+ // 24334: 1
+ // 24335: 1
+ // 24336: 1
+ // 24337: 1
+ // 24338: 1
+ // 24339: 1
+ // 24340: 1
+ // 24345: 1
+ // 24346: 1
+ // 24347: 1
+ // 24348: 1
+ // 24349: 1
+ // 24350: 1
+ // 24351: 1
+ // 24352: 1
+ // 24353: 1
+ // 24354: 1
+ // 24355: 1
+ // 24356: 1
+ // 24357: 1
+ // 24358: 1
+ // 24359: 1
+ // 24360: 1
+ // 24361: 1
+ // 24362: 1
+ // 24363: 1
+ // 24364: 1
+ // 24365: 1
+ // 24366: 1
+ // 24367: 1
+ // 24368: 1
+ // 24369: 1
+ // 24370: 1
+ // 24371: 1
+ // 24372: 1
+ // 24373: 1
+ // 24374: 1
+ // 24375: 1
+ // 24376: 1
+ // 24377: 1
+ // 24378: 1
+ // 24379: 1
+ Sentimental_Weapone_S: 1
+ Sentimental_Earring_S: 1
+ Sentimental_Pendant_S: 1
+ Enchanting_Weapone_S: 1
+ Enchanting_Earring_S: 1
+ Enchanting_Pendant_S: 1
+ S_Infinity_Weapon: 1
+ S_Physical_Shoes: 1
+ S_Physical_Shield: 1
+ S_Physical_Armor: 1
+ S_Magical_Shoes: 1
+ S_Magical_Shield: 1
+ S_Magical_Armor: 1
+ S_ImmunedAthena_Shield: 1
+ S_HardChamption_Shoes: 1
+ S_KingbirdAncient_Armor: 1
+ S_Rebellion_Armor: 1
+ S_Kagerou_Armor: 1
+ S_Oboro_Armor: 1
+ S_Rebellion_Shoes: 1
+ S_Kagerou_Shoes: 1
+ S_Oboro_Shoes: 1
+ S_DoramPhysical_Armor: 1
+ S_DoramPhysical_Shoes: 1
+ S_DoramMagical_Armor: 1
+ S_DoramMagical_Shoes: 1
+ S_Star_Emperor_Armor: 1
+ S_Star_Emperor_Shoes: 1
+ S_Soul_Reaper_Armor: 1
+ S_Soul_Reaper_Shoes: 1
+ S_Tempest_Weapon: 1
+ S_Tempest_Armor: 1
+ S_PerfectSize_Weapon: 1
+ S_PerfectSize_Armor: 1
+ S_M_Exo_Co_Weapon: 1
+ S_M_Viv_Dr_Weapon: 1
+ S_M_Sci_Hu_Weapon: 1
+ S_M_Fis_In_Weapon: 1
+ S_M_Exe_Ho_Weapon: 1
+ S_Penetration_Weapon: 1
+ S_Penetration_Armor: 1
+ S_Exe_Ho_Weapon: 1
+ S_Fis_In_Weapon: 1
+ S_Sci_Hu_Weapon: 1
+ S_Viv_Dr_Weapon: 1
+ S_Exo_Co_Weapon: 1
+ S_Hasty_Weapon: 1
+ S_Sonic_Armor: 1
+ S_Sonic_Shield: 1
+ S_Sonic_Shoes: 1
+ S_Ignition_Weapon: 1
+ S_Ignition_Pendant: 1
+ S_Ignition_Earing: 1
+ S_W_Breath_Armor: 1
+ S_W_Breath_Shield: 1
+ S_W_Breath_Shoes: 1
+ S_F_Breath_Weapon: 1
+ S_F_Breath_Pendant: 1
+ S_F_Breath_Earing: 1
+ S_Cluster_Armor: 1
+ S_Cluster_Shield: 1
+ S_Cluster_Shoes: 1
+ S_Aimed_Weapon: 1
+ S_Aimed_Pendant: 1
+ S_Aimed_Earing: 1
+ S_Arrow_Armor: 1
+ S_Arrow_Shield: 1
+ S_Arrow_Shoes: 1
+ S_Shooting_Weapon: 1
+ S_Shooting_Pendant: 1
+ S_Shooting_Earing: 1
+ S_Tornado_Armor: 1
+ S_Tornado_Shield: 1
+ S_Tornado_Shoes: 1
+ S_Boomerang_Weapon: 1
+ S_Boomerang_Pendant: 1
+ S_Boomerang_Earing: 1
+ S_Vulcan_Armor: 1
+ S_Vulcan_Shield: 1
+ S_Vulcan_Shoes: 1
+ S_Arms_Weapon: 1
+ S_Arms_Pendant: 1
+ S_Arms_Earing: 1
+ S_Rampage_Armor: 1
+ S_Rampage_Shield: 1
+ S_Rampage_Shoes: 1
+ S_Skynetblow_Weapon: 1
+ S_Skynetblow_Pendant: 1
+ S_Skynetblow_Earing: 1
+ S_Knucklearrow_Armor: 1
+ S_Knucklearrow_Shield: 1
+ S_Knucklearrow_Shoes: 1
+ S_TigerCannon_Weapon: 1
+ S_Tigercannon_Pendant: 1
+ S_Tigercannon_Earing: 1
+ S_Duplelight_Armor: 1
+ S_Duplelight_Shield: 1
+ S_Duplelight_Shoes: 1
+ S_Adoramus_Weapon: 1
+ S_Adoramus_Pendant: 1
+ S_Adoramus_Earing: 1
+ S_Judex_Armor: 1
+ S_Judex_Shield: 1
+ S_Judex_Shoes: 1
+ S_Magnus_Weapon: 1
+ S_Magnus_Pendant: 1
+ S_Magnus_Earing: 1
+ S_Rainstorm_Armor: 1
+ S_Rainstorm_Shield: 1
+ S_Rainstorm_Shoes: 1
+ S_Arrowvulcan_Weapon: 1
+ S_Arrowvulcan_Pendant: 1
+ S_Arrowvulcan_Earing: 1
+ S_Metalic_Armor: 1
+ S_Metalic_Shield: 1
+ S_Metalic_Shoes: 1
+ S_Reverberation_Weapon: 1
+ S_Reverberation_Pendant: 1
+ S_Reverberation_Earing: 1
+ S_Jack_Armor: 1
+ S_Jack_Shield: 1
+ S_Jack_Shoes: 1
+ S_Strain_Weapon: 1
+ S_Strain_Pendant: 1
+ S_Strain_Earing: 1
+ S_Crimson_Armor: 1
+ S_Crimson_Shield: 1
+ S_Crimson_Shoes: 1
+ S_Chain_Weapon: 1
+ S_Chain_Pendant: 1
+ S_Chain_Earing: 1
+ S_Triangle_Armor: 1
+ S_Triangle_Shield: 1
+ S_Triangle_Shoes: 1
+ S_Shadowspell_Weapon: 1
+ S_Shadowspell_Pendant: 1
+ S_Shadowspell_Earing: 1
+ S_Menace_Armor: 1
+ S_Menace_Shield: 1
+ S_Menace_Shoes: 1
+ S_Paint_Weapon: 1
+ S_Paint_Pendant: 1
+ S_Paint_Earing: 1
+ S_Rolling_Armor: 1
+ S_Rolling_Shield: 1
+ S_Rolling_Shoes: 1
+ S_Katar_Weapon: 1
+ S_Katar_Pendant: 1
+ S_Katar_Earing: 1
+ S_Slash_Armor: 1
+ S_Slash_Shield: 1
+ S_Slash_Shoes: 1
+ S_Ripper_Weapon: 1
+ S_Ripper_Pendant: 1
+ S_Ripper_Earing: 1
+ S_Dust_Armor: 1
+ S_Dust_Shield: 1
+ S_Dust_Shoes: 1
+ S_Grave_Weapon: 1
+ S_Grave_Pendant: 1
+ S_Grave_Earing: 1
+ S_Psychic_Armor: 1
+ S_Psychic_Shield: 1
+ S_Psychic_Shoes: 1
+ S_Varetyr_Weapon: 1
+ S_Varetyr_Pendant: 1
+ S_Varetyr_Earing: 1
+ S_Cart_Tornado_Armor: 1
+ S_Cart_Tornado_Shield: 1
+ S_Cart_Tornado_Shoes: 1
+ S_Cannon_Cart_Weapon: 1
+ S_Cannon_Cart_Pendant: 1
+ S_Cannon_Cart_Earing: 1
+ S_Spore_Bomb_Armor: 1
+ S_Spore_Bomb_Shield: 1
+ S_Spore_Bomb_Shoes: 1
+ S_Crazy_Weapon: 1
+ S_Crazy_Pendant: 1
+ S_Crazy_Earing: 1
+ S_Brand_Armor: 1
+ S_Brand_Shield: 1
+ S_Brand_Shoes: 1
+ S_Chain_Press_Weapon: 1
+ S_Chain_Press_Pendant: 1
+ S_Chain_Press_Earing: 1
+ S_Banish_Cannon_Armor: 1
+ S_Banish_Cannon_Shield: 1
+ S_Banish_Cannon_Shoes: 1
+ S_Genesis_Weapon: 1
+ S_Genesis_Pendant: 1
+ S_Genesis_Earing: 1
+ // 28391: 1
+ // 28392: 1
+ }
+}
+*/
+/*
+23151: {
+ NeedCount: 3
+ SourceItems: {
+ // 6636: 1
+ // 6637: 1
+ // 6638: 1
+ // 6639: 1
+ // 6640: 1
+ // 6641: 1
+ // 6642: 1
+ // 6643: 1
+ // 6644: 1
+ // 6645: 1
+ // 6716: 1
+ // 6717: 1
+ // 6718: 1
+ // 6740: 1
+ // 6741: 1
+ // 6742: 1
+ // 6743: 1
+ // 6744: 1
+ // 6745: 1
+ // 6790: 1
+ // 6791: 1
+ // 6792: 1
+ // 6908: 1
+ // 6943: 1
+ // 6944: 1
+ // 6945: 1
+ // 6946: 1
+ // 6947: 1
+ // 6948: 1
+ // 6949: 1
+ // 6950: 1
+ // 6951: 1
+ // 6963: 1
+ // 6964: 1
+ // 6999: 1
+ // 25000: 1
+ // 25001: 1
+ // 25002: 1
+ // 25003: 1
+ // 25004: 1
+ // 25005: 1
+ // 25006: 1
+ // 25007: 1
+ // 25008: 1
+ // 25009: 1
+ // 25010: 1
+ // 25011: 1
+ // 25012: 1
+ // 25013: 1
+ // 25014: 1
+ // 25015: 1
+ // 25016: 1
+ // 25017: 1
+ // 25058: 1
+ // 25059: 1
+ // 25060: 1
+ // 25061: 1
+ // 25062: 1
+ // 25063: 1
+ // 25064: 1
+ // 25065: 1
+ // 25066: 1
+ // 25067: 1
+ // 25068: 1
+ // 25069: 1
+ // 25070: 1
+ // 25071: 1
+ // 25072: 1
+ // 25136: 1
+ // 25137: 1
+ // 25138: 1
+ // 25139: 1
+ // 25141: 1
+ // 25170: 1
+ // 25171: 1
+ // 25172: 1
+ // 25173: 1
+ // 25174: 1
+ // 25175: 1
+ // 25176: 1
+ // 25177: 1
+ // 25178: 1
+ // 25205: 1
+ // 25206: 1
+ // 25207: 1
+ // 25208: 1
+ // 25209: 1
+ // 25210: 1
+ // 25224: 1
+ // 25225: 1
+ // 25226: 1
+ // 25227: 1
+ // 25228: 1
+ // 25229: 1
+ // 25302: 1
+ // 25303: 1
+ // 25304: 1
+ // 25305: 1
+ // 25306: 1
+ SuraStone_Top: 1
+ SuraStone_Middle: 1
+ SuraStone_Bottom: 1
+ SuraStone_Robe: 1
+ RangerStone_Top: 1
+ RangerStone_Middle: 1
+ RangerStone_Bottom: 1
+ RangerStone_Robe: 1
+ SorcererStone_Top: 1
+ SorcererStone_Middle: 1
+ SorcererStone_Bottom: 1
+ SorcererStone_Robe: 1
+ RuneknightStone_Top: 1
+ RuneknightStone_Middle: 1
+ RuneknightStone_Bottom: 1
+ RuneknightStone_Robe: 1
+ GeneticStone_Robe: 1
+ GeneticStone_Top: 1
+ GeneticStone_Middle: 1
+ GeneticStone_Bottom: 1
+ WarlockStone_Top: 1
+ WarlockStone_Middle: 1
+ WarlockStone_Bottom: 1
+ WarlockStone_Robe: 1
+ ShadowchaserStone_Top: 1
+ ShadowchaseStone_Middle: 1
+ ShadowchaseStone_Bottom: 1
+ ShadowchaserStone_Robe: 1
+ MechanicStone_Top: 1
+ MechanicStone_Middle: 1
+ MechanicStone_Bottom: 1
+ MechanicStone_Robe: 1
+ WanderMinstrelStone_Top: 1
+ WanderMinstStone_Middle: 1
+ WanderMinstStone_Bottom: 1
+ WanderMinstreStone_Robe: 1
+ HighpriestStone_Top: 1
+ HighpriestStone_Middle: 1
+ HighpriestStone_Bottom: 1
+ ArchbishopStone_Robe: 1
+ PaladinStone_Top: 1
+ PaladinStone_Middle: 1
+ PaladinStone_Bottom: 1
+ RoyalguardStone_Robe: 1
+ AssacrossStone_Top: 1
+ AssacrossStone_Middle: 1
+ AssacrossStone_Bottom: 1
+ GuillcrossStone_Robe: 1
+ SuraStone_Robe2: 1
+ SuraStone_Bottom2: 1
+ SuraStone_Middle2: 1
+ SuraStone_Top2: 1
+ SorcererStone_Robe2: 1
+ SorcererStone_Bottom2: 1
+ SorcererStone_Middle2: 1
+ SorcererStone_Top2: 1
+ ShadowchaserStone_Robe2: 1
+ ShadowchasStone_Bottom2: 1
+ ShadowchasStone_Middle2: 1
+ ShadowchaserStone_Top2: 1
+ SoulreaperStone_Robe: 1
+ SoullinkerStone_Top: 1
+ SoullinkerStone_Middle: 1
+ SoullinkerStone_Bottom: 1
+ GladiatorStone_Top: 1
+ GladiatorStone_Middle: 1
+ GladiatorStone_Bottom: 1
+ StaremperorStone_Robe: 1
+ NinjaStone_Top: 1
+ NinjaStone_Middle: 1
+ NinjaStone_Bottom: 1
+ KagerouStone_Robe: 1
+ OboroStone_Robe: 1
+ GunslingerStone_Top: 1
+ GunslingerStone_Middle: 1
+ GunslingerStone_Bottom: 1
+ RebellionStone_Robe: 1
+ DoramStone_Top: 1
+ DoramStone_Middle: 1
+ DoramStone_Bottom: 1
+ DoramStone_Robe: 1
+ RangerStone_Top2: 1
+ RangerStone_Middle2: 1
+ RangerStone_Bottom2: 1
+ RangerStone_Robe2: 1
+ MechanicStone_Top2: 1
+ MechanicStone_Middle2: 1
+ MechanicStone_Bottom2: 1
+ MechanicStone_Robe2: 1
+ HighpriestStone_Top2: 1
+ HighpriestStone_Middle2: 1
+ HighpriestStone_Bottom2: 1
+ ArchbishopStone_Robe2: 1
+ WarlockStone_Robe2: 1
+ WarlockStone_Top2: 1
+ WarlockStone_Middle2: 1
+ WarlockStone_Bottom2: 1
+ RoyalguardStone_Robe2: 1
+ PaladinStone_Top2: 1
+ PaladinStone_Middle2: 1
+ PaladinStone_Bottom2: 1
+ GuillcrossStone_Robe2: 1
+ AssacrossStone_Top2: 1
+ AssacrossStone_Middle2: 1
+ AssacrossStone_Bottom2: 1
+ }
+}
+*/
+/*
+23152: {
+ NeedCount: 10
+ SourceItems: {
+ Danggie: 10
+ Tree_Root: 10
+ Reptile_Tongue: 10
+ Scorpions_Tail: 10
+ Stem: 10
+ Pointed_Scale: 10
+ Resin: 10
+ Spawn: 10
+ Jellopy: 10
+ Garlet: 10
+ Scell: 10
+ Zargon: 10
+ Tooth_Of_Bat: 10
+ Fluff: 10
+ Chrysalis: 10
+ Feather_Of_Birds: 10
+ Talon: 10
+ Sticky_Webfoot: 10
+ Animals_Skin: 10
+ Claw_Of_Wolves: 10
+ Mushroom_Spore: 10
+ Orcish_Cuspid: 10
+ Evil_Horn: 10
+ Powder_Of_Butterfly: 10
+ Bill_Of_Birds: 10
+ Scale_Of_Snakes: 10
+ Insect_Feeler: 10
+ Immortal_Heart: 10
+ Rotten_Bandage: 10
+ Orcish_Voucher: 10
+ Skel_Bone: 10
+ Shell: 10
+ Scales_Shell: 10
+ Posionous_Canine: 10
+ Sticky_Mucus: 10
+ Bee_Sting: 10
+ Grasshoppers_Leg: 10
+ Nose_Ring: 10
+ Yoyo_Tail: 10
+ Solid_Shell: 10
+ Horseshoe: 10
+ Raccoon_Leaf: 10
+ Snails_Shell: 10
+ Horn: 10
+ Bears_Foot: 10
+ Feather: 10
+ Heart_Of_Mermaid: 10
+ Fin: 10
+ Cactus_Needle: 10
+ Stone_Heart: 10
+ Shining_Scales: 10
+ Worm_Peelings: 10
+ Gill: 10
+ Decayed_Nail: 10
+ Horrendous_Mouth: 10
+ Rotten_Scale: 10
+ Nipper: 10
+ Conch: 10
+ Tentacle: 10
+ Sharp_Scale: 10
+ Crap_Shell: 10
+ Clam_Shell: 10
+ Flesh_Of_Clam: 10
+ Turtle_Shell: 10
+ Voucher_Of_Orcish_Hero: 10
+ Gold: 10
+ Lizard_Scruff: 10
+ Colorful_Shell: 10
+ Jaws_Of_Ant: 10
+ Thin_N_Long_Tongue: 10
+ Rat_Tail: 10
+ Moustache_Of_Mole: 10
+ Nail_Of_Mole: 10
+ Wooden_Block: 10
+ Long_Hair: 10
+ Dokkaebi_Horn: 10
+ Fox_Tail: 10
+ Fish_Tail: 10
+ Chinese_Ink: 10
+ Spiderweb: 10
+ Acorn: 10
+ Porcupine_Spike: 10
+ Wild_Boars_Mane: 10
+ Tigers_Skin: 10
+ Tiger_Footskin: 10
+ Limb_Of_Mantis: 10
+ Blossom_Of_Maneater: 10
+ Root_Of_Maneater: 10
+ Cobold_Hair: 10
+ Dragon_Canine: 10
+ Dragon_Scale: 10
+ Dragon_Train: 10
+ Petite_DiablOfs_Horn: 10
+ Petite_DiablOfs_Wing: 10
+ Elder_Pixies_Beard: 10
+ Lantern: 10
+ Short_Leg: 10
+ Nail_Of_Orc: 10
+ Tooth_Of_: 10
+ Sacred_Masque: 10
+ Tweezer: 10
+ Head_Of_Medusa: 10
+ Slender_Snake: 10
+ Skirt_Of_Virgin: 10
+ Tendon: 10
+ Detonator: 10
+ Single_Cell: 10
+ Tooth_Of_Ancient_Fish: 10
+ Lip_Of_Ancient_Fish: 10
+ Earthworm_Peeling: 10
+ Grit: 10
+ Moth_Dust: 10
+ Wing_Of_Moth: 10
+ Transparent_Cloth: 10
+ Golden_Hair: 10
+ Starsand_Of_Witch: 10
+ Pumpkin_Head: 10
+ Sharpened_Cuspid: 10
+ Reins: 10
+ Tree_Of_Archer_1: 10
+ Tree_Of_Archer_2: 10
+ Tree_Of_Archer_3: 10
+ Short_Daenggie: 10
+ Needle_Of_Alarm: 10
+ Round_Shell: 10
+ Worn_Out_Page: 10
+ Manacles: 10
+ Worn_Out_Prison_Uniform: 10
+ Light_Up_Card1: 10
+ Light_Up_Card2: 10
+ Light_Up_Card3: 10
+ Light_Up_Card4: 10
+ Fur: 10
+ Peaked_Hat: 10
+ Hard_Skin: 10
+ Mystic_Horn: 10
+ Rakehorn_Helm: 10
+ Antler_Helm: 10
+ Twinhorn_Helm: 10
+ Singlehorn_Helm: 10
+ White_Spider_Limb: 10
+ Fortune_Cookie_Fail: 10
+ Tikbalang_Thick_Spine: 10
+ Glast_Decayed_Nail: 10
+ Glast_Horrendous_Mouth: 10
+ // 6648: 10
+ // 6936: 10
+ // 6937: 10
+ // 6938: 10
+ // 6939: 10
+ // 6940: 10
+ // 6941: 10
+ // 6942: 10
+ Mould_Powder: 10
+ Ogre_Tooth: 10
+ Anolian_Skin: 10
+ Mud_Lump: 10
+ Skull: 10
+ Wing_Of_Red_Bat: 10
+ Claw_Of_Rat: 10
+ Stiff_Horn: 10
+ Glitter_Shell: 10
+ Tail_Of_Steel_Scorpion: 10
+ Claw_Of_Monkey: 10
+ Tough_Scalelike_Stem: 10
+ Coral_Reef: 10
+ Executioners_Mitten: 10
+ Claw_Of_Desert_Wolf: 10
+ Old_Frying_Pan: 10
+ Piece_Of_Egg_Shell: 10
+ Poison_Spore: 10
+ Alices_Apron: 10
+ Talon_Of_Griffin: 10
+ Cyfar: 10
+ Brigan: 10
+ Treasure_Box: 10
+ Old_White_Cloth: 10
+ Clattering_Skull: 10
+ Broken_Farming_Utensil: 10
+ Broken_Crown: 10
+ // 25156: 10
+ // 25157: 10
+ // 25158: 10
+ // 25256: 10
+ BrokenArrow: 10
+ // 25259: 10
+ // 25261: 10
+ // 25262: 10
+ // 25263: 10
+ // 25264: 10
+ Shining_Spore: 10
+ Dried_Leaf_Of_Ygg: 10
+ // 25267: 10
+ // 25272: 10
+ // 25276: 10
+ // 25277: 10
+ // 25278: 10
+ // 25279: 10
+ // 25280: 10
+ // 25281: 10
+ // 25282: 10
+ // 25283: 10
+ // 25284: 10
+ // 25285: 10
+ // 25297: 10
+ // 25298: 10
+ // 25299: 10
+ // 25300: 10
+ // 25311: 10
+ // 25312: 10
+ // 25313: 10
+ Ein_SOLIDDUST: 10
+ Ein_RUSTHELM: 10
+ Ein_EYEROCK: 10
+ }
+}
+*/
+/*
+23153: {
+ NeedCount: 2
+ SourceItems: {
+ Poring_Egg: 1
+ Drops_Egg: 1
+ Poporing_Egg: 1
+ Lunatic_Egg: 1
+ Picky_Egg: 1
+ Chonchon_Egg: 1
+ Steel_Chonchon_Egg: 1
+ Hunter_Fly_Egg: 1
+ Savage_Bebe_Egg: 1
+ Baby_Desert_Wolf_Egg: 1
+ Rocker_Egg: 1
+ Spore_Egg: 1
+ Poison_Spore_Egg: 1
+ PecoPeco_Egg: 1
+ Smokie_Egg: 1
+ Yoyo_Egg: 1
+ Orc_Warrior_Egg: 1
+ Munak_Egg: 1
+ Dokkaebi_Egg: 1
+ Sohee_Egg: 1
+ Isis_Egg: 1
+ Green_Petite_Egg: 1
+ Deviruchi_Egg: 1
+ Bapho_Jr_Egg: 1
+ Bongun_Egg: 1
+ Zherlthsh_Egg: 1
+ Alice_Egg: 1
+ Rice_Cake_Egg: 1
+ Santa_Goblin_Egg: 1
+ Chung_E_Egg: 1
+ Spring_Rabbit_Egg: 1
+ Knife_Goblin_Egg: 1
+ Flail_Goblin_Egg: 1
+ Hammer_Goblin_Egg: 1
+ Red_Deleter_Egg: 1
+ Diabolic_Egg: 1
+ Wanderer_Egg: 1
+ New_Year_Doll_Egg: 1
+ Bacsojin_Egg: 1
+ Civil_Servant_Egg: 1
+ Leaf_Cat_Egg: 1
+ Loli_Ruri_Egg: 1
+ Marionette_Egg: 1
+ Shinobi_Egg: 1
+ Whisper_Egg: 1
+ Goblin_Leader_Egg: 1
+ Wicked_Nymph_Egg: 1
+ Miyabi_Ningyo_Egg: 1
+ Dullahan_Egg: 1
+ Medusa_Egg: 1
+ Stone_Shooter_Egg: 1
+ Incubus_Egg: 1
+ Golem_Egg: 1
+ Nightmare_Terror_Egg: 1
+ Succubus_Egg: 1
+ Imp_Egg: 1
+ Egg_Of_Tiny: 1
+ Snow_Rabbit_Egg: 1
+ Tikbalang_Pet: 1
+ Brownie_Egg: 1
+ Marin_Egg: 1
+ // 9063: 1
+ // 9068: 1
+ Nine_Tails_Egg: 1
+ Teddy_Bear_Egg: 1
+ Gremlin_Egg: 1
+ Scatelon_Egg: 1
+ Mummy_Egg: 1
+ Willow_Egg: 1
+ Roween_Egg: 1
+ }
+}
+*/
+/*
+23154: {
+ NeedCount: 1
+ SourceItems: {
+ // 5909: 1
+ // 5979: 1
+ C_Hair_Of_The_Strong: 1
+ // 19158: 1
+ // 19289: 1
+ C_Shiba_Inu: 1
+ C_CatEars_Cyber_HeadP_R: 1
+ C_Chick_Hat: 1
+ C_Whikebain_Ears: 1
+ C_J_Captain_Hat: 1
+ C_Little_Angel_Doll: 1
+ C_Darkness_Helm: 1
+ C_White_Lily: 1
+ C_Lolita_Ten_Gallon_Hat: 1
+ C_Pecopeco_Cap: 1
+ C_White_Cat_Hood: 1
+ C_Rabbit_Ear_Hat: 1
+ C_3D_Glasses: 1
+ C_Drooping_Argiope: 1
+ C_Chain_Puppet: 1
+ C_Snow_Rabbit_Knit_Hat: 1
+ C_Chilly_Breath: 1
+ C_Love_Fragment: 1
+ C_Buddhist_Priest_Crown: 1
+ C_Sword_Master_Crown: 1
+ C_Worg_In_Mouth: 1
+ C_Vampire_Hairband: 1
+ C_Whisper_Tall_Hat: 1
+ C_Subject_Aura: 1
+ C_Poring_Mascot_Costume: 1
+ C_Robo_Eye: 1
+ C_Angel_Spirit: 1
+ C_Bell_Pigeon: 1
+ C_Sepia_Cap: 1
+ C_Pumpkin_Head: 1
+ C_Halloween_Hat_Orange: 1
+ C_Diabolic_Headphone: 1
+ C_Scratching_Cat: 1
+ C_Evil_Marcher_Hat: 1
+ C_Rabbit_Head_Dress: 1
+ C_Banshee_Master_Kiss: 1
+ C_Deviruchi_Balloon: 1
+ C_Mask_Of_Bankrupt: 1
+ C_Snowman_Hat: 1
+ C_Celines_Ribbon: 1
+ C_Gold_Angel_Sculpture: 1
+ C_Large_Ribbon_Muffler: 1
+ C_Snownow_Hat: 1
+ C_Love_Cheek: 1
+ C_Black_Rabbit_Bonnet: 1
+ C_Secret_Zipper: 1
+ C_Sleep_Eclipse_Family: 1
+ C_Soft_Sheep_Hat: 1
+ C_Under_Rim_Glasses_Red: 1
+ C_Face_Crusher: 1
+ C_Hill_Wind_Mask: 1
+ C_Analyze_Eye: 1
+ C_Charleston_Antenna: 1
+ // 20325: 1
+ C_Very_Cute_Doll_Hat: 1
+ C_Sombrero: 1
+ // 20340: 1
+ // 20341: 1
+ // 20342: 1
+ // 20349: 1
+ // 20350: 1
+ // 20351: 1
+ // 20352: 1
+ // 20353: 1
+ // 20354: 1
+ // 20355: 1
+ // 20356: 1
+ // 20357: 1
+ // 20358: 1
+ // 20359: 1
+ // 20360: 1
+ // 20361: 1
+ // 20362: 1
+ // 20363: 1
+ // 20364: 1
+ // 20365: 1
+ // 20366: 1
+ // 20367: 1
+ // 20368: 1
+ // 20369: 1
+ // 20370: 1
+ // 20381: 1
+ // 20395: 1
+ // 20396: 1
+ // 20398: 1
+ // 20399: 1
+ // 20404: 1
+ // 20405: 1
+ // 20430: 1
+ // 20432: 1
+ // 20433: 1
+ // 20440: 1
+ // 20447: 1
+ // 20448: 1
+ // 20449: 1
+ // 20458: 1
+ // 20459: 1
+ // 20464: 1
+ // 20482: 1
+ // 20486: 1
+ // 20487: 1
+ // 20488: 1
+ // 20489: 1
+ // 20491: 1
+ // 20499: 1
+ // 20502: 1
+ // 20504: 1
+ // 20507: 1
+ // 20509: 1
+ // 20510: 1
+ // 20511: 1
+ C_Thanatos_Sword: 1
+ C_Magic_Circle: 1
+ C_Wings_of_Michael: 1
+ C_GiantCatBag_TW: 1
+ C_Full_BloomCherry_Tree: 1
+ C_PinkButterfly_Wing_T: 1
+ C_Digital_Space: 1
+ C_Halloween_Poring_Bag: 1
+ C_Backside_Ribbon_Bell: 1
+ C_HeartChocoBag: 1
+ C_WingOfHeart: 1
+ C_Cat_Fork: 1
+ C_Big_Foxtail: 1
+ C_Rudra_Wing: 1
+ C_Wing_Of_Happiness: 1
+ C_GreatDevilWing: 1
+ C_Fallen_Angel_Wing: 1
+ C_Archangel_Wing: 1
+ // 31027: 1
+ // 31029: 1
+ // 31031: 1
+ // 31033: 1
+ // 31040: 1
+ // 31055: 1
+ // 31057: 1
+ // 31062: 1
+ // 31063: 1
+ // 31064: 1
+ // 31065: 1
+ // 31066: 1
+ // 31067: 1
+ // 31068: 1
+ // 31069: 1
+ // 31070: 1
+ // 31071: 1
+ // 31072: 1
+ // 31073: 1
+ // 31074: 1
+ // 31075: 1
+ // 31076: 1
+ // 31077: 1
+ // 31078: 1
+ // 31079: 1
+ // 31080: 1
+ // 31081: 1
+ // 31082: 1
+ // 31083: 1
+ // 31084: 1
+ // 31085: 1
+ // 31086: 1
+ // 31087: 1
+ // 31088: 1
+ // 31118: 1
+ // 31120: 1
+ // 31123: 1
+ // 31125: 1
+ // 31134: 1
+ // 31136: 1
+ // 31139: 1
+ // 31160: 1
+ // 31162: 1
+ // 31164: 1
+ // 31165: 1
+ // 31166: 1
+ // 31168: 1
+ // 31178: 1
+ // 31180: 1
+ C_Black_Cat: 1
+ Rabbit_Hopping: 1
+ Warm_Cat_Muffler: 1
+ C_Ghost_Holiday: 1
+ C_Alice_Wig: 1
+ C_Khalitzburg_Helm_BL: 1
+ C_Cat_Ears_Punkish: 1
+ C_Sorcerer_Hood: 1
+ C_Pope_Sitting_Head: 1
+ C_Blinking_Thin_Eyes: 1
+ C_Wanderer_Sakkat: 1
+ C_Luwmin_Ice: 1
+ C_Baby_Penguin: 1
+ C_Fluffy_Heart_Earmuffs: 1
+ C_Snow_Bear_Food: 1
+ C_Blessing_Sky_Lantern: 1
+ C_CatCoffeeCup_TW: 1
+ C_CatEarRibbon_TW: 1
+ C_Bouquet_Hat: 1
+ C_Poring_Muffler: 1
+ C_Panda_Rabbit: 1
+ C_Happy_Rabbit_Ribbon: 1
+ C_Princess_Ribbon_Crown: 1
+ C_OpenAir_Headset: 1
+ C_Mobile_Pursuit_System: 1
+ C_Mecha_Cat_Ears: 1
+ C_Cyber_Income: 1
+ C_Poporing_Muffler: 1
+ C_Kishu_Inu: 1
+ C_Autumn_Headband: 1
+ C_Fox: 1
+ C_Sleep_Sheep_TW: 1
+ C_HeartOfCat_TW: 1
+ C_Protect_Cloth: 1
+ C_LunaticMuffler: 1
+ C_Pigtail_Red_Hood: 1
+ C_Smiling_Eyes: 1
+ C_Garnet_Tiara: 1
+ C_Peony_Hair_Ornament: 1
+ C_SavageB_On_Shoulder: 1
+ C_Baby_Panda: 1
+ C_BeachBall: 1
+ C_SharkHead: 1
+ }
+}
+*/
+/*
+23170: {
+ NeedCount: 1
+ SourceItems: {
+ // 28439: 1
+ }
+}
+*/
+/*
+23236: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24282: 1
+ // 24283: 1
+ // 24284: 1
+ // 24285: 1
+ // 24286: 1
+ // 24287: 1
+ // 24288: 1
+ // 24289: 1
+ // 24290: 1
+ // 24291: 1
+ // 24292: 1
+ // 24293: 1
+ // 24294: 1
+ // 24295: 1
+ // 24296: 1
+ // 24297: 1
+ // 24298: 1
+ // 24299: 1
+ // 24300: 1
+ }
+}
+*/
+/*
+23237: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24269: 1
+ // 24270: 1
+ // 24271: 1
+ // 24272: 1
+ // 24273: 1
+ // 24274: 1
+ // 24275: 1
+ // 24276: 1
+ // 24277: 1
+ // 24278: 1
+ // 24279: 1
+ // 24280: 1
+ // 24281: 1
+ S_Rebellion_Armor: 1
+ S_Kagerou_Armor: 1
+ S_Oboro_Armor: 1
+ S_DoramPhysical_Armor: 1
+ S_DoramMagical_Armor: 1
+ S_Star_Emperor_Armor: 1
+ S_Soul_Reaper_Armor: 1
+ }
+}
+*/
+/*
+23238: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24256: 1
+ // 24257: 1
+ // 24258: 1
+ // 24259: 1
+ // 24260: 1
+ // 24261: 1
+ // 24262: 1
+ // 24263: 1
+ // 24264: 1
+ // 24265: 1
+ // 24266: 1
+ // 24267: 1
+ // 24268: 1
+ S_Rebellion_Shoes: 1
+ S_Kagerou_Shoes: 1
+ S_Oboro_Shoes: 1
+ S_DoramPhysical_Shoes: 1
+ S_DoramMagical_Shoes: 1
+ S_Star_Emperor_Shoes: 1
+ S_Soul_Reaper_Shoes: 1
+ }
+}
+*/
+/*
+23239: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24301: 1
+ // 24302: 1
+ // 24303: 1
+ // 24304: 1
+ // 24305: 1
+ // 24306: 1
+ // 24307: 1
+ // 24308: 1
+ // 24309: 1
+ // 24310: 1
+ // 24311: 1
+ // 24312: 1
+ // 24313: 1
+ // 24314: 1
+ // 24315: 1
+ // 24316: 1
+ // 24317: 1
+ // 24318: 1
+ // 24319: 1
+ }
+}
+*/
+/*
+23240: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24250: 1
+ // 24251: 1
+ // 24252: 1
+ // 24253: 1
+ // 24254: 1
+ // 24255: 1
+ }
+}
+*/
+/*
+23241: {
+ NeedCount: 1
+ NeedRefineMin: 7
+ SourceItems: {
+ // 24246: 1
+ // 24247: 1
+ // 24248: 1
+ // 24249: 1
+ // 28391: 1
+ // 28392: 1
+ }
+}
+*/
+/*
+23247: {
+ NeedCount: 5
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Lucky_Weapon: 1
+ S_Power_Earring: 1
+ S_Int_Pendant: 1
+ S_Dexterous_Armor: 1
+ S_Vital_Shoes: 1
+ S_Athletic_Shield: 1
+ S_Lucky_Armor: 1
+ S_Power_Pendant: 1
+ S_Int_Earring: 1
+ S_Dexterous_Weapon: 1
+ S_Vital_Shield: 1
+ S_Athletic_Shoes: 1
+ }
+}
+*/
+/*
+23248: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Gemstone_Armor: 1
+ S_Gemstone_Shoes: 1
+ S_Gemstone_Shield: 1
+ S_Gemstone_Weapon: 1
+ S_Gemstone_Earring: 1
+ S_Gemstone_Pendent: 1
+ }
+}
+*/
+/*
+23249: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Bearers_Armor: 1
+ S_Bearers_Shoes: 1
+ S_Bearers_Shield: 1
+ S_Bearers_Weapon: 1
+ S_Bearers_Earring: 1
+ S_Bearers_Pendent: 1
+ }
+}
+*/
+/*
+23250: {
+ NeedCount: 4
+ NeedRefineMin: 7
+ SourceItems: {
+ S_ColdBolt_Armor: 1
+ S_FireBolt_Armor: 1
+ S_LightingBolt_Armor: 1
+ S_EarthSpike_Armor: 1
+ }
+}
+*/
+/*
+23281: {
+ NeedCount: 4
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Cranial_Shield: 1
+ S_Brutal_Shield: 1
+ S_Gargantua_Shield: 1
+ S_Homers_Shield: 1
+ S_Dragoon_Shield: 1
+ S_Satanic_Shield: 1
+ S_Flameguard_Shield: 1
+ S_Requiem_Shield: 1
+ S_Cadi_Shield: 1
+ S_Bloody_Shoes: 1
+ S_Chemical_Shoes: 1
+ S_Clamorous_Shoes: 1
+ S_Insecticide_Shoes: 1
+ S_Fisher_Shoes: 1
+ S_Seraphim_Shoes: 1
+ S_Beholder_Shoes: 1
+ S_Divine_Shoes: 1
+ S_Dragoon_Shoes: 1
+ }
+}
+*/
+/*
+23308: {
+ NeedCount: 1
+ SourceItems: {
+ // 19241: 1
+ }
+}
+*/
+/*
+23324: {
+ NeedCount: 3
+ NeedRefineMin: 5
+ SourceItems: {
+ S_Plasterers_Armor: 1
+ S_Plasterers_Shoes: 1
+ S_Insomniac_Armor: 1
+ S_Insomniac_Shoes: 1
+ S_Peerless_Armor: 1
+ S_Peerless_Shoes: 1
+ S_Adurate_Armor: 1
+ S_Adurate_Shoes: 1
+ Unfreez_Weapon_S: 1
+ Unfreeze_Earing_S: 1
+ Unfreeze_Pendent_S: 1
+ Vitality_Earing_S: 1
+ Vitality_Pendant_S: 1
+ S_Neutral_Weapon: 1
+ S_Neutral_Earring: 1
+ S_Neutral_Pendent: 1
+ S_Curse_Lift_Earring: 1
+ S_Curse_Lift_Pendent: 1
+ }
+}
+*/
+InfinityShadow_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Infinity_Earring: 1
+ S_Infinity_Pendant: 1
+ }
+}
+Silver_Statue: {
+ NeedCount: 1
+ SourceItems: {
+ Bloody_Knight_Shield: 1
+ }
+}
+PhysicalMagical_Mix: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Physical_Earring: 1
+ S_Physical_Weapon: 1
+ S_Physical_Pendant: 1
+ S_Magical_Earring: 1
+ S_Magical_Weapon: 1
+ S_Magical_Pendant: 1
+ }
+}
+ImmunedAthena_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Athena_Shield: 1
+ S_Immune_Armor: 1
+ S_Athena_Earring: 1
+ }
+}
+HardChamption_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Champion_Shoes: 1
+ S_Hard_Armor: 1
+ S_Hard_Earring: 1
+ }
+}
+KingbirdAncient_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Ancient_Armor: 1
+ S_Kingbird_Weapon: 1
+ }
+}
+CriticalHit_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Critical_Armor: 1
+ S_Cri_Hit_Weapon: 1
+ // 24332: 1
+ // 24333: 1
+ }
+}
+Bs_Item_M_S_2: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_8: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_10: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_11: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_34: {
+ NeedCount: 2
+ SourceItems: {
+ Piece_Of_Bone_Armor: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_41: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_42: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_43: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 10
+ }
+}
+Bs_Item_M_S_44: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 120
+ Zelunium: 10
+ }
+}
+Bs_Sha_M_S_1: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_17: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 10
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_18: {
+ NeedCount: 2
+ SourceItems: {
+ Baphomet_Doll: 10
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_19: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Sha_M_S_20: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 50
+ Shadowdecon: 10
+ }
+}
+Bs_Item_M_S_4: {
+ NeedCount: 2
+ SourceItems: {
+ Baphomet_Doll: 30
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_6: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_7: {
+ NeedCount: 2
+ SourceItems: {
+ White_Snake_Tear: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_12: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_13: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_15: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_28: {
+ NeedCount: 2
+ SourceItems: {
+ Ice_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_29: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_31: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_32: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_33: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_36: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_37: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_38: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_39: {
+ NeedCount: 2
+ SourceItems: {
+ Tutankhamens_Mask: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_40: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Pharaoh_Symbol: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_45: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_46: {
+ NeedCount: 2
+ SourceItems: {
+ Scale_Of_Red_Dragon: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_47: {
+ NeedCount: 2
+ SourceItems: {
+ Konts_Letter: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_48: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_49: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 150
+ Zelunium: 20
+ }
+}
+Bs_Item_M_S_50: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 20
+ }
+}
+Bs_Sha_M_S_2: {
+ NeedCount: 2
+ SourceItems: {
+ Scale_Of_Red_Dragon: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_5: {
+ NeedCount: 2
+ SourceItems: {
+ Queen_Wing_Piece: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_6: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_7: {
+ NeedCount: 2
+ SourceItems: {
+ Boroken_Shiled_Piece: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_8: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_13: {
+ NeedCount: 2
+ SourceItems: {
+ Voucher_Of_Orcish_Hero: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_15: {
+ NeedCount: 2
+ SourceItems: {
+ Token_of_OrcGeneral: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_16: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Sha_M_S_23: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Horn: 50
+ Shadowdecon: 20
+ }
+}
+Bs_Item_M_S_5: {
+ NeedCount: 2
+ SourceItems: {
+ Osiris_Doll: 30
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_9: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_14: {
+ NeedCount: 2
+ SourceItems: {
+ Dark_Red_Scale: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_16: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_17: {
+ NeedCount: 2
+ SourceItems: {
+ Mothers_Nightmare: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_19: {
+ NeedCount: 2
+ SourceItems: {
+ Ice_Scale: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_27: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 25
+ }
+}
+Bs_Item_M_S_35: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 150
+ Zelunium: 25
+ }
+}
+Bs_Sha_M_S_9: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_10: {
+ NeedCount: 2
+ SourceItems: {
+ Tiger_Footskin: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_11: {
+ NeedCount: 2
+ SourceItems: {
+ Will_Of_Darkness_: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_21: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 10
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_22: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 50
+ Shadowdecon: 25
+ }
+}
+Bs_Item_M_S_1: {
+ NeedCount: 2
+ SourceItems: {
+ Valhalla_Flower: 300
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_3: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Crown: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_18: {
+ NeedCount: 2
+ SourceItems: {
+ Rojerta_Piece: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_20: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 200
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_21: {
+ NeedCount: 2
+ SourceItems: {
+ Broken_Horn: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_22: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_23: {
+ NeedCount: 2
+ SourceItems: {
+ Fang_Of_Garm: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_24: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_25: {
+ NeedCount: 2
+ SourceItems: {
+ Young_Twig: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_26: {
+ NeedCount: 2
+ SourceItems: {
+ Boroken_Shiled_Piece: 150
+ Zelunium: 30
+ }
+}
+Bs_Item_M_S_30: {
+ NeedCount: 2
+ SourceItems: {
+ Shine_Spear_Blade: 50
+ Zelunium: 30
+ }
+}
+Bs_Sha_M_S_3: {
+ NeedCount: 2
+ SourceItems: {
+ Piece_Of_Bone_Armor: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_4: {
+ NeedCount: 2
+ SourceItems: {
+ Konts_Letter: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_12: {
+ NeedCount: 2
+ SourceItems: {
+ Taegeuk_Plate: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_14: {
+ NeedCount: 2
+ SourceItems: {
+ Lokis_Whispers: 50
+ Shadowdecon: 30
+ }
+}
+Bs_Sha_M_S_24: {
+ NeedCount: 2
+ SourceItems: {
+ Pocket_Watch: 150
+ Shadowdecon: 25
+ }
+}
+Bs_Sha_M_S_25: {
+ NeedCount: 2
+ SourceItems: {
+ Gemstone: 150
+ Shadowdecon: 25
+ }
+}
+Bs_Item_M_S_51: {
+ NeedCount: 2
+ SourceItems: {
+ Queen_Wing_Piece: 150
+ Zelunium: 20
+ }
+}
+EnchantStone_Recipe_9m: {
+ NeedCount: 1
+ SourceItems: {
+ C_Drooping_Argiope: 1
+ C_Chain_Puppet: 1
+ C_Buddhist_Priest_Crown: 1
+ C_Sepia_Cap: 1
+ // 20482: 1
+ // 31139: 1
+ Rabbit_Hopping: 1
+ C_Ghost_Holiday: 1
+ C_Sorcerer_Hood: 1
+ C_Luwmin_Ice: 1
+ C_Astro_Circle: 1
+ C_Baby_Penguin: 1
+ C_Fluffy_Heart_Earmuffs: 1
+ C_Blessing_Sky_Lantern: 1
+ C_Flying_Drone: 1
+ C_Bouquet_Hat: 1
+ C_Poring_Muffler: 1
+ C_Elephangel_TH: 1
+ C_Happy_Rabbit_Ribbon: 1
+ C_Autumn_Headband: 1
+ }
+}
+IDTest_Special: {
+ NeedCount: 3
+ SourceItems: {
+ Jellopy: 1
+ Fluff: 1
+ Shell: 1
+ }
+}
+PerfectSize_Mix: {
+ NeedCount: 3
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Big_Armor: 1
+ S_Medium_Armor: 1
+ S_Small_Armor: 1
+ S_Big_Weapon: 1
+ S_Medium_Weapon: 1
+ S_Small_Weapon: 1
+ }
+}
+MagicPiercing_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_M_Executioner_Weapon: 1
+ S_M_Exorcist_Weapon: 1
+ S_M_Hunting_Weapon: 1
+ S_M_Insect_Net_Weapon: 1
+ S_M_Fishing_Weapon: 1
+ S_M_Dragon_K_Weapon: 1
+ S_M_Corrupt_Weapon: 1
+ S_M_Vibration_Weapon: 1
+ S_M_Holy_Water_Weapon: 1
+ S_M_Scissors_Weapon: 1
+ }
+}
+Piercing_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Executioner_Weapon: 1
+ S_Exorcist_Weapon: 1
+ S_Hunting_Weapon: 1
+ S_Insect_Net_Weapon: 1
+ S_Fishing_Weapon: 1
+ S_Dragon_Killer_Weapon: 1
+ S_Corrupt_Weapon: 1
+ S_Vibration_Weapon: 1
+ S_Holy_Water_Weapon: 1
+ S_Scissors_Weapon: 1
+ }
+}
+Hasty_Mix: {
+ NeedCount: 2
+ NeedRefineMin: 7
+ SourceItems: {
+ S_Hasty_Shoes: 1
+ S_Hasty_Armor: 1
+ // 24320: 1
+ }
+}
+EnchantStone_Recipe_4m: {
+ NeedCount: 1
+ SourceItems: {
+ C_Snow_Rabbit_Knit_Hat: 1
+ C_Vampire_Hairband: 1
+ C_Halloween_Hat_Orange: 1
+ C_Diabolic_Headphone: 1
+ C_Black_Rabbit_Bonnet: 1
+ // 20395: 1
+ // 20486: 1
+ C_Full_BloomCherry_Tree: 1
+ // 31139: 1
+ Rabbit_Hopping: 1
+ C_Cat_Ears_Punkish: 1
+ C_Snow_Bear_Food: 1
+ C_CatCoffeeCup_TW: 1
+ C_Panda_Rabbit: 1
+ C_Princess_Ribbon_Crown: 1
+ C_Poporing_Muffler: 1
+ C_Kishu_Inu: 1
+ C_Autumn_Headband: 1
+ C_Fox: 1
+ C_HeartOfCat_TW: 1
+ C_LunaticMuffler: 1
+ }
+}
diff --git a/db/re/item_packages.conf b/db/re/item_packages.conf
index 468d47a26..383edaf91 100644
--- a/db/re/item_packages.conf
+++ b/db/re/item_packages.conf
@@ -9,7 +9,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-2020 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/db/re/job_db.conf b/db/re/job_db.conf
index 21ba3f4cc..0c2be034d 100644
--- a/db/re/job_db.conf
+++ b/db/re/job_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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/db/re/map_zone_db.conf b/db/re/map_zone_db.conf
index 42391a6f0..2f2312b99 100644
--- a/db/re/map_zone_db.conf
+++ b/db/re/map_zone_db.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) 2013 Ind
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) 2013 Ind
//=
//= 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/db/re/mob_db.conf b/db/re/mob_db.conf
index e90b478e7..492b75a04 100644
--- a/db/re/mob_db.conf
+++ b/db/re/mob_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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
@@ -89,8 +89,26 @@ mob_db: (
}
Drops: {
AegisName: chance (string: int)
+ // or
+ AegisName: (chance, "Option Drop Group")
// ...
}
+ DamageTakenRate: damage taken rate (int, defaults to 100)
+ ViewData: {
+ SpriteId: sprite id (int, defaults to Id)
+ WeaponId: weapon id (int, defaults to 0)
+ ShieldId: shield id (int, defaults to 0)
+ RobeId: garment id (int, defaults to 0)
+ HeadTopId: top headgear id (int, defaults to 0)
+ HeadMidId: middle headgear id (int, defaults to 0)
+ HeadLowId: lower headgear id (int, defaults to 0)
+ HairStyleId: hair style id (int, defaults to 1)
+ BodyStyleId: clothes id (int, defaults to 0)
+ HairColorId: hair color id (int, defaults to 0)
+ BodyColorId: clothes color id (int, defaults to 0)
+ Gender: gender (string, defaults to "SEX_FEMALE")
+ Options: options (int, defaults to 0)
+ }
},
**************************************************************************/
@@ -64420,7 +64438,39 @@ mob_db: (
DamageMotion: 0
MvpExp: 0
},
-//2414,RUNAWAY_BOOK
+{
+ Id: 2414
+ SpriteName: "RUNAWAY_BOOK"
+ Name: "Runaway Book"
+ Hp: 10
+ Exp: 1
+ JExp: 1
+ Attack: [6, 9]
+ Def: 1
+ Mdef: 1
+ Stats: {
+ Str: 1
+ Agi: 1
+ Vit: 1
+ Dex: 1
+ Luk: 1
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Small"
+ Race: "RC_Human"
+ Element: ("Ele_Neutral", 1)
+ Mode: {
+ CanMove: true
+ CanAttack: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 150
+ AttackDelay: 864
+ AttackMotion: 500
+ DamageMotion: 192
+},
//2415,L_SEYREN
//2416,L_EREMES
//2417,L_HARWORD
@@ -64437,7 +64487,43 @@ mob_db: (
//2428,G_L_SEYREN
//2429,G_L_EREMES
//2430,G_L_HARWORD
-//2431,G_L_SHECIL
+{
+ Id: 2431
+ SpriteName: "G_L_SHECIL"
+ Name: "Hunter Shecil"
+ Lv: 98
+ Hp: 8835
+ Sp: 1
+ AttackRange: 14
+ Attack: [574, 223]
+ Def: 68
+ Mdef: 13
+ Stats: {
+ Str: 108
+ Agi: 113
+ Vit: 60
+ Int: 72
+ Dex: 148
+ Luk: 37
+ }
+ ViewRange: 10
+ ChaseRange: 12
+ Size: "Size_Medium"
+ Race: "RC_DemiHuman"
+ Element: ("Ele_Wind", 3)
+ Mode: {
+ CanMove: true
+ Aggressive: true
+ CanAttack: true
+ Angry: true
+ ChangeTargetMelee: true
+ ChangeTargetChase: true
+ }
+ MoveSpeed: 160
+ AttackDelay: 432
+ AttackMotion: 400
+ DamageMotion: 288
+},
//2432,G_L_KATRINN
//2433,G_L_MAGALETA
//2434,G_L_YGNIZEM
@@ -83925,6 +84011,30 @@ mob_db: (
//3156,EXPLORATION_ROVER
//3166,M_E_DEVILING
{
+ Id: 3169
+ SpriteName: "J_REB_SHECIL1"
+ Name: "Shooting Target"
+ Size: "Size_Small"
+ Race: "RC_Formless"
+ Element: ("Ele_Neutral", 1)
+ Mode: {
+ CanMove: true
+ }
+ MoveSpeed: 200
+},
+{
+ Id: 3170
+ SpriteName: "J_REB_SHECIL2"
+ Name: "Shooting Target"
+ Size: "Size_Small"
+ Race: "RC_Formless"
+ Element: ("Ele_Neutral", 1)
+ Mode: {
+ CanMove: true
+ }
+ MoveSpeed: 200
+},
+{
Id: 3181
SpriteName: "E1_FELOCK"
Name: "Captain Ferlock"
diff --git a/db/re/mob_skill_db.conf b/db/re/mob_skill_db.conf
index 4d06ebef4..624970c5f 100644
--- a/db/re/mob_skill_db.conf
+++ b/db/re/mob_skill_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/db/re/pet_db.conf b/db/re/pet_db.conf
index a28da61ff..3392a8191 100644
--- a/db/re/pet_db.conf
+++ b/db/re/pet_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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
@@ -34,65 +34,61 @@ pet_db:(
{
// ================ Mandatory fields ==============================
Id: ID (int)
- SpriteName: "Sprite_Name" (string)
Name: "Pet Name" (string)
+ EggItem: "Egg Item Constant" (string)
// ================ Optional fields ===============================
- TamingItem: Taming Item (string, defaults to 0)
- EggItem: Egg Id (string, defaults to 0)
- AccessoryItem: Equipment Id (string, defaults to 0)
- FoodItem: Food Id (string, defaults to 0)
- FoodEffectiveness: hunger points (int, defaults to 0)
- HungerDelay: hunger time (int, defaults to 0)
+ TamingItem: "Taming Item Constant" (string, defaults to 0)
+ FoodItem: "Food Item Constant" (string, defaults to "Pet_Food" (ID=537))
+ AccessoryItem: "Equipment Item Constant" (string, defaults to 0)
+ FoodEffectiveness: hunger points (int, defaults to 80)
+ HungerDelay: hunger time (int, defaults to 60)
+ HungerDecrement: hunger points (int, defaults to 1)
Intimacy: {
- Initial: start intimacy (int, defaults to 0)
- FeedIncrement: feeding intimacy (int, defaults to 0)
- OverFeedDecrement: overfeeding intimacy (int, defaults to 0)
- OwnerDeathDecrement: owner die intimacy (int, defaults to 0)
- }
- CaptureRate: capture rate (int, defaults to 0)
- Speed: speed (int, defaults to 0)
+ Initial: start intimacy (int, defaults to 250)
+ FeedIncrement: feeding intimacy (int, defaults to 10)
+ OverFeedDecrement: overfeeding intimacy (int, defaults to 100)
+ OwnerDeathDecrement: owner die intimacy (int, defaults to 20)
+ StarvingDelay: starving time (int, defaults to 20)
+ StarvingDecrement: starving intimacy (int, defaults to 20)
+ }
+ CaptureRate: capture rate (int, defaults to 1000)
+ Speed: speed (int, defaults to 150)
SpecialPerformance: true/false (boolean, defaults to false)
TalkWithEmotes: convert talk (boolean, defaults to false)
- AttackRate: attack rate (int, defaults to 0)
- DefendRate: Defence attack (int, defaults to 0)
- ChangeTargetRate: change target (int, defaults to 0)
+ AttackRate: attack rate (int, defaults to 300)
+ DefendRate: Defence attack (int, defaults to 300)
+ ChangeTargetRate: change target (int, defaults to 800)
+ AutoFeed: true/false (boolean, defaults to false)
+ PetScript: <" Pet Script (can also be multi-line) ">
+ EquipScript: <" Equip Script (can also be multi-line) ">
Evolve: {
- EggID: { (string, Evolved Pet EggID)
- Name: Amount (items required to perform evolution)
+ EggID: { (string, Evolved Pet EggID)
+ Name: Amount (items required to perform evolution)
...
}
}
- AutoFeed: true/false (boolean, defaults to false)
- PetScript: <" Pet Script (can also be multi-line) ">
- EquipScript: <" Equip Script (can also be multi-line) ">
},
**************************************************************************/
{
Id: 1002
- SpriteName: "PORING"
Name: "Poring"
TamingItem: "Unripe_Apple"
EggItem: "Poring_Egg"
AccessoryItem: "Backpack"
FoodItem: "Apple_Juice"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
SpecialPerformance: true
AttackRate: 350
DefendRate: 400
- ChangeTargetRate: 800
PetScript: <" petloot(10); ">
EquipScript: <"
- bonus(bLuk, 2);
- bonus(bCritical, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bLuk, 2);
+ bonus(bCritical, 1);
+ }
">
Evolve: {
Mastering_Egg: {
@@ -103,85 +99,65 @@ pet_db:(
},
{
Id: 1011
- SpriteName: "CHONCHON"
Name: "ChonChon"
TamingItem: "Rotten_Fish"
EggItem: "Chonchon_Egg"
AccessoryItem: "Monster_Oxygen_Mask"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 250
PetScript: <" petskillbonus(bAgi, 4, 10, 50); ">
EquipScript: <"
- bonus(bAgi, 1);
- bonus(bFlee, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bAgi, 1);
+ bonus(bFlee, 2);
+ }
">
},
{
Id: 1014
- SpriteName: "SPORE"
Name: "Spore"
TamingItem: "Dew_Laden_Moss"
EggItem: "Spore_Egg"
AccessoryItem: "Bark_Shorts"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
AttackRate: 350
DefendRate: 500
ChangeTargetRate: 500
PetScript: <" petrecovery(SC_POISON, 60); ">
EquipScript: <"
- bonus(bHit, 5);
- bonus(bAtk, -2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bHit, 5);
+ bonus(bAtk, -2);
+ }
">
},
{
Id: 1019
- SpriteName: "PECOPECO"
Name: "PecoPeco"
TamingItem: "Fatty_Chubby_Earthworm"
EggItem: "PecoPeco_Egg"
AccessoryItem: "Battered_Pot"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
AttackRate: 400
DefendRate: 500
- ChangeTargetRate: 800
PetScript: <" petskillbonus(bSpeedRate, 25, 20, 20); ">
EquipScript: <"
- bonus(bMaxHP, 150);
- bonus(bMaxSP, -10);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxHP, 150);
+ bonus(bMaxSP, -10);
+ }
">
Evolve: {
Grand_Peco_Peco_Egg: {
@@ -195,30 +171,24 @@ pet_db:(
},
{
Id: 1023
- SpriteName: "ORK_WARRIOR"
Name: "Orc Warrior"
TamingItem: "Horror_Of_Tribe"
EggItem: "Orc_Warrior_Egg"
AccessoryItem: "Wild_Flower"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
SpecialPerformance: true
AttackRate: 600
DefendRate: 200
ChangeTargetRate: 300
PetScript: <" petskillattack("NPC_PIERCINGATT", 100, 1, 0, 10); ">
EquipScript: <"
- bonus(bAtk, 10);
- bonus(bDef, -3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bAtk, 10);
+ bonus(bDef, -3);
+ }
">
Evolve: {
High_Orc_Egg: {
@@ -232,56 +202,40 @@ pet_db:(
},
{
Id: 1026
- SpriteName: "MUNAK"
Name: "Munak"
TamingItem: "No_Recipient"
EggItem: "Munak_Egg"
AccessoryItem: "Punisher"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
DefendRate: 750
ChangeTargetRate: 300
PetScript: <" petskillattack("NPC_DARKNESSATTACK", 444, 1, 0, 10); ">
EquipScript: <"
- bonus(bInt, 1);
- bonus(bDef, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bInt, 1);
+ bonus(bDef, 1);
+ }
">
},
{
Id: 1029
- SpriteName: "ISIS"
Name: "Isis"
TamingItem: "Armlet_Of_Obedience"
EggItem: "Isis_Egg"
AccessoryItem: "Queens_Hair_Ornament"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
AttackRate: 650
DefendRate: 450
ChangeTargetRate: 150
PetScript: <" petskillsupport("PR_MAGNIFICAT", 2, 60, 50, 50); ">
EquipScript: <"
- bonus(bMatkRate, -1);
- bonus(bAtkRate, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMatkRate, -1);
+ bonus(bAtkRate, 1);
+ }
">
Evolve: {
Little_Isis_Egg: {
@@ -294,141 +248,109 @@ pet_db:(
},
{
Id: 1031
- SpriteName: "POPORING"
Name: "Poporing"
TamingItem: "Bitter_Herb"
EggItem: "Poporing_Egg"
AccessoryItem: "Backpack"
FoodItem: "Green_Herb"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
DefendRate: 500
ChangeTargetRate: 400
PetScript: <" petloot(15); ">
EquipScript: <"
- bonus(bLuk, 2);
- bonus2(bSubEle, Ele_Poison, 10);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bLuk, 2);
+ bonus2(bSubEle, Ele_Poison, 10);
+ }
">
},
{
Id: 1035
- SpriteName: "HUNTER_FLY"
Name: "Hunter Fly"
TamingItem: "Monster_Juice"
EggItem: "Hunter_Fly_Egg"
AccessoryItem: "Monster_Oxygen_Mask"
FoodItem: "Red_Gemstone"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 200
PetScript: <" petskillattack("NPC_WINDATTACK", 888, 2, 0, 10); ">
EquipScript: <"
- bonus(bFlee, -5);
- bonus(bFlee2, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bFlee, -5);
+ bonus(bFlee2, 2);
+ }
">
},
{
Id: 1042
- SpriteName: "STEEL_CHONCHON"
Name: "Steel ChonChon"
TamingItem: "Lusty_Iron"
EggItem: "Steel_Chonchon_Egg"
AccessoryItem: "Monster_Oxygen_Mask"
FoodItem: "Iron_Ore"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 200
PetScript: <" petskillbonus(bAgiVit, 4, 20, 40); ">
EquipScript: <"
- bonus(bFlee, 6);
- bonus(bAgi, -1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bFlee, 6);
+ bonus(bAgi, -1);
+ }
">
},
{
Id: 1049
- SpriteName: "PICKY"
Name: "Picky"
TamingItem: "Earthworm_The_Dude"
EggItem: "Picky_Egg"
AccessoryItem: "Tiny_Egg_Shell"
FoodItem: "Red_Herb"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 600
ChangeTargetRate: 50
PetScript: <" petskillbonus(bStr, 3, 10, 50); ">
EquipScript: <"
- bonus(bStr, 1);
- bonus(bAtk, 5);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bStr, 1);
+ bonus(bAtk, 5);
+ }
">
},
{
Id: 1052
- SpriteName: "ROCKER"
Name: "Rocker"
TamingItem: "Singing_Flower"
EggItem: "Rocker_Egg"
AccessoryItem: "Rocker_Glasses"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
AttackRate: 350
DefendRate: 350
ChangeTargetRate: 600
PetScript: <" petskillbonus(bAllStats, 1, 10, 50); ">
EquipScript: <"
- bonus(bHPrecovRate, 5);
- bonus(bMaxHP, 25);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bHPrecovRate, 5);
+ bonus(bMaxHP, 25);
+ }
">
Evolve: {
Metaller_Egg: {
@@ -441,58 +363,43 @@ pet_db:(
},
{
Id: 1056
- SpriteName: "SMOKIE"
Name: "Smokie"
TamingItem: "Baked_Yam"
EggItem: "Smokie_Egg"
AccessoryItem: "Red_Muffler"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
AttackRate: 600
DefendRate: 600
ChangeTargetRate: 100
PetScript: <" petskillbonus(bPerfectHide, 1, 3600, 0); ">
EquipScript: <"
- bonus(bAgi, 1);
- bonus(bFlee2, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bAgi, 1);
+ bonus(bFlee2, 1);
+ }
">
},
{
Id: 1057
- SpriteName: "YOYO"
Name: "Yoyo"
TamingItem: "Tropical_Banana"
EggItem: "Yoyo_Egg"
AccessoryItem: "Monkey_Circlet"
FoodItem: "Banana_Juice"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
- DefendRate: 800
ChangeTargetRate: 400
PetScript: <" petloot(20); ">
EquipScript: <"
- bonus(bCritical, 3);
- bonus(bLuk, -1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bCritical, 3);
+ bonus(bLuk, -1);
+ }
">
Evolve: {
Choco_Egg: {
@@ -505,29 +412,22 @@ pet_db:(
},
{
Id: 1063
- SpriteName: "LUNATIC"
Name: "Lunatic"
TamingItem: "Rainbow_Carrot"
EggItem: "Lunatic_Egg"
AccessoryItem: "Silk_Ribbon"
FoodItem: "Carrot_Juice"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
ChangeTargetRate: 1000
PetScript: <" petskillbonus(bLuk, 3, 10, 50); ">
EquipScript: <"
- bonus(bCritical, 2);
- bonus(bAtk, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bCritical, 2);
+ bonus(bAtk, 2);
+ }
">
Evolve: {
Leaf_Lunatic_Egg: {
@@ -540,113 +440,82 @@ pet_db:(
},
{
Id: 1077
- SpriteName: "POISON_SPORE"
Name: "Poison Spore"
TamingItem: "Deadly_Noxious_Herb"
EggItem: "Poison_Spore_Egg"
AccessoryItem: "Bark_Shorts"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
AttackRate: 600
DefendRate: 200
ChangeTargetRate: 400
PetScript: <" petskillattack("NPC_POISON", 20, 0, 0, 10); ">
EquipScript: <"
- bonus(bStr, 1);
- bonus(bInt, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bStr, 1);
+ bonus(bInt, 1);
+ }
">
},
{
Id: 1101
- SpriteName: "BAPHOMET_"
Name: "Baphomet Jr."
TamingItem: "Book_Of_Devil"
EggItem: "Bapho_Jr_Egg"
AccessoryItem: "Skull_Helm"
FoodItem: "Honey"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
AttackRate: 1000
DefendRate: 100
ChangeTargetRate: 200
PetScript: <" petskillattack("NPC_DARKNESSATTACK", 1776, 4, 0, 5); ">
EquipScript: <"
- bonus(bDef, 1);
- bonus(bMdef, 1);
- bonus2(bResEff, Eff_Stun, -100);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bDef, 1);
+ bonus(bMdef, 1);
+ bonus2(bResEff, Eff_Stun, -100);
+ }
">
},
{
Id: 1107
- SpriteName: "DESERT_WOLF_B"
Name: "Baby Desert Wolf"
TamingItem: "Well_Dried_Bone"
EggItem: "Baby_Desert_Wolf_Egg"
AccessoryItem: "Transparent_Headgear"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 1000
- Speed: 150
AttackRate: 400
DefendRate: 400
ChangeTargetRate: 400
PetScript: <" petskillattack("SM_PROVOKE", 1, 0, 0, 5);">
EquipScript: <"
- bonus(bInt, 1);
- bonus(bMaxSP, 50);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bInt, 1);
+ bonus(bMaxSP, 50);
+ }
">
},
{
Id: 1109
- SpriteName: "DEVIRUCHI"
Name: "Deviruchi"
TamingItem: "Contracts_In_Shadow"
EggItem: "Deviruchi_Egg"
AccessoryItem: "Pacifier"
FoodItem: "Shoot"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
- AttackRate: 800
DefendRate: 200
ChangeTargetRate: 100
PetScript: <" petskillbonus(bAgiDexStr, 6, 20, 40); ">
EquipScript: <"
- bonus(bMatkRate, 1);
- bonus(bAtkRate, 1);
- bonus(bMaxHPrate, -3);
- bonus(bMaxSPrate, -3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMatkRate, 1);
+ bonus(bAtkRate, 1);
+ bonus(bMaxHPrate, -3);
+ bonus(bMaxSPrate, -3);
+ }
">
Evolve: {
Diabolic_Egg_: {
@@ -659,29 +528,20 @@ pet_db:(
},
{
Id: 1110
- SpriteName: "DOKEBI"
Name: "Dokebi"
TamingItem: "Old_Broom"
EggItem: "Dokkaebi_Egg"
AccessoryItem: "Wig"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("BS_HAMMERFALL", 1, 0, 0, 10); ">
EquipScript: <"
- bonus(bMatkRate, 1);
- bonus(bAtkRate, -1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMatkRate, 1);
+ bonus(bAtkRate, -1);
+ }
">
Evolve: {
Am_Mut_Egg: {
@@ -694,30 +554,24 @@ pet_db:(
},
{
Id: 1113
- SpriteName: "DROPS"
Name: "Drops"
TamingItem: "Orange_Juice"
EggItem: "Drops_Egg"
AccessoryItem: "Backpack"
FoodItem: "Yellow_Herb"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
DefendRate: 400
ChangeTargetRate: 500
PetScript: <" petloot(10); ">
EquipScript: <"
- bonus(bHit, 3);
- bonus(bAtk, 3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bHit, 3);
+ bonus(bAtk, 3);
+ }
">
Evolve: {
Eggring_Egg: {
@@ -738,30 +592,23 @@ pet_db:(
},
{
Id: 1155
- SpriteName: "PETIT"
Name: "Petite"
TamingItem: "Shining_Stone"
EggItem: "Green_Petite_Egg"
AccessoryItem: "Stellar_Hairpin"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 800
DefendRate: 400
ChangeTargetRate: 100
PetScript: <" petskillattack("WZ_HEAVENDRIVE", 500, 1, 0, 10); ">
EquipScript: <"
- bonus(bDef, -2);
- bonus(bMdef, -2);
- bonus(bAspdRate, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bDef, -2);
+ bonus(bMdef, -2);
+ bonus(bAspdRate, 1);
+ }
">
Evolve: {
Earth_Deleter_Egg: {
@@ -774,29 +621,23 @@ pet_db:(
},
{
Id: 1167
- SpriteName: "SAVAGE_BABE"
Name: "Savage Babe"
TamingItem: "Sweet_Milk"
EggItem: "Savage_Bebe_Egg"
AccessoryItem: "Green_Lace"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 40
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 1500
- Speed: 150
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 200
PetScript: <" petskillbonus(bVit, 4, 10, 50); ">
EquipScript: <"
- bonus(bVit, 1);
- bonus(bMaxHP, 50);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bVit, 1);
+ bonus(bMaxHP, 50);
+ }
">
Evolve: {
Savage_Egg: {
@@ -809,57 +650,42 @@ pet_db:(
},
{
Id: 1170
- SpriteName: "SOHEE"
Name: "Sohee"
TamingItem: "Silver_Knife_Of_Chaste"
EggItem: "Sohee_Egg"
AccessoryItem: "Golden_Bell"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
AttackRate: 100
DefendRate: 1000
ChangeTargetRate: 200
PetScript: <" petskillsupport(AL_HEAL, 10, 60, 33, 100); ">
EquipScript: <"
- bonus(bStr, 1);
- bonus(bDex, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bStr, 1);
+ bonus(bDex, 1);
+ }
">
},
{
Id: 1188
- SpriteName: "BON_GUN"
Name: "Bon Gun"
TamingItem: "Heart_Of_Her"
EggItem: "Bongun_Egg"
AccessoryItem: "Sword_Of_Grave_Keeper"
- FoodItem: "Pet_Food"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
SpecialPerformance: true
AttackRate: 600
DefendRate: 200
ChangeTargetRate: 400
PetScript: <" petskillattack("NPC_DARKNESSATTACK", 555, 1, 1, 1); ">
EquipScript: <"
- bonus(bVit, 1);
- bonus2(bResEff, Eff_Stun, 100);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bVit, 1);
+ bonus2(bResEff, Eff_Stun, 100);
+ }
">
Evolve: {
Hyegun_Egg: {
@@ -872,903 +698,554 @@ pet_db:(
},
{
Id: 1200
- SpriteName: "ZHERLTHSH"
Name: "Zealotus"
TamingItem: "Prohibition_Red_Candle"
EggItem: "Zherlthsh_Egg"
FoodItem: "Immortal_Heart"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 300
- Speed: 150
AttackRate: 1000
DefendRate: 100
ChangeTargetRate: 500
PetScript: <" petskillattack("AS_SONICBLOW", 1, 0, 0, 3); ">
EquipScript: <"
- bonus2(bAddRace, RC_DemiPlayer, 2);
- bonus2(bMagicAddRace, RC_DemiPlayer, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus2(bAddRace, RC_DemiPlayer, 2);
+ bonus2(bMagicAddRace, RC_DemiPlayer, 2);
+ }
">
},
{
Id: 1245
- SpriteName: "GOBLINE_XMAS"
Name: "Christmas Goblin"
TamingItem: "Sweet_Candy_Striper"
EggItem: "Santa_Goblin_Egg"
FoodItem: "Scell"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("MG_SIGHT", 5, 0, 5, 5); ">
EquipScript: <"
- bonus(bMaxHP, 30);
- bonus2(bSubEle, Ele_Water, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxHP, 30);
+ bonus2(bSubEle, Ele_Water, 1);
+ }
">
},
{
Id: 1275
- SpriteName: "ALICE"
Name: "Alice"
TamingItem: "Sway_Apron"
EggItem: "Alice_Egg"
FoodItem: "White_Potion"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
AttackRate: 100
DefendRate: 1000
ChangeTargetRate: 200
PetScript: <" petskillsupport("AL_HEAL", 5, 60, 25, 100); ">
EquipScript: <"
- bonus(bMdef, 1);
- bonus2(bAddRaceTolerance, RC_DemiPlayer, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMdef, 1);
+ bonus2(bAddRaceTolerance, RC_DemiPlayer, 1);
+ }
">
},
// New Pets
{
Id: 1122
- SpriteName: "GOBLIN_1"
Name: "Goblin"
TamingItem: "Knife_Goblin_Ring"
EggItem: "Knife_Goblin_Egg"
FoodItem: "Green_Apple"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("NPC_WINDATTACK", 5, 0, 5, 5); ">
},
{
Id: 1123
- SpriteName: "GOBLIN_2"
Name: "Goblin"
TamingItem: "Flail_Goblin_Ring"
EggItem: "Flail_Goblin_Egg"
FoodItem: "Green_Apple"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("NPC_FIREATTACK", 5, 0, 5, 5); ">
},
{
Id: 1125
- SpriteName: "GOBLIN_4"
Name: "Goblin"
TamingItem: "Hammer_Goblin_Ring"
EggItem: "Hammer_Goblin_Egg"
FoodItem: "Green_Apple"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("NPC_GROUNDATTACK", 5, 0, 5, 5); ">
},
{
Id: 1208
- SpriteName: "WANDER_MAN"
Name: "Wanderer"
TamingItem: "Skull_Of_Vagabond"
EggItem: "Wanderer_Egg"
FoodItem: "Spirit_Liquor"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("NPC_UNDEADATTACK", 5, 0, 5, 5); ">
},
{
Id: 1382
- SpriteName: "DIABOLIC"
Name: "Diabolic"
TamingItem: "Red_Burning_Stone"
EggItem: "Diabolic_Egg"
FoodItem: "Meat_Veg_Skewer"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("WZ_METEOR", 2, 0, 5, 5); ">
},
{
Id: 1385
- SpriteName: "DELETER_"
Name: "Deleter"
TamingItem: "Holy_Marble"
EggItem: "Red_Deleter_Egg"
FoodItem: "Whole_Barbecue"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("SM_MAGNUM", 5, 0, 5, 5); ">
},
{
Id: 1879
- SpriteName: "ECLIPSE_P"
Name: "Spring Rabbit"
EggItem: "Spring_Rabbit_Egg"
FoodItem: "Bok_Choy"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("TF_THROWSTONE", 1, 0, 5, 5); ">
},
// Episode 12
{
Id: 1963
- SpriteName: "P_CHUNG_E"
Name: "New Year Doll"
EggItem: "New_Year_Doll_Egg"
FoodItem: "Mojji"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 30
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
- CaptureRate: 800
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("CR_SHIELDCHARGE", 5, 0, 5, 5); ">
},
// Episode 13
{
Id: 1815
- SpriteName: "EVENT_RICECAKE"
Name: "Rice Cake"
EggItem: "Rice_Cake_Egg"
FoodItem: "Green_Herb"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
SpecialPerformance: true
AttackRate: 500
DefendRate: 500
ChangeTargetRate: 200
PetScript: <" petskillsupport("CR_DEFENDER", 3, 240, 50, 100); ">
EquipScript: <"
- bonus2(bSubEle, Ele_Neutral, 1);
- bonus(bMaxHPrate, -1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus2(bSubEle, Ele_Neutral, 1);
+ bonus(bMaxHPrate, -1);
+ }
">
},
{
Id: 2210
- SpriteName: "XMAS_LUNATIC"
Name: "Christmas Snow Rabbit"
EggItem: "Snow_Rabbit_Egg"
FoodItem: "Candy"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bExpAddRace, RC_All, 5); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bExpAddRace, RC_All, 5);
+ ">
},
// Episode 13.2
{
Id: 1040
- SpriteName: "GOLEM"
Name: "Golem"
TamingItem: "Magical_Lithography"
EggItem: "Golem_Egg"
AccessoryItem: "Windup_Spring"
FoodItem: "Mystic_Stone"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bMaxHP, 100);
- bonus(bFlee, -5);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxHP, 100);
+ bonus(bFlee, -5);
+ }
">
},
{
Id: 1143
- SpriteName: "MARIONETTE"
Name: "Marionette"
TamingItem: "Delicious_Shaved_Ice"
EggItem: "Marionette_Egg"
AccessoryItem: "Star_Hairband"
FoodItem: "Small_Snow_Flower"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bSPrecovRate, 3); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bSPrecovRate, 3);
+ ">
},
{
Id: 1148
- SpriteName: "MEDUSA"
Name: "Medusa"
TamingItem: "Splendid_Mirror"
EggItem: "Medusa_Egg"
AccessoryItem: "Queens_Coronet"
FoodItem: "Apple_Pudding"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bVit, 1);
- bonus2(bResEff, Eff_Stone, 500);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bVit, 1);
+ bonus2(bResEff, Eff_Stone, 500);
+ }
">
},
{
Id: 1179
- SpriteName: "WHISPER"
Name: "Whisper"
TamingItem: "Fit_Pipe"
EggItem: "Whisper_Egg"
AccessoryItem: "Spirit_Chain_"
FoodItem: "Damp_Darkness"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bFlee, 7);
- bonus(bDef, -3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bFlee, 7);
+ bonus(bDef, -3);
+ }
">
},
{
Id: 1299
- SpriteName: "GOBLIN_LEADER"
Name: "Goblin Leader"
TamingItem: "Staff_Of_Leader"
EggItem: "Goblin_Leader_Egg"
AccessoryItem: "Nice_Badge"
FoodItem: "Big_Cell"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 50
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bAddRace, RC_DemiPlayer, 3); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bAddRace, RC_DemiPlayer, 3);
+ ">
},
{
Id: 1370
- SpriteName: "SUCCUBUS"
Name: "Succubus"
TamingItem: "Boys_Naivety"
EggItem: "Succubus_Egg"
AccessoryItem: "Black_Butterfly_Mask"
FoodItem: "Vital_Flower_"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bHPDrainRate, 50, 5); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bHPDrainRate, 50, 5);
+ ">
},
{
Id: 1374
- SpriteName: "INCUBUS"
Name: "Incubus"
TamingItem: "Grils_Naivety"
EggItem: "Incubus_Egg"
AccessoryItem: "Ball_Mask"
FoodItem: "Vital_Flower"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 50
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bMaxSPrate, 3); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bMaxSPrate, 3);
+ ">
},
{
Id: 1379
- SpriteName: "NIGHTMARE_TERROR"
Name: "Nightmare Terror"
TamingItem: "Hell_Contract"
EggItem: "Nightmare_Terror_Egg"
AccessoryItem: "Hell_Horn"
FoodItem: "Fresh_Plant"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bResEff, Eff_Sleep, 10000); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bResEff, Eff_Sleep, 10000);
+ ">
},
{
Id: 1401
- SpriteName: "SHINOBI"
Name: "Shinobi"
TamingItem: "Kuloren"
EggItem: "Shinobi_Egg"
AccessoryItem: "Wine_On_Sleeve"
FoodItem: "Grilled_Rice_Cake"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bAgi, 2); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bAgi, 2);
+ ">
},
{
Id: 1404
- SpriteName: "MIYABI_NINGYO"
Name: "Miyabi Doll"
TamingItem: "Gril_Doll"
EggItem: "Miyabi_Ningyo_Egg"
AccessoryItem: "Summer_Fan"
FoodItem: "Well_Ripened_Berry"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 15
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bInt, 1);
- bonus(bCastrate, -3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bInt, 1);
+ bonus(bCastrate, -3);
+ }
">
},
{
Id: 1416
- SpriteName: "WICKED_NYMPH"
Name: "Evil Nymph"
TamingItem: "Charming_Lotus"
EggItem: "Wicked_Nymph_Egg"
AccessoryItem: "Jade_Trinket"
FoodItem: "Morning_Dew"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 15
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bMaxSP, 30);
- bonus(bSPrecovRate, 5);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxSP, 30);
+ bonus(bSPrecovRate, 5);
+ }
">
},
{
Id: 1495
- SpriteName: "STONE_SHOOTER"
Name: "Stone Shooter"
TamingItem: "Oilpalm_Coconut"
EggItem: "Stone_Shooter_Egg"
AccessoryItem: "Apro_Hair"
FoodItem: "Plant_Neutrient"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus2(bSubEle, Ele_Fire, 3); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bSubEle, Ele_Fire, 3);
+ ">
},
{
Id: 1504
- SpriteName: "DULLAHAN"
Name: "Dullahan"
TamingItem: "Luxury_Whisky_Bottle"
EggItem: "Dullahan_Egg"
AccessoryItem: "Death_Coil"
FoodItem: "Sunset_On_The_Rock"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bCritAtkRate, 5); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bCritAtkRate, 5);
+ ">
},
{
Id: 1505
- SpriteName: "LOLI_RURI"
Name: "Loli Ruri"
TamingItem: "Very_Red_Juice"
EggItem: "Loli_Ruri_Egg"
AccessoryItem: "Fashionable_Glasses"
FoodItem: "Pumpkin_Pie_"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 15
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus(bMaxHPrate, 3);
- bonus3(bAutoSpellWhenHit, "AL_HEAL", 1, 50);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bMaxHPrate, 3);
+ bonus3(bAutoSpellWhenHit, "AL_HEAL", 1, 50);
+ }
">
},
{
Id: 1513
- SpriteName: "CIVIL_SERVANT"
Name: "Mao Guai"
TamingItem: "Fan_Of_Wind"
EggItem: "Civil_Servant_Egg"
AccessoryItem: "Golden_Earing"
FoodItem: "Flavored_Alcohol"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 500
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
- EquipScript: <" bonus(bMaxSP, 10); ">
+ EquipScript: <"
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus(bMaxSP, 10);
+ ">
},
{
Id: 1519
- SpriteName: "CHUNG_E"
Name: "Green Maiden"
TamingItem: "Tantanmen"
EggItem: "Chung_E_Egg"
FoodItem: "Bun_"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
PetScript: <" petskillattack("CR_SHIELDCHARGE", 5, 0, 5, 5); ">
EquipScript: <"
- bonus(bDef, 1);
- bonus2(bAddRaceTolerance, RC_DemiPlayer, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bDef, 1);
+ bonus2(bAddRaceTolerance, RC_DemiPlayer, 1);
+ }
">
},
{
Id: 1586
- SpriteName: "LEAF_CAT"
Name: "Leaf Cat"
TamingItem: "Very_Soft_Plant"
EggItem: "Leaf_Cat_Egg"
AccessoryItem: "Green_Lucky_Bag"
FoodItem: "Fish_With_Blue_Back"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 20
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus2(bAddRaceTolerance, RC_Brute, 3);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL)
+ bonus2(bAddRaceTolerance, RC_Brute, 3);
">
},
{
Id: 1630
- SpriteName: "BACSOJIN_"
Name: "White Lady"
TamingItem: "Shiny_Wing_Gown"
EggItem: "Bacsojin_Egg"
AccessoryItem: "Round_Hair_Ornament"
FoodItem: "Traditional_Cookie"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 2000
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
},
{
Id: 1837
- SpriteName: "IMP"
Name: "Fire Imp"
TamingItem: "Flaming_Ice"
EggItem: "Imp_Egg"
AccessoryItem: "Horn_Protector"
FoodItem: "Flame_Gemstone"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
CaptureRate: 200
- Speed: 150
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus2(bSubEle, Ele_Fire, 2);
- bonus2(bAddEle, Ele_Fire, 2);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus2(bSubEle, Ele_Fire, 2);
+ bonus2(bAddEle, Ele_Fire, 2);
+ }
">
},
// Episode 13.2 Brasilis
{
Id: 2057
- SpriteName: "E_CRAMP"
Name: "Strange Cramp"
TamingItem: "Leaf_Cat_Ball"
EggItem: "Mystic_Leaf_Cat_Ball"
CaptureRate: 50
AttackRate: 350
DefendRate: 400
- ChangeTargetRate: 800
},
{
Id: 2081
- SpriteName: "E_HYDRA"
Name: "Strange Hydra"
TamingItem: "Leaf_Cat_Ball"
EggItem: "Mystic_Leaf_Cat_Ball"
CaptureRate: 50
AttackRate: 350
DefendRate: 400
- ChangeTargetRate: 800
},
// Episode 14.1
{
Id: 2313
- SpriteName: "TIKBALANG"
Name: "Tikbalang"
TamingItem: "Tikbalang_Belt"
EggItem: "Tikbalang_Pet"
FoodItem: "Monsters_Feed"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
- CaptureRate: 1000
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
EquipScript: <"
- bonus2(bAddDamageClass, 2320, 10);
- bonus2(bAddDamageClass, 2321, 10);
- bonus2(bAddDamageClass, 2322, 10);
- bonus2(bAddDamageClass, 2317, 10);
- bonus2(bAddDamageClass, 2318, 10);
- bonus2(bAddDamageClass, 2327, 10);
- bonus2(bAddDamageClass, 2319, 10);
- bonus2(bAddDamageClass, 2333, 10);
- bonus2(bAddDamageClass, 2332, 10);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus2(bAddDamageClass, 2320, 10);
+ bonus2(bAddDamageClass, 2321, 10);
+ bonus2(bAddDamageClass, 2322, 10);
+ bonus2(bAddDamageClass, 2317, 10);
+ bonus2(bAddDamageClass, 2318, 10);
+ bonus2(bAddDamageClass, 2327, 10);
+ bonus2(bAddDamageClass, 2319, 10);
+ bonus2(bAddDamageClass, 2333, 10);
+ bonus2(bAddDamageClass, 2332, 10);
+ }
">
},
// New Pets
{
Id: 1242
- SpriteName: "MARIN"
Name: "Marin"
TamingItem: "Juicy_Fruit"
EggItem: "Marin_Egg"
AccessoryItem: "Tw_Backpack"
FoodItem: "Fruit_Sundae"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
},
{
Id: 2200
- SpriteName: "J_TAINI"
Name: "Tiny"
EggItem: "Egg_Of_Tiny"
FoodItem: "Apple"
- FoodEffectiveness: 80
- HungerDelay: 60
- Intimacy: {
- Initial: 250
- FeedIncrement: 10
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
- }
- Speed: 150
SpecialPerformance: true
- AttackRate: 300
- DefendRate: 300
- ChangeTargetRate: 800
},
// Episode 14.2
{
Id: 2398
- SpriteName: "LITTLE_PORING"
Name: "Little Poring"
TamingItem: "Unripe_Apple2"
EggItem: "Novice_Poring_Egg"
AccessoryItem: "Backpack"
FoodItem: "Apple_Juice"
- FoodEffectiveness: 80
- HungerDelay: 60
Intimacy: {
- Initial: 250
FeedIncrement: 50
- OverFeedDecrement: 100
- OwnerDeathDecrement: 20
}
CaptureRate: 2000
- Speed: 150
SpecialPerformance: true
AttackRate: 350
DefendRate: 400
- ChangeTargetRate: 800
PetScript: <" petloot(10); ">
EquipScript: <"
- bonus(bLuk, 2);
- bonus(bCritical, 1);
+ if (getpetinfo(PETINFO_INTIMACY) >= PET_INTIMACY_LOYAL) {
+ bonus(bLuk, 2);
+ bonus(bCritical, 1);
+ }
">
},
// New Pets [Need Info]
{
Id: 1090
- SpriteName: "MASTERING"
Name: "Mastering"
EggItem: "Mastering_Egg"
AutoFeed: true
@@ -1783,14 +1260,12 @@ pet_db:(
},
{
Id: 1096
- SpriteName: "ANGELING"
Name: "Angeling"
EggItem: "Angeling_Egg"
AutoFeed: true
},
{
Id: 1301
- SpriteName: "AM_MUT"
Name: "Am Mut"
EggItem: "Am_Mut_Egg"
AutoFeed: true
@@ -1798,7 +1273,6 @@ pet_db:(
/*
{
Id: 3636
- SpriteName: "LITTLE_ISIS"
Name: "Little Isis"
EggItem: "Little_Isis_Egg"
AutoFeed: true
@@ -1806,7 +1280,6 @@ pet_db:(
*/
{
Id: 1214
- SpriteName: "CHOCO"
Name: "Choco"
EggItem: "Choco_Egg"
AutoFeed: true
@@ -1814,7 +1287,6 @@ pet_db:(
/*
{
Id: 3495
- SpriteName: "DR_EGGRING"
Name: "Eggring"
EggItem: "Eggring_Egg"
AutoFeed: true
@@ -1822,7 +1294,6 @@ pet_db:(
*/
{
Id: 1512
- SpriteName: "HYEGUN"
Name: "Hyegun"
EggItem: "Hyegun_Egg"
AutoFeed: true
@@ -1830,7 +1301,6 @@ pet_db:(
/*
{
Id: 3496
- SpriteName: "DR_LUNATIC"
Name: "Leaf Lunatic"
EggItem: "Leaf_Lunatic_Egg"
AutoFeed: true
@@ -1838,7 +1308,6 @@ pet_db:(
*/
{
Id: 1180
- SpriteName: "NINE_TAIL"
Name: "Nine Tails"
EggItem: "Nine_Tails_Egg"
AutoFeed: true
@@ -1855,7 +1324,6 @@ pet_db:(
},
{
Id: 1307
- SpriteName: "CAT_O_NINE_TAIL"
Name: "Cat o' Nine Tails"
EggItem: "Cat_o_Nine_Tails_Egg"
AutoFeed: true
@@ -1873,7 +1341,6 @@ pet_db:(
/*
{
Id: 3669
- SpriteName: "DIABOLIC2"
Name: "Diabolic"
EggItem: "Diabolic_Egg_"
AutoFeed: true
@@ -1882,7 +1349,6 @@ pet_db:(
/*
{
Id: 3670
- SpriteName: "DELETER_2"
Name: "Earth Deleter"
EggItem: "Earth_Deleter_Egg"
AutoFeed: true
@@ -1890,7 +1356,6 @@ pet_db:(
*/
{
Id: 1622
- SpriteName: "TEDDY_BEAR"
Name: "Teddy Bear"
EggItem: "Teddy_Bear_Egg"
AutoFeed: true
@@ -1907,7 +1372,6 @@ pet_db:(
},
{
Id: 1632
- SpriteName: "GREMLIN"
Name: "Gremlin"
EggItem: "Gremlin_Egg"
AutoFeed: true
@@ -1925,7 +1389,6 @@ pet_db:(
/*
{
Id: 3731
- SpriteName: "SCATLETON"
Name: "Scatleton Crate"
EggItem: "Scatleton_Crate"
AutoFeed: true
@@ -1933,7 +1396,6 @@ pet_db:(
*/
{
Id: 1041
- SpriteName: "MUMMY"
Name: "Mummy"
EggItem: "Mummy_Egg"
AutoFeed: true
@@ -1950,42 +1412,36 @@ pet_db:(
},
{
Id: 1010
- SpriteName: "WILOW"
Name: "Willow"
EggItem: "Willow_Egg"
AutoFeed: true
},
{
Id: 1782
- SpriteName: "ROWEEN"
Name: "Roween"
EggItem: "Roween_Egg"
AutoFeed: true
},
{
Id: 1773
- SpriteName: "HODREMLIN"
Name: "Hodremlin"
EggItem: "Hodremlin_Egg"
AutoFeed: true
},
{
Id: 1058
- SpriteName: "METALLER"
Name: "Metaller"
EggItem: "Metaller_Egg"
AutoFeed: true
},
{
Id: 1297
- SpriteName: "ANCIENT_MUMMY"
Name: "Ancient Mummy"
EggItem: "Ancient_Mummy_Egg"
AutoFeed: true
},
/*{
Id: 2995
- SpriteName: "XM_TEDDY_BEAR"
Name: "Abandoned Teddy Bear"
EggItem: "Abandoned_Teddy_Bear_Egg"
AutoFeed: true
@@ -1994,7 +1450,6 @@ pet_db:(
/* UNKNOWN MONSTER
{
Id: 0
- SpriteName: "X"
Name: "Sweet Drops"
EggItem: "Sweet_Drops_Egg"
AutoFeed: true
@@ -2002,14 +1457,12 @@ pet_db:(
*/
{
Id: 1159
- SpriteName: "PHREEONI"
Name: "Phreeoni"
EggItem: "Phreeoni_Egg"
AutoFeed: true
},
{
Id: 1150
- SpriteName: "MOONLIGHT"
Name: "Moonlight Flower"
EggItem: "Moonlight_Flower_Egg"
AutoFeed: true
@@ -2017,7 +1470,6 @@ pet_db:(
/*
{
Id: 3971
- SpriteName: "SKELION"
Name: "Skelion"
EggItem: "Skelion_Egg"
AutoFeed: true
diff --git a/db/re/refine_db.conf b/db/re/refine_db.conf
index 4974e0033..db6e64868 100644
--- a/db/re/refine_db.conf
+++ b/db/re/refine_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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
@@ -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 ec8548ab2..8cb55d918 100644
--- a/db/re/skill_db.conf
+++ b/db/re/skill_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2017 Hercules Dev Team
+//= Copyright (C) 2014-2020 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,6 +75,8 @@
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)
+ IsCombo: true/false (boolean, defaults to false)
}
AttackType: "Attack Type" (string, defaults to "None")
Types: "None", "Weapon", "Magic" or "Misc"
@@ -388,7 +390,7 @@ skill_db: (
SplashRange: 2
KnockBackTiles: 2
AfterCastActDelay: 2000
- SkillData1: 2000
+ CoolDown: 2000
SkillData2: 10000
FixedCastTime: 0
Requirements: {
@@ -4110,6 +4112,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4170,6 +4173,7 @@ skill_db: (
SkillInfo: {
Trap: true
AllowReproduce: true
+ HiddenTrap: true
}
AttackType: "Misc"
Element: "Ele_Earth"
@@ -4222,6 +4226,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4281,6 +4286,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4329,6 +4335,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4390,6 +4397,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -4452,6 +4460,7 @@ skill_db: (
SkillInfo: {
Trap: true
AllowReproduce: true
+ HiddenTrap: true
}
AttackType: "Weapon"
Element: "Ele_Water"
@@ -4638,6 +4647,7 @@ skill_db: (
}
SkillInfo: {
Trap: true
+ HiddenTrap: true
}
AttackType: "Misc"
DamageType: {
@@ -8058,6 +8068,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
DamageType: {
@@ -8146,6 +8157,7 @@ skill_db: (
SkillInfo: {
NoCastSelf: true
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -8204,6 +8216,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -11228,6 +11241,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -11274,6 +11288,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12595,6 +12610,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12647,6 +12663,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12697,6 +12714,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12752,6 +12770,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -12803,6 +12822,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -15362,6 +15382,7 @@ skill_db: (
}
SkillInfo: {
Spirit: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -16022,6 +16043,7 @@ skill_db: (
}
AmmoTypes: {
A_BULLET: true
+ A_GRENADE: true
}
AmmoAmount: 5
}
@@ -18141,6 +18163,9 @@ skill_db: (
Lv10: 240000
}
FixedCastTime: -1
+ Requirements: {
+ HPCost: 15
+ }
},
{
Id: 691
@@ -19162,6 +19187,31 @@ skill_db: (
FixedCastTime: 1000
Requirements: {
SPCost: 1
+ WeaponTypes: {
+ Daggers: true
+ 1HSwords: true
+ 2HSwords: true
+ 1HSpears: true
+ 2HSpears: true
+ 1HAxes: true
+ 2HAxes: true
+ Maces: true
+ 2HMaces: true
+ Staves: true
+ Bows: true
+ Knuckles: true
+ Instruments: true
+ Whips: true
+ Books: true
+ Katars: true
+ Revolvers: true
+ Rifles: true
+ GatlingGuns: true
+ Shotguns: true
+ GrenadeLaunchers: true
+ FuumaShurikens: true
+ 2HStaves: true
+ }
}
},
{
@@ -19607,6 +19657,9 @@ skill_db: (
SkillType: {
Self: true
}
+ SkillInfo: {
+ IsCombo: true
+ }
AttackType: "Weapon"
Element: "Ele_Weapon"
DamageType: {
@@ -19643,6 +19696,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25666,6 +25720,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25790,6 +25845,7 @@ skill_db: (
}
SkillInfo: {
NoCastSelf: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -25835,6 +25891,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
Element: "Ele_Weapon"
@@ -26311,6 +26368,7 @@ skill_db: (
}
SkillInfo: {
AllowReproduce: true
+ IsCombo: true
}
AttackType: "Weapon"
NumberOfHits: -7
@@ -36184,9 +36242,8 @@ skill_db: (
}
SplashRange: 2
KnockBackTiles: 2
- AfterCastActDelay: 1500
- AfterCastWalkDelay: 2000
- SkillData1: 2000
+ AfterCastActDelay: 2000
+ CoolDown: 2000
SkillData2: 10000
FixedCastTime: 0
Requirements: {
diff --git a/db/re/skill_tree.conf b/db/re/skill_tree.conf
index e9feb2111..7ddfdce4f 100644
--- a/db/re/skill_tree.conf
+++ b/db/re/skill_tree.conf
@@ -9,7 +9,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-2020 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/db/roulette_db.conf b/db/roulette_db.conf
index 8f4e38a88..1ab309d58 100644
--- a/db/roulette_db.conf
+++ b/db/roulette_db.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2015 Hercules Dev Team
+//= Copyright (C) 2014-2020 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/db/sc_config.conf b/db/sc_config.conf
new file mode 100644
index 000000000..11f8579e5
--- /dev/null
+++ b/db/sc_config.conf
@@ -0,0 +1,3731 @@
+//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019-2020 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/>.
+//================= Description ===========================================
+// Configurations file for status effects
+//=========================================================================
+
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+SC_TYPE: {
+ // ================ Optional fields ===============================
+ Visible: (bool) SC can be visible for all players
+ Flags: {
+ NoDeathReset: (bool) SC cannot be removed by death.
+ NoSave: (bool) SC cannot be saved.
+ NoDispelReset: (bool) SC cannot be reset by dispell.
+ NoClearanceReset: (bool) SC cannot be reset by clearance.
+ Buff: (bool) SC considered as buff and be removed by Hermode and etc.
+ Debuff: (bool) SC considered as debuff and be removed by Gospel and etc.
+ NoMadoReset: (bool) SC cannot be reset when MADO Gear is taken off.
+ NoAllReset: (bool) SC cannot be reset by 'sc_end SC_ALL' and status change clear.
+ NoBoss: (bool) SC cannot be applied to boss monsters.
+ }
+ Icon: (string, defaults to SI_BLANK) The status icon attached to the SC
+}
+**************************************************************************/
+SC_PROVOKE: {
+ Flags: {
+ Debuff: true
+ NoBoss: true
+ }
+ Icon: "SI_PROVOKE"
+}
+SC_ENDURE: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_ENDURE"
+}
+SC_HIDING: {
+ Flags: {
+ NoDispelReset: true
+ }
+ Icon: "SI_HIDING"
+}
+SC_CLOAKING: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ }
+ Icon: "SI_CLOAKING"
+}
+SC_TWOHANDQUICKEN: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_TWOHANDQUICKEN"
+}
+SC_CONCENTRATION: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_CONCENTRATION"
+}
+SC_ENCHANTPOISON: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_ENCHANTPOISON"
+}
+SC_POISONREACT: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_POISONREACT"
+}
+SC_QUAGMIRE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+ Icon: "SI_QUAGMIRE"
+}
+SC_ANGELUS: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_ANGELUS"
+}
+SC_BLESSING: {
+ Flags: {
+ Buff: true
+ NoMadoReset: true
+ NoBoss: true
+ }
+ Icon: "SI_BLESSING"
+}
+SC_INC_AGI: {
+ Flags: {
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_INC_AGI"
+}
+SC_DEC_AGI: {
+ Flags: {
+ NoSave: true
+ Debuff: true
+ NoBoss: true
+ }
+ Icon: "SI_DEC_AGI"
+}
+SC_SLOWPOISON: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SLOWPOISON"
+}
+SC_IMPOSITIO: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_IMPOSITIO"
+}
+SC_SUFFRAGIUM: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SUFFRAGIUM"
+}
+SC_ASPERSIO: {
+ Flags: {
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_ASPERSIO"
+}
+SC_BENEDICTIO: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_BENEDICTIO"
+}
+SC_KYRIE: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_KYRIE"
+}
+SC_MAGNIFICAT: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_MAGNIFICAT"
+}
+SC_GLORIA: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_GLORIA"
+}
+SC_LEXAETERNA: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_LEXAETERNA"
+}
+SC_ADRENALINE: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_ADRENALINE"
+}
+SC_WEAPONPERFECT: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_WEAPONPERFECT"
+}
+SC_OVERTHRUST: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_OVERTHRUST"
+}
+SC_MAXIMIZEPOWER: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_MAXIMIZE"
+}
+SC_TRICKDEAD: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_TRICKDEAD"
+}
+SC_SHOUT: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SHOUT"
+}
+SC_ENERGYCOAT: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_ENERGYCOAT"
+}
+SC_ATTHASTE_POTION1: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ATTHASTE_POTION1"
+}
+SC_ATTHASTE_POTION2: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ATTHASTE_POTION2"
+}
+SC_ATTHASTE_POTION3: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_ATTHASTE_POTION3"
+}
+SC_MOVHASTE_POTION: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MOVHASTE_POTION"
+}
+SC_BARRIER: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_NOEQUIPWEAPON: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_NOEQUIPWEAPON"
+}
+SC_NOEQUIPSHIELD: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_NOEQUIPSHIELD"
+}
+SC_NOEQUIPARMOR: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_NOEQUIPARMOR"
+}
+SC_NOEQUIPHELM: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_NOEQUIPHELM"
+}
+SC_PROTECTWEAPON: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROTECTWEAPON"
+}
+SC_PROTECTSHIELD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROTECTSHIELD"
+}
+SC_PROTECTARMOR: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROTECTARMOR"
+}
+SC_PROTECTHELM: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROTECTHELM"
+}
+SC_AUTOGUARD: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_AUTOGUARD"
+}
+SC_REFLECTSHIELD: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_REFLECTSHIELD"
+}
+SC_DEVOTION: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_PROVIDENCE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_PROVIDENCE"
+}
+SC_DEFENDER: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_DEFENDER"
+}
+SC_MAGICROD: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_AUTOSPELL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_AUTOSPELL"
+}
+SC_SPEARQUICKEN: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SPEARQUICKEN"
+}
+SC_BLADESTOP: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_EXPLOSIONSPIRITS: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_EXPLOSIONSPIRITS"
+}
+SC_STEELBODY: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_STEELBODY"
+}
+SC_PROPERTYFIRE: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROPERTYFIRE"
+}
+SC_PROPERTYWATER: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROPERTYWATER"
+}
+SC_PROPERTYWIND: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROPERTYWIND"
+}
+SC_PROPERTYGROUND: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROPERTYGROUND"
+}
+SC_STOP: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_STOP"
+}
+SC_PROPERTYUNDEAD: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROPERTYUNDEAD"
+}
+SC_AURABLADE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_AURABLADE"
+}
+SC_PARRYING: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PARRYING"
+}
+SC_LKCONCENTRATION: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_LKCONCENTRATION"
+}
+SC_TENSIONRELAX: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_TENSIONRELAX"
+}
+SC_BERSERK: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_BERSERK"
+}
+SC_SACRIFICE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_GOSPEL: {
+ Flags: {
+ NoSave: true
+ Debuff: true
+ }
+}
+SC_SAFETYWALL: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_PNEUMA: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ASSUMPTIO: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_ASSUMPTIO"
+}
+SC_BASILICA: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_VOLCANO: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_GROUNDMAGIC"
+}
+SC_DELUGE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_GROUNDMAGIC"
+}
+SC_VIOLENTGALE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_GROUNDMAGIC"
+}
+SC_MAGICPOWER: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_MAGICPOWER"
+}
+SC_EDP: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_EDP"
+}
+SC_TRUESIGHT: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_TRUESIGHT"
+}
+SC_WINDWALK: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_WINDWALK"
+}
+SC_MELTDOWN: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_MELTDOWN"
+}
+SC_CARTBOOST: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_CARTBOOST"
+}
+SC_BLOODING: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_BLOODING"
+}
+SC_JOINTBEAT: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+ Icon: "SI_JOINTBEAT"
+}
+SC_MINDBREAKER: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_MEMORIZE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+}
+SC_FOGWALL: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_SPIDERWEB: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+}
+SC_SUB_WEAPONPROPERTY: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+}
+SC_RUN: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_RUN"
+}
+SC_STRUP: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_STRUP"
+}
+SC_PROPERTYDARK: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROPERTYDARK"
+}
+SC_ADRENALINE2: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_ADRENALINE2"
+}
+SC_PROPERTYTELEKINESIS: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROPERTYTELEKINESIS"
+}
+SC_SOULLINK: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SOULLINK"
+}
+SC_PLUSATTACKPOWER: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_PLUSATTACKPOWER"
+}
+SC_PLUSMAGICPOWER: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_PLUSMAGICPOWER"
+}
+SC_KAITE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_KAITE"
+}
+SC_KAAHI: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_KAAHI"
+}
+SC_KAUPE: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_KAUPE"
+}
+SC_ONEHANDQUICKEN: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ONEHANDQUICKEN"
+}
+SC_PRESERVE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_PRESERVE"
+}
+SC_CHASEWALK: {
+ Flags: {
+ NoDispelReset: true
+ }
+}
+SC_CHASEWALK2: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_INCSTR"
+}
+SC_MOVESLOW_POTION: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MOVESLOW_POTION"
+}
+SC_DOUBLECASTING: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_DOUBLECASTING"
+}
+SC_GRAVITATION: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_OVERTHRUSTMAX: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_OVERTHRUSTMAX"
+}
+SC_TAROTCARD: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Debuff: true
+ }
+ Icon: "SI_TAROTCARD"
+}
+SC_CR_SHRINK: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_CR_SHRINK"
+}
+SC_WZ_SIGHTBLASTER: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_WZ_SIGHTBLASTER"
+}
+SC_RG_CCONFINE_M: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_RG_CCONFINE_M"
+}
+SC_RG_CCONFINE_S: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_RG_CCONFINE_S"
+}
+SC_NJ_UTSUSEMI: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_NJ_UTSUSEMI"
+}
+SC_NJ_BUNSINJYUTSU: {
+ Flags: {
+ NoSave: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_NJ_BUNSINJYUTSU"
+}
+SC_NJ_SUITON: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Debuff: true
+ NoBoss: true
+ }
+ Icon: "SI_NJ_SUITON"
+}
+SC_FOOD_STR: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_STR"
+}
+SC_FOOD_AGI: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_AGI"
+}
+SC_FOOD_VIT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_VIT"
+}
+SC_FOOD_DEX: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_DEX"
+}
+SC_FOOD_INT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_INT"
+}
+SC_FOOD_LUK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_LUK"
+}
+SC_FOOD_BASICAVOIDANCE: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_BASICAVOIDANCE"
+}
+SC_FOOD_BASICHIT: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_BASICHIT"
+}
+SC_FOOD_CRITICALSUCCESSVALUE: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_FOOD_CRITICALSUCCESSVALUE"
+}
+SC_CASH_PLUSEXP: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_CASH_PLUSEXP"
+}
+SC_CASH_DEATHPENALTY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_CASH_DEATHPENALTY"
+}
+SC_CASH_RECEIVEITEM: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_CASH_RECEIVEITEM"
+}
+SC_CASH_BOSS_ALARM: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_CASH_BOSS_ALARM"
+}
+SC_FOOD_STR_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_STR_CASH"
+}
+SC_FOOD_AGI_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_AGI_CASH"
+}
+SC_FOOD_VIT_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_VIT_CASH"
+}
+SC_FOOD_DEX_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_DEX_CASH"
+}
+SC_FOOD_INT_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_INT_CASH"
+}
+SC_FOOD_LUK_CASH: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_FOOD_LUK_CASH"
+}
+SC_SAVAGE_STEAK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_SAVAGE_STEAK"
+}
+SC_COCKTAIL_WARG_BLOOD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_COCKTAIL_WARG_BLOOD"
+}
+SC_MINOR_BBQ: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_MINOR_BBQ"
+}
+SC_SIROMA_ICE_TEA: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_SIROMA_ICE_TEA"
+}
+SC_DROCERA_HERB_STEAMED: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_DROCERA_HERB_STEAMED"
+}
+SC_PUTTI_TAILS_NOODLES: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_PUTTI_TAILS_NOODLES"
+}
+SC_MELON_BOMB: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_MELON_BOMB"
+}
+SC_BANANA_BOMB_SITDOWN_POSTDELAY: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_BANANA_BOMB_SITDOWN_POSTDELAY"
+}
+SC_BANANA_BOMB: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_BANANA_BOMB"
+}
+SC_PROMOTE_HEALTH_RESERCH: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_PROMOTE_HEALTH_RESERCH"
+}
+SC_ENERGY_DRINK_RESERCH: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_ENERGY_DRINK_RESERCH"
+}
+SC_EXTRACT_WHITE_POTION_Z: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_VITATA_500: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_EXTRACT_SALAMINE_JUICE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_BOOST500: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_FULL_SWING_K: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MANA_PLUS: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MUSTLE_M: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_LIFE_FORCE_F: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MER_FLEE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MER_FLEE"
+}
+SC_MER_ATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MER_ATK"
+}
+SC_MER_HP: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MER_HP"
+}
+SC_MER_SP: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MER_SP"
+}
+SC_MER_HIT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MER_HIT"
+}
+SC_SLOWCAST: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SLOWCAST"
+}
+SC_CRITICALWOUND: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_CRITICALWOUND"
+}
+SC_MOVHASTE_HORSE: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MOVHASTE_HORSE"
+}
+SC_PROTECT_DEF: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROTECT_DEF"
+}
+SC_PROTECT_MDEF: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PROTECT_MDEF"
+}
+SC_HEALPLUS: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_HEALPLUS"
+}
+SC_S_LIFEPOTION: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_S_LIFEPOTION"
+}
+SC_L_LIFEPOTION: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_L_LIFEPOTION"
+}
+SC_CRITICALPERCENT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_CRITICALPERCENT"
+}
+SC_PLUSAVOIDVALUE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_PLUSAVOIDVALUE"
+}
+SC_ATKER_ASPD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ATKER_ASPD"
+}
+SC_TARGET_ASPD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_TARGET_ASPD"
+}
+SC_ATKER_MOVESPEED: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ATKER_MOVESPEED"
+}
+SC_ATKER_BLOOD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ATKER_BLOOD"
+}
+SC_TARGET_BLOOD: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_TARGET_BLOOD"
+}
+SC_ARMOR_PROPERTY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ARMOR_PROPERTY"
+}
+SC_HELLPOWER: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_HELLPOWER"
+}
+SC_STEAMPACK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Debuff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_STEAMPACK"
+}
+SC_CASH_PLUSONLYJOBEXP: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_CASH_PLUSONLYJOBEXP"
+}
+SC_PARTYFLEE: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_PARTYFLEE"
+}
+SC_ANGEL_PROTECT: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ANGEL_PROTECT"
+}
+SC_ENCHANTBLADE: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_ENCHANTBLADE"
+}
+SC_DEATHBOUND: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_DEATHBOUND"
+}
+SC_REFRESH: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_REFRESH"
+}
+SC_GIANTGROWTH: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_GIANTGROWTH"
+}
+SC_STONEHARDSKIN: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_STONEHARDSKIN"
+}
+SC_VITALITYACTIVATION: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_VITALITYACTIVATION"
+}
+SC_FIGHTINGSPIRIT: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_FIGHTINGSPIRIT"
+}
+SC_ABUNDANCE: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_ABUNDANCE"
+}
+SC_EPICLESIS: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_EPICLESIS"
+}
+SC_ORATIO: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_ORATIO"
+}
+SC_LAUDAAGNUS: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_LAUDAAGNUS"
+}
+SC_LAUDARAMUS: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_LAUDARAMUS"
+}
+SC_CLOAKINGEXCEED: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_CLOAKINGEXCEED"
+}
+SC_HALLUCINATIONWALK: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_HALLUCINATIONWALK"
+}
+SC_HALLUCINATIONWALK_POSTDELAY: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_HALLUCINATIONWALK_POSTDELAY"
+}
+SC_RENOVATIO: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_RENOVATIO"
+}
+SC_WEAPONBLOCKING: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_WEAPONBLOCKING"
+}
+SC_ROLLINGCUTTER: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ROLLINGCUTTER"
+}
+SC_EXPIATIO: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_EXPIATIO"
+}
+SC_POISONINGWEAPON: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_POISONINGWEAPON"
+}
+SC_TOXIN: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_TOXIN"
+}
+SC_PARALYSE: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_PARALYSE"
+}
+SC_VENOMBLEED: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_VENOMBLEED"
+}
+SC_MAGICMUSHROOM: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_MAGICMUSHROOM"
+}
+SC_DEATHHURT: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_DEATHHURT"
+}
+SC_PYREXIA: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_PYREXIA"
+}
+SC_OBLIVIONCURSE: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_OBLIVIONCURSE"
+}
+SC_LEECHESEND: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_LEECHESEND"
+}
+SC_DUPLELIGHT: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_DUPLELIGHT"
+}
+SC_FEARBREEZE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_FEARBREEZE"
+}
+SC_ELECTRICSHOCKER: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_ELECTRICSHOCKER"
+}
+SC_MARSHOFABYSS: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_MARSHOFABYSS"
+}
+SC_RECOGNIZEDSPELL: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_RECOGNIZEDSPELL"
+}
+SC_WUGDASH: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_WUGDASH"
+}
+SC_WUGBITE: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+}
+SC_CAMOUFLAGE: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_CAMOUFLAGE"
+}
+SC_ACCELERATION: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ACCELERATION"
+}
+SC_HOVERING: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_HOVERING"
+}
+SC_SUMMON1: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SPHERE_1"
+}
+SC_SUMMON2: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SPHERE_2"
+}
+SC_SUMMON3: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SPHERE_3"
+}
+SC_SUMMON4: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SPHERE_4"
+}
+SC_SUMMON5: {
+ Visible: true
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SPHERE_5"
+}
+SC_MVPCARD_TAOGUNKA: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+ Icon: "SI_MVPCARD_TAOGUNKA"
+}
+SC_MVPCARD_MISTRESS: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+ Icon: "SI_MVPCARD_MISTRESS"
+}
+SC_MVPCARD_ORCHERO: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+ Icon: "SI_MVPCARD_ORCHERO"
+}
+SC_MVPCARD_ORCLORD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+ Icon: "SI_MVPCARD_ORCLORD"
+}
+SC_OVERHEAT_LIMITPOINT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_OVERHEAT_LIMITPOINT"
+}
+SC_OVERHEAT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_OVERHEAT"
+}
+SC_SHAPESHIFT: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SHAPESHIFT"
+}
+SC_INFRAREDSCAN: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_INFRAREDSCAN"
+}
+SC_MAGNETICFIELD: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_MAGNETICFIELD"
+}
+SC_NEUTRALBARRIER: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_NEUTRALBARRIER"
+}
+SC_NEUTRALBARRIER_MASTER: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_NEUTRALBARRIER_MASTER"
+}
+SC_STEALTHFIELD_MASTER: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_STEALTHFIELD_MASTER"
+}
+SC_MANU_ATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MANU_ATK"
+}
+SC_MANU_DEF: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MANU_DEF"
+}
+SC_SPL_ATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SPL_ATK"
+}
+SC_SPL_DEF: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SPL_DEF"
+}
+SC__REPRODUCE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_REPRODUCE"
+}
+SC_MANU_MATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MANU_MATK"
+}
+SC_SPL_MATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SPL_MATK"
+}
+SC_STR_SCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+ Icon: "SI_STR_SCROLL"
+}
+SC_INT_SCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+ Icon: "SI_INT_SCROLL"
+}
+SC_FORCEOFVANGUARD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_FORCEOFVANGUARD"
+}
+SC_BUCHEDENOEL: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ Debuff: true
+ }
+ Icon: "SI_BUCHEDENOEL"
+}
+SC__AUTOSHADOWSPELL: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_AUTOSHADOWSPELL"
+}
+SC__SHADOWFORM: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SHADOWFORM"
+}
+SC_RAID: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_SHIELDSPELL_DEF: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SHIELDSPELL_DEF"
+}
+SC_SHIELDSPELL_MDEF: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SHIELDSPELL_MDEF"
+}
+SC_SHIELDSPELL_REF: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SHIELDSPELL_REF"
+}
+SC__BODYPAINT: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_BODYPAINT"
+}
+SC_EXEEDBREAK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_EXEEDBREAK"
+}
+SC_ADORAMUS: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_ADORAMUS"
+}
+SC_PRESTIGE: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_PRESTIGE"
+}
+SC__INVISIBILITY: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_INVISIBILITY"
+}
+SC__DEADLYINFECT: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_DEADLYINFECT"
+}
+SC_BANDING: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_BANDING"
+}
+SC_BANDING_DEFENCE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_BANDING_DEFENCE"
+}
+SC_EARTHDRIVE: {
+ Flags: {
+ NoDispelReset: true
+ Buff: true
+ }
+ Icon: "SI_EARTHDRIVE"
+}
+SC_INSPIRATION: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_INSPIRATION"
+}
+SC__ENERVATION: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_ENERVATION"
+}
+SC__GROOMY: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_GROOMY"
+}
+SC_RAISINGDRAGON: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_RAISINGDRAGON"
+}
+SC__IGNORANCE: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_IGNORANCE"
+}
+SC__LAZINESS: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_LAZINESS"
+}
+SC_LIGHTNINGWALK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_LIGHTNINGWALK"
+}
+SC_ACARAJE: {
+ Flags: {
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ACARAJE"
+}
+SC__UNLUCKY: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_UNLUCKY"
+}
+SC_CURSEDCIRCLE_ATKER: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_CURSEDCIRCLE_ATKER"
+}
+SC_CURSEDCIRCLE_TARGET: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_CURSEDCIRCLE_TARGET"
+}
+SC__WEAKNESS: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_WEAKNESS"
+}
+SC_CRESCENTELBOW: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_CRESCENTELBOW"
+}
+SC__STRIPACCESSARY: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_STRIPACCESSARY"
+}
+SC__MANHOLE: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_MANHOLE"
+}
+SC__BLOODYLUST: {
+ Flags: {
+ Debuff: true
+ }
+}
+SC_SWING: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SWINGDANCE"
+}
+SC_SYMPHONY_LOVE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SYMPHONYOFLOVERS"
+}
+SC_PROPERTYWALK: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_PROPERTYWALK"
+}
+SC_SPELLFIST: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SPELLFIST"
+}
+SC_NETHERWORLD: {
+ Flags: {
+ Buff: true
+ NoBoss: true
+ }
+ Icon: "SI_NETHERWORLD"
+}
+SC_SIREN: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SIREN"
+}
+SC_DEEP_SLEEP: {
+ Visible: true
+ Flags: {
+ NoSave: true
+ Debuff: true
+ NoBoss: true
+ }
+ Icon: "SI_DEEPSLEEP"
+}
+SC_SIRCLEOFNATURE: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SIRCLEOFNATURE"
+}
+SC_GLOOMYDAY: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_GLOOMYDAY"
+}
+SC_GLOOMYDAY_SK: {
+ Flags: {
+ Buff: true
+ }
+}
+SC_SONG_OF_MANA: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SONG_OF_MANA"
+}
+SC_DANCE_WITH_WUG: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_DANCEWITHWUG"
+}
+SC_RUSH_WINDMILL: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_RUSHWINDMILL"
+}
+SC_ECHOSONG: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ECHOSONG"
+}
+SC_HARMONIZE: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_HARMONIZE"
+}
+SC_MOONLIT_SERENADE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MOONLITSERENADE"
+}
+SC_SATURDAY_NIGHT_FEVER: {
+ Flags: {
+ Buff: true
+ }
+ Icon: "SI_SATURDAYNIGHTFEVER"
+}
+SC_SITDOWN_FORCE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+}
+SC_ANALYZE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_ANALYZE"
+}
+SC_LERADS_DEW: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_LERADSDEW"
+}
+SC_MELODYOFSINK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_MELODYOFSINK"
+}
+SC_BEYOND_OF_WARCRY: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_WARCRYOFBEYOND"
+}
+SC_UNLIMITED_HUMMING_VOICE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_UNLIMITEDHUMMINGVOICE"
+}
+SC_WARMER: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_VENOMIMPRESS: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ }
+ Icon: "SI_VENOMIMPRESS"
+}
+SC_FROSTMISTY: {
+ Visible: true
+ Flags: {
+ Debuff: true
+ NoBoss: true
+ }
+ Icon: "SI_FROSTMISTY"
+}
+SC_STOMACHACHE: {
+ Flags: {
+ Debuff: true
+ }
+ Icon: "SI_STOMACHACHE"
+}
+SC_MYSTERIOUS_POWDER: {
+ Flags: {
+ Debuff: true
+ }
+ Icon: "SI_MYSTERIOUS_POWDER"
+}
+SC_WATER_BARRIER: {
+ Flags: {
+ NoSave: true
+ }
+ Icon: "SI_WATER_BARRIER"
+}
+SC_ZEPHYR: {
+ Flags: {
+ NoSave: true
+ }
+ Icon: "SI_ZEPHYR"
+}
+SC_POWER_OF_GAIA: {
+ Flags: {
+ NoSave: true
+ }
+ Icon: "SI_POWER_OF_GAIA"
+}
+SC_FIRE_INSIGNIA: {
+ Flags: {
+ NoSave: true
+ }
+ Icon: "SI_FIRE_INSIGNIA"
+}
+SC_WATER_INSIGNIA: {
+ Flags: {
+ NoSave: true
+ }
+ Icon: "SI_WATER_INSIGNIA"
+}
+SC_WIND_INSIGNIA: {
+ Flags: {
+ NoSave: true
+ }
+ Icon: "SI_WIND_INSIGNIA"
+}
+SC_EARTH_INSIGNIA: {
+ Flags: {
+ NoSave: true
+ }
+ Icon: "SI_EARTH_INSIGNIA"
+}
+SC_MORA_BUFF: {
+ Flags: {
+ NoSave: true
+ }
+ Icon: "SI_MORA_BUFF"
+}
+SC_NEEDLE_OF_PARALYZE: {
+ Flags: {
+ NoDeathReset: true
+ NoBoss: true
+ }
+ Icon: "SI_NEEDLE_OF_PARALYZE"
+}
+SC_PAIN_KILLER: {
+ Flags: {
+ NoDeathReset: true
+ }
+ Icon: "SI_PAIN_KILLER"
+}
+SC_G_LIFEPOTION: {
+ Flags: {
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_G_LIFEPOTION"
+}
+SC_LIGHT_OF_REGENE: {
+ Flags: {
+ NoDeathReset: true
+ }
+ Icon: "SI_LIGHT_OF_REGENE"
+}
+SC_MAGIC_CANDY: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ NoMadoReset: true
+ }
+ Icon: "SI_MAGIC_CANDY"
+}
+SC_MONSTER_TRANSFORM: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_MONSTER_TRANSFORM"
+}
+SC_MTF_ASPD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_RANGEATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_MATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_MLEATKED: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_MTF_CRIDAMAGE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_FULL_THROTTLE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_FULL_THROTTLE"
+}
+SC_REBOUND: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_REBOUND"
+}
+SC_TELEKINESIS_INTENSE: {
+ Flags: {
+ NoSave: true
+ Buff: true
+ }
+ Icon: "SI_TELEKINESIS_INTENSE"
+}
+SC_SKELSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_DISTRUCTIONSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_ROYALSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_IMMUNITYSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_MYSTICSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_BATTLESCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_ARMORSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_FREYJASCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_SOULSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+}
+SC_QUEST_BUFF1: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_QUEST_BUFF1"
+}
+SC_QUEST_BUFF2: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_QUEST_BUFF2"
+}
+SC_QUEST_BUFF3: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_QUEST_BUFF3"
+}
+SC_GEFFEN_MAGIC1: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_GEFFEN_MAGIC1"
+}
+SC_GEFFEN_MAGIC2: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_GEFFEN_MAGIC2"
+}
+SC_GEFFEN_MAGIC3: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_GEFFEN_MAGIC3"
+}
+SC_OVERLAPEXPUP: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_OVERLAPEXPUP"
+}
+SC_M_LIFEPOTION: {
+ Flags: {
+ NoDispelReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_M_LIFEPOTION"
+}
+SC_LEADERSHIP: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_GLORYWOUNDS: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_SOULCOLD: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_HAWKEYES: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_GDSKILL_REGENERATION: {
+ Flags: {
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_ORCISH: {
+ Flags: {
+ NoSave: true
+ }
+}
+SC_WEIGHTOVER50: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_WEIGHTOVER50"
+}
+SC_WEIGHTOVER90: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_WEIGHTOVER90"
+}
+SC_WEDDING: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_XMAS: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_SUMMER: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_NOCHAT: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_FUSION: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_EARTHSCROLL: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_EARTHSCROLL"
+}
+SC_STORMKICK_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_STORMKICK_ON"
+}
+SC_DOWNKICK_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_DOWNKICK_ON"
+}
+SC_COUNTERKICK_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_COUNTER_ON"
+}
+SC_TURNKICK_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_TURNKICK_ON"
+}
+SC_DODGE_READY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+ Icon: "SI_DODGE_ON"
+}
+SC_JAILED: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+}
+SC_AUTOTRADE: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_DANCING: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+}
+SC_WHISTLE: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_ASSNCROS: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_POEMBRAGI: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_APPLEIDUN: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_HUMMING: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_DONTFORGETME: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_FORTUNE: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_SERVICEFORYOU: {
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_INCHIT: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ }
+}
+SC_PUSH_CART: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_ON_PUSH_CART"
+}
+SC_COLD: {
+ Visible: true
+ Flags: {
+ NoBoss: true
+ }
+ Icon: "SI_COLD"
+}
+SC_BLOOD_SUCKER: {
+ Visible: true
+ Flags: {
+ }
+ Icon: "SI_BLOODSUCKER"
+}
+SC_MOONSTAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_MOONSTAR"
+}
+SC_SUPER_STAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_SUPER_STAR"
+}
+SC_STRANGELIGHTS: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_STRANGELIGHTS"
+}
+SC_DECORATION_OF_MUSIC: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_DECORATION_OF_MUSIC"
+}
+SC_LJOSALFAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_LJOSALFAR"
+}
+SC_MERMAID_LONGING: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_MERMAID_LONGING"
+}
+SC_HAT_EFFECT: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_HAT_EFFECT"
+}
+SC_FLOWERSMOKE: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_FLOWERSMOKE"
+}
+SC_FSTONE: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_FSTONE"
+}
+SC_HAPPINESS_STAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_HAPPINESS_STAR"
+}
+SC_MAPLE_FALLS: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_MAPLE_FALLS"
+}
+SC_TIME_ACCESSORY: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_TIME_ACCESSORY"
+}
+SC_MAGICAL_FEATHER: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_MAGICAL_FEATHER"
+}
+SC_BLOSSOM_FLUTTERING: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_BLOSSOM_FLUTTERING"
+}
+SC_SPRITEMABLE: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_SPRITEMABLE"
+}
+SC_BITESCAR: {
+ Flags: {
+ NoDispelReset: true
+ NoBoss: true
+ }
+ Icon: "SI_BITESCAR"
+}
+SC_CLAN_INFO: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoSave: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_CLAN_INFO"
+}
+SC_ALL_RIDING: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_ALL_RIDING"
+}
+SC_DAILYSENDMAILCNT: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoMadoReset: true
+ NoAllReset: true
+ }
+ Icon: "SI_DAILYSENDMAILCNT"
+}
+SC_ATTHASTE_INFINITY: {
+ Icon: "SI_ATTHASTE_INFINITY"
+}
+SC_PYROCLASTIC: {
+ Icon: "SI_PYROCLASTIC"
+}
+SC_VACUUM_EXTREME: {
+ Icon: "SI_VACUUM_EXTREME"
+}
+SC_MOON_COMFORT: {
+ Icon: "SI_MOON_COMFORT"
+}
+SC_OFFERTORIUM: {
+ Icon: "SI_OFFERTORIUM"
+}
+SC_WIND_STEP: {
+ Icon: "SI_WIND_STEP"
+}
+SC_STEALTHFIELD: {
+ Icon: "SI_STEALTHFIELD"
+}
+SC_INVINCIBLE: {
+ Icon: "SI_INVINCIBLE"
+}
+SC_CURSED_SOIL: {
+ Icon: "SI_CURSED_SOIL"
+}
+SC_RIDING: {
+ Icon: "SI_RIDING"
+}
+SC_GRANITIC_ARMOR: {
+ Icon: "SI_GRANITIC_ARMOR"
+}
+SC_CURSED_SOIL_OPTION: {
+ Icon: "SI_CURSED_SOIL_OPTION"
+}
+SC_MOVHASTE_INFINITY: {
+ Icon: "SI_MOVHASTE_INFINITY"
+}
+SC_GOLDENE_FERSE: {
+ Icon: "SI_GOLDENE_FERSE"
+}
+SC_GS_ACCURACY: {
+ Icon: "SI_GS_ACCURACY"
+}
+SC_GENSOU: {
+ Icon: "SI_GENSOU"
+}
+SC_MAGMA_FLOW: {
+ Icon: "SI_MAGMA_FLOW"
+}
+SC_SHRIMP: {
+ Icon: "SI_SHRIMP"
+}
+SC_SPELLBOOK1: {
+ Icon: "SI_SPELLBOOK1"
+}
+SC_UNLIMIT: {
+ Icon: "SI_UNLIMIT"
+}
+SC_AQUAPLAY_OPTION: {
+ Icon: "SI_AQUAPLAY_OPTION"
+}
+SC_GS_GATLINGFEVER: {
+ Icon: "SI_GS_GATLINGFEVER"
+}
+SC_ROCK_CRUSHER_ATK: {
+ Icon: "SI_ROCK_CRUSHER_ATK"
+}
+SC_HEATER_OPTION: {
+ Icon: "SI_HEATER_OPTION"
+}
+SC_FALLENEMPIRE: {
+ Icon: "SI_FALLENEMPIRE"
+}
+SC_MANDRAGORA: {
+ Icon: "SI_MANDRAGORA"
+}
+SC_ANKLESNARE: {
+ Icon: "SI_ANKLESNARE"
+}
+SC_KAIZEL: {
+ Icon: "SI_KAIZEL"
+}
+SC_DC_WINKCHARM: {
+ Icon: "SI_DC_WINKCHARM"
+}
+SC_WUGRIDER: {
+ Icon: "SI_WUGRIDER"
+}
+SC_SPELLBOOK7: {
+ Icon: "SI_SPELLBOOK7"
+}
+SC_CATNIPPOWDER: {
+ Icon: "SI_CATNIPPOWDER"
+}
+SC_TIDAL_WEAPON_OPTION: {
+ Icon: "SI_TIDAL_WEAPON_OPTION"
+}
+SC_ANGRIFFS_MODUS: {
+ Icon: "SI_ANGRIFFS_MODUS"
+}
+SC_AUTOBERSERK: {
+ Icon: "SI_AUTOBERSERK"
+}
+SC_CRUCIS: {
+ Icon: "SI_CRUCIS"
+}
+SC_SECRAMENT: {
+ Icon: "SI_SECRAMENT"
+}
+SC_CRUSHSTRIKE: {
+ Icon: "SI_CRUSHSTRIKE"
+}
+SC_SPELLBOOK3: {
+ Icon: "SI_SPELLBOOK3"
+}
+SC_BLAST: {
+ Icon: "SI_BLAST"
+}
+SC_IZAYOI: {
+ Icon: "SI_IZAYOI"
+}
+SC_ODINS_POWER: {
+ Icon: "SI_ODINS_POWER"
+}
+SC_TING: {
+ Icon: "SI_TING"
+}
+SC_SIT: {
+ Icon: "SI_SIT"
+}
+SC_GS_MADNESSCANCEL: {
+ Icon: "SI_GS_MADNESSCANCEL"
+}
+SC_SV_ROOTTWIST: {
+ Icon: "SI_SV_ROOTTWIST"
+}
+SC_COOLER: {
+ Icon: "SI_COOLER"
+}
+SC_WIND_STEP_OPTION: {
+ Icon: "SI_WIND_STEP_OPTION"
+}
+SC_RESIST_PROPERTY_GROUND: {
+ Icon: "SI_RESIST_PROPERTY_GROUND"
+}
+SC_ILLUSIONDOPING: {
+ Icon: "SI_ILLUSIONDOPING"
+}
+SC_KO_JYUMONJIKIRI: {
+ Icon: "SI_KO_JYUMONJIKIRI"
+}
+SC_PHI_DEMON: {
+ Icon: "SI_PHI_DEMON"
+}
+SC_KYOUGAKU: {
+ Icon: "SI_KYOUGAKU"
+}
+SC_KAGEMUSYA: {
+ Icon: "SI_KAGEMUSYA"
+}
+SC_SPELLBOOK6: {
+ Icon: "SI_SPELLBOOK6"
+}
+SC_BLAST_OPTION: {
+ Icon: "SI_BLAST_OPTION"
+}
+SC_DARKCROW: {
+ Icon: "SI_DARKCROW"
+}
+SC_PYROTECHNIC: {
+ Icon: "SI_PYROTECHNIC"
+}
+SC_STAR_COMFORT: {
+ Icon: "SI_STAR_COMFORT"
+}
+SC_LG_REFLECTDAMAGE: {
+ Icon: "SI_LG_REFLECTDAMAGE"
+}
+SC_GENTLETOUCH_REVITALIZE: {
+ Icon: "SI_GENTLETOUCH_REVITALIZE"
+}
+SC_HEATER: {
+ Icon: "SI_HEATER"
+}
+SC_CIRCLE_OF_FIRE_OPTION: {
+ Icon: "SI_CIRCLE_OF_FIRE_OPTION"
+}
+SC_ROCK_CRUSHER: {
+ Icon: "SI_ROCK_CRUSHER"
+}
+SC_MOON: {
+ Icon: "SI_MOON"
+}
+SC_PETROLOGY: {
+ Icon: "SI_PETROLOGY"
+}
+SC_SUN_COMFORT: {
+ Icon: "SI_SUN_COMFORT"
+}
+SC_TROPIC_OPTION: {
+ Icon: "SI_TROPIC_OPTION"
+}
+SC_ARCLOUSEDASH: {
+ Icon: "SI_ARCLOUSEDASH"
+}
+SC_STRIKING: {
+ Icon: "SI_STRIKING"
+}
+SC_AQUAPLAY: {
+ Icon: "SI_AQUAPLAY"
+}
+SC_WATER_DROP: {
+ Icon: "SI_WATER_DROP"
+}
+SC_GM_BATTLE2: {
+ Icon: "SI_GM_BATTLE2"
+}
+SC_BROKENWEAPON: {
+ Icon: "SI_BROKENWEAPON"
+}
+SC_CUP_OF_BOZA: {
+ Icon: "SI_CUP_OF_BOZA"
+}
+SC_FRIGG_SONG: {
+ Icon: "SI_FRIGG_SONG"
+}
+SC_POSTDELAY: {
+ Icon: "SI_POSTDELAY"
+}
+SC_BROKENARMOR: {
+ Icon: "SI_BROKENARMOR"
+}
+SC_DRESS_UP: {
+ Icon: "SI_DRESS_UP"
+}
+SC_2011RWC: {
+ Icon: "SI_2011RWC"
+}
+SC_WATER_SCREEN_OPTION: {
+ Icon: "SI_WATER_SCREEN_OPTION"
+}
+SC_FIRE_CLOAK: {
+ Icon: "SI_FIRE_CLOAK"
+}
+SC_FALCON: {
+ Icon: "SI_FALCON"
+}
+SC_ZENKAI: {
+ Icon: "SI_ZENKAI"
+}
+SC_CLAIRVOYANCE: {
+ Icon: "SI_CLAIRVOYANCE"
+}
+SC_STONE_SHIELD: {
+ Icon: "SI_STONE_SHIELD"
+}
+SC_FIRE_EXPANSION_TEAR_GAS: {
+ Icon: "SI_FIRE_EXPANSION_TEAR_GAS"
+}
+SC_ZANGETSU: {
+ Icon: "SI_ZANGETSU"
+}
+SC_RESIST_PROPERTY_WIND: {
+ Icon: "SI_RESIST_PROPERTY_WIND"
+}
+SC_FLASHCOMBO: {
+ Icon: "SI_FLASHCOMBO"
+}
+SC_GUST_OPTION: {
+ Icon: "SI_GUST_OPTION"
+}
+SC_GENTLETOUCH_ENERGYGAIN: {
+ Icon: "SI_GENTLETOUCH_ENERGYGAIN"
+}
+SC_PYROTECHNIC_OPTION: {
+ Icon: "SI_PYROTECHNIC_OPTION"
+}
+SC_CIRCLE_OF_FIRE: {
+ Icon: "SI_CIRCLE_OF_FIRE"
+}
+SC_DEVIL1: {
+ Icon: "SI_DEVIL1"
+}
+SC_GS_ADJUSTMENT: {
+ Icon: "SI_GS_ADJUSTMENT"
+}
+SC_SPELLBOOK5: {
+ Icon: "SI_SPELLBOOK5"
+}
+SC_UPHEAVAL_OPTION: {
+ Icon: "SI_UPHEAVAL_OPTION"
+}
+SC_SUHIDE: {
+ Icon: "SI_SUHIDE"
+}
+SC_NJ_NEN: {
+ Icon: "SI_NJ_NEN"
+}
+SC_VOLCANIC_ASH: {
+ Icon: "SI_VOLCANIC_ASH"
+}
+SC_KYOMU: {
+ Icon: "SI_KYOMU"
+}
+SC_WILD_STORM: {
+ Icon: "SI_WILD_STORM"
+}
+SC_PETROLOGY_OPTION: {
+ Icon: "SI_PETROLOGY_OPTION"
+}
+SC_SPELLBOOK2: {
+ Icon: "SI_SPELLBOOK2"
+}
+SC_MYSTICPOWDER: {
+ Icon: "SI_MYSTICPOWDER"
+}
+SC_RESIST_PROPERTY_FIRE: {
+ Icon: "SI_RESIST_PROPERTY_FIRE"
+}
+SC_COOLER_OPTION: {
+ Icon: "SI_COOLER_OPTION"
+}
+SC_TROPIC: {
+ Icon: "SI_TROPIC"
+}
+SC_UPHEAVAL: {
+ Icon: "SI_UPHEAVAL"
+}
+SC_GENTLETOUCH_CHANGE: {
+ Icon: "SI_GENTLETOUCH_CHANGE"
+}
+SC_WATER_DROP_OPTION: {
+ Icon: "SI_WATER_DROP_OPTION"
+}
+SC_CHILLY_AIR_OPTION: {
+ Icon: "SI_CHILLY_AIR_OPTION"
+}
+SC_FENRIR_CARD: {
+ Icon: "SI_FENRIR_CARD"
+}
+SC_CLIENT_ONLY_EQUIP_ARROW: {
+ Icon: "SI_CLIENT_ONLY_EQUIP_ARROW"
+}
+SC_STASIS: {
+ Icon: "SI_STASIS"
+}
+SC_KINGS_GRACE: {
+ Icon: "SI_KINGS_GRACE"
+}
+SC_OVERED_BOOST: {
+ Icon: "SI_OVERED_BOOST"
+}
+SC_AKAITSUKI: {
+ Icon: "SI_AKAITSUKI"
+}
+SC_MARIONETTE: {
+ Icon: "SI_MARIONETTE"
+}
+SC_WIND_CURTAIN: {
+ Icon: "SI_WIND_CURTAIN"
+}
+SC_ON_PUSH_CART: {
+ Icon: "SI_ON_PUSH_CART"
+}
+SC_SPELLBOOK4: {
+ Icon: "SI_SPELLBOOK4"
+}
+SC_ILLUSION: {
+ Icon: "SI_ILLUSION"
+}
+SC_WIND_CURTAIN_OPTION: {
+ Icon: "SI_WIND_CURTAIN_OPTION"
+}
+SC_SU_STOOP: {
+ Icon: "SI_SU_STOOP"
+}
+SC_SOLID_SKIN_OPTION: {
+ Icon: "SI_SOLID_SKIN_OPTION"
+}
+SC_TUNAPARTY: {
+ Icon: "SI_TUNAPARTY"
+}
+SC_RESIST_PROPERTY_WATER: {
+ Icon: "SI_RESIST_PROPERTY_WATER"
+}
+SC_KG_KAGEHUMI: {
+ Icon: "SI_KG_KAGEHUMI"
+}
+SC_SMA_READY: {
+ Icon: "SI_SMA_READY"
+}
+SC_FIRE_CLOAK_OPTION: {
+ Icon: "SI_FIRE_CLOAK_OPTION"
+}
+SC_WATER_SCREEN: {
+ Icon: "SI_WATER_SCREEN"
+}
+SC_GM_BATTLE: {
+ Icon: "SI_GM_BATTLE"
+}
+SC_GUST: {
+ Icon: "SI_GUST"
+}
+SC_SOLID_SKIN: {
+ Icon: "SI_SOLID_SKIN"
+}
+SC_CHILLY_AIR: {
+ Icon: "SI_CHILLY_AIR"
+}
+SC_MEIKYOUSISUI: {
+ Icon: "SI_MEIKYOUSISUI"
+}
+SC_FIRE_EXPANSION_SMOKE_POWDER: {
+ Icon: "SI_FIRE_EXPANSION_SMOKE_POWDER"
+}
+SC_MARIONETTE_MASTER: {
+ Icon: "SI_MARIONETTE_MASTER"
+}
+SC_FRESHSHRIMP: {
+ Icon: "SI_FRESHSHRIMP"
+}
+SC_STONE_SHIELD_OPTION: {
+ Icon: "SI_STONE_SHIELD_OPTION"
+}
+SC_SWORDREJECT: {
+ Icon: "SI_SWORDREJECT"
+}
+SC_WILD_STORM_OPTION: {
+ Icon: "SI_WILD_STORM_OPTION"
+}
+SC_BABY: {
+ Icon: "SI_PROTECTEXP"
+}
+SC_EXTREMITYFIST2: {
+ Icon: "SI_EXTREMITYFIST"
+}
+SC_GN_CARTBOOST: {
+ Icon: "SI_CARTSBOOST"
+}
+SC_MIRACLE: {
+ Icon: "SI_SOULLINK"
+}
+SC_POISON: {
+ Icon: "SI_CLOUDKILL"
+}
+SC_SILENCE: {
+ Icon: "SI_SILENT_BREEZE"
+}
+SC_THORNS_TRAP: {
+ Icon: "SI_THORNTRAP"
+}
+SC_WARM: {
+ Icon: "SI_SG_SUN_WARM"
+}
+SC_COMA: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_RICHMANKIM: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_ROKISWEIL: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_BURNING: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_VACUUM_EXTREME: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_FRESHSHRIMP: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_SV_ROOTTWIST: {
+ Flags: {
+ NoBoss: true
+ }
+}
+SC_MADOGEAR: {
+ Visible: true
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ NoAllReset: true
+ NoBoss: true
+ }
+ Icon: "SI_MADOGEAR"
+}
+SC_POPECOOKIE: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_POPECOOKIE"
+}
+SC_VITALIZE_POTION: {
+ Flags: {
+ NoDispelReset: true
+ }
+ Icon: "SI_VITALIZE_POTION"
+}
+SC_SKF_MATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SKF_MATK"
+}
+SC_SKF_ATK: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SKF_ATK"
+}
+SC_SKF_ASPD: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SKF_ASPD"
+}
+SC_SKF_CAST: {
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Buff: true
+ }
+ Icon: "SI_SKF_CAST"
+}
+SC_ALMIGHTY: {
+ Flags: {
+ NoDeathReset: true
+ NoDispelReset: true
+ NoClearanceReset: true
+ }
+ Icon: "SI_ALMIGHTY"
+}
diff --git a/db/sc_config.txt b/db/sc_config.txt
deleted file mode 100644
index 2648f7bae..000000000
--- a/db/sc_config.txt
+++ /dev/null
@@ -1,505 +0,0 @@
-// Status Change configuration database
-//
-// Structure of Database:
-// SC_NAME, flag
-//
-// flag 1 - SC cannot be removed by death.
-// 2 - SC cannot be saved.
-// 4 - SC cannot be reset by dispell.
-// 8 - SC cannot be reset by clearance.
-// 16 - SC considered as buff and be removed by Hermode and etc.
-// 32 - SC considered as debuff and be removed by Gospel and etc.
-// 64 - SC cannot be reset when MADO Gear is taken off.
-// 128 - SC cannot be reset by 'sc_end SC_ALL' and status change clear.
-// 256 - SC can be visible for all players
-// Example:
-// SC_ENDURE, 21 //SC_ENDURE: cannot be removed by death and dispell and cosidered as buff. (16 + 4 + 1 = 21)
-
-SC_PROVOKE, 32
-SC_ENDURE, 21
-SC_HIDING, 4
-SC_CLOAKING, 6
-SC_TWOHANDQUICKEN, 24
-SC_CONCENTRATION, 16
-SC_ENCHANTPOISON, 16
-SC_POISONREACT, 16
-SC_QUAGMIRE, 42
-SC_ANGELUS, 16
-SC_BLESSING, 80
-SC_INC_AGI, 80
-SC_DEC_AGI, 34
-SC_SLOWPOISON, 24
-SC_IMPOSITIO, 16
-SC_SUFFRAGIUM, 16
-SC_ASPERSIO, 80
-SC_BENEDICTIO, 26
-SC_KYRIE, 16
-SC_MAGNIFICAT, 18
-SC_GLORIA, 16
-SC_LEXAETERNA, 18
-SC_ADRENALINE, 16
-SC_WEAPONPERFECT, 16
-SC_OVERTHRUST, 16
-SC_MAXIMIZEPOWER, 16
-SC_TRICKDEAD, 26
-SC_SHOUT, 16
-SC_ENERGYCOAT, 16
-SC_ATTHASTE_POTION1, 24
-SC_ATTHASTE_POTION2, 24
-SC_ATTHASTE_POTION3, 16
-SC_MOVHASTE_POTION, 26
-//SC_POSTDELAY, 29
-SC_BARRIER, 16
-SC_NOEQUIPWEAPON, 30
-SC_NOEQUIPSHIELD, 30
-SC_NOEQUIPARMOR, 30
-SC_NOEQUIPHELM, 30
-SC_PROTECTWEAPON, 28
-SC_PROTECTSHIELD, 28
-SC_PROTECTARMOR, 28
-SC_PROTECTHELM, 28
-SC_AUTOGUARD, 24
-SC_REFLECTSHIELD, 24
-SC_DEVOTION, 18
-SC_PROVIDENCE, 18
-SC_DEFENDER, 16
-SC_MAGICROD, 26
-//SC_WEAPONPROPERTY, 24
-SC_AUTOSPELL, 21
-//SC_SPECIALZONE, 26
-//SC_MASK, 26
-SC_SPEARQUICKEN, 16
-SC_BLADESTOP, 26
-SC_EXPLOSIONSPIRITS, 26
-SC_STEELBODY, 18
-SC_PROPERTYFIRE, 29
-SC_PROPERTYWATER, 29
-SC_PROPERTYWIND, 29
-SC_PROPERTYGROUND, 29
-SC_STOP, 26
-SC_PROPERTYUNDEAD, 26
-//SC_STATUSONE, 26
-SC_AURABLADE, 18
-SC_PARRYING, 26
-SC_LKCONCENTRATION, 18
-SC_TENSIONRELAX, 26
-SC_BERSERK, 18
-SC_SACRIFICE, 26
-SC_GOSPEL, 34
-SC_SAFETYWALL, 28
-SC_PNEUMA, 28
-SC_ASSUMPTIO, 16
-SC_BASILICA, 26
-//SC_GROUNDMAGIC, 26 // is divided to SC_VOLCANO, 0xSC_DELUGE, 0xSC_VIOLENTGALE
-SC_VOLCANO, 26
-SC_DELUGE, 26
-SC_VIOLENTGALE, 26
-SC_MAGICPOWER, 18
-SC_EDP, 23
-SC_TRUESIGHT, 18
-SC_WINDWALK, 18
-SC_MELTDOWN, 23
-SC_CARTBOOST, 23
-SC_BLOODING, 26
-SC_JOINTBEAT, 42
-SC_MINDBREAKER, 18
-SC_MEMORIZE, 18
-SC_FOGWALL, 26
-SC_SPIDERWEB, 47
-SC_SUB_WEAPONPROPERTY, 23
-SC_RUN, 26
-SC_STRUP, 26
-SC_PROPERTYDARK, 26
-SC_ADRENALINE2, 18
-SC_PROPERTYTELEKINESIS, 26
-SC_SOULLINK, 26
-SC_PLUSATTACKPOWER, 88
-SC_PLUSMAGICPOWER, 88
-SC_KAITE, 26
-SC_KAAHI, 26
-SC_KAUPE, 26
-SC_ONEHANDQUICKEN, 26
-//SC_GDSKILL_POSTDELAY, 29
-SC_PRESERVE, 18
-SC_CHASEWALK, 4
-SC_CHASEWALK2, 26
-SC_MOVESLOW_POTION, 26
-SC_DOUBLECASTING, 26
-SC_GRAVITATION, 26
-SC_OVERTHRUSTMAX, 18
-SC_TAROTCARD, 42
-SC_CR_SHRINK, 23
-SC_WZ_SIGHTBLASTER, 23
-SC_RG_CCONFINE_M, 31
-SC_RG_CCONFINE_S, 31
-SC_NJ_UTSUSEMI, 26
-SC_NJ_BUNSINJYUTSU, 26
-SC_NJ_SUITON, 47
-//SC_MENTAL, 26
-//SC_EXPMEMORY, 26
-//SC_PERFORMANCE, 26
-//SC_GAIN, 26
-//SC_DRIFT, 26
-//SC_WALLSHIFT, 26
-//SC_REINCARNATION, 26
-//SC_DENERGY, 26
-//SC_DAURA, 26
-//SC_DFREEZER, 26
-//SC_DPUNISH, 26
-//SC_DBARRIER, 26
-//SC_DWARNING, 26
-//SC_MOUSEWHEEL, 30
-//SC_DACCEL, 26
-//SC_DBLOCK, 26
-SC_FOOD_STR, 92
-SC_FOOD_AGI, 92
-SC_FOOD_VIT, 92
-SC_FOOD_DEX, 92
-SC_FOOD_INT, 92
-SC_FOOD_LUK, 92
-SC_FOOD_BASICAVOIDANCE, 88
-SC_FOOD_BASICHIT, 88
-SC_FOOD_CRITICALSUCCESSVALUE, 24
-SC_CASH_PLUSEXP, 93
-SC_CASH_DEATHPENALTY, 93
-SC_CASH_RECEIVEITEM, 93
-SC_CASH_BOSS_ALARM, 94
-//SC_DA_ENERGY, 26
-//SC_DA_FIRSTSLOT, 26
-//SC_DA_HEADDEF, 26
-//SC_DA_SPACE, 30
-//SC_DA_ITEMREBUILD, 30
-//SC_DA_ILLUSION, 26
-//SC_DA_EARPLUG, 30
-//SC_DA_CONTRACT, 29
-//SC_DA_BLACK, 30
-//SC_DA_MAGICCART, 26
-//SC_CRYSTAL, 30
-//SC_DA_REBUILD, 29
-//SC_DA_EDARKNESS, 26
-//SC_DA_EGUARDIAN, 26
-//SC_DA_TIMEOUT, 26
-SC_FOOD_STR_CASH, 93
-SC_FOOD_AGI_CASH, 93
-SC_FOOD_VIT_CASH, 93
-SC_FOOD_DEX_CASH, 93
-SC_FOOD_INT_CASH, 93
-SC_FOOD_LUK_CASH, 93
-SC_SAVAGE_STEAK, 76
-SC_COCKTAIL_WARG_BLOOD, 76
-SC_MINOR_BBQ, 76
-SC_SIROMA_ICE_TEA, 76
-SC_DROCERA_HERB_STEAMED, 76
-SC_PUTTI_TAILS_NOODLES, 76
-SC_MELON_BOMB, 12
-SC_BANANA_BOMB_SITDOWN_POSTDELAY, 12
-SC_BANANA_BOMB, 12
-SC_PROMOTE_HEALTH_RESERCH, 12
-SC_ENERGY_DRINK_RESERCH, 12
-SC_EXTRACT_WHITE_POTION_Z, 12
-SC_VITATA_500, 12
-SC_EXTRACT_SALAMINE_JUICE, 12
-SC_BOOST500, 12
-SC_FULL_SWING_K, 12
-SC_MANA_PLUS, 12
-SC_MUSTLE_M, 12
-SC_LIFE_FORCE_F, 12
-SC_MER_FLEE, 28
-SC_MER_ATK, 28
-SC_MER_HP, 28
-SC_MER_SP, 28
-SC_MER_HIT, 28
-SC_SLOWCAST, 31
-SC_CRITICALWOUND, 23
-SC_MOVHASTE_HORSE, 31
-SC_PROTECT_DEF, 28
-SC_PROTECT_MDEF, 28
-SC_HEALPLUS, 92
-SC_S_LIFEPOTION, 92
-SC_L_LIFEPOTION, 92
-SC_CRITICALPERCENT, 92
-SC_PLUSAVOIDVALUE, 92
-SC_ATKER_ASPD, 28
-SC_TARGET_ASPD, 92
-SC_ATKER_MOVESPEED, 28
-SC_ATKER_BLOOD, 28
-SC_TARGET_BLOOD, 30
-SC_ARMOR_PROPERTY, 29
-//SC_REUSE_LIMIT_A, 29
-SC_HELLPOWER, 29
-SC_STEAMPACK, 108
-//SC_REUSE_LIMIT_B, 29
-//SC_REUSE_LIMIT_C, 29
-//SC_REUSE_LIMIT_D, 29
-//SC_REUSE_LIMIT_E, 29
-//SC_REUSE_LIMIT_F, 29
-SC_CASH_PLUSONLYJOBEXP, 93
-SC_PARTYFLEE, 24
-SC_ANGEL_PROTECT, 24
-//SC_ENDURE_MDEF, 21
-SC_ENCHANTBLADE, 16
-SC_DEATHBOUND, 30
-SC_REFRESH, 22
-SC_GIANTGROWTH, 20
-SC_STONEHARDSKIN, 23
-SC_VITALITYACTIVATION, 20
-SC_FIGHTINGSPIRIT, 20
-SC_ABUNDANCE, 20
-//SC_REUSE_MILLENNIUMSHIELD, 29
-//SC_REUSE_CRUSHSTRIKE, 29
-//SC_REUSE_REFRESH, 29
-//SC_REUSE_STORMBLAST, 29
-SC_EPICLESIS, 29
-SC_ORATIO, 276
-SC_LAUDAAGNUS, 20
-SC_LAUDARAMUS, 20
-SC_CLOAKINGEXCEED, 30
-SC_HALLUCINATIONWALK, 284
-SC_HALLUCINATIONWALK_POSTDELAY, 31
-SC_RENOVATIO, 20
-SC_WEAPONBLOCKING, 28
-//SC_WEAPONBLOCKING_POSTDELAY, 31
-SC_ROLLINGCUTTER, 286
-SC_EXPIATIO, 20
-SC_POISONINGWEAPON, 28
-SC_TOXIN, 20
-SC_PARALYSE, 20
-SC_VENOMBLEED, 20
-SC_MAGICMUSHROOM, 20
-SC_DEATHHURT, 20
-SC_PYREXIA, 20
-SC_OBLIVIONCURSE, 20
-SC_LEECHESEND, 20
-SC_DUPLELIGHT, 276
-SC_FEARBREEZE, 28
-SC_ELECTRICSHOCKER, 30
-SC_MARSHOFABYSS, 20
-SC_RECOGNIZEDSPELL, 20
-//SC_WUGRIDER, 29
-SC_WUGDASH, 30
-SC_WUGBITE, 30
-SC_CAMOUFLAGE, 286
-SC_ACCELERATION, 28
-SC_HOVERING, 28
-SC_SUMMON1, 280
-SC_SUMMON2, 280
-SC_SUMMON3, 280
-SC_SUMMON4, 280
-SC_SUMMON5, 280
-SC_MVPCARD_TAOGUNKA, 60
-SC_MVPCARD_MISTRESS, 60
-SC_MVPCARD_ORCHERO, 60
-SC_MVPCARD_ORCLORD, 60
-SC_OVERHEAT_LIMITPOINT, 28
-SC_OVERHEAT, 28
-SC_SHAPESHIFT, 28
-SC_INFRAREDSCAN, 28
-SC_MAGNETICFIELD, 30
-SC_NEUTRALBARRIER, 30
-SC_NEUTRALBARRIER_MASTER, 30
-SC_STEALTHFIELD_MASTER, 30
-SC_MANU_ATK, 28
-SC_MANU_DEF, 28
-SC_SPL_ATK, 28
-SC_SPL_DEF, 28
-SC__REPRODUCE, 28
-SC_MANU_MATK, 28
-SC_SPL_MATK, 28
-SC_STR_SCROLL, 61
-SC_INT_SCROLL, 61
-SC_FORCEOFVANGUARD, 28
-SC_BUCHEDENOEL, 60
-SC__AUTOSHADOWSPELL, 16
-SC__SHADOWFORM, 286
-SC_RAID, 28
-SC_SHIELDSPELL_DEF, 16
-SC_SHIELDSPELL_MDEF, 16
-SC_SHIELDSPELL_REF, 16
-SC__BODYPAINT, 20
-SC_EXEEDBREAK, 28
-SC_ADORAMUS, 16
-SC_PRESTIGE, 16
-SC__INVISIBILITY, 30
-SC__DEADLYINFECT, 20
-SC_BANDING, 284
-SC_BANDING_DEFENCE, 28
-SC_EARTHDRIVE, 20
-SC_INSPIRATION, 28
-SC__ENERVATION, 16
-SC__GROOMY, 16
-SC_RAISINGDRAGON, 30
-SC__IGNORANCE, 16
-SC__LAZINESS, 16
-SC_LIGHTNINGWALK, 28
-SC_ACARAJE, 24
-SC__UNLUCKY, 16
-SC_CURSEDCIRCLE_ATKER, 284
-SC_CURSEDCIRCLE_TARGET, 284
-SC__WEAKNESS, 16
-SC_CRESCENTELBOW, 28
-//SC_NOEQUIPACCESSARY, 30
-SC__STRIPACCESSARY, 28
-SC__MANHOLE, 94
-//SC_POPECOOKIE, 28
-SC__BLOODYLUST, 32
-SC_SWING, 28
-SC_SYMPHONY_LOVE, 28
-SC_PROPERTYWALK, 18
-SC_SPELLFIST, 16
-SC_NETHERWORLD, 16
-SC_SIREN, 16
-SC_DEEP_SLEEP, 290
-SC_SIRCLEOFNATURE, 16
-SC_GLOOMYDAY, 16
-SC_GLOOMYDAY_SK, 16
-SC_SONG_OF_MANA, 16
-SC_DANCE_WITH_WUG, 16
-SC_RUSH_WINDMILL, 28
-SC_ECHOSONG, 28
-SC_HARMONIZE, 16
-SC_MOONLIT_SERENADE, 28
-SC_SATURDAY_NIGHT_FEVER, 16
-SC_SITDOWN_FORCE, 28
-SC_ANALYZE, 28
-SC_LERADS_DEW, 28
-SC_MELODYOFSINK, 28
-SC_BEYOND_OF_WARCRY, 28
-SC_UNLIMITED_HUMMING_VOICE, 28
-SC_WARMER, 2
-SC_VENOMIMPRESS, 260
-SC_FROSTMISTY, 288
-//SC_ASSUMPTIO2, 16
-//SC_GN_TRAINING_SWORD, 31
-//SC_GN_REMODELING_CART, 31
-SC_STOMACHACHE, 32
-SC_MYSTERIOUS_POWDER, 32
-//SC_ELEMENTAL_AGGRESSIVE, 2
-//SC_ELEMENTAL_WAIT, 2
-//SC_ELEMENTAL_PASSIVE, 2
-//SC_ELEMENTAL_DEFENSIVE, 2
-SC_WATER_BARRIER, 2
-SC_ZEPHYR, 2
-SC_POWER_OF_GAIA, 2
-SC_FIRE_INSIGNIA, 2
-SC_WATER_INSIGNIA, 2
-SC_WIND_INSIGNIA, 2
-SC_EARTH_INSIGNIA, 2
-SC_MORA_BUFF, 2
-//SC_REUSE_LIMIT_G, 29
-//SC_REUSE_LIMIT_H, 29
-SC_NEEDLE_OF_PARALYZE, 1
-SC_PAIN_KILLER, 1
-SC_G_LIFEPOTION, 68
-//SC_VITALIZE_POTION, 4
-SC_LIGHT_OF_REGENE, 1
-//SC_SONIC_CLAW_POSTDELAY, 2
-//SC_SILVERVEIN_RUSH_POSTDELAY, 2
-//SC_MIDNIGHT_FRENZY_POSTDELAY, 2
-//SC_TINDER_BREAKER, 2
-//SC_TINDER_BREAKER_POSTDELAY, 2
-//SC_CBC, 2
-//SC_CBC_POSTDELAY, 2
-//SC_EQC, 2
-SC_MAGIC_CANDY, 92
-//SC_ALL_RIDING_REUSE_LIMIT, 1
-//SC_HANDICAPSTATE_DEEP_SLEEP, 80
-SC_MONSTER_TRANSFORM, 268
-SC_MTF_ASPD, 12
-SC_MTF_RANGEATK, 12
-SC_MTF_MATK, 12
-SC_MTF_MLEATKED,12
-SC_MTF_CRIDAMAGE, 12
-SC_FULL_THROTTLE, 18
-SC_REBOUND, 18
-SC_TELEKINESIS_INTENSE, 18
-
-// Geffen Scrolls
-SC_SKELSCROLL, 69
-SC_DISTRUCTIONSCROLL, 69
-SC_ROYALSCROLL, 69
-SC_IMMUNITYSCROLL, 69
-SC_MYSTICSCROLL, 69
-SC_BATTLESCROLL, 69
-SC_ARMORSCROLL, 69
-SC_FREYJASCROLL, 69
-SC_SOULSCROLL, 69
-
-// Eden Crystal Synthesis
-SC_QUEST_BUFF1, 13
-SC_QUEST_BUFF2, 13
-SC_QUEST_BUFF3, 13
-
-// Geffen Magic Tournament
-SC_GEFFEN_MAGIC1, 14
-SC_GEFFEN_MAGIC2, 14
-SC_GEFFEN_MAGIC3, 14
-
-SC_OVERLAPEXPUP, 12
-SC_M_LIFEPOTION, 68
-
-// Guild Auras should not be saved
-SC_LEADERSHIP,78
-SC_GLORYWOUNDS,78
-SC_SOULCOLD,78
-SC_HAWKEYES,78
-SC_GDSKILL_REGENERATION,78
-
-SC_ORCISH, 2
-
-// Unremovable
-SC_WEIGHTOVER50, 207
-SC_WEIGHTOVER90, 207
-SC_WEDDING, 77
-SC_XMAS, 77
-SC_SUMMER, 77
-SC_NOCHAT, 205
-SC_FUSION, 77
-SC_EARTHSCROLL, 77
-SC_STORMKICK_READY, 77
-SC_DOWNKICK_READY, 77
-SC_COUNTERKICK_READY, 77
-SC_TURNKICK_READY, 77
-SC_DODGE_READY, 77
-SC_JAILED, 205
-SC_AUTOTRADE, 77
-SC_DANCING, 12
-SC_WHISTLE, 79
-SC_ASSNCROS, 79
-SC_POEMBRAGI, 79
-SC_APPLEIDUN, 79
-SC_HUMMING, 79
-SC_DONTFORGETME, 79
-SC_FORTUNE, 79
-SC_SERVICEFORYOU, 79
-SC_INCHIT, 77
-SC_PUSH_CART, 461
-SC_COLD, 256
-SC_BLOOD_SUCKER, 256
-
-// Costumes
-SC_MOONSTAR, 463
-SC_SUPER_STAR, 463
-SC_STRANGELIGHTS, 463
-SC_DECORATION_OF_MUSIC, 463
-SC_LJOSALFAR, 463
-SC_MERMAID_LONGING, 463
-SC_HAT_EFFECT, 463
-SC_FLOWERSMOKE, 463
-SC_FSTONE, 463
-SC_HAPPINESS_STAR, 463
-SC_MAPLE_FALLS, 463
-SC_TIME_ACCESSORY, 463
-SC_MAGICAL_FEATHER, 463
-SC_BLOSSOM_FLUTTERING, 463
-
-// Summoner
-SC_SPRITEMABLE, 205
-SC_BITESCAR, 4
-
-// Clan System
-SC_CLAN_INFO, 463
-
-// Cant Clear
-SC_ALL_RIDING, 397
-
-SC_DAILYSENDMAILCNT, 461
diff --git a/db/stylist_db.conf b/db/stylist_db.conf
index fde32a7da..4db0b5fb1 100644
--- a/db/stylist_db.conf
+++ b/db/stylist_db.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
-//= Copyright (C) 2018 Asheraf
+//= Copyright (C) 2018-2020 Hercules Dev Team
+//= Copyright (C) 2018 Asheraf
//=
//= 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/db/translations.conf b/db/translations.conf
index e786a72ac..aee83228e 100644
--- a/db/translations.conf
+++ b/db/translations.conf
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
+//= Copyright (C) 2015-2020 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
@@ -31,6 +31,12 @@
//=========================================================================
translations: (
- //"path/to/my/Language.po",
- //"db/Spanish.po", //(Example)
+ //"db/translations/Foo",
+ // "db/Spanish", // (Example)
+ // The .po files in the language folder should have the same directory
+ // structure as the generating scripts:
+ // - db/Spanish/conf/messages_conf.po
+ // - db/Spanish/npc/MOTD_txt.po
+ // - db/Spanish/npc/airports/airship_txt.po
+ // - ...
)
diff --git a/db2sql.bat b/db2sql.bat
index 9bad06ef2..cf781f703 100644
--- a/db2sql.bat
+++ b/db2sql.bat
@@ -3,7 +3,7 @@
REM This file is part of Hercules.
REM http://herc.ws - http://github.com/HerculesWS/Hercules
REM
-REM Copyright (C) 2013-2015 Hercules Dev Team
+REM Copyright (C) 2013-2020 Hercules Dev Team
REM
REM Hercules is free software: you can redistribute it and/or modify
REM it under the terms of the GNU General Public License as published by
diff --git a/doc/atcommands.txt b/doc/atcommands.txt
index b455d9151..65c3bb091 100644
--- a/doc/atcommands.txt
+++ b/doc/atcommands.txt
@@ -584,6 +584,12 @@ Opens the Identification window if any unappraised items are in your inventory.
---------------------------------------
+@identifyall
+
+Identifies all unappraised items in your inventory.
+
+---------------------------------------
+
@trade <player name>
Opens the trade window with the specified player.
@@ -672,17 +678,30 @@ Example:
@refine <equip position> <+/- amount>
Refines an equipped item by the specified amount.
-0: All Equipment
-1: Lower Headgear
-2: Right Hand
+-3: Refine All Equip (Shadow)
+-2: Refine All Equip (Costume)
+-1: Refine All Equip (General)
+1: Headgear (Low)
+2: Hand (Right)
4: Garment
-8: Left Accessory
+8: Accessory (Left)
16: Body Armor
-32: Left Hand
+32: Hand (Left)
64: Shoes
-128: Right Accessory
-256: Top Headgear
-512: Mid Headgear
+128: Accessory (Right)
+256: Headgear (Top)
+256: Headgear (Mid)
+1024: Costume Headgear (Top)
+2048: Costume Headgear (Mid)
+4096: Costume Headgear (Low)
+8192: Costume Garment
+65536: Shadow Armor
+131072: Shadow Weapon
+262144: Shadow Shield
+524288: Shadow Shoes
+1048576: Shadow Accessory (Right)
+2097152: Shadow Accessory (Left)
+2097152: Shadow Accessory (Left)
---------------------------------------
@@ -692,9 +711,23 @@ Repairs all broken items in your inventory.
---------------------------------------
-@dropall
+@dropall {<item type>}
+
+Drops all items based on the item type.
-Drops all inventory and equipped items onto the floor.
+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
---------------------------------------
@@ -859,6 +892,12 @@ Resets a Star Gladiator's marked maps.
---------------------------------------
+@hatereset
+
+Resets a Star Gladiator's hatred targets.
+
+---------------------------------------
+
@jobchange <job name/ID>
Changes your job.
@@ -929,10 +968,19 @@ If no position is given, the command defaults to headgear.
---------------------------------------
-@fakename {<text string>}
+@fakename {<options>} {<fake_name>}
-Temporarily changes name to the specified string.
-If no string is given, the character's real name will be re-applied.
+Temporarily changes the character's name to <fake_name>.
+If no parameter is passed, the character's real name will be re-applied.
+The <options> parameter is used, to modify which names will be displayed.
+The fake name will always be displayed, regardless of <options>.
+Valid <options> flags (combinable):
+ 0 - Only the fake name is displayed. (Default value.)
+ 1 - Display party name.
+ 2 - Display guild name.
+ 4 - Display guild position.
+ 8 - Display clan position.
+ 16 - Display title.
---------------------------------------
@@ -1026,6 +1074,12 @@ Changes the gender attached to the player's account.
---------------------------------------
+@changecharsex
+
+Changes the gender attached to the player's character.
+
+---------------------------------------
+
@marry <player 1> <player 2>
@divorce <player>
@@ -1228,21 +1282,47 @@ Example:
---------------------------------------
-@unloadnpc <npc name>
+@unloadnpc <NPC_name> {<flag>}
-Unloads an NPC.
+Unloads a NPC.
+Flag:
+ 0 - do not unload mobs spawned by NPCs in file
+ 1 - unload mobs spawned by NPCs in file
+ Default is 1; every number other than 0 will be treaten as 1.
+ Mobs that were spawned with monster/areamonster/guardian/bg_monster/atcommand("@monster xy") are affected.
+Note:
+ Be aware that some changes made by NPC are not reverted on unload.
+ Please use the OnNPCUnload label to clean things up by yourself. Commonly relevant for these script commands:
+ -> setmapflagnosave, setmapflag, removemapflags, setbattleflag, setcell, setwall
+ -> agitstart/agitstart2, agitend/agitend2, gvgon, gvgoff, pvpon, pvpoff
+ -> addmonsterdrop, setitemscript, npcshopitem, npcshopadditem, npcshopdelitem, hateffect, disguise
+ -> pcfollow, pcblockmove, setpcblock, setnpcdir, navigateto, viewpoint, add_group_command, skill/addtoskill
+ -> instance and battleground related stuff (excepting bg_monster)
Example:
-@unloadnpc Job Master
+@unloadnpc Job Master 0
---------------------------------------
-@unloadnpcfile <path>
+@unloadnpcfile <path> {<flag>}
Unloads all NPCs in a file.
+Flag: See @unloadnpc
+Note: See @unloadnpc
+
+Example:
+@unloadnpcfile npc/custom/jobmaster.txt 0
+
+---------------------------------------
+
+@reloadnpc <path> {<flag>}
+
+Unloads all NPCs in a file and reload it again.
+Flag: See @unloadnpc
+Note: See @unloadnpc
Example:
-@unloadnpcfile npc/custom/jobmaster.txt
+@reloadnpc npc/custom/jobmaster.txt 0
---------------------------------------
diff --git a/doc/constants.md b/doc/constants.md
index fb868e847..25880c29e 100644
--- a/doc/constants.md
+++ b/doc/constants.md
@@ -362,6 +362,8 @@
- `mf_noviewid`: 56
- `mf_pairship_startable`: 57
- `mf_pairship_endable`: 58
+- `mf_nostorage`: 59
+- `mf_nogstorage`: 60
### Cell Properties
@@ -1328,6 +1330,28 @@
- `SC_DAILYSENDMAILCNT`: 653
- `SC_DRESS_UP`: 652
- `SC_CLAN_INFO`: 654
+- `SC_SIT`: 655
+- `SC_MOON`: 656
+- `SC_TING`: 657
+- `SC_DEVIL1`: 658
+- `SC_RIDING`: 659
+- `SC_FALCON`: 660
+- `SC_WUGRIDER`: 661
+- `SC_POSTDELAY`: 662
+- `SC_ON_PUSH_CART`: 663
+- `SC_RESIST_PROPERTY_WATER`: 664
+- `SC_RESIST_PROPERTY_GROUND`: 665
+- `SC_RESIST_PROPERTY_FIRE`: 666
+- `SC_RESIST_PROPERTY_WIND`: 667
+- `SC_CLIENT_ONLY_EQUIP_ARROW`: 668
+- `SC_MADOGEAR`: 669
+- `SC_POPECOOKIE`: 670
+- `SC_VITALIZE_POTION`: 671
+- `SC_SKF_MATK`: 672
+- `SC_SKF_ATK`: 673
+- `SC_SKF_ASPD`: 674
+- `SC_SKF_CAST`: 675
+- `SC_ALMIGHTY`: 676
### Emotes
@@ -1413,13 +1437,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
@@ -1446,6 +1470,7 @@
- `MOB_ELEMENT`: 20
- `MOB_MODE`: 21
- `MOB_MVPEXP`: 22
+- `MOB_DMG_TAKEN_RATE`: 23
### mercenary guilds
@@ -3491,11 +3516,38 @@
- `4_M_POPFESTA`: 10251
- `4_BONFIRE`: 10252
- `4_PCCOUNT`: 10253
+- `4_LAVAGOLEM`: 10254
+- `4_F_IA`: 10255
+- `4_LOCKE`: 10256
+- `4_LIL_LIF`: 10257
+- `4_LIL_LIF2`: 10258
+- `4_F_DRAGONHAT`: 10259
+- `4_M_DRAGONHAT`: 10260
+- `JP_NPC02`: 10261
+- `JP_NPC03`: 10262
+- `JP_NPC04`: 10263
+- `JP_NPC05`: 10264
+- `JP_NPC06`: 10265
+- `JP_NPC07`: 10266
+- `JP_NPC08`: 10267
+- `JP_NPC09`: 10268
+- `JP_NPC10`: 10269
+- `4_FIRERING`: 10270
- `4_SCATLETON`: 10271
+- `4_JP_AB_NPC_001`: 10272
+- `4_JP_AB_NPC_002`: 10273
+- `4_JP_AB_NPC_003`: 10274
+- `4_JP_AB_NPC_004`: 10275
+- `4_JP_AB_NPC_005`: 10276
+- `4_JP_AB_NPC_006`: 10277
+- `4_JP_AB_NPC_007`: 10278
+- `4_JP_AB_NPC_008`: 10279
- `4_JJAK`: 10280
- `4_M_SNOWMAN_B`: 10281
- `4_M_SNOWMAN_R`: 10282
- `4_M_SNOWMAN_G`: 10283
+- `WARPEFFECTNPC`: 10284
+- `4_HEN`: 10285
- `4_F_DANGDANG`: 10286
- `4_M_DANGDANG`: 10287
- `4_F_DANGDANG1`: 10288
@@ -3520,6 +3572,39 @@
- `4_ED_OSCAR`: 10307
- `4_ED_ORB`: 10308
- `4_ED_FENCE`: 10309
+- `4_M_ANDREA`: 10310
+- `4_M_ANDREA_D`: 10311
+- `4_F_ANES`: 10312
+- `4_F_ANES_D`: 10313
+- `4_M_SILVANO`: 10314
+- `4_M_SILVANO_D`: 10315
+- `4_F_CECILIA`: 10316
+- `4_F_CECILIA_D`: 10317
+- `4_M_MD_SEYREN`: 10318
+- `4_M_MD_EREMES`: 10319
+- `4_M_MD_HARWORD`: 10320
+- `4_F_MD_MAGALETA`: 10321
+- `4_F_MD_SHECIL`: 10322
+- `4_F_MD_KATRINN`: 10323
+- `4_M_MD_SEYREN_H`: 10324
+- `4_M_MD_EREMES_H`: 10325
+- `4_M_MD_HARWORD_H`: 10326
+- `4_F_MD_MAGALETA_H`: 10327
+- `4_F_MD_SHECIL_H`: 10328
+- `4_F_MD_KATRINN_H`: 10329
+- `4_M_MD_SEYREN_D`: 10330
+- `4_M_MD_EREMES_D`: 10331
+- `4_M_MD_HARWORD_D`: 10332
+- `4_F_MD_MAGALETA_D`: 10333
+- `4_F_MD_SHECIL_D`: 10334
+- `4_F_MD_KATRINN_D`: 10335
+- `4_F_MD_YGNIZEM`: 10336
+- `4_F_ERENE`: 10337
+- `4_M_EINCPTMINER`: 10338
+- `4_F_EINRESERCHER`: 10339
+- `4_F_REINDEER`: 10340
+- `4_PIGOCTO`: 10341
+- `4_JP_16TH`: 10343
### Mercenary IDs
@@ -3768,66 +3853,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
@@ -3972,467 +3997,7 @@
- `INVENTORY_INCREASE_STEP`: 10
-
-## Hardcoded Constants (source)
-
-
-### Boolean
-
-- `true`: 1
-- `false`: 0
-
-### Server defines
-
-- `PACKETVER`: 20141022
-- `MAX_LEVEL`: 175
-- `MAX_STORAGE`: 600
-- `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_MENU_OPTIONS`: 255
-- `MAX_MENU_LENGTH`: 2048
-
-### status options
-
-- `Option_Nothing`: 0
-- `Option_Sight`: 1
-- `Option_Hide`: 2
-- `Option_Cloak`: 4
-- `Option_Falcon`: 16
-- `Option_Riding`: 32
-- `Option_Invisible`: 64
-- `Option_Orcish`: 2048
-- `Option_Wedding`: 4096
-- `Option_Chasewalk`: 16384
-- `Option_Flying`: 32768
-- `Option_Xmas`: 65536
-- `Option_Transform`: 131072
-- `Option_Summer`: 262144
-- `Option_Dragon1`: 524288
-- `Option_Wug`: 1048576
-- `Option_Wugrider`: 2097152
-- `Option_Madogear`: 4194304
-- `Option_Dragon2`: 8388608
-- `Option_Dragon3`: 16777216
-- `Option_Dragon4`: 33554432
-- `Option_Dragon5`: 67108864
-- `Option_Hanbok`: 134217728
-- `Option_Oktoberfest`: 268435456
-- `Option_Summer2`: 536870912
-
-### status option compounds
-
-- `Option_Dragon`: 126353408
-- `Option_Costume`: 939855872
-
-### send_target
-
-- `ALL_CLIENT`: 0
-- `ALL_SAMEMAP`: 1
-- `AREA`: 2
-- `AREA_WOS`: 3
-- `AREA_WOC`: 4
-- `AREA_WOSC`: 5
-- `AREA_CHAT_WOC`: 6
-- `CHAT`: 8
-- `CHAT_WOS`: 9
-- `PARTY`: 10
-- `PARTY_WOS`: 11
-- `PARTY_SAMEMAP`: 12
-- `PARTY_SAMEMAP_WOS`: 13
-- `PARTY_AREA`: 14
-- `PARTY_AREA_WOS`: 15
-- `GUILD`: 16
-- `GUILD_WOS`: 17
-- `GUILD_SAMEMAP`: 18
-- `GUILD_SAMEMAP_WOS`: 19
-- `GUILD_AREA`: 20
-- `GUILD_AREA_WOS`: 21
-- `GUILD_NOBG`: 22
-- `DUEL`: 23
-- `DUEL_WOS`: 24
-- `SELF`: 25
-- `BG`: 26
-- `BG_WOS`: 27
-- `BG_SAMEMAP`: 28
-- `BG_SAMEMAP_WOS`: 29
-- `BG_AREA`: 30
-- `BG_AREA_WOS`: 31
-- `BG_QUEUE`: 32
-
-### LOOK_ constants, use in setlook/changelook script commands
-
-- `LOOK_BASE`: 0
-- `LOOK_HAIR`: 1
-- `LOOK_WEAPON`: 2
-- `LOOK_HEAD_BOTTOM`: 3
-- `LOOK_HEAD_TOP`: 4
-- `LOOK_HEAD_MID`: 5
-- `LOOK_HAIR_COLOR`: 6
-- `LOOK_CLOTHES_COLOR`: 7
-- `LOOK_SHIELD`: 8
-- `LOOK_SHOES`: 9
-- `LOOK_BODY`: 10
-- `LOOK_FLOOR`: 11
-- `LOOK_ROBE`: 12
-- `LOOK_BODY2`: 13
-
-### Equip Position in Bits, use with *getiteminfo type 5, or @inventorylist_equip
-
-- `EQP_HEAD_LOW`: 1
-- `EQP_HEAD_MID`: 512
-- `EQP_HEAD_TOP`: 256
-- `EQP_HAND_R`: 2
-- `EQP_HAND_L`: 32
-- `EQP_ARMOR`: 16
-- `EQP_SHOES`: 64
-- `EQP_GARMENT`: 4
-- `EQP_ACC_L`: 8
-- `EQP_ACC_R`: 128
-- `EQP_COSTUME_HEAD_TOP`: 1024
-- `EQP_COSTUME_HEAD_MID`: 2048
-- `EQP_COSTUME_HEAD_LOW`: 4096
-- `EQP_COSTUME_GARMENT`: 8192
-- `EQP_AMMO`: 32768
-- `EQP_SHADOW_ARMOR`: 65536
-- `EQP_SHADOW_WEAPON`: 131072
-- `EQP_SHADOW_SHIELD`: 262144
-- `EQP_SHADOW_SHOES`: 524288
-- `EQP_SHADOW_ACC_R`: 1048576
-- `EQP_SHADOW_ACC_L`: 2097152
-- `EQP_WEAPON`: 2
-- `EQP_SHIELD`: 32
-- `EQP_ARMS`: 34
-- `EQP_HELM`: 769
-- `EQP_ACC`: 136
-- `EQP_COSTUME`: 15360
-- `EQP_SHADOW_ACC`: 3145728
-- `EQP_SHADOW_ARMS`: 393216
-
-### Item Option Types
-
-- `IT_OPT_INDEX`: 0
-- `IT_OPT_VALUE`: 1
-- `IT_OPT_PARAM`: 2
-
-### Maximum Item Options
-
-- `MAX_ITEM_OPTIONS`: 5
-
-### Navigation constants, use with *navigateto*
-
-- `NAV_NONE`: 0
-- `NAV_AIRSHIP_ONLY`: 1
-- `NAV_SCROLL_ONLY`: 10
-- `NAV_AIRSHIP_AND_SCROLL`: 11
-- `NAV_KAFRA_ONLY`: 100
-- `NAV_KAFRA_AND_AIRSHIP`: 101
-- `NAV_KAFRA_AND_SCROLL`: 110
-- `NAV_ALL`: 111
-
-### BL types
-
-- `BL_PC`: 1
-- `BL_MOB`: 2
-- `BL_PET`: 4
-- `BL_HOM`: 8
-- `BL_MER`: 16
-- `BL_ITEM`: 32
-- `BL_SKILL`: 64
-- `BL_NPC`: 128
-- `BL_CHAT`: 256
-- `BL_ELEM`: 512
-- `BL_CHAR`: 539
-- `BL_ALL`: 4095
-
-### Refine Chance Types
-
-- `REFINE_CHANCE_TYPE_NORMAL`: 0
-- `REFINE_CHANCE_TYPE_ENRICHED`: 1
-- `REFINE_CHANCE_TYPE_E_NORMAL`: 2
-- `REFINE_CHANCE_TYPE_E_ENRICHED`: 3
-
-### Player permissions
-
-- `PERM_TRADE`: 1
-- `PERM_PARTY`: 2
-- `PERM_ALL_SKILL`: 4
-- `PERM_USE_ALL_EQUIPMENT`: 8
-- `PERM_SKILL_UNCONDITIONAL`: 16
-- `PERM_JOIN_ALL_CHAT`: 32
-- `PERM_NO_CHAT_KICK`: 64
-- `PERM_HIDE_SESSION`: 128
-- `PERM_RECEIVE_HACK_INFO`: 512
-- `PERM_WARP_ANYWHERE`: 1024
-- `PERM_VIEW_HPMETER`: 2048
-- `PERM_VIEW_EQUIPMENT`: 4096
-- `PERM_USE_CHECK`: 8192
-- `PERM_USE_CHANGEMAPTYPE`: 16384
-- `PERM_USE_ALL_COMMANDS`: 32768
-- `PERM_RECEIVE_REQUESTS`: 65536
-- `PERM_SHOW_BOSS`: 131072
-- `PERM_DISABLE_PVM`: 262144
-- `PERM_DISABLE_PVP`: 524288
-- `PERM_DISABLE_CMD_DEAD`: 1048576
-- `PERM_HCHSYS_ADMIN`: 2097152
-- `PERM_TRADE_BOUND`: 4194304
-- `PERM_DISABLE_PICK_UP`: 8388608
-- `PERM_DISABLE_STORE`: 16777216
-- `PERM_DISABLE_EXP`: 33554432
-- `PERM_DISABLE_SKILL_USAGE`: 67108864
-
-### Data types
-
-- `DATATYPE_NIL`: 128
-- `DATATYPE_STR`: 256
-- `DATATYPE_INT`: 512
-- `DATATYPE_CONST`: 1024
-- `DATATYPE_PARAM`: 2048
-- `DATATYPE_VAR`: 4096
-- `DATATYPE_LABEL`: 8192
-
-### Logmes types
-
-- `LOGMES_NPC`: 0
-- `LOGMES_ATCOMMAND`: 1
-
-### Item Subtypes (Weapon types)
-
-- `W_FIST`: 0
-- `W_DAGGER`: 1
-- `W_1HSWORD`: 2
-- `W_2HSWORD`: 3
-- `W_1HSPEAR`: 4
-- `W_2HSPEAR`: 5
-- `W_1HAXE`: 6
-- `W_2HAXE`: 7
-- `W_MACE`: 8
-- `W_2HMACE`: 9
-- `W_STAFF`: 10
-- `W_BOW`: 11
-- `W_KNUCKLE`: 12
-- `W_MUSICAL`: 13
-- `W_WHIP`: 14
-- `W_BOOK`: 15
-- `W_KATAR`: 16
-- `W_REVOLVER`: 17
-- `W_RIFLE`: 18
-- `W_GATLING`: 19
-- `W_SHOTGUN`: 20
-- `W_GRENADE`: 21
-- `W_HUUMA`: 22
-- `W_2HSTAFF`: 23
-
-### Item Subtypes (Ammunition types)
-
-- `A_ARROW`: 1
-- `A_DAGGER`: 2
-- `A_BULLET`: 3
-- `A_SHELL`: 4
-- `A_GRENADE`: 5
-- `A_SHURIKEN`: 6
-- `A_KUNAI`: 7
-- `A_CANNONBALL`: 8
-- `A_THROWWEAPON`: 9
-
-### Item Upper Masks
-
-- `ITEMUPPER_NONE`: 0
-- `ITEMUPPER_NORMAL`: 1
-- `ITEMUPPER_UPPER`: 2
-- `ITEMUPPER_BABY`: 4
-- `ITEMUPPER_THIRD`: 8
-- `ITEMUPPER_THIRDUPPER`: 16
-- `ITEMUPPER_THIRDBABY`: 32
-- `ITEMUPPER_ALL`: 63
-
-### dressroom modes
-
-- `DRESSROOM_OPEN`: 1
-- `DRESSROOM_CLOSE`: 0
-
-### getmapinfo options
-
-- `MAPINFO_NAME`: 0
-- `MAPINFO_ID`: 1
-- `MAPINFO_SIZE_X`: 2
-- `MAPINFO_SIZE_Y`: 3
-- `MAPINFO_ZONE`: 4
-
-### set/getiteminfo options
-
-- `ITEMINFO_BUYPRICE`: 0
-- `ITEMINFO_SELLPRICE`: 1
-- `ITEMINFO_TYPE`: 2
-- `ITEMINFO_MAXCHANCE`: 3
-- `ITEMINFO_SEX`: 4
-- `ITEMINFO_LOC`: 5
-- `ITEMINFO_WEIGHT`: 6
-- `ITEMINFO_ATK`: 7
-- `ITEMINFO_DEF`: 8
-- `ITEMINFO_RANGE`: 9
-- `ITEMINFO_SLOTS`: 10
-- `ITEMINFO_SUBTYPE`: 11
-- `ITEMINFO_ELV`: 12
-- `ITEMINFO_WLV`: 13
-- `ITEMINFO_VIEWID`: 14
-- `ITEMINFO_MATK`: 15
-- `ITEMINFO_VIEWSPRITE`: 16
-- `ITEMINFO_TRADE`: 17
-
-### monster skill states
-
-- `MSS_ANY`: -1
-- `MSS_IDLE`: 0
-- `MSS_WALK`: 1
-- `MSS_LOOT`: 2
-- `MSS_DEAD`: 3
-- `MSS_BERSERK`: 4
-- `MSS_ANGRY`: 5
-- `MSS_RUSH`: 6
-- `MSS_FOLLOW`: 7
-- `MSS_ANYTARGET`: 8
-
-### monster skill conditions
-
-- `MSC_ANY`: -1
-- `MSC_ALWAYS`: 0
-- `MSC_MYHPLTMAXRATE`: 1
-- `MSC_MYHPINRATE`: 2
-- `MSC_FRIENDHPLTMAXRATE`: 3
-- `MSC_FRIENDHPINRATE`: 4
-- `MSC_MYSTATUSON`: 5
-- `MSC_MYSTATUSOFF`: 6
-- `MSC_FRIENDSTATUSON`: 7
-- `MSC_FRIENDSTATUSOFF`: 8
-- `MSC_ATTACKPCGT`: 9
-- `MSC_ATTACKPCGE`: 10
-- `MSC_SLAVELT`: 11
-- `MSC_SLAVELE`: 12
-- `MSC_CLOSEDATTACKED`: 13
-- `MSC_LONGRANGEATTACKED`: 14
-- `MSC_SKILLUSED`: 16
-- `MSC_AFTERSKILL`: 15
-- `MSC_CASTTARGETED`: 17
-- `MSC_RUDEATTACKED`: 18
-- `MSC_MASTERHPLTMAXRATE`: 19
-- `MSC_MASTERATTACKED`: 20
-- `MSC_ALCHEMIST`: 21
-- `MSC_SPAWN`: 22
-
-### monster skill targets
-
-- `MST_TARGET`: 0
-- `MST_RANDOM`: 1
-- `MST_SELF`: 2
-- `MST_FRIEND`: 3
-- `MST_MASTER`: 4
-- `MST_AROUND5`: 5
-- `MST_AROUND6`: 6
-- `MST_AROUND7`: 7
-- `MST_AROUND8`: 8
-- `MST_AROUND1`: 9
-- `MST_AROUND2`: 10
-- `MST_AROUND3`: 11
-- `MST_AROUND4`: 12
-- `MST_AROUND`: 12
-
-### pc block constants, use with *setpcblock* and *checkpcblock*
-
-- `PCBLOCK_NONE`: 0
-- `PCBLOCK_MOVE`: 1
-- `PCBLOCK_ATTACK`: 2
-- `PCBLOCK_SKILL`: 4
-- `PCBLOCK_USEITEM`: 8
-- `PCBLOCK_CHAT`: 16
-- `PCBLOCK_IMMUNE`: 32
-- `PCBLOCK_SITSTAND`: 64
-- `PCBLOCK_COMMANDS`: 128
-
-### private airship responds
-
-- `P_AIRSHIP_NONE`: 0
-- `P_AIRSHIP_RETRY`: 1
-- `P_AIRSHIP_INVALID_START_MAP`: 4
-- `P_AIRSHIP_INVALID_END_MAP`: 3
-- `P_AIRSHIP_ITEM_NOT_ENOUGH`: 2
-- `P_AIRSHIP_ITEM_INVALID`: 5
-
-### questinfo types
-
-- `QINFO_JOB`: 0
-- `QINFO_SEX`: 1
-- `QINFO_BASE_LEVEL`: 2
-- `QINFO_JOB_LEVEL`: 3
-- `QINFO_ITEM`: 4
-- `QINFO_HOMUN_LEVEL`: 5
-- `QINFO_HOMUN_TYPE`: 6
-- `QINFO_QUEST`: 7
-- `QINFO_MERCENARY_CLASS`: 8
-
-### function types
-
-- `FUNCTION_IS_COMMAND`: 1
-- `FUNCTION_IS_GLOBAL`: 2
-- `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
-
-### Renewal
-
-- `RENEWAL`: 1
-- `RENEWAL_CAST`: 1
-- `RENEWAL_DROP`: 1
-- `RENEWAL_EXP`: 1
-- `RENEWAL_LVDMG`: 1
-- `RENEWAL_EDP`: 1
-- `RENEWAL_ASPD`: 1
-
-
-### Status Icons
+### Status Effect Icons
- `SI_BLANK`: -1
- `SI_PROVOKE`: 0
@@ -5062,8 +4627,10 @@
- `SI_MTF_HITFLEE`: 796
- `SI_FLOWERSMOKE`: 822
- `SI_FSTONE`: 823
+- `SI_DAILYSENDMAILCNT`: 824
- `SI_LJOSALFAR`: 826
- `SI_HAPPINESS_STAR`: 849
+- `SI_DRESS_UP`: 856
- `SI_MAPLE_FALLS`: 857
- `SI_MERMAID_LONGING`: 863
- `SI_MAGICAL_FEATHER`: 864
@@ -5072,6 +4639,10 @@
- `SI_CATNIPPOWDER`: 894
- `SI_BLOSSOM_FLUTTERING`: 895
- `SI_SV_ROOTTWIST`: 896
+- `SI_RESIST_PROPERTY_WATER`: 908
+- `SI_RESIST_PROPERTY_GROUND`: 909
+- `SI_RESIST_PROPERTY_FIRE`: 910
+- `SI_RESIST_PROPERTY_WIND`: 911
- `SI_BITESCAR`: 917
- `SI_ARCLOUSEDASH`: 918
- `SI_TUNAPARTY`: 919
@@ -5079,7 +4650,665 @@
- `SI_FRESHSHRIMP`: 921
- `SI_SUHIDE`: 933
- `SI_SPRITEMABLE`: 937
-- `SI_MAX`: 938
+- `SI_MADOGEAR`: 1149
+
+
+## Hardcoded Constants (source)
+
+
+### Boolean
+
+- `true`: 1
+- `false`: 0
+
+### Server defines
+
+- `PACKETVER`: 20190530
+- `MAX_LEVEL`: 175
+- `MAX_STORAGE`: 600
+- `MAX_GUILD_STORAGE`: 600
+- `MAX_CART`: 100
+- `MAX_INVENTORY`: 200
+- `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`: 2147483647
+- `MAX_MENU_OPTIONS`: 255
+- `MAX_MENU_LENGTH`: 2048
+- `MOB_CLONE_START`: 21001
+- `MOB_CLONE_END`: 22000
+- `MAX_NPC_PER_MAP`: 512
+
+### status options
+
+- `Option_Nothing`: 0
+- `Option_Sight`: 1
+- `Option_Hide`: 2
+- `Option_Cloak`: 4
+- `Option_Falcon`: 16
+- `Option_Riding`: 32
+- `Option_Invisible`: 64
+- `Option_Orcish`: 2048
+- `Option_Wedding`: 4096
+- `Option_Chasewalk`: 16384
+- `Option_Flying`: 32768
+- `Option_Xmas`: 65536
+- `Option_Transform`: 131072
+- `Option_Summer`: 262144
+- `Option_Dragon1`: 524288
+- `Option_Wug`: 1048576
+- `Option_Wugrider`: 2097152
+- `Option_Madogear`: 4194304
+- `Option_Dragon2`: 8388608
+- `Option_Dragon3`: 16777216
+- `Option_Dragon4`: 33554432
+- `Option_Dragon5`: 67108864
+- `Option_Hanbok`: 134217728
+- `Option_Oktoberfest`: 268435456
+- `Option_Summer2`: 536870912
+
+### status option compounds
+
+- `Option_Dragon`: 126353408
+- `Option_Costume`: 939855872
+
+### send_target
+
+- `ALL_CLIENT`: 0
+- `ALL_SAMEMAP`: 1
+- `AREA`: 2
+- `AREA_WOS`: 3
+- `AREA_WOC`: 4
+- `AREA_WOSC`: 5
+- `AREA_CHAT_WOC`: 6
+- `CHAT`: 8
+- `CHAT_WOS`: 9
+- `PARTY`: 10
+- `PARTY_WOS`: 11
+- `PARTY_SAMEMAP`: 12
+- `PARTY_SAMEMAP_WOS`: 13
+- `PARTY_AREA`: 14
+- `PARTY_AREA_WOS`: 15
+- `GUILD`: 16
+- `GUILD_WOS`: 17
+- `GUILD_SAMEMAP`: 18
+- `GUILD_SAMEMAP_WOS`: 19
+- `GUILD_AREA`: 20
+- `GUILD_AREA_WOS`: 21
+- `GUILD_NOBG`: 22
+- `DUEL`: 23
+- `DUEL_WOS`: 24
+- `SELF`: 25
+- `BG`: 26
+- `BG_WOS`: 27
+- `BG_SAMEMAP`: 28
+- `BG_SAMEMAP_WOS`: 29
+- `BG_AREA`: 30
+- `BG_AREA_WOS`: 31
+- `BG_QUEUE`: 32
+
+### LOOK_ constants, use in setlook/changelook script commands
+
+- `LOOK_BASE`: 0
+- `LOOK_HAIR`: 1
+- `LOOK_WEAPON`: 2
+- `LOOK_HEAD_BOTTOM`: 3
+- `LOOK_HEAD_TOP`: 4
+- `LOOK_HEAD_MID`: 5
+- `LOOK_HAIR_COLOR`: 6
+- `LOOK_CLOTHES_COLOR`: 7
+- `LOOK_SHIELD`: 8
+- `LOOK_SHOES`: 9
+- `LOOK_BODY`: 10
+- `LOOK_FLOOR`: 11
+- `LOOK_ROBE`: 12
+- `LOOK_BODY2`: 13
+
+### Equip Position in Bits, use with *getiteminfo type 5, or @inventorylist_equip
+
+- `EQP_HEAD_LOW`: 1
+- `EQP_HEAD_MID`: 512
+- `EQP_HEAD_TOP`: 256
+- `EQP_HAND_R`: 2
+- `EQP_HAND_L`: 32
+- `EQP_ARMOR`: 16
+- `EQP_SHOES`: 64
+- `EQP_GARMENT`: 4
+- `EQP_ACC_L`: 8
+- `EQP_ACC_R`: 128
+- `EQP_COSTUME_HEAD_TOP`: 1024
+- `EQP_COSTUME_HEAD_MID`: 2048
+- `EQP_COSTUME_HEAD_LOW`: 4096
+- `EQP_COSTUME_GARMENT`: 8192
+- `EQP_AMMO`: 32768
+- `EQP_SHADOW_ARMOR`: 65536
+- `EQP_SHADOW_WEAPON`: 131072
+- `EQP_SHADOW_SHIELD`: 262144
+- `EQP_SHADOW_SHOES`: 524288
+- `EQP_SHADOW_ACC_R`: 1048576
+- `EQP_SHADOW_ACC_L`: 2097152
+- `EQP_WEAPON`: 2
+- `EQP_SHIELD`: 32
+- `EQP_ARMS`: 34
+- `EQP_HELM`: 769
+- `EQP_ACC`: 136
+- `EQP_COSTUME`: 15360
+- `EQP_SHADOW_ACC`: 3145728
+- `EQP_SHADOW_ARMS`: 393216
+
+### Item Option Types
+
+- `IT_OPT_INDEX`: 0
+- `IT_OPT_VALUE`: 1
+- `IT_OPT_PARAM`: 2
+
+### Maximum Item Options
+
+- `MAX_ITEM_OPTIONS`: 5
+
+### Navigation constants, use with *navigateto*
+
+- `NAV_NONE`: 0
+- `NAV_AIRSHIP_ONLY`: 1
+- `NAV_SCROLL_ONLY`: 10
+- `NAV_AIRSHIP_AND_SCROLL`: 11
+- `NAV_KAFRA_ONLY`: 100
+- `NAV_KAFRA_AND_AIRSHIP`: 101
+- `NAV_KAFRA_AND_SCROLL`: 110
+- `NAV_ALL`: 111
+
+### BL types
+
+- `BL_PC`: 1
+- `BL_MOB`: 2
+- `BL_PET`: 4
+- `BL_HOM`: 8
+- `BL_MER`: 16
+- `BL_ITEM`: 32
+- `BL_SKILL`: 64
+- `BL_NPC`: 128
+- `BL_CHAT`: 256
+- `BL_ELEM`: 512
+- `BL_CHAR`: 539
+- `BL_ALL`: 4095
+
+### Refine Chance Types
+
+- `REFINE_CHANCE_TYPE_NORMAL`: 0
+- `REFINE_CHANCE_TYPE_ENRICHED`: 1
+- `REFINE_CHANCE_TYPE_E_NORMAL`: 2
+- `REFINE_CHANCE_TYPE_E_ENRICHED`: 3
+
+### Player permissions
+
+- `PERM_TRADE`: 1
+- `PERM_PARTY`: 2
+- `PERM_ALL_SKILL`: 4
+- `PERM_USE_ALL_EQUIPMENT`: 8
+- `PERM_SKILL_UNCONDITIONAL`: 16
+- `PERM_JOIN_ALL_CHAT`: 32
+- `PERM_NO_CHAT_KICK`: 64
+- `PERM_HIDE_SESSION`: 128
+- `PERM_RECEIVE_HACK_INFO`: 512
+- `PERM_WARP_ANYWHERE`: 1024
+- `PERM_VIEW_HPMETER`: 2048
+- `PERM_VIEW_EQUIPMENT`: 4096
+- `PERM_USE_CHECK`: 8192
+- `PERM_USE_CHANGEMAPTYPE`: 16384
+- `PERM_USE_ALL_COMMANDS`: 32768
+- `PERM_RECEIVE_REQUESTS`: 65536
+- `PERM_SHOW_BOSS`: 131072
+- `PERM_DISABLE_PVM`: 262144
+- `PERM_DISABLE_PVP`: 524288
+- `PERM_DISABLE_CMD_DEAD`: 1048576
+- `PERM_HCHSYS_ADMIN`: 2097152
+- `PERM_TRADE_BOUND`: 4194304
+- `PERM_DISABLE_PICK_UP`: 8388608
+- `PERM_DISABLE_STORE`: 16777216
+- `PERM_DISABLE_EXP`: 33554432
+- `PERM_DISABLE_SKILL_USAGE`: 67108864
+- `PERM_BYPASS_NOSTORAGE`: 134217728
+
+### Data types
+
+- `DATATYPE_NIL`: 128
+- `DATATYPE_STR`: 256
+- `DATATYPE_INT`: 512
+- `DATATYPE_CONST`: 1024
+- `DATATYPE_PARAM`: 2048
+- `DATATYPE_VAR`: 4096
+- `DATATYPE_LABEL`: 8192
+
+### Logmes types
+
+- `LOGMES_NPC`: 0
+- `LOGMES_ATCOMMAND`: 1
+
+### Item Subtypes (Weapon types)
+
+- `W_FIST`: 0
+- `W_DAGGER`: 1
+- `W_1HSWORD`: 2
+- `W_2HSWORD`: 3
+- `W_1HSPEAR`: 4
+- `W_2HSPEAR`: 5
+- `W_1HAXE`: 6
+- `W_2HAXE`: 7
+- `W_MACE`: 8
+- `W_2HMACE`: 9
+- `W_STAFF`: 10
+- `W_BOW`: 11
+- `W_KNUCKLE`: 12
+- `W_MUSICAL`: 13
+- `W_WHIP`: 14
+- `W_BOOK`: 15
+- `W_KATAR`: 16
+- `W_REVOLVER`: 17
+- `W_RIFLE`: 18
+- `W_GATLING`: 19
+- `W_SHOTGUN`: 20
+- `W_GRENADE`: 21
+- `W_HUUMA`: 22
+- `W_2HSTAFF`: 23
+
+### Item Subtypes (Ammunition types)
+
+- `A_ARROW`: 1
+- `A_DAGGER`: 2
+- `A_BULLET`: 3
+- `A_SHELL`: 4
+- `A_GRENADE`: 5
+- `A_SHURIKEN`: 6
+- `A_KUNAI`: 7
+- `A_CANNONBALL`: 8
+- `A_THROWWEAPON`: 9
+
+### Item Upper Masks
+
+- `ITEMUPPER_NONE`: 0
+- `ITEMUPPER_NORMAL`: 1
+- `ITEMUPPER_UPPER`: 2
+- `ITEMUPPER_BABY`: 4
+- `ITEMUPPER_THIRD`: 8
+- `ITEMUPPER_THIRDUPPER`: 16
+- `ITEMUPPER_THIRDBABY`: 32
+- `ITEMUPPER_ALL`: 63
+
+### dressroom modes
+
+- `DRESSROOM_OPEN`: 1
+- `DRESSROOM_CLOSE`: 0
+
+### getmapinfo options
+
+- `MAPINFO_NAME`: 0
+- `MAPINFO_ID`: 1
+- `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
+
+- `ITEMINFO_BUYPRICE`: 0
+- `ITEMINFO_SELLPRICE`: 1
+- `ITEMINFO_TYPE`: 2
+- `ITEMINFO_MAXCHANCE`: 3
+- `ITEMINFO_SEX`: 4
+- `ITEMINFO_LOC`: 5
+- `ITEMINFO_WEIGHT`: 6
+- `ITEMINFO_ATK`: 7
+- `ITEMINFO_DEF`: 8
+- `ITEMINFO_RANGE`: 9
+- `ITEMINFO_SLOTS`: 10
+- `ITEMINFO_SUBTYPE`: 11
+- `ITEMINFO_ELV`: 12
+- `ITEMINFO_WLV`: 13
+- `ITEMINFO_VIEWID`: 14
+- `ITEMINFO_MATK`: 15
+- `ITEMINFO_VIEWSPRITE`: 16
+- `ITEMINFO_TRADE`: 17
+- `ITEMINFO_ELV_MAX`: 18
+- `ITEMINFO_DROPEFFECT_MODE`: 19
+- `ITEMINFO_DELAY`: 20
+- `ITEMINFO_CLASS_BASE_1`: 21
+- `ITEMINFO_CLASS_BASE_2`: 22
+- `ITEMINFO_CLASS_BASE_3`: 23
+- `ITEMINFO_CLASS_UPPER`: 24
+- `ITEMINFO_FLAG_NO_REFINE`: 25
+- `ITEMINFO_FLAG_DELAY_CONSUME`: 26
+- `ITEMINFO_FLAG_AUTOEQUIP`: 27
+- `ITEMINFO_FLAG_AUTO_FAVORITE`: 28
+- `ITEMINFO_FLAG_BUYINGSTORE`: 29
+- `ITEMINFO_FLAG_BINDONEQUIP`: 30
+- `ITEMINFO_FLAG_KEEPAFTERUSE`: 31
+- `ITEMINFO_FLAG_FORCE_SERIAL`: 32
+- `ITEMINFO_FLAG_NO_OPTIONS`: 33
+- `ITEMINFO_FLAG_DROP_ANNOUNCE`: 34
+- `ITEMINFO_FLAG_SHOWDROPEFFECT`: 35
+- `ITEMINFO_STACK_AMOUNT`: 36
+- `ITEMINFO_STACK_FLAG`: 37
+- `ITEMINFO_ITEM_USAGE_FLAG`: 38
+- `ITEMINFO_ITEM_USAGE_OVERRIDE`: 39
+- `ITEMINFO_GM_LV_TRADE_OVERRIDE`: 40
+- `ITEMINFO_ID`: 41
+- `ITEMINFO_AEGISNAME`: 42
+- `ITEMINFO_NAME`: 43
+
+### 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
+
+### Pet hunger levels
+
+- `PET_HUNGER_STARVING`: 0
+- `PET_HUNGER_VERY_HUNGRY`: 10
+- `PET_HUNGER_HUNGRY`: 25
+- `PET_HUNGER_NEUTRAL`: 75
+- `PET_HUNGER_SATISFIED`: 90
+- `PET_HUNGER_STUFFED`: 100
+
+### Pet intimacy levels
+
+- `PET_INTIMACY_NONE`: 0
+- `PET_INTIMACY_AWKWARD`: 1
+- `PET_INTIMACY_SHY`: 100
+- `PET_INTIMACY_NEUTRAL`: 250
+- `PET_INTIMACY_CORDIAL`: 750
+- `PET_INTIMACY_LOYAL`: 900
+- `PET_INTIMACY_MAX`: 1000
+
+### monster skill states
+
+- `MSS_ANY`: -1
+- `MSS_IDLE`: 0
+- `MSS_WALK`: 1
+- `MSS_LOOT`: 2
+- `MSS_DEAD`: 3
+- `MSS_BERSERK`: 4
+- `MSS_ANGRY`: 5
+- `MSS_RUSH`: 6
+- `MSS_FOLLOW`: 7
+- `MSS_ANYTARGET`: 8
+
+### monster skill conditions
+
+- `MSC_ANY`: -1
+- `MSC_ALWAYS`: 0
+- `MSC_MYHPLTMAXRATE`: 1
+- `MSC_MYHPINRATE`: 2
+- `MSC_FRIENDHPLTMAXRATE`: 3
+- `MSC_FRIENDHPINRATE`: 4
+- `MSC_MYSTATUSON`: 5
+- `MSC_MYSTATUSOFF`: 6
+- `MSC_FRIENDSTATUSON`: 7
+- `MSC_FRIENDSTATUSOFF`: 8
+- `MSC_ATTACKPCGT`: 9
+- `MSC_ATTACKPCGE`: 10
+- `MSC_SLAVELT`: 11
+- `MSC_SLAVELE`: 12
+- `MSC_CLOSEDATTACKED`: 13
+- `MSC_LONGRANGEATTACKED`: 14
+- `MSC_SKILLUSED`: 16
+- `MSC_AFTERSKILL`: 15
+- `MSC_CASTTARGETED`: 17
+- `MSC_RUDEATTACKED`: 18
+- `MSC_MASTERHPLTMAXRATE`: 19
+- `MSC_MASTERATTACKED`: 20
+- `MSC_ALCHEMIST`: 21
+- `MSC_SPAWN`: 22
+
+### monster skill targets
+
+- `MST_TARGET`: 0
+- `MST_RANDOM`: 1
+- `MST_SELF`: 2
+- `MST_FRIEND`: 3
+- `MST_MASTER`: 4
+- `MST_AROUND5`: 5
+- `MST_AROUND6`: 6
+- `MST_AROUND7`: 7
+- `MST_AROUND8`: 8
+- `MST_AROUND1`: 9
+- `MST_AROUND2`: 10
+- `MST_AROUND3`: 11
+- `MST_AROUND4`: 12
+- `MST_AROUND`: 12
+
+### pc block constants, use with *setpcblock* and *checkpcblock*
+
+- `PCBLOCK_NONE`: 0
+- `PCBLOCK_MOVE`: 1
+- `PCBLOCK_ATTACK`: 2
+- `PCBLOCK_SKILL`: 4
+- `PCBLOCK_USEITEM`: 8
+- `PCBLOCK_CHAT`: 16
+- `PCBLOCK_IMMUNE`: 32
+- `PCBLOCK_SITSTAND`: 64
+- `PCBLOCK_COMMANDS`: 128
+- `PCBLOCK_NPC`: 256
+
+### private airship responds
+
+- `P_AIRSHIP_NONE`: 0
+- `P_AIRSHIP_RETRY`: 1
+- `P_AIRSHIP_INVALID_START_MAP`: 4
+- `P_AIRSHIP_INVALID_END_MAP`: 3
+- `P_AIRSHIP_ITEM_NOT_ENOUGH`: 2
+- `P_AIRSHIP_ITEM_INVALID`: 5
+
+### questinfo types
+
+- `QINFO_JOB`: 0
+- `QINFO_SEX`: 1
+- `QINFO_BASE_LEVEL`: 2
+- `QINFO_JOB_LEVEL`: 3
+- `QINFO_ITEM`: 4
+- `QINFO_HOMUN_LEVEL`: 5
+- `QINFO_HOMUN_TYPE`: 6
+- `QINFO_QUEST`: 7
+- `QINFO_MERCENARY_CLASS`: 8
+
+### function types
+
+- `FUNCTION_IS_COMMAND`: 1
+- `FUNCTION_IS_GLOBAL`: 2
+- `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
+- `NST_EXPANDED_BARTER`: 5
+
+### 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
+- `UDT_DAMAGE_TAKEN_RATE`: 58
+
+### getguildonline types
+
+- `GUILD_ONLINE_ALL`: 0
+- `GUILD_ONLINE_VENDOR`: 1
+- `GUILD_ONLINE_NO_VENDOR`: 2
+
+### Siege Types
+
+- `SIEGE_TYPE_FE`: 0
+- `SIEGE_TYPE_SE`: 1
+- `SIEGE_TYPE_TE`: 2
+
+### guildinfo types
+
+- `GUILDINFO_NAME`: 0
+- `GUILDINFO_ID`: 1
+- `GUILDINFO_LEVEL`: 2
+- `GUILDINFO_ONLINE`: 3
+- `GUILDINFO_AV_LEVEL`: 4
+- `GUILDINFO_MAX_MEMBERS`: 5
+- `GUILDINFO_EXP`: 6
+- `GUILDINFO_NEXT_EXP`: 7
+- `GUILDINFO_SKILL_POINTS`: 8
+- `GUILDINFO_MASTER_NAME`: 9
+- `GUILDINFO_MASTER_CID`: 10
+
+### madogear types
+
+- `MADO_ROBOT`: 0
+- `MADO_SUITE`: 2
+
+### itemskill option flags
+
+- `ISF_NONE`: 0
+- `ISF_CHECKCONDITIONS`: 1
+- `ISF_INSTANTCAST`: 2
+- `ISF_CASTONSELF`: 4
+
+### Item Bound Types
+
+- `IBT_ANY`: 0
+- `IBT_ACCOUNT`: 1
+- `IBT_GUILD`: 2
+- `IBT_PARTY`: 3
+- `IBT_CHARACTER`: 4
+
+### Renewal
+
+- `RENEWAL`: 1
+- `RENEWAL_CAST`: 1
+- `RENEWAL_DROP`: 1
+- `RENEWAL_EXP`: 1
+- `RENEWAL_LVDMG`: 1
+- `RENEWAL_EDP`: 1
+- `RENEWAL_ASPD`: 1
+
## Parameters (source)
@@ -5120,1130 +5349,1130 @@
## Skills (db/re/skill_db.txt)
-- `NV_BASIC`: 1
-- `SM_SWORD`: 2
-- `SM_TWOHAND`: 3
-- `SM_RECOVERY`: 4
-- `SM_BASH`: 5
-- `SM_PROVOKE`: 6
-- `SM_MAGNUM`: 7
-- `SM_ENDURE`: 8
-- `MG_SRECOVERY`: 9
-- `MG_SIGHT`: 10
-- `MG_NAPALMBEAT`: 11
-- `MG_SAFETYWALL`: 12
-- `MG_SOULSTRIKE`: 13
-- `MG_COLDBOLT`: 14
-- `MG_FROSTDIVER`: 15
-- `MG_STONECURSE`: 16
-- `MG_FIREBALL`: 17
-- `MG_FIREWALL`: 18
-- `MG_FIREBOLT`: 19
-- `MG_LIGHTNINGBOLT`: 20
-- `MG_THUNDERSTORM`: 21
-- `AL_DP`: 22
-- `AL_DEMONBANE`: 23
-- `AL_RUWACH`: 24
-- `AL_PNEUMA`: 25
-- `AL_TELEPORT`: 26
-- `AL_WARP`: 27
-- `AL_HEAL`: 28
-- `AL_INCAGI`: 29
-- `AL_DECAGI`: 30
-- `AL_HOLYWATER`: 31
-- `AL_CRUCIS`: 32
-- `AL_ANGELUS`: 33
-- `AL_BLESSING`: 34
-- `AL_CURE`: 35
-- `MC_INCCARRY`: 36
-- `MC_DISCOUNT`: 37
-- `MC_OVERCHARGE`: 38
-- `MC_PUSHCART`: 39
-- `MC_IDENTIFY`: 40
-- `MC_VENDING`: 41
-- `MC_MAMMONITE`: 42
-- `AC_OWL`: 43
-- `AC_VULTURE`: 44
-- `AC_CONCENTRATION`: 45
-- `AC_DOUBLE`: 46
-- `AC_SHOWER`: 47
-- `TF_DOUBLE`: 48
-- `TF_MISS`: 49
-- `TF_STEAL`: 50
-- `TF_HIDING`: 51
-- `TF_POISON`: 52
-- `TF_DETOXIFY`: 53
-- `ALL_RESURRECTION`: 54
-- `KN_SPEARMASTERY`: 55
-- `KN_PIERCE`: 56
-- `KN_BRANDISHSPEAR`: 57
-- `KN_SPEARSTAB`: 58
-- `KN_SPEARBOOMERANG`: 59
-- `KN_TWOHANDQUICKEN`: 60
-- `KN_AUTOCOUNTER`: 61
-- `KN_BOWLINGBASH`: 62
-- `KN_RIDING`: 63
-- `KN_CAVALIERMASTERY`: 64
-- `PR_MACEMASTERY`: 65
-- `PR_IMPOSITIO`: 66
-- `PR_SUFFRAGIUM`: 67
-- `PR_ASPERSIO`: 68
-- `PR_BENEDICTIO`: 69
-- `PR_SANCTUARY`: 70
-- `PR_SLOWPOISON`: 71
-- `PR_STRECOVERY`: 72
-- `PR_KYRIE`: 73
-- `PR_MAGNIFICAT`: 74
-- `PR_GLORIA`: 75
-- `PR_LEXDIVINA`: 76
-- `PR_TURNUNDEAD`: 77
-- `PR_LEXAETERNA`: 78
-- `PR_MAGNUS`: 79
-- `WZ_FIREPILLAR`: 80
-- `WZ_SIGHTRASHER`: 81
-- `WZ_METEOR`: 83
-- `WZ_JUPITEL`: 84
-- `WZ_VERMILION`: 85
-- `WZ_WATERBALL`: 86
-- `WZ_ICEWALL`: 87
-- `WZ_FROSTNOVA`: 88
-- `WZ_STORMGUST`: 89
-- `WZ_EARTHSPIKE`: 90
-- `WZ_HEAVENDRIVE`: 91
-- `WZ_QUAGMIRE`: 92
-- `WZ_ESTIMATION`: 93
-- `BS_IRON`: 94
-- `BS_STEEL`: 95
-- `BS_ENCHANTEDSTONE`: 96
-- `BS_ORIDEOCON`: 97
-- `BS_DAGGER`: 98
-- `BS_SWORD`: 99
-- `BS_TWOHANDSWORD`: 100
-- `BS_AXE`: 101
-- `BS_MACE`: 102
-- `BS_KNUCKLE`: 103
-- `BS_SPEAR`: 104
-- `BS_HILTBINDING`: 105
-- `BS_FINDINGORE`: 106
-- `BS_WEAPONRESEARCH`: 107
-- `BS_REPAIRWEAPON`: 108
-- `BS_SKINTEMPER`: 109
-- `BS_HAMMERFALL`: 110
-- `BS_ADRENALINE`: 111
-- `BS_WEAPONPERFECT`: 112
-- `BS_OVERTHRUST`: 113
-- `BS_MAXIMIZE`: 114
-- `HT_SKIDTRAP`: 115
-- `HT_LANDMINE`: 116
-- `HT_ANKLESNARE`: 117
-- `HT_SHOCKWAVE`: 118
-- `HT_SANDMAN`: 119
-- `HT_FLASHER`: 120
-- `HT_FREEZINGTRAP`: 121
-- `HT_BLASTMINE`: 122
-- `HT_CLAYMORETRAP`: 123
-- `HT_REMOVETRAP`: 124
-- `HT_TALKIEBOX`: 125
-- `HT_BEASTBANE`: 126
-- `HT_FALCON`: 127
-- `HT_STEELCROW`: 128
-- `HT_BLITZBEAT`: 129
-- `HT_DETECTING`: 130
-- `HT_SPRINGTRAP`: 131
-- `AS_RIGHT`: 132
-- `AS_LEFT`: 133
-- `AS_KATAR`: 134
-- `AS_CLOAKING`: 135
-- `AS_SONICBLOW`: 136
-- `AS_GRIMTOOTH`: 137
-- `AS_ENCHANTPOISON`: 138
-- `AS_POISONREACT`: 139
-- `AS_VENOMDUST`: 140
-- `AS_SPLASHER`: 141
-- `NV_FIRSTAID`: 142
-- `NV_TRICKDEAD`: 143
-- `SM_MOVINGRECOVERY`: 144
-- `SM_FATALBLOW`: 145
-- `SM_AUTOBERSERK`: 146
-- `AC_MAKINGARROW`: 147
-- `AC_CHARGEARROW`: 148
-- `TF_SPRINKLESAND`: 149
-- `TF_BACKSLIDING`: 150
-- `TF_PICKSTONE`: 151
-- `TF_THROWSTONE`: 152
-- `MC_CARTREVOLUTION`: 153
-- `MC_CHANGECART`: 154
-- `MC_LOUD`: 155
-- `AL_HOLYLIGHT`: 156
-- `MG_ENERGYCOAT`: 157
-- `NPC_PIERCINGATT`: 158
-- `NPC_MENTALBREAKER`: 159
-- `NPC_RANGEATTACK`: 160
-- `NPC_ATTRICHANGE`: 161
-- `NPC_CHANGEWATER`: 162
-- `NPC_CHANGEGROUND`: 163
-- `NPC_CHANGEFIRE`: 164
-- `NPC_CHANGEWIND`: 165
-- `NPC_CHANGEPOISON`: 166
-- `NPC_CHANGEHOLY`: 167
-- `NPC_CHANGEDARKNESS`: 168
-- `NPC_CHANGETELEKINESIS`: 169
-- `NPC_CRITICALSLASH`: 170
-- `NPC_COMBOATTACK`: 171
-- `NPC_GUIDEDATTACK`: 172
-- `NPC_SELFDESTRUCTION`: 173
-- `NPC_SPLASHATTACK`: 174
-- `NPC_SUICIDE`: 175
-- `NPC_POISON`: 176
-- `NPC_BLINDATTACK`: 177
-- `NPC_SILENCEATTACK`: 178
-- `NPC_STUNATTACK`: 179
-- `NPC_PETRIFYATTACK`: 180
-- `NPC_CURSEATTACK`: 181
-- `NPC_SLEEPATTACK`: 182
-- `NPC_RANDOMATTACK`: 183
-- `NPC_WATERATTACK`: 184
-- `NPC_GROUNDATTACK`: 185
-- `NPC_FIREATTACK`: 186
-- `NPC_WINDATTACK`: 187
-- `NPC_POISONATTACK`: 188
-- `NPC_HOLYATTACK`: 189
-- `NPC_DARKNESSATTACK`: 190
-- `NPC_TELEKINESISATTACK`: 191
-- `NPC_MAGICALATTACK`: 192
-- `NPC_METAMORPHOSIS`: 193
-- `NPC_PROVOCATION`: 194
-- `NPC_SMOKING`: 195
-- `NPC_SUMMONSLAVE`: 196
-- `NPC_EMOTION`: 197
-- `NPC_TRANSFORMATION`: 198
-- `NPC_BLOODDRAIN`: 199
-- `NPC_ENERGYDRAIN`: 200
-- `NPC_KEEPING`: 201
-- `NPC_DARKBREATH`: 202
-- `NPC_DARKBLESSING`: 203
-- `NPC_BARRIER`: 204
-- `NPC_DEFENDER`: 205
-- `NPC_LICK`: 206
-- `NPC_HALLUCINATION`: 207
-- `NPC_REBIRTH`: 208
-- `NPC_SUMMONMONSTER`: 209
-- `RG_SNATCHER`: 210
-- `RG_STEALCOIN`: 211
-- `RG_BACKSTAP`: 212
-- `RG_TUNNELDRIVE`: 213
-- `RG_RAID`: 214
-- `RG_STRIPWEAPON`: 215
-- `RG_STRIPSHIELD`: 216
-- `RG_STRIPARMOR`: 217
-- `RG_STRIPHELM`: 218
-- `RG_INTIMIDATE`: 219
-- `RG_GRAFFITI`: 220
-- `RG_FLAGGRAFFITI`: 221
-- `RG_CLEANER`: 222
-- `RG_GANGSTER`: 223
-- `RG_COMPULSION`: 224
-- `RG_PLAGIARISM`: 225
-- `AM_AXEMASTERY`: 226
-- `AM_LEARNINGPOTION`: 227
-- `AM_PHARMACY`: 228
-- `AM_DEMONSTRATION`: 229
-- `AM_ACIDTERROR`: 230
-- `AM_POTIONPITCHER`: 231
-- `AM_CANNIBALIZE`: 232
-- `AM_SPHEREMINE`: 233
-- `AM_CP_WEAPON`: 234
-- `AM_CP_SHIELD`: 235
-- `AM_CP_ARMOR`: 236
-- `AM_CP_HELM`: 237
-- `AM_BIOETHICS`: 238
-- `AM_CALLHOMUN`: 243
-- `AM_REST`: 244
-- `AM_RESURRECTHOMUN`: 247
-- `CR_TRUST`: 248
-- `CR_AUTOGUARD`: 249
-- `CR_SHIELDCHARGE`: 250
-- `CR_SHIELDBOOMERANG`: 251
-- `CR_REFLECTSHIELD`: 252
-- `CR_HOLYCROSS`: 253
-- `CR_GRANDCROSS`: 254
-- `CR_DEVOTION`: 255
-- `CR_PROVIDENCE`: 256
-- `CR_DEFENDER`: 257
-- `CR_SPEARQUICKEN`: 258
-- `MO_IRONHAND`: 259
-- `MO_SPIRITSRECOVERY`: 260
-- `MO_CALLSPIRITS`: 261
-- `MO_ABSORBSPIRITS`: 262
-- `MO_TRIPLEATTACK`: 263
-- `MO_BODYRELOCATION`: 264
-- `MO_DODGE`: 265
-- `MO_INVESTIGATE`: 266
-- `MO_FINGEROFFENSIVE`: 267
-- `MO_STEELBODY`: 268
-- `MO_BLADESTOP`: 269
-- `MO_EXPLOSIONSPIRITS`: 270
-- `MO_EXTREMITYFIST`: 271
-- `MO_CHAINCOMBO`: 272
-- `MO_COMBOFINISH`: 273
-- `SA_ADVANCEDBOOK`: 274
-- `SA_CASTCANCEL`: 275
-- `SA_MAGICROD`: 276
-- `SA_SPELLBREAKER`: 277
-- `SA_FREECAST`: 278
-- `SA_AUTOSPELL`: 279
-- `SA_FLAMELAUNCHER`: 280
-- `SA_FROSTWEAPON`: 281
-- `SA_LIGHTNINGLOADER`: 282
-- `SA_SEISMICWEAPON`: 283
-- `SA_DRAGONOLOGY`: 284
-- `SA_VOLCANO`: 285
-- `SA_DELUGE`: 286
-- `SA_VIOLENTGALE`: 287
-- `SA_LANDPROTECTOR`: 288
-- `SA_DISPELL`: 289
-- `SA_ABRACADABRA`: 290
-- `SA_MONOCELL`: 291
-- `SA_CLASSCHANGE`: 292
-- `SA_SUMMONMONSTER`: 293
-- `SA_REVERSEORCISH`: 294
-- `SA_DEATH`: 295
-- `SA_FORTUNE`: 296
-- `SA_TAMINGMONSTER`: 297
-- `SA_QUESTION`: 298
-- `SA_GRAVITY`: 299
-- `SA_LEVELUP`: 300
-- `SA_INSTANTDEATH`: 301
-- `SA_FULLRECOVERY`: 302
-- `SA_COMA`: 303
-- `BD_ADAPTATION`: 304
-- `BD_ENCORE`: 305
-- `BD_LULLABY`: 306
-- `BD_RICHMANKIM`: 307
-- `BD_ETERNALCHAOS`: 308
-- `BD_DRUMBATTLEFIELD`: 309
-- `BD_RINGNIBELUNGEN`: 310
-- `BD_ROKISWEIL`: 311
-- `BD_INTOABYSS`: 312
-- `BD_SIEGFRIED`: 313
-- `BA_MUSICALLESSON`: 315
-- `BA_MUSICALSTRIKE`: 316
-- `BA_DISSONANCE`: 317
-- `BA_FROSTJOKER`: 318
-- `BA_WHISTLE`: 319
-- `BA_ASSASSINCROSS`: 320
-- `BA_POEMBRAGI`: 321
-- `BA_APPLEIDUN`: 322
-- `DC_DANCINGLESSON`: 323
-- `DC_THROWARROW`: 324
-- `DC_UGLYDANCE`: 325
-- `DC_SCREAM`: 326
-- `DC_HUMMING`: 327
-- `DC_DONTFORGETME`: 328
-- `DC_FORTUNEKISS`: 329
-- `DC_SERVICEFORYOU`: 330
-- `NPC_RANDOMMOVE`: 331
-- `NPC_SPEEDUP`: 332
-- `NPC_REVENGE`: 333
-- `WE_MALE`: 334
-- `WE_FEMALE`: 335
-- `WE_CALLPARTNER`: 336
-- `ITM_TOMAHAWK`: 337
-- `NPC_DARKCROSS`: 338
-- `NPC_GRANDDARKNESS`: 339
-- `NPC_DARKSTRIKE`: 340
-- `NPC_DARKTHUNDER`: 341
-- `NPC_STOP`: 342
-- `NPC_WEAPONBRAKER`: 343
-- `NPC_ARMORBRAKE`: 344
-- `NPC_HELMBRAKE`: 345
-- `NPC_SHIELDBRAKE`: 346
-- `NPC_UNDEADATTACK`: 347
-- `NPC_CHANGEUNDEAD`: 348
-- `NPC_POWERUP`: 349
-- `NPC_AGIUP`: 350
-- `NPC_SIEGEMODE`: 351
-- `NPC_CALLSLAVE`: 352
-- `NPC_INVISIBLE`: 353
-- `NPC_RUN`: 354
-- `LK_AURABLADE`: 355
-- `LK_PARRYING`: 356
-- `LK_CONCENTRATION`: 357
-- `LK_TENSIONRELAX`: 358
-- `LK_BERSERK`: 359
-- `HP_ASSUMPTIO`: 361
-- `HP_BASILICA`: 362
-- `HP_MEDITATIO`: 363
-- `HW_SOULDRAIN`: 364
-- `HW_MAGICCRASHER`: 365
-- `HW_MAGICPOWER`: 366
-- `PA_PRESSURE`: 367
-- `PA_SACRIFICE`: 368
-- `PA_GOSPEL`: 369
-- `CH_PALMSTRIKE`: 370
-- `CH_TIGERFIST`: 371
-- `CH_CHAINCRUSH`: 372
-- `PF_HPCONVERSION`: 373
-- `PF_SOULCHANGE`: 374
-- `PF_SOULBURN`: 375
-- `ASC_KATAR`: 376
-- `ASC_EDP`: 378
-- `ASC_BREAKER`: 379
-- `SN_SIGHT`: 380
-- `SN_FALCONASSAULT`: 381
-- `SN_SHARPSHOOTING`: 382
-- `SN_WINDWALK`: 383
-- `WS_MELTDOWN`: 384
-- `WS_CARTBOOST`: 387
-- `ST_CHASEWALK`: 389
-- `ST_REJECTSWORD`: 390
-- `CR_ALCHEMY`: 392
-- `CR_SYNTHESISPOTION`: 393
-- `CG_ARROWVULCAN`: 394
-- `CG_MOONLIT`: 395
-- `CG_MARIONETTE`: 396
-- `LK_SPIRALPIERCE`: 397
-- `LK_HEADCRUSH`: 398
-- `LK_JOINTBEAT`: 399
-- `HW_NAPALMVULCAN`: 400
-- `CH_SOULCOLLECT`: 401
-- `PF_MINDBREAKER`: 402
-- `PF_MEMORIZE`: 403
-- `PF_FOGWALL`: 404
-- `PF_SPIDERWEB`: 405
-- `ASC_METEORASSAULT`: 406
-- `ASC_CDP`: 407
-- `WE_BABY`: 408
-- `WE_CALLPARENT`: 409
-- `WE_CALLBABY`: 410
-- `TK_RUN`: 411
-- `TK_READYSTORM`: 412
-- `TK_STORMKICK`: 413
-- `TK_READYDOWN`: 414
-- `TK_DOWNKICK`: 415
-- `TK_READYTURN`: 416
-- `TK_TURNKICK`: 417
-- `TK_READYCOUNTER`: 418
-- `TK_COUNTER`: 419
-- `TK_DODGE`: 420
-- `TK_JUMPKICK`: 421
-- `TK_HPTIME`: 422
-- `TK_SPTIME`: 423
-- `TK_POWER`: 424
-- `TK_SEVENWIND`: 425
-- `TK_HIGHJUMP`: 426
-- `SG_FEEL`: 427
-- `SG_SUN_WARM`: 428
-- `SG_MOON_WARM`: 429
-- `SG_STAR_WARM`: 430
-- `SG_SUN_COMFORT`: 431
-- `SG_MOON_COMFORT`: 432
-- `SG_STAR_COMFORT`: 433
-- `SG_HATE`: 434
-- `SG_SUN_ANGER`: 435
-- `SG_MOON_ANGER`: 436
-- `SG_STAR_ANGER`: 437
-- `SG_SUN_BLESS`: 438
-- `SG_MOON_BLESS`: 439
-- `SG_STAR_BLESS`: 440
-- `SG_DEVIL`: 441
-- `SG_FRIEND`: 442
-- `SG_KNOWLEDGE`: 443
-- `SG_FUSION`: 444
-- `SL_ALCHEMIST`: 445
-- `AM_BERSERKPITCHER`: 446
-- `SL_MONK`: 447
-- `SL_STAR`: 448
-- `SL_SAGE`: 449
-- `SL_CRUSADER`: 450
-- `SL_SUPERNOVICE`: 451
-- `SL_KNIGHT`: 452
-- `SL_WIZARD`: 453
-- `SL_PRIEST`: 454
-- `SL_BARDDANCER`: 455
-- `SL_ROGUE`: 456
-- `SL_ASSASIN`: 457
-- `SL_BLACKSMITH`: 458
-- `BS_ADRENALINE2`: 459
-- `SL_HUNTER`: 460
-- `SL_SOULLINKER`: 461
-- `SL_KAIZEL`: 462
-- `SL_KAAHI`: 463
-- `SL_KAUPE`: 464
-- `SL_KAITE`: 465
-- `SL_KAINA`: 466
-- `SL_STIN`: 467
-- `SL_STUN`: 468
-- `SL_SMA`: 469
-- `SL_SWOO`: 470
-- `SL_SKE`: 471
-- `SL_SKA`: 472
-- `SM_SELFPROVOKE`: 473
-- `NPC_EMOTION_ON`: 474
-- `ST_PRESERVE`: 475
-- `ST_FULLSTRIP`: 476
-- `WS_WEAPONREFINE`: 477
-- `CR_SLIMPITCHER`: 478
-- `CR_FULLPROTECTION`: 479
-- `PA_SHIELDCHAIN`: 480
-- `HP_MANARECHARGE`: 481
-- `PF_DOUBLECASTING`: 482
-- `HW_GANBANTEIN`: 483
-- `HW_GRAVITATION`: 484
-- `WS_CARTTERMINATION`: 485
-- `WS_OVERTHRUSTMAX`: 486
-- `CG_LONGINGFREEDOM`: 487
-- `CG_HERMODE`: 488
-- `CG_TAROTCARD`: 489
-- `CR_ACIDDEMONSTRATION`: 490
-- `CR_CULTIVATION`: 491
-- `ITEM_ENCHANTARMS`: 492
-- `TK_MISSION`: 493
-- `SL_HIGH`: 494
-- `KN_ONEHAND`: 495
-- `AM_TWILIGHT1`: 496
-- `AM_TWILIGHT2`: 497
-- `AM_TWILIGHT3`: 498
-- `HT_POWER`: 499
-- `GS_GLITTERING`: 500
-- `GS_FLING`: 501
-- `GS_TRIPLEACTION`: 502
-- `GS_BULLSEYE`: 503
-- `GS_MADNESSCANCEL`: 504
-- `GS_ADJUSTMENT`: 505
-- `GS_INCREASING`: 506
-- `GS_MAGICALBULLET`: 507
-- `GS_CRACKER`: 508
-- `GS_SINGLEACTION`: 509
-- `GS_SNAKEEYE`: 510
-- `GS_CHAINACTION`: 511
-- `GS_TRACKING`: 512
-- `GS_DISARM`: 513
-- `GS_PIERCINGSHOT`: 514
-- `GS_RAPIDSHOWER`: 515
-- `GS_DESPERADO`: 516
-- `GS_GATLINGFEVER`: 517
-- `GS_DUST`: 518
-- `GS_FULLBUSTER`: 519
-- `GS_SPREADATTACK`: 520
-- `GS_GROUNDDRIFT`: 521
-- `NJ_TOBIDOUGU`: 522
-- `NJ_SYURIKEN`: 523
-- `NJ_KUNAI`: 524
-- `NJ_HUUMA`: 525
-- `NJ_ZENYNAGE`: 526
-- `NJ_TATAMIGAESHI`: 527
-- `NJ_KASUMIKIRI`: 528
-- `NJ_SHADOWJUMP`: 529
-- `NJ_KIRIKAGE`: 530
-- `NJ_UTSUSEMI`: 531
-- `NJ_BUNSINJYUTSU`: 532
-- `NJ_NINPOU`: 533
-- `NJ_KOUENKA`: 534
-- `NJ_KAENSIN`: 535
-- `NJ_BAKUENRYU`: 536
-- `NJ_HYOUSENSOU`: 537
-- `NJ_SUITON`: 538
-- `NJ_HYOUSYOURAKU`: 539
-- `NJ_HUUJIN`: 540
-- `NJ_RAIGEKISAI`: 541
-- `NJ_KAMAITACHI`: 542
-- `NJ_NEN`: 543
-- `NJ_ISSEN`: 544
-- `NPC_EARTHQUAKE`: 653
-- `NPC_FIREBREATH`: 654
-- `NPC_ICEBREATH`: 655
-- `NPC_THUNDERBREATH`: 656
-- `NPC_ACIDBREATH`: 657
-- `NPC_DARKNESSBREATH`: 658
-- `NPC_DRAGONFEAR`: 659
-- `NPC_BLEEDING`: 660
-- `NPC_PULSESTRIKE`: 661
-- `NPC_HELLJUDGEMENT`: 662
-- `NPC_WIDESILENCE`: 663
-- `NPC_WIDEFREEZE`: 664
-- `NPC_WIDEBLEEDING`: 665
-- `NPC_WIDESTONE`: 666
-- `NPC_WIDECONFUSE`: 667
-- `NPC_WIDESLEEP`: 668
-- `NPC_WIDESIGHT`: 669
-- `NPC_EVILLAND`: 670
-- `NPC_MAGICMIRROR`: 671
-- `NPC_SLOWCAST`: 672
-- `NPC_CRITICALWOUND`: 673
-- `NPC_EXPULSION`: 674
-- `NPC_STONESKIN`: 675
-- `NPC_ANTIMAGIC`: 676
-- `NPC_WIDECURSE`: 677
-- `NPC_WIDESTUN`: 678
-- `NPC_VAMPIRE_GIFT`: 679
-- `NPC_WIDESOULDRAIN`: 680
-- `ALL_INCCARRY`: 681
-- `NPC_TALK`: 682
-- `NPC_HELLPOWER`: 683
-- `NPC_WIDEHELLDIGNITY`: 684
-- `NPC_INVINCIBLE`: 685
-- `NPC_INVINCIBLEOFF`: 686
-- `NPC_ALLHEAL`: 687
-- `GM_SANDMAN`: 688
-- `CASH_BLESSING`: 689
-- `CASH_INCAGI`: 690
-- `CASH_ASSUMPTIO`: 691
-- `ALL_CATCRY`: 692
-- `ALL_PARTYFLEE`: 693
-- `ALL_ANGEL_PROTECT`: 694
-- `ALL_DREAM_SUMMERNIGHT`: 695
-- `ALL_REVERSEORCISH`: 697
- `ALL_WEWISH`: 698
-- `HLIF_HEAL`: 8001
-- `HLIF_AVOID`: 8002
-- `HLIF_BRAIN`: 8003
-- `HLIF_CHANGE`: 8004
-- `HAMI_CASTLE`: 8005
-- `HAMI_DEFENCE`: 8006
-- `HAMI_SKIN`: 8007
-- `HAMI_BLOODLUST`: 8008
-- `HFLI_MOON`: 8009
-- `HFLI_FLEET`: 8010
-- `HFLI_SPEED`: 8011
-- `HFLI_SBR44`: 8012
-- `HVAN_CAPRICE`: 8013
-- `HVAN_CHAOTIC`: 8014
-- `HVAN_INSTRUCT`: 8015
-- `HVAN_EXPLOSION`: 8016
-- `MH_SUMMON_LEGION`: 8018
-- `MH_NEEDLE_OF_PARALYZE`: 8019
-- `MH_POISON_MIST`: 8020
-- `MH_PAIN_KILLER`: 8021
-- `MH_LIGHT_OF_REGENE`: 8022
-- `MH_OVERED_BOOST`: 8023
-- `MH_ERASER_CUTTER`: 8024
-- `MH_XENO_SLASHER`: 8025
-- `MH_SILENT_BREEZE`: 8026
-- `MH_STYLE_CHANGE`: 8027
-- `MH_SONIC_CRAW`: 8028
-- `MH_SILVERVEIN_RUSH`: 8029
-- `MH_MIDNIGHT_FRENZY`: 8030
-- `MH_STAHL_HORN`: 8031
-- `MH_GOLDENE_FERSE`: 8032
-- `MH_STEINWAND`: 8033
-- `MH_HEILIGE_STANGE`: 8034
-- `MH_ANGRIFFS_MODUS`: 8035
-- `MH_TINDER_BREAKER`: 8036
-- `MH_CBC`: 8037
-- `MH_EQC`: 8038
-- `MH_MAGMA_FLOW`: 8039
-- `MH_GRANITIC_ARMOR`: 8040
-- `MH_LAVA_SLIDE`: 8041
-- `MH_PYROCLASTIC`: 8042
-- `MH_VOLCANIC_ASH`: 8043
-- `MS_BASH`: 8201
-- `MS_MAGNUM`: 8202
-- `MS_BOWLINGBASH`: 8203
-- `MS_PARRYING`: 8204
-- `MS_REFLECTSHIELD`: 8205
-- `MS_BERSERK`: 8206
-- `MA_DOUBLE`: 8207
-- `MA_SHOWER`: 8208
-- `MA_SKIDTRAP`: 8209
-- `MA_LANDMINE`: 8210
-- `MA_SANDMAN`: 8211
-- `MA_FREEZINGTRAP`: 8212
-- `MA_REMOVETRAP`: 8213
-- `MA_CHARGEARROW`: 8214
-- `MA_SHARPSHOOTING`: 8215
-- `ML_PIERCE`: 8216
-- `ML_BRANDISH`: 8217
-- `ML_SPIRALPIERCE`: 8218
-- `ML_DEFENDER`: 8219
-- `ML_AUTOGUARD`: 8220
-- `ML_DEVOTION`: 8221
-- `MER_MAGNIFICAT`: 8222
-- `MER_QUICKEN`: 8223
-- `MER_SIGHT`: 8224
-- `MER_CRASH`: 8225
-- `MER_REGAIN`: 8226
-- `MER_TENDER`: 8227
-- `MER_BENEDICTION`: 8228
-- `MER_RECUPERATE`: 8229
-- `MER_MENTALCURE`: 8230
-- `MER_COMPRESS`: 8231
-- `MER_PROVOKE`: 8232
-- `MER_AUTOBERSERK`: 8233
-- `MER_DECAGI`: 8234
-- `MER_SCAPEGOAT`: 8235
-- `MER_LEXDIVINA`: 8236
-- `MER_ESTIMATION`: 8237
-- `MER_KYRIE`: 8238
-- `MER_BLESSING`: 8239
-- `MER_INCAGI`: 8240
-- `EL_CIRCLE_OF_FIRE`: 8401
-- `EL_FIRE_CLOAK`: 8402
-- `EL_FIRE_MANTLE`: 8403
-- `EL_WATER_SCREEN`: 8404
-- `EL_WATER_DROP`: 8405
-- `EL_WATER_BARRIER`: 8406
-- `EL_WIND_STEP`: 8407
-- `EL_WIND_CURTAIN`: 8408
-- `EL_ZEPHYR`: 8409
-- `EL_SOLID_SKIN`: 8410
-- `EL_STONE_SHIELD`: 8411
-- `EL_POWER_OF_GAIA`: 8412
-- `EL_PYROTECHNIC`: 8413
-- `EL_HEATER`: 8414
-- `EL_TROPIC`: 8415
-- `EL_AQUAPLAY`: 8416
-- `EL_COOLER`: 8417
-- `EL_CHILLY_AIR`: 8418
-- `EL_GUST`: 8419
-- `EL_BLAST`: 8420
-- `EL_WILD_STORM`: 8421
-- `EL_PETROLOGY`: 8422
-- `EL_CURSED_SOIL`: 8423
-- `EL_UPHEAVAL`: 8424
-- `EL_FIRE_ARROW`: 8425
-- `EL_FIRE_BOMB`: 8426
-- `EL_FIRE_BOMB_ATK`: 8427
-- `EL_FIRE_WAVE`: 8428
-- `EL_FIRE_WAVE_ATK`: 8429
-- `EL_ICE_NEEDLE`: 8430
-- `EL_WATER_SCREW`: 8431
-- `EL_WATER_SCREW_ATK`: 8432
-- `EL_TIDAL_WEAPON`: 8433
-- `EL_WIND_SLASH`: 8434
-- `EL_HURRICANE`: 8435
-- `EL_HURRICANE_ATK`: 8436
-- `EL_TYPOON_MIS`: 8437
-- `EL_TYPOON_MIS_ATK`: 8438
-- `EL_STONE_HAMMER`: 8439
-- `EL_ROCK_CRUSHER`: 8440
-- `EL_ROCK_CRUSHER_ATK`: 8441
-- `EL_STONE_RAIN`: 8442
-- `GD_APPROVAL`: 10000
-- `GD_KAFRACONTRACT`: 10001
-- `GD_GUARDRESEARCH`: 10002
-- `GD_GUARDUP`: 10003
-- `GD_EXTENSION`: 10004
-- `GD_GLORYGUILD`: 10005
-- `GD_LEADERSHIP`: 10006
-- `GD_GLORYWOUNDS`: 10007
-- `GD_SOULCOLD`: 10008
-- `GD_HAWKEYES`: 10009
-- `GD_BATTLEORDER`: 10010
-- `GD_REGENERATION`: 10011
-- `GD_RESTORE`: 10012
-- `GD_EMERGENCYCALL`: 10013
-- `GD_DEVELOPMENT`: 10014
-- `RL_GLITTERING_GREED`: 2551
-- `RL_RICHS_COIN`: 2552
-- `RL_MASS_SPIRAL`: 2553
-- `RL_BANISHING_BUSTER`: 2554
-- `RL_B_TRAP`: 2555
-- `RL_FLICKER`: 2556
-- `RL_S_STORM`: 2557
-- `RL_E_CHAIN`: 2558
-- `RL_QD_SHOT`: 2559
-- `RL_C_MARKER`: 2560
-- `RL_FIREDANCE`: 2561
-- `RL_H_MINE`: 2562
-- `RL_P_ALTER`: 2563
-- `RL_FALLEN_ANGEL`: 2564
-- `RL_R_TRIP`: 2565
-- `RL_D_TAIL`: 2566
-- `RL_FIRE_RAIN`: 2567
-- `RL_HEAT_BARREL`: 2568
-- `RL_AM_BLAST`: 2569
-- `RL_SLUGSHOT`: 2570
-- `RL_HAMMER_OF_GOD`: 2571
-- `RL_R_TRIP_PLUSATK`: 2572
-- `RL_B_FLICKER_ATK`: 2573
-- `RL_GLITTERING_GREED_ATK`: 2574
-- `KN_CHARGEATK`: 1001
-- `CR_SHRINK`: 1002
-- `AS_SONICACCEL`: 1003
-- `AS_VENOMKNIFE`: 1004
-- `RG_CLOSECONFINE`: 1005
-- `WZ_SIGHTBLASTER`: 1006
-- `SA_CREATECON`: 1007
-- `SA_ELEMENTWATER`: 1008
-- `HT_PHANTASMIC`: 1009
-- `BA_PANGVOICE`: 1010
-- `DC_WINKCHARM`: 1011
-- `BS_UNFAIRLYTRICK`: 1012
-- `BS_GREED`: 1013
-- `PR_REDEMPTIO`: 1014
-- `MO_KITRANSLATION`: 1015
-- `MO_BALKYOUNG`: 1016
-- `SA_ELEMENTGROUND`: 1017
-- `SA_ELEMENTFIRE`: 1018
+- `ALL_REVERSEORCISH`: 697
+- `ALL_DREAM_SUMMERNIGHT`: 695
+- `ALL_ANGEL_PROTECT`: 694
+- `ALL_PARTYFLEE`: 693
+- `ALL_CATCRY`: 692
+- `CASH_ASSUMPTIO`: 691
+- `CASH_INCAGI`: 690
+- `CASH_BLESSING`: 689
+- `GM_SANDMAN`: 688
+- `NPC_ALLHEAL`: 687
+- `NPC_INVINCIBLEOFF`: 686
+- `NPC_INVINCIBLE`: 685
+- `NPC_WIDEHELLDIGNITY`: 684
+- `NPC_HELLPOWER`: 683
+- `NPC_TALK`: 682
+- `ALL_INCCARRY`: 681
+- `NPC_WIDESOULDRAIN`: 680
+- `NPC_VAMPIRE_GIFT`: 679
+- `NPC_WIDESTUN`: 678
+- `NPC_WIDECURSE`: 677
+- `NPC_ANTIMAGIC`: 676
+- `NPC_STONESKIN`: 675
+- `NPC_EXPULSION`: 674
+- `NPC_CRITICALWOUND`: 673
+- `NPC_SLOWCAST`: 672
+- `NPC_MAGICMIRROR`: 671
+- `NPC_EVILLAND`: 670
+- `NPC_WIDESIGHT`: 669
+- `NPC_WIDESLEEP`: 668
+- `NPC_WIDECONFUSE`: 667
+- `NPC_WIDESTONE`: 666
+- `NPC_WIDEBLEEDING`: 665
+- `NPC_WIDEFREEZE`: 664
+- `NPC_WIDESILENCE`: 663
+- `NPC_HELLJUDGEMENT`: 662
+- `NPC_PULSESTRIKE`: 661
+- `NPC_BLEEDING`: 660
+- `NPC_DRAGONFEAR`: 659
+- `NPC_DARKNESSBREATH`: 658
+- `NPC_ACIDBREATH`: 657
+- `NPC_THUNDERBREATH`: 656
+- `NPC_ICEBREATH`: 655
+- `NPC_FIREBREATH`: 654
+- `NPC_EARTHQUAKE`: 653
+- `NJ_ISSEN`: 544
+- `NJ_NEN`: 543
+- `NJ_KAMAITACHI`: 542
+- `NJ_RAIGEKISAI`: 541
+- `NJ_HUUJIN`: 540
+- `NJ_HYOUSYOURAKU`: 539
+- `NJ_SUITON`: 538
+- `NJ_HYOUSENSOU`: 537
+- `NJ_BAKUENRYU`: 536
+- `NJ_KAENSIN`: 535
+- `NJ_KOUENKA`: 534
+- `NJ_NINPOU`: 533
+- `NJ_BUNSINJYUTSU`: 532
+- `NJ_UTSUSEMI`: 531
+- `NJ_KIRIKAGE`: 530
+- `NJ_SHADOWJUMP`: 529
+- `NJ_KASUMIKIRI`: 528
+- `NJ_TATAMIGAESHI`: 527
+- `NJ_ZENYNAGE`: 526
+- `NJ_HUUMA`: 525
+- `NJ_KUNAI`: 524
+- `NJ_SYURIKEN`: 523
+- `NJ_TOBIDOUGU`: 522
+- `GS_GROUNDDRIFT`: 521
+- `GS_SPREADATTACK`: 520
+- `GS_FULLBUSTER`: 519
+- `GS_DUST`: 518
+- `GS_GATLINGFEVER`: 517
+- `GS_DESPERADO`: 516
+- `GS_RAPIDSHOWER`: 515
+- `GS_PIERCINGSHOT`: 514
+- `GS_DISARM`: 513
+- `GS_TRACKING`: 512
+- `GS_CHAINACTION`: 511
+- `GS_SNAKEEYE`: 510
+- `GS_SINGLEACTION`: 509
+- `GS_CRACKER`: 508
+- `GS_MAGICALBULLET`: 507
+- `GS_INCREASING`: 506
+- `GS_ADJUSTMENT`: 505
+- `GS_MADNESSCANCEL`: 504
+- `GS_BULLSEYE`: 503
+- `GS_TRIPLEACTION`: 502
+- `GS_FLING`: 501
+- `GS_GLITTERING`: 500
+- `HT_POWER`: 499
+- `AM_TWILIGHT3`: 498
+- `AM_TWILIGHT2`: 497
+- `AM_TWILIGHT1`: 496
+- `KN_ONEHAND`: 495
+- `SL_HIGH`: 494
+- `TK_MISSION`: 493
+- `ITEM_ENCHANTARMS`: 492
+- `CR_CULTIVATION`: 491
+- `CR_ACIDDEMONSTRATION`: 490
+- `CG_TAROTCARD`: 489
+- `CG_HERMODE`: 488
+- `CG_LONGINGFREEDOM`: 487
+- `WS_OVERTHRUSTMAX`: 486
+- `WS_CARTTERMINATION`: 485
+- `HW_GRAVITATION`: 484
+- `HW_GANBANTEIN`: 483
+- `PF_DOUBLECASTING`: 482
+- `HP_MANARECHARGE`: 481
+- `PA_SHIELDCHAIN`: 480
+- `CR_FULLPROTECTION`: 479
+- `CR_SLIMPITCHER`: 478
+- `WS_WEAPONREFINE`: 477
+- `ST_FULLSTRIP`: 476
+- `ST_PRESERVE`: 475
+- `NPC_EMOTION_ON`: 474
+- `SM_SELFPROVOKE`: 473
+- `SL_SKA`: 472
+- `SL_SKE`: 471
+- `SL_SWOO`: 470
+- `SL_SMA`: 469
+- `SL_STUN`: 468
+- `SL_STIN`: 467
+- `SL_KAINA`: 466
+- `SL_KAITE`: 465
+- `SL_KAUPE`: 464
+- `SL_KAAHI`: 463
+- `SL_KAIZEL`: 462
+- `SL_SOULLINKER`: 461
+- `SL_HUNTER`: 460
+- `BS_ADRENALINE2`: 459
+- `SL_BLACKSMITH`: 458
+- `SL_ASSASIN`: 457
+- `SL_ROGUE`: 456
+- `SL_BARDDANCER`: 455
+- `SL_PRIEST`: 454
+- `SL_WIZARD`: 453
+- `SL_KNIGHT`: 452
+- `SL_SUPERNOVICE`: 451
+- `SL_CRUSADER`: 450
+- `SL_SAGE`: 449
+- `SL_STAR`: 448
+- `SL_MONK`: 447
+- `AM_BERSERKPITCHER`: 446
+- `SL_ALCHEMIST`: 445
+- `SG_FUSION`: 444
+- `SG_KNOWLEDGE`: 443
+- `SG_FRIEND`: 442
+- `SG_DEVIL`: 441
+- `SG_STAR_BLESS`: 440
+- `SG_MOON_BLESS`: 439
+- `SG_SUN_BLESS`: 438
+- `SG_STAR_ANGER`: 437
+- `SG_MOON_ANGER`: 436
+- `SG_SUN_ANGER`: 435
+- `SG_HATE`: 434
+- `SG_STAR_COMFORT`: 433
+- `SG_MOON_COMFORT`: 432
+- `SG_SUN_COMFORT`: 431
+- `SG_STAR_WARM`: 430
+- `SG_MOON_WARM`: 429
+- `SG_SUN_WARM`: 428
+- `SG_FEEL`: 427
+- `TK_HIGHJUMP`: 426
+- `TK_SEVENWIND`: 425
+- `TK_POWER`: 424
+- `TK_SPTIME`: 423
+- `TK_HPTIME`: 422
+- `TK_JUMPKICK`: 421
+- `TK_DODGE`: 420
+- `TK_COUNTER`: 419
+- `TK_READYCOUNTER`: 418
+- `TK_TURNKICK`: 417
+- `TK_READYTURN`: 416
+- `TK_DOWNKICK`: 415
+- `TK_READYDOWN`: 414
+- `TK_STORMKICK`: 413
+- `TK_READYSTORM`: 412
+- `TK_RUN`: 411
+- `WE_CALLBABY`: 410
+- `WE_CALLPARENT`: 409
+- `WE_BABY`: 408
+- `ASC_CDP`: 407
+- `ASC_METEORASSAULT`: 406
+- `PF_SPIDERWEB`: 405
+- `PF_FOGWALL`: 404
+- `PF_MEMORIZE`: 403
+- `PF_MINDBREAKER`: 402
+- `CH_SOULCOLLECT`: 401
+- `HW_NAPALMVULCAN`: 400
+- `LK_JOINTBEAT`: 399
+- `LK_HEADCRUSH`: 398
+- `LK_SPIRALPIERCE`: 397
+- `CG_MARIONETTE`: 396
+- `CG_MOONLIT`: 395
+- `CG_ARROWVULCAN`: 394
+- `CR_SYNTHESISPOTION`: 393
+- `CR_ALCHEMY`: 392
+- `ST_REJECTSWORD`: 390
+- `ST_CHASEWALK`: 389
+- `WS_CARTBOOST`: 387
+- `WS_MELTDOWN`: 384
+- `SN_WINDWALK`: 383
+- `SN_SHARPSHOOTING`: 382
+- `SN_FALCONASSAULT`: 381
+- `SN_SIGHT`: 380
+- `ASC_BREAKER`: 379
+- `ASC_EDP`: 378
+- `ASC_KATAR`: 376
+- `PF_SOULBURN`: 375
+- `PF_SOULCHANGE`: 374
+- `PF_HPCONVERSION`: 373
+- `CH_CHAINCRUSH`: 372
+- `CH_TIGERFIST`: 371
+- `CH_PALMSTRIKE`: 370
+- `PA_GOSPEL`: 369
+- `PA_SACRIFICE`: 368
+- `PA_PRESSURE`: 367
+- `HW_MAGICPOWER`: 366
+- `HW_MAGICCRASHER`: 365
+- `HW_SOULDRAIN`: 364
+- `HP_MEDITATIO`: 363
+- `HP_BASILICA`: 362
+- `HP_ASSUMPTIO`: 361
+- `LK_BERSERK`: 359
+- `LK_TENSIONRELAX`: 358
+- `LK_CONCENTRATION`: 357
+- `LK_PARRYING`: 356
+- `LK_AURABLADE`: 355
+- `NPC_RUN`: 354
+- `NPC_INVISIBLE`: 353
+- `NPC_CALLSLAVE`: 352
+- `NPC_SIEGEMODE`: 351
+- `NPC_AGIUP`: 350
+- `NPC_POWERUP`: 349
+- `NPC_CHANGEUNDEAD`: 348
+- `NPC_UNDEADATTACK`: 347
+- `NPC_SHIELDBRAKE`: 346
+- `NPC_HELMBRAKE`: 345
+- `NPC_ARMORBRAKE`: 344
+- `NPC_WEAPONBRAKER`: 343
+- `NPC_STOP`: 342
+- `NPC_DARKTHUNDER`: 341
+- `NPC_DARKSTRIKE`: 340
+- `NPC_GRANDDARKNESS`: 339
+- `NPC_DARKCROSS`: 338
+- `ITM_TOMAHAWK`: 337
+- `WE_CALLPARTNER`: 336
+- `WE_FEMALE`: 335
+- `WE_MALE`: 334
+- `NPC_REVENGE`: 333
+- `NPC_SPEEDUP`: 332
+- `NPC_RANDOMMOVE`: 331
+- `DC_SERVICEFORYOU`: 330
+- `DC_FORTUNEKISS`: 329
+- `DC_DONTFORGETME`: 328
+- `DC_HUMMING`: 327
+- `DC_SCREAM`: 326
+- `DC_UGLYDANCE`: 325
+- `DC_THROWARROW`: 324
+- `DC_DANCINGLESSON`: 323
+- `BA_APPLEIDUN`: 322
+- `BA_POEMBRAGI`: 321
+- `BA_ASSASSINCROSS`: 320
+- `BA_WHISTLE`: 319
+- `BA_FROSTJOKER`: 318
+- `BA_DISSONANCE`: 317
+- `BA_MUSICALSTRIKE`: 316
+- `BA_MUSICALLESSON`: 315
+- `BD_SIEGFRIED`: 313
+- `BD_INTOABYSS`: 312
+- `BD_ROKISWEIL`: 311
+- `BD_RINGNIBELUNGEN`: 310
+- `BD_DRUMBATTLEFIELD`: 309
+- `BD_ETERNALCHAOS`: 308
+- `BD_RICHMANKIM`: 307
+- `BD_LULLABY`: 306
+- `BD_ENCORE`: 305
+- `BD_ADAPTATION`: 304
+- `SA_COMA`: 303
+- `SA_FULLRECOVERY`: 302
+- `SA_INSTANTDEATH`: 301
+- `SA_LEVELUP`: 300
+- `SA_GRAVITY`: 299
+- `SA_QUESTION`: 298
+- `SA_TAMINGMONSTER`: 297
+- `SA_FORTUNE`: 296
+- `SA_DEATH`: 295
+- `SA_REVERSEORCISH`: 294
+- `SA_SUMMONMONSTER`: 293
+- `SA_CLASSCHANGE`: 292
+- `SA_MONOCELL`: 291
+- `SA_ABRACADABRA`: 290
+- `SA_DISPELL`: 289
+- `SA_LANDPROTECTOR`: 288
+- `SA_VIOLENTGALE`: 287
+- `SA_DELUGE`: 286
+- `SA_VOLCANO`: 285
+- `SA_DRAGONOLOGY`: 284
+- `SA_SEISMICWEAPON`: 283
+- `SA_LIGHTNINGLOADER`: 282
+- `SA_FROSTWEAPON`: 281
+- `SA_FLAMELAUNCHER`: 280
+- `SA_AUTOSPELL`: 279
+- `SA_FREECAST`: 278
+- `SA_SPELLBREAKER`: 277
+- `SA_MAGICROD`: 276
+- `SA_CASTCANCEL`: 275
+- `SA_ADVANCEDBOOK`: 274
+- `MO_COMBOFINISH`: 273
+- `MO_CHAINCOMBO`: 272
+- `MO_EXTREMITYFIST`: 271
+- `MO_EXPLOSIONSPIRITS`: 270
+- `MO_BLADESTOP`: 269
+- `MO_STEELBODY`: 268
+- `MO_FINGEROFFENSIVE`: 267
+- `MO_INVESTIGATE`: 266
+- `MO_DODGE`: 265
+- `MO_BODYRELOCATION`: 264
+- `MO_TRIPLEATTACK`: 263
+- `MO_ABSORBSPIRITS`: 262
+- `MO_CALLSPIRITS`: 261
+- `MO_SPIRITSRECOVERY`: 260
+- `MO_IRONHAND`: 259
+- `CR_SPEARQUICKEN`: 258
+- `CR_DEFENDER`: 257
+- `CR_PROVIDENCE`: 256
+- `CR_DEVOTION`: 255
+- `CR_GRANDCROSS`: 254
+- `CR_HOLYCROSS`: 253
+- `CR_REFLECTSHIELD`: 252
+- `CR_SHIELDBOOMERANG`: 251
+- `CR_SHIELDCHARGE`: 250
+- `CR_AUTOGUARD`: 249
+- `CR_TRUST`: 248
+- `AM_RESURRECTHOMUN`: 247
+- `AM_REST`: 244
+- `AM_CALLHOMUN`: 243
+- `AM_BIOETHICS`: 238
+- `AM_CP_HELM`: 237
+- `AM_CP_ARMOR`: 236
+- `AM_CP_SHIELD`: 235
+- `AM_CP_WEAPON`: 234
+- `AM_SPHEREMINE`: 233
+- `AM_CANNIBALIZE`: 232
+- `AM_POTIONPITCHER`: 231
+- `AM_ACIDTERROR`: 230
+- `AM_DEMONSTRATION`: 229
+- `AM_PHARMACY`: 228
+- `AM_LEARNINGPOTION`: 227
+- `AM_AXEMASTERY`: 226
+- `RG_PLAGIARISM`: 225
+- `RG_COMPULSION`: 224
+- `RG_GANGSTER`: 223
+- `RG_CLEANER`: 222
+- `RG_FLAGGRAFFITI`: 221
+- `RG_GRAFFITI`: 220
+- `RG_INTIMIDATE`: 219
+- `RG_STRIPHELM`: 218
+- `RG_STRIPARMOR`: 217
+- `RG_STRIPSHIELD`: 216
+- `RG_STRIPWEAPON`: 215
+- `RG_RAID`: 214
+- `RG_TUNNELDRIVE`: 213
+- `RG_BACKSTAP`: 212
+- `RG_STEALCOIN`: 211
+- `RG_SNATCHER`: 210
+- `NPC_SUMMONMONSTER`: 209
+- `NPC_REBIRTH`: 208
+- `NPC_HALLUCINATION`: 207
+- `NPC_LICK`: 206
+- `NPC_DEFENDER`: 205
+- `NPC_BARRIER`: 204
+- `NPC_DARKBLESSING`: 203
+- `NPC_DARKBREATH`: 202
+- `NPC_KEEPING`: 201
+- `NPC_ENERGYDRAIN`: 200
+- `NPC_BLOODDRAIN`: 199
+- `NPC_TRANSFORMATION`: 198
+- `NPC_EMOTION`: 197
+- `NPC_SUMMONSLAVE`: 196
+- `NPC_SMOKING`: 195
+- `NPC_PROVOCATION`: 194
+- `NPC_METAMORPHOSIS`: 193
+- `NPC_MAGICALATTACK`: 192
+- `NPC_TELEKINESISATTACK`: 191
+- `NPC_DARKNESSATTACK`: 190
+- `NPC_HOLYATTACK`: 189
+- `NPC_POISONATTACK`: 188
+- `NPC_WINDATTACK`: 187
+- `NPC_FIREATTACK`: 186
+- `NPC_GROUNDATTACK`: 185
+- `NPC_WATERATTACK`: 184
+- `NPC_RANDOMATTACK`: 183
+- `NPC_SLEEPATTACK`: 182
+- `NPC_CURSEATTACK`: 181
+- `NPC_PETRIFYATTACK`: 180
+- `NPC_STUNATTACK`: 179
+- `NPC_SILENCEATTACK`: 178
+- `NPC_BLINDATTACK`: 177
+- `NPC_POISON`: 176
+- `NPC_SUICIDE`: 175
+- `NPC_SPLASHATTACK`: 174
+- `NPC_SELFDESTRUCTION`: 173
+- `NPC_GUIDEDATTACK`: 172
+- `NPC_COMBOATTACK`: 171
+- `NPC_CRITICALSLASH`: 170
+- `NPC_CHANGETELEKINESIS`: 169
+- `NPC_CHANGEDARKNESS`: 168
+- `NPC_CHANGEHOLY`: 167
+- `NPC_CHANGEPOISON`: 166
+- `NPC_CHANGEWIND`: 165
+- `NPC_CHANGEFIRE`: 164
+- `NPC_CHANGEGROUND`: 163
+- `NPC_CHANGEWATER`: 162
+- `NPC_ATTRICHANGE`: 161
+- `NPC_RANGEATTACK`: 160
+- `NPC_MENTALBREAKER`: 159
+- `NPC_PIERCINGATT`: 158
+- `MG_ENERGYCOAT`: 157
+- `AL_HOLYLIGHT`: 156
+- `MC_LOUD`: 155
+- `MC_CHANGECART`: 154
+- `MC_CARTREVOLUTION`: 153
+- `TF_THROWSTONE`: 152
+- `TF_PICKSTONE`: 151
+- `TF_BACKSLIDING`: 150
+- `TF_SPRINKLESAND`: 149
+- `AC_CHARGEARROW`: 148
+- `AC_MAKINGARROW`: 147
+- `SM_AUTOBERSERK`: 146
+- `SM_FATALBLOW`: 145
+- `SM_MOVINGRECOVERY`: 144
+- `NV_TRICKDEAD`: 143
+- `NV_FIRSTAID`: 142
+- `AS_SPLASHER`: 141
+- `AS_VENOMDUST`: 140
+- `AS_POISONREACT`: 139
+- `AS_ENCHANTPOISON`: 138
+- `AS_GRIMTOOTH`: 137
+- `AS_SONICBLOW`: 136
+- `AS_CLOAKING`: 135
+- `AS_KATAR`: 134
+- `AS_LEFT`: 133
+- `AS_RIGHT`: 132
+- `HT_SPRINGTRAP`: 131
+- `HT_DETECTING`: 130
+- `HT_BLITZBEAT`: 129
+- `HT_STEELCROW`: 128
+- `HT_FALCON`: 127
+- `HT_BEASTBANE`: 126
+- `HT_TALKIEBOX`: 125
+- `HT_REMOVETRAP`: 124
+- `HT_CLAYMORETRAP`: 123
+- `HT_BLASTMINE`: 122
+- `HT_FREEZINGTRAP`: 121
+- `HT_FLASHER`: 120
+- `HT_SANDMAN`: 119
+- `HT_SHOCKWAVE`: 118
+- `HT_ANKLESNARE`: 117
+- `HT_LANDMINE`: 116
+- `HT_SKIDTRAP`: 115
+- `BS_MAXIMIZE`: 114
+- `BS_OVERTHRUST`: 113
+- `BS_WEAPONPERFECT`: 112
+- `BS_ADRENALINE`: 111
+- `BS_HAMMERFALL`: 110
+- `BS_SKINTEMPER`: 109
+- `BS_REPAIRWEAPON`: 108
+- `BS_WEAPONRESEARCH`: 107
+- `BS_FINDINGORE`: 106
+- `BS_HILTBINDING`: 105
+- `BS_SPEAR`: 104
+- `BS_KNUCKLE`: 103
+- `BS_MACE`: 102
+- `BS_AXE`: 101
+- `BS_TWOHANDSWORD`: 100
+- `BS_SWORD`: 99
+- `BS_DAGGER`: 98
+- `BS_ORIDEOCON`: 97
+- `BS_ENCHANTEDSTONE`: 96
+- `BS_STEEL`: 95
+- `BS_IRON`: 94
+- `WZ_ESTIMATION`: 93
+- `WZ_QUAGMIRE`: 92
+- `WZ_HEAVENDRIVE`: 91
+- `WZ_EARTHSPIKE`: 90
+- `WZ_STORMGUST`: 89
+- `WZ_FROSTNOVA`: 88
+- `WZ_ICEWALL`: 87
+- `WZ_WATERBALL`: 86
+- `WZ_VERMILION`: 85
+- `WZ_JUPITEL`: 84
+- `WZ_METEOR`: 83
+- `WZ_SIGHTRASHER`: 81
+- `WZ_FIREPILLAR`: 80
+- `PR_MAGNUS`: 79
+- `PR_LEXAETERNA`: 78
+- `PR_TURNUNDEAD`: 77
+- `PR_LEXDIVINA`: 76
+- `PR_GLORIA`: 75
+- `PR_MAGNIFICAT`: 74
+- `PR_KYRIE`: 73
+- `PR_STRECOVERY`: 72
+- `PR_SLOWPOISON`: 71
+- `PR_SANCTUARY`: 70
+- `PR_BENEDICTIO`: 69
+- `PR_ASPERSIO`: 68
+- `PR_SUFFRAGIUM`: 67
+- `PR_IMPOSITIO`: 66
+- `PR_MACEMASTERY`: 65
+- `KN_CAVALIERMASTERY`: 64
+- `KN_RIDING`: 63
+- `KN_BOWLINGBASH`: 62
+- `KN_AUTOCOUNTER`: 61
+- `KN_TWOHANDQUICKEN`: 60
+- `KN_SPEARBOOMERANG`: 59
+- `KN_SPEARSTAB`: 58
+- `KN_BRANDISHSPEAR`: 57
+- `KN_PIERCE`: 56
+- `KN_SPEARMASTERY`: 55
+- `ALL_RESURRECTION`: 54
+- `TF_DETOXIFY`: 53
+- `TF_POISON`: 52
+- `TF_HIDING`: 51
+- `TF_STEAL`: 50
+- `TF_MISS`: 49
+- `TF_DOUBLE`: 48
+- `AC_SHOWER`: 47
+- `AC_DOUBLE`: 46
+- `AC_CONCENTRATION`: 45
+- `AC_VULTURE`: 44
+- `AC_OWL`: 43
+- `MC_MAMMONITE`: 42
+- `MC_VENDING`: 41
+- `MC_IDENTIFY`: 40
+- `MC_PUSHCART`: 39
+- `MC_OVERCHARGE`: 38
+- `MC_DISCOUNT`: 37
+- `MC_INCCARRY`: 36
+- `AL_CURE`: 35
+- `AL_BLESSING`: 34
+- `AL_ANGELUS`: 33
+- `AL_CRUCIS`: 32
+- `AL_HOLYWATER`: 31
+- `AL_DECAGI`: 30
+- `AL_INCAGI`: 29
+- `AL_HEAL`: 28
+- `AL_WARP`: 27
+- `AL_TELEPORT`: 26
+- `AL_PNEUMA`: 25
+- `AL_RUWACH`: 24
+- `AL_DEMONBANE`: 23
+- `AL_DP`: 22
+- `MG_THUNDERSTORM`: 21
+- `MG_LIGHTNINGBOLT`: 20
+- `MG_FIREBOLT`: 19
+- `MG_FIREWALL`: 18
+- `MG_FIREBALL`: 17
+- `MG_STONECURSE`: 16
+- `MG_FROSTDIVER`: 15
+- `MG_COLDBOLT`: 14
+- `MG_SOULSTRIKE`: 13
+- `MG_SAFETYWALL`: 12
+- `MG_NAPALMBEAT`: 11
+- `MG_SIGHT`: 10
+- `MG_SRECOVERY`: 9
+- `SM_ENDURE`: 8
+- `SM_MAGNUM`: 7
+- `SM_PROVOKE`: 6
+- `SM_BASH`: 5
+- `SM_RECOVERY`: 4
+- `SM_TWOHAND`: 3
+- `SM_SWORD`: 2
+- `NV_BASIC`: 1
- `SA_ELEMENTWIND`: 1019
-- `RK_ENCHANTBLADE`: 2001
-- `RK_SONICWAVE`: 2002
-- `RK_DEATHBOUND`: 2003
-- `RK_HUNDREDSPEAR`: 2004
-- `RK_WINDCUTTER`: 2005
-- `RK_IGNITIONBREAK`: 2006
-- `RK_DRAGONTRAINING`: 2007
-- `RK_DRAGONBREATH`: 2008
-- `RK_DRAGONHOWLING`: 2009
-- `RK_RUNEMASTERY`: 2010
-- `RK_MILLENNIUMSHIELD`: 2011
-- `RK_CRUSHSTRIKE`: 2012
-- `RK_REFRESH`: 2013
-- `RK_GIANTGROWTH`: 2014
-- `RK_STONEHARDSKIN`: 2015
-- `RK_VITALITYACTIVATION`: 2016
-- `RK_STORMBLAST`: 2017
-- `RK_FIGHTINGSPIRIT`: 2018
-- `RK_ABUNDANCE`: 2019
-- `RK_PHANTOMTHRUST`: 2020
-- `GC_VENOMIMPRESS`: 2021
-- `GC_CROSSIMPACT`: 2022
-- `GC_DARKILLUSION`: 2023
-- `GC_RESEARCHNEWPOISON`: 2024
-- `GC_CREATENEWPOISON`: 2025
-- `GC_ANTIDOTE`: 2026
-- `GC_POISONINGWEAPON`: 2027
-- `GC_WEAPONBLOCKING`: 2028
-- `GC_COUNTERSLASH`: 2029
-- `GC_WEAPONCRUSH`: 2030
-- `GC_VENOMPRESSURE`: 2031
-- `GC_POISONSMOKE`: 2032
-- `GC_CLOAKINGEXCEED`: 2033
-- `GC_PHANTOMMENACE`: 2034
-- `GC_HALLUCINATIONWALK`: 2035
-- `GC_ROLLINGCUTTER`: 2036
-- `GC_CROSSRIPPERSLASHER`: 2037
-- `AB_JUDEX`: 2038
-- `AB_ANCILLA`: 2039
-- `AB_ADORAMUS`: 2040
-- `AB_CLEMENTIA`: 2041
-- `AB_CANTO`: 2042
-- `AB_CHEAL`: 2043
-- `AB_EPICLESIS`: 2044
-- `AB_PRAEFATIO`: 2045
-- `AB_ORATIO`: 2046
-- `AB_LAUDAAGNUS`: 2047
-- `AB_LAUDARAMUS`: 2048
-- `AB_EUCHARISTICA`: 2049
-- `AB_RENOVATIO`: 2050
-- `AB_HIGHNESSHEAL`: 2051
-- `AB_CLEARANCE`: 2052
-- `AB_EXPIATIO`: 2053
-- `AB_DUPLELIGHT`: 2054
-- `AB_DUPLELIGHT_MELEE`: 2055
-- `AB_DUPLELIGHT_MAGIC`: 2056
+- `SA_ELEMENTFIRE`: 1018
+- `SA_ELEMENTGROUND`: 1017
+- `MO_BALKYOUNG`: 1016
+- `MO_KITRANSLATION`: 1015
+- `PR_REDEMPTIO`: 1014
+- `BS_GREED`: 1013
+- `BS_UNFAIRLYTRICK`: 1012
+- `DC_WINKCHARM`: 1011
+- `BA_PANGVOICE`: 1010
+- `HT_PHANTASMIC`: 1009
+- `SA_ELEMENTWATER`: 1008
+- `SA_CREATECON`: 1007
+- `WZ_SIGHTBLASTER`: 1006
+- `RG_CLOSECONFINE`: 1005
+- `AS_VENOMKNIFE`: 1004
+- `AS_SONICACCEL`: 1003
+- `CR_SHRINK`: 1002
+- `KN_CHARGEATK`: 1001
- `AB_SILENTIUM`: 2057
-- `WL_WHITEIMPRISON`: 2201
-- `WL_SOULEXPANSION`: 2202
-- `WL_FROSTMISTY`: 2203
-- `WL_JACKFROST`: 2204
-- `WL_MARSHOFABYSS`: 2205
-- `WL_RECOGNIZEDSPELL`: 2206
-- `WL_SIENNAEXECRATE`: 2207
-- `WL_RADIUS`: 2208
-- `WL_STASIS`: 2209
-- `WL_DRAINLIFE`: 2210
-- `WL_CRIMSONROCK`: 2211
-- `WL_HELLINFERNO`: 2212
-- `WL_COMET`: 2213
-- `WL_CHAINLIGHTNING`: 2214
-- `WL_CHAINLIGHTNING_ATK`: 2215
-- `WL_EARTHSTRAIN`: 2216
-- `WL_TETRAVORTEX`: 2217
-- `WL_TETRAVORTEX_FIRE`: 2218
-- `WL_TETRAVORTEX_WATER`: 2219
-- `WL_TETRAVORTEX_WIND`: 2220
-- `WL_TETRAVORTEX_GROUND`: 2221
-- `WL_SUMMONFB`: 2222
-- `WL_SUMMONBL`: 2223
-- `WL_SUMMONWB`: 2224
-- `WL_SUMMON_ATK_FIRE`: 2225
-- `WL_SUMMON_ATK_WIND`: 2226
-- `WL_SUMMON_ATK_WATER`: 2227
-- `WL_SUMMON_ATK_GROUND`: 2228
-- `WL_SUMMONSTONE`: 2229
-- `WL_RELEASE`: 2230
-- `WL_READING_SB`: 2231
-- `WL_FREEZE_SP`: 2232
-- `RA_ARROWSTORM`: 2233
-- `RA_FEARBREEZE`: 2234
-- `RA_RANGERMAIN`: 2235
-- `RA_AIMEDBOLT`: 2236
-- `RA_DETONATOR`: 2237
-- `RA_ELECTRICSHOCKER`: 2238
-- `RA_CLUSTERBOMB`: 2239
-- `RA_WUGMASTERY`: 2240
-- `RA_WUGRIDER`: 2241
-- `RA_WUGDASH`: 2242
-- `RA_WUGSTRIKE`: 2243
-- `RA_WUGBITE`: 2244
-- `RA_TOOTHOFWUG`: 2245
-- `RA_SENSITIVEKEEN`: 2246
-- `RA_CAMOUFLAGE`: 2247
-- `RA_RESEARCHTRAP`: 2248
-- `RA_MAGENTATRAP`: 2249
-- `RA_COBALTTRAP`: 2250
-- `RA_MAIZETRAP`: 2251
-- `RA_VERDURETRAP`: 2252
-- `RA_FIRINGTRAP`: 2253
-- `RA_ICEBOUNDTRAP`: 2254
-- `NC_MADOLICENCE`: 2255
-- `NC_BOOSTKNUCKLE`: 2256
-- `NC_PILEBUNKER`: 2257
-- `NC_VULCANARM`: 2258
-- `NC_FLAMELAUNCHER`: 2259
-- `NC_COLDSLOWER`: 2260
-- `NC_ARMSCANNON`: 2261
-- `NC_ACCELERATION`: 2262
-- `NC_HOVERING`: 2263
-- `NC_F_SIDESLIDE`: 2264
-- `NC_B_SIDESLIDE`: 2265
-- `NC_MAINFRAME`: 2266
-- `NC_SELFDESTRUCTION`: 2267
-- `NC_SHAPESHIFT`: 2268
-- `NC_EMERGENCYCOOL`: 2269
-- `NC_INFRAREDSCAN`: 2270
-- `NC_ANALYZE`: 2271
-- `NC_MAGNETICFIELD`: 2272
-- `NC_NEUTRALBARRIER`: 2273
-- `NC_STEALTHFIELD`: 2274
-- `NC_REPAIR`: 2275
-- `NC_TRAININGAXE`: 2276
-- `NC_RESEARCHFE`: 2277
-- `NC_AXEBOOMERANG`: 2278
-- `NC_POWERSWING`: 2279
-- `NC_AXETORNADO`: 2280
-- `NC_SILVERSNIPER`: 2281
-- `NC_MAGICDECOY`: 2282
-- `NC_DISJOINT`: 2283
-- `SC_FATALMENACE`: 2284
-- `SC_REPRODUCE`: 2285
-- `SC_AUTOSHADOWSPELL`: 2286
-- `SC_SHADOWFORM`: 2287
-- `SC_TRIANGLESHOT`: 2288
-- `SC_BODYPAINT`: 2289
-- `SC_INVISIBILITY`: 2290
-- `SC_DEADLYINFECT`: 2291
-- `SC_ENERVATION`: 2292
-- `SC_GROOMY`: 2293
-- `SC_IGNORANCE`: 2294
-- `SC_LAZINESS`: 2295
-- `SC_UNLUCKY`: 2296
-- `SC_WEAKNESS`: 2297
-- `SC_STRIPACCESSARY`: 2298
-- `SC_MANHOLE`: 2299
-- `SC_DIMENSIONDOOR`: 2300
-- `SC_CHAOSPANIC`: 2301
-- `SC_MAELSTROM`: 2302
-- `SC_BLOODYLUST`: 2303
+- `AB_DUPLELIGHT_MAGIC`: 2056
+- `AB_DUPLELIGHT_MELEE`: 2055
+- `AB_DUPLELIGHT`: 2054
+- `AB_EXPIATIO`: 2053
+- `AB_CLEARANCE`: 2052
+- `AB_HIGHNESSHEAL`: 2051
+- `AB_RENOVATIO`: 2050
+- `AB_EUCHARISTICA`: 2049
+- `AB_LAUDARAMUS`: 2048
+- `AB_LAUDAAGNUS`: 2047
+- `AB_ORATIO`: 2046
+- `AB_PRAEFATIO`: 2045
+- `AB_EPICLESIS`: 2044
+- `AB_CHEAL`: 2043
+- `AB_CANTO`: 2042
+- `AB_CLEMENTIA`: 2041
+- `AB_ADORAMUS`: 2040
+- `AB_ANCILLA`: 2039
+- `AB_JUDEX`: 2038
+- `GC_CROSSRIPPERSLASHER`: 2037
+- `GC_ROLLINGCUTTER`: 2036
+- `GC_HALLUCINATIONWALK`: 2035
+- `GC_PHANTOMMENACE`: 2034
+- `GC_CLOAKINGEXCEED`: 2033
+- `GC_POISONSMOKE`: 2032
+- `GC_VENOMPRESSURE`: 2031
+- `GC_WEAPONCRUSH`: 2030
+- `GC_COUNTERSLASH`: 2029
+- `GC_WEAPONBLOCKING`: 2028
+- `GC_POISONINGWEAPON`: 2027
+- `GC_ANTIDOTE`: 2026
+- `GC_CREATENEWPOISON`: 2025
+- `GC_RESEARCHNEWPOISON`: 2024
+- `GC_DARKILLUSION`: 2023
+- `GC_CROSSIMPACT`: 2022
+- `GC_VENOMIMPRESS`: 2021
+- `RK_PHANTOMTHRUST`: 2020
+- `RK_ABUNDANCE`: 2019
+- `RK_FIGHTINGSPIRIT`: 2018
+- `RK_STORMBLAST`: 2017
+- `RK_VITALITYACTIVATION`: 2016
+- `RK_STONEHARDSKIN`: 2015
+- `RK_GIANTGROWTH`: 2014
+- `RK_REFRESH`: 2013
+- `RK_CRUSHSTRIKE`: 2012
+- `RK_MILLENNIUMSHIELD`: 2011
+- `RK_RUNEMASTERY`: 2010
+- `RK_DRAGONHOWLING`: 2009
+- `RK_DRAGONBREATH`: 2008
+- `RK_DRAGONTRAINING`: 2007
+- `RK_IGNITIONBREAK`: 2006
+- `RK_WINDCUTTER`: 2005
+- `RK_HUNDREDSPEAR`: 2004
+- `RK_DEATHBOUND`: 2003
+- `RK_SONICWAVE`: 2002
+- `RK_ENCHANTBLADE`: 2001
- `SC_FEINTBOMB`: 2304
-- `LG_CANNONSPEAR`: 2307
-- `LG_BANISHINGPOINT`: 2308
-- `LG_TRAMPLE`: 2309
-- `LG_SHIELDPRESS`: 2310
-- `LG_REFLECTDAMAGE`: 2311
-- `LG_PINPOINTATTACK`: 2312
-- `LG_FORCEOFVANGUARD`: 2313
-- `LG_RAGEBURST`: 2314
-- `LG_SHIELDSPELL`: 2315
-- `LG_EXEEDBREAK`: 2316
-- `LG_OVERBRAND`: 2317
-- `LG_PRESTIGE`: 2318
-- `LG_BANDING`: 2319
-- `LG_MOONSLASHER`: 2320
-- `LG_RAYOFGENESIS`: 2321
-- `LG_PIETY`: 2322
-- `LG_EARTHDRIVE`: 2323
-- `LG_HESPERUSLIT`: 2324
-- `LG_INSPIRATION`: 2325
-- `SR_DRAGONCOMBO`: 2326
-- `SR_SKYNETBLOW`: 2327
-- `SR_EARTHSHAKER`: 2328
-- `SR_FALLENEMPIRE`: 2329
-- `SR_TIGERCANNON`: 2330
-- `SR_HELLGATE`: 2331
-- `SR_RAMPAGEBLASTER`: 2332
-- `SR_CRESCENTELBOW`: 2333
-- `SR_CURSEDCIRCLE`: 2334
-- `SR_LIGHTNINGWALK`: 2335
-- `SR_KNUCKLEARROW`: 2336
-- `SR_WINDMILL`: 2337
-- `SR_RAISINGDRAGON`: 2338
-- `SR_GENTLETOUCH`: 2339
-- `SR_ASSIMILATEPOWER`: 2340
-- `SR_POWERVELOCITY`: 2341
-- `SR_CRESCENTELBOW_AUTOSPELL`: 2342
-- `SR_GATEOFHELL`: 2343
-- `SR_GENTLETOUCH_QUIET`: 2344
-- `SR_GENTLETOUCH_CURE`: 2345
-- `SR_GENTLETOUCH_ENERGYGAIN`: 2346
-- `SR_GENTLETOUCH_CHANGE`: 2347
+- `SC_BLOODYLUST`: 2303
+- `SC_MAELSTROM`: 2302
+- `SC_CHAOSPANIC`: 2301
+- `SC_DIMENSIONDOOR`: 2300
+- `SC_MANHOLE`: 2299
+- `SC_STRIPACCESSARY`: 2298
+- `SC_WEAKNESS`: 2297
+- `SC_UNLUCKY`: 2296
+- `SC_LAZINESS`: 2295
+- `SC_IGNORANCE`: 2294
+- `SC_GROOMY`: 2293
+- `SC_ENERVATION`: 2292
+- `SC_DEADLYINFECT`: 2291
+- `SC_INVISIBILITY`: 2290
+- `SC_BODYPAINT`: 2289
+- `SC_TRIANGLESHOT`: 2288
+- `SC_SHADOWFORM`: 2287
+- `SC_AUTOSHADOWSPELL`: 2286
+- `SC_REPRODUCE`: 2285
+- `SC_FATALMENACE`: 2284
+- `NC_DISJOINT`: 2283
+- `NC_MAGICDECOY`: 2282
+- `NC_SILVERSNIPER`: 2281
+- `NC_AXETORNADO`: 2280
+- `NC_POWERSWING`: 2279
+- `NC_AXEBOOMERANG`: 2278
+- `NC_RESEARCHFE`: 2277
+- `NC_TRAININGAXE`: 2276
+- `NC_REPAIR`: 2275
+- `NC_STEALTHFIELD`: 2274
+- `NC_NEUTRALBARRIER`: 2273
+- `NC_MAGNETICFIELD`: 2272
+- `NC_ANALYZE`: 2271
+- `NC_INFRAREDSCAN`: 2270
+- `NC_EMERGENCYCOOL`: 2269
+- `NC_SHAPESHIFT`: 2268
+- `NC_SELFDESTRUCTION`: 2267
+- `NC_MAINFRAME`: 2266
+- `NC_B_SIDESLIDE`: 2265
+- `NC_F_SIDESLIDE`: 2264
+- `NC_HOVERING`: 2263
+- `NC_ACCELERATION`: 2262
+- `NC_ARMSCANNON`: 2261
+- `NC_COLDSLOWER`: 2260
+- `NC_FLAMELAUNCHER`: 2259
+- `NC_VULCANARM`: 2258
+- `NC_PILEBUNKER`: 2257
+- `NC_BOOSTKNUCKLE`: 2256
+- `NC_MADOLICENCE`: 2255
+- `RA_ICEBOUNDTRAP`: 2254
+- `RA_FIRINGTRAP`: 2253
+- `RA_VERDURETRAP`: 2252
+- `RA_MAIZETRAP`: 2251
+- `RA_COBALTTRAP`: 2250
+- `RA_MAGENTATRAP`: 2249
+- `RA_RESEARCHTRAP`: 2248
+- `RA_CAMOUFLAGE`: 2247
+- `RA_SENSITIVEKEEN`: 2246
+- `RA_TOOTHOFWUG`: 2245
+- `RA_WUGBITE`: 2244
+- `RA_WUGSTRIKE`: 2243
+- `RA_WUGDASH`: 2242
+- `RA_WUGRIDER`: 2241
+- `RA_WUGMASTERY`: 2240
+- `RA_CLUSTERBOMB`: 2239
+- `RA_ELECTRICSHOCKER`: 2238
+- `RA_DETONATOR`: 2237
+- `RA_AIMEDBOLT`: 2236
+- `RA_RANGERMAIN`: 2235
+- `RA_FEARBREEZE`: 2234
+- `RA_ARROWSTORM`: 2233
+- `WL_FREEZE_SP`: 2232
+- `WL_READING_SB`: 2231
+- `WL_RELEASE`: 2230
+- `WL_SUMMONSTONE`: 2229
+- `WL_SUMMON_ATK_GROUND`: 2228
+- `WL_SUMMON_ATK_WATER`: 2227
+- `WL_SUMMON_ATK_WIND`: 2226
+- `WL_SUMMON_ATK_FIRE`: 2225
+- `WL_SUMMONWB`: 2224
+- `WL_SUMMONBL`: 2223
+- `WL_SUMMONFB`: 2222
+- `WL_TETRAVORTEX_GROUND`: 2221
+- `WL_TETRAVORTEX_WIND`: 2220
+- `WL_TETRAVORTEX_WATER`: 2219
+- `WL_TETRAVORTEX_FIRE`: 2218
+- `WL_TETRAVORTEX`: 2217
+- `WL_EARTHSTRAIN`: 2216
+- `WL_CHAINLIGHTNING_ATK`: 2215
+- `WL_CHAINLIGHTNING`: 2214
+- `WL_COMET`: 2213
+- `WL_HELLINFERNO`: 2212
+- `WL_CRIMSONROCK`: 2211
+- `WL_DRAINLIFE`: 2210
+- `WL_STASIS`: 2209
+- `WL_RADIUS`: 2208
+- `WL_SIENNAEXECRATE`: 2207
+- `WL_RECOGNIZEDSPELL`: 2206
+- `WL_MARSHOFABYSS`: 2205
+- `WL_JACKFROST`: 2204
+- `WL_FROSTMISTY`: 2203
+- `WL_SOULEXPANSION`: 2202
+- `WL_WHITEIMPRISON`: 2201
- `SR_GENTLETOUCH_REVITALIZE`: 2348
-- `WA_SWING_DANCE`: 2350
-- `WA_SYMPHONY_OF_LOVER`: 2351
+- `SR_GENTLETOUCH_CHANGE`: 2347
+- `SR_GENTLETOUCH_ENERGYGAIN`: 2346
+- `SR_GENTLETOUCH_CURE`: 2345
+- `SR_GENTLETOUCH_QUIET`: 2344
+- `SR_GATEOFHELL`: 2343
+- `SR_CRESCENTELBOW_AUTOSPELL`: 2342
+- `SR_POWERVELOCITY`: 2341
+- `SR_ASSIMILATEPOWER`: 2340
+- `SR_GENTLETOUCH`: 2339
+- `SR_RAISINGDRAGON`: 2338
+- `SR_WINDMILL`: 2337
+- `SR_KNUCKLEARROW`: 2336
+- `SR_LIGHTNINGWALK`: 2335
+- `SR_CURSEDCIRCLE`: 2334
+- `SR_CRESCENTELBOW`: 2333
+- `SR_RAMPAGEBLASTER`: 2332
+- `SR_HELLGATE`: 2331
+- `SR_TIGERCANNON`: 2330
+- `SR_FALLENEMPIRE`: 2329
+- `SR_EARTHSHAKER`: 2328
+- `SR_SKYNETBLOW`: 2327
+- `SR_DRAGONCOMBO`: 2326
+- `LG_INSPIRATION`: 2325
+- `LG_HESPERUSLIT`: 2324
+- `LG_EARTHDRIVE`: 2323
+- `LG_PIETY`: 2322
+- `LG_RAYOFGENESIS`: 2321
+- `LG_MOONSLASHER`: 2320
+- `LG_BANDING`: 2319
+- `LG_PRESTIGE`: 2318
+- `LG_OVERBRAND`: 2317
+- `LG_EXEEDBREAK`: 2316
+- `LG_SHIELDSPELL`: 2315
+- `LG_RAGEBURST`: 2314
+- `LG_FORCEOFVANGUARD`: 2313
+- `LG_PINPOINTATTACK`: 2312
+- `LG_REFLECTDAMAGE`: 2311
+- `LG_SHIELDPRESS`: 2310
+- `LG_TRAMPLE`: 2309
+- `LG_BANISHINGPOINT`: 2308
+- `LG_CANNONSPEAR`: 2307
- `WA_MOONLIT_SERENADE`: 2352
-- `MI_RUSH_WINDMILL`: 2381
-- `MI_ECHOSONG`: 2382
+- `WA_SYMPHONY_OF_LOVER`: 2351
+- `WA_SWING_DANCE`: 2350
- `MI_HARMONIZE`: 2383
-- `WM_LESSON`: 2412
-- `WM_METALICSOUND`: 2413
-- `WM_REVERBERATION`: 2414
-- `WM_REVERBERATION_MELEE`: 2415
-- `WM_REVERBERATION_MAGIC`: 2416
-- `WM_DOMINION_IMPULSE`: 2417
-- `WM_SEVERE_RAINSTORM`: 2418
-- `WM_POEMOFNETHERWORLD`: 2419
-- `WM_VOICEOFSIREN`: 2420
-- `WM_DEADHILLHERE`: 2421
-- `WM_LULLABY_DEEPSLEEP`: 2422
-- `WM_SIRCLEOFNATURE`: 2423
-- `WM_RANDOMIZESPELL`: 2424
-- `WM_GLOOMYDAY`: 2425
-- `WM_GREAT_ECHO`: 2426
-- `WM_SONG_OF_MANA`: 2427
-- `WM_DANCE_WITH_WUG`: 2428
-- `WM_SOUND_OF_DESTRUCTION`: 2429
-- `WM_SATURDAY_NIGHT_FEVER`: 2430
-- `WM_LERADS_DEW`: 2431
-- `WM_MELODYOFSINK`: 2432
-- `WM_BEYOND_OF_WARCRY`: 2433
+- `MI_ECHOSONG`: 2382
+- `MI_RUSH_WINDMILL`: 2381
- `WM_UNLIMITED_HUMMING_VOICE`: 2434
-- `SO_FIREWALK`: 2443
-- `SO_ELECTRICWALK`: 2444
-- `SO_SPELLFIST`: 2445
-- `SO_EARTHGRAVE`: 2446
-- `SO_DIAMONDDUST`: 2447
-- `SO_POISON_BUSTER`: 2448
-- `SO_PSYCHIC_WAVE`: 2449
-- `SO_CLOUD_KILL`: 2450
-- `SO_STRIKING`: 2451
-- `SO_WARMER`: 2452
-- `SO_VACUUM_EXTREME`: 2453
-- `SO_VARETYR_SPEAR`: 2454
-- `SO_ARRULLO`: 2455
-- `SO_EL_CONTROL`: 2456
-- `SO_SUMMON_AGNI`: 2457
-- `SO_SUMMON_AQUA`: 2458
-- `SO_SUMMON_VENTUS`: 2459
-- `SO_SUMMON_TERA`: 2460
-- `SO_EL_ACTION`: 2461
-- `SO_EL_ANALYSIS`: 2462
-- `SO_EL_SYMPATHY`: 2463
-- `SO_EL_CURE`: 2464
-- `SO_FIRE_INSIGNIA`: 2465
-- `SO_WATER_INSIGNIA`: 2466
-- `SO_WIND_INSIGNIA`: 2467
+- `WM_BEYOND_OF_WARCRY`: 2433
+- `WM_MELODYOFSINK`: 2432
+- `WM_LERADS_DEW`: 2431
+- `WM_SATURDAY_NIGHT_FEVER`: 2430
+- `WM_SOUND_OF_DESTRUCTION`: 2429
+- `WM_DANCE_WITH_WUG`: 2428
+- `WM_SONG_OF_MANA`: 2427
+- `WM_GREAT_ECHO`: 2426
+- `WM_GLOOMYDAY`: 2425
+- `WM_RANDOMIZESPELL`: 2424
+- `WM_SIRCLEOFNATURE`: 2423
+- `WM_LULLABY_DEEPSLEEP`: 2422
+- `WM_DEADHILLHERE`: 2421
+- `WM_VOICEOFSIREN`: 2420
+- `WM_POEMOFNETHERWORLD`: 2419
+- `WM_SEVERE_RAINSTORM`: 2418
+- `WM_DOMINION_IMPULSE`: 2417
+- `WM_REVERBERATION_MAGIC`: 2416
+- `WM_REVERBERATION_MELEE`: 2415
+- `WM_REVERBERATION`: 2414
+- `WM_METALICSOUND`: 2413
+- `WM_LESSON`: 2412
- `SO_EARTH_INSIGNIA`: 2468
-- `GN_TRAINING_SWORD`: 2474
-- `GN_REMODELING_CART`: 2475
-- `GN_CART_TORNADO`: 2476
-- `GN_CARTCANNON`: 2477
-- `GN_CARTBOOST`: 2478
-- `GN_THORNS_TRAP`: 2479
-- `GN_BLOOD_SUCKER`: 2480
-- `GN_SPORE_EXPLOSION`: 2481
-- `GN_WALLOFTHORN`: 2482
-- `GN_CRAZYWEED`: 2483
-- `GN_CRAZYWEED_ATK`: 2484
-- `GN_DEMONIC_FIRE`: 2485
-- `GN_FIRE_EXPANSION`: 2486
-- `GN_FIRE_EXPANSION_SMOKE_POWDER`: 2487
-- `GN_FIRE_EXPANSION_TEAR_GAS`: 2488
-- `GN_FIRE_EXPANSION_ACID`: 2489
-- `GN_HELLS_PLANT`: 2490
-- `GN_HELLS_PLANT_ATK`: 2491
-- `GN_MANDRAGORA`: 2492
-- `GN_SLINGITEM`: 2493
-- `GN_CHANGEMATERIAL`: 2494
-- `GN_MIX_COOKING`: 2495
-- `GN_MAKEBOMB`: 2496
-- `GN_S_PHARMACY`: 2497
+- `SO_WIND_INSIGNIA`: 2467
+- `SO_WATER_INSIGNIA`: 2466
+- `SO_FIRE_INSIGNIA`: 2465
+- `SO_EL_CURE`: 2464
+- `SO_EL_SYMPATHY`: 2463
+- `SO_EL_ANALYSIS`: 2462
+- `SO_EL_ACTION`: 2461
+- `SO_SUMMON_TERA`: 2460
+- `SO_SUMMON_VENTUS`: 2459
+- `SO_SUMMON_AQUA`: 2458
+- `SO_SUMMON_AGNI`: 2457
+- `SO_EL_CONTROL`: 2456
+- `SO_ARRULLO`: 2455
+- `SO_VARETYR_SPEAR`: 2454
+- `SO_VACUUM_EXTREME`: 2453
+- `SO_WARMER`: 2452
+- `SO_STRIKING`: 2451
+- `SO_CLOUD_KILL`: 2450
+- `SO_PSYCHIC_WAVE`: 2449
+- `SO_POISON_BUSTER`: 2448
+- `SO_DIAMONDDUST`: 2447
+- `SO_EARTHGRAVE`: 2446
+- `SO_SPELLFIST`: 2445
+- `SO_ELECTRICWALK`: 2444
+- `SO_FIREWALK`: 2443
- `GN_SLINGITEM_RANGEMELEEATK`: 2498
-- `AB_SECRAMENT`: 2515
-- `WM_SEVERE_RAINSTORM_MELEE`: 2516
-- `SR_HOWLINGOFLION`: 2517
-- `SR_RIDEINLIGHTNING`: 2518
+- `GN_S_PHARMACY`: 2497
+- `GN_MAKEBOMB`: 2496
+- `GN_MIX_COOKING`: 2495
+- `GN_CHANGEMATERIAL`: 2494
+- `GN_SLINGITEM`: 2493
+- `GN_MANDRAGORA`: 2492
+- `GN_HELLS_PLANT_ATK`: 2491
+- `GN_HELLS_PLANT`: 2490
+- `GN_FIRE_EXPANSION_ACID`: 2489
+- `GN_FIRE_EXPANSION_TEAR_GAS`: 2488
+- `GN_FIRE_EXPANSION_SMOKE_POWDER`: 2487
+- `GN_FIRE_EXPANSION`: 2486
+- `GN_DEMONIC_FIRE`: 2485
+- `GN_CRAZYWEED_ATK`: 2484
+- `GN_CRAZYWEED`: 2483
+- `GN_WALLOFTHORN`: 2482
+- `GN_SPORE_EXPLOSION`: 2481
+- `GN_BLOOD_SUCKER`: 2480
+- `GN_THORNS_TRAP`: 2479
+- `GN_CARTBOOST`: 2478
+- `GN_CARTCANNON`: 2477
+- `GN_CART_TORNADO`: 2476
+- `GN_REMODELING_CART`: 2475
+- `GN_TRAINING_SWORD`: 2474
- `LG_OVERBRAND_BRANDISH`: 2519
-- `RETURN_TO_ELDICASTES`: 2534
-- `ALL_BUYING_STORE`: 2535
-- `ALL_GUARDIAN_RECALL`: 2536
-- `ALL_ODINS_POWER`: 2537
+- `SR_RIDEINLIGHTNING`: 2518
+- `SR_HOWLINGOFLION`: 2517
+- `WM_SEVERE_RAINSTORM_MELEE`: 2516
+- `AB_SECRAMENT`: 2515
- `MC_CARTDECORATE`: 2544
-- `KO_YAMIKUMO`: 3001
-- `KO_RIGHT`: 3002
-- `KO_LEFT`: 3003
-- `KO_JYUMONJIKIRI`: 3004
-- `KO_SETSUDAN`: 3005
-- `KO_BAKURETSU`: 3006
-- `KO_HAPPOKUNAI`: 3007
-- `KO_MUCHANAGE`: 3008
-- `KO_HUUMARANKA`: 3009
-- `KO_MAKIBISHI`: 3010
-- `KO_MEIKYOUSISUI`: 3011
-- `KO_ZANZOU`: 3012
-- `KO_KYOUGAKU`: 3013
-- `KO_JYUSATSU`: 3014
-- `KO_KAHU_ENTEN`: 3015
-- `KO_HYOUHU_HUBUKI`: 3016
-- `KO_KAZEHU_SEIRAN`: 3017
-- `KO_DOHU_KOUKAI`: 3018
-- `KO_KAIHOU`: 3019
-- `KO_ZENKAI`: 3020
-- `KO_GENWAKU`: 3021
-- `KO_IZAYOI`: 3022
-- `KG_KAGEHUMI`: 3023
-- `KG_KYOMU`: 3024
-- `KG_KAGEMUSYA`: 3025
-- `OB_ZANGETSU`: 3026
-- `OB_OBOROGENSOU`: 3027
-- `OB_OBOROGENSOU_TRANSITION_ATK`: 3028
+- `ALL_ODINS_POWER`: 2537
+- `ALL_GUARDIAN_RECALL`: 2536
+- `ALL_BUYING_STORE`: 2535
+- `RETURN_TO_ELDICASTES`: 2534
+- `RL_GLITTERING_GREED_ATK`: 2574
+- `RL_B_FLICKER_ATK`: 2573
+- `RL_R_TRIP_PLUSATK`: 2572
+- `RL_HAMMER_OF_GOD`: 2571
+- `RL_SLUGSHOT`: 2570
+- `RL_AM_BLAST`: 2569
+- `RL_HEAT_BARREL`: 2568
+- `RL_FIRE_RAIN`: 2567
+- `RL_D_TAIL`: 2566
+- `RL_R_TRIP`: 2565
+- `RL_FALLEN_ANGEL`: 2564
+- `RL_P_ALTER`: 2563
+- `RL_H_MINE`: 2562
+- `RL_FIREDANCE`: 2561
+- `RL_C_MARKER`: 2560
+- `RL_QD_SHOT`: 2559
+- `RL_E_CHAIN`: 2558
+- `RL_S_STORM`: 2557
+- `RL_FLICKER`: 2556
+- `RL_B_TRAP`: 2555
+- `RL_BANISHING_BUSTER`: 2554
+- `RL_MASS_SPIRAL`: 2553
+- `RL_RICHS_COIN`: 2552
+- `RL_GLITTERING_GREED`: 2551
- `OB_AKAITSUKI`: 3029
-- `ECL_SNOWFLIP`: 3031
-- `ECL_PEONYMAMY`: 3032
-- `ECL_SADAGUI`: 3033
-- `ECL_SEQUOIADUST`: 3034
+- `OB_OBOROGENSOU_TRANSITION_ATK`: 3028
+- `OB_OBOROGENSOU`: 3027
+- `OB_ZANGETSU`: 3026
+- `KG_KAGEMUSYA`: 3025
+- `KG_KYOMU`: 3024
+- `KG_KAGEHUMI`: 3023
+- `KO_IZAYOI`: 3022
+- `KO_GENWAKU`: 3021
+- `KO_ZENKAI`: 3020
+- `KO_KAIHOU`: 3019
+- `KO_DOHU_KOUKAI`: 3018
+- `KO_KAZEHU_SEIRAN`: 3017
+- `KO_HYOUHU_HUBUKI`: 3016
+- `KO_KAHU_ENTEN`: 3015
+- `KO_JYUSATSU`: 3014
+- `KO_KYOUGAKU`: 3013
+- `KO_ZANZOU`: 3012
+- `KO_MEIKYOUSISUI`: 3011
+- `KO_MAKIBISHI`: 3010
+- `KO_HUUMARANKA`: 3009
+- `KO_MUCHANAGE`: 3008
+- `KO_HAPPOKUNAI`: 3007
+- `KO_BAKURETSU`: 3006
+- `KO_SETSUDAN`: 3005
+- `KO_JYUMONJIKIRI`: 3004
+- `KO_LEFT`: 3003
+- `KO_RIGHT`: 3002
+- `KO_YAMIKUMO`: 3001
- `ECLAGE_RECALL`: 3035
-- `GC_DARKCROW`: 5001
-- `RA_UNLIMIT`: 5002
-- `GN_ILLUSIONDOPING`: 5003
-- `RK_DRAGONBREATH_WATER`: 5004
-- `RK_LUXANIMA`: 5005
-- `NC_MAGMA_ERUPTION`: 5006
-- `WM_FRIGG_SONG`: 5007
-- `SO_ELEMENTAL_SHIELD`: 5008
-- `SR_FLASHCOMBO`: 5009
-- `SC_ESCAPE`: 5010
-- `AB_OFFERTORIUM`: 5011
-- `WL_TELEKINESIS_INTENSE`: 5012
-- `LG_KINGS_GRACE`: 5013
+- `ECL_SEQUOIADUST`: 3034
+- `ECL_SADAGUI`: 3033
+- `ECL_PEONYMAMY`: 3032
+- `ECL_SNOWFLIP`: 3031
- `ALL_FULL_THROTTLE`: 5014
-- `SU_BASIC_SKILL`: 5018
-- `SU_BITE`: 5019
-- `SU_HIDE`: 5020
-- `SU_SCRATCH`: 5021
-- `SU_STOOP`: 5022
-- `SU_LOPE`: 5023
-- `SU_SPRITEMABLE`: 5024
-- `SU_POWEROFLAND`: 5025
-- `SU_SV_STEMSPEAR`: 5026
-- `SU_CN_POWDERING`: 5027
-- `SU_CN_METEOR`: 5028
-- `SU_SV_ROOTTWIST`: 5029
-- `SU_SV_ROOTTWIST_ATK`: 5030
-- `SU_POWEROFLIFE`: 5031
-- `SU_SCAROFTAROU`: 5032
-- `SU_PICKYPECK`: 5033
-- `SU_PICKYPECK_DOUBLE_ATK`: 5034
-- `SU_ARCLOUSEDASH`: 5035
-- `SU_LUNATICCARROTBEAT`: 5036
-- `SU_POWEROFSEA`: 5037
-- `SU_TUNABELLY`: 5038
-- `SU_TUNAPARTY`: 5039
-- `SU_BUNCHOFSHRIMP`: 5040
-- `SU_FRESHSHRIMP`: 5041
-- `SU_CN_METEOR_ATK`: 5042
+- `LG_KINGS_GRACE`: 5013
+- `WL_TELEKINESIS_INTENSE`: 5012
+- `AB_OFFERTORIUM`: 5011
+- `SC_ESCAPE`: 5010
+- `SR_FLASHCOMBO`: 5009
+- `SO_ELEMENTAL_SHIELD`: 5008
+- `WM_FRIGG_SONG`: 5007
+- `NC_MAGMA_ERUPTION`: 5006
+- `RK_LUXANIMA`: 5005
+- `RK_DRAGONBREATH_WATER`: 5004
+- `GN_ILLUSIONDOPING`: 5003
+- `RA_UNLIMIT`: 5002
+- `GC_DARKCROW`: 5001
- `SU_LUNATICCARROTBEAT2`: 5043
+- `SU_CN_METEOR_ATK`: 5042
+- `SU_FRESHSHRIMP`: 5041
+- `SU_BUNCHOFSHRIMP`: 5040
+- `SU_TUNAPARTY`: 5039
+- `SU_TUNABELLY`: 5038
+- `SU_POWEROFSEA`: 5037
+- `SU_LUNATICCARROTBEAT`: 5036
+- `SU_ARCLOUSEDASH`: 5035
+- `SU_PICKYPECK_DOUBLE_ATK`: 5034
+- `SU_PICKYPECK`: 5033
+- `SU_SCAROFTAROU`: 5032
+- `SU_POWEROFLIFE`: 5031
+- `SU_SV_ROOTTWIST_ATK`: 5030
+- `SU_SV_ROOTTWIST`: 5029
+- `SU_CN_METEOR`: 5028
+- `SU_CN_POWDERING`: 5027
+- `SU_SV_STEMSPEAR`: 5026
+- `SU_POWEROFLAND`: 5025
+- `SU_SPRITEMABLE`: 5024
+- `SU_LOPE`: 5023
+- `SU_STOOP`: 5022
+- `SU_SCRATCH`: 5021
+- `SU_HIDE`: 5020
+- `SU_BITE`: 5019
+- `SU_BASIC_SKILL`: 5018
+- `MH_VOLCANIC_ASH`: 8043
+- `MH_PYROCLASTIC`: 8042
+- `MH_LAVA_SLIDE`: 8041
+- `MH_GRANITIC_ARMOR`: 8040
+- `MH_MAGMA_FLOW`: 8039
+- `MH_EQC`: 8038
+- `MH_CBC`: 8037
+- `MH_TINDER_BREAKER`: 8036
+- `MH_ANGRIFFS_MODUS`: 8035
+- `MH_HEILIGE_STANGE`: 8034
+- `MH_STEINWAND`: 8033
+- `MH_GOLDENE_FERSE`: 8032
+- `MH_STAHL_HORN`: 8031
+- `MH_MIDNIGHT_FRENZY`: 8030
+- `MH_SILVERVEIN_RUSH`: 8029
+- `MH_SONIC_CRAW`: 8028
+- `MH_STYLE_CHANGE`: 8027
+- `MH_SILENT_BREEZE`: 8026
+- `MH_XENO_SLASHER`: 8025
+- `MH_ERASER_CUTTER`: 8024
+- `MH_OVERED_BOOST`: 8023
+- `MH_LIGHT_OF_REGENE`: 8022
+- `MH_PAIN_KILLER`: 8021
+- `MH_POISON_MIST`: 8020
+- `MH_NEEDLE_OF_PARALYZE`: 8019
+- `MH_SUMMON_LEGION`: 8018
+- `HVAN_EXPLOSION`: 8016
+- `HVAN_INSTRUCT`: 8015
+- `HVAN_CHAOTIC`: 8014
+- `HVAN_CAPRICE`: 8013
+- `HFLI_SBR44`: 8012
+- `HFLI_SPEED`: 8011
+- `HFLI_FLEET`: 8010
+- `HFLI_MOON`: 8009
+- `HAMI_BLOODLUST`: 8008
+- `HAMI_SKIN`: 8007
+- `HAMI_DEFENCE`: 8006
+- `HAMI_CASTLE`: 8005
+- `HLIF_CHANGE`: 8004
+- `HLIF_BRAIN`: 8003
+- `HLIF_AVOID`: 8002
+- `HLIF_HEAL`: 8001
+- `MER_INCAGI`: 8240
+- `MER_BLESSING`: 8239
+- `MER_KYRIE`: 8238
+- `MER_ESTIMATION`: 8237
+- `MER_LEXDIVINA`: 8236
+- `MER_SCAPEGOAT`: 8235
+- `MER_DECAGI`: 8234
+- `MER_AUTOBERSERK`: 8233
+- `MER_PROVOKE`: 8232
+- `MER_COMPRESS`: 8231
+- `MER_MENTALCURE`: 8230
+- `MER_RECUPERATE`: 8229
+- `MER_BENEDICTION`: 8228
+- `MER_TENDER`: 8227
+- `MER_REGAIN`: 8226
+- `MER_CRASH`: 8225
+- `MER_SIGHT`: 8224
+- `MER_QUICKEN`: 8223
+- `MER_MAGNIFICAT`: 8222
+- `ML_DEVOTION`: 8221
+- `ML_AUTOGUARD`: 8220
+- `ML_DEFENDER`: 8219
+- `ML_SPIRALPIERCE`: 8218
+- `ML_BRANDISH`: 8217
+- `ML_PIERCE`: 8216
+- `MA_SHARPSHOOTING`: 8215
+- `MA_CHARGEARROW`: 8214
+- `MA_REMOVETRAP`: 8213
+- `MA_FREEZINGTRAP`: 8212
+- `MA_SANDMAN`: 8211
+- `MA_LANDMINE`: 8210
+- `MA_SKIDTRAP`: 8209
+- `MA_SHOWER`: 8208
+- `MA_DOUBLE`: 8207
+- `MS_BERSERK`: 8206
+- `MS_REFLECTSHIELD`: 8205
+- `MS_PARRYING`: 8204
+- `MS_BOWLINGBASH`: 8203
+- `MS_MAGNUM`: 8202
+- `MS_BASH`: 8201
+- `EL_STONE_RAIN`: 8442
+- `EL_ROCK_CRUSHER_ATK`: 8441
+- `EL_ROCK_CRUSHER`: 8440
+- `EL_STONE_HAMMER`: 8439
+- `EL_TYPOON_MIS_ATK`: 8438
+- `EL_TYPOON_MIS`: 8437
+- `EL_HURRICANE_ATK`: 8436
+- `EL_HURRICANE`: 8435
+- `EL_WIND_SLASH`: 8434
+- `EL_TIDAL_WEAPON`: 8433
+- `EL_WATER_SCREW_ATK`: 8432
+- `EL_WATER_SCREW`: 8431
+- `EL_ICE_NEEDLE`: 8430
+- `EL_FIRE_WAVE_ATK`: 8429
+- `EL_FIRE_WAVE`: 8428
+- `EL_FIRE_BOMB_ATK`: 8427
+- `EL_FIRE_BOMB`: 8426
+- `EL_FIRE_ARROW`: 8425
+- `EL_UPHEAVAL`: 8424
+- `EL_CURSED_SOIL`: 8423
+- `EL_PETROLOGY`: 8422
+- `EL_WILD_STORM`: 8421
+- `EL_BLAST`: 8420
+- `EL_GUST`: 8419
+- `EL_CHILLY_AIR`: 8418
+- `EL_COOLER`: 8417
+- `EL_AQUAPLAY`: 8416
+- `EL_TROPIC`: 8415
+- `EL_HEATER`: 8414
+- `EL_PYROTECHNIC`: 8413
+- `EL_POWER_OF_GAIA`: 8412
+- `EL_STONE_SHIELD`: 8411
+- `EL_SOLID_SKIN`: 8410
+- `EL_ZEPHYR`: 8409
+- `EL_WIND_CURTAIN`: 8408
+- `EL_WIND_STEP`: 8407
+- `EL_WATER_BARRIER`: 8406
+- `EL_WATER_DROP`: 8405
+- `EL_WATER_SCREEN`: 8404
+- `EL_FIRE_MANTLE`: 8403
+- `EL_FIRE_CLOAK`: 8402
+- `EL_CIRCLE_OF_FIRE`: 8401
+- `GD_DEVELOPMENT`: 10014
+- `GD_EMERGENCYCALL`: 10013
+- `GD_RESTORE`: 10012
+- `GD_REGENERATION`: 10011
+- `GD_BATTLEORDER`: 10010
+- `GD_HAWKEYES`: 10009
+- `GD_SOULCOLD`: 10008
+- `GD_GLORYWOUNDS`: 10007
+- `GD_LEADERSHIP`: 10006
+- `GD_GLORYGUILD`: 10005
+- `GD_EXTENSION`: 10004
+- `GD_GUARDUP`: 10003
+- `GD_GUARDRESEARCH`: 10002
+- `GD_KAFRACONTRACT`: 10001
+- `GD_APPROVAL`: 10000
## Mobs (db/re/mob_db.txt)
@@ -7569,6 +7798,8 @@
- `DUMMY_100`: 2410
- `DUMMY_150`: 2411
- `DUMMY_10_FIRE`: 2413
+- `RUNAWAY_BOOK`: 2414
+- `G_L_SHECIL`: 2431
- `MG_ZOMBIE`: 2464
- `MG_WRAITH`: 2465
- `MG_GHOUL`: 2466
@@ -7965,6 +8196,8 @@
- `XM_CELINE_KIMI`: 2996
- `GRIM_REAPER_ANKOU`: 3029
- `TIMEHOLDER`: 3074
+- `J_REB_SHECIL1`: 3169
+- `J_REB_SHECIL2`: 3170
- `E1_FELOCK`: 3181
- `MM_SARAH`: 3190
- `ORGANIC_JAKK`: 3202
@@ -9063,9 +9296,11 @@
- `Thanos_Knuckle`: 1836
- `Scarlet_Knuckle`: 1839
- `Combo_Battle_Glove_IL`: 1846
+- `Iron_Nail_K`: 1847
- `Rebeginer_SR_Nuckle`: 1848
- `Burning_Knuckle_OS`: 1862
- `Evt_Iron_Nail_K`: 1864
+- `Ein_1HKNUCK`: 1867
- `Violin_of_Vicious_Mind`: 1900
- `Violin`: 1901
- `Violin_`: 1902
@@ -9182,8 +9417,10 @@
- `Staff_of_Vicious_Mind`: 2026
- `Wizardy_Staff_IL`: 2039
- `Rebeginer_WL_Staff`: 2046
+- `Iron_Staff`: 2048
- `Survival_Staff_IL`: 2051
- `Evt_Iron_Staff`: 2054
+- `Ein_BHSTAFF`: 2058
- `Guard`: 2101
- `Guard_`: 2102
- `Buckler`: 2103
@@ -12503,6 +12740,8 @@
- `Bag_Of_Selling_Goods`: 6682
- `Cash_Hair_Coupon`: 6707
- `Lovely_Stick`: 6712
+- `Steel_Article`: 6746
+- `Steel_Article_`: 6747
- `Corrupted_Charm`: 6755
- `ORGANIC_PUMPKIN`: 6804
- `INORGANIC_PUMPKIN`: 6805
@@ -13546,6 +13785,11 @@
- `Phreeoni_Egg`: 9111
- `Moonlight_Flower_Egg`: 9112
- `Skelion_Egg`: 9113
+- `Ein_Ddbox`: 9514
+- `Metal_Rifine_Ticket`: 9523
+- `Ein_Ddbox2`: 9529
+- `Gemstone_Of_Time`: 9550
+- `Time_Unseal_Key`: 9551
- `Skull_Helm`: 10001
- `Monster_Oxygen_Mask`: 10002
- `Transparent_Headgear`: 10003
@@ -14562,6 +14806,7 @@
- `Elf_Tear_Curse`: 12880
- `Elf_Tear_Silence`: 12881
- `Elf_Tear_Blind`: 12882
+- `Almighty`: 12883
- `C_Center_Potion`: 12884
- `C_Awakening_Potion`: 12885
- `C_Berserk_Potion`: 12886
@@ -14772,6 +15017,8 @@
- `Upg_Revolver`: 13115
- `Novice_Revolver`: 13116
- `TE_Woe_Pistol`: 13117
+- `Tiny_Flame`: 13118
+- `Freedom_Flame`: 13119
- `H_FEATHER_H_FIRE`: 13120
- `ALTAIR_ARES`: 13122
- `ALTAIR_ARES_`: 13124
@@ -14854,6 +15101,11 @@
- `Poison_Sphere_`: 13225
- `Blind_Sphere_`: 13226
- `Freezing_Sphere_`: 13227
+- `Flare_Bullet`: 13228
+- `Lightning_Bullet`: 13229
+- `Ice_Bullet`: 13230
+- `Poison_Bullet`: 13231
+- `Blind_Bullet`: 13232
- `Shuriken`: 13250
- `Nimbus_Shuriken`: 13251
- `Flash_Shuriken`: 13252
@@ -14923,6 +15175,8 @@
- `Huuma_Fluttering_Snow_IL`: 13337
- `Huuma_Bird_Wing_IL`: 13338
- `Rebeginer_KO_Humma`: 13341
+- `Humma_Clear`: 13345
+- `Ein_BHHuuma`: 13346
- `Cutlas_`: 13400
- `Excalibur_C`: 13401
- `Cutlas_C`: 13402
@@ -14968,6 +15222,7 @@
- `Saber_of_Vicious_Mind`: 13455
- `Immaterial_Sword_IL`: 13469
- `Rebeginer_GN_Sword`: 13483
+- `Sword_Of_Bluefire`: 13485
- `Cannon_Rapier_OS`: 13493
- `Evt_Bluefire_Sword`: 13495
- `Insurance60_Package`: 13500
@@ -16025,13 +16280,28 @@
- `True_Hunting_Mail`: 15246
- `R_Hunting_Mail`: 15247
- `Rebeginer_Suits`: 15250
+- `Overwhelm_Str_Armor`: 15278
+- `Overwhelm_Int_Armor`: 15279
- `S_CriticalHit_Armor`: 15280
+- `Overwhelm_Luk_Armor`: 15346
+- `Overwhelm_Vit_Armor`: 15347
- `Goibne_Armor_IL`: 15348
+- `Overwhelm_Agi_Armor`: 15353
+- `Overwhelm_Dex_Armor`: 15354
- `Illusion_Armor_A`: 15376
- `Illusion_Armor_B`: 15377
+- `Lava_Leather_Armor`: 15378
+- `Lava_Leather_Suits`: 15379
+- `Lava_Leather_Robe`: 15380
- `Time_Overload_Robe`: 15383
- `Schmidt_Suits`: 15388
- `Schmidt_Manteau`: 15389
+- `DragonA_Red`: 15391
+- `DragonA_Green`: 15392
+- `DragonA_Gold`: 15393
+- `DragonA_Purple`: 15394
+- `DragonA_Blue`: 15395
+- `DragonA_Silver`: 15396
- `Erde`: 16000
- `Red_Square_Bag`: 16001
- `Stunner_C`: 16002
@@ -16073,6 +16343,7 @@
- `Rebeginer_N2_Mace`: 16076
- `Saphir_Hall_OS`: 16088
- `Ultio_Spes_OS`: 16089
+- `Ein_1HHAMMER`: 16099
- `Lady_Tanee_Doll_Box`: 16131
- `Lunatic_Hat_Box`: 16132
- `King_Frog_Hat_Box`: 16134
@@ -16404,6 +16675,7 @@
- `Tw_Red_Scroll`: 17210
- `Tw_Orange_Scroll`: 17211
- `Tw_Yellow_Scroll`: 17212
+- `Almighty_Box`: 17224
- `C_Center_Potion_Box`: 17226
- `C_Awakening_Potion_Box`: 17227
- `C_Berserk_Potion_Box`: 17228
@@ -16488,6 +16760,7 @@
- `Infinity_Bow`: 18128
- `Scarlet_Bow`: 18130
- `Balistar_IL`: 18149
+- `Royal_Bow_K`: 18164
- `Rebeginer_RN_Bow`: 18165
- `Rebeginer_WM_Bow`: 18166
- `Neev_Bow_Of_Rogue`: 18170
@@ -16497,6 +16770,7 @@
- `AC_B44_OS`: 18180
- `Evt_Royal_Bow_K`: 18182
- `Evt_Narcis_Bow`: 18183
+- `Ein_BHBOW`: 18190
- `Cheer_Scarf6`: 18500
- `Cheer_Scarf8`: 18501
- `Cheer_Scarf10`: 18502
@@ -17718,10 +17992,17 @@
- `C_Magic_Circle`: 20515
- `C_Wings_of_Michael`: 20516
- `C_GiantCatBag_TW`: 20517
+- `C_Full_BloomCherry_Tree`: 20519
- `C_GoldButterfly_Wing`: 20528
- `C_Wings_of_Gabriel`: 20530
- `C_PinkButterfly_Wing_T`: 20533
- `C_Digital_Space`: 20535
+- `C_Halloween_Poring_Bag`: 20543
+- `C_Backside_Ribbon_Bell`: 20546
+- `C_HeartChocoBag`: 20570
+- `C_WingOfHeart`: 20572
+- `C_Cat_Fork`: 20576
+- `C_Big_Foxtail`: 20584
- `Fantastic_Aura`: 20600
- `Egir_Manteau`: 20700
- `TE_Woe_Muffler`: 20702
@@ -17774,6 +18055,13 @@
- `Time_Overload_Hood`: 20939
- `Violet_Halo`: 20940
- `Fairy_Cloth`: 20944
+- `Drag_Manteau`: 20946
+- `Temporal_M_Str`: 20963
+- `Temporal_M_Agi`: 20964
+- `Temporal_M_Vit`: 20965
+- `Temporal_M_Int`: 20966
+- `Temporal_M_Dex`: 20967
+- `Temporal_M_Luk`: 20968
- `Upg_Twohand_Sword`: 21000
- `Velum_Claymore`: 21001
- `Velum_Katzbalger`: 21002
@@ -17794,8 +18082,11 @@
- `Lindy_Hop`: 21018
- `Onimaru`: 21019
- `Rebeginer_RK_T_Sword`: 21037
+- `Oriental_Sword`: 21038
- `Beam_Claymore_OS`: 21047
- `Evt_Oriental_Sword`: 21049
+- `Taegoolyeon_IL`: 21050
+- `Ein_BHSWORD`: 21054
- `Temporal_Str_Boots`: 22000
- `Temporal_Int_Boots`: 22001
- `Temporal_Agi_Boots`: 22002
@@ -17847,6 +18138,7 @@
- `Illusion_Leg_A`: 22196
- `Illusion_Leg_B`: 22197
- `Time_Overload_Boots`: 22204
+- `Dragon_Boots`: 22208
- `Para_Team_Mark_`: 22508
- `Candy_Holder`: 22514
- `Key_Of_Twisted_Time`: 22515
@@ -17860,6 +18152,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
@@ -17907,10 +18205,12 @@
- `Buy_Arbeit1_2Lv_`: 23358
- `Buy_Arbeit1_3Lv_`: 23359
- `Green_Scroll_K2`: 23405
+- `Shadow_Refine_Hammer`: 23436
- `Sentimental_Scroll`: 23440
- `July_Hair_Box`: 23444
- `Savage_Trap`: 23446
- `Infinity_Scroll`: 23473
+- `InfinityShadow_Mix`: 23474
- `Infinity_Drink`: 23475
- `Firstaid_Box_5`: 23484
- `Firstaid_Box_10`: 23485
@@ -17937,6 +18237,9 @@
- `White_Potion_B_20`: 23506
- `Vote_Rose`: 23533
- `Bloody_Scroll`: 23537
+- `Silver_Statue`: 23545
+- `Cursed_Blood`: 23546
+- `Gold_Statue`: 23547
- `Snow_Cookie`: 23549
- `Winter_Cookie`: 23550
- `Festi_Cookie`: 23551
@@ -17958,11 +18261,22 @@
- `2017_Special_Scroll`: 23618
- `Ice_Scroll`: 23650
- `2018_New_Year_Scroll`: 23661
+- `PhysicalMagical_Mix`: 23665
+- `ImmunedAthena_Mix`: 23666
+- `HardChamption_Mix`: 23667
+- `KingbirdAncient_Mix`: 23668
+- `CriticalHit_Mix`: 23669
+- `Geffen_Magic_Scroll`: 23675
+- `Gray_Charcoal_Melee`: 23676
+- `Gray_Charcoal_Magic`: 23677
+- `Gray_Charcoal_Range`: 23678
+- `Geffen_Magic_Scroll2`: 23679
- `EVT_JAN02KR`: 23683
- `Lunar_New_Year_Scroll`: 23700
- `Reactor_Z`: 23706
- `Reactor_Z_`: 23707
- `2018_Spring_Scroll`: 23710
+- `Shadow_Random_Mix`: 23720
- `Melon_Bread`: 23723
- `Costama_EggV02`: 23765
- `Mysterious_Plastic`: 23771
@@ -17970,15 +18284,101 @@
- `EP17_1_SPC02`: 23773
- `EP17_1_SPC03`: 23774
- `EP17_1_SPC04`: 23775
+- `EP17_1_SPC05`: 23776
+- `EP17_1_SPC06`: 23777
+- `EP17_1_SPC07`: 23778
+- `EP17_1_SPC08`: 23779
+- `EP17_1_SPC09`: 23780
+- `EP17_1_SPC10`: 23781
+- `Magma_Essence`: 23815
- `Bs_Making_Scrolls`: 23817
+- `Bs_Item_M_S_2`: 23818
+- `Bs_Item_M_S_8`: 23819
+- `Bs_Item_M_S_10`: 23820
+- `Bs_Item_M_S_11`: 23821
+- `Bs_Item_M_S_34`: 23822
+- `Bs_Item_M_S_41`: 23823
+- `Bs_Item_M_S_42`: 23824
+- `Bs_Item_M_S_43`: 23825
+- `Bs_Item_M_S_44`: 23826
+- `Bs_Sha_M_S_1`: 23827
+- `Bs_Sha_M_S_17`: 23828
+- `Bs_Sha_M_S_18`: 23829
+- `Bs_Sha_M_S_19`: 23830
+- `Bs_Sha_M_S_20`: 23831
+- `Bs_Item_M_S_4`: 23832
+- `Bs_Item_M_S_6`: 23833
+- `Bs_Item_M_S_7`: 23834
+- `Bs_Item_M_S_12`: 23835
+- `Bs_Item_M_S_13`: 23836
+- `Bs_Item_M_S_15`: 23837
+- `Bs_Item_M_S_28`: 23838
+- `Bs_Item_M_S_29`: 23839
+- `Bs_Item_M_S_31`: 23840
+- `Bs_Item_M_S_32`: 23841
+- `Bs_Item_M_S_33`: 23842
+- `Bs_Item_M_S_36`: 23843
+- `Bs_Item_M_S_37`: 23844
+- `Bs_Item_M_S_38`: 23845
+- `Bs_Item_M_S_39`: 23846
+- `Bs_Item_M_S_40`: 23847
+- `Bs_Item_M_S_45`: 23848
+- `Bs_Item_M_S_46`: 23849
+- `Bs_Item_M_S_47`: 23850
+- `Bs_Item_M_S_48`: 23851
+- `Bs_Item_M_S_49`: 23852
+- `Bs_Item_M_S_50`: 23853
+- `Bs_Sha_M_S_2`: 23854
+- `Bs_Sha_M_S_5`: 23855
+- `Bs_Sha_M_S_6`: 23856
+- `Bs_Sha_M_S_7`: 23857
+- `Bs_Sha_M_S_8`: 23858
+- `Bs_Sha_M_S_13`: 23859
+- `Bs_Sha_M_S_15`: 23860
+- `Bs_Sha_M_S_16`: 23861
+- `Bs_Sha_M_S_23`: 23862
+- `Bs_Item_M_S_5`: 23863
+- `Bs_Item_M_S_9`: 23864
+- `Bs_Item_M_S_14`: 23865
+- `Bs_Item_M_S_16`: 23866
+- `Bs_Item_M_S_17`: 23867
+- `Bs_Item_M_S_19`: 23868
+- `Bs_Item_M_S_27`: 23869
+- `Bs_Item_M_S_35`: 23870
+- `Bs_Sha_M_S_9`: 23871
+- `Bs_Sha_M_S_10`: 23872
+- `Bs_Sha_M_S_11`: 23873
+- `Bs_Sha_M_S_21`: 23874
+- `Bs_Sha_M_S_22`: 23875
+- `Bs_Item_M_S_1`: 23876
+- `Bs_Item_M_S_3`: 23877
- `StarSoul_Scroll`: 23878
+- `Bs_Item_M_S_18`: 23879
+- `Bs_Item_M_S_20`: 23880
+- `Bs_Item_M_S_21`: 23881
+- `Bs_Item_M_S_22`: 23882
+- `Bs_Item_M_S_23`: 23883
+- `Bs_Item_M_S_24`: 23884
+- `Bs_Item_M_S_25`: 23885
+- `Bs_Item_M_S_26`: 23886
+- `Bs_Item_M_S_30`: 23887
+- `Bs_Sha_M_S_3`: 23888
+- `Bs_Sha_M_S_4`: 23889
+- `Bs_Sha_M_S_12`: 23890
+- `Bs_Sha_M_S_14`: 23891
+- `Bs_Sha_M_S_24`: 23892
+- `Bs_Sha_M_S_25`: 23893
+- `Bs_Item_M_S_51`: 23894
- `2018_Jump_Thx_Box`: 23897
- `Comp_Power_Booster`: 23898
- `Comp_Almighty`: 23899
- `Time_Overload_Box`: 23900
- `110LVUP`: 23901
- `Season_Evt_Reward`: 23921
+- `Shadow_9_Refine_Hammer`: 23926
- `Malang_Cat_Can2`: 23962
+- `EnchantStone_Recipe_9m`: 23967
+- `Abyss_Ddbox`: 23981
- `T1_Shadow_Armor`: 24000
- `T1_Shadow_Weapon`: 24001
- `T1_Shadow_Shield`: 24002
@@ -18267,6 +18667,168 @@
- `S_Timeoverload_Shoes`: 24419
- `S_Timeoverload_Earing`: 24420
- `S_Timeoverload_Pandent`: 24421
+- `S_Tempest_Weapon`: 24423
+- `S_Tempest_Armor`: 24424
+- `S_PerfectSize_Weapon`: 24425
+- `S_PerfectSize_Armor`: 24426
+- `S_M_Exo_Co_Weapon`: 24427
+- `S_M_Viv_Dr_Weapon`: 24428
+- `S_M_Sci_Hu_Weapon`: 24429
+- `S_M_Fis_In_Weapon`: 24430
+- `S_M_Exe_Ho_Weapon`: 24431
+- `S_Penetration_Weapon`: 24432
+- `S_Penetration_Armor`: 24433
+- `S_Exe_Ho_Weapon`: 24434
+- `S_Fis_In_Weapon`: 24435
+- `S_Sci_Hu_Weapon`: 24436
+- `S_Viv_Dr_Weapon`: 24437
+- `S_Exo_Co_Weapon`: 24438
+- `S_Hasty_Weapon`: 24439
+- `S_Sonic_Armor`: 24440
+- `S_Sonic_Shield`: 24441
+- `S_Sonic_Shoes`: 24442
+- `S_Ignition_Weapon`: 24443
+- `S_Ignition_Pendant`: 24444
+- `S_Ignition_Earing`: 24445
+- `S_W_Breath_Armor`: 24446
+- `S_W_Breath_Shield`: 24447
+- `S_W_Breath_Shoes`: 24448
+- `S_F_Breath_Weapon`: 24449
+- `S_F_Breath_Pendant`: 24450
+- `S_F_Breath_Earing`: 24451
+- `S_Cluster_Armor`: 24452
+- `S_Cluster_Shield`: 24453
+- `S_Cluster_Shoes`: 24454
+- `S_Aimed_Weapon`: 24455
+- `S_Aimed_Pendant`: 24456
+- `S_Aimed_Earing`: 24457
+- `S_Arrow_Armor`: 24458
+- `S_Arrow_Shield`: 24459
+- `S_Arrow_Shoes`: 24460
+- `S_Shooting_Weapon`: 24461
+- `S_Shooting_Pendant`: 24462
+- `S_Shooting_Earing`: 24463
+- `S_Tornado_Armor`: 24464
+- `S_Tornado_Shield`: 24465
+- `S_Tornado_Shoes`: 24466
+- `S_Boomerang_Weapon`: 24467
+- `S_Boomerang_Pendant`: 24468
+- `S_Boomerang_Earing`: 24469
+- `S_Vulcan_Armor`: 24470
+- `S_Vulcan_Shield`: 24471
+- `S_Vulcan_Shoes`: 24472
+- `S_Arms_Weapon`: 24473
+- `S_Arms_Pendant`: 24474
+- `S_Arms_Earing`: 24475
+- `S_Rampage_Armor`: 24476
+- `S_Rampage_Shield`: 24477
+- `S_Rampage_Shoes`: 24478
+- `S_Skynetblow_Weapon`: 24479
+- `S_Skynetblow_Pendant`: 24480
+- `S_Skynetblow_Earing`: 24481
+- `S_Knucklearrow_Armor`: 24482
+- `S_Knucklearrow_Shield`: 24483
+- `S_Knucklearrow_Shoes`: 24484
+- `S_TigerCannon_Weapon`: 24485
+- `S_Tigercannon_Pendant`: 24486
+- `S_Tigercannon_Earing`: 24487
+- `S_Duplelight_Armor`: 24488
+- `S_Duplelight_Shield`: 24489
+- `S_Duplelight_Shoes`: 24490
+- `S_Adoramus_Weapon`: 24491
+- `S_Adoramus_Pendant`: 24492
+- `S_Adoramus_Earing`: 24493
+- `S_Judex_Armor`: 24494
+- `S_Judex_Shield`: 24495
+- `S_Judex_Shoes`: 24496
+- `S_Magnus_Weapon`: 24497
+- `S_Magnus_Pendant`: 24498
+- `S_Magnus_Earing`: 24499
+- `S_Rainstorm_Armor`: 24500
+- `S_Rainstorm_Shield`: 24501
+- `S_Rainstorm_Shoes`: 24502
+- `S_Arrowvulcan_Weapon`: 24503
+- `S_Arrowvulcan_Pendant`: 24504
+- `S_Arrowvulcan_Earing`: 24505
+- `S_Metalic_Armor`: 24506
+- `S_Metalic_Shield`: 24507
+- `S_Metalic_Shoes`: 24508
+- `S_Reverberation_Weapon`: 24509
+- `S_Reverberation_Pendant`: 24510
+- `S_Reverberation_Earing`: 24511
+- `S_Jack_Armor`: 24512
+- `S_Jack_Shield`: 24513
+- `S_Jack_Shoes`: 24514
+- `S_Strain_Weapon`: 24515
+- `S_Strain_Pendant`: 24516
+- `S_Strain_Earing`: 24517
+- `S_Crimson_Armor`: 24518
+- `S_Crimson_Shield`: 24519
+- `S_Crimson_Shoes`: 24520
+- `S_Chain_Weapon`: 24521
+- `S_Chain_Pendant`: 24522
+- `S_Chain_Earing`: 24523
+- `S_Triangle_Armor`: 24524
+- `S_Triangle_Shield`: 24525
+- `S_Triangle_Shoes`: 24526
+- `S_Shadowspell_Weapon`: 24527
+- `S_Shadowspell_Pendant`: 24528
+- `S_Shadowspell_Earing`: 24529
+- `S_Menace_Armor`: 24530
+- `S_Menace_Shield`: 24531
+- `S_Menace_Shoes`: 24532
+- `S_Paint_Weapon`: 24533
+- `S_Paint_Pendant`: 24534
+- `S_Paint_Earing`: 24535
+- `S_Rolling_Armor`: 24536
+- `S_Rolling_Shield`: 24537
+- `S_Rolling_Shoes`: 24538
+- `S_Katar_Weapon`: 24539
+- `S_Katar_Pendant`: 24540
+- `S_Katar_Earing`: 24541
+- `S_Slash_Armor`: 24542
+- `S_Slash_Shield`: 24543
+- `S_Slash_Shoes`: 24544
+- `S_Ripper_Weapon`: 24545
+- `S_Ripper_Pendant`: 24546
+- `S_Ripper_Earing`: 24547
+- `S_Dust_Armor`: 24548
+- `S_Dust_Shield`: 24549
+- `S_Dust_Shoes`: 24550
+- `S_Grave_Weapon`: 24551
+- `S_Grave_Pendant`: 24552
+- `S_Grave_Earing`: 24553
+- `S_Psychic_Armor`: 24554
+- `S_Psychic_Shield`: 24555
+- `S_Psychic_Shoes`: 24556
+- `S_Varetyr_Weapon`: 24557
+- `S_Varetyr_Pendant`: 24558
+- `S_Varetyr_Earing`: 24559
+- `S_Cart_Tornado_Armor`: 24560
+- `S_Cart_Tornado_Shield`: 24561
+- `S_Cart_Tornado_Shoes`: 24562
+- `S_Cannon_Cart_Weapon`: 24563
+- `S_Cannon_Cart_Pendant`: 24564
+- `S_Cannon_Cart_Earing`: 24565
+- `S_Spore_Bomb_Armor`: 24566
+- `S_Spore_Bomb_Shield`: 24567
+- `S_Spore_Bomb_Shoes`: 24568
+- `S_Crazy_Weapon`: 24569
+- `S_Crazy_Pendant`: 24570
+- `S_Crazy_Earing`: 24571
+- `S_Brand_Armor`: 24572
+- `S_Brand_Shield`: 24573
+- `S_Brand_Shoes`: 24574
+- `S_Chain_Press_Weapon`: 24575
+- `S_Chain_Press_Pendant`: 24576
+- `S_Chain_Press_Earing`: 24577
+- `S_Banish_Cannon_Armor`: 24578
+- `S_Banish_Cannon_Shield`: 24579
+- `S_Banish_Cannon_Shoes`: 24580
+- `S_Genesis_Weapon`: 24581
+- `S_Genesis_Pendant`: 24582
+- `S_Genesis_Earing`: 24583
+- `Slug_Bullet`: 25187
- `BrokenArrow`: 25258
- `Shining_Spore`: 25265
- `Dried_Leaf_Of_Ygg`: 25266
@@ -18373,17 +18935,58 @@
- `GH_Cursed_Crystal`: 25739
- `GH_Cursed_Gemstone`: 25740
- `Inventory_Extension_Coupon`: 25793
+- `SuraStone_Robe2`: 25797
+- `SuraStone_Bottom2`: 25798
+- `SuraStone_Middle2`: 25799
+- `SuraStone_Top2`: 25800
+- `SorcererStone_Robe2`: 25801
+- `SorcererStone_Bottom2`: 25802
+- `SorcererStone_Middle2`: 25803
+- `SorcererStone_Top2`: 25804
+- `ShadowchaserStone_Robe2`: 25805
+- `ShadowchasStone_Bottom2`: 25806
+- `ShadowchasStone_Middle2`: 25807
+- `ShadowchaserStone_Top2`: 25808
+- `Ein_SOLIDDUST`: 25815
+- `Ein_RUSTHELM`: 25816
+- `Ein_EYEROCK`: 25817
+- `SoulreaperStone_Robe`: 25842
+- `SoullinkerStone_Top`: 25843
+- `SoullinkerStone_Middle`: 25844
+- `SoullinkerStone_Bottom`: 25845
+- `GladiatorStone_Top`: 25846
+- `GladiatorStone_Middle`: 25847
+- `GladiatorStone_Bottom`: 25848
+- `StaremperorStone_Robe`: 25849
+- `NinjaStone_Top`: 25850
+- `NinjaStone_Middle`: 25851
+- `NinjaStone_Bottom`: 25852
+- `KagerouStone_Robe`: 25853
+- `OboroStone_Robe`: 25854
+- `GunslingerStone_Top`: 25855
+- `GunslingerStone_Middle`: 25856
+- `GunslingerStone_Bottom`: 25857
+- `RebellionStone_Robe`: 25858
+- `DoramStone_Top`: 25859
+- `DoramStone_Middle`: 25860
+- `DoramStone_Bottom`: 25861
+- `DoramStone_Robe`: 25862
- `Spectral_Spear_IL`: 26007
- `Rebeginer_LG_Lance`: 26015
- `Paradise_Foxtail_Staff_III`: 26101
- `Staff_Of_Bordeaux_IL`: 26109
- `CandyCaneRod`: 26110
- `Metal_Foxtail`: 26111
+- `Shadow_Staff_K`: 26118
- `Rebeginer_SO_Rod`: 26119
- `Rebeginer_DO_Rod`: 26120
- `Rutilus_Stick_OS`: 26151
+- `SoulWeight`: 26154
- `MeawFoxtail`: 26155
- `Evt_Shadow_Staff_K`: 26156
+- `Ein_1HWAND`: 26162
+- `ElectricFox_OS`: 26164
+- `Ein_1HWHIP`: 26215
- `Faceworm_Queen_Card`: 27164
- `Captain_Felock_Card`: 27182
- `Thanos_Katar`: 28000
@@ -18396,14 +18999,18 @@
- `Ghoul_Leg_IL`: 28023
- `Rebeginer_GC_Katar`: 28027
- `Meuchler_OS`: 28038
+- `Shiver_Katar_K`: 28039
- `Evt_Shiver_Katar_K`: 28040
+- `Ein_BHKATAR`: 28045
- `Thanos_Axe`: 28100
- `Tornado_Axe`: 28101
- `Infinity_Two_handed_Axe`: 28105
- `Scarlet_Twohand_Axe`: 28106
- `Two_Handed_Axe_of_Vicious_Mind`: 28107
+- `Avenger`: 28130
- `Blasti_OS`: 28136
- `Evt_Avenger`: 28137
+- `Ein_BHAXE`: 28140
- `END_OF_HORIZON`: 28200
- `Southern_Cross_R`: 28201
- `Southern_Cross_R_`: 28202
@@ -18415,6 +19022,11 @@
- `Calf_Python`: 28243
- `Gate_KeeperDD_IL`: 28244
- `HR_S55_OS`: 28253
+- `Butcher_IL`: 28254
+- `Master_Soul_Rifle`: 28255
+- `Demon_S_Shot`: 28256
+- `Golden_L_Launcher`: 28257
+- `The_Black_Gatling`: 28258
- `Bless_Of_Moon`: 28306
- `Earring_Of_Sarah_L`: 28310
- `Earring_Of_Sarah_R`: 28311
@@ -18458,16 +19070,24 @@
- `Rebeginer_AB_Bible`: 28616
- `Tablet_IL`: 28626
- `Circuit_Board_OS`: 28629
+- `Demon_Hunting_Bible_K`: 28630
- `Time_Kamiji`: 28631
+- `Ein_1HBOOK`: 28635
- `Infinity_Dagger`: 28703
- `Twilight_Desert_`: 28704
- `Scarlet_Dagger`: 28705
- `Dagger_of_Vicious_Mind`: 28706
- `Moonlight_Sword_IL`: 28725
- `Rebeginer_SC_Dagger`: 28740
+- `Magic_Sword`: 28744
- `Counter_Dagger_IL`: 28745
- `Kuroiro_OS`: 28755
- `Evt_Magic_Sword`: 28759
+- `Bazerald_IL`: 28762
+- `Sharp_Wind_Sword`: 28763
+- `Fog_Dew_Sword`: 28764
+- `Ein_1HDAGGER`: 28771
+- `Ein_1HMAGGER`: 28772
- `Praetorian_Shield`: 28900
- `Cursed_Mad_Bunny`: 28901
- `Mad_Bunny_`: 28902
@@ -18533,6 +19153,7 @@
- `Harvest_Festa_Hat`: 31368
- `Straight_Long_WH_`: 31369
- `Straight_Long_YL_`: 31370
+- `C_Cat_Ears_Punkish`: 31382
- `Jjakk`: 31387
- `White_Bird_Rose`: 31389
- `Let_It_Snow`: 31390
@@ -18545,34 +19166,281 @@
- `C_Astro_Circle`: 31433
- `C_Baby_Penguin`: 31437
- `C_Fluffy_Heart_Earmuffs`: 31439
+- `C_Snow_Bear_Food`: 31440
- `White_Cat`: 31452
- `Love_Feeling`: 31454
- `Enchanted_Dog`: 31455
- `C_Blessing_Sky_Lantern`: 31460
- `C_Flying_Drone`: 31463
- `Egg_Minihat`: 31465
+- `C_CatCoffeeCup_TW`: 31481
+- `C_CatEarRibbon_TW`: 31483
- `C_Bouquet_Hat`: 31489
- `C_Poring_Muffler`: 31490
- `Volume_Low_Twin`: 31494
- `Lolita_Two_Side_Up`: 31495
- `C_Elephangel_TH`: 31498
+- `C_Panda_Rabbit`: 31512
- `Mini_Melon`: 31516
- `Pop_Popcorn_Hat_`: 31518
- `Slurp_Slurp_Hat`: 31519
- `C_Happy_Rabbit_Ribbon`: 31529
+- `C_Princess_Ribbon_Crown`: 31565
+- `C_OpenAir_Headset`: 31569
+- `C_Mobile_Pursuit_System`: 31572
+- `C_Mecha_Cat_Ears`: 31573
+- `C_Cyber_Income`: 31574
- `Autumnal_Flavor`: 31580
+- `C_Poporing_Muffler`: 31586
- `GOLD_MAJESTIC_GOUT`: 31589
+- `C_Kishu_Inu`: 31600
- `C_Autumn_Headband`: 31606
+- `C_Fox`: 31614
+- `C_Sleep_Sheep_TW`: 31616
+- `C_HeartOfCat_TW`: 31624
+- `C_Protect_Cloth`: 31625
+- `C_LunaticMuffler`: 31693
+- `C_Pigtail_Red_Hood`: 31698
+- `C_Smiling_Eyes`: 31699
+- `C_Garnet_Tiara`: 31765
+- `C_Peony_Hair_Ornament`: 31766
+- `C_SavageB_On_Shoulder`: 31787
+- `C_Baby_Panda`: 31798
- `Pole_Axe_IL`: 32005
- `Metal_Stick`: 32013
+- `Undine_Spear_K`: 32018
- `Boost_Lance_OS`: 32019
- `Evt_Undine_Spear_K`: 32021
+- `Ein_1HSPEAR`: 32026
+- `Ein_1HLUTE`: 32110
- `Illusion_B_R`: 32207
- `Illusion_B_L`: 32208
- `Illusion_BC_R`: 32209
- `Illusion_BC_L`: 32210
- `Time_Overload_Ring`: 32221
- `Celine_Brooch`: 32237
+- `Gold_Lux_IL`: 32301
+- `Crimson_Rose`: 32302
+- `Ein_1HGUN`: 32303
+- `Ein_1HSWORD`: 32352
+- `Atker_Plate`: 450001
+- `Ele_Robe`: 450002
+- `Atker_Manteau`: 480000
+- `Defn_Robe`: 450003
+- `Ele_Muffler`: 480001
+- `Ran_Suits`: 450004
+- `Defn_Muffler`: 480002
+- `Ran_Manteau`: 480003
+- `Boost_Dagger`: 510001
+- `Boost_Nindo`: 510002
+- `Boost_Spl_Book`: 540000
+- `Boost_Text`: 540001
+- `Boost_Guitar`: 570000
+- `Fatalist`: 510006
+- `Trumpet_Shell_K`: 570002
+- `Boost_TH_Sword`: 600001
+- `Noblesse_Attack_Manteau`: 480012
+- `Dragonic_Slayer`: 600004
+- `Noblesse_Magic_Manteau`: 480014
+- `Noblesse_Breath_Armor`: 450018
+- `Imperial_Attack_Manteau`: 480016
+- `Noblesse_Knight_Armor`: 450019
+- `Imperial_Magic_Manteau`: 480017
+- `Noblesse_Spear_Armor`: 450020
+- `Grace_Attack_Manteau`: 480018
+- `Noblesse_Genesis_Armor`: 450021
+- `Grace_Magic_Manteau`: 480019
+- `Noblesse_Sharp_Suit`: 450022
+- `Noblesse_Aim_Suit`: 450023
+- `Noblesse_Severe_Suit`: 450024
+- `Noblesse_Reverb_Suit`: 450025
+- `Noblesse_Adora_Robe`: 450026
+- `Noblesse_Duple_Robe`: 450027
+- `Noblesse_Tonado_Armor`: 450028
+- `Noblesse_Vulcan_Armor`: 450029
+- `Noblesse_Kart_Suit`: 450030
+- `Noblesse_Kart_Suit2`: 450031
+- `Noblesse_Rolling_Suit`: 450032
+- `Noblesse_Assasin_Suit`: 450033
+- `Noblesse_Fatal_Suit`: 450034
+- `Noblesse_Stalker_Suit`: 450035
+- `Noblesse_Picky_Robe`: 450036
+- `Noblesse_Carrot_Robe`: 450037
+- `Noblesse_Trip_Suit`: 450038
+- `Noblesse_Firerain_Suit`: 450039
+- `Noblesse_Crimson_Robe`: 450040
+- `Noblesse_Frost_Robe`: 450041
+- `Noblesse_Psychic_Robe`: 450042
+- `Noblesse_Dust_Robe`: 450043
+- `Noblesse_Sun_Suit`: 450044
+- `Noblesse_Moon_Suit`: 450045
+- `Noblesse_Ninja_Suit`: 450046
+- `Noblesse_Kunai_Suit`: 450047
+- `Noblesse_Swhoo_Robe`: 450048
+- `Noblesse_Explosion_Robe`: 450049
+- `Noblesse_Knuckle_Suit`: 450050
+- `Noblesse_Tiger_Suit`: 450051
+- `Imperial_Breath_Armor`: 450052
+- `Imperial_Knight_Armor`: 450053
+- `Imperial_Spear_Armor`: 450054
+- `Imperial_Genesis_Armor`: 450055
+- `Imperial_Sharp_Suit`: 450056
+- `Imperial_Aim_Suit`: 450057
+- `Imperial_Severe_Suit`: 450058
+- `Imperial_Reverb_Suit`: 450059
+- `Imperial_Adora_Robe`: 450060
+- `Imperial_Duple_Robe`: 450061
+- `WarlockStone_Robe2`: 1000213
+- `Imperial_Knuckle_Suit`: 450062
+- `WarlockStone_Top2`: 1000214
+- `Imperial_Tiger_Suit`: 450063
+- `WarlockStone_Middle2`: 1000215
+- `Imperial_Tonado_Armor`: 450064
+- `WarlockStone_Bottom2`: 1000216
+- `Imperial_Vulcan_Armor`: 450065
+- `RoyalguardStone_Robe2`: 1000217
+- `Imperial_Kart_Suit`: 450066
+- `PaladinStone_Top2`: 1000218
+- `Imperial_Kart_Suit2`: 450067
+- `PaladinStone_Middle2`: 1000219
+- `Imperial_Rolling_Suit`: 450068
+- `PaladinStone_Bottom2`: 1000220
+- `Imperial_Assasin_Suit`: 450069
+- `GuillcrossStone_Robe2`: 1000221
+- `Imperial_Fatal_Suit`: 450070
+- `AssacrossStone_Top2`: 1000222
+- `IDTest_Special`: 100000
+- `Imperial_Stalker_Suit`: 450071
+- `AssacrossStone_Middle2`: 1000223
+- `Imperial_Picky_Robe`: 450072
+- `AssacrossStone_Bottom2`: 1000224
+- `Imperial_Carrot_Robe`: 450073
+- `ILL_Piece_A`: 100003
+- `Imperial_Trip_Suit`: 450074
+- `ILL_Piece_B`: 100004
+- `Imperial_Firerain_Suit`: 450075
+- `Imperial_Crimson_Robe`: 450076
+- `Imperial_Frost_Robe`: 450077
+- `Imperial_Psychic_Robe`: 450078
+- `Imperial_Dust_Robe`: 450079
+- `Joy_Of_Victory`: 100009
+- `Imperial_Sun_Suit`: 450080
+- `PerfectSize_Mix`: 100010
+- `Imperial_Moon_Suit`: 450081
+- `MagicPiercing_Mix`: 100011
+- `Imperial_Ninja_Suit`: 450082
+- `Imperial_Kunai_Suit`: 450083
+- `Imperial_Swhoo_Robe`: 450084
+- `Imperial_Explosion_Robe`: 450085
+- `Grace_Breath_Armor`: 450086
+- `Grace_Knight_Armor`: 450087
+- `Grace_Spear_Armor`: 450088
+- `Grace_Genesis_Armor`: 450089
+- `Grace_Sharp_Suit`: 450090
+- `Grace_Aim_Suit`: 450091
+- `Grace_Severe_Suit`: 450092
+- `Victory_Wing_Ear_`: 400002
+- `Grace_Reverb_Suit`: 450093
+- `Ancient_Hero_Bravery`: 100023
+- `Grace_Adora_Robe`: 450094
+- `Grace_Duple_Robe`: 450095
+- `Ancient_Hero_Wisdom`: 100025
+- `Grace_Knuckle_Suit`: 450096
+- `Grace_Tiger_Suit`: 450097
+- `Grace_Tonado_Armor`: 450098
+- `Grace_Vulcan_Armor`: 450099
+- `Boost_Axe`: 520000
+- `Grace_Kart_Suit`: 450100
+- `Grace_Kart_Suit2`: 450101
+- `Grace_Rolling_Suit`: 450102
+- `Boost_Soul_Rod`: 550001
+- `Grace_Assasin_Suit`: 450103
+- `Boost_Foxtail`: 550002
+- `Boost_Whip`: 580000
+- `Grace_Fatal_Suit`: 450104
+- `Grace_Stalker_Suit`: 450105
+- `Barb_Wire_K`: 580002
+- `Boost_Katar`: 610000
+- `Grace_Picky_Robe`: 450106
+- `Grace_Carrot_Robe`: 450107
+- `Ein_1H_Foxtail`: 550006
+- `Boost_Staff`: 640000
+- `Grace_Trip_Suit`: 450108
+- `Freezing_Rod`: 550007
+- `Blade_Katar`: 610003
+- `Grace_Firerain_Suit`: 450109
+- `Grace_Crimson_Robe`: 450110
+- `C_BeachBall`: 400020
+- `Grace_Frost_Robe`: 450111
+- `Blue_Crystal_Staff`: 640004
+- `Grace_Psychic_Robe`: 450112
+- `Boost_Bow`: 700001
+- `Grace_Dust_Robe`: 450113
+- `Boost_Up_1`: 100043
+- `Grace_Sun_Suit`: 450114
+- `Scalet_Dragon_L_Bow`: 700003
+- `Boost_Up_2`: 100044
+- `Grace_Moon_Suit`: 450115
+- `Grace_Ninja_Suit`: 450116
+- `Grace_Kunai_Suit`: 450117
+- `Grace_Swhoo_Robe`: 450118
+- `Grace_Explosion_Robe`: 450119
+- `Noblesse_Snovice_Suit`: 450121
+- `Noblesse_Snovice_Robe`: 450122
+- `Imperial_Snovice_Suit`: 450123
+- `Piercing_Mix`: 100053
+- `Imperial_Snovice_Robe`: 450124
+- `Grace_Snovice_Suit`: 450125
+- `Grace_Snovice_Robe`: 450126
+- `Hasty_Mix`: 100058
+- `EnchantStone_Recipe_4m`: 100060
+- `RangerStone_Top2`: 1000008
+- `RangerStone_Middle2`: 1000009
+- `RangerStone_Bottom2`: 1000010
+- `RangerStone_Robe2`: 1000011
+- `MechanicStone_Top2`: 1000012
+- `MechanicStone_Middle2`: 1000013
+- `MechanicStone_Bottom2`: 1000014
+- `MechanicStone_Robe2`: 1000015
+- `HighpriestStone_Top2`: 1000016
+- `HighpriestStone_Middle2`: 1000017
+- `HighpriestStone_Bottom2`: 1000018
+- `ArchbishopStone_Robe2`: 1000019
+- `C_SharkHead`: 440000
+- `Atker_Greave`: 470000
+- `Ele_Shoes`: 470001
+- `Defn_Shoes`: 470002
+- `Ran_Boots`: 470003
+- `Boost_Sword`: 500001
+- `Boost_Spear`: 530000
+- `Light_Blade`: 500003
+- `Slate_Sword`: 500004
+- `Boost_Knuckle`: 560000
+- `Boost_Hall`: 590000
+- `Noblesse_Rifine_Ticket`: 100128
+- `Imperial_Rifine_Ticket`: 100129
+- `Meteor_Striker`: 590002
+- `Grace_Rifine_Ticket`: 100130
+- `Ray_Knuckle`: 560005
+- `Saint_Hall`: 590003
+- `Imperial_Convert1`: 100131
+- `Imperial_Convert2`: 100132
+- `Grace_Convert1`: 100133
+- `Grace_Convert2`: 100134
+- `Imperial_Convert3`: 100135
+- `Noblesse_Attack_Boots`: 470016
+- `Imperial_Convert4`: 100136
+- `Noblesse_Magic_Boots`: 470017
+- `Grace_Convert3`: 100137
+- `Imperial_Attack_Boots`: 470018
+- `Grace_Convert4`: 100138
+- `Imperial_Magic_Boots`: 470019
+- `Grace_Attack_Boots`: 470020
+- `Grace_Magic_Boots`: 470021
+- `Abyss_Ddbox2`: 100142
+- `Boost_Gatling`: 830000
+- `Abyss_Ddbox3`: 100144
+- `Abyss_Ddbox4`: 100145
> End of list
diff --git a/doc/effect_list.md b/doc/effect_list.md
index 8ba8d36c9..be749d070 100644
--- a/doc/effect_list.md
+++ b/doc/effect_list.md
@@ -5,7 +5,7 @@ A list of client-side effects sorted by ID in ascending order.
> This file is part of Hercules.
> http://herc.ws - http://github.com/HerculesWS/Hercules
>
-> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) 2012-2020 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.
@@ -21,7 +21,7 @@ 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.
+`specialeffect()` or `specialeffectnum()` script commands.
ID | Constant Name | Description
--: | :----------------------------- | :----------------------------------
diff --git a/doc/item_bonus.md b/doc/item_bonus.md
index 7c8547456..e39b7b51f 100644
--- a/doc/item_bonus.md
+++ b/doc/item_bonus.md
@@ -5,7 +5,7 @@
> This file is part of Hercules.
> http://herc.ws - http://github.com/HerculesWS/Hercules
>
-> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) 2012-2020 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.
diff --git a/doc/mob_db.txt b/doc/mob_db.txt
index 29d2ab465..0280ae9c4 100644
--- a/doc/mob_db.txt
+++ b/doc/mob_db.txt
@@ -63,12 +63,32 @@ 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")
// ...
}
+ DamageTakenRate: damage taken rate (int, defaults to 100)
+ ViewData: {
+ SpriteId: sprite id (int, defaults to Id)
+ WeaponId: weapon id (int, defaults to 0)
+ ShieldId: shield id (int, defaults to 0)
+ RobeId: garment id (int, defaults to 0)
+ HeadTopId: top headgear id (int, defaults to 0)
+ HeadMidId: middle headgear id (int, defaults to 0)
+ HeadLowId: lower headgear id (int, defaults to 0)
+ HairStyleId: hair style id (int, defaults to 1)
+ BodyStyleId: clothes id (int, defaults to 0)
+ HairColorId: hair color id (int, defaults to 0)
+ BodyColorId: clothes color id (int, defaults to 0)
+ Gender: gender (string, defaults to "SEX_FEMALE")
+ Options: options (int, defaults to 0)
+ }
},
...
)
@@ -173,7 +193,7 @@ Element: Monster's element. Sets element type and level.
Mode: Monster AI behaviour. If this block is omitted, monster doesn't react to anything.
All the settings in this group are boolean values,
Default value is false (mode not set) for any missing setting.
- See /doc/sample/mob_db_mode_list.txt for more information about monsters Mode types.
+ See /doc/mob_db_mode_list.md for more information about monsters Mode types.
MoveSpeed: Monster's speed. Sets speed (cells/sec).
MoveSpeed is calculated to Hercules with this formula: 1000 / SPEED (CELLS/SEC)
@@ -199,21 +219,63 @@ 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).
+
+DamageTakenRate:
+ Limit the total damage received by the monster to the given rate
+
+ViewData:
+ Overrides the default view data sent to the client with the given values for:
+ Sprite, Weapon, Shield, Robe, HeadTop, HeadMid, HeadLow, HairStyle, BodyStyle, HairColor, BodyColor, Gender, Options
+ Note: HairStyleId will only default to 1, if the ViewData block is defined.
diff --git a/doc/mob_db_mode_list.md b/doc/mob_db_mode_list.md
index a8ad4fa0a..618e07b19 100644
--- a/doc/mob_db_mode_list.md
+++ b/doc/mob_db_mode_list.md
@@ -5,7 +5,7 @@
> This file is part of Hercules.
> http://herc.ws - http://github.com/HerculesWS/Hercules
>
-> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) 2012-2020 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.
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
index 7d29b59fd..db5c6fa4b 100644
--- a/doc/permissions.md
+++ b/doc/permissions.md
@@ -5,7 +5,7 @@ A list of player group permission, configured in `conf/groups.conf`.
> This file is part of Hercules.
> http://herc.ws - http://github.com/HerculesWS/Hercules
>
-> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) 2012-2020 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.
@@ -48,4 +48,5 @@ disable_pickup | Ability to disable the player from picking up any i
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.
+bypass_nostorage | Ability to bypass the nostorage and nogstorage mapflag.
diff --git a/doc/pet_db.txt b/doc/pet_db.txt
new file mode 100644
index 000000000..140a8309d
--- /dev/null
+++ b/doc/pet_db.txt
@@ -0,0 +1,196 @@
+//===== Hercules Documentation ===============================
+//= Pet Database
+//===== By: ==================================================
+//= Hercules Dev Team
+//===== Current Version: =====================================
+//= 20200102
+//===== Description: =========================================
+//= Explanation of the pet_db.conf file and structure.
+//============================================================
+
+pet_db: (
+{
+ // ================ Mandatory fields ==============================
+ Id: ID (int)
+ Name: "Pet Name" (string)
+ EggItem: "Egg Item Constant" (string)
+ // ================ Optional fields ===============================
+ TamingItem: "Taming Item Constant" (string, defaults to 0)
+ FoodItem: "Food Item Constant" (string, defaults to 537 ("Pet_Food"))
+ AccessoryItem: "Equipment Item Constant" (string, defaults to 0)
+ FoodEffectiveness: hunger points (int, defaults to 80)
+ HungerDelay: hunger time (int, defaults to 60)
+ HungerDecrement: hunger points (int, defaults to 1)
+ Intimacy: {
+ Initial: start intimacy (int, defaults to 250)
+ FeedIncrement: feeding intimacy (int, defaults to 10)
+ OverFeedDecrement: overfeeding intimacy (int, defaults to 100)
+ OwnerDeathDecrement: owner die intimacy (int, defaults to 20)
+ StarvingDelay: starving time (int, defaults to 20)
+ StarvingDecrement: starving intimacy (int, defaults to 20)
+ }
+ CaptureRate: capture rate (int, defaults to 1000)
+ Speed: speed (int, defaults to 150)
+ SpecialPerformance: true/false (boolean, defaults to false)
+ TalkWithEmotes: convert talk (boolean, defaults to false)
+ AttackRate: attack rate (int, defaults to 300)
+ DefendRate: Defence attack (int, defaults to 300)
+ ChangeTargetRate: change target (int, defaults to 800)
+ AutoFeed: true/false (boolean, defaults to false)
+ PetScript: <" Pet Script (can also be multi-line) ">
+ EquipScript: <" Equip Script (can also be multi-line) ">
+ Evolve: {
+ EggID: { (string, Evolved Pet EggID)
+ Name: Amount (items required to perform evolution)
+ ...
+ }
+ }
+},
+...
+)
+
+ * Id:
+ The ID of the monster that should be tamed. See mob_db.conf.
+ * Name:
+ The pet's default name.
+ * EggItem:
+ The name of the pet's egg item. See item_db.conf AegisName field.
+ * TamingItem:
+ The name of the item, which is used to tame the pet.
+ See item_db.conf AegisName field.
+ This field is optional and defaults to 0.
+ * FoodItem:
+ The name of the item, which is used to feed the pet.
+ See item_db.conf AegisName field.
+ This field is optional and defaults to Pet_Food (ID=537).
+ * AccessoryItem:
+ The name of the pet's accesssory item.
+ See item_db.conf AegisName field.
+ This field is optional and defaults to 0.
+ * FoodEffectiveness:
+ This field defines how many hunger points
+ are restored, when feeding the pet.
+ This field is optional and defaults to 80.
+ Minimum value is 1, maximum value is 100.
+ * HungerDelay:
+ This is the interval for consuming hunger points.
+ Every <HungerDelay> seconds, the pet will consume
+ <HungerDecrement> hunger points.
+ In official servers it's 60 seconds for every pet.
+ This field is optional and defaults to 60.
+ Minimum value is 0, maximum value is 2147483.
+ If set to 0, the pet won't consume hunger points.
+ * HungerDecrement:
+ How many hunger points will be consumed every <HungerDelay> seconds.
+ This field is optional and defaults to 1.
+ Minimum value is 0, maximum value is 99.
+ If set to 0, <HungerDelay> is automatically set to 0, too,
+ regardless of what value was defined.
+ * Intimacy: {
+ The <Intimacy> block contains all settings,
+ which affect the pet's intimacy value.
+ * Initial:
+ The amount of intimacy points, the pet will have when tamed.
+ This field is optional and defaults to 250.
+ Minimum value is 1, maximum value is 1000.
+ * FeedIncrement:
+ The amount of intimacy points, gained when feeding the pet.
+ Note: This value is used as base value.
+ The actual added amount depends on the pet's current hunger.
+ This field is optional and defaults to 10.
+ Minimum value is 1, maximum value is 1000.
+ * OverFeedDecrement:
+ The amount of intimacy points, lost when feeding the pet
+ if it isn't hungry.
+ Note: This value is used as base value.
+ The actual removed amount depends on the pet's current hunger.
+ This field is optional and defaults to 100.
+ Minimum value is 0, maximum value is 1000.
+ * OwnerDeathDecrement:
+ The amount of intimacy points, lost when its master dies.
+ This field is optional and defaults to 20.
+ Minimum value is 0, maximum value is 1000.
+ * StarvingDelay:
+ This is the interval for loosing intimacy points,
+ when the pet is starving.
+ The pet is starving, if it has no hunger points left.
+ Every <StarvingDelay> seconds, the pet will lose
+ <StarvingDecrement> intimacy points.
+ In official servers it's 20 seconds for all pets.
+ If <HungerDelay> is set to 0, <StarvingDelay> is set to 0, too,
+ regardless of what value was defined.
+ This field is optional and defaults to 20.
+ Minimum value is 0, maximum value is <HungerDelay>.
+ If set to 0, the pet won't lose intimacy points while starving.
+ * StarvingDecrement:
+ How many intimacy points will be lost every <StarvingDelay> seconds,
+ when the pet is starving.
+ This field is optional and defaults to 20.
+ Minimum value is 0, maximum value is 1000.
+ If set to 0, <StarvingDelay> is automatically set to 0, too,
+ regardless of what value was defined.
+ }
+ * CaptureRate:
+ The chance of success when taming the pet.
+ 10000 equals 100%.
+ This field is optional and defaults to 1000.
+ Minimum value is 1, maximum value is 10000.
+ * Speed:
+ The pet's moving speed.
+ Note: The lower the value, the higher the speed.
+ This field is optional and defaults to 150.
+ Minimum value is 20, maximum value is 1000.
+ * SpecialPerformance:
+ If 'true', the pet is allowed to do its special performance.
+ This field is optional and defaults to 'false'.
+ * TalkWithEmotes:
+ If 'true', the pet is allowed to talk by using emotes.
+ This field is optional and defaults to 'false'.
+ * AttackRate:
+ Chance for supporting when the master attacks a monster.
+ 10000 equals 100%.
+ This field is optional and defaults to 300.
+ Minimum value is 0, maximum value is 10000.
+ * DefendRate:
+ Chance for supporting when the master receives damage from a monster.
+ 10000 equals 100%.
+ This field is optional and defaults to 300.
+ Minimum value is 0, maximum value is 10000.
+ * ChangeTargetRate:
+ Chance for the pet changes its target when supporting.
+ 10000 equals 100%.
+ This field is optional and defaults to 800.
+ Minimum value is 0, maximum value is 10000.
+ * AutoFeed:
+ If 'true', the pet is fed automatically.
+ This field is optional and defaults to 'false'.
+ * PetScript: <"
+ This field is used for pet AI commands. See doc/script_commands.txt.
+ It will be executed every time, the pet's data gets initialized.
+ Everything you can do in a NPC script should work here, too,
+ but using the <EquipScript> field is recommended, when executing
+ other commands than the pet AI ones.
+ This field is optional and has no default value.
+ ">
+ * EquipScript: <"
+ This field is commonly used to apply bonuses to the the pet's master.
+ See doc/item_bonus.md.
+ It will be executed every time, the pet master's status is calculated.
+ Everything you can do in a NPC script should work here, too.
+ This field is optional and has no default value.
+ ">
+ * Evolve: {
+ The <Evolve> block is used to define which pet(s) can be eveolved
+ from the current pet.
+ This block is optional and has no default value.
+ * Evolved_Egg_Item_Name: {
+ The name of the egg item, which will be created when evolving.
+ You can add multiple <Evolved_Egg_Item_Name> blocks.
+ See item_db.conf AegisName field.
+ * Evolve_Item_Name: Amount
+ This is a pair of an item name and the corresponding amount which is
+ required to evolve the pet into <Evolved_Egg_Item_Name>.
+ You can add multiple <Evolve_Item_Name: Amount> pairs.
+ See item_db.conf AegisName field for item names.
+ }
+ }
diff --git a/doc/quest_variables.md b/doc/quest_variables.md
index 2f8922c41..b568f0e9c 100644
--- a/doc/quest_variables.md
+++ b/doc/quest_variables.md
@@ -5,7 +5,7 @@
> This file is part of Hercules.
> http://herc.ws - http://github.com/HerculesWS/Hercules
>
-> Copyright (C) 2012-2018 Hercules Dev Team
+> Copyright (C) 2012-2020 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.
diff --git a/doc/sample/getiteminfo.txt b/doc/sample/getiteminfo.txt
index 9d5121635..316318cb6 100644
--- a/doc/sample/getiteminfo.txt
+++ b/doc/sample/getiteminfo.txt
@@ -37,5 +37,28 @@ prontera,156,179,6 script test_getiteminfo 4_F_KAFRA1,{
.@trade$ = callfunc("F_GetTradeRestriction", .@value);
mesf("Trade Restriction: %s", .@trade$);
+
+ mesf("Drop delay: %d", getiteminfo(.@value, ITEMINFO_DELAY));
+ mesf("Drop effect mode: %d", getiteminfo(.@value, ITEMINFO_DROPEFFECT_MODE));
+ mesf("Class base 1: %d", getiteminfo(.@value, ITEMINFO_CLASS_BASE_1));
+ mesf("Class base 2: %d", getiteminfo(.@value, ITEMINFO_CLASS_BASE_2));
+ mesf("Class base 3: %d", getiteminfo(.@value, ITEMINFO_CLASS_BASE_3));
+ mesf("Class Upper: %d", getiteminfo(.@value, ITEMINFO_CLASS_UPPER));
+ mesf("No refine flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_NO_REFINE));
+ mesf("Delay consume flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_DELAY_CONSUME));
+ mesf("Auto equip flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_AUTOEQUIP));
+ mesf("Auto favorite flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_AUTO_FAVORITE));
+ mesf("Buying store flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_BUYINGSTORE));
+ mesf("Bind on equip flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_BINDONEQUIP));
+ mesf("Keep after use flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_KEEPAFTERUSE));
+ mesf("Force serial flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_FORCE_SERIAL));
+ mesf("No random item options flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_NO_OPTIONS));
+ mesf("Drop announce flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_DROP_ANNOUNCE));
+ mesf("Shopw drop effect flag: %d", getiteminfo(.@value, ITEMINFO_FLAG_SHOWDROPEFFECT));
+ mesf("Stack amount: %d", getiteminfo(.@value, ITEMINFO_STACK_AMOUNT));
+ mesf("Stack amount flag: %d", getiteminfo(.@value, ITEMINFO_STACK_FLAG));
+ mesf("Item usage flag: %d", getiteminfo(.@value, ITEMINFO_ITEM_USAGE_FLAG));
+ mesf("Item usage override: %d", getiteminfo(.@value, ITEMINFO_ITEM_USAGE_OVERRIDE));
+ mesf("GM Level override: %d", getiteminfo(.@value, ITEMINFO_GM_LV_TRADE_OVERRIDE));
close;
}
diff --git a/doc/script_commands.txt b/doc/script_commands.txt
index c3cc8a799..3b77aeb2c 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
@@ -324,11 +324,13 @@ The types that a trader object can have are the following:
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)
+- NST_EXPANDED_BARTER (5) Expanded Barter Shop (buy items and spend zeny and items)
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.
+Note: NST_BARTER is only available with PACKETVER 20190116 main or 20190116 RE or 20181226 zero or newer.
+Note: NST_EXPANDED_BARTER is only available with PACKETVER 20190904 main or 20190904 RE or 20190828 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.
@@ -716,8 +718,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'.
@@ -1029,6 +1034,11 @@ will only execute once and will not execute if the map server reconnects
to the char server later. Note that all those events will be executed upon
scripts reloading.
+OnNPCUnload:
+
+OnNPCUnload will be executed when a NPC is unloaded.
+OnNPCUnload is called when @reloadscript, @reloadnpc, @unloadnpc or @unloadnpcfile is used.
+
OnAgitStart:
OnAgitEnd:
OnAgitInit:
@@ -1228,7 +1238,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
@@ -1252,6 +1262,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>{, ...}}})
@@ -1290,6 +1308,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
@@ -2182,11 +2215,11 @@ Multiple statements can be grouped with { }, curly braces, just like with
the 'if' statement.
Example 1:
- while (switch(select("Yes", "No") == 2))
+ while (select("Yes", "No") == 2)
mes("You picked no.");
Example 2: multiple statements
- while (switch(select("Yes", "No") == 2 )) {
+ while (select("Yes", "No") == 2) {
mes("Why did you pick no?");
mes("You should pick yes instead!");
}
@@ -2973,18 +3006,20 @@ of equipment slots see getequipid().
---------------------------------------
-*getequiprefinerycnt(<equipment slot>)
+*getequiprefinerycnt(<equipment slot>{, <equipment slot>{, <equipment slot>}})
-Returns the current number of pluses for the item in the specified
-equipment slot. For a list of equipment slots see 'getequipid'.
+Returns the total of refine of item equipped in the equipment slots.
+For a list of equipment slots, see 'getequipid'.
-Can be used to check if you have reached a maximum refine value, default
-for this is +10:
+For example:
+ if (getequiprefinerycnt(EQI_HEAD_TOP) > 10) {
+ mes("You equipped a headgear (top) with above 10 refine.");
+ }
- if (getequiprefinerycnt(EQI_HEAD_TOP) < 10)
- mes("I will now upgrade your "+getequipname(EQI_HEAD_TOP));
- else
- mes("Sorry, it's not possible to refine hats better than +10");
+For example:
+ if (getequiprefinerycnt(EQI_ARMOR, EQI_SHOES) > 20) {
+ mes("Total refine of Armor and Shoes exceed 20.");
+ }
---------------------------------------
@@ -3113,6 +3148,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.
@@ -3125,7 +3161,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
@@ -3179,6 +3216,30 @@ runs of getcartinventorylist().
---------------------------------------
+*setfavoriteitemidx(<idx>, <flag>)
+
+This function will set an item in inventory as favorite or not.
+If its favorite item, it will be moved to favorite tab, else move out from favorite tab.
+Note: Cant change favorite flag of an equipped item.
+
+Valid Parameters:
+ <idx> - inventory index, refer *getinventorylist()
+ <flag> - true/false (true = favorite item, false = otherwise)
+
+---------------------------------------
+
+*autofavoriteitem(<item_id>, <flag>)
+
+This function will auto set an item as favorite when <item_id> is obtained.
+If its favorite item, it will be auto moved to favorite tab, else move out from favorite tab.
+This setting affect not only attached player, but also everyone player globally.
+
+Valid Parameters:
+ <item_id> - item ID
+ <flag> - true/false (true = favorite item, false = otherwise)
+
+---------------------------------------
+
*cardscnt()
This function will return the number of cards inserted into the weapon
@@ -3216,6 +3277,7 @@ Example:
---------------------------------------
*getiteminfo(<item ID>, <type>)
+*getiteminfo("<item name>", <type>)
*setiteminfo(<item ID>, <type>, <value>)
This function will look up the item with the specified ID number in the
@@ -3224,26 +3286,52 @@ It will return -1 if there is no such item.
Valid types are:
- ITEMINFO_BUYPRICE - Buy Price
- ITEMINFO_SELLPRICE - Sell Price
- ITEMINFO_TYPE - Item Type
- ITEMINFO_MAXCHANCE - Max drop chance of this item e.g. 1 = 0.01% , etc..
- if = 0, then monsters don't drop it at all (rare or a quest item)
- if = 10000, then this item is sold in NPC shops only
- ITEMINFO_SEX - Sex
- ITEMINFO_LOC - Equip location
- ITEMINFO_WEIGHT - Weight (note: 1/10 of unit)
- ITEMINFO_ATK - Attack
- ITEMINFO_DEF - Defense
- ITEMINFO_RANGE - Range
- ITEMINFO_SLOTS - Slots
- ITEMINFO_SUBTYPE - Item subtype
- ITEMINFO_ELV - Equip min. level
- ITEMINFO_WLV - Weapon level
- 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)
+ ITEMINFO_ID - Item ID (getiteminfo() only!)
+ ITEMINFO_AEGISNAME - Unique name to reference the item (getiteminfo() only!)
+ ITEMINFO_NAME - Display name (getiteminfo() only!)
+ ITEMINFO_BUYPRICE - Buy Price
+ ITEMINFO_SELLPRICE - Sell Price
+ ITEMINFO_TYPE - Item Type
+ ITEMINFO_MAXCHANCE - Max drop chance of this item e.g. 1 = 0.01% , etc..
+ if = 0, then monsters don't drop it at all (rare or a quest item)
+ if = 10000, then this item is sold in NPC shops only
+ ITEMINFO_SEX - Sex
+ ITEMINFO_LOC - Equip location
+ ITEMINFO_WEIGHT - Weight (note: 1/10 of unit)
+ ITEMINFO_ATK - Attack
+ ITEMINFO_DEF - Defense
+ ITEMINFO_RANGE - Range
+ ITEMINFO_SLOTS - Slots
+ ITEMINFO_SUBTYPE - Item subtype
+ ITEMINFO_ELV - Equip min. level
+ ITEMINFO_ELV_MAX - Equip max. level
+ ITEMINFO_WLV - Weapon level
+ 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)
+ ITEMINFO_DELAY - Delay
+ ITEMINFO_DROPEFFECT_MODE - Drop effect mode
+ ITEMINFO_CLASS_BASE_1 - Class base 1
+ ITEMINFO_CLASS_BASE_2 - Class base 2
+ ITEMINFO_CLASS_BASE_3 - Class base 3
+ ITEMINFO_CLASS_UPPER - Class Upper
+ ITEMINFO_FLAG_NO_REFINE - No refine flag
+ ITEMINFO_FLAG_DELAY_CONSUME - Delay consume flag
+ ITEMINFO_FLAG_AUTOEQUIP - Auto equip flag
+ ITEMINFO_FLAG_AUTO_FAVORITE - Auto favorite flag
+ ITEMINFO_FLAG_BUYINGSTORE - Buying store flag
+ ITEMINFO_FLAG_BINDONEQUIP - Bind on equip flag
+ ITEMINFO_FLAG_KEEPAFTERUSE - Keep after use flag
+ ITEMINFO_FLAG_FORCE_SERIAL - Force serial flag
+ ITEMINFO_FLAG_NO_OPTIONS - No random item options flag
+ ITEMINFO_FLAG_DROP_ANNOUNCE - Drop announce flag
+ ITEMINFO_FLAG_SHOWDROPEFFECT - Shopw drop effect flag
+ ITEMINFO_STACK_AMOUNT - Stack amount
+ ITEMINFO_STACK_FLAG - Stack amount flag (1: inventory, 2:cart, 4:storage: 8:guildstorage)
+ ITEMINFO_ITEM_USAGE_FLAG - Item usage flag
+ ITEMINFO_ITEM_USAGE_OVERRIDE - Item usage override
+ ITEMINFO_GM_LV_TRADE_OVERRIDE - Min. GM level override trade restriction
Check sample in doc/sample/getiteminfo.txt
@@ -3317,6 +3405,24 @@ This will set a Hat Effect onto the player. The state field allows you to
enable (true) or disable (false) the effect on the player.
---------------------------------------
+
+*identify(<Item ID>)
+
+This function identifies the first <Item ID> item in attached player's inventory.
+
+Returns -2 if an error happens, -1 if no unidentified <Item ID> was found.
+Otherwise, returns the idx of the identified item.
+
+---------------------------------------
+
+*identifyidx(<Inventory Index>)
+
+This will identify item at attached player's <Inventory Index> inventory index.
+
+Returns true if the item was identified, false otherwise.
+Note: If the item was already identified, it returns false.
+
+---------------------------------------
//=====================================
2.1 - End of Item-Related Commands
//=====================================
@@ -3383,11 +3489,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
@@ -3529,20 +3636,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'.
@@ -3607,8 +3715,38 @@ You need to put a 'close' after that yourself.
//=====================================
---------------------------------------
+*getguildinfo(<info type>{, <guild id>})
+*getguildinfo(<info type>{, "<guild name>"})
+
+This command returns misc info about the guild of the attached player. If a
+guild id or guild name is specified it will be used instead. If the target guild
+does not exist it returns an empty string or -1 depending on whether a string
+or an integer was requested.
+
+Valid <info type> are:
+ GUILDINFO_NAME - guild name
+ GUILDINFO_ID - guild id
+ GUILDINFO_LEVEL - current level
+ GUILDINFO_EXP - current exp
+ GUILDINFO_NEXT_EXP - exp required to reach the next level
+ GUILDINFO_SKILL_POINTS - available skill points
+ GUILDINFO_ONLINE - number of online members
+ GUILDINFO_AV_LEVEL - average member level
+ GUILDINFO_MAX_MEMBERS - guild capacity
+ GUILDINFO_MASTER_NAME - name of the guild master
+ GUILDINFO_MASTER_CID - char id of the guild master
+
+Example:
+ getguildinfo(GUILDINFO_MASTER_NAME, getcharid(CHAR_ID_GUILD, "Haru"))
+
+---------------------------------------
+
*getguildname(<guild id>)
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ @ /!\ This command is deprecated @
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
This function returns a guild's name given an ID number. If there is no
such guild, "null" will be returned;
@@ -3622,10 +3760,18 @@ such guild, "null" will be returned;
This is used all over the WoE controlling scripts. You could also use it
for a guild-based event.
+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 getguildinfo instead:
+ getguildinfo(GUILDINFO_NAME, <guild id>)
+
---------------------------------------
*getguildmaster(<guild id>)
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ @ /!\ This command is deprecated @
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
This function return the name of the master of the guild which has the
specified ID number. If there is no such guild, "null" will be returned.
@@ -3649,14 +3795,26 @@ Maybe you want to make a room only guild masters can enter:
mes("Sorry you don't own the guild you are in");
close();
+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 getguildinfo instead:
+ getguildinfo(GUILDINFO_MASTER_NAME, <guild id>)
+
---------------------------------------
*getguildmasterid(<guild id>)
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ @ /!\ This command is deprecated @
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
This function will return the character ID number of the guild master of
the guild specified by the ID. 0 if the character is not a guild master of
any guild.
+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 getguildinfo instead:
+ getguildinfo(GUILDINFO_MASTER_CID, <guild id>)
+
---------------------------------------
*getcastlename("<map name>")
@@ -3771,6 +3929,18 @@ getarraysize(), because it is not cleared between runs of getguildmember().
For usage examples, see getpartymember().
---------------------------------------
+
+*getguildonline(<guild id>{, <type>});
+
+Returns the amount of players online in the specified guild id.
+Returns -1 if the guild was not found.
+
+Valid <type> are:
+ GUILD_ONLINE_ALL Returns the total amount of players online in the guild.
+ GUILD_ONLINE_VENDOR Returns the total amount of vendors online in the guild.
+ GUILD_ONLINE_NO_VENDOR Returns the total amount of non-vendors online in the guild.
+
+---------------------------------------
//=====================================
2.2 - End of Guild-Related Commands
//=====================================
@@ -3831,26 +4001,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.
+ 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 2, and return 0 for other types.
+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.
@@ -3864,6 +4042,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>)
@@ -3874,29 +4055,30 @@ It will return -1 if there is no such monster (or the type value is
invalid), or "null" if you requested the monster's name.
Valid types are listed in doc/constants.md:
- MOB_NAME 0
- MOB_LV 1
- MOB_MAXHP 2
- MOB_BASEEXP 3
- MOB_JOBEXP 4
- MOB_ATK1 5
- MOB_ATK2 6
- MOB_DEF 7
- MOB_MDEF 8
- MOB_STR 9
- MOB_AGI 10
- MOB_VIT 11
- MOB_INT 12
- MOB_DEX 13
- MOB_LUK 14
- MOB_RANGE 15
- MOB_RANGE2 16
- MOB_RANGE3 17
- MOB_SIZE 18
- MOB_RACE 19
- MOB_ELEMENT 20
- MOB_MODE 21
- MOB_MVPEXP 22
+ MOB_NAME 0
+ MOB_LV 1
+ MOB_MAXHP 2
+ MOB_BASEEXP 3
+ MOB_JOBEXP 4
+ MOB_ATK1 5
+ MOB_ATK2 6
+ MOB_DEF 7
+ MOB_MDEF 8
+ MOB_STR 9
+ MOB_AGI 10
+ MOB_VIT 11
+ MOB_INT 12
+ MOB_DEX 13
+ MOB_LUK 14
+ MOB_RANGE 15
+ MOB_RANGE2 16
+ MOB_RANGE3 17
+ MOB_SIZE 18
+ MOB_RACE 19
+ MOB_ELEMENT 20
+ MOB_MODE 21
+ MOB_MVPEXP 22
+ MOB_DMG_TAKEN_RATE 23
Check sample in doc/sample/getmonsterinfo.txt
@@ -4207,7 +4389,7 @@ falcon and false if they don't.
---------------------------------------
-*setmount({<flag>})
+*setmount({<flag>{, <type>}})
*checkmount()
If <flag> is MOUNT_NONE this command will remove the mount from the
@@ -4243,6 +4425,12 @@ The following flag values are accepted:
Unlike 'setfalcon' and 'setcart' this will not work at all if they aren't of a
class which can ride a mount.
+For clients PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106
+you can pass a <type> flag which specifies the madogear wanted.
+The Available types:
+ MADO_ROBOT
+ MADO_SUITE
+
The accompanying function will return MOUNT_NONE if the invoking
character is not on a mount, and a non-zero value (according to the
above constants) if they are.
@@ -4441,11 +4629,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
---------------------------------------
@@ -4510,13 +4701,13 @@ See also warp().
---------------------------------------
-*warpparty("<to_mapname>", <x>, <y>, <party_id>, "<from_mapname>", <include_leader>)
+*warpparty("<to map name>", <x>, <y>, <party id>{{, <ignore mapflags>}, "<from map name>"{, <include leader>}})
Warps a party to specified map and coordinate given the party ID, which
you can get with getcharid(CHAR_ID_PARTY). You can also request another party id given
a member's name with getcharid(CHAR_ID_PARTY, <player_name>).
-You can use the following "map names" for special warping behavior:
+You can use the following <to map name> for special warping behavior:
Random: All party members are randomly warped in their current map
(as if they all used a fly wing).
SavePointAll: All party members are warped to their respective save point.
@@ -4527,8 +4718,10 @@ Leader: All party members are warped to the leader's position. The
leader must be online and in the current map-server for
this to work.
-If you specify a from_mapname, warpparty() will only affect those on
-that map.
+If <ignore mapflags> is not 0, warpparty() ignores nowarp/noreturn restrictions
+of the warped character's current map. <ignore mapflags> defaults to 0.
+
+If you specify a <from map name>, warpparty() will only affect those on that map.
You can exclude Party leader from warping, by keeping include_leader option as false.
@@ -4556,13 +4749,13 @@ Example:
---------------------------------------
-*warpguild("<mapname>", <x>, <y>, <guild_id>, {"<from_mapname>"})
+*warpguild("<to map name>", <x>, <y>, <guild id>{{, <ignore mapflags>}, "<from map name>"})
Warps a guild to specified map and coordinate given the guild id, which
you can get with getcharid(CHAR_ID_GUILD). You can also request another guild id given
the member's name with getcharid(CHAR_ID_GUILD, <player_name>).
-You can use the following "map names" for special warping behavior:
+You can use the following <to map name> for special warping behavior:
Random: All guild members are randomly warped in their current map
(as if they all used a fly wing)
SavePointAll: All guild members are warped to their respective save point.
@@ -4570,12 +4763,19 @@ SavePoint: All guild members are warped to the save point of the
currently attached player (will fail if there's no player
attached).
-If you specify a from_mapname, warpguild() will only affect those on that map.
+If <ignore mapflags> is not 0, warpguild() ignores nowarp/noreturn restrictions
+of the warped character's current map. <ignore mapflags> defaults to 0.
+
+If you specify a <from map name>, warpguild() will only affect those on that map.
Example:
- warpguild("prontera", x, y, Guild_ID);
- warpguild("prontera", x, y, Guild_ID, "payon"); // warp member from Payon map only.
+ warpguild("prontera", x, y, Guild_ID); // Warp all guild members to Prontera,
+ // but check nowarp/noreturn restriction of their current map.
+ warpguild("prontera", x, y, Guild_ID, 1); // Warp all guild members to Prontera.
+ warpguild("prontera", x, y, Guild_ID, "payon"); // Warp guild members from Payon to Prontera,
+ // but check nowarp/noreturn restriction of Payon.
+ warpguild("prontera", x, y, Guild_ID, 1, "payon"); // Warp guild members from Payon to Prontera.
---------------------------------------
@@ -5077,11 +5277,11 @@ bound to the target character as specified by the bound type. All items created
in this manner cannot be dropped, sold, vended, auctioned, or mailed, and in
some cases cannot be traded or stored.
-Valid bound types are:
- 1 - Account Bound
- 2 - Guild Bound
- 3 - Party Bound
- 4 - Character Bound
+Valid item bound types are:
+ 1 - IBT_ACCOUNT - Account Bound
+ 2 - IBT_GUILD - Guild Bound
+ 3 - IBT_PARTY - Party Bound
+ 4 - IBT_CHARACTER - Character Bound
---------------------------------------
@@ -5122,12 +5322,12 @@ If a bound type is not specified or a bound type of 0 is used, it will search th
of any type, so long as the other parameters match. In all cases, this command will return the bound type of the
item found, or 0 if the specified item was not found.
-Valid bound types are:
- 0 - All Bound types.
- 1 - Account Bound
- 2 - Guild Bound
- 3 - Party Bound
- 4 - Character Bound
+Valid item bound types are:
+ 0 - IBT_ANY - Any Bound
+ 1 - IBT_ACCOUNT - Account Bound
+ 2 - IBT_GUILD - Guild Bound
+ 3 - IBT_PARTY - Party Bound
+ 4 - IBT_CHARACTER - Character Bound
Optional Parameters:
bound_type - checks to see if the item has the specified bound type.
@@ -5145,7 +5345,7 @@ Example:
close();
// This will also check if you have a bound (any type) 1205 (Cutter).
- if (checkbound(Cutter, 0)) {
+ if (checkbound(Cutter, IBT_ANY)) {
mes("You have a bound Cutter");
} else {
mes("You do not have a bound Cutter");
@@ -5160,8 +5360,8 @@ Example:
}
close();
- // This will check if the item found, has a bound type of 2 (guild_bound)
- if (checkbound(Cutter) == 2) {
+ // This will check if the item found, has a bound type of IBT_GUILD
+ if (checkbound(Cutter) == IBT_GUILD) {
mes("You have a guild_bound Cutter");
} else {
mes("You do not have a guild_bound Cutter.");
@@ -5169,7 +5369,7 @@ Example:
close();
// This will check if you have a 'guild_bound' +7 1205 (Cutter).
- if (checkbound(Cutter, 2, 7)) {
+ if (checkbound(Cutter, IBT_GUILD, 7)) {
mes("You have a +7 guild_bound Cutter.");
} else {
mes("You don't have the required item.");
@@ -5317,6 +5517,34 @@ Check getitem2() to understand its expanded parameters.
---------------------------------------
+*delitemidx(<index>{, <amount>{, <account id>}})
+
+This command will remove an item at the given inventory index. Unlike the
+'delitem()' counterpart, this doesn't check invalid Item ID, making it useful to remove
+invalid item IDs in player's inventory.
+
+If <amount> is not specified, this will remove all of the items at the specified index.
+Note that items with the 'ForceSerial' flag, not yet merged through 'mergeitem()', will only
+be removed at the given index.
+
+The only way to get the inventory index is by using 'getinventorylist()'. After deleting
+an item at the given index, that index can remain empty until the player relogs, so you
+should recall 'getinventorylist()' again. If you try to delete an item at an invalid index, the
+script will terminate with an error.
+
+This command is also useful to remove rental/bound items because 'delitem()'
+does not discriminate at choosing which item to remove.
+
+Example:
+
+ // This will remove all invalid Item ID in player's inventory
+ getinventorylist();
+ for (.@i = 0; .@i < @inventorylist_count; ++.@i)
+ if (getiteminfo(@inventorylist_id[.@i], ITEMINFO_TYPE) == -1)
+ delitemidx(@inventorylist_idx[.@i]);
+
+---------------------------------------
+
*countitem(<item id>)
*countitem("<item name>")
@@ -5427,21 +5655,40 @@ set with 'disable_items'.
---------------------------------------
-*itemskill(<skill id>, <skill level>, {flag})
-*itemskill("<skill name>", <skill level>, {flag})
+*itemskill(<skill id>, <skill level>{, <flag>})
+*itemskill("<skill name>", <skill level>{, <flag>})
This command meant for item scripts to replicate single-use skills in
usable items. It will not work properly if there is a visible dialog
window or menu.
If the skill is self or auto-targeting, it will be used immediately.
Otherwise, a target cursor is shown.
-Flag is a optional param and, when present, the command will not check for
-skill requirements.
+By default, all skill requirements are ignored.
+Optional argument <flag> is a bitmask to manipulate how the skill is cast.
+Since <flag> is a bitmask, the flags can be summed up.
+Possible flags are:
+ - 0x00 - ISF_NONE - Skill is cast as if it has been used from skill tree.
+ (Same like <flag> was omitted.)
+ - 0x01 - ISF_CHECKCONDITIONS - Skill requirements are checked and consumed.
+ (SP are never checked/consumed.)
+ - 0x02 - ISF_INSTANTCAST - Skill is cast instantaneously.
+ - 0x04 - ISF_CASTONSELF - Skill is forcefully cast on invoking character,
+ without showing the target selection cursor.
+
+Important: Items which use itemskill() should be of type IT_USABLE.
+ If the item type is IT_DELAYCONSUME and ISF_CHECKCONDITIONS isn't set,
+ the item won't be consumed when using the item!
// When Anodyne is used, it will cast Endure, Level 1, as if the actual skill
// has been used from skill tree.
itemskill(SM_ENDURE, 1);
+// Instantaneously cast Level 10 Increase Agility on invoking character,
+// with checking/consuming skill requirements (15 HP).
+ itemskill(AL_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);
+// Instaed of using the constants, one could also do it like this:
+ itemskill(AL_INCAGI, 10, 7);
+
---------------------------------------
*itemeffect(<item id>)
@@ -5719,6 +5966,10 @@ storage window, to avoid any disruption when both windows overlap.
openstorage();
end;
+The mapflag 'nostorage' when set to type '2' (or 3), will not open the
+account storage. Unless the character group has the permission 'bypass_nostorage'.
+In case blocked by mapflag, returns 0.
+
---------------------------------------
*openmail()
@@ -5780,6 +6031,10 @@ time.
This will also fail and return 2 if the attached character does not belong
to any guild.
+The mapflag 'nogstorage' when set to type '2' (or 3), will not open the
+guild storage. Unless the character group has the permission 'bypass_nostorage'.
+In case blocked by mapflag, returns 1.
+
---------------------------------------
*guildchangegm(<guild id>, <new master's name>)
@@ -5871,6 +6126,16 @@ Used in reset NPC's (duh!).
---------------------------------------
+*resetfeel({<account id>})
+*resethate({<account id>})
+
+The first resets a character's 'Feeling' maps.
+The second resets a character's 'Hatred' targets.
+
+If no RID is given, will run with the current attached player.
+
+---------------------------------------
+
*sc_start(<effect type>, <ticks>, <value 1>{, <rate>, <flag>{, <GID>}})
*sc_start2(<effect type>, <ticks>, <value 1>, <value 2>{, <rate>, <flag>{, <GID>}})
*sc_start4(<effect type>, <ticks>, <value 1>, <value 2>, <value 3>, <value 4>{, <rate>, <flag>{, <GID>}})
@@ -6021,6 +6286,15 @@ Example usage:
---------------------------------------
+*specialeffectnum(<effect number>, <num1>, <num2>{, <send_target>{, <unit id>{, <account id>}}})
+*specialeffectnum(<effect number>, <num1>, <num2>{, <send_target>{, "<NPC Name>"{, <account id>}}})
+
+Works same as specialeffect but also send effect numbers to client.
+For PACKETVER >= 20191127 support two numbers (num1, num2).
+For older packet versions only num1 supported.
+
+---------------------------------------
+
*removespecialeffect(<effect number>{, <send_target>{, <unit id>{, <account id>}}})
*removespecialeffect(<effect number>{, <send_target>{, "<NPC Name>"{, <account id>}}})
@@ -6074,7 +6348,7 @@ Amount can be negative. See statusup().
---------------------------------------
-*needed_status_point(<type>, <val>, {<char_id>});
+*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
@@ -6301,17 +6575,22 @@ Examples:
---------------------------------------
-*setpcblock(<type>,<option>)
-*checkpcblock()
+*setpcblock(<type>, <option>{, <account id>})
+*checkpcblock({<account id>})
-Prevents the player from doing the following action.
+Prevents a character from doing the following action.
For setpcblock, when the <option> is true(1) will block them, and false(0)
will allow those actions again.
+The setpcblock command returns 1 on success or 0 if no character was attached.
+
The checkpcblock command returned value is a bit mask of the currently
enabled block flags (or PCBLOCK_NONE when none is set).
+Parameter <account id> is optional for both commands.
+If omitted, the currently attached character is used.
+
The <type> listed are a bit mask of the following:
PCBLOCK_NONE (only used by checkpcblock)
PCBLOCK_MOVE
@@ -6322,6 +6601,7 @@ The <type> listed are a bit mask of the following:
PCBLOCK_IMMUNE
PCBLOCK_SITSTAND
PCBLOCK_COMMANDS
+ PCBLOCK_NPC
Examples:
@@ -6332,7 +6612,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)
@@ -6483,7 +6763,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
@@ -6505,6 +6785,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
@@ -6593,6 +6881,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.
@@ -6699,6 +6998,37 @@ Examples:
---------------------------------------
+*unitiswalking({<GID>})
+
+This command checks, if a unit is walking or not.
+If <GID> is omitted, the currently attached character is used.
+Returns 1 if the unit is walking, 0 if the unit is not walking and -1 on error.
+
+Note: There's no differentiation between script and client initiated walking.
+
+Example:
+
+prontera,155,185,5 script Check Walking 1_F_MARIA,{
+ mes("Enter character name.");
+ mes("");
+ input(.@name$);
+ .@GID = getcharid(CHAR_ID_ACCOUNT, .@name$);
+ if (.@GID != 0) {
+ .@iswalking = unitiswalking(.@GID);
+ if (.@iswalking == 1)
+ mesf("%s is walking.", .@name$);
+ else if (.@iswalking == 0)
+ mesf("%s is not walking.", .@name$);
+ else
+ mesf("Can't get %s's walking state.", .@name$);
+ } else {
+ mesf("%s not found!", .@name$);
+ }
+ close();
+}
+
+---------------------------------------
+
*unitkill(<GID>)
*unitwarp(<GID>, <Mapname>, <x>, <y>)
*unitattack(<GID>, <Target ID>)
@@ -6781,6 +7111,18 @@ NPCs talking while hidden then revealing... you can wonder around =P).
---------------------------------------
+*cloakonnpc("<NPC object name>"{, <account_id>})
+*cloakoffnpc("<NPC object name>"{, <account_id>})
+
+These commands are used to apply the cloaking effect on npcs
+this is a visual effect only and it does NOT stop the player
+from interacting with the npc.
+
+If an account_id is specified then the effect will only display to the given id,
+otherwise it's displayed to the entire npc area.
+
+---------------------------------------
+
*doevent("<NPC object name>::<event label>")
This command will start a new execution thread in a specified NPC object
@@ -7737,6 +8079,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.
@@ -7750,6 +8096,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
@@ -8202,6 +8571,7 @@ Valid <permission> are:
PERM_DISABLE_STORE
PERM_DISABLE_EXP
PERM_DISABLE_SKILL_USAGE
+ PERM_BYPASS_NOSTORAGE
Example:
@@ -8462,6 +8832,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.
@@ -8953,6 +9335,12 @@ currently used font is used, default interface font is used again.
---------------------------------------
+*getfont()
+
+This command return the player's current font.
+if no player is attached it would always return a 0, which is also the default font.
+
+---------------------------------------'
*showdigit(<value>{, <type>})
Displays given numeric 'value' in large digital clock font on top of the
@@ -9616,6 +10004,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.
@@ -9747,6 +10140,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).
@@ -9836,17 +10231,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.
---------------------------------------
//=====================================
@@ -9978,6 +10374,7 @@ when the optional NPC_Name param is used.
*sellitem(<Item_ID>{, <price>{, <qty>}})
*sellitem(<Item_ID>, <qty>, <currency_id>, <currency_amount>)
+*sellitem(<Item_ID>, <zeny>, <qty>{, <currency_id1>, <currency_amount1>{, <currency_refine1>}{, ...}})
adds (or modifies) <Item_ID> data to the shop,
when <price> is not provided (or when it is -1) itemdb default is used.
@@ -9986,7 +10383,37 @@ 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
+currency_id and currency_amount can be used only with shop type NST_BARTER.
+zeny, currency_id1, currency_amount1, currency_refine1, can be used only with
+shop type NST_EXPANDED_BARTER.
+
+---------------------------------------
+
+*startsellitem(<Item_ID>, <zeny>, <qty>)
+
+Starts adding item into expanded barter shop (NST_EXPANDED_BARTER).
+Before this command possible to use commands *sellitemcurrency.
+Need PACKETVER 20190904 main or 20190904 RE or 20190828 zero or newer.
+
+Alternative way for add item to expanded barter shop is *sellitem with
+currency parameters.
+
+---------------------------------------
+
+*sellitemcurrency(<Item_ID>, <qty>{, <refine>})
+
+adds <Item_ID> as currency into expanded barter shop (NST_EXPANDED_BARTER)
+If <refine> set to -1, mean for any refine level.
+if <refine> missing used value -1.
+
+Need PACKETVER 20190904 main or 20190904 RE or 20190828 zero or newer.
+
+---------------------------------------
+
+*endsellitem()
+
+Complete adding item into expanded barter shop (NST_EXPANDED_BARTER).
+Need PACKETVER 20190904 main or 20190904 RE or 20190828 zero or newer.
---------------------------------------
@@ -10033,131 +10460,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_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.
+ Data Types Description (parameter type)
+ 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)
+ 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
+ UDT_DAMAGE_TAKEN_RATE: damage taken rate of a unit.
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_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).
+ Data Types Description (return type)
+ 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)
+ 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
+ UDT_DAMAGE_TAKEN_RATE: damage taken rate of a unit.
returns -1 if value could not be retrieved.
@@ -10277,6 +10704,14 @@ returns progress on success and false on failure
---------------------------------------
+*achievement_iscompleted(<ach_id>{, <account_id>})
+
+Checks whether the attached player have completed all the given achievement objectives.
+
+returns true if yes and false if no.
+
+---------------------------------------
+
*itempreview(<index>)
Update already opened preview window with item from
@@ -10308,7 +10743,7 @@ Works for 20170830 RE and main and for any zero clients
---------------------------------------
-*expandInventoryAck(<result>{, <itemId>})
+*expandinventoryack(<result>{, <itemId>})
Send initial inventory expansion result.
Normally this function should be called from script label
@@ -10326,7 +10761,7 @@ Works for 20181212 zero clients
---------------------------------------
-*expandInventoryResult(<result>)
+*expandinventoryresult(<result>)
Send final inventory expansion result.
Normally this function should be called from script label
@@ -10343,7 +10778,7 @@ Works for 20181212 zero clients
---------------------------------------
-*expandInventory(<value>)
+*expandinventory(<value>)
Adjust player inventory to given value.
Maximum inventory size is MAX_INVENTORY.
@@ -10354,10 +10789,44 @@ Current max inventory size can be read by function getInventorySize().
---------------------------------------
-*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
+
+---------------------------------------
+*openlapineddukddakboxui(<item_id>)
+
+Opens lapine ddukddak user interface for the player
+returns true on success and false on failure
+
+---------------------------------------
diff --git a/libmariadb.dll b/libmariadb.dll
new file mode 100644
index 000000000..8011e2abb
--- /dev/null
+++ b/libmariadb.dll
Binary files differ
diff --git a/libmysql.dll b/libmysql.dll
deleted file mode 100644
index f86e8ef5b..000000000
--- a/libmysql.dll
+++ /dev/null
Binary files differ
diff --git a/mariadb.bat b/mariadb.bat
new file mode 100644
index 000000000..67d7c39a3
--- /dev/null
+++ b/mariadb.bat
@@ -0,0 +1,15 @@
+@echo off
+
+WHERE powershell.exe >nul 2>nul
+IF %ERRORLEVEL% NEQ 0 (
+ ECHO ERROR: PowerShell is not installed on this computer!
+ ECHO Please download it here:
+ ECHO https://github.com/PowerShell/PowerShell#get-powershell
+ ECHO.
+ ECHO Once it is installed, please re-launch mariadb.bat
+ pause >nul
+ exit
+)
+
+powershell -NoLogo -ExecutionPolicy Bypass -File "%~dp0\tools\setup_mariadb.ps1"
+pause >nul
diff --git a/npc/MOTD.txt b/npc/MOTD.txt
index 280ac8854..44aa1dc0f 100644
--- a/npc/MOTD.txt
+++ b/npc/MOTD.txt
@@ -9,7 +9,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-2020 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/npc/airports/airships.txt b/npc/airports/airships.txt
index 7bac19e21..47fed63cc 100644
--- a/npc/airports/airships.txt
+++ b/npc/airports/airships.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
@@ -491,9 +491,8 @@ airplane,50,66,5 script Apple Merchant#airplane 4_M_04,{
" '0' to cancel your order.");
next;
while (1) {
- input .@input;
- .@pay = .@input * 15;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes("[Fruitz]");
mes("Thanks for stopping\r"
"by my shop. Farewell!");
@@ -502,7 +501,7 @@ airplane,50,66,5 script Apple Merchant#airplane 4_M_04,{
"Apple to snack on~");
close;
}
- else if (.@input < 1 || .@input > 500) {
+ if (.@input > 500) {
mes("[Fruitz]");
mes("You've entered a number\r"
"higher than the maximum\r"
@@ -510,25 +509,25 @@ airplane,50,66,5 script Apple Merchant#airplane 4_M_04,{
"the number of Apples you\r"
"wish to purchase again.");
next;
+ continue;
}
- else {
+ .@pay = .@input * 15;
+ mes("[Fruitz]");
+ mesf("A total of ^FF0000%d^000000 Apples\r"
+ "will cost you ^FF0000%d Zeny^000000.",
+ .@input, .@pay);
+ mes("Would you like to continue?");
+ next;
+ if (select("Yes", "No") == 2) {
mes("[Fruitz]");
- mesf("A total of ^FF0000%d^000000 Apples\r"
- "will cost you ^FF0000%d Zeny^000000.",
- .@input, .@pay);
- mes("Would you like to continue?");
- next;
- if (select("Yes", "No") == 2) {
- mes("[Fruitz]");
- mes("Thanks for stopping\r"
- "by my shop. Farewell!");
- mes("Come by anytime when\r"
- "you feel like having an\r"
- "Apple to snack on~");
- close;
- }
- break;
+ mes("Thanks for stopping\r"
+ "by my shop. Farewell!");
+ mes("Come by anytime when\r"
+ "you feel like having an\r"
+ "Apple to snack on~");
+ close;
}
+ break;
}
if (Zeny < .@pay) {
mes("[Fruitz]");
@@ -853,44 +852,43 @@ airplane_01,50,66,5 script Apple Merchant#air01 4_M_04,{
"'0' to cancel your order.");
next;
while (1) {
- input .@input;
- .@pay = .@input * 15;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes("[Meltz]");
mes("Thanks for stopping\r"
"by my shop. Farewell!");
mes("Come by anytime when\r"
"you feel like having an\r"
"Apple to snack on~");
- close;
+ close();
}
- else if (.@input < 1 || .@input > 500) {
+ if (.@input > 500) {
mes("[Meltz]");
mes("You've entered a number\r"
"higher than the maximum\r"
"value of 500. Please enter\r"
"the number of Apples you\r"
"wish to purchase again.");
- next;
+ next();
+ continue;
}
- else {
+ .@pay = .@input * 15;
+ mes("[Meltz]");
+ mesf("A total of ^FF0000%d^000000 Apples\r"
+ "will cost you ^FF0000%d Zeny^000000.",
+ .@input, .@pay);
+ mes("Would you like to continue?");
+ next;
+ if (select("Yes", "No") == 2) {
mes("[Meltz]");
- mesf("A total of ^FF0000%d^000000 Apples\r"
- "will cost you ^FF0000%d Zeny^000000.",
- .@input, .@pay);
- mes("Would you like to continue?");
- next;
- if (select("Yes", "No") == 2) {
- mes("[Meltz]");
- mes("Thanks for stopping\r"
- "by my shop. Farewell!");
- mes("Come by anytime when\r"
- "you feel like having an\r"
- "Apple to snack on~");
- close;
- }
- break;
+ mes("Thanks for stopping\r"
+ "by my shop. Farewell!");
+ mes("Come by anytime when\r"
+ "you feel like having an\r"
+ "Apple to snack on~");
+ close;
}
+ break;
}
if (Zeny < .@pay) {
mes("[Meltz]");
@@ -1150,7 +1148,7 @@ airplane_01,32,61,4 script Nils#ein 1_M_03,1,1,{
mes(.@line1_3$[.@wordtest]);
.@start_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND);
next;
- input .@save1$;
+ input(.@save1$);
.@end_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND);
.@total_time = .@end_time - .@start_time;
mes("[Nils]");
@@ -1158,7 +1156,7 @@ airplane_01,32,61,4 script Nils#ein 1_M_03,1,1,{
mes(.@line2_2$[.@wordtest]);
.@start_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND);
next;
- input .@save2$;
+ input(.@save2$);
.@end_time = gettime(GETTIME_HOUR)*60*60 + gettime(GETTIME_MINUTE)*60 + gettime(GETTIME_SECOND);
.@total_time = .@total_time + (.@start_time - .@end_time);
.@tasoo = (.@letters[.@wordtest] / .@total_time) * 6;
@@ -1329,15 +1327,15 @@ function script applegamble {
"to cancel, please enter '0'.");
next;
while(1) {
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes(.@n$);
mes("Changed your mind?");
mes("I understand. Well then,\r"
"I hope we can play sometime.");
close;
}
- else if (.@amount < 1 || .@amount > 50) {
+ if (.@amount > 50) {
mes(.@n$);
mes("You can't bet more than\r"
"50 Apples. Remember, we\r"
diff --git a/npc/airports/einbroch.txt b/npc/airports/einbroch.txt
index 62ba62b8e..e4f79c131 100644
--- a/npc/airports/einbroch.txt
+++ b/npc/airports/einbroch.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Muad_Dib
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Muad_Dib
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/airports/hugel.txt b/npc/airports/hugel.txt
index 9be356836..f94d03f61 100644
--- a/npc/airports/hugel.txt
+++ b/npc/airports/hugel.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
+//= Copyright (C) 2012-2020 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/npc/airports/izlude.txt b/npc/airports/izlude.txt
index ddcc4541c..b699e8c11 100644
--- a/npc/airports/izlude.txt
+++ b/npc/airports/izlude.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/airports/lighthalzen.txt b/npc/airports/lighthalzen.txt
index 80842aa9d..58a972254 100644
--- a/npc/airports/lighthalzen.txt
+++ b/npc/airports/lighthalzen.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Muad_Dib
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Muad_Dib
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/airports/rachel.txt b/npc/airports/rachel.txt
index 91db25d7e..7b067a05e 100644
--- a/npc/airports/rachel.txt
+++ b/npc/airports/rachel.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/airports/yuno.txt b/npc/airports/yuno.txt
index 6ae5b1657..722f20baf 100644
--- a/npc/airports/yuno.txt
+++ b/npc/airports/yuno.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Muad_Dib
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Muad_Dib
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/bg_common.txt b/npc/battleground/bg_common.txt
index 4c9f3c307..d1c9f0ca3 100644
--- a/npc/battleground/bg_common.txt
+++ b/npc/battleground/bg_common.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/flavius/flavius01.txt b/npc/battleground/flavius/flavius01.txt
index ee8ac5cb3..0fc04f0e9 100644
--- a/npc/battleground/flavius/flavius01.txt
+++ b/npc/battleground/flavius/flavius01.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/flavius/flavius02.txt b/npc/battleground/flavius/flavius02.txt
index 69a54017b..abaaf0605 100644
--- a/npc/battleground/flavius/flavius02.txt
+++ b/npc/battleground/flavius/flavius02.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/flavius/flavius_enter.txt b/npc/battleground/flavius/flavius_enter.txt
index 974a0dab0..c6cc0d707 100644
--- a/npc/battleground/flavius/flavius_enter.txt
+++ b/npc/battleground/flavius/flavius_enter.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/kvm/kvm01.txt b/npc/battleground/kvm/kvm01.txt
index d0b3d16be..63f68bd23 100644
--- a/npc/battleground/kvm/kvm01.txt
+++ b/npc/battleground/kvm/kvm01.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/kvm/kvm02.txt b/npc/battleground/kvm/kvm02.txt
index a64dbf536..b1bbeb496 100644
--- a/npc/battleground/kvm/kvm02.txt
+++ b/npc/battleground/kvm/kvm02.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Ai4rei
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Ai4rei
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/kvm/kvm03.txt b/npc/battleground/kvm/kvm03.txt
index 954fd7b49..27d4697f2 100644
--- a/npc/battleground/kvm/kvm03.txt
+++ b/npc/battleground/kvm/kvm03.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Ai4rei
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Ai4rei
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/kvm/kvm_enter.txt b/npc/battleground/kvm/kvm_enter.txt
index 2ee4a7c5d..8754a6cc7 100644
--- a/npc/battleground/kvm/kvm_enter.txt
+++ b/npc/battleground/kvm/kvm_enter.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/kvm/kvm_item_pay.txt b/npc/battleground/kvm/kvm_item_pay.txt
index f9dac0766..44ddb83df 100644
--- a/npc/battleground/kvm/kvm_item_pay.txt
+++ b/npc/battleground/kvm/kvm_item_pay.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -37,15 +37,15 @@
//=========================================================================
bat_room,151,144,3 script KVM Logistic Officer#a 4_M_JOB_KNIGHT2,{
- if (countitem(War_Badge)) {
- .@pointstoadd = countitem(War_Badge);
- delitem 7773,.@pointstoadd;
+ if (countitem(KVM_Badge)) {
+ .@pointstoadd = countitem(KVM_Badge);
+ delitem KVM_Badge,.@pointstoadd;
kvm_point += .@pointstoadd;
mes("[Logistics]");
- mesf("Are those %ss I see?", getitemname(7773));
+ mesf("Are those %ss I see?", getitemname(KVM_Badge));
mes("We no longer accept that currency,\r"
"but I can exchange those for you.");
- mesf("So you have %d %ss?", .@pointstoadd, getitemname(7773));
+ mesf("So you have %d %ss?", .@pointstoadd, getitemname(KVM_Badge));
mesf("Alright, all set, you now have ^580080%d^000000 KVM Points.", kvm_point);
next;
}
diff --git a/npc/battleground/tierra/tierra01.txt b/npc/battleground/tierra/tierra01.txt
index bdf41b0bd..298e07fcf 100644
--- a/npc/battleground/tierra/tierra01.txt
+++ b/npc/battleground/tierra/tierra01.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/tierra/tierra02.txt b/npc/battleground/tierra/tierra02.txt
index abdb50a3f..6fe5dd922 100644
--- a/npc/battleground/tierra/tierra02.txt
+++ b/npc/battleground/tierra/tierra02.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/battleground/tierra/tierra_enter.txt b/npc/battleground/tierra/tierra_enter.txt
index c3a04719f..dfada7dc3 100644
--- a/npc/battleground/tierra/tierra_enter.txt
+++ b/npc/battleground/tierra/tierra_enter.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/cities/alberta.txt b/npc/cities/alberta.txt
index ed4be5438..ca1c91547 100644
--- a/npc/cities/alberta.txt
+++ b/npc/cities/alberta.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) DZeroX
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) DZeroX
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -347,7 +347,7 @@ alberta,190,173,4 script Phelix 4_M_03,{
mes "[Phelix]";
mes "I'm not giving you more then 100 at a time so don't bother, OK? If you don't want any, just say '0'.";
mes "Right now, the most you can get is " + .@max + " but remember, 100 at most, you want to break my back?.";
- input .@amount;
+ input(.@amount);
next;
mes "[Phelix]";
if (.@amount <= 0) {
@@ -396,10 +396,10 @@ alberta,190,173,4 script Phelix 4_M_03,{
case 2:
mes "[Phelix]";
mes "Right I'm not giving you more then 100 at a time so don't bother, okay? If you don't want any, just say '0'.";
- input .@amount;
+ input(.@amount);
next;
mes "[Phelix]";
- if (.@amount == 0) {
+ if (.@amount <= 0) {
mes "Alright then, see you next time.";
close;
}
diff --git a/npc/cities/aldebaran.txt b/npc/cities/aldebaran.txt
index 57d4205df..c6fe6f5ed 100644
--- a/npc/cities/aldebaran.txt
+++ b/npc/cities/aldebaran.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) DZeroX
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) DZeroX
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1200,8 +1200,9 @@ function script F_Lottery {
mes "[Kafra]";
mes "How many times do you want the Lottery Machine to spin? You can choose up to 5 times.";
next;
- input @input;
- if(@input < 1 || @input > 5) @input = rand(1,5); //Lupus's fix
+ input(@input);
+ if (@input < 1 || @input > 5)
+ @input = rand(1,5); // Lupus's fix
callsub sF_Spin;
mes "[Kafra]";
mes "Ok~ Let me check the results~ guess what it is?";
@@ -1274,7 +1275,8 @@ sF_Spin:
next;
@temp = rand(10);
--@input;
- if(@input <= 0) return;
+ if (@input <= 0)
+ return;
}
}
diff --git a/npc/cities/amatsu.txt b/npc/cities/amatsu.txt
index fd3e66629..31ae513b8 100644
--- a/npc/cities/amatsu.txt
+++ b/npc/cities/amatsu.txt
@@ -9,22 +9,22 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Skotlex
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) massdriller
-//= Copyright (C) Darkchild
-//= Copyright (C) Valaris
-//= Copyright (C) dj
-//= Copyright (C) Makenshi
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Skotlex
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) massdriller
+//= Copyright (C) Darkchild
+//= Copyright (C) Valaris
+//= Copyright (C) dj
+//= Copyright (C) Makenshi
//=
//= 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/npc/cities/ayothaya.txt b/npc/cities/ayothaya.txt
index 79e3f8c13..2b5fe4446 100644
--- a/npc/cities/ayothaya.txt
+++ b/npc/cities/ayothaya.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) ZoDIaC
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) ZoDIaC
//=
//= 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/npc/cities/comodo.txt b/npc/cities/comodo.txt
index d60278abd..f960ab23c 100644
--- a/npc/cities/comodo.txt
+++ b/npc/cities/comodo.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) Nexon
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) Nexon
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/cities/einbech.txt b/npc/cities/einbech.txt
index 33ba55ee0..417337165 100644
--- a/npc/cities/einbech.txt
+++ b/npc/cities/einbech.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DZeroX
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DZeroX
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/cities/einbroch.txt b/npc/cities/einbroch.txt
index c16dbfeff..02a7e5547 100644
--- a/npc/cities/einbroch.txt
+++ b/npc/cities/einbroch.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DZeroX
-//= Copyright (C) Samuray22
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) erKURITA
-//= Copyright (C) Komurka
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DZeroX
+//= Copyright (C) Samuray22
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) erKURITA
+//= Copyright (C) Komurka
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/cities/geffen.txt b/npc/cities/geffen.txt
index 7f299dfa2..c48e69ba1 100644
--- a/npc/cities/geffen.txt
+++ b/npc/cities/geffen.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) DeadlySilence
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) Musashiden
-//= Copyright (C) Silent
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Nexon
-//= Copyright (C) massdriller
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) DeadlySilence
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Evera
+//= Copyright (C) Musashiden
+//= Copyright (C) Silent
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Nexon
+//= Copyright (C) massdriller
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -274,8 +274,8 @@ OnTouch:
mes "them at a time.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Suspicious Guy]";
if (Sex == SEX_MALE)
mes "Ah duuuuuude~ You're breakin' my heart! I mean, at these prices, I'm practically performing charity!";
@@ -283,14 +283,14 @@ OnTouch:
mes "W-waaaait! You didn't let me tell you the part about how Red Potions help you lose and gain weight in all the right places! Waaaaait!";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Suspicious Guy]";
mes "Whoa...";
mes "I can't let you buy that many. I mean, it's not like, you know, there's a trace impurity in these Potions or anything like that...";
next;
+ continue;
}
- else
- break;
+ break;
}
.@Red_potion_hap = .@input * 500;
if (Zeny < .@Red_potion_hap) {
@@ -344,8 +344,8 @@ OnTouch:
mes "There's no way you can pass this up! Now, how many do you want?";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Suspicious Guy]";
mes "Man, how many chances of a lifetime have you passed up? Man, I hope you win the lottery...";
mes "You'd probably";
@@ -353,14 +353,14 @@ OnTouch:
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Suspicious Guy]";
mes "Whoa!";
mes "I can't sell that many Daggers! That'll attract the Prontera Chiv--I mean, um, I was gonna donate some Daggers to... Hungry children?";
next;
+ continue;
}
- else
- break;
+ break;
}
.@Main_gauche_hap = .@input * 9400;
if (Zeny < .@Main_gauche_hap) {
@@ -398,21 +398,21 @@ OnTouch:
mes "Clearly, this is the deal of the century. So how many do you want?";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Suspicious Guy]";
mes "Awww...";
mes "It wasn't because of the whole drawstrings thing, was it?";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Suspicious Guy]";
mes "Whoa~!";
mes "I can't sell you that many! What are you trying to do, take advantage of me?";
next;
+ continue;
}
- else
- break;
+ break;
}
.@Hood__hap = .@input * 930;
if (Zeny < .@Hood__hap) {
diff --git a/npc/cities/gonryun.txt b/npc/cities/gonryun.txt
index a6d43deaa..8dd65b1ef 100644
--- a/npc/cities/gonryun.txt
+++ b/npc/cities/gonryun.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) x[tsk]
-//= Copyright (C) Lupus
-//= Copyright (C) Toms
-//= Copyright (C) Silent
-//= Copyright (C) Nexon
-//= Copyright (C) KarLaeda
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) x[tsk]
+//= Copyright (C) Lupus
+//= Copyright (C) Toms
+//= Copyright (C) Silent
+//= Copyright (C) Nexon
+//= Copyright (C) KarLaeda
//=
//= 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/npc/cities/hugel.txt b/npc/cities/hugel.txt
index 6a02a4901..5f90aedee 100644
--- a/npc/cities/hugel.txt
+++ b/npc/cities/hugel.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DZeroX
-//= Copyright (C) SinSloth
-//= Copyright (C) Playtester
-//= Copyright (C) Munin
-//= Copyright (C) erKURITA
-//= Copyright (C) Poki#3
-//= Copyright (C) vicious_pucca
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DZeroX
+//= Copyright (C) SinSloth
+//= Copyright (C) Playtester
+//= Copyright (C) Munin
+//= Copyright (C) erKURITA
+//= Copyright (C) Poki#3
+//= Copyright (C) vicious_pucca
//=
//= 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/npc/cities/izlude.txt b/npc/cities/izlude.txt
index 7ee10f320..150226d05 100644
--- a/npc/cities/izlude.txt
+++ b/npc/cities/izlude.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Paradox924X
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Silentdragon
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Paradox924X
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Silentdragon
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/cities/jawaii.txt b/npc/cities/jawaii.txt
index 71ec8264f..f9feb6f80 100644
--- a/npc/cities/jawaii.txt
+++ b/npc/cities/jawaii.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) Evera
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DNett123
-//= Copyright (C) jAthena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) Evera
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DNett123
+//= Copyright (C) jAthena
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -880,7 +880,7 @@ jawaii_in,28,124,0 script Bartender#jaw 1_ETC_01,{
mes "Bartender,";
mes "I'm so depressed";
mes "because of...";
- input .@inputstr$;
+ input(.@inputstr$);
mes .@inputstr$+"...";
next;
mes "[Bartender]";
diff --git a/npc/cities/lighthalzen.txt b/npc/cities/lighthalzen.txt
index 3cbe900c3..9c5f61b58 100644
--- a/npc/cities/lighthalzen.txt
+++ b/npc/cities/lighthalzen.txt
@@ -9,20 +9,20 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Gepard
-//= Copyright (C) $ephiroth
-//= Copyright (C) SinSloth
-//= Copyright (C) KarLaeda
-//= Copyright (C) Lupus
-//= Copyright (C) Toms
-//= Copyright (C) Silent
-//= Copyright (C) Musashiden
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Alan
-//= Copyright (C) Au{R}oN
-//= Copyright (C) erKURITA
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Gepard
+//= Copyright (C) $ephiroth
+//= Copyright (C) SinSloth
+//= Copyright (C) KarLaeda
+//= Copyright (C) Lupus
+//= Copyright (C) Toms
+//= Copyright (C) Silent
+//= Copyright (C) Musashiden
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Alan
+//= Copyright (C) Au{R}oN
+//= Copyright (C) erKURITA
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -561,16 +561,8 @@ lighthalzen,182,102,3 script Lucius#zen5 4_M_LGTGRAND,{
mes "starving children. If you wish";
mes "to cancel, please enter ''0.''";
next;
- input .@input;
- if (.@input > 30000 || .@input < 0) {
- mes "[Lucius]";
- mes "Please enter a value";
- mes "from 1 to 30,000 in";
- mes "order to make a donation";
- mes "to the needy, youngster.";
- close;
- }
- else if (.@input == 0) {
+ input(.@input);
+ if (.@input == 0) {
mes "[Lucius]";
mes "How disappointing,";
mes "but I'm sure you have";
@@ -580,6 +572,14 @@ lighthalzen,182,102,3 script Lucius#zen5 4_M_LGTGRAND,{
mes "to come back at any time.";
close;
}
+ if (.@input > 30000 || .@input < 1) {
+ mes "[Lucius]";
+ mes "Please enter a value";
+ mes "from 1 to 30,000 in";
+ mes "order to make a donation";
+ mes "to the needy, youngster.";
+ close;
+ }
mes "[Lucius]";
mes "Thank you so much";
mes "for your " + .@input + " zeny donation.";
diff --git a/npc/cities/louyang.txt b/npc/cities/louyang.txt
index b4cfcb8ea..9dae2f03e 100644
--- a/npc/cities/louyang.txt
+++ b/npc/cities/louyang.txt
@@ -9,21 +9,21 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Celest
-//= Copyright (C) Dino9021
-//= Copyright (C) Mass Zero
-//= Copyright (C) SinSloth
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) Vidar
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Celest
+//= Copyright (C) Dino9021
+//= Copyright (C) Mass Zero
+//= Copyright (C) SinSloth
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) Vidar
//=
//= 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/npc/cities/lutie.txt b/npc/cities/lutie.txt
index 9f57cc2dc..3c0270dd6 100644
--- a/npc/cities/lutie.txt
+++ b/npc/cities/lutie.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) DZeroX
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) DZeroX
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/cities/manuk.txt b/npc/cities/manuk.txt
index db096a6bb..b70027d79 100644
--- a/npc/cities/manuk.txt
+++ b/npc/cities/manuk.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/cities/morocc.txt b/npc/cities/morocc.txt
index e4400e7af..242a9f9cc 100644
--- a/npc/cities/morocc.txt
+++ b/npc/cities/morocc.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) Silent
-//= Copyright (C) Vicious_Pucca
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Nexon
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) Silent
+//= Copyright (C) Vicious_Pucca
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Nexon
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/cities/moscovia.txt b/npc/cities/moscovia.txt
index c0029a91d..8bd4e3774 100644
--- a/npc/cities/moscovia.txt
+++ b/npc/cities/moscovia.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
//=
//= 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/npc/cities/niflheim.txt b/npc/cities/niflheim.txt
index 92e57f434..603c8cbbd 100644
--- a/npc/cities/niflheim.txt
+++ b/npc/cities/niflheim.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) Vicious_Pucca
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) Celest
-//= Copyright (C) PKGINGO
-//= Copyright (C) Dizzy
-//= Copyright (C) Fyrien
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) Vicious_Pucca
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) Celest
+//= Copyright (C) PKGINGO
+//= Copyright (C) Dizzy
+//= Copyright (C) Fyrien
//=
//= 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/npc/cities/payon.txt b/npc/cities/payon.txt
index 132ce7331..1d95c7565 100644
--- a/npc/cities/payon.txt
+++ b/npc/cities/payon.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DracoRPG
-//= Copyright (C) Darkchild
-//= Copyright (C) Muad Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DracoRPG
+//= Copyright (C) Darkchild
+//= Copyright (C) Muad Dib
//=
//= 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/npc/cities/prontera.txt b/npc/cities/prontera.txt
index bbe6716e7..feff36c6f 100644
--- a/npc/cities/prontera.txt
+++ b/npc/cities/prontera.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silent
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/cities/rachel.txt b/npc/cities/rachel.txt
index 2fbb92f05..82716045d 100644
--- a/npc/cities/rachel.txt
+++ b/npc/cities/rachel.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Harp
-//= Copyright (C) Tsuyuki
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Harp
+//= Copyright (C) Tsuyuki
//=
//= 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/npc/cities/splendide.txt b/npc/cities/splendide.txt
index d49f50ada..858edc42f 100644
--- a/npc/cities/splendide.txt
+++ b/npc/cities/splendide.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/cities/umbala.txt b/npc/cities/umbala.txt
index a8127c372..2dbaafed8 100644
--- a/npc/cities/umbala.txt
+++ b/npc/cities/umbala.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Toms
-//= Copyright (C) Evera
-//= Copyright (C) Lance
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
-//= Copyright (C) Darkchild
-//= Copyright (C) Muad Dib
-//= Copyright (C) Fusion Dev Team
-//= Copyright (C) jAthena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Toms
+//= Copyright (C) Evera
+//= Copyright (C) Lance
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
+//= Copyright (C) Darkchild
+//= Copyright (C) Muad Dib
+//= Copyright (C) Fusion Dev Team
+//= Copyright (C) jAthena
//=
//= 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/npc/cities/veins.txt b/npc/cities/veins.txt
index 5323a2af5..26e52b77e 100644
--- a/npc/cities/veins.txt
+++ b/npc/cities/veins.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/cities/yuno.txt b/npc/cities/yuno.txt
index 944f5e9ae..17f585f74 100644
--- a/npc/cities/yuno.txt
+++ b/npc/cities/yuno.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) massdriller
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
-//= Copyright (C) KitsuneStarwind
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) massdriller
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
+//= Copyright (C) KitsuneStarwind
//=
//= 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/npc/custom/battleground/bg_kvm01.txt b/npc/custom/battleground/bg_kvm01.txt
index a66e202e3..bb3ba3e06 100644
--- a/npc/custom/battleground/bg_kvm01.txt
+++ b/npc/custom/battleground/bg_kvm01.txt
@@ -329,7 +329,7 @@ bat_c01,51,130,5 script Guillaume Vintenar::VintenarKvM01a 4_M_KY_HEAD,{
}
setquest 6025;
- getitem 7773, .@reward;
+ getitem KVM_Badge, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -365,7 +365,7 @@ bat_c01,148,53,1 script Croix Vintenar::VintenarKvM01b 4_M_CRU_HEAD,{
}
setquest 6025;
- getitem 7773, .@reward;
+ getitem KVM_Badge, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
diff --git a/npc/custom/battleground/bg_kvm02.txt b/npc/custom/battleground/bg_kvm02.txt
index f1637069a..a6cadb3af 100644
--- a/npc/custom/battleground/bg_kvm02.txt
+++ b/npc/custom/battleground/bg_kvm02.txt
@@ -329,7 +329,7 @@ bat_c02,51,130,5 script Guillaume Vintenar::VintenarKvM02a 4_M_KY_HEAD,{
}
setquest 6025;
- getitem 7773, .@reward;
+ getitem KVM_Badge, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -365,7 +365,7 @@ bat_c02,148,53,1 script Croix Vintenar::VintenarKvM02b 4_M_CRU_HEAD,{
}
setquest 6025;
- getitem 7773, .@reward;
+ getitem KVM_Badge, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
diff --git a/npc/custom/battleground/bg_kvm03.txt b/npc/custom/battleground/bg_kvm03.txt
index 612047dcb..8f255c90f 100644
--- a/npc/custom/battleground/bg_kvm03.txt
+++ b/npc/custom/battleground/bg_kvm03.txt
@@ -329,7 +329,7 @@ bat_c03,51,130,5 script Guillaume Vintenar::VintenarKvM03a 4_M_KY_HEAD,{
}
setquest 6025;
- getitem 7773, .@reward;
+ getitem KVM_Badge, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
@@ -365,7 +365,7 @@ bat_c03,148,53,1 script Croix Vintenar::VintenarKvM03b 4_M_CRU_HEAD,{
}
setquest 6025;
- getitem 7773, .@reward;
+ getitem KVM_Badge, .@reward;
bg_leave;
warp "bat_room",155,150;
end;
diff --git a/npc/custom/etc/bank.txt b/npc/custom/etc/bank.txt
index c5bed187b..4135ed192 100644
--- a/npc/custom/etc/bank.txt
+++ b/npc/custom/etc/bank.txt
@@ -28,27 +28,25 @@ switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "W
mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!";
next;
}
- input @deposit;
+ input(@deposit);
if (@deposit < 1) {
mes "Make sure you ask me to deposit a real amount.";
close;
}
- else if (@deposit > Zeny) {
+ if (@deposit > Zeny) {
mes "It does not appear like you have the amount of zeny you're trying to deposit!";
close;
}
- else if (@deposit > (Zeny - @cost)) {
+ if (@deposit > Zeny - @cost) {
mes "You need " + @cost + " Zeny to cover the transaction fee!";
close;
}
- else {
Zeny -= @deposit;
Zeny -= @cost;
- set #bankstorage,#bankstorage + @deposit;
+ #bankstorage += @deposit;
mes "[Banker]";
mes "Thank you very much... Your zeny is in good hands.";
close;
- }
case 2:
mes "[Banker]";
@@ -59,16 +57,16 @@ switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "W
mes "Oh, and do realize there is a " +@cost + " Zeny charge on all transactions!";
next;
}
- input @withdrawl;
+ input(@withdrawl);
if (@withdrawl < 1) {
mes "Please don't play games. I need a real amount to withdraw.";
close;
}
- else if (@withdrawl > #bankstorage) {
+ if (@withdrawl > #bankstorage) {
mes "I show you only have ^00FF00" + #bankstorage +"^000000 zeny in your account!";
close;
}
- else if ((@cost > Zeny) && ((Zeny + @withdrawl) > @cost)) {
+ if (@cost > Zeny && Zeny + @withdrawl > @cost) {
mes "[Banker]";
mes "You don't have the Zeny for the transaction fee right now. Would you like me to take the fee directly from your withdrawl?";
next;
@@ -76,13 +74,13 @@ switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "W
case 1:
mes "[Banker]";
mes "Removing " + @cost + " from your withdrawl to cover the deposit fee...";
- set @withdrawl,@withdrawl - @cost;
- set #bankstorage,#bankstorage - @cost;
- set @cost,0;
+ @withdrawl -= @cost;
+ #bankstorage -= @cost;
+ @cost = 0;
next;
Zeny -= @cost;
Zeny += @withdrawl;
- set #bankstorage,#bankstorage - @withdrawl;
+ #bankstorage -= @withdrawl;
mes "[Banker]";
mes "There's your Zeny. Have a good day.";
close;
@@ -92,14 +90,12 @@ switch(select("I'd like to make a deposit.", "I'd like to make a withdrawl.", "W
close;
}
}
- else {
- Zeny -= @cost;
- Zeny += @withdrawl;
- set #bankstorage,#bankstorage - @withdrawl;
- mes "[Banker]";
- mes "There's your Zeny. Have a good day.";
- close;
- }
+ Zeny -= @cost;
+ Zeny += @withdrawl;
+ #bankstorage -= @withdrawl;
+ mes "[Banker]";
+ mes "There's your Zeny. Have a good day.";
+ close;
case 3:
mes "[Banker]";
mes "Hmmmm let me check some paper work.";
diff --git a/npc/custom/etc/bank_kafra.txt b/npc/custom/etc/bank_kafra.txt
index 375a9f611..a970f8302 100644
--- a/npc/custom/etc/bank_kafra.txt
+++ b/npc/custom/etc/bank_kafra.txt
@@ -44,7 +44,8 @@ L_NoIncomeToday:
mes"[Maniss]";
mes "Please, tell me how much zeny you would like to deposit.";
next;
- if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
+ if (input(@kafrabank, 0) == 1)
+ goto L_TOO_BIG_AMOUNT;
if(@kafrabank<1000) goto L_LESS_1000;
if(@kafrabank>Zeny) goto L_NOT_ENOUGH;
@@ -62,7 +63,8 @@ M_WITHDRAW:
mes "Your account: ^135445" + #kafrabank + "^000000 zeny.";
mes "How much zeny would you like to withdraw?";
next;
- if(input(@kafrabank) == 1) goto L_TOO_BIG_AMOUNT;
+ if (input(@kafrabank, 0) == 1)
+ goto L_TOO_BIG_AMOUNT;
if(@kafrabank<1) goto B_EXIT2;
if(@kafrabank>#kafrabank) goto L_NOT_ENOUGH;
diff --git a/npc/custom/etc/lottery.txt b/npc/custom/etc/lottery.txt
index 421fccc78..0c6c987a5 100644
--- a/npc/custom/etc/lottery.txt
+++ b/npc/custom/etc/lottery.txt
@@ -171,43 +171,64 @@ L_HandPick:
set @L5,0;
set @L6,0;
Input1:
- input @L1;
- if (@L1 < 1 || @L1 > 40) goto Input1;
+ input(@L1);
+ if (@L1 < 1 || @L1 > 40)
+ goto Input1;
mes @L1;
Input2:
- input @L2;
- if (@L2 < 1 || @L2 > 40) goto Input2;
- if (@L2 == @L1) goto Input2;
+ input(@L2);
+ if (@L2 < 1 || @L2 > 40)
+ goto Input2;
+ if (@L2 == @L1)
+ goto Input2;
mes @L2;
Input3:
- input @L3;
- if (@L3 < 1 || @L3 > 40) goto Input3;
- if (@L3 == @L1) goto Input3;
- if (@L3 == @L2) goto Input3;
+ input(@L3);
+ if (@L3 < 1 || @L3 > 40)
+ goto Input3;
+ if (@L3 == @L1)
+ goto Input3;
+ if (@L3 == @L2)
+ goto Input3;
mes @L3;
Input4:
- input @L4;
- if (@L4 < 1 || @L4 > 40) goto Input4;
- if (@L4 == @L1) goto Input4;
- if (@L4 == @L2) goto Input4;
- if (@L4 == @L3) goto Input4;
+ input(@L4);
+ if (@L4 < 1 || @L4 > 40)
+ goto Input4;
+ if (@L4 == @L1)
+ goto Input4;
+ if (@L4 == @L2)
+ goto Input4;
+ if (@L4 == @L3)
+ goto Input4;
mes @L4;
Input5:
- input @L5;
- if (@L5 < 1 || @L5 > 40) goto Input5;
- if (@L5 == @L1) goto Input5;
- if (@L5 == @L2) goto Input5;
- if (@L5 == @L3) goto Input5;
- if (@L5 == @L4) goto Input5;
+ input(@L5);
+ if (@L5 < 1 || @L5 > 40)
+ goto Input5;
+ if (@L5 == @L1)
+ goto Input5;
+ if (@L5 == @L2)
+ goto Input5;
+ if (@L5 == @L3)
+ goto Input5;
+ if (@L5 == @L4)
+ goto Input5;
mes @L5;
Input6:
- input @L6;
- if (@L6 < 1 || @L6 > 40) goto Input6;
- if (@L6 == @L1) goto Input6;
- if (@L6 == @L2) goto Input6;
- if (@L6 == @L3) goto Input6;
- if (@L6 == @L4) goto Input6;
- if (@L6 == @L5) goto Input6;
+ input(@L6);
+ if (@L6 < 1 || @L6 > 40)
+ goto Input6;
+ if (@L6 == @L1)
+ goto Input6;
+ if (@L6 == @L2)
+ goto Input6;
+ if (@L6 == @L3)
+ goto Input6;
+ if (@L6 == @L4)
+ goto Input6;
+ if (@L6 == @L5)
+ goto Input6;
mes @L6;
next;
mes "[Lottery]";
@@ -406,43 +427,64 @@ L_GM_Rig:
set $LR5,0;
set $LR6,0;
GMInput1:
- input $LR1;
- if ($LR1 < 1 || $LR1 > 40) goto GMInput1;
+ input($LR1);
+ if ($LR1 < 1 || $LR1 > 40)
+ goto GMInput1;
mes $LR1;
GMInput2:
- input $LR2;
- if ($LR2 < 1 || $LR2 > 40) goto GMInput2;
- if ($LR2 == $LR1) goto GMInput2;
+ input($LR2);
+ if ($LR2 < 1 || $LR2 > 40)
+ goto GMInput2;
+ if ($LR2 == $LR1)
+ goto GMInput2;
mes $LR2;
GMInput3:
- input $LR3;
- if ($LR3 < 1 || $LR3 > 40) goto GMInput3;
- if ($LR3 == $LR1) goto GMInput3;
- if ($LR3 == $LR2) goto GMInput3;
+ input($LR3);
+ if ($LR3 < 1 || $LR3 > 40)
+ goto GMInput3;
+ if ($LR3 == $LR1)
+ goto GMInput3;
+ if ($LR3 == $LR2)
+ goto GMInput3;
mes $LR3;
GMInput4:
- input $LR4;
- if ($LR4 < 1 || $LR4 > 40) goto GMInput4;
- if ($LR4 == $LR1) goto GMInput4;
- if ($LR4 == $LR2) goto GMInput4;
- if ($LR4 == $LR3) goto GMInput4;
+ input($LR4);
+ if ($LR4 < 1 || $LR4 > 40)
+ goto GMInput4;
+ if ($LR4 == $LR1)
+ goto GMInput4;
+ if ($LR4 == $LR2)
+ goto GMInput4;
+ if ($LR4 == $LR3)
+ goto GMInput4;
mes $LR4;
GMInput5:
- input $LR5;
- if ($LR5 < 1 || $LR5 > 40) goto GMInput5;
- if ($LR5 == $LR1) goto GMInput5;
- if ($LR5 == $LR2) goto GMInput5;
- if ($LR5 == $LR3) goto GMInput5;
- if ($LR5 == $LR4) goto GMInput5;
+ input($LR5);
+ if ($LR5 < 1 || $LR5 > 40)
+ goto GMInput5;
+ if ($LR5 == $LR1)
+ goto GMInput5;
+ if ($LR5 == $LR2)
+ goto GMInput5;
+ if ($LR5 == $LR3)
+ goto GMInput5;
+ if ($LR5 == $LR4)
+ goto GMInput5;
mes $LR5;
GMInput6:
- input $LR6;
- if ($LR6 < 1 || $LR6 > 40) goto GMInput6;
- if ($LR6 == $LR1) goto GMInput6;
- if ($LR6 == $LR2) goto GMInput6;
- if ($LR6 == $LR3) goto GMInput6;
- if ($LR6 == $LR4) goto GMInput6;
- if ($LR6 == $LR5) goto GMInput6;
+ input($LR6);
+ if ($LR6 < 1 || $LR6 > 40)
+ goto GMInput6;
+ if ($LR6 == $LR1)
+ goto GMInput6;
+ if ($LR6 == $LR2)
+ goto GMInput6;
+ if ($LR6 == $LR3)
+ goto GMInput6;
+ if ($LR6 == $LR4)
+ goto GMInput6;
+ if ($LR6 == $LR5)
+ goto GMInput6;
mes $LR6;
next;
mes "[Lottery]";
diff --git a/npc/custom/etc/marriage.txt b/npc/custom/etc/marriage.txt
index 4e521ec55..c392c5ff1 100644
--- a/npc/custom/etc/marriage.txt
+++ b/npc/custom/etc/marriage.txt
@@ -105,7 +105,7 @@ prt_church,100,123,4 script Vomars 1_M_PASTOR,{
npctalk "Ladies and gentlemen, "+strcharinfo(PC_NAME)+" has an objection to the wedding!";
SF_wed_end();
mes "Why should they not be wed?";
- input $@msg$;
+ input($@msg$);
npctalk strcharinfo(PC_NAME)+"'s objection is: "+$@msg$;
emotion e_sob;
mes "I see...";
diff --git a/npc/custom/etc/monster_arena.txt b/npc/custom/etc/monster_arena.txt
index 8420cd544..249e5518d 100644
--- a/npc/custom/etc/monster_arena.txt
+++ b/npc/custom/etc/monster_arena.txt
@@ -322,10 +322,11 @@ L_Sell:
mes "You have: ^FF0000" + #monpoints + "^000000 experience points";
mes "How many would you like to sell?";
next;
- input @sellexp;
- if (@sellexp > #monpoints) goto L_NoExp;
- set #monpoints,#monpoints-@sellexp;
- set @sellearn,100*@sellexp; // Price of exp
+ input(@sellexp, 0);
+ if (@sellexp > #monpoints)
+ goto L_NoExp;
+ #monpoints -= @sellexp;
+ @sellearn = 100 * @sellexp; // Price of exp
Zeny += @sellearn;
mes "[Monster Trainer]";
mes "You earned ^0000FF" + @sellearn + "^000000z.";
diff --git a/npc/custom/etc/quest_warper.txt b/npc/custom/etc/quest_warper.txt
index 35b863e9d..ce0897f69 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;
@@ -173,19 +173,19 @@ Setprice:
next;
mes "Basic - Warps are = "+(($QW_BW_PRICE)?"^00FF00"+$QW_BW_PRICE:"^FF0000Free")+"^000000";
mes "Basic - Warps are starter towns and related dungeons.";
- input $QW_BW_PRICE;
+ input($QW_BW_PRICE, 0);
goto Setprice;
case 2:
next;
mes "Advanced - Warps are = "+(($QW_AW_PRICE)?"^00FF00"+$QW_AW_PRICE:"^FF0000Free")+"^000000";
mes "Advanced - Warps are towns and dungeons on the same island but not close to any starter town.";
- input $QW_AW_PRICE;
+ input($QW_AW_PRICE, 0);
goto Setprice;
case 3:
next;
mes "Overseas - Warps are = "+(($QW_OW_PRICE)?"^00FF00"+$QW_OW_PRICE:"^FF0000Free")+"^000000";
mes "Overseas - Warps are towns and dungeons overseas reachable by boat from Alberta.";
- input $QW_OW_PRICE;
+ input($QW_OW_PRICE, 0);
goto Setprice;
case 4:
next;
@@ -193,7 +193,7 @@ Setprice:
mes "Basic - Warps are starter town related dungeons.";
mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
mes "These costs are on top of the regular Warp costs.";
- input $QW_BW_FEE;
+ input($QW_BW_FEE, 0);
goto Setprice;
case 5:
next;
@@ -201,7 +201,7 @@ Setprice:
mes "Advanced - Warps are dungeons not close to any starter town.";
mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
mes "These costs are on top of the regular Warp costs.";
- input $QW_AW_FEE;
+ input($QW_AW_FEE, 0);
goto Setprice;
case 6:
next;
@@ -209,13 +209,13 @@ Setprice:
mes "Overseas - Warps are dungeons related to towns overseas reachable by boat from Alberta.";
mes "Dungeon warp fees are calculated by maps away from entrance of the dungeon times Dungeon warp fee.";
mes "These costs are on top of the regular Warp costs.";
- input $QW_OW_FEE;
+ input($QW_OW_FEE, 0);
goto Setprice;
case 7:
next;
mes "Full Healing = "+(($QW_HF_PRICE)?"^00FF00"+$QW_HF_PRICE:"^FF0000Free")+"^000000";
mes "Instant full healing 1 price.";
- input $QW_HF_PRICE;
+ input($QW_HF_PRICE, 0);
goto Setprice;
case 8:
next;
@@ -224,8 +224,8 @@ Setprice:
mes "Healing price per 1 HP.";
mes "Healing price per 1 SP.";
mes "2 inputs, first HP then SP.";
- input $QW_HP_H_PRICE;
- input $QW_HP_S_PRICE;
+ input($QW_HP_H_PRICE, 0);
+ input($QW_HP_S_PRICE, 0);
goto Setprice;
case 9:
next;
@@ -233,13 +233,13 @@ Setprice:
if (!$QW_S_PRICE) mes "Storage = ^FF0000 Free ^000000";
if ($QW_S_PRICE == 60) mes "Storage = ^0000FF Kafra Mode ^000000";
mes "Storage cost, if set to 60 Kafra pricing will be handled.";
- input $QW_S_PRICE;
+ input($QW_S_PRICE, 0);
goto Setprice;
case 10:
next;
mes "Guild Storage = "+(($QW_GS_PRICE)?"^00FF00"+$QW_GS_PRICE:"^FF0000Free")+"^000000";
mes "Guild Storage, free on Guild Kafras.";
- input $QW_GS_PRICE;
+ input($QW_GS_PRICE, 0);
goto Setprice;
case 11:
goto GM_Menu;
@@ -264,21 +264,21 @@ SpecialWarpMenu:
case 1:
next;
mes "Set the name to show in the menu as option.";
- input $QW_SP_Warpname$;
+ input($QW_SP_Warpname$, 0);
goto SpecialWarpMenu;
case 2:
next;
mes "Set the map in the ^0000FFmapname^000000 format.";
mes "When this warpmap is set the option for players will show once they meet the requirments.";
mes "To disable Special Warp Menu option, clear this!";
- input $QW_SP_WarpMap$;
+ input($QW_SP_WarpMap$, 0);
goto SpecialWarpMenu;
case 3:
next;
mes "First input = Xcoord";
mes "Second input = Ycoord";
- input $QW_SP_WarpX;
- input $QW_SP_WarpY;
+ input($QW_SP_WarpX, 0);
+ input($QW_SP_WarpY, 0);
goto SpecialWarpMenu;
case 4:
goto GM_Menu;
@@ -301,7 +301,7 @@ DungeonLevelLimit:
mes "Set limit of Dungeon Depth 0 = entrance";
mes "Depth 1 is a map connected to 0 and so on";
mes "Shortest Route to map counts as depth";
- input $QW_DDL;
+ input($QW_DDL, 0);
goto DungeonLevelLimit;
case 3: goto GM_Menu;
default:
@@ -464,7 +464,7 @@ L_Storage:
if(#kafra_code) {
mes "Enter your storage password:";
set @code_,0;
- input @code_;
+ input(@code_, 0);
if(@code_ != #kafra_code) {
dispbottom "Wrong storage password.";
close;
@@ -495,7 +495,7 @@ L_GStorage:
if ($QW_KPoint == 1) set RESRVPTS, RESRVPTS + ($QW_GS_PRICE/5);
next;
mes "[Warpra]";
- mes "Close this window and I will open the ^5533FF" + getguildname(@GID) + "^000000 storage.";
+ mes "Close this window and I will open the ^5533FF" + getguildinfo(GUILDINFO_NAME, @GID) + "^000000 storage.";
close2;
guildopenstorage;
end;
@@ -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/etc/shifty_assassin.txt b/npc/custom/etc/shifty_assassin.txt
index 4acf7c8ac..cc92d3fce 100644
--- a/npc/custom/etc/shifty_assassin.txt
+++ b/npc/custom/etc/shifty_assassin.txt
@@ -27,7 +27,7 @@ morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
mes "They cost ^0000FF" + $ninja_price + " zeny ^000000each.";
set @buy,0;
- input @buy;
+ input(@buy, 0);
next;
if ($ninja_avail < 1) {
mes "[Shifty Assassin]";
@@ -83,8 +83,7 @@ morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
mes "Active Ninjas: "+#ninjas;
mes "Resting Ninjas: "+#ninjasr;
mes "How many do you want to send?";
- set @number,0;
- input @number;
+ input(@number);
if (@number < 1) {
mes "[Shifty Assassin]";
mes "You can't kill anyone without ninjas.";
@@ -144,7 +143,7 @@ morocc,148,86,5 script Shifty Assassin 4_F_JOB_ASSASSIN,{
mes "How many ninjas do you want to make available?";
next;
set @add,0;
- input @add;
+ input(@add, 0);
set $ninja_avail,$ninja_avail+@add;
mes @add + " ninjas added.";
close;
diff --git a/npc/custom/etc/stock_market.txt b/npc/custom/etc/stock_market.txt
index 465840dfe..b761d8d16 100644
--- a/npc/custom/etc/stock_market.txt
+++ b/npc/custom/etc/stock_market.txt
@@ -323,11 +323,8 @@ prontera,140,181,5 script Stock Market::stockmarket 4_M_MANAGER,{
mes "Enter the name of the share company";
mes "Transaction fee of ^FF0000" + $S_Trans + "z^000000 will apply.";
- set @buyname$,"0";
- input @buyname$;
-
- set @buyamount,0;
- input @buyamount;
+ input(@buyname$);
+ input(@buyamount);
// Checks valid number //
if (@buyamount < $S_BuyMin) {
mes "^FF0000Minimum of " + $S_BuyMin + " shares can be bought at a time.^000000";
@@ -476,10 +473,8 @@ prontera,140,181,5 script Stock Market::stockmarket 4_M_MANAGER,{
if (#S8 > 0) mes "^0000FF"+$S8N$+"^FF0000" + " x " + #S8 + " [" + $S8 + "z]";
if (#S9 > 0) mes "^0000FF"+$S9N$+"^FF0000" + " x " + #S9 + " [" + $S9 + "z]";
if (#S10 > 0) mes "^0000FF"+$S10N$+"^FF0000" + " x " + #S10 + " [" + $S10 + "z]";
- set @sellname$,"0";
- input @sellname$;
- set @sellamount,0;
- input @sellamount;
+ input(@sellname$);
+ input(@sellamount);
if (@sellamount < 1) {
mes "^FF0000Invalid integer.^000000";
next;
@@ -756,7 +751,7 @@ OnGMOpen:
if (select("Yes", "No") != 1)
return;
set @gmset,0;
- input @gmset;
+ input(@gmset, 0);
set $S1,@gmset;
set $S2,@gmset;
set $S3,@gmset;
diff --git a/npc/custom/events/cluckers.txt b/npc/custom/events/cluckers.txt
index 7047ca00e..2e6170693 100644
--- a/npc/custom/events/cluckers.txt
+++ b/npc/custom/events/cluckers.txt
@@ -74,11 +74,11 @@ prontera,156,219,4 script Cluckers 4_NFCOCK,{
case 3:
mes "[Cluckers]";
mes "Cluck cluck? Cluck??? ^FF0000~What should the prize for winning be? Please input the ID.~^000000";
- input $cluck_item_id;
+ input($cluck_item_id, 0);
next;
mes "[Cluckers]";
mes "Cluck? cluuuck? ^FF0000~How many if this item should I give away?~^000000";
- input $cluck_item_amount;
+ input($cluck_item_amount, 0);
next;
mes "[Cluckers]";
mes "Cluck cluck..? Cluck. ^FF0000~So, the prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +"^000000? ^FF0000Great.~^000000";
diff --git a/npc/custom/events/disguise.txt b/npc/custom/events/disguise.txt
index fde5e544a..37f8a4f99 100644
--- a/npc/custom/events/disguise.txt
+++ b/npc/custom/events/disguise.txt
@@ -67,7 +67,7 @@ prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
mes "Input the number of rounds you want the event to last.";
mes "Current number: [^0000FF"+.Rounds+"^000000]";
next;
- input .@Rounds;
+ input(.@Rounds, 0);
set .Rounds,.@Rounds;
mes .@n$;
mes "The number of rounds has been changed to "+.Rounds+".";
@@ -77,7 +77,7 @@ prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
mes "Input the Item ID of the prize given each round.";
mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")";
next;
- input .@Prize;
+ input(.@Prize, 0);
mes .@n$;
if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") {
mes "That item does not exist. Please try again.";
@@ -86,11 +86,11 @@ prontera,160,155,4 script Disguise Event 4_M_NFDEADMAN,{
set .Prize,.@Prize;
mes "Input the amount to be given.";
next;
- input .@amount;
+ input(.@amount);
mes .@n$;
- if (.@amount<=0 || .@amount>=10000) {
+ if (.@amount <= 0 || .@amount >= 10000) {
mes "That amount is invalid. Using default ammount of 1.";
- set .@amount,1;
+ .@amount = 1;
next;
mes .@n$;
}
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/events/valentinesdayexp.txt b/npc/custom/events/valentinesdayexp.txt
index 33339dcd9..195f20275 100644
--- a/npc/custom/events/valentinesdayexp.txt
+++ b/npc/custom/events/valentinesdayexp.txt
@@ -95,12 +95,15 @@ alberta,26,243,4 script Stephen#val1 1_M_MERCHANT,{
mes "you can come back again.";
mes "So how many do you want?";
next;
- set @needmon,0;
- input @flag_num;
- if (@flag_num <= 0) goto L_NONE;
- if (@flag_num > 5) goto L_ERR;
- set @needmon,@flag_num*5000;
- if (Zeny < @needmon) goto L_NOTENO;
+ @needmon = 0;
+ input(@flag_num);
+ if (@flag_num <= 0)
+ goto L_NONE;
+ if (@flag_num > 5)
+ goto L_ERR;
+ @needmon = @flag_num * 5000;
+ if (Zeny < @needmon)
+ goto L_NOTENO;
Zeny -= @needmon;
getitem 558,@flag_num;
mes "[Stephen]";
@@ -154,13 +157,17 @@ alberta,29,243,4 script Jainie#val1 1_M_INNKEEPER,{
mes "you can come back again.";
mes "So how many do you want? 1 portion is 4500z + 1 Milk.";
next;
- set @needmon,0;
- input @flag_num;
- if (@flag_num == 0) goto L_NONE;
- if (@flag_num > 5) goto L_ERR;
- set @needmon,@flag_num*4500;
- if (Zeny < @needmon) goto L_NOTENO;
- if (countitem(Milk) < @flag_num) goto L_NOMILK;
+ @needmon = 0;
+ input(@flag_num);
+ if (@flag_num == 0)
+ goto L_NONE;
+ if (@flag_num > 5)
+ goto L_ERR;
+ @needmon = @flag_num * 4500;
+ if (Zeny < @needmon)
+ goto L_NOTENO;
+ if (countitem(Milk) < @flag_num)
+ goto L_NOMILK;
Zeny -= @needmon;
delitem 519,@flag_num;
getitem 561,@flag_num;
diff --git a/npc/custom/expandedbartershop.txt b/npc/custom/expandedbartershop.txt
new file mode 100644
index 000000000..5ba988ad9
--- /dev/null
+++ b/npc/custom/expandedbartershop.txt
@@ -0,0 +1,63 @@
+//===== Hercules Script ======================================
+//= Expanded barter shop demo
+//===== By: ==================================================
+//= 4144
+//===== Current Version: =====================================
+//= 1.0
+//===== Description: =========================================
+//= Expanded barter shop demo in prontera.
+//============================================================
+
+prontera,160,284,4 trader Expanded Barter Shop#prt 4_M_KID1,{
+ end;
+OnInit:
+ tradertype(NST_EXPANDED_BARTER);
+
+ // Selling Orange_Potion with items price and 4 items price
+ startsellitem(Orange_Potion, 2, 100000);
+ sellitemcurrency(Banana, 2);
+ sellitemcurrency(Apple, 1);
+ sellitemcurrency(Carrot, 2);
+ sellitemcurrency(Sweet_Potato, 1);
+ endsellitem();
+
+ // sell item with price only in zeny
+ sellitem(White_Herb, 1, 100);
+ // sell item with zeny and item price
+ sellitem(Blue_Herb, 22, 200, Orange_Potion, 2, 3);
+
+ // sell item with price only in zeny (infinite amount)
+ sellitem(Green_Herb, 3, -1);
+
+ // sell item with zeny and two items price (1)
+ sellitem(Orange_Potion, 20, 100000, Banana, 2, -1, Berserk_Potion, 10, -1);
+
+ // sell item with zeny and two items price (same as before but with different zeny price)
+ sellitem(Orange_Potion, 1, 100000, Banana, 2, -1, Berserk_Potion, 10, -1);
+
+ // sell item with item price
+ sellitem(Blade, 0, 1000, Sword, 2, -1);
+
+ // sell item with zeny and two items price
+ sellitem(Scimiter, 2000, -1, Sword, 1, 2, Sword, 1, 5);
+
+ // sell item with zeny and two items price (selling another Orange_Potion)
+ sellitem(Orange_Potion, 1, 100000, Green_Herb, 2, -1);
+
+ // modify selling Orange_Potion with items price (same as previous)
+ // modification reset amount stored in db
+ startsellitem(Orange_Potion, 1, 100);
+ sellitemcurrency(Green_Herb, 2);
+ endsellitem();
+
+ // sell item with zeny and item price (selling another White_Herb)
+ sellitem(White_Herb, 10, 100, Banana, 1, -1);
+
+ // stop selling blades
+// stopselling(Blade, 1);
+
+ // sell item with zeny and two items price (modify amount for entry (1))
+// sellitem(Orange_Potion, 1, 200000, Banana, 2, -1, Berserk_Potion, 10, -1);
+
+ end;
+}
diff --git a/npc/custom/itembind.txt b/npc/custom/itembind.txt
index 7d95afdfc..f0e128453 100644
--- a/npc/custom/itembind.txt
+++ b/npc/custom/itembind.txt
@@ -25,7 +25,7 @@ prontera,144,174,4 script Bound Items 4_M_JP_MID,{
}
mes "What kind of bind?";
.@boundtype = 1 << (select("Account", "Guild", "Character")-1);
- if(.@boundtype == 2 && (!getcharid(CHAR_ID_GUILD) || getguildmaster(getcharid(CHAR_ID_GUILD)) != strcharinfo(PC_NAME))) {
+ if(.@boundtype == IBT_GUILD && (!getcharid(CHAR_ID_GUILD) || getguildinfo(GUILDINFO_MASTER_NAME, getcharid(CHAR_ID_GUILD)) != strcharinfo(PC_NAME))) {
mes "In order for me to bind an item to a guild you must be the master of one.";
close;
}
@@ -68,7 +68,7 @@ prontera,144,174,4 script Bound Items 4_M_JP_MID,{
mes "You don't have any bound items in your inventory. Not much I can do here.";
close;
}
- countbound(2);
+ countbound(IBT_GUILD);
if(.unbindprice) {
mes "Unbinding an item has a fee of ^0000FF"+.unbindprice+"^000000 zeny.";
if(Zeny < .unbindprice) {
@@ -88,7 +88,7 @@ prontera,144,174,4 script Bound Items 4_M_JP_MID,{
next;
for(.@i = 0; .@i < getarraysize(@bound_items); .@i++) {
if(@inventorylist_id[.@item] == @bound_items[.@i] &&
- (!getcharid(CHAR_ID_GUILD) || getguildmaster(getcharid(CHAR_ID_GUILD)) != strcharinfo(PC_NAME))
+ (!getcharid(CHAR_ID_GUILD) || getguildinfo(GUILDINFO_MASTER_NAME, getcharid(CHAR_ID_GUILD)) != strcharinfo(PC_NAME))
) {
mes "I will only unbind guild bound items that the guild master requests.";
close;
@@ -127,8 +127,8 @@ OnInit:
.logbinds = 1;
//Other stuff
- .boundtypes$[1] = "account";
- .boundtypes$[2] = "guild";
- .boundtypes$[4] = "character";
+ .boundtypes$[IBT_ACCOUNT] = "account";
+ .boundtypes$[IBT_GUILD] = "guild";
+ .boundtypes$[IBT_CHARACTER] = "character";
end;
}
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/custom/stylist.txt b/npc/custom/stylist.txt
index 0ee7d8822..188a91ca7 100644
--- a/npc/custom/stylist.txt
+++ b/npc/custom/stylist.txt
@@ -3,32 +3,72 @@
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Description: =========================================
//= Changes your hair style, hair color, and cloth color.
//===== Additional Comments: =================================
//= 1.1 Switched to 'getbattleflag', credits to Saithis. [Euphy]
+//= 1.2 Fix style start at min_style, add Job_Summoner [AnnieRuru]
//============================================================
prontera,170,180,1 script Stylist#custom_stylist 2_M_DYEINGER,{
-
- setarray .@styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color");
- setarray .@Look[1],7,1,6;
- set .@s, select(" ~ Cloth color", " ~ Hairstyle", " ~ Hair color");
- set .@Revert, getlook(.@Look[.@s]);
- set .@style,1;
- while(1) {
- setlook .@Look[.@s], .@style;
- message strcharinfo(PC_NAME),"This is style #"+.@style+".";
- set .@menu$, " ~ Next (^0055FF"+((.@style!=.@styles[.@s])?.@style+1:1)+"^000000): ~ Previous (^0055FF"+((.@style!=1)?.@style-1:.@styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
- switch(select(.@menu$)) {
- case 1: set .@style, ((.@style!=.@styles[.@s])?.@style+1:1); break;
- case 2: set .@style, ((.@style!=1)?.@style-1:.@styles[.@s]); break;
- case 3: message strcharinfo(PC_NAME),"Choose a style between 1 - "+.@styles[.@s]+".";
- input .@style,0,.@styles[.@s];
- if (!.@style) set .@style, rand(1,.@styles[.@s]);
- break;
- case 4: set .@style, .@Revert; setlook .@Look[.@s], .@Revert; break;
+ .@choose = select("Hair style", "Hair color", "Cloth color") - 1;
+ .@part = .look[.@choose];
+ if (BaseClass != Job_Summoner)
+ callsub(L_styles, .@part, .minstyle[.@part], .maxstyle[.@part]);
+ else
+ callsub(L_styles, .@part, .summoner_minstyle[.@part], .summoner_maxstyle[.@part]);
+L_styles:
+ .@lookpart = getarg(0);
+ .@minstyle = getarg(1);
+ .@maxstyle = getarg(2);
+ .@i = .@revert = getlook(.@lookpart);
+ while (true) {
+ setlook(.@lookpart, .@i);
+ message(strcharinfo(PC_NAME), sprintf(_("This is style #%d."), .@i));
+ if (.@i == .@maxstyle)
+ .@next = .@minstyle;
+ else
+ .@next = .@i + 1;
+ if (.@i == .@minstyle)
+ .@previous = .@maxstyle;
+ else
+ .@previous = .@i - 1;
+ switch(select(
+ sprintf(_(" ~ Next (%s%d%s)"), F_MesColor(C_BLUE), .@next, F_MesColor(C_BLACK)),
+ sprintf(_(" ~ Previous (%s%d%s)"), F_MesColor(C_BLUE), .@previous, F_MesColor(C_BLACK)),
+ " ~ Jump to...",
+ sprintf(_(" ~ Revert to original (%s%d%s)"), F_MesColor(C_BLUE), .@revert, F_MesColor(C_BLACK)))) {
+ case 1:
+ .@i = .@next;
+ break;
+ case 2:
+ .@i = .@previous;
+ break;
+ case 3:
+ message(strcharinfo(PC_NAME), sprintf(_("Choose a style between %d - %d."), .@minstyle, .@maxstyle));
+ input(.@i, .@minstyle, .@maxstyle);
+ break;
+ case 4:
+ .@i = .@revert;
}
}
+ end;
+OnInit:
+ setarray .look[0], LOOK_HAIR, LOOK_HAIR_COLOR, LOOK_CLOTHES_COLOR;
+
+ .minstyle[LOOK_HAIR] = getbattleflag("min_hair_style");
+ .maxstyle[LOOK_HAIR] = getbattleflag("max_hair_style");
+ .minstyle[LOOK_HAIR_COLOR] = getbattleflag("min_hair_color");
+ .maxstyle[LOOK_HAIR_COLOR] = getbattleflag("max_hair_color");
+ .minstyle[LOOK_CLOTHES_COLOR] = getbattleflag("min_cloth_color");
+ .maxstyle[LOOK_CLOTHES_COLOR] = getbattleflag("max_cloth_color");
+
+ .summoner_minstyle[LOOK_HAIR] = getbattleflag("min_hair_style");
+ .summoner_maxstyle[LOOK_HAIR] = getbattleflag("max_hair_style");
+ .summoner_minstyle[LOOK_HAIR_COLOR] = getbattleflag("min_hair_color");
+ .summoner_maxstyle[LOOK_HAIR_COLOR] = getbattleflag("max_hair_color");
+ .summoner_minstyle[LOOK_CLOTHES_COLOR] = getbattleflag("min_cloth_color");
+ .summoner_maxstyle[LOOK_CLOTHES_COLOR] = getbattleflag("max_cloth_color");
+ end;
}
diff --git a/npc/custom/woe_controller.txt b/npc/custom/woe_controller.txt
index 5f619c1db..e9139c0ce 100644
--- a/npc/custom/woe_controller.txt
+++ b/npc/custom/woe_controller.txt
@@ -149,7 +149,7 @@ OnMinute00:
function Disp_Owner {
set .@o, getcastledata(getarg(0),1);
- if (.@o) announce "The ["+getcastlename(getarg(0))+"] castle "+((getarg(1))?"has been conquered":"is currently held")+" by the ["+getguildname(.@o)+"] guild.",bc_all|bc_woe;
+ if (.@o) announce "The ["+getcastlename(getarg(0))+"] castle "+((getarg(1))?"has been conquered":"is currently held")+" by the ["+getguildinfo(GUILDINFO_NAME, .@o)+"] guild.",bc_all|bc_woe;
else announce "The ["+getcastlename(getarg(0))+"] castle is currently unoccupied.",bc_all|bc_woe;
return;
}
@@ -275,7 +275,7 @@ while(1) {
mes "> ^FF0000"+.Regions$[.@i]+"^000000";
for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) {
set .@t, getcastledata(.Castles$[.@j],1);
- mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000";
+ mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildinfo(GUILDINFO_NAME, .@t):"^777777unoccupied")+"^000000";
}
if (.@i < 5) mes " ";
}
diff --git a/npc/dev/ci_test.txt b/npc/dev/ci_test.txt
index c55c87e5b..9299daa9a 100644
--- a/npc/dev/ci_test.txt
+++ b/npc/dev/ci_test.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) 2014 Haru
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) 2014 Haru
//=
//= 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/npc/dev/test.txt b/npc/dev/test.txt
index 2822ee65c..a9e78489a 100644
--- a/npc/dev/test.txt
+++ b/npc/dev/test.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2017 Hercules Dev Team
-//= Copyright (C) 2013-2017 Haru
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) 2013-2020 Haru
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -786,10 +786,10 @@ function script HerculesSelfTestHelper {
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;
@@ -840,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/MemorialDay_2008.txt b/npc/events/MemorialDay_2008.txt
index b87bba5f2..0988c80ed 100644
--- a/npc/events/MemorialDay_2008.txt
+++ b/npc/events/MemorialDay_2008.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
//=
//= 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/npc/events/RWC_2011.txt b/npc/events/RWC_2011.txt
index 1fc15bba5..3dab7d174 100644
--- a/npc/events/RWC_2011.txt
+++ b/npc/events/RWC_2011.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/events/RWC_2012.txt b/npc/events/RWC_2012.txt
index ae1ded057..2096a3ff4 100644
--- a/npc/events/RWC_2012.txt
+++ b/npc/events/RWC_2012.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/events/StPatrick_2008.txt b/npc/events/StPatrick_2008.txt
index 323792344..7cba485d2 100644
--- a/npc/events/StPatrick_2008.txt
+++ b/npc/events/StPatrick_2008.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Kisuka
//=
//= 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/npc/events/bossnia.txt b/npc/events/bossnia.txt
index b1a061a0c..497ed75d0 100644
--- a/npc/events/bossnia.txt
+++ b/npc/events/bossnia.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
//=
//= 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/npc/events/children_week.txt b/npc/events/children_week.txt
index 2cb654cd8..b1de95c4b 100644
--- a/npc/events/children_week.txt
+++ b/npc/events/children_week.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
//=
//= 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/npc/events/christmas_2005.txt b/npc/events/christmas_2005.txt
index cba1581e0..06af14184 100644
--- a/npc/events/christmas_2005.txt
+++ b/npc/events/christmas_2005.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Paradox924X
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Brainstorm
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Paradox924X
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Brainstorm
//=
//= 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/npc/events/christmas_2008.txt b/npc/events/christmas_2008.txt
index 6d8621545..864d67723 100644
--- a/npc/events/christmas_2008.txt
+++ b/npc/events/christmas_2008.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
//=
//= 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/npc/events/dumplingfestival.txt b/npc/events/dumplingfestival.txt
index 641b8f2da..ea6d1f7dc 100644
--- a/npc/events/dumplingfestival.txt
+++ b/npc/events/dumplingfestival.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) Massdriller
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) Massdriller
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -67,8 +67,8 @@ payon,93,81,4 script Exorcist Master Fahae 4_M_BUDDHIST,{
mes "Each costs "+ .@price +"z.";
mes "(Type in 0 to cancel)";
next;
- input @input;
- if (@input == 0)
+ input(@input);
+ if (@input <= 0)
close;
if (@input > 5) {
mes "[Exorcist Master Fahae]";
diff --git a/npc/events/easter_2008.txt b/npc/events/easter_2008.txt
index 4d914ebcb..953ea9d12 100644
--- a/npc/events/easter_2008.txt
+++ b/npc/events/easter_2008.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Kisuka
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -91,7 +91,7 @@ prontera,111,99,5 script Egg Salesman#prt::EggVendor 4W_M_02,{
mes "Chicken Eggs so easily!";
next;
while(1) {
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Egg Salesman]";
mes "Hey, if you're not";
@@ -101,7 +101,7 @@ prontera,111,99,5 script Egg Salesman#prt::EggVendor 4W_M_02,{
mes "help out my customers?";
close;
}
- else if (.@input < 0 || .@input > 1000) {
+ if (.@input < 1 || .@input > 1000) {
mes "[Egg Salesman]";
mes "Hey, you mind giving";
mes "me a real number? I also";
@@ -110,42 +110,37 @@ prontera,111,99,5 script Egg Salesman#prt::EggVendor 4W_M_02,{
mes "you know. C'mon, tell me how";
mes "many you want for real now.";
next;
+ continue;
}
- else {
- .@egg_zeny = .@input*500;
- if (Zeny < .@egg_zeny) {
- mes "[Egg Salesman]";
- mes "You don't have enough Zeny.";
- next;
- mes "[Egg Salesman]";
- mes "No discount, go and get enough Zeny.";
- close;
- }
- else {
- if (checkweight(Chicken_Egg,.@input) == 0) {
- mes "[Egg Salesman]";
- mes "Hey, I know you really";
- mes "want to buy some Chicken";
- mes "Eggs, but you won't be able";
- mes "to carry that much now. Why";
- mes "don't you free up some";
- mes "Inventory space first?.";
- close;
- }
- else {
- mes "[Egg Salesman]";
- mes "Here's your Chicken Eggs!";
- mes "I guess there's some festival";
- mes "happening where you'll need";
- mes "them, but I don't know anything";
- mes "about that. Well, have a good";
- mes "time, and I'll see you again!";
- Zeny -= .@egg_zeny;
- getitem Chicken_Egg,.@input;
- close;
- }
- }
+ .@egg_zeny = .@input*500;
+ if (Zeny < .@egg_zeny) {
+ mes "[Egg Salesman]";
+ mes "You don't have enough Zeny.";
+ next;
+ mes "[Egg Salesman]";
+ mes "No discount, go and get enough Zeny.";
+ close;
}
+ if (checkweight(Chicken_Egg,.@input) == 0) {
+ mes "[Egg Salesman]";
+ mes "Hey, I know you really";
+ mes "want to buy some Chicken";
+ mes "Eggs, but you won't be able";
+ mes "to carry that much now. Why";
+ mes "don't you free up some";
+ mes "Inventory space first?.";
+ close;
+ }
+ mes "[Egg Salesman]";
+ mes "Here's your Chicken Eggs!";
+ mes "I guess there's some festival";
+ mes "happening where you'll need";
+ mes "them, but I don't know anything";
+ mes "about that. Well, have a good";
+ mes "time, and I'll see you again!";
+ Zeny -= .@egg_zeny;
+ getitem Chicken_Egg,.@input;
+ close;
}
case 4:
mes "[Egg Salesman]";
@@ -263,8 +258,8 @@ prontera,230,312,3 script Nerlen#es07 1_F_PRIEST,{
mes "Enter ''0'' to cancel.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Nerlen]";
mes "Oh, you changed your";
mes "mind? Feel free to visit me";
@@ -272,35 +267,32 @@ prontera,230,312,3 script Nerlen#es07 1_F_PRIEST,{
mes "make you some Holy Eggs~";
close;
}
- else if (.@input < 0 || .@input > 10) {
+ if (.@input > 10) {
mes "[Nerlen]";
mes "I'm sorry, but I can only";
mes "make up to 10 Holy Eggs";
mes "at a time. If you wanted to";
mes "cancel, then just enter ''0.''";
next;
+ continue;
}
- else {
- if ((countitem(White_Herb) < .@input) || (countitem(Green_Herb) < .@input) || (countitem(Yellow_Herb) < .@input) || (countitem(Holy_Water) < .@input) || (countitem(Chicken_Egg) < .@input)) {
- mes "[Nerlen]";
- mes "I'm sorry, but you don't";
- mes "have enough items to make";
- mes "Holy Eggs. You need the";
- mes "following for me to create";
- mes "each Holy Egg for you.";
- next;
- mes "[Nerlen]";
- mes "^4D4DFF1 White Herb^000000,";
- mes "^4D4DFF1 Green Herb^000000,";
- mes "^4D4DFF1 Yellow Herb^000000,";
- mes "^4D4DFF1 Holy Water^000000, and";
- mes "^4D4DFF1 Chicken Egg^000000.";
- close;
- }
- else {
- break;
- }
+ if ((countitem(White_Herb) < .@input) || (countitem(Green_Herb) < .@input) || (countitem(Yellow_Herb) < .@input) || (countitem(Holy_Water) < .@input) || (countitem(Chicken_Egg) < .@input)) {
+ mes "[Nerlen]";
+ mes "I'm sorry, but you don't";
+ mes "have enough items to make";
+ mes "Holy Eggs. You need the";
+ mes "following for me to create";
+ mes "each Holy Egg for you.";
+ next;
+ mes "[Nerlen]";
+ mes "^4D4DFF1 White Herb^000000,";
+ mes "^4D4DFF1 Green Herb^000000,";
+ mes "^4D4DFF1 Yellow Herb^000000,";
+ mes "^4D4DFF1 Holy Water^000000, and";
+ mes "^4D4DFF1 Chicken Egg^000000.";
+ close;
}
+ break;
}
if (checkweight(Holy_Egg,.@input) == 0) {
mes "[Nerlen]";
@@ -311,20 +303,18 @@ prontera,230,312,3 script Nerlen#es07 1_F_PRIEST,{
mes "space in your Inventory first.";
close;
}
- else {
- delitem White_Herb,.@input;
- delitem Green_Herb,.@input;
- delitem Yellow_Herb,.@input;
- delitem Holy_Water,.@input;
- delitem Chicken_Egg,.@input; //Egg
- getitem Holy_Egg,.@input;
- mes "[Nerlen]";
- mes "Thank you!";
- mes "I hope you enjoy";
- mes "these Holy Eggs~";
- mes "Hope you to be with God's love.";
- close;
- }
+ delitem White_Herb,.@input;
+ delitem Green_Herb,.@input;
+ delitem Yellow_Herb,.@input;
+ delitem Holy_Water,.@input;
+ delitem Chicken_Egg,.@input; //Egg
+ getitem Holy_Egg,.@input;
+ mes "[Nerlen]";
+ mes "Thank you!";
+ mes "I hope you enjoy";
+ mes "these Holy Eggs~";
+ mes "Hope you to be with God's love.";
+ close;
case 3:
mes "[Nerlen]";
mes "Alright, I understand.";
diff --git a/npc/events/easter_2010.txt b/npc/events/easter_2010.txt
index 154fb95c5..27e63ad5f 100644
--- a/npc/events/easter_2010.txt
+++ b/npc/events/easter_2010.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/events/event_skill_reset.txt b/npc/events/event_skill_reset.txt
index 0f01a3b98..4493c2e05 100644
--- a/npc/events/event_skill_reset.txt
+++ b/npc/events/event_skill_reset.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) $ephiroth
//=
//= 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/npc/events/gdevent_aru.txt b/npc/events/gdevent_aru.txt
index 0a3eef0b1..dc93b1b84 100644
--- a/npc/events/gdevent_aru.txt
+++ b/npc/events/gdevent_aru.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -85,7 +85,7 @@ arug_dun01,199,195,5 script Dwarf#aru_gd 4_M_DWARF,{
close;
}
.@chk_urquest = questprogress(2143,PLAYTIME);
- .@chk_yourgdname$ = getguildname(getcharid(CHAR_ID_GUILD));
+ .@chk_yourgdname$ = getguildinfo(GUILDINFO_NAME, getcharid(CHAR_ID_GUILD));
if ($@gdeventv_a1 == 0) {
if ($@gdevents_a$ == "") {
$@gdeventv_a1 = 1;
@@ -521,7 +521,7 @@ arug_que01,100,81,3 script Pierrot Pier#aru_gd 4_M_PIERROT,{
mes "- and come back later. -";
close;
}
- if (strcharinfo(PC_NAME) == getguildmaster(getcharid(CHAR_ID_GUILD))) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, getcharid(CHAR_ID_GUILD))) {
if ($@gdeventv_a2 == 0) {
.@que_2143 = questprogress(2143,PLAYTIME);
if (!.@que_2143) {
diff --git a/npc/events/gdevent_sch.txt b/npc/events/gdevent_sch.txt
index add37bcb9..8385cfab8 100644
--- a/npc/events/gdevent_sch.txt
+++ b/npc/events/gdevent_sch.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -85,7 +85,7 @@ schg_dun01,194,148,5 script Dwarf#sch_gd 4_M_DWARF,{
close;
}
.@chk_urquest = questprogress(2143,PLAYTIME);
- .@chk_yourgdname$ = getguildname(getcharid(CHAR_ID_GUILD));
+ .@chk_yourgdname$ = getguildinfo(GUILDINFO_NAME, getcharid(CHAR_ID_GUILD));
if ($@gdeventv_s1 == 0) {
if ($@gdevents_s$ == "") {
$@gdeventv_s1 = 1;
@@ -520,7 +520,7 @@ schg_que01,100,81,3 script Pierrot Pier#sch_gd 4_M_PIERROT,{
mes "- and come back later. -";
close;
}
- if (strcharinfo(PC_NAME) == getguildmaster(getcharid(CHAR_ID_GUILD))) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, getcharid(CHAR_ID_GUILD))) {
if ($@gdeventv_s2 == 0) {
.@que_2143 = questprogress(2143,PLAYTIME);
if (!.@que_2143) {
diff --git a/npc/events/god_se_festival.txt b/npc/events/god_se_festival.txt
index 7c0523cf5..22c489242 100644
--- a/npc/events/god_se_festival.txt
+++ b/npc/events/god_se_festival.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -72,7 +72,7 @@ yuno,118,192,5 script Rmimi Ravies#gq_fes01 4_F_HUGIRL,{
mes "This is the flower.";
mes "This is just a formality, but let me check your qualifications.";
next;
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes "[Rmimi Ravies]";
mes "Your qualification is verified as a Guild master.";
next;
@@ -141,7 +141,7 @@ yuno,118,192,5 script Rmimi Ravies#gq_fes01 4_F_HUGIRL,{
mes "[Rmimi Ravies]";
mes "Have a good time.";
donpcevent "Rmimi Ravies#gq_fes01::OnStart";
- announce "["+ strcharinfo(PC_NAME) +"] member of ["+ getguildname(.@GID) +"] is summoning a 'Valkyrie's Present' in 'Juno'.",bc_all,"0x70dbdb";
+ announce "["+ strcharinfo(PC_NAME) +"] member of ["+ getguildinfo(GUILDINFO_NAME, .@GID) +"] is summoning a 'Valkyrie's Present' in 'Juno'.",bc_all,"0x70dbdb";
close;
}
else {
@@ -448,7 +448,7 @@ rachel,132,117,3 script Rhehe Ravies#gq_fes03 4_F_HUGIRL,{
mes "A flower!!";
mes "Shall we proceed?";
next;
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes "[Rhehe Ravies]";
mes "Eeeeh, so young and yet you're a guild master? Your guildsmen must be jealous.";
next;
@@ -521,7 +521,7 @@ rachel,132,117,3 script Rhehe Ravies#gq_fes03 4_F_HUGIRL,{
mes "[Rhehe Ravies]";
mes "I hope you enjoy yourself!";
donpcevent "Rhehe Ravies#gq_fes03::OnStart";
- announce "["+ strcharinfo(PC_NAME) +"] member of ["+ getguildname(.@GID) +"] is summoning a 'Valkyrie's Present' in 'Rachel'.",bc_all,"0x70dbdb";
+ announce "["+ strcharinfo(PC_NAME) +"] member of ["+ getguildinfo(GUILDINFO_NAME, .@GID) +"] is summoning a 'Valkyrie's Present' in 'Rachel'.",bc_all,"0x70dbdb";
close;
}
else {
diff --git a/npc/events/halloween_2006.txt b/npc/events/halloween_2006.txt
index 940ffe30a..41cb5f1e3 100644
--- a/npc/events/halloween_2006.txt
+++ b/npc/events/halloween_2006.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Brainstorm
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Brainstorm
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -614,20 +614,20 @@ nif_fild01,165,115,3 script Chicken Masta#06_hw 4_M_NFDEADMAN2,{
mes "And maximum 3 is all you can get.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Chicken Masta]";
mes "You don't have to buy it, if you don't need it.";
close;
}
- else if (@input > 3) {
+ if (@input > 3) {
mes "[Chicken Masta]";
mes "What did I tell you.";
mes "I'm going to sell only three eggs.";
next;
+ continue;
}
- else
- break;
+ break;
}
.@hw_egg = .@input * 1000;
if (Zeny < @hw_egg) {
@@ -666,7 +666,7 @@ nif_fild01,167,113,3 script Masta's chicken#06_hw01 4_NFCOCK,{
mes "Oh, this must be Chicken Masta's chicken.";
mes "I should insert the magic word.";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if( .@inputstr$ == "Return" ) {
emotion e_omg;
specialeffect EF_TELEPORTATION;
diff --git a/npc/events/halloween_2008.txt b/npc/events/halloween_2008.txt
index 66fe73c33..93708a437 100644
--- a/npc/events/halloween_2008.txt
+++ b/npc/events/halloween_2008.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
//=
//= 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/npc/events/halloween_2009.txt b/npc/events/halloween_2009.txt
index e71abeaef..514426c3a 100644
--- a/npc/events/halloween_2009.txt
+++ b/npc/events/halloween_2009.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) Kisuka
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -349,8 +349,8 @@ prontera,220,72,5 duplicate(09Treats) Trick or Treater#iRO8 4_M_KID1,2,2
mes "[Halloween Wizard]";
mes "How many Fabrics or Jack o' Pumpkins do you want to use? Don't go over 100 because that is the max amount that I can use.";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Halloween Wizard]";
mes "You have no definite idea.";
mes "It's not a big deal.";
@@ -358,91 +358,89 @@ prontera,220,72,5 duplicate(09Treats) Trick or Treater#iRO8 4_M_KID1,2,2
next;
break;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Halloween Wizard]";
mes "I told you that it must be between 1 to 100!";
mes "You didn't pay attention!";
next;
break;
}
- else {
- .@fabric = countitem(Transparent_Cloth);
- .@jack = countitem(Pumpkin_Head);
- .@worn = countitem(Worn_Cloth_Piece);
- .@crushed = countitem(Pumpkin_Head_Crushed);
- .@whispers = 0;
- .@darklords = 0;
+ .@fabric = countitem(Transparent_Cloth);
+ .@jack = countitem(Pumpkin_Head);
+ .@worn = countitem(Worn_Cloth_Piece);
+ .@crushed = countitem(Pumpkin_Head_Crushed);
+ .@whispers = 0;
+ .@darklords = 0;
- .@total = .@fabric + .@jack + .@worn + .@crushed;
+ .@total = .@fabric + .@jack + .@worn + .@crushed;
- if(.@total < .@input) {
- mes "[Halloween Wizard]";
- mes "Recount the number of items you have and tell me the total.";
- mes "Huhuhuhuhuhu...";
- next;
- break;
- }
+ if(.@total < .@input) {
+ mes "[Halloween Wizard]";
+ mes "Recount the number of items you have and tell me the total.";
+ mes "Huhuhuhuhuhu...";
+ next;
+ break;
+ }
- if(.@fabric > 0) {
- if(.@fabric >= .@input) {
- delitem 1059,.@input;
- .@whispers += .@input;
- .@input = 0;
- }
- else{
- delitem 1059,.@fabric;
- .@input -= .@fabric;
- .@whispers += .@fabric;
- }
+ if(.@fabric > 0) {
+ if(.@fabric >= .@input) {
+ delitem 1059,.@input;
+ .@whispers += .@input;
+ .@input = 0;
}
- if(.@worn > 0 && .@input != 0) {
- if(.@worn >= .@input) {
- delitem 6299,.@input;
- .@whispers += .@input;
- .@input = 0;
- }
- else{
- delitem 6299,.@worn;
- .@input -= .@worn;
- .@whispers += .@worn;
- }
+ else{
+ delitem 1059,.@fabric;
+ .@input -= .@fabric;
+ .@whispers += .@fabric;
}
- if(.@jack > 0 && .@input != 0) {
- if(.@jack >= .@input) {
- delitem 1062,.@input;
- .@darklords += .@input;
- .@input = 0;
- }
- else{
- delitem 1062,.@jack;
- .@input -= .@jack;
- .@darklords += .@jack;
- }
+ }
+ if(.@worn > 0 && .@input != 0) {
+ if(.@worn >= .@input) {
+ delitem 6299,.@input;
+ .@whispers += .@input;
+ .@input = 0;
}
- if(.@crushed > 0 && .@input != 0) {
- if(.@crushed >= .@input) {
- delitem 6298,.@input;
- .@darklords += .@input;
- .@input = 0;
- }
- else{
- delitem 6298,.@crushed;
- .@input -= .@crushed;
- .@darklords += .@crushed;
- }
+ else{
+ delitem 6299,.@worn;
+ .@input -= .@worn;
+ .@whispers += .@worn;
}
- if (.@input > 0) {
- mes "Theres a problem.";
- close;
+ }
+ if(.@jack > 0 && .@input != 0) {
+ if(.@jack >= .@input) {
+ delitem 1062,.@input;
+ .@darklords += .@input;
+ .@input = 0;
}
- monster ""+.@HallowTowns$[.@HallowTown]+"",0,0,"Halloween Whisper",3014,.@whispers;
- monster ""+.@HallowTowns$[.@HallowTown]+"",0,0,"Halloween Dark Lord",3015,.@darklords;
- mes "[Halloween Wizard]";
- mes "Here's what you wanted.";
- mes "Imagine what the people must be thinking in the other villages?";
- mes "Muahahaha";
+ else{
+ delitem 1062,.@jack;
+ .@input -= .@jack;
+ .@darklords += .@jack;
+ }
+ }
+ if(.@crushed > 0 && .@input != 0) {
+ if(.@crushed >= .@input) {
+ delitem 6298,.@input;
+ .@darklords += .@input;
+ .@input = 0;
+ }
+ else{
+ delitem 6298,.@crushed;
+ .@input -= .@crushed;
+ .@darklords += .@crushed;
+ }
+ }
+ if (.@input > 0) {
+ mes "Theres a problem.";
close;
}
+ monster ""+.@HallowTowns$[.@HallowTown]+"",0,0,"Halloween Whisper",3014,.@whispers;
+ monster ""+.@HallowTowns$[.@HallowTown]+"",0,0,"Halloween Dark Lord",3015,.@darklords;
+ mes "[Halloween Wizard]";
+ mes "Here's what you wanted.";
+ mes "Imagine what the people must be thinking in the other villages?";
+ mes "Muahahaha";
+ close;
case 3:
mes "[Halloween Wizard]";
mes "If you change your mind, come back here...";
diff --git a/npc/events/idul_fitri.txt b/npc/events/idul_fitri.txt
index 50996c07d..93899cc77 100644
--- a/npc/events/idul_fitri.txt
+++ b/npc/events/idul_fitri.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) $ephiroth
//=
//= 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/npc/events/lunar_2008.txt b/npc/events/lunar_2008.txt
index 7a560e58a..1e229200e 100644
--- a/npc/events/lunar_2008.txt
+++ b/npc/events/lunar_2008.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/events/nguild/nguild_dunsw.txt b/npc/events/nguild/nguild_dunsw.txt
index 291b08db3..8cb7c578d 100644
--- a/npc/events/nguild/nguild_dunsw.txt
+++ b/npc/events/nguild/nguild_dunsw.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/events/nguild/nguild_ev_agit.txt b/npc/events/nguild/nguild_ev_agit.txt
index 9bb76f728..91b28d73e 100644
--- a/npc/events/nguild/nguild_ev_agit.txt
+++ b/npc/events/nguild/nguild_ev_agit.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -80,7 +80,7 @@ function script F_AgitBreak {
setcastledata .@map$,1, .@GID;
mapannounce .@map$,"The emperium has been destroyed.",bc_map,0x00CCFF;
- announce "The [" + getcastlename(.@map$) + "] castle has been conquered by the [" + getguildname(.@GID) + "] guild.",bc_all;
+ announce "The [" + getcastlename(.@map$) + "] castle has been conquered by the [" + getguildinfo(GUILDINFO_NAME, .@GID) + "] guild.",bc_all;
donpcevent "::OnRecvCastle"+.@castle$;
disablenpc "Kafra Staff#"+.@castle$;
diff --git a/npc/events/nguild/nguild_flags.txt b/npc/events/nguild/nguild_flags.txt
index 999f79dca..c0a1389cd 100644
--- a/npc/events/nguild/nguild_flags.txt
+++ b/npc/events/nguild/nguild_flags.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -68,10 +68,10 @@ function script F_Flags {
mes "1. Following the ordinance of the";
mes "Divine Rune Midgard Kingdom,";
mes "we approve that this place is in";
- mes "the private possession of ^ff0000" + getguildname(.@GID) + "^000000 Guild.";
+ mes "the private possession of ^ff0000" + getguildinfo(GUILDINFO_NAME, .@GID) + "^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+ getguildname(.@GID) + "^000000 Guild is";
- mes "^FF0000" + getguildmaster(.@GID) + "^000000";
+ mes "2. The guild Master of ^ff0000"+ getguildinfo(GUILDINFO_NAME, .@GID) + "^000000 Guild is";
+ mes "^FF0000" + getguildinfo(GUILDINFO_MASTER_NAME, .@GID) + "^000000";
mes "If there is anyone who objects to this,";
mes " prove your strength and honor with a steel blade in your hand.";
return;
diff --git a/npc/events/nguild/nguild_guardians.txt b/npc/events/nguild/nguild_guardians.txt
index 2598776f3..fb7a7ba09 100644
--- a/npc/events/nguild/nguild_guardians.txt
+++ b/npc/events/nguild/nguild_guardians.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) kobra_k88
//=
//= 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/npc/events/nguild/nguild_kafras.txt b/npc/events/nguild/nguild_kafras.txt
index 96371ec91..cd91efa42 100644
--- a/npc/events/nguild/nguild_kafras.txt
+++ b/npc/events/nguild/nguild_kafras.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -41,7 +41,7 @@ function script F_GKafra {
@GID = getcastledata(getarg(0),1);
if (getcharid(CHAR_ID_GUILD) != @GID || getgdskilllv(@GID,10001) < 1) {
mes "[Kafra Service]";
- mes "I am contracted to provide service only for the ^ff0000" + getguildname(@GID) + "^000000 Guild. Please use another Kafra Corporation staff member around here. I am Sorry for your inconvenience.";
+ mes "I am contracted to provide service only for the ^ff0000" + getguildinfo(GUILDINFO_NAME, @GID) + "^000000 Guild. Please use another Kafra Corporation staff member around here. I am Sorry for your inconvenience.";
cutin "",255;
close;
}
diff --git a/npc/events/nguild/nguild_managers.txt b/npc/events/nguild/nguild_managers.txt
index a24a0cb15..0e49e7efa 100644
--- a/npc/events/nguild/nguild_managers.txt
+++ b/npc/events/nguild/nguild_managers.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -48,16 +48,16 @@ function script F_GldManager {
return;
}
if (getcharid(CHAR_ID_GUILD) != @GID){
- mes "I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command! Hey! Your not even a part of the guild!!";
+ mes "I am here to follow ^5533FF" + getguildinfo(GUILDINFO_MASTER_NAME, @GID) + "^000000's command! Hey! Your not even a part of the guild!!";
mes "Where are the guardians? Destroy these intruders!";
return;
}
- if (strcharinfo(PC_NAME) != getguildmaster(@GID)){
- mes "You're not ^5533FF" + getguildmaster(@GID) + "^000000! I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command only";
+ if (strcharinfo(PC_NAME) != getguildinfo(GUILDINFO_MASTER_NAME, @GID)){
+ mes "You're not ^5533FF" + getguildinfo(GUILDINFO_MASTER_NAME, @GID) + "^000000! I am here to follow ^5533FF" + getguildinfo(GUILDINFO_MASTER_NAME, @GID) + "^000000's command only";
return 0;
}
- mes "Welcome Master ^5533FF" + getguildmaster(@GID) + "^000000 ! I will assist you in any way I can!";
+ mes "Welcome Master ^5533FF" + getguildinfo(GUILDINFO_MASTER_NAME, @GID) + "^000000 ! I will assist you in any way I can!";
next;
switch (select("Kafra Staff Employment / Dismissal","Enter Treasure Room","Cancel")) {
diff --git a/npc/events/nguild/nguild_treas.txt b/npc/events/nguild/nguild_treas.txt
index 8bfa184c5..a2f1d3ada 100644
--- a/npc/events/nguild/nguild_treas.txt
+++ b/npc/events/nguild/nguild_treas.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) brianluau
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) brianluau
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/events/nguild/nguild_warper.txt b/npc/events/nguild/nguild_warper.txt
index a2e2faed1..9cc5428d9 100644
--- a/npc/events/nguild/nguild_warper.txt
+++ b/npc/events/nguild/nguild_warper.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
//=
//= 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/npc/events/twintowers.txt b/npc/events/twintowers.txt
index 0d9ede6f8..0dabe4a8e 100644
--- a/npc/events/twintowers.txt
+++ b/npc/events/twintowers.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) ultramage
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) massdriller
-//= Copyright (C) sEiKaN
-//= Copyright (C) Akaru
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) ultramage
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) massdriller
+//= Copyright (C) sEiKaN
+//= Copyright (C) Akaru
//=
//= 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/npc/events/valentinesday.txt b/npc/events/valentinesday.txt
index bb64f4121..3698dfb7c 100644
--- a/npc/events/valentinesday.txt
+++ b/npc/events/valentinesday.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib (Prometheus Project)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib (Prometheus Project)
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -58,8 +58,9 @@ alberta,26,243,4 script Stephen 1_M_MERCHANT,{
mes "you can come back again.";
mes "So how many do you want?";
next;
- input .@i;
- if (.@i <= 0) close;
+ input(.@i);
+ if (.@i <= 0)
+ close;
mes "[Stephen]";
if (.@i > 5) {
mes "I'm sorry, but I can't give you that many.";
diff --git a/npc/events/valentinesday_2009.txt b/npc/events/valentinesday_2009.txt
index 1151a08fb..14b97c30e 100644
--- a/npc/events/valentinesday_2009.txt
+++ b/npc/events/valentinesday_2009.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) Kisuka
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -66,7 +66,7 @@ prontera,164,174,4 script Trader#Val09 1_M_MERCHANT,{
mes "How many do you want anyway?";
next;
while(.@input <= 0 || .@input > 5) {
- input .@input;
+ input(.@input);
if (.@input < 1) {
mes "[Marco Bassinio]";
mes "Oh, it's such a shame!";
@@ -195,7 +195,7 @@ prontera,147,171,5 script Packs Trader#Val09 1_M_MERCHANT,{
mes "How many do you want?";
mes "You can't buy more than 10 items at once.";
next;
- input .@input;
+ input(.@input);
if (.@input <= 0) {
mes "[Packs Trader]";
mes "Nothing to buy.";
@@ -236,7 +236,7 @@ prontera,147,171,5 script Packs Trader#Val09 1_M_MERCHANT,{
mes "How many do you want?";
mes "You can't buy more than 10 items at once.";
next;
- input .@input;
+ input(.@input);
if (.@input <= 0) {
mes "[Packs Trader]";
mes "Nothing to buy.";
@@ -277,7 +277,7 @@ prontera,147,171,5 script Packs Trader#Val09 1_M_MERCHANT,{
mes "How many do you want?";
mes "You can't buy more than 10 items at once.";
next;
- input .@input;
+ input(.@input);
if (.@input <= 0) {
mes "[Packs Trader]";
mes "Nothing to buy.";
@@ -443,7 +443,7 @@ prontera,157,185,4 script Valentine Vote Manager#v 4_F_KAFRA5,{
mes "When you write the number of the rings, the number shouldn't be larger than the number of rings you actually have.";
mes "'0', cancels everything.";
next;
- input .@input;
+ input(.@input);
if (.@input <= 0) {
mes "[Valentine Vote Manager]";
diff --git a/npc/events/valentinesday_2012.txt b/npc/events/valentinesday_2012.txt
index 0b240180f..2b07efd9c 100644
--- a/npc/events/valentinesday_2012.txt
+++ b/npc/events/valentinesday_2012.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Rikimaru
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Rikimaru
//=
//= 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/npc/events/whiteday.txt b/npc/events/whiteday.txt
index 58655bf11..32153a363 100644
--- a/npc/events/whiteday.txt
+++ b/npc/events/whiteday.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Muad_Dib (Prometheus Project)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Muad_Dib (Prometheus Project)
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -118,16 +118,18 @@ S_Purchase:
.@price = getarg(0);
.@item_id = getarg(1);
while (true) {
- input .@amount;
- if (.@amount <= 5)
- break;
- mes "[Sugar]";
- mes "???";
- mes "You seem to have a failure on hearing.";
- mes "I will tell you once again?";
- mes "You can only purchase";
- mes "^ff0000 5 pieces^000000 at once.";
- next;
+ input(.@amount);
+ if (.@amount < 0 || .@amount > 5) {
+ mes "[Sugar]";
+ mes "???";
+ mes "You seem to have a failure on hearing.";
+ mes "I will tell you once again?";
+ mes "You can only purchase";
+ mes "^ff0000 5 pieces^000000 at once.";
+ next;
+ continue;
+ }
+ break;
}
if (.@amount == 0) // Cancel
return;
diff --git a/npc/events/xmas.txt b/npc/events/xmas.txt
index 7419bc4bc..6d22f5b95 100644
--- a/npc/events/xmas.txt
+++ b/npc/events/xmas.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Kayla
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) shadowlady
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Kayla
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) shadowlady
//=
//= 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/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt
index 2964f7e2a..3cfa7a00e 100644
--- a/npc/instances/EndlessTower.txt
+++ b/npc/instances/EndlessTower.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1300,7 +1300,7 @@ OnTimer120000:
mes("This NPC manages the tower from the 1st to the 25th Level.");
mes("Please enter the Level number to open.");
mes("(i.g.: 1F->1, 25F->25)");
- input(.@input, 1, 25);
+ input(.@input);
next();
if (.@input < 1 || .@input > 25) {
mes("You can only enter a number from 1 to 25.");
@@ -1412,9 +1412,9 @@ OnTouch_:
mes("This NPC manages the tower from the 26st to the 50th Level.");
mes("Please enter the Level number to open.");
mes("(i.g.: 26F->26, 50F->50)");
- input(.@input, 26, 50);
+ input(.@input);
next();
- if (.@onput < 26 || .@input > 50) {
+ if (.@input < 26 || .@input > 50) {
mes("You can only enter a number from 26 to 50.");
} else {
donpcevent(instance_npcname(.@input+"FGate102tower")+"::OnEnable");
@@ -1524,7 +1524,7 @@ OnTouch_:
mes("This NPC manages the tower from the 51st to the 75th Level.");
mes("Please enter the Level number to open.");
mes("(i.g.: 51F->51, 75F->75)");
- input(.@input, 51, 75);
+ input(.@input);
next();
if (.@input < 51 || .@input > 75) {
mes("You can only enter a number from 51 to 75.");
@@ -1635,7 +1635,7 @@ OnTouch_:
mes("This NPC manages the tower from the 76th to the 99th Level.");
mes("Please enter the Level number to open.");
mes("(i.g.: 76F->76, 99F->99)");
- input(.@input, 76, 99);
+ input(.@input);
next();
if (.@input < 76 || .@input > 99) {
mes("You can only enter a number from 76 to 99.");
diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt
index d39d90cd3..f39f48e93 100644
--- a/npc/instances/NydhoggsNest.txt
+++ b/npc/instances/NydhoggsNest.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2234,7 +2234,7 @@ sec_in02,36,167,3 script Nidhoggur Manager 4_M_FAIRYSOLDIER,1,1,{
}
mes("Input the variable number");
next();
- input(.@input);
+ input(.@input, 0);
setd(.@var$, .@input);
mesf("%s has been set to %d.", .@var$, .@input);
close();
diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt
index 383786696..a9ab68be7 100644
--- a/npc/instances/OrcsMemory.txt
+++ b/npc/instances/OrcsMemory.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt
index 91771c31c..b4873a593 100644
--- a/npc/instances/SealedShrine.txt
+++ b/npc/instances/SealedShrine.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1108,13 +1108,15 @@ OnInstanceInit:
next();
mes("The bottom of the Main Altar trembles furiously.");
next();
- specialeffect(EF_METEORSTORM);
- specialeffect(EF_METEORSTORM);
- mesf("[%s]", strcharinfo(PC_NAME));
- mes("Watch out! Something... Something is coming.");
- 'ins_baphomet = 6;
- donpcevent(instance_npcname("ins_2f_hero_broad")+"::OnEnable");
- disablenpc(instance_npcname("The Main Altar#ss"));
+ if ('ins_baphomet == 5) {
+ specialeffect(EF_METEORSTORM);
+ specialeffect(EF_METEORSTORM);
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Watch out! Something... Something is coming.");
+ 'ins_baphomet = 6;
+ donpcevent(instance_npcname("ins_2f_hero_broad")+"::OnEnable");
+ disablenpc(instance_npcname("The Main Altar#ss"));
+ }
close();
} else {
mes("An evil power, too terrible to describe, lies under the great altar radiating a violet color.");
diff --git a/npc/jobs/1-1e/gunslinger.txt b/npc/jobs/1-1e/gunslinger.txt
index 1369a209b..5c13d3de9 100644
--- a/npc/jobs/1-1e/gunslinger.txt
+++ b/npc/jobs/1-1e/gunslinger.txt
@@ -9,18 +9,18 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) ultramage
-//= Copyright (C) Playtester
-//= Copyright (C) KarLaeda
-//= Copyright (C) CBMaster
-//= Copyright (C) Lupus
-//= Copyright (C) Kisuka
-//= Copyright (C) erKURITA
-//= Copyright (C) RockmanEXE
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) ultramage
+//= Copyright (C) Playtester
+//= Copyright (C) KarLaeda
+//= Copyright (C) CBMaster
+//= Copyright (C) Lupus
+//= Copyright (C) Kisuka
+//= Copyright (C) erKURITA
+//= Copyright (C) RockmanEXE
//=
//= 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/npc/jobs/1-1e/ninja.txt b/npc/jobs/1-1e/ninja.txt
index 762f94b4b..a1a0cc690 100644
--- a/npc/jobs/1-1e/ninja.txt
+++ b/npc/jobs/1-1e/ninja.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) SinSloth
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Kisuka
-//= Copyright (C) Legionaire
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) SinSloth
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Kisuka
+//= Copyright (C) Legionaire
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -93,9 +93,9 @@ alberta,30,65,3 script Akagi 4_M_JOB_ASSASSIN,{
}
}
-que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
+que_ng,30,65,3 script Kuuga Gai#nq 4_M_JOB_ASSASSIN,{
if (Upper == 2) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "I... I've never";
mes "seen a baby as";
mes "powerful as you!";
@@ -105,7 +105,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
}
if (Class == Job_Novice) {
if (JobLevel < 10) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Hm? Have you come to";
mes "learn how to be a Ninja?";
mes "You're not quite experienced";
@@ -119,7 +119,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "Excuse me.";
mes "H-hello?";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "...............................";
mes "How did you do that?";
next;
@@ -127,7 +127,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "Do what? I didn't";
mes "do anything, I don't think...";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "H-How are you able to";
mes "see me? I'm supposed to";
mes "be invisible to the naked eye.";
@@ -140,7 +140,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "Calm down, there's no";
mes "need to get violent!";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "What...?";
mes "How did you dodge";
mes "all of my attacks?";
@@ -153,7 +153,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "to change my job";
mes "to a Ninja.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "...Oh. Is that all?";
mes "Hmm, you've got great";
mes "potential, but I can't help";
@@ -161,14 +161,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "enemies, and I can't let my";
mes "guard down for even a second.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "That Wildcat Joe is";
mes "completely ruthless...!";
mes "He could strike at any time!";
mes "He'll do anything to achieve";
mes "victory over his enemies!";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Wait, wait, I just";
mes "thought of something.";
mes "Maybe you can help me out.";
@@ -177,7 +177,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "really want to be a Ninja.";
next;
if(select("Sure.", "No, thanks.") == 2) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Hm? Well, alright.";
mes "Still, I don't see";
mes "why we can't help";
@@ -185,7 +185,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "little predicament...";
close;
}
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Great! Now, I wanted to";
mes "ask Wildcat Joe if he'd";
mes "agree to a temporary truce.";
@@ -193,7 +193,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "are out of weapons, so we";
mes "should get well equipped first.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Please take this letter,";
mes "and deliver it to Wildcat";
mes "Joe in Einbroch. He's a master";
@@ -201,7 +201,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "eye out for him. Ah, and look";
mes "for him in a high place.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Yeah, Wildcat Joe";
mes "always did have a thing";
mes "for hiding in high places.";
@@ -213,7 +213,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
close;
}
else if (NINJ_Q == 1) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Even if this task";
mes "isn't that urgent,";
mes "please hurry over to";
@@ -222,7 +222,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
close;
}
else if (NINJ_Q == 2) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Did you deliver that";
mes "letter to Wildcat Joe?";
mes "I still need to know his";
@@ -232,14 +232,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
close;
}
else if (NINJ_Q == 3) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Ah, you've returned.";
mes "So did Wildcat Joe send";
mes "you back here with his";
mes "response? Great, great,";
mes "please let me read it.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "What...?! How could he";
mes "reject my proposal for";
mes "a truce?! This can only";
@@ -247,14 +247,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "Kunai. Nuts! I have to catch";
mes "up to him, or I'm a goner!";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Listen, you've got to help";
mes "me out again! I need you to";
mes "gather some materials so that";
mes "I can craft my own Kunai to fight Wildcat Joe. Then, I'll go ahead";
mes "and change your job to a Ninja.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "All you need";
mes "to bring me is";
mes "^3355FF5 Cyfars^000000 and";
@@ -268,7 +268,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "asked me to gather";
mes "those same materials.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Curses! Then that means...";
mes "You actually helped Joe";
mes "in crafting his Kunai! No!";
@@ -281,7 +281,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
}
else if (NINJ_Q == 4) {
if (countitem(Cyfar) < 5 || countitem(Phracon) < 1) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Hurry and bring";
mes "^3355FF5 Cyfars^000000 and";
mes "^3355FF1 Phracon^000000 to me,";
@@ -291,7 +291,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
close;
}
if (SkillPoint != 0) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Whoa, whoa...";
mes "You still have some";
mes "leftover Skill Points.";
@@ -300,7 +300,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "change jobs, right?";
close;
}
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Ah, you're back with";
mes "everything that I need.";
mes "You've come earlier than";
@@ -308,14 +308,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "as promised, I'll turn";
mes "you into a Ninja.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Let me formally introduce";
- mes "myself. I am High Ninja Cougar";
+ mes "myself. I am High Ninja Kuuga Gai";
mes "in the Touga Ninja Corps, and";
mes "I'm in charge of the search";
mes "party to find Sir Kazma.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Sir Kazma is the chief";
mes "of my village, but he's";
mes "run away. This has resulted";
@@ -323,7 +323,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "the Ninja Corps. Things are";
mes "pretty unstable right now...";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "I initially didn't want to";
mes "accept you as a Ninja because";
mes "of this complicated situation.";
@@ -331,14 +331,14 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "you're truly worthy of joining";
mes "the Ninja ranks.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "According to his letter, even";
mes "Joe thinks highly of you. Just";
mes "remember that, as a Ninja, your";
mes "mission is your highest priority. But don't let mission objectives";
mes "supercede your conscience.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "''Secrecy above all else.''";
mes "To keep our secrets in the";
mes "shadows, you can only buy";
@@ -346,7 +346,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "authorized dealers. Please";
mes "keep that in mind.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "As of today, you are";
mes "now a proud member of the";
mes "Touga Ninja Corps. Be as";
@@ -361,7 +361,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
close;
}
else {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "How have you been?";
mes "Train hard: you want";
mes "to be able to vanish";
@@ -372,7 +372,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
}
} else {
if (BaseClass == Job_Ninja) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "How have you been?";
mes "Train hard: you want";
mes "to be able to vanish";
@@ -381,7 +381,7 @@ que_ng,30,65,3 script Cougar#nq 4_M_JOB_ASSASSIN,{
mes "the respect of any Ninja~";
close;
} else {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "What...?";
mes "How were you able";
mes "to find me hidden";
@@ -478,7 +478,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "?????!!";
next;
mes "[Suspicious Man]";
- mes "Why? Didn't you bring Cougar's letter for me?";
+ mes "Why? Didn't you bring Kuuga Gai's letter for me?";
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Are you...";
@@ -487,7 +487,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "[Suspicious Man]";
mes "...Yes, but I prefer to";
mes "be called Red Leopard Joe.";
- mes "Cougar sent you to me, right?";
+ mes "Kuuga Gai sent you to me, right?";
mes "He's the only one who calls";
mes "me that. So you want to be";
mes "a Ninja, eh? Hmm, alright.";
@@ -513,7 +513,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "[Red Leopard Joe]";
mes "For now, let me read";
mes "this letter. Let's see...";
- mes "Hm. I thought that Cougar";
+ mes "Hm. I thought that Kuuga Gai";
mes "would want to challenge me";
mes "again, but he actually wants";
mes "a temporary truce? Hah!";
@@ -540,7 +540,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "[Red Leopard Joe]";
mes "Here you go.";
mes "Please bring this";
- mes "letter to Cougar.";
+ mes "letter to Kuuga Gai.";
mes "It'll take a while to";
mes "return to Amatsu, so let";
mes "me send you there directly...";
@@ -557,7 +557,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
mes "Eh? I'm not sure what";
mes "happened, but it seems";
mes "that you haven't delivered";
- mes "my response to Cougar yet.";
+ mes "my response to Kuuga Gai yet.";
mes "Shall I directly send you";
mes "to Amatsu right now?";
next;
@@ -577,7 +577,7 @@ einbroch,184,194,3 script Suspicious Man#nq 4_M_SITDOWN,{
}
else if (NINJ_Q == 4) {
mes "[Red Leopard Joe]";
- mes "Cougar asked you to";
+ mes "Kuuga Gai asked you to";
mes "gather some materials";
mes "too? Oh well, I suppose";
mes "that I can't blame him.";
diff --git a/npc/jobs/1-1e/taekwon.txt b/npc/jobs/1-1e/taekwon.txt
index 80f3ba0ea..95e2e12f1 100644
--- a/npc/jobs/1-1e/taekwon.txt
+++ b/npc/jobs/1-1e/taekwon.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) Tsuyuki
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) Tsuyuki
//=
//= 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/npc/jobs/2-1/assassin.txt b/npc/jobs/2-1/assassin.txt
index fcc1c4c98..c6bdfc6be 100644
--- a/npc/jobs/2-1/assassin.txt
+++ b/npc/jobs/2-1/assassin.txt
@@ -9,21 +9,21 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) JayPee
-//= Copyright (C) Kisuka
-//= Copyright (C) brianluau
-//= Copyright (C) Zephyrus
-//= Copyright (C) Zephyrus_cr
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Toms
-//= Copyright (C) Silent
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Pgro Team (OwNaGe)
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) JayPee
+//= Copyright (C) Kisuka
+//= Copyright (C) brianluau
+//= Copyright (C) Zephyrus
+//= Copyright (C) Zephyrus_cr
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Toms
+//= Copyright (C) Silent
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Pgro Team (OwNaGe)
+//= Copyright (C) kobra_k88
//=
//= 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/npc/jobs/2-1/blacksmith.txt b/npc/jobs/2-1/blacksmith.txt
index 8b1c9e9d3..c87a43c5c 100644
--- a/npc/jobs/2-1/blacksmith.txt
+++ b/npc/jobs/2-1/blacksmith.txt
@@ -9,20 +9,20 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) Yommy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) celest
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//= Copyright (C) Komurka
-//= Copyright (C) yoshiki
-//= Copyright (C) EREMES THE CANIVALIZER(Aegis)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) Yommy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silent
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) celest
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
+//= Copyright (C) Komurka
+//= Copyright (C) yoshiki
+//= Copyright (C) EREMES THE CANIVALIZER(Aegis)
//=
//= 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/npc/jobs/2-1/hunter.txt b/npc/jobs/2-1/hunter.txt
index 76b3c4b39..4ee344a7b 100644
--- a/npc/jobs/2-1/hunter.txt
+++ b/npc/jobs/2-1/hunter.txt
@@ -9,20 +9,20 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vali
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) FlavioJS
-//= Copyright (C) Silent
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) celest
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//= Copyright (C) yoshiki
-//= Copyright (C) EREMES THE CANIVALIZER (Aegis)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vali
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) FlavioJS
+//= Copyright (C) Silent
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) celest
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
+//= Copyright (C) yoshiki
+//= Copyright (C) EREMES THE CANIVALIZER (Aegis)
//=
//= 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/npc/jobs/2-1/knight.txt b/npc/jobs/2-1/knight.txt
index f75d0ea46..51d052fd5 100644
--- a/npc/jobs/2-1/knight.txt
+++ b/npc/jobs/2-1/knight.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Vali
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//= Copyright (C) PGRO TEAM (Aegis)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Vali
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
+//= Copyright (C) PGRO TEAM (Aegis)
//=
//= 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/npc/jobs/2-1/priest.txt b/npc/jobs/2-1/priest.txt
index fa33215d6..2f544e78a 100644
--- a/npc/jobs/2-1/priest.txt
+++ b/npc/jobs/2-1/priest.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) KarLaeda
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//= Copyright (C) Pgro Team (OwNaGe)(Aegis)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) KarLaeda
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
+//= Copyright (C) Pgro Team (OwNaGe)(Aegis)
//=
//= 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/npc/jobs/2-1/wizard.txt b/npc/jobs/2-1/wizard.txt
index 08f2177d4..3814e1880 100644
--- a/npc/jobs/2-1/wizard.txt
+++ b/npc/jobs/2-1/wizard.txt
@@ -9,19 +9,19 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Vali
-//= Copyright (C) Kisuka
-//= Copyright (C) SoulBlaker
-//= Copyright (C) Yommy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Zairik
-//= Copyright (C) Vicious
-//= Copyright (C) Silentdragon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//= Copyright (C) yoshiki
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Vali
+//= Copyright (C) Kisuka
+//= Copyright (C) SoulBlaker
+//= Copyright (C) Yommy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Zairik
+//= Copyright (C) Vicious
+//= Copyright (C) Silentdragon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
+//= Copyright (C) yoshiki
//=
//= 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/npc/jobs/2-1a/AssassinCross.txt b/npc/jobs/2-1a/AssassinCross.txt
index deb940dd2..6030f0372 100644
--- a/npc/jobs/2-1a/AssassinCross.txt
+++ b/npc/jobs/2-1a/AssassinCross.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-1a/HighPriest.txt b/npc/jobs/2-1a/HighPriest.txt
index 1b53a8732..359323b20 100644
--- a/npc/jobs/2-1a/HighPriest.txt
+++ b/npc/jobs/2-1a/HighPriest.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-1a/HighWizard.txt b/npc/jobs/2-1a/HighWizard.txt
index 511d620f4..48e9d1b7c 100644
--- a/npc/jobs/2-1a/HighWizard.txt
+++ b/npc/jobs/2-1a/HighWizard.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-1a/LordKnight.txt b/npc/jobs/2-1a/LordKnight.txt
index da60caa92..04925806a 100644
--- a/npc/jobs/2-1a/LordKnight.txt
+++ b/npc/jobs/2-1a/LordKnight.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-1a/Sniper.txt b/npc/jobs/2-1a/Sniper.txt
index f026ad30f..1a99dc48e 100644
--- a/npc/jobs/2-1a/Sniper.txt
+++ b/npc/jobs/2-1a/Sniper.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-1a/WhiteSmith.txt b/npc/jobs/2-1a/WhiteSmith.txt
index d8166cbab..512e39826 100644
--- a/npc/jobs/2-1a/WhiteSmith.txt
+++ b/npc/jobs/2-1a/WhiteSmith.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-1e/StarGladiator.txt b/npc/jobs/2-1e/StarGladiator.txt
index 9963eaf48..7a9c54afc 100644
--- a/npc/jobs/2-1e/StarGladiator.txt
+++ b/npc/jobs/2-1e/StarGladiator.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Samuray22
-//= Copyright (C) Celestria
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Samuray22
+//= Copyright (C) Celestria
//=
//= 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/npc/jobs/2-2/alchemist.txt b/npc/jobs/2-2/alchemist.txt
index 634e0753b..4111c2d6a 100644
--- a/npc/jobs/2-2/alchemist.txt
+++ b/npc/jobs/2-2/alchemist.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//= Copyright (C) Darkchild
-//= Copyright (C) nestor_zulueta (Fusion)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
+//= Copyright (C) Darkchild
+//= Copyright (C) nestor_zulueta (Fusion)
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -567,33 +567,39 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
mes "[Raspuchin Gregory]";
mes "12 + 23 + 34 + 45 = ?";
next;
- input .@input;
- if (.@input != 114) .@w_point += 1;
+ input(.@input);
+ if (.@input != 114)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "1000 - 36 - 227 - 348 = ?";
next;
- input .@input;
- if (.@input != 389) .@w_point += 1;
+ input(.@input);
+ if (.@input != 389)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "14 * 17 * 3 = ?";
next;
- input .@input;
- if (.@input != 714) .@w_point += 1;
+ input(.@input);
+ if (.@input != 714)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "9765 / 3 / 5 / 7 = ?";
next;
- input .@input;
- if (.@input != 93) .@w_point += 1;
+ input(.@input);
+ if (.@input != 93)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(47 * 28) - (1376 / 4) = ?";
next;
- input .@input;
- if (.@input != 972) .@w_point += 1;
+ input(.@input);
+ if (.@input != 972)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(2646 / 7) + (13 * 28) = ?";
next;
- input .@input;
- if (.@input != 742) .@w_point += 1;
+ input(.@input);
+ if (.@input != 742)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("How much do\r"
"12 %s,\r"
@@ -604,8 +610,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Wing_Of_Butterfly),
getitemname(Wing_Of_Fly));
next;
- input .@input;
- if (.@input != 909) .@w_point += 1;
+ input(.@input);
+ if (.@input != 909)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total weight of\r"
@@ -615,8 +622,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Helm),
getitemname(Coat));
next;
- input .@input;
- if (.@input != 450) .@w_point += 1;
+ input(.@input);
+ if (.@input != 450)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total defense of\r"
@@ -632,8 +640,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Boots),
getitemname(Ear_Mufs));
next;
- input .@input;
- if (.@input != 20) .@w_point += 1;
+ input(.@input);
+ if (.@input != 20)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("If you buy 5 %s\r"
"with a 24%% discount\r"
@@ -642,45 +651,53 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
"do you earn?",
getitemname(Helm));
next;
- input .@input;
- if (.@input != 8800) .@w_point += 1;
+ input(.@input);
+ if (.@input != 8800)
+ .@w_point += 1;
break;
case 2:
mes "[Raspuchin Gregory]";
mes "13 + 25 + 37 + 48 = ?";
next;
- input .@input;
- if (.@input != 123) .@w_point += 1;
+ input(.@input);
+ if (.@input != 123)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "1000 - 58 - 214 - 416 = ?";
next;
- input .@input;
- if (.@input != 312) .@w_point += 1;
+ input(.@input);
+ if (.@input != 312)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "12 * 24 * 3 = ?";
next;
- input .@input;
- if (.@input != 864) .@w_point += 1;
+ input(.@input);
+ if (.@input != 864)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "10530 / 3 / 5 / 2 = ?";
next;
- input .@input;
- if (.@input != 351) .@w_point += 1;
+ input(.@input);
+ if (.@input != 351)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(35 * 19) - (1792 / 7) = ?";
next;
- input .@input;
- if (.@input != 409) .@w_point += 1;
+ input(.@input);
+ if (.@input != 409)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(2368 / 8) + (24 * 17) = ?";
next;
- input .@input;
- if (.@input != 704) .@w_point += 1;
+ input(.@input);
+ if (.@input != 704)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(2646 / 7) + (13 * 28) = ?";
next;
- input .@input;
- if (.@input != 742) .@w_point += 1;
+ input(.@input);
+ if (.@input != 742)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total price of\r"
@@ -692,8 +709,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Spectacles),
getitemname(Booby_Trap));
next;
- input .@input;
- if (.@input != 934) .@w_point += 1;
+ input(.@input);
+ if (.@input != 934)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total weight of\r"
@@ -703,8 +721,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Cap),
getitemname(Boots));
next;
- input .@input;
- if (.@input != 550) .@w_point += 1;
+ input(.@input);
+ if (.@input != 550)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total defense of\r"
@@ -720,8 +739,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Sahkkat),
getitemname(Glasses));
next;
- input .@input;
- if (.@input != 16) .@w_point += 1;
+ input(.@input);
+ if (.@input != 16)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("How much profit do you\r"
"make if you buy %s\r"
@@ -730,40 +750,47 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
"the normal price?",
getitemname(Tights));
next;
- input .@input;
- if (.@input != 8520) .@w_point += 1;
+ input(.@input);
+ if (.@input != 8520)
+ .@w_point += 1;
break;
case 3:
mes "[Raspuchin Gregory]";
mes "12 + 23 + 34 + 45 = ?";
next;
- input .@input;
- if (.@input != 114) .@w_point += 1;
+ input(.@input);
+ if (.@input != 114)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "1000 - 58 - 214 - 416 = ?";
next;
- input .@input;
- if (.@input != 312) .@w_point += 1;
+ input(.@input);
+ if (.@input != 312)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "14 * 17 * 3 = ?";
next;
- input .@input;
- if (.@input != 714) .@w_point += 1;
+ input(.@input);
+ if (.@input != 714)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "10530 / 3 / 5 / 2 = ?";
next;
- input .@input;
- if (.@input != 351) .@w_point += 1;
+ input(.@input);
+ if (.@input != 351)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(47 * 28) - (1376 / 4) = ?";
next;
- input .@input;
- if (.@input != 972) .@w_point += 1;
+ input(.@input);
+ if (.@input != 972)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mes "(2646 / 7) + (13 * 28) = ?";
next;
- input .@input;
- if (.@input != 742) .@w_point += 1;
+ input(.@input);
+ if (.@input != 742)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total cost of\r"
@@ -775,8 +802,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Green_Potion),
getitemname(Wing_Of_Fly));
next;
- input .@input;
- if (.@input != 798) .@w_point += 1;
+ input(.@input);
+ if (.@input != 798)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total weight of\r"
@@ -786,8 +814,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Cap),
getitemname(Boots));
next;
- input .@input;
- if (.@input != 480) .@w_point += 1;
+ input(.@input);
+ if (.@input != 480)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("What is the\r"
"total defense of\r"
@@ -800,8 +829,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
getitemname(Muffler),
getitemname(Eye_Bandage));
next;
- input .@input;
- if (.@input != 12) .@w_point += 1;
+ input(.@input);
+ if (.@input != 12)
+ .@w_point += 1;
mes "[Raspuchin Gregory]";
mesf("If you buy 4 Padded Armors\r"
"at a 24%% discount and sell\r"
@@ -810,8 +840,9 @@ alde_alche,175,107,3 script Fastidious Alchemist#am 4_M_ALCHE_B,{
"you make from this sale?",
getitemname(Padded_Armor));
next;
- input .@input;
- if (.@input != 7680) .@w_point += 1;
+ input(.@input);
+ if (.@input != 7680)
+ .@w_point += 1;
}
if (.@w_point == 0) {
mes "[Raspuchin Gregory]";
diff --git a/npc/jobs/2-2/bard.txt b/npc/jobs/2-2/bard.txt
index e44299193..c70d0e597 100644
--- a/npc/jobs/2-2/bard.txt
+++ b/npc/jobs/2-2/bard.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Vicious
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) Muad_Dib(The Prometheus Project)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Vicious
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) Muad_Dib(The Prometheus Project)
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -499,7 +499,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "There was a man")
.@w_point += 1;
@@ -510,7 +510,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "who was said to be immortal.")
.@w_point += 1;
@@ -521,7 +521,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "His name Jichfreid,")
.@w_point += 1;
@@ -532,7 +532,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Son of the hero Jichmunt.")
.@w_point += 1;
@@ -543,7 +543,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,^000000";
mes "Turned into a dragon and ate him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "The evil giant Papner,")
.@w_point += 1;
@@ -554,7 +554,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "The evil giant Papner,";
mes "Turned into a dragon and ate him.^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Turned into a dragon and ate him.")
.@w_point += 1;
}
@@ -566,7 +566,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "A Merchant without money or equipment,")
.@w_point += 1;
@@ -577,7 +577,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "a Merchant that couldn't sell anything.")
.@w_point += 1;
@@ -588,7 +588,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "But he was too proud to beg.")
.@w_point += 1;
@@ -599,7 +599,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "So he gathered some money selling items.")
.@w_point += 1;
@@ -610,7 +610,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.^000000";
mes "Some say he sold Sweet Potatoes, too.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "At first he only sold Red Potions.")
.@w_point += 1;
@@ -621,7 +621,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "At first he only sold Red Potions.";
mes "Some say he sold Sweet Potatoes, too.^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Some say he sold Sweet Potatoes, too.")
.@w_point += 1;
}
@@ -633,7 +633,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "All Gods never age.")
.@w_point += 1;
@@ -644,7 +644,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "The ever so Beautiful Goddess Eden,")
.@w_point += 1;
@@ -655,7 +655,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Beautiful and graceful Goddess Eden,")
.@w_point += 1;
@@ -666,7 +666,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Odin's daughter-in-law and Bragi's wife.")
.@w_point += 1;
@@ -677,7 +677,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,^000000";
mes "All thanks to her sweet apples.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Her sweet apples in her basket,")
.@w_point += 1;
@@ -688,7 +688,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Her sweet apples in her basket,";
mes "All thanks to her sweet apples.^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "All thanks to her sweet apples.")
.@w_point += 1;
}
@@ -700,7 +700,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Bragi, Bragi,")
.@w_point += 1;
@@ -711,7 +711,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Forever call the poets name.")
.@w_point += 1;
@@ -722,7 +722,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "My songs are his breath,")
.@w_point += 1;
@@ -733,7 +733,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "My mind is his will,")
.@w_point += 1;
@@ -744,7 +744,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,^000000";
mes "And all praise shall go to him.";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "All wandering poets are his people,")
.@w_point += 1;
@@ -755,7 +755,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "All wandering poets are his people,";
mes "And all praise shall go to him.^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "And all praise shall go to him.")
.@w_point += 1;
}
@@ -767,7 +767,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Louder, louder, louder.")
.@w_point += 1;
@@ -778,7 +778,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Give strength to the warriors!")
.@w_point += 1;
@@ -789,7 +789,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Shake the sky and roar through the land.")
.@w_point += 1;
@@ -800,7 +800,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Make my heart pound again!")
.@w_point += 1;
@@ -811,7 +811,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.^000000";
mes "This day will never come again!";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "Let the castle walls ring.")
.@w_point += 1;
@@ -822,7 +822,7 @@ comodo,226,123,5 script Wandering Bard 2_M_BARD_ORIENT,{
mes "Let the castle walls ring.";
mes "This day will never come again!^000000";
next;
- input .@Song$;
+ input(.@Song$);
if (.@Song$ != "This day will never come again!")
.@w_point += 1;
}
diff --git a/npc/jobs/2-2/crusader.txt b/npc/jobs/2-2/crusader.txt
index b806d12c3..f554e8c05 100644
--- a/npc/jobs/2-2/crusader.txt
+++ b/npc/jobs/2-2/crusader.txt
@@ -9,18 +9,18 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Samuray22
-//= Copyright (C) Vicious
-//= Copyright (C) DracoRPG
-//= Copyright (C) massdriller
-//= Copyright (C) Komurka
-//= Copyright (C) Lupus
-//= Copyright (C) Shin
-//= Copyright (C) Black Dragon
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Samuray22
+//= Copyright (C) Vicious
+//= Copyright (C) DracoRPG
+//= Copyright (C) massdriller
+//= Copyright (C) Komurka
+//= Copyright (C) Lupus
+//= Copyright (C) Shin
+//= Copyright (C) Black Dragon
//=
//= 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/npc/jobs/2-2/dancer.txt b/npc/jobs/2-2/dancer.txt
index f0ff55d94..f795ac49d 100644
--- a/npc/jobs/2-2/dancer.txt
+++ b/npc/jobs/2-2/dancer.txt
@@ -9,19 +9,19 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) Brainstorm
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Skotlex
-//= Copyright (C) Lance
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Fredzilla
-//= Copyright (C) Athena
-//= Copyright (C) Kalen
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) Brainstorm
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Skotlex
+//= Copyright (C) Lance
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Fredzilla
+//= Copyright (C) Athena
+//= Copyright (C) Kalen
//=
//= 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/npc/jobs/2-2/monk.txt b/npc/jobs/2-2/monk.txt
index 631da5f7d..015d90cb8 100644
--- a/npc/jobs/2-2/monk.txt
+++ b/npc/jobs/2-2/monk.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) Vicious
-//= Copyright (C) Zephiris
-//= Copyright (C) Yor
-//= Copyright (C) Lupus
-//= Copyright (C) Celest
-//= Copyright (C) Dino9021
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silent
+//= Copyright (C) Vicious
+//= Copyright (C) Zephiris
+//= Copyright (C) Yor
+//= Copyright (C) Lupus
+//= Copyright (C) Celest
+//= Copyright (C) Dino9021
//=
//= 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/npc/jobs/2-2/rogue.txt b/npc/jobs/2-2/rogue.txt
index 311915097..67cea1516 100644
--- a/npc/jobs/2-2/rogue.txt
+++ b/npc/jobs/2-2/rogue.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Brainstorm
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Silent
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Brainstorm
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Silent
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1292,7 +1292,7 @@ in_rogue,270,130,0 script he_to_rogue#rg WARPNPC,1,1,{
OnTouch:
mes "^3355FFThe door is locked. You'll need to enter the four number combination to open it.^000000";
next;
- input .@input;
+ input(.@input);
if (.@input < 1 || .@input > 10000) {
if (ROGUE_Q == 12)
mes "^3355FFIt didn't work. Please re-enter the four number combination.^000000";
@@ -1300,7 +1300,7 @@ OnTouch:
mes "^3355FFPlease enter a combination of four numbers.^000000";
close;
}
- else if (.@input == 3019) {
+ if (.@input == 3019) {
if (ROGUE_Q == 12) {
mes "^3355FFThe door";
mes "has opened.^000000";
@@ -1308,8 +1308,7 @@ OnTouch:
warp "in_rogue",10,21;
ROGUE_Q = 12;
end;
- }
- else {
+ } else {
mes "[HermanthornJr.]";
mes "Well...";
mes "Didn't I tell you";
@@ -1318,11 +1317,9 @@ OnTouch:
close;
}
}
- else {
- mes "^3355FFThe door";
- mes "is still locked.^000000";
- close;
- }
+ mes "^3355FFThe door";
+ mes "is still locked.^000000";
+ close;
}
in_rogue,200,389,0 script gen_ro#1 FAKE_NPC,3,3,{
diff --git a/npc/jobs/2-2/sage.txt b/npc/jobs/2-2/sage.txt
index 49245e1ed..c8e214777 100644
--- a/npc/jobs/2-2/sage.txt
+++ b/npc/jobs/2-2/sage.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Brainstorm
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) KarLaeda
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Darkchild
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Brainstorm
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) KarLaeda
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Darkchild
+//= Copyright (C) Athena
//=
//= 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/npc/jobs/2-2a/Champion.txt b/npc/jobs/2-2a/Champion.txt
index ef543c8bc..4fc970420 100644
--- a/npc/jobs/2-2a/Champion.txt
+++ b/npc/jobs/2-2a/Champion.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-2a/Clown.txt b/npc/jobs/2-2a/Clown.txt
index b8f8f2ce0..ff23610db 100644
--- a/npc/jobs/2-2a/Clown.txt
+++ b/npc/jobs/2-2a/Clown.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-2a/Creator.txt b/npc/jobs/2-2a/Creator.txt
index 97e571bf4..9773eb570 100644
--- a/npc/jobs/2-2a/Creator.txt
+++ b/npc/jobs/2-2a/Creator.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Haru
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Haru
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-2a/Gypsy.txt b/npc/jobs/2-2a/Gypsy.txt
index fc4a42166..01b9d6066 100644
--- a/npc/jobs/2-2a/Gypsy.txt
+++ b/npc/jobs/2-2a/Gypsy.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-2a/Paladin.txt b/npc/jobs/2-2a/Paladin.txt
index 2d208ed65..d4dcd2bd7 100644
--- a/npc/jobs/2-2a/Paladin.txt
+++ b/npc/jobs/2-2a/Paladin.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-2a/Professor.txt b/npc/jobs/2-2a/Professor.txt
index 009b2d80d..46d380787 100644
--- a/npc/jobs/2-2a/Professor.txt
+++ b/npc/jobs/2-2a/Professor.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-2a/Stalker.txt b/npc/jobs/2-2a/Stalker.txt
index 511d26435..005d0cad0 100644
--- a/npc/jobs/2-2a/Stalker.txt
+++ b/npc/jobs/2-2a/Stalker.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/jobs/2-2e/SoulLinker.txt b/npc/jobs/2-2e/SoulLinker.txt
index 6fc4e3aaa..28d9d4b93 100644
--- a/npc/jobs/2-2e/SoulLinker.txt
+++ b/npc/jobs/2-2e/SoulLinker.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Samuray22
-//= Copyright (C) Celestria
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Samuray22
+//= Copyright (C) Celestria
//=
//= 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/npc/jobs/novice/supernovice.txt b/npc/jobs/novice/supernovice.txt
index ebe4ef8e2..b1428c685 100644
--- a/npc/jobs/novice/supernovice.txt
+++ b/npc/jobs/novice/supernovice.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) Darkchild
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) Darkchild
//=
//= 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/npc/jobs/valkyrie.txt b/npc/jobs/valkyrie.txt
index d4f1d3982..7962f03ec 100644
--- a/npc/jobs/valkyrie.txt
+++ b/npc/jobs/valkyrie.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Silent
-//= Copyright (C) Vicious
-//= Copyright (C) Silentdragon
-//= Copyright (C) Mass Zero
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Poki
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Silent
+//= Copyright (C) Vicious
+//= Copyright (C) Silentdragon
+//= Copyright (C) Mass Zero
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Poki
+//= Copyright (C) Nana
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -216,6 +216,70 @@ yuno_in02,88,164,5 script Metheus Sylphe#Library 2_M_SAGE_B,{
if (valkyrie_Q == 0) {
mes "[Metheus Sylphe]";
mes "Welcome to the Library of the Schweicherbil Magic Academy.";
+ if (RENEWAL) {
+ if (questprogress(5160) != 0) { // Quest #5160 - Library Mistake
+ mes("I assume you have come here to confirm the status of the library guards report?");
+ next();
+ if (select((countitem(Captured_Book) > 0 ? "I'm here for the book." : "Tell me the report."), "Donate Zeny") == 1) {
+ if (countitem(Captured_Book) != 0) {
+ mes("[Metheus Sylphe]");
+ mes("Just now the libary guard report aren't helpful, but there is a reason for that...");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Most importantly, you found the escaped book!");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("As promised, I'll allow you to read the book of Ymir, you may now go in and read the book.");
+ if (countitem(Captured_Book) == 0)
+ close();
+ delitem(Captured_Book, countitem(Captured_Book));
+ valkyrie_Q = 1;
+ if (questprogress(5160) != 0)
+ completequest 5160;
+ close();
+ }
+ mes("[Metheus Sylphe]");
+ mes("This is a note from the library guards we were searching for.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Search for the escaped book near the Juno Fields.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("However, there is no detailed description of the location. I'm glad that the search range was reduced.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Search for the escaped book near the Juno Fields.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Why don't you try search around Kiel Heir Area first.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Because there are more than one book escaped.");
+ close();
+ }
+ if (Zeny < 1285000) {
+ mes("[Metheus Sylphe]");
+ mes("It's all good, but I don't think there's enough Zeny to make donation. Donation requires 1,285,000 Zeny.");
+ close();
+ }
+ mes("[Metheus Sylphe]");
+ mes("Ah?! Did you give up searching for the escaped books?");
+ next();
+ if (select("Unable to tell.", "Just Donate..") != 2) {
+ mes("[Metheus Sylphe]");
+ mes("Haha. I thought you picked up Zeny anywhere.");
+ close();
+ }
+ Zeny -= 1285000;
+ valkyrie_Q = 1;
+ setquest(1000);
+ if (questprogress(5160) != 0)
+ completequest(5160);
+ mes("[Metheus Sylphe]");
+ mes("Thank you, your donation will be used for a good cause. You may now go in and read the book.");
+ close();
+ }
+ }
mes "I assume you have come here";
mes "to read the 'Book of Ymir.'";
next;
@@ -230,10 +294,12 @@ yuno_in02,88,164,5 script Metheus Sylphe#Library 2_M_SAGE_B,{
mes "donation amount is";
mes "1,285,000 zeny.";
next;
- if (select("Donate.", "Cancel.") == 1) {
+ switch (select("Donate.", (RENEWAL ? "Can't we just see it?" : ""), "Cancel.")) {
+ case 1:
if (Zeny >= 1285000) {
Zeny -= 1285000;
valkyrie_Q = 1;
+ setquest(1000);
mes "[Metheus Sylphe]";
mes "Thank you, your donation will be used for a good cause. You may";
mes "now go in and read the book.";
@@ -242,20 +308,116 @@ yuno_in02,88,164,5 script Metheus Sylphe#Library 2_M_SAGE_B,{
mes "[Metheus Sylphe]";
mes "Unfortunately, you don't seem to possess enough zeny at the moment. Please check your funds and come back again.";
close;
+ case 2:
+ mes("[Metheus Sylphe]");
+ mes("It is to preserve the original 'Book of Ymir,' we have decided to accept donations from people who wish to read the copy we have provided.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Although I understand your feeling, but that's the rule.");
+ next();
+ select("But, I dont have enough Zeny.");
+ mes("[Metheus Sylphe]");
+ mes("The rules stated that everyone must made a donation, if they want to read the book...");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("I guess sometime when life is difficult, we may not follow with the principle?");
+ next();
+ if (select("I must follow the principle!", "I'll do anything.") != 2) {
+ close();
+ }
+ mes("[Metheus Sylphe]");
+ mes("I see enthusiasm within you, but I couldn't let you enter for free.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("So help me resolve the problems happen in the Schweicherbil Magic Academy's library.");
+ mes("I'll help you to read the book of Ymir.");
+ next();
+ while (true) {
+ switch (select("What happened?", "Where does it escaped?", "I'll find it.", "Ignore")) {
+ case 1:
+ mes("[Metheus Sylphe]");
+ mes("This is really a headache.");
+ mes("The library consists of a lot undisclosed books.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("For example, ^0055FFRideword Hat^000000 that would attack humans can't be disclose to the public.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("But not long ago, part of the undisclosed books escaped from the library...");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Although the library guards are currently searching for it, but failed due to lack of manpower.");
+ next();
+ continue;
+ case 2:
+ mes("[Metheus Sylphe]");
+ mes("We're still trying to figure out where it escaped to.");
+ mes("I'll inform you when the library guards have any news for it.");
+ next();
+ continue;
+ case 3:
+ mes("[Metheus Sylphe]");
+ mes("Do you already know the problem now? That's weird. Did you know anything else?");
+ next();
+ switch (select("Sorry.", "Worry about gift for girlfriend?", "Worry about the lunch?", "Worry about the escaped books?")) {
+ case 1:
+ mes("[Metheus Sylphe]");
+ mes("It seemed to be too. I think we need to know what are the problem first.");
+ next();
+ continue;
+ case 2:
+ mes("[Metheus Sylphe]");
+ mes("Isn't it polite to ask if you already have a girlfriend? But this isn't a problem.");
+ next();
+ continue;
+ case 3:
+ mes("[Metheus Sylphe]");
+ mes("It's not a problem these days because I'm not having lunch yet. You should listen to the library problem, not my problem.");
+ next();
+ continue;
+ case 4:
+ mes("[Metheus Sylphe]");
+ mes("Ah! You knew the problem already?");
+ mes("or the news already leaked to public?");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Wait a moment, the library guard has returned with the report.");
+ next();
+ mes("[Metheus Sylphe]");
+ mes("Let's hear the report before you left!");
+ if (questprogress(5160) == 0)
+ setquest(5160); // Quest #5160 - Library Mistake
+ close();
+ }
+ case 4:
+ close();
+ }
+ }
+ end;
+ default:
+ break;
}
mes "[Metheus Sylphe]";
mes "Take your time, and";
mes "enjoy your travels.";
close;
}
- mes "[Metheus Sylphe]";
- mes "Once again, thank you for your generous donation. Feel free to read a carbon copy of the 'Book of Ymir' at your leisure.";
- close;
+ mes("[Metheus Sylphe]");
+ if (questprogress(5160) != 0)
+ mes("Once again, thank you for your generous assistance. Feel free to read a carbon copy of the 'Book of Ymir' at your leisure.");
+ else
+ mes("Once again, thank you for your generous donation. Feel free to read a carbon copy of the 'Book of Ymir' at your leisure.");
+ close();
}
mes "[Metheus Sylphe]";
mes "Welcome to the Library of the Schweicherbil Magic Academy.";
mes "Here, we have a countless number of books. Please take your time and look around.";
close;
+
+OnKill:
+ if (questprogress(5160) == 1) // Quest #5160 - Library Mistake
+ getitem(Captured_Book, 1);
+ end;
}
yuno_in02,93,207,1 script Book of Ymir HIDDEN_NPC,{
diff --git a/npc/kafras/cool_event_corp.txt b/npc/kafras/cool_event_corp.txt
index 2a892fb07..249d1ab71 100644
--- a/npc/kafras/cool_event_corp.txt
+++ b/npc/kafras/cool_event_corp.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Haru
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Gepard
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Haru
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Gepard
//=
//= 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/npc/kafras/dts_warper.txt b/npc/kafras/dts_warper.txt
index a482652ed..c8b4083da 100644
--- a/npc/kafras/dts_warper.txt
+++ b/npc/kafras/dts_warper.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Silent
-//= Copyright (C) Evera
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Silent
+//= Copyright (C) Evera
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1209,8 +1209,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 1000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 1000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 1000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1223,8 +1223,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 1000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 1000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 1000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1237,8 +1237,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 1000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 1000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 1000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1251,8 +1251,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 3.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 3)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 3) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1265,8 +1265,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 1000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 1000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 1000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1279,8 +1279,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 2.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 2)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 2) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1293,8 +1293,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 2.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 2)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 2) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
@@ -1307,8 +1307,8 @@ sec_in02,17,160,4 script Vote Globalvar Girl#yuno 4_F_OPERATION,{
mes "[Christy's Maid]";
mes "Please enter a number among 0 and 10000.";
next;
- input .@input;
- if ((.@input < 0) || (.@input > 10000)) {
+ input(.@input);
+ if (.@input < 0 || .@input > 10000) {
mes "[Christy's Maid]";
mes "The value is incorrect.";
close;
diff --git a/npc/kafras/functions_kafras.txt b/npc/kafras/functions_kafras.txt
index 90334cc6e..ecbdc1f45 100644
--- a/npc/kafras/functions_kafras.txt
+++ b/npc/kafras/functions_kafras.txt
@@ -9,26 +9,26 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) Haru
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Daegaladh
-//= Copyright (C) brianluau
-//= Copyright (C) Kisuka
-//= Copyright (C) Evera
-//= Copyright (C) erKURITA
-//= Copyright (C) Silentdragon
-//= Copyright (C) Nexon
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
-//= Copyright (C) Lupu
-//= Copyright (C) Syrus22
-//= Copyright (C) Darkchild
-//= Copyright (C) Darlskies
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Haru
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Daegaladh
+//= Copyright (C) brianluau
+//= Copyright (C) Kisuka
+//= Copyright (C) Evera
+//= Copyright (C) erKURITA
+//= Copyright (C) Silentdragon
+//= Copyright (C) Nexon
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
+//= Copyright (C) Lupu
+//= Copyright (C) Syrus22
+//= Copyright (C) Darkchild
+//= Copyright (C) Darlskies
//=
//= 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,7 +83,7 @@ function script F_Kafra {
// Guild Castle Kafra message
@GID = getcharid(CHAR_ID_GUILD);
mes "[Kafra Employee]";
- mes "Welcome. ^ff0000" + getguildname(@GID) + "^000000 Member.";
+ mes "Welcome. ^ff0000" + getguildinfo(GUILDINFO_NAME, @GID) + "^000000 Member.";
mes "The Kafra Coporation will stay with you wherever you go.";
break;
case 3:
@@ -490,7 +490,7 @@ function script F_CheckKafCode {
return;
mes "Enter your storage password:";
@code_ = 0;
- input @code_;
+ input(@code_, 0);
if (@code_ != #kafra_code) {
dispbottom "Wrong storage password.";
close2;
@@ -601,7 +601,7 @@ function script F_EntKafCode {
@kafcode_try = 0;
logmes "Hack: Tried to fit storage password.";
}
- if (input(@code_) == 1) {
+ if (input(@code_, 0) == 1) {
mes "You can't use such big password.";
return 0;
}
diff --git a/npc/kafras/kafras.txt b/npc/kafras/kafras.txt
index 29b1b02da..b91d2d989 100644
--- a/npc/kafras/kafras.txt
+++ b/npc/kafras/kafras.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lemongrass
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) Lupus
-//= Copyright (C) Evera
-//= Copyright (C) Samuray22
-//= Copyright (C) kobra_k88
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lemongrass
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) Lupus
+//= Copyright (C) Evera
+//= Copyright (C) Samuray22
+//= Copyright (C) kobra_k88
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/mapflag/battleground.txt b/npc/mapflag/battleground.txt
index 5b25b7227..d62b5e6e6 100644
--- a/npc/mapflag/battleground.txt
+++ b/npc/mapflag/battleground.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Epoque
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Epoque
//=
//= 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/npc/mapflag/gvg.txt b/npc/mapflag/gvg.txt
index b30ff1340..34b4a3beb 100644
--- a/npc/mapflag/gvg.txt
+++ b/npc/mapflag/gvg.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/jail.txt b/npc/mapflag/jail.txt
index 0aff7412d..c5f0712cd 100644
--- a/npc/mapflag/jail.txt
+++ b/npc/mapflag/jail.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/night.txt b/npc/mapflag/night.txt
index a7a7a771f..3e421bf13 100644
--- a/npc/mapflag/night.txt
+++ b/npc/mapflag/night.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Skotlex
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Skotlex
//=
//= 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/npc/mapflag/nightmare.txt b/npc/mapflag/nightmare.txt
index 94fb9c791..c983ca83c 100644
--- a/npc/mapflag/nightmare.txt
+++ b/npc/mapflag/nightmare.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/nobranch.txt b/npc/mapflag/nobranch.txt
index 4ad59ad67..4007c8203 100644
--- a/npc/mapflag/nobranch.txt
+++ b/npc/mapflag/nobranch.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) massdriller
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) massdriller
//=
//= 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/npc/mapflag/noexp.txt b/npc/mapflag/noexp.txt
index 66863f0bd..a32960a83 100644
--- a/npc/mapflag/noexp.txt
+++ b/npc/mapflag/noexp.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lorky
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lorky
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
//=
//= 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/npc/mapflag/noicewall.txt b/npc/mapflag/noicewall.txt
index 195bec2bb..cc2e363ed 100644
--- a/npc/mapflag/noicewall.txt
+++ b/npc/mapflag/noicewall.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
//=
//= 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/npc/mapflag/noloot.txt b/npc/mapflag/noloot.txt
index d3895ce79..89f107cea 100644
--- a/npc/mapflag/noloot.txt
+++ b/npc/mapflag/noloot.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Epoque
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Epoque
+//= Copyright (C) eAthena 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/npc/mapflag/nomemo.txt b/npc/mapflag/nomemo.txt
index 662bf4c05..548f1563e 100644
--- a/npc/mapflag/nomemo.txt
+++ b/npc/mapflag/nomemo.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Epoque
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Gepard
-//= Copyright (C) Yommy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) Nova
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Epoque
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Gepard
+//= Copyright (C) Yommy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) Nova
//=
//= 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/npc/mapflag/nopenalty.txt b/npc/mapflag/nopenalty.txt
index 583730f16..3e2db33f7 100644
--- a/npc/mapflag/nopenalty.txt
+++ b/npc/mapflag/nopenalty.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Epoque
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Epoque
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
//=
//= 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/npc/mapflag/nopvp.txt b/npc/mapflag/nopvp.txt
index 41127332b..6da518ad4 100644
--- a/npc/mapflag/nopvp.txt
+++ b/npc/mapflag/nopvp.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena 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/npc/mapflag/noreturn.txt b/npc/mapflag/noreturn.txt
index a606926c3..4e5bf0286 100644
--- a/npc/mapflag/noreturn.txt
+++ b/npc/mapflag/noreturn.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) Skotlex
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) Skotlex
+//= Copyright (C) Lupus
//=
//= 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/npc/mapflag/nosave.txt b/npc/mapflag/nosave.txt
index 8137e500b..1a7ecad0d 100644
--- a/npc/mapflag/nosave.txt
+++ b/npc/mapflag/nosave.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Lupus
//=
//= 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/npc/mapflag/noskill.txt b/npc/mapflag/noskill.txt
index ae492def1..b8fe06afb 100644
--- a/npc/mapflag/noskill.txt
+++ b/npc/mapflag/noskill.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/mapflag/noteleport.txt b/npc/mapflag/noteleport.txt
index b80498f89..537781075 100644
--- a/npc/mapflag/noteleport.txt
+++ b/npc/mapflag/noteleport.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) Nova
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) Nova
//=
//= 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/npc/mapflag/notomb.txt b/npc/mapflag/notomb.txt
index a56f60112..37ba5f224 100644
--- a/npc/mapflag/notomb.txt
+++ b/npc/mapflag/notomb.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) CairoLee
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) CairoLee
//=
//= 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/npc/mapflag/novending.txt b/npc/mapflag/novending.txt
index 0047b0cb1..dce168f2d 100644
--- a/npc/mapflag/novending.txt
+++ b/npc/mapflag/novending.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Epoque
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Epoque
//=
//= 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/npc/mapflag/nowarp.txt b/npc/mapflag/nowarp.txt
index 4682f1d8d..99c4d06e0 100644
--- a/npc/mapflag/nowarp.txt
+++ b/npc/mapflag/nowarp.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/nowarpto.txt b/npc/mapflag/nowarpto.txt
index 783dc8cc9..2b6c4084c 100644
--- a/npc/mapflag/nowarpto.txt
+++ b/npc/mapflag/nowarpto.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/partylock.txt b/npc/mapflag/partylock.txt
index 1aa9d4991..11adbaedb 100644
--- a/npc/mapflag/partylock.txt
+++ b/npc/mapflag/partylock.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/private_airship.txt b/npc/mapflag/private_airship.txt
index 4258f486d..aad8c453b 100644
--- a/npc/mapflag/private_airship.txt
+++ b/npc/mapflag/private_airship.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 Hercules Dev Team
//= Copyright (C) Asheraf
//=
//= Hercules is free software: you can redistribute it and/or modify
diff --git a/npc/mapflag/pvp.txt b/npc/mapflag/pvp.txt
index 7f671b49a..0d31e95da 100644
--- a/npc/mapflag/pvp.txt
+++ b/npc/mapflag/pvp.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/pvp_noguild.txt b/npc/mapflag/pvp_noguild.txt
index b7305c16f..30e562c9a 100644
--- a/npc/mapflag/pvp_noguild.txt
+++ b/npc/mapflag/pvp_noguild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/pvp_noparty.txt b/npc/mapflag/pvp_noparty.txt
index f948a1db7..8479958b4 100644
--- a/npc/mapflag/pvp_noparty.txt
+++ b/npc/mapflag/pvp_noparty.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mapflag/reset.txt b/npc/mapflag/reset.txt
index 21a0b04f8..4cd70a0fa 100644
--- a/npc/mapflag/reset.txt
+++ b/npc/mapflag/reset.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
//=
//= 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/npc/mapflag/skillduration.txt b/npc/mapflag/skillduration.txt
index e11278b44..0d58d370d 100644
--- a/npc/mapflag/skillduration.txt
+++ b/npc/mapflag/skillduration.txt
@@ -9,7 +9,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-2020 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/npc/mapflag/skillmodifier.txt b/npc/mapflag/skillmodifier.txt
index 7354f4656..cfd88d750 100644
--- a/npc/mapflag/skillmodifier.txt
+++ b/npc/mapflag/skillmodifier.txt
@@ -9,7 +9,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-2020 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/npc/mapflag/town.txt b/npc/mapflag/town.txt
index 463b7390c..18f4648c2 100644
--- a/npc/mapflag/town.txt
+++ b/npc/mapflag/town.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Epoque
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Epoque
//=
//= 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/npc/mapflag/zone.txt b/npc/mapflag/zone.txt
index b90116911..5244139b7 100644
--- a/npc/mapflag/zone.txt
+++ b/npc/mapflag/zone.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Ind
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Ind
//=
//= 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/npc/merchants/advanced_refiner.txt b/npc/merchants/advanced_refiner.txt
index 9632f95f7..7f7eed4d6 100644
--- a/npc/merchants/advanced_refiner.txt
+++ b/npc/merchants/advanced_refiner.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Yommy
-//= Copyright (C) Zephyrus
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Yommy
+//= Copyright (C) Zephyrus
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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/alchemist.txt b/npc/merchants/alchemist.txt
index ea926ae6b..ac855f7cb 100644
--- a/npc/merchants/alchemist.txt
+++ b/npc/merchants/alchemist.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -64,22 +64,21 @@ alde_alche,24,188,3 script Guild Dealer 2_M_ALCHE,{
mes "Enter '0' if you want to quit.";
next;
while(1) {
- input .@input, 0, 2001;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Gever Al Sharp]";
mes "The deal was cancelled.";
mes "Come again next time.";
close;
}
- else if (.@input < 1 || .@input > 2000) {
+ if (.@input > 2000) {
mes "[Gever Al Sharp]";
mes "The number must";
mes "be less than 2000.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
if (RENEWAL) {
.@sell = .@input * 250;
diff --git a/npc/merchants/ammo_boxes.txt b/npc/merchants/ammo_boxes.txt
index 69310388f..b4cee6f41 100644
--- a/npc/merchants/ammo_boxes.txt
+++ b/npc/merchants/ammo_boxes.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Lupus
-//= Copyright (C) ultramage
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Lupus
+//= Copyright (C) ultramage
+//= Copyright (C) SinSloth
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -102,8 +102,8 @@ function script Func_Casing {
mes "the number of Magazines you";
mes "want to receive. If you want to cancel, then just enter ''0.''";
next;
- input .@amount;
- if (.@amount > 50 || .@amount == 0) {
+ input(.@amount);
+ if (.@amount > 50 || .@amount <= 0) {
mes "[Kenny]";
mes "Hey, I can't give you";
mes "that many Magazines.";
diff --git a/npc/merchants/ammo_dealer.txt b/npc/merchants/ammo_dealer.txt
index 490be66ba..bf33281b8 100644
--- a/npc/merchants/ammo_dealer.txt
+++ b/npc/merchants/ammo_dealer.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Kisuka
-//= Copyright (C) Lupus
-//= Copyright (C) Legionaire
-//= Copyright (C) Paradox924X
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Kisuka
+//= Copyright (C) Lupus
+//= Copyright (C) Legionaire
+//= Copyright (C) Paradox924X
+//= Copyright (C) Playtester
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -97,7 +97,7 @@ function script Bullet_Trade {
mes "that you'd like. If you want to";
mes "cancel, then just enter ''0.''";
next;
- input .@amount;
+ input(.@amount);
if (.@amount < 1 || .@amount > 500) {
mes "[Tony]";
mes "Hey, I can't give you";
diff --git a/npc/merchants/buying_shops.txt b/npc/merchants/buying_shops.txt
index eaf62bbe1..d1b460e74 100644
--- a/npc/merchants/buying_shops.txt
+++ b/npc/merchants/buying_shops.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -67,31 +67,32 @@ que_job01,68,84,1 script Black Marketeer#Buying 4_M_SITDOWN,{
mes "It'll cost 500 zeny for each one.";
next;
while(1) {
- input .@input;
+ input(.@input);
mes "[Mr. Jass]";
- if (.@input == 0) {
+ if (.@input <= 0) {
mes "Don't you need those licenses?";
close;
- } else if (.@input > 10) {
+ }
+ if (.@input > 10) {
mes "I can only make up to 10 at a time, you know.";
next;
- } else {
- mes "It'll cost "+(.@input*500)+" zeny.";
- if (Zeny < (.@input*500)) {
- mes "but you don't have enough money.";
- next;
- mes "[Mr. Jass]";
- mes "Don't you know the basics of business? Everything has a price.";
- mes "If you want something, you gotta pay for it.";
- } else {
- mes "Ha... Ha ha ha!";
- mes "Mr. Hugh, I'll take over your license business. You'll see!";
- mes "*Giggle Giggle*";
- getitem Buy_Market_Permit2,.@input;
- Zeny -= (.@input*500);
- }
- close;
+ continue;
}
+ mes "It'll cost "+(.@input*500)+" zeny.";
+ if (Zeny < (.@input*500)) {
+ mes "but you don't have enough money.";
+ next;
+ mes "[Mr. Jass]";
+ mes "Don't you know the basics of business? Everything has a price.";
+ mes "If you want something, you gotta pay for it.";
+ close();
+ }
+ mes "Ha... Ha ha ha!";
+ mes "Mr. Hugh, I'll take over your license business. You'll see!";
+ mes "*Giggle Giggle*";
+ getitem Buy_Market_Permit2,.@input;
+ Zeny -= (.@input*500);
+ close;
}
case 2:
mes "[Mr. Jass]";
@@ -139,26 +140,27 @@ alberta_in,58,52,4 script Purchasing Team#Buying 1_M_ORIENT01,{
mes "How many licenses do you need?";
next;
while(1) {
- input .@input;
+ input(.@input);
mes "[Mr. Hugh]";
- if (.@input == 0) {
+ if (.@input <= 0) {
mes "You have cancelled the trade.";
mes "Have a good day.";
close;
- } else if (.@input > 50) {
+ }
+ if (.@input > 50) {
mes "Please enter a value of 50 or less.";
next;
+ continue;
+ }
+ mes "It'll cost "+(.@input*200)+" zeny for "+.@input+" licenses.";
+ if (Zeny < (.@input*200)) {
+ mes "but you don't seem to have enough money.";
} else {
- mes "It'll cost "+(.@input*200)+" zeny for "+.@input+" licenses.";
- if (Zeny < (.@input*200)) {
- mes "but you don't seem to have enough money.";
- } else {
- mes "Thank you for your patronage.";
- getitem Buy_Market_Permit,.@input; //Buy_Stall_Permit
- Zeny -= (.@input*200);
- }
- close;
+ mes "Thank you for your patronage.";
+ getitem Buy_Market_Permit,.@input; //Buy_Stall_Permit
+ Zeny -= (.@input*200);
}
+ close;
}
} else {
mes "I'm Hugh from the Purchasing Team at the Alberta Merchant Guild.";
@@ -234,7 +236,7 @@ alberta_in,58,52,4 script Purchasing Team#Buying 1_M_ORIENT01,{
mes "You've made a good decision.";
mes "Please give me the registration fee, and sign right here....";
next;
- input .@name$;
+ input(.@name$);
mes "[Mr. Hugh]";
mes .@name$+"....";
mes "I like your handwriting.";
diff --git a/npc/merchants/cash_hair.txt b/npc/merchants/cash_hair.txt
index eecdc985b..1b9802e11 100644
--- a/npc/merchants/cash_hair.txt
+++ b/npc/merchants/cash_hair.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
//=
//= 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/npc/merchants/cash_trader.txt b/npc/merchants/cash_trader.txt
index 5dcefa2c6..61e94528f 100644
--- a/npc/merchants/cash_trader.txt
+++ b/npc/merchants/cash_trader.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/merchants/cashheadgear_dye.txt b/npc/merchants/cashheadgear_dye.txt
index 63d0e2bc0..656c63de9 100644
--- a/npc/merchants/cashheadgear_dye.txt
+++ b/npc/merchants/cashheadgear_dye.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Xantara
-//= Copyright (C) Maud_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Xantara
+//= Copyright (C) Maud_Dib
//=
//= 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/npc/merchants/clothes_dyer.txt b/npc/merchants/clothes_dyer.txt
index 4204f600f..b85d9e43b 100644
--- a/npc/merchants/clothes_dyer.txt
+++ b/npc/merchants/clothes_dyer.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Playtester
-//= Copyright (C) Poki#3
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) Usnul
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Playtester
+//= Copyright (C) Poki#3
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) Usnul
//=
//= 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/npc/merchants/coin_exchange.txt b/npc/merchants/coin_exchange.txt
index e0f72ca57..4d9355533 100644
--- a/npc/merchants/coin_exchange.txt
+++ b/npc/merchants/coin_exchange.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Gepard
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Gepard
//=
//= 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/npc/merchants/dye_maker.txt b/npc/merchants/dye_maker.txt
index 260a7c852..4d9e7ff2b 100644
--- a/npc/merchants/dye_maker.txt
+++ b/npc/merchants/dye_maker.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) ultramage
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nexon
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) ultramage
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nexon
+//= Copyright (C) kobra_k88
//=
//= 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/npc/merchants/elemental_trader.txt b/npc/merchants/elemental_trader.txt
index bad49b4b2..f631c7367 100644
--- a/npc/merchants/elemental_trader.txt
+++ b/npc/merchants/elemental_trader.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/merchants/enchan_arm.txt b/npc/merchants/enchan_arm.txt
index 434fabdb5..120f9dbab 100644
--- a/npc/merchants/enchan_arm.txt
+++ b/npc/merchants/enchan_arm.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/merchants/gemstone.txt b/npc/merchants/gemstone.txt
index 6028d9ddb..e6365c5d8 100644
--- a/npc/merchants/gemstone.txt
+++ b/npc/merchants/gemstone.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -84,31 +84,33 @@ S_TradeGems:
mes "that you can enter is 100.";
next;
while(1) {
- input .@input,0,101;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Jade]";
mes "None at all?";
mes "I guess you";
mes "changed your mind...";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Jade]";
mes "Errm...";
mes "I asked you to enter";
mes "an amount no greater";
mes "than 100, remember...?";
next;
+ continue;
}
- else if (.@gems < .@input) {
+ if (.@gems < .@input) {
// Custom dialogue
mes "[Jade]";
mes "Errm...";
mes "You don't have that";
mes "many gems to trade...";
next;
+ continue;
}
- else break;
+ break;
}
delitem getarg(0),.@input * 2;
getitem getarg(1),.@input;
diff --git a/npc/merchants/hair_dyer.txt b/npc/merchants/hair_dyer.txt
index bd07727fb..424945261 100644
--- a/npc/merchants/hair_dyer.txt
+++ b/npc/merchants/hair_dyer.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/merchants/hair_style.txt b/npc/merchants/hair_style.txt
index f940a5982..d6f1536bd 100644
--- a/npc/merchants/hair_style.txt
+++ b/npc/merchants/hair_style.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) Nexon
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silent
+//= Copyright (C) Nexon
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) Muad_Dib
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -51,15 +51,8 @@ alberta_in,55,142,7 script Hair Dresser 4_F_02,{
mes "If you wish to cancel,";
mes "please enter 0.";
next;
- input .@style;
- if(.@style > 19) {
- mes "[Veronica]";
- mes "Oops, I'm sorry, but that";
- mes "style is not available.";
- mes "Remember to enter a number";
- mes "from 1 to 19.";
- next;
- } else if(.@style == 0) {
+ input(.@style);
+ if(.@style == 0) {
mes "[Veronica]";
mes "So, how do you like the style?";
mes "Feel free to ask me about any";
@@ -68,313 +61,357 @@ alberta_in,55,142,7 script Hair Dresser 4_F_02,{
mes "hair.";
close;
}
- else {
- callsub L_cutin,.@style;
+ if (.@style < 1 || .@style > 19) {
mes "[Veronica]";
- switch(.@style) {
- case 1:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Play Dead' style!";
- mes "It's a nice, basic haircut.";
- mes "I notice that usually the";
- mes "cute, conversative types seem";
- mes "to prefer this style.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'First Aid' style!";
- mes "The shoulder length tresses";
- mes "are straightened for those";
- mes "no nonsense adventurers. It";
- mes "seems to be the style of";
- mes "choice for Novices.";
- close2; cutin "",255; end;
- case 2:
- if (Sex == SEX_MALE) {
- mes "Oh, that's the 'Two Handed Sword";
- mes "Mastery' style! It's perfect for";
- mes "for Swordmen who might muss their";
- mes "hair while swinging their swords";
- mes "all day long.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Bash' style!";
- mes "For the powerful woman that's";
- mes "not afraid to get a little";
- mes "blood on her hands, but knows";
- mes "how great her hair will look";
- mes "while wildly flailing a sword.";
- close2; cutin "",255; end;
- case 3:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Napalm Beat' style!";
- mes "It's a unique look with a hint";
- mes "of eccentricity that's offset";
- mes "with a helping of elegance.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Frost Diver' style!";
- mes "The pigtails lend an innocent,";
- mes "demure look for those Mages";
- mes "and Wizards that usually scare";
- mes "off the boys with their spells.";
- close2; cutin "",255; end;
- case 4:
- if (Sex == SEX_MALE) {
- mes "Oh, that's the 'Double Strafe'";
- mes "style! The arrangement of the";
- mes "hair conducts ambient static";
- mes "electricity, naturally clearing";
- mes "the mind. At least, that's what";
- mes "I was taught in fashion school.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Arrow Shower' style!";
- mes "For the Bowswoman who doesn't";
- mes "want fashion to interfere with";
- mes "her depth perception. Much more";
- mes "attractive than those horrid";
- mes "granny-style hairbuns.";
- close2; cutin "",255; end;
- case 5:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Angelus' style!";
- mes "It's for calm and devout people,";
- mes "as well as those bashful,";
- mes "mild-mannered types.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Heal' style!";
- mes "This is in trend among";
- mes "Priests and Acolytes since";
- mes "this style is appropriate";
- mes "for formal situations, but";
- mes "is also practical in battle.";
- close2; cutin "",255; end;
- case 6:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Push Cart' style!";
- mes "It was based on the design of a";
- mes "cart...at least, that's what";
- mes "I learned in beautician school.";
- close2; cutin "",255; end;
- }
- mes "Ooh, that's 'Vending' style!";
- mes "It's the hairdo of money";
- mes "makers...and if I may say so,";
- mes "it's also economical.";
- close2; cutin "",255; end;
- case 7:
- if (Sex == SEX_MALE) {
- mes "Ooh, that's 'Envenom' style!";
- mes "It looks great on Thieves and";
- mes "and Assassins when they're";
- mes "out poisoning people and animals.";
- mes "It's fashion for the aggressive";
- mes "and eclectic~!";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Double Attack' style!";
- mes "The adorable pigtail, paired with";
- mes "those provacative bangs are sure";
- mes "to help you steal the heart of";
- mes "some cute guy.";
- close2; cutin "",255; end;
- case 8:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Bowling Bash' style!";
- mes "A popular style for Knights, its";
- mes "manly, rugged look tends to";
- mes "attract all of the ladies,";
- mes "and looks great on men with";
- mes "strong chins.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Gloria' style!";
- mes "It's very elegant and looks";
- mes "great on holy Priests. This";
- mes "style is most attractive to";
- mes "ladies who aren't that used";
- mes "to fighting with their hands.";
- close2; cutin "",255; end;
- case 9:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Venom Dust' style!";
- mes "Definitely a look for rebels,";
- mes "the sweeping, yet decidedly";
- mes "luxorious locks seems to enchant";
- mes "girls with a fatal attraction.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'SP Recovery' style!";
- mes "To add more body to the special";
- mes "style of these bangs, I use a";
- mes "special conditioner that makes";
- mes "you feel like you're regaining SP";
- mes "...Although, it acutally doesn't.";
- close2; cutin "",255; end;
- case 10:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Turn Undead' style!";
- mes "This is popular among Priests";
- mes "that want a serious, yet a bit";
- mes "of a wild, agressive look.";
- mes "Definitely more attractive";
- mes "than the 'Holy Light' mullet.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Prepare Potion' style!";
- mes "The flared out tresses are chosen";
- mes "by beginning Alchemists, since";
- mes "early, explosive experiments would";
- mes "make their hair to stick out anyway.";
- close2; cutin "",255; end;
- case 11:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Dragonology' style!";
- mes "It's neat and clean cut, perfect";
- mes "for studious people and looks";
- mes "great with eyeglasses. This";
- mes "is a fashion well suited to";
- mes "intellectual types.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Grand Cross' style!";
- mes "It's in style among those pious";
- mes "Crusaders that need hair that";
- mes "won't muss during fighting, yet";
- mes "is respectable enough to attend";
- mes "religious services.";
- close2; cutin "",255; end;
- case 12:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Mace Mastery' style!";
- mes "A lot of care goes into making";
- mes "that tussled hair say, 'I don't";
- mes "care how I look at all.'";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Intimidate' style!";
- mes "The Rogue women seem to like";
- mes "this style...although I imagine";
- mes "that more of them would prefer";
- mes "something wilder to match those";
- mes "stockings...";
- close2; cutin "",255; end;
- case 13:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Thunder Storm' style!";
- mes "This hot, flamboyant hairstyle";
- mes "flares out wildly like thunder.";
- mes "...And you will too with this new look.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Spiritual Sphere";
- mes "Absorption' style! There's a";
- mes "charismatic quality to this";
- mes "fashion: it's tough, slightly";
- mes "tomboyish, but not so much";
- mes "that it can't be cute.";
- close2; cutin "",255; end;
- case 14:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Encore' style!";
- mes "The elegant, flowing locks";
- mes "fit well with Bards, or men who";
- mes "appreciate the value of male";
- mes "beauty.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Gypsy's Kiss' style!";
- mes "Dancers seem to like this style,";
- mes "although personally, I think";
- mes "this fashion fits very well";
- mes "with glasses.";
- close2; cutin "",255; end;
- case 15:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Grimtooth' style!";
- mes "Spiky and unkempt, this style";
- mes "is a popular counterculture";
- mes "street fashion. You might";
- mes "not want to wear your hair";
- mes "this way at a wedding, though.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Counter Attack' style!";
- mes "This is an intimidating look for";
- mes "girls that want to say 'You hit";
- mes "me, I'll hit you back!' It really";
- mes "emphasizes strong looking";
- mes "foreheads and cheekbones.";
- close2; cutin "",255; end;
- case 16:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Blitz Beat' style!";
- mes "A funky and lively fashion,";
- mes "this style was developed for a";
- mes "Hunter who liked really long";
- mes "bangs and wanted to see";
- mes "through them at the same time.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Anke Snare' style!";
- mes "The style style is specially";
- mes "made for Hunters that don't like";
- mes "to get their hair tangled...";
- mes "After all, what kind of Hunter";
- mes "lets their hair get trapped?";
- close2; cutin "",255; end;
- case 17:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Find Ore' style!";
- mes "It's a practical, economical look";
- mes "that is popular among Blacksmiths.";
- mes "Some swear that this fashion helps";
- mes "them in finding ores, but where's";
- mes "the science in that??";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Hammer Fall' style!";
- mes "For the woman that doesn't want";
- mes "her hair to get in the way when";
- mes "she's savagely swinging heavy";
- mes "objects. Of course, this is a";
- mes "Blacksmith favorite.";
- close2; cutin "",255; end;
- case 18:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Fire Pillar' style!";
- mes "It's a trendy look, in which";
- mes "you cover one eye for that";
- mes "intrigue effect. The element";
- mes "of mystery is always in";
- mes "fashion, don't you think?";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Jupitel Thunder'";
- mes "style! A look that strikes";
- mes "like lightening, without";
- mes "any of that annoying static";
- mes "cling or muss. This fashion";
- mes "looks great with Mage Hats.";
- close2; cutin "",255; end;
- case 19:
- if (Sex == SEX_MALE) {
- mes "Oh, that's 'Guillotine Fist'";
- mes "style! The smooth, slicked back";
- mes "pompadour shows that you're";
- mes "serious about your passion";
- mes "for brawling... or just your passion.";
- close2; cutin "",255; end;
- }
- mes "Oh, that's 'Whirlwind' style!";
- mes "A favorite among the studious";
- mes "Sages, the hair is tied back";
- mes "in a stylish braid so that";
- mes "it doesn't fly around after";
- mes "casting those windy spells.";
- close2; cutin "",255; end;
+ mes "Oops, I'm sorry, but that";
+ mes "style is not available.";
+ mes "Remember to enter a number";
+ mes "from 1 to 19.";
+ close();
+ }
+ callsub L_cutin,.@style;
+ mes "[Veronica]";
+ switch(.@style) {
+ case 1:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Play Dead' style!";
+ mes "It's a nice, basic haircut.";
+ mes "I notice that usually the";
+ mes "cute, conversative types seem";
+ mes "to prefer this style.";
+ } else {
+ mes "Oh, that's 'First Aid' style!";
+ mes "The shoulder length tresses";
+ mes "are straightened for those";
+ mes "no nonsense adventurers. It";
+ mes "seems to be the style of";
+ mes "choice for Novices.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 2:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's the 'Two Handed Sword";
+ mes "Mastery' style! It's perfect for";
+ mes "for Swordmen who might muss their";
+ mes "hair while swinging their swords";
+ mes "all day long.";
+ } else {
+ mes "Oh, that's 'Bash' style!";
+ mes "For the powerful woman that's";
+ mes "not afraid to get a little";
+ mes "blood on her hands, but knows";
+ mes "how great her hair will look";
+ mes "while wildly flailing a sword.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 3:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Napalm Beat' style!";
+ mes "It's a unique look with a hint";
+ mes "of eccentricity that's offset";
+ mes "with a helping of elegance.";
+ } else {
+ mes "Oh, that's 'Frost Diver' style!";
+ mes "The pigtails lend an innocent,";
+ mes "demure look for those Mages";
+ mes "and Wizards that usually scare";
+ mes "off the boys with their spells.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 4:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's the 'Double Strafe'";
+ mes "style! The arrangement of the";
+ mes "hair conducts ambient static";
+ mes "electricity, naturally clearing";
+ mes "the mind. At least, that's what";
+ mes "I was taught in fashion school.";
+ } else {
+ mes "Oh, that's 'Arrow Shower' style!";
+ mes "For the Bowswoman who doesn't";
+ mes "want fashion to interfere with";
+ mes "her depth perception. Much more";
+ mes "attractive than those horrid";
+ mes "granny-style hairbuns.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 5:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Angelus' style!";
+ mes "It's for calm and devout people,";
+ mes "as well as those bashful,";
+ mes "mild-mannered types.";
+ } else {
+ mes "Oh, that's 'Heal' style!";
+ mes "This is in trend among";
+ mes "Priests and Acolytes since";
+ mes "this style is appropriate";
+ mes "for formal situations, but";
+ mes "is also practical in battle.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 6:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Push Cart' style!";
+ mes "It was based on the design of a";
+ mes "cart...at least, that's what";
+ mes "I learned in beautician school.";
+ } else {
+ mes "Ooh, that's 'Vending' style!";
+ mes "It's the hairdo of money";
+ mes "makers...and if I may say so,";
+ mes "it's also economical.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 7:
+ if (Sex == SEX_MALE) {
+ mes "Ooh, that's 'Envenom' style!";
+ mes "It looks great on Thieves and";
+ mes "and Assassins when they're";
+ mes "out poisoning people and animals.";
+ mes "It's fashion for the aggressive";
+ mes "and eclectic~!";
+ } else {
+ mes "Oh, that's 'Double Attack' style!";
+ mes "The adorable pigtail, paired with";
+ mes "those provacative bangs are sure";
+ mes "to help you steal the heart of";
+ mes "some cute guy.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 8:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Bowling Bash' style!";
+ mes "A popular style for Knights, its";
+ mes "manly, rugged look tends to";
+ mes "attract all of the ladies,";
+ mes "and looks great on men with";
+ mes "strong chins.";
+ } else {
+ mes "Oh, that's 'Gloria' style!";
+ mes "It's very elegant and looks";
+ mes "great on holy Priests. This";
+ mes "style is most attractive to";
+ mes "ladies who aren't that used";
+ mes "to fighting with their hands.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 9:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Venom Dust' style!";
+ mes "Definitely a look for rebels,";
+ mes "the sweeping, yet decidedly";
+ mes "luxorious locks seems to enchant";
+ mes "girls with a fatal attraction.";
+ } else {
+ mes "Oh, that's 'SP Recovery' style!";
+ mes "To add more body to the special";
+ mes "style of these bangs, I use a";
+ mes "special conditioner that makes";
+ mes "you feel like you're regaining SP";
+ mes "...Although, it acutally doesn't.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 10:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Turn Undead' style!";
+ mes "This is popular among Priests";
+ mes "that want a serious, yet a bit";
+ mes "of a wild, agressive look.";
+ mes "Definitely more attractive";
+ mes "than the 'Holy Light' mullet.";
+ } else {
+ mes "Oh, that's 'Prepare Potion' style!";
+ mes "The flared out tresses are chosen";
+ mes "by beginning Alchemists, since";
+ mes "early, explosive experiments would";
+ mes "make their hair to stick out anyway.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 11:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Dragonology' style!";
+ mes "It's neat and clean cut, perfect";
+ mes "for studious people and looks";
+ mes "great with eyeglasses. This";
+ mes "is a fashion well suited to";
+ mes "intellectual types.";
+ } else {
+ mes "Oh, that's 'Grand Cross' style!";
+ mes "It's in style among those pious";
+ mes "Crusaders that need hair that";
+ mes "won't muss during fighting, yet";
+ mes "is respectable enough to attend";
+ mes "religious services.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 12:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Mace Mastery' style!";
+ mes "A lot of care goes into making";
+ mes "that tussled hair say, 'I don't";
+ mes "care how I look at all.'";
+ } else {
+ mes "Oh, that's 'Intimidate' style!";
+ mes "The Rogue women seem to like";
+ mes "this style...although I imagine";
+ mes "that more of them would prefer";
+ mes "something wilder to match those";
+ mes "stockings...";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 13:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Thunder Storm' style!";
+ mes "This hot, flamboyant hairstyle";
+ mes "flares out wildly like thunder.";
+ mes "...And you will too with this new look.";
+ } else {
+ mes "Oh, that's 'Spiritual Sphere";
+ mes "Absorption' style! There's a";
+ mes "charismatic quality to this";
+ mes "fashion: it's tough, slightly";
+ mes "tomboyish, but not so much";
+ mes "that it can't be cute.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 14:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Encore' style!";
+ mes "The elegant, flowing locks";
+ mes "fit well with Bards, or men who";
+ mes "appreciate the value of male";
+ mes "beauty.";
+ } else {
+ mes "Oh, that's 'Gypsy's Kiss' style!";
+ mes "Dancers seem to like this style,";
+ mes "although personally, I think";
+ mes "this fashion fits very well";
+ mes "with glasses.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 15:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Grimtooth' style!";
+ mes "Spiky and unkempt, this style";
+ mes "is a popular counterculture";
+ mes "street fashion. You might";
+ mes "not want to wear your hair";
+ mes "this way at a wedding, though.";
+ } else {
+ mes "Oh, that's 'Counter Attack' style!";
+ mes "This is an intimidating look for";
+ mes "girls that want to say 'You hit";
+ mes "me, I'll hit you back!' It really";
+ mes "emphasizes strong looking";
+ mes "foreheads and cheekbones.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 16:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Blitz Beat' style!";
+ mes "A funky and lively fashion,";
+ mes "this style was developed for a";
+ mes "Hunter who liked really long";
+ mes "bangs and wanted to see";
+ mes "through them at the same time.";
+ } else {
+ mes "Oh, that's 'Anke Snare' style!";
+ mes "The style style is specially";
+ mes "made for Hunters that don't like";
+ mes "to get their hair tangled...";
+ mes "After all, what kind of Hunter";
+ mes "lets their hair get trapped?";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 17:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Find Ore' style!";
+ mes "It's a practical, economical look";
+ mes "that is popular among Blacksmiths.";
+ mes "Some swear that this fashion helps";
+ mes "them in finding ores, but where's";
+ mes "the science in that??";
+ } else {
+ mes "Oh, that's 'Hammer Fall' style!";
+ mes "For the woman that doesn't want";
+ mes "her hair to get in the way when";
+ mes "she's savagely swinging heavy";
+ mes "objects. Of course, this is a";
+ mes "Blacksmith favorite.";
+ }
+ close2;
+ cutin "",255;
+ end;
+ case 18:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Fire Pillar' style!";
+ mes "It's a trendy look, in which";
+ mes "you cover one eye for that";
+ mes "intrigue effect. The element";
+ mes "of mystery is always in";
+ mes "fashion, don't you think?";
+ } else {
+ mes "Oh, that's 'Jupitel Thunder'";
+ mes "style! A look that strikes";
+ mes "like lightening, without";
+ mes "any of that annoying static";
+ mes "cling or muss. This fashion";
+ mes "looks great with Mage Hats.";
}
+ close2;
+ cutin "",255;
+ end;
+ case 19:
+ if (Sex == SEX_MALE) {
+ mes "Oh, that's 'Guillotine Fist'";
+ mes "style! The smooth, slicked back";
+ mes "pompadour shows that you're";
+ mes "serious about your passion";
+ mes "for brawling... or just your passion.";
+ } else {
+ mes "Oh, that's 'Whirlwind' style!";
+ mes "A favorite among the studious";
+ mes "Sages, the hair is tied back";
+ mes "in a stylish braid so that";
+ mes "it doesn't fly around after";
+ mes "casting those windy spells.";
+ }
+ close2;
+ cutin "",255;
+ end;
}
case 2:
if(BaseLevel < 60) {
@@ -413,17 +450,19 @@ alberta_in,55,142,7 script Hair Dresser 4_F_02,{
mes "no.19. I will do my best to";
mes "make you look your very best.";
next;
- input .@style;
- if(.@style > 19) {
+ input(.@style);
+ if(.@style == 0) {
mes "[Veronica]";
- mes "I am sorry, you chose an unavailable style.";
- mes "Make sure you enter the correct number.";
+ mes "You have canceled your request.";
close;
- } else if(.@style == 0) {
+ }
+ if (.@style < 1 || .@style > 19) {
mes "[Veronica]";
- mes "You have canceled your request.";
+ mes "I am sorry, you chose an unavailable style.";
+ mes "Make sure you enter the correct number.";
close;
- } else if(getlook(1) == .@style) {
+ }
+ if(getlook(1) == .@style) {
mes "[Veronica]";
mes "I am sorry, but you are already";
mes "wearing the style you have";
@@ -976,7 +1015,7 @@ lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
mes "No. 27: Oratio Cut.";
}
next;
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Prince Shammi]";
mes "Oh...?";
@@ -986,7 +1025,7 @@ lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
mes "Still, I'm so disappointed~";
close;
}
- else if ((.@input < 20) || (.@input > 27)) {
+ if (.@input < 20 || .@input > 27) {
mes "[Prince Shammi]";
mes "Dearie, please enter";
mes "a number from ''20'' to";
@@ -995,7 +1034,7 @@ lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
mes "you soooooooo beautiful!";
close;
}
- else if (getlook(LOOK_HAIR) == .@input) {
+ if (getlook(LOOK_HAIR) == .@input) {
mes "[Prince Shammi]";
mes "Oh dear me, you're not";
mes "going to waste money for";
@@ -1005,107 +1044,104 @@ lhz_in02,100,143,3 script Hair Dresser#li 2_M_DYEINGER,{
mes "your hair color, you know.";
close;
}
- else {
- if (Sex == SEX_MALE)
- cutin "hair_m_"+.@input+".BMP",4;
- else
- cutin "hair_f_"+.@input+".BMP",4;
- mes "[Prince Shammi]";
- mes "Oooh! Now, is this the";
- mes "hairstyle that you wanted?";
- mes "This is No. "+.@input+", by the way.";
- next;
- switch(select("Yes.", "No.")) {
- case 1:
- if (getlook(LOOK_HAIR_COLOR) == 0) {
- mes "[Prince Shammi]";
- mes "Oh, Sweet Christmas,";
- mes "I almost forgot! Would";
- mes "you like me to dye your";
- mes "hair, free of charge? It's";
- mes "a part of my service, so";
- mes "please choose a color~";
- next;
- switch(select("Red", "Yellow", "Purple", "Orange", "Green", "Blue", "White", "Dark Brown")) {
- case 1:
- .@headpalette = 8;
- break;
- case 2:
- .@headpalette = 1;
- break;
- case 3:
- .@headpalette = 2;
- break;
- case 4:
- .@headpalette = 3;
- break;
- case 5:
- .@headpalette = 4;
- break;
- case 6:
- .@headpalette = 5;
- break;
- case 7:
- .@headpalette = 6;
- break;
- case 8:
- .@headpalette = 7;
- break;
- }
- }
+ if (Sex == SEX_MALE)
+ cutin "hair_m_"+.@input+".BMP",4;
+ else
+ cutin "hair_f_"+.@input+".BMP",4;
+ mes "[Prince Shammi]";
+ mes "Oooh! Now, is this the";
+ mes "hairstyle that you wanted?";
+ mes "This is No. "+.@input+", by the way.";
+ next;
+ switch(select("Yes.", "No.")) {
+ case 1:
+ if (getlook(LOOK_HAIR_COLOR) == 0) {
mes "[Prince Shammi]";
- mes "Okay, let's get";
- mes "started, shall we?";
- mes "Keep your head still,";
- mes "now. Yes, that's good...";
+ mes "Oh, Sweet Christmas,";
+ mes "I almost forgot! Would";
+ mes "you like me to dye your";
+ mes "hair, free of charge? It's";
+ mes "a part of my service, so";
+ mes "please choose a color~";
next;
- mes "^3355FF*Snip snip*";
- mes "*Rustle rustle*";
- mes "*Clip clip clip clip*";
- mes "*Bzzzzzzzzzzzzzzzzzzzz*^000000";
- next;
- Zeny -= 99800;
- delitem Counteragent,3;
- delitem Mixture,3;
- delitem Danggie,100;
- delitem Short_Daenggie,100;
- delitem Long_Hair,100;
- delitem Golden_Hair,100;
- delitem Glossy_Hair,100;
- setlook LOOK_HAIR,.@input;
- setlook LOOK_HAIR_COLOR,.@headpalette;
- mes "[Prince Shammi]";
- mes "Well, we're all finished!";
- mes "And my, oh my, you look even";
- mes "more fabulous that I thought";
- mes "you would! Oh, I can't believe";
- if (Sex == SEX_MALE) {
- mes "how tough and elegant you are~";
- mes "So ruggedly manly and handsome!";
- }
- else {
- mes "how graceful and elegant you";
- mes "look! Absolutely gorgeous!";
+ switch(select("Red", "Yellow", "Purple", "Orange", "Green", "Blue", "White", "Dark Brown")) {
+ case 1:
+ .@headpalette = 8;
+ break;
+ case 2:
+ .@headpalette = 1;
+ break;
+ case 3:
+ .@headpalette = 2;
+ break;
+ case 4:
+ .@headpalette = 3;
+ break;
+ case 5:
+ .@headpalette = 4;
+ break;
+ case 6:
+ .@headpalette = 5;
+ break;
+ case 7:
+ .@headpalette = 6;
+ break;
+ case 8:
+ .@headpalette = 7;
+ break;
}
- emotion e_kis,"Hair Dresser#li";
- next;
- mes "[Prince Shammi]";
- mes "You love your new";
- mes "hair, don't you? Feel";
- mes "free to come back anytime.";
- mes "I'll make you the best looking";
- mes "person in the entire world!";
- emotion e_no1,"Hair Dresser#li";
- close;
- case 2:
- mes "[Prince Shammi]";
- mes "Oh, did you forget which";
- mes "hairstyle goes with which";
- mes "number? By all means, please";
- mes "check again! Find the one that";
- mes "is perfect just for you, okay?";
- close;
}
+ mes "[Prince Shammi]";
+ mes "Okay, let's get";
+ mes "started, shall we?";
+ mes "Keep your head still,";
+ mes "now. Yes, that's good...";
+ next;
+ mes "^3355FF*Snip snip*";
+ mes "*Rustle rustle*";
+ mes "*Clip clip clip clip*";
+ mes "*Bzzzzzzzzzzzzzzzzzzzz*^000000";
+ next;
+ Zeny -= 99800;
+ delitem Counteragent,3;
+ delitem Mixture,3;
+ delitem Danggie,100;
+ delitem Short_Daenggie,100;
+ delitem Long_Hair,100;
+ delitem Golden_Hair,100;
+ delitem Glossy_Hair,100;
+ setlook LOOK_HAIR,.@input;
+ setlook LOOK_HAIR_COLOR,.@headpalette;
+ mes "[Prince Shammi]";
+ mes "Well, we're all finished!";
+ mes "And my, oh my, you look even";
+ mes "more fabulous that I thought";
+ mes "you would! Oh, I can't believe";
+ if (Sex == SEX_MALE) {
+ mes "how tough and elegant you are~";
+ mes "So ruggedly manly and handsome!";
+ } else {
+ mes "how graceful and elegant you";
+ mes "look! Absolutely gorgeous!";
+ }
+ emotion e_kis,"Hair Dresser#li";
+ next;
+ mes "[Prince Shammi]";
+ mes "You love your new";
+ mes "hair, don't you? Feel";
+ mes "free to come back anytime.";
+ mes "I'll make you the best looking";
+ mes "person in the entire world!";
+ emotion e_no1,"Hair Dresser#li";
+ close;
+ case 2:
+ mes "[Prince Shammi]";
+ mes "Oh, did you forget which";
+ mes "hairstyle goes with which";
+ mes "number? By all means, please";
+ mes "check again! Find the one that";
+ mes "is perfect just for you, okay?";
+ close;
}
break;
case 3:
@@ -1200,7 +1236,7 @@ lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
mes "Um, if you need to";
mes "cancel, just enter ''0.''";
next;
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Assistant Beautician]";
mes "Awwww...";
@@ -1208,7 +1244,7 @@ lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
mes "trust me after all...";
close;
}
- else if ((.@input < 1) || (.@input > 23)) {
+ if (.@input < 1 || .@input > 23) {
mes "[Assistant Beautician]";
mes "Huh? I thought I asked";
mes "you to enter a number from";
@@ -1216,34 +1252,31 @@ lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
mes "wrong this time? Hmmm...";
close;
}
- else {
+ mes "[Assistant Beautician]";
+ mes "So this is the";
+ mes "style you want me";
+ mes "to try to do for you?";
+ if (Sex == SEX_MALE) {
+ if (.@input < 10)
+ cutin "hair_m_0"+.@input+".BMP",4;
+ else
+ cutin "hair_m_"+.@input+".BMP",4;
+ } else {
+ if (.@input < 10)
+ cutin "hair_f_0"+.@input+".BMP",4;
+ else
+ cutin "hair_f_"+.@input+".BMP",4;
+ }
+ next;
+ switch(select("Yes, let's try it~", "Cancel.")) {
+ case 1:
+ break;
+ case 2:
mes "[Assistant Beautician]";
- mes "So this is the";
- mes "style you want me";
- mes "to try to do for you?";
- if (Sex == SEX_MALE) {
- if (.@input < 10)
- cutin "hair_m_0"+.@input+".BMP",4;
- else
- cutin "hair_m_"+.@input+".BMP",4;
- }
- else {
- if (.@input < 10)
- cutin "hair_f_0"+.@input+".BMP",4;
- else
- cutin "hair_f_"+.@input+".BMP",4;
- }
- next;
- switch(select("Yes, let's try it~", "Cancel.")) {
- case 1:
- break;
- case 2:
- mes "[Assistant Beautician]";
- mes "Oooh, there must";
- mes "be some style that";
- mes "you like, right? Hmmm...";
- close;
- }
+ mes "Oooh, there must";
+ mes "be some style that";
+ mes "you like, right? Hmmm...";
+ close;
}
mes "[Assistant Beautician]";
mes "Great, you finally";
@@ -1279,8 +1312,7 @@ lhz_in02,91,155,5 script Assistant Beautician#li 4_F_LGTGIRL,{
if (.@input == .@style_r) {
mes "So... How do you like";
mes "your new style? I love it!";
- }
- else {
+ } else {
mes "Wha...? This isn't what";
mes "you wanted? Uh oh... Um...";
mes "Well, next time I know I can";
diff --git a/npc/merchants/hd_refine.txt b/npc/merchants/hd_refine.txt
index a7fc5e922..fe6b60d7b 100644
--- a/npc/merchants/hd_refine.txt
+++ b/npc/merchants/hd_refine.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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/icecream.txt b/npc/merchants/icecream.txt
index 14f83b2a0..c12cb7ecd 100644
--- a/npc/merchants/icecream.txt
+++ b/npc/merchants/icecream.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Kisuka
-//= Copyright (C) KOOK SWU
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Kisuka
+//= Copyright (C) KOOK SWU
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -56,8 +56,8 @@
mes "so you can only purchase 5 at a time!!";
next;
while(1) {
- input .@input;
- if(.@input < 1) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Ice Cream Maker]";
mes "If you don't want to buy any,";
mes "could you please let the next customer";
@@ -65,7 +65,7 @@
mes "Thank you.";
close;
}
- if(.@input > 5) {
+ if (.@input > 5) {
mes "[Ice Cream Maker]";
mes "Ouch";
mes "You expect too much.";
@@ -74,7 +74,9 @@
mes "If you might haveto make a lot of trips";
mes "to the bathroom tonight.";
next;
+ continue;
}
+ break;
}
if(Zeny<.@input*100) {
mes "[Ice Cream Maker]";
diff --git a/npc/merchants/inn.txt b/npc/merchants/inn.txt
index 89265093f..b89f95491 100644
--- a/npc/merchants/inn.txt
+++ b/npc/merchants/inn.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) erKURITA
-//= Copyright (C) kobra_k88
-//= Copyright (C) Playtester
-//= Copyright (C) Darkchild
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) erKURITA
+//= Copyright (C) kobra_k88
+//= Copyright (C) Playtester
+//= Copyright (C) Darkchild
//=
//= 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/npc/merchants/kunai_maker.txt b/npc/merchants/kunai_maker.txt
index 06a2f8bdb..7c9e3700c 100644
--- a/npc/merchants/kunai_maker.txt
+++ b/npc/merchants/kunai_maker.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) ultramage
-//= Copyright (C) Playtester
-//= Copyright (C) erKURITA
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) ultramage
+//= Copyright (C) Playtester
+//= Copyright (C) erKURITA
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -84,7 +84,7 @@ function script Kunai_Trade {
mes "If you want to cancel the trade, then please enter ''0.'' How many";
mes "Kunai sets would you like?";
next;
- input .@amount;
+ input(.@amount);
if(.@amount < 1 || .@amount > 500) {
mes "[Kashin]";
mes "Eh? I'm sorry, but";
diff --git a/npc/merchants/milk_trader.txt b/npc/merchants/milk_trader.txt
index ff87c68d5..00f0a4abe 100644
--- a/npc/merchants/milk_trader.txt
+++ b/npc/merchants/milk_trader.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/merchants/novice_exchange.txt b/npc/merchants/novice_exchange.txt
index c27fc6570..da3b008ee 100644
--- a/npc/merchants/novice_exchange.txt
+++ b/npc/merchants/novice_exchange.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Team
-//= Copyright (C) eAthena Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) KarLaeda
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Team
+//= Copyright (C) eAthena Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) KarLaeda
+//= Copyright (C) Lupus
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -355,8 +355,8 @@ function script F_PotExchange {
mes "mind, just enter '0' to cancel.";
next;
while(1) {
- input .@input,0,101;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Merchant]";
mes "What...?";
mes "Why the hell do you";
@@ -364,17 +364,16 @@ function script F_PotExchange {
mes "Pretty indecisive, aren't you?";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Merchant]";
mes "I can't give you more";
mes "than 100 Red Potions";
mes "at once. Let's try";
mes "this again.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@put_out_item = .@input * getarg(1);
if (countitem(getarg(0)) < .@put_out_item) {
diff --git a/npc/merchants/old_pharmacist.txt b/npc/merchants/old_pharmacist.txt
index 0cbbeda6d..f8fac475e 100644
--- a/npc/merchants/old_pharmacist.txt
+++ b/npc/merchants/old_pharmacist.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) DZeroX
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) DZeroX
//=
//= 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,8 +106,8 @@ alberta_in,16,28,4 script Pharmacist 1_M_PUBMASTER,{
next;
mes "[Old Pharmacist]";
mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
- input .@amount,0,101;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
next;
mes "[Old Pharmacist]";
mes "Make up your mind, will you?!";
@@ -235,9 +235,9 @@ L_Making:
next;
mes "[Old Pharmacist]";
mes "Then pick a number below 100. If you don't want any, just enter '0'. With the materials you have, you can make about "+.@max+" potions.";
- input .@amount;
+ input(.@amount);
next;
- if (.@amount == 0) {
+ if (.@amount <= 0) {
mes "[Old Pharmacist]";
mes "Make up your mind, will you?!";
close;
diff --git a/npc/merchants/quivers.txt b/npc/merchants/quivers.txt
index 984d182fe..51f927299 100644
--- a/npc/merchants/quivers.txt
+++ b/npc/merchants/quivers.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Nexon
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Muad_Dib (Prometheus Project)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Nexon
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Muad_Dib (Prometheus Project)
//=
//= 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/npc/merchants/refine.txt b/npc/merchants/refine.txt
index 7f1b4d9a3..975226fa1 100644
--- a/npc/merchants/refine.txt
+++ b/npc/merchants/refine.txt
@@ -9,29 +9,29 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Xantara
-//= Copyright (C) Paradox924X
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) Silent
-//= Copyright (C) Kargha
-//= Copyright (C) Playtester
-//= Copyright (C) DracoRPG
-//= Copyright (C) Poki#3
-//= Copyright (C) Nexon
-//= Copyright (C) dafide18
-//= Copyright (C) massdriller
-//= Copyright (C) shadowlady
-//= Copyright (C) Shinigami
-//= Copyright (C) Darkchild
-//= Copyright (C) kobra_k88
-//= Copyright (C) Lupus
-//= Copyright (C) Skotlex
-//= Copyright (C) dafide18
-//= Copyright (C) Syrus22
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Xantara
+//= Copyright (C) Paradox924X
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) Silent
+//= Copyright (C) Kargha
+//= Copyright (C) Playtester
+//= Copyright (C) DracoRPG
+//= Copyright (C) Poki#3
+//= Copyright (C) Nexon
+//= Copyright (C) dafide18
+//= Copyright (C) massdriller
+//= Copyright (C) shadowlady
+//= Copyright (C) Shinigami
+//= Copyright (C) Darkchild
+//= Copyright (C) kobra_k88
+//= Copyright (C) Lupus
+//= Copyright (C) Skotlex
+//= Copyright (C) dafide18
+//= Copyright (C) Syrus22
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -120,20 +120,19 @@ geffen_in,110,172,0 script Christopher#1 1_M_SMITH,{
mes "It's a much needed tool fer refining metal! So, How many do ye wish to buy? If ye want to quit, just type the number '0.'";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Christopher Guillenrow]";
mes "Aye, the deal is canceled. Fare ye well.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Christopher Guillenrow]";
mes "Ye can buy 500, er less.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * 150;
if (Zeny < .@sell) {
@@ -199,22 +198,21 @@ geffen_in,110,172,0 script Christopher#1 1_M_SMITH,{
mes "So, How many do ye wish to buy? If ye dont want anything, just type the number as '0.'";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Christopher Guillenrow]";
mes "Deal has";
mes "been canceled.";
mes "Fare ye well.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Christopher Guillenrow]";
mes "Ye can buy 500, er less.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * 200;
if (Zeny < .@sell) {
@@ -237,22 +235,21 @@ geffen_in,110,172,0 script Christopher#1 1_M_SMITH,{
mes "So, how many do ye wish to buy? If ye dont want anything at all, just type the number as '0.'";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Christopher Guillenrow]";
mes "Deal has";
mes "been canceled.";
mes "Fare ye well.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Christopher Guillenrow]";
mes "Ye can buy 500, er less.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * 1000;
if (Zeny < .@sell) {
@@ -424,20 +421,19 @@ ein_in01,38,29,0 script Paul Spanner 1_M_SMITH,{
mes "So, how many do you need? If you want to cancel the trade, enter '0'.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Paul Spanner]";
mes "You have canceled the trade. If you need anything, just let me know.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Paul Spanner]";
mes "You can only buy 500 or less at a time.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * .@item_cost;
if (Zeny < .@sell) {
@@ -478,20 +474,19 @@ ein_in01,38,29,0 script Paul Spanner 1_M_SMITH,{
mes "So, how many of them do you need? If you want to cancel the trade, enter '0'.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Paul Spanner]";
mes "The trade has been canceled. If you need anything, just let me know.";
close;
}
- else if ((.@input < 0) || (.@input > 500)) {
+ if (.@input > 500) {
mes "[Paul Spanner]";
mes "You can buy 500 or less at a time.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * .@item_price;
if (Zeny < .@sell) {
@@ -589,14 +584,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) {
@@ -803,7 +803,7 @@ function script refinemain {
mes "[" + getarg(0) + "]";
mes "How many times would you like me to refine your item?";
next;
- input .@refinecnt;
+ input(.@refinecnt);
.@refinecheck = .@refinecnt + getequiprefinerycnt(.@part);
if (.@refinecnt < 1 || .@refinecheck > 10) {
mes "[" + getarg(0) + "]";
@@ -949,24 +949,23 @@ function script phramain {
mes "If you don't want any, please enter the number, '0.'";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[" + getarg(0) + "]";
mes "The deal has";
mes "been cancelled.";
close;
}
- else if (.@input < 0 || .@input > 500) {
+ if (.@input > 500) {
mes "[" + getarg(0) + "]";
mes "Alright, you can";
mes "puchase up to 500.";
mes "No more than that,";
mes "got it? Good.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@sell = .@input * .@price;
if (Zeny < .@sell) {
diff --git a/npc/merchants/renters.txt b/npc/merchants/renters.txt
index 93e8b2661..201fb2d06 100644
--- a/npc/merchants/renters.txt
+++ b/npc/merchants/renters.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Poki#3
-//= Copyright (C) Komurka
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Poki#3
+//= Copyright (C) Komurka
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/merchants/shops.txt b/npc/merchants/shops.txt
index b215bd6d8..4c4442724 100644
--- a/npc/merchants/shops.txt
+++ b/npc/merchants/shops.txt
@@ -9,25 +9,25 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Yommy
-//= Copyright (C) Streusel
-//= Copyright (C) Euphy
-//= Copyright (C) Spre
-//= Copyright (C) Kenpachi
-//= Copyright (C) Masao
-//= Copyright (C) tr0n
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) Musashiden
-//= Copyright (C) erKURITA
-//= Copyright (C) Poki#3
-//= Copyright (C) Lupus
-//= Copyright (C) Yor
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) celest
-//= Copyright (C) Darkchild
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Yommy
+//= Copyright (C) Streusel
+//= Copyright (C) Euphy
+//= Copyright (C) Spre
+//= Copyright (C) Kenpachi
+//= Copyright (C) Masao
+//= Copyright (C) tr0n
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Evera
+//= Copyright (C) Musashiden
+//= Copyright (C) erKURITA
+//= Copyright (C) Poki#3
+//= Copyright (C) Lupus
+//= Copyright (C) Yor
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) celest
+//= Copyright (C) Darkchild
+//= Copyright (C) kobra_k88
//=
//= 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/npc/merchants/socket_enchant.txt b/npc/merchants/socket_enchant.txt
index 599d41564..a67b80b46 100644
--- a/npc/merchants/socket_enchant.txt
+++ b/npc/merchants/socket_enchant.txt
@@ -9,19 +9,19 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Gepard
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) ultramage
-//= Copyright (C) SinSloth
-//= Copyright (C) Evera
-//= Copyright (C) Toms
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Gepard
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) ultramage
+//= Copyright (C) SinSloth
+//= Copyright (C) Evera
+//= Copyright (C) Toms
+//= Copyright (C) Lupus
//=
//= 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/npc/merchants/socket_enchant2.txt b/npc/merchants/socket_enchant2.txt
index 29573970d..9745ff062 100644
--- a/npc/merchants/socket_enchant2.txt
+++ b/npc/merchants/socket_enchant2.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Gepard
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Gepard
//=
//= 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/npc/merchants/wander_pet_food.txt b/npc/merchants/wander_pet_food.txt
index 598430932..0f405698a 100644
--- a/npc/merchants/wander_pet_food.txt
+++ b/npc/merchants/wander_pet_food.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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/npc/mobs/citycleaners.txt b/npc/mobs/citycleaners.txt
index 2fe65e9c7..07e54dd32 100644
--- a/npc/mobs/citycleaners.txt
+++ b/npc/mobs/citycleaners.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Playtester
-//= Copyright (C) Komurka
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) massdriller
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Playtester
+//= Copyright (C) Komurka
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) massdriller
//=
//= 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/npc/mobs/jail.txt b/npc/mobs/jail.txt
index 39157742a..2c4f6efcc 100644
--- a/npc/mobs/jail.txt
+++ b/npc/mobs/jail.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
//=
//= 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/npc/mobs/pvp.txt b/npc/mobs/pvp.txt
index fb62f38ee..64b9a3226 100644
--- a/npc/mobs/pvp.txt
+++ b/npc/mobs/pvp.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Athena
//=
//= 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/npc/mobs/towns.txt b/npc/mobs/towns.txt
index 6df669166..09cfa11f6 100644
--- a/npc/mobs/towns.txt
+++ b/npc/mobs/towns.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/other/CashShop_Functions.txt b/npc/other/CashShop_Functions.txt
index 5b957f9f2..c3d8098ea 100644
--- a/npc/other/CashShop_Functions.txt
+++ b/npc/other/CashShop_Functions.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -336,4 +336,4 @@ function script F_CashReduceStat {
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 904ed7165..81e511ac2 100644
--- a/npc/other/Global_Functions.txt
+++ b/npc/other/Global_Functions.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) AnnieRuru
-//= Copyright (C) Emistry
-//= Copyright (C) Euphy
-//= Copyright (C) Paradox924X
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) kobra_k88
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) AnnieRuru
+//= Copyright (C) Emistry
+//= Copyright (C) Euphy
+//= Copyright (C) Paradox924X
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Evera
+//= Copyright (C) kobra_k88
+//= Copyright (C) Lupus
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -434,7 +434,7 @@ 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));
}
@@ -446,32 +446,45 @@ function script F_MesColor {
function script F_GetTradeRestriction {
.@trade = getiteminfo(getarg(0), ITEMINFO_TRADE);
- if (.@trade == 0) {
+ if (.@trade == 0)
return "None";
- }
.@trade$ = "";
- if (.@trade & ITR_NODROP) {
+ if (.@trade & ITR_NODROP)
.@trade$ += "NoDrop|";
- }
- if (.@trade & ITR_NOTRADE) {
+ if (.@trade & ITR_NOTRADE)
.@trade$ += "NoTrade|";
- }
- if (.@trade & ITR_PARTNEROVERRIDE) {
+ if (.@trade & ITR_PARTNEROVERRIDE)
.@trade$ += "PartnerOverride|";
- }
- if (.@trade & ITR_NOSELLTONPC) {
+ if (.@trade & ITR_NOSELLTONPC)
.@trade$ += "NoSellToNpc|";
- }
- if (.@trade & ITR_NOSTORAGE) {
+ if (.@trade & ITR_NOSTORAGE)
.@trade$ += "NoStorage|";
- }
- if (.@trade & ITR_NOGSTORAGE) {
+ if (.@trade & ITR_NOGSTORAGE)
.@trade$ += "NoGuildStorage|";
- }
- if (.@trade & ITR_NOMAIL) {
+ if (.@trade & ITR_NOMAIL)
.@trade$ += "NoMail|";
- }
- if (.@trade & ITR_NOAUCTION) {
+ 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/acolyte_warp.txt b/npc/other/acolyte_warp.txt
index 256c2d802..bb44bd8e3 100644
--- a/npc/other/acolyte_warp.txt
+++ b/npc/other/acolyte_warp.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/other/arena/arena_aco.txt b/npc/other/arena/arena_aco.txt
index 99971eecd..2f6c0a023 100644
--- a/npc/other/arena/arena_aco.txt
+++ b/npc/other/arena/arena_aco.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/other/arena/arena_lvl50.txt b/npc/other/arena/arena_lvl50.txt
index 32bd12178..3e44c1b30 100644
--- a/npc/other/arena/arena_lvl50.txt
+++ b/npc/other/arena/arena_lvl50.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
//=
//= 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/npc/other/arena/arena_lvl60.txt b/npc/other/arena/arena_lvl60.txt
index 30734f043..2282cf9fa 100644
--- a/npc/other/arena/arena_lvl60.txt
+++ b/npc/other/arena/arena_lvl60.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
//=
//= 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/npc/other/arena/arena_lvl70.txt b/npc/other/arena/arena_lvl70.txt
index 9a0c26aa3..1b7adfe05 100644
--- a/npc/other/arena/arena_lvl70.txt
+++ b/npc/other/arena/arena_lvl70.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
//=
//= 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/npc/other/arena/arena_lvl80.txt b/npc/other/arena/arena_lvl80.txt
index 3bb1cf43a..ef3627651 100644
--- a/npc/other/arena/arena_lvl80.txt
+++ b/npc/other/arena/arena_lvl80.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
//=
//= 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/npc/other/arena/arena_party.txt b/npc/other/arena/arena_party.txt
index c3133af30..0f1ce3670 100644
--- a/npc/other/arena/arena_party.txt
+++ b/npc/other/arena/arena_party.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Inkfish
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Inkfish
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -165,6 +165,8 @@ OnTouch:
}
force_1-2,99,31,4 script Slipslowrun#party 4_F_TELEPORTER,{
+ end;
+
OnStart:
initnpctimer;
$arena_minptst = gettime(GETTIME_MINUTE);
@@ -1059,7 +1061,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
donpcevent "Ponox::OnStart";
}
specialeffect(EH_HIT5, AREA, playerattached());
- donpcevent "cast#pt::OnNomal1";
+ donpcevent "cast#pt::OnNomal1";
warp "arena_room",100,75;
end;
} else {
@@ -1078,7 +1080,7 @@ prt_are_in,77,135,3 script Staff#party-2 1_F_02,{
next;
switch( select( "Ok.","Let me think." ) ) {
case 1:
- input .@arnparty$;
+ input(.@arnparty$);
mes "[Staff]";
mes "You have entered ^3131FF"+.@arnparty$+"^000000. Is it correct?";
next;
diff --git a/npc/other/arena/arena_point.txt b/npc/other/arena/arena_point.txt
index 5292ebab3..5ff3ab75f 100644
--- a/npc/other/arena/arena_point.txt
+++ b/npc/other/arena/arena_point.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -80,70 +80,66 @@ prt_are_in,103,11,3 script Arena Point Manager 4_M_JOB_HUNTER,{
mes "value you may enter is 20.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Arena Point Manager]";
mes "You have";
mes "canceled";
mes "this service.";
close;
}
- else if (.@input > 20) {
+ if (.@input > 20) {
mes "[Arena Point Manager]";
mes "Your request exceeds";
mes "the maximum limit. Please";
mes "enter a value no greater than 20.";
close;
}
- else {
- .@want_point1 = 10 * .@input;
- .@want_point = 5 * .@input;
- .@my_arena_all = arena_point + .@want_point;
- .@my_turbo_all = tt_point - .@want_point1;
- if (.@my_arena_all > 28999) {
- mes "[Arena Point Manager]";
- mes "You will exceed the";
- mes "maximum amount of";
- mes "Arena Points if we proceed";
- mes "with this conversion of your";
- mes "Turbo Track Points. You cannot";
- mes "have more than 29,000 Arena Points.";
- next;
- mes "[Arena Point Manager]";
- mes "Please spend some of";
- mes "your Arena Points before";
- mes "using this service again.";
- mes "Thank you for your patronage.";
- close;
- }
- if (.@my_turbo_all < 0) {
- mes "[Arena Point Manager]";
- mes "I'm sorry, but";
- mes "you don't have enough";
- mes "Turbo Track Points to";
- mes "perform this Arena";
- mes "Point conversion.";
- close;
- }
- else {
- mes "[Arena Point Manager]";
- mes "You have converted";
- mes "10 Turbo Track Points";
- mes "into 5 Arena Points " + .@input + " times.";
- mes "A total of " + .@want_point1 + " Turbo Track Points were converted into";
- mes "" + .@want_point +" Arena Points.";
- tt_point -= .@want_point1;
- arena_point += .@want_point;
- next;
- mes "[Arena Point Manager]";
- mes "" + strcharinfo(PC_NAME) + ",";
- mes "you now have";
- mes "^4682B4" + arena_point + "^000000 Arena Points";
- mes "and ^00688B" + tt_point + "^000000 Turbo Track Points.";
- mes "Thank you for your patronage.";
- close;
- }
+ .@want_point1 = 10 * .@input;
+ .@want_point = 5 * .@input;
+ .@my_arena_all = arena_point + .@want_point;
+ .@my_turbo_all = tt_point - .@want_point1;
+ if (.@my_arena_all > 28999) {
+ mes "[Arena Point Manager]";
+ mes "You will exceed the";
+ mes "maximum amount of";
+ mes "Arena Points if we proceed";
+ mes "with this conversion of your";
+ mes "Turbo Track Points. You cannot";
+ mes "have more than 29,000 Arena Points.";
+ next;
+ mes "[Arena Point Manager]";
+ mes "Please spend some of";
+ mes "your Arena Points before";
+ mes "using this service again.";
+ mes "Thank you for your patronage.";
+ close;
+ }
+ if (.@my_turbo_all < 0) {
+ mes "[Arena Point Manager]";
+ mes "I'm sorry, but";
+ mes "you don't have enough";
+ mes "Turbo Track Points to";
+ mes "perform this Arena";
+ mes "Point conversion.";
+ close;
}
+ mes "[Arena Point Manager]";
+ mes "You have converted";
+ mes "10 Turbo Track Points";
+ mes "into 5 Arena Points " + .@input + " times.";
+ mes "A total of " + .@want_point1 + " Turbo Track Points were converted into";
+ mes "" + .@want_point +" Arena Points.";
+ tt_point -= .@want_point1;
+ arena_point += .@want_point;
+ next;
+ mes "[Arena Point Manager]";
+ mes "" + strcharinfo(PC_NAME) + ",";
+ mes "you now have";
+ mes "^4682B4" + arena_point + "^000000 Arena Points";
+ mes "and ^00688B" + tt_point + "^000000 Turbo Track Points.";
+ mes "Thank you for your patronage.";
+ close;
case 6:
mes "[Arena Point Manager]";
mes "You have";
diff --git a/npc/other/arena/arena_room.txt b/npc/other/arena/arena_room.txt
index b8806e112..93f55245a 100644
--- a/npc/other/arena/arena_room.txt
+++ b/npc/other/arena/arena_room.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -520,9 +520,9 @@ sec_in02,72,180,3 script Arena Manager#arena 4_NFWISP,{
//mes "If not, please enter a value for minutes first and then seconds.";
mes "Please enter a value for minutes first and then seconds.";
next;
- input .@arenamin;
+ input(.@arenamin, 0);
setd .@min$,.@arenamin;
- input .@arenasec;
+ input(.@arenasec, 0);
setd .@sec$,.@arenasec;
mes "[Arena Manager]";
mes "Current "+.@mode$+" ranker's play time has been rearranged to ^FF0000"+getd(.@min$)+"^000000 minutes and ^FF0000"+getd(.@sec$)+"^000000 seconds.";
@@ -1011,12 +1011,13 @@ function script Func_Are_Rew {
mes "You can exchange ^3131FF"+getarg(2)+" arena points with "+getarg(1)+" "+getitemname(getarg(0))+"^000000.";
mes "If you wish to cancel, please enter 0. If you don't, please enter how many ^3131FFtimes^000000 of arena points you wish to spend.";
next;
- input .@reward;
- if (.@reward == 0) {
+ input(.@reward);
+ if (.@reward <= 0) {
mes "[Givu]";
mes "You have canceled your request.";
close;
- } else if (.@reward > 1500) {
+ }
+ if (.@reward > 1500) {
mes "[Givu]";
mes "You have exceeded the maximum capacity.";
close;
diff --git a/npc/other/auction.txt b/npc/other/auction.txt
index 76e1a6042..4e86272ae 100644
--- a/npc/other/auction.txt
+++ b/npc/other/auction.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/other/books.txt b/npc/other/books.txt
index 919da1ca8..f3ab8ec94 100644
--- a/npc/other/books.txt
+++ b/npc/other/books.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/other/bulletin_boards.txt b/npc/other/bulletin_boards.txt
index e1e0ce519..a6e885e3e 100644
--- a/npc/other/bulletin_boards.txt
+++ b/npc/other/bulletin_boards.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) Kayla
-//= Copyright (C) Nexon
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silent
+//= Copyright (C) Kayla
+//= Copyright (C) Nexon
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/other/card_trader.txt b/npc/other/card_trader.txt
index 514a032b0..79d746cf2 100644
--- a/npc/other/card_trader.txt
+++ b/npc/other/card_trader.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Elias (og2)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Elias (og2)
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -121,7 +121,7 @@ prontera,115,90,0 script Putty 4_F_01,{
mes "[Putty]";
mes "Please tell me what card you want to exchange.";
next;
- input .@i$;
+ input(.@i$);
.@input$ = "_"+.@i$;
.@card = 0;
freeloop(1);
diff --git a/npc/other/comodo_gambling.txt b/npc/other/comodo_gambling.txt
index bd2b0d692..1c9494e4a 100644
--- a/npc/other/comodo_gambling.txt
+++ b/npc/other/comodo_gambling.txt
@@ -9,18 +9,18 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Paradox924X
-//= Copyright (C) ultramage
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Zefris
-//= Copyright (C) Cypress
-//= Copyright (C) Reddozen
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Paradox924X
+//= Copyright (C) ultramage
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Zefris
+//= Copyright (C) Cypress
+//= Copyright (C) Reddozen
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -540,14 +540,15 @@ mjolnir_02,85,362,3 script Blacksmith Miner 4_F_JOB_BLACKSMITH,{
mes "If you change your mind,";
mes "please enter '0' to cancel.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Dwayne]";
mes "Alright, you've";
mes "canceled the trade.";
mes "Take care!";
close;
- } else if (.@amount < 1 || .@amount > 500){
+ }
+ if (.@amount > 500) {
mes "[Dwayne]";
mes "The maximum";
mes "amount is 500.";
diff --git a/npc/other/divorce.txt b/npc/other/divorce.txt
index f490df2f9..419b770c0 100644
--- a/npc/other/divorce.txt
+++ b/npc/other/divorce.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) LightFighter
-//= Copyright (C) Scriptor
-//= Copyright (C) Perkka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) LightFighter
+//= Copyright (C) Scriptor
+//= Copyright (C) Perkka
//=
//= 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/npc/other/fortune.txt b/npc/other/fortune.txt
index 23d65e88f..4482cda18 100644
--- a/npc/other/fortune.txt
+++ b/npc/other/fortune.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -57,23 +57,21 @@ payon_in03,117,128,5 script Fortune Teller 4_M_BIBI,{
mes "Then...";
mes "Please pay your fee with all of your sincerity.";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Lhimetorra]";
mes "Ah...?!";
mes "You have angered the monster spirits!";
close;
}
- else if (.@input > Zeny) {
+ if (.@input > Zeny) {
mes "[Lhimetorra]";
mes "There's no need to overdo it. Just give with all your heart... *Tsk tsk*";
close;
}
- else {
- mes "[Lhimetorra]";
- mes "I accept your heart and your devotion with my gratitude. Thoughts are more important than the amount when paying a fortune teller.";
- Zeny -= .@input;
- }
+ mes "[Lhimetorra]";
+ mes "I accept your heart and your devotion with my gratitude. Thoughts are more important than the amount when paying a fortune teller.";
+ Zeny -= .@input;
next;
mes "[Lhimetorra]";
mes "Then, I will begin to tell the fortune of your wish. Concentrate on yourself...";
diff --git a/npc/other/gm_npcs.txt b/npc/other/gm_npcs.txt
index d86535104..6bcd2bcb5 100644
--- a/npc/other/gm_npcs.txt
+++ b/npc/other/gm_npcs.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -63,7 +63,7 @@ function script F_GM_NPC {
if (.@error)
return -2;
} else
- input .@input;
+ input(.@input, 0);
if (.@input == 0)
return -1;
else
diff --git a/npc/other/guildpvp.txt b/npc/other/guildpvp.txt
index 5eda61387..4dae87d3a 100644
--- a/npc/other/guildpvp.txt
+++ b/npc/other/guildpvp.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/other/gympass.txt b/npc/other/gympass.txt
index 50f7b18f7..da7ee3b74 100644
--- a/npc/other/gympass.txt
+++ b/npc/other/gympass.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Kisuka
//=
//= 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/npc/other/hugel_bingo.txt b/npc/other/hugel_bingo.txt
index 9c7b87ee4..be9d37db8 100644
--- a/npc/other/hugel_bingo.txt
+++ b/npc/other/hugel_bingo.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) Yommy
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) Yommy
+//= Copyright (C) SinSloth
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -481,7 +481,7 @@ OnTouch:
mes "Quickly, say ''^FF0000Bingo^000000!''";
mes "Remember, you'll only";
mes "have one chance to say it!";
- input @bingoyell$;
+ input(@bingoyell$);
if (@bingoyell$ == "Bingo") {
if ($@hu_bingoa == 5) {
$@hu_bingoa = 6;
@@ -500,14 +500,13 @@ OnTouch:
mes "next time, alright?";
close;
}
- } else {
- next;
- mes "I'm sorry, but you";
- mes "said it wrong. Next time,";
- mes "make sure that you yell";
- mes "out the word, ''^FF0000Bingo^000000,'' okay?";
- close;
}
+ next;
+ mes "I'm sorry, but you";
+ mes "said it wrong. Next time,";
+ mes "make sure that you yell";
+ mes "out the word, ''^FF0000Bingo^000000,'' okay?";
+ close;
}
close;
}
@@ -860,11 +859,17 @@ function script Func_Bingo {
}
}
next;
- input .@bingoinput;
- if(.@bingoinput < 1 || .@bingoinput > 25) { @bingo_case = .@i; return 0; }
- if(.@i > 1) {
- for(.@j = .@i; .@j > 0; --.@j) {
- if(.@bingoinput == @bingoplate[.@j -1]) { @bingo_case = .@i; return 0; }
+ input(.@bingoinput);
+ if (.@bingoinput < 1 || .@bingoinput > 25) {
+ @bingo_case = .@i;
+ return 0;
+ }
+ if (.@i > 1) {
+ for (.@j = .@i; .@j > 0; --.@j) {
+ if (.@bingoinput == @bingoplate[.@j -1]) {
+ @bingo_case = .@i;
+ return 0;
+ }
}
}
setarray @bingoplate[.@i],.@bingoinput;
diff --git a/npc/other/inventory_expansion.txt b/npc/other/inventory_expansion.txt
index db18e09e1..c9589eb25 100644
--- a/npc/other/inventory_expansion.txt
+++ b/npc/other/inventory_expansion.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
-//= Copyright (C) 4144
+//= Copyright (C) 2018-2020 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
@@ -33,28 +33,28 @@
OnInvExpandRequest:
if (countitem(Inventory_Extension_Coupon) < 1) {
- expandInventoryAck(EXPAND_INV_MISSING_ITEM);
+ expandinventoryack(EXPAND_INV_MISSING_ITEM);
end;
}
- if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) {
- expandInventoryAck(EXPAND_INV_MAX_SIZE);
+ if (getinventorysize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) {
+ expandinventoryack(EXPAND_INV_MAX_SIZE);
end;
}
- expandInventoryAck(EXPAND_INV_ASK_CONFIRMATION, Inventory_Extension_Coupon);
+ expandinventoryack(EXPAND_INV_ASK_CONFIRMATION, Inventory_Extension_Coupon);
end;
OnInvExpandConfirmed:
if (countitem(Inventory_Extension_Coupon) < 1) {
- expandInventoryResult(EXPAND_INV_RESULT_MISSING_ITEM);
+ expandinventoryresult(EXPAND_INV_RESULT_MISSING_ITEM);
end;
}
- if (getInventorySize() + INVENTORY_INCREASE_STEP > MAX_INVENTORY) {
- expandInventoryResult(EXPAND_INV_RESULT_MAX_SIZE);
+ 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);
+ if (expandinventory(INVENTORY_INCREASE_STEP) == true) {
+ expandinventoryresult(EXPAND_INV_RESULT_SUCCESS);
}
end;
diff --git a/npc/other/item_merge.txt b/npc/other/item_merge.txt
index 6f7a9f0e5..666e7998e 100644
--- a/npc/other/item_merge.txt
+++ b/npc/other/item_merge.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/other/mail.txt b/npc/other/mail.txt
index 63b53bf24..f6922cc4d 100644
--- a/npc/other/mail.txt
+++ b/npc/other/mail.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
-//= Copyright (C) Elias
-//= Copyright (C) Zephyrus
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
+//= Copyright (C) Elias
+//= Copyright (C) Zephyrus
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/other/marriage.txt b/npc/other/marriage.txt
index 0f640af2a..6d30e935e 100644
--- a/npc/other/marriage.txt
+++ b/npc/other/marriage.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -188,7 +188,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "name of your partner using";
mes "the method I just described.";
next;
- input .@partner$;
+ input(.@partner$);
mes "[Marry Happy]";
mes "Alright, after you've";
mes "decided to get married,";
@@ -329,7 +329,7 @@ prt_church,97,100,4 script Wedding Staff#w 1_F_LIBRARYGIRL,{
mes "down your exact name here.";
next;
while(1) {
- input .@name$;
+ input(.@name$);
if (.@name$ == strcharinfo(PC_NAME))
break;
mes "[Marry Happy]";
@@ -599,7 +599,7 @@ prt_church,100,128,4 script Bishop#w 1_M_PASTOR,{
mes "her and protect her. Now, may";
mes "I know the name of your bride?";
next;
- input $@wed_bride$;
+ input($@wed_bride$);
mes "[Vomars]";
mes "Mr. " + strcharinfo(PC_NAME) + "...";
mes "Do you swear on your life";
diff --git a/npc/other/mercenary_rent.txt b/npc/other/mercenary_rent.txt
index 4b0878e79..fd7b311af 100644
--- a/npc/other/mercenary_rent.txt
+++ b/npc/other/mercenary_rent.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Zephyrus
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Zephyrus
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -252,8 +252,8 @@ pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 4_M_J
mes "each cost " + .@str_cost$ + " zeny.";
mes "How many would you like?";
next;
- input .@input;
- if (!.@input) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Mercenary Goods Merchant]";
mes "You changed your mind?";
mes "Alright, feel free to come";
@@ -261,7 +261,7 @@ pay_arche,99,167,4 duplicate(Mercenary Manager#main) Mercenary Manager#Bow 4_M_J
mes "to buy any Mercenary Potions.";
close;
}
- if (.@input < 0 || .@input > 10000) {
+ if (.@input > 10000) {
mes "[Mercenary Goods Merchant]";
mes "I'm sorry, but you";
mes "can only buy up to";
diff --git a/npc/other/monster_museum.txt b/npc/other/monster_museum.txt
index 0788289c2..46db32590 100644
--- a/npc/other/monster_museum.txt
+++ b/npc/other/monster_museum.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Paradox924X
-//= Copyright (C) Samuray22
-//= Copyright (C) Haplo
-//= Copyright (C) Lance
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Muad_Dib (The Prometheus Project)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Paradox924X
+//= Copyright (C) Samuray22
+//= Copyright (C) Haplo
+//= Copyright (C) Lance
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Muad_Dib (The Prometheus Project)
//=
//= 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/npc/other/monster_race.txt b/npc/other/monster_race.txt
index 9e938c663..87f0210b4 100644
--- a/npc/other/monster_race.txt
+++ b/npc/other/monster_race.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Capuche
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Capuche
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -348,7 +348,7 @@ p_track01,67,45,5 script Medal Distributor#single 4_F_RACING,{
mes "Oh! Congratulations, you";
mes "won! May I have your name?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == strcharinfo(PC_NAME)) {
.@insa = rand(1,1000);
mes "[Medal Distributor]";
@@ -359,14 +359,15 @@ p_track01,67,45,5 script Medal Distributor#single 4_F_RACING,{
mes "number now. Your ticket";
mes "exchange number is ^FF0000" + .@insa + "^000000.";
next;
- input .@input; //,0,1000;
- if (!.@input) {
+ input(.@input);
+ if (.@input == 0) {
mes "[Medal Distributor]";
mes "Oh? You don't want";
mes "to exchange your";
mes "winning ticket?";
close;
- } else if (.@input == .@insa) {
+ }
+ if (.@input == .@insa) {
mes "[Medal Distributor]";
mes "Thank you! You entered";
mes "the correct number...";
@@ -2534,8 +2535,8 @@ S_Reward:
mes "number greater than 100.";
next;
while (true) {
- input .@input;
- if (!.@input) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Ei'felle]";
mes "Aw, so you've decided";
mes "to cancel? Well, it's your";
@@ -2543,7 +2544,8 @@ S_Reward:
mes "disappointed. Please come";
mes "back if you change your mind...";
close;
- } else if (.@input < 1 || .@input > 100) {
+ }
+ if (.@input > 100) {
mes "[Ei'felle]";
mes "Remember, you can only";
mes "enter a number from 1 to 100.";
@@ -2551,7 +2553,9 @@ S_Reward:
mes "medals, then perhaps you";
mes "should just give them all to me~";
next;
- } else break;
+ continue;
+ }
+ break;
}
if (countitem(Marvelous_Medal) < .@input) {
mes "[Ei'felle]";
diff --git a/npc/other/msg_boards.txt b/npc/other/msg_boards.txt
index 7daad4cba..777ab837e 100644
--- a/npc/other/msg_boards.txt
+++ b/npc/other/msg_boards.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) SinSloth
-//= Copyright (C) Silent
-//= Copyright (C) Nexon
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) SinSloth
+//= Copyright (C) Silent
+//= Copyright (C) Nexon
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/other/poring_war.txt b/npc/other/poring_war.txt
index 326c601be..94d5df0d1 100644
--- a/npc/other/poring_war.txt
+++ b/npc/other/poring_war.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Slim
-//= Copyright (C) CalciumKid
-//= Copyright (C) 5511
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Slim
+//= Copyright (C) CalciumKid
+//= Copyright (C) 5511
+//= Copyright (C) Kisuka
//=
//= 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/npc/other/powernpc.txt b/npc/other/powernpc.txt
index b784507e6..1af6bd426 100644
--- a/npc/other/powernpc.txt
+++ b/npc/other/powernpc.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) KarLeada
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) KarLeada
//=
//= 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/npc/other/private_airship.txt b/npc/other/private_airship.txt
index e650e4b96..5c994ff27 100644
--- a/npc/other/private_airship.txt
+++ b/npc/other/private_airship.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
-//= Copyright (C) Asheraf
+//= Copyright (C) 2018-2020 Hercules Dev Team
+//= Copyright (C) Asheraf
//=
//= 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/npc/other/pvp.txt b/npc/other/pvp.txt
index 6978d49d2..cb6547cc7 100644
--- a/npc/other/pvp.txt
+++ b/npc/other/pvp.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Elias (og2)
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Elias (og2)
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/other/turbo_track.txt b/npc/other/turbo_track.txt
index f70c97427..0bd95d831 100644
--- a/npc/other/turbo_track.txt
+++ b/npc/other/turbo_track.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) Elias
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) Elias
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -4126,15 +4126,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "you wish to have. To cancel,";
mes "please enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 50) {
+ if (.@input > 50) {
mes "[Item Exchange Helper]";
mes "Your request exceeds";
mes "the maximum limit. You";
@@ -4142,28 +4142,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "of 50 tickets at once.";
close;
}
- else {
- .@total_point = 10 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem Warp_Free_Ticket,.@input;
+ .@total_point = 10 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem Warp_Free_Ticket,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 2:
mes "[Item Exchange Helper]";
mes "Each Magic Scroll costs";
@@ -4214,15 +4212,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "you would like to receive.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 50) {
+ if (.@input > 50) {
mes "[Item Exchange Helper]";
mes "I'm sorry, but your";
mes "request has exceeded the";
@@ -4230,28 +4228,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "request up to 50 scrolls at once.";
close;
}
- else {
- .@total_point = 12 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem .@scroll,.@input;
+ .@total_point = 12 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem .@scroll,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 3:
mes "[Item Exchange Helper]";
mes "You can exchange";
@@ -4298,15 +4294,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "diamonds you would like to receive.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 10) {
+ if (.@input > 10) {
mes "[Item Exchange Helper]";
mes "Your request exceeds";
mes "the maximum limit. You";
@@ -4314,28 +4310,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "of 10 diamonds at once.";
close;
}
- else {
- .@total_point = 150 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem Crystal_Jewel__,.@input;
+ .@total_point = 150 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem Crystal_Jewel__,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 5:
mes "[Item Exchange Helper]";
mes "You can exchange";
@@ -4345,15 +4339,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "that you'd like to receive.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 10) {
+ if (.@input > 10) {
mes "[Item Exchange Helper]";
mes "Your request exceeds";
mes "the maximum limit. You";
@@ -4361,28 +4355,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "of 10 Gift Boxes at once.";
close;
}
- else {
- .@total_point = 300 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem Gift_Box,.@input;
+ .@total_point = 300 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem Gift_Box,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 6:
mes "[Item Exchange Helper]";
mes "You can exchange";
@@ -4392,15 +4384,15 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "that you'd like to receive.";
mes "To cancel, enter ''^3355FF0^000000.''";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Item Exchange Helper]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input < 0 || .@input > 10) {
+ if (.@input > 10) {
mes "[Item Exchange Helper]";
mes "Your request exceeds";
mes "the maximum limit. You";
@@ -4408,28 +4400,26 @@ turbo_room,93,117,5 script Point Exchange Helper 4_M_TELEPORTER,{
mes "of 10 potions at once.";
close;
}
- else {
- .@total_point = 400 * .@input;
- if (.@total_point > tt_point) {
- mes "[Item Exchange Helper]";
- mes "I'm sorry, but you do";
- mes "not have enough Turbo";
- mes "Track Points. Please check";
- mes "the amount of Turbo Track";
- mes "Points you have earned before";
- mes "redeeming your points again.";
- close;
- }
- tt_point -= .@total_point;
- getitem Speed_Up_Potion,.@input;
+ .@total_point = 400 * .@input;
+ if (.@total_point > tt_point) {
mes "[Item Exchange Helper]";
- mes "Thank you for";
- mes "your patronage.";
- mes "We hope you enjoy";
- mes "your time here in";
- mes "the Turbo Track~";
+ mes "I'm sorry, but you do";
+ mes "not have enough Turbo";
+ mes "Track Points. Please check";
+ mes "the amount of Turbo Track";
+ mes "Points you have earned before";
+ mes "redeeming your points again.";
close;
}
+ tt_point -= .@total_point;
+ getitem Speed_Up_Potion,.@input;
+ mes "[Item Exchange Helper]";
+ mes "Thank you for";
+ mes "your patronage.";
+ mes "We hope you enjoy";
+ mes "your time here in";
+ mes "the Turbo Track~";
+ close;
case 7:
mes "[Item Exchange Helper]";
mes "This Item Exchange";
@@ -4506,59 +4496,57 @@ turbo_room,106,117,3 script Point Manager#tt 4_M_ZONDAOYAJI,{
mes "Please enter the number of times you wish to convert 10 Arena Points into Turbo Track Points. The largest value you may enter";
mes "is 20. To cancel, enter '^3355FF0^000000.'";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Turbo Track Point Manager]";
mes "You have";
mes "canceled";
mes "your request.";
close;
}
- else if (.@input > 20) {
+ if (.@input > 20) {
mes "[Turbo Track Point Manager]";
mes "Your request exceeds";
mes "the maximum limit. Please";
mes "enter a value no greater than 20.";
close;
}
+ .@want_point1 = 10 * .@input;
+ .@want_point = 5 * .@input;
+ .@my_turbo_all = tt_point+.@want_point;
+ .@my_arena_all = arena_point-.@want_point1;
+ if (.@my_turbo_all > 28999) {
+ mes "[Turbo Track Point Manager]";
+ mes "Unfortunately, your Turbo Track Points will exceed the maximum limit if we proceed with point conversion. Please spend more";
+ mes "of your Turbo Track Points before using this service. Thank you.";
+ close;
+ }
+ if (.@my_arena_all < 0) {
+ mes "[Turbo Track Point Manager]";
+ mes "I am sorry, but you do";
+ mes "not have enough Arena Points";
+ mes "to perform this Turbo Track";
+ mes "Point conversion.";
+ close;
+ }
else {
- .@want_point1 = 10 * .@input;
- .@want_point = 5 * .@input;
- .@my_turbo_all = tt_point+.@want_point;
- .@my_arena_all = arena_point-.@want_point1;
- if (.@my_turbo_all > 28999) {
- mes "[Turbo Track Point Manager]";
- mes "Unfortunately, your Turbo Track Points will exceed the maximum limit if we proceed with point conversion. Please spend more";
- mes "of your Turbo Track Points before using this service. Thank you.";
- close;
- }
- if (.@my_arena_all < 0) {
- mes "[Turbo Track Point Manager]";
- mes "I am sorry, but you do";
- mes "not have enough Arena Points";
- mes "to perform this Turbo Track";
- mes "Point conversion.";
- close;
- }
- else {
- mes "[Turbo Track Point Manager]";
- mes "You have converted";
- mes "10 Arena Points into";
- mes "Turbo Track Points " + .@input + " times.";
- mes "A total of " + .@want_point1 + " Arena Points";
- mes "has been converted into";
- mes "" + .@want_point +" Turbo Track Points.";
- arena_point = .@my_arena_all; //arena_point
- tt_point = .@my_turbo_all;
- next;
- mes "[Turbo Track Point Manager]";
- mes "" + strcharinfo(PC_NAME) + ",";
- mes "you now have";
- mes "^00688B" + tt_point + "^000000 Turbo Track Points";
- mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
- mes "Thank you for your patronage.";
- close;
- }
+ mes "[Turbo Track Point Manager]";
+ mes "You have converted";
+ mes "10 Arena Points into";
+ mes "Turbo Track Points " + .@input + " times.";
+ mes "A total of " + .@want_point1 + " Arena Points";
+ mes "has been converted into";
+ mes "" + .@want_point +" Turbo Track Points.";
+ arena_point = .@my_arena_all; //arena_point
+ tt_point = .@my_turbo_all;
+ next;
+ mes "[Turbo Track Point Manager]";
+ mes "" + strcharinfo(PC_NAME) + ",";
+ mes "you now have";
+ mes "^00688B" + tt_point + "^000000 Turbo Track Points";
+ mes "and ^4682B4" + arena_point + "^000000 Arena Points.";
+ mes "Thank you for your patronage.";
+ close;
}
case 6:
mes "[Turbo Track Point Manager]";
diff --git a/npc/pre-re/airports/izlude.txt b/npc/pre-re/airports/izlude.txt
index 975399268..0f3def54a 100644
--- a/npc/pre-re/airports/izlude.txt
+++ b/npc/pre-re/airports/izlude.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) rAthena 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/npc/pre-re/cities/alberta.txt b/npc/pre-re/cities/alberta.txt
index df983808a..3816faf9e 100644
--- a/npc/pre-re/cities/alberta.txt
+++ b/npc/pre-re/cities/alberta.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/cities/izlude.txt b/npc/pre-re/cities/izlude.txt
index 1656f2212..535b3f2d4 100644
--- a/npc/pre-re/cities/izlude.txt
+++ b/npc/pre-re/cities/izlude.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
//=
//= 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/npc/pre-re/cities/jawaii.txt b/npc/pre-re/cities/jawaii.txt
index 37a77bc7e..8e3b2ec77 100644
--- a/npc/pre-re/cities/jawaii.txt
+++ b/npc/pre-re/cities/jawaii.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
//=
//= 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/npc/pre-re/cities/yuno.txt b/npc/pre-re/cities/yuno.txt
index a14740557..e462de719 100644
--- a/npc/pre-re/cities/yuno.txt
+++ b/npc/pre-re/cities/yuno.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/guides/guides_alberta.txt b/npc/pre-re/guides/guides_alberta.txt
index c3cac4750..8b22c8ae3 100644
--- a/npc/pre-re/guides/guides_alberta.txt
+++ b/npc/pre-re/guides/guides_alberta.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) erKURITA
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) erKURITA
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_aldebaran.txt b/npc/pre-re/guides/guides_aldebaran.txt
index d5cdde68e..64714105c 100644
--- a/npc/pre-re/guides/guides_aldebaran.txt
+++ b/npc/pre-re/guides/guides_aldebaran.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Samuray22
-//= Copyright (C) Silent
-//= Copyright (C) erKURITA
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Samuray22
+//= Copyright (C) Silent
+//= Copyright (C) erKURITA
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_amatsu.txt b/npc/pre-re/guides/guides_amatsu.txt
index 3409b71ae..1c6196b3f 100644
--- a/npc/pre-re/guides/guides_amatsu.txt
+++ b/npc/pre-re/guides/guides_amatsu.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Silent
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Silent
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/pre-re/guides/guides_ayothaya.txt b/npc/pre-re/guides/guides_ayothaya.txt
index ace3a84bf..5b41f68d7 100644
--- a/npc/pre-re/guides/guides_ayothaya.txt
+++ b/npc/pre-re/guides/guides_ayothaya.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/guides/guides_comodo.txt b/npc/pre-re/guides/guides_comodo.txt
index a53f8ec72..697436db2 100644
--- a/npc/pre-re/guides/guides_comodo.txt
+++ b/npc/pre-re/guides/guides_comodo.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_einbroch.txt b/npc/pre-re/guides/guides_einbroch.txt
index 1f9f1f3fc..e3369a67e 100644
--- a/npc/pre-re/guides/guides_einbroch.txt
+++ b/npc/pre-re/guides/guides_einbroch.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Silent
-//= Copyright (C) erKURITA
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Muad_dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Silent
+//= Copyright (C) erKURITA
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Muad_dib
//=
//= 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/npc/pre-re/guides/guides_geffen.txt b/npc/pre-re/guides/guides_geffen.txt
index 5558eeca2..de6b9640b 100644
--- a/npc/pre-re/guides/guides_geffen.txt
+++ b/npc/pre-re/guides/guides_geffen.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) Silent
-//= Copyright (C) Poki#3
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) Silent
+//= Copyright (C) Poki#3
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_gonryun.txt b/npc/pre-re/guides/guides_gonryun.txt
index c6f3ff863..1024af148 100644
--- a/npc/pre-re/guides/guides_gonryun.txt
+++ b/npc/pre-re/guides/guides_gonryun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_hugel.txt b/npc/pre-re/guides/guides_hugel.txt
index 262a21483..cd6831404 100644
--- a/npc/pre-re/guides/guides_hugel.txt
+++ b/npc/pre-re/guides/guides_hugel.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Silent
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) erKURITA
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Silent
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) erKURITA
//=
//= 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/npc/pre-re/guides/guides_izlude.txt b/npc/pre-re/guides/guides_izlude.txt
index 3087210aa..43d8dd34f 100644
--- a/npc/pre-re/guides/guides_izlude.txt
+++ b/npc/pre-re/guides/guides_izlude.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) erKURITA
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) erKURITA
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_juno.txt b/npc/pre-re/guides/guides_juno.txt
index f39511ed9..22e595ea0 100644
--- a/npc/pre-re/guides/guides_juno.txt
+++ b/npc/pre-re/guides/guides_juno.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Silent
-//= Copyright (C) Musashiden
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
-//= Copyright (C) usul
-//= Copyright (C) KitsuneStarwind
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Silent
+//= Copyright (C) Musashiden
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
+//= Copyright (C) usul
+//= Copyright (C) KitsuneStarwind
//=
//= 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/npc/pre-re/guides/guides_lighthalzen.txt b/npc/pre-re/guides/guides_lighthalzen.txt
index 25ea062be..9b4b6636a 100644
--- a/npc/pre-re/guides/guides_lighthalzen.txt
+++ b/npc/pre-re/guides/guides_lighthalzen.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Silent
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Silent
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/pre-re/guides/guides_louyang.txt b/npc/pre-re/guides/guides_louyang.txt
index 855e44498..84872545f 100644
--- a/npc/pre-re/guides/guides_louyang.txt
+++ b/npc/pre-re/guides/guides_louyang.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Athena
-//= Copyright (C) Tsuyuki
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Athena
+//= Copyright (C) Tsuyuki
//=
//= 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/npc/pre-re/guides/guides_morroc.txt b/npc/pre-re/guides/guides_morroc.txt
index 6ea77bcc5..1b6a4a1a7 100644
--- a/npc/pre-re/guides/guides_morroc.txt
+++ b/npc/pre-re/guides/guides_morroc.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_moscovia.txt b/npc/pre-re/guides/guides_moscovia.txt
index f7c9d2c05..8ecaa386b 100644
--- a/npc/pre-re/guides/guides_moscovia.txt
+++ b/npc/pre-re/guides/guides_moscovia.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
//=
//= 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/npc/pre-re/guides/guides_niflheim.txt b/npc/pre-re/guides/guides_niflheim.txt
index 5b0548800..0bf57d7b2 100644
--- a/npc/pre-re/guides/guides_niflheim.txt
+++ b/npc/pre-re/guides/guides_niflheim.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/guides/guides_payon.txt b/npc/pre-re/guides/guides_payon.txt
index 955497cf8..5d46e3dc0 100644
--- a/npc/pre-re/guides/guides_payon.txt
+++ b/npc/pre-re/guides/guides_payon.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Silent
-//= Copyright (C) erKURITA
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Darkchild
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Silent
+//= Copyright (C) erKURITA
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Darkchild
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_prontera.txt b/npc/pre-re/guides/guides_prontera.txt
index a4d1d2e1f..628706e67 100644
--- a/npc/pre-re/guides/guides_prontera.txt
+++ b/npc/pre-re/guides/guides_prontera.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) Silent
-//= Copyright (C) erKURITA
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) Silent
+//= Copyright (C) erKURITA
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/guides/guides_rachel.txt b/npc/pre-re/guides/guides_rachel.txt
index 08b7ca1bb..49d22b30d 100644
--- a/npc/pre-re/guides/guides_rachel.txt
+++ b/npc/pre-re/guides/guides_rachel.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/guides/guides_umbala.txt b/npc/pre-re/guides/guides_umbala.txt
index c2b6c509c..9111c5b7c 100644
--- a/npc/pre-re/guides/guides_umbala.txt
+++ b/npc/pre-re/guides/guides_umbala.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) erKURITA
-//= Copyright (C) Lupus
-//= Copyright (C) Dizzy
-//= Copyright (C) Celest
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) erKURITA
+//= Copyright (C) Lupus
+//= Copyright (C) Dizzy
+//= Copyright (C) Celest
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/guides/guides_veins.txt b/npc/pre-re/guides/guides_veins.txt
index 120519f1c..db733b63b 100644
--- a/npc/pre-re/guides/guides_veins.txt
+++ b/npc/pre-re/guides/guides_veins.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/jobs/1-1/acolyte.txt b/npc/pre-re/jobs/1-1/acolyte.txt
index a796763bb..9dfeed289 100644
--- a/npc/pre-re/jobs/1-1/acolyte.txt
+++ b/npc/pre-re/jobs/1-1/acolyte.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/jobs/1-1/archer.txt b/npc/pre-re/jobs/1-1/archer.txt
index fc8bf42c4..08045eff9 100644
--- a/npc/pre-re/jobs/1-1/archer.txt
+++ b/npc/pre-re/jobs/1-1/archer.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/jobs/1-1/mage.txt b/npc/pre-re/jobs/1-1/mage.txt
index 47ae792fe..c155c6612 100644
--- a/npc/pre-re/jobs/1-1/mage.txt
+++ b/npc/pre-re/jobs/1-1/mage.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -437,50 +437,50 @@ geffen_in,164,112,4 script Mixing Machine HIDDEN_NPC,{
switch(select("Jellopy.", "Fluff.", "Milk.", "Ready to Mix.")) {
case 1:
while(1) {
- input .@input;
+ input(.@input, 0);
if (.@input > 10000) {
next;
mes "[Mixing Machine]";
mes "Error: Item limit exceeded. Please enter values less than 10,000 try again.";
next;
+ continue;
}
- else {
- if (countitem(Jellopy) > 0) .@mixitem1_1 += .@input;
- .@progress = 2;
- break;
- }
+ if (countitem(Jellopy) > 0)
+ .@mixitem1_1 += .@input;
+ .@progress = 2;
+ break;
}
break;
case 2:
while(1) {
- input .@input;
+ input(.@input, 0);
if (.@input > 10000) {
next;
mes "[Mixing Machine]";
mes "Error: Item limit exceeded. Please enter values less than 10,000 try again.";
next;
+ continue;
}
- else {
- if (countitem(Fluff) > 0) .@mixitem1_2 += .@input;
- .@progress = 2;
- break;
- }
+ if (countitem(Fluff) > 0)
+ .@mixitem1_2 += .@input;
+ .@progress = 2;
+ break;
}
break;
case 3:
while(1) {
- input .@input;
+ input(.@input, 0);
if (.@input > 10000) {
next;
mes "[Mixing Machine]";
mes "Error: Item limit exceeded. Please enter values less than 10,000 try again.";
next;
+ continue;
}
- else {
- if (countitem(Milk) > 0) .@mixitem1_3 += .@input;
- .@progress = 2;
- break;
- }
+ if (countitem(Milk) > 0)
+ .@mixitem1_3 += .@input;
+ .@progress = 2;
+ break;
}
break;
@@ -499,40 +499,39 @@ geffen_in,164,112,4 script Mixing Machine HIDDEN_NPC,{
mes "the Magic Powder.";
next;
while(1) {
- input .@input;
- if (.@input < 1000 || .@input > 9999) {
+ input(.@input);
+ if (.@input == 0) {
mes "[Mixing Machine]";
- if (.@input == 0) {
- mes "Do you want to skip this Menu?";
- next;
- if (select("Yes.", "No.") == 1) {
- break;
- }
- }
- else {
- mes "Invalid Serial Number.";
- mes "Please try again.";
- next;
+ mes "Do you want to skip this Menu?";
+ next;
+ if (select("Yes.", "No.") == 1) {
+ break;
}
+ continue;
}
- else {
+ if (.@input < 1000 || .@input > 9999) {
mes "[Mixing Machine]";
- mes "The Serial Number is #" + .@input + ", correct?";
+ mes "Invalid Serial Number.";
+ mes "Please try again.";
next;
- if (select("Confirm.", "Cancel.") == 1) {
- if (.@input == 8472)
- .@magic_powder = 1;
- else if (.@input == 3735)
- .@magic_powder = 2;
- else if (.@input == 2750)
- .@magic_powder = 3;
- else if (.@input == 5429)
- .@magic_powder = 4;
- else
- .@magic_powder = 5;
- }
- break;
+ continue;
}
+ mes "[Mixing Machine]";
+ mes "The Serial Number is #" + .@input + ", correct?";
+ next;
+ if (select("Confirm.", "Cancel.") == 1) {
+ if (.@input == 8472)
+ .@magic_powder = 1;
+ else if (.@input == 3735)
+ .@magic_powder = 2;
+ else if (.@input == 2750)
+ .@magic_powder = 3;
+ else if (.@input == 5429)
+ .@magic_powder = 4;
+ else
+ .@magic_powder = 5;
+ }
+ break;
}
mes "[Mixing Machine]";
mes "Choose a";
diff --git a/npc/pre-re/jobs/1-1/merchant.txt b/npc/pre-re/jobs/1-1/merchant.txt
index 2d1cd9ba3..6600db152 100644
--- a/npc/pre-re/jobs/1-1/merchant.txt
+++ b/npc/pre-re/jobs/1-1/merchant.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Silent
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Silent
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -705,7 +705,7 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
next;
while(1) {
while(1) {
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Union Staff Kay]";
mes "Are you sure that you wanna cancel?";
@@ -714,14 +714,15 @@ alberta_in,28,29,2 script Merchant Guildsman#mer 4_M_01,{
close;
}
next;
+ continue;
}
- else if (.@input < 1000000 || .@input > 5000000) {
+ if (.@input < 1000000 || .@input > 5000000) {
mes "[Union Staff Kay]";
mes "Hey hey. That number's not valid! Enter a value from 1000000 to 5000000. got it?";
next;
- } else {
- break;
+ continue;
}
+ break;
}
mes "[Union Staff Kay]";
if (.@where_village == 1)
diff --git a/npc/pre-re/jobs/1-1/swordman.txt b/npc/pre-re/jobs/1-1/swordman.txt
index bedd7b622..551c37e4a 100644
--- a/npc/pre-re/jobs/1-1/swordman.txt
+++ b/npc/pre-re/jobs/1-1/swordman.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Yommy
-//= Copyright (C) ultramage
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) KarLaeda
-//= Copyright (C) Silent
-//= Copyright (C) massdriller
-//= Copyright (C) Fredzilla
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Yommy
+//= Copyright (C) ultramage
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) KarLaeda
+//= Copyright (C) Silent
+//= Copyright (C) massdriller
+//= Copyright (C) Fredzilla
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/jobs/1-1/thief.txt b/npc/pre-re/jobs/1-1/thief.txt
index a99c4700f..a3181d830 100644
--- a/npc/pre-re/jobs/1-1/thief.txt
+++ b/npc/pre-re/jobs/1-1/thief.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) massdriller
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) massdriller
+//= Copyright (C) Lupus
//=
//= 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/npc/pre-re/jobs/1-1e/taekwon.txt b/npc/pre-re/jobs/1-1e/taekwon.txt
index e97cb204d..f3df23876 100644
--- a/npc/pre-re/jobs/1-1e/taekwon.txt
+++ b/npc/pre-re/jobs/1-1e/taekwon.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
+//= Copyright (C) 2012-2020 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/npc/pre-re/jobs/novice/novice.txt b/npc/pre-re/jobs/novice/novice.txt
index 356eaae7d..5a084176e 100644
--- a/npc/pre-re/jobs/novice/novice.txt
+++ b/npc/pre-re/jobs/novice/novice.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Kisuka
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) Toms
-//= Copyright (C) Silent
-//= Copyright (C) Vicious
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Dr.Evil
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Kisuka
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) Toms
+//= Copyright (C) Silent
+//= Copyright (C) Vicious
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Dr.Evil
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -82,8 +82,8 @@ new_1-2,100,29,4 script Receptionist#nv1 4_M_04,{
mes "Hello, you look to be new here.";
mes "What is your name?";
next;
- input .@charname$;
- if (.@charname$!=strcharinfo(PC_NAME)) {
+ input(.@charname$);
+ if (.@charname$ != strcharinfo(PC_NAME)) {
mes "[Training Grounds Receptionist]";
mes "Sorry, but I don't think I heard";
mes "you correctly";
diff --git a/npc/pre-re/kafras/kafras.txt b/npc/pre-re/kafras/kafras.txt
index f921a0256..e6d65e324 100644
--- a/npc/pre-re/kafras/kafras.txt
+++ b/npc/pre-re/kafras/kafras.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
//=
//= 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/npc/pre-re/mapflag/gvg.txt b/npc/pre-re/mapflag/gvg.txt
index 39be0ee7b..0466d24cc 100644
--- a/npc/pre-re/mapflag/gvg.txt
+++ b/npc/pre-re/mapflag/gvg.txt
@@ -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-2020 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/npc/pre-re/merchants/ammo_boxes.txt b/npc/pre-re/merchants/ammo_boxes.txt
index 7ac527f89..3d40189e5 100644
--- a/npc/pre-re/merchants/ammo_boxes.txt
+++ b/npc/pre-re/merchants/ammo_boxes.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/merchants/ammo_dealer.txt b/npc/pre-re/merchants/ammo_dealer.txt
index 185caa24c..8d89ff839 100644
--- a/npc/pre-re/merchants/ammo_dealer.txt
+++ b/npc/pre-re/merchants/ammo_dealer.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/merchants/shops.txt b/npc/pre-re/merchants/shops.txt
index f5dd954f8..cfcc82e8f 100644
--- a/npc/pre-re/merchants/shops.txt
+++ b/npc/pre-re/merchants/shops.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Frost
-//= Copyright (C) Streusel
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Frost
+//= Copyright (C) Streusel
+//= Copyright (C) Daegaladh
//=
//= 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/npc/pre-re/mobs/citycleaners.txt b/npc/pre-re/mobs/citycleaners.txt
index ec388e804..39e31d226 100644
--- a/npc/pre-re/mobs/citycleaners.txt
+++ b/npc/pre-re/mobs/citycleaners.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/mobs/dungeons/abbey.txt b/npc/pre-re/mobs/dungeons/abbey.txt
index 9aa1873ae..8d90786bb 100644
--- a/npc/pre-re/mobs/dungeons/abbey.txt
+++ b/npc/pre-re/mobs/dungeons/abbey.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) $ephiroth
//=
//= 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/npc/pre-re/mobs/dungeons/abyss.txt b/npc/pre-re/mobs/dungeons/abyss.txt
index 9efe548f5..a8d6281c7 100644
--- a/npc/pre-re/mobs/dungeons/abyss.txt
+++ b/npc/pre-re/mobs/dungeons/abyss.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Nexon
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Nexon
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/alde_dun.txt b/npc/pre-re/mobs/dungeons/alde_dun.txt
index ba69711f9..70c5aea15 100644
--- a/npc/pre-re/mobs/dungeons/alde_dun.txt
+++ b/npc/pre-re/mobs/dungeons/alde_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/ama_dun.txt b/npc/pre-re/mobs/dungeons/ama_dun.txt
index b0d069825..42f08b319 100644
--- a/npc/pre-re/mobs/dungeons/ama_dun.txt
+++ b/npc/pre-re/mobs/dungeons/ama_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/anthell.txt b/npc/pre-re/mobs/dungeons/anthell.txt
index e253ad799..d6852177f 100644
--- a/npc/pre-re/mobs/dungeons/anthell.txt
+++ b/npc/pre-re/mobs/dungeons/anthell.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/ayo_dun.txt b/npc/pre-re/mobs/dungeons/ayo_dun.txt
index fc87a8217..b02920127 100644
--- a/npc/pre-re/mobs/dungeons/ayo_dun.txt
+++ b/npc/pre-re/mobs/dungeons/ayo_dun.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Ishizu
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Ishizu
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/beach_dun.txt b/npc/pre-re/mobs/dungeons/beach_dun.txt
index d17854b27..935ec2403 100644
--- a/npc/pre-re/mobs/dungeons/beach_dun.txt
+++ b/npc/pre-re/mobs/dungeons/beach_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/c_tower.txt b/npc/pre-re/mobs/dungeons/c_tower.txt
index ac6f45928..a15f08404 100644
--- a/npc/pre-re/mobs/dungeons/c_tower.txt
+++ b/npc/pre-re/mobs/dungeons/c_tower.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/ein_dun.txt b/npc/pre-re/mobs/dungeons/ein_dun.txt
index 41a13c135..d5ccef93e 100644
--- a/npc/pre-re/mobs/dungeons/ein_dun.txt
+++ b/npc/pre-re/mobs/dungeons/ein_dun.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/gef_dun.txt b/npc/pre-re/mobs/dungeons/gef_dun.txt
index 92288bf86..26a458ebd 100644
--- a/npc/pre-re/mobs/dungeons/gef_dun.txt
+++ b/npc/pre-re/mobs/dungeons/gef_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/gefenia.txt b/npc/pre-re/mobs/dungeons/gefenia.txt
index c6ec26d13..f3ce277ec 100644
--- a/npc/pre-re/mobs/dungeons/gefenia.txt
+++ b/npc/pre-re/mobs/dungeons/gefenia.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/pre-re/mobs/dungeons/glastheim.txt b/npc/pre-re/mobs/dungeons/glastheim.txt
index fd29cfa88..dda37cb8e 100644
--- a/npc/pre-re/mobs/dungeons/glastheim.txt
+++ b/npc/pre-re/mobs/dungeons/glastheim.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/gld_dun.txt b/npc/pre-re/mobs/dungeons/gld_dun.txt
index c92351288..a5ad2eb20 100644
--- a/npc/pre-re/mobs/dungeons/gld_dun.txt
+++ b/npc/pre-re/mobs/dungeons/gld_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Gepard
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Gepard
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/gld_dunSE.txt b/npc/pre-re/mobs/dungeons/gld_dunSE.txt
index 399b36a64..b7157b801 100644
--- a/npc/pre-re/mobs/dungeons/gld_dunSE.txt
+++ b/npc/pre-re/mobs/dungeons/gld_dunSE.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/gon_dun.txt b/npc/pre-re/mobs/dungeons/gon_dun.txt
index f4494a0e6..4e6b8d4e7 100644
--- a/npc/pre-re/mobs/dungeons/gon_dun.txt
+++ b/npc/pre-re/mobs/dungeons/gon_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/ice_dun.txt b/npc/pre-re/mobs/dungeons/ice_dun.txt
index 54b0ba7f2..c24147807 100644
--- a/npc/pre-re/mobs/dungeons/ice_dun.txt
+++ b/npc/pre-re/mobs/dungeons/ice_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/in_sphinx.txt b/npc/pre-re/mobs/dungeons/in_sphinx.txt
index 48e3047b5..69edf440e 100644
--- a/npc/pre-re/mobs/dungeons/in_sphinx.txt
+++ b/npc/pre-re/mobs/dungeons/in_sphinx.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/iz_dun.txt b/npc/pre-re/mobs/dungeons/iz_dun.txt
index d57b66702..daa973f19 100644
--- a/npc/pre-re/mobs/dungeons/iz_dun.txt
+++ b/npc/pre-re/mobs/dungeons/iz_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/juperos.txt b/npc/pre-re/mobs/dungeons/juperos.txt
index ea003c183..5730bd1ce 100644
--- a/npc/pre-re/mobs/dungeons/juperos.txt
+++ b/npc/pre-re/mobs/dungeons/juperos.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) The Prometheus Project
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) The Prometheus Project
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/pre-re/mobs/dungeons/kh_dun.txt b/npc/pre-re/mobs/dungeons/kh_dun.txt
index 70f1acdd0..36c06f618 100644
--- a/npc/pre-re/mobs/dungeons/kh_dun.txt
+++ b/npc/pre-re/mobs/dungeons/kh_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/lhz_dun.txt b/npc/pre-re/mobs/dungeons/lhz_dun.txt
index 725fbe2fe..489e696c9 100644
--- a/npc/pre-re/mobs/dungeons/lhz_dun.txt
+++ b/npc/pre-re/mobs/dungeons/lhz_dun.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Poki#3
-//= Copyright (C) Skotlex
-//= Copyright (C) The Prometheus Project
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Poki#3
+//= Copyright (C) Skotlex
+//= Copyright (C) The Prometheus Project
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/pre-re/mobs/dungeons/lou_dun.txt b/npc/pre-re/mobs/dungeons/lou_dun.txt
index e5b41e3f5..996207fae 100644
--- a/npc/pre-re/mobs/dungeons/lou_dun.txt
+++ b/npc/pre-re/mobs/dungeons/lou_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/mag_dun.txt b/npc/pre-re/mobs/dungeons/mag_dun.txt
index 4997edd79..5815e5e7b 100644
--- a/npc/pre-re/mobs/dungeons/mag_dun.txt
+++ b/npc/pre-re/mobs/dungeons/mag_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/mjo_dun.txt b/npc/pre-re/mobs/dungeons/mjo_dun.txt
index 2fa454e69..760d03a15 100644
--- a/npc/pre-re/mobs/dungeons/mjo_dun.txt
+++ b/npc/pre-re/mobs/dungeons/mjo_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/moc_pryd.txt b/npc/pre-re/mobs/dungeons/moc_pryd.txt
index b8a473e1d..616587bb8 100644
--- a/npc/pre-re/mobs/dungeons/moc_pryd.txt
+++ b/npc/pre-re/mobs/dungeons/moc_pryd.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/mosk_dun.txt b/npc/pre-re/mobs/dungeons/mosk_dun.txt
index db6c4d9a6..b99654115 100644
--- a/npc/pre-re/mobs/dungeons/mosk_dun.txt
+++ b/npc/pre-re/mobs/dungeons/mosk_dun.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/nyd_dun.txt b/npc/pre-re/mobs/dungeons/nyd_dun.txt
index d7de231df..4ce3f1fd7 100644
--- a/npc/pre-re/mobs/dungeons/nyd_dun.txt
+++ b/npc/pre-re/mobs/dungeons/nyd_dun.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/odin.txt b/npc/pre-re/mobs/dungeons/odin.txt
index 0cc6d4e3d..b58d5c99a 100644
--- a/npc/pre-re/mobs/dungeons/odin.txt
+++ b/npc/pre-re/mobs/dungeons/odin.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
//=
//= 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/npc/pre-re/mobs/dungeons/orcsdun.txt b/npc/pre-re/mobs/dungeons/orcsdun.txt
index 1a04cc395..34fe51679 100644
--- a/npc/pre-re/mobs/dungeons/orcsdun.txt
+++ b/npc/pre-re/mobs/dungeons/orcsdun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/pay_dun.txt b/npc/pre-re/mobs/dungeons/pay_dun.txt
index fe3187b92..7afa747b3 100644
--- a/npc/pre-re/mobs/dungeons/pay_dun.txt
+++ b/npc/pre-re/mobs/dungeons/pay_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/prt_maze.txt b/npc/pre-re/mobs/dungeons/prt_maze.txt
index 9e89ed740..fb9289f62 100644
--- a/npc/pre-re/mobs/dungeons/prt_maze.txt
+++ b/npc/pre-re/mobs/dungeons/prt_maze.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/prt_sew.txt b/npc/pre-re/mobs/dungeons/prt_sew.txt
index d99e2db30..049d3e2f6 100644
--- a/npc/pre-re/mobs/dungeons/prt_sew.txt
+++ b/npc/pre-re/mobs/dungeons/prt_sew.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/ra_san.txt b/npc/pre-re/mobs/dungeons/ra_san.txt
index a588e448e..fa6c0a005 100644
--- a/npc/pre-re/mobs/dungeons/ra_san.txt
+++ b/npc/pre-re/mobs/dungeons/ra_san.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/tha_t.txt b/npc/pre-re/mobs/dungeons/tha_t.txt
index 9ecddf0bb..162827d0d 100644
--- a/npc/pre-re/mobs/dungeons/tha_t.txt
+++ b/npc/pre-re/mobs/dungeons/tha_t.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Playtester
-//= Copyright (C) Nexon
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Playtester
+//= Copyright (C) Nexon
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/thor_v.txt b/npc/pre-re/mobs/dungeons/thor_v.txt
index ea652cfc6..04e5a134e 100644
--- a/npc/pre-re/mobs/dungeons/thor_v.txt
+++ b/npc/pre-re/mobs/dungeons/thor_v.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
//=
//= 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/npc/pre-re/mobs/dungeons/treasure.txt b/npc/pre-re/mobs/dungeons/treasure.txt
index 1f807ff65..3d8bcbbf1 100644
--- a/npc/pre-re/mobs/dungeons/treasure.txt
+++ b/npc/pre-re/mobs/dungeons/treasure.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/tur_dun.txt b/npc/pre-re/mobs/dungeons/tur_dun.txt
index ee55d7bae..6f9b6f1cd 100644
--- a/npc/pre-re/mobs/dungeons/tur_dun.txt
+++ b/npc/pre-re/mobs/dungeons/tur_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/um_dun.txt b/npc/pre-re/mobs/dungeons/um_dun.txt
index 5ef0367aa..6b062356a 100644
--- a/npc/pre-re/mobs/dungeons/um_dun.txt
+++ b/npc/pre-re/mobs/dungeons/um_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/xmas_dun.txt b/npc/pre-re/mobs/dungeons/xmas_dun.txt
index 47ed55da7..5cb2fe626 100644
--- a/npc/pre-re/mobs/dungeons/xmas_dun.txt
+++ b/npc/pre-re/mobs/dungeons/xmas_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/dungeons/yggdrasil.txt b/npc/pre-re/mobs/dungeons/yggdrasil.txt
index 90d9057ef..b78a93f4a 100644
--- a/npc/pre-re/mobs/dungeons/yggdrasil.txt
+++ b/npc/pre-re/mobs/dungeons/yggdrasil.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) DracoRPG
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) DracoRPG
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/amatsu.txt b/npc/pre-re/mobs/fields/amatsu.txt
index e6c4426c9..73510588a 100644
--- a/npc/pre-re/mobs/fields/amatsu.txt
+++ b/npc/pre-re/mobs/fields/amatsu.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/ayothaya.txt b/npc/pre-re/mobs/fields/ayothaya.txt
index d032d2856..6894f9a15 100644
--- a/npc/pre-re/mobs/fields/ayothaya.txt
+++ b/npc/pre-re/mobs/fields/ayothaya.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) VP
-//= Copyright (C) Lupus
-//= Copyright (C) Ishizu
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) VP
+//= Copyright (C) Lupus
+//= Copyright (C) Ishizu
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/comodo.txt b/npc/pre-re/mobs/fields/comodo.txt
index 33463e354..335302e97 100644
--- a/npc/pre-re/mobs/fields/comodo.txt
+++ b/npc/pre-re/mobs/fields/comodo.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/einbroch.txt b/npc/pre-re/mobs/fields/einbroch.txt
index d08a29a84..ba15a1ae0 100644
--- a/npc/pre-re/mobs/fields/einbroch.txt
+++ b/npc/pre-re/mobs/fields/einbroch.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/geffen.txt b/npc/pre-re/mobs/fields/geffen.txt
index d388cd4a8..c29f44542 100644
--- a/npc/pre-re/mobs/fields/geffen.txt
+++ b/npc/pre-re/mobs/fields/geffen.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/gonryun.txt b/npc/pre-re/mobs/fields/gonryun.txt
index 752001667..f833a75cc 100644
--- a/npc/pre-re/mobs/fields/gonryun.txt
+++ b/npc/pre-re/mobs/fields/gonryun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/hugel.txt b/npc/pre-re/mobs/fields/hugel.txt
index 0977a757d..d9b9a3674 100644
--- a/npc/pre-re/mobs/fields/hugel.txt
+++ b/npc/pre-re/mobs/fields/hugel.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/lighthalzen.txt b/npc/pre-re/mobs/fields/lighthalzen.txt
index 7f8d88daf..d121463d5 100644
--- a/npc/pre-re/mobs/fields/lighthalzen.txt
+++ b/npc/pre-re/mobs/fields/lighthalzen.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Poki#3
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Poki#3
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/pre-re/mobs/fields/louyang.txt b/npc/pre-re/mobs/fields/louyang.txt
index 1a77c1801..77bd05398 100644
--- a/npc/pre-re/mobs/fields/louyang.txt
+++ b/npc/pre-re/mobs/fields/louyang.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Evera
-//= Copyright (C) Lorri
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Evera
+//= Copyright (C) Lorri
//=
//= 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/npc/pre-re/mobs/fields/lutie.txt b/npc/pre-re/mobs/fields/lutie.txt
index 7fbff3416..21f081c5b 100644
--- a/npc/pre-re/mobs/fields/lutie.txt
+++ b/npc/pre-re/mobs/fields/lutie.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/manuk.txt b/npc/pre-re/mobs/fields/manuk.txt
index 30986f879..82bfc7e4d 100644
--- a/npc/pre-re/mobs/fields/manuk.txt
+++ b/npc/pre-re/mobs/fields/manuk.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) scriptor
-//= Copyright (C) alexx
-//= Copyright (C) MaC
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) scriptor
+//= Copyright (C) alexx
+//= Copyright (C) MaC
//=
//= 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/npc/pre-re/mobs/fields/mjolnir.txt b/npc/pre-re/mobs/fields/mjolnir.txt
index f98aa1f7d..20c440491 100644
--- a/npc/pre-re/mobs/fields/mjolnir.txt
+++ b/npc/pre-re/mobs/fields/mjolnir.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/morocc.txt b/npc/pre-re/mobs/fields/morocc.txt
index 317e28f77..7ff121832 100644
--- a/npc/pre-re/mobs/fields/morocc.txt
+++ b/npc/pre-re/mobs/fields/morocc.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/moscovia.txt b/npc/pre-re/mobs/fields/moscovia.txt
index a6dec7354..bab917ef9 100644
--- a/npc/pre-re/mobs/fields/moscovia.txt
+++ b/npc/pre-re/mobs/fields/moscovia.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/niflheim.txt b/npc/pre-re/mobs/fields/niflheim.txt
index 3c9cc5fe0..11b9caf1d 100644
--- a/npc/pre-re/mobs/fields/niflheim.txt
+++ b/npc/pre-re/mobs/fields/niflheim.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) DracoRPG
-//= Copyright (C) Lupus
-//= Copyright (C) shadow
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) DracoRPG
+//= Copyright (C) Lupus
+//= Copyright (C) shadow
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/payon.txt b/npc/pre-re/mobs/fields/payon.txt
index d8a490bcf..55c0b775e 100644
--- a/npc/pre-re/mobs/fields/payon.txt
+++ b/npc/pre-re/mobs/fields/payon.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/prontera.txt b/npc/pre-re/mobs/fields/prontera.txt
index 28b8c30e7..5c10fc884 100644
--- a/npc/pre-re/mobs/fields/prontera.txt
+++ b/npc/pre-re/mobs/fields/prontera.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/rachel.txt b/npc/pre-re/mobs/fields/rachel.txt
index 7c2e58494..a6b80b98b 100644
--- a/npc/pre-re/mobs/fields/rachel.txt
+++ b/npc/pre-re/mobs/fields/rachel.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Sepheus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Sepheus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/mobs/fields/splendide.txt b/npc/pre-re/mobs/fields/splendide.txt
index a59c9dc3e..d40d9b93d 100644
--- a/npc/pre-re/mobs/fields/splendide.txt
+++ b/npc/pre-re/mobs/fields/splendide.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) scriptor
-//= Copyright (C) alexx
-//= Copyright (C) MaC
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) scriptor
+//= Copyright (C) alexx
+//= Copyright (C) MaC
//=
//= 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/npc/pre-re/mobs/fields/umbala.txt b/npc/pre-re/mobs/fields/umbala.txt
index 09d26315c..29d7b7e40 100644
--- a/npc/pre-re/mobs/fields/umbala.txt
+++ b/npc/pre-re/mobs/fields/umbala.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Darkchild
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Darkchild
//=
//= 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/npc/pre-re/mobs/fields/veins.txt b/npc/pre-re/mobs/fields/veins.txt
index 30f313737..6241dfc1e 100644
--- a/npc/pre-re/mobs/fields/veins.txt
+++ b/npc/pre-re/mobs/fields/veins.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Gepard
-//= Copyright (C) Playtester
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Gepard
+//= Copyright (C) Playtester
+//= Copyright (C) $ephiroth
//=
//= 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/npc/pre-re/mobs/fields/yuno.txt b/npc/pre-re/mobs/fields/yuno.txt
index 30e4f088b..6cf357a97 100644
--- a/npc/pre-re/mobs/fields/yuno.txt
+++ b/npc/pre-re/mobs/fields/yuno.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Darkchild
-//= Copyright (C) Muad_Dib
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Darkchild
+//= Copyright (C) Muad_Dib
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/other/bulletin_boards.txt b/npc/pre-re/other/bulletin_boards.txt
index 93c27f8f2..9380d574c 100644
--- a/npc/pre-re/other/bulletin_boards.txt
+++ b/npc/pre-re/other/bulletin_boards.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/other/mercenary_rent.txt b/npc/pre-re/other/mercenary_rent.txt
index e92818d52..d6c9ff61e 100644
--- a/npc/pre-re/other/mercenary_rent.txt
+++ b/npc/pre-re/other/mercenary_rent.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
//=
//= 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/npc/pre-re/other/msg_boards.txt b/npc/pre-re/other/msg_boards.txt
index fbcaf2749..f80844eab 100644
--- a/npc/pre-re/other/msg_boards.txt
+++ b/npc/pre-re/other/msg_boards.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/other/pvp.txt b/npc/pre-re/other/pvp.txt
index 2882cf9cb..3cde32b01 100644
--- a/npc/pre-re/other/pvp.txt
+++ b/npc/pre-re/other/pvp.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/other/resetskill.txt b/npc/pre-re/other/resetskill.txt
index 46e35e541..cca778957 100644
--- a/npc/pre-re/other/resetskill.txt
+++ b/npc/pre-re/other/resetskill.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/other/turbo_track.txt b/npc/pre-re/other/turbo_track.txt
index 6115b8d18..26cb2e0fc 100644
--- a/npc/pre-re/other/turbo_track.txt
+++ b/npc/pre-re/other/turbo_track.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/quests/collection/quest_alligator.txt b/npc/pre-re/quests/collection/quest_alligator.txt
index 428eb21ad..2bee7197c 100644
--- a/npc/pre-re/quests/collection/quest_alligator.txt
+++ b/npc/pre-re/quests/collection/quest_alligator.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_caramel.txt b/npc/pre-re/quests/collection/quest_caramel.txt
index 675b6afc1..461210d00 100644
--- a/npc/pre-re/quests/collection/quest_caramel.txt
+++ b/npc/pre-re/quests/collection/quest_caramel.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_coco.txt b/npc/pre-re/quests/collection/quest_coco.txt
index 2ed6f7087..73e153802 100644
--- a/npc/pre-re/quests/collection/quest_coco.txt
+++ b/npc/pre-re/quests/collection/quest_coco.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_creamy.txt b/npc/pre-re/quests/collection/quest_creamy.txt
index 41c9f26ca..6fe4d07b7 100644
--- a/npc/pre-re/quests/collection/quest_creamy.txt
+++ b/npc/pre-re/quests/collection/quest_creamy.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_demonpungus.txt b/npc/pre-re/quests/collection/quest_demonpungus.txt
index f3218c317..757e1f87a 100644
--- a/npc/pre-re/quests/collection/quest_demonpungus.txt
+++ b/npc/pre-re/quests/collection/quest_demonpungus.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_disguiseloliruri.txt b/npc/pre-re/quests/collection/quest_disguiseloliruri.txt
index 7a09ee06c..33249c9ba 100644
--- a/npc/pre-re/quests/collection/quest_disguiseloliruri.txt
+++ b/npc/pre-re/quests/collection/quest_disguiseloliruri.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
//=
//= 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/npc/pre-re/quests/collection/quest_dokebi.txt b/npc/pre-re/quests/collection/quest_dokebi.txt
index ebfb9b2eb..e9908244d 100644
--- a/npc/pre-re/quests/collection/quest_dokebi.txt
+++ b/npc/pre-re/quests/collection/quest_dokebi.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_dryad.txt b/npc/pre-re/quests/collection/quest_dryad.txt
index 0466c9693..9ffad9240 100644
--- a/npc/pre-re/quests/collection/quest_dryad.txt
+++ b/npc/pre-re/quests/collection/quest_dryad.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_fabre.txt b/npc/pre-re/quests/collection/quest_fabre.txt
index 0a6f614ea..89e5bbae9 100644
--- a/npc/pre-re/quests/collection/quest_fabre.txt
+++ b/npc/pre-re/quests/collection/quest_fabre.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_frilldora.txt b/npc/pre-re/quests/collection/quest_frilldora.txt
index 77958ee96..027fd76eb 100644
--- a/npc/pre-re/quests/collection/quest_frilldora.txt
+++ b/npc/pre-re/quests/collection/quest_frilldora.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_goat.txt b/npc/pre-re/quests/collection/quest_goat.txt
index e09fd90c0..4da6744a1 100644
--- a/npc/pre-re/quests/collection/quest_goat.txt
+++ b/npc/pre-re/quests/collection/quest_goat.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_golem.txt b/npc/pre-re/quests/collection/quest_golem.txt
index 461a26a8a..2365a0dda 100644
--- a/npc/pre-re/quests/collection/quest_golem.txt
+++ b/npc/pre-re/quests/collection/quest_golem.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_hode.txt b/npc/pre-re/quests/collection/quest_hode.txt
index 1e62fb4a5..c6fe231c0 100644
--- a/npc/pre-re/quests/collection/quest_hode.txt
+++ b/npc/pre-re/quests/collection/quest_hode.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_leafcat.txt b/npc/pre-re/quests/collection/quest_leafcat.txt
index bcea61337..edb57f40c 100644
--- a/npc/pre-re/quests/collection/quest_leafcat.txt
+++ b/npc/pre-re/quests/collection/quest_leafcat.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_mantis.txt b/npc/pre-re/quests/collection/quest_mantis.txt
index f1a27a10a..e0199a537 100644
--- a/npc/pre-re/quests/collection/quest_mantis.txt
+++ b/npc/pre-re/quests/collection/quest_mantis.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
//=
//= 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/npc/pre-re/quests/collection/quest_pecopeco.txt b/npc/pre-re/quests/collection/quest_pecopeco.txt
index feebff009..64b11c1d4 100644
--- a/npc/pre-re/quests/collection/quest_pecopeco.txt
+++ b/npc/pre-re/quests/collection/quest_pecopeco.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_pupa.txt b/npc/pre-re/quests/collection/quest_pupa.txt
index 28b4ff67a..e0edf52bb 100644
--- a/npc/pre-re/quests/collection/quest_pupa.txt
+++ b/npc/pre-re/quests/collection/quest_pupa.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/pre-re/quests/collection/quest_zhupolong.txt b/npc/pre-re/quests/collection/quest_zhupolong.txt
index 87c1fc337..ca6979133 100644
--- a/npc/pre-re/quests/collection/quest_zhupolong.txt
+++ b/npc/pre-re/quests/collection/quest_zhupolong.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
//=
//= 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/npc/pre-re/quests/first_class/tu_archer.txt b/npc/pre-re/quests/first_class/tu_archer.txt
index 15342037e..ac75d604f 100644
--- a/npc/pre-re/quests/first_class/tu_archer.txt
+++ b/npc/pre-re/quests/first_class/tu_archer.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/quests/monstertamers.txt b/npc/pre-re/quests/monstertamers.txt
index 2222335bf..6bee8247e 100644
--- a/npc/pre-re/quests/monstertamers.txt
+++ b/npc/pre-re/quests/monstertamers.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/quests/mrsmile.txt b/npc/pre-re/quests/mrsmile.txt
index f3ae95ed6..97c0037b3 100644
--- a/npc/pre-re/quests/mrsmile.txt
+++ b/npc/pre-re/quests/mrsmile.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
//=
//= 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/npc/pre-re/quests/quests_13_1.txt b/npc/pre-re/quests/quests_13_1.txt
index d1b90d0d6..127e9b219 100644
--- a/npc/pre-re/quests/quests_13_1.txt
+++ b/npc/pre-re/quests/quests_13_1.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/quests/quests_izlude.txt b/npc/pre-re/quests/quests_izlude.txt
index d14d50a42..99b85bd01 100644
--- a/npc/pre-re/quests/quests_izlude.txt
+++ b/npc/pre-re/quests/quests_izlude.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
//=
//= 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/npc/pre-re/quests/quests_lighthalzen.txt b/npc/pre-re/quests/quests_lighthalzen.txt
index f12bf454e..05abe37a2 100644
--- a/npc/pre-re/quests/quests_lighthalzen.txt
+++ b/npc/pre-re/quests/quests_lighthalzen.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
//=
//= 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/npc/pre-re/quests/quests_nameless.txt b/npc/pre-re/quests/quests_nameless.txt
index f9f3a0896..54f1a0570 100644
--- a/npc/pre-re/quests/quests_nameless.txt
+++ b/npc/pre-re/quests/quests_nameless.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/quests/quests_payon.txt b/npc/pre-re/quests/quests_payon.txt
new file mode 100644
index 000000000..5de9d95dc
--- /dev/null
+++ b/npc/pre-re/quests/quests_payon.txt
@@ -0,0 +1,35 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) JohnnyPlayy
+//=
+//= 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/>.
+//=========================================================================
+//= Quest NPCs located in Payon
+//================= Description ===========================================
+//= Quests related to Payon City.
+//================= Current Version =======================================
+//= 1.0
+//=========================================================================
+
+payon_in01,56,12,7 duplicate(Young man#12) Young man#1 4_M_ORIENT02
diff --git a/npc/pre-re/quests/quests_veins.txt b/npc/pre-re/quests/quests_veins.txt
index 9047e14d4..92db7692a 100644
--- a/npc/pre-re/quests/quests_veins.txt
+++ b/npc/pre-re/quests/quests_veins.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/quests/skills/novice_skills.txt b/npc/pre-re/quests/skills/novice_skills.txt
index b15dd3d93..a3a7f8455 100644
--- a/npc/pre-re/quests/skills/novice_skills.txt
+++ b/npc/pre-re/quests/skills/novice_skills.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Zopokx
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) IVBela
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Zopokx
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) IVBela
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/pre-re/scripts.conf b/npc/pre-re/scripts.conf
index d00d6ffba..31895a673 100644
--- a/npc/pre-re/scripts.conf
+++ b/npc/pre-re/scripts.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
@@ -110,3 +110,4 @@
"npc/pre-re/quests/quests_lighthalzen.txt",
"npc/pre-re/quests/quests_nameless.txt",
"npc/pre-re/quests/quests_veins.txt",
+"npc/pre-re/quests/quests_payon.txt",
diff --git a/npc/pre-re/scripts_jobs.conf b/npc/pre-re/scripts_jobs.conf
index 14dc97eee..3057aaf5a 100644
--- a/npc/pre-re/scripts_jobs.conf
+++ b/npc/pre-re/scripts_jobs.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/pre-re/scripts_main.conf b/npc/pre-re/scripts_main.conf
index dda475310..5bed2d71d 100644
--- a/npc/pre-re/scripts_main.conf
+++ b/npc/pre-re/scripts_main.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/pre-re/scripts_mapflags.conf b/npc/pre-re/scripts_mapflags.conf
index 03c798aa6..ad48eb89b 100644
--- a/npc/pre-re/scripts_mapflags.conf
+++ b/npc/pre-re/scripts_mapflags.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-2020 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/npc/pre-re/scripts_monsters.conf b/npc/pre-re/scripts_monsters.conf
index 83ec3cc64..2a00e1a8a 100644
--- a/npc/pre-re/scripts_monsters.conf
+++ b/npc/pre-re/scripts_monsters.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/pre-re/scripts_warps.conf b/npc/pre-re/scripts_warps.conf
index 2e4c65027..ccd5c8810 100644
--- a/npc/pre-re/scripts_warps.conf
+++ b/npc/pre-re/scripts_warps.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/pre-re/warps/cities/izlude.txt b/npc/pre-re/warps/cities/izlude.txt
index 0c431a2b5..c0fdcdf0d 100644
--- a/npc/pre-re/warps/cities/izlude.txt
+++ b/npc/pre-re/warps/cities/izlude.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Juston84
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Juston84
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/pre-re/warps/cities/rachel.txt b/npc/pre-re/warps/cities/rachel.txt
index a56f14c05..c5bf15a3a 100644
--- a/npc/pre-re/warps/cities/rachel.txt
+++ b/npc/pre-re/warps/cities/rachel.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) erKURITA
-//= Copyright (C) RockmanEXE
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) erKURITA
+//= Copyright (C) RockmanEXE
//=
//= 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/npc/pre-re/warps/cities/yggdrasil.txt b/npc/pre-re/warps/cities/yggdrasil.txt
index e6651b65d..9ec190823 100644
--- a/npc/pre-re/warps/cities/yggdrasil.txt
+++ b/npc/pre-re/warps/cities/yggdrasil.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) PKGINGO
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) PKGINGO
//=
//= 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/npc/pre-re/warps/fields/com_fild.txt b/npc/pre-re/warps/fields/com_fild.txt
index 2b3a94771..b25f40064 100644
--- a/npc/pre-re/warps/fields/com_fild.txt
+++ b/npc/pre-re/warps/fields/com_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/pre-re/warps/fields/geffen_fild.txt b/npc/pre-re/warps/fields/geffen_fild.txt
index d37eb05c6..ea1c68717 100644
--- a/npc/pre-re/warps/fields/geffen_fild.txt
+++ b/npc/pre-re/warps/fields/geffen_fild.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
//=
//= 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/npc/pre-re/warps/fields/hugel_fild.txt b/npc/pre-re/warps/fields/hugel_fild.txt
index 7a0da3e4b..42d943f4f 100644
--- a/npc/pre-re/warps/fields/hugel_fild.txt
+++ b/npc/pre-re/warps/fields/hugel_fild.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Sara-chan
//=
//= 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/npc/pre-re/warps/fields/morroc_fild.txt b/npc/pre-re/warps/fields/morroc_fild.txt
index 3427eb4a6..286d2cef2 100644
--- a/npc/pre-re/warps/fields/morroc_fild.txt
+++ b/npc/pre-re/warps/fields/morroc_fild.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/pre-re/warps/fields/payon_fild.txt b/npc/pre-re/warps/fields/payon_fild.txt
index 3e624b4ca..f8bd4d9fc 100644
--- a/npc/pre-re/warps/fields/payon_fild.txt
+++ b/npc/pre-re/warps/fields/payon_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/pre-re/warps/fields/prontera_fild.txt b/npc/pre-re/warps/fields/prontera_fild.txt
index 78d2c958b..036426740 100644
--- a/npc/pre-re/warps/fields/prontera_fild.txt
+++ b/npc/pre-re/warps/fields/prontera_fild.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/pre-re/warps/fields/rachel_fild.txt b/npc/pre-re/warps/fields/rachel_fild.txt
index 723cd1a1b..31840858d 100644
--- a/npc/pre-re/warps/fields/rachel_fild.txt
+++ b/npc/pre-re/warps/fields/rachel_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
//=
//= 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/npc/pre-re/warps/fields/veins_fild.txt b/npc/pre-re/warps/fields/veins_fild.txt
index 0eabc2aed..a38565b66 100644
--- a/npc/pre-re/warps/fields/veins_fild.txt
+++ b/npc/pre-re/warps/fields/veins_fild.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) $ephiroth
//=
//= 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/npc/pre-re/warps/fields/yuno_fild.txt b/npc/pre-re/warps/fields/yuno_fild.txt
index 1be9c17ce..0950df9d8 100644
--- a/npc/pre-re/warps/fields/yuno_fild.txt
+++ b/npc/pre-re/warps/fields/yuno_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Sara
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Sara
+//= Copyright (C) Nana
//=
//= 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/npc/pre-re/warps/other/arena.txt b/npc/pre-re/warps/other/arena.txt
index f9cae285b..006828d1f 100644
--- a/npc/pre-re/warps/other/arena.txt
+++ b/npc/pre-re/warps/other/arena.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/pre-re/warps/other/sign.txt b/npc/pre-re/warps/other/sign.txt
index 08eaafe0c..8f0d81ecf 100644
--- a/npc/pre-re/warps/other/sign.txt
+++ b/npc/pre-re/warps/other/sign.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/quests/bard_quest.txt b/npc/quests/bard_quest.txt
index 7a187e6a3..d59893899 100644
--- a/npc/quests/bard_quest.txt
+++ b/npc/quests/bard_quest.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Riotblade
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Riotblade
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -320,7 +320,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "[" + @name$ + "]";
mes "Don't you think...";
mes "The person would be...";
- input .@inputstr$;
+ input(.@inputstr$);
mes .@inputstr$ + "?";
next;
@@ -546,7 +546,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "The lyrics. They must have been changed. Did Gunther say anything about this?! Hmmm, but who would change the lyrics...?";
next;
cutin "bard_eland01",2;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Kino Kitty") {
mes "[Errende]";
@@ -678,7 +678,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "Could it be that";
mes "the person who";
mes "changed the song is...";
- input .@inputstr$;
+ input(.@inputstr$);
mes "" + .@inputstr$ + "?";
next;
@@ -879,7 +879,7 @@ geffen,132,38,3 script Bard#2 1_M_BARD,{
mes "[Errende]";
mes "The lyrics. They must have been changed. Did Gunther say anything about this?! Hmmm, but who would change the lyrics...?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Kino Kitty") {
cutin "bard_eland01",2;
mes "[Errende]";
@@ -2486,14 +2486,14 @@ payon,181,172,3 script Bard#4 1_M_BARD,{
mes "Now, what was the";
mes "name of the song again?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "At One, I Fall in Love") {
mes "[Gunther Doubleharmony]";
mes "Ah~ that song...?";
mes "By the way, who asked you";
mes "to find out about the song?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Minty Errende") {
mes "[Gunther Doubleharmony]";
mes "Yes, that's my friend! Minty Errende! We used to so close to each other, so I'll write every word of the song for my friend Minty Errende, so turn around please!";
@@ -2843,7 +2843,7 @@ yuno_in04,20,123,7 script Representative#bq 4_F_SISTER,{
mes "[Marlin Putiur]";
mes "I also hear the Bards have been helping scholars instill bulletin boards in fields which indicate the location for new adventurers. Would you let me know the full name of the person you're looking for?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Minty Errende") {
mes "[Marlin Putiur]";
mes "Minty Errende...";
@@ -2909,7 +2909,7 @@ yuno_in04,33,119,3 script Adventurer#1 4_M_ROGUE,{
mes "My name is Pane.";
mes "May I ask yours?";
@name$ = strcharinfo(PC_NAME);
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "[Energetic Young Man]";
mes "Oh...";
diff --git a/npc/quests/bunnyband.txt b/npc/quests/bunnyband.txt
index 9b3537312..50e26f98d 100644
--- a/npc/quests/bunnyband.txt
+++ b/npc/quests/bunnyband.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/cooking_quest.txt b/npc/quests/cooking_quest.txt
index 505561f52..23d59a2dc 100644
--- a/npc/quests/cooking_quest.txt
+++ b/npc/quests/cooking_quest.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) ultramage
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) ultramage
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1102,8 +1102,8 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "but I'm not lending those out.";
mes "Oh, and enter 0 to cancel.";
next;
- input .@new_book;
- if (.@new_book < 0 || .@new_book > 5) {
+ input(.@new_book);
+ if (.@new_book > 5) {
cutin "orleans_5",0;
mes "[Charles Orleans]";
mes "Hmm...";
@@ -1113,8 +1113,9 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "only cookbooks that I will";
mes "lend out to my students.";
callsub L_End;
+ end;
}
- else if (.@new_book == 0) {
+ if (.@new_book <= 0) {
cutin "orleans_5",0;
mes "[Charles Orleans]";
mes "So you changed your mind?";
@@ -1123,6 +1124,7 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "have right now before trying";
mes "something new, I suppose.";
callsub L_End;
+ end;
}
mes "[Charles Orleans]";
mes "So you wanted to borrow a";
@@ -1131,8 +1133,8 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "me the level of the cookbook";
mes "that you are returning to me?";
next;
- input .@old_book;
- if (.@old_book < 0 || .@old_book > 5) {
+ input(.@old_book);
+ if (.@old_book > 5) {
mes "[Charles Orleans]";
mes "There must be some";
mes "kind of mistake-- I only";
@@ -1141,8 +1143,9 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "me again when you remember";
mes "which cookbook you have, okay?";
callsub L_End;
+ end;
}
- else if (.@old_book == 0) {
+ if (.@old_book <= 0) {
cutin "orleans_5",0;
mes "[Charles Orleans]";
mes "So you changed your mind?";
@@ -1151,8 +1154,9 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "have right now before trying";
mes "something new, I suppose.";
callsub L_End;
+ end;
}
- else if (.@old_book == .@new_book) {
+ if (.@old_book == .@new_book) {
cutin "orleans_4",0;
mes "[Charles Orleans]";
mes "Wait, wait...";
@@ -1162,62 +1166,62 @@ prt_castle,43,30,3 script Charles Orleans#cook 4_M_OILMAN,{
mes "have? I guess you made";
mes "some sort of mistake?";
callsub L_End;
+ end;
}
- else {
- if (countitem(7471+.@old_book) < 1) {
- mes "[Charles Orleans]";
- mes "Wait, wait...";
- mes "Why don't you have";
- mes "the book that you said";
- mes "that you'd return to me?";
- mes "Find it first, and then I can";
- mes "lend another cookbook to you.";
- callsub L_End;
- }
- cutin "orleans_2",0;
+ if (countitem(7471+.@old_book) < 1) {
mes "[Charles Orleans]";
- switch(.@old_book) {
- case 1:
- mes "Ah, so you're done";
- mes "with the Level 1 Cookbook.";
- mes "That's good, that means you're";
- mes "ready to graduate from the most";
- mes "basic of basics. From now on,";
- mes "the recipes will be harder...";
- break;
- case 2:
- mes "Ah, so what did you";
- mes "think of the recipes in";
- mes "the Level 2 Cookbook?";
- mes "Homestyle cooking may be";
- mes "simple, but it should never";
- mes "be neglected by chefs.";
- break;
- case 3:
- mes "Ah, done with the Level 3";
- mes "Cookbook already? The recipes";
- mes "in there are really good when you're cooking romantic dinners.";
- mes "They'll come in handy someday,";
- mes "if you know what I mean.";
- break;
- case 4:
- mes "So you've finished the";
- mes "Level 4 Cookbook. That's";
- mes "no small feat! You've got to";
- mes "use very strange ingredients";
- mes "to create delicious cuisine!";
- break;
- case 5:
- mes "You're done with the";
- mes "Level 5 Cookbook? Good";
- mes "work: most beginners don't";
- mes "even get this far. I suppose";
- mes "you'll want to review some";
- mes "of the easier recipes now~";
- break;
- }
- next;
+ mes "Wait, wait...";
+ mes "Why don't you have";
+ mes "the book that you said";
+ mes "that you'd return to me?";
+ mes "Find it first, and then I can";
+ mes "lend another cookbook to you.";
+ callsub L_End;
+ end;
}
+ cutin "orleans_2",0;
+ mes "[Charles Orleans]";
+ switch(.@old_book) {
+ case 1:
+ mes "Ah, so you're done";
+ mes "with the Level 1 Cookbook.";
+ mes "That's good, that means you're";
+ mes "ready to graduate from the most";
+ mes "basic of basics. From now on,";
+ mes "the recipes will be harder...";
+ break;
+ case 2:
+ mes "Ah, so what did you";
+ mes "think of the recipes in";
+ mes "the Level 2 Cookbook?";
+ mes "Homestyle cooking may be";
+ mes "simple, but it should never";
+ mes "be neglected by chefs.";
+ break;
+ case 3:
+ mes "Ah, done with the Level 3";
+ mes "Cookbook already? The recipes";
+ mes "in there are really good when you're cooking romantic dinners.";
+ mes "They'll come in handy someday,";
+ mes "if you know what I mean.";
+ break;
+ case 4:
+ mes "So you've finished the";
+ mes "Level 4 Cookbook. That's";
+ mes "no small feat! You've got to";
+ mes "use very strange ingredients";
+ mes "to create delicious cuisine!";
+ break;
+ case 5:
+ mes "You're done with the";
+ mes "Level 5 Cookbook? Good";
+ mes "work: most beginners don't";
+ mes "even get this far. I suppose";
+ mes "you'll want to review some";
+ mes "of the easier recipes now~";
+ break;
+ }
+ next;
cutin "orleans_1",0;
mes "[Charles Orleans]";
mes "Now, before I let you";
@@ -2079,8 +2083,8 @@ S_SellSets:
mes "enter the number 0.";
next;
while(1) {
- input .@sell;
- if (.@sell == 0) {
+ input(.@sell);
+ if (.@sell <= 0) {
mes "[Madeleine Chu]";
mes "You've changed your";
mes "mind? Well, if you need";
@@ -2089,15 +2093,16 @@ S_SellSets:
mes "to me at anytime, alright?";
close;
}
- else if (.@sell > 100) {
+ if (.@sell > 100) {
mes "[Madeleine Chu]";
mes "Oh, I'm sorry, but";
mes "I don't sell more than";
mes "100 "+getitemname(getarg(0));
mes "at a time, just to be safe.";
next;
+ continue;
}
- else break;
+ break;
}
.@total_cost = .@sell * .@item_cost;
.@total_weight = .@sell * .@item_weight;
diff --git a/npc/quests/counteragent_mixture.txt b/npc/quests/counteragent_mixture.txt
index 4921b215c..3840ab90e 100644
--- a/npc/quests/counteragent_mixture.txt
+++ b/npc/quests/counteragent_mixture.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nexon
-//= Copyright (C) Darkchild
-//= Copyright (C) Lupus
-//= Copyright (C) Komurka
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nexon
+//= Copyright (C) Darkchild
+//= Copyright (C) Lupus
+//= Copyright (C) Komurka
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/dandelion_request.txt b/npc/quests/dandelion_request.txt
index 2f73cf769..8351871e1 100644
--- a/npc/quests/dandelion_request.txt
+++ b/npc/quests/dandelion_request.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) SinSloth
//=
//= 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/npc/quests/doomed_swords.txt b/npc/quests/doomed_swords.txt
index 7b0911f37..e5212c2d2 100644
--- a/npc/quests/doomed_swords.txt
+++ b/npc/quests/doomed_swords.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/doomed_swords_quest.txt b/npc/quests/doomed_swords_quest.txt
index 2f8ac43c1..df2c6ea0f 100644
--- a/npc/quests/doomed_swords_quest.txt
+++ b/npc/quests/doomed_swords_quest.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/quests/eye_of_hellion.txt b/npc/quests/eye_of_hellion.txt
index a070bf8df..de250c9ad 100644
--- a/npc/quests/eye_of_hellion.txt
+++ b/npc/quests/eye_of_hellion.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) FlavioJS
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) FlavioJS
+//= Copyright (C) MasterOfMuppets
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1109,7 +1109,7 @@ OnTouch:
mes "all the message says is, um,";
mes "what was that last word again?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "BINGO") {
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Of course!";
@@ -1211,7 +1211,7 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
mes "Ah, right, the numbers";
mes "that Veggie Lady gave me!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "3847147298") {
mes "^3355FFThe machine responds to";
mes "the password with a pleasant";
@@ -1262,7 +1262,7 @@ prt_in,128,79,0 script Unknown Machine#prt_key HIDDEN_NPC,{
mes "if I can enter the";
mes "right number this time...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "3847147298") {
mes "^3355FFThe machine responds to";
mes "the password with a pleasant";
@@ -2107,7 +2107,7 @@ geffen,110,200,3 script Sage Welshyun#hellion 4_M_SAGE_A,3,3,{
mes "in the third part of the ballad";
mes "of Grimnir? Well, adventurer?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Valaskjalf") {
mes "[Welshyun]";
mes "Ah, well met, well met.";
@@ -2291,7 +2291,7 @@ gef_tower,116,37,0 script Enoz#hellion 4_M_ALCHE_A,{
mes "I haven't submitted to him";
mes "yet? So what was it called?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Monster Life in the Geffen Area") {
mes "[Enoz]";
mes "''Monster Life in";
diff --git a/npc/quests/first_class/tu_acolyte.txt b/npc/quests/first_class/tu_acolyte.txt
index 69cfb3cbf..ad972cc0e 100644
--- a/npc/quests/first_class/tu_acolyte.txt
+++ b/npc/quests/first_class/tu_acolyte.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Jukka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Jukka
//=
//= 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/npc/quests/first_class/tu_archer.txt b/npc/quests/first_class/tu_archer.txt
index 834323086..0f8aa141c 100644
--- a/npc/quests/first_class/tu_archer.txt
+++ b/npc/quests/first_class/tu_archer.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Jukka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Jukka
//=
//= 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/npc/quests/first_class/tu_ma_th01.txt b/npc/quests/first_class/tu_ma_th01.txt
index 40137b74a..1a3a97761 100644
--- a/npc/quests/first_class/tu_ma_th01.txt
+++ b/npc/quests/first_class/tu_ma_th01.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Jukka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Jukka
//=
//= 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/npc/quests/first_class/tu_magician01.txt b/npc/quests/first_class/tu_magician01.txt
index 198913b83..7a0844d99 100644
--- a/npc/quests/first_class/tu_magician01.txt
+++ b/npc/quests/first_class/tu_magician01.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Jukka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Jukka
//=
//= 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/npc/quests/first_class/tu_merchant.txt b/npc/quests/first_class/tu_merchant.txt
index 56bfb7390..543ccb364 100644
--- a/npc/quests/first_class/tu_merchant.txt
+++ b/npc/quests/first_class/tu_merchant.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Jukka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Jukka
//=
//= 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/npc/quests/first_class/tu_sword.txt b/npc/quests/first_class/tu_sword.txt
index fa4c0defb..c50fe3a78 100644
--- a/npc/quests/first_class/tu_sword.txt
+++ b/npc/quests/first_class/tu_sword.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) KirieZ
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Jukka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) KirieZ
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Jukka
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1888,69 +1888,8 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
mes "from all the suspects? First,";
mes "tell me the code that Hans had.";
next;
- input .@inputstr$;
- if(.@inputstr$ == .@hans$){
- mes "[Dequ'ee]";
- mes "victkleyundncem?";
- mes "That's certainly";
- mes "strange sounding.";
- mes "Now, tell me Bankley's.";
- next;
- input .@inputstr$;
- if(.@inputstr$ == .@bang$){
- mes "[Dequ'ee]";
- mes "hekdlfiDrindkelsd..";
- mes "What the hell is that...?";
- mes "It's certainly cryptic.";
- mes "What about Muetro's?";
- next;
- input .@inputstr$;
- if(.@inputstr$ == .@mutr$){
- mes "[Dequ'ee]";
- mes "ConBanfoevidehi.";
- mes "This is going to";
- mes "be tough to figure";
- mes "out. Alright, now";
- mes "tell me Geil's.";
- next;
- input .@inputstr$;
- if(.@inputstr$ == .@geil$){
- mes "[Dequ'ee]";
- mes "TheisWesomeof...";
- mes "Alright, great.";
- mes "Now all we have to";
- mes "do is figure out what";
- mes "all of this means.";
- next;
- mes "[Dequ'ee]";
- mes "This is going to";
- mes "be really difficult.";
- mes "Do you have any ideas?";
- mes "We have to figure this";
- mes "out, it's the only clue";
- mes "that we have...";
- tu_swordman = 16;
- changequest 8223,8224;
- close;
- } else {
- mes "[Dequ'ee]";
- mes "...Are you sure that you heard";
- mes "him right? Why don't you go check it out again?";
- close;
- }
- } else {
- mes "[Dequ'ee]";
- mes "...Are you sure that you heard";
- mes "him right? Why don't you go check it out again?";
- close;
- }
- } else {
- mes "[Dequ'ee]";
- mes "...Are you sure that you heard";
- mes "him right? Why don't you go check it out again?";
- close;
- }
- } else {
+ input(.@inputstr$);
+ if(.@inputstr$ != .@hans$) {
mes "[Dequ'ee]";
mes "Are you sure that's right?";
mes "No, no, I don't think it is.";
@@ -1958,6 +1897,63 @@ geffen,154,143,3 script Dequ'ee 4_M_JOB_KNIGHT2,{
mes "if you need to?";
close;
}
+ mes "[Dequ'ee]";
+ mes "victkleyundncem?";
+ mes "That's certainly";
+ mes "strange sounding.";
+ mes "Now, tell me Bankley's.";
+ next;
+ input(.@inputstr$);
+ if(.@inputstr$ != .@bang$) {
+ mes "[Dequ'ee]";
+ mes "...Are you sure that you heard";
+ mes "him right? Why don't you go check it out again?";
+ close;
+ }
+ mes "[Dequ'ee]";
+ mes "hekdlfiDrindkelsd..";
+ mes "What the hell is that...?";
+ mes "It's certainly cryptic.";
+ mes "What about Muetro's?";
+ next;
+ input(.@inputstr$);
+ if(.@inputstr$ != .@mutr$) {
+ mes "[Dequ'ee]";
+ mes "...Are you sure that you heard";
+ mes "him right? Why don't you go check it out again?";
+ close;
+ }
+ mes "[Dequ'ee]";
+ mes "ConBanfoevidehi.";
+ mes "This is going to";
+ mes "be tough to figure";
+ mes "out. Alright, now";
+ mes "tell me Geil's.";
+ next;
+ input(.@inputstr$);
+ if(.@inputstr$ != .@geil$) {
+ mes "[Dequ'ee]";
+ mes "...Are you sure that you heard";
+ mes "him right? Why don't you go check it out again?";
+ close;
+ }
+ mes "[Dequ'ee]";
+ mes "TheisWesomeof...";
+ mes "Alright, great.";
+ mes "Now all we have to";
+ mes "do is figure out what";
+ mes "all of this means.";
+ next;
+ mes "[Dequ'ee]";
+ mes "This is going to";
+ mes "be really difficult.";
+ mes "Do you have any ideas?";
+ mes "We have to figure this";
+ mes "out, it's the only clue";
+ mes "that we have...";
+ tu_swordman = 16;
+ changequest 8223,8224;
+ close;
}
if(tu_swordman == 14){
mes "[Dequ'ee]";
diff --git a/npc/quests/first_class/tu_thief01.txt b/npc/quests/first_class/tu_thief01.txt
index 58e654122..f44f25bb7 100644
--- a/npc/quests/first_class/tu_thief01.txt
+++ b/npc/quests/first_class/tu_thief01.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Jukka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Jukka
//=
//= 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/npc/quests/guildrelay.txt b/npc/quests/guildrelay.txt
index 87c72ef16..bf496a536 100644
--- a/npc/quests/guildrelay.txt
+++ b/npc/quests/guildrelay.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -86,7 +86,7 @@
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
if (guildrelay_q == 100) {
if (guildtime > 22) {
if (gettime(GETTIME_HOUR) > 1 && gettime(GETTIME_HOUR) < guildtime) {
@@ -1265,7 +1265,7 @@
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
if (countitem(Soul_Of_Guild) > 0) {
mes "[" + .@name$ + "]";
mes "Hm. You can't just keep";
@@ -1728,7 +1728,7 @@
}
}
else {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes "[" + .@name$ + "]";
mes "Hm? What brings you";
mes "here? Feel free to take";
@@ -1769,7 +1769,7 @@
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
if (countitem(Soul_Of_Confidence) > 0) {
mes "[" + .@name$ + "]";
mes "Hm? What are you doing?";
@@ -2283,7 +2283,7 @@
}
}
else {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes "[" + .@name$ + "]";
mes "Hm. You're the master";
mes "of another guild, aren't";
@@ -2453,7 +2453,7 @@
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
if (countitem(Soul_Of_Peace) > 0) {
mes "[" + .@name$ + "]";
mes "Hm? That spirit that";
@@ -3076,7 +3076,7 @@
}
}
else {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes "[" + .@name$ + "]";
mes "You might be the master";
mes "of a guild, but you and I";
diff --git a/npc/quests/gunslinger_quests.txt b/npc/quests/gunslinger_quests.txt
index 0c6886526..90ef6dd14 100644
--- a/npc/quests/gunslinger_quests.txt
+++ b/npc/quests/gunslinger_quests.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) SinSloth
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) SinSloth
+//= Copyright (C) Playtester
//=
//= 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/npc/quests/juice_maker.txt b/npc/quests/juice_maker.txt
index 4c5d34b3c..9f77cae2b 100644
--- a/npc/quests/juice_maker.txt
+++ b/npc/quests/juice_maker.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lance
-//= Copyright (C) kobra_k88
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lance
+//= Copyright (C) kobra_k88
+//= Copyright (C) Lupus
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -256,21 +256,20 @@ payon_in03,188,146,5 script Marx Hansen#juice 4_M_04,{
mes "Choose a number less than 100. If you don't want to, put '0'. You can make up to " + countitem(.@fruit) + " bottles of juice.";
next;
while(1) {
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Merchant Marx Hansen]";
mes "Well then...";
mes "Come again.";
close;
}
- else if (.@input > 100) {
+ if (.@input > 100) {
mes "[Merchant Marx Hansen]";
mes "More than 100 bottles is impossible. Choose a different amount.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
.@make = .@input;
break;
diff --git a/npc/quests/kiel_hyre_quest.txt b/npc/quests/kiel_hyre_quest.txt
index 677a81f8d..4e4bc72f7 100644
--- a/npc/quests/kiel_hyre_quest.txt
+++ b/npc/quests/kiel_hyre_quest.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Balish
-//= Copyright (C) Toms
-//= Copyright (C) Playtester
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DZeroX
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Balish
+//= Copyright (C) Toms
+//= Copyright (C) Playtester
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DZeroX
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -566,7 +566,7 @@ yuno_fild08,158,194,6 script Security Guard#1::KHAGuard 4_M_EIN_SOLDIER,{
mes "delivered, and I'll verify it";
mes "before letting you inside.";
next;
- input .@KHDelivery$;
+ input(.@KHDelivery$);
if (.@KHDelivery$ != "Lecollane") {
mes "[Security Guard]";
mes "You're here to deliver some";
@@ -576,7 +576,7 @@ yuno_fild08,158,194,6 script Security Guard#1::KHAGuard 4_M_EIN_SOLDIER,{
mes "academy named "+.@KHDelivery$+"";
close;
}
- input .@KHDelivery$ ;
+ input(.@KHDelivery$);
if (.@KHDelivery$ != "Culinary Wine") {
mes "[Security Guard]";
mes "So you're here to make";
@@ -1438,7 +1438,7 @@ kh_school,178,180,4 script Elly 4_F_KHELLY,{
mes "^3355FFElly's not responding...^000000";
close;
case 2:
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Wake up, Elly!") {
mes "[Elly]";
mes ".............";
@@ -1453,15 +1453,13 @@ kh_school,178,180,4 script Elly 4_F_KHELLY,{
KielHyreQuest = 34;
close;
}
- else {
- mes "[Elly]";
- mes "......";
- mes ".........";
- mes "............";
- next;
- mes "^3355FFElly's not responding...^000000";
- close;
- }
+ mes "[Elly]";
+ mes "......";
+ mes ".........";
+ mes "............";
+ next;
+ mes "^3355FFElly's not responding...^000000";
+ close;
case 3:
mes "^3355FFAlright...";
mes "But sooner or later,";
@@ -1647,7 +1645,7 @@ kh_school,175,176,0 script Cookie Basket#kh HIDDEN_NPC,{
mes "deliciously bittersweet.";
KielHyreQuest = 109;
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
mes "It's time to go back. I can't";
@@ -1703,7 +1701,7 @@ yuno_fild08,71,170,0 script Grave#kh HIDDEN_NPC,{
mes "^3355FFWhat should you";
mes "insert into the slot?^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Yellow Keycard") {
mes "^3355FFAn electronic confirmation";
mes "chime sounds once you insert";
@@ -1713,7 +1711,7 @@ yuno_fild08,71,170,0 script Grave#kh HIDDEN_NPC,{
mes "[Security System]";
mes "Please enter the password.";
next;
- input .@KHInput$;
+ input(.@KHInput$);
next;
if (.@KHInput$ == "4772961") {
mes "[Security System]";
@@ -1726,19 +1724,15 @@ yuno_fild08,71,170,0 script Grave#kh HIDDEN_NPC,{
KielHyreQuest = 38;
close;
}
- else {
- mes "[Security System]";
- mes "Incorrect password.";
- mes "Please try again.";
- close;
- }
- }
- else {
- mes "^3355FFWhatever you're trying";
- mes "to insert into the slot";
- mes "isn't working at all...^000000";
+ mes "[Security System]";
+ mes "Incorrect password.";
+ mes "Please try again.";
close;
}
+ mes "^3355FFWhatever you're trying";
+ mes "to insert into the slot";
+ mes "isn't working at all...^000000";
+ close;
}
}
else if ((KielHyreQuest >= 38) && (KielHyreQuest < 106)) {
@@ -2974,7 +2968,7 @@ kh_vila,185,68,0 script Test Tube::TestTubeKHQ2 HIDDEN_NPC,{
mes "then you know what to call me,";
mes "right? Do you know what I am?";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "little lost devil") {
mes "[???]";
mes "Heh... Heh heh...";
@@ -2994,14 +2988,12 @@ kh_vila,185,68,0 script Test Tube::TestTubeKHQ2 HIDDEN_NPC,{
KielHyreQuest = 30;
close;
}
- else {
- mes "[???]";
- mes "No... No...";
- mes "That's not right.";
- mes "I don't think we";
- mes "were friends. No...";
- close;
- }
+ mes "[???]";
+ mes "No... No...";
+ mes "That's not right.";
+ mes "I don't think we";
+ mes "were friends. No...";
+ close;
case 2:
mes "^3355FFLet's investigate";
mes "this area a little";
@@ -3041,7 +3033,7 @@ kh_dun01,235,48,0 script Heavy Door#kh1::HeavyDoorKHQ1 HIDDEN_NPC,{
next;
switch(select("Open Door", "Cancel")) {
case 1:
- input .@KHInput$;
+ input(.@KHInput$);
mes "^3355FFYou try to push the";
mes "door open with all";
mes "your might, but fail";
@@ -3061,7 +3053,7 @@ kh_dun01,235,48,0 script Heavy Door#kh1::HeavyDoorKHQ1 HIDDEN_NPC,{
next;
switch(select("Open Door", "Cancel")) {
case 1:
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Blue Keycard") {
mes "^3355FFYou've successfully";
mes "opened the door.";
@@ -3069,13 +3061,11 @@ kh_dun01,235,48,0 script Heavy Door#kh1::HeavyDoorKHQ1 HIDDEN_NPC,{
warp "kh_school",119,144;
end;
}
- else {
- mes "^3355FFYou try to push the";
- mes "door open with all";
- mes "your might, but fail";
- mes "to make it budge.^000000";
- close;
- }
+ mes "^3355FFYou try to push the";
+ mes "door open with all";
+ mes "your might, but fail";
+ mes "to make it budge.^000000";
+ close;
case 2:
mes "^3355FFYou decided to leave";
mes "this door alone until";
@@ -3101,7 +3091,7 @@ kh_dun01,76,233,0 script Heavy Door::HeavyDoorKHQ2 HIDDEN_NPC,{
next;
switch(select("Open Door", "Cancel")) {
case 1:
- input .@KHInput$;
+ input(.@KHInput$);
mes "^3355FFYou try to push the";
mes "door open with all";
mes "your might, but fail";
@@ -3421,7 +3411,7 @@ kh_dun01,166,223,0 script Mechanical Device#kh::KHKeyardReader HIDDEN_NPC,{
mes "operated by inserting the";
mes "correct keycard into the slot.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Red Keycard") {
mes "^3355FFThe door opens once";
mes "you insert the Red Keycard.^000000";
@@ -3429,10 +3419,8 @@ kh_dun01,166,223,0 script Mechanical Device#kh::KHKeyardReader HIDDEN_NPC,{
warp "kh_dun01",170,227;
end;
}
- else {
- mes "^3355FFNothing happened.^000000";
- close;
- }
+ mes "^3355FFNothing happened.^000000";
+ close;
}
}
@@ -3530,42 +3518,38 @@ kh_dun01,44,203,0 script Entrance Device#khd2::KHAccess HIDDEN_NPC,{
mes "correct keycard into the slot.^000000";
close;
}
- else {
- mes "^3355FFYou encounter";
- mes "a mechanical device.";
- mes "It looks like it can be";
- mes "operated by inserting the";
- mes "correct keycard into the slot.^000000";
- next;
- input .@KHInput$;
- if (.@KHInput$ == "Luxurious Keycard") {
- mes "^3355FFAs you insert the";
- mes "Luxurious Keycard";
- mes "into the keycard slot,";
- mes "the door swings open";
- mes "to reveal a long flight";
- mes "of descending stairs.^000000";
- next;
- switch(select("Descend Stairs", "Cancel")) {
- case 1:
- warp "kh_dun02",41,198;
- end;
- case 2:
- mes "^3355FFIt looks like this door";
- mes "has automatically closed";
- mes "after the preprogrammed";
- mes "time limit has elapsed.^000000";
- close;
- }
- }
- else {
- mes "^3355FFYou try to push the";
- mes "door open with all";
- mes "your might, but fail";
- mes "to make it budge.^000000";
+ mes "^3355FFYou encounter";
+ mes "a mechanical device.";
+ mes "It looks like it can be";
+ mes "operated by inserting the";
+ mes "correct keycard into the slot.^000000";
+ next;
+ input(.@KHInput$);
+ if (.@KHInput$ == "Luxurious Keycard") {
+ mes "^3355FFAs you insert the";
+ mes "Luxurious Keycard";
+ mes "into the keycard slot,";
+ mes "the door swings open";
+ mes "to reveal a long flight";
+ mes "of descending stairs.^000000";
+ next;
+ switch(select("Descend Stairs", "Cancel")) {
+ case 1:
+ warp "kh_dun02",41,198;
+ end;
+ case 2:
+ mes "^3355FFIt looks like this door";
+ mes "has automatically closed";
+ mes "after the preprogrammed";
+ mes "time limit has elapsed.^000000";
close;
}
}
+ mes "^3355FFYou try to push the";
+ mes "door open with all";
+ mes "your might, but fail";
+ mes "to make it budge.^000000";
+ close;
}
kh_dun01,36,195,0 duplicate(KHAccess) Entrance Device#khd1 HIDDEN_NPC
@@ -5703,7 +5687,7 @@ kh_kiehl01,19,25,0 script Box#kh1 HIDDEN_NPC,{
mes "a button for each letter";
mes "of the alphabet on top of it.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
mes "^3355FFNothing happened.^000000";
close;
}
@@ -5713,7 +5697,7 @@ kh_kiehl01,19,25,0 script Box#kh1 HIDDEN_NPC,{
mes "a button for each letter";
mes "of the alphabet on top of it.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "open the door") {
mes "^3355FFAs soon as you enter the";
mes "password, the nearby door";
@@ -5723,23 +5707,17 @@ kh_kiehl01,19,25,0 script Box#kh1 HIDDEN_NPC,{
getitem Toy_Key,1;
close;
}
- else {
- mes "^3355FFNothing happened.^000000";
- close;
- }
- }
- else {
- mes "^3355FFThis is where you";
- mes "found the Toy key^000000";
+ mes "^3355FFNothing happened.^000000";
close;
}
- }
- else{
- mes "^3355FFThe box is wide";
- mes "open, and there";
- mes "is nothing in it.^000000";
+ mes "^3355FFThis is where you";
+ mes "found the Toy key^000000";
close;
}
+ mes "^3355FFThe box is wide";
+ mes "open, and there";
+ mes "is nothing in it.^000000";
+ close;
}
//- Kiehl's Room; Big Door, (First) -
@@ -5752,7 +5730,7 @@ kh_kiehl01,44,33,0 script Big Door#BigDoorKHQ1 HIDDEN_NPC,{
mes "but there is a narrow";
mes "slot next to the doorknob.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Black Keycard") {
if (countitem(Black_Key_Card) >= 1) {
mes "^3355FFYou insert the";
@@ -5811,7 +5789,7 @@ kh_kiehl01,174,40,0 script Big Door#BigDoorKHQ2 HIDDEN_NPC,{
mes "but there is a small";
mes "keyhole next to the knob.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Toy Key") {
if (countitem(Toy_Key) >= 1) {
mes "^3355FFYou insert the key into";
@@ -5832,10 +5810,8 @@ kh_kiehl01,174,40,0 script Big Door#BigDoorKHQ2 HIDDEN_NPC,{
mes "to make it budge.^000000";
close;
}
- else {
- mes "^3355FFThe door is open.^000000";
- close;
- }
+ mes "^3355FFThe door is open.^000000";
+ close;
}
kh_kiehl01,174,39,0 script Big_Door_2_Warp WARPNPC,1,1,{
@@ -5869,7 +5845,7 @@ kh_kiehl01,77,108,0 script Big Door#BigDoorKHQ3 HIDDEN_NPC,{
mes "but there is a narrow";
mes "slot next to the doorknob.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Black Keycard") {
if (countitem(Black_Key_Card) >= 1) {
mes "^3355FFYou insert the";
@@ -5927,7 +5903,7 @@ kh_kiehl01,42,177,0 script Big Door#BigDoorKHQ4 HIDDEN_NPC,{
mes "but there is a narrow";
mes "slot next to the doorknob.^000000";
next;
- input .@KHInput$;
+ input(.@KHInput$);
if (.@KHInput$ == "Black Keycard") {
if (countitem(Black_Key_Card) >= 2) {
mes "^3355FFYou insert the";
@@ -5947,11 +5923,8 @@ kh_kiehl01,42,177,0 script Big Door#BigDoorKHQ4 HIDDEN_NPC,{
mes "to make it budge.^000000";
close;
}
-
- else {
- mes "^3355FFThe door is open.^000000";
- close;
- }
+ mes "^3355FFThe door is open.^000000";
+ close;
}
kh_kiehl01,41,177,0 script Big_Door_4_Warp WARPNPC,1,1,{
diff --git a/npc/quests/lvl4_weapon_quest.txt b/npc/quests/lvl4_weapon_quest.txt
index 977071343..c570ad186 100644
--- a/npc/quests/lvl4_weapon_quest.txt
+++ b/npc/quests/lvl4_weapon_quest.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Gepard
-//= Copyright (C) erKURITA
-//= Copyright (C) Silent
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Reddozen
-//= Copyright (C) Vicious_Pucca
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Gepard
+//= Copyright (C) erKURITA
+//= Copyright (C) Silent
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Reddozen
+//= Copyright (C) Vicious_Pucca
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2078,7 +2078,7 @@ niflheim,240,193,3 script Kayron#lv4 4_M_NFDEADMAN2,{
mes "[Kayron]";
mes "There's nothing I can do.";
mes "I'm... Um... I'm...?";
- input .@input$;
+ input(.@input$);
next;
if (.@input$ == "I'm utterly helpless here.") {
mes "[Kayron]";
@@ -2112,14 +2112,12 @@ niflheim,240,193,3 script Kayron#lv4 4_M_NFDEADMAN2,{
lv4_weapon = 24;
close;
}
- else {
- mes "[Kayron]";
- mes "Huh...?";
- mes "What did you just say?";
- mes "I'm sorry, I'm trying to remember something my father always used";
- mes "to say...";
- close;
- }
+ mes "[Kayron]";
+ mes "Huh...?";
+ mes "What did you just say?";
+ mes "I'm sorry, I'm trying to remember something my father always used";
+ mes "to say...";
+ close;
}
if (lv4_weapon == 22) {
mes "[Kayron]";
@@ -2530,7 +2528,7 @@ niflheim,99,268,5 script Reyghema#lv4 4_M_NFDEADMAN2,{
mes "something like that,";
mes "but there was more to it...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Live without regret.") {
mes "[Reyghema]";
mes "...";
@@ -2562,14 +2560,12 @@ niflheim,99,268,5 script Reyghema#lv4 4_M_NFDEADMAN2,{
lv4_weapon = 33;
close;
}
- else {
- mes "[Reyghema]";
- mes "What...?";
- mes "You playin' games";
- mes "with me or what?";
- mes "Get outta my face~";
- close;
- }
+ mes "[Reyghema]";
+ mes "What...?";
+ mes "You playin' games";
+ mes "with me or what?";
+ mes "Get outta my face~";
+ close;
}
if (lv4_weapon == 31) {
mes "[Reyghema]";
@@ -2986,7 +2982,7 @@ niflheim,187,280,3 script Hein#lv4 4_M_NFDEADMAN,{
mes "Back during those days,";
mes "I never accepted money for my work. Father always used to say, 'Never accept payment to forge a good weapon. It... It...'";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "It brings bad luck.") {
mes "[Hein]";
mes "That's right!";
@@ -3017,14 +3013,12 @@ niflheim,187,280,3 script Hein#lv4 4_M_NFDEADMAN,{
mes "of a deal... Right?";
close;
}
- else {
- mes "[Hein]";
- mes "Wha...?";
- mes "What are you talking about?";
- mes "What was I going to say?";
- mes "Oww... My head hurts!";
- close;
- }
+ mes "[Hein]";
+ mes "Wha...?";
+ mes "What are you talking about?";
+ mes "What was I going to say?";
+ mes "Oww... My head hurts!";
+ close;
}
if (lv4_weapon == 40) {
mes "[Hein]";
@@ -3435,7 +3429,7 @@ niflheim,331,72,3 script Waltboughst#lv4 4_M_NFDEADMAN,{
mes "[Waltboughst]";
mes "It's funny, you know. My father always used to say, 'Trying your best won't always result in success...' Um, that's ... Huh? There was more, I think.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "But that's no excuse!") {
mes "[Waltboughst]";
mes "Yes! That was it!";
@@ -3461,14 +3455,12 @@ niflheim,331,72,3 script Waltboughst#lv4 4_M_NFDEADMAN,{
mes "It seems that being deceased has impaired my rententive faculties. Give me some time to remember the things I'll need to conduct my experiment. We shall talk later.";
close;
}
- else {
- mes "[Waltboughst]";
- mes "What...?";
- mes "No, no. That";
- mes "wasn't it at all...";
- mes "Hmmm.";
- close;
- }
+ mes "[Waltboughst]";
+ mes "What...?";
+ mes "No, no. That";
+ mes "wasn't it at all...";
+ mes "Hmmm.";
+ close;
}
if (lv4_weapon == 49) {
mes "[Waltboughst]";
diff --git a/npc/quests/mage_solution.txt b/npc/quests/mage_solution.txt
index 7fdb2d1d8..970e5ca6f 100644
--- a/npc/quests/mage_solution.txt
+++ b/npc/quests/mage_solution.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Zopokx
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Zopokx
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/monstertamers.txt b/npc/quests/monstertamers.txt
index 8e55e54a3..6558012db 100644
--- a/npc/quests/monstertamers.txt
+++ b/npc/quests/monstertamers.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) x[tsk]
-//= Copyright (C) Darkchild
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) x[tsk]
+//= Copyright (C) Darkchild
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/mrsmile.txt b/npc/quests/mrsmile.txt
index a6c11b355..6bda0513e 100644
--- a/npc/quests/mrsmile.txt
+++ b/npc/quests/mrsmile.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Akaru
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Akaru
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/newgears/2004_headgears.txt b/npc/quests/newgears/2004_headgears.txt
index 9e1728c65..f966c0164 100644
--- a/npc/quests/newgears/2004_headgears.txt
+++ b/npc/quests/newgears/2004_headgears.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Dj-Yhn
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Dj-Yhn
//=
//= 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/npc/quests/newgears/2005_headgears.txt b/npc/quests/newgears/2005_headgears.txt
index 80cea9f6a..e0de916ef 100644
--- a/npc/quests/newgears/2005_headgears.txt
+++ b/npc/quests/newgears/2005_headgears.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) ultramage
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) ultramage
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/quests/newgears/2006_headgears.txt b/npc/quests/newgears/2006_headgears.txt
index 0a90d3a0b..87418b130 100644
--- a/npc/quests/newgears/2006_headgears.txt
+++ b/npc/quests/newgears/2006_headgears.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) reddozen
-//= Copyright (C) DiviniaRO members
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) reddozen
+//= Copyright (C) DiviniaRO members
//=
//= 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/npc/quests/newgears/2008_headgears.txt b/npc/quests/newgears/2008_headgears.txt
index 4fdd378cf..e1ff305ed 100644
--- a/npc/quests/newgears/2008_headgears.txt
+++ b/npc/quests/newgears/2008_headgears.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/quests/newgears/2010_headgears.txt b/npc/quests/newgears/2010_headgears.txt
index 16d76d5e6..46631f7b0 100644
--- a/npc/quests/newgears/2010_headgears.txt
+++ b/npc/quests/newgears/2010_headgears.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
//=
//= 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/npc/quests/ninja_quests.txt b/npc/quests/ninja_quests.txt
index 78f21d38b..154f69044 100644
--- a/npc/quests/ninja_quests.txt
+++ b/npc/quests/ninja_quests.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Playtester
//=
//= 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/npc/quests/obb_quest.txt b/npc/quests/obb_quest.txt
index 504e5ff70..d38f5a96d 100644
--- a/npc/quests/obb_quest.txt
+++ b/npc/quests/obb_quest.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Celesta
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Celesta
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -672,7 +672,7 @@ moc_ruins,105,62,4 script Jacob#thai 1_M_04,{
mes "[Tommy]";
mes "^FF0000Munak Munak Munak Munak!!^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ != "Pandger Mayer introduced you") {
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
diff --git a/npc/quests/okolnir.txt b/npc/quests/okolnir.txt
index bdf763bd5..8aee727d7 100644
--- a/npc/quests/okolnir.txt
+++ b/npc/quests/okolnir.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Toshiro90
-//= Copyright (C) Joseph
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Toshiro90
+//= Copyright (C) Joseph
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -194,7 +194,7 @@ que_qsch05,345,23,0 warp Gate02#gq_sch05 1,1,schg_cas05,369,306
.@GID = getcastledata(.@t$,1);
if (getcharid(CHAR_ID_GUILD) == .@GID) {
cutin "wish_maiden31",1;
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes "[Wish Maiden]";
mes "I am... Wish maiden.";
mes "Mourning in this virtual realm, Okolnir.";
@@ -258,7 +258,7 @@ que_qsch05,345,23,0 warp Gate02#gq_sch05 1,1,schg_cas05,369,306
donpcevent "#okolnir_"+.@sub$+"::OnEnable";
disablenpc "Wish Maiden#gq_"+.@sub$;
cutin "wish_maiden11",255;
- announce "["+ strcharinfo(PC_NAME) +"], of the guild ["+ getguildname(.@GID) +"] has opened the gates to the realm of Okolnir.",bc_all,"0x70dbdb";
+ announce "["+ strcharinfo(PC_NAME) +"], of the guild ["+ getguildinfo(GUILDINFO_NAME, .@GID) +"] has opened the gates to the realm of Okolnir.",bc_all,"0x70dbdb";
end;
}
else {
@@ -2162,7 +2162,7 @@ que_qsch05,251,255,3 duplicate(Wish Maiden#main_boss) Wish Maiden#sch05_boss WIS
.@t$ = ((compare(strnpcinfo(NPC_MAP),"aru"))?"arug_cas0":"schg_cas0")+(charat(strnpcinfo(NPC_MAP),getstrlen(strnpcinfo(NPC_MAP))-1));
.@GID = getcastledata(.@t$,1);
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
if (compare(.@sub$,"aru")) {
setarray .@n, 7835,1,7836,1,7837,1,7838,1,2513,1,7291,10,7293,10,7063,100,985,20;
.@rwd = 2541; //Asprika
@@ -2198,7 +2198,7 @@ que_qsch05,251,255,3 duplicate(Wish Maiden#main_boss) Wish Maiden#sch05_boss WIS
delitem .@n[.@i],.@n[.@i+1];
getitem .@rwd,1;
getitem Valkyrie_Gift,1;
- announce "["+ strcharinfo(PC_NAME) +"], of guild ["+ getguildname(.@GID) +"] has brought a "+getitemname(.@rwd)+" into this world.",bc_all,"0x70dbdb";
+ announce "["+ strcharinfo(PC_NAME) +"], of guild ["+ getguildinfo(GUILDINFO_NAME, .@GID) +"] has brought a "+getitemname(.@rwd)+" into this world.",bc_all,"0x70dbdb";
close2;
cutin "wish_maiden11",255;
disablenpc "Wish Maiden#"+.@sub$+"_gift";
diff --git a/npc/quests/partyrelay.txt b/npc/quests/partyrelay.txt
index c9d4e48f9..571e3d9fa 100644
--- a/npc/quests/partyrelay.txt
+++ b/npc/quests/partyrelay.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/quests/quests_13_1.txt b/npc/quests/quests_13_1.txt
index b1e4f90b3..be52771e9 100644
--- a/npc/quests/quests_13_1.txt
+++ b/npc/quests/quests_13_1.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Masao
-//= Copyright (C) Euphy
-//= Copyright (C) tr0n
-//= Copyright (C) Slim
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Masao
+//= Copyright (C) Euphy
+//= Copyright (C) tr0n
+//= Copyright (C) Slim
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -824,40 +824,38 @@ lhz_in01,132,259,5 script Sikaiz#1 4_M_LGTGUARD,{
mes "[Sikaiz]";
mes "I already accept you. Just write down your name here. Go ahead.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ != strcharinfo(PC_NAME)) {
mes "[Sikaiz]";
mes "Don't you know your own name?";
mes "Write it again.";
close;
}
- else {
- mes "[Sikaiz]";
- mes "Ok. I got your name, " + strcharinfo(PC_NAME) + ". Great name! Registration is done!";
- mes "You've become a member of the three kingdoms!";
- next;
- mes "[Sikaiz]";
- mes "All done.";
- mes "Go to the field Officer of Schwartzvalt. He should be in the banquet hall of this building downstairs.";
- next;
- mes "[Sikaiz]";
- mes "Only thing left for you is to go to the Officer to say that you are leaving now.";
- next;
- mes "[Sikaiz]";
- mes "As soon as you tell him,";
- mes "come back to me again.";
- mes "You are not the only one expecting this great challenge. I am too.";
- next;
- mes "[Sikaiz]";
- mes "I believe you can do it!";
- mes "It would bear watching you.";
- next;
- changequest 10073,10074;
- ep13_ryu = 18;
- mes "[Sikaiz]";
- mes "See you then.";
- close;
- }
+ mes "[Sikaiz]";
+ mes "Ok. I got your name, " + strcharinfo(PC_NAME) + ". Great name! Registration is done!";
+ mes "You've become a member of the three kingdoms!";
+ next;
+ mes "[Sikaiz]";
+ mes "All done.";
+ mes "Go to the field Officer of Schwartzvalt. He should be in the banquet hall of this building downstairs.";
+ next;
+ mes "[Sikaiz]";
+ mes "Only thing left for you is to go to the Officer to say that you are leaving now.";
+ next;
+ mes "[Sikaiz]";
+ mes "As soon as you tell him,";
+ mes "come back to me again.";
+ mes "You are not the only one expecting this great challenge. I am too.";
+ next;
+ mes "[Sikaiz]";
+ mes "I believe you can do it!";
+ mes "It would bear watching you.";
+ next;
+ changequest 10073,10074;
+ ep13_ryu = 18;
+ mes "[Sikaiz]";
+ mes "See you then.";
+ close;
}
if (ep13_ryu == 16) {
mes "[Sikaiz]";
@@ -4174,22 +4172,20 @@ mid_camp,188,254,3 script Monster Scholar#ep13 4_M_ALCHE_D,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "The owner of the tricorn hat";
mes "is a monster called...";
- input .@input$;
+ input(.@input$);
if (compare(.@input$,"Tatacho")) {
mes "^FF0000Tatacho^000000";
next;
break;
}
- else {
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes ""+.@input$+"...? I don't think that was the name...";
- next;
- }
+ next;
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes ""+.@input$+"...? I don't think that was the name...";
+ next;
}
mes "["+strcharinfo(PC_NAME)+"]";
mes "The size of Tatacho is about...";
- input .@input$;
+ input(.@input$);
mes "^3131FF"+.@input$+"^000000, I guess...";
next;
mes "["+strcharinfo(PC_NAME)+"]";
@@ -8478,16 +8474,15 @@ man_fild03,95,301,0 duplicate(manukrock) Mysterious Rock#18 CLEAR_NPC
sec_in02,80,171,0 script Piece of crack#sec 2_MONEMUS,{
callfunc "F_GM_NPC";
mes "1~3000";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 3000) {
mes "Cat trading Point adjust";
mes "You can enter the number between 1~3000.";
close;
- } else {
- ep13_yong1 = .@input;
- close;
}
+ ep13_yong1 = .@input;
+ close;
}
//== Report from the New World :: ep13_1_edq ===============
@@ -10584,7 +10579,7 @@ mid_campin,68,185,3 script Pursuit Party Leader#1 1_F_SIGNZISK,{
mes "[Echinacea]";
mes "Say, what's the tracing pattern number?";
next;
- input .@input$;
+ input(.@input$);
setarray .@pattern$[0],"SDHF92F-SDF","VWNM94GVWN90","CM3-TRDFGHE0";
.@quest = mao_morocc2;
if (.@quest > 25) .@quest -= 3;
@@ -11706,7 +11701,7 @@ mid_camp,256,272,3 script Defaria#moc2 4_M_HUGRANFA,{
mes "[Defaria]";
mes "..Huh? What do you want?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Dandelion") {
mes "[Defaria]";
mes "..I know they're involved in this case, but";
diff --git a/npc/quests/quests_13_2.txt b/npc/quests/quests_13_2.txt
index e64e1c84a..9396655e7 100644
--- a/npc/quests/quests_13_2.txt
+++ b/npc/quests/quests_13_2.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -3866,7 +3866,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
mes "Now, let's start with the Fairies! What is the fairy's language like? Please write them down here sentence by sentence!";
next;
.@spl_score00 = 0;
- input .@input$;
+ input(.@input$);
if (.@input$ == "RLGHLRXLA TKANTLFDMS") {
mes "[Linguist Dictionary]";
mes ""+ .@input$ +"....";
@@ -3880,7 +3880,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
.@spl_score01 = .@spl_score00;
next;
}
- input .@input$;
+ input(.@input$);
if (.@input$ == "WJACK TNAHRDNJSDMFH") {
mes ""+ .@input$ +"....";
mes "And?";
@@ -3893,7 +3893,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
.@spl_score02 = .@spl_score01;
next;
}
- input .@input$;
+ input(.@input$);
if ((.@input$ == "WLSGHKWND !!") || (.@input$ == "WLSGHKWND")) {
mes ""+ .@input$ +"....";
mes "Is that all?";
@@ -3931,7 +3931,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
mes "Good. then next is the Wooden Giants! What's their language like? Write them down sentence by sentence just as you did with the Fairy's.";
next;
.@man_score00 = 0;
- input .@input$;
+ input(.@input$);
if (.@input$ == "TJDTMFJDNS CJFDI") {
mes "[Linguist Dictionary]";
mes ""+ .@input$ +"....";
@@ -3945,7 +3945,7 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
.@man_score01 = .@man_score00;
next;
}
- input .@input$;
+ input(.@input$);
if (.@input$ == "TKADLFDMF QKATOS") {
mes ""+ .@input$ +"....";
mes "And?";
@@ -3958,8 +3958,8 @@ mid_campin,168,82,3 script Arunafeltz Linguist#1 4_M_TRAINEE,{
.@man_score02 = .@man_score01;
next;
}
- input .@input$;
- if ((.@input$ == "EKDTLSDML DLFMADMS..") || (.@input$ == "EKDTLSDML DLFMADMS")) {
+ input(.@input$);
+ if (.@input$ == "EKDTLSDML DLFMADMS.." || .@input$ == "EKDTLSDML DLFMADMS") {
mes ""+ .@input$ +"....";
mes "This is it?";
.@man_score03 = .@man_score02+1;
diff --git a/npc/quests/quests_airship.txt b/npc/quests/quests_airship.txt
index bc6d73fad..55ed3a7d1 100644
--- a/npc/quests/quests_airship.txt
+++ b/npc/quests/quests_airship.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2017 Hercules Dev Team
-//= Copyright (C) Asheraf
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) brianluau
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Samuray22
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Asheraf
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) brianluau
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Samuray22
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -192,26 +192,26 @@ airplane,47,61,7 script Crewman#ein 4_M_ZONDAOYAJI,{
mes("not send this up after all...");
emotion(e_an);
close();
- } else if (.@comment$ == "0") {
+ }
+ if (.@comment$ == "0") {
mes("[Kain Himere]");
mes("Ah, well, if you have any");
mes("helpful criticism about our");
mes("service, feel free to leave");
mes("me a comment at any time.");
close();
- } else {
- mesf("[%s]", strcharinfo(PC_NAME));
- mesf("%s.", .@comment$);
- next();
- mes("[Kain Himere]");
- mes("Hmmmm...");
- mes("I see. Well, I'll");
- mes("send your message");
- mes("to my superiors as");
- mes("soon as possible.");
- mes("Thank you very much.");
- close();
}
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mesf("%s.", .@comment$);
+ next();
+ mes("[Kain Himere]");
+ mes("Hmmmm...");
+ mes("I see. Well, I'll");
+ mes("send your message");
+ mes("to my superiors as");
+ mes("soon as possible.");
+ mes("Thank you very much.");
+ close();
}
} else if (kain_ticket == 2) {
select("About the Airship...");
diff --git a/npc/quests/quests_alberta.txt b/npc/quests/quests_alberta.txt
index c2f726023..a9d0a3745 100644
--- a/npc/quests/quests_alberta.txt
+++ b/npc/quests/quests_alberta.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DZeroX
-//= Copyright (C) Evera
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DZeroX
+//= Copyright (C) Evera
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/quests_aldebaran.txt b/npc/quests/quests_aldebaran.txt
index e276622e9..67dcf4158 100644
--- a/npc/quests/quests_aldebaran.txt
+++ b/npc/quests/quests_aldebaran.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/quests_amatsu.txt b/npc/quests/quests_amatsu.txt
index 31ebb517a..3c55f91a3 100644
--- a/npc/quests/quests_amatsu.txt
+++ b/npc/quests/quests_amatsu.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Evera
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Evera
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/quests/quests_ayothaya.txt b/npc/quests/quests_ayothaya.txt
index f196069a9..7bb5f407e 100644
--- a/npc/quests/quests_ayothaya.txt
+++ b/npc/quests/quests_ayothaya.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Fredzilla
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Fredzilla
//=
//= 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/npc/quests/quests_comodo.txt b/npc/quests/quests_comodo.txt
index d67d998a4..f4d367347 100644
--- a/npc/quests/quests_comodo.txt
+++ b/npc/quests/quests_comodo.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Brainstorm
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Evera
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Brainstorm
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Evera
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/quests_ein.txt b/npc/quests/quests_ein.txt
index f5b2e14a6..2fb9a857a 100644
--- a/npc/quests/quests_ein.txt
+++ b/npc/quests/quests_ein.txt
@@ -9,19 +9,19 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) Paradox924X
-//= Copyright (C) Yommy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) KarLaeda
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Evera
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) Paradox924X
+//= Copyright (C) Yommy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) KarLaeda
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Evera
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -3684,7 +3684,7 @@ ein_in01,231,163,7 script Sick Old Man#ein 4_M_DIEMAN,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "It was...";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "It was";
mes "^3131FF"+.@input$+"^000000!";
@@ -4214,7 +4214,7 @@ OnTouch:
.@word2$ = "burapaphurarlandreamduranbatuhiwooikabamturubamdingding";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4223,7 +4223,7 @@ OnTouch:
.@word2$ = "opeN,Open!op3n.openOpen0p3nOpEn0pen`open'0Pen open?open!111OPENSESAME";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4232,7 +4232,7 @@ OnTouch:
.@word2$ = "hfjdkeldjsieldjshfjdjeiskdlefvbd";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4241,7 +4241,7 @@ OnTouch:
.@word2$ = "LiGhTsPeEd RiGhT SPEed LeFT TURn RiGhT BuRn OrIGInAL GaNgSteR SmACk";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4251,7 +4251,7 @@ OnTouch:
mes "^3CBCBCBy the power of p-po-poi-po-poi-poin-poing";
mes "GOD-POING. I NEVER LOSE!^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^FF1493"+.@word2$+"^000000";
break;
@@ -4260,7 +4260,7 @@ OnTouch:
.@word2$ = "fReeDoM eCstAcy JoUrnaLiSm ArMpIt DisCoverY hEaDaChE MoonbeAmS jUsTiCE";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^800080"+.@word2$+"^000000";
break;
@@ -4269,12 +4269,12 @@ OnTouch:
.@word2$ = "0uNflAPPaBLe LoVaBLe SeCreTs AnD BoWLiNg aGaINST tHe KarMA of YoUtH";
mes "^3CBCBC"+.@word1$+"^000000";
next;
- input .@input1$;
+ input(.@input1$);
mes "[Security System]";
mes "^800080"+.@word2$+"^000000";
}
next;
- input .@input2$;
+ input(.@input2$);
.@endtime = gettime(GETTIME_HOUR)*60*60+gettime(GETTIME_MINUTE)*60+gettime(GETTIME_SECOND);
.@time = .@endtime-.@startseconds;
mes "[Security System]";
@@ -4502,7 +4502,7 @@ ein_in01,31,138,3 script Calla#ein 4_F_01,{
mes "me! Would you please";
mes "tell me your name?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == strcharinfo(PC_NAME)) {
mes "[Calla]";
mes "Ah, " + strcharinfo(PC_NAME) + "!";
@@ -4520,14 +4520,12 @@ ein_in01,31,138,3 script Calla#ein 4_F_01,{
changequest 8079,808;
close;
}
- else {
- mes "[Calla]";
- mes "I'm sorry...";
- mes "I didn't catch that.";
- mes "Would you please tell";
- mes "me your name again?";
- close;
- }
+ mes "[Calla]";
+ mes "I'm sorry...";
+ mes "I didn't catch that.";
+ mes "Would you please tell";
+ mes "me your name again?";
+ close;
}
if (EIN_LOVERQ == 4) {
mes "[Calla]";
@@ -4822,7 +4820,7 @@ ein_in01,200,101,5 script Klitzer#ein 4_M_EINMAN2,{
mes "So...";
mes "What's your name?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == strcharinfo(PC_NAME)) {
mes "[Klitzer]";
mes "" + strcharinfo(PC_NAME) + "...";
@@ -4842,16 +4840,14 @@ ein_in01,200,101,5 script Klitzer#ein 4_M_EINMAN2,{
mes "likes meeting my friends.";
close;
}
- else {
- mes "[Klitzer]";
- mes "Hm...?";
- mes "Oh, don't be";
- mes "so nervous~";
- mes "But would you please";
- mes "tell me your name again?";
- mes "I couldn't hear you...";
- close;
- }
+ mes "[Klitzer]";
+ mes "Hm...?";
+ mes "Oh, don't be";
+ mes "so nervous~";
+ mes "But would you please";
+ mes "tell me your name again?";
+ mes "I couldn't hear you...";
+ close;
}
if (EIN_LOVERQ == 5) {
mes "[Klitzer]";
@@ -5141,7 +5137,7 @@ ein_in01,31,151,3 script Satra#ein 4_F_EINWOMAN,{
mes "only delivering them? Then";
mes "who actually gathered these?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Klitzer") {
mes "[Satra]";
mes "Ah, Klitzer?";
@@ -5192,14 +5188,12 @@ ein_in01,31,151,3 script Satra#ein 4_F_EINWOMAN,{
mes "occasion. Ho ho ho ho ho~";
close;
}
- else {
- mes "[Satra]";
- mes "I beg your pardon?";
- mes .@input$ + "? Oh my...";
- mes "I believe I may have";
- mes "misheard you. Ho ho ho ho~";
- close;
- }
+ mes "[Satra]";
+ mes "I beg your pardon?";
+ mes .@input$ + "? Oh my...";
+ mes "I believe I may have";
+ mes "misheard you. Ho ho ho ho~";
+ close;
}
if (EIN_LOVERQ == 12) {
mes "[Satra]";
diff --git a/npc/quests/quests_geffen.txt b/npc/quests/quests_geffen.txt
index a582bfa8e..cf4cd70c0 100644
--- a/npc/quests/quests_geffen.txt
+++ b/npc/quests/quests_geffen.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) silent
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) silent
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -306,7 +306,7 @@ geffen,122,77,4 script Nia#yagu 8_F_GIRL,{
// Guess a number that meets all conditions.
while(1) {
- if (input(.@input,100,999) != 0) {
+ if (input(.@input, 100, 999) != 0) {
mes "[Nia]";
mes "You've canceled the";
mes "Number Match game.";
diff --git a/npc/quests/quests_gonryun.txt b/npc/quests/quests_gonryun.txt
index 08b3c6803..4a7e88016 100644
--- a/npc/quests/quests_gonryun.txt
+++ b/npc/quests/quests_gonryun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Paradox924X
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) KarLaeda
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Paradox924X
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) KarLaeda
//=
//= 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/npc/quests/quests_hugel.txt b/npc/quests/quests_hugel.txt
index 9af2ab5fc..7410926ea 100644
--- a/npc/quests/quests_hugel.txt
+++ b/npc/quests/quests_hugel.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
+//= Copyright (C) MasterOfMuppets
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2779,7 +2779,7 @@ hu_in01,256,40,3 script Herico 4_M_HUGRANFA,{
mes "[Herico]";
mes "By any chance, do you know a man who can aid his power in stopping them?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "President Karl" || .@inputstr$ == "President Weierstrass" || .@inputstr$ == "President" || .@inputstr$ == "Karl Weierstrass") {
mes "["+strcharinfo(PC_NAME)+"]";
mes "I think that I know one...";
@@ -7566,7 +7566,7 @@ L_MilkCow:
mes "you need to brush her a";
mes "certain number of times.^000000";
next;
- input .@cowbrush;
+ input(.@cowbrush);
if (.@cowbrush != getarg(1)) {
soundeffect "taming_fail.wav",0;
mes "^3355FFAwwww...";
@@ -7646,7 +7646,7 @@ L_MilkCow:
mes "song in Burupu's notes, and then tell her the correct world without";
mes "the tilde character (''~'').^000000";
next;
- input .@cowanswer$;
+ input(.@cowanswer$);
if (.@cowanswer$ == .@cowsong$) {
soundeffect "tming_success.wav",0;
mes "^3355FFSuccess!";
diff --git a/npc/quests/quests_izlude.txt b/npc/quests/quests_izlude.txt
index 1115e075b..c0bb7692b 100644
--- a/npc/quests/quests_izlude.txt
+++ b/npc/quests/quests_izlude.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Evera
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Evera
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/quests/quests_juperos.txt b/npc/quests/quests_juperos.txt
index 2f2bb0956..d120bfc27 100644
--- a/npc/quests/quests_juperos.txt
+++ b/npc/quests/quests_juperos.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2017 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Zephyrus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Capuche
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Zephyrus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Capuche
//=
//= 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/npc/quests/quests_lighthalzen.txt b/npc/quests/quests_lighthalzen.txt
index 4795110d6..fe8abf473 100644
--- a/npc/quests/quests_lighthalzen.txt
+++ b/npc/quests/quests_lighthalzen.txt
@@ -9,19 +9,19 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Gepard
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lord Gywall
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMupppets
-//= Copyright (C) Evera
-//= Copyright (C) aoa00
-//= Copyright (C) Vicious_Pucca
-//= Copyright (C) Persian
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Gepard
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lord Gywall
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMupppets
+//= Copyright (C) Evera
+//= Copyright (C) aoa00
+//= Copyright (C) Vicious_Pucca
+//= Copyright (C) Persian
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -737,7 +737,7 @@ lhz_cube,234,202,0 script Picture#cube HIDDEN_NPC,{
mes "hard to move with just";
mes "brute strength alone.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Jackknife") {
mes "^3355FFYou take the";
mes "Jackknife, thrust";
@@ -817,7 +817,7 @@ lhz_cube,242,201,0 script Drawer#cube HIDDEN_NPC,{
mes "it's locked. Hopefully, you";
mes "can figure how to open it.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Red Key") {
mes "^3355FFYou insert the Red Key";
mes "into the lock and open the";
@@ -891,7 +891,7 @@ lhz_cube,237,183,0 script Barrel#cube HIDDEN_NPC,{
mes "you need something to";
mes "smash the barrel open.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Axe") {
mes "^3355FFAxe in hand, you lift";
mes "it above your head and";
@@ -924,7 +924,7 @@ lhz_cube,237,183,0 script Barrel#cube HIDDEN_NPC,{
mes "digit numbers at one time...^000000";
next;
for( $@i = 0; .@i < 9; ++.@i )
- input .@input;
+ input(.@input);
mes "^3355FFNothing happened...^000000";
close;
}
@@ -941,8 +941,9 @@ lhz_cube,237,183,0 script Barrel#cube HIDDEN_NPC,{
mes "you found inside the keg.^000000";
next;
for( $@i = 0; .@i < 9; ++.@i ) {
- input .@input;
- if (.@input == .@numbers[.@i]) .@number_line += 1;
+ input(.@input);
+ if (.@input == .@numbers[.@i])
+ .@number_line += 1;
}
if (.@number_line == 9) {
mes "^3355FFThe metal plate slides";
@@ -980,7 +981,7 @@ lhz_cube,224,192,0 script Power Generator#cube HIDDEN_NPC,{
mes "keyhole on the machine";
mes "right next to this panel.^000000";
next;
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.";
mes "You probably need";
mes "to find the right key to";
@@ -995,7 +996,7 @@ lhz_cube,224,192,0 script Power Generator#cube HIDDEN_NPC,{
mes "keyhole on the machine";
mes "right next to this panel.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Yellow Key") {
mes "^3355FFYou insert the";
mes "Yellow Key into the";
@@ -1264,7 +1265,7 @@ lhz_cube,247,198,0 script Bed#cube HIDDEN_NPC,{
mes "spot an object. If only you";
mes "could reach it somehow...^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Short Stick") {
mes "^3355FFYou try to reach";
mes "the object by using";
@@ -1302,7 +1303,7 @@ lhz_cube,247,198,0 script Bed#cube HIDDEN_NPC,{
mes "spot an object. If only you";
mes "could reach it somehow...^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Long Stick") {
mes "^3355FFWith Long Stick in";
mes "hand, you manage to";
@@ -1376,7 +1377,7 @@ lhz_cube,231,202,0 script Chemicals#cube HIDDEN_NPC,{
mes "corrosive chemicals";
mes "that is sitting on the ledge.^000000";
next;
- input .@input$;
+ input(.@input$);
mes "^3355FFWhatever you tried to";
mes "pour the chemicals on";
mes "wasn't affected at all.";
@@ -1390,7 +1391,7 @@ lhz_cube,231,202,0 script Chemicals#cube HIDDEN_NPC,{
mes "corrosive chemicals";
mes "that is sitting on the ledge.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Rusty Key") {
mes "^3355FFPouring the chemicals";
mes "on the Rusty Key removes";
@@ -1425,7 +1426,7 @@ lhz_cube,249,191,0 script Cabinet#cube HIDDEN_NPC,{
mes "something useful is inside?";
next;
if (select("Open", "Cancel") == 1) {
- input .@input$;
+ input(.@input$);
mes "^3355FFUnfortunately, the";
mes "cabinet has been locked.";
mes "You'll need the right key";
@@ -1439,7 +1440,7 @@ lhz_cube,249,191,0 script Cabinet#cube HIDDEN_NPC,{
mes "many drawers. Perhaps";
mes "something useful is inside?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Green Key") {
mes "^3355FFYou take the Green Key";
mes "and finds that it fits into";
@@ -1478,7 +1479,7 @@ lhz_cube,224,197,0 script Experiment Tube#cube HIDDEN_NPC,{
mes "a thin plate with a keyhole";
mes "and a card insertion slot.^000000";
next;
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.";
mes "You'll probably need";
mes "to find the right key for";
@@ -1494,7 +1495,7 @@ lhz_cube,224,197,0 script Experiment Tube#cube HIDDEN_NPC,{
mes "a thin plate with a keyhole";
mes "and a card insertion slot.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Black Key") {
mes "^3355FFYou insert the Black Key";
mes "into the keyhole, causing";
@@ -1524,7 +1525,7 @@ lhz_cube,224,197,0 script Experiment Tube#cube HIDDEN_NPC,{
mes "rectangular card slot";
mes "in front of the tube.^000000";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Laboratory Permit") {
if (countitem(Lab_Passport)) {
mes "^3355FFYou insert the";
@@ -1575,7 +1576,7 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
mes "shaped holes.^000000";
next;
select("Oval Hole", "Cubic Hole", "Polygon Hole");
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.^000000";
close;
}
@@ -1588,7 +1589,7 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
case 1:
if (lhz_secret01 == 9) {
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Oval") {
mes "^3355FFYou insert the Oval";
mes "into the Oval shaped";
@@ -1606,13 +1607,13 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
mes "any Ovals to spare, anyway.^000000";
close;
}
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.^000000";
close;
case 2:
if (lhz_secret02 == 4) {
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Cube") {
mes "^3355FFYou insert the Cube";
mes "into the Cubic hole";
@@ -1634,13 +1635,13 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
mes "a total waste of time.^000000";
close;
}
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.^000000";
close;
case 3:
if (lhz_secret03 == 3) {
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Polygon") {
mes "^3355FFFortunately, the";
mes "nondescript Polygon";
@@ -1662,7 +1663,7 @@ lhz_cube,248,193,0 script Box#cube1 HIDDEN_NPC,{
mes "as this Polygon can do for you.^000000";
close;
}
- input .@input$;
+ input(.@input$);
mes "^3355FFNothing happened.^000000";
close;
}
@@ -2829,7 +2830,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "Tell me what that fink";
mes "has to say, line by line!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Hopeless bastard!") {
mes "[Maku]";
mes "''Hopeless bastard?!''";
@@ -2838,7 +2839,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "Through somebody else";
mes "anyway! What else'd he say?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "You're still a stubborn jerk!") {
mes "[Maku]";
mes "''Stubborn jerk?!''";
@@ -2846,7 +2847,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "bastard! Why I oughta--";
mes "Grrr! What'd he say next?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "You owe me at least 3 lunches!") {
mes "[Maku]";
mes "Three lunches?!";
@@ -2856,7 +2857,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "know the meaning of friendship!";
mes "What else did that moron say?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Not to mention an apology!") {
cutin "lhz_macu05",255;
mes "[Maku]";
@@ -2867,7 +2868,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "That selfish no-good stupid...";
mes "W-what else did he tell you?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "But who cares what you think?!") {
mes "[Maku]";
mes "''Who cares what I think?!''";
@@ -2877,7 +2878,7 @@ lighthalzen,337,232,3 script Maku 4_M_LGTPOOR,{
mes "dumb creep! He can't possibly";
mes "make me angrier than I am now!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "I'm so goddamn happy without you!") {
friendship = 5;
cutin "lhz_macu06",2;
@@ -9071,7 +9072,7 @@ lhz_fild02,228,214,0 script Wounded Man 4_M_DIEMAN,{
mes "What... What organization";
mes "are you working for...?";
next;
- input @jargeah$;
+ input(@jargeah$);
if((@jargeah$ == "Kafra Corporation") || (@jargeah$ == "Secret Wing"))
{
mes "[Jargeah]";
@@ -9689,9 +9690,8 @@ OnTouch:
mes "password to open the door.^000000";
next;
while (true) {
- input @sneakpass;
- if(@sneakpass == 738495)
- {
+ input(@sneakpass);
+ if (@sneakpass == 738495) {
mes "^3355FF*Beep~*";
mes "You hear a pleasant";
mes "sounding electronic chirp,";
@@ -9822,7 +9822,7 @@ lhz_in01,182,35,0 script File Search Engine HIDDEN_NPC,{
mes "Please do not use";
mes "capital letters.^000000";
next;
- input @sneaksearch$;
+ input(@sneaksearch$);
if((@sneaksearch$ == "kafra") || (@sneaksearch$ == "cool event"))
{
mes "^663300[Search Result]";
@@ -10327,7 +10327,7 @@ sec_in02,17,170,4 script boss::lght_boss_admin 1_M_SIGNMONK,{
case 1:
break;
case 2:
- input .@input,0,1000;
+ input(.@input, 0, 1000);
lght_boss = .@input;
break;
case 3:
diff --git a/npc/quests/quests_louyang.txt b/npc/quests/quests_louyang.txt
index 03816faf2..9829b5389 100644
--- a/npc/quests/quests_louyang.txt
+++ b/npc/quests/quests_louyang.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Paradox924X
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Evera
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Paradox924X
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Evera
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -658,7 +658,7 @@ lou_fild01,175,173,3 script Jiu Lian Bu#1-2 4_M_CHN8GUEK,{
mes "Ready~!";
mes "Say it out loud!";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
mapannounce "lou_fild01","'"+strcharinfo(PC_NAME)+"' shouts : "+.@input$,bc_map,"0x9CFF00";
@@ -683,7 +683,7 @@ lou_fild01,175,173,3 script Jiu Lian Bu#1-2 4_M_CHN8GUEK,{
mes "Alright~!";
mes "Say it out loud!";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes .@input$;
mapannounce "lou_fild01","'"+strcharinfo(PC_NAME)+"' shouts : "+.@input$,bc_map,"0x9CFF00";
@@ -1856,7 +1856,7 @@ lou_in02,210,47,0 script City Hall Officer#lou 4_M_CHNSOLDIER,{
mes "Nothing of importance. Now, I'm very busy, so if you would go fill the application over there...";
close;
}
- input .@input;
+ input(.@input);
if (.@input < 10000) {
mes "[Jin Chiyuan]";
mes "Good lord,";
@@ -2070,7 +2070,7 @@ lou_in02,156,38,0 script Studying Officer#lou 4_M_CHNMAN,{
mes "So what kind of document";
mes "did you need?";
next;
- input .@input$;
+ input(.@input$);
switch (ch_par) {
case 11:
if (.@input$ == "Residence Transfer Application")
@@ -2686,7 +2686,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Yeah, I've got some news you might be interested in.";
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
next;
@@ -2710,7 +2710,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "[Nagash Arses]";
mes "I just told you what 'Canine of Desert' is. Now you tell me what it is. If you were listening, you would be able to.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Assassin Organization" || .@input$ == "Assassin" || .@input$ == "Assassins") {
mes "[Nagash Arses]";
mes "Correct. You listened to me very well. They are Assassins. Assassins that were abandoned by society.";
@@ -2843,7 +2843,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "I have news";
mes "of Morroc...";
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"";
next;
@@ -2862,7 +2862,7 @@ lou_in02,123,39,4 script Poison King#lou 4_M_CHNOLD,{
mes "[Nagash Arses]";
mes "I just told you what 'Canine of Desert.' If you can't remember what I just told you, it's no use for me to explain further. You go ahead and tell me what it is.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Assassin Organization" || .@input$ == "Assassin" || .@input$ == "Assassins") {
mes "[Nagash Arses]";
mes "Correct. You listened to me very well. They are Assassins. Assassins that were abandoned by society.";
@@ -3449,7 +3449,7 @@ lou_in02,253,45,0 script Employee#poison 4_M_CHNMAN,{
mes "What did";
mes "you just say...?";
next;
- input .@input$;
+ input(.@input$);
mes "[Song Zhi Du]";
mes ""+.@input$+"...?";
next;
@@ -4158,7 +4158,7 @@ lou_fild01,224,348,0 script Lady#delivery 4_F_CHNDRESS3,{
mes "Please tell me";
mes "his name.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Song Zhi Du") {
mes "[Lady]";
mes "Oh, I see.";
diff --git a/npc/quests/quests_lutie.txt b/npc/quests/quests_lutie.txt
index 4a1143c8f..3d0c4a141 100644
--- a/npc/quests/quests_lutie.txt
+++ b/npc/quests/quests_lutie.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Samuray22
-//= Copyright (C) TonyMan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Samuray22
+//= Copyright (C) TonyMan
//=
//= 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/npc/quests/quests_morocc.txt b/npc/quests/quests_morocc.txt
index 592711c24..1af498fa8 100644
--- a/npc/quests/quests_morocc.txt
+++ b/npc/quests/quests_morocc.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1887,6 +1887,7 @@ OnTimer25000:
end;
OnDisable:
+ stopnpctimer;
disablenpc "Satan Broadcast#edq";
end;
}
@@ -1912,20 +1913,11 @@ moc_fild21,178,239,0 script Group of Evil#edq CLEAR_NPC,1,1,{
mes "You can feel the power of the darkness rise from the gap where light and darkness are mingled.";
close;
}
-
-OnInit:
- enablenpc "Group of Evil#edq";
- end;
-
+
OnEnable:
enablenpc "Group of Evil#edq";
$@re_moc_time$ = "";
end;
-
-OnDisable:
- disablenpc "Group of Evil#edq";
- donpcevent "Time-Space Gap#edq::OnEnable";
- end;
}
moc_fild21,177,239,0 script Time-Space Gap#edq CLEAR_NPC,1,1,{
@@ -1968,8 +1960,6 @@ OnTimer1800000:
end;
OnTimer21600000:
- stopnpctimer;
- $@re_moc = 0;
donpcevent "Time-Space Gap#edq::OnDisable";
end;
}
@@ -1998,7 +1988,9 @@ OnMyMobDead:
mapannounce "moc_fild21","I'll let live just a little longer. You'll never find me through this time-space gap!",bc_map,"0xFFFF00";
donpcevent "Time-Space Gap#edq::OnEnable";
donpcevent "Satan Broadcast#edq::OnDisable";
- donpcevent "Group of Evil#edq::OnDisable";
+ disablenpc "Group of Evil#edq";
+ stopnpctimer;
+ killmonster "moc_fild21","Satan Summon#edq::OnMyMobDead";
disablenpc "Satan Summon#edq";
end;
@@ -2008,9 +2000,6 @@ OnTimer5400000:
OnTimer5415000:
mapannounce "moc_fild21","I don't have time for this! Go away!",bc_map,"0xFFFF00";
- stopnpctimer;
- killmonster "moc_fild21","Satan Summon#edq::OnMyMobDead";
- $@re_moc = 0;
donpcevent "Satan Summon#edq::OnDisable";
end;
}
@@ -2444,7 +2433,7 @@ prt_in,179,92,3 script Library Curator#garas 1_M_LIBRARYMASTER,{
mes "[Curator Guys]";
mes "Oh, do you know the title?";
mes "Sure, now what's the name?";
- input .@input$;
+ input(.@input$);
next;
if (compare(.@input$,"The Crow of the Fate") == 1) {
mes "[Curator Guys]";
@@ -2462,7 +2451,7 @@ prt_in,179,92,3 script Library Curator#garas 1_M_LIBRARYMASTER,{
mes "[Curator Guys]";
mes "Oh, do you know the author?";
mes "Sure, now what's the name?";
- input .@input$;
+ input(.@input$);
next;
if (compare(.@input$,"Oliver Hilpert") == 1) {
mes "[Curator Guys]";
@@ -2481,7 +2470,7 @@ prt_in,179,92,3 script Library Curator#garas 1_M_LIBRARYMASTER,{
mes "You must be having a hard time remembering the book's title or author.";
mes "No problem; why don't you tell me at least a little bit of what you remember?";
next;
- input .@input$;
+ input(.@input$);
if ((compare(.@input$,"Fate") == 1) || (compare(.@input$,"Crow") == 1) || (compare(.@input$,"Oliver") == 1) || (compare(.@input$,"Hilpert") == 1)) {
mes "[Curator Guys]";
mes ""+.@input$+"...?";
@@ -3901,7 +3890,7 @@ cave,82,97,3 script Cave Settler#g1 4_M_CAVE1,3,3,{
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm here to find somebody!";
- input .@input$;
+ input(.@input$);
mes "Her name is ^FF0000"+.@input$+"^000000!";
next;
if (compare(.@input$,"Eva") == 0) {
@@ -3911,43 +3900,41 @@ cave,82,97,3 script Cave Settler#g1 4_M_CAVE1,3,3,{
warp "cave",81,92;
end;
}
- else {
- mes "[Cave Settler]";
- mes "............!!!!";
- next;
- mes "[Cave Settler]";
- mes "Did you just say Eva?";
- mes "Hmm...";
- mes "Wait here.";
- next;
- emotion e_com;
- mes "[Cave Settler]";
- mes "Hey, Jaeda!";
- enablenpc "Jaeda#garas1";
- next;
- mes "[Cave Settler]";
- mes "Go upstairs, and tell Eva that she has a visitor.";
- disablenpc "Jaeda#garas1";
- next;
- mes "^660000Surprisingly, he seemed to know who Eva is. You still could not believe that she actually exists! It's all so very strange.^000000";
- next;
- mes "^660000You can feel the excitement and anticipation well within you. Maybe you're coming closer to learning what your dreams really mean.^000000";
- enablenpc "Jaeda#garas1";
- next;
- mes "[Cave Settler]";
- mes "Hmm... Yeah? I see.";
- next;
- disablenpc "Jaeda#garas1";
- mes "[Cave Settler]";
- mes "Hey, you can pass. Go upstairs, but you'd better think twice before trying anything funny. Do you understand me?";
- next;
- mes "^660000The stern-looking man examined you, and then stepped to the side, allowing you to pass.";
- mes "You clenched your fists in nervousness, and then started up the dark stairwell.^000000";
- barmunt_crow = 9;
- close2;
- warp "cave",82,105;
- end;
- }
+ mes "[Cave Settler]";
+ mes "............!!!!";
+ next;
+ mes "[Cave Settler]";
+ mes "Did you just say Eva?";
+ mes "Hmm...";
+ mes "Wait here.";
+ next;
+ emotion e_com;
+ mes "[Cave Settler]";
+ mes "Hey, Jaeda!";
+ enablenpc "Jaeda#garas1";
+ next;
+ mes "[Cave Settler]";
+ mes "Go upstairs, and tell Eva that she has a visitor.";
+ disablenpc "Jaeda#garas1";
+ next;
+ mes "^660000Surprisingly, he seemed to know who Eva is. You still could not believe that she actually exists! It's all so very strange.^000000";
+ next;
+ mes "^660000You can feel the excitement and anticipation well within you. Maybe you're coming closer to learning what your dreams really mean.^000000";
+ enablenpc "Jaeda#garas1";
+ next;
+ mes "[Cave Settler]";
+ mes "Hmm... Yeah? I see.";
+ next;
+ disablenpc "Jaeda#garas1";
+ mes "[Cave Settler]";
+ mes "Hey, you can pass. Go upstairs, but you'd better think twice before trying anything funny. Do you understand me?";
+ next;
+ mes "^660000The stern-looking man examined you, and then stepped to the side, allowing you to pass.";
+ mes "You clenched your fists in nervousness, and then started up the dark stairwell.^000000";
+ barmunt_crow = 9;
+ close2;
+ warp "cave",82,105;
+ end;
}
}
else if (barmunt_crow < 8) {
@@ -3989,7 +3976,7 @@ OnTouch:
next;
mes "["+ strcharinfo(PC_NAME) +"]";
mes "I'm here to find somebody!";
- input .@input$;
+ input(.@input$);
mes "Her name is ^FF0000"+.@input$+"^000000!";
next;
if (compare(.@input$,"Eva") == 0) {
@@ -3999,43 +3986,41 @@ OnTouch:
warp "cave",81,92;
end;
}
- else {
- mes "[Cave Settler]";
- mes "............!!!!";
- next;
- mes "[Cave Settler]";
- mes "Did you just say Eva?";
- mes "Hmm...";
- mes "Wait here.";
- next;
- emotion e_com;
- mes "[Cave Settler]";
- mes "Hey, Jaeda!";
- enablenpc "Jaeda#garas1";
- next;
- mes "[Cave Settler]";
- mes "Go upstairs, and tell Eva that she has a visitor.";
- disablenpc "Jaeda#garas1";
- next;
- mes "^660000Surprisingly, he seemed to know who Eva is. You still could not believe that she actually exists! It's all so very strange.^000000";
- next;
- mes "^660000You can feel the excitement and anticipation well within you. Maybe you're coming closer to learning what your dreams really mean.^000000";
- enablenpc "Jaeda#garas1";
- next;
- mes "[Cave Settler]";
- mes "Hmm... Yeah? I see.";
- next;
- disablenpc "Jaeda#garas1";
- mes "[Cave Settler]";
- mes "Hey, you can pass. Go upstairs, but you'd better think twice before trying anything funny. Do you understand me?";
- next;
- mes "^660000The stern-looking man examined you, and then stepped to the side, allowing you to pass.";
- mes "You clenched your fists in nervousness, and then started up the dark stairwell.^000000";
- barmunt_crow = 9;
- close2;
- warp "cave",82,105;
- end;
- }
+ mes "[Cave Settler]";
+ mes "............!!!!";
+ next;
+ mes "[Cave Settler]";
+ mes "Did you just say Eva?";
+ mes "Hmm...";
+ mes "Wait here.";
+ next;
+ emotion e_com;
+ mes "[Cave Settler]";
+ mes "Hey, Jaeda!";
+ enablenpc "Jaeda#garas1";
+ next;
+ mes "[Cave Settler]";
+ mes "Go upstairs, and tell Eva that she has a visitor.";
+ disablenpc "Jaeda#garas1";
+ next;
+ mes "^660000Surprisingly, he seemed to know who Eva is. You still could not believe that she actually exists! It's all so very strange.^000000";
+ next;
+ mes "^660000You can feel the excitement and anticipation well within you. Maybe you're coming closer to learning what your dreams really mean.^000000";
+ enablenpc "Jaeda#garas1";
+ next;
+ mes "[Cave Settler]";
+ mes "Hmm... Yeah? I see.";
+ next;
+ disablenpc "Jaeda#garas1";
+ mes "[Cave Settler]";
+ mes "Hey, you can pass. Go upstairs, but you'd better think twice before trying anything funny. Do you understand me?";
+ next;
+ mes "^660000The stern-looking man examined you, and then stepped to the side, allowing you to pass.";
+ mes "You clenched your fists in nervousness, and then started up the dark stairwell.^000000";
+ barmunt_crow = 9;
+ close2;
+ warp "cave",82,105;
+ end;
}
}
else if (barmunt_crow < 8) {
diff --git a/npc/quests/quests_moscovia.txt b/npc/quests/quests_moscovia.txt
index e49886dbd..3f44a9b0a 100644
--- a/npc/quests/quests_moscovia.txt
+++ b/npc/quests/quests_moscovia.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2017 Hercules Dev Team
-//= Copyright (C) Lemongrass
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Gepard
-//= Copyright (C) brianluau
-//= Copyright (C) Kisuka
-//= Copyright (C) Asheraf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lemongrass
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Gepard
+//= Copyright (C) brianluau
+//= Copyright (C) Kisuka
+//= Copyright (C) Asheraf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2903,7 +2903,7 @@ mosk_in,148,274,1 script Anna#mos 4_F_RUSCHILD,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "What am I going to ask her?";
next;
- input .@AnnaInfo$;
+ input(.@AnnaInfo$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "Anna,";
mes ""+.@AnnaInfo$+"?";
@@ -3995,8 +3995,8 @@ moscovia,208,182,7 script Acorn Dealer#mos 4_M_RUSMAN1,{
mes "I'll bet you that they are very fresh!";
mes "How many acorns do you need?";
next;
- while(.@input <= 0 || .@input > 500) {
- input .@input;
+ while (true) {
+ input(.@input);
if (.@input <= 0) {
mes "[Acorn Dealer]";
mes "Do you want to cancel this trade?";
@@ -4006,7 +4006,9 @@ moscovia,208,182,7 script Acorn Dealer#mos 4_M_RUSMAN1,{
mes "[Acorn Dealer]";
mes "You can't buy more than 500.";
next;
+ continue;
}
+ break;
}
if (!checkweight(Acorn, .@input)) {
mes "[Acorn Dealer]";
@@ -5349,7 +5351,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
mes "Ok, I will stir it up this time.";
mes "How many times should I..?";
next;
- input .@input;
+ input(.@input);
if (.@input == 20) {
mes "-It must be 20 times.-";
next;
@@ -5361,7 +5363,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
++.@maho;
++.@nankai;
next;
- } else if (!.@input) {
+ } else if (.@input <= 0) {
mes "-I won't stir it up.-";
next;
} else if (.@input > 100) {
@@ -5453,7 +5455,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
mes "Ok, I will stir it up this time.";
mes "How many times should I...?";
next;
- input .@input;
+ input(.@input);
if (.@input == 15) {
mes "-It must be 15 times.-";
next;
@@ -5463,7 +5465,7 @@ mosk_in,221,43,0 script #bowl HIDDEN_NPC,{
++.@maho;
++.@nankai;
next;
- } else if (.@input == 0) {
+ } else if (.@input <= 0) {
mes "-I won't stir it up.-";
next;
} else if (.@input > 100) {
@@ -7070,7 +7072,7 @@ mosk_dun01,45,259,0 script Wall#rus04 HIDDEN_NPC,{
mes "Listen very carefully!";
mes "Left the key up, and shout '^0000ffThe Free wind blows and gets you wherever you want^000000'.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "The Free wind blows and gets you wherever you want") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes "^0000ff "+ .@input$ +" !! ^000000";
@@ -7778,7 +7780,7 @@ moscovia,206,81,0 script Vassili Grandpapa#rus07 4_M_05,{
mes "[Vassili Grandpapa]";
mes "Eh? What do you want to ask me about?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Red Ring") {
mes "[Vassili Grandpapa]";
mes "Red Ring?! Why are you looking for that?";
@@ -8126,7 +8128,7 @@ moscovia,213,216,3 script Ryubaba#rus08 4_F_RUSWOMAN2,{
mes "Ah, I forgot asking you.";
mes "Why are you here?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Red Ring") {
mes "[Ryubaba]";
mes "A Red Ring?!";
@@ -9036,7 +9038,7 @@ prontera,228,279,3 script Wanderer#rus24 4_M_RUSMAN2,{
mes "Ah, yes. I have been there...";
mes "By the way, the important thing is.. are you.....";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Igor") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Ah, yes. I have been there...";
@@ -9692,7 +9694,7 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, eh.. I mean.. I say.. spell...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Spellshield Protection") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes "Eh, eh.. I mean.. I say.. spell...";
@@ -10225,19 +10227,22 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "How many do you want me to make? I can only make 100 at a time. If you don't want any, then just say '0'. Kehehehehe.";
next;
while(1) {
- input .@input;
- if (!.@input) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Baba Yaga]";
mes "You don't want it?";
next;
mes "[Baba Yaga]";
mes "I don't understand you. What do you want? Kehehehehe.";
close;
- } else if (.@input > 100) {
+ }
+ if (.@input > 100) {
mes "[Baba Yaga]";
mes "I said no more then 100 at a time. Kehehehehe.";
next;
- } else break;
+ continue;
+ }
+ break;
}
.@redpotion_send = .@input;
.@redtube_send = .@input;
@@ -10312,19 +10317,22 @@ mosk_dun02,48,214,5 script Baba Yaga#rus32 4_F_BABAYAGA,{
mes "How many do you want me to make? Tell me the number less than 100. If you don't want, tell me zero. Kehehehehe.";
next;
while(1) {
- input .@input;
- if (!.@input) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Baba Yaga]";
mes "You don't want it?";
next;
mes "[Baba Yaga]";
mes "I don't understand you. What do you want? Kehehehehe.";
close;
- } else if (.@input > 100) {
+ }
+ if (.@input > 100) {
mes "[Baba Yaga]";
mes "I said no more then 100 at a time. Kehehehehe.";
next;
- } else break;
+ continue;
+ }
+ break;
}
.@yellpotion_send = .@input;
.@yelltube_send = .@input;
@@ -10437,7 +10445,7 @@ OnTouch:
if (rand(1,4) == 3) {
mes "- You almost get hit and dodge its attack and cast the spell !! -";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Good feed is orange-flavored") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
@@ -10536,7 +10544,7 @@ OnTouch:
if (rand(1,4) == 3) {
mes "- You almost get hit and dodge its attack and cast the spell !! -";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Good feed is orange-flavored") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
@@ -10636,7 +10644,7 @@ OnTouch:
if (rand(1,4) == 3) {
mes "- You almost get hit and dodge its attack and cast the spell !! -";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Good feed is orange-flavored") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!!";
@@ -11182,7 +11190,7 @@ amatsu,233,234,3 script Momotoro Publisher#rus42 4_F_JPN2,{
mes "[Momotoro Publisher]";
mes "What? Ah, did you come here to pick up the book? Please, let me know your name?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Baba Yaga") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes "I am "+ .@input$ +".";
@@ -11643,7 +11651,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "Ok then, who was the first?!";
next;
.@rus_kafra01 = 0;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Curly Sue") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11658,7 +11666,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Who was the second?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Jasmine") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11673,7 +11681,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Who was the third?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Roxie") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11688,7 +11696,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "And then who was the forth?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Pavianne") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11703,7 +11711,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "And who was the last?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Blossom") {
++.@rus_kafra01;
mes "["+ strcharinfo(PC_NAME) +"]";
@@ -11768,7 +11776,7 @@ pay_dun04,163,186,0 script Ghost Tree#rus45 HIDDEN_NPC,{
mes "[Ghost Tree]";
mes "Have you heard all of them? Who broke the 'Hat of the Sun God'?!";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Antonio") {
mes "["+ strcharinfo(PC_NAME) +"]";
mes ""+ .@input$ +" !!";
diff --git a/npc/quests/quests_nameless.txt b/npc/quests/quests_nameless.txt
index 9461461a5..578b82fc4 100644
--- a/npc/quests/quests_nameless.txt
+++ b/npc/quests/quests_nameless.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) brianluau
-//= Copyright (C) Yommy
-//= Copyright (C) Koca
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) brianluau
+//= Copyright (C) Yommy
+//= Copyright (C) Koca
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -61,7 +61,8 @@
//= 2.4
//=========================================================================
-//== Nameless Island and Cursed Monestary Access Quest :: aru_monas =
+// Nameless Island and Cursed Monestary Access Quest :: aru_monas
+//=========================================================================
airplane_01,90,63,0 script Event Switch#pc FAKE_NPC,3,3,{
end;
@@ -998,7 +999,7 @@ nameless_i,127,207,0 script Dead Crow#Aru HIDDEN_NPC,{
mes "^3355FFThis grass must be the";
mes "main ingredient of the";
mes "poison used to kill the";
- mes "Gaebolg family princes.^000000";
+ mes "Geoborg family princes.^000000";
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Looks like I just hit";
@@ -1493,13 +1494,13 @@ sec_in02,15,15,4 script boss::boss_aru_monas 1_M_SIGNMONK,{
mes ""+aru_monas;
close;
case 2:
- input .@input,0,1000;
+ input(.@input, 0, 1000);
aru_monas = .@input;
mes " ";
mes ""+aru_monas;
close;
case 3:
- input .@input,0,1000;
+ input(.@input, 0, 1000);
prt_curse = .@input;
mes " ";
mes ""+prt_curse;
@@ -3872,7 +3873,7 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
mes "Mystic Heater de Elegance";
mes "operates? Hmm? Well?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "3 Centrifuge Wavelength Theory") {
mes "[Dorian]";
mes "That's right. My apologies.";
@@ -3916,16 +3917,14 @@ cmd_fild01,55,160,0 script Heap of Earth CLEAR_NPC,{
diamond_edq = 9;
close;
}
- else {
- mes "[Dorian]";
- mes "Oh? You sound dissatisfied";
- mes "with my explanation. Well...";
- mes "I surely can't let you use the";
- mes "machine unless you fathom";
- mes "how it works. Otherwise,";
- mes "you just might break it.";
- close;
- }
+ mes "[Dorian]";
+ mes "Oh? You sound dissatisfied";
+ mes "with my explanation. Well...";
+ mes "I surely can't let you use the";
+ mes "machine unless you fathom";
+ mes "how it works. Otherwise,";
+ mes "you just might break it.";
+ close;
case 2:
mes "[Dorian]";
mes "Were you too bored while";
@@ -4406,7 +4405,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "and vibrated violently";
mes "before coming to a sudden";
mes "stop. That was the wrong";
- mes "switch. You'd better ask Dorian... ";
+ mes "switch. You'd better ask Dorian...";
changequest 3105,3106;
diamond_edq = 11;
close;
@@ -4432,7 +4431,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "and vibrated violently";
mes "before coming to a sudden";
mes "stop. That was the wrong";
- mes "switch. You'd better ask Dorian... ";
+ mes "switch. You'd better ask Dorian...";
changequest 3105,3106;
diamond_edq = 11;
close;
@@ -4458,7 +4457,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "and vibrated violently";
mes "before coming to a sudden";
mes "stop. That was the wrong";
- mes "switch. You'd better ask Dorian... ";
+ mes "switch. You'd better ask Dorian...";
changequest 3105,3106;
diamond_edq = 11;
close;
@@ -4484,7 +4483,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "and vibrated violently";
mes "before coming to a sudden";
mes "stop. That was the wrong";
- mes "switch. You'd better ask Dorian... ";
+ mes "switch. You'd better ask Dorian...";
changequest 3105,3106;
diamond_edq = 11;
close;
@@ -4509,7 +4508,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "and vibrated violently";
mes "before coming to a sudden";
mes "stop. That was the wrong";
- mes "switch. You'd better ask Dorian... ";
+ mes "switch. You'd better ask Dorian...";
changequest 3105,3106;
diamond_edq = 11;
close;
@@ -4535,7 +4534,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "and vibrated violently";
mes "before coming to a sudden";
mes "stop. That was the wrong";
- mes "switch. You'd better ask Dorian... ";
+ mes "switch. You'd better ask Dorian...";
changequest 3105,3106;
diamond_edq = 11;
close;
@@ -4561,7 +4560,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "and vibrated violently";
mes "before coming to a sudden";
mes "stop. That was the wrong";
- mes "switch. You'd better ask Dorian... ";
+ mes "switch. You'd better ask Dorian...";
changequest 3105,3106;
diamond_edq = 11;
close;
@@ -4587,7 +4586,7 @@ izlude_in,113,66,0 script Strange Machine HIDDEN_NPC,{
mes "and vibrated violently";
mes "before coming to a sudden";
mes "stop. That was the wrong";
- mes "switch. You'd better ask Dorian... ";
+ mes "switch. You'd better ask Dorian...";
changequest 3105,3106;
diamond_edq = 11;
close;
@@ -6883,7 +6882,7 @@ in_rogue,359,116,3 script Marybell 4_F_ROGUE,{
mes "Come a little closer,";
mes "and talk right in my ear.";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "The dawn is yet to come.") {
mes "[Marybell]";
mes "Valdes sent you?!";
@@ -7386,8 +7385,8 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
while(1) {
.@number = rand(1,2);
- input .@input$;
- if (((.@input$ == "Odd") && (.@number == 1)) || ((.@input$ == "Even") && (.@number == 2))) {
+ input(.@input$);
+ if ((.@input$ == "Odd" && .@number == 1) || (.@input$ == "Even" && .@number == 2)) {
++.@number_right;
mes "[Moonho Ahn]";
mes "^0000ff"+.@input$+"^000000?";
@@ -7400,7 +7399,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
}
}
- else if (((.@input$ == "Odd") && (.@number == 2)) || ((.@input$ == "Even") && (.@number == 1))) {
+ else if ((.@input$ == "Odd" && .@number == 2) || (.@input$ == "Even" && .@number == 1)) {
++.@number_false;
mes "[Moonho Ahn]";
mes "Well, it's ^0000FFEven^000000.";
@@ -7433,7 +7432,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
break;
}
- if ((.@input$ != "Even") && (.@input$ !="Odd")) {
+ if (.@input$ != "Even" && .@input$ !="Odd") {
mes "[Moonho Ahn]";
mes "You can only declare";
mes "your guess as ^0000FFOdd^000000 or ^0000FFEven^000000.";
@@ -7625,8 +7624,8 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
while(1) {
.@number = rand(1,2);
- input .@input$;
- if (((.@input$ == "Odd") && (.@number == 1)) || ((.@input$ == "Even") && (.@number == 2))) {
+ input(.@input$);
+ if ((.@input$ == "Odd" && .@number == 1) || (.@input$ == "Even" && .@number == 2)) {
++.@number_right_3;
mes "[Moonho Ahn]";
mes "^0000FF"+.@input$+"^000000?";
@@ -7639,7 +7638,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
}
}
- else if (((.@input$ == "Odd") && (.@number == 2)) || ((.@input$ == "Even") && (.@number == 1))) {
+ else if ((.@input$ == "Odd" && .@number == 2) || (.@input$ == "Even" && .@number == 1)) {
++.@number_false_3;
mes "[Moonho Ahn]";
mes "Well, it's ^0000FF"+.@input$+"^000000.";
@@ -7667,7 +7666,7 @@ payon,244,62,3 script Moonho Ahn 4_M_HUGRANFA,{
next;
break;
}
- if ((.@input$ != "Even") && (.@input$ !="Odd")) {
+ if (.@input$ != "Even" && .@input$ !="Odd") {
mes "[Moonho Ahn]";
mes "You can only declare";
mes "your guess as ^0000FFOdd^000000 or ^0000FFEven^000000.";
@@ -8558,7 +8557,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "Well, I guess";
mes "I should talk to it. Um...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Weii arr prowd Z G gna") {
mes "[Odd Slab]";
mes "^FF0000*Creak Creak*";
@@ -8570,7 +8569,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "I must be doing alright.";
mes "Now what do I say?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Aynoen hwo sspotp uys") {
mes "[Odd Slab]";
mes "^FF0000*Creak Creak*";
@@ -8580,7 +8579,7 @@ moc_fild17,209,235,0 script Odd Slab HIDDEN_NPC,4,4,{
mes "Heh! I'm on the right";
mes "track. Now what do I say?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "wlil eb kckide on htier ssa!") {
mes "[Odd Slab]";
mes "*Creak Creak*";
@@ -10168,11 +10167,11 @@ moc_fild18,108,116,0 script #treasure CLEAR_NPC,{
mes "to remove the chest's magical";
mes "protection to get the treasure.^000000";
next;
- input .@input$;
+ input(.@input$);
getpartymember(getcharid(CHAR_ID_PARTY));
.@partymembercount = $@partymembercount;
if (.@partymembercount > 1) {
- if (((.@input$ == "OpenSesame") && (treasure_nd == 9)) || ((.@input$ == "UnlockTreasure") && (treasure_nd == 10))) {
+ if ((.@input$ == "OpenSesame" && treasure_nd == 9) || (.@input$ == "UnlockTreasure" && treasure_nd == 10)) {
mes "^3355FFThe Z Gang must have split";
mes "the spell document in two";
mes "parts because one person";
@@ -10318,7 +10317,7 @@ comodo,139,184,3 script Scholar#zgang 2_M_SAGE_B,{
mes "jewel came into a rich man's";
mes "possession. However, he lost";
mes "his fortune and was completely";
- mes "ruined after obtaining it. Hence the moniker, ''Unlucky Emerald.''";
+ mes "ruined after obtaining it. Hence the moniker, ''Unlucky Emerald.''";
next;
mes "[Scholar]";
mes "Then the emerald came into";
diff --git a/npc/quests/quests_niflheim.txt b/npc/quests/quests_niflheim.txt
index 37beaed06..03c3149b4 100644
--- a/npc/quests/quests_niflheim.txt
+++ b/npc/quests/quests_niflheim.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Evera
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Evera
//=
//= 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,7 +117,7 @@ nif_in,105,81,3 script Crayu#nif 4_M_NFDEADMAN2,{
break;
}
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == .@songline$) {
mes "[Crayu]";
mes "Excellent...!";
@@ -135,15 +135,13 @@ nif_in,105,81,3 script Crayu#nif 4_M_NFDEADMAN2,{
mes "you have done for me.";
close;
}
- else {
- mes "[Crayu]";
- mes "*Sigh*... If you had only";
- mes "listened to me, it would";
- mes "have been easy to answer.";
- mes "Try to remember the line";
- mes "and try again!";
- close;
- }
+ mes "[Crayu]";
+ mes "*Sigh*... If you had only";
+ mes "listened to me, it would";
+ mes "have been easy to answer.";
+ mes "Try to remember the line";
+ mes "and try again!";
+ close;
}
next;
mes "[Crayu]";
diff --git a/npc/quests/quests_payon.txt b/npc/quests/quests_payon.txt
index 282bd2eb3..0430fd215 100644
--- a/npc/quests/quests_payon.txt
+++ b/npc/quests/quests_payon.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -229,7 +229,7 @@ payon_in02,25,71,4 script Boy 4_M_04,{
}
//== 'Helm of Angel' and 'Deviruchi Cap' Quest =============
-payon_in01,46,21,5 script Young man#12 4_M_ORIENT02,{
+- script Young man#12 4_M_ORIENT02,{
mes "[Young man]";
mes "...What is it?";
next;
diff --git a/npc/quests/quests_prontera.txt b/npc/quests/quests_prontera.txt
index e0bd9156e..c4b33bc54 100644
--- a/npc/quests/quests_prontera.txt
+++ b/npc/quests/quests_prontera.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) SinSloth
-//= Copyright (C) Samuray22
-//= Copyright (C) Evera
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) SinSloth
+//= Copyright (C) Samuray22
+//= Copyright (C) Evera
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -37,7 +37,7 @@
//= Collection of Prontera-based quests.
//= - Culvert Access
//= - Ph.D Hat Quest
-//= - Gaebolg Family Curse
+//= - Geoborg Family Curse
//================= Current Version =======================================
//= 2.9
//================= Variables Used ========================================
@@ -45,7 +45,7 @@
//= - MISC_QUEST (bit 8)
//= Ph.D Hat Quest:
//= - n/a
-//= Gaebolg Family Curse:
+//= Geoborg Family Curse:
//= - prt_curse (max 61)
//=========================================================================
@@ -799,7 +799,7 @@ yuno,311,195,3 script Historian#prt01 4_M_SAGE_A,{
mes "With the return of peace,";
mes "the 7 warriors established";
mes "the Rune-Midgarts Kingdom,";
- mes "choosing Tristram Gaebolg III";
+ mes "choosing Tristram Geoborg III";
mes "as the kingdom's first ruler. ";
next;
mes "[Historian]";
@@ -1043,7 +1043,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "^FF0000*swallowed the serpent.*^000000";
mes "......................";
next;
- input .@answer$;
+ input(.@answer$);
if (.@answer$ == "Then the eagle built its nest.") {
mes "[Historian Rodafrian]";
mes "Really? That makes";
@@ -1078,7 +1078,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "that you heard from Karlomoff.^000000";
next;
mes "["+strcharinfo(PC_NAME)+"]";
- input .@line$;
+ input(.@line$);
if (.@line$ == "The great serpent swallowed the sea.") {
.@total += 1;
mes "*The great serpent*";
@@ -1086,7 +1086,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
}
else mes "* "+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "The eagle of the rainbow swallowed the serpent.") {
.@total += 1;
mes "*The eagle of the rainbow*";
@@ -1094,14 +1094,14 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
}
else mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "Then the eagle built its nest.") {
.@total += 1;
mes "*Then the eagle built its nest.*";
}
else mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "A nest upon the swallowed sea.") {
.@total += 1;
mes "*A nest upon the swallowed sea.*";
@@ -1228,7 +1228,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
next;
mes "[Historian Rodafrian]";
mes "Anyway, your report about";
- mes "the Gaebolg family will be";
+ mes "the Geoborg family will be";
mes "greatly appreciated by the";
mes "Rekenber Historical Research";
mes "Group. But first, I need to";
@@ -1237,7 +1237,7 @@ morocc_in,45,126,3 script Historian#prt02 4_F_GON,{
mes "[Historian Rodafrian]";
mes "Anyway, keep this information";
mes "a secret between me and you";
- mes "for now. Then, when I reveal the secret curse of the Gaebolg royal";
+ mes "for now. Then, when I reveal the secret curse of the Geoborg royal";
mes "family, I'll finally outshine that Karlomoff! Bwahahahahaha!";
next;
mes "["+strcharinfo(PC_NAME)+"]";
@@ -1514,7 +1514,7 @@ mjolnir_01,135,168,3 script Historian#prt03 4_M_SAGE_A,{
S_Song:
mes "["+strcharinfo(PC_NAME)+"]";
- input .@line$;
+ input(.@line$);
if (.@line$ == "The great serpent swallowed the sea.") {
.@total += 1;
mes "*The great serpent*";
@@ -1522,7 +1522,7 @@ S_Song:
}
else mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "The eagle of the rainbow swallowed the serpent.") {
.@total += 1;
mes "*The eagle of the rainbow*";
@@ -1530,11 +1530,11 @@ S_Song:
}
else mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "Then the eagle built its nest.") .@total += 1;
mes "*"+.@line$+"*";
- input .@line$;
+ input(.@line$);
if (.@line$ == "A nest upon the swallowed sea.") .@total += 1;
mes "*"+.@line$+"*";
@@ -2291,7 +2291,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
next;
mes "[Father Bamph]";
mes "Finally, the first Tristram of";
- mes "the Gaebolg family defeated";
+ mes "the Geoborg family defeated";
mes "Jormungand together with 6";
mes "other warriors, but only after";
mes "it killed his beloved father.";
@@ -2306,7 +2306,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "[Father Bamph]";
mes "To this day...";
mes "^FF0000Every first prince of";
- mes "the Gaebolg family dies";
+ mes "the Geoborg family dies";
mes "at a young age^000000. That is";
mes "Jormungand's curse and";
mes "the royal family's secret.";
@@ -2429,7 +2429,7 @@ prt_church,185,106,3 script Father Bamph 1_M_PASTOR,{
mes "Oh, my. I learned the song";
mes "when I was a young boy from";
mes "my father. However, your version seems to reveal the secret curse";
- mes "of the Gaebolgs. Please tell me, where did you hear that song?";
+ mes "of the Geoborgs. Please tell me, where did you hear that song?";
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Well, I first heard this";
@@ -3069,7 +3069,7 @@ prt_church,16,114,4 script Father Bamph#tomb 1_M_PASTOR,{
if (prt_curse == 18) {
mes "[Father Bamph]";
mes "There are the bodies";
- mes "of the Gaebolg princes";
+ mes "of the Geoborg princes";
mes "that were killed during";
mes "the exorcism. Please take";
mes "a look at the body to the left.";
@@ -3547,13 +3547,13 @@ OnTouch:
mes "["+strcharinfo(PC_NAME)+"]";
mes "Long ago, the giant serpent";
mes "Jormungand threatened mankind.";
- mes "7 warriors defeated Jormungand, led by Tristram III of the Gaebolg";
- mes "family, but Jormungand cursed the Gaebolg bloodline in its defeat.";
+ mes "7 warriors defeated Jormungand, led by Tristram III of the Geoborg";
+ mes "family, but Jormungand cursed the Geoborg bloodline in its defeat.";
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Ever since, the curse kills";
mes "the first born prince of the";
- mes "Gaebolg family at an early age.";
+ mes "Geoborg family at an early age.";
mes "However, all of the princes of";
mes "this generation were killed.";
next;
diff --git a/npc/quests/quests_rachel.txt b/npc/quests/quests_rachel.txt
index 43e4beadb..9e3cbdef7 100644
--- a/npc/quests/quests_rachel.txt
+++ b/npc/quests/quests_rachel.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1803,7 +1803,7 @@ ra_in01,235,194,5 script Katinshuell 4_M_RACHMAN1,{
mes "long time. What the heck do you";
mes "want to ask me about, anyway?";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Lighthalzen") {
mes "[Katinshuell]";
mes "Lighthalzen...?";
@@ -2222,7 +2222,7 @@ rachel,73,244,3 script Lachellen 4_F_SHABBY,{
mes "so I'll help you if you have";
mes "any questions for me~";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "Lighthalzen") {
mes "[Lachellen]";
mes "Lighthalzen? Oh, that's";
@@ -3210,7 +3210,7 @@ OnTouch:
OnTouchNPC:
emotion e_an;
- //emotion e_gg,1; //Emote on monster - unsupported
+ unitemote mobattached(), e_gg;
end;
OnMyMobDead:
@@ -5468,7 +5468,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "Isn't the scientist's name...";
- input .@input$;
+ input(.@input$);
mes "^3131FF"+.@input$+"^000000?";
next;
if (.@input$ == "Varmunt") {
@@ -5961,7 +5961,7 @@ ra_temin,277,159,3 script High Priest Zhed#rachel 4_M_RACHOLD1,{
mes "for protecting peace here";
mes "in Arunafeltz?";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes ""+.@input$+"?";
next;
@@ -6890,7 +6890,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "So... Um... Where do you";
mes "come from, "+strcharinfo(PC_NAME)+"?";
next;
- input @input$;
+ input(@input$);
mes "[Pope]";
mes @input$ +"...?";
mes "I think I might have heard";
@@ -6898,7 +6898,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "Wow... What did you do";
mes "when you lived there?";
next;
- input @input$;
+ input(@input$);
mes "[Pope]";
mes @input$ +"...?";
mes "Wow, that sounds quite";
@@ -6988,7 +6988,7 @@ ra_temsky,99,99,5 script Pope#rachel 4_F_ARUNA_POP,{
mes "interesting stories about";
mes "the outside world again?";
next;
- input .@input$;
+ input(.@input$);
mes "[Pope]";
mes "Mm. That sounds pretty";
mes "strange to me. Well, it's";
diff --git a/npc/quests/quests_umbala.txt b/npc/quests/quests_umbala.txt
index 6fc89a0cf..004434f34 100644
--- a/npc/quests/quests_umbala.txt
+++ b/npc/quests/quests_umbala.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Team
-//= Copyright (C) eAthena Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Evera
-//= Copyright (C) Lupus
-//= Copyright (C) sabernet09
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Team
+//= Copyright (C) eAthena Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Evera
+//= Copyright (C) Lupus
+//= Copyright (C) sabernet09
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -554,22 +554,21 @@ um_in,44,71,2 script Utan Shaman 4_F_UMOLDWOMAN,{
mes "this request, enter '0.'";
next;
while(1) {
- input .@input,0,10;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Puchuchartan]";
mes "I see. It's your call.";
mes "Come back when you need me.";
close;
}
- else if (.@input > 9) {
+ if (.@input > 9) {
mes "[Puchuchartan]";
mes "Remember to choose a number";
mes "from 1 to 9.";
next;
+ continue;
}
- else {
- break;
- }
+ break;
}
mes "[Puchuchartan]";
switch(.@success) {
@@ -707,124 +706,120 @@ um_in,44,71,2 script Utan Shaman 4_F_UMOLDWOMAN,{
mes "to divide. I can only";
mes "divide up to 10 at a time.";
next;
- input .@input,0,11;
- if ((.@input > 0) && (.@input < 11)) {
- if (countitem(.@divide) >= .@input) {
- if (checkweight(Spawn,(.@input * 30)) == 0) {
+ input(.@input);
+ if (.@input <= 0 || .@input > 10) {
+ mes "[Puchuchartan]";
+ mes "Hm? You need to enter";
+ mes "a number from 1 to 10.";
+ close;
+ }
+ if (countitem(.@divide) >= .@input) {
+ if (checkweight(Spawn,(.@input * 30)) == 0) {
+ mes "[Puchuchartan]";
+ mes "You're carrying too";
+ mes "many items right now.";
+ mes "Put some of your stuff";
+ mes "in Kafra Storage, and then";
+ mes "come back to me, okay?";
+ close;
+ }
+ mes "[Puchuchartan]";
+ mes "I'll try to revert these";
+ mes "enchanted stones to their";
+ mes "rough forms. Enter a number";
+ mes "from 1 to 9, or enter 0 if";
+ mes "you decide to cancel.";
+ next;
+ while(1) {
+ input(.@input2);
+ if (.@input2 <= 0) {
mes "[Puchuchartan]";
- mes "You're carrying too";
- mes "many items right now.";
- mes "Put some of your stuff";
- mes "in Kafra Storage, and then";
- mes "come back to me, okay?";
+ mes "You want to cancel?";
+ mes "Well, if you change your";
+ mes "mind, feel free to come";
+ mes "ask me to help at any time.";
close;
}
- mes "[Puchuchartan]";
- mes "I'll try to revert these";
- mes "enchanted stones to their";
- mes "rough forms. Enter a number";
- mes "from 1 to 9, or enter 0 if";
- mes "you decide to cancel.";
- next;
- while(1) {
- input .@input2,0,10;
- if (.@input2 == 0) {
- mes "[Puchuchartan]";
- mes "You want to cancel?";
- mes "Well, if you change your";
- mes "mind, feel free to come";
- mes "ask me to help at any time.";
- close;
- }
- else if (.@input2 > 9) {
- mes "[Puchuchartan]";
- mes "Hm? You need to enter";
- mes "a number from 1 to 9.";
- next;
- }
- else {
- break;
- }
- }
- mes "[Puchuchartan]";
- mes "I will now chant the";
- mes "sacred words. Remember";
- mes "the number you entered!";
- next;
- mes "[Puchuchartan]";
- mes "Umba Umba Kalapum! Umba! Ta!";
- mes "Lukura Ukulele Um! Umba! Ka!";
- mes "Abulaka Tabulakan! Umba! La!";
- mes "Ombaludu Zan Kunu! Umba! Ku!";
- mes "Kum Tum Lakulakun! Umba! Ha!";
- next;
- mes "[Puchuchartan]";
- mes "Here's the rough enchanted stones";
- mes "you wished to have. I created this";
- mes "with a lot of effort, so make good";
- mes "use of them.";
- while(1) {
- if (.@sha_man == .@input) {
- break;
- }
- else {
- .@shaman_max += rand(6,10);
- ++.@sha_man;
- }
- }
- switch(.@divide) {
- case 994:
- getitem Boody_Red,.@shaman_max;
- break;
- case 995:
- getitem Crystal_Blue,.@shaman_max;
- break;
- case 996:
- getitem Wind_Of_Verdure,.@shaman_max;
- break;
- case 997:
- getitem Yellow_Live,.@shaman_max;
+ if (.@input2 > 9) {
+ mes "[Puchuchartan]";
+ mes "Hm? You need to enter";
+ mes "a number from 1 to 9.";
+ next;
+ continue;
}
- delitem .@divide,.@input;
- close;
+ break;
}
- else {
- mes "[Puchuchartan]";
- mes "So, you wish to have rough";
- switch(.@divide) {
- case 994:
- mes "fire stones? Then I will need";
- mes "you to bring "+input_want+" pure fire stone.";
- break;
- case 995:
- mes "water stones? Then I'll need";
- mes "you to bring "+input_want+" pure water stone.";
- break;
- case 996:
- mes "wind stones? Then I will need";
- mes "you to bring "+input_want+" pure wind stone.";
- break;
- case 997:
- mes "earth stones? Then I'll need";
- mes "you to bring "+.@input+" pure earth stone.";
+ mes "[Puchuchartan]";
+ mes "I will now chant the";
+ mes "sacred words. Remember";
+ mes "the number you entered!";
+ next;
+ mes "[Puchuchartan]";
+ mes "Umba Umba Kalapum! Umba! Ta!";
+ mes "Lukura Ukulele Um! Umba! Ka!";
+ mes "Abulaka Tabulakan! Umba! La!";
+ mes "Ombaludu Zan Kunu! Umba! Ku!";
+ mes "Kum Tum Lakulakun! Umba! Ha!";
+ next;
+ mes "[Puchuchartan]";
+ mes "Here's the rough enchanted stones";
+ mes "you wished to have. I created this";
+ mes "with a lot of effort, so make good";
+ mes "use of them.";
+ while(1) {
+ if (.@sha_man == .@input) {
break;
}
- mes "^3377FF"+.@input+" "+getitemname(.@divide)+"^000000.";
- next;
- mes "[Puchuchartan]";
- mes "That's all I need...";
- mes "Come back when";
- mes "you're ready.";
- mes "I will be here.";
+ .@shaman_max += rand(6,10);
+ ++.@sha_man;
+ }
+ if (countitem(.@divide) < .@input) {
close;
}
- }
- else {
- mes "[Puchuchartan]";
- mes "Hm? You need to enter";
- mes "a number from 1 to 10.";
+ delitem .@divide, .@input;
+ switch(.@divide) {
+ case 994:
+ getitem Boody_Red,.@shaman_max;
+ break;
+ case 995:
+ getitem Crystal_Blue,.@shaman_max;
+ break;
+ case 996:
+ getitem Wind_Of_Verdure,.@shaman_max;
+ break;
+ case 997:
+ getitem Yellow_Live,.@shaman_max;
+ }
close;
}
+ mes "[Puchuchartan]";
+ mes "So, you wish to have rough";
+ switch(.@divide) {
+ case 994:
+ mes "fire stones? Then I will need";
+ mes "you to bring "+input_want+" pure fire stone.";
+ break;
+ case 995:
+ mes "water stones? Then I'll need";
+ mes "you to bring "+input_want+" pure water stone.";
+ break;
+ case 996:
+ mes "wind stones? Then I will need";
+ mes "you to bring "+input_want+" pure wind stone.";
+ break;
+ case 997:
+ mes "earth stones? Then I'll need";
+ mes "you to bring "+.@input+" pure earth stone.";
+ break;
+ }
+ mes "^3377FF"+.@input+" "+getitemname(.@divide)+"^000000.";
+ next;
+ mes "[Puchuchartan]";
+ mes "That's all I need...";
+ mes "Come back when";
+ mes "you're ready.";
+ mes "I will be here.";
+ close;
case 3:
mes "[Puchuchartan]";
mes "I see. It's your call.";
diff --git a/npc/quests/quests_veins.txt b/npc/quests/quests_veins.txt
index 2fde49c3e..a8c5cb46a 100644
--- a/npc/quests/quests_veins.txt
+++ b/npc/quests/quests_veins.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) Toms
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) Toms
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2654,7 +2654,7 @@ sec_in02,10,43,4 script Extra Story Patch 1_M_SIGNMONK,{
mes "Yeah, you can try.";
next;
if(select("Now", "How many?") == 2) {
- input .@input,0,1000;
+ input(.@input, 0, 1000);
que_sch = .@input;
}
mes " ";
@@ -5092,7 +5092,7 @@ ra_temin,87,133,1 script Rachel Guard#vol1 4_M_RASWORD,5,2,{
mes "Of course! I should";
mes "talk to him about...";
next;
- input .@input$;
+ input(.@input$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "Wait a second...";
mes "Of course! I should";
@@ -6723,7 +6723,7 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
mes "^FF0000as a devoted servant";
mes "of Goddess Freya";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "as a devoted servant of Goddess Freya";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6734,18 +6734,16 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
while(1) {
mes "[Colonel Vito]";
mes "^FF0000I pledge my honor to";
mes "overthrow our mortal enemy";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "I pledge my honor to overthrow our mortal enemy";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6755,17 +6753,15 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
while(1) {
mes "[Colonel Vito]";
mes "^FF0000I will show no mercy^000000";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "I will show no mercy";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6774,18 +6770,16 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
while(1) {
mes "[Colonel Vito]";
mes "^FF0000I shall devote";
mes "my entire life^000000";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "I shall devote my entire life";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6796,18 +6790,16 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
while(1) {
mes "[Colonel Vito]";
mes "^FF0000Down with the";
mes "Rune-Midgarts Kingdom!^000000";
next;
- input .@input$;
+ input(.@input$);
.@answer$ = "Down with the Rune-Midgarts Kingdom!";
if (.@input$ == .@answer$) {
mes "["+strcharinfo(PC_NAME)+"]";
@@ -6816,11 +6808,9 @@ thor_camp,159,74,3 script Colonel Vito#3 4_M_DST_MASTER,{
next;
break;
}
- else {
- mes "[Colonel Vito]";
- mes "Wrong! Try again!";
- next;
- }
+ mes "[Colonel Vito]";
+ mes "Wrong! Try again!";
+ next;
}
mes "[Colonel Vito]";
mes "Good. Now you know the";
diff --git a/npc/quests/quests_yuno.txt b/npc/quests/quests_yuno.txt
index b481c2267..cc53b25e6 100644
--- a/npc/quests/quests_yuno.txt
+++ b/npc/quests/quests_yuno.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) akrus
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) Darkchild
-//= Copyright (C) kobra_k88
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) akrus
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) Darkchild
+//= Copyright (C) kobra_k88
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/quests/seals/brisingamen_seal.txt b/npc/quests/seals/brisingamen_seal.txt
index ed63847a2..ca66eb969 100644
--- a/npc/quests/seals/brisingamen_seal.txt
+++ b/npc/quests/seals/brisingamen_seal.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Toms
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Toms
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) SinSloth
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2621,7 +2621,7 @@ gef_dun01,89,192,0 script #lowentrace HIDDEN_NPC,3,3,{
next;
switch(select("Yes", "No")) {
case 1:
- input @lowenstring$;
+ input(@lowenstring$);
if (@lowenstring$ == "Lowen") {
if (god_brising == 30) {
mes "[Lowen Ellenen]";
@@ -2743,7 +2743,7 @@ gef_dun01,203,48,0 script #lowentrace1 HIDDEN_NPC,3,3,{
next;
switch(select("Yes", "No")) {
case 1:
- input @lowenstring$;
+ input(@lowenstring$);
if (@lowenstring$ == "Lowen") {
if (god_brising == 31) {
mes "[Lowen Ellenen]";
@@ -4523,35 +4523,35 @@ mjo_dun02,126,36,0 script #brisindwarf4 HIDDEN_NPC,3,3,{
mes "Um, that song.";
mes "What was the first line...?";
next;
- input @dwarfsong1$;
+ input(@dwarfsong1$);
if (@dwarfsong1$ == "No jewel in the world can compare.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong1$ + "";
mes "Then...ummm..";
mes "The second line?";
next;
- input @dwarfsong2$;
+ input(@dwarfsong2$);
if (@dwarfsong2$ == "Our masterpiece made from love.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong2$ + "";
mes "Now, what was";
mes "the third line...?";
next;
- input @dwarfsong3$;
+ input(@dwarfsong3$);
if (@dwarfsong3$ == "She wanted the dazzling necklace.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong3$ + "";
mes "Now, the fourth";
mes "line after that...";
next;
- input @dwarfsong4$;
+ input(@dwarfsong4$);
if (@dwarfsong4$ == "We wanted the goddess of beauty.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong4$ + "";
mes "Alright, now";
mes "for the last line...";
next;
- input @dwarfsong5$;
+ input(@dwarfsong5$);
if (@dwarfsong5$ == "Our happiest times were with her.") @point += 1;
mes "[" + strcharinfo(PC_NAME) + "]";
mes " " + @dwarfsong5$ + "";
diff --git a/npc/quests/seals/god_global.txt b/npc/quests/seals/god_global.txt
index 7486bcc23..f97c99093 100644
--- a/npc/quests/seals/god_global.txt
+++ b/npc/quests/seals/god_global.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -93,7 +93,7 @@ sec_in02,15,170,0 script Golbal var 4_F_CHNDRESS3,{
}
L_Number:
- input .@input,0,$@god_check2;
+ input(.@input, 0, $@god_check2);
mes "[Check]";
mes "Would you like to change to "+.@input+"?";
mes "Please enter the password.";
@@ -112,7 +112,7 @@ L_Number:
}
L_Var:
- input .@input;
+ input(.@input, 0);
setd getarg(0),.@input;
next;
mes "[Check]";
diff --git a/npc/quests/seals/god_weapon_creation.txt b/npc/quests/seals/god_weapon_creation.txt
index 3f32461fa..8009bd36d 100644
--- a/npc/quests/seals/god_weapon_creation.txt
+++ b/npc/quests/seals/god_weapon_creation.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) SinSloth
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -91,7 +91,7 @@ gld_dun01,28,85,0 script Grunburti#1::GodDwarf 4_M_DWARF,{
case 3:
.@GID = getcharid(CHAR_ID_GUILD);
if (($God1 < $@god_check2) || ($God2 < $@god_check2) || ($God3 < $@god_check2) || ($God4 < $@god_check2)){
- if (($God1 >= $@god_check1) && ($God2 >= $@god_check1) && ($God3 >= $@god_check1) && ($God4 >= $@god_check1) && (strcharinfo(PC_NAME) == getguildmaster(.@GID))) {
+ if (($God1 >= $@god_check1) && ($God2 >= $@god_check1) && ($God3 >= $@god_check1) && ($God4 >= $@god_check1) && (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID))) {
mes "[Dwarf Grunburti]";
mes "Hmm...";
mes "I'll need some things to make a weapon for you. What exactly were you interested in having?";
@@ -167,7 +167,7 @@ gld_dun01,28,85,0 script Grunburti#1::GodDwarf 4_M_DWARF,{
mes "Stop bothering me and get out of here! Go play with some monsters, you simple minded fool!";
close;
}
- if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) != getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes "[Dwarf Grunburti]";
mes "I'll only present";
mes "my magnificent skills";
@@ -413,7 +413,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
close;
}
.@GID = getcharid(CHAR_ID_GUILD);
- if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) != getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes "[Dwarf Grunburti]";
mes "How in the...";
mes "Get out of here!";
@@ -515,7 +515,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
$God2 = 0;
$God3 = 0;
$God4 = 0;
- announce "[Brisingamen] has come into the hands of [" + strcharinfo(PC_NAME) + "], master of the [" + getguildname(.@GID) + "] guild.",bc_all;
+ announce "[Brisingamen] has come into the hands of [" + strcharinfo(PC_NAME) + "], master of the [" + getguildinfo(GUILDINFO_NAME, .@GID) + "] guild.",bc_all;
mes "[Dwarf Grunburti]";
mes "Ah, just look at this dazzling beauty. No other piece of jewelry complemented Freya as well as Brisingamen.";
close;
@@ -589,7 +589,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
$God2 = 0;
$God3 = 0;
$God4 = 0;
- announce "[Megingjard] the godly item has been given to [" + strcharinfo(PC_NAME) + "], the master of the guild [" + getguildname(.@GID) + "].",bc_all;
+ announce "[Megingjard] the godly item has been given to [" + strcharinfo(PC_NAME) + "], the master of the guild [" + getguildinfo(GUILDINFO_NAME, .@GID) + "].",bc_all;
mes "[Dwarf Grunburti]";
mes "Here...";
mes "Be careful with how";
@@ -679,7 +679,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
$God2 = 0;
$God3 = 0;
$God4 = 0;
- announce "[Sleipnir] the godly item has been given to [" + strcharinfo(PC_NAME) + "], the master of the guild [" + getguildname(.@GID) + "].",bc_all;
+ announce "[Sleipnir] the godly item has been given to [" + strcharinfo(PC_NAME) + "], the master of the guild [" + getguildinfo(GUILDINFO_NAME, .@GID) + "].",bc_all;
mes "[Dwarf Grunburti]";
mes "There...";
mes "Wear these, and";
@@ -768,7 +768,7 @@ que_god01,154,112,4 script Grunburti#god 4_M_DWARF,{
$God2 = 0;
$God3 = 0;
$God4 = 0;
- announce "[Mjolnir] has been bestowed to [" + strcharinfo(PC_NAME) + "], the master of the [" + getguildname(.@GID) + "] guild.",bc_all;
+ announce "[Mjolnir] has been bestowed to [" + strcharinfo(PC_NAME) + "], the master of the [" + getguildinfo(GUILDINFO_NAME, .@GID) + "] guild.",bc_all;
mes "[Dwarf Grunburti]";
mes "It's done.";
mes "Take it. How does";
diff --git a/npc/quests/seals/megingard_seal.txt b/npc/quests/seals/megingard_seal.txt
index 96a634a4e..a42a70c13 100644
--- a/npc/quests/seals/megingard_seal.txt
+++ b/npc/quests/seals/megingard_seal.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) brianluau
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) brianluau
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) SinSloth
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -954,7 +954,7 @@ prt_in,172,106,0 script Librarian#megin 4_M_ZONDAOYAJI,{
mes "[" + strcharinfo(PC_NAME) + "]";
mes "But isn't";
mes "the file about...";
- input @str$;
+ input(@str$);
mes "^0000FF" + @str$ + "?";
next;
if (@str$ == "the 1st squad's final mission") {
@@ -1007,7 +1007,7 @@ prt_in,172,106,0 script Librarian#megin 4_M_ZONDAOYAJI,{
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Isn't the file...";
- input @str$;
+ input(@str$);
mes "[" + strcharinfo(PC_NAME) + "]";
mes "^0000FF" + @str$ + "?";
next;
@@ -1155,7 +1155,7 @@ prt_in,172,106,0 script Librarian#megin 4_M_ZONDAOYAJI,{
mes "Please do not use";
mes "capital letters.^000000";
next;
- input .@input$;
+ input(.@input$);
if (compare(.@input$,"crusader") == 1) {
mes "^663300[Keyword: ^996633Crusader^663300]";
mes "Crusaders are warriors preparing for the upcoming Holy War against Evil. Experienced swordsmen, usually with remarkable spiritual prowess.^000000";
@@ -1817,7 +1817,7 @@ morocc_in,146,179,0 script Employee#megin1 1_F_01,{
mes "Are you looking for";
mes "someone...?";
next;
- input @str$;
+ input(@str$);
if (@str$ == "Cuaque Donon" || @str$ == "Cuaque" || @str$ == "Donon") {
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Do you happen to know a person named " + @str$ + " ...?";
diff --git a/npc/quests/seals/mjolnir_seal.txt b/npc/quests/seals/mjolnir_seal.txt
index 746167f20..02f2b0006 100644
--- a/npc/quests/seals/mjolnir_seal.txt
+++ b/npc/quests/seals/mjolnir_seal.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Zephyrus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Zephyrus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) SinSloth
//=
//= 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/npc/quests/seals/seal_status.txt b/npc/quests/seals/seal_status.txt
index f8fb721d9..195873c5b 100644
--- a/npc/quests/seals/seal_status.txt
+++ b/npc/quests/seals/seal_status.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/quests/seals/sleipnir_seal.txt b/npc/quests/seals/sleipnir_seal.txt
index d3982699c..f6198009e 100644
--- a/npc/quests/seals/sleipnir_seal.txt
+++ b/npc/quests/seals/sleipnir_seal.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1316,7 +1316,7 @@ que_god01,20,48,0 script Slab#G HIDDEN_NPC,{
mes "wkrdjswhgks shfh wkrdjswhgks wkdus wkr...";
mes "^ff00ffghswka^000000gks ........fusjs tmld.........";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ == "dirdnl") {
mes "Zap~";
mes "^3355FFAs you press the word '^ff0000dirdnl^3355FF,' the slab emitted a strange beeping noise but nothing else happened. Perhaps you must press some of the other words.^000000";
@@ -1335,7 +1335,7 @@ que_god01,20,48,0 script Slab#G HIDDEN_NPC,{
mes "is not on the slab.^000000";
close;
}
- input .@input$;
+ input(.@input$);
if (.@input$ == "tkaryf") {
mes "^3355FFYou press the word '^ff0000tkaryf^3355FF,' and another beep was emitted from";
mes "the slab.^000000";
@@ -1354,7 +1354,7 @@ que_god01,20,48,0 script Slab#G HIDDEN_NPC,{
mes "is not on the slab.^000000";
close;
}
- input .@input$;
+ input(.@input$);
if (.@input$ == "ghswka") {
mes "^3355FFYou press on the word '^ff0000ghswka^3355FF,' resulting in an affirmative beep. Nothing has still happened, so perhaps you must press another word.^000000";
next;
diff --git a/npc/quests/skills/acolyte_skills.txt b/npc/quests/skills/acolyte_skills.txt
index 09500b4ed..05fec66ff 100644
--- a/npc/quests/skills/acolyte_skills.txt
+++ b/npc/quests/skills/acolyte_skills.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silentdragon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silentdragon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/skills/alchemist_skills.txt b/npc/quests/skills/alchemist_skills.txt
index a8867a1a8..713efdd91 100644
--- a/npc/quests/skills/alchemist_skills.txt
+++ b/npc/quests/skills/alchemist_skills.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1438,83 +1438,8 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "Homunculus, putting it in";
mes "an inert state of hibernation?";
next;
- input .@input$;
- if (.@input$ == "Vaporize") {
- mes "[Kellasus]";
- mes "Hmm, not bad. So you've";
- mes "been studying. Now, the second";
- mes "question. What is the item, whose name indicates a very early stage";
- mes "of Homunculus development, used for the Call Homunculus skill?";
- next;
- input .@input$;
- if (.@input$ == "Embryo") {
- mes "[Kellasus]";
- mes "Huh. You got that one";
- mes "right too. Alright, third";
- mes "question. What is the";
- mes "name of the skill, mastered";
- mes "at Skill Level 5, which allows";
- mes "you to resurrect Homunculi?";
- next;
- input .@input$;
- if (.@input$ == "Homunculus Resurrection") {
- mes "[Kellasus]";
- mes "So you have been putting";
- mes "a lot of effort in studying";
- mes "this. I really admire your";
- mes "dedication and it looks like";
- mes "you've got the potential to";
- mes "be a really great Alchemist.";
- next;
- mes "[Kellasus]";
- mes "Still, even though you're";
- mes "qualified to learn all the";
- mes "Homunculus skills, I choose";
- mes "not to teach them based on";
- mes "my own personal principles.";
- mes "Nothing can change my mind.";
- next;
- mes "[Kellasus]";
- mes "I admit that I'm proud";
- mes "of the progress you've";
- mes "made, but I just can't";
- mes "bring myself to be a part";
- mes "of what I believe to be an";
- mes "abuse of the gift of life.";
- next;
- bioeth = 8;
- mes "[Kellasus]";
- mes "There's just so much";
- mes "risk! I don't think I can";
- mes "bear to be responsible for";
- mes "any of the consequences that";
- mes "may come with the existence";
- mes "of artificially created life.";
- close;
- }
- else {
- mes "[Kellasus]";
- mes "I'm disappointed...";
- mes "I really thought you";
- mes "had learned everything";
- mes "you could about Homunculi,";
- mes "but it looks like there are a";
- mes "few gaps in your knowledge.";
- close;
- }
- }
- else {
- mes "[Kellasus]";
- mes "Hmm... It looks like";
- mes "you still haven't learned";
- mes "enough about Homunculi.";
- mes "Even if I wanted to teach";
- mes "you, it looks like you're";
- mes "not quite ready to learn...";
- close;
- }
- }
- else {
+ input(.@input$);
+ if (.@input$ != "Vaporize") {
mes "[Kellasus]";
mes "You'd be able to get";
mes "the first question right";
@@ -1524,6 +1449,75 @@ lhz_in01,224,140,3 script Kellasus#qsk_al 1_M_LIBRARYMASTER,{
mes "find a new alchemic interest.";
close;
}
+ mes "[Kellasus]";
+ mes "Hmm, not bad. So you've";
+ mes "been studying. Now, the second";
+ mes "question. What is the item, whose name indicates a very early stage";
+ mes "of Homunculus development, used for the Call Homunculus skill?";
+ next;
+ input(.@input$);
+ if (.@input$ != "Embryo") {
+ mes "[Kellasus]";
+ mes "Hmm... It looks like";
+ mes "you still haven't learned";
+ mes "enough about Homunculi.";
+ mes "Even if I wanted to teach";
+ mes "you, it looks like you're";
+ mes "not quite ready to learn...";
+ close;
+ }
+ mes "[Kellasus]";
+ mes "Huh. You got that one";
+ mes "right too. Alright, third";
+ mes "question. What is the";
+ mes "name of the skill, mastered";
+ mes "at Skill Level 5, which allows";
+ mes "you to resurrect Homunculi?";
+ next;
+ input(.@input$);
+ if (.@input$ != "Homunculus Resurrection") {
+ mes "[Kellasus]";
+ mes "I'm disappointed...";
+ mes "I really thought you";
+ mes "had learned everything";
+ mes "you could about Homunculi,";
+ mes "but it looks like there are a";
+ mes "few gaps in your knowledge.";
+ close;
+ }
+ mes "[Kellasus]";
+ mes "So you have been putting";
+ mes "a lot of effort in studying";
+ mes "this. I really admire your";
+ mes "dedication and it looks like";
+ mes "you've got the potential to";
+ mes "be a really great Alchemist.";
+ next;
+ mes "[Kellasus]";
+ mes "Still, even though you're";
+ mes "qualified to learn all the";
+ mes "Homunculus skills, I choose";
+ mes "not to teach them based on";
+ mes "my own personal principles.";
+ mes "Nothing can change my mind.";
+ next;
+ mes "[Kellasus]";
+ mes "I admit that I'm proud";
+ mes "of the progress you've";
+ mes "made, but I just can't";
+ mes "bring myself to be a part";
+ mes "of what I believe to be an";
+ mes "abuse of the gift of life.";
+ next;
+ bioeth = 8;
+ mes "[Kellasus]";
+ mes "There's just so much";
+ mes "risk! I don't think I can";
+ mes "bear to be responsible for";
+ mes "any of the consequences that";
+ mes "may come with the existence";
+ mes "of artificially created life.";
+ close;
}
if (BaseJob == Job_Alchemist && bioeth > 3) {
mes "[Kellasus]";
diff --git a/npc/quests/skills/archer_skills.txt b/npc/quests/skills/archer_skills.txt
index afaa6158b..8f2d50991 100644
--- a/npc/quests/skills/archer_skills.txt
+++ b/npc/quests/skills/archer_skills.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) IVBela
-//= Copyright (C) Silentdragon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) IVBela
+//= Copyright (C) Silentdragon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/quests/skills/assassin_skills.txt b/npc/quests/skills/assassin_skills.txt
index 7e03eac2f..508ef88e7 100644
--- a/npc/quests/skills/assassin_skills.txt
+++ b/npc/quests/skills/assassin_skills.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/bard_skills.txt b/npc/quests/skills/bard_skills.txt
index 6df565fb2..fc71467d9 100644
--- a/npc/quests/skills/bard_skills.txt
+++ b/npc/quests/skills/bard_skills.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/blacksmith_skills.txt b/npc/quests/skills/blacksmith_skills.txt
index 9f77fb7ea..012818ff5 100644
--- a/npc/quests/skills/blacksmith_skills.txt
+++ b/npc/quests/skills/blacksmith_skills.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/crusader_skills.txt b/npc/quests/skills/crusader_skills.txt
index eb17fe1f2..fc078f742 100644
--- a/npc/quests/skills/crusader_skills.txt
+++ b/npc/quests/skills/crusader_skills.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) DracoRPG
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) DracoRPG
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/dancer_skills.txt b/npc/quests/skills/dancer_skills.txt
index 4da84d035..f0e6acbfc 100644
--- a/npc/quests/skills/dancer_skills.txt
+++ b/npc/quests/skills/dancer_skills.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Yommy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Yommy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/hunter_skills.txt b/npc/quests/skills/hunter_skills.txt
index 488e6eaf8..f40093f9d 100644
--- a/npc/quests/skills/hunter_skills.txt
+++ b/npc/quests/skills/hunter_skills.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) IVBela
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) IVBela
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/knight_skills.txt b/npc/quests/skills/knight_skills.txt
index 1230ecab9..b72565f4c 100644
--- a/npc/quests/skills/knight_skills.txt
+++ b/npc/quests/skills/knight_skills.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/mage_skills.txt b/npc/quests/skills/mage_skills.txt
index 2749790f8..afcddd0a6 100644
--- a/npc/quests/skills/mage_skills.txt
+++ b/npc/quests/skills/mage_skills.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) IVBela
-//= Copyright (C) Silentdragon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) IVBela
+//= Copyright (C) Silentdragon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/skills/merchant_skills.txt b/npc/quests/skills/merchant_skills.txt
index 5b92233f1..85dff4d0a 100644
--- a/npc/quests/skills/merchant_skills.txt
+++ b/npc/quests/skills/merchant_skills.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DracoRPG
-//= Copyright (C) IVBela
-//= Copyright (C) Silentdragon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DracoRPG
+//= Copyright (C) IVBela
+//= Copyright (C) Silentdragon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/skills/monk_skills.txt b/npc/quests/skills/monk_skills.txt
index c494511bd..5ac78154e 100644
--- a/npc/quests/skills/monk_skills.txt
+++ b/npc/quests/skills/monk_skills.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DracoRPG
-//= Copyright (C) Samuray22
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DracoRPG
+//= Copyright (C) Samuray22
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/priest_skills.txt b/npc/quests/skills/priest_skills.txt
index a463686da..ce391180f 100644
--- a/npc/quests/skills/priest_skills.txt
+++ b/npc/quests/skills/priest_skills.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/rogue_skills.txt b/npc/quests/skills/rogue_skills.txt
index aafa899da..c31fc1764 100644
--- a/npc/quests/skills/rogue_skills.txt
+++ b/npc/quests/skills/rogue_skills.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/sage_skills.txt b/npc/quests/skills/sage_skills.txt
index cb7dd81be..adc30eccc 100644
--- a/npc/quests/skills/sage_skills.txt
+++ b/npc/quests/skills/sage_skills.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) 5511
-//= Copyright (C) IVBela
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) 5511
+//= Copyright (C) IVBela
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/skills/swordman_skills.txt b/npc/quests/skills/swordman_skills.txt
index 6128b7fc8..a7dfcb190 100644
--- a/npc/quests/skills/swordman_skills.txt
+++ b/npc/quests/skills/swordman_skills.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) IVBela
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Silentdragon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) IVBela
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Silentdragon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/skills/thief_skills.txt b/npc/quests/skills/thief_skills.txt
index b69279054..d4da4ba58 100644
--- a/npc/quests/skills/thief_skills.txt
+++ b/npc/quests/skills/thief_skills.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Masao
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) IVBela
-//= Copyright (C) Silentdragon
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Masao
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) IVBela
+//= Copyright (C) Silentdragon
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
//=
//= 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/npc/quests/skills/wizard_skills.txt b/npc/quests/skills/wizard_skills.txt
index 31a9489f0..b9ac04fae 100644
--- a/npc/quests/skills/wizard_skills.txt
+++ b/npc/quests/skills/wizard_skills.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Toms
-//= Copyright (C) DracoRPG
-//= Copyright (C) Reddozen
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Toms
+//= Copyright (C) DracoRPG
+//= Copyright (C) Reddozen
+//= Copyright (C) Lupus
//=
//= 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/npc/quests/thana_quest.txt b/npc/quests/thana_quest.txt
index ea01a926d..7d4193107 100644
--- a/npc/quests/thana_quest.txt
+++ b/npc/quests/thana_quest.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1048,7 +1048,7 @@ tha_t04,195,195,0 script Rune Device#tt2 HIDDEN_NPC,3,3,{
}
while (1) {
while (1) {
- input .@input;
+ input(.@input);
if (.@input < 100 || .@input > 999) {
mes "[Screen]";
mes "Number input";
@@ -1060,8 +1060,8 @@ tha_t04,195,195,0 script Rune Device#tt2 HIDDEN_NPC,3,3,{
}
.@input100 = .@input / 100;
.@input10 = (.@input % 100) / 10;
- if (((.@input100 > 0) && (.@input10 > 0)) && (.@input % 10 > 0)) {
- if (((.@input100 != .@input10) && (.@input100 != .@input % 10)) && (.@input10 != .@input % 10))
+ if (.@input100 > 0 && .@input10 > 0 && .@input % 10 > 0) {
+ if (.@input100 != .@input10 && .@input100 != .@input % 10 && .@input10 != .@input % 10)
break;
mes "[Screen]";
mes "Violation of number";
@@ -1082,12 +1082,18 @@ tha_t04,195,195,0 script Rune Device#tt2 HIDDEN_NPC,3,3,{
next;
.@strike = 0;
.@ball = 0;
- if (.@yagu100 == .@input100) .@strike += 1;
- if (.@yagu10 == .@input10) .@strike += 1;
- if (.@yagu1 == .@input % 10) .@strike += 1;
- if ((.@yagu100 == .@input10) || (.@yagu100 == .@input % 10)) .@ball += 1;
- if ((.@yagu10 == .@input100) || (.@yagu10 == .@input % 10)) .@ball += 1;
- if ((.@yagu1 == .@input100) || (.@yagu1 == .@input10)) .@ball += 1;
+ if (.@yagu100 == .@input100)
+ .@strike += 1;
+ if (.@yagu10 == .@input10)
+ .@strike += 1;
+ if (.@yagu1 == .@input % 10)
+ .@strike += 1;
+ if (.@yagu100 == .@input10 || .@yagu100 == .@input % 10)
+ .@ball += 1;
+ if (.@yagu10 == .@input100 || .@yagu10 == .@input % 10)
+ .@ball += 1;
+ if (.@yagu1 == .@input100 || .@yagu1 == .@input10)
+ .@ball += 1;
if (.@strike == 3) {
mes "[Screen]";
mes "Input number accepted.";
@@ -1193,8 +1199,8 @@ tha_t05,62,179,0 script Brilliant Statue#tt3 HIDDEN_NPC,3,3,{
mes "I'll try the left wing first.";
mes "What key should I put in?";
next;
- input .@inputstr$;
- if ((.@inputstr$ != "Red Key") && (.@inputstr$ != "red key")) {
+ input(.@inputstr$);
+ if (.@inputstr$ != "Red Key" && .@inputstr$ != "red key") {
mes "It doesn't fit into the crack.";
close;
}
@@ -1204,8 +1210,8 @@ tha_t05,62,179,0 script Brilliant Statue#tt3 HIDDEN_NPC,3,3,{
mes "["+strcharinfo(PC_NAME)+"]";
mes "Now the right side...";
next;
- input .@inputstr$;
- if ((.@inputstr$ != "Yellow Key") && (.@inputstr$ != "yellow key")) {
+ input(.@inputstr$);
+ if (.@inputstr$ != "Yellow Key" && .@inputstr$ != "yellow key") {
mes "It doesn't fit into the crack.";
close;
}
@@ -2143,7 +2149,7 @@ OnTouch:
mes "There is a fragment missing from the crest of the Seal.";
mes "Surely I saw a familiar fragment before...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
.@exact_tt$ = "Fragment of "+.@j$;
if (countitem(.@i[0]) > 0 && .@exact_tt$ == .@inputstr$) {
mes "^3355FFYou insert the";
diff --git a/npc/quests/the_sign_quest.txt b/npc/quests/the_sign_quest.txt
index 4bf60993a..5949c3558 100644
--- a/npc/quests/the_sign_quest.txt
+++ b/npc/quests/the_sign_quest.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) tr0n
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Kargha
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) tr0n
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Kargha
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) SinSloth
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2815,7 +2815,7 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes "A-anyway, please tell me";
mes "what you think it might be.";
next;
- input .@input$;
+ input(.@input$);
if (compare(.@input$,"red gemstone")) {
mes "[Sir Jore]";
mes "What...! Huh.";
@@ -2848,14 +2848,12 @@ aldeba_in,155,101,3 script Sir Jore#sign 1_M_SIGNALCHE,7,7,{
mes ""+ strcharinfo(PC_NAME) +". Farewell~";
close;
}
- else {
- mes "[Sir Jore]";
- mes "Err...?";
- mes "I don't think";
- mes "I quite understood";
- mes "you. What did you say?";
- close;
- }
+ mes "[Sir Jore]";
+ mes "Err...?";
+ mes "I don't think";
+ mes "I quite understood";
+ mes "you. What did you say?";
+ close;
}
else if (sign_q == 20) {
mes "[Sir Jore]";
@@ -3673,7 +3671,7 @@ geffen_in,59,74,4 script Jesqurienne#sign 1_F_SIGNZISK,{
mes "a battle of minds.";
mes "W-who are you...?";
next;
- input .@input$;
+ input(.@input$);
mes "[Jesqurienne]";
mes ""+.@input$+"...";
mes "I will remember that.";
@@ -6947,7 +6945,7 @@ geffen_in,159,48,5 script Lonely-looking Woman 4_F_05,{
mes "W-wait!";
mes "I'm here to see...";
next;
- input .@input$;
+ input(.@input$);
if (.@input$ != "Engel Howard") {
mes "[Brenda Howard]";
mes "Huh?";
@@ -6962,23 +6960,21 @@ geffen_in,159,48,5 script Lonely-looking Woman 4_F_05,{
emotion e_ho;
close;
}
- else {
- mes "[Brenda Howard]";
- mes "Ah... I see.";
- mes "You're looking for my husband.";
- mes "My husband, my daughter and";
- mes "I just moved to Geffen from";
- mes "Prontera a while ago.";
- next;
- mes "[Brenda Howard]";
- mes "We moved to Geffen for the sake of my husband's business. Apparently, this town is closest to something he really seems to need. Whatever it is, it must be really important to his smithing work.";
- next;
- mes "[Brenda Howard]";
- mes "Oh, and if you're going to look";
- mes "for my husband, please talk to my daughter before you go. I think she has something that she wants to give to her father...";
- sign_q = 55;
- close;
- }
+ mes "[Brenda Howard]";
+ mes "Ah... I see.";
+ mes "You're looking for my husband.";
+ mes "My husband, my daughter and";
+ mes "I just moved to Geffen from";
+ mes "Prontera a while ago.";
+ next;
+ mes "[Brenda Howard]";
+ mes "We moved to Geffen for the sake of my husband's business. Apparently, this town is closest to something he really seems to need. Whatever it is, it must be really important to his smithing work.";
+ next;
+ mes "[Brenda Howard]";
+ mes "Oh, and if you're going to look";
+ mes "for my husband, please talk to my daughter before you go. I think she has something that she wants to give to her father...";
+ sign_q = 55;
+ close;
}
else if (sign_q < 57) {
mes "Ho-ho~!";
@@ -7700,8 +7696,8 @@ gef_tower,118,36,4 script Annoyed Man 1_M_WIZARD,{
mes "What are you doing here?!";
emotion e_pif;
next;
- input .@input$;
- if ((.@input$ == "Metz Brayde") || (.@input$ == "Sobbing Starlight")) {
+ input(.@input$);
+ if (.@input$ == "Metz Brayde" || .@input$ == "Sobbing Starlight") {
mes "[Dhota]";
mes "Eh?";
if (.@input$ == "Metz Brayde") {
@@ -7738,15 +7734,13 @@ gef_tower,118,36,4 script Annoyed Man 1_M_WIZARD,{
emotion e_pif;
close;
}
- else {
- mes "[Dhota]";
- mes "Say what...?";
- mes "I have no idea what";
- mes "you're talking about!";
- mes "If you've got nothing";
- mes "to say, then leave me alone!";
- close;
- }
+ mes "[Dhota]";
+ mes "Say what...?";
+ mes "I have no idea what";
+ mes "you're talking about!";
+ mes "If you've got nothing";
+ mes "to say, then leave me alone!";
+ close;
}
else {
mes "Hmmm...";
diff --git a/npc/re/airports/izlude.txt b/npc/re/airports/izlude.txt
index 1452b5814..880338c0b 100644
--- a/npc/re/airports/izlude.txt
+++ b/npc/re/airports/izlude.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
//=
//= 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/npc/re/battleground/bg_common.txt b/npc/re/battleground/bg_common.txt
index 2c47f8ed1..61ffed531 100644
--- a/npc/re/battleground/bg_common.txt
+++ b/npc/re/battleground/bg_common.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Frost
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Frost
//=
//= 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,4 +33,4 @@
//= 1.0
//=========================================================================
-morocc,145,82,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit8 4_F_JOB_KNIGHT \ No newline at end of file
+morocc,145,82,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit8 4_F_JOB_KNIGHT
diff --git a/npc/re/cities/alberta.txt b/npc/re/cities/alberta.txt
index e8ac3e499..4b1e38791 100644
--- a/npc/re/cities/alberta.txt
+++ b/npc/re/cities/alberta.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/cities/brasilis.txt b/npc/re/cities/brasilis.txt
index eb30a3225..f9c141b39 100644
--- a/npc/re/cities/brasilis.txt
+++ b/npc/re/cities/brasilis.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -94,7 +94,7 @@ brasilis,155,165,3 script Signpost#bra1 4_BULLETIN_BOARD2,{
close;
}
-brasilis,195,231,3 script Signpost#bra2 4_BULLETIN_BOARD2,{
+brasilis,191,239,3 script Signpost#bra2 4_BULLETIN_BOARD2,{
mes ":: Verass Monument ::";
close;
}
@@ -133,22 +133,22 @@ brasilis,137,77,5 script Ice-Cream Maker 4_M_03,{
mes "So how many d'ya want?";
next;
while(1) {
- input .@input; //,1,5;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Ice Cream Maker]";
mes "None?";
mes "Fine get outta the way, I have customers to serve.";
close;
}
- else if ((.@input < 0) || (.@input > 5)) {
+ if (.@input > 5) {
mes "[Ice Cream Maker]";
mes "Wow.";
mes "You ordered too much.";
mes "If you eat over 5 you might need to fight with a monster in your stomach. Calm down buddy.";
next;
+ continue;
}
- else
- break;
+ break;
}
.@icecream_hap = .@input*100;
if (Zeny < .@icecream_hap) {
diff --git a/npc/re/cities/dewata.txt b/npc/re/cities/dewata.txt
index d8bac5986..b512f81be 100644
--- a/npc/re/cities/dewata.txt
+++ b/npc/re/cities/dewata.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lemongrass
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
-//= Copyright (C) Gennosuke Kouga
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lemongrass
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
+//= Copyright (C) Gennosuke Kouga
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -489,11 +489,12 @@ dewata,89,191,6 script Small Shrine#dew1 CLEAR_NPC,{
mes "^FF00001,000 ~ 100,000 Zeny^000000";
mes "How much do you want to donate?";
next;
- input .@input,0,100000;
+ input(.@input, 0, 100000);
if (.@input < 1000) {
mes "- Cancelled. -";
close;
- } else if (.@input <= 50000)
+ }
+ if (.@input <= 50000)
.@good_luck = rand(1,10000);
else
.@good_luck = rand(1,5000);
@@ -557,7 +558,7 @@ dewata,89,191,6 script Small Shrine#dew1 CLEAR_NPC,{
case 2:
mes "What is your wish?";
next;
- input .@wish$;
+ input(.@wish$);
mes "You have made your wish for ^0000FF" + .@wish$ + "^000000 to the small shrine.";
next;
callsub L_Wish;
diff --git a/npc/re/cities/dicastes.txt b/npc/re/cities/dicastes.txt
index a00a549ac..af642d528 100644
--- a/npc/re/cities/dicastes.txt
+++ b/npc/re/cities/dicastes.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) SkittleNugget
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
-//= Copyright (C) Gennosuke Kouga
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) SkittleNugget
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
+//= Copyright (C) Gennosuke Kouga
//=
//= 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/npc/re/cities/eclage.txt b/npc/re/cities/eclage.txt
index a347b9922..3f178161b 100644
--- a/npc/re/cities/eclage.txt
+++ b/npc/re/cities/eclage.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Dastgir
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
//=
//= 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/npc/re/cities/izlude.txt b/npc/re/cities/izlude.txt
index beb7cd6d9..0ffa3817b 100644
--- a/npc/re/cities/izlude.txt
+++ b/npc/re/cities/izlude.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
//=
//= 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/npc/re/cities/jawaii.txt b/npc/re/cities/jawaii.txt
index 9b0858569..e668ffc6c 100644
--- a/npc/re/cities/jawaii.txt
+++ b/npc/re/cities/jawaii.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Daegaladh
//=
//= 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/npc/re/cities/malangdo.txt b/npc/re/cities/malangdo.txt
index 5ccb1577e..c7735af6c 100644
--- a/npc/re/cities/malangdo.txt
+++ b/npc/re/cities/malangdo.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/cities/malaya.txt b/npc/re/cities/malaya.txt
index f18bbd0af..55870361c 100644
--- a/npc/re/cities/malaya.txt
+++ b/npc/re/cities/malaya.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) DeadlySilence
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) DeadlySilence
+//= Copyright (C) Euphy
//=
//= 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/npc/re/cities/mora.txt b/npc/re/cities/mora.txt
index a58ee4463..660629507 100644
--- a/npc/re/cities/mora.txt
+++ b/npc/re/cities/mora.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Flaid
-//= Copyright (C) SuperHulk
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Flaid
+//= Copyright (C) SuperHulk
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -452,16 +452,18 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
mes "You can pay me in the currencies listed below.";
mes "Enter the sum you're willing to pay. Enter 0 if you don't want to pay anything.";
next;
- input .@input;
+ input(.@input);
if (.@input == 0) {
mes "[Raffle Philosopher]";
mes "So you don't want to hear a quote, eh?";
close;
- } else if (.@input < 100 || .@input > 1000000) {
+ }
+ if (.@input < 100 || .@input > 1000000) {
mes "[Raffle Philosopher]";
mes "You can pay between ^FF0000100 and 1000000^000000.";
close;
- } else if (Zeny < .@input) {
+ }
+ if (Zeny < .@input) {
mes "[Raffle Philosopher]";
mes "So you think this is what my time is worth?";
close;
@@ -908,7 +910,7 @@ mora,140,186,3 script Raffle Philosopher 4_M_RAFLE_OLD,{
mes "I wonder what you think";
mes "about what I've told you.";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "[Raffle Philosopher]";
mes "So you think that "+.@inputstr$+".";
next;
@@ -1146,7 +1148,7 @@ mora,43,127,3 script Innkeeper#mora_inn 4_M_RAFLE_OR,{
close;
}
case 3:
- input .@inputstr$;
+ input(.@inputstr$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "I come from a place called "+.@inputstr$+".";
next;
diff --git a/npc/re/cities/yuno.txt b/npc/re/cities/yuno.txt
index fe81450ee..44bb3efc1 100644
--- a/npc/re/cities/yuno.txt
+++ b/npc/re/cities/yuno.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/events/christmas_2013.txt b/npc/re/events/christmas_2013.txt
index 8ebf5879a..a3495d6b4 100644
--- a/npc/re/events/christmas_2013.txt
+++ b/npc/re/events/christmas_2013.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/events/halloween_2013.txt b/npc/re/events/halloween_2013.txt
index acfd60f9f..da3f67bc1 100644
--- a/npc/re/events/halloween_2013.txt
+++ b/npc/re/events/halloween_2013.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) Akkarin
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Akkarin
//=
//= 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/npc/re/events/halloween_2014.txt b/npc/re/events/halloween_2014.txt
index fbfb417bb..696507844 100644
--- a/npc/re/events/halloween_2014.txt
+++ b/npc/re/events/halloween_2014.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) erKURITA
-//= Copyright (C) Kisuka
+//= Copyright (C) 2014-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) erKURITA
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/guides/guides_alberta.txt b/npc/re/guides/guides_alberta.txt
index b15c89ddd..7fa4eff38 100644
--- a/npc/re/guides/guides_alberta.txt
+++ b/npc/re/guides/guides_alberta.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_aldebaran.txt b/npc/re/guides/guides_aldebaran.txt
index 8532c5f1f..bfe0b11d2 100644
--- a/npc/re/guides/guides_aldebaran.txt
+++ b/npc/re/guides/guides_aldebaran.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_amatsu.txt b/npc/re/guides/guides_amatsu.txt
index 2038e5e9d..02f0c9ca6 100644
--- a/npc/re/guides/guides_amatsu.txt
+++ b/npc/re/guides/guides_amatsu.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_ayothaya.txt b/npc/re/guides/guides_ayothaya.txt
index 6a4ce5ad2..867aacdf7 100644
--- a/npc/re/guides/guides_ayothaya.txt
+++ b/npc/re/guides/guides_ayothaya.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_brasilis.txt b/npc/re/guides/guides_brasilis.txt
index 1bcf51d03..ecce529d3 100644
--- a/npc/re/guides/guides_brasilis.txt
+++ b/npc/re/guides/guides_brasilis.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_comodo.txt b/npc/re/guides/guides_comodo.txt
index 6941273b3..665a21bfd 100644
--- a/npc/re/guides/guides_comodo.txt
+++ b/npc/re/guides/guides_comodo.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_dewata.txt b/npc/re/guides/guides_dewata.txt
index 00df6bf24..58d4e62f7 100644
--- a/npc/re/guides/guides_dewata.txt
+++ b/npc/re/guides/guides_dewata.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Lemongrass
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Lemongrass
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/guides/guides_dicastes.txt b/npc/re/guides/guides_dicastes.txt
index 1aa4704ca..e39e6aeb9 100644
--- a/npc/re/guides/guides_dicastes.txt
+++ b/npc/re/guides/guides_dicastes.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/guides/guides_eclage.txt b/npc/re/guides/guides_eclage.txt
index 861e42dcd..535000253 100644
--- a/npc/re/guides/guides_eclage.txt
+++ b/npc/re/guides/guides_eclage.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/guides/guides_einbroch.txt b/npc/re/guides/guides_einbroch.txt
index a2806ac91..43676b5f5 100644
--- a/npc/re/guides/guides_einbroch.txt
+++ b/npc/re/guides/guides_einbroch.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_geffen.txt b/npc/re/guides/guides_geffen.txt
index 50da8778d..c1e627ddf 100644
--- a/npc/re/guides/guides_geffen.txt
+++ b/npc/re/guides/guides_geffen.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_gonryun.txt b/npc/re/guides/guides_gonryun.txt
index 2ee4af05f..5d7069154 100644
--- a/npc/re/guides/guides_gonryun.txt
+++ b/npc/re/guides/guides_gonryun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_hugel.txt b/npc/re/guides/guides_hugel.txt
index 4604e9f2d..16659f930 100644
--- a/npc/re/guides/guides_hugel.txt
+++ b/npc/re/guides/guides_hugel.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_izlude.txt b/npc/re/guides/guides_izlude.txt
index 1bdf5a472..aa56b9f97 100644
--- a/npc/re/guides/guides_izlude.txt
+++ b/npc/re/guides/guides_izlude.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_juno.txt b/npc/re/guides/guides_juno.txt
index 3b6bc6c9c..379abd79f 100644
--- a/npc/re/guides/guides_juno.txt
+++ b/npc/re/guides/guides_juno.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_lighthalzen.txt b/npc/re/guides/guides_lighthalzen.txt
index faff34736..b3263a6c0 100644
--- a/npc/re/guides/guides_lighthalzen.txt
+++ b/npc/re/guides/guides_lighthalzen.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_louyang.txt b/npc/re/guides/guides_louyang.txt
index 0b773b168..93718e91e 100644
--- a/npc/re/guides/guides_louyang.txt
+++ b/npc/re/guides/guides_louyang.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_lutie.txt b/npc/re/guides/guides_lutie.txt
index 374c36f46..1519853b4 100644
--- a/npc/re/guides/guides_lutie.txt
+++ b/npc/re/guides/guides_lutie.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_malaya.txt b/npc/re/guides/guides_malaya.txt
index 38f67778f..fe9fa585b 100644
--- a/npc/re/guides/guides_malaya.txt
+++ b/npc/re/guides/guides_malaya.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/guides/guides_mora.txt b/npc/re/guides/guides_mora.txt
index 66a0ba86d..6e16421f8 100644
--- a/npc/re/guides/guides_mora.txt
+++ b/npc/re/guides/guides_mora.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/guides/guides_morroc.txt b/npc/re/guides/guides_morroc.txt
index a818624c5..6eace56ff 100644
--- a/npc/re/guides/guides_morroc.txt
+++ b/npc/re/guides/guides_morroc.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_moscovia.txt b/npc/re/guides/guides_moscovia.txt
index 08b1c9bd7..3511898d8 100644
--- a/npc/re/guides/guides_moscovia.txt
+++ b/npc/re/guides/guides_moscovia.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_niflheim.txt b/npc/re/guides/guides_niflheim.txt
index 6a5f62d22..74487c960 100644
--- a/npc/re/guides/guides_niflheim.txt
+++ b/npc/re/guides/guides_niflheim.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_payon.txt b/npc/re/guides/guides_payon.txt
index dfbdd6403..10654223b 100644
--- a/npc/re/guides/guides_payon.txt
+++ b/npc/re/guides/guides_payon.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_prontera.txt b/npc/re/guides/guides_prontera.txt
index 5937809e7..9de83adc6 100644
--- a/npc/re/guides/guides_prontera.txt
+++ b/npc/re/guides/guides_prontera.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_rachel.txt b/npc/re/guides/guides_rachel.txt
index 0849a8259..7f6ed689e 100644
--- a/npc/re/guides/guides_rachel.txt
+++ b/npc/re/guides/guides_rachel.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_umbala.txt b/npc/re/guides/guides_umbala.txt
index e8bb6b257..d01047fb3 100644
--- a/npc/re/guides/guides_umbala.txt
+++ b/npc/re/guides/guides_umbala.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/guides_veins.txt b/npc/re/guides/guides_veins.txt
index 541db4a03..ebeefcf92 100644
--- a/npc/re/guides/guides_veins.txt
+++ b/npc/re/guides/guides_veins.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/guides/navigation.txt b/npc/re/guides/navigation.txt
index 0ea11dab2..30b53ba17 100644
--- a/npc/re/guides/navigation.txt
+++ b/npc/re/guides/navigation.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/instances/BakonawaLake.txt b/npc/re/instances/BakonawaLake.txt
index 5226db6cc..5243219c2 100644
--- a/npc/re/instances/BakonawaLake.txt
+++ b/npc/re/instances/BakonawaLake.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/instances/BangungotHospital.txt b/npc/re/instances/BangungotHospital.txt
index 4af583879..e997612b5 100644
--- a/npc/re/instances/BangungotHospital.txt
+++ b/npc/re/instances/BangungotHospital.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/instances/BuwayaCave.txt b/npc/re/instances/BuwayaCave.txt
index 1d3eddc6a..f8ebc0575 100644
--- a/npc/re/instances/BuwayaCave.txt
+++ b/npc/re/instances/BuwayaCave.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/instances/EclageInterior.txt b/npc/re/instances/EclageInterior.txt
index 2b2117b93..838722706 100644
--- a/npc/re/instances/EclageInterior.txt
+++ b/npc/re/instances/EclageInterior.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
//=
//= 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/npc/re/instances/HazyForest.txt b/npc/re/instances/HazyForest.txt
index 24e03b22e..f8c1129c1 100644
--- a/npc/re/instances/HazyForest.txt
+++ b/npc/re/instances/HazyForest.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/instances/MalangdoCulvert.txt b/npc/re/instances/MalangdoCulvert.txt
index d61509511..387aff58b 100644
--- a/npc/re/instances/MalangdoCulvert.txt
+++ b/npc/re/instances/MalangdoCulvert.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
//=
//= 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/npc/re/instances/OldGlastHeim.txt b/npc/re/instances/OldGlastHeim.txt
index 44b5f1e61..30d17ce43 100644
--- a/npc/re/instances/OldGlastHeim.txt
+++ b/npc/re/instances/OldGlastHeim.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2018 Hercules Dev Team
-//= Copyright (C) Ridley
-//= Copyright (C) Exneval
-//= Copyright (C) Euphy
-//= Copyright (C) Heris
-//= Copyright (C) Ziu
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Ridley
+//= Copyright (C) Exneval
+//= Copyright (C) Euphy
+//= Copyright (C) Heris
+//= Copyright (C) Ziu
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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 3bbb74ad1..48889400e 100644
--- a/npc/re/instances/WolfchevLaboratory.txt
+++ b/npc/re/instances/WolfchevLaboratory.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
+//= Copyright (C) 2014-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/instances/ghost_palace.txt b/npc/re/instances/ghost_palace.txt
index 3e708dc57..1449cca5b 100644
--- a/npc/re/instances/ghost_palace.txt
+++ b/npc/re/instances/ghost_palace.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2016 Hercules Dev Team
-//= Copyright (C) Asheraf
-//= Copyright (C) pengc2010
+//= Copyright (C) 2016-2020 Hercules Dev Team
+//= Copyright (C) Asheraf
+//= Copyright (C) pengc2010
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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/instances/octopus_cave.txt b/npc/re/instances/octopus_cave.txt
index ffcf0a9fe..6b7ec4cf5 100644
--- a/npc/re/instances/octopus_cave.txt
+++ b/npc/re/instances/octopus_cave.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2018 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/instances/saras_memory.txt b/npc/re/instances/saras_memory.txt
index 25c0e619b..ded506d3a 100644
--- a/npc/re/instances/saras_memory.txt
+++ b/npc/re/instances/saras_memory.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2018 Hercules Dev Team
-//= Copyright (C) Ridley
-//= Copyright (C) Ziu
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Ridley
+//= Copyright (C) Ziu
//=
//= 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/npc/re/jobs/1-1/acolyte.txt b/npc/re/jobs/1-1/acolyte.txt
index dae96908b..70de529d2 100644
--- a/npc/re/jobs/1-1/acolyte.txt
+++ b/npc/re/jobs/1-1/acolyte.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/jobs/1-1/archer.txt b/npc/re/jobs/1-1/archer.txt
index a7ef0ef10..19dc2bbf4 100644
--- a/npc/re/jobs/1-1/archer.txt
+++ b/npc/re/jobs/1-1/archer.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/jobs/1-1/mage.txt b/npc/re/jobs/1-1/mage.txt
index 29593163b..c0571635f 100644
--- a/npc/re/jobs/1-1/mage.txt
+++ b/npc/re/jobs/1-1/mage.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/jobs/1-1/merchant.txt b/npc/re/jobs/1-1/merchant.txt
index 2682e545d..b68a00c61 100644
--- a/npc/re/jobs/1-1/merchant.txt
+++ b/npc/re/jobs/1-1/merchant.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/jobs/1-1/swordman.txt b/npc/re/jobs/1-1/swordman.txt
index 8dbadbd9d..f0d62365c 100644
--- a/npc/re/jobs/1-1/swordman.txt
+++ b/npc/re/jobs/1-1/swordman.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/jobs/1-1/thief.txt b/npc/re/jobs/1-1/thief.txt
index 393b9a13c..bb68dd5f4 100644
--- a/npc/re/jobs/1-1/thief.txt
+++ b/npc/re/jobs/1-1/thief.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/jobs/1-1e/taekwon.txt b/npc/re/jobs/1-1e/taekwon.txt
index 1befa3b73..d07face21 100644
--- a/npc/re/jobs/1-1e/taekwon.txt
+++ b/npc/re/jobs/1-1e/taekwon.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
+//= Copyright (C) 2012-2020 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/npc/re/jobs/2e/kagerou_oboro.txt b/npc/re/jobs/2e/kagerou_oboro.txt
index 5c54a0114..832876c61 100644
--- a/npc/re/jobs/2e/kagerou_oboro.txt
+++ b/npc/re/jobs/2e/kagerou_oboro.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Euphy
-//= Copyright (C) M45T3R
-//= Copyright (C) Dastgir
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Euphy
+//= Copyright (C) M45T3R
+//= Copyright (C) Dastgir
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -120,7 +120,7 @@ que_ng,21,76,0 script Wall with a Drawing#ko CLEAR_NPC,{
job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "You don't need to carry so many things.";
close;
}
@@ -128,8 +128,8 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
for (set .@i,5131; .@i<=5146; set .@i,.@i+1)
if (questprogress(.@i)) erasequest .@i;
set job_kagero,0;
- mes "[Cougar]";
- mes "You are not in the Family of the Ninja.";
+ mes "[Kuuga Gai]";
+ mes "You are not in the clan of the Ninja.";
close2;
warp "amatsu",147,136;
end;
@@ -156,28 +156,28 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
mes "^1A95E6He keeps talking and doesn't stop to answer your question.^1A95E6";
next;
mes "[Old Man]";
- mes "There once was a quiet family living in ancient Amatsu times that is never mentioned in history books or stories.";
+ mes "There once was a quiet clan living in ancient Amatsu times that is never mentioned in history books or stories.";
next;
mes "[Old Man]";
mes "They lived beneath shadows but always yearned for the bright sun, like a sunflower.";
next;
mes "[Old Man]";
- mes "A family that was loyal to their lord who they served as their bright sun.";
+ mes "A clan that was loyal to their lord who they served as their bright sun.";
next;
mes "[Old Man]";
- mes "...a very trustworthy family...";
+ mes "...a very trustworthy clan...";
next;
mes "[Old Man]";
mes "....loyal to their core...";
next;
mes "[Old Man]";
- mes "...a family of integrity...";
+ mes "...a clan of integrity...";
next;
select("What happened to them?");
mes "^1A95E6The old man looks at you with a melancholy face.^1A95E6";
next;
mes "[Old Man]";
- mes "Why are you interested in a family that was abandoned by their lord and disappeared from history itself?";
+ mes "Why are you interested in a clan that was abandoned by their lord and disappeared from history itself?";
next;
if(select("I'm a Ninja.", "I'm bored.") == 2) {
mes "[Old Man]";
@@ -188,13 +188,13 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
}
cutin "job_ko02",2;
mes "[Old Man]";
- mes "Ninja! There was a time when the family was called ninjas, too.";
+ mes "Ninja! There was a time when the clan was called ninjas, too.";
next;
erasequest 5131;
setquest 5132;
set job_kagero,2;
mes "[Old Man]";
- mes "You'll have to lend me your ear for I have so much to tell you about the family story.";
+ mes "You'll have to lend me your ear for I have so much to tell you about the clan story.";
close2;
cutin "",255;
end;
@@ -206,13 +206,13 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
mes "This goes way back to ancient times and nobody in Amatsu remembers about it.";
next;
mes "[Old Man]";
- mes "The family worked behind the scenes and basically lived their lives for their lord.";
+ mes "The clan worked behind the scenes and basically lived their lives for their lord.";
next;
mes "[Old Man]";
mes "They were very loyal doing whatever deed their lord asked for.";
next;
mes "[Old Man]";
- mes "Ninja, the family was known as the dark family but that doesn't mean they wanted to be hidden in the darkness.";
+ mes "Ninja, the clan was known as the dark clan but that doesn't mean they wanted to be hidden in the darkness.";
next;
mes "[Old Man]";
mes "They were loyal enough to be satisfied as the lord's servants but their loyalty became the problem.";
@@ -222,13 +222,13 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
mes "They are a secret organization that even the lord didn't know much about.";
next;
mes "[Old Man]";
- mes "The few that knew about the family's existence, tried to investigate them but nobody was able to reveal their true identity.";
+ mes "The few that knew about the clan's existence, tried to investigate them but nobody was able to reveal their true identity.";
next;
mes "[Old Man]";
- mes "That is why this family has grown from loyal servants to a group feared for its secrets.";
+ mes "That is why this clan has grown from loyal servants to a group feared for its secrets.";
next;
mes "[Old Man]";
- mes "The lord shunned the family and didn't call them for their service any more but they never betrayed him.";
+ mes "The lord shunned the clan and didn't call them for their service any more but they never betrayed him.";
next;
select("They were really loyal people.");
cutin "job_ko03",2;
@@ -245,20 +245,20 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
} else if (job_kagero == 3) {
cutin "job_ko03",2;
mes "[Old Man]";
- mes "The family has been living in hiding for so long since the old days. The current lord didn't even know of their existence.";
+ mes "The clan has been living in hiding for so long since the old days. The current lord didn't even know of their existence.";
next;
select(".........");
cutin "job_ko01",2;
mes "[Old Man]";
- mes "I'm Guide Gion, the last of the dark ninja family.";
+ mes "I'm Leader Gion, the last of the dark ninja clan.";
next;
if(select("I think your time has ended.", "I need your teaching.") == 1) {
cutin "job_ko04",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Are you an assassin to end this old man's life?";
next;
- mes "[Guide Gion]";
- mes "So that is why you've shown interest in my family. I won't give up easily.";
+ mes "[Leader Gion]";
+ mes "So that is why you've shown interest in my clan. I won't give up easily.";
next;
percentheal -99,0;
mes "Pow!!";
@@ -268,50 +268,50 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
end;
}
cutin "job_ko02",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Teaching...";
mes "Been a long time since I last heard that word.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I guess this little visit was not by coincidence but a start of a connection.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Sorry I am not a teacher. But!";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I can help you on the path you've chosen, the ^33CC71"+ (Sex == SEX_MALE ? "Kagerou" : "Oboro") +"^000000 path.";
next;
- mes "^1A95E6You hear Guide Gion's voice faintly as you slip away.^1A95E6";
+ mes "^1A95E6You hear Leader Gion's voice faintly as you slip away.^1A95E6";
next;
erasequest 5133;
setquest 5134;
set job_kagero,4;
- mes "[Guide Gion]";
- mes "If you are prepared to follow me, Guide Gion, on the "+ (Sex == SEX_MALE ? "Kagerou" : "Oboro") +" path, we will meet again.";
+ mes "[Leader Gion]";
+ mes "If you are prepared to follow me, Leader Gion, on the "+ (Sex == SEX_MALE ? "Kagerou" : "Oboro") +" path, we will meet again.";
close2;
warp "amatsu",147,136;
end;
} else if (job_kagero == 4) {
cutin "job_ko02",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I thought you were afraid of the ^33CC71path of the "+ (Sex == SEX_MALE ? "Kagerou" : "Oboro") +"^33CC71 and wouldn't come back.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "But from the look of your eyes, I guess I misjudged you.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You will have to train your mind and body to walk steadily in the unknown world and never fall into temptation to stay on the path.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Our ancestors had 4 tests to train our people.";
next;
select("4 tests?");
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Yes, there are 4 tests.";
mes "My ancestors trained my people with 4 tests that involve ^087FF8knowledge^000000, ^087FF8survival^000000, ^087FF8weapons^000000, and ^087FF8battle^000000.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I know you are curious what these tests are. Let me explain one by one.";
next;
while(1) {
@@ -319,75 +319,75 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
set .@test, .@test | (1<<(.@i-1));
switch (.@i) {
case 1:
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "We need to be knowledgeable in order to assist the lord. This test is for this purpose.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You can pass the test if you successfully solve more than 9 out of 10 questions.";
next;
if (.@test != 15) {
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The test will be easy to pass if you've been steady in your studies. Now what other test are you curious about?";
next;
}
break;
case 2:
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Missions aren't always easy and safe. That is why survival instincts are vital to us.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "My ancestors call this test the dice test. It is a test to advance forward depending on the dice results.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Think of it as the simple dice games people play.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "But never let your guard down during the test because it isn't called the survival test for nothing.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "There will be blocks that help you while there are blocks that will interrupt you.";
next;
if (.@test != 15) {
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "If you deal with various situations wisely, you will be able to pass the test. Now what other test are you curious about?";
next;
}
break;
case 3:
- mes "[Guide Gion]";
- mes "My family was famous for using unique weapons that we created.";
+ mes "[Leader Gion]";
+ mes "My clan was famous for using unique weapons that we created.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You would be considered blessed if you created your own unique weapon.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Creating a weapon for yourself and refining it is the purpose of this test.";
next;
if (.@test != 15) {
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I hope you will be blessed and find the best weapon for yourself. Now what other test are you curious about?";
next;
}
break;
case 4:
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Missions are not always done alone. You will often work in teams of 2 or 3 for a common goal.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The battle test is only for those that pass that knowledge, survival and weapon tests. So! It is the very last test.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Unlike the other three tests that are done alone, you will have to compete with others in this final test.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "There is only one target!!";
mes "And only the first to get to the target passes the test.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You'll be lucky if you have no competitors during your test.";
next;
if (.@test != 15) {
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "A challenge is better than explaining it a hundred times. It's the actual experience that makes you better.";
next;
}
@@ -396,13 +396,13 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
if (.@test == 15) break;
}
cutin "job_ko02",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Seeing is believing, so go on and take the challenge.";
next;
erasequest 5134;
setquest 5135;
set job_kagero,5;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Let's start right away after you are done with preparations.";
close2;
cutin "",255;
@@ -414,110 +414,110 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
set .@ko_test, .@ko_test_01 + .@ko_test_02 + .@ko_test_03;
if (.@ko_test == 0) {
cutin "job_ko03",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "It's been a while.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Since I felt happy like this. I feel young and energetic seeing young people like you challenge themselves with a new path.";
next;
- mes "[Guide Gion]";
- mes "We're done with explaining about the tests, now should I tell you my family story?";
+ mes "[Leader Gion]";
+ mes "We're done with explaining about the tests, now should I tell you my clan story?";
next;
cutin "job_ko01",2;
- mes "[Guide Gion]";
- mes "My family started from two warriors.";
+ mes "[Leader Gion]";
+ mes "My clan started from two warriors.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Kagerou, a warrior like the dancing flames of the sun.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Oboro, a warrior like the misty moonlight.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The Sun and the Moon.";
mes "The sunlight that lights up the world and the moonlight that lights up the night. Both were very similar but different warriors.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "There was a time there was an enmity between both warriors.";
next;
- mes "[Guide Gion]";
- mes "But it didn't take long for them to become one as a family.";
+ mes "[Leader Gion]";
+ mes "But it didn't take long for them to become one as a clan.";
next;
select("How did it go afterwards?");
cutin "job_ko02",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Ha ha ha. It is never fun to listen to the whole story all at once, no? Come back after passing a test and I'll continue my story.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Which test will you select as your first test?";
next;
callsub L_StartTest,select("Test of Knowledge", "Test of Survival", "Test of Weaponry"),1;
end;
} else if (.@ko_test == 2) {
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
if (.@ko_test_01 == 2) {
set .@menu$,":Test of Survival:Test of Weaponry";
mes "You've passed the Test of Knowledge.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "My friend doesn't approve of others that easily but I guess he liked you.";
next;
} else if (.@ko_test_02 == 2) {
set .@menu$,"Test of Knowledge::Test of Weaponry";
mes "You've passed the Test of Survival.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Looks like you went through hell with this test.";
next;
} else if (.@ko_test_03 == 2) {
set .@menu$,"Test of Knowledge:Test of Survival:";
mes "You've passed the Test of Weaponry.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I wonder if Joe is satisfied with your performance.";
next;
}
- select("Please continue with the family story.");
+ select("Please continue with the clan story.");
cutin "job_ko02",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Looks like you are pretty eager to hear more. Where did I leave off... Ah! I remember.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Kagerou, a warrior like the dancing flames of the sun.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Oboro, a warrior like the misty moonlight.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Both warriors weren't close at first, because personality and everything else was completely opposite of each other.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The first place they met was the battlefield. And you know how enemies greet each other on a battlefield.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "They ended up injuring each other badly.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "But what can you do? War is a war.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The friend you've laughed with yesterday is a foe that you have to fight with in a war today.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "So nobody can get along with anyone during a war.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I'll continue the story after you pass another test.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Which test will you choose for the second test?";
next;
callsub L_StartTest,select(.@menu$),2;
end;
} else if (.@ko_test == 4) {
cutin "job_ko04",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
if (.@ko_test_01 == 2 && .@ko_test_02 == 2) {
set .@last_test,3;
mes "You've passed the ^339CCCTests of Knowledge and Survival^000000!";
@@ -529,96 +529,96 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
mes "You've passed the ^339CCCTests of Survival and Weaponry^000000!";
}
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You are already done with two tests. Hope you've learned a lot from them.";
next;
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Shall we continue with the story?";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Kagerou, a warrior like the dancing flames of the sun.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Oboro, a warrior like the misty moonlight.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I think I left off when the two warriors met at the battlefield as enemies.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The long war ended eventually but the wounds and pain of those that survived had just started.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "So these two warriors started to embrace and heal the war wounds together and became one.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "There is a backstory of a man appearing in front of them and winning the loyalty from both warriors.";
next;
select("Who is this man?");
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "There isn't much known about this man. Only a short mentioning of the two warriors pledging their allegiance.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Maybe current generations like me are the ancestors of the current Amatsu lord? But this is only an assumption.";
next;
- mes "[Guide Gion]";
- mes "I'm almost at the end of my family story. Come back after you've passed the third test and I will tell you the rest.";
+ mes "[Leader Gion]";
+ mes "I'm almost at the end of my clan story. Come back after you've passed the third test and I will tell you the rest.";
next;
callsub L_StartTest,.@last_test,3;
end;
} else if (.@ko_test == 6) {
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You've gone through three tests leaving only one to pass.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "As I've told you before, the last test is different because you have to compete against others.";
next;
select("Will you continue the story?");
cutin "job_ko02",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Ha ha ha. I will finish the story.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Kagerou, a warrior like the dancing flames of the sun.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Oboro, a warrior like the misty moonlight.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "It is told that the man that earned the loyalty of the two warriors was a humorous person.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "He like the jokes and conversations better than quarrels and he liked women over men.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Hmm... I don't know why this part of the story was kept alive all these years but this man wanted to bring these two warriors together.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Both warriors did travel together after the war but kept an awkward distance from each other.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "They must have had their reasons but their lord would send them out to a difficult mission together, put them in a secret room together and all sorts of situations together.";
next;
select("Sounds like an odd person.");
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Yes, he was. And his efforts didn't go in vain since the two warriors eventually got acquainted and married.";
next;
- mes "[Guide Gion]";
- mes "This is how the family started.";
+ mes "[Leader Gion]";
+ mes "This is how the clan started.";
next;
select("What happened after?");
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Sadly, the next part of story was purposely discontinued.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I think it's because someone wanted us to let go of the past and move forward.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "That's that. Now shouldn't you be preparing for the last test?";
next;
set job_kagero,6;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "But you must be tired from all the tests so far. Take a rest.";
close2;
cutin "",255;
@@ -631,12 +631,12 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
set .@test_ko$, "Survival";
else if (.@ko_test_03 == 1)
set .@test_ko$, "Weaponry";
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Weren't you taking the Test of " + .@test_ko$ + " just now?";
next;
switch(select("I want to go back to test site.", "Ah... no.")) {
case 1:
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The Test of " + .@test_ko$ + " site is over here.";
close2;
if (.@ko_test_01 == 1)
@@ -647,7 +647,7 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
warp "job_ko",121,129;
end;
case 2:
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The village is over here.";
close2;
warp "amatsu",147,136;
@@ -656,39 +656,39 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
}
} else if (job_kagero == 6) {
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You've come back already? You could have rested more. Is there a reason to hurry?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
cutin "job_ko03",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Because of ^B24E59" + .@inputstr$ + "^000000?";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I have to admit, I don't understand you now.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "But since you've gone through much, I'm sure you will do good with the final test.";
next;
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Now! No more small talk. I'll let you know what the target is for the Test of Battle.";
next;
- mes "[Guide Gion]";
- mes "The target is a monster called the ^FF0000Family Secret^000000.";
+ mes "[Leader Gion]";
+ mes "The target is a monster called the ^FF0000Clan Secret^000000.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You will have to be careful because there are many similiar shaped and named monsters in test site.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "And if you are lucky, there will be others targeting the monster.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "May the blessings of '" + (Sex == SEX_MALE ? "Kagerou, dancing sun" : "Oboro, misty moonlight") + "' be with you.";
next;
setquest 5146;
set job_kagero,7;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Then let's go to the battle test field.";
close2;
switch(rand(3)) {
@@ -699,12 +699,12 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
end;
} else if (job_kagero == 7 || job_kagero == 8) {
cutin "job_ko03",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I see you are in the middle of the ^339CCCTest of Battle^000000. Will you go back to the test site?";
next;
switch(select("Go back to the test site.", "Visit the village.")) {
case 1:
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The test site is over here.";
close2;
switch(rand(3)) {
@@ -714,7 +714,7 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
}
end;
case 2:
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The village is over here.";
close2;
cutin "",255;
@@ -722,7 +722,7 @@ job_ko,25,115,4 script Old Man#ko 4_M_KAGE_OLD,{
}
} else {
cutin "job_ko03",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You should not be here. Leave!";
close2;
warp "amatsu",147,136;
@@ -737,14 +737,14 @@ L_StartTest:
case 2: set .@str$,"You are taking the ^339CCCTest of %s^000000 as the second test? "; break;
case 3: set .@str$,"Your third test is the ^339CCCTest of %s^000000! "; break;
}
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
switch (getarg(0)) {
case 1:
mes sprintf(.@str$ + "Then I will get to see a familiar face after so long...","Knowledge");
next;
select("Familiar face?");
setquest 5136;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Ha ha ha. You'll know when we get there. The Test of Knowledge is taken over here.";
close2;
warp "job_ko",72,128;
@@ -753,7 +753,7 @@ L_StartTest:
mes sprintf(.@str$ + "It's a lonesome test that you have to face alone.","Survival");
next;
setquest 5137;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "But I believe you can handle it. The Test of Survival is taken over here.";
close2;
warp "job_ko",62,16;
@@ -766,7 +766,7 @@ L_StartTest:
getitem "Phracon", 1;
mes "You receive 5 Iron Ore and 1 Phracon.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You will find these useful. The Test of Weaponry is taken over here.";
close2;
warp "job_ko",121,129;
@@ -775,74 +775,74 @@ L_StartTest:
}
//== Test of Knowledge =====================================
-job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{
+job_ko,81,124,4 script Kuuga Gai#ko 4_M_JOB_ASSASSIN,{
if (BaseJob != Job_Ninja) {
for (set .@i,5131; .@i<=5146; set .@i,.@i+1)
if (questprogress(.@i)) erasequest .@i;
set job_kagero,0;
- mes "[Cougar]";
- mes "Sorry, your family is not same as ours, is there something wrong?";
+ mes "[Kuuga Gai]";
+ mes "Sorry, your clan is not same as ours, is there something wrong?";
close2;
warp "amatsu",147,136;
end;
}
if (job_kagero == 5) {
if (MaxWeight - Weight < 1000 || checkweight("Knife",1) == 0) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "This is a test of knowledge, so why did you bring so many things?";
close;
}
set .@ko_test_01, questprogress(5136);
set .@ko_test_01_1, questprogress(5139);
if (.@ko_test_01 == 1 && .@ko_test_01_1 == 0) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "It's been a while.";
next;
select("Aren't you...");
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "I remember you from before looking for the way of the ninja.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "You've grown this strong already?";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Ha ha ha-";
mes "A truly determined youth! I like that.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Good! The test you are about to take is the ^339CCCTest of Knowledge^000000.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "I hope you haven't been lazy with your studies while focusing on getting stronger?";
next;
switch(select("Yes", "No")) {
case 1:
setquest 5139;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "That's a relief. Let me know when you are ready to start the test.";
close;
case 2:
setquest 5139;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "So you were all talk? Well, let me know when you are ready then.";
close;
}
} else if (.@ko_test_01 == 1 && .@ko_test_01_1 == 1) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "I'm ready at my end. Are you ready for the test?";
next;
if(select("Yes", "No") == 2) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Well, what can I do but wait for you.";
close;
}
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "This isn't your first test, is it?";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "You only need to choose the correct answer to my questions.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Let's start.";
next;
@@ -862,9 +862,9 @@ job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{
deletearray .@n[10],getarraysize(.@n) - .@questions;
freeloop(0);
- set @job_ko_cougar,0;
+ set @job_ko_kuuga,0;
for (set .@i,1; .@i<=.@questions; set .@i,.@i+1) {
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes (.@i < .@questions)?"Question number "+.@i+":":"Last question:";
switch (.@n[.@i-1]) {
case 1: callsub L_Question,"What is the DEX + LUK total for a Job Master?",2,"8:10:12:14"; break;
@@ -918,67 +918,67 @@ job_ko,81,124,4 script Cougar#ko 4_M_JOB_ASSASSIN,{
case 49: callsub L_Question,"Which of the following blacksmiths do not create ninja items?",2,"Khaibara:Aiku:Tetsu:Toshu"; break;
case 50: callsub L_Question,"What is the name of the suspicious man you can meet during the Ninja job change quest?",3,"Red Leopard Jack:Black Leopard Jack:Red Leopard Joe:Black Leopard Joe"; break;
default:
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "An unknown error has occurred.";
mes "Please contact customer service.";
close;
}
}
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "You're through all 10 questions. Wasn't so bad! The important part starts now.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "... ... ...";
next;
- if (@job_ko_cougar < 90) {
- mes "[Cougar]";
+ if (@job_ko_kuuga < 90) {
+ mes "[Kuuga Gai]";
mes "You fool!!";
mes "You couldn't even solve these?";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Can't believe someone who is taking a new path can be so pathetic.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "I'll give you another chance.";
mes "You will take the test again with new questions. Better pass it this time.";
} else {
- mes "[Cougar]";
- mes "Hmm. " + (@job_ko_cougar) + "?";
+ mes "[Kuuga Gai]";
+ mes "Hmm. " + (@job_ko_kuuga) + "?";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Well, looks like you weren't lazy with your studies.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "What? Proud of yourself for solving these questions?";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "You still have a long way to go and this is only a small fraction of it.";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Well... I'm curious how far your strong will can take you through other tests.";
next;
completequest 5136;
erasequest 5139;
- mes "[Cougar]";
- mes "I'll let you go now so go report back to Guide Gion with your results.";
+ mes "[Kuuga Gai]";
+ mes "I'll let you go now so go report back to Leader Gion with your results.";
close2;
warp "job_ko",16,113;
end;
}
- set @job_ko_cougar,0;
+ set @job_ko_kuuga,0;
close;
} else if (.@ko_test_01 == 2 && .@ko_test_01_1 == 0) {
- mes "[Cougar]";
- mes "I'll let you go now so go report back to Guide Gion with your results.";
+ mes "[Kuuga Gai]";
+ mes "I'll let you go now so go report back to Leader Gion with your results.";
close2;
warp "job_ko",16,113;
end;
}
}
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "How did you get here?";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "It's my duty to get rid of you.";
mes "^000099(He's a short, silent man.)^000000";
mes "This will push you back!";
@@ -991,7 +991,7 @@ L_Question:
mes getarg(0);
next;
if(select(getarg(2)) == getarg(1))
- set @job_ko_cougar, @job_ko_cougar + 10;
+ set @job_ko_kuuga, @job_ko_kuuga + 10;
return;
}
@@ -1934,7 +1934,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{
if (questprogress(.@i)) erasequest .@i;
set job_kagero,0;
mes "[Red Leopard Joe]";
- mes "Sorry, your family is not the same as ours, is there something wrong?";
+ mes "Sorry, your clan is not the same as ours, is there something wrong?";
close2;
warp "amatsu",147,136;
end;
@@ -1959,17 +1959,17 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{
next;
select("Long time indeed, Joe.");
mes "[Red Leopard Joe]";
- mes "You aren't surprised I'm here. Did you meet ^0237FDCougar^000000 before coming here?";
+ mes "You aren't surprised I'm here. Did you meet ^0237FDKuuga Gai^000000 before coming here?";
next;
mes "[Red Leopard Joe]";
mes "Don't like it that I'm not the first one you visited but that is not important.";
next;
mes "[Red Leopard Joe]";
mes "Alright, " + strcharinfo(PC_NAME) + "!";
- mes "Welcome to the workshop where weapons are created for the family.";
+ mes "Welcome to the workshop where weapons are created for the clan.";
next;
mes "[Red Leopard Joe]";
- mes "Our family has been creating and using unique weapons to serve our secret missions since ancient times.";
+ mes "Our clan has been creating and using unique weapons to serve our secret missions since ancient times.";
next;
select("Really? At Einbroch?");
mes "[Red Leopard Joe]";
@@ -1979,7 +1979,7 @@ job_ko,127,125,4 script Red Leopard Joe#ko 4_M_JOB_ASSASSIN,{
mes "Yes. Einbroch is known as an industrial city, the city of great blacksmiths create new technology.";
next;
mes "[Red Leopard Joe]";
- mes "My mission is to analyze their technology and report back to the family.";
+ mes "My mission is to analyze their technology and report back to the clan.";
next;
mes "[Red Leopard Joe]";
mes "I spoke more than I intended to.";
@@ -2503,44 +2503,44 @@ job_ko,127,121,0 duplicate(Refinement Tools#ko_01) Refinement Tools#ko_02 CLEAR_
//== Test of Battle ========================================
job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{
if (MaxWeight - Weight < 2000 || checkweight("Knife",1) == 0) {
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You don't need so many things now!";
close;
}
if (job_kagero == 7) {
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Looks like you haven't taken care of the target yet.";
next;
- mes "[Guide Gion]";
- mes "I'll tell you once more. The target is the ^FF0000Family Secret^000000.";
+ mes "[Leader Gion]";
+ mes "I'll tell you once more. The target is the ^FF0000Clan Secret^000000.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Of course the path will be difficult, so continue searching!";
close2;
cutin "",255;
end;
} else if (job_kagero == 8) {
cutin "job_ko02",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Looks like you've taken care of the target. Hmm.";
next;
if (checkmount()) {
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "But please get down from your frog. Otherwise I can't continue!";
close2;
cutin "",255;
end;
}
if (BaseLevel < 99 || JobLevel < 70) {
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "How did you get weaker? Come back once you've regained your previous levels.";
close2;
cutin "",255;
end;
}
if (SkillPoint != 0) {
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "Please come back after using all your Skill Points.";
close2;
cutin "",255;
@@ -2548,38 +2548,38 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{
}
mapannounce "job_ko","[Gion] Interrupting the Test of Battle.",bc_map;
cutin "job_ko04",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "The Test of Battle will be put off for a while. Don't worry because this does not have affect to other tests.";
next;
mapannounce "job_ko","[Gion] My Friend " + strcharinfo(PC_NAME) + " made it to " + (Sex == SEX_MALE ? "Kagerou" : "Oboro") + " Path. Congratulations!!",bc_map;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "My friend " + strcharinfo(PC_NAME) + " made it to " + (Sex == SEX_MALE ? "Kagerou" : "Oboro") + " Path. Congratulations!!";
next;
cutin "job_ko02",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "It is pleasant to meet a youth that is walking through a new path.";
next;
mes "[Someone's Voice]";
mes "Wait for a while, Gion.";
next;
- donpcevent "Cougar#ko2::OnEnable";
+ donpcevent "Kuuga Gai#ko2::OnEnable";
donpcevent "Red Leopard Joe#ko2::OnEnable";
cutin "job_ko04",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I'm sorry I almost forgot about you two. Do you have anything to share with " + strcharinfo(PC_NAME) + "?";
next;
cutin "",255;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "Hmm... Embarrassing... to speak so suddenly...";
next;
- mes "[Cougar]";
- mes strcharinfo(PC_NAME) + ", you are now a proud member of our family. Always hold your head high and...";
+ mes "[Kuuga Gai]";
+ mes strcharinfo(PC_NAME) + ", you are now a proud member of our clan. Always hold your head high and...";
next;
- mes "[Cougar]";
+ mes "[Kuuga Gai]";
mes "^777777(Gai's voice fades out.)^000000.";
mes "I'm sorry I strangled you when we first met.";
next;
- donpcevent "Cougar#ko2::OnDisable";
+ donpcevent "Kuuga Gai#ko2::OnDisable";
mes "[Red Leopard Joe]";
mes "Puhahaha! Gai is all talk. I know I was know valuable to you than that Gai.";
next;
@@ -2600,17 +2600,17 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{
mes "I named your weapons on my own but I know you'll like the name.";
next;
mes "[Red Leopard Joe]";
- mes "Guide Gion, please continue.";
+ mes "Leader Gion, please continue.";
next;
cutin "job_ko01",2;
donpcevent "Red Leopard Joe#ko2::OnDisable";
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I don't have much to add because Gai and Joe said it all.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I'm just sorry that the environment of all these tests could have been better for our later generation.";
next;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You only need to look forward and never turn back.";
next;
for (set .@i,5131; .@i<=5146; set .@i,.@i+1)
@@ -2619,21 +2619,21 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{
getnameditem .@item,strcharinfo(PC_NAME);
jobchange(Sex == SEX_MALE ? Job_Kagerou : Job_Oboro);
donpcevent "Summon Target#ko::OnEnable";
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I hope the blessings of Kagerou, dancing sun and Oboro, misty moonlight will be with you on your journey ahead.";
close2;
warp "que_ng",21,71;
end;
} else if (job_kagero == 9) {
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "I hope the blessings of Kagerou, dancing sun and Oboro, misty moonlight will be with you on your journey ahead.";
close2;
warp "que_ng",21,71;
end;
} else {
cutin "job_ko01",2;
- mes "[Guide Gion]";
+ mes "[Leader Gion]";
mes "You should not be here. Please leave!";
close2;
warp "amatsu",147,136;
@@ -2641,16 +2641,16 @@ job_ko,148,46,4 script Guide Gion#ko2 4_M_KAGE_OLD,{
}
}
-job_ko,151,47,4 script Cougar#ko2 4_M_JOB_ASSASSIN,{
- mes "[Cougar]";
+job_ko,151,47,4 script Kuuga Gai#ko2 4_M_JOB_ASSASSIN,{
+ mes "[Kuuga Gai]";
mes "Congratulation for choosing the road of development!";
close;
OnInit:
OnDisable:
- disablenpc "Cougar#ko2";
+ disablenpc "Kuuga Gai#ko2";
end;
OnEnable:
- enablenpc "Cougar#ko2";
+ enablenpc "Kuuga Gai#ko2";
end;
}
@@ -2684,7 +2684,7 @@ OnEnable:
case 6: set .@mob,1049; break;
case 7: set .@mob,1050; break;
}
- areamonster "job_ko",120,30,160,70,"Family Secret",.@mob,1,"Summon Target#ko::OnMyMobDead";
+ areamonster "job_ko",120,30,160,70,"Clan Secret",.@mob,1,"Summon Target#ko::OnMyMobDead";
end;
OnDisable:
initnpctimer;
@@ -2706,25 +2706,25 @@ OnInit:
donpcevent "Summon Fake#ko::OnEnable";
end;
OnEnable:
- areamonster "job_ko",120,30,160,70,"Family's Legacy",1002,5,"Summon Fake#ko::OnMyMobDead";
+ areamonster "job_ko",120,30,160,70,"Clan's Legacy",1002,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Kagerou's Memory",1002,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Oboro's Memory",1002,5,"Summon Fake#ko::OnMyMobDead";
- areamonster "job_ko",120,30,160,70,"Family's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead";
+ areamonster "job_ko",120,30,160,70,"Clan's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Oboro's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Kagerou's Mistake",1031,5,"Summon Fake#ko::OnMyMobDead";
- areamonster "job_ko",120,30,160,70,"Family's Memory",1113,5,"Summon Fake#ko::OnMyMobDead";
+ areamonster "job_ko",120,30,160,70,"Clan's Memory",1113,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Oboro's Past",1113,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Kagerou's Past",1113,5,"Summon Fake#ko::OnMyMobDead";
- areamonster "job_ko",120,30,160,70,"Family's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead";
+ areamonster "job_ko",120,30,160,70,"Clan's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Oboro's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Kagerou's Legacy",1063,5,"Summon Fake#ko::OnMyMobDead";
- areamonster "job_ko",120,30,160,70,"Family's Mistake",1010,5,"Summon Fake#ko::OnMyMobDead";
+ areamonster "job_ko",120,30,160,70,"Clan's Mistake",1010,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Oboro's Memory",1010,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Kagerou's Memory",1010,5,"Summon Fake#ko::OnMyMobDead";
- areamonster "job_ko",120,30,160,70,"Family's Past",1049,5,"Summon Fake#ko::OnMyMobDead";
+ areamonster "job_ko",120,30,160,70,"Clan's Past",1049,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Oboro's Mistake",1049,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Kagerou's Mistake",1049,5,"Summon Fake#ko::OnMyMobDead";
- areamonster "job_ko",120,30,160,70,"Family's Memory",1050,5,"Summon Fake#ko::OnMyMobDead";
+ areamonster "job_ko",120,30,160,70,"Clan's Memory",1050,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Oboro's Past",1050,5,"Summon Fake#ko::OnMyMobDead";
areamonster "job_ko",120,30,160,70,"Kagerou's Past",1050,5,"Summon Fake#ko::OnMyMobDead";
end;
diff --git a/npc/re/jobs/2e/rebellion.txt b/npc/re/jobs/2e/rebellion.txt
new file mode 100644
index 000000000..53beb11f5
--- /dev/null
+++ b/npc/re/jobs/2e/rebellion.txt
@@ -0,0 +1,1035 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//=
+//= 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/>.
+//=========================================================================
+//= Rebellion Job Quest
+//================= Description ===========================================
+//= Job change Quest from Gunslinger -> Rebellion
+//================= Current Version =======================================
+//= 1.0
+//=========================================================================
+
+job_gun,1,1,1 script Administrator1 CLEAR_NPC,{
+ callfunc("F_GM_NPC");
+ mes("Please enter the password.");
+ .@success = callfunc("F_GM_NPC", 1854, 0);
+ if (.@sucess != 1)
+ close();
+
+ mes("[Time Administrator]");
+ mes("What time would you like to return?");
+ next();
+ .@select = select("Cancel", "Test monster spawn", "Start from beginning", "Furnace Zone", "Shooting Zone", "Complete the test");
+ if (.@select == 1) {
+ close();
+ } else if (.@select == 2) {
+ donpcevent("#target::OnStart");
+ donpcevent("#nontarget::OnStart");
+ close();
+ } else if (.@select == 4) {
+ .@questComplete = 12341;
+ } else if (.@select == 5) {
+ .@questComplete = 12342;
+ } else if (.@select == 6) {
+ .@questComplete = 12344;
+ }
+ for (.@i = 12340; .@i <= 12345; .@i++) {
+ erasequest(.@i);
+ if (.@i <= .@questComplete) {
+ setquest(.@i);
+ completequest(.@i);
+ }
+ }
+ close();
+
+OnInit:
+ disablenpc(strnpcinfo(NPC_NAME));
+ end;
+}
+
+// Warps
+job_gun,56,26,0 warp rebelroom#1 2,2,einbroch,49,97
+job_gun,18,10,0 warp rebelroom#2 2,2,job_gun,81,29
+job_gun,165,22,0 warp rebelroom#3 2,2,job_gun,196,35
+job_gun,197,49,0 warp rebelroom#4 2,2,job_gun,157,21
+
+job_gun,88,144,0 warp shootingrange#1 3,3,job_gun,93,123
+job_gun,105,97,0 warp shootingrange#2 3,3,job_gun,125,98
+job_gun,156,115,0 warp shootingrange#3 3,3,job_gun,157,137
+job_gun,152,154,0 warp shootingrange#4 3,3,job_gun,135,154
+job_gun,130,146,0 warp shootingrange#5 3,3,job_gun,120,130
+
+job_gun,165,18,1 script Furnace Controller#1 CLEAR_NPC,{
+ if (Class != Job_Gunslinger) {
+ mes("Only authorized user can do the operation.");
+ close();
+ }
+ if (getstatus(SC_MONSTER_TRANSFORM, 1) != G_L_SHECIL) {
+ mes("Not an authorized user. Abort the operation.");
+ close();
+ }
+ if (questprogress(12342) != 1) {
+ mes("Not an authorized user. Abort the operation.");
+ close();
+ }
+ mes("Do you want to dredge the mold up from the furnace?");
+ next();
+ if (select("Quit.", "Begin.") == 1) {
+ mes("Switch to the Standby mode.");
+ close();
+ }
+ hideonnpc("Furnace Controller#1");
+ donpcevent("Furnace Controller#2::OnStart");
+ mes("Initializing Furnace Controller ZX-3100...");
+ close();
+
+OnInit:
+ hideoffnpc("Furnace Controller#1");
+ end;
+}
+
+job_gun,214,36,1 script Auto Anvil#1 CLEAR_NPC,{
+ if (Class != Job_Gunslinger) {
+ mes("Only authorized user can do the operation.");
+ close();
+ }
+ if (countitem(Tiny_Flame) > 0) {
+ mes("Unauthorized firearm creation has been detected. Report to Manager Elwin.");
+ close();
+ }
+ if (checkweight(Tiny_Flame, 1) == 0) {
+ mes("You have too many items, please reduce them to continue.");
+ close();
+ }
+ if (getstatus(SC_MONSTER_TRANSFORM, 1) != G_L_SHECIL || countitem(Steel_Article_) <= 4 || questprogress(12342) != 1) {
+ mes("Not an authorized user. Abort the operation.");
+ close();
+ }
+
+ mes("Do you want to use the auto anvil and shape the standard Steel Artifacts into a firearm?");
+ next();
+ if (select("Quit.", "Begin.") == 1) {
+ mes("For your safety, please step away from the auto anvil.");
+ close();
+ }
+ if (rand(1, 10) > 6) {
+ specialeffect(EF_REPAIRWEAPON);
+ mes("You have successfully created a firearm using the auto anvil. ^ff0000Please report before your transformation expires^000000.");
+ delitem(Steel_Article_, 5);
+ getitem(Tiny_Flame, 1);
+ } else {
+ specialeffect(EF_SUI_EXPLOSION);
+ mes("Failed to create a firearm.");
+ delitem(Steel_Article_, 5);
+ }
+ close();
+
+OnInit:
+ hideoffnpc("Auto Anvil#1");
+ end;
+}
+
+job_gun,165,18,1 script Furnace Controller#2 CLEAR_NPC,{
+ mes("The system is busy dredging a completed mold from the furnace.");
+ close();
+
+OnInit:
+ hideonnpc("Furnace Controller#2");
+ end;
+
+OnStart:
+ hideoffnpc("Furnace Controller#2");
+ sleep(3000);
+ mapannounce("job_gun", "Furnace Controller: Dredging a mold up from the furnace... Workers, stand by at the production line.", bc_map, "0x00ff44");
+ sleep(500);
+ .@wh_start = 0;
+ while (true) {
+ if (.@wh_start >= 30)
+ break;
+
+ .@eff_rnd = rand(1, 100);
+ if (.@eff_rnd < 33) { // 0 - 32
+ donpcevent("Heating Furnace#3::OnStart");
+ } else if (.@eff_rnd > 66) { // 67-100
+ donpcevent("Heating Furnace#4::OnStart");
+ } else { // 33-66
+ donpcevent("Heating Furnace#5::OnStart");
+ }
+ sleep(200);
+ makeitem(Steel_Article, 1, "job_gun", rand(127, 143), rand(26, 29));
+ if (rand(1, 10) > 7) {
+ makeitem(Steel_Article_, 1, "job_gun", rand(127, 143), rand(26, 29));
+ }
+ .@wh_start += 1;
+ sleep(500);
+
+ }
+ sleep(2000);
+ mapannounce("job_gun", "Furnace Controller: Finishing the operation... Entering Standby mode in 15 seconds.", bc_map, "0x00ff44");
+ sleep(15000);
+ hideonnpc("Furnace Controller#2");
+ hideoffnpc("Furnace Controller#1");
+ end;
+}
+
+job_gun,130,31,1 script Heating Furnace#3 CLEAR_NPC,{
+ end;
+
+OnStart:
+ specialeffect(EF_FIREPILLAR);
+ sleep(500);
+ specialeffect(EF_FIREPILLARBOMB);
+ end;
+}
+
+job_gun,136,31,1 script Heating Furnace#4 CLEAR_NPC,{
+ end;
+
+OnStart:
+ specialeffect(EF_FIREPILLAR);
+ sleep(500);
+ specialeffect(EF_FIREPILLARBOMB);
+ end;
+}
+
+job_gun,141,31,1 script Heating Furnace#5 CLEAR_NPC,{
+ end;
+
+OnStart:
+ specialeffect(EF_FIREPILLAR);
+ sleep(500);
+ specialeffect(EF_FIREPILLARBOMB);
+ end;
+}
+
+function script F_summonTargetMonster {
+ .@monster_id = getarg(0);
+ .@max_mob_count = getarg(1);
+ .@monster_name$ = getarg(2);
+ .@event_name$ = getarg(3);
+ while(true) {
+ .@mob_dead_num = mobcount("job_gun", .@event_name$);
+ if (.@mob_dead_num >= .@max_mob_count)
+ break;
+
+ switch(rand(1, 5)) {
+ case 1:
+ .@mobx = rand(88, 99);
+ .@moby = rand(143, 147);
+ break;
+ case 2:
+ .@mobx = rand(92, 96);
+ .@moby = rand(95, 122);
+ break;
+ case 3:
+ .@mobx = rand(143, 159);
+ .@moby = rand(99, 100);
+ break;
+ case 4:
+ .@mobx = rand(157, 158);
+ .@moby = rand(137, 160);
+ break;
+ case 5:
+ .@mobx = rand(119, 134);
+ .@moby = rand(156, 160);
+ break;
+ }
+ monster("job_gun", .@mobx, .@moby, .@monster_name$, .@monster_id, 1, .@event_name$);
+ }
+ return;
+}
+
+job_gun,1,4,1 script #target CLEAR_NPC,{
+ end;
+
+OnStart:
+ killmonster("job_gun", "#target::OnTargetDead");
+ callfunc("F_summonTargetMonster", J_REB_SHECIL1, 16, _("Standard-issue Target"), "#target::OnTargetDead");
+ end;
+
+OnInit:
+ hideonnpc("#target");
+ callfunc("F_summonTargetMonster", J_REB_SHECIL1, 16, _("Standard-issue Target"), "#target::OnTargetDead");
+ end;
+
+OnTargetDead:
+ hideonnpc("#target");
+ callfunc("F_summonTargetMonster", J_REB_SHECIL1, 16, _("Standard-issue Target"), "#target::OnTargetDead");
+ end;
+}
+
+job_gun,1,5,1 script #nontarget CLEAR_NPC,{
+ end;
+OnStart:
+ killmonster("job_gun", "#nontarget::OnNonTargetDead");
+ hideonnpc("#nontarget");
+ callfunc("F_summonTargetMonster", J_REB_SHECIL2, 56, _("Defective Target"), "#nontarget::OnNonTargetDead");
+ end;
+
+OnInit:
+ hideonnpc("#nontarget");
+ callfunc("F_summonTargetMonster", J_REB_SHECIL2, 56, _("Defective Target"), "#nontarget::OnNonTargetDead");
+ end;
+
+OnNonTargetDead:
+ hideonnpc("#nontarget");
+ callfunc("F_summonTargetMonster", J_REB_SHECIL2, 56, _("Defective Target"), "#nontarget::OnNonTargetDead");
+ end;
+}
+
+moc_fild12,261,318,3 script Suspicious Man 4_M_MOCASS2,2,2,{
+ end;
+OnTouch:
+ if (Class != Job_Gunslinger || BaseLevel < 99 || JobLevel < 70)
+ end;
+ if (questprogress(12340) < 1) {
+ mes("[Suspicious Man]");
+ mes("Finally I've found you, Vagabond Spike! Your neck is mine!");
+ next();
+ select("Say what?");
+
+ mes("[Suspicious Man]");
+ mes("*Snort* Don't pretend like you don't know. Look at this poster! You're in it!");
+ next();
+ select("I see the resemblance, but that's not me.");
+
+ mesf("[%s]", strcharinfo(PC_NAME));
+ mes("Forget the resemblance. Where did you get that poster? I've never committed a crime.");
+ next();
+ mes("[Suspicious Man]");
+ mes("I knew you'd try to lie your way out.");
+ next();
+ mes("[Suspicious Man]");
+ mes("The ^0000ffEinbroch Private Pub^000000 has released that wanted poster. You have many bounty hunters like me on your heels.");
+ next();
+ mes("[Suspicious Man]");
+ mes("I don't care if you're the right one so long as you look it and I can take you dead or alive.");
+ next();
+ } else {
+ mes("[Suspicious Man]");
+ mes("It's you again! You've got guts to come back here!");
+ next();
+ }
+ switch (select("Make a run for it.", "Fight him.")) {
+ case 1:
+ mes("^0000ffI should run for now and think about this later.^000000");
+ close2();
+ break;
+ case 2:
+ mes("^0000ffHe's not the only bounty hunter after me, if he's telling the truth. I need time to strategize.^000000");
+ close2();
+ break;
+ }
+ setquest(12340);
+ warp("moc_fild12", 186, 83);
+ end;
+}
+
+einbroch,54,97,3 script Bouncer 4_M_REBELLION,2,2,{
+ if (Class != Job_Gunslinger) {
+ mes("[Bouncer]");
+ mes("No loitering around the venue.");
+ close();
+ }
+ if (questprogress(12340) < 1) {
+ mes("[Bouncer]");
+ mes("Under construction, can't get in.");
+ close();
+ } else if (questprogress(12340) == 1) {
+ mes("[Bouncer]");
+ mes("*Gasp* You! I thought you were already captured. Ooh, doesn't matter now. You're my Get Out of Jail Free card!");
+ next();
+ select("I'm not the criminal you think I am!");
+ mes("[Bouncer]");
+ mes("You aren't?");
+ next();
+ mes("^0000ffThe bouncer examines your face.^000000");
+ next();
+ mes("[Bouncer]");
+ mes("Hm, you bear a striking resemblance, though you don't look not as menacing as that criminal Spike");
+ next();
+ select("I want to talk to the poster publisher.");
+ mes("[Bouncer]");
+ mes("Your problem is a bit out of my league. Get in. If I find out you're the real deal all along, I'll see that you'll never see the outside again.");
+ close2();
+ warp("job_gun", 81, 29);
+ } else if (questprogress(12340) > 1) {
+ mes("[Bouncer]");
+ mes("You're back. Why?");
+ next();
+ if (select("I want in.", "I was passing by.") == 2) {
+ mes("[Bouncer]");
+ mes("You're silly.");
+ close();
+ }
+ mes("[Bouncer]");
+ mes("Go ahead. Stay out of trouble.");
+ close2();
+ warp("job_gun", 70, 28);
+ }
+ end;
+}
+
+job_gun,68,33,3 script Ruthless Rebellion 4_F_REBELLION,2,2,{
+ mes("[Ruthless Rebellion]");
+ mes("Do you know how to use a gun?");
+ close();
+}
+
+job_gun,78,33,6 script Suspicious Gunslinger 4_M_JOB_BLACKSMITH,2,2,{
+ mes("[Suspicious Gunslinger]");
+ mes("... ");
+ next();
+ mes("[Quiet Gunslinger]");
+ mes("Don't say I look like a blacksmith you know.");
+ close();
+}
+
+job_gun,74,24,6 script Drunken Man 4_M_LIEMAN,2,2,{
+ mes("[Drunken Man]");
+ mes("*Hiccups* Oh, I'm the owner here.");
+ mes("Oh wait, am I in the pub or someplace else? Zzz...");
+ close();
+}
+
+job_gun,64,33,6 script Anxious Man 4_M_ALCHE_A,2,2,{
+ mes("[Anxious Man]");
+ mes("Maybe I'm in the wrong place. This place doesn't look like a pub.");
+ close();
+}
+
+job_gun,86,29,3 script Kulbertinov 4_M_REBELLION,2,2,{
+ if (Class != Job_Gunslinger) {
+ mes("[Kulbertinov]");
+ mes("Are you looking for me?");
+ close();
+ }
+ if (questprogress(12340) < 1) {
+ mes("[Kulbertinov]");
+ mes("Can I help you?");
+ close();
+ } else if (questprogress(12340) == 1) {
+ mes("[Kulbertinov]");
+ mes("What do you want?");
+ next();
+ select("I'm mistaken for a criminal!");
+ mes("[Kulbertinov]");
+ mes("Wait a minute... Mwah hah hah!");
+ next();
+ mes("^0000ffHe scans your face, then guffaws.^000000");
+ next();
+ mes("[Kulbertinov]");
+ mes("I'm sorry. For a moment, I thought Spike came back to life. He was found dead three days ago.");
+ next();
+ select("He was captured already?");
+ mes("[Kulbertinov]");
+ mes("Yes, and the bounty hunter was already paid. The news hasn't spread, and you're the spitting image of him. Go figure.");
+ next();
+ select("You have to do something!");
+ mes("[Kulbertinov]");
+ mes("I'm sorry, but I can't talk to every single bounty hunter for you. Of course, I'm willing to compensate for your inconvenience.");
+ next();
+ mes("[Kulbertinov]");
+ mes("Hey, how about you join our ranks? At the very last, you won't get shot.");
+ next();
+ select("You want me become a bounty hunter?");
+ mes("[Kulbertinov]");
+ mes("No, bounty hunting is just a pastime. We're the experts of all the firearms in the world.");
+ next();
+ mes("[Kulbertinov]");
+ mes("Carefree spirits!");
+ mes("Magical spitfires!");
+ mes("We call ourselves the ^0000ffRebellion^000000.");
+ next();
+ mes("[Kulbertinov]");
+ mes("You look like you know how to use a gun. How'd you like to join our ranks? You won't have to worry about other bounty hunters anymore too.");
+ next();
+ switch (select("Let me think it over.", "I don't think I have a choice.")) {
+ case 1:
+ mes("[Kulbertinov]");
+ mes("You can think it over and over, but the answer won't change. Just take the offer.");
+ break;
+ case 2:
+ mes("[Kulbertinov]");
+ mes("Good thinking. Might as well do it now and get it over with.");
+ break;
+ }
+ next();
+ mes("[Kulbertinov]");
+ mes("Talk to Enwin Conick. She guides drifting spirits like you to the way of the Rebellion. I'll send word to her. Ah, and don't point your gun at her.");
+ setquest(12341);
+ completequest(12340);
+ } else if (questprogress(12340) > 1) {
+ mes("[Kulbertinov]");
+ mes("Do you have business with Elwin Conick?");
+ next();
+ if (select("No.", "Send me to Elwin Conick.") == 1) {
+ mes("[Kulbertinov]");
+ mes("All right. Care for a shot of vodka?");
+ close();
+ }
+ mes("[Kulbertinov]");
+ mes("Okay, I'll let her know.");
+ }
+ close2();
+ warp("job_gun", 19, 15);
+ end;
+}
+
+job_gun,19,24,3 script Elwin Conick#1 4_F_REBELLION,2,2,{
+ if (Class != Job_Gunslinger) {
+ mes("[Elwin Conick]");
+ mes("If you don't want to join Rebellions, just get out.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ if (questprogress(12341) == 1) {
+ mes("[Elwin Conick]");
+ mes("Do you to join us Rebellions?");
+ next();
+ mes("^0000ffThe short woman with keen eyes stares into your eyes.^000000");
+ next();
+ mes("[Elwin Conick]");
+ mes("Sign here.");
+ next();
+ mes("^0000ffThe undersigned party [_____] will not speak of the test even if he or she suffers injury, mutilation, or death in an unforeseen accident that may occur during the test.^000000");
+ next();
+ select("WHAT?!");
+ mes("[Elwin Conick]");
+ mes("Do you want join us or not?");
+ next();
+ if (select("I give up.", "...I'll sign.") == 1) {
+ mes("[Elwin Conick]");
+ mes("Your choice.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ mes("[Elwin Conick]");
+ mes("Good. Now, follow me.");
+ close2();
+ warp("job_gun", 117, 41);
+ end;
+ }
+ if (questprogress(12342) == 1) {
+ mes("[Elwin Conick]");
+ mes("Do you want to try again?");
+ next();
+ if (select("I give up.", "Do it.") == 1) {
+ mes("[Elwin Conick]");
+ mes("Your choice.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ mes("[Elwin Conick]");
+ mes("Follow me.");
+ close2();
+ warp("job_gun", 117, 41);
+ end;
+ }
+ if (questprogress(12343) == 1) {
+ mes("[Elwin Conick]");
+ mes("You still have Ivan's shooting test, do you want to try again?");
+ next();
+ if (select("I give up.", "Do it.") == 1) {
+ mes("[Elwin Conick]");
+ mes("It's not worth to give up, now go out and relax.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ mes("[Elwin Conick]");
+ mes("Remember to give your best.");
+ close2();
+ warp("job_gun", 120, 130);
+ end;
+ }
+ if (questprogress(12343) > 1) {
+ mes("[Elwin Conick]");
+ mes("Ivan's shooting test have not finished yet, do you want to try again?");
+ next();
+ if (select("I give up.", "Do it.") == 1) {
+ mes("[Elwin Conick]");
+ mes("It's not worth to give up, now go out and relax.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ mes("[Elwin Conick]");
+ mes("Remember to give your best.");
+ close2();
+ warp("job_gun", 120, 130);
+ end;
+ }
+ if (questprogress(12345) == 1) {
+ mes("[Elwin Conick]");
+ mes("Ivan is waiting for you, go find him.");
+ close2();
+ warp("job_gun", 120, 130);
+ end;
+ }
+ mes("[Elwin Conick]");
+ mes("You have no more test to take. Why don't you go out and have a drink?");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+}
+
+job_gun,117,46,3 script Elwin Conick#2 4_F_REBELLION,2,2,{
+ if (Class != Job_Gunslinger) {
+ mes("[Elwin Conick]");
+ mes("If you don't want to join Rebellions, just get out.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ if (getstatus(SC_MONSTER_TRANSFORM, 1) == G_L_SHECIL) {
+ mes("^0000ffYou are already in the test form. If you have finished all your tests, report to Elwin Conick in the Assembly Room^000000.");
+ close();
+ } else if (getstatus(SC_MONSTER_TRANSFORM, 1) > 1) {
+ mes("[Elwin Conick]");
+ mes("Look at yourself, do you really want to test?");
+ next();
+ mes("^0000ffElwin see you turn into another form and she is very angry. Wait for your current form ends, and then find her again.^000000");
+ next();
+ if (select("Wait.", "Go away.") == 1) {
+ mes("[Elwin Conick]");
+ mes("It's not worth to give up, now go out and relax..");
+ close();
+ }
+ mes("[Elwin Conick]");
+ mes("Come back when you aren't in any form.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ if (questprogress(12341) == 1) {
+ .@st_job1 = countitem(Steel_Article);
+ .@st_job2 = countitem(Steel_Article_);
+ if (.@st_job1 > 0) {
+ delitem(Steel_Article, .@st_job1);
+ mes("[Elwin Conick]");
+ mes("Any leftover Steel Artifacts must be returned after the test.");
+ close();
+ }
+ if (.@st_job2 > 0) {
+ delitem(Steel_Article_, .@st_job2);
+ mes("[Elwin Conick]");
+ mes("Any leftover Steel Artifacts must be returned after the test.");
+ close();
+ }
+ if (countitem(Tiny_Flame) > 0) {
+ delitem(Tiny_Flame, 1);
+ mes("[Elwin Conick]");
+ mes("Time over. You failed the test. Let me take all your leftover test materials.");
+ close();
+ }
+ setquest(12342);
+ completequest(12341);
+ .@showDialog = true;
+ } else if (questprogress(12342) == 1) {
+ .@st_job1 = countitem(Steel_Article);
+ .@st_job2 = countitem(Steel_Article_);
+ if (.@st_job1 > 0) {
+ delitem(Steel_Article, .@st_job1);
+ mes("[Elwin Conick]");
+ mes("Any leftover Steel Artifacts must be returned after the test.");
+ close();
+ }
+ if (.@st_job2 > 0) {
+ delitem(Steel_Article_, .@st_job2);
+ mes("[Elwin Conick]");
+ mes("Time over. You failed the test. Let me take all your leftover test materials.");
+ close();
+ }
+ if (countitem(Tiny_Flame) > 0) {
+ delitem(Tiny_Flame, 1);
+ mes("[Elwin Conick]");
+ mes("Time over. You failed the test. Let me take all your leftover test materials.");
+ close2();
+ end;
+ }
+ .@showDialog = true;
+ }
+ if (.@showDialog) {
+ mes("[Elwin Conick]");
+ mes("Listen up. I'm not going to great lengths trying to explain the test to you.");
+ next();
+ select("Okay.");
+ mes("[Elwin Conick]");
+ mes("This is where the firearm molds are cast. Everywhere you can see Steel Artifacts are being produced.");
+ next();
+ mes("[Elwin Conick]");
+ mes("You'll be asked to control switches on the machine and select 5 standard Steel Artifacts.");
+ next();
+ mes("[Elwin Conick]");
+ mes("You'll then take them to the next Assembly Room and assemble them into a complete firearm. You'll be given 3 minutes to finish all that. ^0000ffTo check the elapsed time, you'll be transformed into a different job^000000.");
+ next();
+ mes("[Elwin Conick]");
+ mes("I'll be in the next room, waiting for you to bring me a complete firearm. Remember, ^0000ffyou fail the test when your transformation expires after 3 minutes^000000.");
+ montransform(G_L_SHECIL, 180000);
+ close();
+ }
+ mes("[Elwin Conick]");
+ mes("Ah? Are you lost? You need to register first and then get back here.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+}
+
+job_gun,198,39,3 script Elwin Conick#3 4_F_REBELLION,2,2,{
+ if (Class != Job_Gunslinger) {
+ mes("[Elwin Conick]");
+ mes("If you don't want to join Rebellions, just get out.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ if (questprogress(12342) != 1) {
+ mes("[Elwin Conick]");
+ mes("Ah? Are you lost? You need to register first and then get back here.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ if (getstatus(SC_MONSTER_TRANSFORM, 1) == G_L_SHECIL) {
+ if (countitem(Tiny_Flame) == 0) {
+ mes("[Elwin Conick]");
+ mes("Are you done? I don't see any completed firearm in your inventory.");
+ close();
+ }
+ delitem(Tiny_Flame, 1);
+ mes("[Elwin Conick]");
+ mes("It's shoddy but not bad, given the time. You passed.");
+ next();
+ mes("[Elwin Conick]");
+ mes("Let me take all your leftover test materials.");
+ .@st_job1 = countitem(Steel_Article);
+ .@st_job2 = countitem(Steel_Article_);
+ if (.@st_job1 > 0) {
+ delitem(Steel_Article, .@st_job1);
+ }
+ if (.@st_job2 > 0) {
+ delitem(Steel_Article_, .@st_job2);
+ }
+ next();
+ mes("[Elwin Conick]");
+ mes("Now you can move on to the next course. Ivan Sidorenko will oversee your test.");
+ completequest(12342);
+ close2();
+ warp("job_gun", 120, 133);
+ end;
+
+ } else if (getstatus(SC_MONSTER_TRANSFORM, 1) > 1) {
+ mes("[Elwin Conick]");
+ mes("Look at yourself, do you really want to test?");
+ next();
+ mes("^0000ffElwin see you turn into another form and she is very angry. Wait for your current form ends, and then find her again.^000000");
+ next();
+ if (select("Wait.", "Go away.") == 1) {
+ mes("[Elwin Conick]");
+ mes("It's not worth to give up, now go out and relax..");
+ close();
+ }
+ mes("[Elwin Conick]");
+ mes("Come back when you aren't in any form.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ } else {
+ mes("[Elwin Conick]");
+ mes("Time over. You failed the test. Let me take all your leftover test materials.");
+ .@st_job1 = countitem(Steel_Article);
+ .@st_job2 = countitem(Steel_Article_);
+ if (.@st_job1 > 0) {
+ delitem(Steel_Article, .@st_job1);
+ }
+ if (.@st_job2 > 0) {
+ delitem(Steel_Article_, .@st_job2);
+ }
+ if (countitem(Tiny_Flame) > 0) {
+ delitem(Tiny_Flame, 1);
+ }
+ next();
+ mes("[Elwin Conick]");
+ mes("Let's start again.");
+ close2();
+ warp("job_gun", 117, 41);
+ end;
+ }
+ end;
+}
+
+job_gun,120,138,3 script Ivan Sidorenko#1 4_M_REBELLION,2,2,{
+ if (Class != Job_Gunslinger) {
+ mes("[Ivan Sidorenko]");
+ mes("This is shooting test area, you can't come here as you like.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ if (questprogress(12342) < 2) {
+ mes("[Ivan Sidorenko]");
+ mes("There seems to be a mistake, you can't stay here.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ if (questprogress(12343) < 1) {
+ mes("[Ivan Sidorenko]");
+ mes("Hey, stay focused--we're using live ammo here, and you can get shot anytime.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("Let me make this quick. Basically you'll be running in this shooting range consisting of 5 sections.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("The objective is to find enemies in the midst of a crowd quickly and without fail.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("Among all the targets, you must shoot only the ^0000ffStandard-issue Targets^000000. If you make a mistake, you'll lose points.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("Let's try. There aren't many ^0000ffStandard-issue Targets^000000, so keep your eyes peeled.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("^0000ffYou have 3 minutes to finish this test. If you can't finish before your transformation expires^000000, you'll fail. If that happens, just follow the path back to me.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("^0000ffYou'll fail if you miss a Standard-issue Target, or shoot 3 incorrect targets^000000. Let's get started.");
+ setquest(12343);
+ setquest(12344);
+ montransform(G_L_SHECIL, 180000);
+ close2();
+ warp("job_gun", 102, 146);
+ end;
+ } else if (questprogress(12343) == 1) {
+ .@standard_target = 0;
+ .@failed_target = 0;
+ .@total_target = 0;
+ if (questprogress(12343, HUNTING) == 2) {
+ .@standard_target = 10;
+ }
+ if (questprogress(12344, HUNTING) == 2) {
+ .@failed_target = 2;
+ }
+ if (getstatus(SC_MONSTER_TRANSFORM, 1) != G_L_SHECIL) {
+ .@total_target = 5;
+ }
+ .@target_count = .@standard_target - (.@failed_target + .@total_target); //
+ if (.@target_count > 9) { // Killed 10 Standard, 0 Failed
+ completequest(12343);
+ completequest(12344);
+ setquest(12345);
+ mes("[Ivan Sidorenko]");
+ mes("Good job. I didn't think you could pass so quickly.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("You may leave and wait outside. I'll bring other instructors' evaluation reports to see you.");
+ close2();
+ warp("job_gun", 210, 132);
+ end;
+ } else if (.@target_count == 8) { // Killed 10 Standard, 3 failed
+ erasequest(12343);
+ erasequest(12344);
+ mes("[Ivan Sidorenko]");
+ mes("You're quick enough, but you shot too many incorrect targets. You failed.");
+ next();
+ } else if (.@target_count == 5) { // Timeout
+ erasequest(12343);
+ erasequest(12344);
+ mes("[Ivan Sidorenko]");
+ mes("You accurate enough, but you took too much time. Slow Rebellions don't survive long enough.");
+ next();
+ } else if (.@target_count < 5) { // Timeout and failed targets
+ erasequest(12343);
+ erasequest(12344);
+ mes("[Ivan Sidorenko]");
+ mes("You failed at both speed and accuracy. How did you survive this long?");
+ next();
+ } else {
+ erasequest(12343);
+ erasequest(12344);
+ mes("[Ivan Sidorenko]");
+ mes("There's a problem, the statistic seems to be wrong. Well... This can happen sometimes.");
+ next();
+ }
+ mes("[Ivan Sidorenko]");
+ mes("Let's try again. Be more careful this time.");
+ setquest(12343);
+ setquest(12344);
+ montransform(G_L_SHECIL, 180000);
+ close2();
+ warp("job_gun", 102, 146);
+ end;
+ } else {
+ mes("[Ivan Sidorenko]");
+ mes("How did you not leave?");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("You may leave and wait outside. I'll bring other instructors' evaluation reports to see you.");
+ close2();
+ warp("job_gun", 210, 132);
+ end;
+ }
+ end;
+}
+
+job_gun,220,132,3 script Ivan Sidorenko#2 4_M_REBELLION,2,2,{
+ .@now_weight = MaxWeight - Weight;
+ if (checkweight(Knife, 1) == 0) {
+ mes("You have too many items, please reduce them to continue.");
+ close();
+ }
+ if (.@now_weight < 1000) {
+ mes("The items in your inventory are weighing you down. Lighten your weight first.");
+ close();
+ }
+ if (questprogress(12345) != 1) {
+ mes("[Ivan Sidorenko]");
+ mes("There must have been a mistake. You aren't supposed to remain here.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ }
+ if (Class == Job_Gunslinger) {
+ if (BaseLevel < 99 || JobLevel < 70) {
+ mes("[Ivan Sidorenko]");
+ mes("Huh? You look so weak? I have nothing more to say.");
+ close();
+ }
+ if (SkillPoint != 0) {
+ mes("[Ivan Sidorenko]");
+ mes("Oh no~ You still have Skill Points.");
+ close();
+ }
+ mes("[Ivan Sidorenko]");
+ mes("Kulbertinov, Elwin, and I've evaluated your Rebellion test results.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("And...");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("You've met all our requirements including the attitude and the test performance.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("That's right, you're now a member of the Rebellion. Get ready to be wowed.");
+ next();
+ jobchange(Job_Rebellion);
+ completequest(12345);
+ mes("[Ivan Sidorenko]");
+ mes("And Elwin wants you to have this. Take good care of it. He made it for you.");
+ getitem(Freedom_Flame, 1);
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("See you later.");
+ close2();
+ warp("job_gun", 81, 29);
+ end;
+ } else if (Class == Job_Rebellion) {
+ mes("[Ivan Sidorenko]");
+ mes("This life should be fun, not boring.");
+ next();
+ mes("[Ivan Sidorenko]");
+ mes("And by becoming a Rebellion your life should be upgraded. So, go and create a great journey, make us proud!");
+ close();
+ } else {
+ mes("[Ivan Sidorenko]");
+ mes("Do you have something to say to me, don't you?");
+ close();
+ }
+}
+
+job_gun,220,138,4 trader Prop Vending Machine 2_VENDING_MACHINE1,{
+ end;
+OnInit:
+ sellitem(Slug_Bullet_1);
+ sellitem(Slug_Bullet_2);
+ sellitem(Slug_Bullet_3);
+ sellitem(Slug_Bullet_4);
+ sellitem(Slug_Bullet_5);
+ sellitem(Fullmetal_Jacket_Bullet);
+ sellitem(Mine_Projectile);
+ sellitem(Dragon_Tail_Missile);
+ end;
+}
+
+job_gun,216,138,4 script Butler Karlex 1_M_01,{
+ mes("[Butler Karlex]");
+ mes("Use this temporary storage to keep your items safe while on the Advancement test.");
+ next();
+ .@select = select("Cancel", "Open the storage.");
+ mes("[Butler Karlex]");
+ mes("Thank you for using the service.");
+ close2();
+ if (.@select == 2) {
+ openstorage();
+ }
+ end;
+}
+
+prontera,92,209,4 trader Rebellion Weapons 2_VENDING_MACHINE1,{
+ end;
+OnInit:
+ sellitem(H_FEATHER_H_FIRE);
+ sellitem(ALTAIR_ARES);
+ sellitem(COLORSCOPE);
+ sellitem(RAG203);
+ sellitem(DEATHFIRE);
+ sellitem(R_THUNDER);
+ sellitem(P_BREAKER);
+ sellitem(MINIMAY);
+ sellitem(TEMPEST);
+ sellitem(END_OF_HORIZON);
+ sellitem(Southern_Cross_R);
+ end;
+}
+
+prontera,96,209,4 trader Rebellion Accessories 2_VENDING_MACHINE1,{
+ end;
+OnInit:
+ sellitem(Slug_Bullet);
+ sellitem(Fullmetal_Jacket_Bullet);
+ sellitem(Mine_Projectile);
+ sellitem(Dragon_Tail_Missile);
+ sellitem(Special_Alloy_Trap);
+ sellitem(Bullet);
+ sellitem(Silver_Bullet_);
+ sellitem(Shell_Of_Blood_);
+ sellitem(AP_Ammo);
+ sellitem(Blaze_Bullet);
+ sellitem(Freezing_Bullet);
+ sellitem(Electric_Shock_Bullet);
+ sellitem(Magical_Stone_Bullet);
+ sellitem(Sanctified_Bullet);
+ sellitem(Flare_Bullet);
+ sellitem(Lightning_Bullet);
+ sellitem(Poison_Bullet);
+ sellitem(Blind_Bullet);
+ sellitem(Ice_Bullet);
+ end;
+}
diff --git a/npc/re/jobs/3-1/archbishop.txt b/npc/re/jobs/3-1/archbishop.txt
index e59492ce5..c7e5b8a61 100644
--- a/npc/re/jobs/3-1/archbishop.txt
+++ b/npc/re/jobs/3-1/archbishop.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -243,7 +243,7 @@ umbala,139,227,3 script Priest#arch 1_M_PASTOR,{
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm, I wanted to tell you...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "[" + strcharinfo(PC_NAME) + "]";
mes "" + .@inputstr$ + "";
next;
@@ -483,7 +483,7 @@ OnTouch:
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Pain... What kind of faults have I had?";
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "I confess my guilt to the Almighty God Odin.";
@@ -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;
@@ -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/guillotine_cross.txt b/npc/re/jobs/3-1/guillotine_cross.txt
index 19f4ac7cf..a13afcbd9 100644
--- a/npc/re/jobs/3-1/guillotine_cross.txt
+++ b/npc/re/jobs/3-1/guillotine_cross.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/jobs/3-1/mechanic.txt b/npc/re/jobs/3-1/mechanic.txt
index 4dcc98448..b97c27c85 100644
--- a/npc/re/jobs/3-1/mechanic.txt
+++ b/npc/re/jobs/3-1/mechanic.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) JayPee
-//= Copyright (C) Masao
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) JayPee
+//= Copyright (C) Masao
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/jobs/3-1/ranger.txt b/npc/re/jobs/3-1/ranger.txt
index 41e5b476f..d91a1b448 100644
--- a/npc/re/jobs/3-1/ranger.txt
+++ b/npc/re/jobs/3-1/ranger.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Elias
-//= Copyright (C) Masao
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Elias
+//= Copyright (C) Masao
+//= Copyright (C) Muad_Dib
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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-1/rune_knight.txt b/npc/re/jobs/3-1/rune_knight.txt
index ad8ab8f74..333c5c129 100644
--- a/npc/re/jobs/3-1/rune_knight.txt
+++ b/npc/re/jobs/3-1/rune_knight.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Muad_Dib
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Muad_Dib
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -962,7 +962,7 @@ job3_rune01,58,51,1 script Rune Furnace CLEAR_NPC,{
next;
mes .@str$[1];
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == .@str$[0]) {
mes "[Rune Knight Renoa]";
mes "Wow! This is great. The image of the rune stone in my head and the modeled rune stone match perfectly. It's well made.";
diff --git a/npc/re/jobs/3-1/warlock.txt b/npc/re/jobs/3-1/warlock.txt
index 13f99013b..41921e74e 100644
--- a/npc/re/jobs/3-1/warlock.txt
+++ b/npc/re/jobs/3-1/warlock.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Gepard
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Gepard
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/jobs/3-2/genetic.txt b/npc/re/jobs/3-2/genetic.txt
index d9fb1bce6..14f065833 100644
--- a/npc/re/jobs/3-2/genetic.txt
+++ b/npc/re/jobs/3-2/genetic.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) JayPee
-//= Copyright (C) Masao
-//= Copyright (C) Aeomin
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) JayPee
+//= Copyright (C) Masao
+//= Copyright (C) Aeomin
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/jobs/3-2/minstrel.txt b/npc/re/jobs/3-2/minstrel.txt
index a9f30975c..a0312ab7c 100644
--- a/npc/re/jobs/3-2/minstrel.txt
+++ b/npc/re/jobs/3-2/minstrel.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) JayPee
-//= Copyright (C) Masao
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) JayPee
+//= Copyright (C) Masao
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/jobs/3-2/royal_guard.txt b/npc/re/jobs/3-2/royal_guard.txt
index 87cf554ad..16c8f78dd 100644
--- a/npc/re/jobs/3-2/royal_guard.txt
+++ b/npc/re/jobs/3-2/royal_guard.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) brAthena
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) brAthena
+//= Copyright (C) Muad_Dib
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -521,7 +521,7 @@ sec_in02,12,43,3 script sorcereryal 1_M_LIBRARYMASTER,1,1,{
switch(select("Royal Guard", "Rune Knight", "Sorcerer")) {
case 1:
mes "1~5";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 5) {
mes "Set item to adjust the Royal Guard";
@@ -533,7 +533,7 @@ sec_in02,12,43,3 script sorcereryal 1_M_LIBRARYMASTER,1,1,{
close;
case 2:
mes "1~24";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 24) {
mes "Set item to adjust the Rune Knight";
@@ -545,7 +545,7 @@ sec_in02,12,43,3 script sorcereryal 1_M_LIBRARYMASTER,1,1,{
close;
case 3:
mes "1~5";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 5) {
mes "Set item to adjust the Sorcerer";
diff --git a/npc/re/jobs/3-2/shadow_chaser.txt b/npc/re/jobs/3-2/shadow_chaser.txt
index 9cdd3f732..877752431 100644
--- a/npc/re/jobs/3-2/shadow_chaser.txt
+++ b/npc/re/jobs/3-2/shadow_chaser.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Oshinoke
-//= Copyright (C) ultragunner
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Oshinoke
+//= Copyright (C) ultragunner
+//= Copyright (C) Muad_Dib
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -327,7 +327,7 @@ s_atelier,65,123,5 script Manager#sc04_prt 4_M_KHKYEL,{
mes "Wow, you deciphered it?";
mes "So, what's the right answer?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "shadows atelier in prontera" || .@inputstr$ == "SHADOWS ATELIER IN PRONTERA") {
mes "[Manager]";
mes "Good.";
@@ -1118,7 +1118,7 @@ L_Code:
mes "["+strcharinfo(PC_NAME)+"]";
mes "Paul said...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "["+strcharinfo(PC_NAME)+"]";
mes "Paul said...";
mes "'"+.@inputstr$+"' .";
@@ -1694,7 +1694,7 @@ tur_dun03,38,209,1 script Blue Flame#sc_f01 4_NFWISP,{
mes "A blue flame is roaring.";
mes "The deciphered code means...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
.@dap01$ = "blue fire in turtle island third floor";
.@dap02$ = "BLUE FIRE IN TURTLE ISLAND THIRD FLOOR";
if (.@inputstr$ != .@dap01$ && .@inputstr$ != .@dap02$) {
@@ -1986,7 +1986,7 @@ job3_sha01,22,78,0 script ????#keybox01 CLEAR_NPC,{
mes " ";
mes "And also letters. They are blinking as if waiting for a code to be input.";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == .@Codes2$[.@i] || .@inputstr$ == strtolower(.@Codes2$[.@i])) {
mes "When you put the correct answer in there,";
mes "the box is opened.";
@@ -2042,7 +2042,7 @@ job3_sha01,25,28,0 script ????#keybox02 CLEAR_NPC,{
next;
switch(select("Input the answer.", "I can't get it.")) {
case 1:
- input .@input;
+ input(.@input);
if (.@input == .@numbers[.@i]) {
mes "You put 2 and "+(.@numbers[.@i]-20)+".";
mes "The box opens and you get one key.";
@@ -2122,7 +2122,7 @@ job3_sha01,73,80,0 script ????#keybox03 CLEAR_NPC,{
mes "There's no code, so 1 should be A.";
mes "And the answer is...";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "turn and shake" || .@inputstr$ == "TURN AND SHAKE") {
mes "["+strcharinfo(PC_NAME)+"]";
mes "Turn... Turn... and";
diff --git a/npc/re/jobs/3-2/sorcerer.txt b/npc/re/jobs/3-2/sorcerer.txt
index 0af118a0d..052771c33 100644
--- a/npc/re/jobs/3-2/sorcerer.txt
+++ b/npc/re/jobs/3-2/sorcerer.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/jobs/3-2/sura.txt b/npc/re/jobs/3-2/sura.txt
index 4e0108fd8..280e6ce28 100644
--- a/npc/re/jobs/3-2/sura.txt
+++ b/npc/re/jobs/3-2/sura.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) Masao
-//= Copyright (C) Gepard
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) Masao
+//= Copyright (C) Gepard
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/jobs/3-2/wanderer.txt b/npc/re/jobs/3-2/wanderer.txt
index 30449e2fa..0de90c3cf 100644
--- a/npc/re/jobs/3-2/wanderer.txt
+++ b/npc/re/jobs/3-2/wanderer.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) Masao
-//= Copyright (C) Meyraw
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) Masao
+//= Copyright (C) Meyraw
+//= Copyright (C) Muad_Dib
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -252,7 +252,7 @@ xmas,132,143,5 script Performance Manager#wnd 4_M_06,{
next;
mes "[" + strcharinfo(PC_NAME) + "]";
mes "It's because...";
- input .@inputstr$;
+ input(.@inputstr$);
mes "^3131FF" + .@inputstr$ + "^000000";
mes "......";
next;
diff --git a/npc/re/jobs/novice/academy.txt b/npc/re/jobs/novice/academy.txt
index 3b260d3db..f7cd335ce 100644
--- a/npc/re/jobs/novice/academy.txt
+++ b/npc/re/jobs/novice/academy.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015-2016 Hercules Dev Team
-//= Copyright (C) Ridley
-//= Copyright (C) Kisuka
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Ridley
+//= Copyright (C) Kisuka
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -4513,7 +4513,7 @@ iz_ac01,68,49,3 script General Store Owner#ac 4_F_03,{
}
next();
input(.@input);
- if (!.@input) {
+ if (.@input <= 0) {
mes("[Querrie]");
mes("Well, you don't need to buy it now.");
mes("Use it next time.");
@@ -4525,7 +4525,7 @@ iz_ac01,68,49,3 script General Store Owner#ac 4_F_03,{
mes("You can buy up to 99 at once.");
close();
}
- set .@cost, .@input * (BaseLevel <= 20 ? 30 : 500);
+ .@cost = .@input * (BaseLevel <= 20 ? 30 : 500);
mes("[Querrie]");
mesf("%d combination kits will cost you %d.... zeny.", .@input, .@cost);
if (Zeny < .@cost) {
@@ -5945,199 +5945,199 @@ iz_ac01,69,36,3 script Otter Samssoon#ac 4W_SAILOR,{
mes("If you want to stop, say 0.");
next();
input(.@style);
- if (.@style > 19) {
- mes("[Otter Samssoon]");
- mes("Oh my!!? Honey~ You can use a coupon for the hair style in here~");
- close();
- } else if (!.@style) {
+ if (.@style <= 0) {
mes("[Otter Samssoon]");
mes("Did you decide? Which style??");
mes("I want to touch your hair with my hands~ Honey~");
close();
- } else {
- callsub(L_cutin, .@style);
+ }
+ if (.@style > 19) {
mes("[Otter Samssoon]");
- switch(.@style) {
- case 1:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Play Dead' cut?");
- mes("This looks neat and relaxed.. So popular style.");
- } else {
- mes("Oh my!!? 'First Aid' cut?");
- mes("This is and adorable style.");
- mes("I guess it looks good on you too!!");
- }
- break;
- case 2:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Two Handed Sword Mastery' cut?");
- mes("You... You know the famous D..? He has exactly the same style!");
- } else {
- mes("Oh my!!? 'Bash' cut?");
- mes("This style gives strong curls on both side hair.");
- }
- break;
- case 3:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Napalm Beat' cut?");
- mes("It has well arranges hair line that makes feel charisma.");
- } else {
- mes("Oh my!!? 'Frost Diver' cut?");
- mes("It is mysterious style that gives cold and warm feeling at the same time.");
- }
- break;
- case 4:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Double Strafe' cut?");
- mes("Natural hair is shaking by wind.. Clean and good feeling.");
- } else {
- mes("Oh my!!? 'Arrow Shower' cut?");
- mes("Cool and nice shaggy cut makes good style.");
- }
- break;
- case 5:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Angelus' cut?");
- mes("Calm and piety feeling.. Not boring style.");
- } else {
- mes("Oh my!!? 'Heal' cut?");
- mes("Feminine style give healing feeling.");
- }
- break;
- case 6:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Push Cart' cut?");
- mes("Big Kar is motivated for this style with a romance of a man.");
- } else {
- mes("Oh my!!? 'Vending' cut?");
- mes("Royal ladies like this style. Make good money style.");
- }
- break;
- case 7:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Envenom' cut?");
- mes("Tough style makes addicted.");
- } else {
- mes("Oh my!!? 'Double Attack' cut?");
- mes("Whoever will dash twice for this style.");
- mes("Ponytail is important.");
- }
- break;
- case 8:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Bowling Bash' cut?");
- mes("This style makes a nice guy to challenge.");
- mes("Just a giving a glance can steal the heart.");
- } else {
- mes("Oh my!!? 'Gloria' cut?");
- mes("This style is ultimately gorgeous and graceful.");
- }
- break;
- case 9:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Venom Dust' cut?");
- mes("This style has special ending line that looks fatal.");
- } else {
- mes("Oh my!!? 'SP Recovery' cut?");
- mes("This style has neat cutting that inspires.");
- }
- break;
- case 10:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Turn Undead' cut?");
- mes("This style is like a cold city man who is strong enough to kill a monster.");
- } else {
- mes("Oh my!!? 'Prepare Potion' cut?");
- mes("This style has a liquid medicine motive so it makes feel cure.");
- }
- break;
- case 11:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Dragonology' cut?");
- mes("This style is intelligent style of mysterious dragon.");
- } else {
- mes("Oh my!!? 'Grand Cross' cut?");
- mes("Well trimmed hair cut line gives trust.");
- }
- break;
- case 12:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Mace Mastery' cut?");
- mes("Look fresh and look neat with wax treatment.");
- } else {
- mes("Oh my!!? 'Intimidate' cut?");
- mes("This style is very familiar.");
- }
- break;
- case 13:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Thunder Storm' cut?");
- mes("This style has natural attractive perm which is like hitting by thunder storm.");
- } else {
- mes("Oh my!!? 'Spiritual Sphere");
- mes("Calm and a little bit looks like a boy cut draw attention.");
- }
- break;
- case 14:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Encore' cut?");
- mes("Rocker's favorite style.. Even the name itself..");
- } else {
- mes("Oh my!!? 'Gypsy's Kiss' cut?");
- mes("The hair.. Kind to everyone.. Neat and round hair line is very soft and charming.");
- }
- break;
- case 15:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Grimtooth' cut?");
- mes("The style with edge.");
- } else {
- mes("Oh my!!? 'Counter Attack' cut?");
- mes("It is the style that looks cold and arrogant. Hard to talk to..");
- mes("But might be nice to boyfriend..?");
- }
- break;
- case 16:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Blitz Beat' cut?");
- mes("It is the style my senior invented after he broke up with his girlfriends 5 times.");
- } else {
- mes("Oh my!!? 'Anke Snare' cut?");
- mes("It is killing style.. No one can take eyes off!");
- }
- break;
- case 17:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Find Ore' cut?");
- mes("This style seems to bring encounter or find unexpected things while walking on the street.");
- } else {
- mes("Oh my!!? 'Hammer Fall' cut?");
- mes("Stunning hair with attraction.");
- }
- break;
- case 18:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Fire Pillar' cut?");
- mes("Everyone used to have this hair style.. Which means that was a trend of an era.");
- } else {
- mes("Oh my!!? 'Jupitel Thunder'");
- mes("Fresh style by giving light waves on both side hairs.");
- }
- break;
- case 19:
- if (Sex == SEX_MALE) {
- mes("Oh my!!? 'Guillotine Fist'");
- mes("It is like one-shot style.. Like a real man. Right?");
- } else {
- mes("Oh my!!? 'Whirlwind' cut?");
- mes("It is cool style which flows with wind. Lah, lah, lah, lah ~");
- }
- break;
+ mes("Oh my!!? Honey~ You can use a coupon for the hair style in here~");
+ close();
+ }
+ callsub(L_cutin, .@style);
+ mes("[Otter Samssoon]");
+ switch(.@style) {
+ case 1:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Play Dead' cut?");
+ mes("This looks neat and relaxed.. So popular style.");
+ } else {
+ mes("Oh my!!? 'First Aid' cut?");
+ mes("This is and adorable style.");
+ mes("I guess it looks good on you too!!");
}
- close2();
- cutin("", 255);
- end;
+ break;
+ case 2:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Two Handed Sword Mastery' cut?");
+ mes("You... You know the famous D..? He has exactly the same style!");
+ } else {
+ mes("Oh my!!? 'Bash' cut?");
+ mes("This style gives strong curls on both side hair.");
+ }
+ break;
+ case 3:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Napalm Beat' cut?");
+ mes("It has well arranges hair line that makes feel charisma.");
+ } else {
+ mes("Oh my!!? 'Frost Diver' cut?");
+ mes("It is mysterious style that gives cold and warm feeling at the same time.");
+ }
+ break;
+ case 4:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Double Strafe' cut?");
+ mes("Natural hair is shaking by wind.. Clean and good feeling.");
+ } else {
+ mes("Oh my!!? 'Arrow Shower' cut?");
+ mes("Cool and nice shaggy cut makes good style.");
+ }
+ break;
+ case 5:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Angelus' cut?");
+ mes("Calm and piety feeling.. Not boring style.");
+ } else {
+ mes("Oh my!!? 'Heal' cut?");
+ mes("Feminine style give healing feeling.");
+ }
+ break;
+ case 6:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Push Cart' cut?");
+ mes("Big Kar is motivated for this style with a romance of a man.");
+ } else {
+ mes("Oh my!!? 'Vending' cut?");
+ mes("Royal ladies like this style. Make good money style.");
+ }
+ break;
+ case 7:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Envenom' cut?");
+ mes("Tough style makes addicted.");
+ } else {
+ mes("Oh my!!? 'Double Attack' cut?");
+ mes("Whoever will dash twice for this style.");
+ mes("Ponytail is important.");
+ }
+ break;
+ case 8:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Bowling Bash' cut?");
+ mes("This style makes a nice guy to challenge.");
+ mes("Just a giving a glance can steal the heart.");
+ } else {
+ mes("Oh my!!? 'Gloria' cut?");
+ mes("This style is ultimately gorgeous and graceful.");
+ }
+ break;
+ case 9:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Venom Dust' cut?");
+ mes("This style has special ending line that looks fatal.");
+ } else {
+ mes("Oh my!!? 'SP Recovery' cut?");
+ mes("This style has neat cutting that inspires.");
+ }
+ break;
+ case 10:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Turn Undead' cut?");
+ mes("This style is like a cold city man who is strong enough to kill a monster.");
+ } else {
+ mes("Oh my!!? 'Prepare Potion' cut?");
+ mes("This style has a liquid medicine motive so it makes feel cure.");
+ }
+ break;
+ case 11:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Dragonology' cut?");
+ mes("This style is intelligent style of mysterious dragon.");
+ } else {
+ mes("Oh my!!? 'Grand Cross' cut?");
+ mes("Well trimmed hair cut line gives trust.");
+ }
+ break;
+ case 12:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Mace Mastery' cut?");
+ mes("Look fresh and look neat with wax treatment.");
+ } else {
+ mes("Oh my!!? 'Intimidate' cut?");
+ mes("This style is very familiar.");
+ }
+ break;
+ case 13:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Thunder Storm' cut?");
+ mes("This style has natural attractive perm which is like hitting by thunder storm.");
+ } else {
+ mes("Oh my!!? 'Spiritual Sphere");
+ mes("Calm and a little bit looks like a boy cut draw attention.");
+ }
+ break;
+ case 14:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Encore' cut?");
+ mes("Rocker's favorite style.. Even the name itself..");
+ } else {
+ mes("Oh my!!? 'Gypsy's Kiss' cut?");
+ mes("The hair.. Kind to everyone.. Neat and round hair line is very soft and charming.");
+ }
+ break;
+ case 15:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Grimtooth' cut?");
+ mes("The style with edge.");
+ } else {
+ mes("Oh my!!? 'Counter Attack' cut?");
+ mes("It is the style that looks cold and arrogant. Hard to talk to..");
+ mes("But might be nice to boyfriend..?");
+ }
+ break;
+ case 16:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Blitz Beat' cut?");
+ mes("It is the style my senior invented after he broke up with his girlfriends 5 times.");
+ } else {
+ mes("Oh my!!? 'Anke Snare' cut?");
+ mes("It is killing style.. No one can take eyes off!");
+ }
+ break;
+ case 17:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Find Ore' cut?");
+ mes("This style seems to bring encounter or find unexpected things while walking on the street.");
+ } else {
+ mes("Oh my!!? 'Hammer Fall' cut?");
+ mes("Stunning hair with attraction.");
+ }
+ break;
+ case 18:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Fire Pillar' cut?");
+ mes("Everyone used to have this hair style.. Which means that was a trend of an era.");
+ } else {
+ mes("Oh my!!? 'Jupitel Thunder'");
+ mes("Fresh style by giving light waves on both side hairs.");
+ }
+ break;
+ case 19:
+ if (Sex == SEX_MALE) {
+ mes("Oh my!!? 'Guillotine Fist'");
+ mes("It is like one-shot style.. Like a real man. Right?");
+ } else {
+ mes("Oh my!!? 'Whirlwind' cut?");
+ mes("It is cool style which flows with wind. Lah, lah, lah, lah ~");
+ }
+ break;
}
+ close2();
+ cutin("", 255);
+ end;
close();
case 2:
if (!countitem(Cryptura_Hair_Coupon)) {
@@ -6152,15 +6152,17 @@ iz_ac01,69,36,3 script Otter Samssoon#ac 4W_SAILOR,{
mes("Pick the style from page 1 to 19.");
next();
input(.@style);
- if (.@style > 19) {
+ if (.@style <= 0) {
mes("[Otter Samssoon]");
- mes("Come on.. Honey~ You can use a coupon for the hair style in here~");
+ mes("Oh my!!? You do not want to?");
close();
- } else if (!.@style) {
+ }
+ if (.@style > 19) {
mes("[Otter Samssoon]");
- mes("Oh my!!? You do not want to?");
+ mes("Come on.. Honey~ You can use a coupon for the hair style in here~");
close();
- } else if (getlook(1) == .@style) {
+ }
+ if (getlook(1) == .@style) {
mes("[Otter Samssoon]");
mes("Come on.. Honey~ That is the same style you have.");
mes("Do you want to try something new?");
@@ -13114,18 +13116,19 @@ izlude,145,122,7 script Tadde#iz 4_M_04,{
mes("How many would you like? Enter '0' if you want to end.");
next();
while(true) {
- input(.@amount, 0, 501);
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes("[Tadde]");
mes("Trade ended.");
close();
- } else if (.@amount > 500) {
+ }
+ if (.@amount > 500) {
mes("[Tadde]");
mes("Please reduce your quantity to 500 or less.");
next();
- } else {
- break;
+ continue;
}
+ break;
}
.@sell = .@amount * 200;
.@item_weight = .@amount * 200;
@@ -13150,18 +13153,19 @@ izlude,145,122,7 script Tadde#iz 4_M_04,{
mes("How many would you like? Enter '0' if you want to end.");
next();
while(true) {
- input(.@amount, 0, 501);
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes("[Tadde]");
mes("Trade ended.");
close();
- } else if (.@amount > 500) {
+ }
+ if (.@amount > 500) {
mes("[Tadde]");
mes("Please reduce your quantity to 500 or less.");
next();
- } else {
- break;
+ continue;
}
+ break;
}
.@sell = .@amount * 1000;
.@item_weight = .@amount * 200;
diff --git a/npc/re/jobs/novice/novice.txt b/npc/re/jobs/novice/novice.txt
index 18ba3fbe1..ed96a7524 100644
--- a/npc/re/jobs/novice/novice.txt
+++ b/npc/re/jobs/novice/novice.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/jobs/novice/supernovice_ex.txt b/npc/re/jobs/novice/supernovice_ex.txt
index 74328278f..5e362edfe 100644
--- a/npc/re/jobs/novice/supernovice_ex.txt
+++ b/npc/re/jobs/novice/supernovice_ex.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/jobs/repair.txt b/npc/re/jobs/repair.txt
index 7acd3b606..482d50d73 100644
--- a/npc/re/jobs/repair.txt
+++ b/npc/re/jobs/repair.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Euphy
//=
//= 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/npc/re/kafras/kafras.txt b/npc/re/kafras/kafras.txt
index b9b2ff404..1d2ac3100 100644
--- a/npc/re/kafras/kafras.txt
+++ b/npc/re/kafras/kafras.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lemongrass
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) Daegaladh
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lemongrass
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) Daegaladh
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/mapflag/gvg.txt b/npc/re/mapflag/gvg.txt
index 2e0e85f32..131a84f6c 100644
--- a/npc/re/mapflag/gvg.txt
+++ b/npc/re/mapflag/gvg.txt
@@ -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-2020 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/npc/re/mapflag/zone.txt b/npc/re/mapflag/zone.txt
index 24ffce665..224b73058 100644
--- a/npc/re/mapflag/zone.txt
+++ b/npc/re/mapflag/zone.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Ind
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Ind
//=
//= 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/npc/re/merchants/3rd_trader.txt b/npc/re/merchants/3rd_trader.txt
index dcf66a19f..642245943 100644
--- a/npc/re/merchants/3rd_trader.txt
+++ b/npc/re/merchants/3rd_trader.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Mercurial
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Mercurial
+//= Copyright (C) Masao
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -72,8 +72,8 @@
mes "You can only buy a maximum of '"+.@max+"' ea.";
mes "Enter '0' if you want to cancel.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Poison Herb Merchant]";
mes "You've cancelled the trade.";
close;
@@ -133,8 +133,8 @@ lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 4_F_YUNYANG
mes "and remember, you can only";
mes "buy a maximum of '2000' ea.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Rune Merchant]";
mes "You're not buying? Please leave!";
close;
@@ -199,8 +199,8 @@ job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{
mes "You can only buy a maximum of '2000' ea.";
mes "Enter '0' if you want to cancel.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Rare Poison Herb Collector]";
mes "You've cancelled the trade.";
close;
@@ -254,9 +254,9 @@ job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{
mes "How many do you want?";
mes "If you want to cancel, enter 0.";
next;
- input .@amount;
+ input(.@amount);
mes "[Point Merchant]";
- if (.@amount == 0) {
+ if (.@amount <= 0) {
mes "You've cancelled the trade.";
close;
}
diff --git a/npc/re/merchants/advanced_refiner.txt b/npc/re/merchants/advanced_refiner.txt
index 5b3f69593..927ae7e68 100644
--- a/npc/re/merchants/advanced_refiner.txt
+++ b/npc/re/merchants/advanced_refiner.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/merchants/alchemist.txt b/npc/re/merchants/alchemist.txt
index 73344a75c..ddd2c435a 100644
--- a/npc/re/merchants/alchemist.txt
+++ b/npc/re/merchants/alchemist.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena 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
@@ -98,13 +98,13 @@ alde_alche,31,186,3 script Craft Book Merchant#alde 4_M_ALCHE_D,{
mes "100,000 zeny.";
mes "How many would you like to purchase?";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Craft Book Merchant]";
mes "Would you like to see some different books?";
close;
}
- if (.@amount < 1 || .@amount > 99 ){
+ if (.@amount > 99 ){
mes "[Craft Book Merchant]";
mes "You cannot purchase more than 100 at a time.";
close;
diff --git a/npc/re/merchants/ammo_boxes.txt b/npc/re/merchants/ammo_boxes.txt
index a8a04d976..410fe68e0 100644
--- a/npc/re/merchants/ammo_boxes.txt
+++ b/npc/re/merchants/ammo_boxes.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/merchants/ammo_dealer.txt b/npc/re/merchants/ammo_dealer.txt
index 6b273371d..ef7e3c244 100644
--- a/npc/re/merchants/ammo_dealer.txt
+++ b/npc/re/merchants/ammo_dealer.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/merchants/blessed_refiner.txt b/npc/re/merchants/blessed_refiner.txt
index 6e548e25b..a9d985de3 100644
--- a/npc/re/merchants/blessed_refiner.txt
+++ b/npc/re/merchants/blessed_refiner.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/merchants/card_separation.txt b/npc/re/merchants/card_separation.txt
index b1f6754a5..8f8fd8695 100644
--- a/npc/re/merchants/card_separation.txt
+++ b/npc/re/merchants/card_separation.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/merchants/catalog.txt b/npc/re/merchants/catalog.txt
index f508014a1..452ac99b6 100644
--- a/npc/re/merchants/catalog.txt
+++ b/npc/re/merchants/catalog.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Scriptor
-//= Copyright (C) skyiing
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Scriptor
+//= Copyright (C) skyiing
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -72,19 +72,21 @@ moc_para01,22,16,5 script Catalog Magician#catal01 4_M_BIBI,{
mes "Or how many do you need?";
next;
while (1) {
- input .@input;
+ input(.@input);
mes "[Catalog Magician]";
- if (.@input == 0) {
+ if (.@input <= 0) {
mes "The trade has been stopped!";
mes "I don't know what to do next...";
mes "What should I do?";
emotion e_swt2,1;
close;
- } else if (.@input < 1 || .@input > 50) {
+ }
+ if (.@input > 50) {
mes "It should be less than 50 pieces.";
next;
- } else
- break;
+ continue;
+ }
+ break;
}
.@sell = .@ticket_cost * .@input;
mes "The total number of catalog(s) that you're trying to purchase is " + .@input + " pieces.";
diff --git a/npc/re/merchants/coin_exchange.txt b/npc/re/merchants/coin_exchange.txt
index f35c722f7..0a5de5cb9 100644
--- a/npc/re/merchants/coin_exchange.txt
+++ b/npc/re/merchants/coin_exchange.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Lemongrass
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Lemongrass
+//= Copyright (C) Euphy
//=
//= 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/npc/re/merchants/diamond.txt b/npc/re/merchants/diamond.txt
index 665af5e6a..91c4d0b3c 100644
--- a/npc/re/merchants/diamond.txt
+++ b/npc/re/merchants/diamond.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Z3R0
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Z3R0
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -128,7 +128,7 @@
mes .@npc$;
mes "Alright then, please sign here.";
next;
- input .@charname$;
+ input(.@charname$);
if (.@charname$ == strcharinfo(PC_NAME)) {
mes .@npc$;
mes "Okay, good.";
@@ -202,7 +202,7 @@
mes "The trade cannot be completed without your signature.";
close;
}
- input .@charname$;
+ input(.@charname$);
if (.@charname$ == strcharinfo(PC_NAME)) {
mes .@npc$;
mes "Your signature has been received.";
@@ -218,12 +218,10 @@
Zeny += 499000000;
close;
}
- else {
- mes .@npc$;
- mes "Is this really your signature?";
- mes "Will sign again to confirm?";
- next;
- }
+ mes .@npc$;
+ mes "Is this really your signature?";
+ mes "Will sign again to confirm?";
+ next;
}
}
}
diff --git a/npc/re/merchants/enchan_ko.txt b/npc/re/merchants/enchan_ko.txt
index 97b307ddd..b96fe103f 100644
--- a/npc/re/merchants/enchan_ko.txt
+++ b/npc/re/merchants/enchan_ko.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/merchants/enchan_mal.txt b/npc/re/merchants/enchan_mal.txt
index e921a7336..fed154dc8 100644
--- a/npc/re/merchants/enchan_mal.txt
+++ b/npc/re/merchants/enchan_mal.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/merchants/enchan_mora.txt b/npc/re/merchants/enchan_mora.txt
index 46979c82b..297d85c6f 100644
--- a/npc/re/merchants/enchan_mora.txt
+++ b/npc/re/merchants/enchan_mora.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) DeadlySilence
-//= Copyright (C) Lemongrass
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) DeadlySilence
+//= Copyright (C) Lemongrass
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -580,16 +580,16 @@ mora,152,97,5 script Guardian of Power#pa082 4_F_DOGTRAVELER,{
next;
switch(.@job) {
case 0: // Rune Knight
- setarray .@items[0],2475,2476,2574,2575;
- .@i = select("Cancel", "Ur's Greaves (Shoes)", "Peuz's Greaves (Shoes)", "Ur's Manteau (Garment)", "Peuz's Manteau (Garment)")-2;
+ setarray .@items[0],2475,2574,2883,15036,2575,2476,2884,15037;
+ .@i = select("Cancel", "Ur's Greaves (Shoes)", "Ur's Manteau (Garment)", "Ur's Seal (Accessory)", "Ur's Plate (Armor)", "Peuz's Greaves (Shoes)", "Peuz's Manteau (Garment)", "Peuz's Seal (Accessory)", "Peuz's Plate (Armor)" )-2;
break;
case 1: // Guillotine Cross
- setarray .@items[0],2477,2478,2577,2578;
- .@i = select("Cancel", "Sapha Shoes (Shoes)", "Nab Shoes (Shoes)", "Sapha Hood (Garment)", "Nab Hood (Garment)")-2;
+ setarray .@items[0],2477,2577,2886,15038,2478,2578,2887,15039;
+ .@i = select("Cancel", "Sapha Shoes (Shoes)", "Sapha Hood (Garment)", "Sapha Ring (Accessory)", "Sapha's Cloth (Armor)", "Nab Shoes (Shoes)", "Nab Hood (Garment)", "Nab Ring (Accessory)", "Nab's Cloth (Armor)" )-2;
break;
case 2: // Ranger
- setarray .@items[0],2479,2480,2580,2581;
- .@i = select("Cancel", "White Wing Boots (Shoes)", "Black Wing Boots (Shoes)", "White Wing Manteau (Garment)", "Black Wing Manteau (Garment)")-2;
+ setarray .@items[0],2479,2580,2890,15042,2480,2581,2891,15043;
+ .@i = select("Cancel", "White Wing Boots (Shoes)", "White Wing Manteau (Garment)", "White Wing Brooch (Accessory)", "White Wing Suit (Armor)", "Black Wing Boots (Shoes)","Black Wing Manteau (Garment)", "Black Wing Brooch (Accessory)", "Black Wing Suit (Armor)" )-2;
break;
}
if (.@i == -1) {
diff --git a/npc/re/merchants/enchan_upg.txt b/npc/re/merchants/enchan_upg.txt
index 3193fcf1b..6710a010d 100644
--- a/npc/re/merchants/enchan_upg.txt
+++ b/npc/re/merchants/enchan_upg.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Skorm
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Skorm
//=
//= 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/npc/re/merchants/flute.txt b/npc/re/merchants/flute.txt
index 98fd3789c..47dd65c50 100644
--- a/npc/re/merchants/flute.txt
+++ b/npc/re/merchants/flute.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Ziu
-//= Copyright (C) Muad_Dib
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Ziu
+//= Copyright (C) Muad_Dib
+//= Copyright (C) Masao
//=
//= 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/npc/re/merchants/hd_refiner.txt b/npc/re/merchants/hd_refiner.txt
index 17979642e..43cdc2c01 100644
--- a/npc/re/merchants/hd_refiner.txt
+++ b/npc/re/merchants/hd_refiner.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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/inn.txt b/npc/re/merchants/inn.txt
index d44ddd986..bd6883fbc 100644
--- a/npc/re/merchants/inn.txt
+++ b/npc/re/merchants/inn.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) c
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) c
//=
//= 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/npc/re/merchants/ninja_craftsman.txt b/npc/re/merchants/ninja_craftsman.txt
index 4a3744269..4e212646c 100644
--- a/npc/re/merchants/ninja_craftsman.txt
+++ b/npc/re/merchants/ninja_craftsman.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Dastgir
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
//=
//= 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/npc/re/merchants/quivers.txt b/npc/re/merchants/quivers.txt
index ececa55a2..98297eb9c 100644
--- a/npc/re/merchants/quivers.txt
+++ b/npc/re/merchants/quivers.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Muad_Dib (Prometheus Project)
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Muad_Dib (Prometheus Project)
//=
//= 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/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt
index 6356acfca..1a8c893b0 100644
--- a/npc/re/merchants/refine.txt
+++ b/npc/re/merchants/refine.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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!";
@@ -247,7 +258,7 @@ function script refinenew {
mes "[" + getarg(0) + "]";
mes "How many times would you like me to refine your item?";
next;
- input .@refinecnt;
+ input(.@refinecnt);
.@refinecheck = .@refinecnt + getequiprefinerycnt(.@part);
if (.@refinecnt < 1 || .@refinecheck > 20) {
mes "[" + getarg(0) + "]";
diff --git a/npc/re/merchants/renters.txt b/npc/re/merchants/renters.txt
index ab6b3f9ac..824a6b6fb 100644
--- a/npc/re/merchants/renters.txt
+++ b/npc/re/merchants/renters.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Daegaladh
-//= Copyright (C) eAthena Dev Team
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Daegaladh
+//= Copyright (C) eAthena 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
@@ -166,60 +166,125 @@ prontera,125,208,5 script Peco Peco Remover 8W_SOLDIER,{
close;
}
-//== Magic Gear Renter =====================================
+//== Mado Gear Renter :: madogear =====================================
- script ::mgm FAKE_NPC,{
- mes "[Magic Gear Master]";
+ mes "[Mado Gear Armorer]";
if (Class == Job_Mechanic || Class == Job_Mechanic_T || Class == Job_Baby_Mechanic) {
mes "Welcome, Mechanic.";
mes "Would you like to rent a Pushcart or";
- mes "ride a Magic Gear?";
+ mes "ride a Mado Gear?";
next;
- switch(select("Rent a Pushcart", "Ride a Magic Gear", "Cancel")) {
+ switch(select("Rent a Pushcart", "Ride a Mado Gear", "Buy Emergency Mado Gear", "Upgrade Cooling Device", "Cancel")) {
case 1:
if (checkcart()) {
- mes "[Magic Gear Master]";
+ mes "[Mado Gear Armorer]";
mes "I'm sorry, but you already";
mes "have a Pushcart.";
close;
}
setcart;
- mes "[Magic Gear Master]";
+ mes "[Mado Gear Armorer]";
mes "There you go!";
close;
case 2:
if (checkmount() == MOUNT_MADO) {
- mes "[Magic Gear Master]";
+ mes "[Mado Gear Armorer]";
mes "I'm sorry, but you're already";
- mes "riding a Magic Gear.";
+ mes "riding a Mado Gear.";
close;
} else if (!getskilllv(NC_MADOLICENCE)) {
- mes "[Magic Gear Master]";
- mes "Please learn the skill to get the Magic Gear License first.";
+ mes "[Mado Gear Armorer]";
+ mes "Please learn the skill to get the Mado Gear License first.";
close;
} else if(hascashmount()) {
- mes "[Magic Gear Master]";
+ mes "[Mado Gear Armorer]";
mes "Please remove your cash mount.";
close;
}
setmount(MOUNT_MADO);
- mes "[Magic Gear Master]";
+ mes "[Mado Gear Armorer]";
mes "Have fun, and please come again!";
close;
case 3:
+ mes "[Mado Gear Armorer]";
+ mes "Emergency Mado Gear is really useful for emergency situations and it is sold at 1,000,000 Zeny.";
+ next;
+ if (select("Purchase", "Cancel") == 2) {
+ mes "[Mado Gear Armorer]";
+ mes "I see. Please feel free to ask me";
+ mes "if you change your mind.";
+ close;
+ }
+ if (countitem(Mado_Box) > 0) {
+ mes "[Mado Gear Armorer]";
+ mes "I'm sorry, but you already have an Emergency Mado Gear.";
+ close;
+ }
+ if (Zeny < 1000000) {
+ mes "[Mado Gear Armorer]";
+ mes "I'm sorry, but you don't have enough Zeny to purchase the Emergency Mado Gear.";
+ close;
+ }
+ Zeny -= 1000000;
+ getitem Mado_Box, 1;
+ mes "[Mado Gear Armorer]";
+ mes "There you go!";
+ close;
+ case 4:
+ mes "[Mado Gear Armorer]";
+ mes "Which device do you want to upgrade?";
+ next;
+ if (select("Cooling Device", "High Quality Cooler") == 1) {
+ mes "[Mado Gear Armorer]";
+ mes "Upgrading Cooling Device to High Quality Cooler needs 1 Cooling Device and 2,000,000 Zeny.";
+ next;
+ .@itemid = Cooling_Device;
+ .@cost = 2000000;
+ } else {
+ mes "[Mado Gear Armorer]";
+ mes "Upgrading High Quality Cooler to Special Cooler needs 1 High Quality Cooler and 4,000,000 Zeny.";
+ next;
+ .@itemid = High_Quality_Cooler;
+ .@cost = 4000000;
+ }
+ if (select("Upgrade", "Cancel") == 2) {
+ mes "[Mado Gear Armorer]";
+ mes "I see. Please feel free to ask me";
+ mes "if you change your mind.";
+ close;
+ }
+ if (!countitem(.@itemid)) {
+ mes "[Mado Gear Armorer]";
+ mes "I'm sorry, but you don't have the " + getitemname(.@itemid) + ".";
+ close;
+ }
+ if (Zeny < .@cost) {
+ mes "[Mado Gear Armorer]";
+ mes "I'm sorry, but you don't have enough Zeny to upgrade the device.";
+ close;
+ }
+ Zeny -= .@cost;
+ delitem .@itemid, 1;
+ getitem (.@itemid == Cooling_Device ? High_Quality_Cooler : Special_Cooler), 1;
+ mes "[Mado Gear Armorer]";
+ mes "Here you are! Your very own " + getitemname(.@itemid) + ".";
+ close;
+ case 5:
close;
}
}
mes "How may I help you?";
- mes "Magic Gears are only available for Mechanics.";
+ mes "Mado Gears are only available for Mechanics.";
close;
}
-prontera,163,178,3 duplicate(mgm) Magic Gear Master#prt 8W_SOLDIER
-geffen,103,55,5 duplicate(mgm) Magic Gear Master#gef 8W_SOLDIER
-payon,166,106,5 duplicate(mgm) Magic Gear Master#pay 8W_SOLDIER
-aldebaran,133,112,5 duplicate(mgm) Magic Gear Master#alde 8W_SOLDIER
-yuno,167,187,3 duplicate(mgm) Magic Gear Master#yuno 8W_SOLDIER
-rachel,106,134,5 duplicate(mgm) Magic Gear Master#ra 8W_SOLDIER
-dicastes01,187,207,3 duplicate(mgm) Magic Gear Master#dic 8W_SOLDIER
-manuk,273,212,5 duplicate(mgm) Magic Gear Master#man 8W_SOLDIER
-splendide,180,174,5 duplicate(mgm) Magic Gear Master#spl 8W_SOLDIER
-mid_camp,242,243,3 duplicate(mgm) Magic Gear Master#mid 8W_SOLDIER
+
+prontera,163,178,3 duplicate(mgm) Mado Gear Armorer#prt 8W_SOLDIER
+geffen,103,55,5 duplicate(mgm) Mado Gear Armorer#gef 8W_SOLDIER
+payon,166,106,5 duplicate(mgm) Mado Gear Armorer#pay 8W_SOLDIER
+aldebaran,133,112,5 duplicate(mgm) Mado Gear Armorer#alde 8W_SOLDIER
+yuno,167,187,3 duplicate(mgm) Mado Gear Armorer#yuno 8W_SOLDIER
+rachel,106,134,5 duplicate(mgm) Mado Gear Armorer#ra 8W_SOLDIER
+dicastes01,187,207,3 duplicate(mgm) Mado Gear Armorer#dic 8W_SOLDIER
+manuk,273,212,5 duplicate(mgm) Mado Gear Armorer#man 8W_SOLDIER
+splendide,180,174,5 duplicate(mgm) Mado Gear Armorer#spl 8W_SOLDIER
+mid_camp,242,243,3 duplicate(mgm) Mado Gear Armorer#mid 8W_SOLDIER
diff --git a/npc/re/merchants/shadow_refiner.txt b/npc/re/merchants/shadow_refiner.txt
index f03d348b2..cbf6338ba 100644
--- a/npc/re/merchants/shadow_refiner.txt
+++ b/npc/re/merchants/shadow_refiner.txt
@@ -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-2020 Hercules Dev Team
//= Copyright (C) Dastgir
//= Copyright (C) Smokexyz (v2.0)
//=
@@ -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/merchants/shops.txt b/npc/re/merchants/shops.txt
index 543d9cdc7..b1cbfe917 100644
--- a/npc/re/merchants/shops.txt
+++ b/npc/re/merchants/shops.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Frost
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Lemongrass
-//= Copyright (C) Streusel
-//= Copyright (C) Euphy
-//= Copyright (C) Joseph
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Kenpachi
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Frost
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Lemongrass
+//= Copyright (C) Streusel
+//= Copyright (C) Euphy
+//= Copyright (C) Joseph
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Kenpachi
//=
//= 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/npc/re/merchants/ticket_refiner.txt b/npc/re/merchants/ticket_refiner.txt
index 5b69fbc38..72c1b5851 100644
--- a/npc/re/merchants/ticket_refiner.txt
+++ b/npc/re/merchants/ticket_refiner.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/mobs/champion.txt b/npc/re/mobs/champion.txt
index 3ee712223..bc1b9fab2 100644
--- a/npc/re/mobs/champion.txt
+++ b/npc/re/mobs/champion.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) nanakiwurtz
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) nanakiwurtz
//=
//= 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/npc/re/mobs/citycleaners.txt b/npc/re/mobs/citycleaners.txt
index 1acd7f8bd..0fd41c9be 100644
--- a/npc/re/mobs/citycleaners.txt
+++ b/npc/re/mobs/citycleaners.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/mobs/dungeons/abbey.txt b/npc/re/mobs/dungeons/abbey.txt
index a7cbda8c9..83a0b0eb8 100644
--- a/npc/re/mobs/dungeons/abbey.txt
+++ b/npc/re/mobs/dungeons/abbey.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) $ephiroth
//=
//= 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/npc/re/mobs/dungeons/abyss.txt b/npc/re/mobs/dungeons/abyss.txt
index 42e42cd55..f7bbde415 100644
--- a/npc/re/mobs/dungeons/abyss.txt
+++ b/npc/re/mobs/dungeons/abyss.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Nexon
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Nexon
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/alde_dun.txt b/npc/re/mobs/dungeons/alde_dun.txt
index b00efe8c1..80316a959 100644
--- a/npc/re/mobs/dungeons/alde_dun.txt
+++ b/npc/re/mobs/dungeons/alde_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/ama_dun.txt b/npc/re/mobs/dungeons/ama_dun.txt
index c4b025655..70de92c95 100644
--- a/npc/re/mobs/dungeons/ama_dun.txt
+++ b/npc/re/mobs/dungeons/ama_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/anthell.txt b/npc/re/mobs/dungeons/anthell.txt
index 81c4d4680..2e7a43be4 100644
--- a/npc/re/mobs/dungeons/anthell.txt
+++ b/npc/re/mobs/dungeons/anthell.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/ayo_dun.txt b/npc/re/mobs/dungeons/ayo_dun.txt
index 19bb1cef4..cbb3a9557 100644
--- a/npc/re/mobs/dungeons/ayo_dun.txt
+++ b/npc/re/mobs/dungeons/ayo_dun.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Ishizu
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Ishizu
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/beach_dun.txt b/npc/re/mobs/dungeons/beach_dun.txt
index d75c5a924..73396bd5e 100644
--- a/npc/re/mobs/dungeons/beach_dun.txt
+++ b/npc/re/mobs/dungeons/beach_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/bra_dun.txt b/npc/re/mobs/dungeons/bra_dun.txt
index 816440afa..4fa434b84 100644
--- a/npc/re/mobs/dungeons/bra_dun.txt
+++ b/npc/re/mobs/dungeons/bra_dun.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/mobs/dungeons/c_tower.txt b/npc/re/mobs/dungeons/c_tower.txt
index 274266bc9..dee704c17 100644
--- a/npc/re/mobs/dungeons/c_tower.txt
+++ b/npc/re/mobs/dungeons/c_tower.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/dew_dun.txt b/npc/re/mobs/dungeons/dew_dun.txt
index 746e64a46..d86def00c 100644
--- a/npc/re/mobs/dungeons/dew_dun.txt
+++ b/npc/re/mobs/dungeons/dew_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/mobs/dungeons/dic_dun.txt b/npc/re/mobs/dungeons/dic_dun.txt
index a5ee3b5bd..24a7094d5 100644
--- a/npc/re/mobs/dungeons/dic_dun.txt
+++ b/npc/re/mobs/dungeons/dic_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/mobs/dungeons/ecl_tdun.txt b/npc/re/mobs/dungeons/ecl_tdun.txt
index 0e95c1377..a8425d303 100644
--- a/npc/re/mobs/dungeons/ecl_tdun.txt
+++ b/npc/re/mobs/dungeons/ecl_tdun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Michieru
-//= Copyright (C) Euphy
-//= Copyright (C) refis
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Michieru
+//= Copyright (C) Euphy
+//= Copyright (C) refis
//=
//= 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/npc/re/mobs/dungeons/ein_dun.txt b/npc/re/mobs/dungeons/ein_dun.txt
index 4f7111c95..aba31dd7e 100644
--- a/npc/re/mobs/dungeons/ein_dun.txt
+++ b/npc/re/mobs/dungeons/ein_dun.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/gef_dun.txt b/npc/re/mobs/dungeons/gef_dun.txt
index 70d9d3ca2..8b8da1a74 100644
--- a/npc/re/mobs/dungeons/gef_dun.txt
+++ b/npc/re/mobs/dungeons/gef_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/gefenia.txt b/npc/re/mobs/dungeons/gefenia.txt
index 3ba50be71..0b2dbb4a9 100644
--- a/npc/re/mobs/dungeons/gefenia.txt
+++ b/npc/re/mobs/dungeons/gefenia.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/mobs/dungeons/glastheim.txt b/npc/re/mobs/dungeons/glastheim.txt
index 693aa4a3a..2f5c29753 100644
--- a/npc/re/mobs/dungeons/glastheim.txt
+++ b/npc/re/mobs/dungeons/glastheim.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/gld_dunSE.txt b/npc/re/mobs/dungeons/gld_dunSE.txt
index 8d6004cc6..0220ffac3 100644
--- a/npc/re/mobs/dungeons/gld_dunSE.txt
+++ b/npc/re/mobs/dungeons/gld_dunSE.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/gld_re.txt b/npc/re/mobs/dungeons/gld_re.txt
index 2fc5c5507..459349351 100644
--- a/npc/re/mobs/dungeons/gld_re.txt
+++ b/npc/re/mobs/dungeons/gld_re.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/mobs/dungeons/gon_dun.txt b/npc/re/mobs/dungeons/gon_dun.txt
index 5e694fac8..1ebeb9512 100644
--- a/npc/re/mobs/dungeons/gon_dun.txt
+++ b/npc/re/mobs/dungeons/gon_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/ice_dun.txt b/npc/re/mobs/dungeons/ice_dun.txt
index 4e2b1b0e5..eb379ec28 100644
--- a/npc/re/mobs/dungeons/ice_dun.txt
+++ b/npc/re/mobs/dungeons/ice_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/in_sphinx.txt b/npc/re/mobs/dungeons/in_sphinx.txt
index 987762e22..f65612db0 100644
--- a/npc/re/mobs/dungeons/in_sphinx.txt
+++ b/npc/re/mobs/dungeons/in_sphinx.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/iz_dun.txt b/npc/re/mobs/dungeons/iz_dun.txt
index 01ecabc9e..f466b1a89 100644
--- a/npc/re/mobs/dungeons/iz_dun.txt
+++ b/npc/re/mobs/dungeons/iz_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Chilly
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Chilly
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/juperos.txt b/npc/re/mobs/dungeons/juperos.txt
index bfdce2b16..09c206a22 100644
--- a/npc/re/mobs/dungeons/juperos.txt
+++ b/npc/re/mobs/dungeons/juperos.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) The Prometheus Project
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) The Prometheus Project
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/mobs/dungeons/kh_dun.txt b/npc/re/mobs/dungeons/kh_dun.txt
index b28fe528b..1f427392d 100644
--- a/npc/re/mobs/dungeons/kh_dun.txt
+++ b/npc/re/mobs/dungeons/kh_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/lhz_dun.txt b/npc/re/mobs/dungeons/lhz_dun.txt
index 3243a6e04..f0f0e520d 100644
--- a/npc/re/mobs/dungeons/lhz_dun.txt
+++ b/npc/re/mobs/dungeons/lhz_dun.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) Chilly
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Poki#3
-//= Copyright (C) Skotlex
-//= Copyright (C) The Prometheus Project
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) Chilly
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Poki#3
+//= Copyright (C) Skotlex
+//= Copyright (C) The Prometheus Project
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/mobs/dungeons/lou_dun.txt b/npc/re/mobs/dungeons/lou_dun.txt
index 0b437e723..0c1ab8ede 100644
--- a/npc/re/mobs/dungeons/lou_dun.txt
+++ b/npc/re/mobs/dungeons/lou_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/ma_dun.txt b/npc/re/mobs/dungeons/ma_dun.txt
index 687d14cf6..982200927 100644
--- a/npc/re/mobs/dungeons/ma_dun.txt
+++ b/npc/re/mobs/dungeons/ma_dun.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Chilly
//=
//= 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/npc/re/mobs/dungeons/mag_dun.txt b/npc/re/mobs/dungeons/mag_dun.txt
index 3c0d1c3d9..754680635 100644
--- a/npc/re/mobs/dungeons/mag_dun.txt
+++ b/npc/re/mobs/dungeons/mag_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/mal_dun.txt b/npc/re/mobs/dungeons/mal_dun.txt
index 0717975d2..1f18dbadc 100644
--- a/npc/re/mobs/dungeons/mal_dun.txt
+++ b/npc/re/mobs/dungeons/mal_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/mobs/dungeons/mjo_dun.txt b/npc/re/mobs/dungeons/mjo_dun.txt
index 3deb10c97..16189a2ee 100644
--- a/npc/re/mobs/dungeons/mjo_dun.txt
+++ b/npc/re/mobs/dungeons/mjo_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/moc_pryd.txt b/npc/re/mobs/dungeons/moc_pryd.txt
index 5ba1e1955..02a4d76d8 100644
--- a/npc/re/mobs/dungeons/moc_pryd.txt
+++ b/npc/re/mobs/dungeons/moc_pryd.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/mosk_dun.txt b/npc/re/mobs/dungeons/mosk_dun.txt
index 50bff21bf..e605802cf 100644
--- a/npc/re/mobs/dungeons/mosk_dun.txt
+++ b/npc/re/mobs/dungeons/mosk_dun.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/nyd_dun.txt b/npc/re/mobs/dungeons/nyd_dun.txt
index 5b5aeff04..7b2b89fcc 100644
--- a/npc/re/mobs/dungeons/nyd_dun.txt
+++ b/npc/re/mobs/dungeons/nyd_dun.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/odin.txt b/npc/re/mobs/dungeons/odin.txt
index 4fb2eba22..159fed772 100644
--- a/npc/re/mobs/dungeons/odin.txt
+++ b/npc/re/mobs/dungeons/odin.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
//=
//= 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/npc/re/mobs/dungeons/orcsdun.txt b/npc/re/mobs/dungeons/orcsdun.txt
index b893fa6c2..e67d5ca1d 100644
--- a/npc/re/mobs/dungeons/orcsdun.txt
+++ b/npc/re/mobs/dungeons/orcsdun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/pay_dun.txt b/npc/re/mobs/dungeons/pay_dun.txt
index a343d6cce..6dc19c835 100644
--- a/npc/re/mobs/dungeons/pay_dun.txt
+++ b/npc/re/mobs/dungeons/pay_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/prt_maze.txt b/npc/re/mobs/dungeons/prt_maze.txt
index c5f783554..66f731ced 100644
--- a/npc/re/mobs/dungeons/prt_maze.txt
+++ b/npc/re/mobs/dungeons/prt_maze.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/prt_sew.txt b/npc/re/mobs/dungeons/prt_sew.txt
index 0c8a49537..68c7cc822 100644
--- a/npc/re/mobs/dungeons/prt_sew.txt
+++ b/npc/re/mobs/dungeons/prt_sew.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/ra_san.txt b/npc/re/mobs/dungeons/ra_san.txt
index ac01c0ef1..a388d9478 100644
--- a/npc/re/mobs/dungeons/ra_san.txt
+++ b/npc/re/mobs/dungeons/ra_san.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/tha_t.txt b/npc/re/mobs/dungeons/tha_t.txt
index df7391443..cc3919da6 100644
--- a/npc/re/mobs/dungeons/tha_t.txt
+++ b/npc/re/mobs/dungeons/tha_t.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Playtester
-//= Copyright (C) Nexon
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Playtester
+//= Copyright (C) Nexon
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/thor_v.txt b/npc/re/mobs/dungeons/thor_v.txt
index 246ab3d35..2d19661ba 100644
--- a/npc/re/mobs/dungeons/thor_v.txt
+++ b/npc/re/mobs/dungeons/thor_v.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
//=
//= 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/npc/re/mobs/dungeons/treasure.txt b/npc/re/mobs/dungeons/treasure.txt
index 3e42160ee..30673cfed 100644
--- a/npc/re/mobs/dungeons/treasure.txt
+++ b/npc/re/mobs/dungeons/treasure.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/tur_dun.txt b/npc/re/mobs/dungeons/tur_dun.txt
index 9824b1147..53bbe448e 100644
--- a/npc/re/mobs/dungeons/tur_dun.txt
+++ b/npc/re/mobs/dungeons/tur_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/xmas_dun.txt b/npc/re/mobs/dungeons/xmas_dun.txt
index 6fadd019e..d2154d343 100644
--- a/npc/re/mobs/dungeons/xmas_dun.txt
+++ b/npc/re/mobs/dungeons/xmas_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/dungeons/yggdrasil.txt b/npc/re/mobs/dungeons/yggdrasil.txt
index 898a11951..c50338551 100644
--- a/npc/re/mobs/dungeons/yggdrasil.txt
+++ b/npc/re/mobs/dungeons/yggdrasil.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) DracoRPG
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) DracoRPG
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/amatsu.txt b/npc/re/mobs/fields/amatsu.txt
index b2b90e7c0..55834e818 100644
--- a/npc/re/mobs/fields/amatsu.txt
+++ b/npc/re/mobs/fields/amatsu.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/ayothaya.txt b/npc/re/mobs/fields/ayothaya.txt
index 3ef2b5456..993e46830 100644
--- a/npc/re/mobs/fields/ayothaya.txt
+++ b/npc/re/mobs/fields/ayothaya.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) VP
-//= Copyright (C) Lupus
-//= Copyright (C) Ishizu
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) VP
+//= Copyright (C) Lupus
+//= Copyright (C) Ishizu
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/bifrost.txt b/npc/re/mobs/fields/bifrost.txt
index 11c186722..488c72f02 100644
--- a/npc/re/mobs/fields/bifrost.txt
+++ b/npc/re/mobs/fields/bifrost.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/mobs/fields/brasilis.txt b/npc/re/mobs/fields/brasilis.txt
index 946f1eaaf..e5f9413af 100644
--- a/npc/re/mobs/fields/brasilis.txt
+++ b/npc/re/mobs/fields/brasilis.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/mobs/fields/comodo.txt b/npc/re/mobs/fields/comodo.txt
index 230e7875d..6726077ae 100644
--- a/npc/re/mobs/fields/comodo.txt
+++ b/npc/re/mobs/fields/comodo.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/dewata.txt b/npc/re/mobs/fields/dewata.txt
index 45787ef73..53778e964 100644
--- a/npc/re/mobs/fields/dewata.txt
+++ b/npc/re/mobs/fields/dewata.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/mobs/fields/dicastes.txt b/npc/re/mobs/fields/dicastes.txt
index 66dc01126..99a07b9c1 100644
--- a/npc/re/mobs/fields/dicastes.txt
+++ b/npc/re/mobs/fields/dicastes.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
//=
//= 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/npc/re/mobs/fields/eclage.txt b/npc/re/mobs/fields/eclage.txt
index 9bec80f20..691b8ebbf 100644
--- a/npc/re/mobs/fields/eclage.txt
+++ b/npc/re/mobs/fields/eclage.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Michieru
-//= Copyright (C) Euphy
-//= Copyright (C) refis
-//= Copyright (C) Auriga
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Michieru
+//= Copyright (C) Euphy
+//= Copyright (C) refis
+//= Copyright (C) Auriga
//=
//= 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/npc/re/mobs/fields/einbroch.txt b/npc/re/mobs/fields/einbroch.txt
index c2f6bcb04..9535b6853 100644
--- a/npc/re/mobs/fields/einbroch.txt
+++ b/npc/re/mobs/fields/einbroch.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/geffen.txt b/npc/re/mobs/fields/geffen.txt
index 89f97afb3..9fc98fcac 100644
--- a/npc/re/mobs/fields/geffen.txt
+++ b/npc/re/mobs/fields/geffen.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/gonryun.txt b/npc/re/mobs/fields/gonryun.txt
index e388e9c14..2af78f32d 100644
--- a/npc/re/mobs/fields/gonryun.txt
+++ b/npc/re/mobs/fields/gonryun.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/hugel.txt b/npc/re/mobs/fields/hugel.txt
index 34a45319a..d8aba13c9 100644
--- a/npc/re/mobs/fields/hugel.txt
+++ b/npc/re/mobs/fields/hugel.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/lighthalzen.txt b/npc/re/mobs/fields/lighthalzen.txt
index a03cb54c3..95ba27b80 100644
--- a/npc/re/mobs/fields/lighthalzen.txt
+++ b/npc/re/mobs/fields/lighthalzen.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) Poki#3
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) Poki#3
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/mobs/fields/louyang.txt b/npc/re/mobs/fields/louyang.txt
index 624ef34f6..4d8a5966c 100644
--- a/npc/re/mobs/fields/louyang.txt
+++ b/npc/re/mobs/fields/louyang.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Evera
-//= Copyright (C) Lorri
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Evera
+//= Copyright (C) Lorri
//=
//= 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/npc/re/mobs/fields/lutie.txt b/npc/re/mobs/fields/lutie.txt
index 260e3770e..51558c85e 100644
--- a/npc/re/mobs/fields/lutie.txt
+++ b/npc/re/mobs/fields/lutie.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/malaya.txt b/npc/re/mobs/fields/malaya.txt
index 584736414..3abc294ac 100644
--- a/npc/re/mobs/fields/malaya.txt
+++ b/npc/re/mobs/fields/malaya.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Chilly
//=
//= 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/npc/re/mobs/fields/manuk.txt b/npc/re/mobs/fields/manuk.txt
index 5c3af1de2..cd32e7dd8 100644
--- a/npc/re/mobs/fields/manuk.txt
+++ b/npc/re/mobs/fields/manuk.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) scriptor
-//= Copyright (C) alexx
-//= Copyright (C) MaC
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) scriptor
+//= Copyright (C) alexx
+//= Copyright (C) MaC
//=
//= 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/npc/re/mobs/fields/mjolnir.txt b/npc/re/mobs/fields/mjolnir.txt
index 103f16523..888e332f9 100644
--- a/npc/re/mobs/fields/mjolnir.txt
+++ b/npc/re/mobs/fields/mjolnir.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/morocc.txt b/npc/re/mobs/fields/morocc.txt
index 0c947afa3..3ab571b0f 100644
--- a/npc/re/mobs/fields/morocc.txt
+++ b/npc/re/mobs/fields/morocc.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/moscovia.txt b/npc/re/mobs/fields/moscovia.txt
index 12e528874..c31512854 100644
--- a/npc/re/mobs/fields/moscovia.txt
+++ b/npc/re/mobs/fields/moscovia.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/niflheim.txt b/npc/re/mobs/fields/niflheim.txt
index c42aba3d9..e305a413d 100644
--- a/npc/re/mobs/fields/niflheim.txt
+++ b/npc/re/mobs/fields/niflheim.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) Playtester
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) DracoRPG
-//= Copyright (C) Lupus
-//= Copyright (C) shadow
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) Playtester
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) DracoRPG
+//= Copyright (C) Lupus
+//= Copyright (C) shadow
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/payon.txt b/npc/re/mobs/fields/payon.txt
index db9759260..9b45a6869 100644
--- a/npc/re/mobs/fields/payon.txt
+++ b/npc/re/mobs/fields/payon.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/prontera.txt b/npc/re/mobs/fields/prontera.txt
index 2dca8a5c0..0e9a18c48 100644
--- a/npc/re/mobs/fields/prontera.txt
+++ b/npc/re/mobs/fields/prontera.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Playtester
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Playtester
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/rachel.txt b/npc/re/mobs/fields/rachel.txt
index e5e39de14..5e676bca9 100644
--- a/npc/re/mobs/fields/rachel.txt
+++ b/npc/re/mobs/fields/rachel.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Sepheus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Sepheus
+//= Copyright (C) Athena
//=
//= 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/npc/re/mobs/fields/splendide.txt b/npc/re/mobs/fields/splendide.txt
index 230aa790e..767b670f5 100644
--- a/npc/re/mobs/fields/splendide.txt
+++ b/npc/re/mobs/fields/splendide.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) scriptor
-//= Copyright (C) alexx
-//= Copyright (C) MaC
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) scriptor
+//= Copyright (C) alexx
+//= Copyright (C) MaC
//=
//= 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/npc/re/mobs/fields/umbala.txt b/npc/re/mobs/fields/umbala.txt
index 7126a6e69..83803e665 100644
--- a/npc/re/mobs/fields/umbala.txt
+++ b/npc/re/mobs/fields/umbala.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Darkchild
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Darkchild
//=
//= 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/npc/re/mobs/fields/veins.txt b/npc/re/mobs/fields/veins.txt
index 09497517c..97f6c1b87 100644
--- a/npc/re/mobs/fields/veins.txt
+++ b/npc/re/mobs/fields/veins.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Kisuka
-//= Copyright (C) Gepard
-//= Copyright (C) Playtester
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Kisuka
+//= Copyright (C) Gepard
+//= Copyright (C) Playtester
+//= Copyright (C) $ephiroth
//=
//= 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/npc/re/mobs/fields/yuno.txt b/npc/re/mobs/fields/yuno.txt
index 4e9a82582..3614a98c6 100644
--- a/npc/re/mobs/fields/yuno.txt
+++ b/npc/re/mobs/fields/yuno.txt
@@ -9,17 +9,17 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Darkchild
-//= Copyright (C) Muad_Dib
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Darkchild
+//= Copyright (C) Muad_Dib
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -134,3 +134,17 @@ yuno_fild11,0,0,0,0 monster Yellow Plant 1081,10,180000,90000,1
//== yuno_fild12 - Border Checkpoint =======================
yuno_fild12,0,0,0,0 monster Geographer 1368,60,5000,0,0
yuno_fild12,0,0,0,0 monster Mantis 1139,30,5000,0,0
+
+//== Transcendent Quest - Quest #5160 - Library Mistake =======================
+yuno_fild01,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild02,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild03,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild04,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+// yuno_fild05,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild06,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild07,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild08,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild09,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+// yuno_fild10,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild11,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
+yuno_fild12,0,0,0,0 monster Runaway Book 2414,1,5000,0,"Metheus Sylphe#Library::OnKill"
diff --git a/npc/re/mobs/int_land.txt b/npc/re/mobs/int_land.txt
index f204b1cb4..f917c2d51 100644
--- a/npc/re/mobs/int_land.txt
+++ b/npc/re/mobs/int_land.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2016 Hercules Dev Team
+//= Copyright (C) 2016-2020 Hercules Dev Team
//= Copyright (C) Ridley
//=
//= Hercules is free software: you can redistribute it and/or modify
diff --git a/npc/re/mobs/towns.txt b/npc/re/mobs/towns.txt
index 5d341fece..002ad9a87 100644
--- a/npc/re/mobs/towns.txt
+++ b/npc/re/mobs/towns.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/other/achievement_treasures.txt b/npc/re/other/achievement_treasures.txt
new file mode 100644
index 000000000..38fb69d77
--- /dev/null
+++ b/npc/re/other/achievement_treasures.txt
@@ -0,0 +1,342 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2020 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/>.
+//=========================================================================
+// Exploration Achievements
+//=========================================================================
+
+- script achievement_tr FAKE_NPC,{
+ sscanf(strnpcinfo(NPC_NAME_HIDDEN), "tr%d", .@id);
+ if (!achievement_iscompleted(.@id))
+ achievement_progress(.@id, 1, 1, true);
+ end;
+OnInit:
+ cloakonnpc(strnpcinfo(NPC_NAME));
+ end;
+}
+
+- script achievement_wp FAKE_NPC,{
+OnTouch:
+ sscanf(strnpcinfo(NPC_NAME_HIDDEN), "wp%d", .@id);
+ if (!achievement_iscompleted(.@id))
+ cloakoffnpc(sprintf("#tr%d", .@id), playerattached());
+ end;
+}
+
+// Treasure Chests
+prt_fild01,146,126,4 duplicate(achievement_tr) #tr120001 4_TREASURE_BOX
+prt_fild02,142,221,4 duplicate(achievement_tr) #tr120002 4_TREASURE_BOX
+prt_fild03,172,139,4 duplicate(achievement_tr) #tr120003 4_TREASURE_BOX
+prt_fild04,118,57,4 duplicate(achievement_tr) #tr120004 4_TREASURE_BOX
+prt_fild05,189,291,4 duplicate(achievement_tr) #tr120005 4_TREASURE_BOX
+prt_fild06,298,304,4 duplicate(achievement_tr) #tr120006 4_TREASURE_BOX
+prt_fild07,44,104,4 duplicate(achievement_tr) #tr120007 4_TREASURE_BOX
+prt_fild08,203,222,4 duplicate(achievement_tr) #tr120008 4_TREASURE_BOX
+prt_fild09,37,354,4 duplicate(achievement_tr) #tr120009 4_TREASURE_BOX
+prt_fild10,177,206,4 duplicate(achievement_tr) #tr120010 4_TREASURE_BOX
+gef_fild00,73,119,4 duplicate(achievement_tr) #tr120011 4_TREASURE_BOX
+gef_fild01,222,224,4 duplicate(achievement_tr) #tr120012 4_TREASURE_BOX
+gef_fild05,202,292,4 duplicate(achievement_tr) #tr120013 4_TREASURE_BOX
+gef_fild06,279,105,4 duplicate(achievement_tr) #tr120014 4_TREASURE_BOX
+gef_fild07,184,249,4 duplicate(achievement_tr) #tr120015 4_TREASURE_BOX
+gef_fild09,170,73,4 duplicate(achievement_tr) #tr120016 4_TREASURE_BOX
+gef_fild11,239,248,4 duplicate(achievement_tr) #tr120017 4_TREASURE_BOX
+moc_fild11,188,218,4 duplicate(achievement_tr) #tr120018 4_TREASURE_BOX
+moc_fild12,234,96,4 duplicate(achievement_tr) #tr120019 4_TREASURE_BOX
+moc_fild13,290,207,4 duplicate(achievement_tr) #tr120020 4_TREASURE_BOX
+moc_fild16,196,108,4 duplicate(achievement_tr) #tr120021 4_TREASURE_BOX
+moc_fild17,269,105,4 duplicate(achievement_tr) #tr120022 4_TREASURE_BOX
+moc_fild18,54,284,4 duplicate(achievement_tr) #tr120023 4_TREASURE_BOX
+pay_fild01,167,243,4 duplicate(achievement_tr) #tr120024 4_TREASURE_BOX
+pay_fild02,105,240,4 duplicate(achievement_tr) #tr120025 4_TREASURE_BOX
+pay_fild03,144,97,4 duplicate(achievement_tr) #tr120026 4_TREASURE_BOX
+pay_fild04,257,95,4 duplicate(achievement_tr) #tr120027 4_TREASURE_BOX
+pay_fild07,365,37,4 duplicate(achievement_tr) #tr120028 4_TREASURE_BOX
+pay_fild08,237,345,4 duplicate(achievement_tr) #tr120029 4_TREASURE_BOX
+pay_fild09,251,42,4 duplicate(achievement_tr) #tr120030 4_TREASURE_BOX
+pay_fild10,196,38,4 duplicate(achievement_tr) #tr120031 4_TREASURE_BOX
+mjolnir_01,47,60,4 duplicate(achievement_tr) #tr120032 4_TREASURE_BOX
+mjolnir_02,77,49,4 duplicate(achievement_tr) #tr120033 4_TREASURE_BOX
+mjolnir_03,190,200,4 duplicate(achievement_tr) #tr120034 4_TREASURE_BOX
+mjolnir_04,201,146,4 duplicate(achievement_tr) #tr120035 4_TREASURE_BOX
+mjolnir_05,43,327,4 duplicate(achievement_tr) #tr120036 4_TREASURE_BOX
+mjolnir_06,162,290,4 duplicate(achievement_tr) #tr120037 4_TREASURE_BOX
+mjolnir_07,321,127,4 duplicate(achievement_tr) #tr120038 4_TREASURE_BOX
+mjolnir_08,175,225,4 duplicate(achievement_tr) #tr120039 4_TREASURE_BOX
+mjolnir_09,299,123,4 duplicate(achievement_tr) #tr120040 4_TREASURE_BOX
+mjolnir_10,353,371,4 duplicate(achievement_tr) #tr120041 4_TREASURE_BOX
+mjolnir_11,325,178,4 duplicate(achievement_tr) #tr120042 4_TREASURE_BOX
+mjolnir_12,110,298,4 duplicate(achievement_tr) #tr120043 4_TREASURE_BOX
+cmd_fild01,112,200,4 duplicate(achievement_tr) #tr120044 4_TREASURE_BOX
+cmd_fild02,86,94,4 duplicate(achievement_tr) #tr120045 4_TREASURE_BOX
+cmd_fild03,144,190,4 duplicate(achievement_tr) #tr120046 4_TREASURE_BOX
+cmd_fild04,151,191,4 duplicate(achievement_tr) #tr120047 4_TREASURE_BOX
+cmd_fild06,221,108,4 duplicate(achievement_tr) #tr120048 4_TREASURE_BOX
+cmd_fild07,269,322,4 duplicate(achievement_tr) #tr120049 4_TREASURE_BOX
+cmd_fild08,181,136,4 duplicate(achievement_tr) #tr120050 4_TREASURE_BOX
+cmd_fild09,211,266,4 duplicate(achievement_tr) #tr120051 4_TREASURE_BOX
+yuno_fild01,284,138,4 duplicate(achievement_tr) #tr120052 4_TREASURE_BOX
+yuno_fild12,76,268,4 duplicate(achievement_tr) #tr120053 4_TREASURE_BOX
+yuno_fild02,142,191,4 duplicate(achievement_tr) #tr120054 4_TREASURE_BOX
+yuno_fild03,135,329,4 duplicate(achievement_tr) #tr120055 4_TREASURE_BOX
+yuno_fild04,35,369,4 duplicate(achievement_tr) #tr120056 4_TREASURE_BOX
+yuno_fild06,262,220,4 duplicate(achievement_tr) #tr120057 4_TREASURE_BOX
+yuno_fild07,113,339,4 duplicate(achievement_tr) #tr120058 4_TREASURE_BOX
+yuno_fild08,179,209,4 duplicate(achievement_tr) #tr120059 4_TREASURE_BOX
+yuno_fild09,166,228,4 duplicate(achievement_tr) #tr120060 4_TREASURE_BOX
+yuno_fild11,141,357,4 duplicate(achievement_tr) #tr120061 4_TREASURE_BOX
+hu_fild01,347,312,4 duplicate(achievement_tr) #tr120062 4_TREASURE_BOX
+hu_fild02,80,152,4 duplicate(achievement_tr) #tr120063 4_TREASURE_BOX
+hu_fild04,322,313,4 duplicate(achievement_tr) #tr120064 4_TREASURE_BOX
+hu_fild06,204,228,4 duplicate(achievement_tr) #tr120065 4_TREASURE_BOX
+hu_fild05,197,210,4 duplicate(achievement_tr) #tr120066 4_TREASURE_BOX
+ein_fild01,266,277,4 duplicate(achievement_tr) #tr120067 4_TREASURE_BOX
+ein_fild03,99,332,4 duplicate(achievement_tr) #tr120068 4_TREASURE_BOX
+ein_fild04,334,305,4 duplicate(achievement_tr) #tr120069 4_TREASURE_BOX
+ein_fild05,337,233,4 duplicate(achievement_tr) #tr120070 4_TREASURE_BOX
+ein_fild06,174,245,4 duplicate(achievement_tr) #tr120071 4_TREASURE_BOX
+ein_fild07,188,50,4 duplicate(achievement_tr) #tr120072 4_TREASURE_BOX
+ein_fild08,258,78,4 duplicate(achievement_tr) #tr120073 4_TREASURE_BOX
+ein_fild09,330,76,4 duplicate(achievement_tr) #tr120074 4_TREASURE_BOX
+lhz_fild01,118,73,4 duplicate(achievement_tr) #tr120075 4_TREASURE_BOX
+lhz_fild02,239,243,4 duplicate(achievement_tr) #tr120076 4_TREASURE_BOX
+lhz_fild03,313,132,4 duplicate(achievement_tr) #tr120077 4_TREASURE_BOX
+ra_fild01,138,166,4 duplicate(achievement_tr) #tr120078 4_TREASURE_BOX
+ra_fild03,224,275,4 duplicate(achievement_tr) #tr120079 4_TREASURE_BOX
+ra_fild08,326,45,4 duplicate(achievement_tr) #tr120080 4_TREASURE_BOX
+ra_fild12,352,165,4 duplicate(achievement_tr) #tr120081 4_TREASURE_BOX
+ra_fild04,92,302,4 duplicate(achievement_tr) #tr120082 4_TREASURE_BOX
+ra_fild05,59,59,4 duplicate(achievement_tr) #tr120083 4_TREASURE_BOX
+ra_fild06,362,230,4 duplicate(achievement_tr) #tr120084 4_TREASURE_BOX
+ve_fild01,180,234,4 duplicate(achievement_tr) #tr120085 4_TREASURE_BOX
+ve_fild02,65,194,4 duplicate(achievement_tr) #tr120086 4_TREASURE_BOX
+ve_fild03,197,242,4 duplicate(achievement_tr) #tr120087 4_TREASURE_BOX
+ve_fild04,288,279,4 duplicate(achievement_tr) #tr120088 4_TREASURE_BOX
+ve_fild07,33,113,4 duplicate(achievement_tr) #tr120089 4_TREASURE_BOX
+ecl_fild01,234,217,4 duplicate(achievement_tr) #tr120090 4_TREASURE_BOX
+bif_fild02,155,322,4 duplicate(achievement_tr) #tr120091 4_TREASURE_BOX
+bif_fild01,147,64,4 duplicate(achievement_tr) #tr120092 4_TREASURE_BOX
+spl_fild01,335,315,4 duplicate(achievement_tr) #tr120093 4_TREASURE_BOX
+spl_fild02,153,358,4 duplicate(achievement_tr) #tr120094 4_TREASURE_BOX
+spl_fild03,61,286,4 duplicate(achievement_tr) #tr120095 4_TREASURE_BOX
+man_fild01,41,172,4 duplicate(achievement_tr) #tr120096 4_TREASURE_BOX
+man_fild02,268,357,4 duplicate(achievement_tr) #tr120097 4_TREASURE_BOX
+man_fild03,198,91,4 duplicate(achievement_tr) #tr120098 4_TREASURE_BOX
+dic_fild01,227,82,4 duplicate(achievement_tr) #tr120099 4_TREASURE_BOX
+dic_fild02,147,196,4 duplicate(achievement_tr) #tr120100 4_TREASURE_BOX
+ama_fild01,187,337,4 duplicate(achievement_tr) #tr120101 4_TREASURE_BOX
+gon_fild01,171,332,4 duplicate(achievement_tr) #tr120102 4_TREASURE_BOX
+lou_fild01,104,232,4 duplicate(achievement_tr) #tr120103 4_TREASURE_BOX
+ayo_fild01,289,70,4 duplicate(achievement_tr) #tr120104 4_TREASURE_BOX
+mosk_fild02,176,77,4 duplicate(achievement_tr) #tr120105 4_TREASURE_BOX
+bra_fild01,99,193,4 duplicate(achievement_tr) #tr120106 4_TREASURE_BOX
+dew_fild01,175,287,4 duplicate(achievement_tr) #tr120107 4_TREASURE_BOX
+ma_fild01,308,206,4 duplicate(achievement_tr) #tr120108 4_TREASURE_BOX
+ma_fild02,246,323,4 duplicate(achievement_tr) #tr120109 4_TREASURE_BOX
+abbey03,27,72,4 duplicate(achievement_tr) #tr120110 4_TREASURE_BOX
+abyss_03,86,55,4 duplicate(achievement_tr) #tr120111 4_TREASURE_BOX
+alde_dun04,90,107,4 duplicate(achievement_tr) #tr120112 4_TREASURE_BOX
+ama_dun03,60,163,4 duplicate(achievement_tr) #tr120113 4_TREASURE_BOX
+anthell02,253,41,4 duplicate(achievement_tr) #tr120114 4_TREASURE_BOX
+ayo_dun02,150,256,4 duplicate(achievement_tr) #tr120115 4_TREASURE_BOX
+beach_dun3,102,71,4 duplicate(achievement_tr) #tr120116 4_TREASURE_BOX
+bra_dun02,171,121,4 duplicate(achievement_tr) #tr120117 4_TREASURE_BOX
+c_tower4,37,158,4 duplicate(achievement_tr) #tr120118 4_TREASURE_BOX
+dew_dun02,87,272,4 duplicate(achievement_tr) #tr120119 4_TREASURE_BOX
+dic_dun03,216,211,4 duplicate(achievement_tr) #tr120120 4_TREASURE_BOX
+ecl_tdun04,37,37,4 duplicate(achievement_tr) #tr120121 4_TREASURE_BOX
+ein_dun02,31,255,4 duplicate(achievement_tr) #tr120122 4_TREASURE_BOX
+gef_dun02,222,163,4 duplicate(achievement_tr) #tr120123 4_TREASURE_BOX
+gl_sew04,288,6,4 duplicate(achievement_tr) #tr120124 4_TREASURE_BOX
+gl_knt02,126,235,4 duplicate(achievement_tr) #tr120125 4_TREASURE_BOX
+gl_cas02,53,151,4 duplicate(achievement_tr) #tr120126 4_TREASURE_BOX
+gl_prison1,126,158,4 duplicate(achievement_tr) #tr120127 4_TREASURE_BOX
+gon_dun03,166,231,4 duplicate(achievement_tr) #tr120128 4_TREASURE_BOX
+ice_dun03,45,261,4 duplicate(achievement_tr) #tr120129 4_TREASURE_BOX
+in_sphinx5,154,107,4 duplicate(achievement_tr) #tr120130 4_TREASURE_BOX
+iz_dun05,64,223,4 duplicate(achievement_tr) #tr120131 4_TREASURE_BOX
+kh_dun02,70,107,4 duplicate(achievement_tr) #tr120132 4_TREASURE_BOX
+lhz_dun03,240,221,4 duplicate(achievement_tr) #tr120133 4_TREASURE_BOX
+lou_dun03,29,228,4 duplicate(achievement_tr) #tr120134 4_TREASURE_BOX
+mag_dun02,197,77,4 duplicate(achievement_tr) #tr120135 4_TREASURE_BOX
+mjo_dun03,76,220,4 duplicate(achievement_tr) #tr120136 4_TREASURE_BOX
+moc_pryd06,102,121,4 duplicate(achievement_tr) #tr120137 4_TREASURE_BOX
+orcsdun02,31,72,4 duplicate(achievement_tr) #tr120138 4_TREASURE_BOX
+pay_dun04,120,124,4 duplicate(achievement_tr) #tr120139 4_TREASURE_BOX
+prt_maze03,11,14,4 duplicate(achievement_tr) #tr120140 4_TREASURE_BOX
+prt_sewb4,19,183,4 duplicate(achievement_tr) #tr120141 4_TREASURE_BOX
+tha_t06,150,176,4 duplicate(achievement_tr) #tr120142 4_TREASURE_BOX
+thor_v03,220,221,4 duplicate(achievement_tr) #tr120143 4_TREASURE_BOX
+treasure02,19,142,4 duplicate(achievement_tr) #tr120144 4_TREASURE_BOX
+tur_dun04,134,130,4 duplicate(achievement_tr) #tr120145 4_TREASURE_BOX
+xmas_dun02,120,224,4 duplicate(achievement_tr) #tr120146 4_TREASURE_BOX
+
+// Hidden Warps
+prt_fild01,146,126,0 duplicate(achievement_wp) #wp120001 HIDDEN_WARP_NPC,5,5
+prt_fild02,142,221,0 duplicate(achievement_wp) #wp120002 HIDDEN_WARP_NPC,5,5
+prt_fild03,172,139,0 duplicate(achievement_wp) #wp120003 HIDDEN_WARP_NPC,5,5
+prt_fild04,118,57,0 duplicate(achievement_wp) #wp120004 HIDDEN_WARP_NPC,5,5
+prt_fild05,189,291,0 duplicate(achievement_wp) #wp120005 HIDDEN_WARP_NPC,5,5
+prt_fild06,298,304,0 duplicate(achievement_wp) #wp120006 HIDDEN_WARP_NPC,5,5
+prt_fild07,44,104,0 duplicate(achievement_wp) #wp120007 HIDDEN_WARP_NPC,5,5
+prt_fild08,203,222,0 duplicate(achievement_wp) #wp120008 HIDDEN_WARP_NPC,5,5
+prt_fild09,37,354,0 duplicate(achievement_wp) #wp120009 HIDDEN_WARP_NPC,5,5
+prt_fild10,177,206,0 duplicate(achievement_wp) #wp120010 HIDDEN_WARP_NPC,5,5
+gef_fild00,73,119,0 duplicate(achievement_wp) #wp120011 HIDDEN_WARP_NPC,5,5
+gef_fild01,222,224,0 duplicate(achievement_wp) #wp120012 HIDDEN_WARP_NPC,5,5
+gef_fild05,202,292,0 duplicate(achievement_wp) #wp120013 HIDDEN_WARP_NPC,5,5
+gef_fild06,279,105,0 duplicate(achievement_wp) #wp120014 HIDDEN_WARP_NPC,5,5
+gef_fild07,184,249,0 duplicate(achievement_wp) #wp120015 HIDDEN_WARP_NPC,5,5
+gef_fild09,170,73,0 duplicate(achievement_wp) #wp120016 HIDDEN_WARP_NPC,5,5
+gef_fild11,239,248,0 duplicate(achievement_wp) #wp120017 HIDDEN_WARP_NPC,5,5
+moc_fild11,188,218,0 duplicate(achievement_wp) #wp120018 HIDDEN_WARP_NPC,5,5
+moc_fild12,234,96,0 duplicate(achievement_wp) #wp120019 HIDDEN_WARP_NPC,5,5
+moc_fild13,290,207,0 duplicate(achievement_wp) #wp120020 HIDDEN_WARP_NPC,5,5
+moc_fild16,196,108,0 duplicate(achievement_wp) #wp120021 HIDDEN_WARP_NPC,5,5
+moc_fild17,269,105,0 duplicate(achievement_wp) #wp120022 HIDDEN_WARP_NPC,5,5
+moc_fild18,54,284,0 duplicate(achievement_wp) #wp120023 HIDDEN_WARP_NPC,5,5
+pay_fild01,167,243,0 duplicate(achievement_wp) #wp120024 HIDDEN_WARP_NPC,5,5
+pay_fild02,105,240,0 duplicate(achievement_wp) #wp120025 HIDDEN_WARP_NPC,5,5
+pay_fild03,144,97,0 duplicate(achievement_wp) #wp120026 HIDDEN_WARP_NPC,5,5
+pay_fild04,257,95,0 duplicate(achievement_wp) #wp120027 HIDDEN_WARP_NPC,5,5
+pay_fild07,365,37,0 duplicate(achievement_wp) #wp120028 HIDDEN_WARP_NPC,5,5
+pay_fild08,237,345,0 duplicate(achievement_wp) #wp120029 HIDDEN_WARP_NPC,5,5
+pay_fild09,251,42,0 duplicate(achievement_wp) #wp120030 HIDDEN_WARP_NPC,5,5
+pay_fild10,196,38,0 duplicate(achievement_wp) #wp120031 HIDDEN_WARP_NPC,5,5
+mjolnir_01,47,60,0 duplicate(achievement_wp) #wp120032 HIDDEN_WARP_NPC,5,5
+mjolnir_02,77,49,0 duplicate(achievement_wp) #wp120033 HIDDEN_WARP_NPC,5,5
+mjolnir_03,190,200,0 duplicate(achievement_wp) #wp120034 HIDDEN_WARP_NPC,5,5
+mjolnir_04,201,146,0 duplicate(achievement_wp) #wp120035 HIDDEN_WARP_NPC,5,5
+mjolnir_05,43,327,0 duplicate(achievement_wp) #wp120036 HIDDEN_WARP_NPC,5,5
+mjolnir_06,162,290,0 duplicate(achievement_wp) #wp120037 HIDDEN_WARP_NPC,5,5
+mjolnir_07,321,127,0 duplicate(achievement_wp) #wp120038 HIDDEN_WARP_NPC,5,5
+mjolnir_08,175,225,0 duplicate(achievement_wp) #wp120039 HIDDEN_WARP_NPC,5,5
+mjolnir_09,299,123,0 duplicate(achievement_wp) #wp120040 HIDDEN_WARP_NPC,5,5
+mjolnir_10,353,371,0 duplicate(achievement_wp) #wp120041 HIDDEN_WARP_NPC,5,5
+mjolnir_11,325,178,0 duplicate(achievement_wp) #wp120042 HIDDEN_WARP_NPC,5,5
+mjolnir_12,110,298,0 duplicate(achievement_wp) #wp120043 HIDDEN_WARP_NPC,5,5
+cmd_fild01,112,200,0 duplicate(achievement_wp) #wp120044 HIDDEN_WARP_NPC,5,5
+cmd_fild02,86,94,0 duplicate(achievement_wp) #wp120045 HIDDEN_WARP_NPC,5,5
+cmd_fild03,144,190,0 duplicate(achievement_wp) #wp120046 HIDDEN_WARP_NPC,5,5
+cmd_fild04,151,191,0 duplicate(achievement_wp) #wp120047 HIDDEN_WARP_NPC,5,5
+cmd_fild06,221,108,0 duplicate(achievement_wp) #wp120048 HIDDEN_WARP_NPC,5,5
+cmd_fild07,269,322,0 duplicate(achievement_wp) #wp120049 HIDDEN_WARP_NPC,5,5
+cmd_fild08,181,136,0 duplicate(achievement_wp) #wp120050 HIDDEN_WARP_NPC,5,5
+cmd_fild09,211,266,0 duplicate(achievement_wp) #wp120051 HIDDEN_WARP_NPC,5,5
+yuno_fild01,284,138,0 duplicate(achievement_wp) #wp120052 HIDDEN_WARP_NPC,5,5
+yuno_fild12,76,268,0 duplicate(achievement_wp) #wp120053 HIDDEN_WARP_NPC,5,5
+yuno_fild02,142,191,0 duplicate(achievement_wp) #wp120054 HIDDEN_WARP_NPC,5,5
+yuno_fild03,135,329,0 duplicate(achievement_wp) #wp120055 HIDDEN_WARP_NPC,5,5
+yuno_fild04,35,369,0 duplicate(achievement_wp) #wp120056 HIDDEN_WARP_NPC,5,5
+yuno_fild06,262,220,0 duplicate(achievement_wp) #wp120057 HIDDEN_WARP_NPC,5,5
+yuno_fild07,113,339,0 duplicate(achievement_wp) #wp120058 HIDDEN_WARP_NPC,5,5
+yuno_fild08,179,209,0 duplicate(achievement_wp) #wp120059 HIDDEN_WARP_NPC,5,5
+yuno_fild09,166,228,0 duplicate(achievement_wp) #wp120060 HIDDEN_WARP_NPC,5,5
+yuno_fild11,141,357,0 duplicate(achievement_wp) #wp120061 HIDDEN_WARP_NPC,5,5
+hu_fild01,347,312,0 duplicate(achievement_wp) #wp120062 HIDDEN_WARP_NPC,5,5
+hu_fild02,80,152,0 duplicate(achievement_wp) #wp120063 HIDDEN_WARP_NPC,5,5
+hu_fild04,322,313,0 duplicate(achievement_wp) #wp120064 HIDDEN_WARP_NPC,5,5
+hu_fild06,204,228,0 duplicate(achievement_wp) #wp120065 HIDDEN_WARP_NPC,5,5
+hu_fild05,197,210,0 duplicate(achievement_wp) #wp120066 HIDDEN_WARP_NPC,5,5
+ein_fild01,266,277,0 duplicate(achievement_wp) #wp120067 HIDDEN_WARP_NPC,5,5
+ein_fild03,99,332,0 duplicate(achievement_wp) #wp120068 HIDDEN_WARP_NPC,5,5
+ein_fild04,334,305,0 duplicate(achievement_wp) #wp120069 HIDDEN_WARP_NPC,5,5
+ein_fild05,337,233,0 duplicate(achievement_wp) #wp120070 HIDDEN_WARP_NPC,5,5
+ein_fild06,174,245,0 duplicate(achievement_wp) #wp120071 HIDDEN_WARP_NPC,5,5
+ein_fild07,188,50,0 duplicate(achievement_wp) #wp120072 HIDDEN_WARP_NPC,5,5
+ein_fild08,258,78,0 duplicate(achievement_wp) #wp120073 HIDDEN_WARP_NPC,5,5
+ein_fild09,330,76,0 duplicate(achievement_wp) #wp120074 HIDDEN_WARP_NPC,5,5
+lhz_fild01,118,73,0 duplicate(achievement_wp) #wp120075 HIDDEN_WARP_NPC,5,5
+lhz_fild02,239,243,0 duplicate(achievement_wp) #wp120076 HIDDEN_WARP_NPC,5,5
+lhz_fild03,313,132,0 duplicate(achievement_wp) #wp120077 HIDDEN_WARP_NPC,5,5
+ra_fild01,138,166,0 duplicate(achievement_wp) #wp120078 HIDDEN_WARP_NPC,5,5
+ra_fild03,224,275,0 duplicate(achievement_wp) #wp120079 HIDDEN_WARP_NPC,5,5
+ra_fild08,326,45,0 duplicate(achievement_wp) #wp120080 HIDDEN_WARP_NPC,5,5
+ra_fild12,352,165,0 duplicate(achievement_wp) #wp120081 HIDDEN_WARP_NPC,5,5
+ra_fild04,92,302,0 duplicate(achievement_wp) #wp120082 HIDDEN_WARP_NPC,5,5
+ra_fild05,59,59,0 duplicate(achievement_wp) #wp120083 HIDDEN_WARP_NPC,5,5
+ra_fild06,362,230,0 duplicate(achievement_wp) #wp120084 HIDDEN_WARP_NPC,5,5
+ve_fild01,180,234,0 duplicate(achievement_wp) #wp120085 HIDDEN_WARP_NPC,5,5
+ve_fild02,65,194,0 duplicate(achievement_wp) #wp120086 HIDDEN_WARP_NPC,5,5
+ve_fild03,197,242,0 duplicate(achievement_wp) #wp120087 HIDDEN_WARP_NPC,5,5
+ve_fild04,288,279,0 duplicate(achievement_wp) #wp120088 HIDDEN_WARP_NPC,5,5
+ve_fild07,33,113,0 duplicate(achievement_wp) #wp120089 HIDDEN_WARP_NPC,5,5
+ecl_fild01,234,217,0 duplicate(achievement_wp) #wp120090 HIDDEN_WARP_NPC,5,5
+bif_fild02,155,322,0 duplicate(achievement_wp) #wp120091 HIDDEN_WARP_NPC,5,5
+bif_fild01,147,64,0 duplicate(achievement_wp) #wp120092 HIDDEN_WARP_NPC,5,5
+spl_fild01,335,315,0 duplicate(achievement_wp) #wp120093 HIDDEN_WARP_NPC,5,5
+spl_fild02,153,358,0 duplicate(achievement_wp) #wp120094 HIDDEN_WARP_NPC,5,5
+spl_fild03,61,286,0 duplicate(achievement_wp) #wp120095 HIDDEN_WARP_NPC,5,5
+man_fild01,41,172,0 duplicate(achievement_wp) #wp120096 HIDDEN_WARP_NPC,5,5
+man_fild02,268,357,0 duplicate(achievement_wp) #wp120097 HIDDEN_WARP_NPC,5,5
+man_fild03,198,91,0 duplicate(achievement_wp) #wp120098 HIDDEN_WARP_NPC,5,5
+dic_fild01,227,82,0 duplicate(achievement_wp) #wp120099 HIDDEN_WARP_NPC,5,5
+dic_fild02,147,196,0 duplicate(achievement_wp) #wp120100 HIDDEN_WARP_NPC,5,5
+ama_fild01,187,337,0 duplicate(achievement_wp) #wp120101 HIDDEN_WARP_NPC,5,5
+gon_fild01,171,332,0 duplicate(achievement_wp) #wp120102 HIDDEN_WARP_NPC,5,5
+lou_fild01,104,232,0 duplicate(achievement_wp) #wp120103 HIDDEN_WARP_NPC,5,5
+ayo_fild01,289,70,0 duplicate(achievement_wp) #wp120104 HIDDEN_WARP_NPC,5,5
+mosk_fild02,176,77,0 duplicate(achievement_wp) #wp120105 HIDDEN_WARP_NPC,5,5
+bra_fild01,99,193,0 duplicate(achievement_wp) #wp120106 HIDDEN_WARP_NPC,5,5
+dew_fild01,175,287,0 duplicate(achievement_wp) #wp120107 HIDDEN_WARP_NPC,5,5
+ma_fild01,308,206,0 duplicate(achievement_wp) #wp120108 HIDDEN_WARP_NPC,5,5
+ma_fild02,246,323,0 duplicate(achievement_wp) #wp120109 HIDDEN_WARP_NPC,5,5
+abbey03,27,72,0 duplicate(achievement_wp) #wp120110 HIDDEN_WARP_NPC,5,5
+abyss_03,86,55,0 duplicate(achievement_wp) #wp120111 HIDDEN_WARP_NPC,5,5
+alde_dun04,90,107,0 duplicate(achievement_wp) #wp120112 HIDDEN_WARP_NPC,5,5
+ama_dun03,60,163,0 duplicate(achievement_wp) #wp120113 HIDDEN_WARP_NPC,5,5
+anthell02,253,41,0 duplicate(achievement_wp) #wp120114 HIDDEN_WARP_NPC,5,5
+ayo_dun02,150,256,0 duplicate(achievement_wp) #wp120115 HIDDEN_WARP_NPC,5,5
+beach_dun3,102,71,0 duplicate(achievement_wp) #wp120116 HIDDEN_WARP_NPC,5,5
+bra_dun02,171,121,0 duplicate(achievement_wp) #wp120117 HIDDEN_WARP_NPC,5,5
+c_tower4,37,158,0 duplicate(achievement_wp) #wp120118 HIDDEN_WARP_NPC,5,5
+dew_dun02,87,272,0 duplicate(achievement_wp) #wp120119 HIDDEN_WARP_NPC,5,5
+dic_dun03,216,211,0 duplicate(achievement_wp) #wp120120 HIDDEN_WARP_NPC,5,5
+ecl_tdun04,37,37,0 duplicate(achievement_wp) #wp120121 HIDDEN_WARP_NPC,5,5
+ein_dun02,31,255,0 duplicate(achievement_wp) #wp120122 HIDDEN_WARP_NPC,5,5
+gef_dun02,222,163,0 duplicate(achievement_wp) #wp120123 HIDDEN_WARP_NPC,5,5
+gl_sew04,288,6,0 duplicate(achievement_wp) #wp120124 HIDDEN_WARP_NPC,5,5
+gl_knt02,126,235,0 duplicate(achievement_wp) #wp120125 HIDDEN_WARP_NPC,5,5
+gl_cas02,53,151,0 duplicate(achievement_wp) #wp120126 HIDDEN_WARP_NPC,5,5
+gl_prison1,126,158,0 duplicate(achievement_wp) #wp120127 HIDDEN_WARP_NPC,5,5
+gon_dun03,166,231,0 duplicate(achievement_wp) #wp120128 HIDDEN_WARP_NPC,5,5
+ice_dun03,45,261,0 duplicate(achievement_wp) #wp120129 HIDDEN_WARP_NPC,5,5
+in_sphinx5,154,107,0 duplicate(achievement_wp) #wp120130 HIDDEN_WARP_NPC,5,5
+iz_dun05,64,223,0 duplicate(achievement_wp) #wp120131 HIDDEN_WARP_NPC,5,5
+kh_dun02,70,107,0 duplicate(achievement_wp) #wp120132 HIDDEN_WARP_NPC,5,5
+lhz_dun03,240,221,0 duplicate(achievement_wp) #wp120133 HIDDEN_WARP_NPC,5,5
+lou_dun03,29,228,0 duplicate(achievement_wp) #wp120134 HIDDEN_WARP_NPC,5,5
+mag_dun02,197,77,0 duplicate(achievement_wp) #wp120135 HIDDEN_WARP_NPC,5,5
+mjo_dun03,76,220,0 duplicate(achievement_wp) #wp120136 HIDDEN_WARP_NPC,5,5
+moc_pryd06,102,121,0 duplicate(achievement_wp) #wp120137 HIDDEN_WARP_NPC,5,5
+orcsdun02,31,72,0 duplicate(achievement_wp) #wp120138 HIDDEN_WARP_NPC,5,5
+pay_dun04,120,124,0 duplicate(achievement_wp) #wp120139 HIDDEN_WARP_NPC,5,5
+prt_maze03,11,14,0 duplicate(achievement_wp) #wp120140 HIDDEN_WARP_NPC,5,5
+prt_sewb4,19,183,0 duplicate(achievement_wp) #wp120141 HIDDEN_WARP_NPC,5,5
+tha_t06,150,176,0 duplicate(achievement_wp) #wp120142 HIDDEN_WARP_NPC,5,5
+thor_v03,220,221,0 duplicate(achievement_wp) #wp120143 HIDDEN_WARP_NPC,5,5
+treasure02,19,142,0 duplicate(achievement_wp) #wp120144 HIDDEN_WARP_NPC,5,5
+tur_dun04,134,130,0 duplicate(achievement_wp) #wp120145 HIDDEN_WARP_NPC,5,5
+xmas_dun02,120,224,0 duplicate(achievement_wp) #wp120146 HIDDEN_WARP_NPC,5,5
diff --git a/npc/re/other/bulletin_boards.txt b/npc/re/other/bulletin_boards.txt
index 78f887e8f..51e91d473 100644
--- a/npc/re/other/bulletin_boards.txt
+++ b/npc/re/other/bulletin_boards.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/other/clans.txt b/npc/re/other/clans.txt
index f411b149d..59d183e2a 100644
--- a/npc/re/other/clans.txt
+++ b/npc/re/other/clans.txt
@@ -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-2020 Hercules Dev Team
//= Copyright (C) Ridley
//=
//= Hercules is free software: you can redistribute it and/or modify
diff --git a/npc/re/other/dimensional_gap.txt b/npc/re/other/dimensional_gap.txt
index b303f14b7..edd9d7ba0 100644
--- a/npc/re/other/dimensional_gap.txt
+++ b/npc/re/other/dimensional_gap.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2016 Hercules Dev Team
-//= Copyright (C) 2016 Ridley
-//= Copyright (C) 2016 Nova
+//= Copyright (C) 2016-2020 Hercules Dev Team
+//= Copyright (C) 2016 Ridley
+//= Copyright (C) 2016 Nova
//=
//= 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/npc/re/other/mail.txt b/npc/re/other/mail.txt
index 34346b1d2..8826e436d 100644
--- a/npc/re/other/mail.txt
+++ b/npc/re/other/mail.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/other/mercenary_rent.txt b/npc/re/other/mercenary_rent.txt
index 8ae83f78a..336dc26db 100644
--- a/npc/re/other/mercenary_rent.txt
+++ b/npc/re/other/mercenary_rent.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Daegaladh
//=
//= 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/npc/re/other/pvp.txt b/npc/re/other/pvp.txt
index 7f78b3e9b..6d2298744 100644
--- a/npc/re/other/pvp.txt
+++ b/npc/re/other/pvp.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/other/resetskill.txt b/npc/re/other/resetskill.txt
index 8bfb02651..6d82d3e89 100644
--- a/npc/re/other/resetskill.txt
+++ b/npc/re/other/resetskill.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/other/stone_change.txt b/npc/re/other/stone_change.txt
index 51cd65f71..336a7721a 100644
--- a/npc/re/other/stone_change.txt
+++ b/npc/re/other/stone_change.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/other/turbo_track.txt b/npc/re/other/turbo_track.txt
index 9a37ae0f0..6de9f4d20 100644
--- a/npc/re/other/turbo_track.txt
+++ b/npc/re/other/turbo_track.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/quests/cupet.txt b/npc/re/quests/cupet.txt
index 72e1bd6c9..77d6cf6ee 100644
--- a/npc/re/quests/cupet.txt
+++ b/npc/re/quests/cupet.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Z3RO
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Z3RO
//=
//= 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/npc/re/quests/eden/100-110.txt b/npc/re/quests/eden/100-110.txt
index 3cc47f6ef..aadca748b 100644
--- a/npc/re/quests/eden/100-110.txt
+++ b/npc/re/quests/eden/100-110.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) Capuche
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Capuche
//=
//= 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/npc/re/quests/eden/11-25.txt b/npc/re/quests/eden/11-25.txt
index f65ad9090..900e62978 100644
--- a/npc/re/quests/eden/11-25.txt
+++ b/npc/re/quests/eden/11-25.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/quests/eden/111-120.txt b/npc/re/quests/eden/111-120.txt
index 4422c92c7..787950ad1 100644
--- a/npc/re/quests/eden/111-120.txt
+++ b/npc/re/quests/eden/111-120.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) Capuche
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Capuche
//=
//= 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/npc/re/quests/eden/121-130.txt b/npc/re/quests/eden/121-130.txt
index d48c71702..4b808b1b8 100644
--- a/npc/re/quests/eden/121-130.txt
+++ b/npc/re/quests/eden/121-130.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) Capuche
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Capuche
//=
//= 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/npc/re/quests/eden/131-140.txt b/npc/re/quests/eden/131-140.txt
index fa6061b42..607468142 100644
--- a/npc/re/quests/eden/131-140.txt
+++ b/npc/re/quests/eden/131-140.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) Capuche
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Capuche
//=
//= 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/npc/re/quests/eden/26-40.txt b/npc/re/quests/eden/26-40.txt
index 029881068..de2e64732 100644
--- a/npc/re/quests/eden/26-40.txt
+++ b/npc/re/quests/eden/26-40.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/quests/eden/41-55.txt b/npc/re/quests/eden/41-55.txt
index ee32d4306..d4f70ba3f 100644
--- a/npc/re/quests/eden/41-55.txt
+++ b/npc/re/quests/eden/41-55.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/quests/eden/56-70.txt b/npc/re/quests/eden/56-70.txt
index c6aeb8c15..33ecf9bdc 100644
--- a/npc/re/quests/eden/56-70.txt
+++ b/npc/re/quests/eden/56-70.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/quests/eden/71-85.txt b/npc/re/quests/eden/71-85.txt
index cbb6c3e0c..5c81ef422 100644
--- a/npc/re/quests/eden/71-85.txt
+++ b/npc/re/quests/eden/71-85.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/quests/eden/86-90.txt b/npc/re/quests/eden/86-90.txt
index 394970944..c0409d626 100644
--- a/npc/re/quests/eden/86-90.txt
+++ b/npc/re/quests/eden/86-90.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Chilly
//=
//= 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/npc/re/quests/eden/91-99.txt b/npc/re/quests/eden/91-99.txt
index 328cc4474..81f00eaea 100644
--- a/npc/re/quests/eden/91-99.txt
+++ b/npc/re/quests/eden/91-99.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Chilly
//=
//= 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/npc/re/quests/eden/eden_common.txt b/npc/re/quests/eden/eden_common.txt
index 9085cad91..b4c45b15a 100644
--- a/npc/re/quests/eden/eden_common.txt
+++ b/npc/re/quests/eden/eden_common.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Brian
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Brian
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -96,7 +96,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
case 1:
mes "[Lime Evenor]";
mes "Aright. Excellent! Please write down your name here.";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "Are you done?";
@@ -113,7 +113,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
next;
mes "[Lime Evenor]";
mes "Would you please write your name again? Please write it ^3131FFClearly^000000.";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "Ah~ ha. You are ^3131FF"+strcharinfo(PC_NAME)+"^000000.";
@@ -148,7 +148,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
if(select("Yes, I want to register.", "No, I don't.") == 1) {
mes "[Lime Evenor]";
mes "Alrigh. Please write down your name on it.";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "^3131FF"+strcharinfo(PC_NAME)+"^000000.. Is that your name?";
@@ -157,7 +157,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
mes "[Lime Evenor]";
mes "^3131FF"+strcharinfo(PC_NAME)+"^000000, tell me what you want to register. for";
mes "Which map should we go to?";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "^3131FFMission Map: "+.@inputstr$+"^000000";
@@ -166,7 +166,7 @@ moc_para01,27,35,5 script Secretary Lime Evenor 4_F_EDEN_OFFICER,{
mes "[Lime Evenor]";
mes "Please let me know what kind of missions your are lookng for.";
mes "It should be briefly like 'Hunt 10 Porings.'";
- input .@input$;
+ input(.@input$);
next;
mes "[Lime Evenor]";
mes "Are you done?";
diff --git a/npc/re/quests/eden/eden_iro.txt b/npc/re/quests/eden/eden_iro.txt
index aae9a5566..2012571b5 100644
--- a/npc/re/quests/eden/eden_iro.txt
+++ b/npc/re/quests/eden/eden_iro.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Frost
-//= Copyright (C) Euphy
-//= Copyright (C) -SkittleNugget-
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Frost
+//= Copyright (C) Euphy
+//= Copyright (C) -SkittleNugget-
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -142,7 +142,7 @@ moc_para01,166,51,3 script Phelix#edco 4_M_03,{
mes "[Phelix]";
mes "How many do you want?";
mes "^ff0000You have enough for up to " + .@available + " Carrots.^000000";
- input .@input;
+ input(.@input);
next;
if (.@input < 1 || .@input > 10000) {
mes "[Phelix]";
@@ -321,12 +321,13 @@ moc_para01,50,39,4 script Eve Natalia 4_F_SITDOWN,{
mes "So do you want to trade the 1st one in your inventory for ^00CC00"+.@amount+" Random Safe to 7 Certificates^000000?";
mes "Tell me '1' if you do, or '0' to cancel.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 1) {
mes "[Eve Natalia]";
mes "It is a 0 or 1, it can't be that difficult.";
close;
- } else if (.@input == 0) {
+ }
+ if (.@input == 0) {
mes "[Eve Natalia]";
mes "It's best to be sure before trading, have a good day.";
close;
@@ -417,12 +418,13 @@ L_Exchange:
mes "I can give you up to 60.";
mes "Type 0 to cancel.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Trader Machine]";
mes "Cancelled.";
close;
- } else if (.@amount < 0 || .@amount > 60) {
+ }
+ if (.@amount > 60) {
mes "[Trader Machine]";
mes "I said only 60 max.";
close;
diff --git a/npc/re/quests/eden/eden_quests.txt b/npc/re/quests/eden/eden_quests.txt
index a0f4fa922..926f4c7ab 100644
--- a/npc/re/quests/eden/eden_quests.txt
+++ b/npc/re/quests/eden/eden_quests.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Capuche
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Capuche
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -4302,7 +4302,7 @@ sec_in02,25,33,4 script Assistant#para_suvquest 4_M_BABYCAT,{
.@var = select("para_suv01", "para_suv02");
mes "Enter the modified value";
next;
- input .@input,0,9999;
+ input(.@input, 0, 9999);
mes "Value of para_suv0"+.@var+" has been changed to "+.@input+".";
setd "para_suv0"+.@var,.@input;
close;
diff --git a/npc/re/quests/eden/eden_service.txt b/npc/re/quests/eden/eden_service.txt
index ce6efaa67..1c9d02f64 100644
--- a/npc/re/quests/eden/eden_service.txt
+++ b/npc/re/quests/eden/eden_service.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/quests/eden/eden_tutorial.txt b/npc/re/quests/eden/eden_tutorial.txt
index 902db7945..1f6b17574 100644
--- a/npc/re/quests/eden/eden_tutorial.txt
+++ b/npc/re/quests/eden/eden_tutorial.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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;
@@ -319,7 +319,7 @@ moc_para01,34,178,3 script Tutorial Instructor 4_M_KHMAN,{
mes "if you really checked it?";
mes "Write down what material I asked you to get.";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "10 Jellopy") {
mes "[Tutorial Instructor]";
mes "Good, you know.";
diff --git a/npc/re/quests/first_class/tu_archer.txt b/npc/re/quests/first_class/tu_archer.txt
index 519b07bf2..5a6f4a28d 100644
--- a/npc/re/quests/first_class/tu_archer.txt
+++ b/npc/re/quests/first_class/tu_archer.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/quests/homun_s.txt b/npc/re/quests/homun_s.txt
index c1ee52d52..95dea2bf6 100644
--- a/npc/re/quests/homun_s.txt
+++ b/npc/re/quests/homun_s.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
//=
//= 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/npc/re/quests/magic_books.txt b/npc/re/quests/magic_books.txt
index bcf94c4a0..8d23f77e0 100644
--- a/npc/re/quests/magic_books.txt
+++ b/npc/re/quests/magic_books.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/quests/monstertamers.txt b/npc/re/quests/monstertamers.txt
index 6464ae6fc..6781d93bb 100644
--- a/npc/re/quests/monstertamers.txt
+++ b/npc/re/quests/monstertamers.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/quests/mrsmile.txt b/npc/re/quests/mrsmile.txt
index a98ac8b0e..03ecfad61 100644
--- a/npc/re/quests/mrsmile.txt
+++ b/npc/re/quests/mrsmile.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Daegaladh
//=
//= 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/npc/re/quests/newgears/2012_headgears.txt b/npc/re/quests/newgears/2012_headgears.txt
index 80df8d650..d9e8bbd22 100644
--- a/npc/re/quests/newgears/2012_headgears.txt
+++ b/npc/re/quests/newgears/2012_headgears.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2015 Hercules Dev Team
-//= Copyright (C) -SkittleNugget-
-//= Copyright (C) Euphy
+//= Copyright (C) 2015-2020 Hercules Dev Team
+//= Copyright (C) -SkittleNugget-
+//= Copyright (C) Euphy
//=
//= 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/npc/re/quests/pile_bunker.txt b/npc/re/quests/pile_bunker.txt
index 5362211ab..f32897fd7 100644
--- a/npc/re/quests/pile_bunker.txt
+++ b/npc/re/quests/pile_bunker.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) JayPee Mateo
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) JayPee Mateo
//=
//= 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/npc/re/quests/quests_13_1.txt b/npc/re/quests/quests_13_1.txt
index d29a167b1..977c28071 100644
--- a/npc/re/quests/quests_13_1.txt
+++ b/npc/re/quests/quests_13_1.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/quests/quests_aldebaran.txt b/npc/re/quests/quests_aldebaran.txt
index 336ddb1c7..65460a598 100644
--- a/npc/re/quests/quests_aldebaran.txt
+++ b/npc/re/quests/quests_aldebaran.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2016 Hercules Dev Team
-//= Copyright (C) 2016 Ridley
-//= Copyright (C) 2016 Aleos
+//= Copyright (C) 2016-2020 Hercules Dev Team
+//= Copyright (C) 2016 Ridley
+//= Copyright (C) 2016 Aleos
//=
//= 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/npc/re/quests/quests_brasilis.txt b/npc/re/quests/quests_brasilis.txt
index 4a60fd2bb..debaba2e5 100644
--- a/npc/re/quests/quests_brasilis.txt
+++ b/npc/re/quests/quests_brasilis.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Panikon
-//= Copyright (C) Michieru
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Panikon
+//= Copyright (C) Michieru
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2231,449 +2231,400 @@ brasilis,180,249,5 script Daniel#bra 4_M_KID1,{
}
bra_in01,149,184,3 script Door#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- A key is inserted in the locked door.-";
+ mes "- A key is inserted in the locked door.-";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ switch(select("Turn the key.", "Ignore it.")) {
+ case 1:
+ mes "You start saying the first line of the magic words.";
+ input(.@input$);
next;
- switch(select("Turn the key.", "Ignore it.")) {
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Mother the door won't open!";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
+ }
+ if (brazil_ghost != 2) {
+ mes "Mother the door won't open!";
+ close;
+ }
+ mes "[Sobbing Voice]";
+ mes "'^FF0000Turn the key as many times as there are colors in the rainbow.^000000'";
+ next;
+ switch(select("Open the door", "Knock on the door.", "Turn the key.", "Take the key out.")) {
case 1:
- mes "You start saying the first line of the magic words.";
- input .@input$;
+ mes "The door is locked.";
+ mes "So nothing happens.";
+ close;
+ case 2:
+ mes "How many times should I try to knock?";
+ input(.@input, 0, 999);
next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
+ mes "You knocked on the door "+.@input+" times.";
next;
- .@braspell$ = "Mother the door won't open!";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
+ mes "But, nothing happens.";
+ close;
+ case 3:
+ mes "How many times should I turn the key?";
+ input(.@input, 0, 999);
+ next;
+ mes "You turned over the key "+.@input+" times.";
+ next;
+ if (.@input != 7) {
+ mes "But nothing doesn't happened.";
close;
}
- else {
- if (brazil_ghost == 2) {
- mes "[Sobbing Voice]";
- mes "'^FF0000Turn the key as many times as there are colors in the rainbow.^000000'";
- next;
- switch(select("Open the door", "Knock on the door.", "Turn the key.", "Take the key out.")) {
- case 1:
- mes "The door is locked.";
- mes "So nothing happens.";
- close;
- case 2:
- mes "How many times should I try to knock?";
- input .@input,0,999;
- next;
- mes "You knocked on the door "+.@input+" times.";
- next;
- mes "But, nothing happens.";
- close;
- case 3:
- mes "How many times should I turn the key?";
- input .@input,0,999;
- next;
- if (.@input == 7) {
- mes "You turn the key 7 times.";
- next;
- mes "Click! Click! Click!";
- mes "Click! Click! Click!";
- mes "Click...!";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kkkkhee- hihihihi!!!^000000";
- mes "You hear water flushing.";
- next;
- specialeffect(EF_VENOMDUST, AREA, playerattached());
- mes "Faint laughing can be heard off in the direction of the toilet.";
- brazil_ghost = 3;
- changequest 2208,60351;
- close;
- }
- else {
- mes "You turned over the key "+.@input+" times.";
- next;
- mes "But nothing doesn't happened.";
- close;
- }
- case 4:
- mes "How many times should I insert the key into the door?";
- input .@input,0,999;
- next;
- mes "You inserted the key "+.@input+" times.";
- next;
- mes "But nothing happened.";
- close;
- }
- }
- else {
- mes "Mother the door won't open!";
- close;
- }
- }
- case 2:
- mes "You do nothing.";
+ mes "Click! Click! Click!";
+ mes "Click! Click! Click!";
+ mes "Click...!";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kkkkhee- hihihihi!!!^000000";
+ mes "You hear water flushing.";
+ next;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
+ mes "Faint laughing can be heard off in the direction of the toilet.";
+ brazil_ghost = 3;
+ changequest 2208,60351;
+ close;
+ case 4:
+ mes "How many times should I insert the key into the door?";
+ input(.@input, 0, 999);
+ next;
+ mes "You inserted the key "+.@input+" times.";
+ next;
+ mes "But nothing happened.";
close;
}
- }
- else {
- mes "- A key is inserted in the locked door.-";
+ case 2:
+ mes "You do nothing.";
close;
}
}
bra_in01,144,187,3 script Toilet#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- Looks like an ordinary toilet -";
+ mes "- Looks like an ordinary toilet -";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ if (brazil_ghost > 6) {
+ switch(select("Flush the toilet.", "Doing nothing.")) {
+ case 1:
+ mes "After flushing the toilet, you suddenly feel dizzy and are suddenly swept away somewhere.";
+ specialeffect(EF_WATERFALL_SMALL_T2_90, AREA, playerattached());
+ close2;
+ warp "bra_in01",206,102;
+ end;
+ case 2:
+ mes "The water in the toilet looks gross.";
+ close;
+ }
+ }
+ switch(select("Use the toilet", "Ignore.")) {
+ case 1:
+ mes "- What was the second line to that spell now? -";
+ input(.@input$);
next;
- if (brazil_ghost > 6) {
- switch(select("Flush the toilet.", "Doing nothing.")) {
- case 1:
- mes "After flushing the toilet, you suddenly feel dizzy and are suddenly swept away somewhere.";
- specialeffect(EF_WATERFALL_SMALL_T2_90, AREA, playerattached());
- close2;
- warp "bra_in01",206,102;
- end;
- case 2:
- mes "The water in the toilet looks gross.";
- close;
- }
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Mother the water is flooding!";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
}
- switch(select("Use the toilet", "Ignore.")) {
+ if (brazil_ghost != 3) {
+ mes "Nothing happens.";
+ close;
+ }
+ mes "[Sobbing Voice]";
+ mes "^FF0000If the moon disappears 3 times... don't worry.....^000000";
+ next;
+ switch(select("Flush the toilet.", "Close the lid.")) {
case 1:
- mes "- What was the second line to that spell now? -";
- input .@input$;
+ mes "How many times should I flush?";
+ input(.@input, 0, 999);
next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
+ mes "You flush the toilet "+.@input+" times.";
next;
- .@braspell$ = "Mother the water is flooding!";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
+ if (.@input != 3) {
+ mes "But nothing happens.";
close;
}
- else {
- if (brazil_ghost == 3) {
- mes "[Sobbing Voice]";
- mes "^FF0000If the moon disappears 3 times... don't worry.....^000000";
- next;
- switch(select("Flush the toilet.", "Close the lid.")) {
- case 1:
- mes "How many times should I flush?";
- input .@input,0,999;
- next;
- if (.@input == 3) {
- mes "You flush the toilet 3 times.";
- next;
- mes "qwaaaaaaaaa!";
- mes "kwaaaaaaaaaa!";
- mes "kwaaaaaaaaaaaaaaaaaaa!";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kkkkhee- hihihihi!!!^000000";
- mes "Suddenly the sink sounds like water is flowing freely from it.";
- next;
- specialeffect(EF_VENOMDUST, AREA, playerattached());
- mes "Faint laughing can be heard off in the direction of the faucet.";
- brazil_ghost = 4;
- changequest 60351,60352;
- close;
- }
- else {
- mes "You flush the toilet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- }
- case 2:
- mes "You close the lid of the toilet.";
- mes "Nothing seems to be happening.";
- close;
- }
- }
- else {
- mes "Nothing happens.";
- close;
- }
- }
+ mes "qwaaaaaaaaa!";
+ mes "kwaaaaaaaaaa!";
+ mes "kwaaaaaaaaaaaaaaaaaaa!";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kkkkhee- hihihihi!!!^000000";
+ mes "Suddenly the sink sounds like water is flowing freely from it.";
+ next;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
+ mes "Faint laughing can be heard off in the direction of the faucet.";
+ brazil_ghost = 4;
+ changequest 60351,60352;
+ close;
case 2:
- mes "You do nothing.";
+ mes "You close the lid of the toilet.";
+ mes "Nothing seems to be happening.";
close;
}
- }
- else {
- mes "- Looks like an ordinary toilet -";
+ case 2:
+ mes "You do nothing.";
close;
}
}
bra_in01,134,189,3 script Faucet#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- It seems like an ordinary faucet -";
+ mes "- It seems like an ordinary faucet -";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ switch(select("Examine it.", "Ignore.")) {
+ case 1:
+ mes "- What was the next line to that spell now? -";
+ input(.@input$);
+ next;
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Mother the drought has started!";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
+ }
+ if (brazil_ghost != 4) {
+ mes "Nothing happens.";
+ close;
+ }
+ mes "[Sobbing Voice]";
+ mes "^FF0000Don't worry... the waterfall will help it....^000000";
next;
- switch(select("Examine it.", "Ignore.")) {
+ switch(select("Tap on the faucet.", "Turn on the water.")) {
case 1:
- mes "- What was the next line to that spell now? -";
- input .@input$;
+ mes "How many times will you tap the faucet?";
+ input(.@input, 0, 999);
next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
+ mes "You tap the faucet "+.@input+" times.";
+ next;
+ mes "But nothing happens.";
+ close;
+ case 2:
+ mes "How many times should I turn the water on?";
+ input(.@input, 0, 999);
next;
- .@braspell$ = "Mother the drought has started!";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
+ if (.@input != 1) {
+ mes "You turn the faucet on "+.@input+" times.";
+ next;
+ mes "But nothing happens.";
close;
}
- else {
- if (brazil_ghost == 4) {
- mes "[Sobbing Voice]";
- mes "^FF0000Don't worry... the waterfall will help it....^000000";
- next;
- switch(select("Tap on the faucet.", "Turn on the water.")) {
- case 1:
- mes "How many times will you tap the faucet?";
- input .@input,0,999;
- next;
- mes "You tap the faucet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- case 2:
- mes "How many times should I turn the water on?";
- input .@input,0,999;
- next;
- if (.@input == 1) {
- mes "You turn the faucet on once.";
- next;
- mes "swwwaaaaaaa-";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kkkkhee- hihihihi!!!^000000";
- mes "You see the carpet move.";
- next;
- specialeffect(EF_VENOMDUST, AREA, playerattached());
- mes "Faint laughing can be heard off in the direction of the carpet.";
- brazil_ghost = 5;
- changequest 60352,60353;
- close;
- }
- else {
- mes "You turn the faucet on "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- }
- }
- }
- else {
- mes "Nothing happens.";
- close;
- }
- }
- case 2:
- mes "You do nothing.";
+ mes "You turn the faucet on once.";
+ next;
+ mes "swwwaaaaaaa-";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kkkkhee- hihihihi!!!^000000";
+ mes "You see the carpet move.";
+ next;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
+ mes "Faint laughing can be heard off in the direction of the carpet.";
+ brazil_ghost = 5;
+ changequest 60352,60353;
close;
}
- }
- else {
- mes "- It seems like an ordinary faucet -";
+ case 2:
+ mes "You do nothing.";
close;
}
}
bra_in01,138,184,3 script Carpet#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- A carpet with an intricate pattern on it -";
+ mes "- A carpet with an intricate pattern on it -";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ switch(select("Examine it.", "Ignore.")) {
+ case 1:
+ mes "- What was the next line to that spell now? -";
+ input(.@input$);
next;
- switch(select("Examine it.", "Ignore.")) {
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Mother where are my friends?";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
+ }
+ if (brazil_ghost != 5) {
+ mes "Nothing happens.";
+ close;
+ }
+ mes "[Sobbing Voice]";
+ mes "^FF0000your 7 friends....are...sleeping... now it...'s time ....to wake them........^000000";
+ next;
+ switch(select("Jump on the carpet.", "Lie on the carpet.", "Shake the carpet.")) {
case 1:
- mes "- What was the next line to that spell now? -";
- input .@input$;
+ mes "How many times should I jump?";
+ input(.@input, 0, 999);
next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
+ mes "You jump on the carpet "+.@input+" times.";
+ next;
+ mes "But nothing happens.";
+ close;
+ case 2:
+ mes "How many times should I lie on the carpet?";
+ input(.@input, 0, 999);
+ next;
+ mes "You lie on the carpet "+.@input+" times.";
+ next;
+ mes "But nothing happens.";
+ close;
+ case 3:
+ mes "How many times should I shake the carpet?";
+ input(.@input, 0, 999);
next;
- .@braspell$ = "Mother where are my friends?";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
+ mes "You shake the carpet "+.@input+" times.";
+ next;
+ if (.@input != 7) {
+ mes "But nothing happens.";
close;
}
- else {
- if (brazil_ghost == 5) {
- mes "[Sobbing Voice]";
- mes "^FF0000your 7 friends....are...sleeping... now it...'s time ....to wake them........^000000";
- next;
- switch(select("Jump on the carpet.", "Lie on the carpet.", "Shake the carpet.")) {
- case 1:
- mes "How many times should I jump?";
- input .@input,0,999;
- next;
- mes "You jump on the carpet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- case 2:
- mes "How many times should I lie on the carpet?";
- input .@input,0,999;
- next;
- mes "You lie on the carpet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- case 3:
- mes "How many times should I shake the carpet?";
- input .@input,0,999;
- next;
- if (.@input == 7) {
- mes "You shake the carpet 7 times.";
- next;
- mes "- fly~ fly~ fly~ fly~ fly~ fly~ fly~ -";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kkkkhee- hihihihi!!!^000000";
- next;
- specialeffect(EF_VENOMDUST, AREA, playerattached());
- mes "Faint laughing can be heard off in the direction of the mirror.";
- brazil_ghost = 6;
- changequest 60353,60354;
- close;
- }
- else {
- mes "You shake the carpet "+.@input+" times.";
- next;
- mes "But nothing happens.";
- close;
- }
- }
- }
- else {
- mes "Nothing happens.";
- close;
- }
- }
- case 2:
- mes "You do nothing.";
+ mes "- fly~ fly~ fly~ fly~ fly~ fly~ fly~ -";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kkkkhee- hihihihi!!!^000000";
+ next;
+ specialeffect(EF_VENOMDUST, AREA, playerattached());
+ mes "Faint laughing can be heard off in the direction of the mirror.";
+ brazil_ghost = 6;
+ changequest 60353,60354;
close;
}
- }
- else {
- mes "- A carpet with an intricate pattern on it -";
+ case 2:
+ mes "You do nothing.";
close;
}
}
bra_in01,151,180,3 script Mirror#bra CLEAR_NPC,{
- if (brazil_ghost > 0) {
- mes "- You can see a clean mirror without any marks or dust -";
+ mes "- You can see a clean mirror without any marks or dust -";
+ if (brazil_ghost == 0) {
+ close;
+ }
+ next;
+ switch(select("Examine it.", "Ignore.")) {
+ case 1:
+ mes "- What was the next line to that spell now? -";
+ input(.@input$);
+ next;
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes .@input$;
+ next;
+ .@braspell$ = "Where are you mom?";
+ .@chkspell = compare(.@braspell$,.@input$);
+ if (!.@chkspell) {
+ mes "Seems like you said something wrong.";
+ close;
+ }
+ if (brazil_ghost != 6) {
+ mes "Nothing happens.";
+ close;
+ }
+ mes "[Distant Sound]";
+ mes "^FF0000kihe! hit! hit! hit! hit!^000000";
+ next;
+ mes "[Distant Sound]";
+ mes "^FF0000kihe! hit! hit! hit! hit!^000000";
+ mes "^FF0000kihe! hit! hit! hit! hit!^000000";
+ next;
+ mes "[Distant Sound]";
+ mes "Behind you...";
+ enablenpc "Ghost#bra";
+ next;
+ emotion e_omg,1;
+ mes "["+strcharinfo(PC_NAME)+"]";
+ mes "The stories about the ghost are true~!";
+ next;
+ mes "[Ghost]";
+ mes "^FF0000my baby....^000000";
+ next;
+ mes "[Ghost]";
+ mes "^FF0000I can't see.... my eye....^000000";
+ mes "^FF0000What's going on....?^000000";
next;
- switch(select("Examine it.", "Ignore.")) {
+ mes "- You take a deep breath and then look at the Ghost and notice it has an eye patch -";
+ next;
+ mes "[Ghost]";
+ mes "^FF0000My eyes are so tight... can you take this off?^000000";
+ next;
+ mes "You step carefully towards the ghost.";
+ next;
+ mes "His face was covered with dust making strange contortions with it's face.";
+ next;
+ mes "[Ghost]";
+ mes "^FF0000Come on help mom.....^000000";
+ next;
+ switch(select("Take the eye bandage off.", "Run away~.")) {
case 1:
- mes "- What was the next line to that spell now? -";
- input .@input$;
- next;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes .@input$;
- next;
- .@braspell$ = "Where are you mom?";
- .@chkspell = compare(.@braspell$,.@input$);
- if (!.@chkspell) {
- mes "Seems like you said something wrong.";
- close;
+ while(1) {
+ .@cpudice = rand(1,6);
+ .@pcdice = rand(1,6);
+ if (.@cpudice != .@pcdice) {
+ emotion (57+.@cpudice),0,"Ghost#bra";
+ emotion (57+.@cpudice),1;
+ break;
+ }
+ }
+ if (.@cpudice > .@pcdice) {
+ specialeffect(EF_DEVIL, AREA, playerattached());
+ mes "[Ghost]";
+ mes "^FF0000Go away!^000000";
+ brazil_ghost = 1;
+ changequest 60354,2208;
+ percentheal -50,-50;
+ close2;
+ disablenpc "Ghost#bra";
+ warp "bra_in01",12,183;
+ end;
}
else {
- if (brazil_ghost == 6) {
- mes "[Distant Sound]";
- mes "^FF0000kihe! hit! hit! hit! hit!^000000";
- next;
- mes "[Distant Sound]";
- mes "^FF0000kihe! hit! hit! hit! hit!^000000";
- mes "^FF0000kihe! hit! hit! hit! hit!^000000";
- next;
- mes "[Distant Sound]";
- mes "Behind you...";
- enablenpc "Ghost#bra";
- next;
- emotion e_omg,1;
- mes "["+strcharinfo(PC_NAME)+"]";
- mes "The stories about the ghost are true~!";
- next;
- mes "[Ghost]";
- mes "^FF0000my baby....^000000";
- next;
- mes "[Ghost]";
- mes "^FF0000I can't see.... my eye....^000000";
- mes "^FF0000What's going on....?^000000";
- next;
- mes "- You take a deep breath and then look at the Ghost and notice it has an eye patch -";
- next;
- mes "[Ghost]";
- mes "^FF0000My eyes are so tight... can you take this off?^000000";
- next;
- mes "You step carefully towards the ghost.";
- next;
- mes "His face was covered with dust making strange contortions with it's face.";
- next;
- mes "[Ghost]";
- mes "^FF0000Come on help mom.....^000000";
- next;
- switch(select("Take the eye bandage off.", "Run away~.")) {
- case 1:
- while(1) {
- .@cpudice = rand(1,6);
- .@pcdice = rand(1,6);
- if (.@cpudice != .@pcdice) {
- emotion (57+.@cpudice),0,"Ghost#bra";
- emotion (57+.@cpudice),1;
- break;
- }
- }
- if (.@cpudice > .@pcdice) {
- specialeffect(EF_DEVIL, AREA, playerattached());
- mes "[Ghost]";
- mes "^FF0000Go away!^000000";
- brazil_ghost = 1;
- changequest 60354,2208;
- percentheal -50,-50;
- close2;
- disablenpc "Ghost#bra";
- warp "bra_in01",12,183;
- end;
- }
- else {
- emotion e_bzz,1;
- mes "[Ghost]";
- mes "^FF0000Ahh!^000000";
- mes "The Ghost disappeared into the toilet.";
- brazil_ghost = 7;
- changequest 60354,60355;
- close2;
- disablenpc "Ghost#bra";
- warp "bra_in01",206,100;
- end;
- }
- case 2:
- mes "You run away from the ghost.";
- close2;
- brazil_ghost = 1;
- changequest 60354,2208;
- warp "bra_in01",12,183;
- disablenpc "Ghost#bra";
- end;
- }
- close;
- }
- else {
- mes "Nothing happens.";
- close;
- }
+ emotion e_bzz,1;
+ mes "[Ghost]";
+ mes "^FF0000Ahh!^000000";
+ mes "The Ghost disappeared into the toilet.";
+ brazil_ghost = 7;
+ changequest 60354,60355;
+ close2;
+ disablenpc "Ghost#bra";
+ warp "bra_in01",206,100;
+ end;
}
case 2:
- mes "You do nothing.";
- close;
+ mes "You run away from the ghost.";
+ close2;
+ brazil_ghost = 1;
+ changequest 60354,2208;
+ warp "bra_in01",12,183;
+ disablenpc "Ghost#bra";
+ end;
}
- }
- else {
- mes "- You can see a clean mirror without any marks or dust -";
+ close;
+ case 2:
+ mes "You do nothing.";
close;
}
}
diff --git a/npc/re/quests/quests_dewata.txt b/npc/re/quests/quests_dewata.txt
index 1b57e4397..ac6e54622 100644
--- a/npc/re/quests/quests_dewata.txt
+++ b/npc/re/quests/quests_dewata.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lemongrass
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
-//= Copyright (C) Gennosuke Kouga
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lemongrass
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
+//= Copyright (C) Gennosuke Kouga
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -1706,7 +1706,7 @@ dew_fild01,127,240,4 script Gatti#weapon 2_M_OLDBLSMITH,{
next;
mes "- He seems to be asking for the Island name. -";
next;
- input .@island_name$;
+ input(.@island_name$);
next;
mes "["+strcharinfo(PC_NAME)+"]";
mes "It's called "+ .@island_name$ +". What's wrong?";
diff --git a/npc/re/quests/quests_dicastes.txt b/npc/re/quests/quests_dicastes.txt
index 817b4780d..960d3a580 100644
--- a/npc/re/quests/quests_dicastes.txt
+++ b/npc/re/quests/quests_dicastes.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Frost
-//= Copyright (C) Dastgir
-//= Copyright (C) Joseph
-//= Copyright (C) Masao
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
-//= Copyright (C) Gennosuke Kouga
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Frost
+//= Copyright (C) Dastgir
+//= Copyright (C) Joseph
+//= Copyright (C) Masao
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
+//= Copyright (C) Gennosuke Kouga
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -131,7 +131,7 @@ dic_dun01,266,113,5 script Curious Sapha#ep13_3_ 4_MAN_BENKUNI,{
mes "I'll give you a deal and sell it by 500 Zeny each. But, try not to carry it with you into Scaraba Hall.";
mes "How many do you want? You can buy up to 100.";
next;
- input .@input;
+ input(.@input);
.@deal = 500 * .@input;
if (.@deal == 0) {
mes "[Curious Sapha]";
@@ -164,7 +164,7 @@ dic_dun01,266,113,5 script Curious Sapha#ep13_3_ 4_MAN_BENKUNI,{
mes "[Curious Sapha]";
mes "Do you have any useful information?";
mes "Please let me know!";
- input .@str$;
+ input(.@str$);
next;
mes "[Curious Sapha]";
mes "It says ^0000FF"+.@str$+"^000000.";
@@ -4588,7 +4588,7 @@ dic_fild01,231,174,5 script BK#ep133_18 4_M_MERCAT2,{
mes "- BK of the Cat Merchant group is being difficult.";
mes "What did Shay tell you to do?-";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Shay's special drink will be delivered" || .@inputstr$ == "Shay's special drink will be delivered.") {
mes "[" + strcharinfo(PC_NAME) + "]";
mes "Hmm. If you don't cooperate,";
@@ -7517,7 +7517,7 @@ moc_para01,44,19,3 script Cat Hand Agent#gekk 4_M_MERCAT2,{
mes "If you really mean it, then sign here.";
mes "I'm collecting signs to get on Gyareuk's good side... never mind. I will let them know you are my sponsor!";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "[Agent Geck]";
mes "" + strcharinfo(PC_NAME) + "? Human names are strange to me.";
next;
diff --git a/npc/re/quests/quests_eclage.txt b/npc/re/quests/quests_eclage.txt
index ac6717529..9cd41566a 100644
--- a/npc/re/quests/quests_eclage.txt
+++ b/npc/re/quests/quests_eclage.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Dastgir
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -140,13 +140,13 @@ ecl_fild01,94,322,5 script Security Guard#ep14_2 4_M_FAIRYSOLDIER,{
mes "Please fill out your name, occupation, and level here.";
next;
mes "Write your name.";
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "Write your occupation.";
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "Write your level.";
- input .@inputstr$;
+ input(.@inputstr$);
next;
mes "[Security Guard]";
mes "If you completed your forms, please submit them to the administrator over there.";
@@ -624,7 +624,7 @@ eclage,102,32,4 script Fairy Carpenter#ep14_2 4_M_FAIRYKID2,{
next;
mes "[Fairy Carpenter]";
mes "Please write the number of pieces necessary for each length. If no pieces for that length are necessary, please write 0.";
- input .@inputstr$;
+ input(.@inputstr$);
next;
if (.@inputstr$ != "002") {
mes "[Fairy Carpenter]";
@@ -1467,7 +1467,7 @@ eclage,191,200,4 script Yube#ep14_2 4_M_FAIRYKID5,{
emotion e_what;
cutin "war_y3",2;
next;
- input .@inputnum;
+ input(.@inputnum);
if (.@inputnum != 128) {
mes "[Yube]";
mes "Hmm~ I don't think so.";
@@ -1591,7 +1591,7 @@ eclage,191,200,4 script Yube#ep14_2 4_M_FAIRYKID5,{
mes "I can make as many as 128. How many do you need?";
cutin "war_y4",2;
next;
- input .@input;
+ input(.@input);
if (.@input < 1 || .@input > 128) {
mes "[Yube]";
mes "You aren't going to make them?";
@@ -10100,19 +10100,17 @@ ecl_in04,109,215,3 script Hiel#pa0829 4_M_FAIRYSCHOLAR,{
mes "[Hiel]";
mes "Oh~ Someone referred you to me? Who was it? You better make sense, or I'll be sure to kick you out.";
next;
- input .@inputstr$;
- if (.@inputstr$ == "Clever"){
- mes "[" + strcharinfo(PC_NAME) + "]";
- mes .@inputstr$ + " referred me(" + strcharinfo(PC_NAME) + ") to you.";
- next;
- }
- else {
+ input(.@inputstr$);
+ if (.@inputstr$ != "Clever") {
mes "[Hiel]";
mes "I don't know that person! Aren't you suspicious!";
close2;
warp "eclage",152,91;
end;
}
+ mes "[" + strcharinfo(PC_NAME) + "]";
+ mes .@inputstr$ + " referred me(" + strcharinfo(PC_NAME) + ") to you.";
+ next;
mes "[Hiel]";
mes "Oh really? Give me a minute. I'm going to wrap up what I am doing and come back.";
ep14_2_etran = 11;
@@ -10923,13 +10921,8 @@ ecl_in02,133,115,7 script Prison Guard#pa0829 4_M_FAIRYSOLDIER2,{
mes "[Prison Guard]";
mes "I see, I don't think I ever saw you on our visitor's list. Who are you visiting?";
next;
- input .@inputstr$;
- if (.@inputstr$ == "Clever") {
- mes "[Prison Guard]";
- mes "^000099" + .@inputstr$ + "^000000? ... That means...";
- next;
- }
- else {
+ input(.@inputstr$);
+ if (.@inputstr$ != "Clever") {
mes "[Prison Guard]";
mes "Hmm? You want to visit ^000099" + .@inputstr$ + "^000000? I don't see that visitation on the list. Are you sure you made a formal request?";
next;
@@ -10939,6 +10932,9 @@ ecl_in02,133,115,7 script Prison Guard#pa0829 4_M_FAIRYSOLDIER2,{
}
close;
}
+ mes "[Prison Guard]";
+ mes "^000099" + .@inputstr$ + "^000000? ... That means...";
+ next;
mes "[Clever]";
mes "Huh? I've got a visitor? Yahoo! It's a visit! Yay~";
next;
@@ -11753,12 +11749,12 @@ ecl_in04,108,215,4 script Supreme Elec rope#pa0829 HIDDEN_NPC,{
}
sec_in02,85,187,4 script #pa0829Reactor11 4_M_FAIRYKID,3,3,{
- input .@input;
+ input(.@input);
if (.@input == 1854) {
mes "[????]";
mes "Baby, you don't know why I'm upset, do you?";
mes "Present" + ep14_2_etran + "Dog";
- input .@input;
+ input(.@input, 0);
ep14_2_etran = .@input;
if (ep14_2_mylord < 7) {
ep14_2_mylord = 7;
@@ -13748,7 +13744,7 @@ sec_in02,16,11,5 script New Oz Image#1 4_M_MINSTREL1,1,1,{
//== Memory of Professor Worm ==============================
sec_in02,10,17,4 script Professor Aide#worm 4_BULL,{
- input .@input;
+ input(.@input);
if (.@input != 1917) {
mes "EEK!";
close;
@@ -19129,7 +19125,7 @@ que_avan01,18,38,0 script Desk#tl01 CLEAR_NPC,{
mes "In the middle, there is a small numerical panel. A 5-digit number can be inputted.";
next;
if (select("Input a number.", "Look at other parts of the desk.")==1) {
- input .@input;
+ input(.@input);
if (.@input == 31425) {
mes "As soon as the number is inputted, a click is heard.";
mes "The hinged device can be opened.";
diff --git a/npc/re/quests/quests_glastheim.txt b/npc/re/quests/quests_glastheim.txt
index cc6f2dc9d..c3ec8d06d 100644
--- a/npc/re/quests/quests_glastheim.txt
+++ b/npc/re/quests/quests_glastheim.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2016 Hercules Dev Team
-//= Copyright (C) 2016 Ridley
+//= Copyright (C) 2016-2020 Hercules Dev Team
+//= Copyright (C) 2016 Ridley
//=
//= 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/npc/re/quests/quests_izlude.txt b/npc/re/quests/quests_izlude.txt
index 661fb735e..bd71f9fa2 100644
--- a/npc/re/quests/quests_izlude.txt
+++ b/npc/re/quests/quests_izlude.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Daegaladh
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Daegaladh
//=
//= 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/npc/re/quests/quests_lighthalzen.txt b/npc/re/quests/quests_lighthalzen.txt
index 070368a23..9369f298a 100644
--- a/npc/re/quests/quests_lighthalzen.txt
+++ b/npc/re/quests/quests_lighthalzen.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) AtlantisRO
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) AtlantisRO
//=
//= 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/npc/re/quests/quests_malangdo.txt b/npc/re/quests/quests_malangdo.txt
index 786aeccb1..0d22c9565 100644
--- a/npc/re/quests/quests_malangdo.txt
+++ b/npc/re/quests/quests_malangdo.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Muad_Dib
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -185,12 +185,13 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
mes "Isn't it lovely?";
mes "How many will you invest in? Enter 0 to cancel.";
next;
- input .@input;
- if (.@input == 0) {
+ input(.@input);
+ if (.@input <= 0) {
mes "[Investment Cat Helper]";
mes "Please invest next time~";
close;
- } else if (.@input > 10) {
+ }
+ if (.@input > 10) {
mes "[Investment Cat Helper]";
mes "You can get a maximum of 10 accounts~";
close;
@@ -299,29 +300,29 @@ mal_in02,134,31,5 script Investment Cat Helper 4_WHITETIGER,{
mes "[Investment Cat Helper]";
mes "The can donation can range from a minimum of 20 to a maximum of 10,000.";
next;
- input .@input;
+ input(.@input);
if (.@input < 20 || .@input > 10000) {
mes "[Investment Cat Helper]";
mes "The can donation can range from a minimum of 20 to a maximum of 10,000.";
close;
- } else if (countitem(Malang_Sp_Can) < .@input) { // Malang_Sp_Can
+ }
+ if (countitem(Malang_Sp_Can) < .@input) { // Malang_Sp_Can
mes "[Investment Cat Helper]";
mes "Hmm? You don't have enough cans.";
close;
- } else {
- delitem Malang_Sp_Can,.@input;
- mes "[Investment Cat Helper]";
- mes "Ohh! Thank you~";
- next;
- mes "[Investment Cat Helper]";
- mes "Dear "+strcharinfo(PC_NAME)+" ~";
- mes "I have only Increase AGI";
- mes "and Blessing to give you.";
- mes "Thank you.";
- npcskill "AL_INCAGI",10,0,0;
- npcskill "AL_BLESSING",10,0,0;
- close;
}
+ delitem Malang_Sp_Can,.@input;
+ mes "[Investment Cat Helper]";
+ mes "Ohh! Thank you~";
+ next;
+ mes "[Investment Cat Helper]";
+ mes "Dear "+strcharinfo(PC_NAME)+" ~";
+ mes "I have only Increase AGI";
+ mes "and Blessing to give you.";
+ mes "Thank you.";
+ npcskill "AL_INCAGI",10,0,0;
+ npcskill "AL_BLESSING",10,0,0;
+ close;
}
}
@@ -5556,7 +5557,7 @@ L_Viewpoint:
break;
}
next;
- input .@input;
+ input(.@input);
if (.@input == .@nori_c) {
mes "The card slides out with a sound after entering the number.";
mes "^4d4dffYou have passed the "+strnpcinfo(NPC_NAME_VISIBLE)+"! Run to the next destination!^000000";
@@ -7755,7 +7756,7 @@ malangdo,161,197,4 script Eryu#gamer 4_CAT,{
next;
mes "What do you want to say?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Come back") {
erasequest 5083;
setquest 5084;
@@ -7984,7 +7985,7 @@ malangdo,230,197,4 script Stew#gamer 4_CAT_3COLOR,{
next;
mes "What do you want to say?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Come back") {
erasequest 5085;
setquest 5086;
@@ -8166,7 +8167,7 @@ malangdo,244,144,4 script Ketchup#gamer 4_CAT_SAILOR3,{
next;
mes "What do you want to say?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Come back") {
erasequest 5087;
setquest 5088;
@@ -8433,7 +8434,7 @@ malangdo,181,119,7 script Eff#gamer 4_CAT_ADV2,{
next;
mes "What do you want to say?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ == "Come back") {
erasequest 5089;
setquest 5090;
diff --git a/npc/re/quests/quests_malaya.txt b/npc/re/quests/quests_malaya.txt
index 091d8527a..143fc07bc 100644
--- a/npc/re/quests/quests_malaya.txt
+++ b/npc/re/quests/quests_malaya.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Michieru
-//= Copyright (C) DeadlySilence
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Michieru
+//= Copyright (C) DeadlySilence
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -2088,13 +2088,14 @@ malaya,119,217,3 script Blacksmith Pandoi 4_M_DEWBOY,{
mes "How many Silver Crosses do you need?";
mes "I can make up to 50 at a time.";
next;
- input .@amount;
- if (.@amount == 0) {
+ input(.@amount);
+ if (.@amount <= 0) {
mes "[Pandoi]";
mes "Don't need Silver Crosses?";
mes "Well, I can take a rest then. Ha ha ha ha~";
close;
- } else if (.@amount > 50) {
+ }
+ if (.@amount > 50) {
mes "[Pandoi]";
mes "A maximum of 50 at a time!";
close;
@@ -8317,7 +8318,7 @@ ma_fild01,1,1,4 script Pintados Manager#pin 4_F_KHELLISIA,{
mes "295 - 343 -> Day 7";
mes "Global 1 = 1 hr.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 344)
close;
$malaya_pintados_00 = .@input;
@@ -8326,7 +8327,7 @@ ma_fild01,1,1,4 script Pintados Manager#pin 4_F_KHELLISIA,{
mes "Adjust the accumulated value for the Lesser Agimat.";
mes "Values can be adjusted between 0 to 1000.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 1000)
close;
$malaya_pintados_01 = .@input;
@@ -8335,7 +8336,7 @@ ma_fild01,1,1,4 script Pintados Manager#pin 4_F_KHELLISIA,{
mes "Adjust the accumulated value of the Silver Cross.";
mes "Values can be adjusted between 0 to 1000.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 1000)
close;
$malaya_pintados_02 = .@input;
@@ -8344,7 +8345,7 @@ ma_fild01,1,1,4 script Pintados Manager#pin 4_F_KHELLISIA,{
mes "Adjust the accumulated value for the Dyestuff.";
mes "Values can be adjusted between 0 to 300.";
next;
- input .@input;
+ input(.@input);
if (.@input < 0 || .@input > 300)
close;
$malaya_pintados_03 = .@input;
@@ -8577,7 +8578,7 @@ ma_fild01,179,260,2 script Festival Helper Boy#pin 4_M_BARYO_BOY,{
mes "[Isco]";
mes "He he... I'm slow with numbers. I get lost when it's over 50. How many will you give me?";
next;
- input .@amount;
+ input(.@amount);
if (.@amount < 1 || .@amount > 50) {
mes "[Isco]";
mes "Sigh~ I'm lost! I can't count if the numbers are weird.";
@@ -8609,7 +8610,7 @@ ma_fild01,179,260,2 script Festival Helper Boy#pin 4_M_BARYO_BOY,{
mes "[Isco]";
mes "He he... I'm slow with numbers. I get lost when it's over 50. How many will you give me?";
next;
- input .@amount;
+ input(.@amount);
if (.@amount < 1 || .@amount > 50) {
mes "[Isco]";
mes "Sigh~ I told you I'm not good with numbers.";
diff --git a/npc/re/quests/quests_mora.txt b/npc/re/quests/quests_mora.txt
index 34293d200..1ba417904 100644
--- a/npc/re/quests/quests_mora.txt
+++ b/npc/re/quests/quests_mora.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -3618,7 +3618,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
mes "You... I saw. Feeling. I saw. Feeling.";
mes "You... Name?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "[Fishee]";
mes .@inputstr$+" do.";
mes "No know. No remember..";
@@ -3756,7 +3756,7 @@ mora,114,79,0 script Black Shadow#ep14_muk CLEAR_NPC,{
} else if (questprogress(5017)) {
mes "How will you bully the creature?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
mes "You do ^0000FF"+.@inputstr$+"^000000 to bully the unidentified creature.";
next;
setquest 5029;
@@ -4311,7 +4311,7 @@ mora,118,86,0 duplicate(???#mora) ???#ep14_muk05 CLEAR_NPC,2,2
next;
mes "What was the name of the unidentified creature?";
next;
- input .@inputstr$;
+ input(.@inputstr$);
if (.@inputstr$ != "Fishee") {
mes "[???]";
mes "No Family. "+.@inputstr$+" No.";
diff --git a/npc/re/quests/quests_morocc.txt b/npc/re/quests/quests_morocc.txt
index f88692561..08bd16769 100644
--- a/npc/re/quests/quests_morocc.txt
+++ b/npc/re/quests/quests_morocc.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/quests/quests_nameless.txt b/npc/re/quests/quests_nameless.txt
index 6d80c1c6a..440af3207 100644
--- a/npc/re/quests/quests_nameless.txt
+++ b/npc/re/quests/quests_nameless.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/quests/quests_payon.txt b/npc/re/quests/quests_payon.txt
new file mode 100644
index 000000000..6af5e647c
--- /dev/null
+++ b/npc/re/quests/quests_payon.txt
@@ -0,0 +1,35 @@
+//================= Hercules Script =======================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) JohnnyPlayy
+//=
+//= 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/>.
+//=========================================================================
+//= Quest NPCs located in Payon
+//================= Description ===========================================
+//= Quests related to Payon City.
+//================= Current Version =======================================
+//= 1.0
+//=========================================================================
+
+payon_in01,46,21,4 duplicate(Young man#12) Young man#1 4_M_ORIENT02
diff --git a/npc/re/quests/quests_veins.txt b/npc/re/quests/quests_veins.txt
index 28509ef46..bcff20157 100644
--- a/npc/re/quests/quests_veins.txt
+++ b/npc/re/quests/quests_veins.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/scripts.conf b/npc/re/scripts.conf
index c26e907ad..5ecf6b741 100644
--- a/npc/re/scripts.conf
+++ b/npc/re/scripts.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
@@ -136,6 +136,7 @@
"npc/re/other/turbo_track.txt",
// - Clan System
"npc/re/other/clans.txt",
+"npc/re/other/achievement_treasures.txt",
//================= Quests ================================================
// - Eden Group -------------------------------------------------
@@ -181,5 +182,6 @@
"npc/re/quests/quests_morocc.txt",
"npc/re/quests/quests_nameless.txt",
"npc/re/quests/quests_veins.txt",
+"npc/re/quests/quests_payon.txt",
// - New Gears --------------------------------------------------
"npc/re/quests/newgears/2012_headgears.txt",
diff --git a/npc/re/scripts_jobs.conf b/npc/re/scripts_jobs.conf
index 77d1532e1..6dd99e813 100644
--- a/npc/re/scripts_jobs.conf
+++ b/npc/re/scripts_jobs.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
@@ -40,6 +40,7 @@
"npc/re/jobs/1-1e/taekwon.txt",
// - 2e
"npc/re/jobs/2e/kagerou_oboro.txt",
+"npc/re/jobs/2e/rebellion.txt",
// - 3-1
"npc/re/jobs/3-1/archbishop.txt",
"npc/re/jobs/3-1/mechanic.txt",
diff --git a/npc/re/scripts_main.conf b/npc/re/scripts_main.conf
index 475e8d1be..1a98a9a01 100644
--- a/npc/re/scripts_main.conf
+++ b/npc/re/scripts_main.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/re/scripts_mapflags.conf b/npc/re/scripts_mapflags.conf
index 570294c47..3d448cf69 100644
--- a/npc/re/scripts_mapflags.conf
+++ b/npc/re/scripts_mapflags.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/re/scripts_monsters.conf b/npc/re/scripts_monsters.conf
index a143da36c..21ff25ce9 100644
--- a/npc/re/scripts_monsters.conf
+++ b/npc/re/scripts_monsters.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/re/scripts_warps.conf b/npc/re/scripts_warps.conf
index 683746d79..7b3f8be94 100644
--- a/npc/re/scripts_warps.conf
+++ b/npc/re/scripts_warps.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/re/scripts_woe.conf b/npc/re/scripts_woe.conf
index 957ac766d..b5b58ee62 100644
--- a/npc/re/scripts_woe.conf
+++ b/npc/re/scripts_woe.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/re/warps/cities/brasilis.txt b/npc/re/warps/cities/brasilis.txt
index 49e75cfe3..f54d13f29 100644
--- a/npc/re/warps/cities/brasilis.txt
+++ b/npc/re/warps/cities/brasilis.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Deagaladh
-//= Copyright (C) Jguy
-//= Copyright (C) Protimus
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Deagaladh
+//= Copyright (C) Jguy
+//= Copyright (C) Protimus
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/warps/cities/dewata.txt b/npc/re/warps/cities/dewata.txt
index f28e81383..11f2732d6 100644
--- a/npc/re/warps/cities/dewata.txt
+++ b/npc/re/warps/cities/dewata.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lemongrass
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lemongrass
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/warps/cities/dicastes.txt b/npc/re/warps/cities/dicastes.txt
index 862765d9a..fdae961a6 100644
--- a/npc/re/warps/cities/dicastes.txt
+++ b/npc/re/warps/cities/dicastes.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Chilly
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Chilly
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/warps/cities/eclage.txt b/npc/re/warps/cities/eclage.txt
index 221c98f22..ee2090a2f 100644
--- a/npc/re/warps/cities/eclage.txt
+++ b/npc/re/warps/cities/eclage.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/warps/cities/izlude.txt b/npc/re/warps/cities/izlude.txt
index 1e691e33b..7973b622f 100644
--- a/npc/re/warps/cities/izlude.txt
+++ b/npc/re/warps/cities/izlude.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Ridley
-//= Copyright (C) Euphy
-//= Copyright (C) Streusel
-//= Copyright (C) Masao
-//= Copyright (C) Justin84
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Ridley
+//= Copyright (C) Euphy
+//= Copyright (C) Streusel
+//= Copyright (C) Masao
+//= Copyright (C) Justin84
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/re/warps/cities/malangdo.txt b/npc/re/warps/cities/malangdo.txt
index 499793c22..080724fb5 100644
--- a/npc/re/warps/cities/malangdo.txt
+++ b/npc/re/warps/cities/malangdo.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/warps/cities/malaya.txt b/npc/re/warps/cities/malaya.txt
index 3c3e3073e..c2610665c 100644
--- a/npc/re/warps/cities/malaya.txt
+++ b/npc/re/warps/cities/malaya.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Chilly
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Chilly
//=
//= 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/npc/re/warps/cities/rachel.txt b/npc/re/warps/cities/rachel.txt
index 16bf226cc..33891f69c 100644
--- a/npc/re/warps/cities/rachel.txt
+++ b/npc/re/warps/cities/rachel.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) erKURITA
-//= Copyright (C) RockmanEXE
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) erKURITA
+//= Copyright (C) RockmanEXE
//=
//= 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/npc/re/warps/cities/yggdrasil.txt b/npc/re/warps/cities/yggdrasil.txt
index cdc096d10..f08802b57 100644
--- a/npc/re/warps/cities/yggdrasil.txt
+++ b/npc/re/warps/cities/yggdrasil.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) PKGINGO
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) PKGINGO
//=
//= 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/npc/re/warps/dungeons/bra_dun.txt b/npc/re/warps/dungeons/bra_dun.txt
index 7016f5549..d97fe82ba 100644
--- a/npc/re/warps/dungeons/bra_dun.txt
+++ b/npc/re/warps/dungeons/bra_dun.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/re/warps/dungeons/dic_dun.txt b/npc/re/warps/dungeons/dic_dun.txt
index 02597e375..678d80216 100644
--- a/npc/re/warps/dungeons/dic_dun.txt
+++ b/npc/re/warps/dungeons/dic_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Chilly
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Chilly
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/warps/dungeons/ecl_dun.txt b/npc/re/warps/dungeons/ecl_dun.txt
index 8a2aedae6..33c258d95 100644
--- a/npc/re/warps/dungeons/ecl_dun.txt
+++ b/npc/re/warps/dungeons/ecl_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Dastgir
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Dastgir
+//= Copyright (C) Chilly
//=
//= 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/npc/re/warps/dungeons/iz_dun.txt b/npc/re/warps/dungeons/iz_dun.txt
index 9746fc0dd..4ce79d67f 100644
--- a/npc/re/warps/dungeons/iz_dun.txt
+++ b/npc/re/warps/dungeons/iz_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/re/warps/dungeons/moc_pryd.txt b/npc/re/warps/dungeons/moc_pryd.txt
index 8daf245a8..e065f849f 100644
--- a/npc/re/warps/dungeons/moc_pryd.txt
+++ b/npc/re/warps/dungeons/moc_pryd.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/warps/fields/bif_fild.txt b/npc/re/warps/fields/bif_fild.txt
index 68e3f4f7a..cdd7854b2 100644
--- a/npc/re/warps/fields/bif_fild.txt
+++ b/npc/re/warps/fields/bif_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/warps/fields/bra_fild.txt b/npc/re/warps/fields/bra_fild.txt
index 7b36f7247..0a38436bb 100644
--- a/npc/re/warps/fields/bra_fild.txt
+++ b/npc/re/warps/fields/bra_fild.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Protimus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Protimus
//=
//= 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/npc/re/warps/fields/com_fild.txt b/npc/re/warps/fields/com_fild.txt
index bb17bdc5a..f213dc0b1 100644
--- a/npc/re/warps/fields/com_fild.txt
+++ b/npc/re/warps/fields/com_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/re/warps/fields/dic_fild.txt b/npc/re/warps/fields/dic_fild.txt
index 22d31fed9..f05227695 100644
--- a/npc/re/warps/fields/dic_fild.txt
+++ b/npc/re/warps/fields/dic_fild.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Chilly
-//= Copyright (C) Muad_Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Chilly
+//= Copyright (C) Muad_Dib
//=
//= 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/npc/re/warps/fields/geffen_fild.txt b/npc/re/warps/fields/geffen_fild.txt
index a20d902cc..5e0e84db9 100644
--- a/npc/re/warps/fields/geffen_fild.txt
+++ b/npc/re/warps/fields/geffen_fild.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
//=
//= 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/npc/re/warps/fields/hugel_fild.txt b/npc/re/warps/fields/hugel_fild.txt
index d43aa092f..8f0621450 100644
--- a/npc/re/warps/fields/hugel_fild.txt
+++ b/npc/re/warps/fields/hugel_fild.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Sara-chan
//=
//= 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/npc/re/warps/fields/morroc_fild.txt b/npc/re/warps/fields/morroc_fild.txt
index 7ae6f5433..604eff6fa 100644
--- a/npc/re/warps/fields/morroc_fild.txt
+++ b/npc/re/warps/fields/morroc_fild.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/re/warps/fields/payon_fild.txt b/npc/re/warps/fields/payon_fild.txt
index 296d4eed3..af0783ffc 100644
--- a/npc/re/warps/fields/payon_fild.txt
+++ b/npc/re/warps/fields/payon_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/re/warps/fields/prontera_fild.txt b/npc/re/warps/fields/prontera_fild.txt
index fae85a402..4a3563e83 100644
--- a/npc/re/warps/fields/prontera_fild.txt
+++ b/npc/re/warps/fields/prontera_fild.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/re/warps/fields/rachel_fild.txt b/npc/re/warps/fields/rachel_fild.txt
index 4840ee582..36b2e8a94 100644
--- a/npc/re/warps/fields/rachel_fild.txt
+++ b/npc/re/warps/fields/rachel_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
//=
//= 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/npc/re/warps/fields/veins_fild.txt b/npc/re/warps/fields/veins_fild.txt
index 04bbad754..df61c2cac 100644
--- a/npc/re/warps/fields/veins_fild.txt
+++ b/npc/re/warps/fields/veins_fild.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) $ephiroth
//=
//= 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/npc/re/warps/fields/yuno_fild.txt b/npc/re/warps/fields/yuno_fild.txt
index c87d1c3f6..a19951092 100644
--- a/npc/re/warps/fields/yuno_fild.txt
+++ b/npc/re/warps/fields/yuno_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
-//= Copyright (C) Sara
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
+//= Copyright (C) Sara
//=
//= 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/npc/re/warps/guildcastles.txt b/npc/re/warps/guildcastles.txt
index 444cc7ca5..8ee029a76 100644
--- a/npc/re/warps/guildcastles.txt
+++ b/npc/re/warps/guildcastles.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/warps/other/arena.txt b/npc/re/warps/other/arena.txt
index fb0ad9a3e..b06fb68d1 100644
--- a/npc/re/warps/other/arena.txt
+++ b/npc/re/warps/other/arena.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/re/warps/other/dimensional_gap.txt b/npc/re/warps/other/dimensional_gap.txt
index 890dc76f5..41ff9fa00 100644
--- a/npc/re/warps/other/dimensional_gap.txt
+++ b/npc/re/warps/other/dimensional_gap.txt
@@ -9,7 +9,7 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2016 Hercules Dev Team
+//= Copyright (C) 2016-2020 Hercules Dev Team
//= Copyright (C) Ridley
//= Copyright (C) Nova
//=
diff --git a/npc/re/warps/other/jobquests.txt b/npc/re/warps/other/jobquests.txt
index 4e12d4cff..e72c79b81 100644
--- a/npc/re/warps/other/jobquests.txt
+++ b/npc/re/warps/other/jobquests.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Athena
//=
//= 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/npc/re/warps/other/paradise.txt b/npc/re/warps/other/paradise.txt
index ad3f3cf00..0536eb096 100644
--- a/npc/re/warps/other/paradise.txt
+++ b/npc/re/warps/other/paradise.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Chilly
//=
//= 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/npc/re/warps/other/s_workshop.txt b/npc/re/warps/other/s_workshop.txt
index 59cc2c19c..5eeb7eae5 100644
--- a/npc/re/warps/other/s_workshop.txt
+++ b/npc/re/warps/other/s_workshop.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Chilly
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Chilly
//=
//= 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/npc/re/warps/other/sign.txt b/npc/re/warps/other/sign.txt
index 39face826..b650c41b3 100644
--- a/npc/re/warps/other/sign.txt
+++ b/npc/re/warps/other/sign.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) MasterOfMuppets
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) MasterOfMuppets
//=
//= 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/npc/re/woe-fe/invest_main.txt b/npc/re/woe-fe/invest_main.txt
index 6a65a9c78..b40588502 100644
--- a/npc/re/woe-fe/invest_main.txt
+++ b/npc/re/woe-fe/invest_main.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -151,18 +151,19 @@ function script F_Invest_Abyss {
mes "Please choose between 1 to 200.";
mes "Please enter 0 to cancel.";
next;
- input .@units;
+ input(.@units);
if (.@units < 0 || .@units > 200) {
mes getarg(1);
mes "You've exceeded the amount per investment.";
mes "Please try again.";
close;
- } else if (.@units == 0) {
+ }
+ if (.@units == 0) {
mes getarg(1);
mes "Canceled.";
close;
- } else
- break;
+ }
+ break;
case 5:
mes getarg(1);
mes "Canceled.";
@@ -199,18 +200,19 @@ function script F_Invest_Abyss {
mes "Please choose between 1 to 20.";
mes "Please enter 0 to cancel.";
next;
- input .@tickets;
+ input(.@tickets);
if (.@tickets < 0 || .@tickets > 20) {
mes getarg(1);
mes "You've exceeded the amount per investment.";
mes "Please try again.";
close;
- } else if (.@tickets == 0) {
+ }
+ if (.@tickets == 0) {
mes getarg(1);
mes "Canceled.";
close;
- } else
- break;
+ }
+ break;
case 4:
mes getarg(1);
mes "Canceled.";
@@ -906,7 +908,7 @@ OnAgitInvest:
for(.@i = 1; .@i<=5; ++.@i) {
.@castle_name$[.@i] = getcastlename(.@npc$+"g_cas0"+.@i);
.@owner_id[.@i] = getcastledata(.@npc$+"g_cas0"+.@i,1);
- .@owner_name$[.@i] = getguildname(.@owner_id[.@i]);
+ .@owner_name$[.@i] = getguildinfo(GUILDINFO_NAME, .@owner_id[.@i]);
if (.@guild == .@owner_id[.@i]) {
.@menu$ = .@menu$+.@castle_name$[.@i]+" ["+.@owner_name$[.@i]+"] Guild:";
.@castles_owned = .@castles_owned | (1<<.@i);
@@ -1060,7 +1062,7 @@ OnAgitInvest:
for(.@i = 1; .@i<=5; ++.@i) {
.@map$ = .@npc$+"g_cas0"+.@i;
.@fund[.@i] = getd("$@vfund_"+.@npc$+"0"+.@i);
- mes getcastlename(.@map$)+" "+getguildname(getcastledata(.@map$,1))+" Guild: "+.@fund[.@i];
+ mes getcastlename(.@map$)+" "+getguildinfo(GUILDINFO_NAME, getcastledata(.@map$,1))+" Guild: "+.@fund[.@i];
}
.@fund[0] = getd("$@vfund_"+.@npc$+"_extra");
mes .@realm$+" normal: "+.@fund[0];
diff --git a/npc/re/woe-fe/invest_npc.txt b/npc/re/woe-fe/invest_npc.txt
index 4b2d49f39..f996c345a 100644
--- a/npc/re/woe-fe/invest_npc.txt
+++ b/npc/re/woe-fe/invest_npc.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2013-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2013-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/scripts.conf b/npc/scripts.conf
index aa3cb23e8..086370899 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/scripts_custom.conf b/npc/scripts_custom.conf
index a5aad9767..bf970b8ca 100644
--- a/npc/scripts_custom.conf
+++ b/npc/scripts_custom.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
@@ -51,6 +51,7 @@
//"npc/custom/item_signer.txt",
//"npc/custom/woe_controller.txt",
//"npc/custom/bartershop.txt",
+//"npc/custom/expandedbartershop.txt",
//================= Other Scripts =========================================
// -- MVP Arena
diff --git a/npc/scripts_dev.conf b/npc/scripts_dev.conf
index 9916dcad9..d6d807a74 100644
--- a/npc/scripts_dev.conf
+++ b/npc/scripts_dev.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-2020 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/npc/scripts_jobs.conf b/npc/scripts_jobs.conf
index c95f9da9d..b6aeec0c6 100644
--- a/npc/scripts_jobs.conf
+++ b/npc/scripts_jobs.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/scripts_mapflags.conf b/npc/scripts_mapflags.conf
index eed3c3d3d..084004244 100644
--- a/npc/scripts_mapflags.conf
+++ b/npc/scripts_mapflags.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/scripts_monsters.conf b/npc/scripts_monsters.conf
index beab8fdf6..930c6c504 100644
--- a/npc/scripts_monsters.conf
+++ b/npc/scripts_monsters.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/scripts_removed.conf b/npc/scripts_removed.conf
index a4e0b5956..051115fd8 100644
--- a/npc/scripts_removed.conf
+++ b/npc/scripts_removed.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-2020 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/npc/scripts_warps.conf b/npc/scripts_warps.conf
index c89d75089..4f21c7c85 100644
--- a/npc/scripts_warps.conf
+++ b/npc/scripts_warps.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/scripts_woe.conf b/npc/scripts_woe.conf
index 695a1a398..1a1895766 100644
--- a/npc/scripts_woe.conf
+++ b/npc/scripts_woe.conf
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Athena Dev Teams
+//= Copyright (C) 2012-2020 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
diff --git a/npc/warps/cities/alberta.txt b/npc/warps/cities/alberta.txt
index b88dc04b4..b30ec8444 100644
--- a/npc/warps/cities/alberta.txt
+++ b/npc/warps/cities/alberta.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/warps/cities/aldebaran.txt b/npc/warps/cities/aldebaran.txt
index dd96edfb1..7715811e5 100644
--- a/npc/warps/cities/aldebaran.txt
+++ b/npc/warps/cities/aldebaran.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Justin84
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Justin84
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/warps/cities/amatsu.txt b/npc/warps/cities/amatsu.txt
index 89de14e85..7ab096c9e 100644
--- a/npc/warps/cities/amatsu.txt
+++ b/npc/warps/cities/amatsu.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) erKURITA
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) erKURITA
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/warps/cities/ayothaya.txt b/npc/warps/cities/ayothaya.txt
index 340cc3c86..e96202a21 100644
--- a/npc/warps/cities/ayothaya.txt
+++ b/npc/warps/cities/ayothaya.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) erKURITA
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) massdriller
-//= Copyright (C) Muad_Dib
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) erKURITA
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) massdriller
+//= Copyright (C) Muad_Dib
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/warps/cities/comodo.txt b/npc/warps/cities/comodo.txt
index f3e935ac9..00ceaa6bb 100644
--- a/npc/warps/cities/comodo.txt
+++ b/npc/warps/cities/comodo.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Dev Team
-//= Copyright (C) eAthena Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Dev Team
+//= Copyright (C) eAthena Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/warps/cities/einbech.txt b/npc/warps/cities/einbech.txt
index e66acb3a7..d2907f778 100644
--- a/npc/warps/cities/einbech.txt
+++ b/npc/warps/cities/einbech.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) SSUNNY@YOUNG
-//= Copyright (C) Muad Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) SSUNNY@YOUNG
+//= Copyright (C) Muad Dib
//=
//= 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/npc/warps/cities/einbroch.txt b/npc/warps/cities/einbroch.txt
index 2eaa988d9..aa8685155 100644
--- a/npc/warps/cities/einbroch.txt
+++ b/npc/warps/cities/einbroch.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) erKURITA
-//= Copyright (C) Vicious
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) erKURITA
-//= Copyright (C) SSUNNY@YOUNG
-//= Copyrught (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) erKURITA
+//= Copyright (C) Vicious
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) erKURITA
+//= Copyright (C) SSUNNY@YOUNG
+//= Copyright (C) Sara-chan
//=
//= 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/npc/warps/cities/geffen.txt b/npc/warps/cities/geffen.txt
index abe9ade40..e574fd557 100644
--- a/npc/warps/cities/geffen.txt
+++ b/npc/warps/cities/geffen.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/warps/cities/gonryun.txt b/npc/warps/cities/gonryun.txt
index a3108db03..ab8cabcd9 100644
--- a/npc/warps/cities/gonryun.txt
+++ b/npc/warps/cities/gonryun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/cities/hugel.txt b/npc/warps/cities/hugel.txt
index 038debce0..246ea6901 100644
--- a/npc/warps/cities/hugel.txt
+++ b/npc/warps/cities/hugel.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) SinSloth
-//= Copyright (C) Playtester
-//= Copyright (C) erKURITA
-//= Copyright (C) Er_Maqui
-//= Copyright (C) Lupus
-//= Copyright (C) Muad_Dib
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) SinSloth
+//= Copyright (C) Playtester
+//= Copyright (C) erKURITA
+//= Copyright (C) Er_Maqui
+//= Copyright (C) Lupus
+//= Copyright (C) Muad_Dib
+//= Copyright (C) Sara-chan
//=
//= 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/npc/warps/cities/lighthalzen.txt b/npc/warps/cities/lighthalzen.txt
index abae1e19b..c5131b1c7 100644
--- a/npc/warps/cities/lighthalzen.txt
+++ b/npc/warps/cities/lighthalzen.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Zephiris
-//= Copyright (C) Vicious
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) DracoRPG
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Zephiris
+//= Copyright (C) Vicious
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) DracoRPG
+//= Copyright (C) Sara-chan
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -120,3 +120,5 @@ lighthalzen,251,299,0 warp lhz_house3_1-1 1,1,lhz_in03,97,21
lhz_in03,93,21,0 warp lhz_house3_1-2 1,1,lighthalzen,247,299
lhz_in03,134,14,0 warp lhz_house3_2-1 1,1,lhz_in03,125,90
lhz_in03,120,90,0 warp lhz_house3_2-2 1,1,lhz_in03,130,14
+lighthalzen,340,240,0 warp lhz_pub3-1 1,1,lhz_in03,180,86
+lhz_in03,180,90,0 warp lhz_pub3-2 1,1,lighthalzen,339,245
diff --git a/npc/warps/cities/louyang.txt b/npc/warps/cities/louyang.txt
index 0c1adebe1..b0525f01d 100644
--- a/npc/warps/cities/louyang.txt
+++ b/npc/warps/cities/louyang.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Samuray22
-//= Copyright (C) SinSloth
-//= Copyright (C) erKURITA
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Samuray22
+//= Copyright (C) SinSloth
+//= Copyright (C) erKURITA
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/warps/cities/lutie.txt b/npc/warps/cities/lutie.txt
index 8956430b0..cd99a4e62 100644
--- a/npc/warps/cities/lutie.txt
+++ b/npc/warps/cities/lutie.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/warps/cities/manuk.txt b/npc/warps/cities/manuk.txt
index 3786ff1b6..5528332cc 100644
--- a/npc/warps/cities/manuk.txt
+++ b/npc/warps/cities/manuk.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/warps/cities/mid_camp.txt b/npc/warps/cities/mid_camp.txt
index d2d327006..413ec462c 100644
--- a/npc/warps/cities/mid_camp.txt
+++ b/npc/warps/cities/mid_camp.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) brianluau
-//= Copyright (C) Brainstorm
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) brianluau
+//= Copyright (C) Brainstorm
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/warps/cities/morroc.txt b/npc/warps/cities/morroc.txt
index 5a341ba35..3cea4c04b 100644
--- a/npc/warps/cities/morroc.txt
+++ b/npc/warps/cities/morroc.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/warps/cities/moscovia.txt b/npc/warps/cities/moscovia.txt
index 058e7d420..4c9d6e9c2 100644
--- a/npc/warps/cities/moscovia.txt
+++ b/npc/warps/cities/moscovia.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) $ephiroth
//=
//= 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/npc/warps/cities/nameless.txt b/npc/warps/cities/nameless.txt
index 39df1a9d5..b4f3f27f5 100644
--- a/npc/warps/cities/nameless.txt
+++ b/npc/warps/cities/nameless.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) $ephiroth
//=
//= 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/npc/warps/cities/niflheim.txt b/npc/warps/cities/niflheim.txt
index 0ebcf7c14..8e3f05af9 100644
--- a/npc/warps/cities/niflheim.txt
+++ b/npc/warps/cities/niflheim.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Skotlex
-//= Copyright (C) PKGINGO
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Skotlex
+//= Copyright (C) PKGINGO
//=
//= 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/npc/warps/cities/payon.txt b/npc/warps/cities/payon.txt
index a87fd0062..0be00cc6e 100644
--- a/npc/warps/cities/payon.txt
+++ b/npc/warps/cities/payon.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2016 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Yor
-//= Copyright (C) Nana
-//= Copyright (C) Darkchild
-//= Copyright (C) Muad Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Yor
+//= Copyright (C) Nana
+//= Copyright (C) Darkchild
+//= Copyright (C) Muad Dib
//=
//= 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/npc/warps/cities/prontera.txt b/npc/warps/cities/prontera.txt
index 8d9edb89b..cbdbc867e 100644
--- a/npc/warps/cities/prontera.txt
+++ b/npc/warps/cities/prontera.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) shadow
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) shadow
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/warps/cities/splendide.txt b/npc/warps/cities/splendide.txt
index 97b560d84..3ffbc247d 100644
--- a/npc/warps/cities/splendide.txt
+++ b/npc/warps/cities/splendide.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/warps/cities/umbala.txt b/npc/warps/cities/umbala.txt
index 6a5c31a41..40e67a953 100644
--- a/npc/warps/cities/umbala.txt
+++ b/npc/warps/cities/umbala.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
-//= Copyright (C) Akaru
-//= Copyright (C) Athena
-//= Copyright (C) Darkchild
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
+//= Copyright (C) Akaru
+//= Copyright (C) Athena
+//= Copyright (C) Darkchild
//=
//= 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/npc/warps/cities/veins.txt b/npc/warps/cities/veins.txt
index dcdc1cc61..198e71f07 100644
--- a/npc/warps/cities/veins.txt
+++ b/npc/warps/cities/veins.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Zephyrus
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Zephyrus
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) $ephiroth
//=
//= 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/npc/warps/cities/yuno.txt b/npc/warps/cities/yuno.txt
index b04cc53dc..fd282012e 100644
--- a/npc/warps/cities/yuno.txt
+++ b/npc/warps/cities/yuno.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) SinSloth
-//= Copyright (C) Musashiden
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) SinSloth
+//= Copyright (C) Musashiden
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
+//= Copyright (C) Sara-chan
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@ yuno_in03,167,19,0 warp yun30 1,1,yuno,323,280
yuno_in03,167,72,0 warp yun31 1,1,yuno_in03,179,113
yuno_in03,179,109,0 warp yun32 1,1,yuno_in03,167,69
yuno_in03,186,119,0 warp yun33 1,1,yuno_in03,163,174
-yuno_in03,159,174,0 warp yun34 1,1,yuno_in03,183,119
+yuno_in03,161,174,0 warp yun34 1,1,yuno_in03,183,119
yuno_in03,186,131,0 warp yun35 1,1,yuno_in03,163,187
-yuno_in03,159,187,0 warp yun36 1,1,yuno_in03,183,131
-yuno_in03,172,118,0 warp yun37 1,1,yuno_in03,120,178
+yuno_in03,161,187,0 warp yun36 1,1,yuno_in03,183,131
+yuno_in03,173,118,0 warp yun37 1,1,yuno_in03,120,178
yuno_in03,124,178,0 warp yun38 1,1,yuno_in03,176,118
yuno_in03,111,192,0 warp yun39 1,1,yuno_in03,162,132
yuno_in03,162,129,0 warp yun40 1,1,yuno_in03,111,189
@@ -216,3 +216,6 @@ yuno_pre,81,68,0 warp yungvn09 1,1,yuno_pre,95,68
yuno_pre,18,92,0 warp yungvn10 1,1,yuno_pre,18,73
yuno,157,322,0 warp yungvn11 1,1,yuno_pre,69,13
yuno_pre,69,10,0 warp yungvn12 1,1,yuno,157,317
+
+yuno,195,87,0 warp yun78 1,1,yuno_in04,186,28
+yuno_in04,192,28,0 warp yun79 1,1,yuno,198,87
diff --git a/npc/warps/dungeons/abbey.txt b/npc/warps/dungeons/abbey.txt
index ffc20d7e2..037f09236 100644
--- a/npc/warps/dungeons/abbey.txt
+++ b/npc/warps/dungeons/abbey.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) $ephiroth
//=
//= 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/npc/warps/dungeons/abyss.txt b/npc/warps/dungeons/abyss.txt
index a1484d56e..567e0804b 100644
--- a/npc/warps/dungeons/abyss.txt
+++ b/npc/warps/dungeons/abyss.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) Muad-Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) Muad-Dib
//=
//= 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/npc/warps/dungeons/alde_dun.txt b/npc/warps/dungeons/alde_dun.txt
index e54751e2f..95b789270 100644
--- a/npc/warps/dungeons/alde_dun.txt
+++ b/npc/warps/dungeons/alde_dun.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/ama_dun.txt b/npc/warps/dungeons/ama_dun.txt
index b7377aaf2..ba8782b76 100644
--- a/npc/warps/dungeons/ama_dun.txt
+++ b/npc/warps/dungeons/ama_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/anthell.txt b/npc/warps/dungeons/anthell.txt
index 042a1efa4..b494625b2 100644
--- a/npc/warps/dungeons/anthell.txt
+++ b/npc/warps/dungeons/anthell.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Silent
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Silent
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/ayo_dun.txt b/npc/warps/dungeons/ayo_dun.txt
index f127829ac..733d6c33e 100644
--- a/npc/warps/dungeons/ayo_dun.txt
+++ b/npc/warps/dungeons/ayo_dun.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) rAthena Team
-//= Copyright (C) eAthena Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) rAthena Team
+//= Copyright (C) eAthena Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
//=
//= 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/npc/warps/dungeons/beach_dun.txt b/npc/warps/dungeons/beach_dun.txt
index 020663ac2..4d745cd99 100644
--- a/npc/warps/dungeons/beach_dun.txt
+++ b/npc/warps/dungeons/beach_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/c_tower.txt b/npc/warps/dungeons/c_tower.txt
index c67ace2c4..371c15370 100644
--- a/npc/warps/dungeons/c_tower.txt
+++ b/npc/warps/dungeons/c_tower.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/ein_dun.txt b/npc/warps/dungeons/ein_dun.txt
index df1061fc2..c78261c37 100644
--- a/npc/warps/dungeons/ein_dun.txt
+++ b/npc/warps/dungeons/ein_dun.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Gepard
-//= Copyright (C) Vicious
-//= Copyright (C) SSUNNY@YOUNG
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Gepard
+//= Copyright (C) Vicious
+//= Copyright (C) SSUNNY@YOUNG
+//= Copyright (C) Sara-chan
//=
//= 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/npc/warps/dungeons/gef_dun.txt b/npc/warps/dungeons/gef_dun.txt
index 0913d942f..8b3c78980 100644
--- a/npc/warps/dungeons/gef_dun.txt
+++ b/npc/warps/dungeons/gef_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/gon_dun.txt b/npc/warps/dungeons/gon_dun.txt
index f7532f4be..b93e4c1d2 100644
--- a/npc/warps/dungeons/gon_dun.txt
+++ b/npc/warps/dungeons/gon_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/ice_dun.txt b/npc/warps/dungeons/ice_dun.txt
index ec6853aaa..2e6c989e9 100644
--- a/npc/warps/dungeons/ice_dun.txt
+++ b/npc/warps/dungeons/ice_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
//=
//= 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/npc/warps/dungeons/in_sphinx.txt b/npc/warps/dungeons/in_sphinx.txt
index 1421fdc90..d506b87a1 100644
--- a/npc/warps/dungeons/in_sphinx.txt
+++ b/npc/warps/dungeons/in_sphinx.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/iz_dun.txt b/npc/warps/dungeons/iz_dun.txt
index cb3fb882d..c39e53b02 100644
--- a/npc/warps/dungeons/iz_dun.txt
+++ b/npc/warps/dungeons/iz_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
+//= Copyright (C) Athena
//=
//= 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/npc/warps/dungeons/juperos.txt b/npc/warps/dungeons/juperos.txt
index c69d80844..1948e68f6 100644
--- a/npc/warps/dungeons/juperos.txt
+++ b/npc/warps/dungeons/juperos.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Brainstorm
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Skotlex
-//= Copyright (C) Lance
-//= Copyright (C) Lupus
-//= Copyright (C) Muad-Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Brainstorm
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Skotlex
+//= Copyright (C) Lance
+//= Copyright (C) Lupus
+//= Copyright (C) Muad-Dib
//=
//= 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/npc/warps/dungeons/kh_dun.txt b/npc/warps/dungeons/kh_dun.txt
index 288e5411f..5bbc37d30 100644
--- a/npc/warps/dungeons/kh_dun.txt
+++ b/npc/warps/dungeons/kh_dun.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
-//= Copyright (C) Lost Kakashi
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
+//= Copyright (C) Lost Kakashi
//=
//= 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/npc/warps/dungeons/lhz_dun.txt b/npc/warps/dungeons/lhz_dun.txt
index f3d45a83a..09ec91915 100644
--- a/npc/warps/dungeons/lhz_dun.txt
+++ b/npc/warps/dungeons/lhz_dun.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Toms
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Vicious
-//= Copyright (C) Poki#3
-//= Copyright (C) Lupus
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Toms
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Vicious
+//= Copyright (C) Poki#3
+//= Copyright (C) Lupus
+//= Copyright (C) Sara-chan
//=
//= 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/npc/warps/dungeons/lou_dun.txt b/npc/warps/dungeons/lou_dun.txt
index 73e9b3cbe..035c37a37 100644
--- a/npc/warps/dungeons/lou_dun.txt
+++ b/npc/warps/dungeons/lou_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/mag_dun.txt b/npc/warps/dungeons/mag_dun.txt
index 354179abe..4f4bc122b 100644
--- a/npc/warps/dungeons/mag_dun.txt
+++ b/npc/warps/dungeons/mag_dun.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/mjo_dun.txt b/npc/warps/dungeons/mjo_dun.txt
index 96c649b9c..ea0977587 100644
--- a/npc/warps/dungeons/mjo_dun.txt
+++ b/npc/warps/dungeons/mjo_dun.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/moc_pryd.txt b/npc/warps/dungeons/moc_pryd.txt
index 673c3ef94..8ee6ab944 100644
--- a/npc/warps/dungeons/moc_pryd.txt
+++ b/npc/warps/dungeons/moc_pryd.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/mosk_dun.txt b/npc/warps/dungeons/mosk_dun.txt
index ed0597efa..a2752c448 100644
--- a/npc/warps/dungeons/mosk_dun.txt
+++ b/npc/warps/dungeons/mosk_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Kisuka
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Kisuka
+//= Copyright (C) $ephiroth
//=
//= 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/npc/warps/dungeons/odin.txt b/npc/warps/dungeons/odin.txt
index d478ea884..f20e04901 100644
--- a/npc/warps/dungeons/odin.txt
+++ b/npc/warps/dungeons/odin.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) SinSloth
-//= Copyright (C) Playtester
-//= Copyright (C) Silent
-//= Copyright (C) Poki#3
-//= Copyright (C) birkiczd
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) SinSloth
+//= Copyright (C) Playtester
+//= Copyright (C) Silent
+//= Copyright (C) Poki#3
+//= Copyright (C) birkiczd
//=
//= 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/npc/warps/dungeons/orcsdun.txt b/npc/warps/dungeons/orcsdun.txt
index 4caff4b3c..fe52b3263 100644
--- a/npc/warps/dungeons/orcsdun.txt
+++ b/npc/warps/dungeons/orcsdun.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/pay_dun.txt b/npc/warps/dungeons/pay_dun.txt
index 145fbbb3d..0b6f64669 100644
--- a/npc/warps/dungeons/pay_dun.txt
+++ b/npc/warps/dungeons/pay_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/prt_maze.txt b/npc/warps/dungeons/prt_maze.txt
index ba91f5d68..a37dd3426 100644
--- a/npc/warps/dungeons/prt_maze.txt
+++ b/npc/warps/dungeons/prt_maze.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/ra_san.txt b/npc/warps/dungeons/ra_san.txt
index 431e69952..5ee60aa8b 100644
--- a/npc/warps/dungeons/ra_san.txt
+++ b/npc/warps/dungeons/ra_san.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Playtester
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Playtester
//=
//= 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/npc/warps/dungeons/tha_t.txt b/npc/warps/dungeons/tha_t.txt
index 0915dacea..442e5c963 100644
--- a/npc/warps/dungeons/tha_t.txt
+++ b/npc/warps/dungeons/tha_t.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) SinSloth
-//= Copyright (C) Ishizu-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) SinSloth
+//= Copyright (C) Ishizu-chan
//=
//= 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/npc/warps/dungeons/thor_v.txt b/npc/warps/dungeons/thor_v.txt
index 260a98858..d96e8aa51 100644
--- a/npc/warps/dungeons/thor_v.txt
+++ b/npc/warps/dungeons/thor_v.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) $ephiroth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) $ephiroth
//=
//= 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/npc/warps/dungeons/treasure.txt b/npc/warps/dungeons/treasure.txt
index 6d3097984..3994d7b97 100644
--- a/npc/warps/dungeons/treasure.txt
+++ b/npc/warps/dungeons/treasure.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/tur_dun.txt b/npc/warps/dungeons/tur_dun.txt
index c30be07a5..fbf1245ff 100644
--- a/npc/warps/dungeons/tur_dun.txt
+++ b/npc/warps/dungeons/tur_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/dungeons/um_dun.txt b/npc/warps/dungeons/um_dun.txt
index 28a0a1b44..5eb506d42 100644
--- a/npc/warps/dungeons/um_dun.txt
+++ b/npc/warps/dungeons/um_dun.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Darkchild
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Darkchild
+//= Copyright (C) Athena
//=
//= 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/npc/warps/dungeons/xmas_dun.txt b/npc/warps/dungeons/xmas_dun.txt
index 9d2bbf2bc..b30c4dfcb 100644
--- a/npc/warps/dungeons/xmas_dun.txt
+++ b/npc/warps/dungeons/xmas_dun.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/fields/abyss_warper.txt b/npc/warps/fields/abyss_warper.txt
index fd8854234..6e25ee819 100644
--- a/npc/warps/fields/abyss_warper.txt
+++ b/npc/warps/fields/abyss_warper.txt
@@ -9,13 +9,13 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) SinSloth
-//= Copyright (C) Lupus
-//= Copyright (C) Silent
-//= Copyright (C) Nexon
-//= Copyright (C) erKURITA
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) SinSloth
+//= Copyright (C) Lupus
+//= Copyright (C) Silent
+//= Copyright (C) Nexon
+//= Copyright (C) erKURITA
//=
//= 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/npc/warps/fields/amatsu_fild.txt b/npc/warps/fields/amatsu_fild.txt
index 0a6721ae5..5e6a2a149 100644
--- a/npc/warps/fields/amatsu_fild.txt
+++ b/npc/warps/fields/amatsu_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/fields/ein_fild.txt b/npc/warps/fields/ein_fild.txt
index 37d62b765..4ebfc95a7 100644
--- a/npc/warps/fields/ein_fild.txt
+++ b/npc/warps/fields/ein_fild.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Vicious
-//= Copyright (C) Lupus
-//= Copyright (C) SSUNNY@YOUNG
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Vicious
+//= Copyright (C) Lupus
+//= Copyright (C) SSUNNY@YOUNG
+//= Copyright (C) Sara-chan
//=
//= 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/npc/warps/fields/gefenia.txt b/npc/warps/fields/gefenia.txt
index 93f9cf1ce..812fc748f 100644
--- a/npc/warps/fields/gefenia.txt
+++ b/npc/warps/fields/gefenia.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Nana
-//= Copyright (C) Darkchild
-//= Copyright (C) Muad Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Nana
+//= Copyright (C) Darkchild
+//= Copyright (C) Muad Dib
//=
//= 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/npc/warps/fields/glastheim.txt b/npc/warps/fields/glastheim.txt
index d806bc36e..299540344 100644
--- a/npc/warps/fields/glastheim.txt
+++ b/npc/warps/fields/glastheim.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/warps/fields/jawaii.txt b/npc/warps/fields/jawaii.txt
index b41937c81..aee418478 100644
--- a/npc/warps/fields/jawaii.txt
+++ b/npc/warps/fields/jawaii.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Komurka
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Darkchild
-//= Copyright (C) Muad Dib
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Komurka
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Darkchild
+//= Copyright (C) Muad Dib
//=
//= 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/npc/warps/fields/lhalzen_fild.txt b/npc/warps/fields/lhalzen_fild.txt
index 6615f4369..9fc8203b9 100644
--- a/npc/warps/fields/lhalzen_fild.txt
+++ b/npc/warps/fields/lhalzen_fild.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Vicious
-//= Copyright (C) DracoRPG
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Vicious
+//= Copyright (C) DracoRPG
+//= Copyright (C) Sara-chan
//=
//= 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/npc/warps/fields/lutie_fild.txt b/npc/warps/fields/lutie_fild.txt
index 38f60c844..a2a5b2aa6 100644
--- a/npc/warps/fields/lutie_fild.txt
+++ b/npc/warps/fields/lutie_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/fields/man_fild.txt b/npc/warps/fields/man_fild.txt
index 48b313b1b..2740f80aa 100644
--- a/npc/warps/fields/man_fild.txt
+++ b/npc/warps/fields/man_fild.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/warps/fields/mtmjolnir.txt b/npc/warps/fields/mtmjolnir.txt
index 013576572..bbfad891e 100644
--- a/npc/warps/fields/mtmjolnir.txt
+++ b/npc/warps/fields/mtmjolnir.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Samuray22
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Lupus
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Samuray22
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Lupus
+//= Copyright (C) Nana
//=
//= 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/npc/warps/fields/spl_fild.txt b/npc/warps/fields/spl_fild.txt
index 6e1376334..3cea05cb3 100644
--- a/npc/warps/fields/spl_fild.txt
+++ b/npc/warps/fields/spl_fild.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/warps/fields/umbala_fild.txt b/npc/warps/fields/umbala_fild.txt
index 05e4aa5ff..a30efd34f 100644
--- a/npc/warps/fields/umbala_fild.txt
+++ b/npc/warps/fields/umbala_fild.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Nana
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Nana
//=
//= 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/npc/warps/guildcastles.txt b/npc/warps/guildcastles.txt
index ed44a9c1f..94e2e5c2a 100644
--- a/npc/warps/guildcastles.txt
+++ b/npc/warps/guildcastles.txt
@@ -9,14 +9,14 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) Gepard
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) Skotlex
-//= Copyright (C) Yor
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) Gepard
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) Skotlex
+//= Copyright (C) Yor
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/warps/other/airplane.txt b/npc/warps/other/airplane.txt
index 997aacf14..dc198641a 100644
--- a/npc/warps/other/airplane.txt
+++ b/npc/warps/other/airplane.txt
@@ -9,15 +9,15 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Musashiden
-//= Copyright (C) Zephiris
-//= Copyright (C) Vicious
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) Skotlex
-//= Copyright (C) Lupus
-//= Copyright (C) SSUNNY@YOUNG
-//= Copyright (C) Sara-chan
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Musashiden
+//= Copyright (C) Zephiris
+//= Copyright (C) Vicious
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) Skotlex
+//= Copyright (C) Lupus
+//= Copyright (C) SSUNNY@YOUNG
+//= Copyright (C) Sara-chan
//=
//= 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/npc/warps/other/arena.txt b/npc/warps/other/arena.txt
index 09291dc5e..bdb1faf8e 100644
--- a/npc/warps/other/arena.txt
+++ b/npc/warps/other/arena.txt
@@ -9,11 +9,11 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) Lupus
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) Lupus
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) SinSloth
//=
//= 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/npc/warps/other/god.txt b/npc/warps/other/god.txt
index 6de222835..afd5e98d8 100644
--- a/npc/warps/other/god.txt
+++ b/npc/warps/other/god.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) MasterOfMuppets
-//= Copyright (C) SinSloth
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) MasterOfMuppets
+//= Copyright (C) SinSloth
//=
//= 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/npc/warps/other/jobquests.txt b/npc/warps/other/jobquests.txt
index 97da8ee9b..9146bbf87 100644
--- a/npc/warps/other/jobquests.txt
+++ b/npc/warps/other/jobquests.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) kobra_k88
-//= Copyright (C) Lupus
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) kobra_k88
+//= Copyright (C) Lupus
+//= Copyright (C) Athena
//=
//= 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/npc/warps/other/kiel.txt b/npc/warps/other/kiel.txt
index a0a5538da..ed2e617f4 100644
--- a/npc/warps/other/kiel.txt
+++ b/npc/warps/other/kiel.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Playtester
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Playtester
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/warps/other/other.txt b/npc/warps/other/other.txt
index 69141da6a..f4b7d7964 100644
--- a/npc/warps/other/other.txt
+++ b/npc/warps/other/other.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Athena
//=
//= 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/npc/warps/pvp.txt b/npc/warps/pvp.txt
index 141db5979..a990ef8e0 100644
--- a/npc/warps/pvp.txt
+++ b/npc/warps/pvp.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Timexy
-//= Copyright (C) Yor
-//= Copyright (C) Athena
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Timexy
+//= Copyright (C) Yor
+//= Copyright (C) Athena
//=
//= 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/npc/woe-fe/agit_controller.txt b/npc/woe-fe/agit_controller.txt
index be7e07d14..3d9afad99 100644
--- a/npc/woe-fe/agit_controller.txt
+++ b/npc/woe-fe/agit_controller.txt
@@ -9,16 +9,16 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
-//= Copyright (C) ultramage
-//= Copyright (C) KarLaeda
-//= Copyright (C) Avaj
-//= Copyright (C) Lupus
-//= Copyright (C) kobra_k88
-//= Copyright (C) Akaru
-//= Copyright (C) ho|yAnge|
-//= Copyright (C) kalen
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
+//= Copyright (C) ultramage
+//= Copyright (C) KarLaeda
+//= Copyright (C) Avaj
+//= Copyright (C) Lupus
+//= Copyright (C) kobra_k88
+//= Copyright (C) Akaru
+//= Copyright (C) ho|yAnge|
+//= Copyright (C) kalen
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -82,7 +82,7 @@ S_DisplayOwners:
setarray .@maps$[15],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05";
for (.@i = 0; .@i <= 19; ++.@i) {
if (getcastledata(.@maps$[.@i],1))
- announce "The [" + getcastlename(.@maps$[.@i]) + "] castle has been conquered by the [" + getguildname(getcastledata(.@maps$[.@i],1)) + "] guild.",bc_all|bc_woe;
+ announce "The [" + getcastlename(.@maps$[.@i]) + "] castle has been conquered by the [" + getguildinfo(GUILDINFO_NAME, getcastledata(.@maps$[.@i],1)) + "] guild.",bc_all|bc_woe;
else
announce "The [" + getcastlename(.@maps$[.@i]) + "] castle is currently unoccupied.",bc_all|bc_woe;
}
diff --git a/npc/woe-fe/agit_main.txt b/npc/woe-fe/agit_main.txt
index 5ac5b8e9a..cb319c590 100644
--- a/npc/woe-fe/agit_main.txt
+++ b/npc/woe-fe/agit_main.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Joseph
-//= Copyright (C) Euphy
-//= Copyright (C) Masao
-//= Copyright (C) Brian
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Joseph
+//= Copyright (C) Euphy
+//= Copyright (C) Masao
+//= Copyright (C) Brian
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -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;
}
@@ -142,7 +143,7 @@ OnAgitBreak:
if( agitcheck() )
donpcevent "Agit#"+strnpcinfo(NPC_NAME_HIDDEN)+"::OnStartArena";
sleep 7000;
- announce "The [" + getcastlename(strnpcinfo(NPC_NAME_HIDDEN)) + "] castle has been conquered by the [" + getguildname(.@GID) + "] guild.",bc_all|bc_woe;
+ announce "The [" + getcastlename(strnpcinfo(NPC_NAME_HIDDEN)) + "] castle has been conquered by the [" + getguildinfo(GUILDINFO_NAME, .@GID) + "] guild.",bc_all|bc_woe;
end;
// War of Emperium has ended.
@@ -344,7 +345,7 @@ OnRecvCastle:
cutin "kafra_01",2;
if (getcharid(CHAR_ID_GUILD) == .@GID) {
mes "[Kafra Employee]";
- mes "Welcome. ^ff0000" + getguildname(.@GID) + "^000000 Member.";
+ mes "Welcome. ^ff0000" + getguildinfo(GUILDINFO_NAME, .@GID) + "^000000 Member.";
mes "The Kafra Corporation will stay with you wherever you go.";
next;
switch (select("Use Storage", "Use Teleport Service", "Rent a Pushcart", "Cancel")) {
@@ -457,7 +458,7 @@ OnRecvCastle:
}
}
mes "[Kafra Employee]";
- mes "I am instructed to only offer my services to the ^ff0000"+getguildname(.@GID)+"^000000 Guild. Please try another Kafra Employee around here. Sorry for the inconvenience.";
+ mes "I am instructed to only offer my services to the ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild. Please try another Kafra Employee around here. Sorry for the inconvenience.";
close2;
cutin "",255;
end;
@@ -609,9 +610,9 @@ OnRecvCastle:
mes "Brave soul... fate will guide you towards your future...";
close;
}
- if (getguildmaster(.@GID) != strcharinfo(PC_NAME)) {
+ if (getguildinfo(GUILDINFO_MASTER_NAME, .@GID) != strcharinfo(PC_NAME)) {
mes "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
- mes "No matter how much you pester me, I'll still follow my master ^ff0000"+getguildmaster(.@GID)+"^000000. Where are the Guardians?! Send these ruffians away right now!";
+ mes "No matter how much you pester me, I'll still follow my master ^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000. Where are the Guardians?! Send these ruffians away right now!";
close;
}
mes "["+strnpcinfo(NPC_NAME_VISIBLE)+"]";
diff --git a/npc/woe-fe/aldeg_cas01.txt b/npc/woe-fe/aldeg_cas01.txt
index 5c76ca483..1b141cc2d 100644
--- a/npc/woe-fe/aldeg_cas01.txt
+++ b/npc/woe-fe/aldeg_cas01.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/aldeg_cas02.txt b/npc/woe-fe/aldeg_cas02.txt
index e588909a1..963610c58 100644
--- a/npc/woe-fe/aldeg_cas02.txt
+++ b/npc/woe-fe/aldeg_cas02.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/aldeg_cas03.txt b/npc/woe-fe/aldeg_cas03.txt
index a0076bfec..a9337d70e 100644
--- a/npc/woe-fe/aldeg_cas03.txt
+++ b/npc/woe-fe/aldeg_cas03.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/aldeg_cas04.txt b/npc/woe-fe/aldeg_cas04.txt
index f96586f48..75b624e14 100644
--- a/npc/woe-fe/aldeg_cas04.txt
+++ b/npc/woe-fe/aldeg_cas04.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/aldeg_cas05.txt b/npc/woe-fe/aldeg_cas05.txt
index 79c5c77af..005c28c47 100644
--- a/npc/woe-fe/aldeg_cas05.txt
+++ b/npc/woe-fe/aldeg_cas05.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/gefg_cas01.txt b/npc/woe-fe/gefg_cas01.txt
index 364222781..7eb8f6d1c 100644
--- a/npc/woe-fe/gefg_cas01.txt
+++ b/npc/woe-fe/gefg_cas01.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/gefg_cas02.txt b/npc/woe-fe/gefg_cas02.txt
index 5729b4033..29837b328 100644
--- a/npc/woe-fe/gefg_cas02.txt
+++ b/npc/woe-fe/gefg_cas02.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/gefg_cas03.txt b/npc/woe-fe/gefg_cas03.txt
index d74692200..d88296791 100644
--- a/npc/woe-fe/gefg_cas03.txt
+++ b/npc/woe-fe/gefg_cas03.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/gefg_cas04.txt b/npc/woe-fe/gefg_cas04.txt
index 39141723f..85905253e 100644
--- a/npc/woe-fe/gefg_cas04.txt
+++ b/npc/woe-fe/gefg_cas04.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/gefg_cas05.txt b/npc/woe-fe/gefg_cas05.txt
index caa9a10fc..5f2672cc2 100644
--- a/npc/woe-fe/gefg_cas05.txt
+++ b/npc/woe-fe/gefg_cas05.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/payg_cas01.txt b/npc/woe-fe/payg_cas01.txt
index d06883620..f9fdbd139 100644
--- a/npc/woe-fe/payg_cas01.txt
+++ b/npc/woe-fe/payg_cas01.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/payg_cas02.txt b/npc/woe-fe/payg_cas02.txt
index 9b5b97811..3c7d2fc16 100644
--- a/npc/woe-fe/payg_cas02.txt
+++ b/npc/woe-fe/payg_cas02.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -72,10 +72,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/payg_cas03.txt b/npc/woe-fe/payg_cas03.txt
index 10b859c8f..4477e2cdb 100644
--- a/npc/woe-fe/payg_cas03.txt
+++ b/npc/woe-fe/payg_cas03.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/payg_cas04.txt b/npc/woe-fe/payg_cas04.txt
index 46f4fbb6b..65b9b63cc 100644
--- a/npc/woe-fe/payg_cas04.txt
+++ b/npc/woe-fe/payg_cas04.txt
@@ -9,10 +9,10 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Streusel
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Streusel
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -72,10 +72,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/payg_cas05.txt b/npc/woe-fe/payg_cas05.txt
index a2a35790a..fcbf04ddf 100644
--- a/npc/woe-fe/payg_cas05.txt
+++ b/npc/woe-fe/payg_cas05.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/prtg_cas01.txt b/npc/woe-fe/prtg_cas01.txt
index 33a564fe9..d23153597 100644
--- a/npc/woe-fe/prtg_cas01.txt
+++ b/npc/woe-fe/prtg_cas01.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/prtg_cas02.txt b/npc/woe-fe/prtg_cas02.txt
index 6531b681f..b36aa8d55 100644
--- a/npc/woe-fe/prtg_cas02.txt
+++ b/npc/woe-fe/prtg_cas02.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/prtg_cas03.txt b/npc/woe-fe/prtg_cas03.txt
index 2a3879f65..7704ef4f0 100644
--- a/npc/woe-fe/prtg_cas03.txt
+++ b/npc/woe-fe/prtg_cas03.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/prtg_cas04.txt b/npc/woe-fe/prtg_cas04.txt
index 3e0de365f..bcfe13860 100644
--- a/npc/woe-fe/prtg_cas04.txt
+++ b/npc/woe-fe/prtg_cas04.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/prtg_cas05.txt b/npc/woe-fe/prtg_cas05.txt
index 56dc902a3..6f17b1ee1 100644
--- a/npc/woe-fe/prtg_cas05.txt
+++ b/npc/woe-fe/prtg_cas05.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Masao
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Masao
+//= Copyright (C) L0ne_W0lf
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -71,10 +71,10 @@
mes " ";
mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
mes "we approve that this place is in";
- mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes "the private prossession of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild.";
mes " ";
- mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
- mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "2. The guild Master of ^ff0000"+getguildinfo(GUILDINFO_NAME, .@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildinfo(GUILDINFO_MASTER_NAME, .@GID)+"^000000";
mes "If there is anyone who objects to this,";
mes "prove your strength and honor with a steel blade in your hand.";
close;
diff --git a/npc/woe-fe/trs_rp.txt b/npc/woe-fe/trs_rp.txt
index 7a71c1bbe..be87d75e2 100644
--- a/npc/woe-fe/trs_rp.txt
+++ b/npc/woe-fe/trs_rp.txt
@@ -9,9 +9,9 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Daegaladh
-//= Copyright (C) Masao
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Daegaladh
+//= Copyright (C) Masao
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
@@ -39,7 +39,7 @@ end;
OnTouch:
// Store the Guild ID of castle occupant.
.@GID = getcastledata(strnpcinfo(NPC_NAME_HIDDEN),1);
- if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) != getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
if (compare(strnpcinfo(NPC_NAME_HIDDEN),"aldeg"))
warp "aldebaran",143,112;
else if (compare(strnpcinfo(NPC_NAME_HIDDEN),"gefg"))
diff --git a/npc/woe-se/agit_main_se.txt b/npc/woe-se/agit_main_se.txt
index 41430f6a1..cad0a0599 100644
--- a/npc/woe-se/agit_main_se.txt
+++ b/npc/woe-se/agit_main_se.txt
@@ -9,12 +9,12 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Cookie
-//= Copyright (C) Euphy
-//= Copyright (C) Brian
-//= Copyright (C) Zephyrus
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Cookie
+//= Copyright (C) Euphy
+//= Copyright (C) Brian
+//= Copyright (C) Zephyrus
+//= Copyright (C) L0ne_W0lf
//=
//= 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,18 +230,18 @@ OnTreasureDied:
mes("to conquer this stronghold?");
close;
}
- if (getcharid(CHAR_ID_GUILD) != .@GID || strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
+ if (getcharid(CHAR_ID_GUILD) != .@GID || strcharinfo(PC_NAME) != getguildinfo(GUILDINFO_MASTER_NAME, .@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,");
- mesf("the one and only ^FF0000%s^000000.", getguildmaster(.@GID));
+ mesf("the one and only ^FF0000%s^000000.", getguildinfo(GUILDINFO_MASTER_NAME, .@GID));
close;
}
mes("[ Steward ]");
- mesf("Ah, Master ^FF0000%s^000000...", getguildmaster(.@GID));
+ mesf("Ah, Master ^FF0000%s^000000...", getguildinfo(GUILDINFO_MASTER_NAME, .@GID));
mes("How shall I serve you today?");
mes("Was there an aspect of this");
mes("stronghold's maintenance");
@@ -637,7 +637,7 @@ OnStartArena:
// Disable Kafra
disablenpc "Kafra Employee#"+strnpcinfo(NPC_NAME_HIDDEN);
- announce "The ["+getguildname(.@GID)+"] guild conquered the ["+.@region$+" "+charat(strnpcinfo(NPC_NAME_HIDDEN),3)+"] stronghold of "+getcastlename(strnpcinfo(NPC_MAP))+"!",bc_all|bc_woe;
+ announce "The ["+getguildinfo(GUILDINFO_NAME, .@GID)+"] guild conquered the ["+.@region$+" "+charat(strnpcinfo(NPC_NAME_HIDDEN),3)+"] stronghold of "+getcastlename(strnpcinfo(NPC_MAP))+"!",bc_all|bc_woe;
mapannounce strnpcinfo(NPC_MAP),"The emperium has been shattered!",bc_map,"0x00FF00",FW_NORMAL,20,0,40;
donpcevent "Manager#"+strnpcinfo(NPC_MAP)+"::OnReset";
maprespawnguildid strnpcinfo(NPC_MAP),getcastledata(strnpcinfo(NPC_MAP),1),2;
@@ -664,7 +664,7 @@ OnStartArena:
close;
}
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- if (strcharinfo(PC_NAME) != getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) != getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
mes(.@n$);
mes("As guardian of this");
mes("stronghold, I answer only");
@@ -857,7 +857,7 @@ OnInit:
if (getcharid(CHAR_ID_GUILD) == .@GID && getgdskilllv(.@GID,10001)) {
mes("[Kafra Employee]");
mes("Welcome, proud member");
- mesf("of the ^FF0000%s^000000 Guild!", getguildname(.@GID));
+ mesf("of the ^FF0000%s^000000 Guild!", getguildinfo(GUILDINFO_NAME, .@GID));
mes("The Kafra Corporation is ready");
mes("to assist you wherever you go!");
next;
@@ -953,7 +953,7 @@ OnInit:
mes("I'm sorry, but I've been");
mes("exclusively contracted");
mes("to the members of the");
- mesf("^FF0000%s^000000 Guild.", getguildname(.@GID));
+ mesf("^FF0000%s^000000 Guild.", getguildinfo(GUILDINFO_NAME, .@GID));
mes("You'll have to ask another");
mes("Kafra Employee to help you...");
close2;
@@ -1121,7 +1121,7 @@ OnEnable:
.@num = atoi(charat(strnpcinfo(NPC_NAME_VISIBLE),15));
.@var$ = "$agit_"+strnpcinfo(NPC_NAME_HIDDEN);
if (getcharid(CHAR_ID_GUILD) == .@GID) {
- if (strcharinfo(PC_NAME) == getguildmaster(.@GID)) {
+ if (strcharinfo(PC_NAME) == getguildinfo(GUILDINFO_MASTER_NAME, .@GID)) {
if (getd(.@var$+"["+(.@num+1)+"]") == 2) {
mes("^3355FFDemolished Fortress");
mes("Gates can be repaired,");
@@ -1808,11 +1808,11 @@ function script ReturnFlag {
mes("The Holy Kingdom of");
mesf("%s decrees that", .@str$);
mes("this stronghold is owned");
- mesf("by the ^FF0000%s^000000 Guild.", getguildname(.@GID));
+ mesf("by the ^FF0000%s^000000 Guild.", getguildinfo(GUILDINFO_NAME, .@GID));
next;
mesf("[ %s Royal Edict ]", .@str$);
- mesf("^FF0000%s^000000 is", getguildmaster(.@GID));
- mesf("Guild Master of ^FF0000%s^000000.", getguildname(.@GID));
+ mesf("^FF0000%s^000000 is", getguildinfo(GUILDINFO_MASTER_NAME, .@GID));
+ mesf("Guild Master of ^FF0000%s^000000.", getguildinfo(GUILDINFO_NAME, .@GID));
mes("Any that object must claim this");
mes("stronghold through strength of");
mes("steel and magic during the");
diff --git a/npc/woe-se/agit_start_se.txt b/npc/woe-se/agit_start_se.txt
index e8d5da481..596544eaf 100644
--- a/npc/woe-se/agit_start_se.txt
+++ b/npc/woe-se/agit_start_se.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/woe-se/arug_cas01.txt b/npc/woe-se/arug_cas01.txt
index 39615cb52..cc981317b 100644
--- a/npc/woe-se/arug_cas01.txt
+++ b/npc/woe-se/arug_cas01.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/arug_cas02.txt b/npc/woe-se/arug_cas02.txt
index 6e2de4438..fa0692eaa 100644
--- a/npc/woe-se/arug_cas02.txt
+++ b/npc/woe-se/arug_cas02.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/arug_cas03.txt b/npc/woe-se/arug_cas03.txt
index 3ab4d87f3..dc7830445 100644
--- a/npc/woe-se/arug_cas03.txt
+++ b/npc/woe-se/arug_cas03.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/arug_cas04.txt b/npc/woe-se/arug_cas04.txt
index ae3398e06..8b2dc6db2 100644
--- a/npc/woe-se/arug_cas04.txt
+++ b/npc/woe-se/arug_cas04.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/arug_cas05.txt b/npc/woe-se/arug_cas05.txt
index d1cf1bdc4..e8a27f59a 100644
--- a/npc/woe-se/arug_cas05.txt
+++ b/npc/woe-se/arug_cas05.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/guild_flags.txt b/npc/woe-se/guild_flags.txt
index 839690742..0faef4473 100644
--- a/npc/woe-se/guild_flags.txt
+++ b/npc/woe-se/guild_flags.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) L0ne_W0lf
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) L0ne_W0lf
//=
//= 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/npc/woe-se/schg_cas01.txt b/npc/woe-se/schg_cas01.txt
index 0c5e54386..644bd4fc9 100644
--- a/npc/woe-se/schg_cas01.txt
+++ b/npc/woe-se/schg_cas01.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/schg_cas02.txt b/npc/woe-se/schg_cas02.txt
index c3bb89d38..745ad7959 100644
--- a/npc/woe-se/schg_cas02.txt
+++ b/npc/woe-se/schg_cas02.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/schg_cas03.txt b/npc/woe-se/schg_cas03.txt
index 3bb760547..8a682d217 100644
--- a/npc/woe-se/schg_cas03.txt
+++ b/npc/woe-se/schg_cas03.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/schg_cas04.txt b/npc/woe-se/schg_cas04.txt
index 57744b4b7..dbf72d7bc 100644
--- a/npc/woe-se/schg_cas04.txt
+++ b/npc/woe-se/schg_cas04.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/npc/woe-se/schg_cas05.txt b/npc/woe-se/schg_cas05.txt
index 3cb096dc7..a499adf3b 100644
--- a/npc/woe-se/schg_cas05.txt
+++ b/npc/woe-se/schg_cas05.txt
@@ -9,8 +9,8 @@
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2012-2015 Hercules Dev Team
-//= Copyright (C) Euphy
+//= Copyright (C) 2012-2020 Hercules Dev Team
+//= Copyright (C) Euphy
//=
//= 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/script-checker b/script-checker
index 4532482bb..33bd2df94 100755
--- a/script-checker
+++ b/script-checker
@@ -3,8 +3,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2013-2015 Hercules Dev Team
-# Copyright (C) 2013 Haru <haru@dotalux.com>
+# Copyright (C) 2013-2020 Hercules Dev Team
+# Copyright (C) 2013 Haru <haru@dotalux.com>
#
# 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/script-checker.bat b/script-checker.bat
index 657687f66..8ca37cbfc 100644
--- a/script-checker.bat
+++ b/script-checker.bat
@@ -3,7 +3,7 @@
REM This file is part of Hercules.
REM http://herc.ws - http://github.com/HerculesWS/Hercules
REM
-REM Copyright (C) 2013-2015 Hercules Dev Team
+REM Copyright (C) 2013-2020 Hercules Dev Team
REM
REM Hercules is free software: you can redistribute it and/or modify
REM it under the terms of the GNU General Public License as published by
diff --git a/sql-files/item_db.sql b/sql-files/item_db.sql
index 3ebd77ed3..ac3cad389 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-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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
@@ -164,17 +164,17 @@ REPLACE INTO `item_db` VALUES ('596','Cute_Strawberry_Choco','Cute Strawberry-Ch
REPLACE INTO `item_db` VALUES ('597','Lovely_Choco_Tart','Lovely Choco-Tart','0','0','20','10','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 rand(10,400),0;','','');
REPLACE INTO `item_db` VALUES ('598','Light_Red_Pot','Light Red Potion','0','0','50','25','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','itemheal rand(45,65),0;','','');
REPLACE INTO `item_db` VALUES ('599','Light_Orange_Pot','Light Orange Potion','0','0','200','100','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','itemheal rand(105,145),0;','','');
-REPLACE INTO `item_db` VALUES ('601','Wing_Of_Fly','Fly Wing','11','0','60','30','50','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','itemskill AL_TELEPORT,1;','','');
-REPLACE INTO `item_db` VALUES ('602','Wing_Of_Butterfly','Butterfly Wing','11','0','300','150','50','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','itemskill AL_TELEPORT,3;','','');
+REPLACE INTO `item_db` VALUES ('601','Wing_Of_Fly','Fly Wing','2','0','60','30','50','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','itemskill AL_TELEPORT,1;','','');
+REPLACE INTO `item_db` VALUES ('602','Wing_Of_Butterfly','Butterfly Wing','2','0','300','150','50','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','itemskill AL_TELEPORT,3;','','');
REPLACE INTO `item_db` VALUES ('603','Old_Blue_Box','Old Blue Box','2','0','10000','5000','200','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','getrandgroupitem 603,1;','','');
REPLACE INTO `item_db` VALUES ('604','Branch_Of_Dead_Tree','Dead Branch','2','0','50','25','50','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','monster \"this\",-1,-1,\"--ja--\",-1,1,\"\";','','');
-REPLACE INTO `item_db` VALUES ('605','Anodyne','Anodyne','11','0','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_ENDURE,1;','','');
-REPLACE INTO `item_db` VALUES ('606','Aloebera','Aloevera','11','0','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_SELFPROVOKE,1;','','');
+REPLACE INTO `item_db` VALUES ('605','Anodyne','Anodyne','2','0','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_ENDURE,1;','','');
+REPLACE INTO `item_db` VALUES ('606','Aloebera','Aloevera','2','0','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_SELFPROVOKE,1;','','');
REPLACE INTO `item_db` VALUES ('607','Yggdrasilberry','Yggdrasil Berry','0','0','5000','2500','300','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','percentheal 100,100;','','');
REPLACE INTO `item_db` VALUES ('608','Seed_Of_Yggdrasil','Yggdrasil Seed','0','0','5000','2500','300','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','percentheal 50,50;','','');
REPLACE INTO `item_db` VALUES ('609','Amulet','Amulet','2','0','100','50','100','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 ('610','Leaf_Of_Yggdrasil','Yggdrasil Leaf','11','0','4000','2000','100','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','itemskill ALL_RESURRECTION,1;','','');
-REPLACE INTO `item_db` VALUES ('611','Spectacles','Magnifier','11','0','40','20','50','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','itemskill MC_IDENTIFY,1;','','');
+REPLACE INTO `item_db` VALUES ('610','Leaf_Of_Yggdrasil','Yggdrasil Leaf','2','0','4000','2000','100','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','itemskill ALL_RESURRECTION,1;','','');
+REPLACE INTO `item_db` VALUES ('611','Spectacles','Magnifier','2','0','40','20','50','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','itemskill MC_IDENTIFY,1;','','');
REPLACE INTO `item_db` VALUES ('612','Portable_Furnace','Mini Furnace','2','0','150','75','200','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','produce 21;','','');
REPLACE INTO `item_db` VALUES ('613','Iron_Hammer','Iron Hammer','2','0','1000','500','200','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','produce 1;','','');
REPLACE INTO `item_db` VALUES ('614','Golden_Hammer','Golden Hammer','2','0','3000','1500','300','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','produce 2;','','');
@@ -239,21 +239,21 @@ REPLACE INTO `item_db` VALUES ('682','Realgar_Wine','Distilled Fighting Spirit',
REPLACE INTO `item_db` VALUES ('683','Exorcize_Herb','Herb of Incantation','2','0','0','0','50','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','sc_start SC_PLUSMAGICPOWER, 60000, 30;','','');
REPLACE INTO `item_db` VALUES ('684','Durian','Durian','2','0','15000','7500','300','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','sc_start SC_PLUSATTACKPOWER, 60000, 10; sc_start SC_PLUSMAGICPOWER, 60000, 10;','','');
REPLACE INTO `item_db` VALUES ('685','RAMADAN','Ramadan','0','0','5000','2500','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','percentheal 100,50;','','');
-REPLACE INTO `item_db` VALUES ('686','Earth_Scroll_1_3','Level 3 Earth Spike','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill WZ_EARTHSPIKE,3;','','');
-REPLACE INTO `item_db` VALUES ('687','Earth_Scroll_1_5','Level 5 Earth Spike','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill WZ_EARTHSPIKE,5;','','');
-REPLACE INTO `item_db` VALUES ('688','Cold_Scroll_1_3','Level 3 Cold Bolt','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_COLDBOLT,3;','','');
-REPLACE INTO `item_db` VALUES ('689','Cold_Scroll_1_5','Level 5 Cold Bolt','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_COLDBOLT,5;','','');
-REPLACE INTO `item_db` VALUES ('690','Fire_Scroll_1_3','Level 3 Fire Bolt','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBOLT,3;','','');
-REPLACE INTO `item_db` VALUES ('691','Fire_Scroll_1_5','Level 5 Fire Bolt','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBOLT,5;','','');
-REPLACE INTO `item_db` VALUES ('692','Wind_Scroll_1_3','Level 3 Lightening Bolt','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_LIGHTNINGBOLT,3;','','');
-REPLACE INTO `item_db` VALUES ('693','Wind_Scroll_1_5','Level 5 Lightening Bolt','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_LIGHTNINGBOLT,5;','','');
-REPLACE INTO `item_db` VALUES ('694','Ghost_Scroll_1_3','Level 3 Soul Strike','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_SOULSTRIKE,3;','','');
-REPLACE INTO `item_db` VALUES ('695','Ghost_Scroll_1_5','Level 5 Soul Strike','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_SOULSTRIKE,5;','','');
-REPLACE INTO `item_db` VALUES ('696','Fire_Scroll_2_1','Level 1 Fire Ball','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBALL,1;','','');
-REPLACE INTO `item_db` VALUES ('697','Fire_Scroll_2_5','Level 5 Fire Ball','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBALL,5;','','');
-REPLACE INTO `item_db` VALUES ('698','Fire_Scroll_3_1','Level 1 Fire Wall','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREWALL,1;','','');
-REPLACE INTO `item_db` VALUES ('699','Fire_Scroll_3_5','Level 5 Fire Wall','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREWALL,5;','','');
-REPLACE INTO `item_db` VALUES ('700','Cold_Scroll_2_1','Level 1 Frost Diver','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FROSTDIVER,1;','','');
+REPLACE INTO `item_db` VALUES ('686','Earth_Scroll_1_3','Level 3 Earth Spike','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill WZ_EARTHSPIKE,3;','','');
+REPLACE INTO `item_db` VALUES ('687','Earth_Scroll_1_5','Level 5 Earth Spike','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill WZ_EARTHSPIKE,5;','','');
+REPLACE INTO `item_db` VALUES ('688','Cold_Scroll_1_3','Level 3 Cold Bolt','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_COLDBOLT,3;','','');
+REPLACE INTO `item_db` VALUES ('689','Cold_Scroll_1_5','Level 5 Cold Bolt','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_COLDBOLT,5;','','');
+REPLACE INTO `item_db` VALUES ('690','Fire_Scroll_1_3','Level 3 Fire Bolt','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBOLT,3;','','');
+REPLACE INTO `item_db` VALUES ('691','Fire_Scroll_1_5','Level 5 Fire Bolt','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBOLT,5;','','');
+REPLACE INTO `item_db` VALUES ('692','Wind_Scroll_1_3','Level 3 Lightening Bolt','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_LIGHTNINGBOLT,3;','','');
+REPLACE INTO `item_db` VALUES ('693','Wind_Scroll_1_5','Level 5 Lightening Bolt','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_LIGHTNINGBOLT,5;','','');
+REPLACE INTO `item_db` VALUES ('694','Ghost_Scroll_1_3','Level 3 Soul Strike','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_SOULSTRIKE,3;','','');
+REPLACE INTO `item_db` VALUES ('695','Ghost_Scroll_1_5','Level 5 Soul Strike','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_SOULSTRIKE,5;','','');
+REPLACE INTO `item_db` VALUES ('696','Fire_Scroll_2_1','Level 1 Fire Ball','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBALL,1;','','');
+REPLACE INTO `item_db` VALUES ('697','Fire_Scroll_2_5','Level 5 Fire Ball','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBALL,5;','','');
+REPLACE INTO `item_db` VALUES ('698','Fire_Scroll_3_1','Level 1 Fire Wall','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREWALL,1;','','');
+REPLACE INTO `item_db` VALUES ('699','Fire_Scroll_3_5','Level 5 Fire Wall','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREWALL,5;','','');
+REPLACE INTO `item_db` VALUES ('700','Cold_Scroll_2_1','Level 1 Frost Diver','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FROSTDIVER,1;','','');
REPLACE INTO `item_db` VALUES ('701','Ora_Ora','Ora Ora','3','0','55000','27500','200','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 ('702','Animal_Blood','Animal Gore','3','0','450','225','100','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 ('703','Hinalle','Hinalle','3','0','500','250','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','','','');
@@ -1035,9 +1035,11 @@ REPLACE INTO `item_db` VALUES ('1827','Krieger_Knuckle2','Glorious Fist','4','12
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 ('1847','Iron_Nail_K','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 ('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 ('1867','Ein_1HKNUCK','Ein_1HKNUCK','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -1110,8 +1112,10 @@ REPLACE INTO `item_db` VALUES ('2005','Dea_Staff','Dea Staff','4','23','20','10'
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 ('2048','Iron_Staff','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 ('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 ('2058','Ein_BHSTAFF','Ein_BHSTAFF','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -2521,7 +2525,7 @@ REPLACE INTO `item_db` VALUES ('5326','Masquerade_C','Masquerade C','5','0','1',
REPLACE INTO `item_db` VALUES ('5327','Orc_Hero_Helm_C','Refined Helmet of Orc Hero','5','0','1','0','0','0','0','10','0','0','18446744073709551614','63','2','768','0','0',NULL,'0','0','178','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5; bonus bVit,3;','','');
REPLACE INTO `item_db` VALUES ('5328','Evil_Wing_Ears_C','Evil Wing Ears C','5','0','1','0','0','0','0','2','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','0','152','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('5329','Dark_Blindfold_C','Dark Blindfold C','5','0','1','0','0','0','0','1','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','0','187','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,500;','','');
-REPLACE INTO `item_db` VALUES ('5330','kRO_Drooping_Kitty_C','kRO Drooping Kitty C','5','0','1','0','0','0','0','6','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','0','142','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,4000; bonus2 bResEff,Eff_Curse,1000;','','');
+REPLACE INTO `item_db` VALUES ('5330','kRO_Drooping_Kitty_C','kRO Drooping Kitty C','5','0','1','0','0','0','0','6','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','0','142','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,4000; bonus2 bResEff,Eff_Stun,1000;','','');
REPLACE INTO `item_db` VALUES ('5331','Corsair_C','Corsair C','5','0','1','0','0','0','0','10','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','0','105','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bInt,3;','','');
REPLACE INTO `item_db` VALUES ('5332','Loki_Mask','Loki Mask','5','0','0','0','200','0','0','0','0','0','18446744073709551615','63','2','513','0','20',NULL,'0','0','346','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2,3;','','');
REPLACE INTO `item_db` VALUES ('5333','Radio_Antenna','Radio Antenna','5','0','0','0','1500','0','0','2','0','0','18446744073709551615','63','2','256','0','50',NULL,'1','0','347','0','0','0','0','457',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bCritical,5; bonus bFlee,5; skill MG_LIGHTNINGBOLT,1; bonus4 bAutoSpellWhenHit,MG_THUNDERSTORM,5,30,1;','','');
@@ -3230,6 +3234,7 @@ REPLACE INTO `item_db` VALUES ('6393','Round_Feather','Round Feather','3','0','7
REPLACE INTO `item_db` VALUES ('6394','Golden_Feather','Golden Feather','3','0','650','325','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 ('6395','Angel_Magic_Power','Angel Magic Power','3','0','820','410','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 ('6396','Auger_Of_Spirit','Auger Of Spirit','3','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','','','');
+REPLACE INTO `item_db` VALUES ('6413','New_Insurance','New Insurance','3','0','2','1','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 ('6415','Strange_Embryo','Strange Embryo','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6493','Makibishi','Makibishi','3','0','30','15','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','','','');
REPLACE INTO `item_db` VALUES ('6512','Charm_Fire','Charm Fire','3','0','100','50','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','','','');
@@ -4213,6 +4218,11 @@ REPLACE INTO `item_db` VALUES ('9054','Nightmare_Terror_Egg','Nightmare Terror E
REPLACE INTO `item_db` VALUES ('9055','Succubus_Egg','Succubus Egg','7','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 ('9056','Imp_Egg','Imp Egg','7','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 ('9058','Snow_Rabbit_Egg','Christmas Snow Rabbit Egg','7','0','20','10','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 ('9514','Ein_Ddbox','Ein_Ddbox','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('9523','Metal_Rifine_Ticket','Metal_Rifine_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 ('9529','Ein_Ddbox2','Ein_Ddbox2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('9550','Gemstone_Of_Time','Gemstone_Of_Time','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('9551','Time_Unseal_Key','Time_Unseal_Key','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10001','Skull_Helm','Skull Helm','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 ('10002','Monster_Oxygen_Mask','Monster Oxygen 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 ('10003','Transparent_Headgear','Transparent Head Protector','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','','','');
@@ -4363,10 +4373,10 @@ REPLACE INTO `item_db` VALUES ('11709','Fanta_Zero_Lemon','Fanta Zero Lemon','0'
REPLACE INTO `item_db` VALUES ('11710','Sakura_Mist','Sakura Mist','0','0','800','400','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 rand(50,70),rand(10,12);','','');
REPLACE INTO `item_db` VALUES ('11711','Sakura_Milk_Tea','Sakura Milk Tea','0','0','800','400','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 rand(50,70),rand(10,12);','','');
REPLACE INTO `item_db` VALUES ('11712','First_Leaf_Tea','Flower','0','0','800','400','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 rand(50,70),rand(10,12);','','');
-REPLACE INTO `item_db` VALUES ('12000','Cold_Scroll_2_5','Level 5 Frost Diver','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FROSTDIVER,5;','','');
-REPLACE INTO `item_db` VALUES ('12001','Holy_Scroll_1_3','Level 3 Heal','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AL_HEAL,3;','','');
-REPLACE INTO `item_db` VALUES ('12002','Holy_Scroll_1_5','Level 5 Heal','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AL_HEAL,5;','','');
-REPLACE INTO `item_db` VALUES ('12003','Holy_Scroll_2_1','Level 1 Teleport','11','0','1000','500','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','itemskill AL_TELEPORT,1;','','');
+REPLACE INTO `item_db` VALUES ('12000','Cold_Scroll_2_5','Level 5 Frost Diver','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FROSTDIVER,5;','','');
+REPLACE INTO `item_db` VALUES ('12001','Holy_Scroll_1_3','Level 3 Heal','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AL_HEAL,3;','','');
+REPLACE INTO `item_db` VALUES ('12002','Holy_Scroll_1_5','Level 5 Heal','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AL_HEAL,5;','','');
+REPLACE INTO `item_db` VALUES ('12003','Holy_Scroll_2_1','Level 1 Teleport','2','0','1000','500','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','itemskill AL_TELEPORT,1;','','');
REPLACE INTO `item_db` VALUES ('12004','Arrow_Container','Quiver','2','0','2','1','250','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','getitem 1750,500;','','');
REPLACE INTO `item_db` VALUES ('12005','Iron_Arrow_Container','Iron Arrow Quiver','2','0','2','1','250','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','getitem 1770,500;','','');
REPLACE INTO `item_db` VALUES ('12006','Steel_Arrow_Container','Steel Arrow Quiver','2','0','2','1','250','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','getitem 1753,500;','','');
@@ -4382,8 +4392,8 @@ REPLACE INTO `item_db` VALUES ('12015','Rusty_Arrow_Container','Rusty Arrow Quiv
REPLACE INTO `item_db` VALUES ('12016','Speed_Up_Potion','Speed Potion','2','0','2','1','100','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','sc_start SC_MOVHASTE_POTION, 5000, 100;','','');
REPLACE INTO `item_db` VALUES ('12017','Slow_Down_Potion','Slow Potion','2','0','2','1','100','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','sc_start SC_MOVESLOW_POTION, 5000, 100;','','');
REPLACE INTO `item_db` VALUES ('12018','Fire_Cracker','Firecracker','2','0','2','1','20','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','end;','','');
-REPLACE INTO `item_db` VALUES ('12019','Holy_Egg','Holy Egg','11','0','2','1','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill ALL_RESURRECTION,2;','','');
-REPLACE INTO `item_db` VALUES ('12020','Water_Of_Darkness','Cursed Water','11','0','2','1','30','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','itemskill ITEM_ENCHANTARMS,8;','','');
+REPLACE INTO `item_db` VALUES ('12019','Holy_Egg','Holy Egg','2','0','2','1','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill ALL_RESURRECTION,2;','','');
+REPLACE INTO `item_db` VALUES ('12020','Water_Of_Darkness','Cursed Water','2','0','2','1','30','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','itemskill ITEM_ENCHANTARMS,8;','','');
REPLACE INTO `item_db` VALUES ('12021','Pork_Belly','Pork','0','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','itemheal rand(70,99),0;','','');
REPLACE INTO `item_db` VALUES ('12022','Spareribs','Galbi','0','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','itemheal rand(70,99),0;','','');
REPLACE INTO `item_db` VALUES ('12023','Giftbox_China','Wrapped Box','2','0','1000','500','200','0','0','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 12023,1;','','');
@@ -4392,10 +4402,10 @@ REPLACE INTO `item_db` VALUES ('12025','Egg_Boy','Dano Festival Egg','2','0','10
REPLACE INTO `item_db` VALUES ('12026','Egg_Girl','Dano Festival Egg','2','0','1000','500','200','0','0','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 12026,1;','','');
REPLACE INTO `item_db` VALUES ('12027','Giggling_Box','Giggling Box','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 9,0; sc_start SC_CURSE,30000,0,3000,SCFLAG_NONE;','','');
REPLACE INTO `item_db` VALUES ('12028','Box_Of_Thunder','Box of Thunder','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','sc_start SC_MOVHASTE_HORSE, 20000, 25;','','');
-REPLACE INTO `item_db` VALUES ('12029','Gloomy_Box','Box of Gloom','11','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AC_CONCENTRATION,1;','','');
+REPLACE INTO `item_db` VALUES ('12029','Gloomy_Box','Box of Gloom','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AC_CONCENTRATION,1;','','');
REPLACE INTO `item_db` VALUES ('12030','Box_Of_Grudge','Box of Resentment','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','sc_start SC_PLUSATTACKPOWER, 60000, 20;','','');
REPLACE INTO `item_db` VALUES ('12031','Sleepy_Box','Box of Drowsiness','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','sc_start SC_PLUSMAGICPOWER, 60000, 20;','','');
-REPLACE INTO `item_db` VALUES ('12032','Box_Of_Storm','Box of Storms','11','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill ITEM_ENCHANTARMS,2;','','');
+REPLACE INTO `item_db` VALUES ('12032','Box_Of_Storm','Box of Storms','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill ITEM_ENCHANTARMS,2;','','');
REPLACE INTO `item_db` VALUES ('12033','Box_Of_Sunlight','Box of Sunlight','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','sc_start SC_CLAIRVOYANCE,30000,0;','','');
REPLACE INTO `item_db` VALUES ('12034','Painting_Box','Box of Panting','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 0,9; sc_start SC_SILENCE,30000,0,3000,SCFLAG_NONE;','','');
REPLACE INTO `item_db` VALUES ('12035','Lotto_Box01','Lotto Box 01','2','0','0','0','20','0','0','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 12035,1;','','');
@@ -4477,14 +4487,14 @@ REPLACE INTO `item_db` VALUES ('12110','First_Aid_Kit','First Aid Kit','2','0','
REPLACE INTO `item_db` VALUES ('12111','Food_Package','Bundle of Food','2','0','10000','5000','200','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','getrandgroupitem 12111,1; getrandgroupitem 12111,1; getrandgroupitem 12111,1;','','');
REPLACE INTO `item_db` VALUES ('12112','Tropical_Sograt','Tropical Sograt','2','0','1000','500','100','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','sc_start SC_CURSE,10000,1;','','');
REPLACE INTO `item_db` VALUES ('12113','Vermilion_The_Beach','Vermilion on the Beach','2','0','1000','500','100','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','sc_start SC_STUN,10000,1;','','');
-REPLACE INTO `item_db` VALUES ('12114','Elemental_Fire','Elemental Converter','11','0','2','1','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','itemskill ITEM_ENCHANTARMS,4;','','');
-REPLACE INTO `item_db` VALUES ('12115','Elemental_Water','Elemental Converter','11','0','2','1','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','itemskill ITEM_ENCHANTARMS,2;','','');
-REPLACE INTO `item_db` VALUES ('12116','Elemental_Earth','Elemental Converter','11','0','2','1','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','itemskill ITEM_ENCHANTARMS,3;','','');
-REPLACE INTO `item_db` VALUES ('12117','Elemental_Wind','Elemental Converter','11','0','2','1','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','itemskill ITEM_ENCHANTARMS,5;','','');
-REPLACE INTO `item_db` VALUES ('12118','Resist_Fire','Fireproof Potion','2','0','2','1','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','sc_start4 SC_ARMORPROPERTY,1200000,-15,0,20,0;','','');
-REPLACE INTO `item_db` VALUES ('12119','Resist_Water','Coldproof Potion','2','0','2','1','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','sc_start4 SC_ARMORPROPERTY,1200000,20,0,0,-15;','','');
-REPLACE INTO `item_db` VALUES ('12120','Resist_Earth','Earthproof Potion','2','0','2','1','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','sc_start4 SC_ARMORPROPERTY,1200000,0,20,-15,0;','','');
-REPLACE INTO `item_db` VALUES ('12121','Resist_Wind','Thunderproof Potion','2','0','2','1','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','sc_start4 SC_ARMORPROPERTY,1200000,0,-15,0,20;','','');
+REPLACE INTO `item_db` VALUES ('12114','Elemental_Fire','Elemental Converter','2','0','2','1','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','itemskill ITEM_ENCHANTARMS,4;','','');
+REPLACE INTO `item_db` VALUES ('12115','Elemental_Water','Elemental Converter','2','0','2','1','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','itemskill ITEM_ENCHANTARMS,2;','','');
+REPLACE INTO `item_db` VALUES ('12116','Elemental_Earth','Elemental Converter','2','0','2','1','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','itemskill ITEM_ENCHANTARMS,3;','','');
+REPLACE INTO `item_db` VALUES ('12117','Elemental_Wind','Elemental Converter','2','0','2','1','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','itemskill ITEM_ENCHANTARMS,5;','','');
+REPLACE INTO `item_db` VALUES ('12118','Resist_Fire','Fireproof Potion','2','0','2','1','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','sc_start(SC_RESIST_PROPERTY_FIRE, 1200000, 20); sc_start(SC_RESIST_PROPERTY_WATER, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);','','');
+REPLACE INTO `item_db` VALUES ('12119','Resist_Water','Coldproof Potion','2','0','2','1','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','sc_start(SC_RESIST_PROPERTY_WATER, 1200000, 20); sc_start(SC_RESIST_PROPERTY_WIND, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);','','');
+REPLACE INTO `item_db` VALUES ('12120','Resist_Earth','Earthproof Potion','2','0','2','1','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','sc_start(SC_RESIST_PROPERTY_GROUND, 1200000, 20); sc_start(SC_RESIST_PROPERTY_FIRE, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);','','');
+REPLACE INTO `item_db` VALUES ('12121','Resist_Wind','Thunderproof Potion','2','0','2','1','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','sc_start(SC_RESIST_PROPERTY_WIND, 1200000, 20); sc_start(SC_RESIST_PROPERTY_GROUND, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);','','');
REPLACE INTO `item_db` VALUES ('12122','Sesame_Pastry','Sesame Pastry','2','0','2','1','70','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','sc_start SC_FOOD_BASICHIT,1200000,30;','','');
REPLACE INTO `item_db` VALUES ('12123','Honey_Pastry','Honey Pastry','2','0','2','1','70','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','sc_start SC_FOOD_BASICAVOIDANCE,1200000,30;','','');
REPLACE INTO `item_db` VALUES ('12124','Rainbow_Cake','Rainbow Cake','2','0','2','1','70','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','sc_start SC_BATKFOOD,1200000,10; sc_start SC_MATKFOOD,120000,10;','','');
@@ -4563,7 +4573,7 @@ REPLACE INTO `item_db` VALUES ('12196','Hearty_Rice_Cake','Hearty Rice Cake','0'
REPLACE INTO `item_db` VALUES ('12197','Salty_Rice_Cake','Salty Rice Cake','0','0','20','10','100','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','percentheal 10,10;','','');
REPLACE INTO `item_db` VALUES ('12198','Lucky_Rice_Cake','Lucky Rice Cake','2','0','20','10','100','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','sc_start SC_FOOD_LUK,1200000,21;','','');
REPLACE INTO `item_db` VALUES ('12199','Rice_Scroll','Scroll of Magic','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('12200','Event_Cake','X-mas Cake','11','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','itemskill PR_MAGNIFICAT,3;','','');
+REPLACE INTO `item_db` VALUES ('12200','Event_Cake','X-mas Cake','2','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','itemskill PR_MAGNIFICAT,3;','','');
REPLACE INTO `item_db` VALUES ('12201','Red_Box_C','Commonplace Red Box','2','0','20','10','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12202','Str_Dish10_','Steamed Tongue','0','0','2','1','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','sc_start(SC_FOOD_STR_CASH, 1800000, 10); percentheal(20, 10);','','');
REPLACE INTO `item_db` VALUES ('12203','Agi_Dish10_','Steamed Scorpion','0','0','2','1','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','sc_start(SC_FOOD_AGI_CASH, 1800000, 10); percentheal(15, 5);','','');
@@ -4578,12 +4588,12 @@ REPLACE INTO `item_db` VALUES ('12211','Kafra_Card','Kafra Card','2','0','2','1'
REPLACE INTO `item_db` VALUES ('12212','Giant_Fly_Wing','Giant Fly Wing','2','0','2','1','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','callfunc \"F_CashPartyCall\";','','');
REPLACE INTO `item_db` VALUES ('12213','Neuralizer','Neuralizer','11','0','2','1','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','callfunc \"F_CashReset\";','','');
REPLACE INTO `item_db` VALUES ('12214','Convex_Mirror','Convex Mirror','2','0','2','1','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','sc_start SC_CASH_BOSS_ALARM,600000,0;','','');
-REPLACE INTO `item_db` VALUES ('12215','Blessing_10_Scroll','LV10 Blessing Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','skilleffect AL_BLESSING,0; sc_start SC_BLESSING,240000,10;','','');
-REPLACE INTO `item_db` VALUES ('12216','Inc_Agi_10_Scroll','LV10 Agil Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','if(Hp>15) { skilleffect AL_INCAGI,0; sc_start SC_INC_AGI,240000,10; heal -15,0; }','','');
-REPLACE INTO `item_db` VALUES ('12217','Aspersio_5_Scroll','LV5 Aspersio Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','if(countitem(523)>0) { skilleffect PR_ASPERSIO,0; sc_start SC_ASPERSIO,180000,5; delitem 523,1; }','','');
-REPLACE INTO `item_db` VALUES ('12218','Assumptio_5_Scroll','LV5 Assumptio Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','sc_start SC_ASSUMPTIO,100000,5; skilleffect HP_ASSUMPTIO,0;','','');
-REPLACE INTO `item_db` VALUES ('12219','Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','skilleffect SN_WINDWALK,0; sc_start SC_WINDWALK,250000,5;','','');
-REPLACE INTO `item_db` VALUES ('12220','Adrenaline_Scroll','LV5 Adrenaline Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','.@type = getiteminfo(getequipid(EQI_HAND_R),11); if (.@type==6||.@type==7||.@type==8) { skilleffect BS_ADRENALINE,0; sc_start SC_ADRENALINE,150000,5; }','','');
+REPLACE INTO `item_db` VALUES ('12215','Blessing_10_Scroll','LV10 Blessing Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(AL_BLESSING, 10, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12216','Inc_Agi_10_Scroll','LV10 Agil Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(AL_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12217','Aspersio_5_Scroll','LV5 Aspersio Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(PR_ASPERSIO, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12218','Assumptio_5_Scroll','LV5 Assumptio Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(HP_ASSUMPTIO, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12219','Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(SN_WINDWALK, 10, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12220','Adrenaline_Scroll','LV5 Adrenaline Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(BS_ADRENALINE, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12221','Megaphone_','Megaphone','2','0','2','1','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','input @megaphone$; announce strcharinfo(PC_NAME) + \": \" + @megaphone$,bc_all,0xFF0000; end;','','');
REPLACE INTO `item_db` VALUES ('12225','Sweet_Candy_Striper','Sweet Candy Cane','2','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,'1',NULL,'0',NULL,'0','pet GOBLIN_XMAS;','','');
REPLACE INTO `item_db` VALUES ('12226','Examination1','Examination 1','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','sc_start SC_MOVHASTE_INFINITY, 5400000, 100; percentheal 100, 100; sc_start SC_FOOD_STR, 5400000, 10; sc_start SC_FOOD_DEX, 5400000, 5; sc_start SC_PLUSATTACKPOWER, 5400000, 22; sc_start SC_PLUSMAGICPOWER, 5400000, 15;','','');
@@ -4595,8 +4605,8 @@ REPLACE INTO `item_db` VALUES ('12231','Examination6','Examination 6','0','0','2
REPLACE INTO `item_db` VALUES ('12232','Gingerbread','Ginger Bread','2','0','20','10','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION2, 900000, 0; sc_start SC_MOVHASTE_INFINITY, 900000, 100;','','');
REPLACE INTO `item_db` VALUES ('12233','Kvass','Kvass','0','0','20','10','200','0','0','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 100,100;','','');
REPLACE INTO `item_db` VALUES ('12234','Cacao99','Fierce Cacao 99%','0','0','20','10','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','percentheal 25,0;','','');
-REPLACE INTO `item_db` VALUES ('12235','Strawberry_Choco','Chocolate Strawberry','2','0','20','10','100','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','percentheal 0,5; skilleffect AL_BLESSING,0; sc_start SC_BLESSING,240000,10;','','');
-REPLACE INTO `item_db` VALUES ('12236','Choco_Tart','Chocolate Tart','11','0','20','10','100','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','percentheal 5,0; itemskill AL_ANGELUS,5;','','');
+REPLACE INTO `item_db` VALUES ('12235','Strawberry_Choco','Chocolate Strawberry','2','0','20','10','100','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','percentheal(0, 5); itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12236','Choco_Tart','Chocolate Tart','2','0','20','10','100','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','percentheal 5,0; itemskill AL_ANGELUS,5;','','');
REPLACE INTO `item_db` VALUES ('12237','Choco_Lump','Junky Chocolate','2','0','0','0','100','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','percentheal 0,5; sc_start SC_POISON,18000,0; sc_start SC_BLOODING,18000,0;','','');
REPLACE INTO `item_db` VALUES ('12238','New_Year_Rice_Cake_1','New Year Rice Cake','2','0','20','10','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','sc_start SC_DPOISON,10000,0,1000,SCFLAG_NONE; sc_start SC_POISON,50000,0;','','');
REPLACE INTO `item_db` VALUES ('12239','New_Year_Rice_Cake_2','New Year Rice Cake','2','0','20','10','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','sc_start SC_DPOISON,10000,0,1000,SCFLAG_NONE; sc_start SC_POISON,50000,0;','','');
@@ -4639,7 +4649,7 @@ REPLACE INTO `item_db` VALUES ('12275','Gold_Pill_2','Taecheongdan','0','0','0',
REPLACE INTO `item_db` VALUES ('12276','Mimic_Scroll','Mimic Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','mercenary_create M_MIMIC, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12277','Disguise_Scroll','Disguise Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','mercenary_create M_DISGUISE, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12278','Alice_Scroll','Alice Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','mercenary_create M_ALICE, 1800000;','','');
-REPLACE INTO `item_db` VALUES ('12279','Undead_Element_Scroll','Undead Elemental Scroll','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','sc_start4 SC_ARMOR_RESIST,300000,20,20,20,20;','','');
+REPLACE INTO `item_db` VALUES ('12279','Undead_Element_Scroll','Undead Elemental Scroll','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','sc_start(SC_RESIST_PROPERTY_FIRE, 300000, 20); sc_start(SC_RESIST_PROPERTY_WATER, 300000, 20); sc_start(SC_RESIST_PROPERTY_WIND, 300000, 20); sc_start(SC_RESIST_PROPERTY_GROUND, 300000, 20);','','');
REPLACE INTO `item_db` VALUES ('12280','Holy_Element_Scroll','Holy Elemental Scroll','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','specialeffect(EF_BENEDICTIO, AREA, playerattached()); sc_start SC_BENEDICTIO,300000,1;','','');
REPLACE INTO `item_db` VALUES ('12281','Tresure_Box_WoE','Event Treasure Box','2','0','20','10','150','0','0','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 12281,1;','','');
REPLACE INTO `item_db` VALUES ('12282','Internet_Cafe1','Internet Cafe1','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','sc_start SC_FOOD_STR, 5400000, 3; sc_start SC_FOOD_DEX, 5400000, 3; sc_start SC_FOOD_AGI, 5400000, 3; sc_start SC_FOOD_INT, 5400000, 3; sc_start SC_FOOD_VIT, 5400000, 3; sc_start SC_FOOD_LUK, 5400000, 3; sc_start SC_PLUSATTACKPOWER, 5400000, 15; sc_start SC_PLUSMAGICPOWER, 5400000, 15;','','');
@@ -4647,11 +4657,11 @@ REPLACE INTO `item_db` VALUES ('12283','Internet_Cafe2','Internet Cafe2','2','0'
REPLACE INTO `item_db` VALUES ('12284','Internet_Cafe3','Internet Cafe3','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','sc_start SC_FOOD_INT, 5400000, 8; sc_start SC_FOOD_VIT, 5400000, 4; sc_start SC_FOOD_DEX, 5400000, 6; sc_start SC_PLUSMAGICPOWER, 5400000, 40;','','');
REPLACE INTO `item_db` VALUES ('12285','Internet_Cafe4','Internet Cafe4','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','sc_start SC_FOOD_DEX, 5400000, 8; sc_start SC_FOOD_LUK, 5400000, 4; sc_start SC_FOOD_AGI, 5400000, 6; sc_start SC_PLUSATTACKPOWER, 5400000, 24; sc_start SC_PLUSMAGICPOWER, 5400000, 24;','','');
REPLACE INTO `item_db` VALUES ('12286','Masquerade_Ball_Box2','Masquerade Ball Box2','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','getrandgroupitem 12286,1;','','');
-REPLACE INTO `item_db` VALUES ('12287','Love_Angel','Love Angel Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 1;','','');
-REPLACE INTO `item_db` VALUES ('12288','Squirrel','Squirrel Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 2;','','');
-REPLACE INTO `item_db` VALUES ('12289','Gogo','Gogo Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 3;','','');
-REPLACE INTO `item_db` VALUES ('12290','Mysterious_Can','Mysterious Can Magic Powder','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 5,0; skilleffect AL_BLESSING,0; sc_start SC_BLESSING,120000,5;','','');
-REPLACE INTO `item_db` VALUES ('12291','Mysterious_PET_Bottle','Mysterious PET Bottle','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 5,0; skilleffect AL_INCAGI,0; sc_start SC_INC_AGI,120000,5;','','');
+REPLACE INTO `item_db` VALUES ('12287','Love_Angel','Love Angel Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(1);','','');
+REPLACE INTO `item_db` VALUES ('12288','Squirrel','Squirrel Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(2);','','');
+REPLACE INTO `item_db` VALUES ('12289','Gogo','Gogo Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(3);','','');
+REPLACE INTO `item_db` VALUES ('12290','Mysterious_Can','Mysterious Can Magic Powder','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal(5, 0); itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12291','Mysterious_PET_Bottle','Mysterious PET Bottle','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal(0, 5); itemskill(AL_INCAGI, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12292','Unripe_Fruit','Unripe Fruit','0','0','500','250','200','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','percentheal 20,0;','','');
REPLACE INTO `item_db` VALUES ('12293','Dried_Yggdrasilberry','Dried Yggdrasilberry','0','0','500','250','200','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','percentheal 0,20;','','');
REPLACE INTO `item_db` VALUES ('12294','PC_Bang_Coin_Box1','PC-Room Coin 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','507',NULL,'0',NULL,'0',NULL,'0','getitem 2740,1;','','');
@@ -4664,14 +4674,14 @@ REPLACE INTO `item_db` VALUES ('12300','Wild_Rose_Scroll','Wild Rose Contract','
REPLACE INTO `item_db` VALUES ('12301','Doppelganger_Scroll','Doppelganger Contract','2','0','0','0','10','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','mercenary_create M_DOPPELGANGER, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12302','Ygnizem_Scroll','Egnigem Cenia Contract','2','0','0','0','10','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','mercenary_create M_YGNIZEM, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12303','Water_Of_Blessing','Blessing Of Water','2','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','','','');
-REPLACE INTO `item_db` VALUES ('12304','Picture_Diary','Diary Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 4;','','');
-REPLACE INTO `item_db` VALUES ('12305','Mini_Heart','Mini Heart Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 5;','','');
-REPLACE INTO `item_db` VALUES ('12306','Newcomer','Freshman Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 6;','','');
-REPLACE INTO `item_db` VALUES ('12307','Kid','Kid Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 7;','','');
-REPLACE INTO `item_db` VALUES ('12308','Magic_Castle','Magic Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 8;','','');
-REPLACE INTO `item_db` VALUES ('12309','Bulging_Head','JJangu Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 9;','','');
+REPLACE INTO `item_db` VALUES ('12304','Picture_Diary','Diary Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(4);','','');
+REPLACE INTO `item_db` VALUES ('12305','Mini_Heart','Mini Heart Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(5);','','');
+REPLACE INTO `item_db` VALUES ('12306','Newcomer','Freshman Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(6);','','');
+REPLACE INTO `item_db` VALUES ('12307','Kid','Kid Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(7);','','');
+REPLACE INTO `item_db` VALUES ('12308','Magic_Castle','Magic Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(8);','','');
+REPLACE INTO `item_db` VALUES ('12309','Bulging_Head','JJangu Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(9);','','');
REPLACE INTO `item_db` VALUES ('12310','Spray_Of_Flowers','Spray Of Flowers','2','0','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'1',NULL,'0',NULL,'0','sc_start SC_FOOD_BASICAVOIDANCE,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12311','Large_Spray_Of_Flowers','Huge Spray Of Flowers','11','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_PARTYFLEE,1;','','');
+REPLACE INTO `item_db` VALUES ('12311','Large_Spray_Of_Flowers','Huge Spray Of Flowers','2','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_PARTYFLEE,1;','','');
REPLACE INTO `item_db` VALUES ('12312','Thick_Manual50','Thick Battle Manual','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','sc_start SC_CASH_PLUSEXP,3600000,50;','','');
REPLACE INTO `item_db` VALUES ('12313','Protection_Of_Angel','Guardian Angel','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_ANGEL_PROTECT,1;','','');
REPLACE INTO `item_db` VALUES ('12314','Noive_Box','Noive 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','','','');
@@ -4683,9 +4693,9 @@ REPLACE INTO `item_db` VALUES ('12319','Strawberry_Cake','Rune Strawberry Cake',
REPLACE INTO `item_db` VALUES ('12320','Pineapple_Juice','Schwartzwald Pine Jubilee','2','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,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_BASICHIT,600000,10; sc_start SC_FOOD_BASICAVOIDANCE,600000,20;','','');
REPLACE INTO `item_db` VALUES ('12321','Spicy_Sandwich','Arunafeltz Desert Sandwich','2','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,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_CRITICALSUCCESSVALUE,600000,7;','','');
REPLACE INTO `item_db` VALUES ('12322','Chocolate_Pie','Chocolate Pie','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 ('12323','N_Fly_Wing','Novice Fly Wing','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','itemskill AL_TELEPORT,1;','','');
-REPLACE INTO `item_db` VALUES ('12324','N_Butterfly_Wing','Novice Butterfly Wing','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','itemskill AL_TELEPORT,3;','','');
-REPLACE INTO `item_db` VALUES ('12325','N_Magnifier','Novice Magnifier','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','itemskill MC_IDENTIFY,1;','','');
+REPLACE INTO `item_db` VALUES ('12323','N_Fly_Wing','Novice Fly Wing','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','itemskill AL_TELEPORT,1;','','');
+REPLACE INTO `item_db` VALUES ('12324','N_Butterfly_Wing','Novice Butterfly Wing','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','itemskill AL_TELEPORT,3;','','');
+REPLACE INTO `item_db` VALUES ('12325','N_Magnifier','Novice Magnifier','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','itemskill MC_IDENTIFY,1;','','');
REPLACE INTO `item_db` VALUES ('12326','J_Firecracker','Large Firecracker','2','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12327','Charm_Of_Luck','Charm Of Luck','2','0','1000','500','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','sc_start SC_FOOD_LUK,3600000,20;','','');
REPLACE INTO `item_db` VALUES ('12328','Charm_Of_Happiness','Charm Of Happiness','2','0','1800','900','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','sc_start SC_FOOD_STR,20000,10; sc_start SC_FOOD_DEX,20000,10; sc_start SC_FOOD_AGI,20000,10; sc_start SC_FOOD_INT,20000,10; sc_start SC_FOOD_VIT,20000,10; sc_start SC_FOOD_LUK,20000,10;','','');
@@ -4710,8 +4720,8 @@ REPLACE INTO `item_db` VALUES ('12346','Unripe_Acorn','Unripe Acorn','2','0','0'
REPLACE INTO `item_db` VALUES ('12347','Acorn_Jelly','Acorn Jelly','2','0','11','5','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_REVERSEORCISH,1;','','');
REPLACE INTO `item_db` VALUES ('12348','Manuks_Faith','Manuk\'s Faith','2','0','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_POTION_BERSERK, AREA, playerattached()); sc_start SC_MANU_MATK,600000,10;','','');
REPLACE INTO `item_db` VALUES ('12349','Cornus_Tears','Cornus\' Tears','2','0','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','475',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_POTION_BERSERK, AREA, playerattached()); sc_start SC_SPL_MATK,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12350','Angeling_Potion','Angeling Potion','11','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','457',NULL,'1',NULL,'0',NULL,'0','skilleffect AL_BLESSING,0; sc_start SC_BLESSING,120000,5; itemskill AL_ANGELUS,5;','','');
-REPLACE INTO `item_db` VALUES ('12351','Shout_Megaphone','Scream Megaphone','11','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','457',NULL,'0',NULL,'0',NULL,'0','itemskill MC_LOUD,1;','','');
+REPLACE INTO `item_db` VALUES ('12350','Angeling_Potion','Angeling Potion','2','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','457',NULL,'1',NULL,'0',NULL,'0','itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF); itemskill(AL_ANGELUS, 5);','','');
+REPLACE INTO `item_db` VALUES ('12351','Shout_Megaphone','Scream Megaphone','2','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','457',NULL,'0',NULL,'0',NULL,'0','itemskill MC_LOUD,1;','','');
REPLACE INTO `item_db` VALUES ('12352','Dun_Tele_Scroll3','Dungeon Teleport Scroll 3','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','callfunc \"F_CashDungeon\",3;','','');
REPLACE INTO `item_db` VALUES ('12353','Tiny_Waterbottle','Small Bottle','2','0','800','400','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','sc_start SC_PROPERTYWATER,90000,1;','','');
REPLACE INTO `item_db` VALUES ('12354','Buche_De_Noel','Buche De Noel','2','0','2','1','50','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','specialeffect(EF_ANGELUS, AREA, playerattached()); sc_start4 SC_BUCHEDENOEL, 600000, 3, 3, 3, 7;','','');
@@ -4736,36 +4746,36 @@ REPLACE INTO `item_db` VALUES ('12372','Hell_Contract','Hell Contract','2','0','
REPLACE INTO `item_db` VALUES ('12373','Boys_Naivety','Boy\'s Pure Heart','2','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet SUCCUBUS;','','');
REPLACE INTO `item_db` VALUES ('12374','Flaming_Ice','Ice Fireworks','2','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet IMP;','','');
REPLACE INTO `item_db` VALUES ('12375','Acaraje','Akaraje','2','0','0','0','80','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','specialeffect(EF_STEAL, AREA, playerattached()); sc_start2 SC_ACARAJE,120000,5,10;','','');
-REPLACE INTO `item_db` VALUES ('12376','Mysterious_Can2','Mysterious Can2','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 3, 0; itemskill PR_GLORIA, 2;','','');
-REPLACE INTO `item_db` VALUES ('12377','Mysterious_PET_Bottle2','Mysterious PET Bottle2','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 0, 3; itemskill PR_MAGNIFICAT, 1;','','');
+REPLACE INTO `item_db` VALUES ('12376','Mysterious_Can2','Mysterious Can2','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal(3, 0); itemskill(PR_GLORIA, 2, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12377','Mysterious_PET_Bottle2','Mysterious PET Bottle2','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal(0, 3); itemskill(PR_MAGNIFICAT, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12378','2009_Rice_Cake_Soup','Rice Cake Soup','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','percentheal 50, 50;','','');
-REPLACE INTO `item_db` VALUES ('12379','Popes_Cookie','Pope Cookie','2','0','10','5','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 ('12379','Popes_Cookie','Pope Cookie','2','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','467',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_STEAL, AREA, playerattached()); sc_start4(SC_POPECOOKIE, 1200000, 3, 3, 3, 0);','','');
REPLACE INTO `item_db` VALUES ('12380','Desert_Wolf_Babe_Scroll','Job Change Flute','2','0','10','5','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','mercenary_create M_DESERT_WOLF_B, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12381','ValkyrieA_Scroll','Ancient Languages Scroll','2','0','10','5','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','if (strcharinfo(PC_MAP) == \"job3_arch02\") { mercenary_create VALKYRIE_A, 1800000; }','','');
REPLACE INTO `item_db` VALUES ('12382','ValkyrieB_Scroll','Ancient Languages Scroll','2','0','10','5','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','if (strcharinfo(PC_MAP) == \"job3_arch02\") { mercenary_create VALKYRIE_B, 1800000; }','','');
REPLACE INTO `item_db` VALUES ('12383','Vulcan_Bullet_Magazine','Vulcan Bullet Magazine','2','0','11000','5500','500','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','getitem Vulcan_Bullet, 1000;','','');
-REPLACE INTO `item_db` VALUES ('12384','Rainbow_Ruby_Water','Rainbow Ruby','11','0','0','0','50','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','','','');
-REPLACE INTO `item_db` VALUES ('12385','Rainbow_Ruby_Fire','Rainbow Ruby','11','0','0','0','50','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','','','');
-REPLACE INTO `item_db` VALUES ('12386','Rainbow_Ruby_Wind','Rainbow Ruby','11','0','0','0','50','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','','','');
-REPLACE INTO `item_db` VALUES ('12387','Rainbow_Ruby_Earth','Rainbow Ruby','11','0','0','0','50','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','','','');
-REPLACE INTO `item_db` VALUES ('12388','Runstone_Crush','Rhydo Runestone For Apprentice','11','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('12389','Runstone_Storm','Pertz Runestone For Apprentice','11','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('12390','Runstone_Millennium','Verkana Runestone For Apprentice','11','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('12384','Rainbow_Ruby_Water','Rainbow Ruby','2','0','0','0','50','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','','','');
+REPLACE INTO `item_db` VALUES ('12385','Rainbow_Ruby_Fire','Rainbow Ruby','2','0','0','0','50','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','','','');
+REPLACE INTO `item_db` VALUES ('12386','Rainbow_Ruby_Wind','Rainbow Ruby','2','0','0','0','50','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','','','');
+REPLACE INTO `item_db` VALUES ('12387','Rainbow_Ruby_Earth','Rainbow Ruby','2','0','0','0','50','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','','','');
+REPLACE INTO `item_db` VALUES ('12388','Runstone_Crush','Rhydo Runestone For Apprentice','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('12389','Runstone_Storm','Pertz Runestone For Apprentice','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('12390','Runstone_Millennium','Verkana Runestone For Apprentice','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12391','Lucky_Egg_C','Lucky Egg','2','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12392','RepairA','Repair A','0','0','220','110','70','0','0','0','0','0','1024','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','if(checkmount() == MOUNT_MADO) itemheal rand(200,300), 0;','','');
REPLACE INTO `item_db` VALUES ('12393','RepairB','Repair B','0','0','500','250','70','0','0','0','0','0','1024','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','if(checkmount() == MOUNT_MADO) itemheal rand(300,400), 0;','','');
REPLACE INTO `item_db` VALUES ('12394','RepairC','Repair C','0','0','1100','550','70','0','0','0','0','0','1024','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','if(checkmount() == MOUNT_MADO) itemheal rand(400,500), 0;','','');
REPLACE INTO `item_db` VALUES ('12395','Tantanmen','Tantan Noodle','2','0','20','10','50','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','pet CHUNG_E;','','');
-REPLACE INTO `item_db` VALUES ('12396','Fools_Day_Box','Gift Box?','11','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'1',NULL,'0',NULL,'0','.@temp = rand(1,10); if (.@temp == 1) itemskill AL_TELEPORT,1; else if (.@temp == 2) itemskill AL_TELEPORT,3; else if (.@temp == 3) percentheal 50,0; else if (.@temp == 4) percentheal 0,50; else if (.@temp == 5) percentheal 50,50; else if (.@temp == 6) getitem Apple,1; else if (.@temp == 7) itemskill ALL_REVERSEORCISH,1; else if (.@temp == 8) specialeffect(EF_MAPPILLAR2, AREA, playerattached()); else if (.@temp == 9) specialeffect(EF_ANGEL2, AREA, playerattached()); else specialeffect(EF_COIN, AREA, playerattached());','','');
-REPLACE INTO `item_db` VALUES ('12397','Fools_Day_Box2','Gift Box?','11','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'1',NULL,'0',NULL,'0','.@temp = rand(1,10); if (.@temp == 1) itemskill TF_DETOXIFY,1; else if (.@temp == 2) itemskill TF_PICKSTONE,1; else if (.@temp == 3) itemskill BA_FROSTJOKER,1; else if (.@temp == 4) itemskill DC_SCREAM,1; else if (.@temp == 5) percentheal 50,50; else if (.@temp == 6) getitem Jellopy,1; else if (.@temp == 7) itemskill AL_RUWACH,1; else if (.@temp == 8) specialeffect(EF_BEGINASURA, AREA, playerattached()); else if (.@temp == 9) specialeffect(EF_MVP, AREA, playerattached()); else specialeffect(EF_CURSEATTACK, AREA, playerattached());','','');
+REPLACE INTO `item_db` VALUES ('12396','Fools_Day_Box','Gift Box?','2','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'1',NULL,'0',NULL,'0','.@temp = rand(1,10); if (.@temp == 1) itemskill AL_TELEPORT,1; else if (.@temp == 2) itemskill AL_TELEPORT,3; else if (.@temp == 3) percentheal 50,0; else if (.@temp == 4) percentheal 0,50; else if (.@temp == 5) percentheal 50,50; else if (.@temp == 6) getitem Apple,1; else if (.@temp == 7) itemskill ALL_REVERSEORCISH,1; else if (.@temp == 8) specialeffect(EF_MAPPILLAR2, AREA, playerattached()); else if (.@temp == 9) specialeffect(EF_ANGEL2, AREA, playerattached()); else specialeffect(EF_COIN, AREA, playerattached());','','');
+REPLACE INTO `item_db` VALUES ('12397','Fools_Day_Box2','Gift Box?','2','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'1',NULL,'0',NULL,'0','.@temp = rand(1, 10); if (.@temp == 1) itemskill(TF_DETOXIFY, 1, ISF_INSTANTCAST | ISF_CASTONSELF); else if (.@temp == 2) itemskill(TF_PICKSTONE, 1); else if (.@temp == 3) itemskill(BA_FROSTJOKER, 1); else if (.@temp == 4) itemskill(DC_SCREAM, 1); else if (.@temp == 5) announce(strcharinfo(PC_NAME) + \" shouts : I am a fool!!!\", bc_all, C_WHITE); else if (.@temp == 6) getitem(Jellopy, 1); else if (.@temp == 7) itemskill(AL_RUWACH, 1); else if (.@temp == 8) specialeffect(EF_BEGINASURA, AREA, playerattached()); else if (.@temp == 9) specialeffect(EF_MVP, AREA, playerattached()); else specialeffect(EF_CURSEATTACK, AREA, playerattached());','','');
REPLACE INTO `item_db` VALUES ('12398','PCBang_Gift_Box','PCBang Gift Box','2','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12399','Castle_Treasure_Box','Castle Treasure Box','2','0','20','10','1000','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12400','Water_Of_Blessing_','Water Of Blessing ','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','','','');
REPLACE INTO `item_db` VALUES ('12401','Rune_Kn_Test_Int','Rune Kn Test Int','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','sc_start SC_FOOD_INT,300000,40;','','');
REPLACE INTO `item_db` VALUES ('12402','29Fruit','29Fruit','2','0','0','0','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','','','');
REPLACE INTO `item_db` VALUES ('12403','Lucky_Egg_C2','Lucky Egg2','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','','','');
-REPLACE INTO `item_db` VALUES ('12404','Acti_Potion','Acti Potion','2','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 ('12405','Underripe_Yggseed','Underripe Yggseed','2','0','20','10','50','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','percentheal 30,30; skilleffect AL_BLESSING,0; sc_start SC_BLESSING,140000,5;','','');
+REPLACE INTO `item_db` VALUES ('12404','Acti_Potion','Activation Potion','2','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','specialeffect(EF_STEAL, AREA, playerattached()); sc_start4(SC_VITALIZE_POTION, 120000, 2, 2, 10, 0);','','');
+REPLACE INTO `item_db` VALUES ('12405','Underripe_Yggseed','Underripe Yggseed','2','0','20','10','50','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','percentheal(30, 30); itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12406','Psychic_ArmorS','Psychic ArmorS','2','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','specialeffect(EF_ENERGYCOAT, AREA, playerattached()); sc_start4 SC_ARMOR_PROPERTY, 10000, 1, Ele_Neutral, 1, 0;','','');
REPLACE INTO `item_db` VALUES ('12407','PCBang_Coupon_Box','PCBang 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','','','');
REPLACE INTO `item_db` VALUES ('12408','Leaf_Cat_Ball','Leaf Cat Ball','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','pet E_HYDRA;','','');
@@ -4774,7 +4784,7 @@ REPLACE INTO `item_db` VALUES ('12410','Spareribs_H','Spareribs H','2','0','0','
REPLACE INTO `item_db` VALUES ('12411','HE_Battle_Manual','HE Battle Manual','2','0','2','1','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','sc_start SC_CASH_PLUSEXP,900000,200;','','');
REPLACE INTO `item_db` VALUES ('12412','HE_Bubble_Gum','HE Bubble Gum','2','0','2','1','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','sc_start SC_CASH_RECEIVEITEM,900000,300;','','');
REPLACE INTO `item_db` VALUES ('12413','PCBang_Coupon_Box2','PCBang Coupon Box2','2','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 ('12414','Guarana_Candy','Guarana Candy','2','0','20','10','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','sc_start SC_ATTHASTE_POTION1, 1800000, 0; sc_start SC_INC_AGI, 140000, 5; skilleffect AL_INCAGI, 0;','','');
+REPLACE INTO `item_db` VALUES ('12414','Guarana_Candy','Guarana Candy','2','0','20','10','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','sc_start(SC_ATTHASTE_POTION1, 1800000, 0); itemskill(AL_INCAGI, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12415','Siege_Teleport_Scroll2','Siege Teleport Scroll2','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,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12416','Lucky_Egg_C3','Lucky Egg C3','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','','','');
REPLACE INTO `item_db` VALUES ('12417','Boost500','Boost500','2','0','100','50','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','sc_start SC_BOOST500, 500000, 10;','','');
@@ -4818,13 +4828,13 @@ REPLACE INTO `item_db` VALUES ('12454','F_WOB_Local','F WOB Local','2','0','0','
REPLACE INTO `item_db` VALUES ('12456','F_Greed_Scroll','F Greed Scroll','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','','','');
REPLACE INTO `item_db` VALUES ('12457','F_Glass_Of_Illusion','F Glass Of Illusion','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','','','');
REPLACE INTO `item_db` VALUES ('12458','F_Abrasive','F Abrasive','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','','','');
-REPLACE INTO `item_db` VALUES ('12459','F_Med_Life_Potion','F Med Life Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12460','F_Small_Life_Potion','F Small Life Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12461','F_Regeneration_Potion','F Regeneration Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12462','F_B_Mdef_Potion','F B Mdef Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12463','F_S_Mdef_Potion','F S Mdef Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12464','F_B_Def_Potion','F B Def Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12465','F_S_Def_Potion','F S Def Potion','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','','','');
+REPLACE INTO `item_db` VALUES ('12459','F_Med_Life_Potion','Medium Life Potion','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','specialeffect(EF_HEAL3, AREA, playerattached()); sc_start2(SC_M_LIFEPOTION, 600000, -7, 4);','','');
+REPLACE INTO `item_db` VALUES ('12460','F_Small_Life_Potion','Small Life Potion','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','specialeffect(EF_HEAL3, AREA, playerattached()); /* Probably it should be 5% instead of 7%, but we\'ll follow the client side description... */ sc_start2(SC_S_LIFEPOTION, 600000, -7, 4);','','');
+REPLACE INTO `item_db` VALUES ('12461','F_Regeneration_Potion','Regeneration Potion','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','specialeffect(EF_LIGHTSPHERE, AREA, playerattached()); sc_start(SC_HEALPLUS, 1800000, 20);','','');
+REPLACE INTO `item_db` VALUES ('12462','F_B_Mdef_Potion','Big Magic Defense Potion','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','specialeffect(EF_SPELLBREAKER, AREA, playerattached()); sc_start(SC_PROTECT_MDEF, 180000, 3);','','');
+REPLACE INTO `item_db` VALUES ('12463','F_S_Mdef_Potion','Small Magic Defense Potion','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','specialeffect(EF_SPELLBREAKER, AREA, playerattached()); sc_start(SC_PROTECT_MDEF, 60000, 3);','','');
+REPLACE INTO `item_db` VALUES ('12464','F_B_Def_Potion','Big Defense Potion','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','specialeffect(EF_GUARD, AREA, playerattached()); sc_start(SC_PROTECT_DEF, 180000, 3);','','');
+REPLACE INTO `item_db` VALUES ('12465','F_S_Def_Potion','Small Defense Potion','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','specialeffect(EF_GUARD, AREA, playerattached()); sc_start(SC_PROTECT_DEF, 60000, 3);','','');
REPLACE INTO `item_db` VALUES ('12466','F_Blessing_10_Scroll','F Blessing 10 Scroll','2','0','2','1','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 ('12467','F_Inc_Agi_10_Scroll','F Inc Agi 10 Scroll','2','0','2','1','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 ('12468','F_Aspersio_5_Scroll','F Aspersio 5 Scroll','2','0','2','1','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','','','');
@@ -4943,14 +4953,18 @@ REPLACE INTO `item_db` VALUES ('12581','Vending_Search_Scroll2','Universal Catal
REPLACE INTO `item_db` VALUES ('12591','Uni_Catalog_Bz','Universal Catalog Bronze','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','searchstores 10,1;','','');
REPLACE INTO `item_db` VALUES ('12609','Old_Ore_Box','Old Ore Box','2','0','20','10','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12622','Boarding_Halter','Halter Lead','11','0','20','10','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','3000','507',NULL,'0',NULL,'0',NULL,'0','setcashmount();','','');
+REPLACE INTO `item_db` VALUES ('12666','Thai_Perfume_MATK','Thai Perfume(MATK)','2','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','specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); sc_start(SC_SKF_MATK, 600000, 24);','','');
+REPLACE INTO `item_db` VALUES ('12667','Thai_Perfume_ATK','Thai Perfume(ATK)','2','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','specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); sc_start(SC_SKF_ATK, 600000, 24);','','');
+REPLACE INTO `item_db` VALUES ('12668','Thai_Perfume_ASPD','Thai Perfume(ASPD)','2','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','specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); sc_start(SC_SKF_ASPD, 600000, 3);','','');
+REPLACE INTO `item_db` VALUES ('12669','Thai_Perfume_CAST','Thai Perfume(CAST)','2','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','specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); sc_start(SC_SKF_CAST, 600000, 5);','','');
REPLACE INTO `item_db` VALUES ('12701','Old_Blue_Box_F','Old Blue 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','','','');
REPLACE INTO `item_db` VALUES ('12702','Old_Bleu_Box','Old Navy Box','2','0','0','0','200','0','0','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 Old_Bleu_Box,1; getrandgroupitem Old_Bleu_Box,1;','','');
REPLACE INTO `item_db` VALUES ('12703','Holy_Egg_2','Holy Egg','11','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','','','');
REPLACE INTO `item_db` VALUES ('12704','Elixir_Of_Life','Elixir of Life','0','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','85',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','percentheal 100,0;','','');
REPLACE INTO `item_db` VALUES ('12705','Noble_Nameplate','Noble Nameplate','2','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','90',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','sc_start SC_CASH_PLUSEXP,1800000,100;','','');
-REPLACE INTO `item_db` VALUES ('12706','Lucky_Cookie01','Lucky Cookie','11','0','0','0','100','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','itemskill PR_GLORIA,5;','','');
-REPLACE INTO `item_db` VALUES ('12707','Lucky_Cookie02','Lucky Cookie','11','0','0','0','100','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','itemskill PR_MAGNIFICAT,1;','','');
-REPLACE INTO `item_db` VALUES ('12708','Lucky_Cookie03','Lucky Cookie','11','0','0','0','100','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','itemskill PR_IMPOSITIO,3;','','');
+REPLACE INTO `item_db` VALUES ('12706','Lucky_Cookie01','Lucky Cookie','2','0','0','0','100','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','itemskill(PR_GLORIA, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12707','Lucky_Cookie02','Lucky Cookie','2','0','0','0','100','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','itemskill(PR_MAGNIFICAT, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12708','Lucky_Cookie03','Lucky Cookie','2','0','0','0','100','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','itemskill(PR_IMPOSITIO, 3, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12709','Guyak_Candy','Guyak Candy','0','0','0','0','150','0','0','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 30,30;','','');
REPLACE INTO `item_db` VALUES ('12710','Guyak_Pudding','Guyak Pudding','2','0','0','0','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MOVHASTE_POTION, 300000, 100;','','');
REPLACE INTO `item_db` VALUES ('12711','Pretzel','Pretzel','0','0','2','1','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 rand(50,90),0;','','');
@@ -4967,15 +4981,15 @@ REPLACE INTO `item_db` VALUES ('12721','Poison_Numb','Toxin','0','0','2','1','20
REPLACE INTO `item_db` VALUES ('12722','Poison_Fever','Pyrexia','0','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_ENCHANTPOISON, AREA, playerattached()); sc_start SC_PYREXIA, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
REPLACE INTO `item_db` VALUES ('12723','Poison_Laughing','Magic Mushroom','0','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_ENCHANTPOISON, AREA, playerattached()); sc_start SC_MAGICMUSHROOM, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
REPLACE INTO `item_db` VALUES ('12724','Poison_Fatigue','Venom Bleed','0','0','2','1','20','0','0','0','0','0','4096','8','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_ENCHANTPOISON, AREA, playerattached()); sc_start SC_VENOMBLEED, 15000, 0, 10, SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12725','Runstone_Nosiege','Nauthiz Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','120000','475',NULL,'1',NULL,'20','1','0','itemskill RK_REFRESH, 1;','','');
-REPLACE INTO `item_db` VALUES ('12726','Runstone_Rhydo','Raido Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','30000','475',NULL,'1',NULL,'20','1','0','itemskill RK_CRUSHSTRIKE, 1;','','');
-REPLACE INTO `item_db` VALUES ('12727','Runstone_Verkana','Berkana Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'1',NULL,'20','1','0','itemskill RK_MILLENNIUMSHIELD, 1;','','');
-REPLACE INTO `item_db` VALUES ('12728','Runstone_Isia','Isa Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_VITALITYACTIVATION, 1;','','');
-REPLACE INTO `item_db` VALUES ('12729','Runstone_Asir','Othila Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_FIGHTINGSPIRIT, 1;','','');
-REPLACE INTO `item_db` VALUES ('12730','Runstone_Urj','Uruz Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_ABUNDANCE, 1;','','');
-REPLACE INTO `item_db` VALUES ('12731','Runstone_Turisus','Thurisaz Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_GIANTGROWTH, 1;','','');
-REPLACE INTO `item_db` VALUES ('12732','Runstone_Pertz','Wyrd Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','1000','475',NULL,'1',NULL,'20','1','0','itemskill RK_STORMBLAST, 1;','','');
-REPLACE INTO `item_db` VALUES ('12733','Runstone_Hagalas','Hagalaz Rune','11','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_STONEHARDSKIN, 1;','','');
+REPLACE INTO `item_db` VALUES ('12725','Runstone_Nosiege','Nauthiz Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','120000','475',NULL,'1',NULL,'20','1','0','itemskill RK_REFRESH, 1;','','');
+REPLACE INTO `item_db` VALUES ('12726','Runstone_Rhydo','Raido Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','30000','475',NULL,'1',NULL,'20','1','0','itemskill(RK_CRUSHSTRIKE, 1, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('12727','Runstone_Verkana','Berkana Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'1',NULL,'20','1','0','itemskill RK_MILLENNIUMSHIELD, 1;','','');
+REPLACE INTO `item_db` VALUES ('12728','Runstone_Isia','Isa Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_VITALITYACTIVATION, 1;','','');
+REPLACE INTO `item_db` VALUES ('12729','Runstone_Asir','Othila Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_FIGHTINGSPIRIT, 1;','','');
+REPLACE INTO `item_db` VALUES ('12730','Runstone_Urj','Uruz Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_ABUNDANCE, 1;','','');
+REPLACE INTO `item_db` VALUES ('12731','Runstone_Turisus','Thurisaz Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_GIANTGROWTH, 1;','','');
+REPLACE INTO `item_db` VALUES ('12732','Runstone_Pertz','Wyrd Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','1000','475',NULL,'1',NULL,'20','1','0','itemskill RK_STORMBLAST, 1;','','');
+REPLACE INTO `item_db` VALUES ('12733','Runstone_Hagalas','Hagalaz Rune','2','0','100','50','100','0','0','0','0','0','128','8','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_STONEHARDSKIN, 1;','','');
REPLACE INTO `item_db` VALUES ('12734','Runstone_Quality','Luxurious Rune','0','0','2','1','100','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','makerune 5;','','');
REPLACE INTO `item_db` VALUES ('12735','Runstone_Ancient','Ancient Rune','0','0','2','1','100','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','makerune 11;','','');
REPLACE INTO `item_db` VALUES ('12736','Runstone_Mystic','Mystic Rune','0','0','2','1','100','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','makerune 14;','','');
@@ -5020,6 +5034,7 @@ REPLACE INTO `item_db` VALUES ('12786','Change_Slot_Card','Character Position Ch
REPLACE INTO `item_db` VALUES ('12790','Change_Name_Card','Name Change Coupon','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','CharRename += 1;','','');
REPLACE INTO `item_db` VALUES ('12831','Potion_Box','Potion Box','2','0','0','0','50','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 Red_Slim_Potion, 100; getitem Yellow_Slim_Potion, 100; getitem White_Slim_Potion, 100; getitem Blue_Potion, 100;','','');
REPLACE INTO `item_db` VALUES ('12848','Falcon_Flute','Falcon Flute','11','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','if (getskilllv(HT_FALCON)) { if (checkoption(Option_Wug) || checkoption(Option_Wugrider)) end; if (checkfalcon() == 1) { setfalcon 0; } else { setfalcon 1; } }','','');
+REPLACE INTO `item_db` VALUES ('12883','Almighty','Almighty','2','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','specialeffect(EF_BASH3D, AREA, playerattached()); sc_start(SC_FOOD_STR_CASH, 1800000, 10); sc_start(SC_FOOD_VIT_CASH, 1800000, 10); sc_start(SC_FOOD_AGI_CASH, 1800000, 10); sc_start(SC_FOOD_INT_CASH, 1800000, 10); sc_start(SC_FOOD_DEX_CASH, 1800000, 10); sc_start(SC_FOOD_LUK_CASH, 1800000, 10); sc_start2(SC_ALMIGHTY, 1800000, 30, 30);','','');
REPLACE INTO `item_db` VALUES ('12900','Battle_Manual_Box','Battle Manual 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 12208,10;','','');
REPLACE INTO `item_db` VALUES ('12901','Insurance_Package','Insurance Package','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 12209,10;','','');
REPLACE INTO `item_db` VALUES ('12902','Bubble_Gum_Box','Bubble Gum 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 12210,10;','','');
@@ -5048,7 +5063,7 @@ REPLACE INTO `item_db` VALUES ('12924','Pet_Egg_Scroll_Box2','Pet Egg Box 2','18
REPLACE INTO `item_db` VALUES ('12925','Pet_Egg_Scroll1','Kafra Item Mall Prize Package','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12926','Pet_Egg_Scroll2','December Lucky 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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12927','J_Aspersio_5_Scroll_Box','Aspersio 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','getitem 12928,10;','','');
-REPLACE INTO `item_db` VALUES ('12928','J_Aspersio_5_Scroll','Sacred Scroll','11','0','2','1','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','itemskill PR_ASPERSIO,5;','','');
+REPLACE INTO `item_db` VALUES ('12928','J_Aspersio_5_Scroll','Sacred Scroll','2','0','2','1','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','itemskill PR_ASPERSIO,5;','','');
REPLACE INTO `item_db` VALUES ('12929','Pet_Egg_Scroll_Box3','Pet Egg Box 3','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 12932,1;','','');
REPLACE INTO `item_db` VALUES ('12930','Pet_Egg_Scroll_Box4','Pet Egg Box 4','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 12933,1;','','');
REPLACE INTO `item_db` VALUES ('12931','Pet_Egg_Scroll_Box5','Pet Egg Box 5','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 12934,1;','','');
@@ -5088,9 +5103,9 @@ REPLACE INTO `item_db` VALUES ('12964','Vesper_Core04_Box','Vesper Core 04 Box',
REPLACE INTO `item_db` VALUES ('12965','Emergency_Box1','Emergency Level 1 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','getitem 12968,1;','','');
REPLACE INTO `item_db` VALUES ('12966','Emergency_Box2','Emergency Level 2 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','getitem 12969,1;','','');
REPLACE INTO `item_db` VALUES ('12967','Emergency_Box3','Emergency Level 3 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','getitem 12970,1;','','');
-REPLACE INTO `item_db` VALUES ('12968','Emergency_Scroll1','Emergency Level 1 Scroll','11','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
-REPLACE INTO `item_db` VALUES ('12969','Emergency_Scroll2','Emergency Level 2 Scroll','11','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
-REPLACE INTO `item_db` VALUES ('12970','Emergency_Scroll3','Emergency Level 3 Scroll','11','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
+REPLACE INTO `item_db` VALUES ('12968','Emergency_Scroll1','Emergency Level 1 Scroll','2','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
+REPLACE INTO `item_db` VALUES ('12969','Emergency_Scroll2','Emergency Level 2 Scroll','2','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
+REPLACE INTO `item_db` VALUES ('12970','Emergency_Scroll3','Emergency Level 3 Scroll','2','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
REPLACE INTO `item_db` VALUES ('12971','Teleport_Box1','Teleport Scroll Box 1','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 12977,10;','','');
REPLACE INTO `item_db` VALUES ('12972','Teleport_Box2','Teleport Scroll Box 2','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 12978,10;','','');
REPLACE INTO `item_db` VALUES ('12973','Teleport_Box3','Teleport Scroll Box 3','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 12979,10;','','');
@@ -5277,6 +5292,8 @@ REPLACE INTO `item_db` VALUES ('13309','Huuma_Giant_Wheel_C','Huuma Giant Wheel
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 ('13345','Humma_Clear','Humma_Clear','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13346','Ein_BHHuuma','Ein_BHHuuma','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -5302,6 +5319,7 @@ REPLACE INTO `item_db` VALUES ('13421','Ruber','Ruber','4','2','20','10','1500',
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 ('13485','Sword_Of_Bluefire','Sword_Of_Bluefire','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -6112,16 +6130,16 @@ REPLACE INTO `item_db` VALUES ('14508','Zeny_Scroll','Zeny Pet Egg Scroll','2','
REPLACE INTO `item_db` VALUES ('14509','Light_Center_Pot','Light Concentration Potion','2','0','800','400','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION1, 1800000, 0;','','');
REPLACE INTO `item_db` VALUES ('14510','Light_Awakening_Pot','Light Awakening Potion','2','0','1500','750','20','0','0','0','0','0','2145902319','63','2','0','0','40',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION2, 1800000, 0;','','');
REPLACE INTO `item_db` VALUES ('14511','Light_Berserk_Pot','Light Berserk Potion','2','0','3000','1500','20','0','0','0','0','0','31868582','63','2','0','0','85',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION3, 1800000, 0;','','');
-REPLACE INTO `item_db` VALUES ('14512','Meteor_10_Scroll','Meteor Storm Scroll','11','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','itemskill WZ_METEOR,10;','','');
-REPLACE INTO `item_db` VALUES ('14513','Storm_10_Scroll','Storm Gust Scroll','11','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','itemskill WZ_STORMGUST,10;','','');
-REPLACE INTO `item_db` VALUES ('14514','Vermilion_10_Scroll','Lord of Vermilion Scroll','11','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','itemskill WZ_VERMILION,10;','','');
-REPLACE INTO `item_db` VALUES ('14515','Lex_Aeterna_Scroll','Lex Aeterna Scroll','11','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','itemskill PR_LEXAETERNA,1;','','');
-REPLACE INTO `item_db` VALUES ('14516','Magnificat_5_Scroll','Magnificat Scroll','11','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','itemskill PR_MAGNIFICAT,5;','','');
-REPLACE INTO `item_db` VALUES ('14517','CP_Helm_Scroll','Chemical Protection Helm Scroll','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','unitskilluseid getcharid(CHAR_ID_ACCOUNT),237,5;','','');
-REPLACE INTO `item_db` VALUES ('14518','CP_Shield_Scroll','Chemical Protection Shield Scrol','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','unitskilluseid getcharid(CHAR_ID_ACCOUNT),235,5;','','');
-REPLACE INTO `item_db` VALUES ('14519','CP_Armor_Scroll','Chemical Protection Armor Scroll','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','unitskilluseid getcharid(CHAR_ID_ACCOUNT),236,5;','','');
-REPLACE INTO `item_db` VALUES ('14520','CP_Weapon_Scroll','Chemical Protection Weapon Scroll','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','unitskilluseid getcharid(CHAR_ID_ACCOUNT),234,5;','','');
-REPLACE INTO `item_db` VALUES ('14521','Repair_Scroll','Repair Weapon Scroll','2','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,'1',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),108,1;','','');
+REPLACE INTO `item_db` VALUES ('14512','Meteor_10_Scroll','Meteor Storm Scroll','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','itemskill WZ_METEOR,10;','','');
+REPLACE INTO `item_db` VALUES ('14513','Storm_10_Scroll','Storm Gust Scroll','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','itemskill WZ_STORMGUST,10;','','');
+REPLACE INTO `item_db` VALUES ('14514','Vermilion_10_Scroll','Lord of Vermilion Scroll','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','itemskill WZ_VERMILION,10;','','');
+REPLACE INTO `item_db` VALUES ('14515','Lex_Aeterna_Scroll','Lex Aeterna Scroll','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','itemskill PR_LEXAETERNA,1;','','');
+REPLACE INTO `item_db` VALUES ('14516','Magnificat_5_Scroll','Magnificat Scroll','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','itemskill PR_MAGNIFICAT,5;','','');
+REPLACE INTO `item_db` VALUES ('14517','CP_Helm_Scroll','Chemical Protection Helm Scroll','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','itemskill(AM_CP_HELM, 5, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('14518','CP_Shield_Scroll','Chemical Protection Shield Scrol','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','itemskill(AM_CP_SHIELD, 5, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('14519','CP_Armor_Scroll','Chemical Protection Armor Scroll','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','itemskill(AM_CP_ARMOR, 5, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('14520','CP_Weapon_Scroll','Chemical Protection Weapon Scroll','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','itemskill(AM_CP_WEAPON, 5, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('14521','Repair_Scroll','Repair Weapon Scroll','2','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,'1',NULL,'0',NULL,'0','itemskill(BS_REPAIRWEAPON, 1);','','');
REPLACE INTO `item_db` VALUES ('14522','Big_Bun','Big Bun','0','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','percentheal 100,0;','','');
REPLACE INTO `item_db` VALUES ('14523','Pill_','Pill','0','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','percentheal 0,100;','','');
REPLACE INTO `item_db` VALUES ('14524','Superb_Fish_Slice','Superb Fish Slice','0','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','percentheal 100,100;','','');
@@ -6129,7 +6147,7 @@ REPLACE INTO `item_db` VALUES ('14525','Chewy_Ricecake','Chewy Ricecake','2','0'
REPLACE INTO `item_db` VALUES ('14526','Oriental_Pastry','Oriental Pastry','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','sc_start SC_PLUSMAGICPOWER, 1800000, 10;','','');
REPLACE INTO `item_db` VALUES ('14527','Dun_Tele_Scroll1','Dungeon Teleport Scroll','2','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','callfunc \"F_CashDungeon\",1;','','');
REPLACE INTO `item_db` VALUES ('14528','PVP_Tele_Scroll','PVP Teleport Scroll','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','','','');
-REPLACE INTO `item_db` VALUES ('14529','Greed_Scroll','Greed Scroll','11','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,'1',NULL,'0',NULL,'0','itemskill BS_GREED,1;','','');
+REPLACE INTO `item_db` VALUES ('14529','Greed_Scroll','Greed Scroll','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,'1',NULL,'0',NULL,'0','itemskill(BS_GREED, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('14530','Flee_30_Scroll','Evasion Scroll','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','sc_start SC_FOOD_BASICAVOIDANCE,1800000,30;','','');
REPLACE INTO `item_db` VALUES ('14531','Accuracy_30_Scroll','Concentration Scroll','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','sc_start SC_FOOD_BASICHIT,1800000,30;','','');
REPLACE INTO `item_db` VALUES ('14532','Battle_Manual25','Field Manual 25%','2','0','2','1','10','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','sc_start SC_CASH_PLUSEXP,1800000,25;','','');
@@ -6187,19 +6205,19 @@ REPLACE INTO `item_db` VALUES ('14583','WOB_Schwaltz','Green Butterfly Wing','2'
REPLACE INTO `item_db` VALUES ('14584','WOB_Rachel','Red Butterfly Wing','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','callfunc \"F_CashCity\",3;','','');
REPLACE INTO `item_db` VALUES ('14585','WOB_Local','Blue Butterfly Wing','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','callfunc \"F_CashCity\",4;','','');
REPLACE INTO `item_db` VALUES ('14586','Spark_Candy','Jumping Candy','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','180000','73',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_HASTEUP, AREA, playerattached()); sc_start2 SC_STEAMPACK, 60000, 20, 25;','','');
-REPLACE INTO `item_db` VALUES ('14587','Repair_Scroll_','Equipment Repair Spell Book','11','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,'1',NULL,'0',NULL,'0','itemskill BS_REPAIRWEAPON,1;','','');
-REPLACE INTO `item_db` VALUES ('14588','Pty_Blessing_Scroll','Party Blessing 10 Scroll','11','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','75',NULL,'0',NULL,'0',NULL,'0','itemskill CASH_BLESSING,10;','','');
-REPLACE INTO `item_db` VALUES ('14589','Pty_Inc_Agi_Scroll','Party Increase Agi 10 Scroll','11','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','75',NULL,'0',NULL,'0',NULL,'0','itemskill CASH_INCAGI,10;','','');
-REPLACE INTO `item_db` VALUES ('14590','Pty_Assumptio_Scroll','Party Assumptio 5 Scroll','11','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','75',NULL,'0',NULL,'0',NULL,'0','itemskill CASH_ASSUMPTIO,5;','','');
+REPLACE INTO `item_db` VALUES ('14587','Repair_Scroll_','Equipment Repair Spell Book','2','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,'1',NULL,'0',NULL,'0','itemskill BS_REPAIRWEAPON,1;','','');
+REPLACE INTO `item_db` VALUES ('14588','Pty_Blessing_Scroll','Party Blessing 10 Scroll','2','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','75',NULL,'0',NULL,'0',NULL,'0','itemskill(CASH_BLESSING, 10, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('14589','Pty_Inc_Agi_Scroll','Party Increase Agi 10 Scroll','2','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','75',NULL,'0',NULL,'0',NULL,'0','itemskill(CASH_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('14590','Pty_Assumptio_Scroll','Party Assumptio 5 Scroll','2','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','75',NULL,'0',NULL,'0',NULL,'0','itemskill(CASH_ASSUMPTIO, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('14591','Siege_Teleport_Scroll','WoE Teleport Scroll','2','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,'1',NULL,'0',NULL,'0','callfunc \"F_CashSiegeTele\";','','');
REPLACE INTO `item_db` VALUES ('14592','Job_Manual50','JOB Battle Manual','2','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,'1',NULL,'0',NULL,'0','sc_start SC_CASH_PLUSONLYJOBEXP,1800000,50;','','');
-REPLACE INTO `item_db` VALUES ('14593','Magic_Power_Scroll','Mystical Amplification Scroll','11','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,'1',NULL,'0',NULL,'0','itemskill HW_MAGICPOWER,10;','','');
-REPLACE INTO `item_db` VALUES ('14594','Quagmire_Scroll','Quagmire Scroll','11','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,'1',NULL,'0',NULL,'0','itemskill WZ_QUAGMIRE,5;','','');
+REPLACE INTO `item_db` VALUES ('14593','Magic_Power_Scroll','Mystical Amplification Scroll','2','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,'1',NULL,'0',NULL,'0','itemskill(HW_MAGICPOWER, 10, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('14594','Quagmire_Scroll','Quagmire Scroll','2','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,'1',NULL,'0',NULL,'0','itemskill WZ_QUAGMIRE,5;','','');
REPLACE INTO `item_db` VALUES ('14595','Unsealed_Magic_Spell','Unsealed Magic Spell','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','warp \"yuno_fild09\",255,127;','','');
REPLACE INTO `item_db` VALUES ('14596','Pierre_Treasurebox','Pierre\'s Treasure Box','2','0','0','0','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','getrandgroupitem 14596,1; getrandgroupitem 14596,1; getrandgroupitem 14596,1; getrandgroupitem 14596,1; getrandgroupitem 14596,1; getrandgroupitem 14596,1;','','');
REPLACE INTO `item_db` VALUES ('14597','PhreeoniS','Phreeoni Scroll','2','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','sc_start SC_FOOD_BASICHIT, 180000, 100;','','');
REPLACE INTO `item_db` VALUES ('14598','GhostringS','Ghostring Scroll','2','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','specialeffect(EF_LIGHTSPHERE, AREA, playerattached()); sc_start4 SC_ARMOR_PROPERTY, 60000, 1, Ele_Neutral, 1, 0;','','');
-REPLACE INTO `item_db` VALUES ('14599','Greed_Scroll_C','Greed Scroll','2','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,'1',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('14599','Greed_Scroll_C','Greed Scroll','2','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,'1',NULL,'0',NULL,'0','itemskill(BS_GREED, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('14600','Mental_Potion','Mental Potion','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_SPELLBREAKER, AREA, playerattached()); sc_start SC_TARGET_ASPD,1800000,10;','','');
REPLACE INTO `item_db` VALUES ('14601','Tyrs_Blessing','Tyr\'s Blessing','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','sc_start SC_FOOD_BASICAVOIDANCE, 300000, 30; sc_start SC_FOOD_BASICHIT, 300000, 30; sc_start SC_PLUSATTACKPOWER, 300000, 20; sc_start SC_PLUSMAGICPOWER, 300000, 20;','','');
REPLACE INTO `item_db` VALUES ('14602','TaogunkaS','Tao Gunka Scroll','2','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','specialeffect(EF_LIGHTSPHERE, AREA, playerattached()); sc_start4 SC_MVPCARD_TAOGUNKA, 180000, 100, 50, 50, 0;','','');
@@ -6216,13 +6234,28 @@ REPLACE INTO `item_db` VALUES ('15212','YSF01_Plate','YSF01_Plate','3','0','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 ('15278','Overwhelm_Str_Armor','Overwhelm_Str_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 ('15279','Overwhelm_Int_Armor','Overwhelm_Int_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 ('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 ('15346','Overwhelm_Luk_Armor','Overwhelm_Luk_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 ('15347','Overwhelm_Vit_Armor','Overwhelm_Vit_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 ('15353','Overwhelm_Agi_Armor','Overwhelm_Agi_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 ('15354','Overwhelm_Dex_Armor','Overwhelm_Dex_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 ('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 ('15378','Lava_Leather_Armor','Lava_Leather_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 ('15379','Lava_Leather_Suits','Lava_Leather_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 ('15380','Lava_Leather_Robe','Lava_Leather_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 ('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 ('15391','DragonA_Red','DragonA_Red','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15392','DragonA_Green','DragonA_Green','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15393','DragonA_Gold','DragonA_Gold','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15394','DragonA_Purple','DragonA_Purple','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15395','DragonA_Blue','DragonA_Blue','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15396','DragonA_Silver','DragonA_Silver','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -6235,10 +6268,12 @@ REPLACE INTO `item_db` VALUES ('16075','Rebeginer_NC_Mace','Rebeginer_NC_Mace','
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 ('16099','Ein_1HHAMMER','Ein_1HHAMMER','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
REPLACE INTO `item_db` VALUES ('16248','Tiger_Arhat_Mask_Box','Tiger 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 5566,1;','','');
+REPLACE INTO `item_db` VALUES ('16254','Energizing_Potion_Box','Activation Potion 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(Acti_Potion, 5);','','');
REPLACE INTO `item_db` VALUES ('16257','Buddah_Scroll','Buddah Scroll','2','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16304','Evil_Incarnation_Disable','Evil Incarnation','2','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16371','Tw_Aug_Scroll','Tw Aug Scroll','2','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','73',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
@@ -6251,6 +6286,7 @@ REPLACE INTO `item_db` VALUES ('16777','Universal_Catalog_Gold_Box50','Universal
REPLACE INTO `item_db` VALUES ('16843','Beauty_Gift_Box','Beauty Gift 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(New_Style_Coupon, 1);','','');
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 ('17224','Almighty_Box','Almighty 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(Almighty, 10);','','');
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','','','');
@@ -6282,6 +6318,7 @@ REPLACE INTO `item_db` VALUES ('18100','Shooting_Star_C','Shooting Star','4','11
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 ('18164','Royal_Bow_K','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 ('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','','','');
@@ -6291,6 +6328,7 @@ REPLACE INTO `item_db` VALUES ('18179','MH_P89_OS','MH_P89_OS','3','0','0','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 ('18190','Ein_BHBOW','Ein_BHBOW','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6336,10 +6374,17 @@ REPLACE INTO `item_db` VALUES ('20514','C_Thanatos_Sword','C_Thanatos_Sword','3'
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 ('20519','C_Full_BloomCherry_Tree','C_Full_BloomCherry_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 ('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 ('20543','C_Halloween_Poring_Bag','C_Halloween_Poring_Bag','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20546','C_Backside_Ribbon_Bell','C_Backside_Ribbon_Bell','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20570','C_HeartChocoBag','C_HeartChocoBag','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20572','C_WingOfHeart','C_WingOfHeart','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20576','C_Cat_Fork','C_Cat_Fork','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20584','C_Big_Foxtail','C_Big_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 ('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','','','');
@@ -6353,9 +6398,19 @@ REPLACE INTO `item_db` VALUES ('20934','Illusion_Engine_B','Illusion_Engine_B','
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 ('20946','Drag_Manteau','Drag_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 ('20963','Temporal_M_Str','Temporal_M_Str','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20964','Temporal_M_Agi','Temporal_M_Agi','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20965','Temporal_M_Vit','Temporal_M_Vit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20966','Temporal_M_Int','Temporal_M_Int','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20967','Temporal_M_Dex','Temporal_M_Dex','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20968','Temporal_M_Luk','Temporal_M_Luk','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('21038','Oriental_Sword','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 ('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 ('21050','Taegoolyeon_IL','Taegoolyeon_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 ('21054','Ein_BHSWORD','Ein_BHSWORD','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6367,7 +6422,8 @@ REPLACE INTO `item_db` VALUES ('22192','Goibne_Boots_IL','Goibne_Boots_IL','3','
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 ('22208','Dragon_Boots','Dragon_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','2','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;','','');
@@ -6401,10 +6457,12 @@ REPLACE INTO `item_db` VALUES ('23357','Buy_Arbeit1_1Lv_','Buy_Arbeit1_1Lv_','3'
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 ('23436','Shadow_Refine_Hammer','Shadow_Refine_Hammer','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('23474','InfinityShadow_Mix','InfinityShadow_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6431,6 +6489,9 @@ REPLACE INTO `item_db` VALUES ('23505','Yellow_Potion_B_20','Yellow_Potion_B_20'
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 ('23545','Silver_Statue','Silver_Statue','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23546','Cursed_Blood','Cursed_Blood','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23547','Gold_Statue','Gold_Statue','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6452,11 +6513,22 @@ REPLACE INTO `item_db` VALUES ('23587','Rebeginer_Box_120','Rebeginer_Box_120','
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 ('23665','PhysicalMagical_Mix','PhysicalMagical_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23666','ImmunedAthena_Mix','ImmunedAthena_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23667','HardChamption_Mix','HardChamption_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23668','KingbirdAncient_Mix','KingbirdAncient_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23669','CriticalHit_Mix','CriticalHit_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23675','Geffen_Magic_Scroll','Geffen_Magic_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 ('23676','Gray_Charcoal_Melee','Gray_Charcoal_Melee','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23677','Gray_Charcoal_Magic','Gray_Charcoal_Magic','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23678','Gray_Charcoal_Range','Gray_Charcoal_Range','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23679','Geffen_Magic_Scroll2','Geffen_Magic_Scroll2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('23720','Shadow_Random_Mix','Shadow_Random_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6464,15 +6536,101 @@ REPLACE INTO `item_db` VALUES ('23772','EP17_1_SPC01','EP17_1_SPC01','3','0','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 ('23776','EP17_1_SPC05','EP17_1_SPC05','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23777','EP17_1_SPC06','EP17_1_SPC06','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23778','EP17_1_SPC07','EP17_1_SPC07','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23779','EP17_1_SPC08','EP17_1_SPC08','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23780','EP17_1_SPC09','EP17_1_SPC09','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23781','EP17_1_SPC10','EP17_1_SPC10','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23815','Magma_Essence','Magma_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 ('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 ('23818','Bs_Item_M_S_2','Bs_Item_M_S_2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23819','Bs_Item_M_S_8','Bs_Item_M_S_8','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23820','Bs_Item_M_S_10','Bs_Item_M_S_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 ('23821','Bs_Item_M_S_11','Bs_Item_M_S_11','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23822','Bs_Item_M_S_34','Bs_Item_M_S_34','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23823','Bs_Item_M_S_41','Bs_Item_M_S_41','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23824','Bs_Item_M_S_42','Bs_Item_M_S_42','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23825','Bs_Item_M_S_43','Bs_Item_M_S_43','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23826','Bs_Item_M_S_44','Bs_Item_M_S_44','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23827','Bs_Sha_M_S_1','Bs_Sha_M_S_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 ('23828','Bs_Sha_M_S_17','Bs_Sha_M_S_17','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23829','Bs_Sha_M_S_18','Bs_Sha_M_S_18','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23830','Bs_Sha_M_S_19','Bs_Sha_M_S_19','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23831','Bs_Sha_M_S_20','Bs_Sha_M_S_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 ('23832','Bs_Item_M_S_4','Bs_Item_M_S_4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23833','Bs_Item_M_S_6','Bs_Item_M_S_6','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23834','Bs_Item_M_S_7','Bs_Item_M_S_7','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23835','Bs_Item_M_S_12','Bs_Item_M_S_12','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23836','Bs_Item_M_S_13','Bs_Item_M_S_13','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23837','Bs_Item_M_S_15','Bs_Item_M_S_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 ('23838','Bs_Item_M_S_28','Bs_Item_M_S_28','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23839','Bs_Item_M_S_29','Bs_Item_M_S_29','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23840','Bs_Item_M_S_31','Bs_Item_M_S_31','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23841','Bs_Item_M_S_32','Bs_Item_M_S_32','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23842','Bs_Item_M_S_33','Bs_Item_M_S_33','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23843','Bs_Item_M_S_36','Bs_Item_M_S_36','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23844','Bs_Item_M_S_37','Bs_Item_M_S_37','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23845','Bs_Item_M_S_38','Bs_Item_M_S_38','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23846','Bs_Item_M_S_39','Bs_Item_M_S_39','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23847','Bs_Item_M_S_40','Bs_Item_M_S_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 ('23848','Bs_Item_M_S_45','Bs_Item_M_S_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 ('23849','Bs_Item_M_S_46','Bs_Item_M_S_46','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23850','Bs_Item_M_S_47','Bs_Item_M_S_47','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23851','Bs_Item_M_S_48','Bs_Item_M_S_48','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23852','Bs_Item_M_S_49','Bs_Item_M_S_49','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23853','Bs_Item_M_S_50','Bs_Item_M_S_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 ('23854','Bs_Sha_M_S_2','Bs_Sha_M_S_2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23855','Bs_Sha_M_S_5','Bs_Sha_M_S_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 ('23856','Bs_Sha_M_S_6','Bs_Sha_M_S_6','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23857','Bs_Sha_M_S_7','Bs_Sha_M_S_7','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23858','Bs_Sha_M_S_8','Bs_Sha_M_S_8','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23859','Bs_Sha_M_S_13','Bs_Sha_M_S_13','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23860','Bs_Sha_M_S_15','Bs_Sha_M_S_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 ('23861','Bs_Sha_M_S_16','Bs_Sha_M_S_16','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23862','Bs_Sha_M_S_23','Bs_Sha_M_S_23','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23863','Bs_Item_M_S_5','Bs_Item_M_S_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 ('23864','Bs_Item_M_S_9','Bs_Item_M_S_9','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23865','Bs_Item_M_S_14','Bs_Item_M_S_14','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23866','Bs_Item_M_S_16','Bs_Item_M_S_16','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23867','Bs_Item_M_S_17','Bs_Item_M_S_17','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23868','Bs_Item_M_S_19','Bs_Item_M_S_19','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23869','Bs_Item_M_S_27','Bs_Item_M_S_27','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23870','Bs_Item_M_S_35','Bs_Item_M_S_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 ('23871','Bs_Sha_M_S_9','Bs_Sha_M_S_9','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23872','Bs_Sha_M_S_10','Bs_Sha_M_S_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 ('23873','Bs_Sha_M_S_11','Bs_Sha_M_S_11','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23874','Bs_Sha_M_S_21','Bs_Sha_M_S_21','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23875','Bs_Sha_M_S_22','Bs_Sha_M_S_22','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23876','Bs_Item_M_S_1','Bs_Item_M_S_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 ('23877','Bs_Item_M_S_3','Bs_Item_M_S_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 ('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 ('23879','Bs_Item_M_S_18','Bs_Item_M_S_18','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23880','Bs_Item_M_S_20','Bs_Item_M_S_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 ('23881','Bs_Item_M_S_21','Bs_Item_M_S_21','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23882','Bs_Item_M_S_22','Bs_Item_M_S_22','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23883','Bs_Item_M_S_23','Bs_Item_M_S_23','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23884','Bs_Item_M_S_24','Bs_Item_M_S_24','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23885','Bs_Item_M_S_25','Bs_Item_M_S_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 ('23886','Bs_Item_M_S_26','Bs_Item_M_S_26','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23887','Bs_Item_M_S_30','Bs_Item_M_S_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 ('23888','Bs_Sha_M_S_3','Bs_Sha_M_S_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 ('23889','Bs_Sha_M_S_4','Bs_Sha_M_S_4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23890','Bs_Sha_M_S_12','Bs_Sha_M_S_12','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23891','Bs_Sha_M_S_14','Bs_Sha_M_S_14','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23892','Bs_Sha_M_S_24','Bs_Sha_M_S_24','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23893','Bs_Sha_M_S_25','Bs_Sha_M_S_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 ('23894','Bs_Item_M_S_51','Bs_Item_M_S_51','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('23926','Shadow_9_Refine_Hammer','Shadow_9_Refine_Hammer','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('23967','EnchantStone_Recipe_9m','EnchantStone_Recipe_9m','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23981','Abyss_Ddbox','Abyss_Ddbox','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6515,6 +6673,167 @@ REPLACE INTO `item_db` VALUES ('24418','S_Timeoverload_Shield','S_Timeoverload_S
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 ('24423','S_Tempest_Weapon','S_Tempest_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 ('24424','S_Tempest_Armor','S_Tempest_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 ('24425','S_PerfectSize_Weapon','S_PerfectSize_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 ('24426','S_PerfectSize_Armor','S_PerfectSize_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 ('24427','S_M_Exo_Co_Weapon','S_M_Exo_Co_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 ('24428','S_M_Viv_Dr_Weapon','S_M_Viv_Dr_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 ('24429','S_M_Sci_Hu_Weapon','S_M_Sci_Hu_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 ('24430','S_M_Fis_In_Weapon','S_M_Fis_In_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 ('24431','S_M_Exe_Ho_Weapon','S_M_Exe_Ho_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 ('24432','S_Penetration_Weapon','S_Penetration_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 ('24433','S_Penetration_Armor','S_Penetration_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 ('24434','S_Exe_Ho_Weapon','S_Exe_Ho_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 ('24435','S_Fis_In_Weapon','S_Fis_In_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 ('24436','S_Sci_Hu_Weapon','S_Sci_Hu_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 ('24437','S_Viv_Dr_Weapon','S_Viv_Dr_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 ('24438','S_Exo_Co_Weapon','S_Exo_Co_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 ('24439','S_Hasty_Weapon','S_Hasty_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 ('24440','S_Sonic_Armor','S_Sonic_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 ('24441','S_Sonic_Shield','S_Sonic_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 ('24442','S_Sonic_Shoes','S_Sonic_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 ('24443','S_Ignition_Weapon','S_Ignition_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 ('24444','S_Ignition_Pendant','S_Ignition_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 ('24445','S_Ignition_Earing','S_Ignition_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 ('24446','S_W_Breath_Armor','S_W_Breath_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 ('24447','S_W_Breath_Shield','S_W_Breath_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 ('24448','S_W_Breath_Shoes','S_W_Breath_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 ('24449','S_F_Breath_Weapon','S_F_Breath_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 ('24450','S_F_Breath_Pendant','S_F_Breath_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 ('24451','S_F_Breath_Earing','S_F_Breath_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 ('24452','S_Cluster_Armor','S_Cluster_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 ('24453','S_Cluster_Shield','S_Cluster_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 ('24454','S_Cluster_Shoes','S_Cluster_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 ('24455','S_Aimed_Weapon','S_Aimed_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 ('24456','S_Aimed_Pendant','S_Aimed_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 ('24457','S_Aimed_Earing','S_Aimed_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 ('24458','S_Arrow_Armor','S_Arrow_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 ('24459','S_Arrow_Shield','S_Arrow_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 ('24460','S_Arrow_Shoes','S_Arrow_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 ('24461','S_Shooting_Weapon','S_Shooting_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 ('24462','S_Shooting_Pendant','S_Shooting_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 ('24463','S_Shooting_Earing','S_Shooting_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 ('24464','S_Tornado_Armor','S_Tornado_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 ('24465','S_Tornado_Shield','S_Tornado_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 ('24466','S_Tornado_Shoes','S_Tornado_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 ('24467','S_Boomerang_Weapon','S_Boomerang_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 ('24468','S_Boomerang_Pendant','S_Boomerang_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 ('24469','S_Boomerang_Earing','S_Boomerang_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 ('24470','S_Vulcan_Armor','S_Vulcan_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 ('24471','S_Vulcan_Shield','S_Vulcan_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 ('24472','S_Vulcan_Shoes','S_Vulcan_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 ('24473','S_Arms_Weapon','S_Arms_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 ('24474','S_Arms_Pendant','S_Arms_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 ('24475','S_Arms_Earing','S_Arms_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 ('24476','S_Rampage_Armor','S_Rampage_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 ('24477','S_Rampage_Shield','S_Rampage_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 ('24478','S_Rampage_Shoes','S_Rampage_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 ('24479','S_Skynetblow_Weapon','S_Skynetblow_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 ('24480','S_Skynetblow_Pendant','S_Skynetblow_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 ('24481','S_Skynetblow_Earing','S_Skynetblow_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 ('24482','S_Knucklearrow_Armor','S_Knucklearrow_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 ('24483','S_Knucklearrow_Shield','S_Knucklearrow_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 ('24484','S_Knucklearrow_Shoes','S_Knucklearrow_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 ('24485','S_TigerCannon_Weapon','S_TigerCannon_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 ('24486','S_Tigercannon_Pendant','S_Tigercannon_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 ('24487','S_Tigercannon_Earing','S_Tigercannon_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 ('24488','S_Duplelight_Armor','S_Duplelight_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 ('24489','S_Duplelight_Shield','S_Duplelight_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 ('24490','S_Duplelight_Shoes','S_Duplelight_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 ('24491','S_Adoramus_Weapon','S_Adoramus_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 ('24492','S_Adoramus_Pendant','S_Adoramus_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 ('24493','S_Adoramus_Earing','S_Adoramus_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 ('24494','S_Judex_Armor','S_Judex_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 ('24495','S_Judex_Shield','S_Judex_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 ('24496','S_Judex_Shoes','S_Judex_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 ('24497','S_Magnus_Weapon','S_Magnus_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 ('24498','S_Magnus_Pendant','S_Magnus_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 ('24499','S_Magnus_Earing','S_Magnus_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 ('24500','S_Rainstorm_Armor','S_Rainstorm_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 ('24501','S_Rainstorm_Shield','S_Rainstorm_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 ('24502','S_Rainstorm_Shoes','S_Rainstorm_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 ('24503','S_Arrowvulcan_Weapon','S_Arrowvulcan_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 ('24504','S_Arrowvulcan_Pendant','S_Arrowvulcan_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 ('24505','S_Arrowvulcan_Earing','S_Arrowvulcan_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 ('24506','S_Metalic_Armor','S_Metalic_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 ('24507','S_Metalic_Shield','S_Metalic_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 ('24508','S_Metalic_Shoes','S_Metalic_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 ('24509','S_Reverberation_Weapon','S_Reverberation_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 ('24510','S_Reverberation_Pendant','S_Reverberation_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 ('24511','S_Reverberation_Earing','S_Reverberation_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 ('24512','S_Jack_Armor','S_Jack_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 ('24513','S_Jack_Shield','S_Jack_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 ('24514','S_Jack_Shoes','S_Jack_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 ('24515','S_Strain_Weapon','S_Strain_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 ('24516','S_Strain_Pendant','S_Strain_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 ('24517','S_Strain_Earing','S_Strain_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 ('24518','S_Crimson_Armor','S_Crimson_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 ('24519','S_Crimson_Shield','S_Crimson_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 ('24520','S_Crimson_Shoes','S_Crimson_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 ('24521','S_Chain_Weapon','S_Chain_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 ('24522','S_Chain_Pendant','S_Chain_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 ('24523','S_Chain_Earing','S_Chain_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 ('24524','S_Triangle_Armor','S_Triangle_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 ('24525','S_Triangle_Shield','S_Triangle_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 ('24526','S_Triangle_Shoes','S_Triangle_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 ('24527','S_Shadowspell_Weapon','S_Shadowspell_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 ('24528','S_Shadowspell_Pendant','S_Shadowspell_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 ('24529','S_Shadowspell_Earing','S_Shadowspell_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 ('24530','S_Menace_Armor','S_Menace_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 ('24531','S_Menace_Shield','S_Menace_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 ('24532','S_Menace_Shoes','S_Menace_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 ('24533','S_Paint_Weapon','S_Paint_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 ('24534','S_Paint_Pendant','S_Paint_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 ('24535','S_Paint_Earing','S_Paint_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 ('24536','S_Rolling_Armor','S_Rolling_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 ('24537','S_Rolling_Shield','S_Rolling_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 ('24538','S_Rolling_Shoes','S_Rolling_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 ('24539','S_Katar_Weapon','S_Katar_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 ('24540','S_Katar_Pendant','S_Katar_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 ('24541','S_Katar_Earing','S_Katar_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 ('24542','S_Slash_Armor','S_Slash_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 ('24543','S_Slash_Shield','S_Slash_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 ('24544','S_Slash_Shoes','S_Slash_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 ('24545','S_Ripper_Weapon','S_Ripper_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 ('24546','S_Ripper_Pendant','S_Ripper_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 ('24547','S_Ripper_Earing','S_Ripper_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 ('24548','S_Dust_Armor','S_Dust_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 ('24549','S_Dust_Shield','S_Dust_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 ('24550','S_Dust_Shoes','S_Dust_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 ('24551','S_Grave_Weapon','S_Grave_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 ('24552','S_Grave_Pendant','S_Grave_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 ('24553','S_Grave_Earing','S_Grave_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 ('24554','S_Psychic_Armor','S_Psychic_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 ('24555','S_Psychic_Shield','S_Psychic_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 ('24556','S_Psychic_Shoes','S_Psychic_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 ('24557','S_Varetyr_Weapon','S_Varetyr_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 ('24558','S_Varetyr_Pendant','S_Varetyr_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 ('24559','S_Varetyr_Earing','S_Varetyr_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 ('24560','S_Cart_Tornado_Armor','S_Cart_Tornado_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 ('24561','S_Cart_Tornado_Shield','S_Cart_Tornado_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 ('24562','S_Cart_Tornado_Shoes','S_Cart_Tornado_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 ('24563','S_Cannon_Cart_Weapon','S_Cannon_Cart_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 ('24564','S_Cannon_Cart_Pendant','S_Cannon_Cart_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 ('24565','S_Cannon_Cart_Earing','S_Cannon_Cart_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 ('24566','S_Spore_Bomb_Armor','S_Spore_Bomb_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 ('24567','S_Spore_Bomb_Shield','S_Spore_Bomb_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 ('24568','S_Spore_Bomb_Shoes','S_Spore_Bomb_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 ('24569','S_Crazy_Weapon','S_Crazy_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 ('24570','S_Crazy_Pendant','S_Crazy_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 ('24571','S_Crazy_Earing','S_Crazy_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 ('24572','S_Brand_Armor','S_Brand_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 ('24573','S_Brand_Shield','S_Brand_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 ('24574','S_Brand_Shoes','S_Brand_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 ('24575','S_Chain_Press_Weapon','S_Chain_Press_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 ('24576','S_Chain_Press_Pendant','S_Chain_Press_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 ('24577','S_Chain_Press_Earing','S_Chain_Press_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 ('24578','S_Banish_Cannon_Armor','S_Banish_Cannon_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 ('24579','S_Banish_Cannon_Shield','S_Banish_Cannon_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 ('24580','S_Banish_Cannon_Shoes','S_Banish_Cannon_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 ('24581','S_Genesis_Weapon','S_Genesis_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 ('24582','S_Genesis_Pendant','S_Genesis_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 ('24583','S_Genesis_Earing','S_Genesis_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 ('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','','','');
@@ -6621,29 +6940,79 @@ REPLACE INTO `item_db` VALUES ('25735','Unsealing_Token','Unsealing_Token','3','
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 ('25797','SuraStone_Robe2','SuraStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25798','SuraStone_Bottom2','SuraStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25799','SuraStone_Middle2','SuraStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25800','SuraStone_Top2','SuraStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25801','SorcererStone_Robe2','SorcererStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25802','SorcererStone_Bottom2','SorcererStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25803','SorcererStone_Middle2','SorcererStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25804','SorcererStone_Top2','SorcererStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25805','ShadowchaserStone_Robe2','ShadowchaserStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25806','ShadowchasStone_Bottom2','ShadowchasStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25807','ShadowchasStone_Middle2','ShadowchasStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25808','ShadowchaserStone_Top2','ShadowchaserStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25815','Ein_SOLIDDUST','Ein_SOLIDDUST','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25816','Ein_RUSTHELM','Ein_RUSTHELM','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25817','Ein_EYEROCK','Ein_EYEROCK','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25842','SoulreaperStone_Robe','SoulreaperStone_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 ('25843','SoullinkerStone_Top','SoullinkerStone_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 ('25844','SoullinkerStone_Middle','SoullinkerStone_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 ('25845','SoullinkerStone_Bottom','SoullinkerStone_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 ('25846','GladiatorStone_Top','GladiatorStone_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 ('25847','GladiatorStone_Middle','GladiatorStone_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 ('25848','GladiatorStone_Bottom','GladiatorStone_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 ('25849','StaremperorStone_Robe','StaremperorStone_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 ('25850','NinjaStone_Top','NinjaStone_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 ('25851','NinjaStone_Middle','NinjaStone_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 ('25852','NinjaStone_Bottom','NinjaStone_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 ('25853','KagerouStone_Robe','KagerouStone_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 ('25854','OboroStone_Robe','OboroStone_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 ('25855','GunslingerStone_Top','GunslingerStone_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 ('25856','GunslingerStone_Middle','GunslingerStone_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 ('25857','GunslingerStone_Bottom','GunslingerStone_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 ('25858','RebellionStone_Robe','RebellionStone_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 ('25859','DoramStone_Top','DoramStone_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 ('25860','DoramStone_Middle','DoramStone_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 ('25861','DoramStone_Bottom','DoramStone_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 ('25862','DoramStone_Robe','DoramStone_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 ('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 ('26118','Shadow_Staff_K','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 ('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 ('26154','SoulWeight','SoulWeight','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('26162','Ein_1HWAND','Ein_1HWAND','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26164','ElectricFox_OS','ElectricFox_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 ('26215','Ein_1HWHIP','Ein_1HWHIP','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('28039','Shiver_Katar_K','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 ('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 ('28045','Ein_BHKATAR','Ein_BHKATAR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28130','Avenger','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 ('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 ('28140','Ein_BHAXE','Ein_BHAXE','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('28254','Butcher_IL','Butcher_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 ('28255','Master_Soul_Rifle','Master_Soul_Rifle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28256','Demon_S_Shot','Demon_S_Shot','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28257','Golden_L_Launcher','Golden_L_Launcher','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28258','The_Black_Gatling','The_Black_Gatling','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6654,12 +7023,20 @@ REPLACE INTO `item_db` VALUES ('28612','Book_Of_The_Apo_IL','Book_Of_The_Apo_IL'
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 ('28630','Demon_Hunting_Bible_K','Demon_Hunting_Bible_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 ('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 ('28635','Ein_1HBOOK','Ein_1HBOOK','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('28744','Magic_Sword','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 ('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 ('28762','Bazerald_IL','Bazerald_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 ('28763','Sharp_Wind_Sword','Sharp_Wind_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 ('28764','Fog_Dew_Sword','Fog_Dew_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 ('28771','Ein_1HDAGGER','Ein_1HDAGGER','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28772','Ein_1HMAGGER','Ein_1HMAGGER','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6695,6 +7072,7 @@ REPLACE INTO `item_db` VALUES ('31332','C_Khalitzburg_Helm_BL','C_Khalitzburg_He
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 ('31382','C_Cat_Ears_Punkish','C_Cat_Ears_Punkish','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -6707,31 +7085,278 @@ REPLACE INTO `item_db` VALUES ('31432','C_Luwmin_Ice','C_Luwmin_Ice','3','0','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 ('31440','C_Snow_Bear_Food','C_Snow_Bear_Food','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('31481','C_CatCoffeeCup_TW','C_CatCoffeeCup_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 ('31483','C_CatEarRibbon_TW','C_CatEarRibbon_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 ('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 ('31512','C_Panda_Rabbit','C_Panda_Rabbit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('31565','C_Princess_Ribbon_Crown','C_Princess_Ribbon_Crown','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31569','C_OpenAir_Headset','C_OpenAir_Headset','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31572','C_Mobile_Pursuit_System','C_Mobile_Pursuit_System','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31573','C_Mecha_Cat_Ears','C_Mecha_Cat_Ears','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31574','C_Cyber_Income','C_Cyber_Income','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('31586','C_Poporing_Muffler','C_Poporing_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 ('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 ('31600','C_Kishu_Inu','C_Kishu_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 ('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 ('31614','C_Fox','C_Fox','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31616','C_Sleep_Sheep_TW','C_Sleep_Sheep_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 ('31624','C_HeartOfCat_TW','C_HeartOfCat_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 ('31625','C_Protect_Cloth','C_Protect_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 ('31693','C_LunaticMuffler','C_LunaticMuffler','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31698','C_Pigtail_Red_Hood','C_Pigtail_Red_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 ('31699','C_Smiling_Eyes','C_Smiling_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 ('31765','C_Garnet_Tiara','C_Garnet_Tiara','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31766','C_Peony_Hair_Ornament','C_Peony_Hair_Ornament','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31787','C_SavageB_On_Shoulder','C_SavageB_On_Shoulder','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31798','C_Baby_Panda','C_Baby_Panda','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('32018','Undine_Spear_K','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 ('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 ('32026','Ein_1HSPEAR','Ein_1HSPEAR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32110','Ein_1HLUTE','Ein_1HLUTE','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
+REPLACE INTO `item_db` VALUES ('32301','Gold_Lux_IL','Gold_Lux_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 ('32302','Crimson_Rose','Crimson_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 ('32303','Ein_1HGUN','Ein_1HGUN','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32352','Ein_1HSWORD','Ein_1HSWORD','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100000','IDTest_Special','IDTest_Special','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100003','ILL_Piece_A','ILL_Piece_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 ('100004','ILL_Piece_B','ILL_Piece_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 ('100009','Joy_Of_Victory','Joy_Of_Victory','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100010','PerfectSize_Mix','PerfectSize_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100011','MagicPiercing_Mix','MagicPiercing_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100023','Ancient_Hero_Bravery','Ancient_Hero_Bravery','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100025','Ancient_Hero_Wisdom','Ancient_Hero_Wisdom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100043','Boost_Up_1','Boost_Up_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 ('100044','Boost_Up_2','Boost_Up_2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100053','Piercing_Mix','Piercing_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100058','Hasty_Mix','Hasty_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100060','EnchantStone_Recipe_4m','EnchantStone_Recipe_4m','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100128','Noblesse_Rifine_Ticket','Noblesse_Rifine_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 ('100129','Imperial_Rifine_Ticket','Imperial_Rifine_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 ('100130','Grace_Rifine_Ticket','Grace_Rifine_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 ('100131','Imperial_Convert1','Imperial_Convert1','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100132','Imperial_Convert2','Imperial_Convert2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100133','Grace_Convert1','Grace_Convert1','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100134','Grace_Convert2','Grace_Convert2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100135','Imperial_Convert3','Imperial_Convert3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100136','Imperial_Convert4','Imperial_Convert4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100137','Grace_Convert3','Grace_Convert3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100138','Grace_Convert4','Grace_Convert4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100142','Abyss_Ddbox2','Abyss_Ddbox2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100144','Abyss_Ddbox3','Abyss_Ddbox3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100145','Abyss_Ddbox4','Abyss_Ddbox4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('400002','Victory_Wing_Ear_','Victory_Wing_Ear_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('400020','C_BeachBall','C_BeachBall','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('440000','C_SharkHead','C_SharkHead','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450001','Atker_Plate','Atker_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 ('450002','Ele_Robe','Ele_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 ('450003','Defn_Robe','Defn_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 ('450004','Ran_Suits','Ran_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 ('450018','Noblesse_Breath_Armor','Noblesse_Breath_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 ('450019','Noblesse_Knight_Armor','Noblesse_Knight_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 ('450020','Noblesse_Spear_Armor','Noblesse_Spear_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 ('450021','Noblesse_Genesis_Armor','Noblesse_Genesis_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 ('450022','Noblesse_Sharp_Suit','Noblesse_Sharp_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450023','Noblesse_Aim_Suit','Noblesse_Aim_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450024','Noblesse_Severe_Suit','Noblesse_Severe_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450025','Noblesse_Reverb_Suit','Noblesse_Reverb_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450026','Noblesse_Adora_Robe','Noblesse_Adora_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 ('450027','Noblesse_Duple_Robe','Noblesse_Duple_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 ('450028','Noblesse_Tonado_Armor','Noblesse_Tonado_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 ('450029','Noblesse_Vulcan_Armor','Noblesse_Vulcan_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 ('450030','Noblesse_Kart_Suit','Noblesse_Kart_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450031','Noblesse_Kart_Suit2','Noblesse_Kart_Suit2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450032','Noblesse_Rolling_Suit','Noblesse_Rolling_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450033','Noblesse_Assasin_Suit','Noblesse_Assasin_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450034','Noblesse_Fatal_Suit','Noblesse_Fatal_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450035','Noblesse_Stalker_Suit','Noblesse_Stalker_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450036','Noblesse_Picky_Robe','Noblesse_Picky_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 ('450037','Noblesse_Carrot_Robe','Noblesse_Carrot_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 ('450038','Noblesse_Trip_Suit','Noblesse_Trip_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450039','Noblesse_Firerain_Suit','Noblesse_Firerain_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450040','Noblesse_Crimson_Robe','Noblesse_Crimson_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 ('450041','Noblesse_Frost_Robe','Noblesse_Frost_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 ('450042','Noblesse_Psychic_Robe','Noblesse_Psychic_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 ('450043','Noblesse_Dust_Robe','Noblesse_Dust_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 ('450044','Noblesse_Sun_Suit','Noblesse_Sun_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450045','Noblesse_Moon_Suit','Noblesse_Moon_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450046','Noblesse_Ninja_Suit','Noblesse_Ninja_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450047','Noblesse_Kunai_Suit','Noblesse_Kunai_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450048','Noblesse_Swhoo_Robe','Noblesse_Swhoo_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 ('450049','Noblesse_Explosion_Robe','Noblesse_Explosion_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 ('450050','Noblesse_Knuckle_Suit','Noblesse_Knuckle_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450051','Noblesse_Tiger_Suit','Noblesse_Tiger_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450052','Imperial_Breath_Armor','Imperial_Breath_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 ('450053','Imperial_Knight_Armor','Imperial_Knight_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 ('450054','Imperial_Spear_Armor','Imperial_Spear_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 ('450055','Imperial_Genesis_Armor','Imperial_Genesis_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 ('450056','Imperial_Sharp_Suit','Imperial_Sharp_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450057','Imperial_Aim_Suit','Imperial_Aim_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450058','Imperial_Severe_Suit','Imperial_Severe_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450059','Imperial_Reverb_Suit','Imperial_Reverb_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450060','Imperial_Adora_Robe','Imperial_Adora_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 ('450061','Imperial_Duple_Robe','Imperial_Duple_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 ('450062','Imperial_Knuckle_Suit','Imperial_Knuckle_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450063','Imperial_Tiger_Suit','Imperial_Tiger_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450064','Imperial_Tonado_Armor','Imperial_Tonado_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 ('450065','Imperial_Vulcan_Armor','Imperial_Vulcan_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 ('450066','Imperial_Kart_Suit','Imperial_Kart_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450067','Imperial_Kart_Suit2','Imperial_Kart_Suit2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450068','Imperial_Rolling_Suit','Imperial_Rolling_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450069','Imperial_Assasin_Suit','Imperial_Assasin_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450070','Imperial_Fatal_Suit','Imperial_Fatal_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450071','Imperial_Stalker_Suit','Imperial_Stalker_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450072','Imperial_Picky_Robe','Imperial_Picky_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 ('450073','Imperial_Carrot_Robe','Imperial_Carrot_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 ('450074','Imperial_Trip_Suit','Imperial_Trip_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450075','Imperial_Firerain_Suit','Imperial_Firerain_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450076','Imperial_Crimson_Robe','Imperial_Crimson_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 ('450077','Imperial_Frost_Robe','Imperial_Frost_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 ('450078','Imperial_Psychic_Robe','Imperial_Psychic_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 ('450079','Imperial_Dust_Robe','Imperial_Dust_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 ('450080','Imperial_Sun_Suit','Imperial_Sun_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450081','Imperial_Moon_Suit','Imperial_Moon_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450082','Imperial_Ninja_Suit','Imperial_Ninja_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450083','Imperial_Kunai_Suit','Imperial_Kunai_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450084','Imperial_Swhoo_Robe','Imperial_Swhoo_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 ('450085','Imperial_Explosion_Robe','Imperial_Explosion_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 ('450086','Grace_Breath_Armor','Grace_Breath_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 ('450087','Grace_Knight_Armor','Grace_Knight_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 ('450088','Grace_Spear_Armor','Grace_Spear_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 ('450089','Grace_Genesis_Armor','Grace_Genesis_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 ('450090','Grace_Sharp_Suit','Grace_Sharp_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450091','Grace_Aim_Suit','Grace_Aim_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450092','Grace_Severe_Suit','Grace_Severe_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450093','Grace_Reverb_Suit','Grace_Reverb_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450094','Grace_Adora_Robe','Grace_Adora_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 ('450095','Grace_Duple_Robe','Grace_Duple_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 ('450096','Grace_Knuckle_Suit','Grace_Knuckle_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450097','Grace_Tiger_Suit','Grace_Tiger_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450098','Grace_Tonado_Armor','Grace_Tonado_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 ('450099','Grace_Vulcan_Armor','Grace_Vulcan_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 ('450100','Grace_Kart_Suit','Grace_Kart_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450101','Grace_Kart_Suit2','Grace_Kart_Suit2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450102','Grace_Rolling_Suit','Grace_Rolling_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450103','Grace_Assasin_Suit','Grace_Assasin_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450104','Grace_Fatal_Suit','Grace_Fatal_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450105','Grace_Stalker_Suit','Grace_Stalker_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450106','Grace_Picky_Robe','Grace_Picky_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 ('450107','Grace_Carrot_Robe','Grace_Carrot_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 ('450108','Grace_Trip_Suit','Grace_Trip_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450109','Grace_Firerain_Suit','Grace_Firerain_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450110','Grace_Crimson_Robe','Grace_Crimson_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 ('450111','Grace_Frost_Robe','Grace_Frost_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 ('450112','Grace_Psychic_Robe','Grace_Psychic_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 ('450113','Grace_Dust_Robe','Grace_Dust_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 ('450114','Grace_Sun_Suit','Grace_Sun_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450115','Grace_Moon_Suit','Grace_Moon_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450116','Grace_Ninja_Suit','Grace_Ninja_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450117','Grace_Kunai_Suit','Grace_Kunai_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450118','Grace_Swhoo_Robe','Grace_Swhoo_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 ('450119','Grace_Explosion_Robe','Grace_Explosion_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 ('450121','Noblesse_Snovice_Suit','Noblesse_Snovice_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450122','Noblesse_Snovice_Robe','Noblesse_Snovice_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 ('450123','Imperial_Snovice_Suit','Imperial_Snovice_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450124','Imperial_Snovice_Robe','Imperial_Snovice_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 ('450125','Grace_Snovice_Suit','Grace_Snovice_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450126','Grace_Snovice_Robe','Grace_Snovice_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 ('470000','Atker_Greave','Atker_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 ('470001','Ele_Shoes','Ele_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 ('470002','Defn_Shoes','Defn_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 ('470003','Ran_Boots','Ran_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 ('470016','Noblesse_Attack_Boots','Noblesse_Attack_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 ('470017','Noblesse_Magic_Boots','Noblesse_Magic_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 ('470018','Imperial_Attack_Boots','Imperial_Attack_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 ('470019','Imperial_Magic_Boots','Imperial_Magic_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 ('470020','Grace_Attack_Boots','Grace_Attack_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 ('470021','Grace_Magic_Boots','Grace_Magic_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 ('480000','Atker_Manteau','Atker_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 ('480001','Ele_Muffler','Ele_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 ('480002','Defn_Muffler','Defn_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 ('480003','Ran_Manteau','Ran_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 ('480012','Noblesse_Attack_Manteau','Noblesse_Attack_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 ('480014','Noblesse_Magic_Manteau','Noblesse_Magic_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 ('480016','Imperial_Attack_Manteau','Imperial_Attack_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 ('480017','Imperial_Magic_Manteau','Imperial_Magic_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 ('480018','Grace_Attack_Manteau','Grace_Attack_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 ('480019','Grace_Magic_Manteau','Grace_Magic_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 ('500001','Boost_Sword','Boost_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 ('500003','Light_Blade','Light_Blade','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('500004','Slate_Sword','Slate_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 ('510001','Boost_Dagger','Boost_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 ('510002','Boost_Nindo','Boost_Nindo','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('510006','Fatalist','Fatalist','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('520000','Boost_Axe','Boost_Axe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('530000','Boost_Spear','Boost_Spear','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('540000','Boost_Spl_Book','Boost_Spl_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 ('540001','Boost_Text','Boost_Text','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('550001','Boost_Soul_Rod','Boost_Soul_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 ('550002','Boost_Foxtail','Boost_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 ('550006','Ein_1H_Foxtail','Ein_1H_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 ('550007','Freezing_Rod','Freezing_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 ('560000','Boost_Knuckle','Boost_Knuckle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('560005','Ray_Knuckle','Ray_Knuckle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('570000','Boost_Guitar','Boost_Guitar','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('570002','Trumpet_Shell_K','Trumpet_Shell_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 ('580000','Boost_Whip','Boost_Whip','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('580002','Barb_Wire_K','Barb_Wire_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 ('590000','Boost_Hall','Boost_Hall','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('590002','Meteor_Striker','Meteor_Striker','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('590003','Saint_Hall','Saint_Hall','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('600001','Boost_TH_Sword','Boost_TH_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 ('600004','Dragonic_Slayer','Dragonic_Slayer','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('610000','Boost_Katar','Boost_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 ('610003','Blade_Katar','Blade_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 ('640000','Boost_Staff','Boost_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 ('640004','Blue_Crystal_Staff','Blue_Crystal_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 ('700001','Boost_Bow','Boost_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 ('700003','Scalet_Dragon_L_Bow','Scalet_Dragon_L_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 ('830000','Boost_Gatling','Boost_Gatling','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000008','RangerStone_Top2','RangerStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000009','RangerStone_Middle2','RangerStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000010','RangerStone_Bottom2','RangerStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000011','RangerStone_Robe2','RangerStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000012','MechanicStone_Top2','MechanicStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000013','MechanicStone_Middle2','MechanicStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000014','MechanicStone_Bottom2','MechanicStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000015','MechanicStone_Robe2','MechanicStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000016','HighpriestStone_Top2','HighpriestStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000017','HighpriestStone_Middle2','HighpriestStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000018','HighpriestStone_Bottom2','HighpriestStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000019','ArchbishopStone_Robe2','ArchbishopStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000213','WarlockStone_Robe2','WarlockStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000214','WarlockStone_Top2','WarlockStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000215','WarlockStone_Middle2','WarlockStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000216','WarlockStone_Bottom2','WarlockStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000217','RoyalguardStone_Robe2','RoyalguardStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000218','PaladinStone_Top2','PaladinStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000219','PaladinStone_Middle2','PaladinStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000220','PaladinStone_Bottom2','PaladinStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000221','GuillcrossStone_Robe2','GuillcrossStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000222','AssacrossStone_Top2','AssacrossStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000223','AssacrossStone_Middle2','AssacrossStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000224','AssacrossStone_Bottom2','AssacrossStone_Bottom2','3','0','0','0','0','0','0','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 3b4f58219..ed77f2812 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-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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 c2a017a8d..a24b385f7 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-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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
@@ -166,17 +166,17 @@ REPLACE INTO `item_db` VALUES ('596','Cute_Strawberry_Choco','Cute Strawberry-Ch
REPLACE INTO `item_db` VALUES ('597','Lovely_Choco_Tart','Lovely Choco-Tart','0','0','20','10','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 rand(10,400),0;','','');
REPLACE INTO `item_db` VALUES ('598','Light_Red_Pot','Light Red Potion','0','0','50','25','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','itemheal rand(45,65),0;','','');
REPLACE INTO `item_db` VALUES ('599','Light_Orange_Pot','Light Orange Potion','0','0','200','100','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','itemheal rand(105,145),0;','','');
-REPLACE INTO `item_db` VALUES ('601','Wing_Of_Fly','Fly Wing','11','0','60','30','50','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','itemskill AL_TELEPORT,1;','','');
-REPLACE INTO `item_db` VALUES ('602','Wing_Of_Butterfly','Butterfly Wing','11','0','300','150','50','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','itemskill AL_TELEPORT,3;','','');
+REPLACE INTO `item_db` VALUES ('601','Wing_Of_Fly','Fly Wing','2','0','60','30','50','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','itemskill AL_TELEPORT,1;','','');
+REPLACE INTO `item_db` VALUES ('602','Wing_Of_Butterfly','Butterfly Wing','2','0','300','150','50','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','itemskill AL_TELEPORT,3;','','');
REPLACE INTO `item_db` VALUES ('603','Old_Blue_Box','Old Blue Box','2','0','10000','5000','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','8',NULL,'0',NULL,'0',NULL,'0','getrandgroupitem 603,1;','','');
REPLACE INTO `item_db` VALUES ('604','Branch_Of_Dead_Tree','Dead Branch','2','0','50','25','50','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','monster \"this\",-1,-1,\"--ja--\",-1,1,\"\";','','');
-REPLACE INTO `item_db` VALUES ('605','Anodyne','Anodyne','11','0','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_ENDURE,1;','','');
-REPLACE INTO `item_db` VALUES ('606','Aloebera','Aloevera','11','0','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_SELFPROVOKE,1;','','');
+REPLACE INTO `item_db` VALUES ('605','Anodyne','Anodyne','2','0','2000','1000','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_ENDURE,1;','','');
+REPLACE INTO `item_db` VALUES ('606','Aloebera','Aloevera','2','0','1500','750','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill SM_SELFPROVOKE,1;','','');
REPLACE INTO `item_db` VALUES ('607','Yggdrasilberry','Yggdrasil Berry','0','0','5000','2500','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','5000','0',NULL,'0',NULL,'0',NULL,'0','percentheal 100,100;','','');
REPLACE INTO `item_db` VALUES ('608','Seed_Of_Yggdrasil','Yggdrasil Seed','0','0','5000','2500','300','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','3000','0',NULL,'0',NULL,'0',NULL,'0','percentheal 50,50;','','');
REPLACE INTO `item_db` VALUES ('609','Amulet','Amulet','2','0','100','50','100','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 ('610','Leaf_Of_Yggdrasil','Yggdrasil Leaf','11','0','4000','2000','100','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','itemskill ALL_RESURRECTION,1;','','');
-REPLACE INTO `item_db` VALUES ('611','Spectacles','Magnifier','11','0','40','20','50','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','itemskill MC_IDENTIFY,1;','','');
+REPLACE INTO `item_db` VALUES ('610','Leaf_Of_Yggdrasil','Yggdrasil Leaf','2','0','4000','2000','100','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','itemskill ALL_RESURRECTION,1;','','');
+REPLACE INTO `item_db` VALUES ('611','Spectacles','Magnifier','2','0','40','20','50','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','itemskill MC_IDENTIFY,1;','','');
REPLACE INTO `item_db` VALUES ('612','Portable_Furnace','Mini Furnace','2','0','150','75','200','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','produce 21;','','');
REPLACE INTO `item_db` VALUES ('613','Iron_Hammer','Iron Hammer','2','0','1000','500','200','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','produce 1;','','');
REPLACE INTO `item_db` VALUES ('614','Golden_Hammer','Golden Hammer','2','0','3000','1500','300','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','produce 2;','','');
@@ -241,21 +241,21 @@ REPLACE INTO `item_db` VALUES ('682','Realgar_Wine','Distilled Fighting Spirit',
REPLACE INTO `item_db` VALUES ('683','Exorcize_Herb','Herb of Incantation','2','0','0','0','50','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','sc_start SC_PLUSMAGICPOWER, 60000, 30;','','');
REPLACE INTO `item_db` VALUES ('684','Durian','Durian','2','0','15000','7500','300','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','sc_start SC_PLUSATTACKPOWER, 60000, 10; sc_start SC_PLUSMAGICPOWER, 60000, 10;','','');
REPLACE INTO `item_db` VALUES ('685','RAMADAN','Ramadan','0','0','5000','2500','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','percentheal 100,50;','','');
-REPLACE INTO `item_db` VALUES ('686','Earth_Scroll_1_3','Level 3 Earth Spike','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill WZ_EARTHSPIKE,3;','','');
-REPLACE INTO `item_db` VALUES ('687','Earth_Scroll_1_5','Level 5 Earth Spike','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill WZ_EARTHSPIKE,5;','','');
-REPLACE INTO `item_db` VALUES ('688','Cold_Scroll_1_3','Level 3 Cold Bolt','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_COLDBOLT,3;','','');
-REPLACE INTO `item_db` VALUES ('689','Cold_Scroll_1_5','Level 5 Cold Bolt','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_COLDBOLT,5;','','');
-REPLACE INTO `item_db` VALUES ('690','Fire_Scroll_1_3','Level 3 Fire Bolt','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBOLT,3;','','');
-REPLACE INTO `item_db` VALUES ('691','Fire_Scroll_1_5','Level 5 Fire Bolt','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBOLT,5;','','');
-REPLACE INTO `item_db` VALUES ('692','Wind_Scroll_1_3','Level 3 Lightening Bolt','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_LIGHTNINGBOLT,3;','','');
-REPLACE INTO `item_db` VALUES ('693','Wind_Scroll_1_5','Level 5 Lightening Bolt','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_LIGHTNINGBOLT,5;','','');
-REPLACE INTO `item_db` VALUES ('694','Ghost_Scroll_1_3','Level 3 Soul Strike','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_SOULSTRIKE,3;','','');
-REPLACE INTO `item_db` VALUES ('695','Ghost_Scroll_1_5','Level 5 Soul Strike','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_SOULSTRIKE,5;','','');
-REPLACE INTO `item_db` VALUES ('696','Fire_Scroll_2_1','Level 1 Fire Ball','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBALL,1;','','');
-REPLACE INTO `item_db` VALUES ('697','Fire_Scroll_2_5','Level 5 Fire Ball','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBALL,5;','','');
-REPLACE INTO `item_db` VALUES ('698','Fire_Scroll_3_1','Level 1 Fire Wall','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREWALL,1;','','');
-REPLACE INTO `item_db` VALUES ('699','Fire_Scroll_3_5','Level 5 Fire Wall','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREWALL,5;','','');
-REPLACE INTO `item_db` VALUES ('700','Cold_Scroll_2_1','Level 1 Frost Diver','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FROSTDIVER,1;','','');
+REPLACE INTO `item_db` VALUES ('686','Earth_Scroll_1_3','Level 3 Earth Spike','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill WZ_EARTHSPIKE,3;','','');
+REPLACE INTO `item_db` VALUES ('687','Earth_Scroll_1_5','Level 5 Earth Spike','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill WZ_EARTHSPIKE,5;','','');
+REPLACE INTO `item_db` VALUES ('688','Cold_Scroll_1_3','Level 3 Cold Bolt','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_COLDBOLT,3;','','');
+REPLACE INTO `item_db` VALUES ('689','Cold_Scroll_1_5','Level 5 Cold Bolt','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_COLDBOLT,5;','','');
+REPLACE INTO `item_db` VALUES ('690','Fire_Scroll_1_3','Level 3 Fire Bolt','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBOLT,3;','','');
+REPLACE INTO `item_db` VALUES ('691','Fire_Scroll_1_5','Level 5 Fire Bolt','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBOLT,5;','','');
+REPLACE INTO `item_db` VALUES ('692','Wind_Scroll_1_3','Level 3 Lightening Bolt','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_LIGHTNINGBOLT,3;','','');
+REPLACE INTO `item_db` VALUES ('693','Wind_Scroll_1_5','Level 5 Lightening Bolt','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_LIGHTNINGBOLT,5;','','');
+REPLACE INTO `item_db` VALUES ('694','Ghost_Scroll_1_3','Level 3 Soul Strike','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_SOULSTRIKE,3;','','');
+REPLACE INTO `item_db` VALUES ('695','Ghost_Scroll_1_5','Level 5 Soul Strike','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_SOULSTRIKE,5;','','');
+REPLACE INTO `item_db` VALUES ('696','Fire_Scroll_2_1','Level 1 Fire Ball','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBALL,1;','','');
+REPLACE INTO `item_db` VALUES ('697','Fire_Scroll_2_5','Level 5 Fire Ball','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREBALL,5;','','');
+REPLACE INTO `item_db` VALUES ('698','Fire_Scroll_3_1','Level 1 Fire Wall','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREWALL,1;','','');
+REPLACE INTO `item_db` VALUES ('699','Fire_Scroll_3_5','Level 5 Fire Wall','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FIREWALL,5;','','');
+REPLACE INTO `item_db` VALUES ('700','Cold_Scroll_2_1','Level 1 Frost Diver','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FROSTDIVER,1;','','');
REPLACE INTO `item_db` VALUES ('701','Ora_Ora','Ora Ora','3','0','55000','27500','200','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 ('702','Animal_Blood','Animal Gore','3','0','450','225','100','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 ('703','Hinalle','Hinalle','3','0','500','250','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','','','');
@@ -1159,9 +1159,11 @@ REPLACE INTO `item_db` VALUES ('1835','Spartacus','Spartacus','4','12','20','10'
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 ('1847','Iron_Nail_K','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 ('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 ('1867','Ein_1HKNUCK','Ein_1HKNUCK','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -1278,8 +1280,10 @@ REPLACE INTO `item_db` VALUES ('2025','Scarlet_Staff','Staff of Crimson','4','23
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 ('2048','Iron_Staff','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 ('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 ('2058','Ein_BHSTAFF','Ein_BHSTAFF','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -3429,7 +3433,7 @@ REPLACE INTO `item_db` VALUES ('5326','Masquerade_C','Masquerade C','5','0','1',
REPLACE INTO `item_db` VALUES ('5327','Orc_Hero_Helm_C','Refined Helmet of Orc Hero','5','0','1','0','0','0','0','10','0','0','18446744073709551614','63','2','768','0','0',NULL,'0','0','178','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bStr,5; bonus bVit,3;','','');
REPLACE INTO `item_db` VALUES ('5328','Evil_Wing_Ears_C','Evil Wing Ears C','5','0','1','0','0','0','0','4','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','0','152','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bStr,1;','','');
REPLACE INTO `item_db` VALUES ('5329','Dark_Blindfold_C','Costume Dark Blindfold','5','0','1','0','0','0','0','1','0','0','18446744073709551615','63','2','512','0','0',NULL,'0','0','187','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus2 bResEff,Eff_Blind,10000; bonus2 bResEff,Eff_Stun,500;','','');
-REPLACE INTO `item_db` VALUES ('5330','kRO_Drooping_Kitty_C','kRO Drooping Kitty C','5','0','1','0','0','0','0','9','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','0','142','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,4000; bonus2 bResEff,Eff_Curse,1000;','','');
+REPLACE INTO `item_db` VALUES ('5330','kRO_Drooping_Kitty_C','kRO Drooping Kitty C','5','0','1','0','0','0','0','9','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','0','142','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,15; bonus2 bResEff,Eff_Curse,4000; bonus2 bResEff,Eff_Stun,1000;','','');
REPLACE INTO `item_db` VALUES ('5331','Corsair_C','Corsair C','5','0','1','0','0','0','0','14','0','0','18446744073709551614','63','2','256','0','0',NULL,'0','0','105','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','bonus bVit,3; bonus bInt,3;','','');
REPLACE INTO `item_db` VALUES ('5332','Loki_Mask','Loki Mask','5','0','0','0','200','0','0','2','0','0','18446744073709551615','63','2','513','0','20',NULL,'0','0','346','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bFlee2,3;','','');
REPLACE INTO `item_db` VALUES ('5333','Radio_Antenna','Radio Antenna','5','0','0','0','1500','0','0','2','0','0','18446744073709551615','63','2','256','0','50',NULL,'1','0','347','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bMdef,5; bonus bCritical,5; bonus bFlee,5; skill MG_LIGHTNINGBOLT,1; bonus4 bAutoSpellWhenHit,MG_THUNDERSTORM,5,30,1;','','');
@@ -4599,6 +4603,8 @@ REPLACE INTO `item_db` VALUES ('6681','XMAS_Cookie','XMAS Cookie','3','0','0','0
REPLACE INTO `item_db` VALUES ('6682','Bag_Of_Selling_Goods','Bag Of Selling Goods','3','0','20','10','10','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','','','');
REPLACE INTO `item_db` VALUES ('6707','Cash_Hair_Coupon','Cash Hair Coupon','3','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','','','');
REPLACE INTO `item_db` VALUES ('6712','Lovely_Stick','Love Wand','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6746','Steel_Article','Steel Artifact','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('6747','Steel_Article_','Steel Artifact','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('6755','Corrupted_Charm','Contaminated Magic','3','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 ('6804','ORGANIC_PUMPKIN','Organic Pumpkin','3','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 ('6805','INORGANIC_PUMPKIN','Inorganic Pumpkin','3','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','','','');
@@ -5642,6 +5648,11 @@ REPLACE INTO `item_db` VALUES ('9109','Sweet_Drops_Egg','Sweet Drops Egg','7','0
REPLACE INTO `item_db` VALUES ('9111','Phreeoni_Egg','Phreeoni Egg','7','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 ('9112','Moonlight_Flower_Egg','Moonlight Flower Egg','7','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 ('9113','Skelion_Egg','Skelion Egg','7','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 ('9514','Ein_Ddbox','Ein_Ddbox','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('9523','Metal_Rifine_Ticket','Metal_Rifine_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 ('9529','Ein_Ddbox2','Ein_Ddbox2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('9550','Gemstone_Of_Time','Gemstone_Of_Time','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('9551','Time_Unseal_Key','Time_Unseal_Key','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('10001','Skull_Helm','Skull Helm','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 ('10002','Monster_Oxygen_Mask','Monster Oxygen 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 ('10003','Transparent_Headgear','Transparent Head Protector','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','','','');
@@ -5832,10 +5843,10 @@ REPLACE INTO `item_db` VALUES ('11716','Shepherd_Salad','Shepherd Salad','0','0'
REPLACE INTO `item_db` VALUES ('11717','Yogurt','Yogurt','0','0','0','0','140','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_HEAL3, AREA, playerattached()); sc_start2 SC_ATKER_MOVESPEED, 180000, 5, 10;','','');
REPLACE INTO `item_db` VALUES ('11718','Sushi_Kebab','Sushi Kebab','0','0','0','0','60','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_HEAL3, AREA, playerattached()); sc_start2 SC_M_LIFEPOTION, 180000, -4, 4;','','');
REPLACE INTO `item_db` VALUES ('11719','Bisket_Dessert','Bisket Dessert','0','0','0','0','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_CASH_PLUSEXP, 1800000, 100','','');
-REPLACE INTO `item_db` VALUES ('12000','Cold_Scroll_2_5','Level 5 Frost Diver','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FROSTDIVER,5;','','');
-REPLACE INTO `item_db` VALUES ('12001','Holy_Scroll_1_3','Level 3 Heal','11','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AL_HEAL,3;','','');
-REPLACE INTO `item_db` VALUES ('12002','Holy_Scroll_1_5','Level 5 Heal','11','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AL_HEAL,5;','','');
-REPLACE INTO `item_db` VALUES ('12003','Holy_Scroll_2_1','Level 1 Teleport','11','0','1000','500','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','itemskill AL_TELEPORT,1;','','');
+REPLACE INTO `item_db` VALUES ('12000','Cold_Scroll_2_5','Level 5 Frost Diver','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill MG_FROSTDIVER,5;','','');
+REPLACE INTO `item_db` VALUES ('12001','Holy_Scroll_1_3','Level 3 Heal','2','0','1000','500','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AL_HEAL,3;','','');
+REPLACE INTO `item_db` VALUES ('12002','Holy_Scroll_1_5','Level 5 Heal','2','0','2000','1000','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AL_HEAL,5;','','');
+REPLACE INTO `item_db` VALUES ('12003','Holy_Scroll_2_1','Level 1 Teleport','2','0','1000','500','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','itemskill AL_TELEPORT,1;','','');
REPLACE INTO `item_db` VALUES ('12004','Arrow_Container','Quiver','2','0','2','1','250','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','getitem Arrow, 500;','','');
REPLACE INTO `item_db` VALUES ('12005','Iron_Arrow_Container','Iron Arrow Quiver','2','0','2','1','250','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','getitem Iron_Arrow, 500;','','');
REPLACE INTO `item_db` VALUES ('12006','Steel_Arrow_Container','Steel Arrow Quiver','2','0','2','1','250','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','getitem Steel_Arrow, 500;','','');
@@ -5851,8 +5862,8 @@ REPLACE INTO `item_db` VALUES ('12015','Rusty_Arrow_Container','Rusty Arrow Quiv
REPLACE INTO `item_db` VALUES ('12016','Speed_Up_Potion','Speed Potion','2','0','2','1','100','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','sc_start SC_MOVHASTE_POTION, 5000, 100;','','');
REPLACE INTO `item_db` VALUES ('12017','Slow_Down_Potion','Slow Potion','2','0','2','1','100','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','sc_start SC_MOVESLOW_POTION, 5000, 100;','','');
REPLACE INTO `item_db` VALUES ('12018','Fire_Cracker','Firecracker','2','0','2','1','20','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','end;','','');
-REPLACE INTO `item_db` VALUES ('12019','Holy_Egg','Holy Egg','11','0','2','1','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill ALL_RESURRECTION,2;','','');
-REPLACE INTO `item_db` VALUES ('12020','Water_Of_Darkness','Cursed Water','11','0','2','1','30','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','itemskill ITEM_ENCHANTARMS,8;','','');
+REPLACE INTO `item_db` VALUES ('12019','Holy_Egg','Holy Egg','2','0','2','1','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemskill ALL_RESURRECTION,2;','','');
+REPLACE INTO `item_db` VALUES ('12020','Water_Of_Darkness','Cursed Water','2','0','2','1','30','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','itemskill ITEM_ENCHANTARMS,8;','','');
REPLACE INTO `item_db` VALUES ('12021','Pork_Belly','Pork','0','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','itemheal rand(70,99),0;','','');
REPLACE INTO `item_db` VALUES ('12022','Spareribs','Galbi','0','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','itemheal rand(70,99),0;','','');
REPLACE INTO `item_db` VALUES ('12023','Giftbox_China','Wrapped Box','2','0','1000','500','200','0','0','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 12023,1;','','');
@@ -5861,10 +5872,10 @@ REPLACE INTO `item_db` VALUES ('12025','Egg_Boy','Dano Festival Egg','2','0','10
REPLACE INTO `item_db` VALUES ('12026','Egg_Girl','Dano Festival Egg','2','0','1000','500','200','0','0','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 12026,1;','','');
REPLACE INTO `item_db` VALUES ('12027','Giggling_Box','Giggling Box','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 9,0; sc_start SC_CURSE,30000,0,3000,SCFLAG_NONE;','','');
REPLACE INTO `item_db` VALUES ('12028','Box_Of_Thunder','Box of Thunder','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','sc_start SC_MOVHASTE_HORSE, 20000, 25;','','');
-REPLACE INTO `item_db` VALUES ('12029','Gloomy_Box','Box of Gloom','11','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AC_CONCENTRATION,1;','','');
+REPLACE INTO `item_db` VALUES ('12029','Gloomy_Box','Box of Gloom','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill AC_CONCENTRATION,1;','','');
REPLACE INTO `item_db` VALUES ('12030','Box_Of_Grudge','Box of Resentment','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','sc_start SC_PLUSATTACKPOWER, 60000, 20;','','');
REPLACE INTO `item_db` VALUES ('12031','Sleepy_Box','Box of Drowsiness','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','sc_start SC_PLUSMAGICPOWER, 60000, 20;','','');
-REPLACE INTO `item_db` VALUES ('12032','Box_Of_Storm','Box of Storms','11','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill ITEM_ENCHANTARMS,2;','','');
+REPLACE INTO `item_db` VALUES ('12032','Box_Of_Storm','Box of Storms','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill ITEM_ENCHANTARMS,2;','','');
REPLACE INTO `item_db` VALUES ('12033','Box_Of_Sunlight','Box of Sunlight','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','sc_start SC_CLAIRVOYANCE,30000,0;','','');
REPLACE INTO `item_db` VALUES ('12034','Painting_Box','Box of Panting','2','0','1000','500','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 0,9; sc_start SC_SILENCE,30000,0,3000,SCFLAG_NONE;','','');
REPLACE INTO `item_db` VALUES ('12035','Lotto_Box01','Lotto Box 01','2','0','0','0','20','0','0','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 12035,1;','','');
@@ -5946,14 +5957,14 @@ REPLACE INTO `item_db` VALUES ('12110','First_Aid_Kit','First Aid Kit','2','0','
REPLACE INTO `item_db` VALUES ('12111','Food_Package','Bundle of Food','2','0','10000','5000','200','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','getrandgroupitem 12111,1; getrandgroupitem 12111,1; getrandgroupitem 12111,1;','','');
REPLACE INTO `item_db` VALUES ('12112','Tropical_Sograt','Tropical Sograt','2','0','1000','500','100','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','sc_start SC_CURSE,10000,1;','','');
REPLACE INTO `item_db` VALUES ('12113','Vermilion_The_Beach','Vermilion on the Beach','2','0','1000','500','100','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','sc_start SC_STUN,10000,1;','','');
-REPLACE INTO `item_db` VALUES ('12114','Elemental_Fire','Elemental Converter','11','0','2','1','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','itemskill ITEM_ENCHANTARMS,4;','','');
-REPLACE INTO `item_db` VALUES ('12115','Elemental_Water','Elemental Converter','11','0','2','1','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','itemskill ITEM_ENCHANTARMS,2;','','');
-REPLACE INTO `item_db` VALUES ('12116','Elemental_Earth','Elemental Converter','11','0','2','1','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','itemskill ITEM_ENCHANTARMS,3;','','');
-REPLACE INTO `item_db` VALUES ('12117','Elemental_Wind','Elemental Converter','11','0','2','1','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','itemskill ITEM_ENCHANTARMS,5;','','');
-REPLACE INTO `item_db` VALUES ('12118','Resist_Fire','Fireproof Potion','2','0','2','1','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','sc_start4 SC_ARMORPROPERTY,1200000,-15,0,20,0;','','');
-REPLACE INTO `item_db` VALUES ('12119','Resist_Water','Coldproof Potion','2','0','2','1','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','sc_start4 SC_ARMORPROPERTY,1200000,20,0,0,-15;','','');
-REPLACE INTO `item_db` VALUES ('12120','Resist_Earth','Earthproof Potion','2','0','2','1','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','sc_start4 SC_ARMORPROPERTY,1200000,0,20,-15,0;','','');
-REPLACE INTO `item_db` VALUES ('12121','Resist_Wind','Thunderproof Potion','2','0','2','1','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','sc_start4 SC_ARMORPROPERTY,1200000,0,-15,0,20;','','');
+REPLACE INTO `item_db` VALUES ('12114','Elemental_Fire','Elemental Converter','2','0','2','1','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','itemskill ITEM_ENCHANTARMS,4;','','');
+REPLACE INTO `item_db` VALUES ('12115','Elemental_Water','Elemental Converter','2','0','2','1','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','itemskill ITEM_ENCHANTARMS,2;','','');
+REPLACE INTO `item_db` VALUES ('12116','Elemental_Earth','Elemental Converter','2','0','2','1','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','itemskill ITEM_ENCHANTARMS,3;','','');
+REPLACE INTO `item_db` VALUES ('12117','Elemental_Wind','Elemental Converter','2','0','2','1','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','itemskill ITEM_ENCHANTARMS,5;','','');
+REPLACE INTO `item_db` VALUES ('12118','Resist_Fire','Fireproof Potion','2','0','2','1','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','sc_start(SC_RESIST_PROPERTY_FIRE, 1200000, 20); sc_start(SC_RESIST_PROPERTY_WATER, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);','','');
+REPLACE INTO `item_db` VALUES ('12119','Resist_Water','Coldproof Potion','2','0','2','1','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','sc_start(SC_RESIST_PROPERTY_WATER, 1200000, 20); sc_start(SC_RESIST_PROPERTY_WIND, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);','','');
+REPLACE INTO `item_db` VALUES ('12120','Resist_Earth','Earthproof Potion','2','0','2','1','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','sc_start(SC_RESIST_PROPERTY_GROUND, 1200000, 20); sc_start(SC_RESIST_PROPERTY_FIRE, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);','','');
+REPLACE INTO `item_db` VALUES ('12121','Resist_Wind','Thunderproof Potion','2','0','2','1','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','sc_start(SC_RESIST_PROPERTY_WIND, 1200000, 20); sc_start(SC_RESIST_PROPERTY_GROUND, 1200000, -15, 10000, SCFLAG_NOAVOID | SCFLAG_NOICON);','','');
REPLACE INTO `item_db` VALUES ('12122','Sesame_Pastry','Sesame Pastry','2','0','2','1','70','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','sc_start SC_FOOD_BASICHIT,1200000,30;','','');
REPLACE INTO `item_db` VALUES ('12123','Honey_Pastry','Honey Pastry','2','0','2','1','70','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','sc_start SC_FOOD_BASICAVOIDANCE, 1200000, 30;','','');
REPLACE INTO `item_db` VALUES ('12124','Rainbow_Cake','Rainbow Cake','2','0','2','1','70','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','sc_start SC_PLUSATTACKPOWER, 1200000, 10; sc_start SC_PLUSMAGICPOWER, 120000, 10;','','');
@@ -6032,7 +6043,7 @@ REPLACE INTO `item_db` VALUES ('12196','Hearty_Rice_Cake','Hearty Rice Cake','0'
REPLACE INTO `item_db` VALUES ('12197','Salty_Rice_Cake','Salty Rice Cake','0','0','20','10','100','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','percentheal 10,10;','','');
REPLACE INTO `item_db` VALUES ('12198','Lucky_Rice_Cake','Lucky Rice Cake','2','0','20','10','100','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','sc_start SC_FOOD_LUK,1200000,21;','','');
REPLACE INTO `item_db` VALUES ('12199','Rice_Scroll','Scroll of Magic','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
-REPLACE INTO `item_db` VALUES ('12200','Event_Cake','X-mas Cake','11','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','itemskill PR_MAGNIFICAT,3;','','');
+REPLACE INTO `item_db` VALUES ('12200','Event_Cake','X-mas Cake','2','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','itemskill PR_MAGNIFICAT,3;','','');
REPLACE INTO `item_db` VALUES ('12201','Red_Box_C','Commonplace Red Box','2','0','20','10','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12202','Str_Dish10_','Steamed Tongue','0','0','2','1','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','sc_start(SC_FOOD_STR_CASH, 1800000, 10); percentheal(20, 10);','','');
REPLACE INTO `item_db` VALUES ('12203','Agi_Dish10_','Steamed Scorpion','0','0','2','1','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','sc_start(SC_FOOD_AGI_CASH, 1800000, 10); percentheal(15, 5);','','');
@@ -6047,12 +6058,12 @@ REPLACE INTO `item_db` VALUES ('12211','Kafra_Card','Kafra Card','2','0','2','1'
REPLACE INTO `item_db` VALUES ('12212','Giant_Fly_Wing','Giant Fly Wing','2','0','2','1','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','callfunc \"F_CashPartyCall\";','','');
REPLACE INTO `item_db` VALUES ('12213','Neuralizer','Neuralizer','11','0','2','1','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','callfunc \"F_CashReset\";','','');
REPLACE INTO `item_db` VALUES ('12214','Convex_Mirror','Convex Mirror','2','0','2','1','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','sc_start SC_CASH_BOSS_ALARM,600000,0;','','');
-REPLACE INTO `item_db` VALUES ('12215','Blessing_10_Scroll','LV10 Blessing Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','skilleffect AL_BLESSING,0; sc_start SC_BLESSING,240000,10;','','');
-REPLACE INTO `item_db` VALUES ('12216','Inc_Agi_10_Scroll','LV10 Agil Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','if(Hp>15) { skilleffect AL_INCAGI,0; sc_start SC_INC_AGI,240000,10; heal -15,0; }','','');
-REPLACE INTO `item_db` VALUES ('12217','Aspersio_5_Scroll','LV5 Aspersio Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','if(countitem(523)>0) { skilleffect PR_ASPERSIO,0; sc_start SC_ASPERSIO,180000,5; delitem 523,1; }','','');
-REPLACE INTO `item_db` VALUES ('12218','Assumptio_5_Scroll','LV5 Assumptio Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','sc_start SC_ASSUMPTIO,100000,5; skilleffect HP_ASSUMPTIO,0;','','');
-REPLACE INTO `item_db` VALUES ('12219','Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','skilleffect SN_WINDWALK,0; sc_start SC_WINDWALK,250000,5;','','');
-REPLACE INTO `item_db` VALUES ('12220','Adrenaline_Scroll','LV5 Adrenaline Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','.@type = getiteminfo(getequipid(EQI_HAND_R),11); if (.@type==6||.@type==7||.@type==8) { skilleffect BS_ADRENALINE,0; sc_start SC_ADRENALINE,150000,5; }','','');
+REPLACE INTO `item_db` VALUES ('12215','Blessing_10_Scroll','LV10 Blessing Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(AL_BLESSING, 10, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12216','Inc_Agi_10_Scroll','LV10 Agil Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(AL_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12217','Aspersio_5_Scroll','LV5 Aspersio Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(PR_ASPERSIO, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12218','Assumptio_5_Scroll','LV5 Assumptio Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(HP_ASSUMPTIO, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12219','Wind_Walk_10_Scroll','LV10 Wind Walker Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(SN_WINDWALK, 10, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12220','Adrenaline_Scroll','LV5 Adrenaline Scroll','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill(BS_ADRENALINE, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12221','Megaphone_','Megaphone','2','0','2','1','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','input @megaphone$; announce strcharinfo(PC_NAME) + \": \" + @megaphone$,bc_all,0xFF0000; end;','','');
REPLACE INTO `item_db` VALUES ('12225','Sweet_Candy_Striper','Sweet Candy Cane','2','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,'1',NULL,'0',NULL,'0','pet GOBLIN_XMAS;','','');
REPLACE INTO `item_db` VALUES ('12226','Examination1','Examination1','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','sc_start SC_MOVHASTE_INFINITY, 5400000, 100; percentheal 100, 100; sc_start SC_FOOD_STR, 5400000, 10; sc_start SC_FOOD_DEX, 5400000, 5; sc_start SC_PLUSATTACKPOWER, 5400000, 22; sc_start SC_PLUSMAGICPOWER, 5400000, 15;','','');
@@ -6064,8 +6075,8 @@ REPLACE INTO `item_db` VALUES ('12231','Examination6','Examination6','0','0','20
REPLACE INTO `item_db` VALUES ('12232','Gingerbread','Ginger Bread','2','0','20','10','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION2, 900000, 6; sc_start SC_MOVHASTE_INFINITY, 900000, 100;','','');
REPLACE INTO `item_db` VALUES ('12233','Kvass','Kvass','0','0','20','10','200','0','0','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 100,100;','','');
REPLACE INTO `item_db` VALUES ('12234','Cacao99','Fierce Cacao 99%','0','0','20','10','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','percentheal 25,0;','','');
-REPLACE INTO `item_db` VALUES ('12235','Strawberry_Choco','Chocolate Strawberry','2','0','20','10','100','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','percentheal 0,5; skilleffect AL_BLESSING,0; sc_start SC_BLESSING,240000,10;','','');
-REPLACE INTO `item_db` VALUES ('12236','Choco_Tart','Chocolate Tart','11','0','20','10','100','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','percentheal 5,0; itemskill AL_ANGELUS,5;','','');
+REPLACE INTO `item_db` VALUES ('12235','Strawberry_Choco','Chocolate Strawberry','2','0','20','10','100','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','percentheal(0, 5); itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12236','Choco_Tart','Chocolate Tart','2','0','20','10','100','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','percentheal 5,0; itemskill AL_ANGELUS,5;','','');
REPLACE INTO `item_db` VALUES ('12237','Choco_Lump','Junky Chocolate','2','0','0','0','100','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','percentheal 0,5; sc_start SC_POISON,18000,0; sc_start SC_BLOODING,18000,0;','','');
REPLACE INTO `item_db` VALUES ('12238','New_Year_Rice_Cake_1','New Year Rice Cake','2','0','20','10','100','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','sc_start SC_DPOISON,10000,0,1000,SCFLAG_NONE; sc_start SC_POISON,50000,0;','','');
REPLACE INTO `item_db` VALUES ('12239','New_Year_Rice_Cake_2','New Year Rice Cake','2','0','20','10','100','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','sc_start SC_DPOISON,10000,0,1000,SCFLAG_NONE; sc_start SC_POISON,50000,0;','','');
@@ -6108,7 +6119,7 @@ REPLACE INTO `item_db` VALUES ('12275','Gold_Pill_2','Taecheongdan','0','0','0',
REPLACE INTO `item_db` VALUES ('12276','Mimic_Scroll','Mimic Scroll','2','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','mercenary_create M_MIMIC, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12277','Disguise_Scroll','Disguise Scroll','2','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','mercenary_create M_DISGUISE, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12278','Alice_Scroll','Alice Contract','2','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','mercenary_create M_ALICE, 1800000;','','');
-REPLACE INTO `item_db` VALUES ('12279','Undead_Element_Scroll','Undead Elemental Scroll','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','sc_start4 SC_ARMOR_RESIST,300000,20,20,20,20;','','');
+REPLACE INTO `item_db` VALUES ('12279','Undead_Element_Scroll','Undead Elemental Scroll','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','sc_start(SC_RESIST_PROPERTY_FIRE, 300000, 20); sc_start(SC_RESIST_PROPERTY_WATER, 300000, 20); sc_start(SC_RESIST_PROPERTY_WIND, 300000, 20); sc_start(SC_RESIST_PROPERTY_GROUND, 300000, 20);','','');
REPLACE INTO `item_db` VALUES ('12280','Holy_Element_Scroll','Holy Elemental Scroll','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','specialeffect(EF_BENEDICTIO, AREA, playerattached()); sc_start SC_BENEDICTIO,300000,1;','','');
REPLACE INTO `item_db` VALUES ('12281','Tresure_Box_WoE','Event Treasure Box','2','0','20','10','150','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12282','Internet_Cafe1','Internet Cafe1','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','sc_start SC_FOOD_STR, 5400000, 3; sc_start SC_FOOD_DEX, 5400000, 3; sc_start SC_FOOD_AGI, 5400000, 3; sc_start SC_FOOD_INT, 5400000, 3; sc_start SC_FOOD_VIT, 5400000, 3; sc_start SC_FOOD_LUK, 5400000, 3; sc_start SC_PLUSATTACKPOWER, 5400000, 15; sc_start SC_PLUSMAGICPOWER, 5400000, 15;','','');
@@ -6116,11 +6127,11 @@ REPLACE INTO `item_db` VALUES ('12283','Internet_Cafe2','Internet Cafe2','2','0'
REPLACE INTO `item_db` VALUES ('12284','Internet_Cafe3','Internet Cafe3','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','sc_start SC_FOOD_INT, 5400000, 8; sc_start SC_FOOD_VIT, 5400000, 4; sc_start SC_FOOD_DEX, 5400000, 6; sc_start SC_PLUSMAGICPOWER, 5400000, 40;','','');
REPLACE INTO `item_db` VALUES ('12285','Internet_Cafe4','Internet Cafe4','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','sc_start SC_FOOD_DEX, 5400000, 8; sc_start SC_FOOD_LUK, 5400000, 4; sc_start SC_FOOD_AGI, 5400000, 6; sc_start SC_PLUSATTACKPOWER, 5400000, 24; sc_start SC_PLUSMAGICPOWER, 5400000, 24;','','');
REPLACE INTO `item_db` VALUES ('12286','Masquerade_Ball_Box2','Masquerade Ball Box2','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','getrandgroupitem 12286,1;','','');
-REPLACE INTO `item_db` VALUES ('12287','Love_Angel','Love Angel Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 1;','','');
-REPLACE INTO `item_db` VALUES ('12288','Squirrel','Squirrel Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 2;','','');
-REPLACE INTO `item_db` VALUES ('12289','Gogo','Gogo Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 3;','','');
-REPLACE INTO `item_db` VALUES ('12290','Mysterious_Can','Mysterious Can Magic Powder','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 5,0; skilleffect AL_BLESSING,0; sc_start SC_BLESSING,120000,5;','','');
-REPLACE INTO `item_db` VALUES ('12291','Mysterious_PET_Bottle','Mysterious PET Bottle','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 5,0; skilleffect AL_INCAGI,0; sc_start SC_INC_AGI,120000,5;','','');
+REPLACE INTO `item_db` VALUES ('12287','Love_Angel','Love Angel Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(1);','','');
+REPLACE INTO `item_db` VALUES ('12288','Squirrel','Squirrel Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(2);','','');
+REPLACE INTO `item_db` VALUES ('12289','Gogo','Gogo Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(3);','','');
+REPLACE INTO `item_db` VALUES ('12290','Mysterious_Can','Mysterious Can Magic Powder','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal(5, 0); itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12291','Mysterious_PET_Bottle','Mysterious PET Bottle','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal(0, 5); itemskill(AL_INCAGI, 5, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12292','Unripe_Fruit','Unripe Yggdrasilberry','0','0','500','250','200','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','percentheal 20,0;','','');
REPLACE INTO `item_db` VALUES ('12293','Dried_Yggdrasilberry','Dried Yggdrasilberry','0','0','500','250','200','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','percentheal 0,20;','','');
REPLACE INTO `item_db` VALUES ('12294','PC_Bang_Coin_Box1','Blue Christmas Cheer 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','507',NULL,'0',NULL,'0',NULL,'0','getitem 2740,1;','','');
@@ -6133,14 +6144,14 @@ REPLACE INTO `item_db` VALUES ('12300','Wild_Rose_Scroll','Wild Rose Contract','
REPLACE INTO `item_db` VALUES ('12301','Doppelganger_Scroll','Doppelganger Contract','2','0','0','0','10','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','mercenary_create M_DOPPELGANGER, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12302','Ygnizem_Scroll','Egnigem Cenia Contract','2','0','0','0','10','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','mercenary_create M_YGNIZEM, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12303','Water_Of_Blessing','Blessing Of Water','2','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','','','');
-REPLACE INTO `item_db` VALUES ('12304','Picture_Diary','Diary Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 4;','','');
-REPLACE INTO `item_db` VALUES ('12305','Mini_Heart','Mini Heart Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 5;','','');
-REPLACE INTO `item_db` VALUES ('12306','Newcomer','Freshman Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 6;','','');
-REPLACE INTO `item_db` VALUES ('12307','Kid','Kid Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 7;','','');
-REPLACE INTO `item_db` VALUES ('12308','Magic_Castle','Magic Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 8;','','');
-REPLACE INTO `item_db` VALUES ('12309','Bulging_Head','JJangu Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont 9;','','');
+REPLACE INTO `item_db` VALUES ('12304','Picture_Diary','Diary Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(4);','','');
+REPLACE INTO `item_db` VALUES ('12305','Mini_Heart','Mini Heart Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(5);','','');
+REPLACE INTO `item_db` VALUES ('12306','Newcomer','Freshman Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(6);','','');
+REPLACE INTO `item_db` VALUES ('12307','Kid','Kid Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(7);','','');
+REPLACE INTO `item_db` VALUES ('12308','Magic_Castle','Magic Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(8);','','');
+REPLACE INTO `item_db` VALUES ('12309','Bulging_Head','JJangu Magic Powder','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','setfont(9);','','');
REPLACE INTO `item_db` VALUES ('12310','Spray_Of_Flowers','Spray Of Flowers','2','0','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'1',NULL,'0',NULL,'0','sc_start SC_FOOD_BASICAVOIDANCE,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12311','Large_Spray_Of_Flowers','Huge Spray Of Flowers','11','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_PARTYFLEE,1;','','');
+REPLACE INTO `item_db` VALUES ('12311','Large_Spray_Of_Flowers','Huge Spray Of Flowers','2','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','467',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_PARTYFLEE,1;','','');
REPLACE INTO `item_db` VALUES ('12312','Thick_Manual50','Thick Battle Manual','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','sc_start SC_CASH_PLUSEXP,3600000,50;','','');
REPLACE INTO `item_db` VALUES ('12313','Protection_Of_Angel','Guardian Angel','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_ANGEL_PROTECT,1;','','');
REPLACE INTO `item_db` VALUES ('12314','Noive_Box','Noive 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','507',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -6152,9 +6163,9 @@ REPLACE INTO `item_db` VALUES ('12319','Strawberry_Cake','Rune Strawberry Cake',
REPLACE INTO `item_db` VALUES ('12320','Pineapple_Juice','Schwartzwald Pine Jubilee','2','0','0','0','300','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','sc_start SC_FOOD_BASICHIT,600000,10; sc_start SC_FOOD_BASICAVOIDANCE,600000,20;','','');
REPLACE INTO `item_db` VALUES ('12321','Spicy_Sandwich','Arunafeltz Desert Sandwich','2','0','0','0','300','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','sc_start SC_FOOD_CRITICALSUCCESSVALUE,600000,7;','','');
REPLACE INTO `item_db` VALUES ('12322','Chocolate_Pie','Chocolate Pie','0','0','0','0','50','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','percentheal 5,5;','','');
-REPLACE INTO `item_db` VALUES ('12323','N_Fly_Wing','Novice Fly Wing','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','itemskill AL_TELEPORT,1;','','');
-REPLACE INTO `item_db` VALUES ('12324','N_Butterfly_Wing','Novice Butterfly Wing','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','itemskill AL_TELEPORT,3;','','');
-REPLACE INTO `item_db` VALUES ('12325','N_Magnifier','Novice Magnifier','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','itemskill MC_IDENTIFY,1;','','');
+REPLACE INTO `item_db` VALUES ('12323','N_Fly_Wing','Novice Fly Wing','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','itemskill AL_TELEPORT,1;','','');
+REPLACE INTO `item_db` VALUES ('12324','N_Butterfly_Wing','Novice Butterfly Wing','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','itemskill AL_TELEPORT,3;','','');
+REPLACE INTO `item_db` VALUES ('12325','N_Magnifier','Novice Magnifier','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','499',NULL,'1',NULL,'0',NULL,'0','itemskill MC_IDENTIFY,1;','','');
REPLACE INTO `item_db` VALUES ('12326','J_Firecracker','Firecracker','2','0','2','1','20','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12327','Charm_Of_Luck','Unsuitable Of Lucky','2','0','1000','500','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','sc_start SC_FOOD_LUK,3600000,20;','','');
REPLACE INTO `item_db` VALUES ('12328','Charm_Of_Happiness','Unsuitable Of Happyness','2','0','1800','900','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','sc_start SC_FOOD_STR,20000,10; sc_start SC_FOOD_DEX,20000,10; sc_start SC_FOOD_AGI,20000,10; sc_start SC_FOOD_INT,20000,10; sc_start SC_FOOD_VIT,20000,10; sc_start SC_FOOD_LUK,20000,10;','','');
@@ -6179,8 +6190,8 @@ REPLACE INTO `item_db` VALUES ('12346','Unripe_Acorn','Unripe Acorn','2','0','0'
REPLACE INTO `item_db` VALUES ('12347','Acorn_Jelly','Acorn Jelly','2','0','0','0','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill ALL_REVERSEORCISH,1;','','');
REPLACE INTO `item_db` VALUES ('12348','Manuks_Faith','Manuk\'s Faith','2','0','0','0','50','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','specialeffect(EF_POTION_BERSERK, AREA, playerattached()); sc_start SC_MANU_MATK,600000,10;','','');
REPLACE INTO `item_db` VALUES ('12349','Cornus_Tears','Cornus\' Tears','2','0','0','0','50','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','specialeffect(EF_POTION_BERSERK, AREA, playerattached()); sc_start SC_SPL_MATK,600000,10;','','');
-REPLACE INTO `item_db` VALUES ('12350','Angeling_Potion','Angeling Potion','11','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','skilleffect AL_BLESSING,0; sc_start SC_BLESSING,120000,5; itemskill AL_ANGELUS,5;','','');
-REPLACE INTO `item_db` VALUES ('12351','Shout_Megaphone','Scream Megaphone','11','0','20','10','50','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','itemskill MC_LOUD,1;','','');
+REPLACE INTO `item_db` VALUES ('12350','Angeling_Potion','Angeling Potion','2','0','20','10','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF); itemskill(AL_ANGELUS, 5);','','');
+REPLACE INTO `item_db` VALUES ('12351','Shout_Megaphone','Scream Megaphone','2','0','20','10','50','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','itemskill MC_LOUD,1;','','');
REPLACE INTO `item_db` VALUES ('12352','Dun_Tele_Scroll3','Dungeon Teleport Scroll 3','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','callfunc \"F_CashDungeon\",3;','','');
REPLACE INTO `item_db` VALUES ('12353','Tiny_Waterbottle','Small Bottle','2','0','600','300','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','sc_start SC_PROPERTYWATER,90000,1;','','');
REPLACE INTO `item_db` VALUES ('12354','Buche_De_Noel','Buche De Noel','2','0','2','1','50','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','specialeffect(EF_ANGELUS, AREA, playerattached()); sc_start4 SC_BUCHEDENOEL, 600000, 3, 3, 3, 7;','','');
@@ -6205,36 +6216,36 @@ REPLACE INTO `item_db` VALUES ('12372','Hell_Contract','Hell Contract','2','0','
REPLACE INTO `item_db` VALUES ('12373','Boys_Naivety','Boy\'s Pure Heart','2','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet SUCCUBUS;','','');
REPLACE INTO `item_db` VALUES ('12374','Flaming_Ice','Ice Fireworks','2','0','20','10','50','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','pet IMP;','','');
REPLACE INTO `item_db` VALUES ('12375','Acaraje','Akaraje','2','0','0','0','80','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_STEAL, AREA, playerattached()); sc_start2 SC_ACARAJE,120000,5,10;','','');
-REPLACE INTO `item_db` VALUES ('12376','Mysterious_Can2','Mysterious Can2','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 3, 0; itemskill PR_GLORIA, 2;','','');
-REPLACE INTO `item_db` VALUES ('12377','Mysterious_PET_Bottle2','Mysterious PET Bottle2','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal 0, 3; itemskill PR_MAGNIFICAT, 1;','','');
+REPLACE INTO `item_db` VALUES ('12376','Mysterious_Can2','Mysterious Can2','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal(3, 0); itemskill(PR_GLORIA, 2, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12377','Mysterious_PET_Bottle2','Mysterious PET Bottle2','2','0','10','5','100','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'1',NULL,'0',NULL,'0','percentheal(0, 3); itemskill(PR_MAGNIFICAT, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12378','2009_Rice_Cake_Soup','Rice Cake Soup','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','percentheal 50, 50;','','');
-REPLACE INTO `item_db` VALUES ('12379','Popes_Cookie','Pope Cookie','2','0','10','5','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 ('12379','Popes_Cookie','Pope Cookie','2','0','10','5','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','467',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_STEAL, AREA, playerattached()); sc_start4(SC_POPECOOKIE, 1200000, 3, 3, 3, 0);','','');
REPLACE INTO `item_db` VALUES ('12380','Desert_Wolf_Babe_Scroll','Job Change Flute','2','0','10','5','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','mercenary_create M_DESERT_WOLF_B, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12381','ValkyrieA_Scroll','Ancient Language Scroll','2','0','10','5','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','if (strcharinfo(PC_MAP) == \"job3_arch02\") { mercenary_create VALKYRIE_A, 1800000; }','','');
REPLACE INTO `item_db` VALUES ('12382','ValkyrieB_Scroll','Ancient Language Scroll','2','0','10','5','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','if (strcharinfo(PC_MAP) == \"job3_arch02\") { mercenary_create VALKYRIE_B, 1800000; }','','');
REPLACE INTO `item_db` VALUES ('12383','Vulcan_Bullet_Magazine','Vulcan Bullet Magazine','2','0','13750','6875','500','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','getitem Vulcan_Bullet, 1000;','','');
-REPLACE INTO `item_db` VALUES ('12384','Rainbow_Ruby_Water','Rainbow Ruby','11','0','0','0','50','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','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_FROSTMISTY,5; }','','');
-REPLACE INTO `item_db` VALUES ('12385','Rainbow_Ruby_Fire','Rainbow Ruby','11','0','0','0','50','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','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_CRIMSONROCK,5; }','','');
-REPLACE INTO `item_db` VALUES ('12386','Rainbow_Ruby_Wind','Rainbow Ruby','11','0','0','0','50','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','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_CHAINLIGHTNING,5; }','','');
-REPLACE INTO `item_db` VALUES ('12387','Rainbow_Ruby_Earth','Rainbow Ruby','11','0','0','0','50','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','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_EARTHSTRAIN,5; }','','');
-REPLACE INTO `item_db` VALUES ('12388','Runstone_Crush','Rhydo Runestone For Apprentice','11','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rune02\") { itemskill RK_CRUSHSTRIKE,1; }','','');
-REPLACE INTO `item_db` VALUES ('12389','Runstone_Storm','Pertz Runestone For Apprentice','11','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rune02\") { itemskill RK_STORMBLAST,1; }','','');
-REPLACE INTO `item_db` VALUES ('12390','Runstone_Millennium','Verkana Runestone For Apprentice','11','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rune02\") { itemskill RK_MILLENNIUMSHIELD,1; }','','');
+REPLACE INTO `item_db` VALUES ('12384','Rainbow_Ruby_Water','Rainbow Ruby','2','0','0','0','50','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','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_FROSTMISTY,5; }','','');
+REPLACE INTO `item_db` VALUES ('12385','Rainbow_Ruby_Fire','Rainbow Ruby','2','0','0','0','50','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','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_CRIMSONROCK,5; }','','');
+REPLACE INTO `item_db` VALUES ('12386','Rainbow_Ruby_Wind','Rainbow Ruby','2','0','0','0','50','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','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_CHAINLIGHTNING,5; }','','');
+REPLACE INTO `item_db` VALUES ('12387','Rainbow_Ruby_Earth','Rainbow Ruby','2','0','0','0','50','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','if(strcharinfo(PC_MAP)==\"job3_war02\") { itemskill WL_EARTHSTRAIN,5; }','','');
+REPLACE INTO `item_db` VALUES ('12388','Runstone_Crush','Rhydo Runestone For Apprentice','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if(strcharinfo(PC_MAP)==\"job3_rune02\") { itemskill(RK_CRUSHSTRIKE, 1, ISF_CHECKCONDITIONS); }','','');
+REPLACE INTO `item_db` VALUES ('12389','Runstone_Storm','Pertz Runestone For Apprentice','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if (strcharinfo(PC_MAP) == \"job3_rune02\") itemskill(RK_STORMBLAST, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12390','Runstone_Millennium','Verkana Runestone For Apprentice','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','if (strcharinfo(PC_MAP) == \"job3_rune02\") itemskill(RK_MILLENNIUMSHIELD, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12391','Lucky_Egg_C','RWC Groove Pack','2','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12392','RepairA','Repair A','0','0','275','137','100','0','0','0','0','0','1024','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','if(checkmount() == MOUNT_MADO) itemheal rand(200,300), 0;','','');
REPLACE INTO `item_db` VALUES ('12393','RepairB','Repair B','0','0','625','312','140','0','0','0','0','0','1024','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','if(checkmount() == MOUNT_MADO) itemheal rand(300,400), 0;','','');
REPLACE INTO `item_db` VALUES ('12394','RepairC','Repair C','0','0','1375','687','180','0','0','0','0','0','1024','63','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','if(checkmount() == MOUNT_MADO) itemheal rand(400,500), 0;','','');
REPLACE INTO `item_db` VALUES ('12395','Tantanmen','Tantan Noodle','2','0','20','10','50','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','pet CHUNG_E;','','');
-REPLACE INTO `item_db` VALUES ('12396','Fools_Day_Box','Gift Box?','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,'1',NULL,'0',NULL,'0','.@temp = rand(1,10); if (.@temp == 1) itemskill AL_TELEPORT,1; else if (.@temp == 2) itemskill AL_TELEPORT,3; else if (.@temp == 3) percentheal 50,0; else if (.@temp == 4) percentheal 0,50; else if (.@temp == 5) percentheal 50,50; else if (.@temp == 6) getitem Apple,1; else if (.@temp == 7) itemskill ALL_REVERSEORCISH,1; else if (.@temp == 8) specialeffect(EF_MAPPILLAR2, AREA, playerattached()); else if (.@temp == 9) specialeffect(EF_ANGEL2, AREA, playerattached()); else specialeffect(EF_COIN, AREA, playerattached());','','');
-REPLACE INTO `item_db` VALUES ('12397','Fools_Day_Box2','Gift Box?','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,'1',NULL,'0',NULL,'0','.@temp = rand(1,10); if (.@temp == 1) itemskill TF_DETOXIFY,1; else if (.@temp == 2) itemskill TF_PICKSTONE,1; else if (.@temp == 3) itemskill BA_FROSTJOKER,1; else if (.@temp == 4) itemskill DC_SCREAM,1; else if (.@temp == 5) percentheal 50,50; else if (.@temp == 6) getitem Jellopy,1; else if (.@temp == 7) itemskill AL_RUWACH,1; else if (.@temp == 8) specialeffect(EF_BEGINASURA, AREA, playerattached()); else if (.@temp == 9) specialeffect(EF_MVP, AREA, playerattached()); else specialeffect(EF_CURSEATTACK, AREA, playerattached());','','');
+REPLACE INTO `item_db` VALUES ('12396','Fools_Day_Box','Gift Box?','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,'1',NULL,'0',NULL,'0','.@temp = rand(1,10); if (.@temp == 1) itemskill AL_TELEPORT,1; else if (.@temp == 2) itemskill AL_TELEPORT,3; else if (.@temp == 3) percentheal 50,0; else if (.@temp == 4) percentheal 0,50; else if (.@temp == 5) percentheal 50,50; else if (.@temp == 6) getitem Apple,1; else if (.@temp == 7) itemskill ALL_REVERSEORCISH,1; else if (.@temp == 8) specialeffect(EF_MAPPILLAR2, AREA, playerattached()); else if (.@temp == 9) specialeffect(EF_ANGEL2, AREA, playerattached()); else specialeffect(EF_COIN, AREA, playerattached());','','');
+REPLACE INTO `item_db` VALUES ('12397','Fools_Day_Box2','Gift Box?','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,'1',NULL,'0',NULL,'0','.@temp = rand(1, 10); if (.@temp == 1) itemskill(TF_DETOXIFY, 1, ISF_INSTANTCAST | ISF_CASTONSELF); else if (.@temp == 2) itemskill(TF_PICKSTONE, 1); else if (.@temp == 3) itemskill(BA_FROSTJOKER, 1); else if (.@temp == 4) itemskill(DC_SCREAM, 1); else if (.@temp == 5) announce(strcharinfo(PC_NAME) + \" shouts : I am a fool!!!\", bc_all, C_WHITE); else if (.@temp == 6) getitem(Jellopy, 1); else if (.@temp == 7) itemskill(AL_RUWACH, 1); else if (.@temp == 8) specialeffect(EF_BEGINASURA, AREA, playerattached()); else if (.@temp == 9) specialeffect(EF_MVP, AREA, playerattached()); else specialeffect(EF_CURSEATTACK, AREA, playerattached());','','');
REPLACE INTO `item_db` VALUES ('12398','PCBang_Gift_Box','PCRoom Gift Box','2','0','20','10','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12399','Castle_Treasure_Box','Castle Treasure Box','2','0','20','10','1000','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12400','Water_Of_Blessing_','Water Of Blessing','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','','','');
REPLACE INTO `item_db` VALUES ('12401','Rune_Kn_Test_Int','Rune Kn Test Int','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','sc_start SC_FOOD_INT,300000,40;','','');
REPLACE INTO `item_db` VALUES ('12402','29Fruit','29Truth','0','0','0','0','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','percentheal 5,5;','','');
REPLACE INTO `item_db` VALUES ('12403','Lucky_Egg_C2','RWC2011 Lucky Scroll','2','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 ('12404','Acti_Potion','Activation Potion','2','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 ('12405','Underripe_Yggseed','Unripe Seed Of Yggdrasil','2','0','20','10','50','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','percentheal 30,30; skilleffect AL_BLESSING,0; sc_start SC_BLESSING,140000,5;','','');
+REPLACE INTO `item_db` VALUES ('12404','Acti_Potion','Activation Potion','2','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','specialeffect(EF_STEAL, AREA, playerattached()); sc_start4(SC_VITALIZE_POTION, 120000, 2, 2, 10, 0);','','');
+REPLACE INTO `item_db` VALUES ('12405','Underripe_Yggseed','Unripe Seed Of Yggdrasil','2','0','20','10','50','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','percentheal(30, 30); itemskill(AL_BLESSING, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12406','Psychic_ArmorS','Psychic Armor Scroll','2','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','specialeffect(EF_ENERGYCOAT, AREA, playerattached()); sc_start4 SC_ARMOR_PROPERTY, 10000, 1, Ele_Neutral, 1, 0;','','');
REPLACE INTO `item_db` VALUES ('12407','PCBang_Coupon_Box','PCRoom 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','475',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12408','Leaf_Cat_Ball','Hydra Ball','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','pet E_HYDRA;','','');
@@ -6243,7 +6254,7 @@ REPLACE INTO `item_db` VALUES ('12410','Spareribs_H','Thick Pork Belly','2','0',
REPLACE INTO `item_db` VALUES ('12411','HE_Battle_Manual','HE Battle Manual','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','sc_start SC_CASH_PLUSEXP,900000,200;','','');
REPLACE INTO `item_db` VALUES ('12412','HE_Bubble_Gum','HE Bubble Gum','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','sc_start SC_CASH_RECEIVEITEM,900000,300;','','');
REPLACE INTO `item_db` VALUES ('12413','PCBang_Coupon_Box2','PCRoom Coupon Box','2','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 ('12414','Guarana_Candy','Guarana Candy','2','0','20','10','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','sc_start SC_ATTHASTE_POTION1,1800000,0; sc_start SC_INC_AGI,140000,5; skilleffect AL_INCAGI,0;','','');
+REPLACE INTO `item_db` VALUES ('12414','Guarana_Candy','Guarana Candy','2','0','20','10','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','sc_start(SC_ATTHASTE_POTION1, 1800000, 0); itemskill(AL_INCAGI, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12415','Siege_Teleport_Scroll2','Siege Map Teleport Scroll II','2','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,'1',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12416','Lucky_Egg_C3','Thanksgiving Groove Pack','2','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 ('12417','Boost500','Boost500','2','0','100','50','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','sc_start SC_BOOST500, 500000, 10;','','');
@@ -6287,13 +6298,13 @@ REPLACE INTO `item_db` VALUES ('12454','F_WOB_Local','Blue Butterfly Wing','2','
REPLACE INTO `item_db` VALUES ('12456','F_Greed_Scroll','Greed Scroll','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','','','');
REPLACE INTO `item_db` VALUES ('12457','F_Glass_Of_Illusion','Glass Of Illusion','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','','','');
REPLACE INTO `item_db` VALUES ('12458','F_Abrasive','Abrasive','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','','','');
-REPLACE INTO `item_db` VALUES ('12459','F_Med_Life_Potion','Medium Life Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12460','F_Small_Life_Potion','Small Life Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12461','F_Regeneration_Potion','Regeneration Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12462','F_B_Mdef_Potion','Big Magic Defense Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12463','F_S_Mdef_Potion','Small Magic Defense Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12464','F_B_Def_Potion','Big Defense Potion','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','','','');
-REPLACE INTO `item_db` VALUES ('12465','F_S_Def_Potion','Small Defense Potion','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','','','');
+REPLACE INTO `item_db` VALUES ('12459','F_Med_Life_Potion','Medium Life Potion','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','specialeffect(EF_HEAL3, AREA, playerattached()); sc_start2(SC_M_LIFEPOTION, 600000, -7, 4);','','');
+REPLACE INTO `item_db` VALUES ('12460','F_Small_Life_Potion','Small Life Potion','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','specialeffect(EF_HEAL3, AREA, playerattached()); /* Probably it should be 5% instead of 7%, but we\'ll follow the client side description... */ sc_start2(SC_S_LIFEPOTION, 600000, -7, 4);','','');
+REPLACE INTO `item_db` VALUES ('12461','F_Regeneration_Potion','Regeneration Potion','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','specialeffect(EF_LIGHTSPHERE, AREA, playerattached()); sc_start(SC_HEALPLUS, 1800000, 20);','','');
+REPLACE INTO `item_db` VALUES ('12462','F_B_Mdef_Potion','Big Magic Defense Potion','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','specialeffect(EF_SPELLBREAKER, AREA, playerattached()); sc_start(SC_PROTECT_MDEF, 180000, 3);','','');
+REPLACE INTO `item_db` VALUES ('12463','F_S_Mdef_Potion','Small Magic Defense Potion','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','specialeffect(EF_SPELLBREAKER, AREA, playerattached()); sc_start(SC_PROTECT_MDEF, 60000, 3);','','');
+REPLACE INTO `item_db` VALUES ('12464','F_B_Def_Potion','Big Defense Potion','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','specialeffect(EF_GUARD, AREA, playerattached()); sc_start(SC_PROTECT_DEF, 180000, 3);','','');
+REPLACE INTO `item_db` VALUES ('12465','F_S_Def_Potion','Small Defense Potion','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','specialeffect(EF_GUARD, AREA, playerattached()); sc_start(SC_PROTECT_DEF, 60000, 3);','','');
REPLACE INTO `item_db` VALUES ('12466','F_Blessing_10_Scroll','LV10 Blessing Scroll','2','0','2','1','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 ('12467','F_Inc_Agi_10_Scroll','LV10 Agil Scroll','2','0','2','1','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 ('12468','F_Aspersio_5_Scroll','LV5 Aspersio Scroll','2','0','2','1','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','','','');
@@ -6486,10 +6497,10 @@ REPLACE INTO `item_db` VALUES ('12662','Trans_Scroll_Banshee','Transformation Sc
REPLACE INTO `item_db` VALUES ('12663','Trans_Scroll_Poring','Transformation Scroll(Poring)','2','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','specialeffect(EF_CLOAKING, AREA, playerattached()); showscript \"Trans-Form-!! Poring Fo-rm!!\"; montransform PORING, 1200000, SC_MTF_CRIDAMAGE, 5;','','');
REPLACE INTO `item_db` VALUES ('12664','Trans_Scroll_Golem','Transformation Scroll(Golem)','2','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','specialeffect(EF_CLOAKING, AREA, playerattached()); showscript \"Trans-Form-!! Golem Fo-rm!!\"; montransform GOLEM, 1200000, SC_MTF_MLEATKED, 2;','','');
REPLACE INTO `item_db` VALUES ('12665','Grovel_Buff','Grovel Buff','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','','','');
-REPLACE INTO `item_db` VALUES ('12666','Thai_Perfume_MATK','Thai Perfume(MATK)','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 ('12667','Thai_Perfume_ATK','Thai Perfume(ATK)','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 ('12668','Thai_Perfume_ASPD','Thai Perfume(ASPD)','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 ('12669','Thai_Perfume_CAST','Thai Perfume(CAST)','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 ('12666','Thai_Perfume_MATK','Thai Perfume(MATK)','2','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','specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); sc_start(SC_SKF_MATK, 600000, 24);','','');
+REPLACE INTO `item_db` VALUES ('12667','Thai_Perfume_ATK','Thai Perfume(ATK)','2','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','specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); sc_start(SC_SKF_ATK, 600000, 24);','','');
+REPLACE INTO `item_db` VALUES ('12668','Thai_Perfume_ASPD','Thai Perfume(ASPD)','2','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','specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); sc_start(SC_SKF_ASPD, 600000, 3);','','');
+REPLACE INTO `item_db` VALUES ('12669','Thai_Perfume_CAST','Thai Perfume(CAST)','2','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','specialeffect(EF_MAGICALATTHIT, AREA, playerattached()); sc_start(SC_SKF_CAST, 600000, 5);','','');
REPLACE INTO `item_db` VALUES ('12670','Beast_Powder','Beast Powder','11','0','20','10','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 ('12671','99lv_Battle_Manual','99lv Battle Manual','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 ('12672','Start_New_Box','Start New Box','2','0','20','10','10','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 Old_Violet_Box, 2; getitem Comp_Battle_Manual, 2; getitem Recall_MaleGM, 3; getitem Recall_FemaleGM, 2;','','');
@@ -6526,9 +6537,9 @@ REPLACE INTO `item_db` VALUES ('12702','Old_Bleu_Box','Old Blue Box','2','0','0'
REPLACE INTO `item_db` VALUES ('12703','Holy_Egg_2','Holy Egg','11','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','','','');
REPLACE INTO `item_db` VALUES ('12704','Elixir_Of_Life','Elixir of Life','0','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','85',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','percentheal 100,0;','','');
REPLACE INTO `item_db` VALUES ('12705','Noble_Nameplate','Noble Nameplate','2','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','90',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','sc_start SC_CASH_PLUSEXP,1800000,100;','','');
-REPLACE INTO `item_db` VALUES ('12706','Lucky_Cookie01','Lucky Cookie','11','0','0','0','100','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','itemskill PR_GLORIA,5;','','');
-REPLACE INTO `item_db` VALUES ('12707','Lucky_Cookie02','Lucky Cookie','11','0','0','0','100','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','itemskill PR_MAGNIFICAT,1;','','');
-REPLACE INTO `item_db` VALUES ('12708','Lucky_Cookie03','Lucky Cookie','11','0','0','0','100','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','itemskill PR_IMPOSITIO,3;','','');
+REPLACE INTO `item_db` VALUES ('12706','Lucky_Cookie01','Lucky Cookie','2','0','0','0','100','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','itemskill(PR_GLORIA, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12707','Lucky_Cookie02','Lucky Cookie','2','0','0','0','100','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','itemskill(PR_MAGNIFICAT, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('12708','Lucky_Cookie03','Lucky Cookie','2','0','0','0','100','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','itemskill(PR_IMPOSITIO, 3, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('12709','Guyak_Candy','Guyak Candy','0','0','0','0','150','0','0','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 30,30;','','');
REPLACE INTO `item_db` VALUES ('12710','Guyak_Pudding','Guyak Pudding','2','0','0','0','200','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','sc_start SC_MOVHASTE_POTION, 300000, 100;','','');
REPLACE INTO `item_db` VALUES ('12711','Pretzel','Pretzel','0','0','2','1','100','0','0','0','0','0','18446744073709551615','63','2','0','0','50',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','itemheal rand(50,90),0;','','');
@@ -6545,15 +6556,15 @@ REPLACE INTO `item_db` VALUES ('12721','Poison_Numb','Toxin','0','0','2','1','20
REPLACE INTO `item_db` VALUES ('12722','Poison_Fever','Pyrexia','0','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_ENCHANTPOISON, AREA, playerattached()); sc_start SC_PYREXIA, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
REPLACE INTO `item_db` VALUES ('12723','Poison_Laughing','Magic Mushroom','0','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_ENCHANTPOISON, AREA, playerattached()); sc_start SC_MAGICMUSHROOM, 300000, 0, 10, SCFLAG_FIXEDTICK;','','');
REPLACE INTO `item_db` VALUES ('12724','Poison_Fatigue','Venom Bleed','0','0','2','1','20','0','0','0','0','0','4096','56','2','0','0','0',NULL,'0','1','0','0','0','1','0','0',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_ENCHANTPOISON, AREA, playerattached()); sc_start SC_VENOMBLEED, 15000, 0, 10, SCFLAG_FIXEDTICK;','','');
-REPLACE INTO `item_db` VALUES ('12725','Runstone_Nosiege','Nosiege Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','120000','475',NULL,'1',NULL,'20','1','0','itemskill RK_REFRESH, 1;','','');
-REPLACE INTO `item_db` VALUES ('12726','Runstone_Rhydo','Rhydo Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','30000','475',NULL,'1',NULL,'20','1','0','itemskill RK_CRUSHSTRIKE, 1;','','');
-REPLACE INTO `item_db` VALUES ('12727','Runstone_Verkana','Verkana Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'1',NULL,'20','1','0','itemskill RK_MILLENNIUMSHIELD, 1;','','');
-REPLACE INTO `item_db` VALUES ('12728','Runstone_Isia','Isia Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_VITALITYACTIVATION, 1;','','');
-REPLACE INTO `item_db` VALUES ('12729','Runstone_Asir','Asir Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_FIGHTINGSPIRIT, 1;','','');
-REPLACE INTO `item_db` VALUES ('12730','Runstone_Urj','Urj Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_ABUNDANCE, 1;','','');
-REPLACE INTO `item_db` VALUES ('12731','Runstone_Turisus','Turisus Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_GIANTGROWTH, 1;','','');
-REPLACE INTO `item_db` VALUES ('12732','Runstone_Pertz','Pertz Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','1000','475',NULL,'1',NULL,'20','1','0','itemskill RK_STORMBLAST, 1;','','');
-REPLACE INTO `item_db` VALUES ('12733','Runstone_Hagalas','Hagalas Runestone','11','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'20','1','0','itemskill RK_STONEHARDSKIN, 1;','','');
+REPLACE INTO `item_db` VALUES ('12725','Runstone_Nosiege','Nosiege Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','120000','475',NULL,'1',NULL,'60','1','0','itemskill RK_REFRESH, 1;','','');
+REPLACE INTO `item_db` VALUES ('12726','Runstone_Rhydo','Rhydo Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','30000','475',NULL,'1',NULL,'60','1','0','itemskill(RK_CRUSHSTRIKE, 1, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('12727','Runstone_Verkana','Verkana Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'1',NULL,'60','1','0','itemskill RK_MILLENNIUMSHIELD, 1;','','');
+REPLACE INTO `item_db` VALUES ('12728','Runstone_Isia','Isia Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'60','1','0','itemskill RK_VITALITYACTIVATION, 1;','','');
+REPLACE INTO `item_db` VALUES ('12729','Runstone_Asir','Asir Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill RK_FIGHTINGSPIRIT, 1;','','');
+REPLACE INTO `item_db` VALUES ('12730','Runstone_Urj','Urj Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'60','1','0','itemskill RK_ABUNDANCE, 1;','','');
+REPLACE INTO `item_db` VALUES ('12731','Runstone_Turisus','Turisus Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','itemskill RK_GIANTGROWTH, 1;','','');
+REPLACE INTO `item_db` VALUES ('12732','Runstone_Pertz','Pertz Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','1000','475',NULL,'1',NULL,'0',NULL,'0','itemskill RK_STORMBLAST, 1;','','');
+REPLACE INTO `item_db` VALUES ('12733','Runstone_Hagalas','Hagalas Runestone','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'60','1','0','itemskill RK_STONEHARDSKIN, 1;','','');
REPLACE INTO `item_db` VALUES ('12734','Runstone_Quality','Quality Rough Runestone','0','0','2','1','100','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','makerune 5;','','');
REPLACE INTO `item_db` VALUES ('12735','Runstone_Ancient','Ancient Rough Runestone','0','0','2','1','100','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','makerune 11;','','');
REPLACE INTO `item_db` VALUES ('12736','Runstone_Mystic','Mystic Rough Runestone','0','0','2','1','100','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','makerune 14;','','');
@@ -6616,7 +6627,7 @@ REPLACE INTO `item_db` VALUES ('12792','P_Combat_Pill','Advanced Magic Battle Se
REPLACE INTO `item_db` VALUES ('12793','Combat_Pill_Box10','Magic Battle Serum Box','11','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','getitem Combat_Pill, 10;','','');
REPLACE INTO `item_db` VALUES ('12794','P_Combat_Pill_Box10','Advanced Magic Battle Serum Box','11','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','getitem P_Combat_Pill, 10;','','');
REPLACE INTO `item_db` VALUES ('12795','2011_RWC_Scroll_Kr','2011 RWC Scroll','11','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 ('12796','Red_Booster','Red Boost','11','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','itemskill AC_CONCENTRATION,(getskilllv(AC_CONCENTRATION)<3?3:getskilllv(AC_CONCENTRATION));','','');
+REPLACE INTO `item_db` VALUES ('12796','Red_Booster','Red Boost','2','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','itemskill AC_CONCENTRATION,(getskilllv(AC_CONCENTRATION)<3?3:getskilllv(AC_CONCENTRATION));','','');
REPLACE INTO `item_db` VALUES ('12797','Wish_Maiden_Scroll','Wish Maiden Scroll','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','mercenary_create MER_WISH_MAIDEN, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12798','Zealotus_Scroll','Zealotus Scroll','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','mercenary_create MER_ZHERLTHSH, 1800000;','','');
REPLACE INTO `item_db` VALUES ('12800','Ktullanux_Scroll','Ktullanux Scroll','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','mercenary_create MER_KTULLANUX, 1800000;','','');
@@ -6626,10 +6637,10 @@ REPLACE INTO `item_db` VALUES ('12806','Scaraba_Scroll','Antler Scaraba Scroll',
REPLACE INTO `item_db` VALUES ('12807','Mercenary_Casting_','Mercenary Casting','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','20',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','getitem Bow_Mercenary_Scroll8,5; getitem SwordMercenary_Scroll8,5; getitem Spear_Mercenary_Scroll8,5; getitem Mother_Love_Box,1;','','');
REPLACE INTO `item_db` VALUES ('12808','Mother_Love_Box','Mother_Love_Box','2','0','0','0','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','rentitem Mother_Heart,1209600;','','');
REPLACE INTO `item_db` VALUES ('12809','Level_Up_Box','Level Up Box','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','120',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Comp_Battle_Manual,5; getitem Comp_Bubble_Gum,5; getitem Comp_Insurance,5; getitem Reward_Job_BM25,5; getitem Zherlthsh_Tck_Box_,1;','','');
-REPLACE INTO `item_db` VALUES ('12812','Snow_Flip','Snow Flip','11','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','itemskill ECL_SNOWFLIP,1;','','');
-REPLACE INTO `item_db` VALUES ('12813','Peony_Mommy','Peony Mamy','11','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','itemskill ECL_PEONYMAMY,1;','','');
-REPLACE INTO `item_db` VALUES ('12814','Slapping_Herb','Sadagui','11','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','itemskill ECL_SADAGUI,1;','','');
-REPLACE INTO `item_db` VALUES ('12815','Yggdrasil_Dust','Sequoia Dust','11','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','itemskill ECL_SEQUOIADUST,1;','','');
+REPLACE INTO `item_db` VALUES ('12812','Snow_Flip','Snow Flip','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','itemskill ECL_SNOWFLIP,1;','','');
+REPLACE INTO `item_db` VALUES ('12813','Peony_Mommy','Peony Mamy','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','itemskill ECL_PEONYMAMY,1;','','');
+REPLACE INTO `item_db` VALUES ('12814','Slapping_Herb','Sadagui','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','itemskill ECL_SADAGUI,1;','','');
+REPLACE INTO `item_db` VALUES ('12815','Yggdrasil_Dust','Sequoia Dust','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','itemskill ECL_SEQUOIADUST,1;','','');
REPLACE INTO `item_db` VALUES ('12817','Old_Card_Album_','Old Card Album','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','80',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('12818','High_Weapon_Box_','Advanced Weapons Box','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','100',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','getitem Level_Up_Box,1;','','');
REPLACE INTO `item_db` VALUES ('12819','Zherlthsh_Tck_Box_','Zherlthsh Ticket Box','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','150',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','getitem Zherlthsh_Ticket,1;','','');
@@ -6658,6 +6669,7 @@ REPLACE INTO `item_db` VALUES ('12879','Elf_Tear_Sleep','Elf Tear Sleep','2','0'
REPLACE INTO `item_db` VALUES ('12880','Elf_Tear_Curse','Elf Tear Curse','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','autobonus \"{ heal -3000,0; bonus2 bResEff,Eff_Curse,10000; }\",10,0,0,SI_GVG_CURSE;','','');
REPLACE INTO `item_db` VALUES ('12881','Elf_Tear_Silence','Elf Tear Silence','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','autobonus \"{ heal -3000,0; bonus2 bResEff,Eff_Silence,10000; }\",10,0,0,SI_GVG_SILENCE;','','');
REPLACE INTO `item_db` VALUES ('12882','Elf_Tear_Blind','Elf Tear Blind','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','autobonus \"{ heal -3000,0; bonus2 bResEff,Eff_Blind,10000; }\",10,0,0,SI_GVG_BLIND;','','');
+REPLACE INTO `item_db` VALUES ('12883','Almighty','Almighty','2','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','specialeffect(EF_BASH3D, AREA, playerattached()); sc_start(SC_FOOD_STR_CASH, 1800000, 10); sc_start(SC_FOOD_VIT_CASH, 1800000, 10); sc_start(SC_FOOD_AGI_CASH, 1800000, 10); sc_start(SC_FOOD_INT_CASH, 1800000, 10); sc_start(SC_FOOD_DEX_CASH, 1800000, 10); sc_start(SC_FOOD_LUK_CASH, 1800000, 10); sc_start2(SC_ALMIGHTY, 1800000, 30, 30);','','');
REPLACE INTO `item_db` VALUES ('12884','C_Center_Potion','Infinite Concentration Potion','11','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION1,1800000,4; specialeffect(EF_POTION_CON, AREA, playerattached()); /* NOTE: No special effect when used. */','','');
REPLACE INTO `item_db` VALUES ('12885','C_Awakening_Potion','Infinite Awakening Potion','11','0','0','0','0','0','0','0','0','0','2145902319','63','2','0','0','40',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION2,1800000,6; specialeffect(EF_POTION_, AREA, playerattached()); /* NOTE: No special effect when used. */','','');
REPLACE INTO `item_db` VALUES ('12886','C_Berserk_Potion','Infinite Berserk Potion','11','0','0','0','0','0','0','0','0','0','31868582','63','2','0','0','85',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION3,1800000,9; specialeffect(EF_POTION_BERSERK, AREA, playerattached()); /* NOTE: No special effect when used. */','','');
@@ -6691,7 +6703,7 @@ REPLACE INTO `item_db` VALUES ('12924','Pet_Egg_Scroll_Box2','Anniversary Destin
REPLACE INTO `item_db` VALUES ('12925','Pet_Egg_Scroll1','Kafra Item Mall Prize Package','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12926','Pet_Egg_Scroll2','Anniversary Destiny 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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('12927','J_Aspersio_5_Scroll_Box','Aspersio 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','getitem 12928,10;','','');
-REPLACE INTO `item_db` VALUES ('12928','J_Aspersio_5_Scroll','Sacred Scroll','11','0','2','1','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','itemskill PR_ASPERSIO,5;','','');
+REPLACE INTO `item_db` VALUES ('12928','J_Aspersio_5_Scroll','Sacred Scroll','2','0','2','1','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','itemskill PR_ASPERSIO,5;','','');
REPLACE INTO `item_db` VALUES ('12929','Pet_Egg_Scroll_Box3','Pet Egg Box 3','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 12932,1;','','');
REPLACE INTO `item_db` VALUES ('12930','Pet_Egg_Scroll_Box4','Pet Egg Box 4','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 12933,1;','','');
REPLACE INTO `item_db` VALUES ('12931','Pet_Egg_Scroll_Box5','Playspan 5x Easter Lucky 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','475',NULL,'0',NULL,'0',NULL,'0','getitem 12934,1;','','');
@@ -6731,9 +6743,9 @@ REPLACE INTO `item_db` VALUES ('12964','Vesper_Core04_Box','Vesper Core 04 Box',
REPLACE INTO `item_db` VALUES ('12965','Emergency_Box1','Emergency Level 1 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','getitem 12968,1;','','');
REPLACE INTO `item_db` VALUES ('12966','Emergency_Box2','Emergency Level 2 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','getitem 12969,1;','','');
REPLACE INTO `item_db` VALUES ('12967','Emergency_Box3','Emergency Level 3 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','getitem 12970,1;','','');
-REPLACE INTO `item_db` VALUES ('12968','Emergency_Scroll1','Emergency Level 1 Scroll','11','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
-REPLACE INTO `item_db` VALUES ('12969','Emergency_Scroll2','Emergency Level 2 Scroll','11','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
-REPLACE INTO `item_db` VALUES ('12970','Emergency_Scroll3','Emergency Level 3 Scroll','11','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
+REPLACE INTO `item_db` VALUES ('12968','Emergency_Scroll1','Emergency Level 1 Scroll','2','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
+REPLACE INTO `item_db` VALUES ('12969','Emergency_Scroll2','Emergency Level 2 Scroll','2','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
+REPLACE INTO `item_db` VALUES ('12970','Emergency_Scroll3','Emergency Level 3 Scroll','2','0','2','1','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','itemskill GD_EMERGENCYCALL,1;','','');
REPLACE INTO `item_db` VALUES ('12971','Teleport_Box1','Teleport Scroll Box 1','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 12977,10;','','');
REPLACE INTO `item_db` VALUES ('12972','Teleport_Box2','Teleport Scroll Box 2','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 12978,10;','','');
REPLACE INTO `item_db` VALUES ('12973','Teleport_Box3','Teleport Scroll Box 3','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 12979,10;','','');
@@ -6868,6 +6880,8 @@ REPLACE INTO `item_db` VALUES ('13114','P_Revolver3','Eden Group Revolver III','
REPLACE INTO `item_db` VALUES ('13115','Upg_Revolver','Upgrade Revolver','4','17','20','10','500','35','0','0','7','1','16777216','1','2','34','3','0',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bBaseAtk,(getrefine()*5); bonus bLongAtkRate,(getrefine()*2); if(BaseLevel>70) { bonus bBaseAtk,(((BaseLevel-70)/10)*5); }','','');
REPLACE INTO `item_db` VALUES ('13116','Novice_Revolver','Beginner Revolver','4','17','0','0','500','20','0','0','7','0','16777216','1','2','34','1','0',NULL,'0','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bHit,-5;','','');
REPLACE INTO `item_db` VALUES ('13117','TE_Woe_Pistol','TE Woe Pistol','4','17','0','0','0','60','0','0','7','0','1090519040','63','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_Curse,1000;','','');
+REPLACE INTO `item_db` VALUES ('13118','Tiny_Flame','Fading Flame','4','17','0','0','100','0','0','0','7','0','1090519040','63','2','34','1','1',NULL,'1','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13119','Freedom_Flame','Freedom Flame','4','17','0','0','100','100','0','0','7','2','1090519040','63','2','34','3','99',NULL,'1','0','0','0','0','0','0','499',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13120','H_FEATHER_H_FIRE','Heaven\'s_Feather_&_Hell\'s_Fire','4','17','1250000','625000','800','150','0','0','9','1','1090519040','63','2','34','3','99',NULL,'1','0','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus2 bSkillAtk,GS_DESPERADO,20; bonus2 bSkillAtk,RL_FALLEN_ANGEL,20;','','');
REPLACE INTO `item_db` VALUES ('13122','ALTAIR_ARES','Altea & Ares','4','17','1450000','725000','1000','200','0','0','9','0','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 ('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;','','');
@@ -6943,13 +6957,18 @@ REPLACE INTO `item_db` VALUES ('13217','Freezing_Bullet','Freezing Bullet','10',
REPLACE INTO `item_db` VALUES ('13218','Electric_Shock_Bullet','Lightning Bullet','10','3','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Wind;','','');
REPLACE INTO `item_db` VALUES ('13219','Magical_Stone_Bullet','Magic Stone Bullet','10','3','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Earth;','','');
REPLACE INTO `item_db` VALUES ('13220','Sanctified_Bullet','Purifying Bullet','10','3','10','5','2','40','0','0','0','0','1090519040','63','2','32768','0','100',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Holy;','','');
-REPLACE INTO `item_db` VALUES ('13221','Silver_Bullet_','Silver Bullet','10','3','5','2','2','15','0','0','0','0','16777216','63','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 ('13222','Shell_Of_Blood_','Bloody Shell','10','3','10','5','2','30','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral; bonus2 bAddEff, Eff_Bleeding, 100;','','');
-REPLACE INTO `item_db` VALUES ('13223','Flare_Sphere_','Incendiary Grenade','10','3','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Fire;','','');
-REPLACE INTO `item_db` VALUES ('13224','Lighting_Sphere_','Lightning Grenade','10','3','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Wind;','','');
-REPLACE INTO `item_db` VALUES ('13225','Poison_Sphere_','Poison Grenade','10','3','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Poison; bonus2 bAddEff, Eff_Poison, 500;','','');
-REPLACE INTO `item_db` VALUES ('13226','Blind_Sphere_','Flash Grenade','10','3','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Dark; bonus2 bAddEff, Eff_Blind, 500;','','');
-REPLACE INTO `item_db` VALUES ('13227','Freezing_Sphere_','Cyro Grenade','10','3','15','7','5','50','0','0','0','0','16777216','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Water;','','');
+REPLACE INTO `item_db` VALUES ('13221','Silver_Bullet_','Silver Bullet','10','3','5','2','2','15','0','0','0','0','1090519040','63','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 ('13222','Shell_Of_Blood_','Bloody Shell','10','3','10','5','2','30','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Neutral; bonus2 bAddEff, Eff_Bleeding, 100;','','');
+REPLACE INTO `item_db` VALUES ('13223','Flare_Sphere_','Incendiary Grenade','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Fire;','','');
+REPLACE INTO `item_db` VALUES ('13224','Lighting_Sphere_','Lightning Grenade','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Wind;','','');
+REPLACE INTO `item_db` VALUES ('13225','Poison_Sphere_','Poison Grenade','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Poison; bonus2 bAddEff, Eff_Poison, 500;','','');
+REPLACE INTO `item_db` VALUES ('13226','Blind_Sphere_','Flash Grenade','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Dark; bonus2 bAddEff, Eff_Blind, 500;','','');
+REPLACE INTO `item_db` VALUES ('13227','Freezing_Sphere_','Cyro Grenade','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Water;','','');
+REPLACE INTO `item_db` VALUES ('13228','Flare_Bullet','Flare Bullet','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Fire;','','');
+REPLACE INTO `item_db` VALUES ('13229','Lightning_Bullet','Lightning Bullet','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Wind;','','');
+REPLACE INTO `item_db` VALUES ('13230','Ice_Bullet','Ice Bullet','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Water;','','');
+REPLACE INTO `item_db` VALUES ('13231','Poison_Bullet','Poison Bullet','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Poison; bonus2 bAddEff, Eff_Poison, 500;','','');
+REPLACE INTO `item_db` VALUES ('13232','Blind_Bullet','Blind Bullet','10','3','15','7','5','50','0','0','0','0','1090519040','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','bonus bAtkEle, Ele_Dark; bonus2 bAddEff, Eff_Blind, 500;','','');
REPLACE INTO `item_db` VALUES ('13250','Shuriken','Shuriken','10','6','4','2','5','10','0','0','0','0','33554432','63','2','32768','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13251','Nimbus_Shuriken','Nimbus Shuriken','10','6','10','5','5','30','0','0','0','0','33554432','63','2','32768','0','20',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('13252','Flash_Shuriken','Flash Shuriken','10','6','20','10','5','45','0','0','0','0','33554432','63','2','32768','0','40',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
@@ -7019,6 +7038,8 @@ REPLACE INTO `item_db` VALUES ('13328','Huuma_Shuriken_of_Vicious_Mind','Huuma S
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 ('13345','Humma_Clear','Humma_Clear','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('13346','Ein_BHHuuma','Ein_BHHuuma','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -7064,6 +7085,7 @@ REPLACE INTO `item_db` VALUES ('13454','Scarlet_Saber','Crimson Saber','4','2','
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 ('13485','Sword_Of_Bluefire','Sword_Of_Bluefire','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -7923,16 +7945,16 @@ REPLACE INTO `item_db` VALUES ('14508','Zeny_Scroll','Zeny Pet Egg Scroll','2','
REPLACE INTO `item_db` VALUES ('14509','Light_Center_Pot','Light Concentration Potion','2','0','800','400','20','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','sc_start SC_ATTHASTE_POTION1,1800000,4;','','');
REPLACE INTO `item_db` VALUES ('14510','Light_Awakening_Pot','Light Awakening Potion','2','0','1500','750','20','0','0','0','0','0','2145902319','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION2,1800000,6;','','');
REPLACE INTO `item_db` VALUES ('14511','Light_Berserk_Pot','Light Berserk Potion','2','0','3000','1500','20','0','0','0','0','0','31868582','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'0',NULL,'0',NULL,'0','sc_start SC_ATTHASTE_POTION3,1800000,9;','','');
-REPLACE INTO `item_db` VALUES ('14512','Meteor_10_Scroll','Meteor Storm Scroll','11','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','itemskill WZ_METEOR,10;','','');
-REPLACE INTO `item_db` VALUES ('14513','Storm_10_Scroll','Storm Gust Scroll','11','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','itemskill WZ_STORMGUST,10;','','');
-REPLACE INTO `item_db` VALUES ('14514','Vermilion_10_Scroll','Lord of Vermilion Scroll','11','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','itemskill WZ_VERMILION,10;','','');
-REPLACE INTO `item_db` VALUES ('14515','Lex_Aeterna_Scroll','Lex Aeterna Scroll','11','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','itemskill PR_LEXAETERNA,1;','','');
-REPLACE INTO `item_db` VALUES ('14516','Magnificat_5_Scroll','Magnificat Scroll','11','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','itemskill PR_MAGNIFICAT,5;','','');
-REPLACE INTO `item_db` VALUES ('14517','CP_Helm_Scroll','Chemical Protection Helm Scroll','2','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','unitskilluseid getcharid(CHAR_ID_ACCOUNT),237,5;','','');
-REPLACE INTO `item_db` VALUES ('14518','CP_Shield_Scroll','Chemical Protection Shield Scrol','2','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','unitskilluseid getcharid(CHAR_ID_ACCOUNT),235,5;','','');
-REPLACE INTO `item_db` VALUES ('14519','CP_Armor_Scroll','Chemical Protection Armor Scroll','2','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','unitskilluseid getcharid(CHAR_ID_ACCOUNT),236,5;','','');
-REPLACE INTO `item_db` VALUES ('14520','CP_Weapon_Scroll','Chemical Protection Weapon Scroll','2','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','unitskilluseid getcharid(CHAR_ID_ACCOUNT),234,5;','','');
-REPLACE INTO `item_db` VALUES ('14521','Repair_Scroll','Repair Weapon Scroll','2','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,'1',NULL,'0',NULL,'0','unitskilluseid getcharid(CHAR_ID_ACCOUNT),108,1;','','');
+REPLACE INTO `item_db` VALUES ('14512','Meteor_10_Scroll','Meteor Storm Scroll','2','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','itemskill WZ_METEOR,10;','','');
+REPLACE INTO `item_db` VALUES ('14513','Storm_10_Scroll','Storm Gust Scroll','2','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','itemskill WZ_STORMGUST,10;','','');
+REPLACE INTO `item_db` VALUES ('14514','Vermilion_10_Scroll','Lord of Vermilion Scroll','2','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','itemskill WZ_VERMILION,10;','','');
+REPLACE INTO `item_db` VALUES ('14515','Lex_Aeterna_Scroll','Lex Aeterna Scroll','2','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','itemskill PR_LEXAETERNA,1;','','');
+REPLACE INTO `item_db` VALUES ('14516','Magnificat_5_Scroll','Magnificat Scroll','2','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','itemskill PR_MAGNIFICAT,5;','','');
+REPLACE INTO `item_db` VALUES ('14517','CP_Helm_Scroll','Chemical Protection Helm Scroll','2','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','itemskill(AM_CP_HELM, 5, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('14518','CP_Shield_Scroll','Chemical Protection Shield Scrol','2','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','itemskill(AM_CP_SHIELD, 5, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('14519','CP_Armor_Scroll','Chemical Protection Armor Scroll','2','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','itemskill(AM_CP_ARMOR, 5, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('14520','CP_Weapon_Scroll','Chemical Protection Weapon Scroll','2','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','itemskill(AM_CP_WEAPON, 5, ISF_CHECKCONDITIONS);','','');
+REPLACE INTO `item_db` VALUES ('14521','Repair_Scroll','Repair Weapon Scroll','2','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,'1',NULL,'0',NULL,'0','itemskill(BS_REPAIRWEAPON, 1);','','');
REPLACE INTO `item_db` VALUES ('14522','Big_Bun','Big Bun','0','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','percentheal 100,0;','','');
REPLACE INTO `item_db` VALUES ('14523','Pill_','Pill','0','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','percentheal 0,100;','','');
REPLACE INTO `item_db` VALUES ('14524','Superb_Fish_Slice','Superb Fish Slice','0','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','percentheal 100,100;','','');
@@ -7940,7 +7962,7 @@ REPLACE INTO `item_db` VALUES ('14525','Chewy_Ricecake','Chewy Ricecake','2','0'
REPLACE INTO `item_db` VALUES ('14526','Oriental_Pastry','Oriental Pastry','2','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','sc_start SC_PLUSMAGICPOWER, 1800000, 10;','','');
REPLACE INTO `item_db` VALUES ('14527','Dun_Tele_Scroll1','Dungeon Teleport Scroll','2','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','callfunc \"F_CashDungeon\",1;','','');
REPLACE INTO `item_db` VALUES ('14528','PVP_Tele_Scroll','PVP Teleport Scroll','2','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','','','');
-REPLACE INTO `item_db` VALUES ('14529','Greed_Scroll','Greed Scroll','11','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','itemskill BS_GREED,1;','','');
+REPLACE INTO `item_db` VALUES ('14529','Greed_Scroll','Greed Scroll','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'1',NULL,'0',NULL,'0','itemskill(BS_GREED, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('14530','Flee_30_Scroll','Evasion Scroll','2','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','sc_start SC_FOOD_BASICAVOIDANCE,1800000,30;','','');
REPLACE INTO `item_db` VALUES ('14531','Accuracy_30_Scroll','Concentration Scroll','2','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','sc_start SC_FOOD_BASICHIT,1800000,30;','','');
REPLACE INTO `item_db` VALUES ('14532','Battle_Manual25','Field Manual 25%','2','0','2','1','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','475',NULL,'1',NULL,'0',NULL,'0','sc_start SC_CASH_PLUSEXP,1800000,25;','','');
@@ -7998,19 +8020,19 @@ REPLACE INTO `item_db` VALUES ('14583','WOB_Schwaltz','Green Butterfly Wing','2'
REPLACE INTO `item_db` VALUES ('14584','WOB_Rachel','Red Butterfly Wing','2','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','callfunc \"F_CashCity\",3;','','');
REPLACE INTO `item_db` VALUES ('14585','WOB_Local','Blue Butterfly Wing','2','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','callfunc \"F_CashCity\",4;','','');
REPLACE INTO `item_db` VALUES ('14586','Spark_Candy','Jumping Candy','2','0','0','0','10','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','180000','475',NULL,'0',NULL,'0',NULL,'0','specialeffect(EF_HASTEUP, AREA, playerattached()); sc_start2 SC_STEAMPACK, 60000, 20, 25;','','');
-REPLACE INTO `item_db` VALUES ('14587','Repair_Scroll_','Equipment Repair Spell Book','11','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,'1',NULL,'0',NULL,'0','itemskill BS_REPAIRWEAPON,1;','','');
-REPLACE INTO `item_db` VALUES ('14588','Pty_Blessing_Scroll','Party Blessing 10 Scroll','11','0','10','5','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','itemskill CASH_BLESSING,10;','','');
-REPLACE INTO `item_db` VALUES ('14589','Pty_Inc_Agi_Scroll','Party Increase Agi 10 Scroll','11','0','10','5','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','itemskill CASH_INCAGI,10;','','');
-REPLACE INTO `item_db` VALUES ('14590','Pty_Assumptio_Scroll','Party Assumptio 5 Scroll','11','0','10','5','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','itemskill CASH_ASSUMPTIO,5;','','');
+REPLACE INTO `item_db` VALUES ('14587','Repair_Scroll_','Equipment Repair Spell Book','2','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,'1',NULL,'0',NULL,'0','itemskill BS_REPAIRWEAPON,1;','','');
+REPLACE INTO `item_db` VALUES ('14588','Pty_Blessing_Scroll','Party Blessing 10 Scroll','2','0','10','5','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','itemskill(CASH_BLESSING, 10, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('14589','Pty_Inc_Agi_Scroll','Party Increase Agi 10 Scroll','2','0','10','5','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','itemskill(CASH_INCAGI, 10, ISF_CHECKCONDITIONS | ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('14590','Pty_Assumptio_Scroll','Party Assumptio 5 Scroll','2','0','10','5','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','itemskill(CASH_ASSUMPTIO, 5, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('14591','Siege_Teleport_Scroll','WoE Teleport Scroll','2','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,'1',NULL,'0',NULL,'0','callfunc \"F_CashSiegeTele\";','','');
REPLACE INTO `item_db` VALUES ('14592','Job_Manual50','Job Battle Manual','2','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,'1',NULL,'0',NULL,'0','sc_start SC_CASH_PLUSONLYJOBEXP,1800000,50;','','');
-REPLACE INTO `item_db` VALUES ('14593','Magic_Power_Scroll','Mystical Amplification Scroll','11','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,'1',NULL,'0',NULL,'0','itemskill HW_MAGICPOWER,10;','','');
-REPLACE INTO `item_db` VALUES ('14594','Quagmire_Scroll','Quagmire scroll','11','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,'1',NULL,'0',NULL,'0','itemskill WZ_QUAGMIRE,5;','','');
+REPLACE INTO `item_db` VALUES ('14593','Magic_Power_Scroll','Mystical Amplification Scroll','2','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,'1',NULL,'0',NULL,'0','itemskill(HW_MAGICPOWER, 10, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
+REPLACE INTO `item_db` VALUES ('14594','Quagmire_Scroll','Quagmire scroll','2','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,'1',NULL,'0',NULL,'0','itemskill WZ_QUAGMIRE,5;','','');
REPLACE INTO `item_db` VALUES ('14595','Unsealed_Magic_Spell','Unsealed Magic Spell','2','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','507',NULL,'0',NULL,'0',NULL,'0','warp \"yuno_fild09\",255,127;','','');
REPLACE INTO `item_db` VALUES ('14596','Pierre_Treasurebox','Pierre\'s Treasurebox','2','0','0','0','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','getrandgroupitem 14596,1; getrandgroupitem 14596,1; getrandgroupitem 14596,1; getrandgroupitem 14596,1; getrandgroupitem 14596,1; getrandgroupitem 14596,1;','','');
REPLACE INTO `item_db` VALUES ('14597','PhreeoniS','Phreeoni Scroll','2','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','sc_start SC_FOOD_BASICHIT, 180000, 100;','','');
REPLACE INTO `item_db` VALUES ('14598','GhostringS','Ghostring Scroll','2','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','specialeffect(EF_LIGHTSPHERE, AREA, playerattached()); sc_start4 SC_ARMOR_PROPERTY, 60000, 1, Ele_Neutral, 1, 0;','','');
-REPLACE INTO `item_db` VALUES ('14599','Greed_Scroll_C','Greed Scroll','2','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,'1',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('14599','Greed_Scroll_C','Greed Scroll','2','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,'1',NULL,'0',NULL,'0','itemskill(BS_GREED, 1, ISF_INSTANTCAST | ISF_CASTONSELF);','','');
REPLACE INTO `item_db` VALUES ('14600','Mental_Potion','Mental Potion','2','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','specialeffect(EF_SPELLBREAKER, AREA, playerattached()); sc_start SC_TARGET_ASPD, 1800000, 10;','','');
REPLACE INTO `item_db` VALUES ('14601','Tyrs_Blessing','Tyr\'s Blessing','2','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','sc_start SC_FOOD_BASICAVOIDANCE, 300000, 30; sc_start SC_FOOD_BASICHIT, 300000, 30; sc_start SC_PLUSATTACKPOWER, 300000, 20; sc_start SC_PLUSMAGICPOWER, 300000, 20;','','');
REPLACE INTO `item_db` VALUES ('14602','TaogunkaS','Tao Gunka Scroll','2','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','specialeffect(EF_LIGHTSPHERE, AREA, playerattached()); sc_start4 SC_MVPCARD_TAOGUNKA, 1800000, 100, 50, 50, 0;','','');
@@ -8121,13 +8143,28 @@ REPLACE INTO `item_db` VALUES ('15212','YSF01_Plate','YSF01_Plate','3','0','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 ('15278','Overwhelm_Str_Armor','Overwhelm_Str_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 ('15279','Overwhelm_Int_Armor','Overwhelm_Int_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 ('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 ('15346','Overwhelm_Luk_Armor','Overwhelm_Luk_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 ('15347','Overwhelm_Vit_Armor','Overwhelm_Vit_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 ('15353','Overwhelm_Agi_Armor','Overwhelm_Agi_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 ('15354','Overwhelm_Dex_Armor','Overwhelm_Dex_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 ('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 ('15378','Lava_Leather_Armor','Lava_Leather_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 ('15379','Lava_Leather_Suits','Lava_Leather_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 ('15380','Lava_Leather_Robe','Lava_Leather_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 ('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 ('15391','DragonA_Red','DragonA_Red','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15392','DragonA_Green','DragonA_Green','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15393','DragonA_Gold','DragonA_Gold','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15394','DragonA_Purple','DragonA_Purple','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15395','DragonA_Blue','DragonA_Blue','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('15396','DragonA_Silver','DragonA_Silver','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -8169,6 +8206,7 @@ REPLACE INTO `item_db` VALUES ('16075','Rebeginer_NC_Mace','Rebeginer_NC_Mace','
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 ('16099','Ein_1HHAMMER','Ein_1HHAMMER','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -8198,7 +8236,7 @@ REPLACE INTO `item_db` VALUES ('16249','Knight_Gift_Box','Knight\'s Gift Box','2
REPLACE INTO `item_db` VALUES ('16251','Gemini_Diadem_Box','Gemini Diadem 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 5569,1;','','');
REPLACE INTO `item_db` VALUES ('16252','Gemini_Crown_Box','Gemini Crown 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 5570,1;','','');
REPLACE INTO `item_db` VALUES ('16253','Rabbit_Scroll','Rabbit Scroll','2','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 ('16254','Energizing_Potion_Box','Activation Potion 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','','','');
+REPLACE INTO `item_db` VALUES ('16254','Energizing_Potion_Box','Activation Potion 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(Acti_Potion, 5);','','');
REPLACE INTO `item_db` VALUES ('16257','Buddah_Scroll','French Heart Scroll','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('16258','HD_Bradium_Box5','HD Bradium 5 Box','2','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 6226,5;','','');
REPLACE INTO `item_db` VALUES ('16259','HD_Carnium_Box5','HD Carnium 5 Box','2','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 6225,5;','','');
@@ -8500,6 +8538,7 @@ REPLACE INTO `item_db` VALUES ('17209','Tw_Rainbow_Scroll','Tw Rainbow Scroll','
REPLACE INTO `item_db` VALUES ('17210','Tw_Red_Scroll','Tw Red Scroll','2','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17211','Tw_Orange_Scroll','Tw Orange Scroll','2','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','packageitem();','','');
REPLACE INTO `item_db` VALUES ('17212','Tw_Yellow_Scroll','Tw Yellow Scroll','2','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','packageitem();','','');
+REPLACE INTO `item_db` VALUES ('17224','Almighty_Box','Almighty 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(Almighty, 10);','','');
REPLACE INTO `item_db` VALUES ('17226','C_Center_Potion_Box','Infinite Concentration Potion Box','18','0','10','5','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 C_Center_Potion,604800;','','');
REPLACE INTO `item_db` VALUES ('17227','C_Awakening_Potion_Box','Infinite Awakening Potion Box','18','0','10','5','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 C_Awakening_Potion,604800;','','');
REPLACE INTO `item_db` VALUES ('17228','C_Berserk_Potion_Box','Infinite Berserk Potion Box','18','0','10','5','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 Infinite_Berserk_Potion,604800;','','');
@@ -8584,6 +8623,7 @@ REPLACE INTO `item_db` VALUES ('18126','Ru_Blue_Bow','Blue Bow','4','11','20','1
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 ('18164','Royal_Bow_K','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 ('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','','','');
@@ -8593,6 +8633,7 @@ REPLACE INTO `item_db` VALUES ('18179','MH_P89_OS','MH_P89_OS','3','0','0','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 ('18190','Ein_BHBOW','Ein_BHBOW','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -9814,10 +9855,17 @@ REPLACE INTO `item_db` VALUES ('20514','C_Thanatos_Sword','C_Thanatos_Sword','3'
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 ('20519','C_Full_BloomCherry_Tree','C_Full_BloomCherry_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 ('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 ('20543','C_Halloween_Poring_Bag','C_Halloween_Poring_Bag','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20546','C_Backside_Ribbon_Bell','C_Backside_Ribbon_Bell','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20570','C_HeartChocoBag','C_HeartChocoBag','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20572','C_WingOfHeart','C_WingOfHeart','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20576','C_Cat_Fork','C_Cat_Fork','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20584','C_Big_Foxtail','C_Big_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 ('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;','','');
@@ -9870,6 +9918,13 @@ REPLACE INTO `item_db` VALUES ('20934','Illusion_Engine_B','Illusion_Engine_B','
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 ('20946','Drag_Manteau','Drag_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 ('20963','Temporal_M_Str','Temporal_M_Str','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20964','Temporal_M_Agi','Temporal_M_Agi','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20965','Temporal_M_Vit','Temporal_M_Vit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20966','Temporal_M_Int','Temporal_M_Int','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20967','Temporal_M_Dex','Temporal_M_Dex','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('20968','Temporal_M_Luk','Temporal_M_Luk','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -9890,8 +9945,11 @@ REPLACE INTO `item_db` VALUES ('21016','Two_Handed_Sword_of_Vicious_Mind','Two-H
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 ('21038','Oriental_Sword','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 ('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 ('21050','Taegoolyeon_IL','Taegoolyeon_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 ('21054','Ein_BHSWORD','Ein_BHSWORD','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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; }','','');
@@ -9943,12 +10001,13 @@ REPLACE INTO `item_db` VALUES ('22192','Goibne_Boots_IL','Goibne_Boots_IL','3','
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 ('22208','Dragon_Boots','Dragon_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','','','');
REPLACE INTO `item_db` VALUES ('22534','Closedmind_Box','Closed Mind Box','18','0','10','5','1000','0','0','0','0','0','18446744073709551615','63','2','0','0','1',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
REPLACE INTO `item_db` VALUES ('22537','PrizeOfHero','Prize Of Hero','2','0','0','0','100','0','0','0','0','0','18446744073709551615','63','2','0','0','1',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','56','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 ('22540','Runstone_Lux','Lux Anima Rune','2','0','2','1','100','0','0','0','0','0','128','56','2','0','0','0',NULL,'0','1','0','0','0','0','60000','475',NULL,'0',NULL,'60','1','0','itemskill RK_LUXANIMA, 1;','','');
REPLACE INTO `item_db` VALUES ('22669','HALLOWEEN_G_BOX','Halloween Box','2','0','0','0','20','0','0','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 22669,1;','','');
REPLACE INTO `item_db` VALUES ('22670','DARK_INVITATION','Invitation of Darkness','2','0','10','5','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','.@temp = rand(1,3); if (.@temp == 1) { specialeffect(EF_DEVIL, AREA, playerattached()); warp \"niflheim\",193,186; } else if (.@temp == 2) { specialeffect(EF_DEVIL, AREA, playerattached()); warp \"niflheim\",106,254; } else { specialeffect(EF_DEVIL, AREA, playerattached()); warp \"niflheim\",347,255; }','','');
REPLACE INTO `item_db` VALUES ('22675','Mysterious_Scroll','Mysterious Scroll','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','sc_start SC_FOOD_INT,3600000,30;','','');
@@ -9956,6 +10015,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;','','');
@@ -10003,10 +10068,12 @@ REPLACE INTO `item_db` VALUES ('23357','Buy_Arbeit1_1Lv_','Buy_Arbeit1_1Lv_','3'
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 ('23436','Shadow_Refine_Hammer','Shadow_Refine_Hammer','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('23474','InfinityShadow_Mix','InfinityShadow_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -10033,6 +10100,9 @@ REPLACE INTO `item_db` VALUES ('23505','Yellow_Potion_B_20','Yellow_Potion_B_20'
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 ('23545','Silver_Statue','Silver_Statue','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23546','Cursed_Blood','Cursed_Blood','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23547','Gold_Statue','Gold_Statue','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -10054,11 +10124,22 @@ REPLACE INTO `item_db` VALUES ('23587','Rebeginer_Box_120','Rebeginer_Box_120','
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 ('23665','PhysicalMagical_Mix','PhysicalMagical_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23666','ImmunedAthena_Mix','ImmunedAthena_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23667','HardChamption_Mix','HardChamption_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23668','KingbirdAncient_Mix','KingbirdAncient_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23669','CriticalHit_Mix','CriticalHit_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23675','Geffen_Magic_Scroll','Geffen_Magic_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 ('23676','Gray_Charcoal_Melee','Gray_Charcoal_Melee','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23677','Gray_Charcoal_Magic','Gray_Charcoal_Magic','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23678','Gray_Charcoal_Range','Gray_Charcoal_Range','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23679','Geffen_Magic_Scroll2','Geffen_Magic_Scroll2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('23720','Shadow_Random_Mix','Shadow_Random_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -10066,15 +10147,101 @@ REPLACE INTO `item_db` VALUES ('23772','EP17_1_SPC01','EP17_1_SPC01','3','0','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 ('23776','EP17_1_SPC05','EP17_1_SPC05','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23777','EP17_1_SPC06','EP17_1_SPC06','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23778','EP17_1_SPC07','EP17_1_SPC07','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23779','EP17_1_SPC08','EP17_1_SPC08','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23780','EP17_1_SPC09','EP17_1_SPC09','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23781','EP17_1_SPC10','EP17_1_SPC10','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23815','Magma_Essence','Magma_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 ('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 ('23818','Bs_Item_M_S_2','Bs_Item_M_S_2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23819','Bs_Item_M_S_8','Bs_Item_M_S_8','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23820','Bs_Item_M_S_10','Bs_Item_M_S_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 ('23821','Bs_Item_M_S_11','Bs_Item_M_S_11','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23822','Bs_Item_M_S_34','Bs_Item_M_S_34','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23823','Bs_Item_M_S_41','Bs_Item_M_S_41','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23824','Bs_Item_M_S_42','Bs_Item_M_S_42','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23825','Bs_Item_M_S_43','Bs_Item_M_S_43','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23826','Bs_Item_M_S_44','Bs_Item_M_S_44','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23827','Bs_Sha_M_S_1','Bs_Sha_M_S_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 ('23828','Bs_Sha_M_S_17','Bs_Sha_M_S_17','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23829','Bs_Sha_M_S_18','Bs_Sha_M_S_18','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23830','Bs_Sha_M_S_19','Bs_Sha_M_S_19','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23831','Bs_Sha_M_S_20','Bs_Sha_M_S_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 ('23832','Bs_Item_M_S_4','Bs_Item_M_S_4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23833','Bs_Item_M_S_6','Bs_Item_M_S_6','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23834','Bs_Item_M_S_7','Bs_Item_M_S_7','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23835','Bs_Item_M_S_12','Bs_Item_M_S_12','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23836','Bs_Item_M_S_13','Bs_Item_M_S_13','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23837','Bs_Item_M_S_15','Bs_Item_M_S_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 ('23838','Bs_Item_M_S_28','Bs_Item_M_S_28','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23839','Bs_Item_M_S_29','Bs_Item_M_S_29','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23840','Bs_Item_M_S_31','Bs_Item_M_S_31','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23841','Bs_Item_M_S_32','Bs_Item_M_S_32','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23842','Bs_Item_M_S_33','Bs_Item_M_S_33','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23843','Bs_Item_M_S_36','Bs_Item_M_S_36','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23844','Bs_Item_M_S_37','Bs_Item_M_S_37','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23845','Bs_Item_M_S_38','Bs_Item_M_S_38','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23846','Bs_Item_M_S_39','Bs_Item_M_S_39','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23847','Bs_Item_M_S_40','Bs_Item_M_S_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 ('23848','Bs_Item_M_S_45','Bs_Item_M_S_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 ('23849','Bs_Item_M_S_46','Bs_Item_M_S_46','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23850','Bs_Item_M_S_47','Bs_Item_M_S_47','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23851','Bs_Item_M_S_48','Bs_Item_M_S_48','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23852','Bs_Item_M_S_49','Bs_Item_M_S_49','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23853','Bs_Item_M_S_50','Bs_Item_M_S_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 ('23854','Bs_Sha_M_S_2','Bs_Sha_M_S_2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23855','Bs_Sha_M_S_5','Bs_Sha_M_S_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 ('23856','Bs_Sha_M_S_6','Bs_Sha_M_S_6','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23857','Bs_Sha_M_S_7','Bs_Sha_M_S_7','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23858','Bs_Sha_M_S_8','Bs_Sha_M_S_8','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23859','Bs_Sha_M_S_13','Bs_Sha_M_S_13','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23860','Bs_Sha_M_S_15','Bs_Sha_M_S_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 ('23861','Bs_Sha_M_S_16','Bs_Sha_M_S_16','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23862','Bs_Sha_M_S_23','Bs_Sha_M_S_23','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23863','Bs_Item_M_S_5','Bs_Item_M_S_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 ('23864','Bs_Item_M_S_9','Bs_Item_M_S_9','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23865','Bs_Item_M_S_14','Bs_Item_M_S_14','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23866','Bs_Item_M_S_16','Bs_Item_M_S_16','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23867','Bs_Item_M_S_17','Bs_Item_M_S_17','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23868','Bs_Item_M_S_19','Bs_Item_M_S_19','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23869','Bs_Item_M_S_27','Bs_Item_M_S_27','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23870','Bs_Item_M_S_35','Bs_Item_M_S_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 ('23871','Bs_Sha_M_S_9','Bs_Sha_M_S_9','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23872','Bs_Sha_M_S_10','Bs_Sha_M_S_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 ('23873','Bs_Sha_M_S_11','Bs_Sha_M_S_11','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23874','Bs_Sha_M_S_21','Bs_Sha_M_S_21','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23875','Bs_Sha_M_S_22','Bs_Sha_M_S_22','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23876','Bs_Item_M_S_1','Bs_Item_M_S_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 ('23877','Bs_Item_M_S_3','Bs_Item_M_S_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 ('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 ('23879','Bs_Item_M_S_18','Bs_Item_M_S_18','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23880','Bs_Item_M_S_20','Bs_Item_M_S_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 ('23881','Bs_Item_M_S_21','Bs_Item_M_S_21','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23882','Bs_Item_M_S_22','Bs_Item_M_S_22','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23883','Bs_Item_M_S_23','Bs_Item_M_S_23','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23884','Bs_Item_M_S_24','Bs_Item_M_S_24','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23885','Bs_Item_M_S_25','Bs_Item_M_S_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 ('23886','Bs_Item_M_S_26','Bs_Item_M_S_26','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23887','Bs_Item_M_S_30','Bs_Item_M_S_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 ('23888','Bs_Sha_M_S_3','Bs_Sha_M_S_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 ('23889','Bs_Sha_M_S_4','Bs_Sha_M_S_4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23890','Bs_Sha_M_S_12','Bs_Sha_M_S_12','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23891','Bs_Sha_M_S_14','Bs_Sha_M_S_14','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23892','Bs_Sha_M_S_24','Bs_Sha_M_S_24','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23893','Bs_Sha_M_S_25','Bs_Sha_M_S_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 ('23894','Bs_Item_M_S_51','Bs_Item_M_S_51','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('23926','Shadow_9_Refine_Hammer','Shadow_9_Refine_Hammer','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('23967','EnchantStone_Recipe_9m','EnchantStone_Recipe_9m','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('23981','Abyss_Ddbox','Abyss_Ddbox','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -10363,6 +10530,168 @@ REPLACE INTO `item_db` VALUES ('24418','S_Timeoverload_Shield','S_Timeoverload_S
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 ('24423','S_Tempest_Weapon','S_Tempest_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 ('24424','S_Tempest_Armor','S_Tempest_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 ('24425','S_PerfectSize_Weapon','S_PerfectSize_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 ('24426','S_PerfectSize_Armor','S_PerfectSize_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 ('24427','S_M_Exo_Co_Weapon','S_M_Exo_Co_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 ('24428','S_M_Viv_Dr_Weapon','S_M_Viv_Dr_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 ('24429','S_M_Sci_Hu_Weapon','S_M_Sci_Hu_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 ('24430','S_M_Fis_In_Weapon','S_M_Fis_In_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 ('24431','S_M_Exe_Ho_Weapon','S_M_Exe_Ho_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 ('24432','S_Penetration_Weapon','S_Penetration_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 ('24433','S_Penetration_Armor','S_Penetration_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 ('24434','S_Exe_Ho_Weapon','S_Exe_Ho_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 ('24435','S_Fis_In_Weapon','S_Fis_In_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 ('24436','S_Sci_Hu_Weapon','S_Sci_Hu_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 ('24437','S_Viv_Dr_Weapon','S_Viv_Dr_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 ('24438','S_Exo_Co_Weapon','S_Exo_Co_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 ('24439','S_Hasty_Weapon','S_Hasty_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 ('24440','S_Sonic_Armor','S_Sonic_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 ('24441','S_Sonic_Shield','S_Sonic_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 ('24442','S_Sonic_Shoes','S_Sonic_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 ('24443','S_Ignition_Weapon','S_Ignition_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 ('24444','S_Ignition_Pendant','S_Ignition_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 ('24445','S_Ignition_Earing','S_Ignition_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 ('24446','S_W_Breath_Armor','S_W_Breath_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 ('24447','S_W_Breath_Shield','S_W_Breath_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 ('24448','S_W_Breath_Shoes','S_W_Breath_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 ('24449','S_F_Breath_Weapon','S_F_Breath_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 ('24450','S_F_Breath_Pendant','S_F_Breath_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 ('24451','S_F_Breath_Earing','S_F_Breath_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 ('24452','S_Cluster_Armor','S_Cluster_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 ('24453','S_Cluster_Shield','S_Cluster_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 ('24454','S_Cluster_Shoes','S_Cluster_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 ('24455','S_Aimed_Weapon','S_Aimed_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 ('24456','S_Aimed_Pendant','S_Aimed_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 ('24457','S_Aimed_Earing','S_Aimed_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 ('24458','S_Arrow_Armor','S_Arrow_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 ('24459','S_Arrow_Shield','S_Arrow_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 ('24460','S_Arrow_Shoes','S_Arrow_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 ('24461','S_Shooting_Weapon','S_Shooting_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 ('24462','S_Shooting_Pendant','S_Shooting_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 ('24463','S_Shooting_Earing','S_Shooting_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 ('24464','S_Tornado_Armor','S_Tornado_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 ('24465','S_Tornado_Shield','S_Tornado_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 ('24466','S_Tornado_Shoes','S_Tornado_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 ('24467','S_Boomerang_Weapon','S_Boomerang_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 ('24468','S_Boomerang_Pendant','S_Boomerang_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 ('24469','S_Boomerang_Earing','S_Boomerang_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 ('24470','S_Vulcan_Armor','S_Vulcan_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 ('24471','S_Vulcan_Shield','S_Vulcan_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 ('24472','S_Vulcan_Shoes','S_Vulcan_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 ('24473','S_Arms_Weapon','S_Arms_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 ('24474','S_Arms_Pendant','S_Arms_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 ('24475','S_Arms_Earing','S_Arms_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 ('24476','S_Rampage_Armor','S_Rampage_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 ('24477','S_Rampage_Shield','S_Rampage_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 ('24478','S_Rampage_Shoes','S_Rampage_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 ('24479','S_Skynetblow_Weapon','S_Skynetblow_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 ('24480','S_Skynetblow_Pendant','S_Skynetblow_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 ('24481','S_Skynetblow_Earing','S_Skynetblow_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 ('24482','S_Knucklearrow_Armor','S_Knucklearrow_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 ('24483','S_Knucklearrow_Shield','S_Knucklearrow_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 ('24484','S_Knucklearrow_Shoes','S_Knucklearrow_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 ('24485','S_TigerCannon_Weapon','S_TigerCannon_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 ('24486','S_Tigercannon_Pendant','S_Tigercannon_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 ('24487','S_Tigercannon_Earing','S_Tigercannon_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 ('24488','S_Duplelight_Armor','S_Duplelight_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 ('24489','S_Duplelight_Shield','S_Duplelight_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 ('24490','S_Duplelight_Shoes','S_Duplelight_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 ('24491','S_Adoramus_Weapon','S_Adoramus_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 ('24492','S_Adoramus_Pendant','S_Adoramus_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 ('24493','S_Adoramus_Earing','S_Adoramus_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 ('24494','S_Judex_Armor','S_Judex_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 ('24495','S_Judex_Shield','S_Judex_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 ('24496','S_Judex_Shoes','S_Judex_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 ('24497','S_Magnus_Weapon','S_Magnus_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 ('24498','S_Magnus_Pendant','S_Magnus_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 ('24499','S_Magnus_Earing','S_Magnus_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 ('24500','S_Rainstorm_Armor','S_Rainstorm_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 ('24501','S_Rainstorm_Shield','S_Rainstorm_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 ('24502','S_Rainstorm_Shoes','S_Rainstorm_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 ('24503','S_Arrowvulcan_Weapon','S_Arrowvulcan_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 ('24504','S_Arrowvulcan_Pendant','S_Arrowvulcan_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 ('24505','S_Arrowvulcan_Earing','S_Arrowvulcan_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 ('24506','S_Metalic_Armor','S_Metalic_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 ('24507','S_Metalic_Shield','S_Metalic_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 ('24508','S_Metalic_Shoes','S_Metalic_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 ('24509','S_Reverberation_Weapon','S_Reverberation_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 ('24510','S_Reverberation_Pendant','S_Reverberation_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 ('24511','S_Reverberation_Earing','S_Reverberation_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 ('24512','S_Jack_Armor','S_Jack_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 ('24513','S_Jack_Shield','S_Jack_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 ('24514','S_Jack_Shoes','S_Jack_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 ('24515','S_Strain_Weapon','S_Strain_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 ('24516','S_Strain_Pendant','S_Strain_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 ('24517','S_Strain_Earing','S_Strain_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 ('24518','S_Crimson_Armor','S_Crimson_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 ('24519','S_Crimson_Shield','S_Crimson_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 ('24520','S_Crimson_Shoes','S_Crimson_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 ('24521','S_Chain_Weapon','S_Chain_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 ('24522','S_Chain_Pendant','S_Chain_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 ('24523','S_Chain_Earing','S_Chain_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 ('24524','S_Triangle_Armor','S_Triangle_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 ('24525','S_Triangle_Shield','S_Triangle_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 ('24526','S_Triangle_Shoes','S_Triangle_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 ('24527','S_Shadowspell_Weapon','S_Shadowspell_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 ('24528','S_Shadowspell_Pendant','S_Shadowspell_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 ('24529','S_Shadowspell_Earing','S_Shadowspell_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 ('24530','S_Menace_Armor','S_Menace_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 ('24531','S_Menace_Shield','S_Menace_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 ('24532','S_Menace_Shoes','S_Menace_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 ('24533','S_Paint_Weapon','S_Paint_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 ('24534','S_Paint_Pendant','S_Paint_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 ('24535','S_Paint_Earing','S_Paint_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 ('24536','S_Rolling_Armor','S_Rolling_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 ('24537','S_Rolling_Shield','S_Rolling_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 ('24538','S_Rolling_Shoes','S_Rolling_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 ('24539','S_Katar_Weapon','S_Katar_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 ('24540','S_Katar_Pendant','S_Katar_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 ('24541','S_Katar_Earing','S_Katar_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 ('24542','S_Slash_Armor','S_Slash_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 ('24543','S_Slash_Shield','S_Slash_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 ('24544','S_Slash_Shoes','S_Slash_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 ('24545','S_Ripper_Weapon','S_Ripper_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 ('24546','S_Ripper_Pendant','S_Ripper_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 ('24547','S_Ripper_Earing','S_Ripper_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 ('24548','S_Dust_Armor','S_Dust_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 ('24549','S_Dust_Shield','S_Dust_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 ('24550','S_Dust_Shoes','S_Dust_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 ('24551','S_Grave_Weapon','S_Grave_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 ('24552','S_Grave_Pendant','S_Grave_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 ('24553','S_Grave_Earing','S_Grave_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 ('24554','S_Psychic_Armor','S_Psychic_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 ('24555','S_Psychic_Shield','S_Psychic_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 ('24556','S_Psychic_Shoes','S_Psychic_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 ('24557','S_Varetyr_Weapon','S_Varetyr_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 ('24558','S_Varetyr_Pendant','S_Varetyr_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 ('24559','S_Varetyr_Earing','S_Varetyr_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 ('24560','S_Cart_Tornado_Armor','S_Cart_Tornado_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 ('24561','S_Cart_Tornado_Shield','S_Cart_Tornado_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 ('24562','S_Cart_Tornado_Shoes','S_Cart_Tornado_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 ('24563','S_Cannon_Cart_Weapon','S_Cannon_Cart_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 ('24564','S_Cannon_Cart_Pendant','S_Cannon_Cart_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 ('24565','S_Cannon_Cart_Earing','S_Cannon_Cart_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 ('24566','S_Spore_Bomb_Armor','S_Spore_Bomb_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 ('24567','S_Spore_Bomb_Shield','S_Spore_Bomb_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 ('24568','S_Spore_Bomb_Shoes','S_Spore_Bomb_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 ('24569','S_Crazy_Weapon','S_Crazy_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 ('24570','S_Crazy_Pendant','S_Crazy_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 ('24571','S_Crazy_Earing','S_Crazy_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 ('24572','S_Brand_Armor','S_Brand_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 ('24573','S_Brand_Shield','S_Brand_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 ('24574','S_Brand_Shoes','S_Brand_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 ('24575','S_Chain_Press_Weapon','S_Chain_Press_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 ('24576','S_Chain_Press_Pendant','S_Chain_Press_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 ('24577','S_Chain_Press_Earing','S_Chain_Press_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 ('24578','S_Banish_Cannon_Armor','S_Banish_Cannon_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 ('24579','S_Banish_Cannon_Shield','S_Banish_Cannon_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 ('24580','S_Banish_Cannon_Shoes','S_Banish_Cannon_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 ('24581','S_Genesis_Weapon','S_Genesis_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 ('24582','S_Genesis_Pendant','S_Genesis_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 ('24583','S_Genesis_Earing','S_Genesis_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 ('25187','Slug_Bullet','Slug Bullet','3','0','1200','600','1200','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -10469,17 +10798,58 @@ REPLACE INTO `item_db` VALUES ('25735','Unsealing_Token','Unsealing_Token','3','
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 ('25797','SuraStone_Robe2','SuraStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25798','SuraStone_Bottom2','SuraStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25799','SuraStone_Middle2','SuraStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25800','SuraStone_Top2','SuraStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25801','SorcererStone_Robe2','SorcererStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25802','SorcererStone_Bottom2','SorcererStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25803','SorcererStone_Middle2','SorcererStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25804','SorcererStone_Top2','SorcererStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25805','ShadowchaserStone_Robe2','ShadowchaserStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25806','ShadowchasStone_Bottom2','ShadowchasStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25807','ShadowchasStone_Middle2','ShadowchasStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25808','ShadowchaserStone_Top2','ShadowchaserStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25815','Ein_SOLIDDUST','Ein_SOLIDDUST','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25816','Ein_RUSTHELM','Ein_RUSTHELM','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25817','Ein_EYEROCK','Ein_EYEROCK','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('25842','SoulreaperStone_Robe','SoulreaperStone_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 ('25843','SoullinkerStone_Top','SoullinkerStone_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 ('25844','SoullinkerStone_Middle','SoullinkerStone_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 ('25845','SoullinkerStone_Bottom','SoullinkerStone_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 ('25846','GladiatorStone_Top','GladiatorStone_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 ('25847','GladiatorStone_Middle','GladiatorStone_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 ('25848','GladiatorStone_Bottom','GladiatorStone_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 ('25849','StaremperorStone_Robe','StaremperorStone_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 ('25850','NinjaStone_Top','NinjaStone_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 ('25851','NinjaStone_Middle','NinjaStone_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 ('25852','NinjaStone_Bottom','NinjaStone_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 ('25853','KagerouStone_Robe','KagerouStone_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 ('25854','OboroStone_Robe','OboroStone_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 ('25855','GunslingerStone_Top','GunslingerStone_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 ('25856','GunslingerStone_Middle','GunslingerStone_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 ('25857','GunslingerStone_Bottom','GunslingerStone_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 ('25858','RebellionStone_Robe','RebellionStone_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 ('25859','DoramStone_Top','DoramStone_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 ('25860','DoramStone_Middle','DoramStone_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 ('25861','DoramStone_Bottom','DoramStone_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 ('25862','DoramStone_Robe','DoramStone_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 ('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 ('26118','Shadow_Staff_K','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 ('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 ('26154','SoulWeight','SoulWeight','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('26162','Ein_1HWAND','Ein_1HWAND','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('26164','ElectricFox_OS','ElectricFox_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 ('26215','Ein_1HWHIP','Ein_1HWHIP','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;');
@@ -10492,14 +10862,18 @@ REPLACE INTO `item_db` VALUES ('28022','Infiltrator_IL','Infiltrator_IL','3','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 ('28039','Shiver_Katar_K','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 ('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 ('28045','Ein_BHKATAR','Ein_BHKATAR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('28130','Avenger','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 ('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 ('28140','Ein_BHAXE','Ein_BHAXE','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -10511,6 +10885,11 @@ REPLACE INTO `item_db` VALUES ('28242','Calf_Anaconda','Calf_Anaconda','3','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 ('28254','Butcher_IL','Butcher_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 ('28255','Master_Soul_Rifle','Master_Soul_Rifle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28256','Demon_S_Shot','Demon_S_Shot','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28257','Golden_L_Launcher','Golden_L_Launcher','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28258','The_Black_Gatling','The_Black_Gatling','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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;','','');
@@ -10554,16 +10933,24 @@ REPLACE INTO `item_db` VALUES ('28612','Book_Of_The_Apo_IL','Book_Of_The_Apo_IL'
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 ('28630','Demon_Hunting_Bible_K','Demon_Hunting_Bible_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 ('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 ('28635','Ein_1HBOOK','Ein_1HBOOK','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('28744','Magic_Sword','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 ('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 ('28762','Bazerald_IL','Bazerald_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 ('28763','Sharp_Wind_Sword','Sharp_Wind_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 ('28764','Fog_Dew_Sword','Fog_Dew_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 ('28771','Ein_1HDAGGER','Ein_1HDAGGER','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('28772','Ein_1HMAGGER','Ein_1HMAGGER','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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; }','','');
@@ -10629,6 +11016,7 @@ REPLACE INTO `item_db` VALUES ('31332','C_Khalitzburg_Helm_BL','C_Khalitzburg_He
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 ('31382','C_Cat_Ears_Punkish','C_Cat_Ears_Punkish','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
@@ -10641,31 +11029,278 @@ REPLACE INTO `item_db` VALUES ('31432','C_Luwmin_Ice','C_Luwmin_Ice','3','0','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 ('31440','C_Snow_Bear_Food','C_Snow_Bear_Food','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('31481','C_CatCoffeeCup_TW','C_CatCoffeeCup_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 ('31483','C_CatEarRibbon_TW','C_CatEarRibbon_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 ('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 ('31512','C_Panda_Rabbit','C_Panda_Rabbit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('31565','C_Princess_Ribbon_Crown','C_Princess_Ribbon_Crown','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31569','C_OpenAir_Headset','C_OpenAir_Headset','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31572','C_Mobile_Pursuit_System','C_Mobile_Pursuit_System','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31573','C_Mecha_Cat_Ears','C_Mecha_Cat_Ears','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31574','C_Cyber_Income','C_Cyber_Income','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('31586','C_Poporing_Muffler','C_Poporing_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 ('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 ('31600','C_Kishu_Inu','C_Kishu_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 ('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 ('31614','C_Fox','C_Fox','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31616','C_Sleep_Sheep_TW','C_Sleep_Sheep_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 ('31624','C_HeartOfCat_TW','C_HeartOfCat_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 ('31625','C_Protect_Cloth','C_Protect_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 ('31693','C_LunaticMuffler','C_LunaticMuffler','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31698','C_Pigtail_Red_Hood','C_Pigtail_Red_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 ('31699','C_Smiling_Eyes','C_Smiling_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 ('31765','C_Garnet_Tiara','C_Garnet_Tiara','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31766','C_Peony_Hair_Ornament','C_Peony_Hair_Ornament','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31787','C_SavageB_On_Shoulder','C_SavageB_On_Shoulder','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('31798','C_Baby_Panda','C_Baby_Panda','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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 ('32018','Undine_Spear_K','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 ('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 ('32026','Ein_1HSPEAR','Ein_1HSPEAR','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32110','Ein_1HLUTE','Ein_1HLUTE','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','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','','','');
+REPLACE INTO `item_db` VALUES ('32301','Gold_Lux_IL','Gold_Lux_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 ('32302','Crimson_Rose','Crimson_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 ('32303','Ein_1HGUN','Ein_1HGUN','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('32352','Ein_1HSWORD','Ein_1HSWORD','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100000','IDTest_Special','IDTest_Special','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100003','ILL_Piece_A','ILL_Piece_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 ('100004','ILL_Piece_B','ILL_Piece_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 ('100009','Joy_Of_Victory','Joy_Of_Victory','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100010','PerfectSize_Mix','PerfectSize_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100011','MagicPiercing_Mix','MagicPiercing_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100023','Ancient_Hero_Bravery','Ancient_Hero_Bravery','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100025','Ancient_Hero_Wisdom','Ancient_Hero_Wisdom','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100043','Boost_Up_1','Boost_Up_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 ('100044','Boost_Up_2','Boost_Up_2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100053','Piercing_Mix','Piercing_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100058','Hasty_Mix','Hasty_Mix','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100060','EnchantStone_Recipe_4m','EnchantStone_Recipe_4m','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100128','Noblesse_Rifine_Ticket','Noblesse_Rifine_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 ('100129','Imperial_Rifine_Ticket','Imperial_Rifine_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 ('100130','Grace_Rifine_Ticket','Grace_Rifine_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 ('100131','Imperial_Convert1','Imperial_Convert1','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100132','Imperial_Convert2','Imperial_Convert2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100133','Grace_Convert1','Grace_Convert1','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100134','Grace_Convert2','Grace_Convert2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100135','Imperial_Convert3','Imperial_Convert3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100136','Imperial_Convert4','Imperial_Convert4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100137','Grace_Convert3','Grace_Convert3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100138','Grace_Convert4','Grace_Convert4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100142','Abyss_Ddbox2','Abyss_Ddbox2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100144','Abyss_Ddbox3','Abyss_Ddbox3','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('100145','Abyss_Ddbox4','Abyss_Ddbox4','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('400002','Victory_Wing_Ear_','Victory_Wing_Ear_','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('400020','C_BeachBall','C_BeachBall','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('440000','C_SharkHead','C_SharkHead','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450001','Atker_Plate','Atker_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 ('450002','Ele_Robe','Ele_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 ('450003','Defn_Robe','Defn_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 ('450004','Ran_Suits','Ran_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 ('450018','Noblesse_Breath_Armor','Noblesse_Breath_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 ('450019','Noblesse_Knight_Armor','Noblesse_Knight_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 ('450020','Noblesse_Spear_Armor','Noblesse_Spear_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 ('450021','Noblesse_Genesis_Armor','Noblesse_Genesis_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 ('450022','Noblesse_Sharp_Suit','Noblesse_Sharp_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450023','Noblesse_Aim_Suit','Noblesse_Aim_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450024','Noblesse_Severe_Suit','Noblesse_Severe_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450025','Noblesse_Reverb_Suit','Noblesse_Reverb_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450026','Noblesse_Adora_Robe','Noblesse_Adora_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 ('450027','Noblesse_Duple_Robe','Noblesse_Duple_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 ('450028','Noblesse_Tonado_Armor','Noblesse_Tonado_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 ('450029','Noblesse_Vulcan_Armor','Noblesse_Vulcan_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 ('450030','Noblesse_Kart_Suit','Noblesse_Kart_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450031','Noblesse_Kart_Suit2','Noblesse_Kart_Suit2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450032','Noblesse_Rolling_Suit','Noblesse_Rolling_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450033','Noblesse_Assasin_Suit','Noblesse_Assasin_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450034','Noblesse_Fatal_Suit','Noblesse_Fatal_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450035','Noblesse_Stalker_Suit','Noblesse_Stalker_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450036','Noblesse_Picky_Robe','Noblesse_Picky_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 ('450037','Noblesse_Carrot_Robe','Noblesse_Carrot_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 ('450038','Noblesse_Trip_Suit','Noblesse_Trip_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450039','Noblesse_Firerain_Suit','Noblesse_Firerain_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450040','Noblesse_Crimson_Robe','Noblesse_Crimson_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 ('450041','Noblesse_Frost_Robe','Noblesse_Frost_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 ('450042','Noblesse_Psychic_Robe','Noblesse_Psychic_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 ('450043','Noblesse_Dust_Robe','Noblesse_Dust_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 ('450044','Noblesse_Sun_Suit','Noblesse_Sun_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450045','Noblesse_Moon_Suit','Noblesse_Moon_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450046','Noblesse_Ninja_Suit','Noblesse_Ninja_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450047','Noblesse_Kunai_Suit','Noblesse_Kunai_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450048','Noblesse_Swhoo_Robe','Noblesse_Swhoo_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 ('450049','Noblesse_Explosion_Robe','Noblesse_Explosion_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 ('450050','Noblesse_Knuckle_Suit','Noblesse_Knuckle_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450051','Noblesse_Tiger_Suit','Noblesse_Tiger_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450052','Imperial_Breath_Armor','Imperial_Breath_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 ('450053','Imperial_Knight_Armor','Imperial_Knight_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 ('450054','Imperial_Spear_Armor','Imperial_Spear_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 ('450055','Imperial_Genesis_Armor','Imperial_Genesis_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 ('450056','Imperial_Sharp_Suit','Imperial_Sharp_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450057','Imperial_Aim_Suit','Imperial_Aim_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450058','Imperial_Severe_Suit','Imperial_Severe_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450059','Imperial_Reverb_Suit','Imperial_Reverb_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450060','Imperial_Adora_Robe','Imperial_Adora_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 ('450061','Imperial_Duple_Robe','Imperial_Duple_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 ('450062','Imperial_Knuckle_Suit','Imperial_Knuckle_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450063','Imperial_Tiger_Suit','Imperial_Tiger_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450064','Imperial_Tonado_Armor','Imperial_Tonado_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 ('450065','Imperial_Vulcan_Armor','Imperial_Vulcan_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 ('450066','Imperial_Kart_Suit','Imperial_Kart_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450067','Imperial_Kart_Suit2','Imperial_Kart_Suit2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450068','Imperial_Rolling_Suit','Imperial_Rolling_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450069','Imperial_Assasin_Suit','Imperial_Assasin_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450070','Imperial_Fatal_Suit','Imperial_Fatal_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450071','Imperial_Stalker_Suit','Imperial_Stalker_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450072','Imperial_Picky_Robe','Imperial_Picky_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 ('450073','Imperial_Carrot_Robe','Imperial_Carrot_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 ('450074','Imperial_Trip_Suit','Imperial_Trip_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450075','Imperial_Firerain_Suit','Imperial_Firerain_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450076','Imperial_Crimson_Robe','Imperial_Crimson_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 ('450077','Imperial_Frost_Robe','Imperial_Frost_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 ('450078','Imperial_Psychic_Robe','Imperial_Psychic_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 ('450079','Imperial_Dust_Robe','Imperial_Dust_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 ('450080','Imperial_Sun_Suit','Imperial_Sun_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450081','Imperial_Moon_Suit','Imperial_Moon_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450082','Imperial_Ninja_Suit','Imperial_Ninja_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450083','Imperial_Kunai_Suit','Imperial_Kunai_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450084','Imperial_Swhoo_Robe','Imperial_Swhoo_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 ('450085','Imperial_Explosion_Robe','Imperial_Explosion_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 ('450086','Grace_Breath_Armor','Grace_Breath_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 ('450087','Grace_Knight_Armor','Grace_Knight_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 ('450088','Grace_Spear_Armor','Grace_Spear_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 ('450089','Grace_Genesis_Armor','Grace_Genesis_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 ('450090','Grace_Sharp_Suit','Grace_Sharp_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450091','Grace_Aim_Suit','Grace_Aim_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450092','Grace_Severe_Suit','Grace_Severe_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450093','Grace_Reverb_Suit','Grace_Reverb_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450094','Grace_Adora_Robe','Grace_Adora_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 ('450095','Grace_Duple_Robe','Grace_Duple_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 ('450096','Grace_Knuckle_Suit','Grace_Knuckle_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450097','Grace_Tiger_Suit','Grace_Tiger_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450098','Grace_Tonado_Armor','Grace_Tonado_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 ('450099','Grace_Vulcan_Armor','Grace_Vulcan_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 ('450100','Grace_Kart_Suit','Grace_Kart_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450101','Grace_Kart_Suit2','Grace_Kart_Suit2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450102','Grace_Rolling_Suit','Grace_Rolling_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450103','Grace_Assasin_Suit','Grace_Assasin_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450104','Grace_Fatal_Suit','Grace_Fatal_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450105','Grace_Stalker_Suit','Grace_Stalker_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450106','Grace_Picky_Robe','Grace_Picky_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 ('450107','Grace_Carrot_Robe','Grace_Carrot_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 ('450108','Grace_Trip_Suit','Grace_Trip_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450109','Grace_Firerain_Suit','Grace_Firerain_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450110','Grace_Crimson_Robe','Grace_Crimson_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 ('450111','Grace_Frost_Robe','Grace_Frost_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 ('450112','Grace_Psychic_Robe','Grace_Psychic_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 ('450113','Grace_Dust_Robe','Grace_Dust_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 ('450114','Grace_Sun_Suit','Grace_Sun_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450115','Grace_Moon_Suit','Grace_Moon_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450116','Grace_Ninja_Suit','Grace_Ninja_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450117','Grace_Kunai_Suit','Grace_Kunai_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450118','Grace_Swhoo_Robe','Grace_Swhoo_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 ('450119','Grace_Explosion_Robe','Grace_Explosion_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 ('450121','Noblesse_Snovice_Suit','Noblesse_Snovice_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450122','Noblesse_Snovice_Robe','Noblesse_Snovice_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 ('450123','Imperial_Snovice_Suit','Imperial_Snovice_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450124','Imperial_Snovice_Robe','Imperial_Snovice_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 ('450125','Grace_Snovice_Suit','Grace_Snovice_Suit','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('450126','Grace_Snovice_Robe','Grace_Snovice_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 ('470000','Atker_Greave','Atker_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 ('470001','Ele_Shoes','Ele_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 ('470002','Defn_Shoes','Defn_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 ('470003','Ran_Boots','Ran_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 ('470016','Noblesse_Attack_Boots','Noblesse_Attack_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 ('470017','Noblesse_Magic_Boots','Noblesse_Magic_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 ('470018','Imperial_Attack_Boots','Imperial_Attack_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 ('470019','Imperial_Magic_Boots','Imperial_Magic_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 ('470020','Grace_Attack_Boots','Grace_Attack_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 ('470021','Grace_Magic_Boots','Grace_Magic_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 ('480000','Atker_Manteau','Atker_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 ('480001','Ele_Muffler','Ele_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 ('480002','Defn_Muffler','Defn_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 ('480003','Ran_Manteau','Ran_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 ('480012','Noblesse_Attack_Manteau','Noblesse_Attack_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 ('480014','Noblesse_Magic_Manteau','Noblesse_Magic_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 ('480016','Imperial_Attack_Manteau','Imperial_Attack_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 ('480017','Imperial_Magic_Manteau','Imperial_Magic_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 ('480018','Grace_Attack_Manteau','Grace_Attack_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 ('480019','Grace_Magic_Manteau','Grace_Magic_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 ('500001','Boost_Sword','Boost_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 ('500003','Light_Blade','Light_Blade','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('500004','Slate_Sword','Slate_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 ('510001','Boost_Dagger','Boost_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 ('510002','Boost_Nindo','Boost_Nindo','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('510006','Fatalist','Fatalist','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('520000','Boost_Axe','Boost_Axe','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('530000','Boost_Spear','Boost_Spear','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('540000','Boost_Spl_Book','Boost_Spl_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 ('540001','Boost_Text','Boost_Text','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('550001','Boost_Soul_Rod','Boost_Soul_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 ('550002','Boost_Foxtail','Boost_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 ('550006','Ein_1H_Foxtail','Ein_1H_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 ('550007','Freezing_Rod','Freezing_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 ('560000','Boost_Knuckle','Boost_Knuckle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('560005','Ray_Knuckle','Ray_Knuckle','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('570000','Boost_Guitar','Boost_Guitar','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('570002','Trumpet_Shell_K','Trumpet_Shell_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 ('580000','Boost_Whip','Boost_Whip','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('580002','Barb_Wire_K','Barb_Wire_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 ('590000','Boost_Hall','Boost_Hall','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('590002','Meteor_Striker','Meteor_Striker','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('590003','Saint_Hall','Saint_Hall','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('600001','Boost_TH_Sword','Boost_TH_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 ('600004','Dragonic_Slayer','Dragonic_Slayer','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('610000','Boost_Katar','Boost_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 ('610003','Blade_Katar','Blade_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 ('640000','Boost_Staff','Boost_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 ('640004','Blue_Crystal_Staff','Blue_Crystal_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 ('700001','Boost_Bow','Boost_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 ('700003','Scalet_Dragon_L_Bow','Scalet_Dragon_L_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 ('830000','Boost_Gatling','Boost_Gatling','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000008','RangerStone_Top2','RangerStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000009','RangerStone_Middle2','RangerStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000010','RangerStone_Bottom2','RangerStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000011','RangerStone_Robe2','RangerStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000012','MechanicStone_Top2','MechanicStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000013','MechanicStone_Middle2','MechanicStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000014','MechanicStone_Bottom2','MechanicStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000015','MechanicStone_Robe2','MechanicStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000016','HighpriestStone_Top2','HighpriestStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000017','HighpriestStone_Middle2','HighpriestStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000018','HighpriestStone_Bottom2','HighpriestStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000019','ArchbishopStone_Robe2','ArchbishopStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000213','WarlockStone_Robe2','WarlockStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000214','WarlockStone_Top2','WarlockStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000215','WarlockStone_Middle2','WarlockStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000216','WarlockStone_Bottom2','WarlockStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000217','RoyalguardStone_Robe2','RoyalguardStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000218','PaladinStone_Top2','PaladinStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000219','PaladinStone_Middle2','PaladinStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000220','PaladinStone_Bottom2','PaladinStone_Bottom2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000221','GuillcrossStone_Robe2','GuillcrossStone_Robe2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000222','AssacrossStone_Top2','AssacrossStone_Top2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000223','AssacrossStone_Middle2','AssacrossStone_Middle2','3','0','0','0','0','0','0','0','0','0','18446744073709551615','63','2','0','0','0',NULL,'0','1','0','0','0','0','0','0',NULL,'0',NULL,'0',NULL,'0','','','');
+REPLACE INTO `item_db` VALUES ('1000224','AssacrossStone_Bottom2','AssacrossStone_Bottom2','3','0','0','0','0','0','0','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/logs.sql b/sql-files/logs.sql
index 6edf385a2..499afcfdb 100644
--- a/sql-files/logs.sql
+++ b/sql-files/logs.sql
@@ -1,8 +1,8 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2012-2015 Hercules Dev Team
--- Copyright (C) Athena Dev Teams
+-- Copyright (C) 2012-2020 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
@@ -42,10 +42,10 @@
--
CREATE TABLE IF NOT EXISTS `atcommandlog` (
- `atcommand_id` MEDIUMINT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `atcommand_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
`atcommand_date` DATETIME NULL,
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
`char_name` VARCHAR(25) NOT NULL DEFAULT '',
`map` VARCHAR(11) NOT NULL DEFAULT '',
`command` VARCHAR(255) NOT NULL DEFAULT '',
@@ -59,10 +59,10 @@ CREATE TABLE IF NOT EXISTS `atcommandlog` (
--
CREATE TABLE IF NOT EXISTS `branchlog` (
- `branch_id` MEDIUMINT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `branch_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
`branch_date` DATETIME NULL,
- `account_id` INT(11) NOT NULL DEFAULT '0',
- `char_id` INT(11) NOT NULL DEFAULT '0',
+ `account_id` INT NOT NULL DEFAULT '0',
+ `char_id` INT NOT NULL DEFAULT '0',
`char_name` VARCHAR(25) NOT NULL DEFAULT '',
`map` VARCHAR(11) NOT NULL DEFAULT '',
PRIMARY KEY(`branch_id`),
@@ -75,15 +75,15 @@ CREATE TABLE IF NOT EXISTS `branchlog` (
--
CREATE TABLE IF NOT EXISTS `chatlog` (
- `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
+ `id` BIGINT NOT NULL AUTO_INCREMENT,
`time` DATETIME NULL,
`type` ENUM('O','W','P','G','M','C') NOT NULL DEFAULT 'O',
- `type_id` INT(11) NOT NULL DEFAULT '0',
- `src_charid` INT(11) NOT NULL DEFAULT '0',
- `src_accountid` INT(11) NOT NULL DEFAULT '0',
+ `type_id` INT NOT NULL DEFAULT '0',
+ `src_charid` INT NOT NULL DEFAULT '0',
+ `src_accountid` INT NOT NULL DEFAULT '0',
`src_map` VARCHAR(11) NOT NULL DEFAULT '',
- `src_map_x` SMALLINT(4) NOT NULL DEFAULT '0',
- `src_map_y` SMALLINT(4) NOT NULL DEFAULT '0',
+ `src_map_x` SMALLINT NOT NULL DEFAULT '0',
+ `src_map_y` SMALLINT NOT NULL DEFAULT '0',
`dst_charname` VARCHAR(25) NOT NULL DEFAULT '',
`message` VARCHAR(150) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
@@ -99,7 +99,7 @@ CREATE TABLE IF NOT EXISTS `loginlog` (
`time` DATETIME NULL,
`ip` VARCHAR(15) NOT NULL DEFAULT '',
`user` VARCHAR(23) NOT NULL DEFAULT '',
- `rcode` TINYINT(4) NOT NULL DEFAULT '0',
+ `rcode` TINYINT NOT NULL DEFAULT '0',
`log` VARCHAR(255) NOT NULL DEFAULT '',
INDEX (`ip`)
) ENGINE=MyISAM;
@@ -109,12 +109,12 @@ CREATE TABLE IF NOT EXISTS `loginlog` (
--
CREATE TABLE IF NOT EXISTS `mvplog` (
- `mvp_id` MEDIUMINT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `mvp_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
`mvp_date` DATETIME NULL,
- `kill_char_id` INT(11) NOT NULL DEFAULT '0',
- `monster_id` SMALLINT(6) NOT NULL DEFAULT '0',
- `prize` INT(11) NOT NULL DEFAULT '0',
- `mvpexp` MEDIUMINT(9) NOT NULL DEFAULT '0',
+ `kill_char_id` INT NOT NULL DEFAULT '0',
+ `monster_id` SMALLINT NOT NULL DEFAULT '0',
+ `prize` INT NOT NULL DEFAULT '0',
+ `mvpexp` MEDIUMINT NOT NULL DEFAULT '0',
`map` VARCHAR(11) NOT NULL DEFAULT '',
PRIMARY KEY (`mvp_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1;
@@ -124,10 +124,10 @@ CREATE TABLE IF NOT EXISTS `mvplog` (
--
CREATE TABLE IF NOT EXISTS `npclog` (
- `npc_id` MEDIUMINT(9) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `npc_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
`npc_date` DATETIME NULL,
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
`char_name` VARCHAR(25) NOT NULL DEFAULT '',
`map` VARCHAR(11) NOT NULL DEFAULT '',
`mes` VARCHAR(255) NOT NULL DEFAULT '',
@@ -141,28 +141,28 @@ CREATE TABLE IF NOT EXISTS `npclog` (
--
CREATE TABLE IF NOT EXISTS `picklog` (
- `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `id` INT NOT NULL AUTO_INCREMENT,
`time` DATETIME NULL,
- `char_id` INT(11) NOT NULL DEFAULT '0',
- `type` ENUM('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','K','Y','Z','W','Q','J','H','@','0','1','2') NOT NULL DEFAULT 'P',
- `nameid` INT(11) NOT NULL DEFAULT '0',
- `amount` INT(11) NOT NULL DEFAULT '1',
- `refine` TINYINT(3) UNSIGNED 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) unsigned NOT NULL default '0',
- `opt_idx1` smallint(5) unsigned NOT NULL default '0',
- `opt_val1` smallint(5) unsigned NOT NULL default '0',
- `opt_idx2` smallint(5) unsigned NOT NULL default '0',
- `opt_val2` smallint(5) unsigned NOT NULL default '0',
- `opt_idx3` smallint(5) unsigned NOT NULL default '0',
- `opt_val3` smallint(5) unsigned NOT NULL default '0',
- `opt_idx4` smallint(5) unsigned NOT NULL default '0',
- `opt_val4` smallint(5) unsigned NOT NULL default '0',
- `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT NOT NULL DEFAULT '0',
+ `type` ENUM('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','K','Y','Z','W','Q','J','H','@','0','1','2','3') NOT NULL DEFAULT 'P',
+ `nameid` INT NOT NULL DEFAULT '0',
+ `amount` INT NOT NULL DEFAULT '1',
+ `refine` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT NOT NULL DEFAULT '0',
+ `card1` INT NOT NULL DEFAULT '0',
+ `card2` INT NOT NULL DEFAULT '0',
+ `card3` INT NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT unsigned NOT NULL default '0',
+ `opt_val0` SMALLINT unsigned NOT NULL default '0',
+ `opt_idx1` SMALLINT unsigned NOT NULL default '0',
+ `opt_val1` SMALLINT unsigned NOT NULL default '0',
+ `opt_idx2` SMALLINT unsigned NOT NULL default '0',
+ `opt_val2` SMALLINT unsigned NOT NULL default '0',
+ `opt_idx3` SMALLINT unsigned NOT NULL default '0',
+ `opt_val3` SMALLINT unsigned NOT NULL default '0',
+ `opt_idx4` SMALLINT unsigned NOT NULL default '0',
+ `opt_val4` SMALLINT unsigned NOT NULL default '0',
+ `unique_id` BIGINT UNSIGNED NOT NULL DEFAULT '0',
`map` VARCHAR(11) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
INDEX (`type`)
@@ -173,12 +173,12 @@ CREATE TABLE IF NOT EXISTS `picklog` (
--
CREATE TABLE IF NOT EXISTS `zenylog` (
- `id` INT(11) NOT NULL AUTO_INCREMENT,
+ `id` INT NOT NULL AUTO_INCREMENT,
`time` DATETIME NULL,
- `char_id` INT(11) NOT NULL DEFAULT '0',
- `src_id` INT(11) NOT NULL DEFAULT '0',
+ `char_id` INT NOT NULL DEFAULT '0',
+ `src_id` INT NOT NULL DEFAULT '0',
`type` ENUM('T','V','P','M','S','N','D','C','A','E','I','B','K') NOT NULL DEFAULT 'S',
- `amount` INT(11) NOT NULL DEFAULT '0',
+ `amount` INT NOT NULL DEFAULT '0',
`map` VARCHAR(11) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
INDEX (`type`)
diff --git a/sql-files/main.sql b/sql-files/main.sql
index a08ec60ba..dcd7e543d 100644
--- a/sql-files/main.sql
+++ b/sql-files/main.sql
@@ -1,8 +1,8 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2012-2016 Hercules Dev Team
--- Copyright (C) Athena Dev Teams
+-- Copyright (C) 2012-2020 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
@@ -22,11 +22,11 @@
--
CREATE TABLE IF NOT EXISTS `account_data` (
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `bank_vault` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `base_exp` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100',
- `base_drop` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100',
- `base_death` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '100',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `bank_vault` INT UNSIGNED NOT NULL DEFAULT '0',
+ `base_exp` SMALLINT UNSIGNED NOT NULL DEFAULT '100',
+ `base_drop` SMALLINT UNSIGNED NOT NULL DEFAULT '100',
+ `base_death` SMALLINT UNSIGNED NOT NULL DEFAULT '100',
PRIMARY KEY (`account_id`)
) ENGINE=MyISAM;
@@ -35,10 +35,10 @@ CREATE TABLE IF NOT EXISTS `account_data` (
--
CREATE TABLE IF NOT EXISTS `acc_reg_num_db` (
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
`key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
- `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `value` INT(11) NOT NULL DEFAULT '0',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT NOT NULL DEFAULT '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
@@ -48,9 +48,9 @@ CREATE TABLE IF NOT EXISTS `acc_reg_num_db` (
--
CREATE TABLE IF NOT EXISTS `acc_reg_str_db` (
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
`key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
- `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
`value` VARCHAR(254) NOT NULL DEFAULT '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
@@ -61,35 +61,35 @@ CREATE TABLE IF NOT EXISTS `acc_reg_str_db` (
--
CREATE TABLE IF NOT EXISTS `auction` (
- `auction_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
- `seller_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `auction_id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `seller_id` INT UNSIGNED NOT NULL DEFAULT '0',
`seller_name` VARCHAR(30) NOT NULL DEFAULT '',
- `buyer_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `buyer_id` INT UNSIGNED NOT NULL DEFAULT '0',
`buyer_name` VARCHAR(30) NOT NULL DEFAULT '',
- `price` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `buynow` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `hours` SMALLINT(6) NOT NULL DEFAULT '0',
- `timestamp` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `price` INT UNSIGNED NOT NULL DEFAULT '0',
+ `buynow` INT UNSIGNED NOT NULL DEFAULT '0',
+ `hours` SMALLINT NOT NULL DEFAULT '0',
+ `timestamp` INT UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT UNSIGNED NOT NULL DEFAULT '0',
`item_name` VARCHAR(50) NOT NULL DEFAULT '',
- `type` SMALLINT(6) NOT NULL DEFAULT '0',
- `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `attribute` TINYINT(4) UNSIGNED 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',
- `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
- `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `type` SMALLINT NOT NULL DEFAULT '0',
+ `refine` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT NOT NULL DEFAULT '0',
+ `card1` INT NOT NULL DEFAULT '0',
+ `card2` INT NOT NULL DEFAULT '0',
+ `card3` INT NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT NOT NULL DEFAULT '0',
+ `unique_id` BIGINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`auction_id`)
) ENGINE=MyISAM;
@@ -98,10 +98,10 @@ CREATE TABLE IF NOT EXISTS `auction` (
--
CREATE TABLE IF NOT EXISTS `autotrade_data` (
- `char_id` INT(11) NOT NULL DEFAULT '0',
- `itemkey` INT(11) NOT NULL DEFAULT '0',
- `amount` INT(11) NOT NULL DEFAULT '0',
- `price` INT(11) NOT NULL DEFAULT '0',
+ `char_id` INT NOT NULL DEFAULT '0',
+ `itemkey` INT NOT NULL DEFAULT '0',
+ `amount` INT NOT NULL DEFAULT '0',
+ `price` INT NOT NULL DEFAULT '0',
PRIMARY KEY (`char_id`,`itemkey`)
) ENGINE=MyISAM;
@@ -110,9 +110,9 @@ CREATE TABLE IF NOT EXISTS `autotrade_data` (
--
CREATE TABLE IF NOT EXISTS `autotrade_merchants` (
- `account_id` INT(11) NOT NULL DEFAULT '0',
- `char_id` INT(11) NOT NULL DEFAULT '0',
- `sex` TINYINT(2) NOT NULL DEFAULT '0',
+ `account_id` INT NOT NULL DEFAULT '0',
+ `char_id` INT NOT NULL DEFAULT '0',
+ `sex` TINYINT NOT NULL DEFAULT '0',
`title` VARCHAR(80) NOT NULL DEFAULT 'Buy From Me!',
PRIMARY KEY (`account_id`,`char_id`)
) ENGINE=MyISAM;
@@ -122,20 +122,20 @@ CREATE TABLE IF NOT EXISTS `autotrade_merchants` (
--
CREATE TABLE IF NOT EXISTS `char_achievements` (
- `char_id` INT(11) UNSIGNED NOT NULL,
- `ach_id` INT(11) UNSIGNED NOT NULL,
- `completed_at` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `rewarded_at` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_0` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_1` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_2` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_3` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_4` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_5` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_6` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_7` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_8` INT(10) UNSIGNED NOT NULL DEFAULT '0',
- `obj_9` INT(10) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL,
+ `ach_id` INT UNSIGNED NOT NULL,
+ `completed_at` INT UNSIGNED NOT NULL DEFAULT '0',
+ `rewarded_at` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_0` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_1` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_2` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_3` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_4` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_5` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_6` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_7` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_8` INT UNSIGNED NOT NULL DEFAULT '0',
+ `obj_9` INT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`char_id`, `ach_id`)
) ENGINE=MyISAM;
@@ -144,31 +144,31 @@ CREATE TABLE IF NOT EXISTS `char_achievements` (
--
CREATE TABLE IF NOT EXISTS `cart_inventory` (
- `id` INT(11) NOT NULL AUTO_INCREMENT,
- `char_id` INT(11) NOT NULL DEFAULT '0',
- `nameid` INT(11) NOT NULL DEFAULT '0',
- `amount` INT(11) NOT NULL DEFAULT '0',
- `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `identify` SMALLINT(6) NOT NULL DEFAULT '0',
- `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `attribute` TINYINT(4) 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',
- `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
- `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
- `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `id` INT NOT NULL AUTO_INCREMENT,
+ `char_id` INT NOT NULL DEFAULT '0',
+ `nameid` INT NOT NULL DEFAULT '0',
+ `amount` INT NOT NULL DEFAULT '0',
+ `equip` INT UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT NOT NULL DEFAULT '0',
+ `refine` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT NOT NULL DEFAULT '0',
+ `card0` INT NOT NULL DEFAULT '0',
+ `card1` INT NOT NULL DEFAULT '0',
+ `card2` INT NOT NULL DEFAULT '0',
+ `card3` INT NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT NOT NULL DEFAULT '0',
+ `expire_time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
@@ -178,73 +178,74 @@ CREATE TABLE IF NOT EXISTS `cart_inventory` (
--
CREATE TABLE IF NOT EXISTS `char` (
- `char_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `char_num` TINYINT(1) NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `char_num` TINYINT NOT NULL DEFAULT '0',
`name` VARCHAR(30) NOT NULL DEFAULT '',
- `class` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `base_level` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '1',
- `job_level` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '1',
- `base_exp` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
- `job_exp` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
- `zeny` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `str` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `agi` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `vit` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `int` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `dex` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `luk` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `max_hp` INT(9) UNSIGNED NOT NULL DEFAULT '0',
- `hp` INT(9) UNSIGNED NOT NULL DEFAULT '0',
- `max_sp` INT(9) UNSIGNED NOT NULL DEFAULT '0',
- `sp` INT(9) UNSIGNED NOT NULL DEFAULT '0',
- `status_point` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `skill_point` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `option` INT(11) NOT NULL DEFAULT '0',
- `karma` TINYINT(3) NOT NULL DEFAULT '0',
- `manner` SMALLINT(6) NOT NULL DEFAULT '0',
- `party_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `clan_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `pet_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `homun_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `elemental_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `hair` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `hair_color` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `clothes_color` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `body` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `weapon` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `shield` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `head_top` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `head_mid` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `head_bottom` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `robe` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `last_login` BIGINT(20) NULL DEFAULT '0',
+ `class` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `base_level` SMALLINT UNSIGNED NOT NULL DEFAULT '1',
+ `job_level` SMALLINT UNSIGNED NOT NULL DEFAULT '1',
+ `base_exp` BIGINT UNSIGNED NOT NULL DEFAULT '0',
+ `job_exp` BIGINT UNSIGNED NOT NULL DEFAULT '0',
+ `zeny` INT UNSIGNED NOT NULL DEFAULT '0',
+ `str` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `agi` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `vit` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `int` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `dex` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `luk` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `max_hp` INT UNSIGNED NOT NULL DEFAULT '0',
+ `hp` INT UNSIGNED NOT NULL DEFAULT '0',
+ `max_sp` INT UNSIGNED NOT NULL DEFAULT '0',
+ `sp` INT UNSIGNED NOT NULL DEFAULT '0',
+ `status_point` INT UNSIGNED NOT NULL DEFAULT '0',
+ `skill_point` INT UNSIGNED NOT NULL DEFAULT '0',
+ `option` INT NOT NULL DEFAULT '0',
+ `karma` TINYINT NOT NULL DEFAULT '0',
+ `manner` SMALLINT NOT NULL DEFAULT '0',
+ `party_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `guild_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `clan_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `pet_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `homun_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `elemental_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `hair` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `hair_color` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `clothes_color` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `body` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `weapon` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `shield` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `head_top` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `head_mid` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `head_bottom` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `robe` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `last_login` BIGINT NULL DEFAULT '0',
`last_map` VARCHAR(11) NOT NULL DEFAULT '',
- `last_x` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '53',
- `last_y` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '111',
+ `last_x` SMALLINT UNSIGNED NOT NULL DEFAULT '53',
+ `last_y` SMALLINT UNSIGNED NOT NULL DEFAULT '111',
`save_map` VARCHAR(11) NOT NULL DEFAULT '',
- `save_x` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '53',
- `save_y` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '111',
- `partner_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `online` TINYINT(2) NOT NULL DEFAULT '0',
- `father` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `mother` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `child` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `fame` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `rename` SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `delete_date` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `slotchange` SMALLINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `char_opt` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `font` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `unban_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `uniqueitem_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `save_x` SMALLINT UNSIGNED NOT NULL DEFAULT '53',
+ `save_y` SMALLINT UNSIGNED NOT NULL DEFAULT '111',
+ `partner_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `online` TINYINT NOT NULL DEFAULT '0',
+ `father` INT UNSIGNED NOT NULL DEFAULT '0',
+ `mother` INT UNSIGNED NOT NULL DEFAULT '0',
+ `child` INT UNSIGNED NOT NULL DEFAULT '0',
+ `fame` INT UNSIGNED NOT NULL DEFAULT '0',
+ `rename` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `delete_date` INT UNSIGNED NOT NULL DEFAULT '0',
+ `slotchange` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `char_opt` INT UNSIGNED NOT NULL DEFAULT '0',
+ `font` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `unban_time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `uniqueitem_counter` BIGINT UNSIGNED NOT NULL DEFAULT '0',
`sex` ENUM('M','F','U') NOT NULL DEFAULT 'U',
- `hotkey_rowshift` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `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',
+ `hotkey_rowshift` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `hotkey_rowshift2` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attendance_count` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attendance_timer` BIGINT NULL DEFAULT '0',
+ `title_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `inventory_size` INT UNSIGNED NOT NULL DEFAULT '100',
PRIMARY KEY (`char_id`),
UNIQUE KEY `name_key` (`name`),
KEY `account_id` (`account_id`),
@@ -258,10 +259,10 @@ CREATE TABLE IF NOT EXISTS `char` (
--
CREATE TABLE IF NOT EXISTS `char_reg_num_db` (
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
`key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
- `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `value` INT(11) NOT NULL DEFAULT '0',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT NOT NULL DEFAULT '0',
PRIMARY KEY (`char_id`,`key`,`index`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
@@ -271,9 +272,9 @@ CREATE TABLE IF NOT EXISTS `char_reg_num_db` (
--
CREATE TABLE IF NOT EXISTS `char_reg_str_db` (
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
`key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
- `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
`value` VARCHAR(254) NOT NULL DEFAULT '0',
PRIMARY KEY (`char_id`,`key`,`index`),
KEY `char_id` (`char_id`)
@@ -286,19 +287,19 @@ CREATE TABLE IF NOT EXISTS `char_reg_str_db` (
CREATE TABLE IF NOT EXISTS `charlog` (
`time` DATETIME NULL,
`char_msg` VARCHAR(255) NOT NULL DEFAULT 'char select',
- `account_id` INT(11) NOT NULL DEFAULT '0',
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `char_num` TINYINT(4) NOT NULL DEFAULT '0',
- `class` MEDIUMINT(9) NOT NULL DEFAULT '0',
+ `account_id` INT NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `char_num` TINYINT NOT NULL DEFAULT '0',
+ `class` MEDIUMINT NOT NULL DEFAULT '0',
`name` VARCHAR(23) NOT NULL DEFAULT '',
- `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',
- `dex` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `luk` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `hair` TINYINT(4) NOT NULL DEFAULT '0',
- `hair_color` INT(11) NOT NULL DEFAULT '0'
+ `str` INT UNSIGNED NOT NULL DEFAULT '0',
+ `agi` INT UNSIGNED NOT NULL DEFAULT '0',
+ `vit` INT UNSIGNED NOT NULL DEFAULT '0',
+ `int` INT UNSIGNED NOT NULL DEFAULT '0',
+ `dex` INT UNSIGNED NOT NULL DEFAULT '0',
+ `luk` INT UNSIGNED NOT NULL DEFAULT '0',
+ `hair` TINYINT NOT NULL DEFAULT '0',
+ `hair_color` INT NOT NULL DEFAULT '0'
) ENGINE=MyISAM;
--
@@ -306,23 +307,23 @@ CREATE TABLE IF NOT EXISTS `charlog` (
--
CREATE TABLE IF NOT EXISTS `elemental` (
- `ele_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `char_id` INT(11) NOT NULL,
- `class` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
- `mode` INT(11) UNSIGNED NOT NULL DEFAULT '1',
- `hp` INT(12) NOT NULL DEFAULT '1',
- `sp` INT(12) NOT NULL DEFAULT '1',
- `max_hp` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
- `max_sp` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `atk1` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `atk2` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `matk` MEDIUMINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `aspd` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `def` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `mdef` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `flee` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `hit` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `life_time` INT(11) NOT NULL DEFAULT '0',
+ `ele_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `char_id` INT NOT NULL,
+ `class` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `mode` INT UNSIGNED NOT NULL DEFAULT '1',
+ `hp` INT NOT NULL DEFAULT '1',
+ `sp` INT NOT NULL DEFAULT '1',
+ `max_hp` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `max_sp` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `atk1` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `atk2` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `matk` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `aspd` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `def` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `mdef` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `flee` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `hit` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `life_time` INT NOT NULL DEFAULT '0',
PRIMARY KEY (`ele_id`)
) ENGINE=MyISAM;
@@ -331,9 +332,9 @@ CREATE TABLE IF NOT EXISTS `elemental` (
--
CREATE TABLE IF NOT EXISTS `friends` (
- `char_id` INT(11) NOT NULL DEFAULT '0',
- `friend_account` INT(11) NOT NULL DEFAULT '0',
- `friend_id` INT(11) NOT NULL DEFAULT '0',
+ `char_id` INT NOT NULL DEFAULT '0',
+ `friend_account` INT NOT NULL DEFAULT '0',
+ `friend_id` INT NOT NULL DEFAULT '0',
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
@@ -342,11 +343,11 @@ CREATE TABLE IF NOT EXISTS `friends` (
--
CREATE TABLE IF NOT EXISTS `hotkey` (
- `char_id` INT(11) NOT NULL,
- `hotkey` TINYINT(2) UNSIGNED NOT NULL,
- `type` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
- `itemskill_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `skill_lvl` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT NOT NULL,
+ `hotkey` TINYINT UNSIGNED NOT NULL,
+ `type` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `itemskill_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `skill_lvl` TINYINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`char_id`,`hotkey`)
) ENGINE=MyISAM;
@@ -355,10 +356,10 @@ CREATE TABLE IF NOT EXISTS `hotkey` (
--
CREATE TABLE IF NOT EXISTS `global_acc_reg_num_db` (
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
`key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
- `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `value` INT(11) NOT NULL DEFAULT '0',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
+ `value` INT NOT NULL DEFAULT '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
@@ -368,9 +369,9 @@ CREATE TABLE IF NOT EXISTS `global_acc_reg_num_db` (
--
CREATE TABLE IF NOT EXISTS `global_acc_reg_str_db` (
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
`key` VARCHAR(32) BINARY NOT NULL DEFAULT '',
- `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
`value` VARCHAR(254) NOT NULL DEFAULT '0',
PRIMARY KEY (`account_id`,`key`,`index`),
KEY `account_id` (`account_id`)
@@ -381,21 +382,21 @@ CREATE TABLE IF NOT EXISTS `global_acc_reg_str_db` (
--
CREATE TABLE IF NOT EXISTS `guild` (
- `guild_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `guild_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(24) NOT NULL DEFAULT '',
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
`master` VARCHAR(24) NOT NULL DEFAULT '',
- `guild_lv` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `connect_member` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `max_member` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `average_lv` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '1',
- `exp` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
- `next_exp` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `skill_point` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `guild_lv` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `connect_member` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `max_member` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `average_lv` SMALLINT UNSIGNED NOT NULL DEFAULT '1',
+ `exp` BIGINT UNSIGNED NOT NULL DEFAULT '0',
+ `next_exp` INT UNSIGNED NOT NULL DEFAULT '0',
+ `skill_point` TINYINT UNSIGNED NOT NULL DEFAULT '0',
`mes1` VARCHAR(60) NOT NULL DEFAULT '',
`mes2` VARCHAR(120) NOT NULL DEFAULT '',
- `emblem_len` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `emblem_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `emblem_len` INT UNSIGNED NOT NULL DEFAULT '0',
+ `emblem_id` INT UNSIGNED NOT NULL DEFAULT '0',
`emblem_data` blob,
PRIMARY KEY (`guild_id`,`char_id`),
UNIQUE KEY `guild_id` (`guild_id`),
@@ -407,9 +408,9 @@ CREATE TABLE IF NOT EXISTS `guild` (
--
CREATE TABLE IF NOT EXISTS `guild_alliance` (
- `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `opposition` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `alliance_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `guild_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `opposition` INT UNSIGNED NOT NULL DEFAULT '0',
+ `alliance_id` INT UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(24) NOT NULL DEFAULT '',
PRIMARY KEY (`guild_id`,`alliance_id`),
KEY `alliance_id` (`alliance_id`)
@@ -420,24 +421,24 @@ CREATE TABLE IF NOT EXISTS `guild_alliance` (
--
CREATE TABLE IF NOT EXISTS `guild_castle` (
- `castle_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `economy` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `defense` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `triggerE` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `triggerD` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `nextTime` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `payTime` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `createTime` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleC` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleG0` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleG1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleG2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleG3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleG4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleG5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleG6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `visibleG7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `castle_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `guild_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `economy` INT UNSIGNED NOT NULL DEFAULT '0',
+ `defense` INT UNSIGNED NOT NULL DEFAULT '0',
+ `triggerE` INT UNSIGNED NOT NULL DEFAULT '0',
+ `triggerD` INT UNSIGNED NOT NULL DEFAULT '0',
+ `nextTime` INT UNSIGNED NOT NULL DEFAULT '0',
+ `payTime` INT UNSIGNED NOT NULL DEFAULT '0',
+ `createTime` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleC` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG0` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG1` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG2` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG3` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG4` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG5` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG6` INT UNSIGNED NOT NULL DEFAULT '0',
+ `visibleG7` INT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`castle_id`),
KEY `guild_id` (`guild_id`)
) ENGINE=MyISAM;
@@ -447,8 +448,9 @@ 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',
+ `guild_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(24) NOT NULL DEFAULT '',
`mes` VARCHAR(40) NOT NULL DEFAULT '',
PRIMARY KEY (`guild_id`,`name`)
@@ -459,18 +461,18 @@ CREATE TABLE IF NOT EXISTS `guild_expulsion` (
--
CREATE TABLE IF NOT EXISTS `guild_member` (
- `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',
- `hair` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `hair_color` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `gender` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `class` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `lv` SMALLINT(6) UNSIGNED NOT NULL DEFAULT '0',
- `exp` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
- `exp_payper` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
- `online` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `position` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `guild_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `hair` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `hair_color` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `gender` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `class` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `lv` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `exp` BIGINT UNSIGNED NOT NULL DEFAULT '0',
+ `exp_payper` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `online` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `position` TINYINT UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(24) NOT NULL DEFAULT '',
PRIMARY KEY (`guild_id`,`char_id`),
KEY `char_id` (`char_id`)
@@ -481,11 +483,11 @@ CREATE TABLE IF NOT EXISTS `guild_member` (
--
CREATE TABLE IF NOT EXISTS `guild_position` (
- `guild_id` INT(9) UNSIGNED NOT NULL DEFAULT '0',
- `position` TINYINT(6) UNSIGNED NOT NULL DEFAULT '0',
+ `guild_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `position` TINYINT UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(24) NOT NULL DEFAULT '',
- `mode` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
- `exp_mode` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `mode` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `exp_mode` TINYINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`guild_id`,`position`)
) ENGINE=MyISAM;
@@ -494,9 +496,9 @@ CREATE TABLE IF NOT EXISTS `guild_position` (
--
CREATE TABLE IF NOT EXISTS `guild_skill` (
- `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `id` SMALLINT(11) UNSIGNED NOT NULL DEFAULT '0',
- `lv` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `guild_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `id` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `lv` TINYINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`guild_id`,`id`)
) ENGINE=MyISAM;
@@ -505,31 +507,31 @@ CREATE TABLE IF NOT EXISTS `guild_skill` (
--
CREATE TABLE IF NOT EXISTS `guild_storage` (
- `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
- `guild_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `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` 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',
- `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
- `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
- `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `guild_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT UNSIGNED NOT NULL DEFAULT '0',
+ `equip` INT UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `refine` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT NOT NULL DEFAULT '0',
+ `card1` INT NOT NULL DEFAULT '0',
+ `card2` INT NOT NULL DEFAULT '0',
+ `card3` INT NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT NOT NULL DEFAULT '0',
+ `expire_time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `guild_id` (`guild_id`)
) ENGINE=MyISAM;
@@ -539,30 +541,30 @@ CREATE TABLE IF NOT EXISTS `guild_storage` (
--
CREATE TABLE IF NOT EXISTS `homunculus` (
- `homun_id` INT(11) NOT NULL AUTO_INCREMENT,
- `char_id` INT(11) NOT NULL,
- `class` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
- `prev_class` MEDIUMINT(9) NOT NULL DEFAULT '0',
+ `homun_id` INT NOT NULL AUTO_INCREMENT,
+ `char_id` INT NOT NULL,
+ `class` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `prev_class` MEDIUMINT NOT NULL DEFAULT '0',
`name` VARCHAR(24) NOT NULL DEFAULT '',
- `level` SMALLINT(4) NOT NULL DEFAULT '0',
- `exp` INT(12) NOT NULL DEFAULT '0',
- `intimacy` INT(12) NOT NULL DEFAULT '0',
- `hunger` SMALLINT(4) NOT NULL DEFAULT '0',
- `str` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `agi` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `vit` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `INT` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `dex` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `luk` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `hp` INT(12) NOT NULL DEFAULT '1',
- `max_hp` INT(12) NOT NULL DEFAULT '1',
- `sp` INT(12) NOT NULL DEFAULT '1',
- `max_sp` INT(12) NOT NULL DEFAULT '1',
- `skill_point` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `alive` TINYINT(2) NOT NULL DEFAULT '1',
- `rename_flag` TINYINT(2) NOT NULL DEFAULT '0',
- `vaporize` TINYINT(2) NOT NULL DEFAULT '0',
- `autofeed` TINYINT(2) NOT NULL DEFAULT '0',
+ `level` SMALLINT NOT NULL DEFAULT '0',
+ `exp` INT NOT NULL DEFAULT '0',
+ `intimacy` INT NOT NULL DEFAULT '0',
+ `hunger` SMALLINT NOT NULL DEFAULT '0',
+ `str` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `agi` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `vit` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `INT` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `dex` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `luk` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `hp` INT NOT NULL DEFAULT '1',
+ `max_hp` INT NOT NULL DEFAULT '1',
+ `sp` INT NOT NULL DEFAULT '1',
+ `max_sp` INT NOT NULL DEFAULT '1',
+ `skill_point` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `alive` TINYINT NOT NULL DEFAULT '1',
+ `rename_flag` TINYINT NOT NULL DEFAULT '0',
+ `vaporize` TINYINT NOT NULL DEFAULT '0',
+ `autofeed` TINYINT NOT NULL DEFAULT '0',
PRIMARY KEY (`homun_id`)
) ENGINE=MyISAM;
@@ -580,32 +582,32 @@ CREATE TABLE IF NOT EXISTS `interlog` (
--
CREATE TABLE IF NOT EXISTS `inventory` (
- `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `identify` SMALLINT(6) NOT NULL DEFAULT '0',
- `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `attribute` TINYINT(4) UNSIGNED 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',
- `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
- `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `favorite` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
- `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT UNSIGNED NOT NULL DEFAULT '0',
+ `equip` INT UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT NOT NULL DEFAULT '0',
+ `refine` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT NOT NULL DEFAULT '0',
+ `card1` INT NOT NULL DEFAULT '0',
+ `card2` INT NOT NULL DEFAULT '0',
+ `card3` INT NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT NOT NULL DEFAULT '0',
+ `expire_time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `favorite` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
@@ -615,36 +617,36 @@ CREATE TABLE IF NOT EXISTS `inventory` (
--
CREATE TABLE IF NOT EXISTS `ipbanlist` (
- `list` VARCHAR(255) NOT NULL DEFAULT '',
+ `list` VARCHAR(39) NOT NULL DEFAULT '',
`btime` DATETIME NULL,
`rtime` DATETIME NULL,
`reason` VARCHAR(255) NOT NULL DEFAULT '',
KEY (`list`)
-) ENGINE=MyISAM;
+) ENGINE=InnoDB;
--
-- Table structure for table `login`
--
CREATE TABLE IF NOT EXISTS `login` (
- `account_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `userid` VARCHAR(23) NOT NULL DEFAULT '',
+ `account_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `userid` VARCHAR(23) NOT NULL,
`user_pass` VARCHAR(32) NOT NULL DEFAULT '',
`sex` ENUM('M','F','S') NOT NULL DEFAULT 'M',
`email` VARCHAR(39) NOT NULL DEFAULT '',
- `group_id` TINYINT(3) NOT NULL DEFAULT '0',
- `state` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `unban_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `expiration_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `logincount` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `group_id` TINYINT NOT NULL DEFAULT '0',
+ `state` INT UNSIGNED NOT NULL DEFAULT '0',
+ `unban_time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `expiration_time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `logincount` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
`lastlogin` DATETIME NULL,
`last_ip` VARCHAR(100) NOT NULL DEFAULT '',
`birthdate` DATE NULL,
- `character_slots` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
+ `character_slots` TINYINT UNSIGNED NOT NULL DEFAULT '0',
`pincode` VARCHAR(4) NOT NULL DEFAULT '',
- `pincode_change` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `pincode_change` INT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`account_id`),
- KEY `name` (`userid`)
+ UNIQUE KEY `name` (`userid`)
) ENGINE=MyISAM AUTO_INCREMENT=2000000;
-- added standard accounts for servers, VERY INSECURE!!!
@@ -658,7 +660,7 @@ INSERT IGNORE INTO `login` (`account_id`, `userid`, `user_pass`, `sex`, `email`)
CREATE TABLE IF NOT EXISTS `mapreg` (
`varname` VARCHAR(32) BINARY NOT NULL,
- `index` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `index` INT UNSIGNED NOT NULL DEFAULT '0',
`value` VARCHAR(255) NOT NULL,
PRIMARY KEY (`varname`,`index`)
) ENGINE=MyISAM;
@@ -669,8 +671,8 @@ CREATE TABLE IF NOT EXISTS `mapreg` (
CREATE TABLE IF NOT EXISTS `npc_market_data` (
`name` VARCHAR(24) NOT NULL DEFAULT '',
- `itemid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `itemid` INT UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`name`,`itemid`)
) ENGINE=MyISAM;
@@ -679,14 +681,15 @@ CREATE TABLE IF NOT EXISTS `npc_market_data` (
--
CREATE TABLE IF NOT EXISTS `sc_data` (
- `account_id` INT(11) UNSIGNED NOT NULL,
- `char_id` INT(11) UNSIGNED NOT NULL,
- `type` SMALLINT(11) UNSIGNED NOT NULL,
- `tick` INT(11) NOT NULL,
- `val1` INT(11) NOT NULL DEFAULT '0',
- `val2` INT(11) NOT NULL DEFAULT '0',
- `val3` INT(11) NOT NULL DEFAULT '0',
- `val4` INT(11) NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL,
+ `char_id` INT UNSIGNED NOT NULL,
+ `type` SMALLINT UNSIGNED NOT NULL,
+ `tick` INT NOT NULL,
+ `total_tick` INT NOT NULL,
+ `val1` INT NOT NULL DEFAULT '0',
+ `val2` INT NOT NULL DEFAULT '0',
+ `val3` INT NOT NULL DEFAULT '0',
+ `val4` INT NOT NULL DEFAULT '0',
KEY (`account_id`),
KEY (`char_id`),
PRIMARY KEY (`account_id`,`char_id`,`type`)
@@ -697,36 +700,36 @@ CREATE TABLE IF NOT EXISTS `sc_data` (
--
CREATE TABLE IF NOT EXISTS `mail` (
- `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`send_name` VARCHAR(30) NOT NULL DEFAULT '',
- `send_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `send_id` INT UNSIGNED NOT NULL DEFAULT '0',
`dest_name` VARCHAR(30) NOT NULL DEFAULT '',
- `dest_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `dest_id` INT UNSIGNED NOT NULL DEFAULT '0',
`title` VARCHAR(45) NOT NULL DEFAULT '',
`message` VARCHAR(255) NOT NULL DEFAULT '',
- `time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `status` TINYINT(2) NOT NULL DEFAULT '0',
- `zeny` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `attribute` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `identify` SMALLINT(6) 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',
- `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
- `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `status` TINYINT NOT NULL DEFAULT '0',
+ `zeny` INT UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT UNSIGNED NOT NULL DEFAULT '0',
+ `refine` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT NOT NULL DEFAULT '0',
+ `card0` INT NOT NULL DEFAULT '0',
+ `card1` INT NOT NULL DEFAULT '0',
+ `card2` INT NOT NULL DEFAULT '0',
+ `card3` INT NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT NOT NULL DEFAULT '0',
+ `unique_id` BIGINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
@@ -735,11 +738,11 @@ CREATE TABLE IF NOT EXISTS `mail` (
--
CREATE TABLE IF NOT EXISTS `memo` (
- `memo_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `memo_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
`map` VARCHAR(11) NOT NULL DEFAULT '',
- `x` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `y` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
+ `x` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `y` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`memo_id`),
KEY `char_id` (`char_id`)
) ENGINE=MyISAM;
@@ -749,13 +752,13 @@ CREATE TABLE IF NOT EXISTS `memo` (
--
CREATE TABLE IF NOT EXISTS `mercenary` (
- `mer_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `char_id` INT(11) NOT NULL,
- `class` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
- `hp` INT(12) NOT NULL DEFAULT '1',
- `sp` INT(12) NOT NULL DEFAULT '1',
- `kill_counter` INT(11) NOT NULL,
- `life_time` INT(11) NOT NULL DEFAULT '0',
+ `mer_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `char_id` INT NOT NULL,
+ `class` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `hp` INT NOT NULL DEFAULT '1',
+ `sp` INT NOT NULL DEFAULT '1',
+ `kill_counter` INT NOT NULL,
+ `life_time` INT NOT NULL DEFAULT '0',
PRIMARY KEY (`mer_id`)
) ENGINE=MyISAM;
@@ -764,14 +767,14 @@ CREATE TABLE IF NOT EXISTS `mercenary` (
--
CREATE TABLE IF NOT EXISTS `mercenary_owner` (
- `char_id` INT(11) NOT NULL,
- `merc_id` INT(11) NOT NULL DEFAULT '0',
- `arch_calls` INT(11) NOT NULL DEFAULT '0',
- `arch_faith` INT(11) NOT NULL DEFAULT '0',
- `spear_calls` INT(11) NOT NULL DEFAULT '0',
- `spear_faith` INT(11) NOT NULL DEFAULT '0',
- `sword_calls` INT(11) NOT NULL DEFAULT '0',
- `sword_faith` INT(11) NOT NULL DEFAULT '0',
+ `char_id` INT NOT NULL,
+ `merc_id` INT NOT NULL DEFAULT '0',
+ `arch_calls` INT NOT NULL DEFAULT '0',
+ `arch_faith` INT NOT NULL DEFAULT '0',
+ `spear_calls` INT NOT NULL DEFAULT '0',
+ `spear_faith` INT NOT NULL DEFAULT '0',
+ `sword_calls` INT NOT NULL DEFAULT '0',
+ `sword_faith` INT NOT NULL DEFAULT '0',
PRIMARY KEY (`char_id`)
) ENGINE=MyISAM;
@@ -780,12 +783,12 @@ CREATE TABLE IF NOT EXISTS `mercenary_owner` (
--
CREATE TABLE IF NOT EXISTS `party` (
- `party_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
+ `party_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(24) NOT NULL DEFAULT '',
- `exp` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
- `item` TINYINT(11) UNSIGNED NOT NULL DEFAULT '0',
- `leader_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `leader_char` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `exp` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `item` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `leader_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `leader_char` INT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`party_id`)
) ENGINE=MyISAM;
@@ -794,19 +797,19 @@ CREATE TABLE IF NOT EXISTS `party` (
--
CREATE TABLE IF NOT EXISTS `pet` (
- `pet_id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `class` MEDIUMINT(9) UNSIGNED NOT NULL DEFAULT '0',
+ `pet_id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `class` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
`name` VARCHAR(24) NOT NULL DEFAULT '',
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `level` SMALLINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `egg_id` SMALLINT(11) UNSIGNED NOT NULL DEFAULT '0',
- `equip` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
- `intimate` SMALLINT(9) UNSIGNED NOT NULL DEFAULT '0',
- `hungry` SMALLINT(9) UNSIGNED NOT NULL DEFAULT '0',
- `rename_flag` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `incubate` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `autofeed` TINYINT(2) UNSIGNED NOT NULL DEFAULT '0',
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `level` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `egg_id` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `equip` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `intimate` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `hungry` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `rename_flag` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `incubate` INT UNSIGNED NOT NULL DEFAULT '0',
+ `autofeed` TINYINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`pet_id`)
) ENGINE=MyISAM;
@@ -815,13 +818,13 @@ CREATE TABLE IF NOT EXISTS `pet` (
--
CREATE TABLE IF NOT EXISTS `quest` (
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `quest_id` INT(10) UNSIGNED NOT NULL,
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `quest_id` INT UNSIGNED NOT NULL,
`state` ENUM('0','1','2') NOT NULL DEFAULT '0',
- `time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `count1` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
- `count2` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
- `count3` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
+ `time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `count1` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `count2` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
+ `count3` MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`char_id`,`quest_id`)
) ENGINE=MyISAM;
@@ -830,11 +833,11 @@ CREATE TABLE IF NOT EXISTS `quest` (
--
CREATE TABLE IF NOT EXISTS `ragsrvinfo` (
- `index` INT(11) NOT NULL DEFAULT '0',
+ `index` INT NOT NULL DEFAULT '0',
`name` VARCHAR(255) NOT NULL DEFAULT '',
- `exp` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `jexp` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `drop` INT(11) UNSIGNED NOT NULL DEFAULT '0'
+ `exp` INT UNSIGNED NOT NULL DEFAULT '0',
+ `jexp` INT UNSIGNED NOT NULL DEFAULT '0',
+ `drop` INT UNSIGNED NOT NULL DEFAULT '0'
) ENGINE=MyISAM;
--
@@ -842,10 +845,10 @@ CREATE TABLE IF NOT EXISTS `ragsrvinfo` (
--
CREATE TABLE IF NOT EXISTS `skill` (
- `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `id` SMALLINT(11) UNSIGNED NOT NULL DEFAULT '0',
- `lv` TINYINT(4) UNSIGNED NOT NULL DEFAULT '0',
- `flag` TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
+ `char_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `id` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `lv` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `flag` TINYINT UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`char_id`,`id`)
) ENGINE=MyISAM;
@@ -854,9 +857,9 @@ CREATE TABLE IF NOT EXISTS `skill` (
--
CREATE TABLE IF NOT EXISTS `skill_homunculus` (
- `homun_id` INT(11) NOT NULL,
- `id` INT(11) NOT NULL,
- `lv` SMALLINT(6) NOT NULL,
+ `homun_id` INT NOT NULL,
+ `id` INT NOT NULL,
+ `lv` SMALLINT NOT NULL,
PRIMARY KEY (`homun_id`,`id`)
) ENGINE=MyISAM;
@@ -865,7 +868,7 @@ CREATE TABLE IF NOT EXISTS `skill_homunculus` (
--
CREATE TABLE IF NOT EXISTS `sql_updates` (
- `timestamp` INT(11) UNSIGNED NOT NULL,
+ `timestamp` INT UNSIGNED NOT NULL,
`ignored` ENUM('Yes','No') NOT NULL DEFAULT 'No',
PRIMARY KEY (`timestamp`)
) ENGINE=MyISAM;
@@ -925,87 +928,97 @@ INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1532403228); -- 2018-07-2
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
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1557414445); -- 2019-05-09--18-07.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1565293394); -- 2019-08-08--19-43.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1570309293); -- 2019-10-05--19-01.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1570870260); -- 2019-10-21--14-21.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1574463539); -- 2019-11-22--23-58.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1579817630); -- 2020-01-24--01-09.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1584838560); -- 2020-03-22--01-56.sql
+INSERT IGNORE INTO `sql_updates` (`timestamp`) VALUES (1584842940); -- 2020-03-22--03-09.sql
--
-- Table structure for table `storage`
--
CREATE TABLE IF NOT EXISTS `storage` (
- `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
- `account_id` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `nameid` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `amount` SMALLINT(11) UNSIGNED NOT NULL DEFAULT '0',
- `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `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` 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',
- `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
- `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
- `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
+ `account_id` INT UNSIGNED NOT NULL DEFAULT '0',
+ `nameid` INT UNSIGNED NOT NULL DEFAULT '0',
+ `amount` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `equip` INT UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `refine` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `card0` INT NOT NULL DEFAULT '0',
+ `card1` INT NOT NULL DEFAULT '0',
+ `card2` INT NOT NULL DEFAULT '0',
+ `card3` INT NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT NOT NULL DEFAULT '0',
+ `expire_time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `account_id` (`account_id`)
) ENGINE=MyISAM;
CREATE TABLE IF NOT EXISTS `rodex_items` (
- `id` INT(11) NOT NULL AUTO_INCREMENT,
- `mail_id` BIGINT(20) NOT NULL DEFAULT '0',
- `nameid` INT(11) NOT NULL DEFAULT '0',
- `amount` INT(11) NOT NULL DEFAULT '0',
- `equip` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `identify` SMALLINT(6) NOT NULL DEFAULT '0',
- `refine` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0',
- `attribute` TINYINT(4) 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',
- `opt_val1` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val2` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val3` SMALLINT(5) NOT NULL DEFAULT '0',
- `opt_idx4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0',
- `opt_val4` SMALLINT(5) NOT NULL DEFAULT '0',
- `expire_time` INT(11) UNSIGNED NOT NULL DEFAULT '0',
- `bound` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
- `unique_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT '0',
+ `id` INT NOT NULL AUTO_INCREMENT,
+ `mail_id` BIGINT NOT NULL DEFAULT '0',
+ `nameid` INT NOT NULL DEFAULT '0',
+ `amount` INT NOT NULL DEFAULT '0',
+ `equip` INT UNSIGNED NOT NULL DEFAULT '0',
+ `identify` SMALLINT NOT NULL DEFAULT '0',
+ `refine` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `attribute` TINYINT NOT NULL DEFAULT '0',
+ `card0` INT NOT NULL DEFAULT '0',
+ `card1` INT NOT NULL DEFAULT '0',
+ `card2` INT NOT NULL DEFAULT '0',
+ `card3` INT NOT NULL DEFAULT '0',
+ `opt_idx0` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val0` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx1` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val1` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx2` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val2` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx3` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val3` SMALLINT NOT NULL DEFAULT '0',
+ `opt_idx4` SMALLINT UNSIGNED NOT NULL DEFAULT '0',
+ `opt_val4` SMALLINT NOT NULL DEFAULT '0',
+ `expire_time` INT UNSIGNED NOT NULL DEFAULT '0',
+ `bound` TINYINT UNSIGNED NOT NULL DEFAULT '0',
+ `unique_id` BIGINT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `mail_id` (`mail_id`)
) ENGINE=InnoDB;
CREATE TABLE IF NOT EXISTS `rodex_mail` (
- `mail_id` BIGINT(20) NOT NULL AUTO_INCREMENT,
+ `mail_id` BIGINT NOT NULL AUTO_INCREMENT,
`sender_name` VARCHAR(30) NOT NULL,
- `sender_id` INT(11) NOT NULL,
+ `sender_id` INT NOT NULL,
`receiver_name` VARCHAR(30) NOT NULL,
- `receiver_id` INT(11) NOT NULL,
- `receiver_accountid` INT(11) NOT NULL,
+ `receiver_id` INT NOT NULL,
+ `receiver_accountid` INT NOT NULL,
`title` VARCHAR(50) NOT NULL,
`body` VARCHAR(510) NOT NULL,
- `zeny` BIGINT(20) NOT NULL,
- `type` TINYINT(8) UNSIGNED NOT NULL,
- `is_read` TINYINT(8) NOT NULL,
- `sender_read` TINYINT(2) NOT NULL,
- `send_date` INT(11) NOT NULL,
- `expire_date` INT(11) NOT NULL,
- `weight` INT(11) NOT NULL,
+ `zeny` BIGINT NOT NULL,
+ `type` TINYINT UNSIGNED NOT NULL,
+ `is_read` TINYINT NOT NULL,
+ `sender_read` TINYINT NOT NULL,
+ `send_date` INT NOT NULL,
+ `expire_date` INT NOT NULL,
+ `weight` INT NOT NULL,
PRIMARY KEY (`mail_id`),
KEY `sender_id` (`sender_id`),
KEY `receiver_id` (`receiver_id`),
@@ -1016,9 +1029,52 @@ CREATE TABLE IF NOT EXISTS `rodex_mail` (
CREATE TABLE IF NOT EXISTS `npc_barter_data` (
`name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemId` INT UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT UNSIGNED NOT NULL DEFAULT '0',
+ `priceId` INT UNSIGNED NOT NULL DEFAULT '0',
+ `priceAmount` INT UNSIGNED NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `priceId`, `priceAmount`)
+) ENGINE=MyISAM;
+
+CREATE TABLE IF NOT EXISTS `npc_expanded_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`)
+ `zeny` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyId1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine1` INT(11) NOT NULL DEFAULT '0',
+ `currencyId2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine2` INT(11) NOT NULL DEFAULT '0',
+ `currencyId3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine3` INT(11) NOT NULL DEFAULT '0',
+ `currencyId4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine4` INT(11) NOT NULL DEFAULT '0',
+ `currencyId5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine5` INT(11) NOT NULL DEFAULT '0',
+ `currencyId6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine6` INT(11) NOT NULL DEFAULT '0',
+ `currencyId7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine7` INT(11) NOT NULL DEFAULT '0',
+ `currencyId8` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount8` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine8` INT(11) NOT NULL DEFAULT '0',
+ `currencyId9` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount9` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine9` INT(11) NOT NULL DEFAULT '0',
+ `currencyId10` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount10` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine10` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `zeny`,
+ `currencyId1`, `currencyAmount1`, `currencyRefine1`,
+ `currencyId2`, `currencyAmount2`, `currencyRefine2`,
+ `currencyId3`, `currencyAmount3`, `currencyRefine3`,
+ `currencyId4`, `currencyAmount4`, `currencyRefine4`
+)
) ENGINE=MyISAM;
diff --git a/sql-files/mob_db.sql b/sql-files/mob_db.sql
index 349a84272..2fdd722a1 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-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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 e602db599..a53dc651e 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-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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 66b161f4c..713054e9c 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-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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
@@ -1411,6 +1411,8 @@ REPLACE INTO `mob_db` VALUES (2409,'DUMMY_50','Lv 50','Lv 50',50,99999999,1,0,0,
REPLACE INTO `mob_db` VALUES (2410,'DUMMY_100','Lv 100','Lv 100',100,99999999,1,0,0,0,0,0,90,90,0,0,0,0,0,0,1,1,1,0,20,32768,200,398,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
REPLACE INTO `mob_db` VALUES (2411,'DUMMY_150','Lv 150','Lv 150',150,99999999,1,0,0,0,0,0,120,120,0,0,0,0,0,0,1,1,1,0,20,32768,200,398,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
REPLACE INTO `mob_db` VALUES (2413,'DUMMY_10_FIRE','Lv 10 (Fire)','Lv 10 (Fire)',10,99999999,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,23,32768,200,398,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2414,'RUNAWAY_BOOK','Runaway Book','Runaway Book',1,10,1,1,1,1,6,9,1,1,1,1,1,0,1,1,10,12,0,0,20,12417,150,864,500,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (2431,'G_L_SHECIL','Hunter Shecil','Hunter Shecil',98,8835,1,0,0,14,574,223,68,13,108,113,60,72,148,37,10,12,1,7,64,14469,160,432,400,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
REPLACE INTO `mob_db` VALUES (2464,'MG_ZOMBIE','Corrupted Steward','Corrupted Steward',130,135600,1,13332,15998,1,2364,444,15,15,44,22,77,25,88,22,10,12,1,1,29,14741,400,2612,912,288,0,0,0,0,0,0,0,6609,1000,6610,1000,6608,10,938,1000,727,500,6755,500,0,0,0,0,0,0,0,0);
REPLACE INTO `mob_db` VALUES (2465,'MG_WRAITH','Corrupted Monk','Corrupted Monk',133,100168,1,13998,16796,1,999,2787,80,200,16,26,30,115,79,5,10,12,2,1,89,14229,300,1816,576,240,0,0,0,0,0,0,0,731,100,747,500,2206,100,6608,10,6609,1000,6610,1000,6755,500,0,0,0,0,0,0);
REPLACE INTO `mob_db` VALUES (2466,'MG_GHOUL','Grand Chamberlain in Pa','Grand Chamberlain in Pa',132,208100,1,14222,17066,1,2965,666,30,30,88,44,88,21,95,44,10,12,1,1,49,14741,250,2456,912,504,0,0,0,0,0,0,0,756,100,2609,100,6608,10,6609,1000,6610,1000,7751,1000,6755,500,0,0,0,0,0,0);
@@ -1807,6 +1809,8 @@ REPLACE INTO `mob_db` VALUES (2961,'E_TORTUROUS_REDEEMER','Torturous Redeemer','
REPLACE INTO `mob_db` VALUES (2996,'XM_CELINE_KIMI','Celine Kimi','Celine Kimi',160,66666666,1,4444444,4033332,2,5636,8303,479,444,144,166,44,444,166,166,10,12,2,1,28,13973,100,1056,1056,480,444444,616,10000,617,10000,22534,10000,22534,4000,18549,4000,7642,4000,19701,100,13442,100,712,10000,0,0,0,0,0,0,0,0);
REPLACE INTO `mob_db` VALUES (3029,'GRIM_REAPER_ANKOU','Grim Reaper Ankou','Grim Reaper Ankou',159,50000000,1553,300000,330000,1,1500,2500,200,70,200,100,200,200,220,100,10,12,2,1,89,133,200,900,864,480,0,0,0,0,0,0,0,607,500,603,200,604,200,22537,10000,522,200,0,0,0,0,0,0,0,0,0,0);
REPLACE INTO `mob_db` VALUES (3074,'TIMEHOLDER','Time Holder','Time Holder',170,25000000,1,2291250,1938750,1,5250,2100,288,265,224,152,251,257,402,77,10,12,2,6,80,14261,100,398,384,288,2291250,0,0,0,0,0,0,1095,3000,2121,10,7054,3000,22515,3000,18874,20,16024,5,15089,3,0,0,0,0,4625,1);
+REPLACE INTO `mob_db` VALUES (3169,'J_REB_SHECIL1','Shooting Target','Shooting Target',1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,20,1,200,4000,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
+REPLACE INTO `mob_db` VALUES (3170,'J_REB_SHECIL2','Shooting Target','Shooting Target',1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,20,1,200,4000,2000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
REPLACE INTO `mob_db` VALUES (3181,'E1_FELOCK','Captain Ferlock','Captain Ferlock',130,3000000,1,3088,333333,10,0,0,0,0,0,0,0,0,0,0,10,12,2,9,47,129,170,1018,1008,300,0,0,0,0,0,0,0,15117,100,20744,100,22047,100,12082,3000,12072,3000,12087,3000,12077,3000,12092,3000,0,0,27182,1);
REPLACE INTO `mob_db` VALUES (3190,'MM_SARAH','Sarah','Sarah',160,100000000,1,0,0,12,1090,2755,276,255,43,161,6,188,225,136,10,12,1,0,20,164,2000,500,500,0,0,0,0,0,0,0,0,15121,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4610,1);
REPLACE INTO `mob_db` VALUES (3202,'ORGANIC_JAKK','Organic Pumpkin','Organic Pumpkin',10,40,1,20,13,1,100,0,160,99,1,1,1,1,999,1,1,1,0,3,21,97,200,398,199,0,0,0,0,0,0,0,0,6804,5000,6804,5000,6804,1000,2267,100,1062,1000,664,100,546,1000,12192,100,0,0,0,0);
diff --git a/sql-files/mob_skill_db.sql b/sql-files/mob_skill_db.sql
index c5c51ca77..79efd48c7 100644
--- a/sql-files/mob_skill_db.sql
+++ b/sql-files/mob_skill_db.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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
@@ -1413,11 +1413,11 @@ REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_STUNATTACK','attack',17
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@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 (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',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);
@@ -4402,9 +4402,9 @@ 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','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,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_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);
@@ -4645,9 +4645,9 @@ REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@NPC_EMOTION','walk',197,1,2000
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 (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',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);
@@ -5408,48 +5408,48 @@ REPLACE INTO `mob_skill_db` VALUES (2021,'Phylla@PR_LEXDIVINA','chase',76,3,500,
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',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);
-REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr's Shadow@NPC_EVILLAND','attack',670,4,500,0,25000,'yes','target','myhpltmaxrate','15',NULL,NULL,NULL,NULL,NULL,NULL,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 (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@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_EARTHQUAKE','attack',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_INVISIBLE','idle',353,1,2000,200,5000,'no','target','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','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',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@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_EVILLAND','idle',670,10,500,0,120000,'yes','target','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','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
-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_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_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_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_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_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_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_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_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',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 (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',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);
+REPLACE INTO `mob_skill_db` VALUES (2022,'Nidhoggr\'s Shadow@NPC_EVILLAND','attack',670,4,500,0,25000,'yes','target','myhpltmaxrate','15',NULL,NULL,NULL,NULL,NULL,NULL,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 (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@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_EARTHQUAKE','attack',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_INVISIBLE','idle',353,1,2000,200,5000,'no','target','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','target','myhpltmaxrate','40',NULL,NULL,NULL,NULL,NULL,'6',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@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_EVILLAND','idle',670,10,500,0,120000,'yes','target','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','target','myhpltmaxrate','50',NULL,NULL,NULL,NULL,NULL,NULL,NULL);
+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_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_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_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_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_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_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_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_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',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',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);
diff --git a/sql-files/mob_skill_db2.sql b/sql-files/mob_skill_db2.sql
index e55be9d6d..2aed40cde 100644
--- a/sql-files/mob_skill_db2.sql
+++ b/sql-files/mob_skill_db2.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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_re.sql b/sql-files/mob_skill_db_re.sql
index 1eb0fbff7..5bdb5aec4 100644
--- a/sql-files/mob_skill_db_re.sql
+++ b/sql-files/mob_skill_db_re.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2019 Hercules Dev Team
+-- Copyright (C) 2013-2020 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
@@ -1463,11 +1463,11 @@ REPLACE INTO `mob_skill_db` VALUES (1306,'Leib Olmai@NPC_STUNATTACK','attack',17
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',NULL,1180,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_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',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);
@@ -4680,9 +4680,9 @@ REPLACE INTO `mob_skill_db` VALUES (1887,'Freezer@NPC_EMOTION','walk',197,1,2000
REPLACE INTO `mob_skill_db` VALUES (1887,'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 (1888,'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 (1888,'Hatii 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 (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,'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);
@@ -5370,50 +5370,50 @@ 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,'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 (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);
@@ -6138,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,'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 (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);
@@ -7738,14 +7738,14 @@ REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_VERMILION','attack',85,10,
REPLACE INTO `mob_skill_db` VALUES (2322,'Bakonawa@WZ_VERMILION','chase',85,10,2000,500,2000,'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 (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,'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 (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,'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,'Hidden Mob@NPC_INVISIBLE','attack',353,1,10000,0,30000,'yes','self','always',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
diff --git a/sql-files/tools/convert_engine_innodb.sql b/sql-files/tools/convert_engine_innodb.sql
index 266538bd8..3c291d240 100644
--- a/sql-files/tools/convert_engine_innodb.sql
+++ b/sql-files/tools/convert_engine_innodb.sql
@@ -1,8 +1,8 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2012-2015 Hercules Dev Team
--- Copyright (C) Athena Dev Teams
+-- Copyright (C) 2012-2020 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
diff --git a/sql-files/tools/convert_engine_myisam.sql b/sql-files/tools/convert_engine_myisam.sql
index 4b527e71f..840870880 100644
--- a/sql-files/tools/convert_engine_myisam.sql
+++ b/sql-files/tools/convert_engine_myisam.sql
@@ -1,8 +1,8 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2012-2015 Hercules Dev Team
--- Copyright (C) Athena Dev Teams
+-- Copyright (C) 2012-2020 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
diff --git a/sql-files/tools/convert_passwords.sql b/sql-files/tools/convert_passwords.sql
index 8240e4698..baa396d32 100644
--- a/sql-files/tools/convert_passwords.sql
+++ b/sql-files/tools/convert_passwords.sql
@@ -1,8 +1,8 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2012-2015 Hercules Dev Team
--- Copyright (C) Athena Dev Teams
+-- Copyright (C) 2012-2020 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
diff --git a/sql-files/upgrades/2013-02-14--16-15.sql b/sql-files/upgrades/2013-02-14--16-15.sql
index 38b17c2ba..9ea146711 100644
--- a/sql-files/upgrades/2013-02-14--16-15.sql
+++ b/sql-files/upgrades/2013-02-14--16-15.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-02-15--18-06.sql b/sql-files/upgrades/2013-02-15--18-06.sql
index fc0fe58ff..338b1b7bc 100644
--- a/sql-files/upgrades/2013-02-15--18-06.sql
+++ b/sql-files/upgrades/2013-02-15--18-06.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-03-05--01-05.sql b/sql-files/upgrades/2013-03-05--01-05.sql
index d1f94e40e..74f0f3afc 100644
--- a/sql-files/upgrades/2013-03-05--01-05.sql
+++ b/sql-files/upgrades/2013-03-05--01-05.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-03-06--00-00.sql b/sql-files/upgrades/2013-03-06--00-00.sql
index 8f14b3b01..7879eb1a4 100644
--- a/sql-files/upgrades/2013-03-06--00-00.sql
+++ b/sql-files/upgrades/2013-03-06--00-00.sql
@@ -3,8 +3,8 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2015 Hercules Dev Team
--- Copyright (C) Athena Dev Teams
+-- Copyright (C) 2013-2020 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
diff --git a/sql-files/upgrades/2013-03-09--01-56.sql b/sql-files/upgrades/2013-03-09--01-56.sql
index 587fdb0d4..30256a9e5 100644
--- a/sql-files/upgrades/2013-03-09--01-56.sql
+++ b/sql-files/upgrades/2013-03-09--01-56.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-03-27--18-35.sql b/sql-files/upgrades/2013-03-27--18-35.sql
index ddf8a975a..512c6c2ee 100644
--- a/sql-files/upgrades/2013-03-27--18-35.sql
+++ b/sql-files/upgrades/2013-03-27--18-35.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-04-16--01-24.sql b/sql-files/upgrades/2013-04-16--01-24.sql
index 35a08e585..c30b2529e 100644
--- a/sql-files/upgrades/2013-04-16--01-24.sql
+++ b/sql-files/upgrades/2013-04-16--01-24.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-04-16--02-15.sql b/sql-files/upgrades/2013-04-16--02-15.sql
index d8081f7d8..160323827 100644
--- a/sql-files/upgrades/2013-04-16--02-15.sql
+++ b/sql-files/upgrades/2013-04-16--02-15.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-10-09--21-38.sql b/sql-files/upgrades/2013-10-09--21-38.sql
index 454569665..949eaea1a 100644
--- a/sql-files/upgrades/2013-10-09--21-38.sql
+++ b/sql-files/upgrades/2013-10-09--21-38.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-10-10--16-36.sql b/sql-files/upgrades/2013-10-10--16-36.sql
index 18dd92ec8..af83eb419 100644
--- a/sql-files/upgrades/2013-10-10--16-36.sql
+++ b/sql-files/upgrades/2013-10-10--16-36.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-10-27--16-47.sql b/sql-files/upgrades/2013-10-27--16-47.sql
index 5e52140a1..fd61ad0fc 100644
--- a/sql-files/upgrades/2013-10-27--16-47.sql
+++ b/sql-files/upgrades/2013-10-27--16-47.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-10-30--19-53.sql b/sql-files/upgrades/2013-10-30--19-53.sql
index 768328c7d..9febdc693 100644
--- a/sql-files/upgrades/2013-10-30--19-53.sql
+++ b/sql-files/upgrades/2013-10-30--19-53.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-10-30--21-12.sql b/sql-files/upgrades/2013-10-30--21-12.sql
index a60004767..70f7b76c3 100644
--- a/sql-files/upgrades/2013-10-30--21-12.sql
+++ b/sql-files/upgrades/2013-10-30--21-12.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-10-31--07-49.sql b/sql-files/upgrades/2013-10-31--07-49.sql
index e32370b41..295367b23 100644
--- a/sql-files/upgrades/2013-10-31--07-49.sql
+++ b/sql-files/upgrades/2013-10-31--07-49.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-11-09--00-03.sql b/sql-files/upgrades/2013-11-09--00-03.sql
index 62a1e2541..2809142c5 100644
--- a/sql-files/upgrades/2013-11-09--00-03.sql
+++ b/sql-files/upgrades/2013-11-09--00-03.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-11-15--00-06.sql b/sql-files/upgrades/2013-11-15--00-06.sql
index 62f278b7f..1ddabd246 100644
--- a/sql-files/upgrades/2013-11-15--00-06.sql
+++ b/sql-files/upgrades/2013-11-15--00-06.sql
@@ -4,8 +4,8 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2015 Hercules Dev Team
--- Copyright (C) 2013 Haru <haru@dotalux.com>
+-- Copyright (C) 2013-2020 Hercules Dev Team
+-- Copyright (C) 2013 Haru <haru@dotalux.com>
--
-- 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/upgrades/2013-11-15--19-57.sql b/sql-files/upgrades/2013-11-15--19-57.sql
index 86d63cdfe..2df3ac07b 100644
--- a/sql-files/upgrades/2013-11-15--19-57.sql
+++ b/sql-files/upgrades/2013-11-15--19-57.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-11-16--07-49.sql b/sql-files/upgrades/2013-11-16--07-49.sql
index 302a88120..bd9dcd87e 100644
--- a/sql-files/upgrades/2013-11-16--07-49.sql
+++ b/sql-files/upgrades/2013-11-16--07-49.sql
@@ -3,7 +3,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-2020 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/upgrades/2013-11-18--08-23.sql b/sql-files/upgrades/2013-11-18--08-23.sql
index 8c917c694..24fc742f3 100644
--- a/sql-files/upgrades/2013-11-18--08-23.sql
+++ b/sql-files/upgrades/2013-11-18--08-23.sql
@@ -4,8 +4,8 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2015 Hercules Dev Team
--- Copyright (C) 2013 Haru <haru@dotalux.com>
+-- Copyright (C) 2013-2020 Hercules Dev Team
+-- Copyright (C) 2013 Haru <haru@dotalux.com>
--
-- 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/upgrades/2013-12-24--00-15.sql b/sql-files/upgrades/2013-12-24--00-15.sql
index 9ae0989d9..036fea7a3 100644
--- a/sql-files/upgrades/2013-12-24--00-15.sql
+++ b/sql-files/upgrades/2013-12-24--00-15.sql
@@ -3,7 +3,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-2020 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/upgrades/2014-01-04--16-47.sql b/sql-files/upgrades/2014-01-04--16-47.sql
index 966381ab6..ed39114b9 100644
--- a/sql-files/upgrades/2014-01-04--16-47.sql
+++ b/sql-files/upgrades/2014-01-04--16-47.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2014-01-06--17-22.sql b/sql-files/upgrades/2014-01-06--17-22.sql
index 5bdbcde0b..c798923a8 100644
--- a/sql-files/upgrades/2014-01-06--17-22.sql
+++ b/sql-files/upgrades/2014-01-06--17-22.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2014-02-19--17-57.sql b/sql-files/upgrades/2014-02-19--17-57.sql
index 90cd36303..b361a028d 100644
--- a/sql-files/upgrades/2014-02-19--17-57.sql
+++ b/sql-files/upgrades/2014-02-19--17-57.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2014-03-25--23-57.sql b/sql-files/upgrades/2014-03-25--23-57.sql
index 3ce623406..9ab69aa2f 100644
--- a/sql-files/upgrades/2014-03-25--23-57.sql
+++ b/sql-files/upgrades/2014-03-25--23-57.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2014-04-07--22-04.sql b/sql-files/upgrades/2014-04-07--22-04.sql
index 67d4fc8b2..64d32f322 100644
--- a/sql-files/upgrades/2014-04-07--22-04.sql
+++ b/sql-files/upgrades/2014-04-07--22-04.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2014-04-26--10-00.sql b/sql-files/upgrades/2014-04-26--10-00.sql
index cb23bc68b..d78fd6589 100644
--- a/sql-files/upgrades/2014-04-26--10-00.sql
+++ b/sql-files/upgrades/2014-04-26--10-00.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2014-05-17--00-06.sql b/sql-files/upgrades/2014-05-17--00-06.sql
index 6ac8c1292..c78bd92cc 100644
--- a/sql-files/upgrades/2014-05-17--00-06.sql
+++ b/sql-files/upgrades/2014-05-17--00-06.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2014-09-01--16-53.sql b/sql-files/upgrades/2014-09-01--16-53.sql
index 3c77f24c3..d2f7dd411 100644
--- a/sql-files/upgrades/2014-09-01--16-53.sql
+++ b/sql-files/upgrades/2014-09-01--16-53.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2014-11-03--00-45.sql b/sql-files/upgrades/2014-11-03--00-45.sql
index a847004bb..9baf5f0a3 100644
--- a/sql-files/upgrades/2014-11-03--00-45.sql
+++ b/sql-files/upgrades/2014-11-03--00-45.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/upgrades/2015-07-02--18-14.sql b/sql-files/upgrades/2015-07-02--18-14.sql
index e4bbdc484..68a02e309 100644
--- a/sql-files/upgrades/2015-07-02--18-14.sql
+++ b/sql-files/upgrades/2015-07-02--18-14.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2015-07-08--13-08.sql b/sql-files/upgrades/2015-07-08--13-08.sql
index 91c7b2638..09b72c500 100644
--- a/sql-files/upgrades/2015-07-08--13-08.sql
+++ b/sql-files/upgrades/2015-07-08--13-08.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2015-08-27--20-42.sql b/sql-files/upgrades/2015-08-27--20-42.sql
index 5be36f899..9bc1f6b5d 100644
--- a/sql-files/upgrades/2015-08-27--20-42.sql
+++ b/sql-files/upgrades/2015-08-27--20-42.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2015-12-16--12-57.sql b/sql-files/upgrades/2015-12-16--12-57.sql
index cc9ce799e..327d79070 100644
--- a/sql-files/upgrades/2015-12-16--12-57.sql
+++ b/sql-files/upgrades/2015-12-16--12-57.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015-2016 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2015-12-17--15-58.sql b/sql-files/upgrades/2015-12-17--15-58.sql
index 8d3dc51a3..78af21f77 100644
--- a/sql-files/upgrades/2015-12-17--15-58.sql
+++ b/sql-files/upgrades/2015-12-17--15-58.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2016-03-10--22-18.sql b/sql-files/upgrades/2016-03-10--22-18.sql
index 80266bcca..bcd098465 100644
--- a/sql-files/upgrades/2016-03-10--22-18.sql
+++ b/sql-files/upgrades/2016-03-10--22-18.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015-2016 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2016-07-08--02-42.sql b/sql-files/upgrades/2016-07-08--02-42.sql
index 94ca7e6db..76b6c6acb 100644
--- a/sql-files/upgrades/2016-07-08--02-42.sql
+++ b/sql-files/upgrades/2016-07-08--02-42.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015-2016 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2016-07-08--02-51.sql b/sql-files/upgrades/2016-07-08--02-51.sql
index 8ecf1a25f..cbe786bbc 100644
--- a/sql-files/upgrades/2016-07-08--02-51.sql
+++ b/sql-files/upgrades/2016-07-08--02-51.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015-2016 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2016-10-03--20-27.sql b/sql-files/upgrades/2016-10-03--20-27.sql
index 6ad840e05..c6c5d9b60 100644
--- a/sql-files/upgrades/2016-10-03--20-27.sql
+++ b/sql-files/upgrades/2016-10-03--20-27.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015-2016 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2016-10-26--10-29.sql b/sql-files/upgrades/2016-10-26--10-29.sql
index cabd7db10..b6238c1c9 100644
--- a/sql-files/upgrades/2016-10-26--10-29.sql
+++ b/sql-files/upgrades/2016-10-26--10-29.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015-2016 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2017-03-02--11-40.sql b/sql-files/upgrades/2017-03-02--11-40.sql
index 30798b5df..f45cf45d2 100644
--- a/sql-files/upgrades/2017-03-02--11-40.sql
+++ b/sql-files/upgrades/2017-03-02--11-40.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2015-2016 Hercules Dev Team
+-- Copyright (C) 2015-2020 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/upgrades/2017-03-15--14-29.sql b/sql-files/upgrades/2017-03-15--14-29.sql
index 6e6044738..c3acc6ac4 100644
--- a/sql-files/upgrades/2017-03-15--14-29.sql
+++ b/sql-files/upgrades/2017-03-15--14-29.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2017 Hercules Dev Team
+-- Copyright (C) 2017-2020 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,13 +50,13 @@ CREATE TABLE IF NOT EXISTS `rodex_items` (
CREATE TABLE IF NOT EXISTS `rodex_mail` (
`mail_id` BIGINT(20) NOT NULL AUTO_INCREMENT,
- `sender_name` VARCHAR(30) NOT NULL COLLATE 'utf8_unicode_ci',
+ `sender_name` VARCHAR(30) COLLATE 'utf8_unicode_ci' NOT NULL,
`sender_id` INT(11) NOT NULL,
- `receiver_name` VARCHAR(30) NOT NULL COLLATE 'utf8_unicode_ci',
+ `receiver_name` VARCHAR(30) COLLATE 'utf8_unicode_ci' NOT NULL,
`receiver_id` INT(11) NOT NULL,
`receiver_accountid` INT(11) NOT NULL,
- `title` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
- `body` VARCHAR(510) NOT NULL COLLATE 'utf8_unicode_ci',
+ `title` VARCHAR(50) COLLATE 'utf8_unicode_ci' NOT NULL,
+ `body` VARCHAR(510) COLLATE 'utf8_unicode_ci' NOT NULL,
`zeny` BIGINT(20) NOT NULL,
`type` TINYINT(8) UNSIGNED NOT NULL,
`is_read` TINYINT(8) NOT NULL,
diff --git a/sql-files/upgrades/2017-06-04--15-04.sql b/sql-files/upgrades/2017-06-04--15-04.sql
index 0805d054b..5cdd526a8 100644
--- a/sql-files/upgrades/2017-06-04--15-04.sql
+++ b/sql-files/upgrades/2017-06-04--15-04.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2017 Hercules Dev Team
+-- Copyright (C) 2017-2020 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/upgrades/2017-06-04--15-05.sql b/sql-files/upgrades/2017-06-04--15-05.sql
index 550197a15..c3de76640 100644
--- a/sql-files/upgrades/2017-06-04--15-05.sql
+++ b/sql-files/upgrades/2017-06-04--15-05.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2017 Hercules Dev Team
+-- Copyright (C) 2017-2020 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/upgrades/2018-03-10--04-06.sql b/sql-files/upgrades/2018-03-10--04-06.sql
index ee827735d..ff29bea34 100644
--- a/sql-files/upgrades/2018-03-10--04-06.sql
+++ b/sql-files/upgrades/2018-03-10--04-06.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2017 Hercules Dev Team
+-- Copyright (C) 2017-2020 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/upgrades/2018-06-03--00-10.sql b/sql-files/upgrades/2018-06-03--00-10.sql
index c7f6ac48d..6e93886f8 100644
--- a/sql-files/upgrades/2018-06-03--00-10.sql
+++ b/sql-files/upgrades/2018-06-03--00-10.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 2018-2020 Hercules Dev Team
-- Copyright (C) Smokexyz
--
-- Hercules is free software: you can redistribute it and/or modify
diff --git a/sql-files/upgrades/2018-06-03--17-16.sql b/sql-files/upgrades/2018-06-03--17-16.sql
index e14ca62ca..27091808b 100644
--- a/sql-files/upgrades/2018-06-03--17-16.sql
+++ b/sql-files/upgrades/2018-06-03--17-16.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 2018-2020 Hercules Dev Team
-- Copyright (C) Dastgir
--
-- Hercules is free software: you can redistribute it and/or modify
diff --git a/sql-files/upgrades/2018-06-05--12-02.sql b/sql-files/upgrades/2018-06-05--12-02.sql
index 26c22243f..0ed67214c 100644
--- a/sql-files/upgrades/2018-06-05--12-02.sql
+++ b/sql-files/upgrades/2018-06-05--12-02.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 2018-2020 Hercules Dev Team
-- Copyright (C) 2018 Dastgir
--
-- Hercules is free software: you can redistribute it and/or modify
diff --git a/sql-files/upgrades/2018-07-24--03-23.sql b/sql-files/upgrades/2018-07-24--03-23.sql
index a8d2d8f77..695f99b1e 100644
--- a/sql-files/upgrades/2018-07-24--03-23.sql
+++ b/sql-files/upgrades/2018-07-24--03-23.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 2018-2020 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/upgrades/2018-09-01--05-22.sql b/sql-files/upgrades/2018-09-01--05-22.sql
index 7a834edd4..c8b4496ac 100644
--- a/sql-files/upgrades/2018-09-01--05-22.sql
+++ b/sql-files/upgrades/2018-09-01--05-22.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 2018-2020 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/upgrades/2018-12-14--01-02.sql b/sql-files/upgrades/2018-12-14--01-02.sql
index 7bcd583c2..2d74b562c 100644
--- a/sql-files/upgrades/2018-12-14--01-02.sql
+++ b/sql-files/upgrades/2018-12-14--01-02.sql
@@ -3,7 +3,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2018 Hercules Dev Team
+-- Copyright (C) 2018-2020 Hercules Dev Team
-- Copyright (C) 4144
--
-- Hercules is free software: you can redistribute it and/or modify
diff --git a/sql-files/upgrades/2018-12-29--07-51.sql b/sql-files/upgrades/2018-12-29--07-51.sql
index 641179399..9a6c69624 100644
--- a/sql-files/upgrades/2018-12-29--07-51.sql
+++ b/sql-files/upgrades/2018-12-29--07-51.sql
@@ -3,7 +3,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-2020 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/upgrades/2019-04-08--21-52.sql b/sql-files/upgrades/2019-04-08--21-52.sql
new file mode 100644
index 000000000..10c9ac714
--- /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-2020 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..0b1583ab0
--- /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-2020 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/2019-05-09--18-07.sql b/sql-files/upgrades/2019-05-09--18-07.sql
new file mode 100644
index 000000000..75f678f45
--- /dev/null
+++ b/sql-files/upgrades/2019-05-09--18-07.sql
@@ -0,0 +1,22 @@
+#1557414445
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2015-2020 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 `char` ADD COLUMN `hotkey_rowshift2` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `hotkey_rowshift`;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1557414445);
diff --git a/sql-files/upgrades/2019-08-08--19-43.sql b/sql-files/upgrades/2019-08-08--19-43.sql
new file mode 100644
index 000000000..15bc4a89a
--- /dev/null
+++ b/sql-files/upgrades/2019-08-08--19-43.sql
@@ -0,0 +1,95 @@
+#1565293394
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2019-2020 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 `guild_castle` DROP PRIMARY KEY;
+ALTER TABLE `guild_castle` ADD COLUMN `castle_name` VARCHAR(24) AFTER `castle_id`;
+UPDATE `guild_castle` SET `castle_name` = 'aldeg_cas01' WHERE castle_id = 0;
+UPDATE `guild_castle` SET `castle_name` = 'aldeg_cas02' WHERE castle_id = 1;
+UPDATE `guild_castle` SET `castle_name` = 'aldeg_cas03' WHERE castle_id = 2;
+UPDATE `guild_castle` SET `castle_name` = 'aldeg_cas04' WHERE castle_id = 3;
+UPDATE `guild_castle` SET `castle_name` = 'aldeg_cas05' WHERE castle_id = 4;
+UPDATE `guild_castle` SET `castle_name` = 'gefg_cas01' WHERE castle_id = 5;
+UPDATE `guild_castle` SET `castle_name` = 'gefg_cas02' WHERE castle_id = 6;
+UPDATE `guild_castle` SET `castle_name` = 'gefg_cas03' WHERE castle_id = 7;
+UPDATE `guild_castle` SET `castle_name` = 'gefg_cas04' WHERE castle_id = 8;
+UPDATE `guild_castle` SET `castle_name` = 'gefg_cas05' WHERE castle_id = 9;
+UPDATE `guild_castle` SET `castle_name` = 'payg_cas01' WHERE castle_id = 10;
+UPDATE `guild_castle` SET `castle_name` = 'payg_cas02' WHERE castle_id = 11;
+UPDATE `guild_castle` SET `castle_name` = 'payg_cas03' WHERE castle_id = 12;
+UPDATE `guild_castle` SET `castle_name` = 'payg_cas04' WHERE castle_id = 13;
+UPDATE `guild_castle` SET `castle_name` = 'payg_cas05' WHERE castle_id = 14;
+UPDATE `guild_castle` SET `castle_name` = 'prtg_cas01' WHERE castle_id = 15;
+UPDATE `guild_castle` SET `castle_name` = 'prtg_cas02' WHERE castle_id = 16;
+UPDATE `guild_castle` SET `castle_name` = 'prtg_cas03' WHERE castle_id = 17;
+UPDATE `guild_castle` SET `castle_name` = 'prtg_cas04' WHERE castle_id = 18;
+UPDATE `guild_castle` SET `castle_name` = 'prtg_cas05' WHERE castle_id = 19;
+UPDATE `guild_castle` SET `castle_name` = 'nguild_alde' WHERE castle_id = 20;
+UPDATE `guild_castle` SET `castle_name` = 'nguild_gef' WHERE castle_id = 21;
+UPDATE `guild_castle` SET `castle_name` = 'nguild_pay' WHERE castle_id = 22;
+UPDATE `guild_castle` SET `castle_name` = 'nguild_prt' WHERE castle_id = 23;
+UPDATE `guild_castle` SET `castle_name` = 'schg_cas01' WHERE castle_id = 24;
+UPDATE `guild_castle` SET `castle_name` = 'schg_cas02' WHERE castle_id = 25;
+UPDATE `guild_castle` SET `castle_name` = 'schg_cas03' WHERE castle_id = 26;
+UPDATE `guild_castle` SET `castle_name` = 'schg_cas04' WHERE castle_id = 27;
+UPDATE `guild_castle` SET `castle_name` = 'schg_cas05' WHERE castle_id = 28;
+UPDATE `guild_castle` SET `castle_name` = 'arug_cas01' WHERE castle_id = 29;
+UPDATE `guild_castle` SET `castle_name` = 'arug_cas02' WHERE castle_id = 30;
+UPDATE `guild_castle` SET `castle_name` = 'arug_cas03' WHERE castle_id = 31;
+UPDATE `guild_castle` SET `castle_name` = 'arug_cas04' WHERE castle_id = 32;
+UPDATE `guild_castle` SET `castle_name` = 'arug_cas05' WHERE castle_id = 33;
+
+-- Change the castle ids
+UPDATE `guild_castle` SET `castle_id` = 1 WHERE castle_name = 'prtg_cas01';
+UPDATE `guild_castle` SET `castle_id` = 2 WHERE castle_name = 'prtg_cas02';
+UPDATE `guild_castle` SET `castle_id` = 3 WHERE castle_name = 'prtg_cas03';
+UPDATE `guild_castle` SET `castle_id` = 4 WHERE castle_name = 'prtg_cas04';
+UPDATE `guild_castle` SET `castle_id` = 5 WHERE castle_name = 'prtg_cas05';
+UPDATE `guild_castle` SET `castle_id` = 6 WHERE castle_name = 'aldeg_cas01';
+UPDATE `guild_castle` SET `castle_id` = 7 WHERE castle_name = 'aldeg_cas02';
+UPDATE `guild_castle` SET `castle_id` = 8 WHERE castle_name = 'aldeg_cas03';
+UPDATE `guild_castle` SET `castle_id` = 9 WHERE castle_name = 'aldeg_cas04';
+UPDATE `guild_castle` SET `castle_id` = 10 WHERE castle_name = 'aldeg_cas05';
+UPDATE `guild_castle` SET `castle_id` = 11 WHERE castle_name = 'gefg_cas01';
+UPDATE `guild_castle` SET `castle_id` = 12 WHERE castle_name = 'gefg_cas02';
+UPDATE `guild_castle` SET `castle_id` = 13 WHERE castle_name = 'gefg_cas03';
+UPDATE `guild_castle` SET `castle_id` = 14 WHERE castle_name = 'gefg_cas04';
+UPDATE `guild_castle` SET `castle_id` = 15 WHERE castle_name = 'gefg_cas05';
+UPDATE `guild_castle` SET `castle_id` = 16 WHERE castle_name = 'payg_cas01';
+UPDATE `guild_castle` SET `castle_id` = 17 WHERE castle_name = 'payg_cas02';
+UPDATE `guild_castle` SET `castle_id` = 18 WHERE castle_name = 'payg_cas03';
+UPDATE `guild_castle` SET `castle_id` = 19 WHERE castle_name = 'payg_cas04';
+UPDATE `guild_castle` SET `castle_id` = 20 WHERE castle_name = 'payg_cas05';
+UPDATE `guild_castle` SET `castle_id` = 21 WHERE castle_name = 'arug_cas01';
+UPDATE `guild_castle` SET `castle_id` = 22 WHERE castle_name = 'arug_cas02';
+UPDATE `guild_castle` SET `castle_id` = 23 WHERE castle_name = 'arug_cas03';
+UPDATE `guild_castle` SET `castle_id` = 24 WHERE castle_name = 'arug_cas04';
+UPDATE `guild_castle` SET `castle_id` = 25 WHERE castle_name = 'arug_cas05';
+UPDATE `guild_castle` SET `castle_id` = 26 WHERE castle_name = 'schg_cas01';
+UPDATE `guild_castle` SET `castle_id` = 27 WHERE castle_name = 'schg_cas02';
+UPDATE `guild_castle` SET `castle_id` = 29 WHERE castle_name = 'schg_cas04';
+UPDATE `guild_castle` SET `castle_id` = 28 WHERE castle_name = 'schg_cas03';
+UPDATE `guild_castle` SET `castle_id` = 30 WHERE castle_name = 'schg_cas05';
+UPDATE `guild_castle` SET `castle_id` = 31 WHERE castle_name = 'nguild_prt';
+UPDATE `guild_castle` SET `castle_id` = 32 WHERE castle_name = 'nguild_alde';
+UPDATE `guild_castle` SET `castle_id` = 33 WHERE castle_name = 'nguild_gef';
+UPDATE `guild_castle` SET `castle_id` = 34 WHERE castle_name = 'nguild_pay';
+ALTER TABLE `guild_castle` ADD PRIMARY KEY (`castle_id`);
+ALTER TABLE `guild_castle` DROP COLUMN `castle_name`;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1565293394);
diff --git a/sql-files/upgrades/2019-10-05--19-01.sql b/sql-files/upgrades/2019-10-05--19-01.sql
new file mode 100644
index 000000000..165764a80
--- /dev/null
+++ b/sql-files/upgrades/2019-10-05--19-01.sql
@@ -0,0 +1,28 @@
+#1570309293
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2019-2020 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/>.
+
+-- Adds new total_tick column
+ALTER TABLE `sc_data` ADD COLUMN `total_tick` INT(11) NOT NULL AFTER `tick`;
+
+-- Copy current tick to total_tick so players doesn't lose their current
+-- status_changes, although those will still appear wrong until they end
+UPDATE `sc_data` SET `total_tick` = `tick`;
+
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1570309293);
diff --git a/sql-files/upgrades/2019-10-12--14-21.sql b/sql-files/upgrades/2019-10-12--14-21.sql
new file mode 100644
index 000000000..929092809
--- /dev/null
+++ b/sql-files/upgrades/2019-10-12--14-21.sql
@@ -0,0 +1,23 @@
+#1570870260
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2019-2020 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 `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','K','Y','Z','W','Q','J','H','@','0','1','2', '3') NOT NULL DEFAULT 'P';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1570870260);
diff --git a/sql-files/upgrades/2019-11-22--23-58.sql b/sql-files/upgrades/2019-11-22--23-58.sql
new file mode 100644
index 000000000..34ffc2c71
--- /dev/null
+++ b/sql-files/upgrades/2019-11-22--23-58.sql
@@ -0,0 +1,23 @@
+#1574463539
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2019-2020 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 `ipbanlist` MODIFY `list` VARCHAR(13) NOT NULL DEFAULT '';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1574463539);
diff --git a/sql-files/upgrades/2020-01-24--01-09.sql b/sql-files/upgrades/2020-01-24--01-09.sql
new file mode 100644
index 000000000..2370b267f
--- /dev/null
+++ b/sql-files/upgrades/2020-01-24--01-09.sql
@@ -0,0 +1,63 @@
+#1579817630
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2013-2020 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_expanded_barter_data` (
+ `name` VARCHAR(24) NOT NULL DEFAULT '',
+ `itemId` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `amount` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `zeny` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyId1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount1` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine1` INT(11) NOT NULL DEFAULT '0',
+ `currencyId2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount2` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine2` INT(11) NOT NULL DEFAULT '0',
+ `currencyId3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount3` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine3` INT(11) NOT NULL DEFAULT '0',
+ `currencyId4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount4` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine4` INT(11) NOT NULL DEFAULT '0',
+ `currencyId5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount5` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine5` INT(11) NOT NULL DEFAULT '0',
+ `currencyId6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount6` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine6` INT(11) NOT NULL DEFAULT '0',
+ `currencyId7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount7` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine7` INT(11) NOT NULL DEFAULT '0',
+ `currencyId8` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount8` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine8` INT(11) NOT NULL DEFAULT '0',
+ `currencyId9` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount9` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine9` INT(11) NOT NULL DEFAULT '0',
+ `currencyId10` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyAmount10` INT(11) UNSIGNED NOT NULL DEFAULT '0',
+ `currencyRefine10` INT(11) NOT NULL DEFAULT '0',
+ PRIMARY KEY (`name`, `itemid`, `zeny`,
+ `currencyId1`, `currencyAmount1`, `currencyRefine1`,
+ `currencyId2`, `currencyAmount2`, `currencyRefine2`,
+ `currencyId3`, `currencyAmount3`, `currencyRefine3`,
+ `currencyId4`, `currencyAmount4`, `currencyRefine4`
+)
+) ENGINE=MyISAM;
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1579817630);
diff --git a/sql-files/upgrades/2020-03-22--01-56.sql b/sql-files/upgrades/2020-03-22--01-56.sql
new file mode 100644
index 000000000..58f090a67
--- /dev/null
+++ b/sql-files/upgrades/2020-03-22--01-56.sql
@@ -0,0 +1,23 @@
+#1584838560
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2019-2020 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 `ipbanlist` MODIFY `list` VARCHAR(39) NOT NULL DEFAULT '';
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1584838560);
diff --git a/sql-files/upgrades/2020-03-22--03-09.sql b/sql-files/upgrades/2020-03-22--03-09.sql
new file mode 100644
index 000000000..dbdf65c5c
--- /dev/null
+++ b/sql-files/upgrades/2020-03-22--03-09.sql
@@ -0,0 +1,24 @@
+#1584842940
+
+-- This file is part of Hercules.
+-- http://herc.ws - http://github.com/HerculesWS/Hercules
+--
+-- Copyright (C) 2019-2020 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 `login` ALTER `userid` DROP DEFAULT;
+ALTER TABLE `login` DROP INDEX `name`;
+ALTER TABLE `login` ADD CONSTRAINT `name` UNIQUE (`userid`);
+INSERT INTO `sql_updates` (`timestamp`) VALUES (1584842940);
diff --git a/sql-files/upgrades/eAthena-logs-upgrade.sql b/sql-files/upgrades/eAthena-logs-upgrade.sql
index 014f119e3..a1e4d1d82 100644
--- a/sql-files/upgrades/eAthena-logs-upgrade.sql
+++ b/sql-files/upgrades/eAthena-logs-upgrade.sql
@@ -1,7 +1,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-2020 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/upgrades/eAthena-main-upgrade.sql b/sql-files/upgrades/eAthena-main-upgrade.sql
index 647c9e004..ed1591bec 100644
--- a/sql-files/upgrades/eAthena-main-upgrade.sql
+++ b/sql-files/upgrades/eAthena-main-upgrade.sql
@@ -1,7 +1,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-2020 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/upgrades/index.txt b/sql-files/upgrades/index.txt
index 3a2fc4c33..fdd5fcc5a 100644
--- a/sql-files/upgrades/index.txt
+++ b/sql-files/upgrades/index.txt
@@ -52,3 +52,13 @@
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
+2019-05-09--18-07.sql
+2019-08-08--19-43.sql
+2019-10-05--19-01.sql
+2019-10-12--14-21.sql
+2019-11-22--23-58.sql
+2020-01-24--01-09.sql
+2020-03-22--01-56.sql
+2020-03-22--03-09.sql
diff --git a/sql-files/upgrades/rAthena-logs-upgrade.sql b/sql-files/upgrades/rAthena-logs-upgrade.sql
index 09a571818..2e7319fc3 100644
--- a/sql-files/upgrades/rAthena-logs-upgrade.sql
+++ b/sql-files/upgrades/rAthena-logs-upgrade.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2014 Hercules Dev Team
+-- Copyright (C) 2013-2020 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/upgrades/rAthena-main-upgrade.sql b/sql-files/upgrades/rAthena-main-upgrade.sql
index 5dd6111a5..7a6b75beb 100644
--- a/sql-files/upgrades/rAthena-main-upgrade.sql
+++ b/sql-files/upgrades/rAthena-main-upgrade.sql
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2013-2014 Hercules Dev Team
+-- Copyright (C) 2013-2020 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/src/char/HPMchar.c b/src/char/HPMchar.c
index f3cf2cff4..517bc0835 100644
--- a/src/char/HPMchar.c
+++ b/src/char/HPMchar.c
@@ -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-2020 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/src/char/HPMchar.h b/src/char/HPMchar.h
index 0de3b88b8..d2fc69301 100644
--- a/src/char/HPMchar.h
+++ b/src/char/HPMchar.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-2020 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/src/char/Makefile.in b/src/char/Makefile.in
index f159a443f..88a99c96c 100644
--- a/src/char/Makefile.in
+++ b/src/char/Makefile.in
@@ -1,8 +1,8 @@
# 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
+# Copyright (C) 2012-2020 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
@@ -36,6 +36,19 @@ LIBCONFIG_OBJ = $(addprefix $(LIBCONFIG_D)/, libconfig.o grammar.o scanctx.o \
LIBCONFIG_H = $(addprefix $(LIBCONFIG_D)/, libconfig.h grammar.h parsectx.h \
scanctx.h scanner.h strbuf.h wincompat.h)
+ifeq (@USE_LIBBACKTRACE@,yes)
+ LIBBACKTRACE_D = $(THIRDPARTY_D)/libbacktrace
+ LIBBACKTRACE_OBJ = $(addprefix $(LIBBACKTRACE_D)/, atomic.o backtrace.o \
+ dwarf.o @LIBBACKTRACE_FORMAT_FILE@ fileline.o mmapio.o mmap.o posix.o print.o \
+ simple.o sort.o state.o)
+ LIBBACKTRACE_H = $(addprefix $(LIBBACKTRACE_D)/, backtrace.h \
+ backtrace-supported.h config.h filenames.h internal.h)
+else
+ LIBBACKTRACE_D =
+ LIBBACKTRACE_OBJ =
+ LIBBACKTRACE_H =
+endif
+
MT19937AR_D = $(THIRDPARTY_D)/mt19937ar
MT19937AR_OBJ = $(MT19937AR_D)/mt19937ar.o
MT19937AR_H = $(MT19937AR_D)/mt19937ar.h
@@ -51,7 +64,7 @@ CHAR_PH =
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- CHAR_SERVER_SQL_DEPENDS=$(CHAR_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(SYSINFO_INC)
+ CHAR_SERVER_SQL_DEPENDS=$(CHAR_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) $(SYSINFO_INC)
else
CHAR_SERVER_SQL_DEPENDS=needs_mysql
endif
@@ -90,7 +103,7 @@ help:
Makefile: Makefile.in
@$(MAKE) -C ../.. src/char/Makefile
-$(SYSINFO_INC): $(CHAR_C) $(CHAR_PH) $(CHAR_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H)
+$(SYSINFO_INC): $(CHAR_C) $(CHAR_PH) $(CHAR_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H)
@echo " MAKE $@"
@$(MAKE) -C ../.. sysinfo
@@ -111,7 +124,7 @@ char-server: ../../char-server@EXEEXT@
../../char-server@EXEEXT@: $(CHAR_SERVER_SQL_DEPENDS) Makefile
@echo " LD $(notdir $@)"
@$(CC) @STATIC@ @LDFLAGS@ -o ../../char-server@EXEEXT@ $(CHAR_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
- $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) @LIBS@ @MYSQL_LIBS@
# missing object files
$(COMMON_D)/obj_all/common.a:
@@ -130,10 +143,14 @@ $(LIBCONFIG_OBJ):
@echo " MAKE $@"
@$(MAKE) -C $(LIBCONFIG_D)
+$(LIBBACKTRACE_OBJ):
+ @echo " MAKE $@"
+ @$(MAKE) -C $(LIBBACKTRACE_D)
+
.SECONDEXPANSION:
# char object files
-obj_sql/%.o: %.c $$(filter %.p.h, $(CHAR_PH)) $(CHAR_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | obj_sql
+obj_sql/%.o: %.c $$(filter %.p.h, $(CHAR_PH)) $(CHAR_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H) | obj_sql
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
diff --git a/src/char/char.c b/src/char/char.c
index 34a3ea7a8..aac9ad20c 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -120,8 +120,6 @@ char char_achievement_db[256] = "char_achievements";
static struct char_interface char_s;
struct char_interface *chr;
-char db_path[1024] = "db";
-
static char wisp_server_name[NAME_LENGTH] = "Server";
static char login_ip_str[128];
static uint32 login_ip = 0;
@@ -477,9 +475,10 @@ static int char_mmo_char_tosql(int char_id, struct mmo_charstatus *p)
(p->look.head_mid != cp->look.head_mid) || (p->look.head_bottom != cp->look.head_bottom) || (p->delete_date != cp->delete_date) ||
(p->rename != cp->rename) || (p->slotchange != cp->slotchange) || (p->look.robe != cp->look.robe) ||
(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->uniqueitem_counter != cp->uniqueitem_counter) || (p->hotkey_rowshift != cp->hotkey_rowshift) || (p->hotkey_rowshift2 != cp->hotkey_rowshift2) ||
(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->inventorySize != cp->inventorySize)
+ (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;
@@ -491,10 +490,12 @@ static int char_mmo_char_tosql(int char_id, struct mmo_charstatus *p)
p->inventorySize = FIXED_INVENTORY_SIZE;
}
- if( p->allow_party )
+ 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',"
@@ -504,7 +505,7 @@ static int char_mmo_char_tosql(int char_id, struct mmo_charstatus *p)
"`weapon`='%d',`shield`='%d',`head_top`='%d',`head_mid`='%d',`head_bottom`='%d',"
"`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"',"
+ "`hotkey_rowshift`='%d',`hotkey_rowshift2`='%d',`clan_id`='%d',`last_login`='%"PRId64"',`attendance_count`='%d',`attendance_timer`='%"PRId64"',"
"`title_id`='%d', `inventory_size`='%d'"
" WHERE `account_id`='%d' AND `char_id` = '%d'",
char_db, p->base_level, p->job_level,
@@ -517,7 +518,7 @@ static int char_mmo_char_tosql(int char_id, struct mmo_charstatus *p)
mapindex_id2name(p->save_point.map), p->save_point.x, p->save_point.y, p->rename,
(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->hotkey_rowshift,p->hotkey_rowshift2,p->clan_id,p->last_login, p->attendance_count, p->attendance_timer,
p->title_id, p->inventorySize,
p->account_id, p->char_id) )
{
@@ -1212,7 +1213,7 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
"`status_point`,`skill_point`,`option`,`karma`,`manner`,`party_id`,`guild_id`,`pet_id`,`homun_id`,`elemental_id`,`hair`,"
"`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`,"
+ "`char_opt`,`font`,`uniqueitem_counter`,`sex`,`hotkey_rowshift`,`hotkey_rowshift2`,`clan_id`,`last_login`, `attendance_count`, `attendance_timer`,"
"`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)
@@ -1276,12 +1277,13 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 56, SQLDT_UINT32, &p->uniqueitem_counter, sizeof p->uniqueitem_counter, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 57, SQLDT_ENUM, &sex, sizeof sex, NULL, NULL)
|| SQL_ERROR == SQL->StmtBindColumn(stmt, 58, SQLDT_UCHAR, &p->hotkey_rowshift, sizeof p->hotkey_rowshift, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 59, SQLDT_INT, &p->clan_id, sizeof p->clan_id, NULL, NULL)
- || SQL_ERROR == SQL->StmtBindColumn(stmt, 60, SQLDT_INT64, &p->last_login, sizeof p->last_login, NULL, NULL)
- || 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)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 59, SQLDT_UCHAR, &p->hotkey_rowshift2, sizeof p->hotkey_rowshift2, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 60, SQLDT_INT, &p->clan_id, sizeof p->clan_id, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 61, SQLDT_INT64, &p->last_login, sizeof p->last_login, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 62, SQLDT_SHORT, &p->attendance_count, sizeof p->attendance_count, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 63, SQLDT_INT64, &p->attendance_timer, sizeof p->attendance_timer, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 64, SQLDT_INT, &p->title_id, sizeof p->title_id, NULL, NULL)
+ || SQL_ERROR == SQL->StmtBindColumn(stmt, 65, SQLDT_INT, &p->inventorySize, sizeof p->inventorySize, NULL, NULL)
) {
SqlStmt_ShowDebug(stmt);
SQL->StmtFree(stmt);
@@ -1412,7 +1414,7 @@ static int char_mmo_char_fromsql(int char_id, struct mmo_charstatus *p, bool loa
while( SQL_SUCCESS == SQL->StmtNextRow(stmt) )
{
- if( hotkey_num >= 0 && hotkey_num < MAX_HOTKEYS )
+ if( hotkey_num >= 0 && hotkey_num < MAX_HOTKEYS_DB )
memcpy(&p->hotkeys[hotkey_num], &tmp_hotkey, sizeof(tmp_hotkey));
else
ShowWarning("chr->mmo_char_fromsql: ignoring invalid hotkey (hotkey=%d,type=%u,id=%u,lv=%u) of character %s (AID=%d,CID=%d)\n", hotkey_num, tmp_hotkey.type, tmp_hotkey.id, tmp_hotkey.lv, p->name, p->account_id, p->char_id);
@@ -1447,10 +1449,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));
@@ -2148,11 +2152,13 @@ static void char_send_HC_ACK_CHARINFO_PER_PAGE(int fd, struct char_session_data
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
}
/* Sends character ban list */
@@ -2265,6 +2271,8 @@ static int char_char_married(int pl1, int pl2)
static int char_char_child(int parent_id, int child_id)
{
+ if (parent_id == 0 || child_id == 0) // Failsafe, avoild querys and fix EXP bug dividing with lower level chars
+ return 0;
if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `child` FROM `%s` WHERE `char_id` = '%d'", char_db, parent_id) )
Sql_ShowDebug(inter->sql_handle);
else if( SQL_SUCCESS == SQL->NextRow(inter->sql_handle) )
@@ -2284,6 +2292,8 @@ static int char_char_child(int parent_id, int child_id)
static int char_char_family(int cid1, int cid2, int cid3)
{
+ if (cid1 == 0 || cid2 == 0 || cid3 == 0) //Failsafe, and avoid querys where there is no sense to keep executing if any of the inputs are 0
+ return 0;
if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `char_id`,`partner_id`,`child` FROM `%s` WHERE `char_id` IN ('%d','%d','%d')", char_db, cid1, cid2, cid3) )
Sql_ShowDebug(inter->sql_handle);
else while( SQL_SUCCESS == SQL->NextRow(inter->sql_handle) )
@@ -3137,7 +3147,7 @@ static void char_parse_frommap_map_names(int fd, int id)
static void char_send_scdata(int fd, int aid, int cid)
{
#ifdef ENABLE_SC_SAVING
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `type`, `tick`, `val1`, `val2`, `val3`, `val4` "
+ if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `type`, `tick`, `total_tick`, `val1`, `val2`, `val3`, `val4` "
"FROM `%s` WHERE `account_id` = '%d' AND `char_id`='%d'",
scdata_db, aid, cid) )
{
@@ -3158,10 +3168,11 @@ static void char_send_scdata(int fd, int aid, int cid)
{
SQL->GetData(inter->sql_handle, 0, &data, NULL); scdata.type = atoi(data);
SQL->GetData(inter->sql_handle, 1, &data, NULL); scdata.tick = atoi(data);
- SQL->GetData(inter->sql_handle, 2, &data, NULL); scdata.val1 = atoi(data);
- SQL->GetData(inter->sql_handle, 3, &data, NULL); scdata.val2 = atoi(data);
- SQL->GetData(inter->sql_handle, 4, &data, NULL); scdata.val3 = atoi(data);
- SQL->GetData(inter->sql_handle, 5, &data, NULL); scdata.val4 = atoi(data);
+ SQL->GetData(inter->sql_handle, 2, &data, NULL); scdata.total_tick = atoi(data);
+ SQL->GetData(inter->sql_handle, 3, &data, NULL); scdata.val1 = atoi(data);
+ SQL->GetData(inter->sql_handle, 4, &data, NULL); scdata.val2 = atoi(data);
+ SQL->GetData(inter->sql_handle, 5, &data, NULL); scdata.val3 = atoi(data);
+ SQL->GetData(inter->sql_handle, 6, &data, NULL); scdata.val4 = atoi(data);
memcpy(WFIFOP(fd, 14+count*sizeof(struct status_change_data)), &scdata, sizeof(struct status_change_data));
}
if (count >= 50)
@@ -3731,14 +3742,14 @@ static void char_parse_frommap_save_status_change_data(int fd)
int i;
StrBuf->Init(&buf);
- StrBuf->Printf(&buf, "INSERT INTO `%s` (`account_id`, `char_id`, `type`, `tick`, `val1`, `val2`, `val3`, `val4`) VALUES ", scdata_db);
+ StrBuf->Printf(&buf, "INSERT INTO `%s` (`account_id`, `char_id`, `type`, `tick`, `total_tick`, `val1`, `val2`, `val3`, `val4`) VALUES ", scdata_db);
for( i = 0; i < count; ++i )
{
memcpy (&data, RFIFOP(fd, 14+i*sizeof(struct status_change_data)), sizeof(struct status_change_data));
if( i > 0 )
StrBuf->AppendStr(&buf, ", ");
- StrBuf->Printf(&buf, "('%d','%d','%hu','%d','%d','%d','%d','%d')", aid, cid,
- data.type, data.tick, data.val1, data.val2, data.val3, data.val4);
+ StrBuf->Printf(&buf, "('%d','%d','%hu','%d','%d','%d','%d','%d','%d')", aid, cid,
+ data.type, data.tick, data.total_tick, data.val1, data.val2, data.val3, data.val4);
}
if( SQL_ERROR == SQL->QueryStr(inter->sql_handle, StrBuf->Value(&buf)) )
Sql_ShowDebug(inter->sql_handle);
@@ -3871,9 +3882,9 @@ static void char_parse_frommap_scdata_update(int fd)
short type = RFIFOW(fd, 10);
if (SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s`"
- " (`account_id`,`char_id`,`type`,`tick`,`val1`,`val2`,`val3`,`val4`)"
- " VALUES ('%d','%d','%d','%d','%d','%d','%d','%d')",
- scdata_db, account_id, char_id, type, INFINITE_DURATION, val1, val2, val3, val4)
+ " (`account_id`,`char_id`,`type`,`tick`,`total_tick`,`val1`,`val2`,`val3`,`val4`)"
+ " VALUES ('%d','%d','%d','%d','%d','%d','%d','%d','%d')",
+ scdata_db, account_id, char_id, type, INFINITE_DURATION, INFINITE_DURATION, val1, val2, val3, val4)
) {
Sql_ShowDebug(inter->sql_handle);
}
@@ -5779,7 +5790,8 @@ static bool char_config_read_database(const char *filename, const struct config_
if (autosave_interval <= 0)
autosave_interval = DEFAULT_AUTOSAVE_INTERVAL;
}
- libconfig->setting_lookup_mutable_string(setting, "db_path", db_path, sizeof(db_path));
+ libconfig->setting_lookup_mutable_string(setting, "db_path", chr->db_path, sizeof(chr->db_path));
+ libconfig->set_db_path(chr->db_path);
libconfig->setting_lookup_bool_real(setting, "log_char", &chr->enable_logs);
return true;
}
@@ -6441,6 +6453,8 @@ void char_defaults(void)
chr = &char_s;
memset(chr->server, 0, sizeof(chr->server));
+ sprintf(chr->db_path, "db");
+ libconfig->set_db_path(chr->db_path);
chr->login_fd = 0;
chr->char_fd = -1;
diff --git a/src/char/char.h b/src/char/char.h
index 5de3e2a80..413007868 100644
--- a/src/char/char.h
+++ b/src/char/char.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -124,6 +124,8 @@ struct char_interface {
bool show_save_log; ///< Show loading/saving messages.
bool enable_logs; ///< Whether to log char server operations.
+ char db_path[256]; //< Database directory (db)
+
int (*waiting_disconnect) (int tid, int64 tick, int id, intptr_t data);
int (*delete_char_sql) (int char_id);
struct DBData (*create_online_char_data) (union DBKey key, va_list args);
diff --git a/src/char/geoip.c b/src/char/geoip.c
index 2870e5f0c..daace34d5 100644
--- a/src/char/geoip.c
+++ b/src/char/geoip.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -23,6 +23,7 @@
#include "geoip.h"
#include "common/cbasetypes.h"
+#include "common/conf.h"
#include "common/memmgr.h"
#include "common/showmsg.h"
@@ -141,7 +142,9 @@ static void geoip_init(void)
geoip->data->active = true;
- db = fopen("./db/GeoIP.dat","rb");
+ char file_path[256];
+ libconfig->format_db_path("GeoIP.dat", file_path, sizeof(file_path));
+ db = fopen(file_path, "rb");
if (db == NULL) {
ShowError("geoip_readdb: Error reading GeoIP.dat!\n");
geoip->final(false);
diff --git a/src/char/geoip.h b/src/char/geoip.h
index be9fe4fff..f8070dc2e 100644
--- a/src/char/geoip.h
+++ b/src/char/geoip.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_achievement.c b/src/char/int_achievement.c
index 14311ecf0..167178482 100644
--- a/src/char/int_achievement.c
+++ b/src/char/int_achievement.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
-* Copyright (C) 2017 Hercules Dev Team
+* Copyright (C) 2017-2020 Hercules Dev Team
* Copyright (C) Smokexyz
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_achievement.h b/src/char/int_achievement.h
index 4a44a798d..6c6ddc7f4 100644
--- a/src/char/int_achievement.h
+++ b/src/char/int_achievement.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
-* Copyright (C) 2017 Hercules Dev Team
+* Copyright (C) 2017-2020 Hercules Dev Team
* Copyright (C) Smokexyz
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/char/int_auction.c b/src/char/int_auction.c
index 1e5b0a06d..aa01872f9 100644
--- a/src/char/int_auction.c
+++ b/src/char/int_auction.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_auction.h b/src/char/int_auction.h
index 720efe22a..642fd21e3 100644
--- a/src/char/int_auction.h
+++ b/src/char/int_auction.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_clan.c b/src/char/int_clan.c
index 9fb8ad95e..87f21f3fd 100644
--- a/src/char/int_clan.c
+++ b/src/char/int_clan.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2017 Hercules Dev Team
+ * Copyright (C) 2017-2020 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/src/char/int_clan.h b/src/char/int_clan.h
index e7b44ecd3..abc026efb 100644
--- a/src/char/int_clan.h
+++ b/src/char/int_clan.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2017 Hercules Dev Team
+ * Copyright (C) 2017-2020 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/src/char/int_elemental.c b/src/char/int_elemental.c
index 175007b66..76ea7d56f 100644
--- a/src/char/int_elemental.c
+++ b/src/char/int_elemental.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_elemental.h b/src/char/int_elemental.h
index 3172dcacf..8c326faef 100644
--- a/src/char/int_elemental.h
+++ b/src/char/int_elemental.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_guild.c b/src/char/int_guild.c
index 9c0be1629..af2088403 100644
--- a/src/char/int_guild.c
+++ b/src/char/int_guild.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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);
}
}
@@ -444,8 +444,14 @@ static struct guild *inter_guild_fromsql(int guild_id)
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);
- if (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;
}
@@ -488,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);
@@ -499,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);
@@ -740,7 +747,7 @@ static int inter_guild_sql_init(void)
inter_guild->castle_db = idb_alloc(DB_OPT_RELEASE_DATA);
//Read exp file
- sv->readdb("db", DBPATH"exp_guild.txt", ',', 1, 1, MAX_GUILDLEVEL, inter_guild->exp_parse_row);
+ sv->readdb(chr->db_path, DBPATH"exp_guild.txt", ',', 1, 1, MAX_GUILDLEVEL, inter_guild->exp_parse_row);
timer->add_func_list(inter_guild->save_timer, "inter_guild->save_timer");
timer->add(timer->gettick() + 10000, inter_guild->save_timer, 0, 0);
@@ -1038,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);
}
@@ -1604,7 +1612,6 @@ static int inter_guild_parse_frommap(int fd)
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),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;
case 0x303A: mapif->parse_GuildMemberInfoChange(fd, RFIFOL(fd,4), RFIFOL(fd,8), RFIFOL(fd,12), RFIFOW(fd,16), RFIFOP(fd,18), RFIFOW(fd,2)-18); break;
case 0x303B: mapif->parse_GuildPosition(fd, RFIFOL(fd,4), RFIFOL(fd,8), RFIFOP(fd,12)); break;
diff --git a/src/char/int_guild.h b/src/char/int_guild.h
index 4ed0f526e..252a4970f 100644
--- a/src/char/int_guild.h
+++ b/src/char/int_guild.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_homun.c b/src/char/int_homun.c
index 5a1c9d23f..52418a1fa 100644
--- a/src/char/int_homun.c
+++ b/src/char/int_homun.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_homun.h b/src/char/int_homun.h
index 8eba66963..f68dfb4e4 100644
--- a/src/char/int_homun.h
+++ b/src/char/int_homun.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_mail.c b/src/char/int_mail.c
index e0625fcab..5a698eb3c 100644
--- a/src/char/int_mail.c
+++ b/src/char/int_mail.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_mail.h b/src/char/int_mail.h
index 95934d0a1..8fd6e70a5 100644
--- a/src/char/int_mail.h
+++ b/src/char/int_mail.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_mercenary.c b/src/char/int_mercenary.c
index 21bfb5538..a39bd9ad6 100644
--- a/src/char/int_mercenary.c
+++ b/src/char/int_mercenary.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_mercenary.h b/src/char/int_mercenary.h
index 6291bfcf6..85292938f 100644
--- a/src/char/int_mercenary.h
+++ b/src/char/int_mercenary.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_party.c b/src/char/int_party.c
index 8ee03ecc5..c16eea34e 100644
--- a/src/char/int_party.c
+++ b/src/char/int_party.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -42,83 +42,139 @@
static struct inter_party_interface inter_party_s;
struct inter_party_interface *inter_party;
-//Updates party's level range and unsets even share if broken.
+/**
+ * Updates party's level range and disables even share if requirements are not fulfilled.
+ *
+ * @param p The party.
+ * @return 0 on failure, 1 on success.
+ *
+ **/
static int inter_party_check_lv(struct party_data *p)
{
- int i;
- unsigned int lv;
nullpo_ret(p);
- p->min_lv = UINT_MAX;
- p->max_lv = 0;
- for(i=0;i<MAX_PARTY;i++){
- /**
- * - If not online OR if it's a family party and this is the child (doesn't affect exp range)
- **/
- if(!p->party.member[i].online || p->party.member[i].char_id == p->family )
- continue;
- lv=p->party.member[i].lv;
- if (lv < p->min_lv) p->min_lv = lv;
- if (lv > p->max_lv) p->max_lv = lv;
+ p->min_lv = MAX_LEVEL;
+ p->max_lv = 1;
+
+ for (int i = 0; i < MAX_PARTY; i++) {
+ if (p->party.member[i].online == 0 || p->party.member[i].char_id == p->family)
+ continue; /// If not online OR if it's a family party and this is the child, don't affect exp range.
+
+ p->min_lv = min(p->min_lv, p->party.member[i].lv);
+ p->max_lv = max(p->max_lv, p->party.member[i].lv);
}
- if (p->party.exp && !inter_party->check_exp_share(p)) {
+ if (p->party.exp == 1 && inter_party->check_exp_share(p) == 0) {
p->party.exp = 0;
mapif->party_optionchanged(0, &p->party, 0, 0);
return 0;
}
+
return 1;
}
-//Calculates the state of a party.
+
+/**
+ * Checks if a party is a family state party. (Family share feature.)
+ * Conditions for a family state party:
+ * - All party members have to belong to the same family. Not even offline strangers are allowed.
+ * So only parties with 2 or 3 members come in question.
+ * - At least one parent has to be on the same map with the child.
+ * - Parents within the party have to be level 70 or higher, even when offline.
+ *
+ * @param p The party.
+ * @return The child's char ID on success, otherwise 0.
+ *
+ **/
+static int inter_party_is_family_party(struct party_data *p)
+{
+ nullpo_ret(p);
+
+ if (p->size < 2 || p->size > 3 || p->party.count < 2)
+ return 0;
+
+ int child_id = 0;
+
+ for (int i = 0; i < MAX_PARTY - 1; i++) {
+ if (p->party.member[i].online == 0)
+ continue;
+
+ struct mmo_charstatus *char_i = idb_get(chr->char_db_, p->party.member[i].char_id);
+
+ if (char_i == NULL)
+ continue;
+
+ for (int j = i + 1; j < MAX_PARTY; j++) {
+ if (p->party.member[j].online == 0)
+ continue;
+
+ struct mmo_charstatus *char_j = idb_get(chr->char_db_, p->party.member[j].char_id);
+
+ if (char_j == NULL)
+ continue;
+
+ if (p->party.member[i].map != p->party.member[j].map)
+ continue;
+
+ if (char_i->char_id == char_j->child && char_j->base_level >= 70)
+ child_id = char_i->char_id;
+
+ if (char_j->char_id == char_i->child && char_i->base_level >= 70)
+ child_id = char_j->char_id;
+
+ if (child_id != 0)
+ break;
+ }
+
+ if (child_id != 0)
+ break;
+ }
+
+ if (child_id != 0 && p->size > 2) {
+ for (int i = 0; i < MAX_PARTY; i++) {
+ struct mmo_charstatus *party_member = idb_get(chr->char_db_, p->party.member[i].char_id);
+
+ /// Check if there is a stranger within the party.
+ if (party_member != NULL && party_member->char_id != child_id && party_member->child != child_id) {
+ child_id = 0; /// Stranger detected.
+ break;
+ }
+
+ /// Check if there is a parents with level lower than 70 within the party.
+ if (party_member != NULL && party_member->child == child_id && party_member->base_level < 70) {
+ child_id = 0; /// Parent with level lower than 70 detected.
+ break;
+ }
+ }
+ }
+
+ return child_id;
+}
+
+/**
+ * Calculates the state of a party.
+ *
+ * @param p The party.
+ *
+ **/
static void inter_party_calc_state(struct party_data *p)
{
- int i;
nullpo_retv(p);
- p->min_lv = UINT_MAX;
- p->max_lv = 0;
- p->party.count =
- p->size =
- p->family = 0;
-
- //Check party size
- for(i=0;i<MAX_PARTY;i++){
- if (!p->party.member[i].lv) continue;
+
+ p->party.count = 0;
+ p->size = 0;
+
+ for (int i = 0; i < MAX_PARTY; i++) {
+ if (p->party.member[i].lv == 0) /// Is this even possible? [Kenpachi]
+ continue;
+
p->size++;
- if(p->party.member[i].online)
+
+ if (p->party.member[i].online == 1)
p->party.count++;
}
- // FIXME[Haru]: What if the occupied positions aren't the first three? It can happen if some party members leave. This is the reason why family sharing some times stops working until you recreate your party
- if( p->size == 2 && ( chr->char_child(p->party.member[0].char_id,p->party.member[1].char_id) || chr->char_child(p->party.member[1].char_id,p->party.member[0].char_id) ) ) {
- //Child should be able to share with either of their parents [RoM]
- if (p->party.member[0].class >= JOB_BABY && p->party.member[0].class <= JOB_SUPER_BABY) //first slot is the child?
- p->family = p->party.member[0].char_id;
- else
- p->family = p->party.member[1].char_id;
- } else if( p->size == 3 ) {
- //Check Family State.
- p->family = chr->char_family(
- p->party.member[0].char_id,
- p->party.member[1].char_id,
- p->party.member[2].char_id
- );
- }
- //max/min levels.
- for (i = 0; i < MAX_PARTY; i++) {
- unsigned int lv = p->party.member[i].lv;
- if (!lv) continue;
- if (p->party.member[i].online
- && p->party.member[i].char_id != p->family /* In families, the kid is not counted towards exp share rules. */
- ) {
- if( lv < p->min_lv ) p->min_lv=lv;
- if( p->max_lv < lv ) p->max_lv=lv;
- }
- }
- if (p->party.exp && !inter_party->check_exp_share(p)) {
- p->party.exp = 0; //Set off even share.
- mapif->party_optionchanged(0, &p->party, 0, 0);
- }
- return;
+ p->family = inter_party->is_family_party(p);
+ inter_party->check_lv(p);
}
// Save party to mysql
@@ -196,6 +252,39 @@ static int inter_party_tosql(struct party *p, int flag, int index)
return 1;
}
+/**
+ * Updates the `char`.`party_id` column and removes party data from memory.
+ * Sets the party ID of all characters whose party ID matches the passed one to 0.
+ * Calls idb_remove() to remove party data from memory.
+ *
+ * @param party_id The party ID.
+ * @return 0 on failure, 1 on success.
+ *
+ **/
+static int inter_party_del_nonexistent_party(int party_id)
+{
+ struct SqlStmt *stmt = SQL->StmtMalloc(inter->sql_handle);
+
+ if (stmt == NULL) {
+ SqlStmt_ShowDebug(stmt);
+ return 0;
+ }
+
+ const char *query = "UPDATE `%s` SET `party_id`='0' WHERE `party_id`=?";
+
+ if (SQL_ERROR == SQL->StmtPrepare(stmt, query, char_db)
+ || SQL_ERROR == SQL->StmtBindParam(stmt, 0, SQLDT_UINT32, &party_id, sizeof(party_id))
+ || SQL_ERROR == SQL->StmtExecute(stmt)) {
+ SqlStmt_ShowDebug(stmt);
+ SQL->StmtFree(stmt);
+ return 0;
+ }
+
+ idb_remove(inter_party->db, party_id);
+
+ return 1;
+}
+
// Read party from mysql
static struct party_data *inter_party_fromsql(int party_id)
{
@@ -314,11 +403,18 @@ static struct party_data *inter_party_search_partyname(const char *const str)
return p;
}
-// Returns whether this party can keep having exp share or not.
+/**
+ * Checks if a party fulfills the requirements to share EXP.
+ *
+ * @param p The party.
+ * @return 1 if party can share EXP, otherwise 0.
+ *
+ **/
static int inter_party_check_exp_share(struct party_data *const p)
{
nullpo_ret(p);
- return (p->party.count < 2 || p->max_lv - p->min_lv <= party_share_level);
+
+ return (p->party.count < 2 || p->family != 0 || p->max_lv - p->min_lv <= party_share_level);
}
// Is there any member in the party?
@@ -389,36 +485,38 @@ static struct party_data *inter_party_create(const char *name, int item, int ite
return p;
}
-// Add a player to party request
+/**
+ * Add a player to party request.
+ *
+ * @param party_id The ID of the party.
+ * @param member The member to add.
+ * @return true on success, otherwise false.
+ *
+ **/
static bool inter_party_add_member(int party_id, const struct party_member *member)
{
- struct party_data *p;
- int i;
+ nullpo_retr(false, member);
- nullpo_ret(member);
- p = inter_party->fromsql(party_id);
- if( p == NULL || p->size == MAX_PARTY ) {
+ if (party_id < 1) /// Invalid party ID.
return false;
- }
- ARR_FIND( 0, MAX_PARTY, i, p->party.member[i].account_id == 0 );
- if (i == MAX_PARTY) {
- // Party full
+ struct party_data *p = inter_party->fromsql(party_id);
+
+ if (p == NULL) { /// Party does not exist.
+ inter_party->del_nonexistent_party(party_id);
return false;
}
+ int i;
+
+ ARR_FIND(0, MAX_PARTY, i, p->party.member[i].account_id == 0);
+
+ if (i == MAX_PARTY) /// Party is full.
+ return false;
+
memcpy(&p->party.member[i], member, sizeof(struct party_member));
p->party.member[i].leader = 0;
- if (p->party.member[i].online) p->party.count++;
- p->size++;
- if (p->size == 2 || p->size == 3) // Check family state. And also accept either of their Parents. [RoM]
- inter_party->calc_state(p);
- else //Check even share range.
- if (member->lv < p->min_lv || member->lv > p->max_lv || p->family) {
- if (p->family) p->family = 0; //Family state broken.
- inter_party->check_lv(p);
- }
-
+ inter_party->calc_state(p); /// Count online/offline members and check family state and even share range.
mapif->party_info(-1, &p->party, 0);
inter_party->tosql(&p->party, PS_ADDMEMBER, i);
@@ -446,103 +544,92 @@ static bool inter_party_change_option(int party_id, int account_id, int exp, int
return true;
}
-//Request leave party
+/**
+ * Leave party request.
+ *
+ * @param party_id The ID of the party.
+ * @param account_id The account ID of the leaving character.
+ * @param char_id The char ID of the leaving character.
+ * @return true on success, otherwise false.
+ *
+ **/
static bool inter_party_leave(int party_id, int account_id, int char_id)
{
- struct party_data *p;
- int i,j;
+ if (party_id < 1) /// Invalid party ID.
+ return false;
- p = inter_party->fromsql(party_id);
- if( p == NULL )
- {// Party does not exists?
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `party_id`='0' WHERE `party_id`='%d'", char_db, party_id) )
- Sql_ShowDebug(inter->sql_handle);
+ struct party_data *p = inter_party->fromsql(party_id);
+
+ if (p == NULL) { /// Party does not exist.
+ inter_party->del_nonexistent_party(party_id);
return false;
}
- for (i = 0; i < MAX_PARTY; i++) {
- if(p->party.member[i].account_id == account_id &&
- p->party.member[i].char_id == char_id) {
- break;
- }
- }
- if (i >= MAX_PARTY)
- return false; //Member not found?
+ int i;
+
+ ARR_FIND(0, MAX_PARTY, i, p->party.member[i].account_id == account_id && p->party.member[i].char_id == char_id);
+
+ if (i == MAX_PARTY) /// Character not found in party.
+ return false;
mapif->party_withdraw(party_id, account_id, char_id);
- j = p->party.member[i].lv;
- if (p->party.member[i].online > 0)
- p->party.count--;
+ if (p->party.member[i].online == 1)
+ p->party.member[i].online = 0;
+
memset(&p->party.member[i], 0, sizeof(struct party_member));
- p->size--;
- if (j == p->min_lv || j == p->max_lv || p->family) {
- if(p->family) p->family = 0; //Family state broken.
- inter_party->check_lv(p);
- }
+ inter_party->calc_state(p); /// Count online/offline members and check family state and even share range.
+ inter_party->tosql(&p->party, PS_DELMEMBER, i);
- if (inter_party->check_empty(p) == 0) {
- inter_party->tosql(&p->party, PS_DELMEMBER, i);
+ if (inter_party->check_empty(p) == 0)
mapif->party_info(-1, &p->party, 0);
- }
+
return true;
}
-// When member goes to other map or levels up.
-static bool inter_party_change_map(int party_id, int account_id, int char_id, unsigned short map, int online, unsigned int lv)
+/**
+ * Updates party data if a member changes map or levels up.
+ *
+ * @param party_id The ID of the party.
+ * @param account_id The character's account ID.
+ * @param char_id The character's char ID.
+ * @param map The character's map index.
+ * @param online The character's online state.
+ * @param lv The character's level.
+ * @return true on success, otherwise false.
+ *
+ **/
+static bool inter_party_change_map(int party_id, int account_id, int char_id, unsigned short map, int online, int lv)
{
- struct party_data *p;
- int i;
+ if (party_id < 1) /// Invalid party ID.
+ return false;
- p = inter_party->fromsql(party_id);
- if (p == NULL)
+ struct party_data *p = inter_party->fromsql(party_id);
+
+ if (p == NULL) { /// Party does not exist.
+ inter_party->del_nonexistent_party(party_id);
return false;
+ }
+
+ int i;
- for(i = 0; i < MAX_PARTY &&
- (p->party.member[i].account_id != account_id ||
- p->party.member[i].char_id != char_id); i++);
+ ARR_FIND(0, MAX_PARTY, i, p->party.member[i].account_id == account_id && p->party.member[i].char_id == char_id);
- if (i == MAX_PARTY)
+ if (i == MAX_PARTY) /// Character not found in party.
return false;
if (p->party.member[i].online != online)
- {
p->party.member[i].online = online;
- if (online)
- p->party.count++;
- else
- p->party.count--;
- // Even share check situations: Family state (always breaks)
- // character logging on/off is max/min level (update level range)
- // or character logging on/off has a different level (update level range using new level)
- if (p->family ||
- (p->party.member[i].lv <= p->min_lv || p->party.member[i].lv >= p->max_lv) ||
- (p->party.member[i].lv != lv && (lv <= p->min_lv || lv >= p->max_lv))
- )
- {
- p->party.member[i].lv = lv;
- inter_party->check_lv(p);
- }
- //Send online/offline update.
- mapif->party_membermoved(&p->party, i);
- }
- if (p->party.member[i].lv != lv) {
- if(p->party.member[i].lv == p->min_lv ||
- p->party.member[i].lv == p->max_lv)
- {
- p->party.member[i].lv = lv;
- inter_party->check_lv(p);
- } else
- p->party.member[i].lv = lv;
- //There is no need to send level update to map servers
- //since they do nothing with it.
- }
+ if (p->party.member[i].lv != lv)
+ p->party.member[i].lv = lv;
- if (p->party.member[i].map != map) {
+ if (p->party.member[i].map != map)
p->party.member[i].map = map;
- mapif->party_membermoved(&p->party, i);
- }
+
+ inter_party->calc_state(p); /// Count online/offline members and check family state and even share range.
+ mapif->party_membermoved(&p->party, i); /// Send online/offline update.
+
return true;
}
@@ -599,7 +686,6 @@ static int inter_party_parse_frommap(int fd)
case 0x3024: mapif->parse_PartyLeave(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); break;
case 0x3025: mapif->parse_PartyChangeMap(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOW(fd,14), RFIFOB(fd,16), RFIFOW(fd,17)); break;
case 0x3026: mapif->parse_BreakParty(fd, RFIFOL(fd,2)); break;
- case 0x3027: mapif->parse_PartyMessage(fd, RFIFOL(fd,4), RFIFOL(fd,8), RFIFOP(fd,12), RFIFOW(fd,2)-12); break;
case 0x3029: mapif->parse_PartyLeaderChange(fd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); break;
default:
return 0;
@@ -607,98 +693,104 @@ static int inter_party_parse_frommap(int fd)
return 1;
}
+/**
+ * Sets the online state of a charcter within a party to online.
+ *
+ * @param char_id The character's char ID.
+ * @param party_id The ID of the party.
+ * @return 1 on success, otherwise 0.
+ *
+ **/
static int inter_party_CharOnline(int char_id, int party_id)
{
- struct party_data* p;
- int i;
-
- if( party_id == -1 )
- {// Get party_id from the database
+ if (party_id == INDEX_NOT_FOUND) { /// Get party_id from the database.
char* data;
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT party_id FROM `%s` WHERE char_id='%d'", char_db, char_id) )
- {
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT party_id FROM `%s` WHERE char_id='%d'", char_db, char_id)) {
Sql_ShowDebug(inter->sql_handle);
return 0;
}
- if( SQL_SUCCESS != SQL->NextRow(inter->sql_handle) )
- return 0; //Eh? No party?
+ if (SQL_SUCCESS != SQL->NextRow(inter->sql_handle))
+ return 0;
SQL->GetData(inter->sql_handle, 0, &data, NULL);
party_id = atoi(data);
SQL->FreeResult(inter->sql_handle);
}
- if (party_id == 0)
- return 0; //No party...
- p = inter_party->fromsql(party_id);
- if(!p) {
- ShowError("Character %d's party %d not found!\n", char_id, party_id);
+ if (party_id == 0) /// Character isn't member of a party.
return 0;
- }
- //Set member online
- for(i=0; i<MAX_PARTY; i++) {
- if (p->party.member[i].char_id == char_id) {
- if (!p->party.member[i].online) {
- p->party.member[i].online = 1;
- p->party.count++;
- if (p->party.member[i].lv < p->min_lv ||
- p->party.member[i].lv > p->max_lv)
- inter_party->check_lv(p);
- }
- break;
- }
+ struct party_data *p = inter_party->fromsql(party_id);
+
+ if (p == NULL) { /// Party does not exist.
+ inter_party->del_nonexistent_party(party_id);
+ return 0;
}
+
+ int i;
+
+ ARR_FIND(0, MAX_PARTY, i, p->party.member[i].char_id == char_id);
+
+ if (i == MAX_PARTY) /// Character not found in party.
+ return 0;
+
+ p->party.member[i].online = 1; /// Set member online.
+ inter_party->calc_state(p); /// Count online/offline members and check family state and even share range.
+
return 1;
}
+/**
+ * Sets the online state of a charcter within a party to offline.
+ *
+ * @param char_id The character's char ID.
+ * @param party_id The ID of the party.
+ * @return 1 on success, otherwise 0.
+ *
+ **/
static int inter_party_CharOffline(int char_id, int party_id)
{
- struct party_data *p=NULL;
- int i;
-
- if( party_id == -1 )
- {// Get guild_id from the database
+ if (party_id == INDEX_NOT_FOUND) { /// Get party_id from the database.
char* data;
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT party_id FROM `%s` WHERE char_id='%d'", char_db, char_id) )
- {
+ if (SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT party_id FROM `%s` WHERE char_id='%d'", char_db, char_id)) {
Sql_ShowDebug(inter->sql_handle);
return 0;
}
- if( SQL_SUCCESS != SQL->NextRow(inter->sql_handle) )
- return 0; //Eh? No party?
+ if (SQL_SUCCESS != SQL->NextRow(inter->sql_handle))
+ return 0;
SQL->GetData(inter->sql_handle, 0, &data, NULL);
party_id = atoi(data);
SQL->FreeResult(inter->sql_handle);
}
- if (party_id == 0)
- return 0; //No party...
- //Character has a party, set character offline and check if they were the only member online
- if ((p = inter_party->fromsql(party_id)) == NULL)
+ if (party_id == 0) /// Character isn't member of a party.
return 0;
- //Set member offline
- for(i=0; i< MAX_PARTY; i++) {
- if(p->party.member[i].char_id == char_id)
- {
- p->party.member[i].online = 0;
- p->party.count--;
- if(p->party.member[i].lv == p->min_lv ||
- p->party.member[i].lv == p->max_lv)
- inter_party->check_lv(p);
- break;
- }
+ struct party_data *p = inter_party->fromsql(party_id);
+
+ if (p == NULL) { /// Party does not exist.
+ inter_party->del_nonexistent_party(party_id);
+ return 0;
}
- if(!p->party.count)
- //Parties don't have any data that needs be saved at this point... so just remove it from memory.
+ int i;
+
+ ARR_FIND(0, MAX_PARTY, i, p->party.member[i].char_id == char_id);
+
+ if (i == MAX_PARTY) /// Character not found in party.
+ return 0;
+
+ p->party.member[i].online = 0; /// Set member offline.
+ inter_party->calc_state(p); /// Count online/offline members and check family state and even share range.
+
+ if (p->party.count == 0) /// Parties don't have any data that needs be saved at this point... so just remove it from memory.
idb_remove(inter_party->db, party_id);
+
return 1;
}
@@ -712,8 +804,10 @@ void inter_party_defaults(void)
inter_party->sql_init = inter_party_sql_init;
inter_party->sql_final = inter_party_sql_final;
inter_party->check_lv = inter_party_check_lv;
+ inter_party->is_family_party = inter_party_is_family_party;
inter_party->calc_state = inter_party_calc_state;
inter_party->tosql = inter_party_tosql;
+ inter_party->del_nonexistent_party = inter_party_del_nonexistent_party;
inter_party->fromsql = inter_party_fromsql;
inter_party->search_partyname = inter_party_search_partyname;
inter_party->check_exp_share = inter_party_check_exp_share;
diff --git a/src/char/int_party.h b/src/char/int_party.h
index b9a888cca..0385b0e87 100644
--- a/src/char/int_party.h
+++ b/src/char/int_party.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -38,10 +38,11 @@ enum {
};
struct party_data {
- struct party party;
- unsigned int min_lv, max_lv;
- int family; //Is this party a family? if so, this holds the child id.
- unsigned char size; //Total size of party.
+ struct party party; // Party data.
+ int min_lv; // The lowest base level of all party members.
+ int max_lv; // The highest base level of all party members.
+ int family; // Is this party a family? If so, this holds the child's char ID.
+ int size; // Amount of party members, including offline members.
};
/**
@@ -51,8 +52,10 @@ struct inter_party_interface {
struct party_data *pt;
struct DBMap *db; // int party_id -> struct party_data*
int (*check_lv) (struct party_data *p);
+ int (*is_family_party) (struct party_data *p);
void (*calc_state) (struct party_data *p);
int (*tosql) (struct party *p, int flag, int index);
+ int (*del_nonexistent_party) (int party_id);
struct party_data* (*fromsql) (int party_id);
int (*sql_init) (void);
void (*sql_final) (void);
@@ -66,7 +69,7 @@ struct inter_party_interface {
struct party_data *(*create) (const char *name, int item, int item2, const struct party_member *leader);
bool (*add_member) (int party_id, const struct party_member *member);
bool (*change_option) (int party_id, int account_id, int exp, int item, int map_fd);
- bool (*change_map) (int party_id, int account_id, int char_id, unsigned short map, int online, unsigned int lv);
+ bool (*change_map) (int party_id, int account_id, int char_id, unsigned short map, int online, int lv);
bool (*disband) (int party_id);
bool (*change_leader) (int party_id, int account_id, int char_id);
};
diff --git a/src/char/int_pet.c b/src/char/int_pet.c
index d31e7545c..8b42bac1d 100644
--- a/src/char/int_pet.c
+++ b/src/char/int_pet.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -43,97 +43,162 @@ struct inter_pet_interface *inter_pet;
/**
* Saves a pet to the SQL database.
*
- * @remark
- * In case of newly created pet, the pet ID is not updated to reflect the
- * newly assigned ID. The caller must do so.
+ * Table structure:
+ * `pet` (`pet_id`, `class`, `name`, `account_id`, `char_id`, `level`, `egg_id`, `equip`, `intimate`, `hungry`, `rename_flag`, `incubate`, `autofeed`)
+ *
+ * @remark In case of newly created pet, the pet ID is not updated to reflect the newly assigned ID. The caller must do so.
*
* @param p The pet data to save.
- * @return The ID of the saved pet.
- * @retval 0 in case of errors.
- */
+ * @return The ID of the saved pet, or 0 in case of errors.
+ *
+ **/
static int inter_pet_tosql(const struct s_pet *p)
{
- //`pet` (`pet_id`, `class`,`name`,`account_id`,`char_id`,`level`,`egg_id`,`equip`,`intimate`,`hungry`,`rename_flag`,`incubate`)
- char esc_name[NAME_LENGTH*2+1];// escaped pet name
- int pet_id = 0, hungry = 0, intimate = 0;
-
nullpo_ret(p);
- SQL->EscapeStringLen(inter->sql_handle, esc_name, p->name, strnlen(p->name, NAME_LENGTH));
- hungry = cap_value(p->hungry, 0, 100);
- intimate = cap_value(p->intimate, 0, 1000);
-
- if (p->pet_id == 0) {
- // New pet.
- if (SQL_ERROR == SQL->Query(inter->sql_handle, "INSERT INTO `%s` "
- "(`class`,`name`,`account_id`,`char_id`,`level`,`egg_id`,`equip`,`intimate`,`hungry`,`rename_flag`,`incubate`, `autofeed`) "
- "VALUES ('%d', '%s', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d', '%d')",
- pet_db, p->class_, esc_name, p->account_id, p->char_id, p->level, p->egg_id,
- p->equip, intimate, hungry, p->rename_flag, p->incubate, p->autofeed)) {
- Sql_ShowDebug(inter->sql_handle);
+ struct SqlStmt *stmt = SQL->StmtMalloc(inter->sql_handle);
+
+ if (stmt == NULL) {
+ SqlStmt_ShowDebug(stmt);
+ return 0;
+ }
+
+ int pet_id = 0;
+
+ if (p->pet_id == 0) { // New pet.
+ const char *query = "INSERT INTO `%s` "
+ "(`class`, `name`, `account_id`, `char_id`, `level`, `egg_id`, `equip`, "
+ "`intimate`, `hungry`, `rename_flag`, `incubate`, `autofeed`) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
+
+ if (SQL_ERROR == SQL->StmtPrepare(stmt, query, pet_db) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 0, SQLDT_INT32, &p->class_, sizeof(p->class_)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 1, SQLDT_STRING, &p->name, strnlen(p->name, sizeof(p->name))) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 2, SQLDT_INT32, &p->account_id, sizeof(p->account_id)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 3, SQLDT_INT32, &p->char_id, sizeof(p->char_id)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 4, SQLDT_INT16, &p->level, sizeof(p->level)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 5, SQLDT_INT32, &p->egg_id, sizeof(p->egg_id)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 6, SQLDT_INT32, &p->equip, sizeof(p->equip)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 7, SQLDT_INT16, &p->intimate, sizeof(p->intimate)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 8, SQLDT_INT16, &p->hungry, sizeof(p->hungry)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 9, SQLDT_INT8, &p->rename_flag, sizeof(p->rename_flag)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 10, SQLDT_INT8, &p->incubate, sizeof(p->incubate)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 11, SQLDT_INT32, &p->autofeed, sizeof(p->autofeed)) ||
+ SQL_ERROR == SQL->StmtExecute(stmt)) {
+ SqlStmt_ShowDebug(stmt);
+ SQL->StmtFree(stmt);
return 0;
}
+
pet_id = (int)SQL->LastInsertId(inter->sql_handle);
- } else {
- // Update pet.
- if (SQL_ERROR == SQL->Query(inter->sql_handle, "UPDATE `%s` SET `class`='%d',`name`='%s',`account_id`='%d',`char_id`='%d',`level`='%d',`egg_id`='%d',`equip`='%d',`intimate`='%d',`hungry`='%d',`rename_flag`='%d',`incubate`='%d', `autofeed`='%d' WHERE `pet_id`='%d'",
- pet_db, p->class_, esc_name, p->account_id, p->char_id, p->level, p->egg_id,
- p->equip, intimate, hungry, p->rename_flag, p->incubate, p->autofeed, p->pet_id)) {
- Sql_ShowDebug(inter->sql_handle);
+ } else { // Update pet.
+ const char *query = "UPDATE `%s` SET "
+ "`class`=?, `name`=?, `account_id`=?, `char_id`=?, `level`=?, `egg_id`=?, `equip`=?, "
+ "`intimate`=?, `hungry`=?, `rename_flag`=?, `incubate`=?, `autofeed`=? "
+ "WHERE `pet_id`=?";
+
+ if (SQL_ERROR == SQL->StmtPrepare(stmt, query, pet_db) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 0, SQLDT_INT32, &p->class_, sizeof(p->class_)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 1, SQLDT_STRING, &p->name, strnlen(p->name, sizeof(p->name))) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 2, SQLDT_INT32, &p->account_id, sizeof(p->account_id)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 3, SQLDT_INT32, &p->char_id, sizeof(p->char_id)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 4, SQLDT_INT16, &p->level, sizeof(p->level)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 5, SQLDT_INT32, &p->egg_id, sizeof(p->egg_id)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 6, SQLDT_INT32, &p->equip, sizeof(p->equip)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 7, SQLDT_INT16, &p->intimate, sizeof(p->intimate)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 8, SQLDT_INT16, &p->hungry, sizeof(p->hungry)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 9, SQLDT_INT8, &p->rename_flag, sizeof(p->rename_flag)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 10, SQLDT_INT8, &p->incubate, sizeof(p->incubate)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 11, SQLDT_INT32, &p->autofeed, sizeof(p->autofeed)) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 12, SQLDT_INT32, &p->pet_id, sizeof(p->pet_id)) ||
+ SQL_ERROR == SQL->StmtExecute(stmt)) {
+ SqlStmt_ShowDebug(stmt);
+ SQL->StmtFree(stmt);
return 0;
}
+
pet_id = p->pet_id;
}
+ SQL->StmtFree(stmt);
+
if (chr->show_save_log)
ShowInfo("Pet saved %d - %s.\n", pet_id, p->name);
return pet_id;
}
+/**
+ * Loads a pet's data from the SQL database.
+ *
+ * Table structure:
+ * `pet` (`pet_id`, `class`, `name`, `account_id`, `char_id`, `level`, `egg_id`, `equip`, `intimate`, `hungry`, `rename_flag`, `incubate`, `autofeed`)
+ *
+ * @param pet_id The pet's ID.
+ * @param p The pet data to save the SQL data in.
+ * @return Always 0.
+ *
+ **/
static int inter_pet_fromsql(int pet_id, struct s_pet *p)
{
- char* data;
- size_t len;
+ nullpo_ret(p);
+
+ struct SqlStmt *stmt = SQL->StmtMalloc(inter->sql_handle);
+
+ if (stmt == NULL) {
+ SqlStmt_ShowDebug(stmt);
+ return 0;
+ }
#ifdef NOISY
ShowInfo("Loading pet (%d)...\n",pet_id);
#endif
- nullpo_ret(p);
+
memset(p, 0, sizeof(struct s_pet));
- //`pet` (`pet_id`, `class`,`name`,`account_id`,`char_id`,`level`,`egg_id`,`equip`,`intimate`,`hungry`,`rename_flag`,`incubate`, `autofeed`)
+ const char *query = "SELECT "
+ "`class`, `name`, `account_id`, `char_id`, `level`, `egg_id`, `equip`, "
+ "`intimate`, `hungry`, `rename_flag`, `incubate`, `autofeed` "
+ "FROM `%s` WHERE `pet_id`=?";
+
+ if (SQL_ERROR == SQL->StmtPrepare(stmt, query, pet_db) ||
+ SQL_ERROR == SQL->StmtBindParam(stmt, 0, SQLDT_INT32, &pet_id, sizeof(pet_id)) ||
+ SQL_ERROR == SQL->StmtExecute(stmt) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 0, SQLDT_INT32, &p->class_, sizeof(p->class_), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 1, SQLDT_STRING, &p->name, sizeof(p->name), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 2, SQLDT_INT32, &p->account_id, sizeof(p->account_id), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 3, SQLDT_INT32, &p->char_id, sizeof(p->char_id), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 4, SQLDT_INT16, &p->level, sizeof(p->level), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 5, SQLDT_INT32, &p->egg_id, sizeof(p->egg_id), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 6, SQLDT_INT32, &p->equip, sizeof(p->equip), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 7, SQLDT_INT16, &p->intimate, sizeof(p->intimate), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 8, SQLDT_INT16, &p->hungry, sizeof(p->hungry), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 9, SQLDT_INT8, &p->rename_flag, sizeof(p->rename_flag), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 10, SQLDT_INT8, &p->incubate, sizeof(p->incubate), NULL, NULL) ||
+ SQL_ERROR == SQL->StmtBindColumn(stmt, 11, SQLDT_INT32, &p->autofeed, sizeof(p->autofeed), NULL, NULL)) {
+ SqlStmt_ShowDebug(stmt);
+ SQL->StmtFree(stmt);
+ return 0;
+ }
- if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `pet_id`, `class`,`name`,`account_id`,`char_id`,`level`,`egg_id`,`equip`,`intimate`,`hungry`,`rename_flag`,`incubate`,`autofeed` FROM `%s` WHERE `pet_id`='%d'", pet_db, pet_id) )
- {
- Sql_ShowDebug(inter->sql_handle);
+ if (SQL->StmtNumRows(stmt) < 1) {
+ ShowError("inter_pet_fromsql: Requested non-existant pet ID: %d\n", pet_id);
+ SQL->StmtFree(stmt);
return 0;
}
- if( SQL_SUCCESS == SQL->NextRow(inter->sql_handle) )
- {
- p->pet_id = pet_id;
- SQL->GetData(inter->sql_handle, 1, &data, NULL); p->class_ = atoi(data);
- SQL->GetData(inter->sql_handle, 2, &data, &len); memcpy(p->name, data, min(len, NAME_LENGTH));
- SQL->GetData(inter->sql_handle, 3, &data, NULL); p->account_id = atoi(data);
- SQL->GetData(inter->sql_handle, 4, &data, NULL); p->char_id = atoi(data);
- SQL->GetData(inter->sql_handle, 5, &data, NULL); p->level = atoi(data);
- SQL->GetData(inter->sql_handle, 6, &data, NULL); p->egg_id = atoi(data);
- SQL->GetData(inter->sql_handle, 7, &data, NULL); p->equip = atoi(data);
- SQL->GetData(inter->sql_handle, 8, &data, NULL); p->intimate = atoi(data);
- SQL->GetData(inter->sql_handle, 9, &data, NULL); p->hungry = atoi(data);
- SQL->GetData(inter->sql_handle, 10, &data, NULL); p->rename_flag = atoi(data);
- SQL->GetData(inter->sql_handle, 11, &data, NULL); p->incubate = atoi(data);
- SQL->GetData(inter->sql_handle, 12, &data, NULL); p->autofeed = atoi(data);
-
- SQL->FreeResult(inter->sql_handle);
-
- p->hungry = cap_value(p->hungry, 0, 100);
- p->intimate = cap_value(p->intimate, 0, 1000);
-
- if (chr->show_save_log)
- ShowInfo("Pet loaded (%d - %s).\n", pet_id, p->name);
+ if (SQL_ERROR == SQL->StmtNextRow(stmt)) {
+ SqlStmt_ShowDebug(stmt);
+ SQL->StmtFree(stmt);
+ return 0;
}
+
+ SQL->StmtFree(stmt);
+ p->pet_id = pet_id;
+
+ if (chr->show_save_log)
+ ShowInfo("Pet loaded %d - %s.\n", pet_id, p->name);
+
return 0;
}
//----------------------------------------------
@@ -160,41 +225,48 @@ static int inter_pet_delete(int pet_id)
return 0;
}
//------------------------------------------------------
+
+/**
+ * Creates a new pet and inserts its data into the `pet` SQL table.
+ *
+ * @param account_id The pet's master's account ID.
+ * @param char_id The pet's master's char ID.
+ * @param pet_class The pet's class/monster ID.
+ * @param pet_lv The pet's level.
+ * @param pet_egg_id The pet's egg's item ID.
+ * @param pet_equip The pet's equipment's item ID.
+ * @param intimate The pet's intimacy value.
+ * @param hungry The pet's hunger value.
+ * @param rename_flag The pet's rename flag.
+ * @param incubate The pet's incubate state.
+ * @param pet_name The pet's name.
+ * @return The created pet's data struct, or NULL in case of errors.
+ *
+ **/
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)
+ int pet_equip, short intimate, short hungry, char rename_flag,
+ char incubate, const char *pet_name)
{
- nullpo_ret(pet_name);
+ nullpo_retr(NULL, pet_name);
+
memset(inter_pet->pt, 0, sizeof(struct s_pet));
safestrncpy(inter_pet->pt->name, pet_name, NAME_LENGTH);
- if(incubate == 1)
- inter_pet->pt->account_id = inter_pet->pt->char_id = 0;
- else {
- inter_pet->pt->account_id = account_id;
- inter_pet->pt->char_id = char_id;
- }
+ inter_pet->pt->account_id = (incubate == 1) ? 0 : account_id;
+ inter_pet->pt->char_id = (incubate == 1) ? 0 : char_id;
inter_pet->pt->class_ = pet_class;
inter_pet->pt->level = pet_lv;
inter_pet->pt->egg_id = pet_egg_id;
inter_pet->pt->equip = pet_equip;
- inter_pet->pt->intimate = intimate;
- inter_pet->pt->hungry = hungry;
+ inter_pet->pt->intimate = cap_value(intimate, PET_INTIMACY_NONE, PET_INTIMACY_MAX);
+ inter_pet->pt->hungry = cap_value(hungry, PET_HUNGER_STARVING, PET_HUNGER_STUFFED);
inter_pet->pt->rename_flag = rename_flag;
inter_pet->pt->incubate = incubate;
+ inter_pet->pt->pet_id = 0; // Signal NEW pet.
- if(inter_pet->pt->hungry < 0)
- inter_pet->pt->hungry = 0;
- else if(inter_pet->pt->hungry > 100)
- inter_pet->pt->hungry = 100;
- if(inter_pet->pt->intimate < 0)
- inter_pet->pt->intimate = 0;
- else if(inter_pet->pt->intimate > 1000)
- inter_pet->pt->intimate = 1000;
-
- inter_pet->pt->pet_id = 0; //Signal NEW pet.
if ((inter_pet->pt->pet_id = inter_pet->tosql(inter_pet->pt)) != 0)
return inter_pet->pt;
- else //Failed...
- return NULL;
+
+ return NULL;
}
static struct s_pet *inter_pet_load(int account_id, int char_id, int pet_id)
diff --git a/src/char/int_pet.h b/src/char/int_pet.h
index b5852d441..43360ccda 100644
--- a/src/char/int_pet.h
+++ b/src/char/int_pet.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_quest.c b/src/char/int_quest.c
index 0fa7771cb..4269b3da1 100644
--- a/src/char/int_quest.c
+++ b/src/char/int_quest.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_quest.h b/src/char/int_quest.h
index e71afc561..a5fb4805b 100644
--- a/src/char/int_quest.h
+++ b/src/char/int_quest.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_rodex.c b/src/char/int_rodex.c
index 5725c3777..0539eab7e 100644
--- a/src/char/int_rodex.c
+++ b/src/char/int_rodex.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2017 Hercules Dev Team
+ * Copyright (C) 2017-2020 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
@@ -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 7fae77d8d..44b9ce477 100644
--- a/src/char/int_rodex.h
+++ b/src/char/int_rodex.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2017 Hercules Dev Team
+ * Copyright (C) 2017-2020 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
@@ -36,7 +36,9 @@ struct inter_rodex_interface {
bool (*hasnew) (int char_id, int account_id);
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/int_storage.c b/src/char/int_storage.c
index 130df5515..d82440270 100644
--- a/src/char/int_storage.c
+++ b/src/char/int_storage.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/int_storage.h b/src/char/int_storage.h
index 918927620..886c54e15 100644
--- a/src/char/int_storage.h
+++ b/src/char/int_storage.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/inter.c b/src/char/inter.c
index 1f1750e32..2d8d06a9c 100644
--- a/src/char/inter.c
+++ b/src/char/inter.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -53,9 +53,6 @@
#include <stdio.h>
#include <stdlib.h>
-#define WISDATA_TTL (60*1000) // Wis data Time To Live (60 seconds)
-#define WISDELLIST_MAX 256 // Number of elements in the list Delete data Wis
-
static struct inter_interface inter_s;
struct inter_interface *inter;
@@ -70,21 +67,18 @@ int party_share_level = 10;
// recv. packet list
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-
+ 0, 0, 0, 0, -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,23, 6,-1, 14,-1,-1,-1, 18,19,186,-1, // 3030-
+ -1,10,-1,14, 14,19, 6, 0, 14,14, 0, 0, 0, 0, 0, 0, // 3020- Party
+ -1, 6,-1,-1, 55,23, 6, 0, 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]
56,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
+ -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*
-static int wis_dellist[WISDELLIST_MAX], wis_delnum;
-
#define MAX_JOB_NAMES 150
static char *msg_table[MAX_JOB_NAMES]; // messages 550 ~ 699 are job names
@@ -964,7 +958,6 @@ static int inter_init_sql(const char *file)
Sql_ShowDebug(inter->sql_handle);
}
- wis_db = idb_alloc(DB_OPT_RELEASE_DATA);
inter_guild->sql_init();
inter_storage->sql_init();
inter_party->sql_init();
@@ -985,8 +978,6 @@ static int inter_init_sql(const char *file)
// finalize
static void inter_final(void)
{
- wis_db->destroy(wis_db, NULL);
-
inter_guild->sql_final();
inter_storage->sql_final();
inter_party->sql_final();
@@ -1011,77 +1002,6 @@ static int inter_mapif_init(int fd)
//--------------------------------------------------------
-/**
- * Existence check of WISP data
- * @see DBApply
- */
-static int inter_check_ttl_wisdata_sub(union DBKey key, struct DBData *data, va_list ap)
-{
- int64 tick;
- struct WisData *wd = DB->data2ptr(data);
- nullpo_ret(wd);
- tick = va_arg(ap, int64);
-
- if (DIFF_TICK(tick, wd->tick) > WISDATA_TTL && wis_delnum < WISDELLIST_MAX)
- wis_dellist[wis_delnum++] = wd->id;
-
- return 0;
-}
-
-static int inter_check_ttl_wisdata(void)
-{
- int64 tick = timer->gettick();
- int i;
-
- do {
- wis_delnum = 0;
- wis_db->foreach(wis_db, inter->check_ttl_wisdata_sub, tick);
- for(i = 0; i < wis_delnum; i++) {
- struct WisData *wd = (struct WisData*)idb_get(wis_db, wis_dellist[i]);
- ShowWarning("inter: wis data id=%d time out : from %s to %s\n", wd->id, wd->src, wd->dst);
- // removed. not send information after a timeout. Just no answer for the player
- //mapif->wis_end(wd, 1); // flag: 0: success to send whisper, 1: target character is not logged in?, 2: ignored by target
- idb_remove(wis_db, wd->id);
- }
- } while(wis_delnum >= WISDELLIST_MAX);
-
- return 0;
-}
-
-static struct WisData *inter_add_wisdata(int fd, const unsigned char *src, const unsigned char *dst, const unsigned char *msg, int msg_len)
-{
- static int wisid = 0;
- struct WisData *wd;
-
- CREATE(wd, struct WisData, 1);
-
- // Whether the failure of previous wisp/page transmission (timeout)
- inter->check_ttl_wisdata();
-
- wd->id = ++wisid;
- wd->fd = fd;
- wd->len = msg_len;
- memcpy(wd->src, src, NAME_LENGTH);
- memcpy(wd->dst, dst, NAME_LENGTH);
- memcpy(wd->msg, msg, wd->len);
- wd->tick = timer->gettick();
- idb_put(wis_db, wd->id, wd);
-
- return wd;
-}
-
-static struct WisData *inter_get_wisdata(int id)
-{
- return idb_get(wis_db, id);
-}
-
-static void inter_remove_wisdata(int id)
-{
- idb_remove(wis_db, id);
-}
-
-//--------------------------------------------------------
-
/// Returns the length of the next complete packet to process,
/// or 0 if no complete packet exists in the queue.
///
@@ -1115,10 +1035,6 @@ static int inter_parse_frommap(int fd)
return 2;
switch(cmd) {
- case 0x3000: mapif->parse_broadcast(fd); break;
- case 0x3001: mapif->parse_WisRequest(fd); break;
- case 0x3002: mapif->parse_WisReply(fd); break;
- case 0x3003: mapif->parse_WisToGM(fd); break;
case 0x3004: mapif->parse_Registry(fd); break;
case 0x3005: mapif->parse_RegistryRequest(fd); break;
case 0x3006: mapif->parse_NameChangeRequest(fd); break;
@@ -1167,8 +1083,6 @@ void inter_defaults(void)
inter->log = inter_log;
inter->init_sql = inter_init_sql;
inter->mapif_init = inter_mapif_init;
- inter->check_ttl_wisdata_sub = inter_check_ttl_wisdata_sub;
- inter->check_ttl_wisdata = inter_check_ttl_wisdata;
inter->check_length = inter_check_length;
inter->parse_frommap = inter_parse_frommap;
inter->final = inter_final;
@@ -1176,7 +1090,4 @@ void inter_defaults(void)
inter->config_read_connection = inter_config_read_connection;
inter->accinfo = inter_accinfo;
inter->accinfo2 = inter_accinfo2;
- inter->add_wisdata = inter_add_wisdata;
- inter->get_wisdata = inter_get_wisdata;
- inter->remove_wisdata = inter_remove_wisdata;
}
diff --git a/src/char/inter.h b/src/char/inter.h
index 94ee3ab60..36d28b656 100644
--- a/src/char/inter.h
+++ b/src/char/inter.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -30,12 +30,6 @@
struct Sql; // common/sql.h
struct config_t; // common/conf.h
-struct WisData {
- int id, fd, count, len;
- int64 tick;
- unsigned char src[24], dst[24], msg[512];
-};
-
/**
* inter interface
**/
@@ -54,8 +48,6 @@ struct inter_interface {
int (*log) (char* fmt, ...);
int (*init_sql) (const char *file);
int (*mapif_init) (int fd);
- int (*check_ttl_wisdata_sub) (union DBKey key, struct DBData *data, va_list ap);
- int (*check_ttl_wisdata) (void);
int (*check_length) (int fd, int length);
int (*parse_frommap) (int fd);
void (*final) (void);
@@ -66,9 +58,6 @@ struct inter_interface {
void (*accinfo2) (bool success, int map_fd, int u_fd, int u_aid, int account_id, const char *userid, const char *user_pass,
const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate,
int group_id, int logincount, int state);
- struct WisData *(*add_wisdata) (int fd, const unsigned char *src, const unsigned char *dst, const unsigned char *msg, int msg_len);
- struct WisData *(*get_wisdata) (int id);
- void (*remove_wisdata) (int id);
};
#ifdef HERCULES_CORE
diff --git a/src/char/loginif.c b/src/char/loginif.c
index a093c8cf5..554513420 100644
--- a/src/char/loginif.c
+++ b/src/char/loginif.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/loginif.h b/src/char/loginif.h
index 5dfedb952..55fd03f83 100644
--- a/src/char/loginif.h
+++ b/src/char/loginif.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/mapif.c b/src/char/mapif.c
index fb904a46d..9077afae4 100644
--- a/src/char/mapif.c
+++ b/src/char/mapif.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -596,22 +596,6 @@ static int mapif_guild_broken(int guild_id, int flag)
return 0;
}
-// Send guild message
-static int mapif_guild_message(int guild_id, int account_id, const char *mes, int len, int sfd)
-{
- unsigned char buf[512];
- nullpo_ret(mes);
- if (len > 500)
- len = 500;
- WBUFW(buf, 0) = 0x3837;
- WBUFW(buf, 2) = len + 12;
- WBUFL(buf, 4) = guild_id;
- WBUFL(buf, 8) = account_id;
- memcpy(WBUFP(buf, 12), mes, len);
- mapif->sendallwos(sfd, buf, len + 12);
- return 0;
-}
-
// Send basic info
static int mapif_guild_basicinfochanged(int guild_id, int type, const void *data, int len)
{
@@ -810,12 +794,6 @@ static int mapif_parse_BreakGuild(int fd, int guild_id)
return 0;
}
-// Forward Guild message to others map servers
-static int mapif_parse_GuildMessage(int fd, int guild_id, int account_id, const char *mes, int len)
-{
- return mapif->guild_message(guild_id,account_id,mes,len, fd);
-}
-
/**
* Changes basic guild information
* The types are available in mmo.h::guild_basic_info
@@ -1319,20 +1297,6 @@ static int mapif_party_broken(int party_id, int flag)
return 0;
}
-//Remarks in the party
-static int mapif_party_message(int party_id, int account_id, const char *mes, int len, int sfd)
-{
- unsigned char buf[512];
- nullpo_ret(mes);
- WBUFW(buf, 0) = 0x3827;
- WBUFW(buf, 2) = len + 12;
- WBUFL(buf, 4) = party_id;
- WBUFL(buf, 8) = account_id;
- memcpy(WBUFP(buf, 12), mes, len);
- mapif->sendallwos(sfd, buf, len + 12);
- return 0;
-}
-
// Create Party
static int mapif_parse_CreateParty(int fd, const char *name, int item, int item2, const struct party_member *leader)
{
@@ -1408,12 +1372,6 @@ static int mapif_parse_BreakParty(int fd, int party_id)
return 0;
}
-//Party sending the message
-static int mapif_parse_PartyMessage(int fd, int party_id, int account_id, const char *mes, int len)
-{
- return mapif->party_message(party_id, account_id, mes, len, fd);
-}
-
static int mapif_parse_PartyLeaderChange(int fd, int party_id, int account_id, int char_id)
{
if (!inter_party->change_leader(party_id, account_id, char_id))
@@ -1744,10 +1702,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);
}
/*==========================================
@@ -2031,67 +1992,6 @@ static void mapif_parse_accinfo(int fd)
inter->accinfo(u_fd, aid, castergroup, query, fd);
}
-// broadcast sending
-static int mapif_broadcast(const unsigned char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, int sfd)
-{
- unsigned char *buf = (unsigned char*)aMalloc((len)*sizeof(unsigned char));
-
- nullpo_ret(mes);
- Assert_ret(len >= 16);
- WBUFW(buf, 0) = 0x3800;
- WBUFW(buf, 2) = len;
- WBUFL(buf, 4) = fontColor;
- WBUFW(buf, 8) = fontType;
- WBUFW(buf, 10) = fontSize;
- WBUFW(buf, 12) = fontAlign;
- WBUFW(buf, 14) = fontY;
- memcpy(WBUFP(buf, 16), mes, len - 16);
- mapif->sendallwos(sfd, buf, len);
-
- aFree(buf);
- return 0;
-}
-
-// Wis sending
-static int mapif_wis_message(struct WisData *wd)
-{
- unsigned char buf[2048];
- nullpo_ret(wd);
- //if (wd->len > 2047-56) wd->len = 2047-56; //Force it to fit to avoid crashes. [Skotlex]
- if (wd->len < 0)
- wd->len = 0;
- if (wd->len >= (int)sizeof(wd->msg) - 1)
- wd->len = (int)sizeof(wd->msg) - 1;
-
- WBUFW(buf, 0) = 0x3801;
- WBUFW(buf, 2) = 56 + wd->len;
- WBUFL(buf, 4) = wd->id;
- memcpy(WBUFP(buf, 8), wd->src, NAME_LENGTH);
- memcpy(WBUFP(buf, 32), wd->dst, NAME_LENGTH);
- memcpy(WBUFP(buf, 56), wd->msg, wd->len);
- wd->count = mapif->sendall(buf, WBUFW(buf, 2));
-
- return 0;
-}
-
-static void mapif_wis_response(int fd, const unsigned char *src, int flag)
-{
- unsigned char buf[27];
- nullpo_retv(src);
- WBUFW(buf, 0) = 0x3802;
- memcpy(WBUFP(buf, 2), src, 24);
- WBUFB(buf, 26) = flag;
- mapif->send(fd, buf, 27);
-}
-
-// Wis sending result
-static int mapif_wis_end(struct WisData *wd, int flag)
-{
- nullpo_ret(wd);
- mapif->wis_response(wd->fd, wd->src, flag);
- return 0;
-}
-
#if 0
// Account registry transfer to map-server
static void mapif_account_reg(int fd, unsigned char *src)
@@ -2123,89 +2023,6 @@ static int mapif_disconnectplayer(int fd, int account_id, int char_id, int reaso
return 0;
}
-// broadcast sending
-static int mapif_parse_broadcast(int fd)
-{
- mapif->broadcast(RFIFOP(fd, 16), RFIFOW(fd, 2), RFIFOL(fd, 4), RFIFOW(fd, 8), RFIFOW(fd, 10), RFIFOW(fd, 12), RFIFOW(fd, 14), fd);
- return 0;
-}
-
-// Wisp/page request to send
-static int mapif_parse_WisRequest(int fd)
-{
- struct WisData* wd;
- char name[NAME_LENGTH];
- char *data;
- size_t len;
-
- if (fd <= 0) // check if we have a valid fd
- return 0;
-
- if (RFIFOW(fd, 2) - 52 >= sizeof(wd->msg)) {
- ShowWarning("inter: Wis message size too long.\n");
- return 0;
- } else if (RFIFOW(fd, 2) - 52 <= 0) { // normally, impossible, but who knows...
- ShowError("inter: Wis message doesn't exist.\n");
- return 0;
- }
-
- safestrncpy(name, RFIFOP(fd, 28), NAME_LENGTH); //Received name may be too large and not contain \0! [Skotlex]
-
- // search if character exists before to ask all map-servers
- if (!chr->name_exists(name, NULL)) {
- mapif->wis_response(fd, RFIFOP(fd, 4), 1);
- } else {
- // Character exists. So, ask all map-servers
-
- // to be sure of the correct name, rewrite it
- SQL->GetData(inter->sql_handle, 0, &data, &len);
- memset(name, 0, NAME_LENGTH);
- memcpy(name, data, min(len, NAME_LENGTH));
- // if source is destination, don't ask other servers.
- if (strncmp(RFIFOP(fd, 4), name, NAME_LENGTH) == 0) {
- mapif->wis_response(fd, RFIFOP(fd, 4), 1);
- } else {
- wd = inter->add_wisdata(fd, RFIFOP(fd, 4), RFIFOP(fd, 28), RFIFOP(fd, 52), RFIFOW(fd, 2) - 52);
- mapif->wis_message(wd);
- }
- }
-
- SQL->FreeResult(inter->sql_handle);
- return 0;
-}
-
-// Wisp/page transmission result
-static int mapif_parse_WisReply(int fd)
-{
- int id, flag;
- struct WisData *wd;
-
- id = RFIFOL(fd,2);
- flag = RFIFOB(fd,6);
- wd = inter->get_wisdata(id);
- if (wd == NULL)
- return 0; // This wisp was probably suppress before, because it was timeout of because of target was found on another map-server
-
- if ((--wd->count) <= 0 || flag != 1) {
- mapif->wis_end(wd, flag); // flag: 0: success to send whisper, 1: target character is not logged in?, 2: ignored by target
- inter->remove_wisdata(id);
- }
-
- return 0;
-}
-
-// Received wisp message from map-server for ALL gm (just copy the message and resends it to ALL map-servers)
-static int mapif_parse_WisToGM(int fd)
-{
- unsigned char buf[2048]; // 0x3003/0x3803 <packet_len>.w <wispname>.24B <min_gm_level>.w <message>.?B
-
- memcpy(WBUFP(buf,0), RFIFOP(fd,0), RFIFOW(fd,2)); // Message contains the NUL terminator (see intif_wis_message_to_gm())
- WBUFW(buf, 0) = 0x3803;
- mapif->sendall(buf, RFIFOW(fd,2));
-
- return 0;
-}
-
// Save account_reg into sql (type=2)
static int mapif_parse_Registry(int fd)
{
@@ -2461,6 +2278,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;
@@ -2506,7 +2346,6 @@ void mapif_defaults(void)
mapif->guild_withdraw = mapif_guild_withdraw;
mapif->guild_memberinfoshort = mapif_guild_memberinfoshort;
mapif->guild_broken = mapif_guild_broken;
- mapif->guild_message = mapif_guild_message;
mapif->guild_basicinfochanged = mapif_guild_basicinfochanged;
mapif->guild_memberinfochanged = mapif_guild_memberinfochanged;
mapif->guild_skillupack = mapif_guild_skillupack;
@@ -2522,7 +2361,6 @@ void mapif_defaults(void)
mapif->parse_GuildLeave = mapif_parse_GuildLeave;
mapif->parse_GuildChangeMemberInfoShort = mapif_parse_GuildChangeMemberInfoShort;
mapif->parse_BreakGuild = mapif_parse_BreakGuild;
- mapif->parse_GuildMessage = mapif_parse_GuildMessage;
mapif->parse_GuildBasicInfoChange = mapif_parse_GuildBasicInfoChange;
mapif->parse_GuildMemberInfoChange = mapif_parse_GuildMemberInfoChange;
mapif->parse_GuildPosition = mapif_parse_GuildPosition;
@@ -2570,7 +2408,6 @@ void mapif_defaults(void)
mapif->party_withdraw = mapif_party_withdraw;
mapif->party_membermoved = mapif_party_membermoved;
mapif->party_broken = mapif_party_broken;
- mapif->party_message = mapif_party_message;
mapif->parse_CreateParty = mapif_parse_CreateParty;
mapif->parse_PartyInfo = mapif_parse_PartyInfo;
mapif->parse_PartyAddMember = mapif_parse_PartyAddMember;
@@ -2578,7 +2415,6 @@ void mapif_defaults(void)
mapif->parse_PartyLeave = mapif_parse_PartyLeave;
mapif->parse_PartyChangeMap = mapif_parse_PartyChangeMap;
mapif->parse_BreakParty = mapif_parse_BreakParty;
- mapif->parse_PartyMessage = mapif_parse_PartyMessage;
mapif->parse_PartyLeaderChange = mapif_parse_PartyLeaderChange;
mapif->pet_created = mapif_pet_created;
mapif->pet_info = mapif_pet_info;
@@ -2605,6 +2441,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;
@@ -2616,16 +2454,8 @@ void mapif_defaults(void)
mapif->itembound_ack = mapif_itembound_ack;
mapif->parse_ItemBoundRetrieve = mapif_parse_ItemBoundRetrieve;
mapif->parse_accinfo = mapif_parse_accinfo;
- mapif->broadcast = mapif_broadcast;
- mapif->wis_message = mapif_wis_message;
- mapif->wis_response = mapif_wis_response;
- mapif->wis_end = mapif_wis_end;
mapif->account_reg_reply = mapif_account_reg_reply;
mapif->disconnectplayer = mapif_disconnectplayer;
- mapif->parse_broadcast = mapif_parse_broadcast;
- mapif->parse_WisRequest = mapif_parse_WisRequest;
- mapif->parse_WisReply = mapif_parse_WisReply;
- mapif->parse_WisToGM = mapif_parse_WisToGM;
mapif->parse_Registry = mapif_parse_Registry;
mapif->parse_RegistryRequest = mapif_parse_RegistryRequest;
mapif->namechange_ack = mapif_namechange_ack;
diff --git a/src/char/mapif.h b/src/char/mapif.h
index f57748ac6..11dd79504 100644
--- a/src/char/mapif.h
+++ b/src/char/mapif.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
+ * Copyright (C) 2012-2020 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
@@ -23,7 +23,7 @@
#include "common/hercules.h"
#include "common/mmo.h"
-struct WisData;
+struct rodex_item;
/**
* mapif interface
@@ -70,7 +70,6 @@ struct mapif_interface {
int (*guild_withdraw) (int guild_id, int account_id, int char_id, int flag, const char *name, const char *mes);
int (*guild_memberinfoshort) (struct guild *g, int idx);
int (*guild_broken) (int guild_id, int flag);
- int (*guild_message) (int guild_id, int account_id, const char *mes, int len, int sfd);
int (*guild_basicinfochanged) (int guild_id, int type, const void *data, int len);
int (*guild_memberinfochanged) (int guild_id, int account_id, int char_id, int type, const void *data, int len);
int (*guild_skillupack) (int guild_id, uint16 skill_id, int account_id);
@@ -86,7 +85,6 @@ struct mapif_interface {
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, 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);
int (*parse_GuildMemberInfoChange) (int fd, int guild_id, int account_id, int char_id, int type, const char *data, int len);
int (*parse_GuildPosition) (int fd, int guild_id, int idx, const struct guild_position *p);
@@ -134,7 +132,6 @@ struct mapif_interface {
int (*party_withdraw) (int party_id,int account_id, int char_id);
int (*party_membermoved) (struct party *p, int idx);
int (*party_broken) (int party_id, int flag);
- int (*party_message) (int party_id, int account_id, const char *mes, int len, int sfd);
int (*parse_CreateParty) (int fd, const char *name, int item, int item2, const struct party_member *leader);
void (*parse_PartyInfo) (int fd, int party_id, int char_id);
int (*parse_PartyAddMember) (int fd, int party_id, const struct party_member *member);
@@ -142,7 +139,6 @@ struct mapif_interface {
int (*parse_PartyLeave) (int fd, int party_id, int account_id, int char_id);
int (*parse_PartyChangeMap) (int fd, int party_id, int account_id, int char_id, unsigned short map, int online, unsigned int lv);
int (*parse_BreakParty) (int fd, int party_id);
- int (*parse_PartyMessage) (int fd, int party_id, int account_id, const char *mes, int len);
int (*parse_PartyLeaderChange) (int fd, int party_id, int account_id, int char_id);
int (*pet_created) (int fd, int account_id, struct s_pet *p);
int (*pet_info) (int fd, int account_id, struct s_pet *p);
@@ -168,6 +164,8 @@ struct mapif_interface {
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, 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);
@@ -179,16 +177,8 @@ struct mapif_interface {
int (*itembound_ack) (int fd, int aid, int guild_id);
void (*parse_ItemBoundRetrieve) (int fd);
void (*parse_accinfo) (int fd);
- int (*broadcast) (const unsigned char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, int sfd);
- int (*wis_message) (struct WisData *wd);
- void (*wis_response) (int fd, const unsigned char *src, int flag);
- int (*wis_end) (struct WisData *wd, int flag);
int (*account_reg_reply) (int fd,int account_id,int char_id, int type);
int (*disconnectplayer) (int fd, int account_id, int char_id, int reason);
- int (*parse_broadcast) (int fd);
- int (*parse_WisRequest) (int fd);
- int (*parse_WisReply) (int fd);
- int (*parse_WisToGM) (int fd);
int (*parse_Registry) (int fd);
int (*parse_RegistryRequest) (int fd);
void (*namechange_ack) (int fd, int account_id, int char_id, int type, int flag, const char *name);
diff --git a/src/char/packets_hc_struct.h b/src/char/packets_hc_struct.h
index 196493cac..dc5feab60 100644
--- a/src/char/packets_hc_struct.h
+++ b/src/char/packets_hc_struct.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016-2018 Hercules Dev Team
+ * Copyright (C) 2016-2020 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/src/char/pincode.c b/src/char/pincode.c
index 5a7eb1cab..6346f3266 100644
--- a/src/char/pincode.c
+++ b/src/char/pincode.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/char/pincode.h b/src/char/pincode.h
index 699758179..594aabb19 100644
--- a/src/char/pincode.h
+++ b/src/char/pincode.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/HPM.c b/src/common/HPM.c
index a579a0926..23335fcde 100644
--- a/src/common/HPM.c
+++ b/src/common/HPM.c
@@ -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-2020 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
@@ -458,11 +458,12 @@ static bool hplugins_addconf(unsigned int pluginID, enum HPluginConfType type, c
static struct hplugin *hplugin_load(const char *filename)
{
+ typedef void *(ImportSymbolFunc)(char *, unsigned int);
struct hplugin *plugin;
struct hplugin_info *info;
struct HPMi_interface **HPMi;
bool anyEvent = false;
- void **import_symbol_ref;
+ ImportSymbolFunc **import_symbol_ref;
int *HPMDataCheckVer;
unsigned int *HPMDataCheckLen;
struct s_HPMDataCheck *HPMDataCheck;
@@ -499,7 +500,7 @@ static struct hplugin *hplugin_load(const char *filename)
plugin->info = info;
plugin->filename = aStrdup(filename);
- if( !( import_symbol_ref = plugin_import(plugin->dll, "import_symbol",void **) ) ) {
+ if ((import_symbol_ref = plugin_import(plugin->dll, "import_symbol", ImportSymbolFunc **)) == NULL) {
ShowFatalError("HPM:plugin_load: failed to retrieve 'import_symbol' for '"CL_WHITE"%s"CL_RESET"'!\n", filename);
exit(EXIT_FAILURE);
}
diff --git a/src/common/HPM.h b/src/common/HPM.h
index a4e3e46cc..6e40c323b 100644
--- a/src/common/HPM.h
+++ b/src/common/HPM.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-2020 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/src/common/HPMDataCheck.h b/src/common/HPMDataCheck.h
index ecbfc9f2c..72ae64525 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-2019 Hercules Dev Team
+ * Copyright (C) 2014-2020 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,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#define CHAR_GEOIP_H
#endif // CHAR_GEOIP_H
#ifdef CHAR_INTER_H
- { "WisData", sizeof(struct WisData), SERVER_TYPE_CHAR },
{ "inter_interface", sizeof(struct inter_interface), SERVER_TYPE_CHAR },
#else
#define CHAR_INTER_H
@@ -230,6 +229,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 },
@@ -465,7 +465,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "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
@@ -526,6 +525,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "item_combo", sizeof(struct item_combo), SERVER_TYPE_MAP },
{ "item_data", sizeof(struct item_data), SERVER_TYPE_MAP },
{ "item_group", sizeof(struct item_group), SERVER_TYPE_MAP },
+ { "item_lapineddukddak", sizeof(struct item_lapineddukddak), SERVER_TYPE_MAP },
{ "item_package", sizeof(struct item_package), SERVER_TYPE_MAP },
{ "item_package_must_entry", sizeof(struct item_package_must_entry), SERVER_TYPE_MAP },
{ "item_package_rand_entry", sizeof(struct item_package_rand_entry), SERVER_TYPE_MAP },
@@ -571,9 +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_itemreq", sizeof(struct questinfo_itemreq), 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
@@ -591,14 +588,19 @@ 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
#endif // MAP_MOB_H
#ifdef MAP_NPC_H
{ "event_data", sizeof(struct event_data), SERVER_TYPE_MAP },
+ { "npc_barter_currency", sizeof(struct npc_barter_currency), SERVER_TYPE_MAP },
{ "npc_chat_interface", sizeof(struct npc_chat_interface), SERVER_TYPE_MAP },
{ "npc_data", sizeof(struct npc_data), SERVER_TYPE_MAP },
{ "npc_interface", sizeof(struct npc_interface), SERVER_TYPE_MAP },
@@ -665,8 +667,13 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_ACK_LEAVE_GUILD1", sizeof(struct PACKET_ZC_ACK_LEAVE_GUILD1), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_LEAVE_GUILD2", sizeof(struct PACKET_ZC_ACK_LEAVE_GUILD2), SERVER_TYPE_MAP },
{ "PACKET_ZC_ACK_OPEN_WRITE_MAIL", sizeof(struct PACKET_ZC_ACK_OPEN_WRITE_MAIL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_RANKING_name", sizeof(struct PACKET_ZC_ACK_RANKING_name), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_RANKING_points", sizeof(struct PACKET_ZC_ACK_RANKING_points), SERVER_TYPE_MAP },
+ { "PACKET_ZC_ACK_RANKING_sub", sizeof(struct PACKET_ZC_ACK_RANKING_sub), 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 },
@@ -677,6 +684,10 @@ 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_ADD_SKILL", sizeof(struct PACKET_ZC_ADD_SKILL), SERVER_TYPE_MAP },
+ { "PACKET_ZC_AUTORUN_SKILL", sizeof(struct PACKET_ZC_AUTORUN_SKILL), 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 },
@@ -710,6 +721,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "PACKET_ZC_NOTIFY_UNREADMAIL", sizeof(struct PACKET_ZC_NOTIFY_UNREADMAIL), SERVER_TYPE_MAP },
{ "PACKET_ZC_NOTIFY_WEAPONITEMLIST", sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST), SERVER_TYPE_MAP },
{ "PACKET_ZC_NOTIFY_WEAPONITEMLIST_sub", sizeof(struct PACKET_ZC_NOTIFY_WEAPONITEMLIST_sub), SERVER_TYPE_MAP },
+ { "PACKET_ZC_NPC_MARKET_PURCHASE_RESULT_sub", sizeof(struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT_sub), SERVER_TYPE_MAP },
{ "PACKET_ZC_OPEN_UI", sizeof(struct PACKET_ZC_OPEN_UI), SERVER_TYPE_MAP },
{ "PACKET_ZC_OVERWEIGHT_PERCENT", sizeof(struct PACKET_ZC_OVERWEIGHT_PERCENT), SERVER_TYPE_MAP },
{ "PACKET_ZC_PC_CASH_POINT_ITEMLIST", sizeof(struct PACKET_ZC_PC_CASH_POINT_ITEMLIST), SERVER_TYPE_MAP },
@@ -725,19 +737,24 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "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 },
+ { "PACKET_ZC_SKILLINFO_LIST", sizeof(struct PACKET_ZC_SKILLINFO_LIST), SERVER_TYPE_MAP },
+ { "PACKET_ZC_SKILLINFO_UPDATE2", sizeof(struct PACKET_ZC_SKILLINFO_UPDATE2), SERVER_TYPE_MAP },
{ "PACKET_ZC_SPRITE_CHANGE", sizeof(struct PACKET_ZC_SPRITE_CHANGE), SERVER_TYPE_MAP },
+ { "PACKET_ZC_STATE_CHANGE", sizeof(struct PACKET_ZC_STATE_CHANGE), SERVER_TYPE_MAP },
+ { "PACKET_ZC_STATUS_CHANGE_ACK", sizeof(struct PACKET_ZC_STATUS_CHANGE_ACK), SERVER_TYPE_MAP },
{ "PACKET_ZC_STYLE_CHANGE_RES", sizeof(struct PACKET_ZC_STYLE_CHANGE_RES), SERVER_TYPE_MAP },
+ { "PACKET_ZC_TALKBOX_CHATCONTENTS", sizeof(struct PACKET_ZC_TALKBOX_CHATCONTENTS), SERVER_TYPE_MAP },
{ "PACKET_ZC_UI_ACTION", sizeof(struct PACKET_ZC_UI_ACTION), SERVER_TYPE_MAP },
{ "PACKET_ZC_UPDATE_ITEM_FROM_BUYING_STORE", sizeof(struct PACKET_ZC_UPDATE_ITEM_FROM_BUYING_STORE), SERVER_TYPE_MAP },
{ "PACKET_ZC_USE_ITEM_ACK", sizeof(struct PACKET_ZC_USE_ITEM_ACK), SERVER_TYPE_MAP },
{ "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 },
+ { "SKILLDATA", sizeof(struct SKILLDATA), 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 },
@@ -772,7 +789,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "packet_equipitem_ack", sizeof(struct packet_equipitem_ack), SERVER_TYPE_MAP },
{ "packet_gm_monster_item", sizeof(struct packet_gm_monster_item), SERVER_TYPE_MAP },
{ "packet_graffiti_entry", sizeof(struct packet_graffiti_entry), SERVER_TYPE_MAP },
- { "packet_hotkey", sizeof(struct packet_hotkey), SERVER_TYPE_MAP },
{ "packet_idle_unit", sizeof(struct packet_idle_unit), SERVER_TYPE_MAP },
{ "packet_idle_unit2", sizeof(struct packet_idle_unit2), SERVER_TYPE_MAP },
{ "packet_item_drop_announce", sizeof(struct packet_item_drop_announce), SERVER_TYPE_MAP },
@@ -783,7 +799,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
{ "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_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 },
{ "packet_party_leader_changed", sizeof(struct packet_party_leader_changed), SERVER_TYPE_MAP },
{ "packet_quest_add_header", sizeof(struct packet_quest_add_header), SERVER_TYPE_MAP },
@@ -795,7 +810,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 },
@@ -844,6 +858,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = {
#define MAP_PC_GROUPS_H
#endif // MAP_PC_GROUPS_H
#ifdef MAP_PC_H
+ { "autocast_data", sizeof(struct autocast_data), SERVER_TYPE_MAP },
{ "autotrade_vending", sizeof(struct autotrade_vending), SERVER_TYPE_MAP },
{ "class_exp_group", sizeof(struct class_exp_group), SERVER_TYPE_MAP },
{ "class_exp_tables", sizeof(struct class_exp_tables), SERVER_TYPE_MAP },
@@ -881,9 +896,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
@@ -946,7 +977,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 },
@@ -963,6 +993,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 6b02b005a..1ead8c5e2 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -245,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
@@ -281,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
@@ -598,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";
@@ -646,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/HPMi.h b/src/common/HPMi.h
index 7698d3ca7..fca08a482 100644
--- a/src/common/HPMi.h
+++ b/src/common/HPMi.h
@@ -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-2020 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
@@ -241,9 +241,15 @@ struct HPMi_interface {
#ifdef HERCULES_CORE
#define HPM_SYMBOL(n, s) (HPM->share((s), (n)), true)
#else // ! HERCULES_CORE
+#ifdef HERCULES_CORE_HPMI_SKIP
+extern struct HPMi_interface HPMi_s;
+extern struct HPMi_interface *HPMi;
+extern void *(*import_symbol) (char *name, unsigned int pID);
+#else
HPExport struct HPMi_interface HPMi_s;
HPExport struct HPMi_interface *HPMi;
HPExport void *(*import_symbol) (char *name, unsigned int pID);
+#endif
#define HPM_SYMBOL(n, s) ((s) = import_symbol((n),HPMi->pid))
#endif // !HERCULES_CORE
diff --git a/src/common/Makefile.in b/src/common/Makefile.in
index 708780595..22b974cfd 100644
--- a/src/common/Makefile.in
+++ b/src/common/Makefile.in
@@ -1,8 +1,8 @@
# 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
+# Copyright (C) 2012-2020 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
@@ -33,6 +33,19 @@ LIBCONFIG_OBJ = $(addprefix $(LIBCONFIG_D)/, libconfig.o grammar.o scanctx.o \
LIBCONFIG_H = $(addprefix $(LIBCONFIG_D)/, libconfig.h grammar.h parsectx.h \
scanctx.h scanner.h strbuf.h wincompat.h)
+ifeq (@USE_LIBBACKTRACE@,yes)
+ LIBBACKTRACE_D = $(THIRDPARTY_D)/libbacktrace
+ LIBBACKTRACE_OBJ = $(addprefix $(LIBBACKTRACE_D)/, atomic.o backtrace.o \
+ dwarf.o @LIBBACKTRACE_FORMAT_FILE@ fileline.o mmapio.o mmap.o posix.o print.o \
+ simple.o sort.o state.o)
+ LIBBACKTRACE_H = $(addprefix $(LIBBACKTRACE_D)/, backtrace.h \
+ backtrace-supported.h config.h filenames.h internal.h)
+else
+ LIBBACKTRACE_D =
+ LIBBACKTRACE_OBJ =
+ LIBBACKTRACE_H =
+endif
+
MT19937AR_D = $(THIRDPARTY_D)/mt19937ar
MT19937AR_OBJ = $(MT19937AR_D)/mt19937ar.o
MT19937AR_H = $(MT19937AR_D)/mt19937ar.h
@@ -95,7 +108,7 @@ help:
Makefile: Makefile.in
@$(MAKE) -C ../.. src/common/Makefile
-$(SYSINFO_INC): $(COMMON_C) $(COMMON_PH) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H)
+$(SYSINFO_INC): $(COMMON_C) $(COMMON_PH) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H)
@echo " MAKE $@"
@$(MAKE) -C ../.. sysinfo
@@ -121,7 +134,7 @@ 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: $(COMMON_OBJ) $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) obj_all/common.a Makefile
common_sql: $(COMMON_SQL_OBJ) obj_sql/common_sql.a Makefile
@@ -134,14 +147,18 @@ $(LIBCONFIG_OBJ):
@echo " MAKE $@"
@$(MAKE) -C $(LIBCONFIG_D)
+$(LIBBACKTRACE_OBJ):
+ @echo " MAKE $@"
+ @$(MAKE) -C $(LIBBACKTRACE_D)
+
.SECONDEXPANSION:
-obj_all/sysinfo.o: sysinfo.c $(filter sysinfo.p.h, $(COMMON_PH)) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(SYSINFO_INC) | obj_all
+obj_all/sysinfo.o: sysinfo.c $(filter sysinfo.p.h, $(COMMON_PH)) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H) $(SYSINFO_INC) | obj_all
-obj_all/%.o: %.c $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | $(SYSINFO_INC) obj_all
+obj_all/%.o: %.c $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H) | $(SYSINFO_INC) obj_all
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @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
+obj_sql/%.o: %.c $$(filter %.p.h, $(COMMON_PH)) $(COMMON_H) $(COMMON_SQL_H) $(CONFIG_H) $(LIBCONFIG_H) $(LIBBACKTRACE_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/atomic.h b/src/common/atomic.h
index fdff6e6ab..518d2e6ab 100644
--- a/src/common/atomic.h
+++ b/src/common/atomic.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
- * Copyright (C) rAthena Project (www.rathena.org)
+ * Copyright (C) 2012-2020 Hercules Dev Team
+ * Copyright (C) rAthena Project (www.rathena.org)
*
* 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/common/cbasetypes.h b/src/common/cbasetypes.h
index 89f7f8588..0b5613316 100644
--- a/src/common/cbasetypes.h
+++ b/src/common/cbasetypes.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
+ * Copyright (C) 2012-2020 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
@@ -313,6 +313,13 @@ typedef uintptr_t uintptr;
#define PRAGMA_GCC5(str)
#endif // ! defined(__GNUC__) && (GCC_VERSION >= 50000)
+// Pragma macro only enabled on gcc >= 9
+#if defined(__GNUC__) && (GCC_VERSION >= 90000)
+#define PRAGMA_GCC9(str) _Pragma(#str)
+#else // ! defined(__GNUC__) && (GCC_VERSION >= 90000)
+#define PRAGMA_GCC9(str)
+#endif // ! defined(__GNUC__) && (GCC_VERSION >= 90000)
+
// fallthrough attribute only enabled on gcc >= 7.0
#if defined(__GNUC__) && (GCC_VERSION >= 70000)
#define FALLTHROUGH __attribute__ ((fallthrough));
diff --git a/src/common/conf.c b/src/common/conf.c
index 0ad350057..dae7db8fc 100644
--- a/src/common/conf.c
+++ b/src/common/conf.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -22,6 +22,7 @@
#include "conf.h"
+#include "common/nullpo.h" // nullpo_retv
#include "common/showmsg.h" // ShowError
#include "common/strlib.h" // safestrncpy
#include "common/utils.h" // exists
@@ -33,6 +34,31 @@ static struct libconfig_interface libconfig_s;
struct libconfig_interface *libconfig;
/**
+ * Sets the server's db_path to be used by config_format_db_path
+ * @param db_path path to the folder where the db files are at
+ */
+static void config_set_db_path(const char *db_path)
+{
+ nullpo_retv(db_path);
+ safestrncpy(libconfig->db_path, db_path, sizeof(libconfig->db_path));
+}
+
+/**
+ * Writes into path_buf the fullpath to the db file in filename.
+ * Basically this prepends map->db_path to filename.
+ * @param filename File name to format (e.g. re/item_db.conf)
+ * @param path_buf Where to save the path to
+ * @param buffer_len Maximun length of path_buf
+ */
+static void config_format_db_path(const char *filename, char *path_buf, int buffer_len)
+{
+ nullpo_retv(filename);
+ nullpo_retv(path_buf);
+
+ safesnprintf(path_buf, buffer_len, "%s/%s", libconfig->db_path, filename);
+}
+
+/**
* Initializes 'config' and loads a configuration file.
*
* Shows error and destroys 'config' in case of failure.
@@ -450,6 +476,10 @@ static int config_lookup_int64_real(const struct config_t *config, const char *f
void libconfig_defaults(void) {
libconfig = &libconfig_s;
+ snprintf(libconfig->db_path, sizeof(libconfig->db_path), "db");
+ libconfig->set_db_path = config_set_db_path;
+ libconfig->format_db_path = config_format_db_path;
+ /* */
libconfig->read = config_read;
libconfig->write = config_write;
/* */
diff --git a/src/common/conf.h b/src/common/conf.h
index 66960c0ec..2d2df92f2 100644
--- a/src/common/conf.h
+++ b/src/common/conf.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -29,6 +29,10 @@
* The libconfig interface -- specially for plugins, but we enforce it throughout the core to be consistent
**/
struct libconfig_interface {
+ char db_path[256];
+ void (*set_db_path) (const char *db_path);
+ void (*format_db_path) (const char *filename, char *path_buf, int buffer_len);
+ /* */
int (*read) (struct config_t *config, FILE *stream);
void (*write) (const struct config_t *config, FILE *stream);
/* */
diff --git a/src/common/console.c b/src/common/console.c
index a990d86b3..5b4dbeb1a 100644
--- a/src/common/console.c
+++ b/src/common/console.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -322,6 +322,7 @@ static void console_parse_create(char *name, CParseFunc func)
nullpo_retv(name);
safestrncpy(sublist, name, CP_CMD_LENGTH * 5);
tok = strtok(sublist,":");
+ nullpo_retv(tok);
ARR_FIND(0, VECTOR_LENGTH(console->input->command_list), i, strcmpi(tok, VECTOR_INDEX(console->input->command_list, i)->cmd) == 0);
@@ -404,6 +405,10 @@ static void console_parse_sub(char *line)
nullpo_retv(line);
memcpy(bline, line, 200);
tok = strtok(line, " ");
+ if (tok == NULL) {
+ // Ignore empty commands
+ return;
+ }
ARR_FIND(0, VECTOR_LENGTH(console->input->command_list), i, strcmpi(tok, VECTOR_INDEX(console->input->command_list, i)->cmd) == 0);
if (i == VECTOR_LENGTH(console->input->command_list)) {
@@ -417,6 +422,12 @@ static void console_parse_sub(char *line)
if (cmd->type == CPET_FUNCTION) {
tok = strtok(NULL, "");
+ if (tok != NULL) {
+ while (tok[0] == ' ')
+ tok++;
+ if (tok[0] == '\0')
+ tok = NULL;
+ }
cmd->u.func(tok);
return;
}
@@ -444,6 +455,12 @@ static void console_parse_sub(char *line)
entry = VECTOR_INDEX(cmd->u.children, i);
if (entry->type == CPET_FUNCTION) {
tok = strtok(NULL, "");
+ if (tok != NULL) {
+ while (tok[0] == ' ')
+ tok++;
+ if (tok[0] == '\0')
+ tok = NULL;
+ }
entry->u.func(tok);
return;
}
diff --git a/src/common/console.h b/src/common/console.h
index dd3a9cf2e..92a262a12 100644
--- a/src/common/console.h
+++ b/src/common/console.h
@@ -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-2020 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/src/common/core.c b/src/common/core.c
index dbd1d2596..5be90a411 100644
--- a/src/common/core.c
+++ b/src/common/core.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -489,6 +489,7 @@ int main(int argc, char **argv)
iMalloc->init();// needed for Show* in display_title() [FlavioJS]
showmsg->init();
+ nullpo->init();
cmdline->init();
@@ -552,6 +553,7 @@ int main(int argc, char **argv)
cmdline->final();
//sysinfo->final(); Called by iMalloc->final()
+ nullpo->final();
iMalloc->final();
showmsg->final(); // Should be after iMalloc->final()
diff --git a/src/common/core.h b/src/common/core.h
index 0622a987d..3fceb0b1a 100644
--- a/src/common/core.h
+++ b/src/common/core.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/db.c b/src/common/db.c
index c28ad1f7c..bcd57875b 100644
--- a/src/common/db.c
+++ b/src/common/db.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/db.h b/src/common/db.h
index 2af47567e..bbc6232ef 100644
--- a/src/common/db.h
+++ b/src/common/db.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/des.c b/src/common/des.c
index fbd158265..5a0e32b48 100644
--- a/src/common/des.c
+++ b/src/common/des.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/des.h b/src/common/des.h
index 79fe05603..860e35424 100644
--- a/src/common/des.h
+++ b/src/common/des.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/ers.c b/src/common/ers.c
index e421c47c9..30a90116f 100644
--- a/src/common/ers.c
+++ b/src/common/ers.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/ers.h b/src/common/ers.h
index 612a98dd4..cb8dfd009 100644
--- a/src/common/ers.h
+++ b/src/common/ers.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/grfio.c b/src/common/grfio.c
index 79154d191..0fdcbe61f 100644
--- a/src/common/grfio.c
+++ b/src/common/grfio.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/grfio.h b/src/common/grfio.h
index 13e7201fe..c7e58329f 100644
--- a/src/common/grfio.h
+++ b/src/common/grfio.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/hercules.h b/src/common/hercules.h
index 6b4b9d696..89ea761b4 100644
--- a/src/common/hercules.h
+++ b/src/common/hercules.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2015 Hercules Dev Team
+ * Copyright (C) 2015-2020 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/src/common/mapindex.c b/src/common/mapindex.c
index d5cda5c22..e5bbb082c 100644
--- a/src/common/mapindex.c
+++ b/src/common/mapindex.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -23,6 +23,7 @@
#include "mapindex.h"
#include "common/cbasetypes.h"
+#include "common/conf.h"
#include "common/db.h"
#include "common/mmo.h"
#include "common/nullpo.h"
@@ -159,8 +160,61 @@ static const char *mapindex_id2name_sub(uint16 id, const char *file, int line, c
return mapindex->list[id].name;
}
+/**
+ * Reads the db_path config of mapindex configuration file
+ * @param filename File being read (used when displaying errors)
+ * @param config Config structure being read
+ * @returns true if it read the all the configs, false otherwise
+ */
+static bool mapindex_config_read_dbpath(const char *filename, const struct config_t *config)
+{
+ nullpo_retr(false, config);
+
+ const struct config_setting_t *setting = NULL;
+
+ if ((setting = libconfig->lookup(config, "mapindex_configuration")) == NULL) {
+ ShowError("mapindex_config_read: mapindex_configuration was not found in %s!\n", filename);
+ return false;
+ }
+
+ // mapindex_configuration/file_path
+ if (libconfig->setting_lookup_mutable_string(setting, "file_path", mapindex->config_file, sizeof(mapindex->config_file)) == CONFIG_TRUE) {
+ ShowInfo("map_index file %s\n", mapindex->config_file);
+ } else {
+ ShowInfo("Failed to load map_index path, defaulting to db/map_index.txt\n");
+ safestrncpy(mapindex->config_file, "db/map_index.txt", sizeof(mapindex->config_file));
+ }
+
+ return true;
+}
+
+/**
+ * Reads conf/common/map-index.conf config file
+ * @returns true if it successfully read the file and configs, false otherwise
+ */
+static bool mapindex_config_read(void)
+{
+ struct config_t config;
+ const char *filename = "conf/common/map-index.conf";
+
+ if (!libconfig->load_file(&config, filename))
+ return false; // Error message is already shown by libconfig->load_file
+
+ if (!mapindex_config_read_dbpath(filename, &config)) {
+ libconfig->destroy(&config);
+ return false;
+ }
+
+ ShowInfo("Done reading %s.\n", filename);
+ libconfig->destroy(&config);
+ return true;
+}
+
static int mapindex_init(void)
{
+ if (!mapindex_config_read())
+ ShowError("Failed to load map_index configuration. Continuing with default values...\n");
+
FILE *fp;
char line[1024];
int last_index = -1;
@@ -234,6 +288,9 @@ void mapindex_defaults(void)
memset (&mapindex->list, 0, sizeof (mapindex->list));
/* */
+ mapindex->config_read = mapindex_config_read;
+ mapindex->config_read_dbpath = mapindex_config_read_dbpath;
+ /* */
mapindex->init = mapindex_init;
mapindex->final = mapindex_final;
/* */
diff --git a/src/common/mapindex.h b/src/common/mapindex.h
index 27cbc5e37..6fa52066e 100644
--- a/src/common/mapindex.h
+++ b/src/common/mapindex.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -21,6 +21,7 @@
#ifndef COMMON_MAPINDEX_H
#define COMMON_MAPINDEX_H
+#include "common/conf.h"
#include "common/hercules.h"
#include "common/mmo.h"
@@ -98,6 +99,9 @@ struct mapindex_interface {
char name[MAP_NAME_LENGTH];
} list[MAX_MAPINDEX];
/* */
+ bool (*config_read_dbpath) (const char *filename, const struct config_t *config);
+ bool (*config_read) (void);
+ /* */
int (*init) (void);
void (*final) (void);
/* */
diff --git a/src/common/md5calc.c b/src/common/md5calc.c
index 3f9ccdc41..dc95fe298 100644
--- a/src/common/md5calc.c
+++ b/src/common/md5calc.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/md5calc.h b/src/common/md5calc.h
index bd06f1fbc..27f308a6a 100644
--- a/src/common/md5calc.h
+++ b/src/common/md5calc.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/memmgr.c b/src/common/memmgr.c
index 3c645e7fa..13629259a 100644
--- a/src/common/memmgr.c
+++ b/src/common/memmgr.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/memmgr.h b/src/common/memmgr.h
index c7147cc5e..891a2c393 100644
--- a/src/common/memmgr.h
+++ b/src/common/memmgr.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/mmo.h b/src/common/mmo.h
index 3a0f73520..9421f6e35 100644
--- a/src/common/mmo.h
+++ b/src/common/mmo.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -64,7 +64,7 @@
// 20120307 - 2012-03-07aRagexeRE+ - 0x970
#ifndef PACKETVER
- #define PACKETVER 20141022
+ #define PACKETVER 20190530
#endif // PACKETVER
//Uncomment the following line if your client is ragexeRE instead of ragexe (required because of conflicting packets in ragexe vs ragexeRE).
@@ -134,22 +134,33 @@
// Comment the following line to disable sc_data saving. [Skotlex]
#define ENABLE_SC_SAVING
-#if PACKETVER >= 20070227
+#if PACKETVER_MAIN_NUM >= 20070711 || PACKETVER_RE_NUM >= 20080827 || PACKETVER_AD_NUM >= 20070711 || PACKETVER_SAK_NUM >= 20070628 || defined(PACKETVER_ZERO)
// Comment the following like to disable server-side hot-key saving support. [Skotlex]
// Note that newer clients no longer save hotkeys in the registry!
#define HOTKEY_SAVING
-#if PACKETVER < 20090603
- // (27 = 9 skills x 3 bars) (0x02b9,191)
- #define MAX_HOTKEYS 27
-#elif PACKETVER < 20090617
- // (36 = 9 skills x 4 bars) (0x07d9,254)
- #define MAX_HOTKEYS 36
-#else // >= 20090617
- // (38 = 9 skills x 4 bars & 2 Quickslots)(0x07d9,268)
- #define MAX_HOTKEYS 38
-#endif // 20090603
-#endif // 20070227
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+#define MAX_HOTKEYS 38
+#elif PACKETVER_MAIN_NUM >= 20141022 || PACKETVER_RE_NUM >= 20141015 || defined(PACKETVER_ZERO)
+// (38 = 9 skills x 4 bars & 2 Quickslots)(0x07d9,268)
+#define MAX_HOTKEYS 38
+#elif PACKETVER_MAIN_NUM >= 20090617 || PACKETVER_RE_NUM >= 20090617 || PACKETVER_SAK_NUM >= 20090617
+// (38 = 9 skills x 4 bars & 2 Quickslots)(0x07d9,268)
+#define MAX_HOTKEYS 38
+#elif PACKETVER_MAIN_NUM >= 20090603 || PACKETVER_RE_NUM >= 20090603 || PACKETVER_SAK_NUM >= 20090603
+// (36 = 9 skills x 4 bars) (0x07d9,254)
+#define MAX_HOTKEYS 36
+#elif PACKETVER_MAIN_NUM >= 20070711 || PACKETVER_RE_NUM >= 20080827 || PACKETVER_AD_NUM >= 20070711 || PACKETVER_SAK_NUM >= 20070628
+// (27 = 9 skills x 3 bars) (0x02b9,191)
+#define MAX_HOTKEYS 27
+#endif
+#endif // PACKETVER_MAIN_NUM >= 20070711 || PACKETVER_RE_NUM >= 20080827 || PACKETVER_AD_NUM >= 20070711 || PACKETVER_SAK_NUM >= 20070628 || defined(PACKETVER_ZERO)
+
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+#define MAX_HOTKEYS_DB ((MAX_HOTKEYS) * 2)
+#else
+#define MAX_HOTKEYS_DB MAX_HOTKEYS
+#endif
#if PACKETVER >= 20150805 /* Cart Decoration */
#define CART_DECORATION
@@ -207,7 +218,7 @@
#define MAX_FAME 1000000000
#define MAX_CART 100
#ifndef MAX_SKILL_DB
-#define MAX_SKILL_DB 1510 ///< Maximum number of skills in the skill DB (compacted array size)
+#define MAX_SKILL_DB 1314 ///< Maximum number of skills in the skill DB (compacted array size)
#endif
#ifndef MAX_SKILL_ID
#define MAX_SKILL_ID 10015 // [Ind/Hercules] max used skill ID
@@ -487,6 +498,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 {
@@ -568,6 +580,7 @@ struct status_change_data {
unsigned short type; ///< Status change type (@see enum sc_type)
int val1, val2, val3, val4; ///< Parameters (meaning depends on type).
int tick; ///< Remaining duration.
+ int total_tick; ///< Total duration.
};
struct storage_data {
@@ -731,9 +744,11 @@ struct mmo_charstatus {
struct s_friend friends[MAX_FRIENDS]; //New friend system [Skotlex]
#ifdef HOTKEY_SAVING
- struct hotkey hotkeys[MAX_HOTKEYS];
+ struct hotkey hotkeys[MAX_HOTKEYS_DB];
#endif
- bool show_equip, allow_party;
+ bool show_equip;
+ bool allow_party;
+ bool allow_call;
unsigned short rename;
unsigned short slotchange;
@@ -750,6 +765,7 @@ struct mmo_charstatus {
short attendance_count;
unsigned char hotkey_rowshift;
+ unsigned char hotkey_rowshift2;
int32 title_id; // Achievement Title[Dastgir/Hercules]
};
@@ -806,8 +822,8 @@ struct party_member {
int char_id;
char name[NAME_LENGTH];
int class;
+ int lv;
unsigned short map;
- unsigned short lv;
unsigned leader : 1,
online : 1;
};
@@ -853,6 +869,7 @@ struct guild_expulsion {
char name[NAME_LENGTH];
char mes[40];
int account_id;
+ int char_id;
};
struct guild_skill {
@@ -891,6 +908,14 @@ struct guild_castle {
int mapindex;
char castle_name[NAME_LENGTH];
char castle_event[NAME_LENGTH];
+ int siege_type;
+ bool enable_client_warp;
+ struct {
+ int x;
+ int y;
+ int zeny;
+ int zeny_siege;
+ } client_warp;
int guild_id;
int economy;
int defense;
@@ -975,6 +1000,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;
@@ -984,10 +1014,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;
@@ -1351,6 +1378,27 @@ enum questinfo_type {
QINFO_MERCENARY_CLASS
};
+/** Pet hunger level **/
+enum e_pet_hunger_level {
+ PET_HUNGER_STARVING = 0,
+ PET_HUNGER_VERY_HUNGRY = 10,
+ PET_HUNGER_HUNGRY = 25,
+ PET_HUNGER_NEUTRAL = 75,
+ PET_HUNGER_SATISFIED = 90,
+ PET_HUNGER_STUFFED = 100
+};
+
+/** Pet intimacy level **/
+enum e_pet_intimacy_level {
+ PET_INTIMACY_NONE = 0,
+ PET_INTIMACY_AWKWARD = 1,
+ PET_INTIMACY_SHY = 100,
+ PET_INTIMACY_NEUTRAL = 250,
+ PET_INTIMACY_CORDIAL = 750,
+ PET_INTIMACY_LOYAL = 900,
+ PET_INTIMACY_MAX = 1000
+};
+
/* packet size constant for itemlist */
#if MAX_INVENTORY > MAX_STORAGE && MAX_INVENTORY > MAX_CART
#define MAX_ITEMLIST MAX_INVENTORY
@@ -1360,6 +1408,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
@@ -1373,4 +1425,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/mutex.c b/src/common/mutex.c
index dd63d2adc..fbcc5b576 100644
--- a/src/common/mutex.c
+++ b/src/common/mutex.c
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
- * Copyright (C) rAthena Project (www.rathena.org)
+ * Copyright (C) 2012-2020 Hercules Dev Team
+ * Copyright (C) rAthena Project (www.rathena.org)
*
* 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/common/mutex.h b/src/common/mutex.h
index fc3ef4abc..5cde330ee 100644
--- a/src/common/mutex.h
+++ b/src/common/mutex.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
- * Copyright (C) rAthena Project (www.rathena.org)
+ * Copyright (C) 2012-2020 Hercules Dev Team
+ * Copyright (C) rAthena Project (www.rathena.org)
*
* 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/common/nullpo.c b/src/common/nullpo.c
index e19f7f846..11741745c 100644
--- a/src/common/nullpo.c
+++ b/src/common/nullpo.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -23,18 +23,106 @@
#include "nullpo.h"
#include "common/showmsg.h"
+#include "common/strlib.h"
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
-#ifdef HAVE_EXECINFO
+#if defined(HAVE_LIBBACKTRACE)
+#include "libbacktrace/backtrace.h"
+#include "libbacktrace/backtrace-supported.h"
+# if defined(WIN32)
+# include <windows.h>
+# elif defined(__sun)
+# include <limits.h>
+# elif defined(__linux) || defined(__linux__)
+# include <unistd.h>
+# include <limits.h>
+# elif defined(__APPLE__) && defined(__MACH__)
+# include <mach-o/dyld.h>
+# elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__)
+# include <sys/types.h>
+# include <sys/sysctl.h>
+# endif
+#elif defined(HAVE_EXECINFO)
#include <execinfo.h>
-#endif // HAVE_EXECINFO
+#endif // HAVE_LIBBACKTRACE
+
static struct nullpo_interface nullpo_s;
struct nullpo_interface *nullpo;
+#ifdef HAVE_LIBBACKTRACE
+static char executable_path[PATH_MAX];
+
+static void nullpo_error_callback(void *data, const char *msg, int errnum)
+{
+ ShowError("Error: %s (%d)", msg, errnum);
+}
+
+static int nullpo_print_callback(void *data, uintptr_t pc, const char *filename, int lineno, const char *function)
+{
+ ShowError("0x%lx %s\n",
+ (unsigned long) pc,
+ function == NULL ? "???" : function);
+ ShowError("\t%s:%d\n",
+ filename == NULL ? "???" : filename,
+ lineno);
+ return 0;
+}
+
+static void nullpo_backtrace_print(struct backtrace_state *state)
+{
+ backtrace_full(state, 0, nullpo_print_callback, nullpo_error_callback, state);
+}
+
+static bool nullpo_backtrace_get_executable_path(char *buf, size_t length)
+{
+#if defined(WIN32)
+ char *exe_path = NULL;
+ if (_get_pgmptr(&exe_path) != 0)
+ return false;
+ safestrncpy(buf, exe_path, length);
+ return true;
+#elif defined(__sun)
+ if (length < MAX_PATH)
+ return false;
+ if (realpath(getexecname(), buf) == NULL)
+ return false;
+ buf[length - 1] = '\0';
+ return true;
+#elif defined(__linux) || defined(__linux__)
+ ssize_t len = readlink("/proc/self/exe", buf, length);
+ if (len <= 0 || len == length)
+ return false;
+ buf[len] = '\0';
+ return true;
+#elif defined(__APPLE__) && defined(__MACH__)
+ uint32_t len = (uint32_t)length;
+ if (_NSGetExecutablePath(buf, &len) != 0)
+ return false; // buffer too small (!)
+ // resolve symlinks, ., .. if possible
+ char *canonical_path = realpath(buf, NULL);
+ if (canonical_path != NULL) {
+ safestrncpy(buf, canonical_path, length);
+ free(canonical_path);
+ }
+ return true;
+#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__)
+ int mib[4];
+ mib[0] = CTL_KERN;
+ mib[1] = KERN_PROC;
+ mib[2] = KERN_PROC_PATHNAME;
+ mib[3] = -1;
+ if (sysctl(mib, 4, buf, &length, NULL, 0) != 0)
+ return false;
+ return true;
+#endif
+ return false;
+}
+#endif // HAVE_LIBBACKTRACE
+
/**
* Reports failed assertions or NULL pointers
*
@@ -46,12 +134,6 @@ struct nullpo_interface *nullpo;
*/
static void assert_report(const char *file, int line, const char *func, const char *targetname, const char *title)
{
-#ifdef HAVE_EXECINFO
- void *array[10];
- int size;
- char **strings;
- int i;
-#endif // HAVE_EXECINFO
if (file == NULL)
file = "??";
@@ -60,21 +142,46 @@ static void assert_report(const char *file, int line, const char *func, const ch
ShowError("--- %s --------------------------------------------\n", title);
ShowError("%s:%d: '%s' in function `%s'\n", file, line, targetname, func);
-#ifdef HAVE_EXECINFO
- size = (int)backtrace(array, 10);
- strings = backtrace_symbols(array, size);
- for (i = 0; i < size; i++)
+#ifdef HAVE_LIBBACKTRACE
+ if (nullpo->backtrace_state != NULL)
+ nullpo_backtrace_print(nullpo->backtrace_state);
+#elif defined(HAVE_EXECINFO)
+ void *array[10];
+ int size = (int)backtrace(array, 10);
+ char **strings = backtrace_symbols(array, size);
+ for (int i = 0; i < size; i++)
ShowError("%s\n", strings[i]);
free(strings);
-#endif // HAVE_EXECINFO
+#endif // HAVE_LIBBACKTRACE
ShowError("--- end %s ----------------------------------------\n", title);
}
+static void nullpo_init(void)
+{
+#ifdef HAVE_LIBBACKTRACE
+ if (!nullpo_backtrace_get_executable_path(executable_path, sizeof executable_path)) {
+ safestrncpy(executable_path, "hercules", sizeof executable_path);
+ }
+ nullpo->backtrace_state = backtrace_create_state(executable_path, BACKTRACE_SUPPORTS_THREADS, nullpo_error_callback, NULL);
+#endif
+}
+
+static void nullpo_final(void)
+{
+ // FIXME: libbacktrace doesn't provide a backtrace_free_state, and it's unsafe to pass the state to
+ // backtrace_free (the function itself uses the state internally). For the time being, we'll leave the state
+ // allocated until program termination as shown in their examples.
+}
+
/**
*
**/
void nullpo_defaults(void)
{
nullpo = &nullpo_s;
+ nullpo->init = nullpo_init;
+ nullpo->final = nullpo_final;
nullpo->assert_report = assert_report;
+
+ nullpo->backtrace_state = NULL;
}
diff --git a/src/common/nullpo.h b/src/common/nullpo.h
index 398531f13..3eb002834 100644
--- a/src/common/nullpo.h
+++ b/src/common/nullpo.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -28,6 +28,8 @@
// if need disable asserts checks this line can be commented
#define ASSERT_CHECK
+struct backtrace_state;
+
/** Assert */
#if defined(ASSERT_CHECK)
@@ -148,7 +150,12 @@
struct nullpo_interface {
+ void (*init) (void);
+ void (*final) (void);
+
void (*assert_report) (const char *file, int line, const char *func, const char *targetname, const char *title);
+
+ struct backtrace_state *backtrace_state;
};
#ifdef HERCULES_CORE
diff --git a/src/common/packets.c b/src/common/packets.c
index 429418e0a..12d6850d1 100644
--- a/src/common/packets.c
+++ b/src/common/packets.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
+ * Copyright (C) 2012-2020 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/src/common/packets.h b/src/common/packets.h
index 83c92c7fa..32f0fef9c 100644
--- a/src/common/packets.h
+++ b/src/common/packets.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-2020 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/src/common/packets/packets2003_len_main.h b/src/common/packets/packets2003_len_main.h
index a4ff38e18..3f5abc7ac 100644
--- a/src/common/packets/packets2003_len_main.h
+++ b/src/common/packets/packets2003_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,1233 +25,1233 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 19) // CZ_ENTER
+packetLen(0x0072, 19)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 6) // CZ_REQUEST_TIME
+packetLen(0x007e, 6)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+packetLen(0x0085, 5)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
-packetLen(0x008c, -1) // CZ_REQUEST_CHAT
+packetLen(0x008c, -1)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 6) // CZ_REQNAME
+packetLen(0x0094, 6)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 5)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+packetLen(0x009f, 6)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 6) // CZ_ITEM_THROW
+packetLen(0x00a2, 6)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
-packetLen(0x00a7, 8) // CZ_USE_ITEM
+packetLen(0x00a7, 8)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+packetLen(0x00f3, 8)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 2) // CZ_CLOSE_STORE
+packetLen(0x00f7, 2)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
#if PACKETVER >= 20031117
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#elif PACKETVER >= 20031110
-packetLen(0x00f9, 28) // CZ_MAKE_GROUP
+packetLen(0x00f9, 28)
#elif PACKETVER >= 20031028
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#endif
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
#if PACKETVER >= 20031117
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#elif PACKETVER >= 20031110
-packetLen(0x0104, 81) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 81)
#elif PACKETVER >= 20031028
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#endif
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 10) // CZ_USE_SKILL
+packetLen(0x0113, 10)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 90)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+packetLen(0x0193, 6)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+packetLen(0x019c, 4)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 8)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
#if PACKETVER >= 20031110
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
#elif PACKETVER >= 20031028
-packetLen(0x01e6, 28) // ZC_COUPLENAME
+packetLen(0x01e6, 28)
#endif
// Packet: 0x01e7
#if PACKETVER >= 20031110
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#elif PACKETVER >= 20031028
-packetLen(0x01e7, 81) // CZ_DORIDORI
+packetLen(0x01e7, 81)
#endif
// Packet: 0x01e8
#if PACKETVER >= 20031117
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#elif PACKETVER >= 20031110
// removed
#elif PACKETVER >= 20031028
-packetLen(0x01e8, 26) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 26)
#endif
// Packet: 0x01e9
#if PACKETVER >= 20031117
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
#elif PACKETVER >= 20031110
// removed
#elif PACKETVER >= 20031103
-packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 2)
#endif
// Packet: 0x01ea
#if PACKETVER >= 20031117
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#endif
// Packet: 0x01eb
#if PACKETVER >= 20031124
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
#endif
// Packet: 0x01ec
#if PACKETVER >= 20031124
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
#endif
// Packet: 0x01ed
#if PACKETVER >= 20031124
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#endif
// Packet: 0x01ee
#if PACKETVER >= 20031208
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#endif
// Packet: 0x01ef
#if PACKETVER >= 20031218
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#endif
// Packet: 0x01f0
#if PACKETVER >= 20031218
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#endif
// Packet: 0x01f1
#if PACKETVER >= 20031223
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
#endif
diff --git a/src/common/packets/packets2003_len_sak.h b/src/common/packets/packets2003_len_sak.h
index 9f393b8cf..2dd50fdfd 100644
--- a/src/common/packets/packets2003_len_sak.h
+++ b/src/common/packets/packets2003_len_sak.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,1233 +25,1233 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 19) // CZ_ENTER
+packetLen(0x0072, 19)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 6) // CZ_REQUEST_TIME
+packetLen(0x007e, 6)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+packetLen(0x0085, 5)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
-packetLen(0x008c, -1) // CZ_REQUEST_CHAT
+packetLen(0x008c, -1)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 6) // CZ_REQNAME
+packetLen(0x0094, 6)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 5)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+packetLen(0x009f, 6)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 6) // CZ_ITEM_THROW
+packetLen(0x00a2, 6)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
-packetLen(0x00a7, 8) // CZ_USE_ITEM
+packetLen(0x00a7, 8)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+packetLen(0x00f3, 8)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 2) // CZ_CLOSE_STORE
+packetLen(0x00f7, 2)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
#if PACKETVER >= 20031117
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#elif PACKETVER >= 20031110
-packetLen(0x00f9, 28) // CZ_MAKE_GROUP
+packetLen(0x00f9, 28)
#elif PACKETVER >= 20031029
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#endif
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
#if PACKETVER >= 20031117
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#elif PACKETVER >= 20031110
-packetLen(0x0104, 81) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 81)
#elif PACKETVER >= 20031029
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#endif
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 10) // CZ_USE_SKILL
+packetLen(0x0113, 10)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 90)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+packetLen(0x0193, 6)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+packetLen(0x019c, 4)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 8)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
#if PACKETVER >= 20031110
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
#elif PACKETVER >= 20031029
-packetLen(0x01e6, 28) // ZC_COUPLENAME
+packetLen(0x01e6, 28)
#endif
// Packet: 0x01e7
#if PACKETVER >= 20031110
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#elif PACKETVER >= 20031029
-packetLen(0x01e7, 81) // CZ_DORIDORI
+packetLen(0x01e7, 81)
#endif
// Packet: 0x01e8
#if PACKETVER >= 20031117
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#elif PACKETVER >= 20031110
// removed
#elif PACKETVER >= 20031029
-packetLen(0x01e8, 26) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 26)
#endif
// Packet: 0x01e9
#if PACKETVER >= 20031117
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
#elif PACKETVER >= 20031110
// removed
#elif PACKETVER >= 20031103
-packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 2)
#endif
// Packet: 0x01ea
#if PACKETVER >= 20031117
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#endif
// Packet: 0x01eb
#if PACKETVER >= 20031124
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
#endif
// Packet: 0x01ec
#if PACKETVER >= 20031124
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
#endif
// Packet: 0x01ed
#if PACKETVER >= 20031124
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#endif
// Packet: 0x01ee
#if PACKETVER >= 20031208
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#endif
// Packet: 0x01ef
#if PACKETVER >= 20031218
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#endif
// Packet: 0x01f0
#if PACKETVER >= 20031218
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#endif
// Packet: 0x01f1
#if PACKETVER >= 20031223
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
#endif
diff --git a/src/common/packets/packets2004_len_ad.h b/src/common/packets/packets2004_len_ad.h
index 18ab6d9ee..e09f92122 100644
--- a/src/common/packets/packets2004_len_ad.h
+++ b/src/common/packets/packets2004_len_ad.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,178 +25,178 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20041129
-packetLen(0x0072, 26) // CZ_ENTER
+packetLen(0x0072, 26)
#elif PACKETVER >= 20041025
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#elif PACKETVER >= 20041005
-packetLen(0x0072, 15) // CZ_ENTER
+packetLen(0x0072, 15)
#elif PACKETVER >= 20040920
-packetLen(0x0072, 13) // CZ_ENTER
+packetLen(0x0072, 13)
#elif PACKETVER >= 20040906
-packetLen(0x0072, 17) // CZ_ENTER
+packetLen(0x0072, 17)
#elif PACKETVER >= 20040809
-packetLen(0x0072, 10) // CZ_ENTER
+packetLen(0x0072, 10)
#elif PACKETVER >= 20040804
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20041129
-packetLen(0x007e, 34) // CZ_REQUEST_TIME
+packetLen(0x007e, 34)
#elif PACKETVER >= 20041005
-packetLen(0x007e, 14) // CZ_REQUEST_TIME
+packetLen(0x007e, 14)
#elif PACKETVER >= 20040920
-packetLen(0x007e, 13) // CZ_REQUEST_TIME
+packetLen(0x007e, 13)
#elif PACKETVER >= 20040906
-packetLen(0x007e, 15) // CZ_REQUEST_TIME
+packetLen(0x007e, 15)
#elif PACKETVER >= 20040809
-packetLen(0x007e, 26) // CZ_REQUEST_TIME
+packetLen(0x007e, 26)
#elif PACKETVER >= 20040804
-packetLen(0x007e, 33) // CZ_REQUEST_TIME
+packetLen(0x007e, 33)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20041129
-packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+packetLen(0x0085, -1)
#elif PACKETVER >= 20041025
-packetLen(0x0085, 19) // CZ_REQUEST_MOVE
+packetLen(0x0085, 19)
#elif PACKETVER >= 20041005
-packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+packetLen(0x0085, 18)
#elif PACKETVER >= 20040920
-packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+packetLen(0x0085, 15)
#elif PACKETVER >= 20040906
-packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+packetLen(0x0085, 17)
#elif PACKETVER >= 20040809
-packetLen(0x0085, 25) // CZ_REQUEST_MOVE
+packetLen(0x0085, 25)
#elif PACKETVER >= 20040804
-packetLen(0x0085, 20) // CZ_REQUEST_MOVE
+packetLen(0x0085, 20)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20041129
-packetLen(0x0089, 9) // CZ_REQUEST_ACT
+packetLen(0x0089, 9)
#elif PACKETVER >= 20041025
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
#elif PACKETVER >= 20041005
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20040920
-packetLen(0x0089, 6) // CZ_REQUEST_ACT
+packetLen(0x0089, 6)
#elif PACKETVER >= 20040906
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20040809
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20040804
-packetLen(0x0089, 15) // CZ_REQUEST_ACT
+packetLen(0x0089, 15)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20041129
@@ -216,127 +216,127 @@ packetLen(0x008c, 23)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20041129
-packetLen(0x0094, 20) // CZ_REQNAME
+packetLen(0x0094, 20)
#elif PACKETVER >= 20041025
-packetLen(0x0094, 10) // CZ_REQNAME
+packetLen(0x0094, 10)
#elif PACKETVER >= 20040920
-packetLen(0x0094, 12) // CZ_REQNAME
+packetLen(0x0094, 12)
#elif PACKETVER >= 20040906
-packetLen(0x0094, 10) // CZ_REQNAME
+packetLen(0x0094, 10)
#elif PACKETVER >= 20040809
-packetLen(0x0094, 8) // CZ_REQNAME
+packetLen(0x0094, 8)
#elif PACKETVER >= 20040804
-packetLen(0x0094, 10) // CZ_REQNAME
+packetLen(0x0094, 10)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20041129
-packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 2)
#elif PACKETVER >= 20041025
-packetLen(0x009b, 11) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 11)
#elif PACKETVER >= 20041005
-packetLen(0x009b, 13) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 13)
#elif PACKETVER >= 20040920
-packetLen(0x009b, 10) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 10)
#elif PACKETVER >= 20040906
-packetLen(0x009b, 16) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 16)
#elif PACKETVER >= 20040809
-packetLen(0x009b, 8) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 8)
#elif PACKETVER >= 20040804
-packetLen(0x009b, 6) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 6)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20041129
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
#elif PACKETVER >= 20040906
-packetLen(0x009f, -1) // CZ_ITEM_PICKUP
+packetLen(0x009f, -1)
#elif PACKETVER >= 20040809
-packetLen(0x009f, 11) // CZ_ITEM_PICKUP
+packetLen(0x009f, 11)
#elif PACKETVER >= 20040804
-packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+packetLen(0x009f, 13)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20041129
-packetLen(0x00a2, 9) // CZ_ITEM_THROW
+packetLen(0x00a2, 9)
#elif PACKETVER >= 20041025
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
#elif PACKETVER >= 20041005
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
#elif PACKETVER >= 20040920
-packetLen(0x00a2, 16) // CZ_ITEM_THROW
+packetLen(0x00a2, 16)
#elif PACKETVER >= 20040906
-packetLen(0x00a2, 7) // CZ_ITEM_THROW
+packetLen(0x00a2, 7)
#elif PACKETVER >= 20040809
-packetLen(0x00a2, 102) // CZ_ITEM_THROW
+packetLen(0x00a2, 102)
#elif PACKETVER >= 20040804
-packetLen(0x00a2, 103) // CZ_ITEM_THROW
+packetLen(0x00a2, 103)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20041129
@@ -356,1264 +356,1264 @@ packetLen(0x00a7, 12)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
#if PACKETVER >= 20041129
-packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 23)
#elif PACKETVER >= 20041025
-packetLen(0x00f3, 11) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 11)
#elif PACKETVER >= 20041005
-packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 8)
#elif PACKETVER >= 20040920
-packetLen(0x00f3, 15) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 15)
#elif PACKETVER >= 20040906
-packetLen(0x00f3, 12) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 12)
#elif PACKETVER >= 20040804
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
#endif
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20041129
-packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 32)
#elif PACKETVER >= 20041025
-packetLen(0x00f5, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 26)
#elif PACKETVER >= 20040920
-packetLen(0x00f5, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 29)
#elif PACKETVER >= 20040906
-packetLen(0x00f5, 43) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 43)
#elif PACKETVER >= 20040809
-packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 14)
#elif PACKETVER >= 20040804
-packetLen(0x00f5, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 17)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20041129
-packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+packetLen(0x00f7, 11)
#elif PACKETVER >= 20040906
-packetLen(0x00f7, 2) // CZ_REQUEST_TIME
+packetLen(0x00f7, 2)
#elif PACKETVER >= 20040809
-packetLen(0x00f7, 8) // CZ_REQUEST_TIME
+packetLen(0x00f7, 8)
#elif PACKETVER >= 20040804
-packetLen(0x00f7, 10) // CZ_REQUEST_TIME
+packetLen(0x00f7, 10)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20041129
-packetLen(0x0113, 114) // CZ_USE_SKILL
+packetLen(0x0113, 114)
#elif PACKETVER >= 20041025
-packetLen(0x0113, 8) // CZ_USE_SKILL
+packetLen(0x0113, 8)
#elif PACKETVER >= 20041005
-packetLen(0x0113, 7) // CZ_USE_SKILL
+packetLen(0x0113, 7)
#elif PACKETVER >= 20040920
-packetLen(0x0113, 9) // CZ_USE_SKILL
+packetLen(0x0113, 9)
#elif PACKETVER >= 20040906
-packetLen(0x0113, 10) // CZ_USE_SKILL
+packetLen(0x0113, 10)
#elif PACKETVER >= 20040809
-packetLen(0x0113, 14) // CZ_USE_SKILL
+packetLen(0x0113, 14)
#elif PACKETVER >= 20040804
-packetLen(0x0113, 16) // CZ_USE_SKILL
+packetLen(0x0113, 16)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20041129
-packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 20)
#elif PACKETVER >= 20041025
-packetLen(0x0116, 8) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 8)
#elif PACKETVER >= 20041005
-packetLen(0x0116, 7) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 7)
#elif PACKETVER >= 20040920
-packetLen(0x0116, 9) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 9)
#elif PACKETVER >= 20040906
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#elif PACKETVER >= 20040804
-packetLen(0x0116, 2) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 2)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20041129
-packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 17)
#elif PACKETVER >= 20041025
-packetLen(0x0190, 25) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 25)
#elif PACKETVER >= 20041005
-packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 22)
#elif PACKETVER >= 20040920
-packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 26)
#elif PACKETVER >= 20040906
-packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 24)
#elif PACKETVER >= 20040809
-packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 22)
#elif PACKETVER >= 20040804
-packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 26)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
#if PACKETVER >= 20041129
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#elif PACKETVER >= 20041025
-packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+packetLen(0x0193, 22)
#elif PACKETVER >= 20041005
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#elif PACKETVER >= 20040920
-packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+packetLen(0x0193, 22)
#elif PACKETVER >= 20040906
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#elif PACKETVER >= 20040809
-packetLen(0x0193, 19) // CZ_REQNAME_BYGID
+packetLen(0x0193, 19)
#elif PACKETVER >= 20040804
-packetLen(0x0193, 9) // CZ_REQNAME_BYGID
+packetLen(0x0193, 9)
#endif
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
#if PACKETVER >= 20041213
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20040804
-packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+packetLen(0x019c, 4)
#endif
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
#if PACKETVER >= 20041213
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
#endif
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
#if PACKETVER >= 20041213
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20040804
-packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 8)
#endif
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 24) // ZC_STARSKILL
+packetLen(0x020e, 24)
// Packet: 0x020f
#if PACKETVER >= 20040817
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
#endif
// Packet: 0x0210
#if PACKETVER >= 20040817
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
#endif
// Packet: 0x0212
#if PACKETVER >= 20040816
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
#endif
// Packet: 0x0213
#if PACKETVER >= 20040816
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
#endif
// Packet: 0x0214
#if PACKETVER >= 20040816
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
#endif
// Packet: 0x0215
#if PACKETVER >= 20041101
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
#endif
// Packet: 0x0216
#if PACKETVER >= 20041108
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
#endif
// Packet: 0x0217
#if PACKETVER >= 20041108
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#endif
// Packet: 0x0218
#if PACKETVER >= 20041108
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#endif
// Packet: 0x0219
#if PACKETVER >= 20041108
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#endif
// Packet: 0x021a
#if PACKETVER >= 20041108
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
#endif
// Packet: 0x021b
#if PACKETVER >= 20041108
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#endif
// Packet: 0x021c
#if PACKETVER >= 20041108
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#endif
// Packet: 0x021d
#if PACKETVER >= 20041115
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
#endif
// Packet: 0x021e
#if PACKETVER >= 20041213
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
#endif
// Packet: 0x021f
#if PACKETVER >= 20041213
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
#endif
// Packet: 0x0220
#if PACKETVER >= 20041213
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
#endif
// Packet: 0x0221
#if PACKETVER >= 20041129
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
#endif
// Packet: 0x0222
#if PACKETVER >= 20041129
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
#endif
// Packet: 0x0223
#if PACKETVER >= 20041129
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
#endif
diff --git a/src/common/packets/packets2004_len_main.h b/src/common/packets/packets2004_len_main.h
index 3963dd0a2..1ec936773 100644
--- a/src/common/packets/packets2004_len_main.h
+++ b/src/common/packets/packets2004_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,210 +25,210 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20041220
-packetLen(0x0072, 26) // CZ_ENTER
+packetLen(0x0072, 26)
#elif PACKETVER >= 20041216
-packetLen(0x0072, 19) // CZ_ENTER
+packetLen(0x0072, 19)
#elif PACKETVER >= 20041129
-packetLen(0x0072, 26) // CZ_ENTER
+packetLen(0x0072, 26)
#elif PACKETVER >= 20041025
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#elif PACKETVER >= 20041005
-packetLen(0x0072, 15) // CZ_ENTER
+packetLen(0x0072, 15)
#elif PACKETVER >= 20040920
-packetLen(0x0072, 13) // CZ_ENTER
+packetLen(0x0072, 13)
#elif PACKETVER >= 20040906
-packetLen(0x0072, 17) // CZ_ENTER
+packetLen(0x0072, 17)
#elif PACKETVER >= 20040809
-packetLen(0x0072, 10) // CZ_ENTER
+packetLen(0x0072, 10)
#elif PACKETVER >= 20040726
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#elif PACKETVER >= 20040712
-packetLen(0x0072, 39) // CZ_ENTER
+packetLen(0x0072, 39)
#elif PACKETVER >= 20040705
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#elif PACKETVER >= 20040107
-packetLen(0x0072, 19) // CZ_ENTER
+packetLen(0x0072, 19)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20041220
-packetLen(0x007e, 34) // CZ_REQUEST_TIME
+packetLen(0x007e, 34)
#elif PACKETVER >= 20041216
-packetLen(0x007e, 6) // CZ_REQUEST_TIME
+packetLen(0x007e, 6)
#elif PACKETVER >= 20041129
-packetLen(0x007e, 34) // CZ_REQUEST_TIME
+packetLen(0x007e, 34)
#elif PACKETVER >= 20041005
-packetLen(0x007e, 14) // CZ_REQUEST_TIME
+packetLen(0x007e, 14)
#elif PACKETVER >= 20040920
-packetLen(0x007e, 13) // CZ_REQUEST_TIME
+packetLen(0x007e, 13)
#elif PACKETVER >= 20040906
-packetLen(0x007e, 15) // CZ_REQUEST_TIME
+packetLen(0x007e, 15)
#elif PACKETVER >= 20040809
-packetLen(0x007e, 26) // CZ_REQUEST_TIME
+packetLen(0x007e, 26)
#elif PACKETVER >= 20040726
-packetLen(0x007e, 33) // CZ_REQUEST_TIME
+packetLen(0x007e, 33)
#elif PACKETVER >= 20040107
-packetLen(0x007e, 6) // CZ_REQUEST_TIME
+packetLen(0x007e, 6)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20041220
-packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+packetLen(0x0085, -1)
#elif PACKETVER >= 20041216
-packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+packetLen(0x0085, 5)
#elif PACKETVER >= 20041129
-packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+packetLen(0x0085, -1)
#elif PACKETVER >= 20041025
-packetLen(0x0085, 19) // CZ_REQUEST_MOVE
+packetLen(0x0085, 19)
#elif PACKETVER >= 20041005
-packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+packetLen(0x0085, 18)
#elif PACKETVER >= 20040920
-packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+packetLen(0x0085, 15)
#elif PACKETVER >= 20040906
-packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+packetLen(0x0085, 17)
#elif PACKETVER >= 20040809
-packetLen(0x0085, 25) // CZ_REQUEST_MOVE
+packetLen(0x0085, 25)
#elif PACKETVER >= 20040726
-packetLen(0x0085, 20) // CZ_REQUEST_MOVE
+packetLen(0x0085, 20)
#elif PACKETVER >= 20040712
-packetLen(0x0085, 9) // CZ_REQUEST_MOVE
+packetLen(0x0085, 9)
#elif PACKETVER >= 20040705
-packetLen(0x0085, 8) // CZ_REQUEST_MOVE
+packetLen(0x0085, 8)
#elif PACKETVER >= 20040107
-packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+packetLen(0x0085, 5)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20041220
-packetLen(0x0089, 9) // CZ_REQUEST_ACT
+packetLen(0x0089, 9)
#elif PACKETVER >= 20041216
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20041129
-packetLen(0x0089, 9) // CZ_REQUEST_ACT
+packetLen(0x0089, 9)
#elif PACKETVER >= 20041025
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
#elif PACKETVER >= 20041005
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20040920
-packetLen(0x0089, 6) // CZ_REQUEST_ACT
+packetLen(0x0089, 6)
#elif PACKETVER >= 20040906
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20040809
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20040726
-packetLen(0x0089, 15) // CZ_REQUEST_ACT
+packetLen(0x0089, 15)
#elif PACKETVER >= 20040107
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20041220
@@ -250,159 +250,159 @@ packetLen(0x008c, 22)
#elif PACKETVER >= 20040726
packetLen(0x008c, 23)
#elif PACKETVER >= 20040107
-packetLen(0x008c, -1) // CZ_REQUEST_CHAT
+packetLen(0x008c, -1)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20041220
-packetLen(0x0094, 20) // CZ_REQNAME
+packetLen(0x0094, 20)
#elif PACKETVER >= 20041216
-packetLen(0x0094, 6) // CZ_REQNAME
+packetLen(0x0094, 6)
#elif PACKETVER >= 20041129
-packetLen(0x0094, 20) // CZ_REQNAME
+packetLen(0x0094, 20)
#elif PACKETVER >= 20041025
-packetLen(0x0094, 10) // CZ_REQNAME
+packetLen(0x0094, 10)
#elif PACKETVER >= 20040920
-packetLen(0x0094, 12) // CZ_REQNAME
+packetLen(0x0094, 12)
#elif PACKETVER >= 20040906
-packetLen(0x0094, 10) // CZ_REQNAME
+packetLen(0x0094, 10)
#elif PACKETVER >= 20040809
-packetLen(0x0094, 8) // CZ_REQNAME
+packetLen(0x0094, 8)
#elif PACKETVER >= 20040726
-packetLen(0x0094, 10) // CZ_REQNAME
+packetLen(0x0094, 10)
#elif PACKETVER >= 20040107
-packetLen(0x0094, 6) // CZ_REQNAME
+packetLen(0x0094, 6)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20041220
-packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 2)
#elif PACKETVER >= 20041216
-packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 5)
#elif PACKETVER >= 20041129
-packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 2)
#elif PACKETVER >= 20041025
-packetLen(0x009b, 11) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 11)
#elif PACKETVER >= 20041005
-packetLen(0x009b, 13) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 13)
#elif PACKETVER >= 20040920
-packetLen(0x009b, 10) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 10)
#elif PACKETVER >= 20040906
-packetLen(0x009b, 16) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 16)
#elif PACKETVER >= 20040809
-packetLen(0x009b, 8) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 8)
#elif PACKETVER >= 20040726
-packetLen(0x009b, 6) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 6)
#elif PACKETVER >= 20040712
-packetLen(0x009b, 13) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 13)
#elif PACKETVER >= 20040107
-packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 5)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20041220
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
#elif PACKETVER >= 20041216
-packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+packetLen(0x009f, 6)
#elif PACKETVER >= 20041129
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
#elif PACKETVER >= 20040906
-packetLen(0x009f, -1) // CZ_ITEM_PICKUP
+packetLen(0x009f, -1)
#elif PACKETVER >= 20040809
-packetLen(0x009f, 11) // CZ_ITEM_PICKUP
+packetLen(0x009f, 11)
#elif PACKETVER >= 20040726
-packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+packetLen(0x009f, 13)
#elif PACKETVER >= 20040712
-packetLen(0x009f, 10) // CZ_ITEM_PICKUP
+packetLen(0x009f, 10)
#elif PACKETVER >= 20040107
-packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+packetLen(0x009f, 6)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20041220
-packetLen(0x00a2, 9) // CZ_ITEM_THROW
+packetLen(0x00a2, 9)
#elif PACKETVER >= 20041216
-packetLen(0x00a2, 6) // CZ_ITEM_THROW
+packetLen(0x00a2, 6)
#elif PACKETVER >= 20041129
-packetLen(0x00a2, 9) // CZ_ITEM_THROW
+packetLen(0x00a2, 9)
#elif PACKETVER >= 20041025
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
#elif PACKETVER >= 20041005
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
#elif PACKETVER >= 20040920
-packetLen(0x00a2, 16) // CZ_ITEM_THROW
+packetLen(0x00a2, 16)
#elif PACKETVER >= 20040906
-packetLen(0x00a2, 7) // CZ_ITEM_THROW
+packetLen(0x00a2, 7)
#elif PACKETVER >= 20040809
-packetLen(0x00a2, 102) // CZ_ITEM_THROW
+packetLen(0x00a2, 102)
#elif PACKETVER >= 20040726
-packetLen(0x00a2, 103) // CZ_ITEM_THROW
+packetLen(0x00a2, 103)
#elif PACKETVER >= 20040107
-packetLen(0x00a2, 6) // CZ_ITEM_THROW
+packetLen(0x00a2, 6)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20041220
@@ -428,1382 +428,1382 @@ packetLen(0x00a7, 17)
#elif PACKETVER >= 20040705
packetLen(0x00a7, 13)
#elif PACKETVER >= 20040107
-packetLen(0x00a7, 8) // CZ_USE_ITEM
+packetLen(0x00a7, 8)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
#if PACKETVER >= 20041220
-packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 23)
#elif PACKETVER >= 20041216
-packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 8)
#elif PACKETVER >= 20041129
-packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 23)
#elif PACKETVER >= 20041025
-packetLen(0x00f3, 11) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 11)
#elif PACKETVER >= 20041005
-packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 8)
#elif PACKETVER >= 20040920
-packetLen(0x00f3, 15) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 15)
#elif PACKETVER >= 20040906
-packetLen(0x00f3, 12) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 12)
#elif PACKETVER >= 20040726
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
#elif PACKETVER >= 20040107
-packetLen(0x00f3, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+packetLen(0x00f3, 8)
#endif
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20041220
-packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 32)
#elif PACKETVER >= 20041216
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#elif PACKETVER >= 20041129
-packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 32)
#elif PACKETVER >= 20041025
-packetLen(0x00f5, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 26)
#elif PACKETVER >= 20040920
-packetLen(0x00f5, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 29)
#elif PACKETVER >= 20040906
-packetLen(0x00f5, 43) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 43)
#elif PACKETVER >= 20040809
-packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 14)
#elif PACKETVER >= 20040726
-packetLen(0x00f5, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 17)
#elif PACKETVER >= 20040107
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20041220
-packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+packetLen(0x00f7, 11)
#elif PACKETVER >= 20041216
-packetLen(0x00f7, 2) // CZ_REQUEST_TIME
+packetLen(0x00f7, 2)
#elif PACKETVER >= 20041129
-packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+packetLen(0x00f7, 11)
#elif PACKETVER >= 20040906
-packetLen(0x00f7, 2) // CZ_REQUEST_TIME
+packetLen(0x00f7, 2)
#elif PACKETVER >= 20040809
-packetLen(0x00f7, 8) // CZ_REQUEST_TIME
+packetLen(0x00f7, 8)
#elif PACKETVER >= 20040726
-packetLen(0x00f7, 10) // CZ_REQUEST_TIME
+packetLen(0x00f7, 10)
#elif PACKETVER >= 20040107
-packetLen(0x00f7, 2) // CZ_CLOSE_STORE
+packetLen(0x00f7, 2)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20041220
-packetLen(0x0113, 114) // CZ_USE_SKILL
+packetLen(0x0113, 114)
#elif PACKETVER >= 20041216
-packetLen(0x0113, 10) // CZ_USE_SKILL
+packetLen(0x0113, 10)
#elif PACKETVER >= 20041129
-packetLen(0x0113, 114) // CZ_USE_SKILL
+packetLen(0x0113, 114)
#elif PACKETVER >= 20041025
-packetLen(0x0113, 8) // CZ_USE_SKILL
+packetLen(0x0113, 8)
#elif PACKETVER >= 20041005
-packetLen(0x0113, 7) // CZ_USE_SKILL
+packetLen(0x0113, 7)
#elif PACKETVER >= 20040920
-packetLen(0x0113, 9) // CZ_USE_SKILL
+packetLen(0x0113, 9)
#elif PACKETVER >= 20040906
-packetLen(0x0113, 10) // CZ_USE_SKILL
+packetLen(0x0113, 10)
#elif PACKETVER >= 20040809
-packetLen(0x0113, 14) // CZ_USE_SKILL
+packetLen(0x0113, 14)
#elif PACKETVER >= 20040726
-packetLen(0x0113, 16) // CZ_USE_SKILL
+packetLen(0x0113, 16)
#elif PACKETVER >= 20040712
-packetLen(0x0113, 19) // CZ_USE_SKILL
+packetLen(0x0113, 19)
#elif PACKETVER >= 20040705
-packetLen(0x0113, 15) // CZ_USE_SKILL
+packetLen(0x0113, 15)
#elif PACKETVER >= 20040107
-packetLen(0x0113, 10) // CZ_USE_SKILL
+packetLen(0x0113, 10)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20041220
-packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 20)
#elif PACKETVER >= 20041216
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#elif PACKETVER >= 20041129
-packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 20)
#elif PACKETVER >= 20041025
-packetLen(0x0116, 8) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 8)
#elif PACKETVER >= 20041005
-packetLen(0x0116, 7) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 7)
#elif PACKETVER >= 20040920
-packetLen(0x0116, 9) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 9)
#elif PACKETVER >= 20040906
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#elif PACKETVER >= 20040726
-packetLen(0x0116, 2) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 2)
#elif PACKETVER >= 20040712
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20040705
-packetLen(0x0116, 15) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 15)
#elif PACKETVER >= 20040107
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20041220
-packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 17)
#elif PACKETVER >= 20041216
-packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 90)
#elif PACKETVER >= 20041129
-packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 17)
#elif PACKETVER >= 20041025
-packetLen(0x0190, 25) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 25)
#elif PACKETVER >= 20041005
-packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 22)
#elif PACKETVER >= 20040920
-packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 26)
#elif PACKETVER >= 20040906
-packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 24)
#elif PACKETVER >= 20040809
-packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 22)
#elif PACKETVER >= 20040726
-packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 26)
#elif PACKETVER >= 20040712
-packetLen(0x0190, 99) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 99)
#elif PACKETVER >= 20040705
-packetLen(0x0190, 95) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 95)
#elif PACKETVER >= 20040107
-packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 90)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
#if PACKETVER >= 20041220
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#elif PACKETVER >= 20041216
-packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+packetLen(0x0193, 6)
#elif PACKETVER >= 20041129
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#elif PACKETVER >= 20041025
-packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+packetLen(0x0193, 22)
#elif PACKETVER >= 20041005
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#elif PACKETVER >= 20040920
-packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+packetLen(0x0193, 22)
#elif PACKETVER >= 20040906
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#elif PACKETVER >= 20040809
-packetLen(0x0193, 19) // CZ_REQNAME_BYGID
+packetLen(0x0193, 19)
#elif PACKETVER >= 20040726
-packetLen(0x0193, 9) // CZ_REQNAME_BYGID
+packetLen(0x0193, 9)
#elif PACKETVER >= 20040107
-packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+packetLen(0x0193, 6)
#endif
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
#if PACKETVER >= 20041213
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20040107
-packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+packetLen(0x019c, 4)
#endif
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
#if PACKETVER >= 20041213
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
#endif
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
#if PACKETVER >= 20041213
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20040107
-packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 8)
#endif
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
#if PACKETVER >= 20040216
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
#endif
// Packet: 0x01f4
#if PACKETVER >= 20040302
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
#endif
// Packet: 0x01f5
#if PACKETVER >= 20040302
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
#endif
// Packet: 0x01f6
#if PACKETVER >= 20040308
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
#endif
// Packet: 0x01f7
#if PACKETVER >= 20040308
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
#endif
// Packet: 0x01f8
#if PACKETVER >= 20040308
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
#endif
// Packet: 0x01f9
#if PACKETVER >= 20040308
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
#endif
// Packet: 0x01fa
#if PACKETVER >= 20040322
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
#endif
// Packet: 0x01fb
#if PACKETVER >= 20040419
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
#endif
// Packet: 0x01fc
#if PACKETVER >= 20040420
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#endif
// Packet: 0x01fd
#if PACKETVER >= 20040423
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
#endif
// Packet: 0x01fe
#if PACKETVER >= 20040426
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
#endif
// Packet: 0x01ff
#if PACKETVER >= 20040422
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
#endif
// Packet: 0x0200
#if PACKETVER >= 20040517
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
#endif
// Packet: 0x0201
#if PACKETVER >= 20040705
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#endif
// Packet: 0x0202
#if PACKETVER >= 20040705
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#endif
// Packet: 0x0203
#if PACKETVER >= 20040705
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#endif
// Packet: 0x0204
#if PACKETVER >= 20040531
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
#endif
// Packet: 0x0205
#if PACKETVER >= 20040628
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
#endif
// Packet: 0x0206
#if PACKETVER >= 20040705
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#endif
// Packet: 0x0207
#if PACKETVER >= 20040705
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
#endif
// Packet: 0x0208
#if PACKETVER >= 20040705
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
#endif
// Packet: 0x0209
#if PACKETVER >= 20040705
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
#endif
// Packet: 0x020a
#if PACKETVER >= 20040705
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#endif
// Packet: 0x020d
#if PACKETVER >= 20040621
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
#endif
// Packet: 0x020e
#if PACKETVER >= 20040705
-packetLen(0x020e, 24) // ZC_STARSKILL
+packetLen(0x020e, 24)
#endif
// Packet: 0x020f
#if PACKETVER >= 20041220
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
#elif PACKETVER >= 20041216
// removed
#elif PACKETVER >= 20040817
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
#endif
// Packet: 0x0210
#if PACKETVER >= 20041220
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
#elif PACKETVER >= 20041216
// removed
#elif PACKETVER >= 20040817
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
#endif
// Packet: 0x0212
#if PACKETVER >= 20040816
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
#endif
// Packet: 0x0213
#if PACKETVER >= 20040816
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
#endif
// Packet: 0x0214
#if PACKETVER >= 20040816
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
#endif
// Packet: 0x0215
#if PACKETVER >= 20041101
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
#endif
// Packet: 0x0216
#if PACKETVER >= 20041108
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
#endif
// Packet: 0x0217
#if PACKETVER >= 20041108
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#endif
// Packet: 0x0218
#if PACKETVER >= 20041108
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#endif
// Packet: 0x0219
#if PACKETVER >= 20041108
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#endif
// Packet: 0x021a
#if PACKETVER >= 20041108
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
#endif
// Packet: 0x021b
#if PACKETVER >= 20041108
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#endif
// Packet: 0x021c
#if PACKETVER >= 20041108
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#endif
// Packet: 0x021d
#if PACKETVER >= 20041115
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
#endif
// Packet: 0x021e
#if PACKETVER >= 20041213
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
#endif
// Packet: 0x021f
#if PACKETVER >= 20041213
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
#endif
// Packet: 0x0220
#if PACKETVER >= 20041213
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
#endif
// Packet: 0x0221
#if PACKETVER >= 20041129
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
#endif
// Packet: 0x0222
#if PACKETVER >= 20041129
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
#endif
// Packet: 0x0223
#if PACKETVER >= 20041129
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
#endif
diff --git a/src/common/packets/packets2004_len_sak.h b/src/common/packets/packets2004_len_sak.h
index 71573c376..ff48440de 100644
--- a/src/common/packets/packets2004_len_sak.h
+++ b/src/common/packets/packets2004_len_sak.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,192 +25,192 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20041129
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#elif PACKETVER >= 20041025
-packetLen(0x0072, 13) // CZ_ENTER
+packetLen(0x0072, 13)
#elif PACKETVER >= 20041005
-packetLen(0x0072, 17) // CZ_ENTER
+packetLen(0x0072, 17)
#elif PACKETVER >= 20040920
-packetLen(0x0072, 18) // CZ_ENTER
+packetLen(0x0072, 18)
#elif PACKETVER >= 20040906
-packetLen(0x0072, 20) // CZ_ENTER
+packetLen(0x0072, 20)
#elif PACKETVER >= 20040809
-packetLen(0x0072, 17) // CZ_ENTER
+packetLen(0x0072, 17)
#elif PACKETVER >= 20040726
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#elif PACKETVER >= 20040713
-packetLen(0x0072, 39) // CZ_ENTER
+packetLen(0x0072, 39)
#elif PACKETVER >= 20040705
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#elif PACKETVER >= 20040107
-packetLen(0x0072, 19) // CZ_ENTER
+packetLen(0x0072, 19)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20041129
-packetLen(0x007e, 30) // CZ_REQUEST_TIME
+packetLen(0x007e, 30)
#elif PACKETVER >= 20041025
-packetLen(0x007e, 13) // CZ_REQUEST_TIME
+packetLen(0x007e, 13)
#elif PACKETVER >= 20041005
-packetLen(0x007e, 16) // CZ_REQUEST_TIME
+packetLen(0x007e, 16)
#elif PACKETVER >= 20040920
-packetLen(0x007e, 25) // CZ_REQUEST_TIME
+packetLen(0x007e, 25)
#elif PACKETVER >= 20040906
-packetLen(0x007e, 19) // CZ_REQUEST_TIME
+packetLen(0x007e, 19)
#elif PACKETVER >= 20040809
-packetLen(0x007e, 37) // CZ_REQUEST_TIME
+packetLen(0x007e, 37)
#elif PACKETVER >= 20040726
-packetLen(0x007e, 33) // CZ_REQUEST_TIME
+packetLen(0x007e, 33)
#elif PACKETVER >= 20040107
-packetLen(0x007e, 6) // CZ_REQUEST_TIME
+packetLen(0x007e, 6)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20041129
-packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+packetLen(0x0085, -1)
#elif PACKETVER >= 20041025
-packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+packetLen(0x0085, 15)
#elif PACKETVER >= 20040920
-packetLen(0x0085, 9) // CZ_REQUEST_MOVE
+packetLen(0x0085, 9)
#elif PACKETVER >= 20040906
-packetLen(0x0085, 23) // CZ_REQUEST_MOVE
+packetLen(0x0085, 23)
#elif PACKETVER >= 20040809
-packetLen(0x0085, 26) // CZ_REQUEST_MOVE
+packetLen(0x0085, 26)
#elif PACKETVER >= 20040726
-packetLen(0x0085, 20) // CZ_REQUEST_MOVE
+packetLen(0x0085, 20)
#elif PACKETVER >= 20040713
-packetLen(0x0085, 9) // CZ_REQUEST_MOVE
+packetLen(0x0085, 9)
#elif PACKETVER >= 20040705
-packetLen(0x0085, 8) // CZ_REQUEST_MOVE
+packetLen(0x0085, 8)
#elif PACKETVER >= 20040107
-packetLen(0x0085, 5) // CZ_REQUEST_MOVE
+packetLen(0x0085, 5)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20041129
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20041005
-packetLen(0x0089, 6) // CZ_REQUEST_ACT
+packetLen(0x0089, 6)
#elif PACKETVER >= 20040920
-packetLen(0x0089, 14) // CZ_REQUEST_ACT
+packetLen(0x0089, 14)
#elif PACKETVER >= 20040906
-packetLen(0x0089, 9) // CZ_REQUEST_ACT
+packetLen(0x0089, 9)
#elif PACKETVER >= 20040809
-packetLen(0x0089, 12) // CZ_REQUEST_ACT
+packetLen(0x0089, 12)
#elif PACKETVER >= 20040726
-packetLen(0x0089, 15) // CZ_REQUEST_ACT
+packetLen(0x0089, 15)
#elif PACKETVER >= 20040107
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20041129
@@ -228,145 +228,145 @@ packetLen(0x008c, 40)
#elif PACKETVER >= 20040726
packetLen(0x008c, 23)
#elif PACKETVER >= 20040107
-packetLen(0x008c, -1) // CZ_REQUEST_CHAT
+packetLen(0x008c, -1)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20041129
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#elif PACKETVER >= 20041025
-packetLen(0x0094, 12) // CZ_REQNAME
+packetLen(0x0094, 12)
#elif PACKETVER >= 20041005
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#elif PACKETVER >= 20040920
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
#elif PACKETVER >= 20040906
-packetLen(0x0094, 17) // CZ_REQNAME
+packetLen(0x0094, 17)
#elif PACKETVER >= 20040809
-packetLen(0x0094, 13) // CZ_REQNAME
+packetLen(0x0094, 13)
#elif PACKETVER >= 20040726
-packetLen(0x0094, 10) // CZ_REQNAME
+packetLen(0x0094, 10)
#elif PACKETVER >= 20040107
-packetLen(0x0094, 6) // CZ_REQNAME
+packetLen(0x0094, 6)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20041129
-packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 2)
#elif PACKETVER >= 20041025
-packetLen(0x009b, 10) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 10)
#elif PACKETVER >= 20041005
-packetLen(0x009b, 15) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 15)
#elif PACKETVER >= 20040920
-packetLen(0x009b, 10) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 10)
#elif PACKETVER >= 20040906
-packetLen(0x009b, 14) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 14)
#elif PACKETVER >= 20040809
-packetLen(0x009b, 15) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 15)
#elif PACKETVER >= 20040726
-packetLen(0x009b, 6) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 6)
#elif PACKETVER >= 20040713
-packetLen(0x009b, 13) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 13)
#elif PACKETVER >= 20040107
-packetLen(0x009b, 5) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 5)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20041129
-packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+packetLen(0x009f, 18)
#elif PACKETVER >= 20040906
-packetLen(0x009f, -1) // CZ_ITEM_PICKUP
+packetLen(0x009f, -1)
#elif PACKETVER >= 20040809
-packetLen(0x009f, 12) // CZ_ITEM_PICKUP
+packetLen(0x009f, 12)
#elif PACKETVER >= 20040726
-packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+packetLen(0x009f, 13)
#elif PACKETVER >= 20040713
-packetLen(0x009f, 10) // CZ_ITEM_PICKUP
+packetLen(0x009f, 10)
#elif PACKETVER >= 20040107
-packetLen(0x009f, 6) // CZ_ITEM_PICKUP
+packetLen(0x009f, 6)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20041129
-packetLen(0x00a2, 7) // CZ_ITEM_THROW
+packetLen(0x00a2, 7)
#elif PACKETVER >= 20041025
-packetLen(0x00a2, 16) // CZ_ITEM_THROW
+packetLen(0x00a2, 16)
#elif PACKETVER >= 20041005
-packetLen(0x00a2, 12) // CZ_ITEM_THROW
+packetLen(0x00a2, 12)
#elif PACKETVER >= 20040920
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20040906
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
#elif PACKETVER >= 20040809
-packetLen(0x00a2, 120) // CZ_ITEM_THROW
+packetLen(0x00a2, 120)
#elif PACKETVER >= 20040726
-packetLen(0x00a2, 103) // CZ_ITEM_THROW
+packetLen(0x00a2, 103)
#elif PACKETVER >= 20040107
-packetLen(0x00a2, 6) // CZ_ITEM_THROW
+packetLen(0x00a2, 6)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20041129
@@ -388,1346 +388,1346 @@ packetLen(0x00a7, 17)
#elif PACKETVER >= 20040705
packetLen(0x00a7, 13)
#elif PACKETVER >= 20040107
-packetLen(0x00a7, 8) // CZ_USE_ITEM
+packetLen(0x00a7, 8)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
#if PACKETVER >= 20041129
-packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 8)
#elif PACKETVER >= 20041025
-packetLen(0x00f3, 15) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 15)
#elif PACKETVER >= 20041005
-packetLen(0x00f3, 13) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 13)
#elif PACKETVER >= 20040920
-packetLen(0x00f3, 18) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 18)
#elif PACKETVER >= 20040906
-packetLen(0x00f3, 10) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 10)
#elif PACKETVER >= 20040726
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
#elif PACKETVER >= 20040107
-packetLen(0x00f3, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE
+packetLen(0x00f3, 8)
#endif
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20041025
-packetLen(0x00f5, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 29)
#elif PACKETVER >= 20041005
-packetLen(0x00f5, 33) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 33)
#elif PACKETVER >= 20040920
-packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 32)
#elif PACKETVER >= 20040906
-packetLen(0x00f5, 34) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 34)
#elif PACKETVER >= 20040809
-packetLen(0x00f5, 24) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 24)
#elif PACKETVER >= 20040726
-packetLen(0x00f5, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 17)
#elif PACKETVER >= 20040107
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20041129
-packetLen(0x00f7, 14) // CZ_REQUEST_TIME
+packetLen(0x00f7, 14)
#elif PACKETVER >= 20040906
-packetLen(0x00f7, 2) // CZ_REQUEST_TIME
+packetLen(0x00f7, 2)
#elif PACKETVER >= 20040809
-packetLen(0x00f7, 13) // CZ_REQUEST_TIME
+packetLen(0x00f7, 13)
#elif PACKETVER >= 20040726
-packetLen(0x00f7, 10) // CZ_REQUEST_TIME
+packetLen(0x00f7, 10)
#elif PACKETVER >= 20040107
-packetLen(0x00f7, 2) // CZ_CLOSE_STORE
+packetLen(0x00f7, 2)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20041129
-packetLen(0x0113, 110) // CZ_USE_SKILL
+packetLen(0x0113, 110)
#elif PACKETVER >= 20041025
-packetLen(0x0113, 9) // CZ_USE_SKILL
+packetLen(0x0113, 9)
#elif PACKETVER >= 20041005
-packetLen(0x0113, 10) // CZ_USE_SKILL
+packetLen(0x0113, 10)
#elif PACKETVER >= 20040920
-packetLen(0x0113, 14) // CZ_USE_SKILL
+packetLen(0x0113, 14)
#elif PACKETVER >= 20040906
-packetLen(0x0113, 11) // CZ_USE_SKILL
+packetLen(0x0113, 11)
#elif PACKETVER >= 20040809
-packetLen(0x0113, 23) // CZ_USE_SKILL
+packetLen(0x0113, 23)
#elif PACKETVER >= 20040726
-packetLen(0x0113, 16) // CZ_USE_SKILL
+packetLen(0x0113, 16)
#elif PACKETVER >= 20040713
-packetLen(0x0113, 19) // CZ_USE_SKILL
+packetLen(0x0113, 19)
#elif PACKETVER >= 20040705
-packetLen(0x0113, 15) // CZ_USE_SKILL
+packetLen(0x0113, 15)
#elif PACKETVER >= 20040107
-packetLen(0x0113, 10) // CZ_USE_SKILL
+packetLen(0x0113, 10)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20041129
-packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 12)
#elif PACKETVER >= 20041025
-packetLen(0x0116, 9) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 9)
#elif PACKETVER >= 20041005
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#elif PACKETVER >= 20040920
-packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 14)
#elif PACKETVER >= 20040906
-packetLen(0x0116, 11) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 11)
#elif PACKETVER >= 20040726
-packetLen(0x0116, 2) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 2)
#elif PACKETVER >= 20040713
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20040705
-packetLen(0x0116, 15) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 15)
#elif PACKETVER >= 20040107
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20041129
-packetLen(0x0190, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 15)
#elif PACKETVER >= 20041025
-packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 26)
#elif PACKETVER >= 20041005
-packetLen(0x0190, 20) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 20)
#elif PACKETVER >= 20040920
-packetLen(0x0190, 14) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 14)
#elif PACKETVER >= 20040906
-packetLen(0x0190, 22) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 22)
#elif PACKETVER >= 20040726
-packetLen(0x0190, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 26)
#elif PACKETVER >= 20040713
-packetLen(0x0190, 99) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 99)
#elif PACKETVER >= 20040705
-packetLen(0x0190, 95) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 95)
#elif PACKETVER >= 20040107
-packetLen(0x0190, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 90)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
#if PACKETVER >= 20041129
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#elif PACKETVER >= 20041025
-packetLen(0x0193, 22) // CZ_REQNAME_BYGID
+packetLen(0x0193, 22)
#elif PACKETVER >= 20041005
-packetLen(0x0193, 26) // CZ_REQNAME_BYGID
+packetLen(0x0193, 26)
#elif PACKETVER >= 20040920
-packetLen(0x0193, 12) // CZ_REQNAME_BYGID
+packetLen(0x0193, 12)
#elif PACKETVER >= 20040906
-packetLen(0x0193, 17) // CZ_REQNAME_BYGID
+packetLen(0x0193, 17)
#elif PACKETVER >= 20040809
-packetLen(0x0193, 18) // CZ_REQNAME_BYGID
+packetLen(0x0193, 18)
#elif PACKETVER >= 20040726
-packetLen(0x0193, 9) // CZ_REQNAME_BYGID
+packetLen(0x0193, 9)
#elif PACKETVER >= 20040107
-packetLen(0x0193, 6) // CZ_REQNAME_BYGID
+packetLen(0x0193, 6)
#endif
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
#if PACKETVER >= 20041213
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20040107
-packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+packetLen(0x019c, 4)
#endif
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
#if PACKETVER >= 20041213
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
#endif
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
#if PACKETVER >= 20041213
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20040107
-packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 8)
#endif
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
#if PACKETVER >= 20040216
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
#endif
// Packet: 0x01f4
#if PACKETVER >= 20040302
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
#endif
// Packet: 0x01f5
#if PACKETVER >= 20040302
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
#endif
// Packet: 0x01f6
#if PACKETVER >= 20040308
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
#endif
// Packet: 0x01f7
#if PACKETVER >= 20040308
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
#endif
// Packet: 0x01f8
#if PACKETVER >= 20040308
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
#endif
// Packet: 0x01f9
#if PACKETVER >= 20040308
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
#endif
// Packet: 0x01fa
#if PACKETVER >= 20040322
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
#endif
// Packet: 0x01fb
#if PACKETVER >= 20040419
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
#endif
// Packet: 0x01fc
#if PACKETVER >= 20040420
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#endif
// Packet: 0x01fd
#if PACKETVER >= 20040423
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
#endif
// Packet: 0x01fe
#if PACKETVER >= 20040426
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
#endif
// Packet: 0x01ff
#if PACKETVER >= 20040422
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
#endif
// Packet: 0x0200
#if PACKETVER >= 20040517
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
#endif
// Packet: 0x0201
#if PACKETVER >= 20040628
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#endif
// Packet: 0x0202
#if PACKETVER >= 20040628
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#endif
// Packet: 0x0203
#if PACKETVER >= 20040628
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#endif
// Packet: 0x0204
#if PACKETVER >= 20040531
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
#endif
// Packet: 0x0205
#if PACKETVER >= 20040628
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
#endif
// Packet: 0x0206
#if PACKETVER >= 20040628
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#endif
// Packet: 0x0207
#if PACKETVER >= 20040628
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
#endif
// Packet: 0x0208
#if PACKETVER >= 20040705
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
#elif PACKETVER >= 20040628
-packetLen(0x0208, 11) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 11)
#endif
// Packet: 0x0209
#if PACKETVER >= 20040628
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
#endif
// Packet: 0x020a
#if PACKETVER >= 20040628
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#endif
// Packet: 0x020d
#if PACKETVER >= 20040621
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
#endif
// Packet: 0x020e
#if PACKETVER >= 20040705
-packetLen(0x020e, 24) // ZC_STARSKILL
+packetLen(0x020e, 24)
#endif
// Packet: 0x020f
#if PACKETVER >= 20040817
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
#endif
// Packet: 0x0210
#if PACKETVER >= 20040817
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
#endif
// Packet: 0x0212
#if PACKETVER >= 20040816
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
#endif
// Packet: 0x0213
#if PACKETVER >= 20040816
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
#endif
// Packet: 0x0214
#if PACKETVER >= 20040816
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
#endif
// Packet: 0x0215
#if PACKETVER >= 20041101
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
#endif
// Packet: 0x0216
#if PACKETVER >= 20041108
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
#endif
// Packet: 0x0217
#if PACKETVER >= 20041108
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#endif
// Packet: 0x0218
#if PACKETVER >= 20041108
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#endif
// Packet: 0x0219
#if PACKETVER >= 20041108
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#endif
// Packet: 0x021a
#if PACKETVER >= 20041108
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
#endif
// Packet: 0x021b
#if PACKETVER >= 20041108
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#endif
// Packet: 0x021c
#if PACKETVER >= 20041108
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#endif
// Packet: 0x021d
#if PACKETVER >= 20041115
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
#endif
// Packet: 0x021e
#if PACKETVER >= 20041213
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
#endif
// Packet: 0x021f
#if PACKETVER >= 20041213
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
#endif
// Packet: 0x0220
#if PACKETVER >= 20041213
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
#endif
// Packet: 0x0221
#if PACKETVER >= 20041129
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
#endif
// Packet: 0x0222
#if PACKETVER >= 20041129
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
#endif
// Packet: 0x0223
#if PACKETVER >= 20041129
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
#endif
diff --git a/src/common/packets/packets2005_len_ad.h b/src/common/packets/packets2005_len_ad.h
index fd428cef4..41a82f773 100644
--- a/src/common/packets/packets2005_len_ad.h
+++ b/src/common/packets/packets2005_len_ad.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,184 +25,184 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20051010
-packetLen(0x0072, 20) // CZ_ENTER
+packetLen(0x0072, 20)
#elif PACKETVER >= 20050719
-packetLen(0x0072, 30) // CZ_ENTER
+packetLen(0x0072, 30)
#elif PACKETVER >= 20050718
-packetLen(0x0072, 20) // CZ_ENTER
+packetLen(0x0072, 20)
#elif PACKETVER >= 20050628
-packetLen(0x0072, 30) // CZ_ENTER
+packetLen(0x0072, 30)
#elif PACKETVER >= 20050509
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#elif PACKETVER >= 20050411
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#elif PACKETVER >= 20050104
-packetLen(0x0072, 26) // CZ_ENTER
+packetLen(0x0072, 26)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20051010
-packetLen(0x007e, 103) // CZ_REQUEST_TIME
+packetLen(0x007e, 103)
#elif PACKETVER >= 20050719
-packetLen(0x007e, 120) // CZ_REQUEST_TIME
+packetLen(0x007e, 120)
#elif PACKETVER >= 20050718
-packetLen(0x007e, 103) // CZ_REQUEST_TIME
+packetLen(0x007e, 103)
#elif PACKETVER >= 20050628
-packetLen(0x007e, 120) // CZ_REQUEST_TIME
+packetLen(0x007e, 120)
#elif PACKETVER >= 20050509
-packetLen(0x007e, 110) // CZ_REQUEST_TIME
+packetLen(0x007e, 110)
#elif PACKETVER >= 20050411
-packetLen(0x007e, 109) // CZ_REQUEST_TIME
+packetLen(0x007e, 109)
#elif PACKETVER >= 20050110
-packetLen(0x007e, 108) // CZ_REQUEST_TIME
+packetLen(0x007e, 108)
#elif PACKETVER >= 20050104
-packetLen(0x007e, 34) // CZ_REQUEST_TIME
+packetLen(0x007e, 34)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20051010
-packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+packetLen(0x0085, 13)
#elif PACKETVER >= 20050719
-packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+packetLen(0x0085, 14)
#elif PACKETVER >= 20050718
-packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+packetLen(0x0085, 13)
#elif PACKETVER >= 20050628
-packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+packetLen(0x0085, 14)
#elif PACKETVER >= 20050509
-packetLen(0x0085, 8) // CZ_REQUEST_MOVE
+packetLen(0x0085, 8)
#elif PACKETVER >= 20050411
-packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+packetLen(0x0085, 18)
#elif PACKETVER >= 20050110
-packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+packetLen(0x0085, 15)
#elif PACKETVER >= 20050104
-packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+packetLen(0x0085, -1)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20051010
-packetLen(0x0089, 10) // CZ_REQUEST_ACT
+packetLen(0x0089, 10)
#elif PACKETVER >= 20050719
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20050718
-packetLen(0x0089, 10) // CZ_REQUEST_ACT
+packetLen(0x0089, 10)
#elif PACKETVER >= 20050628
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20050509
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20050411
-packetLen(0x0089, 14) // CZ_REQUEST_ACT
+packetLen(0x0089, 14)
#elif PACKETVER >= 20050104
-packetLen(0x0089, 9) // CZ_REQUEST_ACT
+packetLen(0x0089, 9)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20051010
@@ -222,143 +222,143 @@ packetLen(0x008c, 8)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20051010
-packetLen(0x0094, 16) // CZ_REQNAME
+packetLen(0x0094, 16)
#elif PACKETVER >= 20050719
-packetLen(0x0094, 17) // CZ_REQNAME
+packetLen(0x0094, 17)
#elif PACKETVER >= 20050718
-packetLen(0x0094, 16) // CZ_REQNAME
+packetLen(0x0094, 16)
#elif PACKETVER >= 20050628
-packetLen(0x0094, 17) // CZ_REQNAME
+packetLen(0x0094, 17)
#elif PACKETVER >= 20050509
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#elif PACKETVER >= 20050411
-packetLen(0x0094, 25) // CZ_REQNAME
+packetLen(0x0094, 25)
#elif PACKETVER >= 20050110
-packetLen(0x0094, 13) // CZ_REQNAME
+packetLen(0x0094, 13)
#elif PACKETVER >= 20050104
-packetLen(0x0094, 20) // CZ_REQNAME
+packetLen(0x0094, 20)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20051010
-packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 33)
#elif PACKETVER >= 20050719
-packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 35)
#elif PACKETVER >= 20050718
-packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 33)
#elif PACKETVER >= 20050628
-packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 35)
#elif PACKETVER >= 20050509
-packetLen(0x009b, 29) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 29)
#elif PACKETVER >= 20050411
-packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 32)
#elif PACKETVER >= 20050110
-packetLen(0x009b, 29) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 29)
#elif PACKETVER >= 20050104
-packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 2)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20051010
-packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+packetLen(0x009f, 17)
#elif PACKETVER >= 20050719
-packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+packetLen(0x009f, 21)
#elif PACKETVER >= 20050718
-packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+packetLen(0x009f, 17)
#elif PACKETVER >= 20050628
-packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+packetLen(0x009f, 21)
#elif PACKETVER >= 20050509
-packetLen(0x009f, 15) // CZ_ITEM_PICKUP
+packetLen(0x009f, 15)
#elif PACKETVER >= 20050411
-packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+packetLen(0x009f, 18)
#elif PACKETVER >= 20050110
-packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+packetLen(0x009f, 13)
#elif PACKETVER >= 20050104
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20051010
-packetLen(0x00a2, 12) // CZ_ITEM_THROW
+packetLen(0x00a2, 12)
#elif PACKETVER >= 20050719
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20050718
-packetLen(0x00a2, 12) // CZ_ITEM_THROW
+packetLen(0x00a2, 12)
#elif PACKETVER >= 20050628
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20050509
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
#elif PACKETVER >= 20050411
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20050110
-packetLen(0x00a2, 16) // CZ_ITEM_THROW
+packetLen(0x00a2, 16)
#elif PACKETVER >= 20050104
-packetLen(0x00a2, 9) // CZ_ITEM_THROW
+packetLen(0x00a2, 9)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20051010
@@ -380,1547 +380,1547 @@ packetLen(0x00a7, 13)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
#if PACKETVER >= 20050110
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
#elif PACKETVER >= 20050104
-packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 23)
#endif
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20051010
-packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 10)
#elif PACKETVER >= 20050719
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
#elif PACKETVER >= 20050718
-packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 10)
#elif PACKETVER >= 20050628
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
#elif PACKETVER >= 20050509
-packetLen(0x00f5, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 7)
#elif PACKETVER >= 20050411
-packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 14)
#elif PACKETVER >= 20050110
-packetLen(0x00f5, 9) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 9)
#elif PACKETVER >= 20050104
-packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 32)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20051010
-packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+packetLen(0x00f7, 26)
#elif PACKETVER >= 20050719
-packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+packetLen(0x00f7, 15)
#elif PACKETVER >= 20050718
-packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+packetLen(0x00f7, 26)
#elif PACKETVER >= 20050628
-packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+packetLen(0x00f7, 15)
#elif PACKETVER >= 20050509
-packetLen(0x00f7, 21) // CZ_REQUEST_TIME
+packetLen(0x00f7, 21)
#elif PACKETVER >= 20050411
-packetLen(0x00f7, 12) // CZ_REQUEST_TIME
+packetLen(0x00f7, 12)
#elif PACKETVER >= 20050110
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
#elif PACKETVER >= 20050104
-packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+packetLen(0x00f7, 11)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20051010
-packetLen(0x0113, 23) // CZ_USE_SKILL
+packetLen(0x0113, 23)
#elif PACKETVER >= 20050719
-packetLen(0x0113, 40) // CZ_USE_SKILL
+packetLen(0x0113, 40)
#elif PACKETVER >= 20050718
-packetLen(0x0113, 23) // CZ_USE_SKILL
+packetLen(0x0113, 23)
#elif PACKETVER >= 20050628
-packetLen(0x0113, 40) // CZ_USE_SKILL
+packetLen(0x0113, 40)
#elif PACKETVER >= 20050509
-packetLen(0x0113, 30) // CZ_USE_SKILL
+packetLen(0x0113, 30)
#elif PACKETVER >= 20050411
-packetLen(0x0113, 29) // CZ_USE_SKILL
+packetLen(0x0113, 29)
#elif PACKETVER >= 20050110
-packetLen(0x0113, 28) // CZ_USE_SKILL
+packetLen(0x0113, 28)
#elif PACKETVER >= 20050104
-packetLen(0x0113, 114) // CZ_USE_SKILL
+packetLen(0x0113, 114)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20051010
-packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 14)
#elif PACKETVER >= 20050719
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20050718
-packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 14)
#elif PACKETVER >= 20050628
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20050509
-packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 12)
#elif PACKETVER >= 20050411
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20050110
-packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 12)
#elif PACKETVER >= 20050104
-packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 20)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20051010
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#elif PACKETVER >= 20050719
-packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 10)
#elif PACKETVER >= 20050718
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#elif PACKETVER >= 20050628
-packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 10)
#elif PACKETVER >= 20050509
-packetLen(0x0190, 18) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 18)
#elif PACKETVER >= 20050411
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#elif PACKETVER >= 20050110
-packetLen(0x0190, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 15)
#elif PACKETVER >= 20050104
-packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 17)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
#if PACKETVER >= 20050110
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
#elif PACKETVER >= 20050104
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#endif
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
#if PACKETVER >= 20051010
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#elif PACKETVER >= 20050104
-packetLen(0x020e, 24) // ZC_STARSKILL
+packetLen(0x020e, 24)
#endif
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
#if PACKETVER >= 20050328
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#endif
// Packet: 0x0225
#if PACKETVER >= 20050328
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#endif
// Packet: 0x0226
#if PACKETVER >= 20050328
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
#endif
// Packet: 0x0227
#if PACKETVER >= 20050404
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#endif
// Packet: 0x0228
#if PACKETVER >= 20050404
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
#endif
// Packet: 0x0229
#if PACKETVER >= 20050411
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
#endif
// Packet: 0x022a
#if PACKETVER >= 20050411
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20050411
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20050411
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
#endif
// Packet: 0x022d
#if PACKETVER >= 20050425
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
#if PACKETVER >= 20050624
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#elif PACKETVER >= 20050530
-packetLen(0x022e, 69) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 69)
#elif PACKETVER >= 20050523
-packetLen(0x022e, 67) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 67)
#endif
// Packet: 0x022f
#if PACKETVER >= 20050608
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
#if PACKETVER >= 20050523
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
#endif
// Packet: 0x0231
#if PACKETVER >= 20050608
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
#endif
// Packet: 0x0232
#if PACKETVER >= 20050425
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#endif
// Packet: 0x0233
#if PACKETVER >= 20050425
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#endif
// Packet: 0x0234
#if PACKETVER >= 20050425
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#endif
// Packet: 0x0235
#if PACKETVER >= 20050530
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#endif
// Packet: 0x0236
#if PACKETVER >= 20050530
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
#endif
// Packet: 0x0237
#if PACKETVER >= 20050530
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#endif
// Packet: 0x0238
#if PACKETVER >= 20050530
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
#endif
// Packet: 0x0239
#if PACKETVER >= 20050530
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
#endif
// Packet: 0x023a
#if PACKETVER >= 20050608
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#endif
// Packet: 0x023b
#if PACKETVER >= 20050608
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#endif
// Packet: 0x023c
#if PACKETVER >= 20050608
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#endif
// Packet: 0x023d
#if PACKETVER >= 20050628
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
#endif
// Packet: 0x023e
#if PACKETVER >= 20050628
-packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 4)
#endif
// Packet: 0x023f
#if PACKETVER >= 20050718
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
#endif
// Packet: 0x0240
#if PACKETVER >= 20050829
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
#elif PACKETVER >= 20050718
-packetLen(0x0240, 8) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, 8)
#endif
// Packet: 0x0241
#if PACKETVER >= 20050718
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
#endif
// Packet: 0x0242
#if PACKETVER >= 20050718
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
#endif
// Packet: 0x0243
#if PACKETVER >= 20050718
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
#endif
// Packet: 0x0244
#if PACKETVER >= 20050718
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
#endif
// Packet: 0x0245
#if PACKETVER >= 20050801
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
#elif PACKETVER >= 20050718
-packetLen(0x0245, 7) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 7)
#endif
// Packet: 0x0246
#if PACKETVER >= 20050718
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
#endif
// Packet: 0x0247
#if PACKETVER >= 20050718
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
#endif
// Packet: 0x0248
#if PACKETVER >= 20050829
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
#elif PACKETVER >= 20050718
-packetLen(0x0248, 68) // CZ_MAIL_SEND
+packetLen(0x0248, 68)
#endif
// Packet: 0x0249
#if PACKETVER >= 20050718
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
#endif
// Packet: 0x024a
#if PACKETVER >= 20050718
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
#endif
// Packet: 0x024b
#if PACKETVER >= 20050718
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
#endif
// Packet: 0x024c
#if PACKETVER >= 20050718
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
#endif
// Packet: 0x024d
#if PACKETVER >= 20050808
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
#elif PACKETVER >= 20050718
-packetLen(0x024d, 14) // CZ_AUCTION_ADD
+packetLen(0x024d, 14)
#endif
// Packet: 0x024e
#if PACKETVER >= 20051107
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
#elif PACKETVER >= 20050808
-packetLen(0x024e, 4) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 4)
#elif PACKETVER >= 20050718
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
#endif
// Packet: 0x024f
#if PACKETVER >= 20050718
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
#endif
// Packet: 0x0250
#if PACKETVER >= 20050718
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
#endif
// Packet: 0x0251
#if PACKETVER >= 20051107
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
#elif PACKETVER >= 20051013
-packetLen(0x0251, 32) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 32)
#elif PACKETVER >= 20050801
-packetLen(0x0251, 4) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 4)
#elif PACKETVER >= 20050718
-packetLen(0x0251, 2) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 2)
#endif
// Packet: 0x0252
#if PACKETVER >= 20050718
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
#endif
// Packet: 0x0253
#if PACKETVER >= 20050822
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
#endif
// Packet: 0x0254
#if PACKETVER >= 20050822
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
#endif
// Packet: 0x0255
#if PACKETVER >= 20050829
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
#endif
// Packet: 0x0256
#if PACKETVER >= 20050829
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
#endif
// Packet: 0x0257
#if PACKETVER >= 20050829
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
#endif
// Packet: 0x0258
#if PACKETVER >= 20050912
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
#endif
// Packet: 0x0259
#if PACKETVER >= 20050912
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
#endif
// Packet: 0x025a
#if PACKETVER >= 20051010
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
#endif
// Packet: 0x025b
#if PACKETVER >= 20051010
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
#endif
// Packet: 0x025c
#if PACKETVER >= 20051013
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
#endif
// Packet: 0x025d
#if PACKETVER >= 20051017
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
#endif
// Packet: 0x025e
#if PACKETVER >= 20051017
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
#endif
// Packet: 0x025f
#if PACKETVER >= 20051024
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
#endif
// Packet: 0x0260
#if PACKETVER >= 20051024
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
#endif
diff --git a/src/common/packets/packets2005_len_main.h b/src/common/packets/packets2005_len_main.h
index bad35d459..e49ea9c94 100644
--- a/src/common/packets/packets2005_len_main.h
+++ b/src/common/packets/packets2005_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,184 +25,184 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20051010
-packetLen(0x0072, 20) // CZ_ENTER
+packetLen(0x0072, 20)
#elif PACKETVER >= 20050719
-packetLen(0x0072, 30) // CZ_ENTER
+packetLen(0x0072, 30)
#elif PACKETVER >= 20050718
-packetLen(0x0072, 20) // CZ_ENTER
+packetLen(0x0072, 20)
#elif PACKETVER >= 20050628
-packetLen(0x0072, 30) // CZ_ENTER
+packetLen(0x0072, 30)
#elif PACKETVER >= 20050509
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#elif PACKETVER >= 20050411
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#elif PACKETVER >= 20050103
-packetLen(0x0072, 26) // CZ_ENTER
+packetLen(0x0072, 26)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20051010
-packetLen(0x007e, 103) // CZ_REQUEST_TIME
+packetLen(0x007e, 103)
#elif PACKETVER >= 20050719
-packetLen(0x007e, 120) // CZ_REQUEST_TIME
+packetLen(0x007e, 120)
#elif PACKETVER >= 20050718
-packetLen(0x007e, 103) // CZ_REQUEST_TIME
+packetLen(0x007e, 103)
#elif PACKETVER >= 20050628
-packetLen(0x007e, 120) // CZ_REQUEST_TIME
+packetLen(0x007e, 120)
#elif PACKETVER >= 20050509
-packetLen(0x007e, 110) // CZ_REQUEST_TIME
+packetLen(0x007e, 110)
#elif PACKETVER >= 20050411
-packetLen(0x007e, 109) // CZ_REQUEST_TIME
+packetLen(0x007e, 109)
#elif PACKETVER >= 20050110
-packetLen(0x007e, 108) // CZ_REQUEST_TIME
+packetLen(0x007e, 108)
#elif PACKETVER >= 20050103
-packetLen(0x007e, 34) // CZ_REQUEST_TIME
+packetLen(0x007e, 34)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20051010
-packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+packetLen(0x0085, 13)
#elif PACKETVER >= 20050719
-packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+packetLen(0x0085, 14)
#elif PACKETVER >= 20050718
-packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+packetLen(0x0085, 13)
#elif PACKETVER >= 20050628
-packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+packetLen(0x0085, 14)
#elif PACKETVER >= 20050509
-packetLen(0x0085, 8) // CZ_REQUEST_MOVE
+packetLen(0x0085, 8)
#elif PACKETVER >= 20050411
-packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+packetLen(0x0085, 18)
#elif PACKETVER >= 20050110
-packetLen(0x0085, 15) // CZ_REQUEST_MOVE
+packetLen(0x0085, 15)
#elif PACKETVER >= 20050103
-packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+packetLen(0x0085, -1)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20051010
-packetLen(0x0089, 10) // CZ_REQUEST_ACT
+packetLen(0x0089, 10)
#elif PACKETVER >= 20050719
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20050718
-packetLen(0x0089, 10) // CZ_REQUEST_ACT
+packetLen(0x0089, 10)
#elif PACKETVER >= 20050628
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20050509
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20050411
-packetLen(0x0089, 14) // CZ_REQUEST_ACT
+packetLen(0x0089, 14)
#elif PACKETVER >= 20050103
-packetLen(0x0089, 9) // CZ_REQUEST_ACT
+packetLen(0x0089, 9)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20051010
@@ -222,143 +222,143 @@ packetLen(0x008c, 8)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20051010
-packetLen(0x0094, 16) // CZ_REQNAME
+packetLen(0x0094, 16)
#elif PACKETVER >= 20050719
-packetLen(0x0094, 17) // CZ_REQNAME
+packetLen(0x0094, 17)
#elif PACKETVER >= 20050718
-packetLen(0x0094, 16) // CZ_REQNAME
+packetLen(0x0094, 16)
#elif PACKETVER >= 20050628
-packetLen(0x0094, 17) // CZ_REQNAME
+packetLen(0x0094, 17)
#elif PACKETVER >= 20050509
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#elif PACKETVER >= 20050411
-packetLen(0x0094, 25) // CZ_REQNAME
+packetLen(0x0094, 25)
#elif PACKETVER >= 20050110
-packetLen(0x0094, 13) // CZ_REQNAME
+packetLen(0x0094, 13)
#elif PACKETVER >= 20050103
-packetLen(0x0094, 20) // CZ_REQNAME
+packetLen(0x0094, 20)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20051010
-packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 33)
#elif PACKETVER >= 20050719
-packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 35)
#elif PACKETVER >= 20050718
-packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 33)
#elif PACKETVER >= 20050628
-packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 35)
#elif PACKETVER >= 20050509
-packetLen(0x009b, 29) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 29)
#elif PACKETVER >= 20050411
-packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 32)
#elif PACKETVER >= 20050110
-packetLen(0x009b, 29) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 29)
#elif PACKETVER >= 20050103
-packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 2)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20051010
-packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+packetLen(0x009f, 17)
#elif PACKETVER >= 20050719
-packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+packetLen(0x009f, 21)
#elif PACKETVER >= 20050718
-packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+packetLen(0x009f, 17)
#elif PACKETVER >= 20050628
-packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+packetLen(0x009f, 21)
#elif PACKETVER >= 20050509
-packetLen(0x009f, 15) // CZ_ITEM_PICKUP
+packetLen(0x009f, 15)
#elif PACKETVER >= 20050411
-packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+packetLen(0x009f, 18)
#elif PACKETVER >= 20050110
-packetLen(0x009f, 13) // CZ_ITEM_PICKUP
+packetLen(0x009f, 13)
#elif PACKETVER >= 20050103
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20051010
-packetLen(0x00a2, 12) // CZ_ITEM_THROW
+packetLen(0x00a2, 12)
#elif PACKETVER >= 20050719
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20050718
-packetLen(0x00a2, 12) // CZ_ITEM_THROW
+packetLen(0x00a2, 12)
#elif PACKETVER >= 20050628
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20050509
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
#elif PACKETVER >= 20050411
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20050110
-packetLen(0x00a2, 16) // CZ_ITEM_THROW
+packetLen(0x00a2, 16)
#elif PACKETVER >= 20050103
-packetLen(0x00a2, 9) // CZ_ITEM_THROW
+packetLen(0x00a2, 9)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20051010
@@ -380,1555 +380,1555 @@ packetLen(0x00a7, 13)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
#if PACKETVER >= 20050110
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
#elif PACKETVER >= 20050103
-packetLen(0x00f3, 23) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 23)
#endif
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20051010
-packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 10)
#elif PACKETVER >= 20050719
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
#elif PACKETVER >= 20050718
-packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 10)
#elif PACKETVER >= 20050628
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
#elif PACKETVER >= 20050509
-packetLen(0x00f5, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 7)
#elif PACKETVER >= 20050411
-packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 14)
#elif PACKETVER >= 20050110
-packetLen(0x00f5, 9) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 9)
#elif PACKETVER >= 20050103
-packetLen(0x00f5, 32) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 32)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20051010
-packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+packetLen(0x00f7, 26)
#elif PACKETVER >= 20050719
-packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+packetLen(0x00f7, 15)
#elif PACKETVER >= 20050718
-packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+packetLen(0x00f7, 26)
#elif PACKETVER >= 20050628
-packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+packetLen(0x00f7, 15)
#elif PACKETVER >= 20050509
-packetLen(0x00f7, 21) // CZ_REQUEST_TIME
+packetLen(0x00f7, 21)
#elif PACKETVER >= 20050411
-packetLen(0x00f7, 12) // CZ_REQUEST_TIME
+packetLen(0x00f7, 12)
#elif PACKETVER >= 20050110
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
#elif PACKETVER >= 20050103
-packetLen(0x00f7, 11) // CZ_REQUEST_TIME
+packetLen(0x00f7, 11)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20051010
-packetLen(0x0113, 23) // CZ_USE_SKILL
+packetLen(0x0113, 23)
#elif PACKETVER >= 20050719
-packetLen(0x0113, 40) // CZ_USE_SKILL
+packetLen(0x0113, 40)
#elif PACKETVER >= 20050718
-packetLen(0x0113, 23) // CZ_USE_SKILL
+packetLen(0x0113, 23)
#elif PACKETVER >= 20050628
-packetLen(0x0113, 40) // CZ_USE_SKILL
+packetLen(0x0113, 40)
#elif PACKETVER >= 20050509
-packetLen(0x0113, 30) // CZ_USE_SKILL
+packetLen(0x0113, 30)
#elif PACKETVER >= 20050411
-packetLen(0x0113, 29) // CZ_USE_SKILL
+packetLen(0x0113, 29)
#elif PACKETVER >= 20050110
-packetLen(0x0113, 28) // CZ_USE_SKILL
+packetLen(0x0113, 28)
#elif PACKETVER >= 20050103
-packetLen(0x0113, 114) // CZ_USE_SKILL
+packetLen(0x0113, 114)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20051010
-packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 14)
#elif PACKETVER >= 20050719
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20050718
-packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 14)
#elif PACKETVER >= 20050628
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20050509
-packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 12)
#elif PACKETVER >= 20050411
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20050110
-packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 12)
#elif PACKETVER >= 20050103
-packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 20)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20051010
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#elif PACKETVER >= 20050719
-packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 10)
#elif PACKETVER >= 20050718
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#elif PACKETVER >= 20050628
-packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 10)
#elif PACKETVER >= 20050509
-packetLen(0x0190, 18) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 18)
#elif PACKETVER >= 20050411
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#elif PACKETVER >= 20050110
-packetLen(0x0190, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 15)
#elif PACKETVER >= 20050103
-packetLen(0x0190, 17) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 17)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
#if PACKETVER >= 20050110
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
#elif PACKETVER >= 20050103
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#endif
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
#if PACKETVER >= 20051010
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#elif PACKETVER >= 20050103
-packetLen(0x020e, 24) // ZC_STARSKILL
+packetLen(0x020e, 24)
#endif
// Packet: 0x020f
#if PACKETVER >= 20050221
// removed
#elif PACKETVER >= 20050103
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
#endif
// Packet: 0x0210
#if PACKETVER >= 20050221
// removed
#elif PACKETVER >= 20050103
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
#endif
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
#if PACKETVER >= 20050328
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#endif
// Packet: 0x0225
#if PACKETVER >= 20050328
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#endif
// Packet: 0x0226
#if PACKETVER >= 20050328
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
#endif
// Packet: 0x0227
#if PACKETVER >= 20050404
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#endif
// Packet: 0x0228
#if PACKETVER >= 20050404
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
#endif
// Packet: 0x0229
#if PACKETVER >= 20050411
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
#endif
// Packet: 0x022a
#if PACKETVER >= 20050411
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20050411
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20050411
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
#endif
// Packet: 0x022d
#if PACKETVER >= 20050425
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
#if PACKETVER >= 20050624
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#elif PACKETVER >= 20050530
-packetLen(0x022e, 69) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 69)
#elif PACKETVER >= 20050523
-packetLen(0x022e, 67) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 67)
#endif
// Packet: 0x022f
#if PACKETVER >= 20050608
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
#if PACKETVER >= 20050523
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
#endif
// Packet: 0x0231
#if PACKETVER >= 20050608
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
#endif
// Packet: 0x0232
#if PACKETVER >= 20050425
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#endif
// Packet: 0x0233
#if PACKETVER >= 20050425
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#endif
// Packet: 0x0234
#if PACKETVER >= 20050425
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#endif
// Packet: 0x0235
#if PACKETVER >= 20050530
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#endif
// Packet: 0x0236
#if PACKETVER >= 20050530
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
#endif
// Packet: 0x0237
#if PACKETVER >= 20050530
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#endif
// Packet: 0x0238
#if PACKETVER >= 20050530
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
#endif
// Packet: 0x0239
#if PACKETVER >= 20050530
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
#endif
// Packet: 0x023a
#if PACKETVER >= 20050608
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#endif
// Packet: 0x023b
#if PACKETVER >= 20050608
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#endif
// Packet: 0x023c
#if PACKETVER >= 20050608
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#endif
// Packet: 0x023d
#if PACKETVER >= 20050628
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
#endif
// Packet: 0x023e
#if PACKETVER >= 20050628
-packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 4)
#endif
// Packet: 0x023f
#if PACKETVER >= 20050718
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
#endif
// Packet: 0x0240
#if PACKETVER >= 20050829
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
#elif PACKETVER >= 20050718
-packetLen(0x0240, 8) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, 8)
#endif
// Packet: 0x0241
#if PACKETVER >= 20050718
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
#endif
// Packet: 0x0242
#if PACKETVER >= 20050718
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
#endif
// Packet: 0x0243
#if PACKETVER >= 20050718
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
#endif
// Packet: 0x0244
#if PACKETVER >= 20050718
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
#endif
// Packet: 0x0245
#if PACKETVER >= 20050801
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
#elif PACKETVER >= 20050718
-packetLen(0x0245, 7) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 7)
#endif
// Packet: 0x0246
#if PACKETVER >= 20050718
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
#endif
// Packet: 0x0247
#if PACKETVER >= 20050718
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
#endif
// Packet: 0x0248
#if PACKETVER >= 20050829
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
#elif PACKETVER >= 20050718
-packetLen(0x0248, 68) // CZ_MAIL_SEND
+packetLen(0x0248, 68)
#endif
// Packet: 0x0249
#if PACKETVER >= 20050718
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
#endif
// Packet: 0x024a
#if PACKETVER >= 20050718
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
#endif
// Packet: 0x024b
#if PACKETVER >= 20050718
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
#endif
// Packet: 0x024c
#if PACKETVER >= 20050718
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
#endif
// Packet: 0x024d
#if PACKETVER >= 20050808
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
#elif PACKETVER >= 20050718
-packetLen(0x024d, 14) // CZ_AUCTION_ADD
+packetLen(0x024d, 14)
#endif
// Packet: 0x024e
#if PACKETVER >= 20051107
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
#elif PACKETVER >= 20050808
-packetLen(0x024e, 4) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 4)
#elif PACKETVER >= 20050718
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
#endif
// Packet: 0x024f
#if PACKETVER >= 20050718
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
#endif
// Packet: 0x0250
#if PACKETVER >= 20050718
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
#endif
// Packet: 0x0251
#if PACKETVER >= 20051107
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
#elif PACKETVER >= 20051013
-packetLen(0x0251, 32) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 32)
#elif PACKETVER >= 20050801
-packetLen(0x0251, 4) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 4)
#elif PACKETVER >= 20050718
-packetLen(0x0251, 2) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 2)
#endif
// Packet: 0x0252
#if PACKETVER >= 20050718
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
#endif
// Packet: 0x0253
#if PACKETVER >= 20050822
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
#endif
// Packet: 0x0254
#if PACKETVER >= 20050822
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
#endif
// Packet: 0x0255
#if PACKETVER >= 20050829
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
#endif
// Packet: 0x0256
#if PACKETVER >= 20050829
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
#endif
// Packet: 0x0257
#if PACKETVER >= 20050829
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
#endif
// Packet: 0x0258
#if PACKETVER >= 20050912
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
#endif
// Packet: 0x0259
#if PACKETVER >= 20050912
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
#endif
// Packet: 0x025a
#if PACKETVER >= 20051010
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
#endif
// Packet: 0x025b
#if PACKETVER >= 20051010
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
#endif
// Packet: 0x025c
#if PACKETVER >= 20051013
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
#endif
// Packet: 0x025d
#if PACKETVER >= 20051017
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
#endif
// Packet: 0x025e
#if PACKETVER >= 20051017
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
#endif
// Packet: 0x025f
#if PACKETVER >= 20051024
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
#endif
// Packet: 0x0260
#if PACKETVER >= 20051024
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
#endif
diff --git a/src/common/packets/packets2005_len_sak.h b/src/common/packets/packets2005_len_sak.h
index 7684be048..2da2a1065 100644
--- a/src/common/packets/packets2005_len_sak.h
+++ b/src/common/packets/packets2005_len_sak.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,172 +25,172 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20050719
-packetLen(0x0072, 34) // CZ_ENTER
+packetLen(0x0072, 34)
#elif PACKETVER >= 20050718
-packetLen(0x0072, 19) // CZ_ENTER
+packetLen(0x0072, 19)
#elif PACKETVER >= 20050628
-packetLen(0x0072, 34) // CZ_ENTER
+packetLen(0x0072, 34)
#elif PACKETVER >= 20050509
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
#elif PACKETVER >= 20050110
-packetLen(0x0072, 26) // CZ_ENTER
+packetLen(0x0072, 26)
#elif PACKETVER >= 20050103
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20050719
-packetLen(0x007e, 113) // CZ_REQUEST_TIME
+packetLen(0x007e, 113)
#elif PACKETVER >= 20050718
-packetLen(0x007e, 110) // CZ_REQUEST_TIME
+packetLen(0x007e, 110)
#elif PACKETVER >= 20050628
-packetLen(0x007e, 113) // CZ_REQUEST_TIME
+packetLen(0x007e, 113)
#elif PACKETVER >= 20050509
-packetLen(0x007e, 102) // CZ_REQUEST_TIME
+packetLen(0x007e, 102)
#elif PACKETVER >= 20050110
-packetLen(0x007e, 114) // CZ_REQUEST_TIME
+packetLen(0x007e, 114)
#elif PACKETVER >= 20050103
-packetLen(0x007e, 30) // CZ_REQUEST_TIME
+packetLen(0x007e, 30)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20050719
-packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+packetLen(0x0085, 17)
#elif PACKETVER >= 20050718
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
#elif PACKETVER >= 20050628
-packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+packetLen(0x0085, 17)
#elif PACKETVER >= 20050509
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
#elif PACKETVER >= 20050110
-packetLen(0x0085, 23) // CZ_REQUEST_MOVE
+packetLen(0x0085, 23)
#elif PACKETVER >= 20050103
-packetLen(0x0085, -1) // CZ_REQUEST_MOVE
+packetLen(0x0085, -1)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20050719
-packetLen(0x0089, 13) // CZ_REQUEST_ACT
+packetLen(0x0089, 13)
#elif PACKETVER >= 20050718
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#elif PACKETVER >= 20050628
-packetLen(0x0089, 13) // CZ_REQUEST_ACT
+packetLen(0x0089, 13)
#elif PACKETVER >= 20050509
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
#elif PACKETVER >= 20050110
-packetLen(0x0089, 9) // CZ_REQUEST_ACT
+packetLen(0x0089, 9)
#elif PACKETVER >= 20050103
-packetLen(0x0089, 7) // CZ_REQUEST_ACT
+packetLen(0x0089, 7)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20050719
@@ -208,127 +208,127 @@ packetLen(0x008c, 13)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20050719
-packetLen(0x0094, 31) // CZ_REQNAME
+packetLen(0x0094, 31)
#elif PACKETVER >= 20050718
-packetLen(0x0094, 21) // CZ_REQNAME
+packetLen(0x0094, 21)
#elif PACKETVER >= 20050628
-packetLen(0x0094, 31) // CZ_REQNAME
+packetLen(0x0094, 31)
#elif PACKETVER >= 20050509
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#elif PACKETVER >= 20050110
-packetLen(0x0094, 20) // CZ_REQNAME
+packetLen(0x0094, 20)
#elif PACKETVER >= 20050103
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20050719
-packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 32)
#elif PACKETVER >= 20050718
-packetLen(0x009b, 31) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 31)
#elif PACKETVER >= 20050628
-packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 32)
#elif PACKETVER >= 20050509
-packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 26)
#elif PACKETVER >= 20050110
-packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 32)
#elif PACKETVER >= 20050103
-packetLen(0x009b, 2) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 2)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20050719
-packetLen(0x009f, 19) // CZ_ITEM_PICKUP
+packetLen(0x009f, 19)
#elif PACKETVER >= 20050718
-packetLen(0x009f, 12) // CZ_ITEM_PICKUP
+packetLen(0x009f, 12)
#elif PACKETVER >= 20050628
-packetLen(0x009f, 19) // CZ_ITEM_PICKUP
+packetLen(0x009f, 19)
#elif PACKETVER >= 20050509
-packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+packetLen(0x009f, 14)
#elif PACKETVER >= 20050110
-packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+packetLen(0x009f, 17)
#elif PACKETVER >= 20050103
-packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+packetLen(0x009f, 18)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20050719
-packetLen(0x00a2, 9) // CZ_ITEM_THROW
+packetLen(0x00a2, 9)
#elif PACKETVER >= 20050718
-packetLen(0x00a2, 18) // CZ_ITEM_THROW
+packetLen(0x00a2, 18)
#elif PACKETVER >= 20050628
-packetLen(0x00a2, 9) // CZ_ITEM_THROW
+packetLen(0x00a2, 9)
#elif PACKETVER >= 20050509
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
#elif PACKETVER >= 20050110
-packetLen(0x00a2, 11) // CZ_ITEM_THROW
+packetLen(0x00a2, 11)
#elif PACKETVER >= 20050103
-packetLen(0x00a2, 7) // CZ_ITEM_THROW
+packetLen(0x00a2, 7)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20050719
@@ -346,1523 +346,1523 @@ packetLen(0x00a7, 7)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
#if PACKETVER >= 20050110
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
#elif PACKETVER >= 20050103
-packetLen(0x00f3, 8) // CZ_REQUEST_CHAT
+packetLen(0x00f3, 8)
#endif
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20050719
-packetLen(0x00f5, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 13)
#elif PACKETVER >= 20050718
-packetLen(0x00f5, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 7)
#elif PACKETVER >= 20050628
-packetLen(0x00f5, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 13)
#elif PACKETVER >= 20050509
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#elif PACKETVER >= 20050110
-packetLen(0x00f5, 9) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 9)
#elif PACKETVER >= 20050103
-packetLen(0x00f5, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 29)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20050719
-packetLen(0x00f7, 18) // CZ_REQUEST_TIME
+packetLen(0x00f7, 18)
#elif PACKETVER >= 20050718
-packetLen(0x00f7, 13) // CZ_REQUEST_TIME
+packetLen(0x00f7, 13)
#elif PACKETVER >= 20050628
-packetLen(0x00f7, 18) // CZ_REQUEST_TIME
+packetLen(0x00f7, 18)
#elif PACKETVER >= 20050509
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
#elif PACKETVER >= 20050110
-packetLen(0x00f7, 21) // CZ_REQUEST_TIME
+packetLen(0x00f7, 21)
#elif PACKETVER >= 20050103
-packetLen(0x00f7, 14) // CZ_REQUEST_TIME
+packetLen(0x00f7, 14)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20050719
-packetLen(0x0113, 33) // CZ_USE_SKILL
+packetLen(0x0113, 33)
#elif PACKETVER >= 20050718
-packetLen(0x0113, 30) // CZ_USE_SKILL
+packetLen(0x0113, 30)
#elif PACKETVER >= 20050628
-packetLen(0x0113, 33) // CZ_USE_SKILL
+packetLen(0x0113, 33)
#elif PACKETVER >= 20050509
-packetLen(0x0113, 22) // CZ_USE_SKILL
+packetLen(0x0113, 22)
#elif PACKETVER >= 20050110
-packetLen(0x0113, 34) // CZ_USE_SKILL
+packetLen(0x0113, 34)
#elif PACKETVER >= 20050103
-packetLen(0x0113, 110) // CZ_USE_SKILL
+packetLen(0x0113, 110)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20050628
-packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 12)
#elif PACKETVER >= 20050509
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#elif PACKETVER >= 20050110
-packetLen(0x0116, 20) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 20)
#elif PACKETVER >= 20050103
-packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 12)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20050719
-packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 24)
#elif PACKETVER >= 20050718
-packetLen(0x0190, 21) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 21)
#elif PACKETVER >= 20050628
-packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 24)
#elif PACKETVER >= 20050509
-packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 19)
#elif PACKETVER >= 20050110
-packetLen(0x0190, 20) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 20)
#elif PACKETVER >= 20050103
-packetLen(0x0190, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 15)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
#if PACKETVER >= 20050110
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
#elif PACKETVER >= 20050103
-packetLen(0x0193, 21) // CZ_REQNAME_BYGID
+packetLen(0x0193, 21)
#endif
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
#if PACKETVER >= 20051010
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#elif PACKETVER >= 20050103
-packetLen(0x020e, 24) // ZC_STARSKILL
+packetLen(0x020e, 24)
#endif
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
#if PACKETVER >= 20050328
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#endif
// Packet: 0x0225
#if PACKETVER >= 20050328
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#endif
// Packet: 0x0226
#if PACKETVER >= 20050328
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
#endif
// Packet: 0x0227
#if PACKETVER >= 20050404
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#endif
// Packet: 0x0228
#if PACKETVER >= 20050404
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
#endif
// Packet: 0x0229
#if PACKETVER >= 20050411
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
#endif
// Packet: 0x022a
#if PACKETVER >= 20050411
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20050411
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20050411
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
#endif
// Packet: 0x022d
#if PACKETVER >= 20050425
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
#if PACKETVER >= 20050622
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#elif PACKETVER >= 20050530
-packetLen(0x022e, 69) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 69)
#elif PACKETVER >= 20050523
-packetLen(0x022e, 67) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 67)
#endif
// Packet: 0x022f
#if PACKETVER >= 20050608
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
#if PACKETVER >= 20050523
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
#endif
// Packet: 0x0231
#if PACKETVER >= 20050608
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
#endif
// Packet: 0x0232
#if PACKETVER >= 20050425
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#endif
// Packet: 0x0233
#if PACKETVER >= 20050425
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#endif
// Packet: 0x0234
#if PACKETVER >= 20050425
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#endif
// Packet: 0x0235
#if PACKETVER >= 20050530
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#endif
// Packet: 0x0236
#if PACKETVER >= 20050530
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
#endif
// Packet: 0x0237
#if PACKETVER >= 20050530
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#endif
// Packet: 0x0238
#if PACKETVER >= 20050530
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
#endif
// Packet: 0x0239
#if PACKETVER >= 20050531
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
#endif
// Packet: 0x023a
#if PACKETVER >= 20050608
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#endif
// Packet: 0x023b
#if PACKETVER >= 20050608
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#endif
// Packet: 0x023c
#if PACKETVER >= 20050608
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#endif
// Packet: 0x023d
#if PACKETVER >= 20050628
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
#endif
// Packet: 0x023e
#if PACKETVER >= 20050628
-packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 4)
#endif
// Packet: 0x023f
#if PACKETVER >= 20050718
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
#endif
// Packet: 0x0240
#if PACKETVER >= 20050829
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
#elif PACKETVER >= 20050718
-packetLen(0x0240, 8) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, 8)
#endif
// Packet: 0x0241
#if PACKETVER >= 20050718
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
#endif
// Packet: 0x0242
#if PACKETVER >= 20050718
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
#endif
// Packet: 0x0243
#if PACKETVER >= 20050718
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
#endif
// Packet: 0x0244
#if PACKETVER >= 20050718
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
#endif
// Packet: 0x0245
#if PACKETVER >= 20050801
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
#elif PACKETVER >= 20050718
-packetLen(0x0245, 7) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 7)
#endif
// Packet: 0x0246
#if PACKETVER >= 20050718
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
#endif
// Packet: 0x0247
#if PACKETVER >= 20050718
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
#endif
// Packet: 0x0248
#if PACKETVER >= 20050829
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
#elif PACKETVER >= 20050718
-packetLen(0x0248, 68) // CZ_MAIL_SEND
+packetLen(0x0248, 68)
#endif
// Packet: 0x0249
#if PACKETVER >= 20050718
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
#endif
// Packet: 0x024a
#if PACKETVER >= 20050718
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
#endif
// Packet: 0x024b
#if PACKETVER >= 20050718
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
#endif
// Packet: 0x024c
#if PACKETVER >= 20050718
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
#endif
// Packet: 0x024d
#if PACKETVER >= 20050808
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
#elif PACKETVER >= 20050718
-packetLen(0x024d, 14) // CZ_AUCTION_ADD
+packetLen(0x024d, 14)
#endif
// Packet: 0x024e
#if PACKETVER >= 20051107
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
#elif PACKETVER >= 20050808
-packetLen(0x024e, 4) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 4)
#elif PACKETVER >= 20050718
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
#endif
// Packet: 0x024f
#if PACKETVER >= 20050718
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
#endif
// Packet: 0x0250
#if PACKETVER >= 20050718
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
#endif
// Packet: 0x0251
#if PACKETVER >= 20051107
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
#elif PACKETVER >= 20051013
-packetLen(0x0251, 32) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 32)
#elif PACKETVER >= 20050801
-packetLen(0x0251, 4) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 4)
#elif PACKETVER >= 20050718
-packetLen(0x0251, 2) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 2)
#endif
// Packet: 0x0252
#if PACKETVER >= 20050718
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
#endif
// Packet: 0x0253
#if PACKETVER >= 20050817
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
#endif
// Packet: 0x0254
#if PACKETVER >= 20050817
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
#endif
// Packet: 0x0255
#if PACKETVER >= 20050829
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
#endif
// Packet: 0x0256
#if PACKETVER >= 20050829
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
#endif
// Packet: 0x0257
#if PACKETVER >= 20050829
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
#endif
// Packet: 0x0258
#if PACKETVER >= 20050912
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
#endif
// Packet: 0x0259
#if PACKETVER >= 20050912
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
#endif
// Packet: 0x025a
#if PACKETVER >= 20051010
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
#endif
// Packet: 0x025b
#if PACKETVER >= 20051010
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
#endif
// Packet: 0x025c
#if PACKETVER >= 20051013
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
#endif
// Packet: 0x025d
#if PACKETVER >= 20051017
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
#endif
// Packet: 0x025e
#if PACKETVER >= 20051017
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
#endif
// Packet: 0x025f
#if PACKETVER >= 20051024
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
#endif
// Packet: 0x0260
#if PACKETVER >= 20051024
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
#endif
diff --git a/src/common/packets/packets2006_len_ad.h b/src/common/packets/packets2006_len_ad.h
index a8eef10d5..0e38df526 100644
--- a/src/common/packets/packets2006_len_ad.h
+++ b/src/common/packets/packets2006_len_ad.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,144 +25,144 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20061030
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
#elif PACKETVER >= 20060102
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20060327
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
#elif PACKETVER >= 20060102
-packetLen(0x0072, 20) // CZ_ENTER
+packetLen(0x0072, 20)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20060327
-packetLen(0x007e, 102) // CZ_REQUEST_TIME
+packetLen(0x007e, 102)
#elif PACKETVER >= 20060102
-packetLen(0x007e, 103) // CZ_REQUEST_TIME
+packetLen(0x007e, 103)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20060327
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
#elif PACKETVER >= 20060102
-packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+packetLen(0x0085, 13)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20060327
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
#elif PACKETVER >= 20060102
-packetLen(0x0089, 10) // CZ_REQUEST_ACT
+packetLen(0x0089, 10)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20060327
@@ -172,95 +172,95 @@ packetLen(0x008c, 15)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20060327
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#elif PACKETVER >= 20060102
-packetLen(0x0094, 16) // CZ_REQNAME
+packetLen(0x0094, 16)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20060327
-packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 26)
#elif PACKETVER >= 20060102
-packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 33)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20060327
-packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+packetLen(0x009f, 14)
#elif PACKETVER >= 20060102
-packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+packetLen(0x009f, 17)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20060327
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
#elif PACKETVER >= 20060102
-packetLen(0x00a2, 12) // CZ_ITEM_THROW
+packetLen(0x00a2, 12)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20060327
@@ -270,1655 +270,1655 @@ packetLen(0x00a7, 6)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20060327
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#elif PACKETVER >= 20060102
-packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 10)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20060327
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
#elif PACKETVER >= 20060102
-packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+packetLen(0x00f7, 26)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20060327
-packetLen(0x0113, 22) // CZ_USE_SKILL
+packetLen(0x0113, 22)
#elif PACKETVER >= 20060102
-packetLen(0x0113, 23) // CZ_USE_SKILL
+packetLen(0x0113, 23)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20060327
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#elif PACKETVER >= 20060102
-packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 14)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20060327
-packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 19)
#elif PACKETVER >= 20060102
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
#if PACKETVER >= 20061207
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
#elif PACKETVER >= 20060102
-packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 4)
#endif
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
#if PACKETVER >= 20060109
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
#endif
// Packet: 0x0262
#if PACKETVER >= 20060109
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
#endif
// Packet: 0x0263
#if PACKETVER >= 20060109
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
#endif
// Packet: 0x0264
#if PACKETVER >= 20060109
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
#endif
// Packet: 0x0265
#if PACKETVER >= 20060109
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
#endif
// Packet: 0x0266
#if PACKETVER >= 20060109
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
#endif
// Packet: 0x0267
#if PACKETVER >= 20060109
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
#endif
// Packet: 0x0268
#if PACKETVER >= 20060109
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
#endif
// Packet: 0x0269
#if PACKETVER >= 20060109
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
#endif
// Packet: 0x026a
#if PACKETVER >= 20060109
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
#endif
// Packet: 0x026b
#if PACKETVER >= 20060109
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
#endif
// Packet: 0x026c
#if PACKETVER >= 20060109
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
#endif
// Packet: 0x026d
#if PACKETVER >= 20060109
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
#endif
// Packet: 0x026f
#if PACKETVER >= 20060109
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
#endif
// Packet: 0x0270
#if PACKETVER >= 20060109
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
#endif
// Packet: 0x0271
#if PACKETVER >= 20060126
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
#elif PACKETVER >= 20060109
-packetLen(0x0271, 38) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 38)
#endif
// Packet: 0x0272
#if PACKETVER >= 20060109
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
#endif
// Packet: 0x0273
#if PACKETVER >= 20060313
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
#elif PACKETVER >= 20060306
-packetLen(0x0273, 6) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 6)
#endif
// Packet: 0x0274
#if PACKETVER >= 20060306
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#endif
// Packet: 0x0277
#if PACKETVER >= 20060424
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
#endif
// Packet: 0x0278
#if PACKETVER >= 20060607
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
#endif
// Packet: 0x0279
#if PACKETVER >= 20060607
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
#endif
// Packet: 0x027a
#if PACKETVER >= 20060607
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
#endif
// Packet: 0x027b
#if PACKETVER >= 20060626
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
#endif
// Packet: 0x027c
#if PACKETVER >= 20060626
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
#endif
// Packet: 0x027d
#if PACKETVER >= 20060703
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
#endif
// Packet: 0x027e
#if PACKETVER >= 20060710
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
#endif
// Packet: 0x027f
#if PACKETVER >= 20060821
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
#elif PACKETVER >= 20060731
-packetLen(0x027f, 4) // CA_CLIENT_TYPE
+packetLen(0x027f, 4)
#endif
// Packet: 0x0280
#if PACKETVER >= 20060918
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
#elif PACKETVER >= 20060904
-packetLen(0x0280, 10) // ZC_GANGSI_POINT
+packetLen(0x0280, 10)
#endif
// Packet: 0x0281
#if PACKETVER >= 20060918
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#elif PACKETVER >= 20060904
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#endif
// Packet: 0x0282
#if PACKETVER >= 20060918
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
#elif PACKETVER >= 20060904
-packetLen(0x0282, 282) // ZC_GANGSI_RANK
+packetLen(0x0282, 282)
#endif
// Packet: 0x0283
#if PACKETVER >= 20060904
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
#endif
// Packet: 0x0284
#if PACKETVER >= 20060911
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
#endif
// Packet: 0x0285
#if PACKETVER >= 20060918
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
#endif
// Packet: 0x0286
#if PACKETVER >= 20060918
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
#endif
// Packet: 0x028a
#if PACKETVER >= 20060927
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
#endif
// Packet: 0x028b
#if PACKETVER >= 20061030
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
#endif
// Packet: 0x028c
#if PACKETVER >= 20061030
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
#endif
// Packet: 0x028d
#if PACKETVER >= 20061030
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
#endif
// Packet: 0x028e
#if PACKETVER >= 20061030
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
#endif
// Packet: 0x028f
#if PACKETVER >= 20061030
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
#endif
// Packet: 0x0290
#if PACKETVER >= 20061030
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
#endif
// Packet: 0x0291
#if PACKETVER >= 20061030
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
#endif
// Packet: 0x0292
#if PACKETVER >= 20061030
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
#endif
// Packet: 0x0293
#if PACKETVER >= 20061204
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
#elif PACKETVER >= 20061030
-packetLen(0x0293, 66) // ZC_BOSS_INFO
+packetLen(0x0293, 66)
#endif
// Packet: 0x0294
#if PACKETVER >= 20061204
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
#endif
// Packet: 0x0295
#if PACKETVER >= 20061218
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 4)
#endif
// Packet: 0x0296
#if PACKETVER >= 20061218
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 4)
#endif
// Packet: 0x0297
#if PACKETVER >= 20061218
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 4)
#endif
// Packet: 0x0298
#if PACKETVER >= 20061211
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
#endif
// Packet: 0x0299
#if PACKETVER >= 20061211
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
#endif
// Packet: 0x029a
#if PACKETVER >= 20061218
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
#if PACKETVER >= 20061226
-packetLen(0x029b, 70) // ZC_MER_INIT
+packetLen(0x029b, 70)
#endif
// Packet: 0x029c
#if PACKETVER >= 20061226
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
#endif
// Packet: 0x029d
#if PACKETVER >= 20061226
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
#endif
// Packet: 0x029e
#if PACKETVER >= 20061226
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
#endif
// Packet: 0x029f
#if PACKETVER >= 20061226
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
#endif
// Packet: 0x02a0
#if PACKETVER >= 20061226
-packetLen(0x02a0, 10) // CZ_UNUSED_MER_USE_SKILL
+packetLen(0x02a0, 10)
#endif
// Packet: 0x02a1
#if PACKETVER >= 20061226
-packetLen(0x02a1, 4) // CZ_UNUSED_MER_UPGRADE_SKILLLEVEL
+packetLen(0x02a1, 4)
#endif
// Packet: 0x02a2
#if PACKETVER >= 20061226
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
#endif
diff --git a/src/common/packets/packets2006_len_main.h b/src/common/packets/packets2006_len_main.h
index 1b6debfd0..92020778d 100644
--- a/src/common/packets/packets2006_len_main.h
+++ b/src/common/packets/packets2006_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,144 +25,144 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20061030
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
#elif PACKETVER >= 20060102
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20060327
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
#elif PACKETVER >= 20060102
-packetLen(0x0072, 20) // CZ_ENTER
+packetLen(0x0072, 20)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20060327
-packetLen(0x007e, 102) // CZ_REQUEST_TIME
+packetLen(0x007e, 102)
#elif PACKETVER >= 20060102
-packetLen(0x007e, 103) // CZ_REQUEST_TIME
+packetLen(0x007e, 103)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20060327
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
#elif PACKETVER >= 20060102
-packetLen(0x0085, 13) // CZ_REQUEST_MOVE
+packetLen(0x0085, 13)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20060327
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
#elif PACKETVER >= 20060102
-packetLen(0x0089, 10) // CZ_REQUEST_ACT
+packetLen(0x0089, 10)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20060327
@@ -172,95 +172,95 @@ packetLen(0x008c, 15)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20060327
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#elif PACKETVER >= 20060102
-packetLen(0x0094, 16) // CZ_REQNAME
+packetLen(0x0094, 16)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20060327
-packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 26)
#elif PACKETVER >= 20060102
-packetLen(0x009b, 33) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 33)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20060327
-packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+packetLen(0x009f, 14)
#elif PACKETVER >= 20060102
-packetLen(0x009f, 17) // CZ_ITEM_PICKUP
+packetLen(0x009f, 17)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20060327
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
#elif PACKETVER >= 20060102
-packetLen(0x00a2, 12) // CZ_ITEM_THROW
+packetLen(0x00a2, 12)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20060327
@@ -270,1649 +270,1649 @@ packetLen(0x00a7, 6)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20060327
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#elif PACKETVER >= 20060102
-packetLen(0x00f5, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 10)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20060327
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
#elif PACKETVER >= 20060102
-packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+packetLen(0x00f7, 26)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20060327
-packetLen(0x0113, 22) // CZ_USE_SKILL
+packetLen(0x0113, 22)
#elif PACKETVER >= 20060102
-packetLen(0x0113, 23) // CZ_USE_SKILL
+packetLen(0x0113, 23)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20060327
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#elif PACKETVER >= 20060102
-packetLen(0x0116, 14) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 14)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20060327
-packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 19)
#elif PACKETVER >= 20060102
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
#if PACKETVER >= 20061207
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
#elif PACKETVER >= 20060102
-packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 4)
#endif
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
#if PACKETVER >= 20060109
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
#endif
// Packet: 0x0262
#if PACKETVER >= 20060109
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
#endif
// Packet: 0x0263
#if PACKETVER >= 20060109
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
#endif
// Packet: 0x0264
#if PACKETVER >= 20060109
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
#endif
// Packet: 0x0265
#if PACKETVER >= 20060109
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
#endif
// Packet: 0x0266
#if PACKETVER >= 20060109
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
#endif
// Packet: 0x0267
#if PACKETVER >= 20060109
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
#endif
// Packet: 0x0268
#if PACKETVER >= 20060109
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
#endif
// Packet: 0x0269
#if PACKETVER >= 20060109
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
#endif
// Packet: 0x026a
#if PACKETVER >= 20060109
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
#endif
// Packet: 0x026b
#if PACKETVER >= 20060109
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
#endif
// Packet: 0x026c
#if PACKETVER >= 20060109
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
#endif
// Packet: 0x026d
#if PACKETVER >= 20060109
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
#endif
// Packet: 0x026f
#if PACKETVER >= 20060109
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
#endif
// Packet: 0x0270
#if PACKETVER >= 20060109
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
#endif
// Packet: 0x0271
#if PACKETVER >= 20060126
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
#elif PACKETVER >= 20060109
-packetLen(0x0271, 38) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 38)
#endif
// Packet: 0x0272
#if PACKETVER >= 20060109
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
#endif
// Packet: 0x0273
#if PACKETVER >= 20060313
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
#elif PACKETVER >= 20060306
-packetLen(0x0273, 6) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 6)
#endif
// Packet: 0x0274
#if PACKETVER >= 20060306
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#endif
// Packet: 0x0277
#if PACKETVER >= 20060424
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
#endif
// Packet: 0x0278
#if PACKETVER >= 20060607
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
#endif
// Packet: 0x0279
#if PACKETVER >= 20060607
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
#endif
// Packet: 0x027a
#if PACKETVER >= 20060607
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
#endif
// Packet: 0x027b
#if PACKETVER >= 20060626
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
#endif
// Packet: 0x027c
#if PACKETVER >= 20060626
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
#endif
// Packet: 0x027d
#if PACKETVER >= 20060703
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
#endif
// Packet: 0x027e
#if PACKETVER >= 20060710
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
#endif
// Packet: 0x027f
#if PACKETVER >= 20060821
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
#elif PACKETVER >= 20060731
-packetLen(0x027f, 4) // CA_CLIENT_TYPE
+packetLen(0x027f, 4)
#endif
// Packet: 0x0280
#if PACKETVER >= 20060918
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
#elif PACKETVER >= 20060904
-packetLen(0x0280, 10) // ZC_GANGSI_POINT
+packetLen(0x0280, 10)
#endif
// Packet: 0x0281
#if PACKETVER >= 20060918
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#elif PACKETVER >= 20060904
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#endif
// Packet: 0x0282
#if PACKETVER >= 20060918
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
#elif PACKETVER >= 20060904
-packetLen(0x0282, 282) // ZC_GANGSI_RANK
+packetLen(0x0282, 282)
#endif
// Packet: 0x0283
#if PACKETVER >= 20060904
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
#endif
// Packet: 0x0284
#if PACKETVER >= 20060911
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
#endif
// Packet: 0x0285
#if PACKETVER >= 20060918
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
#endif
// Packet: 0x0286
#if PACKETVER >= 20060918
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
#endif
// Packet: 0x028a
#if PACKETVER >= 20060927
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
#endif
// Packet: 0x028b
#if PACKETVER >= 20061030
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
#endif
// Packet: 0x028c
#if PACKETVER >= 20061030
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
#endif
// Packet: 0x028d
#if PACKETVER >= 20061030
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
#endif
// Packet: 0x028e
#if PACKETVER >= 20061030
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
#endif
// Packet: 0x028f
#if PACKETVER >= 20061030
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
#endif
// Packet: 0x0290
#if PACKETVER >= 20061030
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
#endif
// Packet: 0x0291
#if PACKETVER >= 20061030
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
#endif
// Packet: 0x0292
#if PACKETVER >= 20061030
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
#endif
// Packet: 0x0293
#if PACKETVER >= 20061204
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
#elif PACKETVER >= 20061030
-packetLen(0x0293, 66) // ZC_BOSS_INFO
+packetLen(0x0293, 66)
#endif
// Packet: 0x0294
#if PACKETVER >= 20061204
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
#endif
// Packet: 0x0295
#if PACKETVER >= 20061218
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 4)
#endif
// Packet: 0x0296
#if PACKETVER >= 20061218
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 4)
#endif
// Packet: 0x0297
#if PACKETVER >= 20061218
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 4)
#endif
// Packet: 0x0298
#if PACKETVER >= 20061211
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
#endif
// Packet: 0x0299
#if PACKETVER >= 20061211
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
#endif
// Packet: 0x029a
#if PACKETVER >= 20061218
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
#if PACKETVER >= 20061226
-packetLen(0x029b, 70) // ZC_MER_INIT
+packetLen(0x029b, 70)
#endif
// Packet: 0x029c
#if PACKETVER >= 20061226
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
#endif
// Packet: 0x029d
#if PACKETVER >= 20061226
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
#endif
// Packet: 0x029e
#if PACKETVER >= 20061226
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
#endif
// Packet: 0x029f
#if PACKETVER >= 20061226
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
#endif
// Packet: 0x02a0
#if PACKETVER >= 20061226
-packetLen(0x02a0, 10) // CZ_UNUSED_MER_USE_SKILL
+packetLen(0x02a0, 10)
#endif
// Packet: 0x02a1
#if PACKETVER >= 20061226
-packetLen(0x02a1, 4) // CZ_UNUSED_MER_UPGRADE_SKILLLEVEL
+packetLen(0x02a1, 4)
#endif
// Packet: 0x02a2
#if PACKETVER >= 20061226
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
#endif
diff --git a/src/common/packets/packets2006_len_sak.h b/src/common/packets/packets2006_len_sak.h
index 8b48e1d1d..c01f5d51b 100644
--- a/src/common/packets/packets2006_len_sak.h
+++ b/src/common/packets/packets2006_len_sak.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,140 +25,140 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20061023
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
#elif PACKETVER >= 20060102
-packetLen(0x006d, 108) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 108)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20060327
-packetLen(0x0072, 26) // CZ_ENTER
+packetLen(0x0072, 26)
#elif PACKETVER >= 20060102
-packetLen(0x0072, 34) // CZ_ENTER
+packetLen(0x0072, 34)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20060327
-packetLen(0x007e, 120) // CZ_REQUEST_TIME
+packetLen(0x007e, 120)
#elif PACKETVER >= 20060102
-packetLen(0x007e, 113) // CZ_REQUEST_TIME
+packetLen(0x007e, 113)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20060327
-packetLen(0x0085, 12) // CZ_REQUEST_MOVE
+packetLen(0x0085, 12)
#elif PACKETVER >= 20060102
-packetLen(0x0085, 17) // CZ_REQUEST_MOVE
+packetLen(0x0085, 17)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 13) // CZ_REQUEST_ACT
+packetLen(0x0089, 13)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20060327
@@ -168,95 +168,95 @@ packetLen(0x008c, 8)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20060327
-packetLen(0x0094, 23) // CZ_REQNAME
+packetLen(0x0094, 23)
#elif PACKETVER >= 20060102
-packetLen(0x0094, 31) // CZ_REQNAME
+packetLen(0x0094, 31)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20060327
-packetLen(0x009b, 37) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 37)
#elif PACKETVER >= 20060102
-packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 32)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20060327
-packetLen(0x009f, 24) // CZ_ITEM_PICKUP
+packetLen(0x009f, 24)
#elif PACKETVER >= 20060102
-packetLen(0x009f, 19) // CZ_ITEM_PICKUP
+packetLen(0x009f, 19)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20060327
-packetLen(0x00a2, 11) // CZ_ITEM_THROW
+packetLen(0x00a2, 11)
#elif PACKETVER >= 20060102
-packetLen(0x00a2, 9) // CZ_ITEM_THROW
+packetLen(0x00a2, 9)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20060327
@@ -266,1666 +266,1666 @@ packetLen(0x00a7, 11)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 13)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20060327
-packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+packetLen(0x00f7, 26)
#elif PACKETVER >= 20060102
-packetLen(0x00f7, 18) // CZ_REQUEST_TIME
+packetLen(0x00f7, 18)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20060327
-packetLen(0x0113, 40) // CZ_USE_SKILL
+packetLen(0x0113, 40)
#elif PACKETVER >= 20060102
-packetLen(0x0113, 33) // CZ_USE_SKILL
+packetLen(0x0113, 33)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20060327
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
#elif PACKETVER >= 20060102
-packetLen(0x0116, 12) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 12)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20060327
-packetLen(0x0190, 18) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 18)
#elif PACKETVER >= 20060102
-packetLen(0x0190, 24) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 24)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
#if PACKETVER >= 20061207
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
#elif PACKETVER >= 20060102
-packetLen(0x023e, 4) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 4)
#endif
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
#if PACKETVER >= 20060109
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
#endif
// Packet: 0x0262
#if PACKETVER >= 20060109
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
#endif
// Packet: 0x0263
#if PACKETVER >= 20060109
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
#endif
// Packet: 0x0264
#if PACKETVER >= 20060109
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
#endif
// Packet: 0x0265
#if PACKETVER >= 20060109
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
#endif
// Packet: 0x0266
#if PACKETVER >= 20060109
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
#endif
// Packet: 0x0267
#if PACKETVER >= 20060109
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
#endif
// Packet: 0x0268
#if PACKETVER >= 20060109
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
#endif
// Packet: 0x0269
#if PACKETVER >= 20060109
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
#endif
// Packet: 0x026a
#if PACKETVER >= 20060109
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
#endif
// Packet: 0x026b
#if PACKETVER >= 20060109
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
#endif
// Packet: 0x026c
#if PACKETVER >= 20060109
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
#endif
// Packet: 0x026d
#if PACKETVER >= 20060109
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
#endif
// Packet: 0x026f
#if PACKETVER >= 20060109
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
#endif
// Packet: 0x0270
#if PACKETVER >= 20060109
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
#endif
// Packet: 0x0271
#if PACKETVER >= 20060126
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
#elif PACKETVER >= 20060109
-packetLen(0x0271, 38) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 38)
#endif
// Packet: 0x0272
#if PACKETVER >= 20060109
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
#endif
// Packet: 0x0273
#if PACKETVER >= 20060313
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
#elif PACKETVER >= 20060306
-packetLen(0x0273, 6) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 6)
#endif
// Packet: 0x0274
#if PACKETVER >= 20060306
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#endif
// Packet: 0x0277
#if PACKETVER >= 20060424
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
#endif
// Packet: 0x0278
#if PACKETVER >= 20060607
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
#endif
// Packet: 0x0279
#if PACKETVER >= 20060607
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
#endif
// Packet: 0x027a
#if PACKETVER >= 20060607
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
#endif
// Packet: 0x027b
#if PACKETVER >= 20060626
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
#endif
// Packet: 0x027c
#if PACKETVER >= 20060626
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
#endif
// Packet: 0x027d
#if PACKETVER >= 20060703
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
#endif
// Packet: 0x027e
#if PACKETVER >= 20060710
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
#endif
// Packet: 0x027f
#if PACKETVER >= 20060821
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
#elif PACKETVER >= 20060731
-packetLen(0x027f, 4) // CA_CLIENT_TYPE
+packetLen(0x027f, 4)
#endif
// Packet: 0x0280
#if PACKETVER >= 20060918
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
#elif PACKETVER >= 20060904
-packetLen(0x0280, 10) // ZC_GANGSI_POINT
+packetLen(0x0280, 10)
#endif
// Packet: 0x0281
#if PACKETVER >= 20060918
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#elif PACKETVER >= 20060904
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#endif
// Packet: 0x0282
#if PACKETVER >= 20060918
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
#elif PACKETVER >= 20060904
-packetLen(0x0282, 282) // ZC_GANGSI_RANK
+packetLen(0x0282, 282)
#endif
// Packet: 0x0283
#if PACKETVER >= 20060904
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
#endif
// Packet: 0x0284
#if PACKETVER >= 20060911
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
#endif
// Packet: 0x0285
#if PACKETVER >= 20060918
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
#endif
// Packet: 0x0286
#if PACKETVER >= 20060918
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
#endif
// Packet: 0x0287
#if PACKETVER >= 20061204
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#endif
// Packet: 0x0288
#if PACKETVER >= 20061204
-packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 6)
#endif
// Packet: 0x0289
#if PACKETVER >= 20061204
-packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 8)
#endif
// Packet: 0x028a
#if PACKETVER >= 20060927
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
#endif
// Packet: 0x028b
#if PACKETVER >= 20061023
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
#endif
// Packet: 0x028c
#if PACKETVER >= 20061023
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
#endif
// Packet: 0x028d
#if PACKETVER >= 20061023
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
#endif
// Packet: 0x028e
#if PACKETVER >= 20061023
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
#endif
// Packet: 0x028f
#if PACKETVER >= 20061023
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
#endif
// Packet: 0x0290
#if PACKETVER >= 20061023
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
#endif
// Packet: 0x0291
#if PACKETVER >= 20061030
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
#endif
// Packet: 0x0292
#if PACKETVER >= 20061030
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
#endif
// Packet: 0x0293
#if PACKETVER >= 20061204
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
#elif PACKETVER >= 20061030
-packetLen(0x0293, 66) // ZC_BOSS_INFO
+packetLen(0x0293, 66)
#endif
// Packet: 0x0294
#if PACKETVER >= 20061204
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
#endif
// Packet: 0x0295
#if PACKETVER >= 20061218
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 4)
#endif
// Packet: 0x0296
#if PACKETVER >= 20061218
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 4)
#endif
// Packet: 0x0297
#if PACKETVER >= 20061218
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20061211
-packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 4)
#endif
// Packet: 0x0298
#if PACKETVER >= 20061211
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
#endif
// Packet: 0x0299
#if PACKETVER >= 20061211
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
#endif
// Packet: 0x029a
#if PACKETVER >= 20061218
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
#if PACKETVER >= 20061226
-packetLen(0x029b, 70) // ZC_MER_INIT
+packetLen(0x029b, 70)
#endif
// Packet: 0x029c
#if PACKETVER >= 20061226
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
#endif
// Packet: 0x029d
#if PACKETVER >= 20061226
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
#endif
// Packet: 0x029e
#if PACKETVER >= 20061226
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
#endif
// Packet: 0x029f
#if PACKETVER >= 20061226
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
#endif
// Packet: 0x02a0
#if PACKETVER >= 20061226
-packetLen(0x02a0, 10) // CZ_UNUSED_MER_USE_SKILL
+packetLen(0x02a0, 10)
#endif
// Packet: 0x02a1
#if PACKETVER >= 20061226
-packetLen(0x02a1, 4) // CZ_UNUSED_MER_UPGRADE_SKILLLEVEL
+packetLen(0x02a1, 4)
#endif
// Packet: 0x02a2
#if PACKETVER >= 20061226
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
#endif
diff --git a/src/common/packets/packets2007_len_ad.h b/src/common/packets/packets2007_len_ad.h
index 1d952b2da..d620d36e8 100644
--- a/src/common/packets/packets2007_len_ad.h
+++ b/src/common/packets/packets2007_len_ad.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,156 +25,156 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20070212
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#elif PACKETVER >= 20070108
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#elif PACKETVER >= 20070102
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
#if PACKETVER >= 20071127
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
#elif PACKETVER >= 20070102
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
#endif
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
#if PACKETVER >= 20071127
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#elif PACKETVER >= 20070102
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
#endif
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20070212
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
#elif PACKETVER >= 20070108
-packetLen(0x007e, 109) // CZ_REQUEST_TIME
+packetLen(0x007e, 109)
#elif PACKETVER >= 20070102
-packetLen(0x007e, 102) // CZ_REQUEST_TIME
+packetLen(0x007e, 102)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20070212
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
#elif PACKETVER >= 20070108
-packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+packetLen(0x0085, 18)
#elif PACKETVER >= 20070102
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20070212
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20070108
-packetLen(0x0089, 14) // CZ_REQUEST_ACT
+packetLen(0x0089, 14)
#elif PACKETVER >= 20070102
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20070212
@@ -186,103 +186,103 @@ packetLen(0x008c, 11)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20070212
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
#elif PACKETVER >= 20070108
-packetLen(0x0094, 25) // CZ_REQNAME
+packetLen(0x0094, 25)
#elif PACKETVER >= 20070102
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20070212
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
#elif PACKETVER >= 20070108
-packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 32)
#elif PACKETVER >= 20070102
-packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 26)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20070212
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
#elif PACKETVER >= 20070108
-packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+packetLen(0x009f, 18)
#elif PACKETVER >= 20070102
-packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+packetLen(0x009f, 14)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20070212
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
#elif PACKETVER >= 20070108
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20070102
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20070212
@@ -294,1738 +294,1738 @@ packetLen(0x00a7, 8)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20070212
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
#elif PACKETVER >= 20070108
-packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 14)
#elif PACKETVER >= 20070102
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20070212
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
#elif PACKETVER >= 20070108
-packetLen(0x00f7, 12) // CZ_REQUEST_TIME
+packetLen(0x00f7, 12)
#elif PACKETVER >= 20070102
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20070212
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
#elif PACKETVER >= 20070108
-packetLen(0x0113, 29) // CZ_USE_SKILL
+packetLen(0x0113, 29)
#elif PACKETVER >= 20070102
-packetLen(0x0113, 22) // CZ_USE_SKILL
+packetLen(0x0113, 22)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20070212
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
#elif PACKETVER >= 20070108
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20070102
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20070212
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
#elif PACKETVER >= 20070108
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#elif PACKETVER >= 20070102
-packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 19)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
#if PACKETVER >= 20070528
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20070102
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
#endif
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
#if PACKETVER >= 20071127
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#elif PACKETVER >= 20070102
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
#endif
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
#if PACKETVER >= 20070423
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20070416
// removed
#elif PACKETVER >= 20070227
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#endif
// Packet: 0x0288
#if PACKETVER >= 20070711
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
#elif PACKETVER >= 20070423
-packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 6)
#elif PACKETVER >= 20070416
// removed
#elif PACKETVER >= 20070227
-packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 6)
#endif
// Packet: 0x0289
#if PACKETVER >= 20070711
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
#elif PACKETVER >= 20070423
-packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 8)
#elif PACKETVER >= 20070416
// removed
#elif PACKETVER >= 20070227
-packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 8)
#endif
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
#if PACKETVER >= 20071127
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
#elif PACKETVER >= 20070122
-packetLen(0x029b, 72) // ZC_MER_INIT
+packetLen(0x029b, 72)
#elif PACKETVER >= 20070102
-packetLen(0x029b, 70) // ZC_MER_INIT
+packetLen(0x029b, 70)
#endif
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a3
#if PACKETVER >= 20070129
// removed
#elif PACKETVER >= 20070122
-packetLen(0x02a3, 18) // ZC_GAMEGUARD_LINGO_KEY
+packetLen(0x02a3, 18)
#endif
// Packet: 0x02a4
#if PACKETVER >= 20070129
// removed
#elif PACKETVER >= 20070122
-packetLen(0x02a4, 2) // CZ_GAMEGUARD_LINGO_READY
+packetLen(0x02a4, 2)
#endif
// Packet: 0x02a5
#if PACKETVER >= 20070129
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
#endif
// Packet: 0x02a6
#if PACKETVER >= 20070611
-packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 22)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20070611
-packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 22)
#endif
// Packet: 0x02a8
#if PACKETVER >= 20070611
-packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+packetLen(0x02a8, 162)
#endif
// Packet: 0x02a9
#if PACKETVER >= 20070611
-packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+packetLen(0x02a9, 58)
#endif
// Packet: 0x02aa
#if PACKETVER >= 20070205
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
#endif
// Packet: 0x02ab
#if PACKETVER >= 20070205
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
#endif
// Packet: 0x02ac
#if PACKETVER >= 20070205
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
#endif
// Packet: 0x02ad
#if PACKETVER >= 20070227
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
#endif
// Packet: 0x02ae
#if PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070711
-packetLen(0x02ae, 10) // ZC_UNUSED_SRPACKET_INIT
+packetLen(0x02ae, 10)
#endif
// Packet: 0x02af
#if PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070711
-packetLen(0x02af, 2) // CZ_SRPACKET_START
+packetLen(0x02af, 2)
#endif
// Packet: 0x02b0
#if PACKETVER >= 20070514
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
#endif
// Packet: 0x02b1
#if PACKETVER >= 20070724
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
#endif
// Packet: 0x02b2
#if PACKETVER >= 20070807
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
#endif
// Packet: 0x02b3
#if PACKETVER >= 20070821
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
#elif PACKETVER >= 20070813
-packetLen(0x02b3, 103) // ZC_ADD_QUEST
+packetLen(0x02b3, 103)
#elif PACKETVER >= 20070731
-packetLen(0x02b3, 31) // ZC_ADD_QUEST
+packetLen(0x02b3, 31)
#elif PACKETVER >= 20070703
-packetLen(0x02b3, 7) // ZC_ADD_QUEST
+packetLen(0x02b3, 7)
#elif PACKETVER >= 20070622
-packetLen(0x02b3, 26) // ZC_ADD_QUEST
+packetLen(0x02b3, 26)
#endif
// Packet: 0x02b4
#if PACKETVER >= 20070622
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
#endif
// Packet: 0x02b5
#if PACKETVER >= 20070813
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
#elif PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070703
-packetLen(0x02b5, 12) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, 12)
#elif PACKETVER >= 20070622
-packetLen(0x02b5, 18) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, 18)
#endif
// Packet: 0x02b6
#if PACKETVER >= 20070622
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
#endif
// Packet: 0x02b7
#if PACKETVER >= 20070807
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
#elif PACKETVER >= 20070622
-packetLen(0x02b7, 10) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 10)
#endif
// Packet: 0x02b8
#if PACKETVER >= 20070604
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
#endif
// Packet: 0x02b9
#if PACKETVER >= 20070611
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
#endif
// Packet: 0x02ba
#if PACKETVER >= 20070618
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
#elif PACKETVER >= 20070611
-packetLen(0x02ba, 9) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 9)
#endif
// Packet: 0x02bb
#if PACKETVER >= 20070622
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
#elif PACKETVER >= 20070605
-packetLen(0x02bb, 4) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 4)
#endif
// Packet: 0x02bc
#if PACKETVER >= 20070622
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
#endif
// Packet: 0x02bf
#if PACKETVER >= 20070807
-packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+packetLen(0x02bf, 10)
#endif
// Packet: 0x02c0
#if PACKETVER >= 20070807
-packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+packetLen(0x02c0, 2)
#endif
// Packet: 0x02c1
#if PACKETVER >= 20070813
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
#endif
// Packet: 0x02c2
#if PACKETVER >= 20070821
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
#endif
// Packet: 0x02c3
@@ -2037,186 +2037,186 @@ packetLen(0x02c3, 4)
// Packet: 0x02c4
#if PACKETVER >= 20070821
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#endif
// Packet: 0x02c5
#if PACKETVER >= 20070821
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
#endif
// Packet: 0x02c6
#if PACKETVER >= 20070821
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
#endif
// Packet: 0x02c7
#if PACKETVER >= 20070821
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
#endif
// Packet: 0x02c8
#if PACKETVER >= 20070821
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
#endif
// Packet: 0x02c9
#if PACKETVER >= 20070821
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
#endif
// Packet: 0x02ca
#if PACKETVER >= 20070821
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
#endif
// Packet: 0x02cb
#if PACKETVER >= 20071023
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
#elif PACKETVER >= 20070828
-packetLen(0x02cb, 20) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 20)
#endif
// Packet: 0x02cc
#if PACKETVER >= 20070828
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
#endif
// Packet: 0x02cd
#if PACKETVER >= 20071023
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
#elif PACKETVER >= 20070828
-packetLen(0x02cd, 26) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 26)
#endif
// Packet: 0x02ce
#if PACKETVER >= 20070828
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
#endif
// Packet: 0x02cf
#if PACKETVER >= 20070828
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
#endif
// Packet: 0x02d0
#if PACKETVER >= 20070904
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
#endif
// Packet: 0x02d1
#if PACKETVER >= 20070904
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
#endif
// Packet: 0x02d2
#if PACKETVER >= 20070904
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
#endif
// Packet: 0x02d3
#if PACKETVER >= 20070904
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
#endif
// Packet: 0x02d4
#if PACKETVER >= 20070904
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
#if PACKETVER >= 20070911
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
#endif
// Packet: 0x02d6
#if PACKETVER >= 20070918
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
#endif
// Packet: 0x02d7
#if PACKETVER >= 20070918
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
#endif
// Packet: 0x02d8
#if PACKETVER >= 20070918
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
#endif
// Packet: 0x02d9
#if PACKETVER >= 20070918
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
#endif
// Packet: 0x02da
#if PACKETVER >= 20070918
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
#endif
// Packet: 0x02db
#if PACKETVER >= 20071002
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
#endif
// Packet: 0x02dc
#if PACKETVER >= 20071002
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
#endif
// Packet: 0x02dd
#if PACKETVER >= 20071002
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
#endif
// Packet: 0x02de
#if PACKETVER >= 20071002
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
#endif
// Packet: 0x02df
#if PACKETVER >= 20071002
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
#endif
// Packet: 0x02e0
#if PACKETVER >= 20071002
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
#endif
// Packet: 0x02e1
#if PACKETVER >= 20071113
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
#endif
// Packet: 0x02e2
#if PACKETVER >= 20071120
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
#endif
// Packet: 0x02e3
#if PACKETVER >= 20071120
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
#endif
// Packet: 0x02e4
#if PACKETVER >= 20071120
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
#endif
// Packet: 0x02e5
#if PACKETVER >= 20071120
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
#endif
// Packet: 0x02e6
#if PACKETVER >= 20071120
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
#endif
// Packet: 0x02e7
#if PACKETVER >= 20071127
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
#endif
diff --git a/src/common/packets/packets2007_len_main.h b/src/common/packets/packets2007_len_main.h
index f7c5faaf0..953026a6b 100644
--- a/src/common/packets/packets2007_len_main.h
+++ b/src/common/packets/packets2007_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,156 +25,156 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20070212
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#elif PACKETVER >= 20070108
-packetLen(0x0072, 14) // CZ_ENTER
+packetLen(0x0072, 14)
#elif PACKETVER >= 20070102
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
#if PACKETVER >= 20071127
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
#elif PACKETVER >= 20070102
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
#endif
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
#if PACKETVER >= 20071127
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#elif PACKETVER >= 20070102
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
#endif
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20070212
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
#elif PACKETVER >= 20070108
-packetLen(0x007e, 109) // CZ_REQUEST_TIME
+packetLen(0x007e, 109)
#elif PACKETVER >= 20070102
-packetLen(0x007e, 102) // CZ_REQUEST_TIME
+packetLen(0x007e, 102)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20070212
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
#elif PACKETVER >= 20070108
-packetLen(0x0085, 18) // CZ_REQUEST_MOVE
+packetLen(0x0085, 18)
#elif PACKETVER >= 20070102
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20070212
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20070108
-packetLen(0x0089, 14) // CZ_REQUEST_ACT
+packetLen(0x0089, 14)
#elif PACKETVER >= 20070102
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20070212
@@ -186,103 +186,103 @@ packetLen(0x008c, 11)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20070212
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
#elif PACKETVER >= 20070108
-packetLen(0x0094, 25) // CZ_REQNAME
+packetLen(0x0094, 25)
#elif PACKETVER >= 20070102
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20070212
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
#elif PACKETVER >= 20070108
-packetLen(0x009b, 32) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 32)
#elif PACKETVER >= 20070102
-packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 26)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20070212
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
#elif PACKETVER >= 20070108
-packetLen(0x009f, 18) // CZ_ITEM_PICKUP
+packetLen(0x009f, 18)
#elif PACKETVER >= 20070102
-packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+packetLen(0x009f, 14)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20070212
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
#elif PACKETVER >= 20070108
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20070102
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20070212
@@ -294,1732 +294,1732 @@ packetLen(0x00a7, 8)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20070212
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
#elif PACKETVER >= 20070108
-packetLen(0x00f5, 14) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 14)
#elif PACKETVER >= 20070102
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20070212
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
#elif PACKETVER >= 20070108
-packetLen(0x00f7, 12) // CZ_REQUEST_TIME
+packetLen(0x00f7, 12)
#elif PACKETVER >= 20070102
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20070212
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
#elif PACKETVER >= 20070108
-packetLen(0x0113, 29) // CZ_USE_SKILL
+packetLen(0x0113, 29)
#elif PACKETVER >= 20070102
-packetLen(0x0113, 22) // CZ_USE_SKILL
+packetLen(0x0113, 22)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20070212
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
#elif PACKETVER >= 20070108
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20070102
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20070212
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
#elif PACKETVER >= 20070108
-packetLen(0x0190, 9) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 9)
#elif PACKETVER >= 20070102
-packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 19)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
#if PACKETVER >= 20070528
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20070102
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
#endif
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
#if PACKETVER >= 20071127
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#elif PACKETVER >= 20070102
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
#endif
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
#if PACKETVER >= 20070423
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20070416
// removed
#elif PACKETVER >= 20070227
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#endif
// Packet: 0x0288
#if PACKETVER >= 20070711
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
#elif PACKETVER >= 20070423
-packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 6)
#elif PACKETVER >= 20070416
// removed
#elif PACKETVER >= 20070227
-packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 6)
#endif
// Packet: 0x0289
#if PACKETVER >= 20070711
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
#elif PACKETVER >= 20070423
-packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 8)
#elif PACKETVER >= 20070416
// removed
#elif PACKETVER >= 20070227
-packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 8)
#endif
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
#if PACKETVER >= 20071127
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
#elif PACKETVER >= 20070122
-packetLen(0x029b, 72) // ZC_MER_INIT
+packetLen(0x029b, 72)
#elif PACKETVER >= 20070102
-packetLen(0x029b, 70) // ZC_MER_INIT
+packetLen(0x029b, 70)
#endif
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a3
#if PACKETVER >= 20070129
// removed
#elif PACKETVER >= 20070122
-packetLen(0x02a3, 18) // ZC_GAMEGUARD_LINGO_KEY
+packetLen(0x02a3, 18)
#endif
// Packet: 0x02a4
#if PACKETVER >= 20070129
// removed
#elif PACKETVER >= 20070122
-packetLen(0x02a4, 2) // CZ_GAMEGUARD_LINGO_READY
+packetLen(0x02a4, 2)
#endif
// Packet: 0x02a5
#if PACKETVER >= 20070129
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
#endif
// Packet: 0x02a6
#if PACKETVER >= 20070611
-packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 22)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20070611
-packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 22)
#endif
// Packet: 0x02a8
#if PACKETVER >= 20070611
-packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+packetLen(0x02a8, 162)
#endif
// Packet: 0x02a9
#if PACKETVER >= 20070611
-packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+packetLen(0x02a9, 58)
#endif
// Packet: 0x02aa
#if PACKETVER >= 20070205
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
#endif
// Packet: 0x02ab
#if PACKETVER >= 20070205
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
#endif
// Packet: 0x02ac
#if PACKETVER >= 20070205
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
#endif
// Packet: 0x02ad
#if PACKETVER >= 20070227
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
#endif
// Packet: 0x02ae
#if PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070711
-packetLen(0x02ae, 10) // ZC_UNUSED_SRPACKET_INIT
+packetLen(0x02ae, 10)
#endif
// Packet: 0x02af
#if PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070711
-packetLen(0x02af, 2) // CZ_SRPACKET_START
+packetLen(0x02af, 2)
#endif
// Packet: 0x02b0
#if PACKETVER >= 20070514
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
#endif
// Packet: 0x02b1
#if PACKETVER >= 20070724
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
#endif
// Packet: 0x02b2
#if PACKETVER >= 20070807
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
#endif
// Packet: 0x02b3
#if PACKETVER >= 20070821
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
#elif PACKETVER >= 20070813
-packetLen(0x02b3, 103) // ZC_ADD_QUEST
+packetLen(0x02b3, 103)
#elif PACKETVER >= 20070731
-packetLen(0x02b3, 31) // ZC_ADD_QUEST
+packetLen(0x02b3, 31)
#elif PACKETVER >= 20070703
-packetLen(0x02b3, 7) // ZC_ADD_QUEST
+packetLen(0x02b3, 7)
#elif PACKETVER >= 20070622
-packetLen(0x02b3, 26) // ZC_ADD_QUEST
+packetLen(0x02b3, 26)
#endif
// Packet: 0x02b4
#if PACKETVER >= 20070622
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
#endif
// Packet: 0x02b5
#if PACKETVER >= 20070813
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
#elif PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070703
-packetLen(0x02b5, 12) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, 12)
#elif PACKETVER >= 20070622
-packetLen(0x02b5, 18) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, 18)
#endif
// Packet: 0x02b6
#if PACKETVER >= 20070622
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
#endif
// Packet: 0x02b7
#if PACKETVER >= 20070807
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
#elif PACKETVER >= 20070622
-packetLen(0x02b7, 10) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 10)
#endif
// Packet: 0x02b8
#if PACKETVER >= 20070604
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
#endif
// Packet: 0x02b9
#if PACKETVER >= 20070611
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
#endif
// Packet: 0x02ba
#if PACKETVER >= 20070618
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
#elif PACKETVER >= 20070611
-packetLen(0x02ba, 9) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 9)
#endif
// Packet: 0x02bb
#if PACKETVER >= 20070622
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
#elif PACKETVER >= 20070605
-packetLen(0x02bb, 4) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 4)
#endif
// Packet: 0x02bc
#if PACKETVER >= 20070622
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
#endif
// Packet: 0x02bf
#if PACKETVER >= 20070807
-packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+packetLen(0x02bf, 10)
#endif
// Packet: 0x02c0
#if PACKETVER >= 20070807
-packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+packetLen(0x02c0, 2)
#endif
// Packet: 0x02c1
#if PACKETVER >= 20070813
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
#endif
// Packet: 0x02c2
#if PACKETVER >= 20070821
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
#endif
// Packet: 0x02c3
@@ -2031,186 +2031,186 @@ packetLen(0x02c3, 4)
// Packet: 0x02c4
#if PACKETVER >= 20070821
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#endif
// Packet: 0x02c5
#if PACKETVER >= 20070821
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
#endif
// Packet: 0x02c6
#if PACKETVER >= 20070821
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
#endif
// Packet: 0x02c7
#if PACKETVER >= 20070821
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
#endif
// Packet: 0x02c8
#if PACKETVER >= 20070821
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
#endif
// Packet: 0x02c9
#if PACKETVER >= 20070821
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
#endif
// Packet: 0x02ca
#if PACKETVER >= 20070821
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
#endif
// Packet: 0x02cb
#if PACKETVER >= 20071023
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
#elif PACKETVER >= 20070828
-packetLen(0x02cb, 20) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 20)
#endif
// Packet: 0x02cc
#if PACKETVER >= 20070828
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
#endif
// Packet: 0x02cd
#if PACKETVER >= 20071023
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
#elif PACKETVER >= 20070828
-packetLen(0x02cd, 26) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 26)
#endif
// Packet: 0x02ce
#if PACKETVER >= 20070828
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
#endif
// Packet: 0x02cf
#if PACKETVER >= 20070828
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
#endif
// Packet: 0x02d0
#if PACKETVER >= 20070904
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
#endif
// Packet: 0x02d1
#if PACKETVER >= 20070904
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
#endif
// Packet: 0x02d2
#if PACKETVER >= 20070904
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
#endif
// Packet: 0x02d3
#if PACKETVER >= 20070904
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
#endif
// Packet: 0x02d4
#if PACKETVER >= 20070904
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
#if PACKETVER >= 20070911
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
#endif
// Packet: 0x02d6
#if PACKETVER >= 20070918
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
#endif
// Packet: 0x02d7
#if PACKETVER >= 20070918
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
#endif
// Packet: 0x02d8
#if PACKETVER >= 20070918
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
#endif
// Packet: 0x02d9
#if PACKETVER >= 20070918
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
#endif
// Packet: 0x02da
#if PACKETVER >= 20070918
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
#endif
// Packet: 0x02db
#if PACKETVER >= 20071002
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
#endif
// Packet: 0x02dc
#if PACKETVER >= 20071002
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
#endif
// Packet: 0x02dd
#if PACKETVER >= 20071002
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
#endif
// Packet: 0x02de
#if PACKETVER >= 20071002
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
#endif
// Packet: 0x02df
#if PACKETVER >= 20071002
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
#endif
// Packet: 0x02e0
#if PACKETVER >= 20071002
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
#endif
// Packet: 0x02e1
#if PACKETVER >= 20071113
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
#endif
// Packet: 0x02e2
#if PACKETVER >= 20071120
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
#endif
// Packet: 0x02e3
#if PACKETVER >= 20071120
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
#endif
// Packet: 0x02e4
#if PACKETVER >= 20071120
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
#endif
// Packet: 0x02e5
#if PACKETVER >= 20071120
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
#endif
// Packet: 0x02e6
#if PACKETVER >= 20071120
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
#endif
// Packet: 0x02e7
#if PACKETVER >= 20071127
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
#endif
diff --git a/src/common/packets/packets2007_len_sak.h b/src/common/packets/packets2007_len_sak.h
index 61bb5cd6d..d23b07d75 100644
--- a/src/common/packets/packets2007_len_sak.h
+++ b/src/common/packets/packets2007_len_sak.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,154 +25,154 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20070212
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
#elif PACKETVER >= 20070108
-packetLen(0x0072, 30) // CZ_ENTER
+packetLen(0x0072, 30)
#elif PACKETVER >= 20070102
-packetLen(0x0072, 26) // CZ_ENTER
+packetLen(0x0072, 26)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
#if PACKETVER >= 20071106
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
#elif PACKETVER >= 20070102
-packetLen(0x0078, 54) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 54)
#endif
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
#if PACKETVER >= 20071106
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#elif PACKETVER >= 20070102
-packetLen(0x007c, 41) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 41)
#endif
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20070212
-packetLen(0x007e, 102) // CZ_REQUEST_TIME
+packetLen(0x007e, 102)
#elif PACKETVER >= 20070102
-packetLen(0x007e, 120) // CZ_REQUEST_TIME
+packetLen(0x007e, 120)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20070212
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
#elif PACKETVER >= 20070108
-packetLen(0x0085, 14) // CZ_REQUEST_MOVE
+packetLen(0x0085, 14)
#elif PACKETVER >= 20070102
-packetLen(0x0085, 12) // CZ_REQUEST_MOVE
+packetLen(0x0085, 12)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20070212
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
#elif PACKETVER >= 20070108
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#elif PACKETVER >= 20070102
-packetLen(0x0089, 13) // CZ_REQUEST_ACT
+packetLen(0x0089, 13)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20070212
@@ -184,103 +184,103 @@ packetLen(0x008c, 12)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20070212
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
#elif PACKETVER >= 20070108
-packetLen(0x0094, 17) // CZ_REQNAME
+packetLen(0x0094, 17)
#elif PACKETVER >= 20070102
-packetLen(0x0094, 23) // CZ_REQNAME
+packetLen(0x0094, 23)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20070212
-packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 26)
#elif PACKETVER >= 20070108
-packetLen(0x009b, 35) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 35)
#elif PACKETVER >= 20070102
-packetLen(0x009b, 37) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 37)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20070212
-packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+packetLen(0x009f, 14)
#elif PACKETVER >= 20070108
-packetLen(0x009f, 21) // CZ_ITEM_PICKUP
+packetLen(0x009f, 21)
#elif PACKETVER >= 20070102
-packetLen(0x009f, 24) // CZ_ITEM_PICKUP
+packetLen(0x009f, 24)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20070212
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
#elif PACKETVER >= 20070108
-packetLen(0x00a2, 10) // CZ_ITEM_THROW
+packetLen(0x00a2, 10)
#elif PACKETVER >= 20070102
-packetLen(0x00a2, 11) // CZ_ITEM_THROW
+packetLen(0x00a2, 11)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20070108
@@ -290,1722 +290,1722 @@ packetLen(0x00a7, 15)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20070212
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
#elif PACKETVER >= 20070108
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
#elif PACKETVER >= 20070102
-packetLen(0x00f5, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 13)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20070212
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
#elif PACKETVER >= 20070108
-packetLen(0x00f7, 15) // CZ_REQUEST_TIME
+packetLen(0x00f7, 15)
#elif PACKETVER >= 20070102
-packetLen(0x00f7, 26) // CZ_REQUEST_TIME
+packetLen(0x00f7, 26)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20070212
-packetLen(0x0113, 22) // CZ_USE_SKILL
+packetLen(0x0113, 22)
#elif PACKETVER >= 20070102
-packetLen(0x0113, 40) // CZ_USE_SKILL
+packetLen(0x0113, 40)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20070212
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
#elif PACKETVER >= 20070108
-packetLen(0x0116, 19) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 19)
#elif PACKETVER >= 20070102
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20070212
-packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 19)
#elif PACKETVER >= 20070108
-packetLen(0x0190, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 10)
#elif PACKETVER >= 20070102
-packetLen(0x0190, 18) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 18)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
#if PACKETVER >= 20070507
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20070102
-packetLen(0x01fd, 4) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 4)
#endif
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
#if PACKETVER >= 20071106
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#elif PACKETVER >= 20070102
-packetLen(0x022c, 64) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 64)
#endif
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
#if PACKETVER >= 20070711
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
#elif PACKETVER >= 20070102
-packetLen(0x0288, 6) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 6)
#endif
// Packet: 0x0289
#if PACKETVER >= 20070711
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
#elif PACKETVER >= 20070102
-packetLen(0x0289, 8) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 8)
#endif
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
#if PACKETVER >= 20071106
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
#elif PACKETVER >= 20070122
-packetLen(0x029b, 72) // ZC_MER_INIT
+packetLen(0x029b, 72)
#elif PACKETVER >= 20070102
-packetLen(0x029b, 70) // ZC_MER_INIT
+packetLen(0x029b, 70)
#endif
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a3
#if PACKETVER >= 20070129
// removed
#elif PACKETVER >= 20070122
-packetLen(0x02a3, 18) // ZC_GAMEGUARD_LINGO_KEY
+packetLen(0x02a3, 18)
#endif
// Packet: 0x02a4
#if PACKETVER >= 20070129
// removed
#elif PACKETVER >= 20070122
-packetLen(0x02a4, 2) // CZ_GAMEGUARD_LINGO_READY
+packetLen(0x02a4, 2)
#endif
// Packet: 0x02a5
#if PACKETVER >= 20070129
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
#endif
// Packet: 0x02a6
#if PACKETVER >= 20070611
-packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 22)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20070611
-packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 22)
#endif
// Packet: 0x02a8
#if PACKETVER >= 20070611
-packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+packetLen(0x02a8, 162)
#endif
// Packet: 0x02a9
#if PACKETVER >= 20070611
-packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+packetLen(0x02a9, 58)
#endif
// Packet: 0x02aa
#if PACKETVER >= 20070205
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
#endif
// Packet: 0x02ab
#if PACKETVER >= 20070205
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
#endif
// Packet: 0x02ac
#if PACKETVER >= 20070205
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
#endif
// Packet: 0x02ad
#if PACKETVER >= 20070227
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
#endif
// Packet: 0x02ae
#if PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070711
-packetLen(0x02ae, 10) // ZC_UNUSED_SRPACKET_INIT
+packetLen(0x02ae, 10)
#endif
// Packet: 0x02af
#if PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070711
-packetLen(0x02af, 2) // CZ_SRPACKET_START
+packetLen(0x02af, 2)
#endif
// Packet: 0x02b0
#if PACKETVER >= 20070514
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
#endif
// Packet: 0x02b1
#if PACKETVER >= 20070724
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
#endif
// Packet: 0x02b2
#if PACKETVER >= 20070807
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
#endif
// Packet: 0x02b3
#if PACKETVER >= 20070821
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
#elif PACKETVER >= 20070813
-packetLen(0x02b3, 103) // ZC_ADD_QUEST
+packetLen(0x02b3, 103)
#elif PACKETVER >= 20070731
-packetLen(0x02b3, 31) // ZC_ADD_QUEST
+packetLen(0x02b3, 31)
#elif PACKETVER >= 20070628
-packetLen(0x02b3, 7) // ZC_ADD_QUEST
+packetLen(0x02b3, 7)
#elif PACKETVER >= 20070622
-packetLen(0x02b3, 26) // ZC_ADD_QUEST
+packetLen(0x02b3, 26)
#endif
// Packet: 0x02b4
#if PACKETVER >= 20070622
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
#endif
// Packet: 0x02b5
#if PACKETVER >= 20070813
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
#elif PACKETVER >= 20070807
// removed
#elif PACKETVER >= 20070628
-packetLen(0x02b5, 12) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, 12)
#elif PACKETVER >= 20070622
-packetLen(0x02b5, 18) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, 18)
#endif
// Packet: 0x02b6
#if PACKETVER >= 20070622
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
#endif
// Packet: 0x02b7
#if PACKETVER >= 20070807
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
#elif PACKETVER >= 20070622
-packetLen(0x02b7, 10) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 10)
#endif
// Packet: 0x02b8
#if PACKETVER >= 20070604
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
#endif
// Packet: 0x02b9
#if PACKETVER >= 20070611
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
#endif
// Packet: 0x02ba
#if PACKETVER >= 20070618
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
#elif PACKETVER >= 20070611
-packetLen(0x02ba, 9) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 9)
#endif
// Packet: 0x02bb
#if PACKETVER >= 20070622
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
#elif PACKETVER >= 20070605
-packetLen(0x02bb, 4) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 4)
#endif
// Packet: 0x02bc
#if PACKETVER >= 20070622
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
#endif
// Packet: 0x02bf
#if PACKETVER >= 20070807
-packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+packetLen(0x02bf, 10)
#endif
// Packet: 0x02c0
#if PACKETVER >= 20070807
-packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+packetLen(0x02c0, 2)
#endif
// Packet: 0x02c1
#if PACKETVER >= 20070813
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
#endif
// Packet: 0x02c2
#if PACKETVER >= 20070821
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
#endif
// Packet: 0x02c3
@@ -2017,186 +2017,186 @@ packetLen(0x02c3, 4)
// Packet: 0x02c4
#if PACKETVER >= 20070821
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#endif
// Packet: 0x02c5
#if PACKETVER >= 20070821
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
#endif
// Packet: 0x02c6
#if PACKETVER >= 20070821
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
#endif
// Packet: 0x02c7
#if PACKETVER >= 20070821
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
#endif
// Packet: 0x02c8
#if PACKETVER >= 20070821
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
#endif
// Packet: 0x02c9
#if PACKETVER >= 20070821
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
#endif
// Packet: 0x02ca
#if PACKETVER >= 20070821
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
#endif
// Packet: 0x02cb
#if PACKETVER >= 20071023
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
#elif PACKETVER >= 20070828
-packetLen(0x02cb, 20) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 20)
#endif
// Packet: 0x02cc
#if PACKETVER >= 20070828
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
#endif
// Packet: 0x02cd
#if PACKETVER >= 20071023
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
#elif PACKETVER >= 20070828
-packetLen(0x02cd, 26) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 26)
#endif
// Packet: 0x02ce
#if PACKETVER >= 20070828
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
#endif
// Packet: 0x02cf
#if PACKETVER >= 20070828
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
#endif
// Packet: 0x02d0
#if PACKETVER >= 20070904
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
#endif
// Packet: 0x02d1
#if PACKETVER >= 20070904
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
#endif
// Packet: 0x02d2
#if PACKETVER >= 20070904
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
#endif
// Packet: 0x02d3
#if PACKETVER >= 20070904
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
#endif
// Packet: 0x02d4
#if PACKETVER >= 20070904
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
#if PACKETVER >= 20070911
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
#endif
// Packet: 0x02d6
#if PACKETVER >= 20070918
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
#endif
// Packet: 0x02d7
#if PACKETVER >= 20070918
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
#endif
// Packet: 0x02d8
#if PACKETVER >= 20070918
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
#endif
// Packet: 0x02d9
#if PACKETVER >= 20070918
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
#endif
// Packet: 0x02da
#if PACKETVER >= 20070918
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
#endif
// Packet: 0x02db
#if PACKETVER >= 20071002
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
#endif
// Packet: 0x02dc
#if PACKETVER >= 20071002
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
#endif
// Packet: 0x02dd
#if PACKETVER >= 20071002
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
#endif
// Packet: 0x02de
#if PACKETVER >= 20071002
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
#endif
// Packet: 0x02df
#if PACKETVER >= 20071002
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
#endif
// Packet: 0x02e0
#if PACKETVER >= 20071002
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
#endif
// Packet: 0x02e1
#if PACKETVER >= 20071113
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
#endif
// Packet: 0x02e2
#if PACKETVER >= 20071120
-packetLen(0x02e2, 14) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 14)
#endif
// Packet: 0x02e3
#if PACKETVER >= 20071120
-packetLen(0x02e3, 25) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 25)
#endif
// Packet: 0x02e4
#if PACKETVER >= 20071120
-packetLen(0x02e4, 8) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 8)
#endif
// Packet: 0x02e5
#if PACKETVER >= 20071120
-packetLen(0x02e5, 8) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 8)
#endif
// Packet: 0x02e6
#if PACKETVER >= 20071120
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
#endif
// Packet: 0x02e7
#if PACKETVER >= 20071127
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
#endif
diff --git a/src/common/packets/packets2008_len_ad.h b/src/common/packets/packets2008_len_ad.h
index 82679ec63..1a1aa5f54 100644
--- a/src/common/packets/packets2008_len_ad.h
+++ b/src/common/packets/packets2008_len_ad.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,1623 +25,1623 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
#if PACKETVER >= 20080701
-packetLen(0x0073, 71) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 71)
#elif PACKETVER >= 20080624
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0073, 32) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 32)
#elif PACKETVER >= 20080603
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0073, 97) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 97)
#elif PACKETVER >= 20080429
-packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0073, 4) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 4)
#elif PACKETVER >= 20080415
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0073, 24) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 24)
#elif PACKETVER >= 20080401
-packetLen(0x0073, 10) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0073, 5) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0073, 3) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0073, 14) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0073, 53) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 53)
#elif PACKETVER >= 20080219
-packetLen(0x0073, 22) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 22)
#elif PACKETVER >= 20080124
-packetLen(0x0073, 66) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 66)
#elif PACKETVER >= 20080102
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
#endif
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
#if PACKETVER >= 20080701
-packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 30)
#elif PACKETVER >= 20080624
-packetLen(0x0075, 5) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 5)
#elif PACKETVER >= 20080617
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20080603
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0075, 12) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 12)
#elif PACKETVER >= 20080513
-packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 30)
#elif PACKETVER >= 20080507
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0075, 26) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 26)
#elif PACKETVER >= 20080422
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0075, 39) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 39)
#elif PACKETVER >= 20080325
-packetLen(0x0075, 4) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0075, 28) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 28)
#elif PACKETVER >= 20080124
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#endif
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
#if PACKETVER >= 20080701
-packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 2)
#elif PACKETVER >= 20080624
-packetLen(0x0077, 6) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 14)
#elif PACKETVER >= 20080603
-packetLen(0x0077, 86) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 86)
#elif PACKETVER >= 20080528
-packetLen(0x0077, 8) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 8)
#elif PACKETVER >= 20080520
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0077, 13) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 13)
#elif PACKETVER >= 20080401
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0077, 8) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0077, 30) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 14)
#elif PACKETVER >= 20080219
-packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0077, 3) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
#endif
// Packet: 0x0078
#if PACKETVER >= 20080701
-packetLen(0x0078, 20) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 20)
#elif PACKETVER >= 20080617
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 14)
#elif PACKETVER >= 20080528
-packetLen(0x0078, 22) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 22)
#elif PACKETVER >= 20080520
-packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 14)
#elif PACKETVER >= 20080507
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 14)
#elif PACKETVER >= 20080325
-packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0078, 2) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0078, 53) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 53)
#elif PACKETVER >= 20080304
-packetLen(0x0078, 11) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 11)
#elif PACKETVER >= 20080226
-packetLen(0x0078, 6) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0078, 32) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 32)
#elif PACKETVER >= 20080102
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
#endif
// Packet: 0x0079
#if PACKETVER >= 20080701
-packetLen(0x0079, 4) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 4)
#elif PACKETVER >= 20080617
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0079, 3) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0079, 54) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 54)
#elif PACKETVER >= 20080513
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0079, 57) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 57)
#elif PACKETVER >= 20080429
-packetLen(0x0079, 10) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0079, 14) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 14)
#elif PACKETVER >= 20080415
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0079, 6) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0079, 7) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 7)
#elif PACKETVER >= 20080318
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0079, 8) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0079, 4) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0079, 27) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 27)
#elif PACKETVER >= 20080124
-packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
#endif
// Packet: 0x007a
#if PACKETVER >= 20080701
-packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 2)
#elif PACKETVER >= 20080617
-packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 6)
#elif PACKETVER >= 20080610
-packetLen(0x007a, 53) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 53)
#elif PACKETVER >= 20080513
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x007a, 3) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 3)
#elif PACKETVER >= 20080429
-packetLen(0x007a, 8) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 8)
#elif PACKETVER >= 20080408
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x007a, 114) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 114)
#elif PACKETVER >= 20080325
-packetLen(0x007a, 22) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 22)
#elif PACKETVER >= 20080318
-packetLen(0x007a, 282) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 282)
#elif PACKETVER >= 20080311
-packetLen(0x007a, 5) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 5)
#elif PACKETVER >= 20080304
-packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x007a, 29) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 29)
#elif PACKETVER >= 20080124
-packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 2)
#elif PACKETVER >= 20080102
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
#endif
// Packet: 0x007b
#if PACKETVER >= 20080603
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080528
-packetLen(0x007b, 42) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 42)
#elif PACKETVER >= 20080520
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080513
-packetLen(0x007b, 11) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 11)
#elif PACKETVER >= 20080507
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080429
-packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 6)
#elif PACKETVER >= 20080415
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 2)
#elif PACKETVER >= 20080325
-packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 6)
#elif PACKETVER >= 20080318
-packetLen(0x007b, 11) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 11)
#elif PACKETVER >= 20080311
-packetLen(0x007b, 186) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 186)
#elif PACKETVER >= 20080304
-packetLen(0x007b, 30) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 30)
#elif PACKETVER >= 20080226
-packetLen(0x007b, 5) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 5)
#elif PACKETVER >= 20080219
-packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 2)
#elif PACKETVER >= 20080124
-packetLen(0x007b, 14) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 14)
#elif PACKETVER >= 20080102
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
#endif
// Packet: 0x007c
#if PACKETVER >= 20080701
-packetLen(0x007c, 5) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 5)
#elif PACKETVER >= 20080624
-packetLen(0x007c, 16) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 16)
#elif PACKETVER >= 20080528
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x007c, 3) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 3)
#elif PACKETVER >= 20080513
-packetLen(0x007c, 7) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 7)
#elif PACKETVER >= 20080429
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x007c, 65) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 65)
#elif PACKETVER >= 20080415
-packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 8)
#elif PACKETVER >= 20080408
-packetLen(0x007c, 11) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 11)
#elif PACKETVER >= 20080401
-packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 8)
#elif PACKETVER >= 20080325
-packetLen(0x007c, 10) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 10)
#elif PACKETVER >= 20080318
-packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 2)
#elif PACKETVER >= 20080311
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080304
-packetLen(0x007c, 3) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 3)
#elif PACKETVER >= 20080226
-packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 8)
#elif PACKETVER >= 20080219
-packetLen(0x007c, 186) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 186)
#elif PACKETVER >= 20080124
-packetLen(0x007c, 31) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 31)
#elif PACKETVER >= 20080102
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#endif
// Packet: 0x007d
#if PACKETVER >= 20080617
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080610
-packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 26)
#elif PACKETVER >= 20080603
-packetLen(0x007d, 6) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 6)
#elif PACKETVER >= 20080528
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x007d, 9) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 9)
#elif PACKETVER >= 20080513
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20080507
-packetLen(0x007d, 10) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 10)
#elif PACKETVER >= 20080429
-packetLen(0x007d, 11) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 11)
#elif PACKETVER >= 20080422
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20080415
-packetLen(0x007d, 30) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 30)
#elif PACKETVER >= 20080401
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080325
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20080311
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080304
-packetLen(0x007d, 14) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 14)
#elif PACKETVER >= 20080226
-packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 26)
#elif PACKETVER >= 20080219
-packetLen(0x007d, 3) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 3)
#elif PACKETVER >= 20080124
-packetLen(0x007d, 22) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 22)
#elif PACKETVER >= 20080102
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#endif
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
#if PACKETVER >= 20080624
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x007f, 5) // ZC_NOTIFY_TIME
+packetLen(0x007f, 5)
#elif PACKETVER >= 20080603
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080528
-packetLen(0x007f, 13) // ZC_NOTIFY_TIME
+packetLen(0x007f, 13)
#elif PACKETVER >= 20080520
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20080507
-packetLen(0x007f, 3) // ZC_NOTIFY_TIME
+packetLen(0x007f, 3)
#elif PACKETVER >= 20080429
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
#elif PACKETVER >= 20080422
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080415
-packetLen(0x007f, 7) // ZC_NOTIFY_TIME
+packetLen(0x007f, 7)
#elif PACKETVER >= 20080408
-packetLen(0x007f, 3) // ZC_NOTIFY_TIME
+packetLen(0x007f, 3)
#elif PACKETVER >= 20080401
-packetLen(0x007f, 182) // ZC_NOTIFY_TIME
+packetLen(0x007f, 182)
#elif PACKETVER >= 20080325
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20080318
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080311
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20080304
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080226
-packetLen(0x007f, 54) // ZC_NOTIFY_TIME
+packetLen(0x007f, 54)
#elif PACKETVER >= 20080219
-packetLen(0x007f, 4) // ZC_NOTIFY_TIME
+packetLen(0x007f, 4)
#elif PACKETVER >= 20080124
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080102
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
#endif
// Packet: 0x0080
#if PACKETVER >= 20080624
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0080, 2) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 2)
#elif PACKETVER >= 20080603
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0080, 22) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 22)
#elif PACKETVER >= 20080520
-packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0080, 6) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0080, 5) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 5)
#elif PACKETVER >= 20080325
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0080, 60) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 60)
#elif PACKETVER >= 20080311
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0080, 28) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 28)
#elif PACKETVER >= 20080226
-packetLen(0x0080, 4) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
#endif
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
#if PACKETVER >= 20080624
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0083, 34) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 34)
#elif PACKETVER >= 20080610
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0083, 13) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 13)
#elif PACKETVER >= 20080528
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0083, 4) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 4)
#elif PACKETVER >= 20080513
-packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 5)
#elif PACKETVER >= 20080507
-packetLen(0x0083, 30) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0083, 282) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 282)
#elif PACKETVER >= 20080422
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 5)
#elif PACKETVER >= 20080408
-packetLen(0x0083, 28) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 28)
#elif PACKETVER >= 20080325
-packetLen(0x0083, 30) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 30)
#elif PACKETVER >= 20080318
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0083, 21) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 21)
#elif PACKETVER >= 20080304
-packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
#endif
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
#if PACKETVER >= 20080701
-packetLen(0x0086, 2) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0086, 3) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0086, 17) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 17)
#elif PACKETVER >= 20080520
-packetLen(0x0086, 30) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0086, 32) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 32)
#elif PACKETVER >= 20080429
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0086, 24) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 24)
#elif PACKETVER >= 20080415
-packetLen(0x0086, 8) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 8)
#elif PACKETVER >= 20080408
-packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0086, 22) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 22)
#elif PACKETVER >= 20080325
-packetLen(0x0086, 2) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0086, 22) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 22)
#elif PACKETVER >= 20080311
-packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0086, 79) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 79)
#elif PACKETVER >= 20080226
-packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 14)
#elif PACKETVER >= 20080219
-packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0086, 7) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 7)
#elif PACKETVER >= 20080102
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
#endif
// Packet: 0x0087
#if PACKETVER >= 20080701
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0087, 4) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0087, 27) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 27)
#elif PACKETVER >= 20080528
-packetLen(0x0087, 282) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 282)
#elif PACKETVER >= 20080520
-packetLen(0x0087, 10) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0087, 2) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 14)
#elif PACKETVER >= 20080408
-packetLen(0x0087, 11) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 14)
#elif PACKETVER >= 20080318
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0087, 26) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 26)
#elif PACKETVER >= 20080304
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 14)
#elif PACKETVER >= 20080124
-packetLen(0x0087, 31) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 31)
#elif PACKETVER >= 20080102
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
#endif
// Packet: 0x0088
#if PACKETVER >= 20080701
-packetLen(0x0088, 19) // ZC_STOPMOVE
+packetLen(0x0088, 19)
#elif PACKETVER >= 20080624
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0088, 19) // ZC_STOPMOVE
+packetLen(0x0088, 19)
#elif PACKETVER >= 20080603
-packetLen(0x0088, 60) // ZC_STOPMOVE
+packetLen(0x0088, 60)
#elif PACKETVER >= 20080528
-packetLen(0x0088, 15) // ZC_STOPMOVE
+packetLen(0x0088, 15)
#elif PACKETVER >= 20080520
-packetLen(0x0088, 6) // ZC_STOPMOVE
+packetLen(0x0088, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0088, 7) // ZC_STOPMOVE
+packetLen(0x0088, 7)
#elif PACKETVER >= 20080429
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0088, 3) // ZC_STOPMOVE
+packetLen(0x0088, 3)
#elif PACKETVER >= 20080415
-packetLen(0x0088, 86) // ZC_STOPMOVE
+packetLen(0x0088, 86)
#elif PACKETVER >= 20080408
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0088, 282) // ZC_STOPMOVE
+packetLen(0x0088, 282)
#elif PACKETVER >= 20080325
-packetLen(0x0088, 3) // ZC_STOPMOVE
+packetLen(0x0088, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0088, 97) // ZC_STOPMOVE
+packetLen(0x0088, 97)
#elif PACKETVER >= 20080219
-packetLen(0x0088, 30) // ZC_STOPMOVE
+packetLen(0x0088, 30)
#elif PACKETVER >= 20080124
-packetLen(0x0088, 4) // ZC_STOPMOVE
+packetLen(0x0088, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#endif
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
#if PACKETVER >= 20080624
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080617
-packetLen(0x008a, 2) // ZC_NOTIFY_ACT
+packetLen(0x008a, 2)
#elif PACKETVER >= 20080610
-packetLen(0x008a, 28) // ZC_NOTIFY_ACT
+packetLen(0x008a, 28)
#elif PACKETVER >= 20080603
-packetLen(0x008a, 68) // ZC_NOTIFY_ACT
+packetLen(0x008a, 68)
#elif PACKETVER >= 20080528
-packetLen(0x008a, 9) // ZC_NOTIFY_ACT
+packetLen(0x008a, 9)
#elif PACKETVER >= 20080520
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
#elif PACKETVER >= 20080513
-packetLen(0x008a, 11) // ZC_NOTIFY_ACT
+packetLen(0x008a, 11)
#elif PACKETVER >= 20080507
-packetLen(0x008a, 26) // ZC_NOTIFY_ACT
+packetLen(0x008a, 26)
#elif PACKETVER >= 20080429
-packetLen(0x008a, 23) // ZC_NOTIFY_ACT
+packetLen(0x008a, 23)
#elif PACKETVER >= 20080422
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080408
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x008a, 28) // ZC_NOTIFY_ACT
+packetLen(0x008a, 28)
#elif PACKETVER >= 20080325
-packetLen(0x008a, 30) // ZC_NOTIFY_ACT
+packetLen(0x008a, 30)
#elif PACKETVER >= 20080318
-packetLen(0x008a, 5) // ZC_NOTIFY_ACT
+packetLen(0x008a, 5)
#elif PACKETVER >= 20080304
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080226
-packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+packetLen(0x008a, 10)
#elif PACKETVER >= 20080219
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080124
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080102
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
#endif
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
#if PACKETVER >= 20080701
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080624
-packetLen(0x008d, 10) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 10)
#elif PACKETVER >= 20080617
-packetLen(0x008d, 282) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 282)
#elif PACKETVER >= 20080610
-packetLen(0x008d, 60) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 60)
#elif PACKETVER >= 20080603
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080528
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080520
-packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 4)
#elif PACKETVER >= 20080513
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080507
-packetLen(0x008d, 66) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 66)
#elif PACKETVER >= 20080429
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080422
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080415
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080408
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080401
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080325
-packetLen(0x008d, 7) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 7)
#elif PACKETVER >= 20080318
-packetLen(0x008d, 8) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 8)
#elif PACKETVER >= 20080311
-packetLen(0x008d, 7) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 7)
#elif PACKETVER >= 20080304
-packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 4)
#elif PACKETVER >= 20080226
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080219
-packetLen(0x008d, 79) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 79)
#elif PACKETVER >= 20080124
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080102
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#endif
// Packet: 0x008e
#if PACKETVER >= 20080701
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x008e, 5) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 5)
#elif PACKETVER >= 20080617
-packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 6)
#elif PACKETVER >= 20080610
-packetLen(0x008e, 10) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 10)
#elif PACKETVER >= 20080603
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 7)
#elif PACKETVER >= 20080520
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x008e, 282) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 282)
#elif PACKETVER >= 20080507
-packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 2)
#elif PACKETVER >= 20080429
-packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 6)
#elif PACKETVER >= 20080422
-packetLen(0x008e, 3) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 3)
#elif PACKETVER >= 20080415
-packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 2)
#elif PACKETVER >= 20080408
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080401
-packetLen(0x008e, 4) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 4)
#elif PACKETVER >= 20080325
-packetLen(0x008e, 28) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 28)
#elif PACKETVER >= 20080318
-packetLen(0x008e, 186) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 186)
#elif PACKETVER >= 20080311
-packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 7)
#elif PACKETVER >= 20080304
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080226
-packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x008e, 33) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 33)
#elif PACKETVER >= 20080102
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#endif
// Packet: 0x0090
#if PACKETVER >= 20080701
-packetLen(0x0090, 10) // CZ_CONTACTNPC
+packetLen(0x0090, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0090, 6) // CZ_CONTACTNPC
+packetLen(0x0090, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0090, 3) // CZ_CONTACTNPC
+packetLen(0x0090, 3)
#elif PACKETVER >= 20080513
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#elif PACKETVER >= 20080507
-packetLen(0x0090, 4) // CZ_CONTACTNPC
+packetLen(0x0090, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0090, 19) // CZ_CONTACTNPC
+packetLen(0x0090, 19)
#elif PACKETVER >= 20080422
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#elif PACKETVER >= 20080415
-packetLen(0x0090, 36) // CZ_CONTACTNPC
+packetLen(0x0090, 36)
#elif PACKETVER >= 20080408
-packetLen(0x0090, 20) // CZ_CONTACTNPC
+packetLen(0x0090, 20)
#elif PACKETVER >= 20080401
-packetLen(0x0090, 53) // CZ_CONTACTNPC
+packetLen(0x0090, 53)
#elif PACKETVER >= 20080325
-packetLen(0x0090, 5) // CZ_CONTACTNPC
+packetLen(0x0090, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0090, 6) // CZ_CONTACTNPC
+packetLen(0x0090, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0090, 2) // CZ_CONTACTNPC
+packetLen(0x0090, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0090, 17) // CZ_CONTACTNPC
+packetLen(0x0090, 17)
#elif PACKETVER >= 20080226
-packetLen(0x0090, 4) // CZ_CONTACTNPC
+packetLen(0x0090, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0090, 2) // CZ_CONTACTNPC
+packetLen(0x0090, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0090, 24) // CZ_CONTACTNPC
+packetLen(0x0090, 24)
#elif PACKETVER >= 20080102
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#endif
// Packet: 0x0091
#if PACKETVER >= 20080701
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 8)
#elif PACKETVER >= 20080617
-packetLen(0x0091, 2) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0091, 21) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 21)
#elif PACKETVER >= 20080603
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0091, 14) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 14)
#elif PACKETVER >= 20080520
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0091, 5) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 5)
#elif PACKETVER >= 20080507
-packetLen(0x0091, 6) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0091, 30) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 30)
#elif PACKETVER >= 20080422
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0091, 182) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 182)
#elif PACKETVER >= 20080408
-packetLen(0x0091, 58) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 58)
#elif PACKETVER >= 20080401
-packetLen(0x0091, 15) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 15)
#elif PACKETVER >= 20080325
-packetLen(0x0091, 2) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0091, 6) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0091, 57) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 57)
#elif PACKETVER >= 20080226
-packetLen(0x0091, 4) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0091, 79) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 79)
#elif PACKETVER >= 20080102
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
#endif
// Packet: 0x0092
#if PACKETVER >= 20080701
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0092, 15) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 15)
#elif PACKETVER >= 20080617
-packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 7)
#elif PACKETVER >= 20080610
-packetLen(0x0092, 20) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 20)
#elif PACKETVER >= 20080603
-packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 26)
#elif PACKETVER >= 20080528
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 7)
#elif PACKETVER >= 20080429
-packetLen(0x0092, 32) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 32)
#elif PACKETVER >= 20080422
-packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0092, 21) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 21)
#elif PACKETVER >= 20080401
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 26)
#elif PACKETVER >= 20080318
-packetLen(0x0092, 81) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 81)
#elif PACKETVER >= 20080311
-packetLen(0x0092, 10) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0092, 5) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0092, 3) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0092, 4) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
#endif
// Packet: 0x0093
#if PACKETVER >= 20080701
-packetLen(0x0093, 4) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 4)
#elif PACKETVER >= 20080624
-packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 5)
#elif PACKETVER >= 20080528
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0093, 22) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 22)
#elif PACKETVER >= 20080513
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0093, 26) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 26)
#elif PACKETVER >= 20080422
-packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0093, 8) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0093, 11) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0093, 26) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0093, 67) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 67)
#elif PACKETVER >= 20080124
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
#endif
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
#if PACKETVER >= 20080701
-packetLen(0x0095, 6) // ZC_ACK_REQNAME
+packetLen(0x0095, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0095, 10) // ZC_ACK_REQNAME
+packetLen(0x0095, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0095, 54) // ZC_ACK_REQNAME
+packetLen(0x0095, 54)
#elif PACKETVER >= 20080528
-packetLen(0x0095, 2) // ZC_ACK_REQNAME
+packetLen(0x0095, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0095, 9) // ZC_ACK_REQNAME
+packetLen(0x0095, 9)
#elif PACKETVER >= 20080507
-packetLen(0x0095, 22) // ZC_ACK_REQNAME
+packetLen(0x0095, 22)
#elif PACKETVER >= 20080408
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0095, 10) // ZC_ACK_REQNAME
+packetLen(0x0095, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0095, 4) // ZC_ACK_REQNAME
+packetLen(0x0095, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0095, 3) // ZC_ACK_REQNAME
+packetLen(0x0095, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0095, 59) // ZC_ACK_REQNAME
+packetLen(0x0095, 59)
#elif PACKETVER >= 20080304
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0095, 39) // ZC_ACK_REQNAME
+packetLen(0x0095, 39)
#elif PACKETVER >= 20080219
-packetLen(0x0095, 2) // ZC_ACK_REQNAME
+packetLen(0x0095, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
#endif
// Packet: 0x0096
#if PACKETVER >= 20080701
-packetLen(0x0096, 10) // CZ_WHISPER
+packetLen(0x0096, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0096, 10) // CZ_WHISPER
+packetLen(0x0096, 10)
#elif PACKETVER >= 20080528
-packetLen(0x0096, 31) // CZ_WHISPER
+packetLen(0x0096, 31)
#elif PACKETVER >= 20080513
-packetLen(0x0096, 6) // CZ_WHISPER
+packetLen(0x0096, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0096, 26) // CZ_WHISPER
+packetLen(0x0096, 26)
#elif PACKETVER >= 20080401
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0096, 5) // CZ_WHISPER
+packetLen(0x0096, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0096, 7) // CZ_WHISPER
+packetLen(0x0096, 7)
#elif PACKETVER >= 20080311
-packetLen(0x0096, 10) // CZ_WHISPER
+packetLen(0x0096, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0096, 3) // CZ_WHISPER
+packetLen(0x0096, 3)
#elif PACKETVER >= 20080124
-packetLen(0x0096, 6) // CZ_WHISPER
+packetLen(0x0096, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#endif
// Packet: 0x0097
#if PACKETVER >= 20080701
-packetLen(0x0097, 282) // ZC_WHISPER
+packetLen(0x0097, 282)
#elif PACKETVER >= 20080624
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0097, 10) // ZC_WHISPER
+packetLen(0x0097, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0097, 8) // ZC_WHISPER
+packetLen(0x0097, 8)
#elif PACKETVER >= 20080603
-packetLen(0x0097, 5) // ZC_WHISPER
+packetLen(0x0097, 5)
#elif PACKETVER >= 20080528
-packetLen(0x0097, 7) // ZC_WHISPER
+packetLen(0x0097, 7)
#elif PACKETVER >= 20080520
-packetLen(0x0097, 8) // ZC_WHISPER
+packetLen(0x0097, 8)
#elif PACKETVER >= 20080513
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0097, 30) // ZC_WHISPER
+packetLen(0x0097, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0097, 29) // ZC_WHISPER
+packetLen(0x0097, 29)
#elif PACKETVER >= 20080415
-packetLen(0x0097, 16) // ZC_WHISPER
+packetLen(0x0097, 16)
#elif PACKETVER >= 20080408
-packetLen(0x0097, 30) // ZC_WHISPER
+packetLen(0x0097, 30)
#elif PACKETVER >= 20080401
-packetLen(0x0097, 53) // ZC_WHISPER
+packetLen(0x0097, 53)
#elif PACKETVER >= 20080325
-packetLen(0x0097, 26) // ZC_WHISPER
+packetLen(0x0097, 26)
#elif PACKETVER >= 20080318
-packetLen(0x0097, 3) // ZC_WHISPER
+packetLen(0x0097, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0097, 33) // ZC_WHISPER
+packetLen(0x0097, 33)
#elif PACKETVER >= 20080304
-packetLen(0x0097, 7) // ZC_WHISPER
+packetLen(0x0097, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0097, 23) // ZC_WHISPER
+packetLen(0x0097, 23)
#elif PACKETVER >= 20080102
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#endif
// Packet: 0x0098
#if PACKETVER >= 20080701
-packetLen(0x0098, 8) // ZC_ACK_WHISPER
+packetLen(0x0098, 8)
#elif PACKETVER >= 20080624
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0098, 24) // ZC_ACK_WHISPER
+packetLen(0x0098, 24)
#elif PACKETVER >= 20080610
-packetLen(0x0098, 26) // ZC_ACK_WHISPER
+packetLen(0x0098, 26)
#elif PACKETVER >= 20080528
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0098, 16) // ZC_ACK_WHISPER
+packetLen(0x0098, 16)
#elif PACKETVER >= 20080513
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0098, 13) // ZC_ACK_WHISPER
+packetLen(0x0098, 13)
#elif PACKETVER >= 20080429
-packetLen(0x0098, 58) // ZC_ACK_WHISPER
+packetLen(0x0098, 58)
#elif PACKETVER >= 20080408
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0098, 26) // ZC_ACK_WHISPER
+packetLen(0x0098, 26)
#elif PACKETVER >= 20080325
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0098, 26) // ZC_ACK_WHISPER
+packetLen(0x0098, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0098, 60) // ZC_ACK_WHISPER
+packetLen(0x0098, 60)
#elif PACKETVER >= 20080304
-packetLen(0x0098, 182) // ZC_ACK_WHISPER
+packetLen(0x0098, 182)
#elif PACKETVER >= 20080226
-packetLen(0x0098, 2) // ZC_ACK_WHISPER
+packetLen(0x0098, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0098, 8) // ZC_ACK_WHISPER
+packetLen(0x0098, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0098, 10) // ZC_ACK_WHISPER
+packetLen(0x0098, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
#endif
// Packet: 0x0099
#if PACKETVER >= 20080701
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0099, 30) // CZ_BROADCAST
+packetLen(0x0099, 30)
#elif PACKETVER >= 20080617
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0099, 9) // CZ_BROADCAST
+packetLen(0x0099, 9)
#elif PACKETVER >= 20080603
-packetLen(0x0099, 4) // CZ_BROADCAST
+packetLen(0x0099, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0099, 60) // CZ_BROADCAST
+packetLen(0x0099, 60)
#elif PACKETVER >= 20080520
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0099, 8) // CZ_BROADCAST
+packetLen(0x0099, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0099, 2) // CZ_BROADCAST
+packetLen(0x0099, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0099, 6) // CZ_BROADCAST
+packetLen(0x0099, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0099, 54) // CZ_BROADCAST
+packetLen(0x0099, 54)
#elif PACKETVER >= 20080318
-packetLen(0x0099, 6) // CZ_BROADCAST
+packetLen(0x0099, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0099, 66) // CZ_BROADCAST
+packetLen(0x0099, 66)
#elif PACKETVER >= 20080304
-packetLen(0x0099, 10) // CZ_BROADCAST
+packetLen(0x0099, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0099, 34) // CZ_BROADCAST
+packetLen(0x0099, 34)
#elif PACKETVER >= 20080219
-packetLen(0x0099, 2) // CZ_BROADCAST
+packetLen(0x0099, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#endif
// Packet: 0x009a
#if PACKETVER >= 20080701
-packetLen(0x009a, 3) // ZC_BROADCAST
+packetLen(0x009a, 3)
#elif PACKETVER >= 20080617
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080610
-packetLen(0x009a, 90) // ZC_BROADCAST
+packetLen(0x009a, 90)
#elif PACKETVER >= 20080603
-packetLen(0x009a, 29) // ZC_BROADCAST
+packetLen(0x009a, 29)
#elif PACKETVER >= 20080528
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080520
-packetLen(0x009a, 10) // ZC_BROADCAST
+packetLen(0x009a, 10)
#elif PACKETVER >= 20080513
-packetLen(0x009a, 28) // ZC_BROADCAST
+packetLen(0x009a, 28)
#elif PACKETVER >= 20080422
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x009a, 33) // ZC_BROADCAST
+packetLen(0x009a, 33)
#elif PACKETVER >= 20080408
-packetLen(0x009a, 9) // ZC_BROADCAST
+packetLen(0x009a, 9)
#elif PACKETVER >= 20080325
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080318
-packetLen(0x009a, 59) // ZC_BROADCAST
+packetLen(0x009a, 59)
#elif PACKETVER >= 20080311
-packetLen(0x009a, 57) // ZC_BROADCAST
+packetLen(0x009a, 57)
#elif PACKETVER >= 20080304
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080226
-packetLen(0x009a, 4) // ZC_BROADCAST
+packetLen(0x009a, 4)
#elif PACKETVER >= 20080219
-packetLen(0x009a, 10) // ZC_BROADCAST
+packetLen(0x009a, 10)
#elif PACKETVER >= 20080124
-packetLen(0x009a, 4) // ZC_BROADCAST
+packetLen(0x009a, 4)
#elif PACKETVER >= 20080102
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#endif
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
#if PACKETVER >= 20080701
-packetLen(0x009c, 67) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 67)
#elif PACKETVER >= 20080617
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 6)
#elif PACKETVER >= 20080603
-packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 4)
#elif PACKETVER >= 20080528
-packetLen(0x009c, 26) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 26)
#elif PACKETVER >= 20080520
-packetLen(0x009c, 67) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 67)
#elif PACKETVER >= 20080513
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080507
-packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 6)
#elif PACKETVER >= 20080429
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x009c, 10) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 10)
#elif PACKETVER >= 20080415
-packetLen(0x009c, 66) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 66)
#elif PACKETVER >= 20080408
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x009c, 8) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 8)
#elif PACKETVER >= 20080325
-packetLen(0x009c, 3) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 3)
#elif PACKETVER >= 20080318
-packetLen(0x009c, 282) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 282)
#elif PACKETVER >= 20080311
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080304
-packetLen(0x009c, 71) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 71)
#elif PACKETVER >= 20080226
-packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 4)
#elif PACKETVER >= 20080219
-packetLen(0x009c, 7) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 7)
#elif PACKETVER >= 20080124
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
#endif
// Packet: 0x009d
#if PACKETVER >= 20080701
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+packetLen(0x009d, 10)
#elif PACKETVER >= 20080617
-packetLen(0x009d, 13) // ZC_ITEM_ENTRY
+packetLen(0x009d, 13)
#elif PACKETVER >= 20080610
-packetLen(0x009d, 3) // ZC_ITEM_ENTRY
+packetLen(0x009d, 3)
#elif PACKETVER >= 20080603
-packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+packetLen(0x009d, 6)
#elif PACKETVER >= 20080528
-packetLen(0x009d, 8) // ZC_ITEM_ENTRY
+packetLen(0x009d, 8)
#elif PACKETVER >= 20080520
-packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+packetLen(0x009d, 10)
#elif PACKETVER >= 20080513
-packetLen(0x009d, 29) // ZC_ITEM_ENTRY
+packetLen(0x009d, 29)
#elif PACKETVER >= 20080507
-packetLen(0x009d, 59) // ZC_ITEM_ENTRY
+packetLen(0x009d, 59)
#elif PACKETVER >= 20080429
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080422
-packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+packetLen(0x009d, 6)
#elif PACKETVER >= 20080415
-packetLen(0x009d, 32) // ZC_ITEM_ENTRY
+packetLen(0x009d, 32)
#elif PACKETVER >= 20080408
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080401
-packetLen(0x009d, 26) // ZC_ITEM_ENTRY
+packetLen(0x009d, 26)
#elif PACKETVER >= 20080325
-packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+packetLen(0x009d, 57)
#elif PACKETVER >= 20080318
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080311
-packetLen(0x009d, 13) // ZC_ITEM_ENTRY
+packetLen(0x009d, 13)
#elif PACKETVER >= 20080304
-packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+packetLen(0x009d, 19)
#elif PACKETVER >= 20080226
-packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+packetLen(0x009d, 57)
#elif PACKETVER >= 20080219
-packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+packetLen(0x009d, 10)
#elif PACKETVER >= 20080124
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080102
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
#endif
// Packet: 0x009e
#if PACKETVER >= 20080701
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 3)
#elif PACKETVER >= 20080617
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080610
-packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 10)
#elif PACKETVER >= 20080603
-packetLen(0x009e, 4) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 4)
#elif PACKETVER >= 20080528
-packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 3)
#elif PACKETVER >= 20080520
-packetLen(0x009e, 186) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 186)
#elif PACKETVER >= 20080513
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080507
-packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 6)
#elif PACKETVER >= 20080429
-packetLen(0x009e, 2) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 2)
#elif PACKETVER >= 20080422
-packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 11)
#elif PACKETVER >= 20080415
-packetLen(0x009e, 9) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 9)
#elif PACKETVER >= 20080408
-packetLen(0x009e, 39) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 39)
#elif PACKETVER >= 20080401
-packetLen(0x009e, 5) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 5)
#elif PACKETVER >= 20080318
-packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 10)
#elif PACKETVER >= 20080311
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080304
-packetLen(0x009e, 282) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 282)
#elif PACKETVER >= 20080226
-packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 11)
#elif PACKETVER >= 20080219
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x009e, 97) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 97)
#elif PACKETVER >= 20080102
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
#endif
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
#if PACKETVER >= 20080701
-packetLen(0x00a0, 30) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 30)
#elif PACKETVER >= 20080624
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00a0, 6) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00a0, 26) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 26)
#elif PACKETVER >= 20080603
-packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 8)
#elif PACKETVER >= 20080528
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00a0, 3) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00a0, 14) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 14)
#elif PACKETVER >= 20080507
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#elif PACKETVER >= 20080429
-packetLen(0x00a0, 12) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 12)
#elif PACKETVER >= 20080422
-packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 8)
#elif PACKETVER >= 20080408
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00a0, 6) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00a0, 13) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 13)
#elif PACKETVER >= 20080311
-packetLen(0x00a0, 28) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 28)
#elif PACKETVER >= 20080226
-packetLen(0x00a0, 27) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 27)
#elif PACKETVER >= 20080219
-packetLen(0x00a0, 39) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 39)
#elif PACKETVER >= 20080124
-packetLen(0x00a0, 5) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 5)
#elif PACKETVER >= 20080102
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#endif
// Packet: 0x00a1
#if PACKETVER >= 20080701
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#elif PACKETVER >= 20080624
-packetLen(0x00a1, 44) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 44)
#elif PACKETVER >= 20080617
-packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 60)
#elif PACKETVER >= 20080528
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 60)
#elif PACKETVER >= 20080513
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00a1, 11) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 11)
#elif PACKETVER >= 20080422
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00a1, 16) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 16)
#elif PACKETVER >= 20080408
-packetLen(0x00a1, 3) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 3)
#elif PACKETVER >= 20080401
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00a1, 53) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 53)
#elif PACKETVER >= 20080311
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00a1, 21) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 21)
#elif PACKETVER >= 20080226
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 60)
#elif PACKETVER >= 20080124
-packetLen(0x00a1, 30) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 30)
#elif PACKETVER >= 20080102
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#endif
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
#if PACKETVER >= 20080701
-packetLen(0x00a3, 28) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 28)
#elif PACKETVER >= 20080624
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00a3, 3) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 4)
#elif PACKETVER >= 20080520
-packetLen(0x00a3, 15) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 15)
#elif PACKETVER >= 20080513
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 10)
#elif PACKETVER >= 20080429
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00a3, 16) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 16)
#elif PACKETVER >= 20080415
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00a3, 8) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 8)
#elif PACKETVER >= 20080401
-packetLen(0x00a3, 28) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 28)
#elif PACKETVER >= 20080325
-packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 4)
#elif PACKETVER >= 20080318
-packetLen(0x00a3, 2) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00a3, 65) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 65)
#elif PACKETVER >= 20080304
-packetLen(0x00a3, 6) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00a3, 30) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00a3, 44) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 44)
#elif PACKETVER >= 20080102
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#endif
// Packet: 0x00a4
#if PACKETVER >= 20080701
-packetLen(0x00a4, 86) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 86)
#elif PACKETVER >= 20080617
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00a4, 3) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00a4, 14) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 14)
#elif PACKETVER >= 20080507
-packetLen(0x00a4, 33) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 33)
#elif PACKETVER >= 20080429
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00a4, 60) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 60)
#elif PACKETVER >= 20080415
-packetLen(0x00a4, 22) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 22)
#elif PACKETVER >= 20080408
-packetLen(0x00a4, 2) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 6)
#elif PACKETVER >= 20080325
-packetLen(0x00a4, 7) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 7)
#elif PACKETVER >= 20080318
-packetLen(0x00a4, 27) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 27)
#elif PACKETVER >= 20080311
-packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00a4, 15) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 15)
#elif PACKETVER >= 20080219
-packetLen(0x00a4, 30) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 30)
#elif PACKETVER >= 20080124
-packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#endif
// Packet: 0x00a5
#if PACKETVER >= 20080617
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00a5, 7) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 7)
#elif PACKETVER >= 20080603
-packetLen(0x00a5, 9) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 9)
#elif PACKETVER >= 20080528
-packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 28)
#elif PACKETVER >= 20080520
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080513
-packetLen(0x00a5, 4) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 4)
#elif PACKETVER >= 20080415
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00a5, 8) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00a5, 9) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 9)
#elif PACKETVER >= 20080318
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00a5, 282) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 282)
#elif PACKETVER >= 20080304
-packetLen(0x00a5, 30) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 30)
#elif PACKETVER >= 20080226
-packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 28)
#elif PACKETVER >= 20080219
-packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00a5, 4) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#endif
// Packet: 0x00a6
#if PACKETVER >= 20080701
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 16)
#elif PACKETVER >= 20080610
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00a6, 30) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 30)
#elif PACKETVER >= 20080507
-packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 10)
#elif PACKETVER >= 20080429
-packetLen(0x00a6, 282) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 282)
#elif PACKETVER >= 20080415
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00a6, 59) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 59)
#elif PACKETVER >= 20080401
-packetLen(0x00a6, 7) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 7)
#elif PACKETVER >= 20080325
-packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00a6, 3) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00a6, 26) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 16)
#elif PACKETVER >= 20080219
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#endif
// Packet: 0x00a7
@@ -1649,13164 +1649,13164 @@ packetLen(0x00a7, 9)
// Packet: 0x00a8
#if PACKETVER >= 20080701
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 10)
#elif PACKETVER >= 20080513
-packetLen(0x00a8, 90) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 90)
#elif PACKETVER >= 20080507
-packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00a8, 13) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 13)
#elif PACKETVER >= 20080408
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00a8, 4) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00a8, 2) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00a8, 30) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00a8, 20) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 20)
#elif PACKETVER >= 20080102
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
#endif
// Packet: 0x00a9
#if PACKETVER >= 20080701
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00a9, 282) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 282)
#elif PACKETVER >= 20080603
-packetLen(0x00a9, 114) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 114)
#elif PACKETVER >= 20080528
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00a9, 79) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 79)
#elif PACKETVER >= 20080513
-packetLen(0x00a9, 3) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 3)
#elif PACKETVER >= 20080507
-packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 26)
#elif PACKETVER >= 20080429
-packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 8)
#elif PACKETVER >= 20080422
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00a9, 2) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 8)
#elif PACKETVER >= 20080311
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00a9, 11) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 11)
#elif PACKETVER >= 20080226
-packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 26)
#elif PACKETVER >= 20080219
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00a9, 10) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#endif
// Packet: 0x00aa
#if PACKETVER >= 20080624
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 4)
#elif PACKETVER >= 20080603
-packetLen(0x00aa, 10) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 4)
#elif PACKETVER >= 20080507
-packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
#elif PACKETVER >= 20080415
-packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00aa, 31) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 31)
#elif PACKETVER >= 20080401
-packetLen(0x00aa, 16) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 16)
#elif PACKETVER >= 20080325
-packetLen(0x00aa, 55) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 55)
#elif PACKETVER >= 20080318
-packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00aa, 11) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 11)
#elif PACKETVER >= 20080304
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
#endif
// Packet: 0x00ab
#if PACKETVER >= 20080701
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00ab, 6) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00ab, 16) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 16)
#elif PACKETVER >= 20080603
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00ab, 53) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 53)
#elif PACKETVER >= 20080520
-packetLen(0x00ab, 36) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 36)
#elif PACKETVER >= 20080513
-packetLen(0x00ab, 26) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 26)
#elif PACKETVER >= 20080507
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#elif PACKETVER >= 20080415
-packetLen(0x00ab, 7) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 7)
#elif PACKETVER >= 20080401
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00ab, 8) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 8)
#elif PACKETVER >= 20080318
-packetLen(0x00ab, 9) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 9)
#elif PACKETVER >= 20080311
-packetLen(0x00ab, 14) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 14)
#elif PACKETVER >= 20080304
-packetLen(0x00ab, 2) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00ab, 57) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 57)
#elif PACKETVER >= 20080124
-packetLen(0x00ab, 86) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 86)
#elif PACKETVER >= 20080102
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#endif
// Packet: 0x00ac
#if PACKETVER >= 20080701
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ac, 8) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 8)
#elif PACKETVER >= 20080617
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
#elif PACKETVER >= 20080603
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
#elif PACKETVER >= 20080528
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 10)
#elif PACKETVER >= 20080507
-packetLen(0x00ac, 67) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 67)
#elif PACKETVER >= 20080429
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00ac, 8) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 8)
#elif PACKETVER >= 20080401
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
#endif
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
#if PACKETVER >= 20080701
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00af, 5) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 5)
#elif PACKETVER >= 20080610
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00af, 10) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00af, 29) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 29)
#elif PACKETVER >= 20080520
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 2)
#elif PACKETVER >= 20080507
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00af, 10) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 10)
#elif PACKETVER >= 20080422
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00af, 26) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00af, 7) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 7)
#elif PACKETVER >= 20080219
-packetLen(0x00af, 4) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 4)
#elif PACKETVER >= 20080124
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#endif
// Packet: 0x00b0
#if PACKETVER >= 20080701
-packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+packetLen(0x00b0, 7)
#elif PACKETVER >= 20080624
-packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+packetLen(0x00b0, 3)
#elif PACKETVER >= 20080617
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#elif PACKETVER >= 20080610
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00b0, 6) // ZC_PAR_CHANGE
+packetLen(0x00b0, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+packetLen(0x00b0, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00b0, 6) // ZC_PAR_CHANGE
+packetLen(0x00b0, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b0, 28) // ZC_PAR_CHANGE
+packetLen(0x00b0, 28)
#elif PACKETVER >= 20080415
-packetLen(0x00b0, 12) // ZC_PAR_CHANGE
+packetLen(0x00b0, 12)
#elif PACKETVER >= 20080408
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00b0, 4) // ZC_PAR_CHANGE
+packetLen(0x00b0, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00b0, 2) // ZC_PAR_CHANGE
+packetLen(0x00b0, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00b0, 10) // ZC_PAR_CHANGE
+packetLen(0x00b0, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00b0, 11) // ZC_PAR_CHANGE
+packetLen(0x00b0, 11)
#elif PACKETVER >= 20080219
-packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+packetLen(0x00b0, 7)
#elif PACKETVER >= 20080124
-packetLen(0x00b0, 2) // ZC_PAR_CHANGE
+packetLen(0x00b0, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#endif
// Packet: 0x00b1
#if PACKETVER >= 20080701
-packetLen(0x00b1, 3) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 3)
#elif PACKETVER >= 20080617
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b1, 11) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 11)
#elif PACKETVER >= 20080603
-packetLen(0x00b1, 2) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 2)
#elif PACKETVER >= 20080528
-packetLen(0x00b1, 6) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00b1, 97) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 97)
#elif PACKETVER >= 20080422
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00b1, 26) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 26)
#elif PACKETVER >= 20080401
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00b1, 58) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 58)
#elif PACKETVER >= 20080318
-packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00b1, 2) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00b1, 14) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 14)
#elif PACKETVER >= 20080124
-packetLen(0x00b1, 9) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 9)
#elif PACKETVER >= 20080102
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
#endif
// Packet: 0x00b2
#if PACKETVER >= 20080624
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00b2, 10) // CZ_RESTART
+packetLen(0x00b2, 10)
#elif PACKETVER >= 20080610
-packetLen(0x00b2, 13) // CZ_RESTART
+packetLen(0x00b2, 13)
#elif PACKETVER >= 20080603
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00b2, 2) // CZ_RESTART
+packetLen(0x00b2, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00b2, 6) // CZ_RESTART
+packetLen(0x00b2, 6)
#elif PACKETVER >= 20080513
-packetLen(0x00b2, 58) // CZ_RESTART
+packetLen(0x00b2, 58)
#elif PACKETVER >= 20080507
-packetLen(0x00b2, 6) // CZ_RESTART
+packetLen(0x00b2, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00b2, 14) // CZ_RESTART
+packetLen(0x00b2, 14)
#elif PACKETVER >= 20080408
-packetLen(0x00b2, 67) // CZ_RESTART
+packetLen(0x00b2, 67)
#elif PACKETVER >= 20080401
-packetLen(0x00b2, 4) // CZ_RESTART
+packetLen(0x00b2, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00b2, 5) // CZ_RESTART
+packetLen(0x00b2, 5)
#elif PACKETVER >= 20080318
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00b2, 5) // CZ_RESTART
+packetLen(0x00b2, 5)
#elif PACKETVER >= 20080304
-packetLen(0x00b2, 8) // CZ_RESTART
+packetLen(0x00b2, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00b2, 9) // CZ_RESTART
+packetLen(0x00b2, 9)
#elif PACKETVER >= 20080219
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00b2, 2) // CZ_RESTART
+packetLen(0x00b2, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#endif
// Packet: 0x00b3
#if PACKETVER >= 20080701
-packetLen(0x00b3, 14) // ZC_RESTART_ACK
+packetLen(0x00b3, 14)
#elif PACKETVER >= 20080617
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b3, 6) // ZC_RESTART_ACK
+packetLen(0x00b3, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00b3, 30) // ZC_RESTART_ACK
+packetLen(0x00b3, 30)
#elif PACKETVER >= 20080528
-packetLen(0x00b3, 6) // ZC_RESTART_ACK
+packetLen(0x00b3, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00b3, 2) // ZC_RESTART_ACK
+packetLen(0x00b3, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00b3, 4) // ZC_RESTART_ACK
+packetLen(0x00b3, 4)
#elif PACKETVER >= 20080422
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00b3, 6) // ZC_RESTART_ACK
+packetLen(0x00b3, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00b3, 5) // ZC_RESTART_ACK
+packetLen(0x00b3, 5)
#elif PACKETVER >= 20080325
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00b3, 35) // ZC_RESTART_ACK
+packetLen(0x00b3, 35)
#elif PACKETVER >= 20080311
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00b3, 7) // ZC_RESTART_ACK
+packetLen(0x00b3, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00b3, 10) // ZC_RESTART_ACK
+packetLen(0x00b3, 10)
#elif PACKETVER >= 20080219
-packetLen(0x00b3, 55) // ZC_RESTART_ACK
+packetLen(0x00b3, 55)
#elif PACKETVER >= 20080124
-packetLen(0x00b3, 28) // ZC_RESTART_ACK
+packetLen(0x00b3, 28)
#elif PACKETVER >= 20080102
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
#endif
// Packet: 0x00b4
#if PACKETVER >= 20080617
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+packetLen(0x00b4, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00b4, 33) // ZC_SAY_DIALOG
+packetLen(0x00b4, 33)
#elif PACKETVER >= 20080528
-packetLen(0x00b4, 3) // ZC_SAY_DIALOG
+packetLen(0x00b4, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00b4, 10) // ZC_SAY_DIALOG
+packetLen(0x00b4, 10)
#elif PACKETVER >= 20080513
-packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+packetLen(0x00b4, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+packetLen(0x00b4, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00b4, 282) // ZC_SAY_DIALOG
+packetLen(0x00b4, 282)
#elif PACKETVER >= 20080401
-packetLen(0x00b4, 34) // ZC_SAY_DIALOG
+packetLen(0x00b4, 34)
#elif PACKETVER >= 20080325
-packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+packetLen(0x00b4, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+packetLen(0x00b4, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00b4, 36) // ZC_SAY_DIALOG
+packetLen(0x00b4, 36)
#elif PACKETVER >= 20080304
-packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+packetLen(0x00b4, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00b4, 43) // ZC_SAY_DIALOG
+packetLen(0x00b4, 43)
#elif PACKETVER >= 20080219
-packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+packetLen(0x00b4, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#endif
// Packet: 0x00b5
#if PACKETVER >= 20080701
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00b5, 12) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 12)
#elif PACKETVER >= 20080617
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 3)
#elif PACKETVER >= 20080603
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00b5, 2) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00b5, 5) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 5)
#elif PACKETVER >= 20080429
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b5, 19) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 19)
#elif PACKETVER >= 20080415
-packetLen(0x00b5, 14) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 14)
#elif PACKETVER >= 20080408
-packetLen(0x00b5, 90) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 90)
#elif PACKETVER >= 20080401
-packetLen(0x00b5, 14) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 14)
#elif PACKETVER >= 20080325
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00b5, 11) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 11)
#elif PACKETVER >= 20080311
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00b5, 8) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 4)
#elif PACKETVER >= 20080219
-packetLen(0x00b5, 30) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 30)
#elif PACKETVER >= 20080124
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#endif
// Packet: 0x00b6
#if PACKETVER >= 20080701
-packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 8)
#elif PACKETVER >= 20080624
-packetLen(0x00b6, 7) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 7)
#elif PACKETVER >= 20080617
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080603
-packetLen(0x00b6, 39) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 39)
#elif PACKETVER >= 20080528
-packetLen(0x00b6, 11) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 11)
#elif PACKETVER >= 20080429
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 8)
#elif PACKETVER >= 20080401
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00b6, 16) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 16)
#elif PACKETVER >= 20080318
-packetLen(0x00b6, 12) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 12)
#elif PACKETVER >= 20080311
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00b6, 4) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00b6, 14) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#endif
// Packet: 0x00b7
#if PACKETVER >= 20080701
-packetLen(0x00b7, 22) // ZC_MENU_LIST
+packetLen(0x00b7, 22)
#elif PACKETVER >= 20080617
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b7, 2) // ZC_MENU_LIST
+packetLen(0x00b7, 2)
#elif PACKETVER >= 20080528
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00b7, 58) // ZC_MENU_LIST
+packetLen(0x00b7, 58)
#elif PACKETVER >= 20080513
-packetLen(0x00b7, 6) // ZC_MENU_LIST
+packetLen(0x00b7, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00b7, 20) // ZC_MENU_LIST
+packetLen(0x00b7, 20)
#elif PACKETVER >= 20080429
-packetLen(0x00b7, 2) // ZC_MENU_LIST
+packetLen(0x00b7, 2)
#elif PACKETVER >= 20080422
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00b7, 5) // ZC_MENU_LIST
+packetLen(0x00b7, 5)
#elif PACKETVER >= 20080408
-packetLen(0x00b7, 14) // ZC_MENU_LIST
+packetLen(0x00b7, 14)
#elif PACKETVER >= 20080401
-packetLen(0x00b7, 8) // ZC_MENU_LIST
+packetLen(0x00b7, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00b7, 6) // ZC_MENU_LIST
+packetLen(0x00b7, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00b7, 42) // ZC_MENU_LIST
+packetLen(0x00b7, 42)
#elif PACKETVER >= 20080304
-packetLen(0x00b7, 13) // ZC_MENU_LIST
+packetLen(0x00b7, 13)
#elif PACKETVER >= 20080226
-packetLen(0x00b7, 32) // ZC_MENU_LIST
+packetLen(0x00b7, 32)
#elif PACKETVER >= 20080219
-packetLen(0x00b7, 3) // ZC_MENU_LIST
+packetLen(0x00b7, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00b7, 21) // ZC_MENU_LIST
+packetLen(0x00b7, 21)
#elif PACKETVER >= 20080102
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#endif
// Packet: 0x00b8
#if PACKETVER >= 20080701
-packetLen(0x00b8, 20) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 20)
#elif PACKETVER >= 20080624
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 9)
#elif PACKETVER >= 20080610
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00b8, 53) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 53)
#elif PACKETVER >= 20080513
-packetLen(0x00b8, 8) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 4)
#elif PACKETVER >= 20080422
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
#elif PACKETVER >= 20080415
-packetLen(0x00b8, 11) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 11)
#elif PACKETVER >= 20080408
-packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 9)
#elif PACKETVER >= 20080401
-packetLen(0x00b8, 30) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 30)
#elif PACKETVER >= 20080325
-packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 5)
#elif PACKETVER >= 20080318
-packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00b8, 16) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 16)
#elif PACKETVER >= 20080304
-packetLen(0x00b8, 28) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 28)
#elif PACKETVER >= 20080226
-packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
#endif
// Packet: 0x00b9
#if PACKETVER >= 20080701
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 2)
#elif PACKETVER >= 20080617
-packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 9)
#elif PACKETVER >= 20080610
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00b9, 66) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 66)
#elif PACKETVER >= 20080513
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00b9, 30) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 30)
#elif PACKETVER >= 20080429
-packetLen(0x00b9, 26) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 26)
#elif PACKETVER >= 20080415
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20080325
-packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 9)
#elif PACKETVER >= 20080318
-packetLen(0x00b9, 11) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 11)
#elif PACKETVER >= 20080311
-packetLen(0x00b9, 29) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 29)
#elif PACKETVER >= 20080304
-packetLen(0x00b9, 10) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00b9, 58) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 58)
#elif PACKETVER >= 20080219
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00b9, 8) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 8)
#elif PACKETVER >= 20080102
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#endif
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
#if PACKETVER >= 20080701
-packetLen(0x00bb, 60) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 60)
#elif PACKETVER >= 20080624
-packetLen(0x00bb, 4) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 4)
#elif PACKETVER >= 20080617
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00bb, 36) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 36)
#elif PACKETVER >= 20080603
-packetLen(0x00bb, 6) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00bb, 10) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 10)
#elif PACKETVER >= 20080520
-packetLen(0x00bb, 13) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 13)
#elif PACKETVER >= 20080507
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00bb, 55) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 55)
#elif PACKETVER >= 20080422
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
#elif PACKETVER >= 20080415
-packetLen(0x00bb, 6) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00bb, 3) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00bb, 20) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 20)
#elif PACKETVER >= 20080318
-packetLen(0x00bb, 2) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00bb, 182) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 182)
#elif PACKETVER >= 20080124
-packetLen(0x00bb, 12) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 12)
#elif PACKETVER >= 20080102
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
#endif
// Packet: 0x00bc
#if PACKETVER >= 20080701
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00bc, 4) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 4)
#elif PACKETVER >= 20080617
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080603
-packetLen(0x00bc, 26) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 26)
#elif PACKETVER >= 20080528
-packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 14)
#elif PACKETVER >= 20080520
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00bc, 22) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 22)
#elif PACKETVER >= 20080507
-packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 14)
#elif PACKETVER >= 20080429
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00bc, 44) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 44)
#elif PACKETVER >= 20080408
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00bc, 11) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 11)
#elif PACKETVER >= 20080318
-packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00bc, 7) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#endif
// Packet: 0x00bd
#if PACKETVER >= 20080701
-packetLen(0x00bd, 60) // ZC_STATUS
+packetLen(0x00bd, 60)
#elif PACKETVER >= 20080624
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00bd, 79) // ZC_STATUS
+packetLen(0x00bd, 79)
#elif PACKETVER >= 20080610
-packetLen(0x00bd, 18) // ZC_STATUS
+packetLen(0x00bd, 18)
#elif PACKETVER >= 20080603
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00bd, 26) // ZC_STATUS
+packetLen(0x00bd, 26)
#elif PACKETVER >= 20080513
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00bd, 7) // ZC_STATUS
+packetLen(0x00bd, 7)
#elif PACKETVER >= 20080422
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00bd, 4) // ZC_STATUS
+packetLen(0x00bd, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00bd, 7) // ZC_STATUS
+packetLen(0x00bd, 7)
#elif PACKETVER >= 20080318
-packetLen(0x00bd, 12) // ZC_STATUS
+packetLen(0x00bd, 12)
#elif PACKETVER >= 20080304
-packetLen(0x00bd, 2) // ZC_STATUS
+packetLen(0x00bd, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00bd, 58) // ZC_STATUS
+packetLen(0x00bd, 58)
#elif PACKETVER >= 20080219
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00bd, 4) // ZC_STATUS
+packetLen(0x00bd, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
#endif
// Packet: 0x00be
#if PACKETVER >= 20080701
-packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+packetLen(0x00be, 6)
#elif PACKETVER >= 20080624
-packetLen(0x00be, 57) // ZC_STATUS_CHANGE
+packetLen(0x00be, 57)
#elif PACKETVER >= 20080617
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00be, 44) // ZC_STATUS_CHANGE
+packetLen(0x00be, 44)
#elif PACKETVER >= 20080603
-packetLen(0x00be, 3) // ZC_STATUS_CHANGE
+packetLen(0x00be, 3)
#elif PACKETVER >= 20080528
-packetLen(0x00be, 54) // ZC_STATUS_CHANGE
+packetLen(0x00be, 54)
#elif PACKETVER >= 20080520
-packetLen(0x00be, 8) // ZC_STATUS_CHANGE
+packetLen(0x00be, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00be, 30) // ZC_STATUS_CHANGE
+packetLen(0x00be, 30)
#elif PACKETVER >= 20080422
-packetLen(0x00be, 4) // ZC_STATUS_CHANGE
+packetLen(0x00be, 4)
#elif PACKETVER >= 20080415
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00be, 4) // ZC_STATUS_CHANGE
+packetLen(0x00be, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
#elif PACKETVER >= 20080311
-packetLen(0x00be, 11) // ZC_STATUS_CHANGE
+packetLen(0x00be, 11)
#elif PACKETVER >= 20080304
-packetLen(0x00be, 10) // ZC_STATUS_CHANGE
+packetLen(0x00be, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
#endif
// Packet: 0x00bf
#if PACKETVER >= 20080610
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#elif PACKETVER >= 20080528
-packetLen(0x00bf, 65) // CZ_REQ_EMOTION
+packetLen(0x00bf, 65)
#elif PACKETVER >= 20080520
-packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+packetLen(0x00bf, 8)
#elif PACKETVER >= 20080513
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00bf, 11) // CZ_REQ_EMOTION
+packetLen(0x00bf, 11)
#elif PACKETVER >= 20080429
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00bf, 32) // CZ_REQ_EMOTION
+packetLen(0x00bf, 32)
#elif PACKETVER >= 20080325
-packetLen(0x00bf, 60) // CZ_REQ_EMOTION
+packetLen(0x00bf, 60)
#elif PACKETVER >= 20080304
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00bf, 29) // CZ_REQ_EMOTION
+packetLen(0x00bf, 29)
#elif PACKETVER >= 20080219
-packetLen(0x00bf, 12) // CZ_REQ_EMOTION
+packetLen(0x00bf, 12)
#elif PACKETVER >= 20080124
-packetLen(0x00bf, 6) // CZ_REQ_EMOTION
+packetLen(0x00bf, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#endif
// Packet: 0x00c0
#if PACKETVER >= 20080701
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00c0, 10) // ZC_EMOTION
+packetLen(0x00c0, 10)
#elif PACKETVER >= 20080617
-packetLen(0x00c0, 60) // ZC_EMOTION
+packetLen(0x00c0, 60)
#elif PACKETVER >= 20080610
-packetLen(0x00c0, 39) // ZC_EMOTION
+packetLen(0x00c0, 39)
#elif PACKETVER >= 20080603
-packetLen(0x00c0, 26) // ZC_EMOTION
+packetLen(0x00c0, 26)
#elif PACKETVER >= 20080528
-packetLen(0x00c0, 30) // ZC_EMOTION
+packetLen(0x00c0, 30)
#elif PACKETVER >= 20080520
-packetLen(0x00c0, 2) // ZC_EMOTION
+packetLen(0x00c0, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00c0, 186) // ZC_EMOTION
+packetLen(0x00c0, 186)
#elif PACKETVER >= 20080507
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00c0, 13) // ZC_EMOTION
+packetLen(0x00c0, 13)
#elif PACKETVER >= 20080422
-packetLen(0x00c0, 9) // ZC_EMOTION
+packetLen(0x00c0, 9)
#elif PACKETVER >= 20080415
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
#elif PACKETVER >= 20080401
-packetLen(0x00c0, 2) // ZC_EMOTION
+packetLen(0x00c0, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00c0, 10) // ZC_EMOTION
+packetLen(0x00c0, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00c0, 26) // ZC_EMOTION
+packetLen(0x00c0, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00c0, 21) // ZC_EMOTION
+packetLen(0x00c0, 21)
#elif PACKETVER >= 20080219
-packetLen(0x00c0, 6) // ZC_EMOTION
+packetLen(0x00c0, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
#endif
// Packet: 0x00c1
#if PACKETVER >= 20080701
-packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00c1, 81) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 81)
#elif PACKETVER >= 20080507
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00c1, 57) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 57)
#elif PACKETVER >= 20080401
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00c1, 4) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00c1, 16) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 16)
#elif PACKETVER >= 20080304
-packetLen(0x00c1, 9) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 9)
#elif PACKETVER >= 20080226
-packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00c1, 282) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 282)
#elif PACKETVER >= 20080102
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#endif
// Packet: 0x00c2
#if PACKETVER >= 20080701
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00c2, 8) // ZC_USER_COUNT
+packetLen(0x00c2, 8)
#elif PACKETVER >= 20080617
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00c2, 2) // ZC_USER_COUNT
+packetLen(0x00c2, 2)
#elif PACKETVER >= 20080603
-packetLen(0x00c2, 90) // ZC_USER_COUNT
+packetLen(0x00c2, 90)
#elif PACKETVER >= 20080507
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00c2, 16) // ZC_USER_COUNT
+packetLen(0x00c2, 16)
#elif PACKETVER >= 20080422
-packetLen(0x00c2, 4) // ZC_USER_COUNT
+packetLen(0x00c2, 4)
#elif PACKETVER >= 20080415
-packetLen(0x00c2, 5) // ZC_USER_COUNT
+packetLen(0x00c2, 5)
#elif PACKETVER >= 20080408
-packetLen(0x00c2, 2) // ZC_USER_COUNT
+packetLen(0x00c2, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00c2, 26) // ZC_USER_COUNT
+packetLen(0x00c2, 26)
#elif PACKETVER >= 20080325
-packetLen(0x00c2, 10) // ZC_USER_COUNT
+packetLen(0x00c2, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00c2, 54) // ZC_USER_COUNT
+packetLen(0x00c2, 54)
#elif PACKETVER >= 20080311
-packetLen(0x00c2, 4) // ZC_USER_COUNT
+packetLen(0x00c2, 4)
#elif PACKETVER >= 20080304
-packetLen(0x00c2, 39) // ZC_USER_COUNT
+packetLen(0x00c2, 39)
#elif PACKETVER >= 20080226
-packetLen(0x00c2, 282) // ZC_USER_COUNT
+packetLen(0x00c2, 282)
#elif PACKETVER >= 20080219
-packetLen(0x00c2, 4) // ZC_USER_COUNT
+packetLen(0x00c2, 4)
#elif PACKETVER >= 20080124
-packetLen(0x00c2, 3) // ZC_USER_COUNT
+packetLen(0x00c2, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
#endif
// Packet: 0x00c3
#if PACKETVER >= 20080701
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00c3, 3) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 3)
#elif PACKETVER >= 20080617
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00c3, 42) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 42)
#elif PACKETVER >= 20080603
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 10)
#elif PACKETVER >= 20080415
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00c3, 4) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 4)
#elif PACKETVER >= 20080401
-packetLen(0x00c3, 66) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 66)
#elif PACKETVER >= 20080325
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00c3, 3) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00c3, 68) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 68)
#elif PACKETVER >= 20080304
-packetLen(0x00c3, 26) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 26)
#elif PACKETVER >= 20080226
-packetLen(0x00c3, 28) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 28)
#elif PACKETVER >= 20080219
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#elif PACKETVER >= 20080124
-packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#endif
// Packet: 0x00c4
#if PACKETVER >= 20080701
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00c4, 14) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 14)
#elif PACKETVER >= 20080617
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00c4, 29) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 29)
#elif PACKETVER >= 20080429
-packetLen(0x00c4, 71) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 71)
#elif PACKETVER >= 20080422
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00c4, 11) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 11)
#elif PACKETVER >= 20080408
-packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00c4, 3) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 3)
#elif PACKETVER >= 20080318
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00c4, 4) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00c4, 114) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 114)
#elif PACKETVER >= 20080219
-packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00c4, 4) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#endif
// Packet: 0x00c5
#if PACKETVER >= 20080624
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 9)
#elif PACKETVER >= 20080610
-packetLen(0x00c5, 114) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 114)
#elif PACKETVER >= 20080603
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00c5, 10) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 10)
#elif PACKETVER >= 20080520
-packetLen(0x00c5, 4) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 4)
#elif PACKETVER >= 20080513
-packetLen(0x00c5, 6) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 8)
#elif PACKETVER >= 20080429
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
#elif PACKETVER >= 20080401
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00c5, 30) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 30)
#elif PACKETVER >= 20080318
-packetLen(0x00c5, 3) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 9)
#elif PACKETVER >= 20080124
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
#endif
// Packet: 0x00c6
#if PACKETVER >= 20080617
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 8)
#elif PACKETVER >= 20080520
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00c6, 21) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 21)
#elif PACKETVER >= 20080422
-packetLen(0x00c6, 4) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00c6, 31) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 31)
#elif PACKETVER >= 20080311
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00c6, 5) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 5)
#elif PACKETVER >= 20080226
-packetLen(0x00c6, 13) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 13)
#elif PACKETVER >= 20080219
-packetLen(0x00c6, 3) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#endif
// Packet: 0x00c7
#if PACKETVER >= 20080701
-packetLen(0x00c7, 182) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 182)
#elif PACKETVER >= 20080624
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00c7, 3) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00c7, 22) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 22)
#elif PACKETVER >= 20080513
-packetLen(0x00c7, 4) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00c7, 53) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 53)
#elif PACKETVER >= 20080415
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00c7, 26) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 26)
#elif PACKETVER >= 20080325
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00c7, 58) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 58)
#elif PACKETVER >= 20080311
-packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 90)
#elif PACKETVER >= 20080304
-packetLen(0x00c7, 67) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 67)
#elif PACKETVER >= 20080226
-packetLen(0x00c7, 5) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 90)
#elif PACKETVER >= 20080124
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#endif
// Packet: 0x00c8
#if PACKETVER >= 20080701
-packetLen(0x00c8, 2) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 2)
#elif PACKETVER >= 20080624
-packetLen(0x00c8, 4) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 4)
#elif PACKETVER >= 20080617
-packetLen(0x00c8, 15) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 15)
#elif PACKETVER >= 20080603
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00c8, 66) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 66)
#elif PACKETVER >= 20080325
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00c8, 2) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00c8, 14) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 14)
#elif PACKETVER >= 20080304
-packetLen(0x00c8, 53) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 53)
#elif PACKETVER >= 20080226
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00c8, 10) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#endif
// Packet: 0x00c9
#if PACKETVER >= 20080701
-packetLen(0x00c9, 39) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 39)
#elif PACKETVER >= 20080624
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00c9, 36) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 36)
#elif PACKETVER >= 20080610
-packetLen(0x00c9, 9) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 9)
#elif PACKETVER >= 20080603
-packetLen(0x00c9, 30) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 30)
#elif PACKETVER >= 20080520
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00c9, 5) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 5)
#elif PACKETVER >= 20080102
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#endif
// Packet: 0x00ca
#if PACKETVER >= 20080610
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00ca, 31) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 31)
#elif PACKETVER >= 20080513
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00ca, 7) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 7)
#elif PACKETVER >= 20080422
-packetLen(0x00ca, 6) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00ca, 17) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 17)
#elif PACKETVER >= 20080408
-packetLen(0x00ca, 14) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 14)
#elif PACKETVER >= 20080401
-packetLen(0x00ca, 2) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00ca, 4) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00ca, 9) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 9)
#elif PACKETVER >= 20080226
-packetLen(0x00ca, 23) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 23)
#elif PACKETVER >= 20080219
-packetLen(0x00ca, 86) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 86)
#elif PACKETVER >= 20080124
-packetLen(0x00ca, 36) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 36)
#elif PACKETVER >= 20080102
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#endif
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
#if PACKETVER >= 20080701
-packetLen(0x00cc, 33) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 33)
#elif PACKETVER >= 20080617
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00cc, 28) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 28)
#elif PACKETVER >= 20080603
-packetLen(0x00cc, 2) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00cc, 26) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 26)
#elif PACKETVER >= 20080507
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 10)
#elif PACKETVER >= 20080422
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00cc, 2) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00cc, 3) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00cc, 14) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 14)
#elif PACKETVER >= 20080304
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00cc, 7) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 7)
#elif PACKETVER >= 20080124
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#endif
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
#if PACKETVER >= 20080701
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ce, 4) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 4)
#elif PACKETVER >= 20080617
-packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 11)
#elif PACKETVER >= 20080610
-packetLen(0x00ce, 22) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 22)
#elif PACKETVER >= 20080603
-packetLen(0x00ce, 102) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 102)
#elif PACKETVER >= 20080528
-packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 11)
#elif PACKETVER >= 20080520
-packetLen(0x00ce, 3) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00ce, 9) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 9)
#elif PACKETVER >= 20080507
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00ce, 114) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 114)
#elif PACKETVER >= 20080422
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 10)
#elif PACKETVER >= 20080408
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ce, 30) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 30)
#elif PACKETVER >= 20080325
-packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00ce, 7) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 7)
#elif PACKETVER >= 20080311
-packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
#endif
// Packet: 0x00cf
#if PACKETVER >= 20080624
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00cf, 30) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00cf, 57) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 57)
#elif PACKETVER >= 20080603
-packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 5)
#elif PACKETVER >= 20080520
-packetLen(0x00cf, 8) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 8)
#elif PACKETVER >= 20080513
-packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 2)
#elif PACKETVER >= 20080507
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 5)
#elif PACKETVER >= 20080422
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
#elif PACKETVER >= 20080415
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00cf, 60) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 60)
#elif PACKETVER >= 20080325
-packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00cf, 16) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 16)
#elif PACKETVER >= 20080219
-packetLen(0x00cf, 9) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 9)
#elif PACKETVER >= 20080124
-packetLen(0x00cf, 11) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 11)
#elif PACKETVER >= 20080102
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
#endif
// Packet: 0x00d0
#if PACKETVER >= 20080610
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00d0, 30) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 30)
#elif PACKETVER >= 20080513
-packetLen(0x00d0, 114) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 114)
#elif PACKETVER >= 20080507
-packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 14)
#elif PACKETVER >= 20080429
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00d0, 4) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 4)
#elif PACKETVER >= 20080401
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00d0, 8) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 8)
#elif PACKETVER >= 20080318
-packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 14)
#elif PACKETVER >= 20080311
-packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00d0, 2) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00d0, 182) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 182)
#elif PACKETVER >= 20080102
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#endif
// Packet: 0x00d1
#if PACKETVER >= 20080701
-packetLen(0x00d1, 26) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 26)
#elif PACKETVER >= 20080624
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00d1, 5) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 5)
#elif PACKETVER >= 20080528
-packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 10)
#elif PACKETVER >= 20080520
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00d1, 54) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 54)
#elif PACKETVER >= 20080507
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00d1, 3) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 3)
#elif PACKETVER >= 20080422
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00d1, 43) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 43)
#elif PACKETVER >= 20080408
-packetLen(0x00d1, 67) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 67)
#elif PACKETVER >= 20080401
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 10)
#elif PACKETVER >= 20080219
-packetLen(0x00d1, 13) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 13)
#elif PACKETVER >= 20080124
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
#endif
// Packet: 0x00d2
#if PACKETVER >= 20080701
-packetLen(0x00d2, 16) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 16)
#elif PACKETVER >= 20080610
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00d2, 7) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 7)
#elif PACKETVER >= 20080528
-packetLen(0x00d2, 11) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 11)
#elif PACKETVER >= 20080520
-packetLen(0x00d2, 9) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 9)
#elif PACKETVER >= 20080513
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00d2, 10) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 10)
#elif PACKETVER >= 20080415
-packetLen(0x00d2, 8) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 8)
#elif PACKETVER >= 20080408
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00d2, 7) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 7)
#elif PACKETVER >= 20080318
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 30)
#elif PACKETVER >= 20080304
-packetLen(0x00d2, 16) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 16)
#elif PACKETVER >= 20080226
-packetLen(0x00d2, 14) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00d2, 20) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 20)
#elif PACKETVER >= 20080102
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
#endif
// Packet: 0x00d3
#if PACKETVER >= 20080701
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 26)
#elif PACKETVER >= 20080429
-packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 3)
#elif PACKETVER >= 20080422
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00d3, 20) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 20)
#elif PACKETVER >= 20080408
-packetLen(0x00d3, 19) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 19)
#elif PACKETVER >= 20080401
-packetLen(0x00d3, 33) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 33)
#elif PACKETVER >= 20080325
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00d3, 12) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 12)
#elif PACKETVER >= 20080311
-packetLen(0x00d3, 14) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 14)
#elif PACKETVER >= 20080226
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 26)
#elif PACKETVER >= 20080124
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#endif
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
#if PACKETVER >= 20080701
-packetLen(0x00d5, 7) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 7)
#elif PACKETVER >= 20080603
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d5, 81) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 81)
#elif PACKETVER >= 20080513
-packetLen(0x00d5, 8) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00d5, 26) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 26)
#elif PACKETVER >= 20080415
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00d5, 60) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 60)
#elif PACKETVER >= 20080401
-packetLen(0x00d5, 21) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 21)
#elif PACKETVER >= 20080325
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00d5, 114) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 114)
#elif PACKETVER >= 20080311
-packetLen(0x00d5, 2) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00d5, 3) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 3)
#elif PACKETVER >= 20080226
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00d5, 7) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#endif
// Packet: 0x00d6
#if PACKETVER >= 20080701
-packetLen(0x00d6, 15) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 15)
#elif PACKETVER >= 20080624
-packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00d6, 26) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 26)
#elif PACKETVER >= 20080603
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00d6, 26) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 26)
#elif PACKETVER >= 20080513
-packetLen(0x00d6, 16) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 16)
#elif PACKETVER >= 20080429
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00d6, 282) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 282)
#elif PACKETVER >= 20080415
-packetLen(0x00d6, 21) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 21)
#elif PACKETVER >= 20080408
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00d6, 10) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 10)
#elif PACKETVER >= 20080325
-packetLen(0x00d6, 58) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 58)
#elif PACKETVER >= 20080318
-packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 8)
#elif PACKETVER >= 20080304
-packetLen(0x00d6, 68) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 68)
#elif PACKETVER >= 20080226
-packetLen(0x00d6, 30) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#endif
// Packet: 0x00d7
#if PACKETVER >= 20080701
-packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 10)
#elif PACKETVER >= 20080624
-packetLen(0x00d7, 26) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 26)
#elif PACKETVER >= 20080603
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 8)
#elif PACKETVER >= 20080520
-packetLen(0x00d7, 9) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 9)
#elif PACKETVER >= 20080513
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00d7, 39) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 39)
#elif PACKETVER >= 20080408
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00d7, 5) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 5)
#elif PACKETVER >= 20080318
-packetLen(0x00d7, 4) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00d7, 67) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 67)
#elif PACKETVER >= 20080304
-packetLen(0x00d7, 24) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 24)
#elif PACKETVER >= 20080226
-packetLen(0x00d7, 28) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 28)
#elif PACKETVER >= 20080219
-packetLen(0x00d7, 3) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 8)
#elif PACKETVER >= 20080102
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#endif
// Packet: 0x00d8
#if PACKETVER >= 20080617
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00d8, 30) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 30)
#elif PACKETVER >= 20080603
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d8, 5) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 5)
#elif PACKETVER >= 20080520
-packetLen(0x00d8, 7) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 7)
#elif PACKETVER >= 20080513
-packetLen(0x00d8, 53) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 53)
#elif PACKETVER >= 20080507
-packetLen(0x00d8, 17) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 17)
#elif PACKETVER >= 20080422
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00d8, 9) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 9)
#elif PACKETVER >= 20080408
-packetLen(0x00d8, 26) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 26)
#elif PACKETVER >= 20080325
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00d8, 30) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00d8, 16) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 16)
#elif PACKETVER >= 20080219
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00d8, 4) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
#endif
// Packet: 0x00d9
#if PACKETVER >= 20080603
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d9, 4) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 4)
#elif PACKETVER >= 20080520
-packetLen(0x00d9, 5) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 5)
#elif PACKETVER >= 20080513
-packetLen(0x00d9, 10) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 10)
#elif PACKETVER >= 20080507
-packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#elif PACKETVER >= 20080401
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#elif PACKETVER >= 20080311
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00d9, 7) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00d9, 282) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 282)
#elif PACKETVER >= 20080102
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#endif
// Packet: 0x00da
#if PACKETVER >= 20080701
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00da, 53) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 53)
#elif PACKETVER >= 20080610
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00da, 24) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 24)
#elif PACKETVER >= 20080513
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#elif PACKETVER >= 20080422
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00da, 31) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 31)
#elif PACKETVER >= 20080401
-packetLen(0x00da, 13) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 13)
#elif PACKETVER >= 20080325
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00da, 30) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00da, 8) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00da, 14) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00da, 54) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 54)
#elif PACKETVER >= 20080124
-packetLen(0x00da, 18) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 18)
#elif PACKETVER >= 20080102
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#endif
// Packet: 0x00db
#if PACKETVER >= 20080701
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00db, 7) // ZC_ENTER_ROOM
+packetLen(0x00db, 7)
#elif PACKETVER >= 20080603
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00db, 3) // ZC_ENTER_ROOM
+packetLen(0x00db, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00db, 4) // ZC_ENTER_ROOM
+packetLen(0x00db, 4)
#elif PACKETVER >= 20080513
-packetLen(0x00db, 30) // ZC_ENTER_ROOM
+packetLen(0x00db, 30)
#elif PACKETVER >= 20080429
-packetLen(0x00db, 2) // ZC_ENTER_ROOM
+packetLen(0x00db, 2)
#elif PACKETVER >= 20080422
-packetLen(0x00db, 67) // ZC_ENTER_ROOM
+packetLen(0x00db, 67)
#elif PACKETVER >= 20080415
-packetLen(0x00db, 33) // ZC_ENTER_ROOM
+packetLen(0x00db, 33)
#elif PACKETVER >= 20080408
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00db, 18) // ZC_ENTER_ROOM
+packetLen(0x00db, 18)
#elif PACKETVER >= 20080325
-packetLen(0x00db, 2) // ZC_ENTER_ROOM
+packetLen(0x00db, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00db, 6) // ZC_ENTER_ROOM
+packetLen(0x00db, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00db, 31) // ZC_ENTER_ROOM
+packetLen(0x00db, 31)
#elif PACKETVER >= 20080226
-packetLen(0x00db, 26) // ZC_ENTER_ROOM
+packetLen(0x00db, 26)
#elif PACKETVER >= 20080219
-packetLen(0x00db, 4) // ZC_ENTER_ROOM
+packetLen(0x00db, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#endif
// Packet: 0x00dc
#if PACKETVER >= 20080701
-packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00dc, 2) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 2)
#elif PACKETVER >= 20080603
-packetLen(0x00dc, 11) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 11)
#elif PACKETVER >= 20080528
-packetLen(0x00dc, 27) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 27)
#elif PACKETVER >= 20080520
-packetLen(0x00dc, 30) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 30)
#elif PACKETVER >= 20080513
-packetLen(0x00dc, 12) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 12)
#elif PACKETVER >= 20080429
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00dc, 32) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 32)
#elif PACKETVER >= 20080415
-packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00dc, 30) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 30)
#elif PACKETVER >= 20080325
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 29)
#elif PACKETVER >= 20080311
-packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00dc, 3) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 29)
#elif PACKETVER >= 20080124
-packetLen(0x00dc, 13) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 13)
#elif PACKETVER >= 20080102
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
#endif
// Packet: 0x00dd
#if PACKETVER >= 20080701
-packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00dd, 20) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 20)
#elif PACKETVER >= 20080528
-packetLen(0x00dd, 7) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 7)
#elif PACKETVER >= 20080520
-packetLen(0x00dd, 28) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 28)
#elif PACKETVER >= 20080429
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00dd, 28) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 28)
#elif PACKETVER >= 20080415
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00dd, 15) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 15)
#elif PACKETVER >= 20080325
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00dd, 22) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 22)
#elif PACKETVER >= 20080311
-packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00dd, 3) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00dd, 8) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 8)
#elif PACKETVER >= 20080102
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
#endif
// Packet: 0x00de
#if PACKETVER >= 20080701
-packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 5)
#elif PACKETVER >= 20080624
-packetLen(0x00de, 54) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 54)
#elif PACKETVER >= 20080603
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00de, 57) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 57)
#elif PACKETVER >= 20080520
-packetLen(0x00de, 4) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 4)
#elif PACKETVER >= 20080513
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00de, 15) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 15)
#elif PACKETVER >= 20080429
-packetLen(0x00de, 11) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 11)
#elif PACKETVER >= 20080415
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00de, 18) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 18)
#elif PACKETVER >= 20080401
-packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 5)
#elif PACKETVER >= 20080325
-packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00de, 8) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 8)
#elif PACKETVER >= 20080304
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00de, 34) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 34)
#elif PACKETVER >= 20080124
-packetLen(0x00de, 3) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#endif
// Packet: 0x00df
#if PACKETVER >= 20080701
-packetLen(0x00df, 34) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 34)
#elif PACKETVER >= 20080624
-packetLen(0x00df, 11) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 11)
#elif PACKETVER >= 20080617
-packetLen(0x00df, 30) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00df, 10) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 10)
#elif PACKETVER >= 20080603
-packetLen(0x00df, 4) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 4)
#elif PACKETVER >= 20080528
-packetLen(0x00df, 90) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 90)
#elif PACKETVER >= 20080520
-packetLen(0x00df, 23) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 23)
#elif PACKETVER >= 20080513
-packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00df, 8) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 8)
#elif PACKETVER >= 20080422
-packetLen(0x00df, 12) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 12)
#elif PACKETVER >= 20080415
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00df, 282) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 282)
#elif PACKETVER >= 20080401
-packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00df, 5) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 5)
#elif PACKETVER >= 20080318
-packetLen(0x00df, 23) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 23)
#elif PACKETVER >= 20080304
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00df, 9) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 9)
#elif PACKETVER >= 20080219
-packetLen(0x00df, 7) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 7)
#elif PACKETVER >= 20080124
-packetLen(0x00df, 27) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 27)
#elif PACKETVER >= 20080102
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#endif
// Packet: 0x00e0
#if PACKETVER >= 20080701
-packetLen(0x00e0, 9) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 9)
#elif PACKETVER >= 20080617
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00e0, 6) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00e0, 10) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 10)
#elif PACKETVER >= 20080429
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
#elif PACKETVER >= 20080415
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080408
-packetLen(0x00e0, 4) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 4)
#elif PACKETVER >= 20080401
-packetLen(0x00e0, 21) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 21)
#elif PACKETVER >= 20080325
-packetLen(0x00e0, 71) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 71)
#elif PACKETVER >= 20080318
-packetLen(0x00e0, 7) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 7)
#elif PACKETVER >= 20080311
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00e0, 43) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 43)
#elif PACKETVER >= 20080226
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00e0, 31) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 31)
#elif PACKETVER >= 20080124
-packetLen(0x00e0, 18) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 18)
#elif PACKETVER >= 20080102
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
#endif
// Packet: 0x00e1
#if PACKETVER >= 20080610
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00e1, 20) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 20)
#elif PACKETVER >= 20080513
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00e1, 4) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00e1, 6) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00e1, 43) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 43)
#elif PACKETVER >= 20080415
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00e1, 60) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 60)
#elif PACKETVER >= 20080325
-packetLen(0x00e1, 22) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 22)
#elif PACKETVER >= 20080318
-packetLen(0x00e1, 21) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 21)
#elif PACKETVER >= 20080311
-packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00e1, 60) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 60)
#elif PACKETVER >= 20080226
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00e1, 81) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 81)
#elif PACKETVER >= 20080124
-packetLen(0x00e1, 12) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 12)
#elif PACKETVER >= 20080102
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
#endif
// Packet: 0x00e2
#if PACKETVER >= 20080624
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00e2, 282) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 282)
#elif PACKETVER >= 20080603
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00e2, 2) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 2)
#elif PACKETVER >= 20080507
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#elif PACKETVER >= 20080415
-packetLen(0x00e2, 282) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 282)
#elif PACKETVER >= 20080408
-packetLen(0x00e2, 11) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 11)
#elif PACKETVER >= 20080401
-packetLen(0x00e2, 5) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 5)
#elif PACKETVER >= 20080325
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00e2, 79) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 79)
#elif PACKETVER >= 20080311
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00e2, 31) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 31)
#elif PACKETVER >= 20080226
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#elif PACKETVER >= 20080219
-packetLen(0x00e2, 30) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 30)
#elif PACKETVER >= 20080124
-packetLen(0x00e2, 10) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#endif
// Packet: 0x00e3
#if PACKETVER >= 20080701
-packetLen(0x00e3, 26) // CZ_EXIT_ROOM
+packetLen(0x00e3, 26)
#elif PACKETVER >= 20080624
-packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+packetLen(0x00e3, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+packetLen(0x00e3, 58)
#elif PACKETVER >= 20080610
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00e3, 30) // CZ_EXIT_ROOM
+packetLen(0x00e3, 30)
#elif PACKETVER >= 20080528
-packetLen(0x00e3, 35) // CZ_EXIT_ROOM
+packetLen(0x00e3, 35)
#elif PACKETVER >= 20080429
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00e3, 8) // CZ_EXIT_ROOM
+packetLen(0x00e3, 8)
#elif PACKETVER >= 20080408
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+packetLen(0x00e3, 58)
#elif PACKETVER >= 20080325
-packetLen(0x00e3, 10) // CZ_EXIT_ROOM
+packetLen(0x00e3, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00e3, 7) // CZ_EXIT_ROOM
+packetLen(0x00e3, 7)
#elif PACKETVER >= 20080311
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00e3, 12) // CZ_EXIT_ROOM
+packetLen(0x00e3, 12)
#elif PACKETVER >= 20080124
-packetLen(0x00e3, 14) // CZ_EXIT_ROOM
+packetLen(0x00e3, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#endif
// Packet: 0x00e4
#if PACKETVER >= 20080701
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00e4, 36) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 36)
#elif PACKETVER >= 20080617
-packetLen(0x00e4, 86) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 86)
#elif PACKETVER >= 20080520
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00e4, 33) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 33)
#elif PACKETVER >= 20080507
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00e4, 58) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 58)
#elif PACKETVER >= 20080422
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00e4, 13) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 13)
#elif PACKETVER >= 20080408
-packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 10)
#elif PACKETVER >= 20080401
-packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 14)
#elif PACKETVER >= 20080325
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00e4, 54) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 54)
#elif PACKETVER >= 20080304
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 14)
#elif PACKETVER >= 20080124
-packetLen(0x00e4, 7) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#endif
// Packet: 0x00e5
#if PACKETVER >= 20080701
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 3)
#elif PACKETVER >= 20080617
-packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 28)
#elif PACKETVER >= 20080610
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 2)
#elif PACKETVER >= 20080528
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 28)
#elif PACKETVER >= 20080422
-packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 5)
#elif PACKETVER >= 20080415
-packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00e5, 10) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 10)
#elif PACKETVER >= 20080325
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 5)
#elif PACKETVER >= 20080311
-packetLen(0x00e5, 10) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00e5, 11) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 11)
#elif PACKETVER >= 20080124
-packetLen(0x00e5, 29) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 29)
#elif PACKETVER >= 20080102
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
#endif
// Packet: 0x00e6
#if PACKETVER >= 20080701
-packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 6)
#elif PACKETVER >= 20080624
-packetLen(0x00e6, 14) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 14)
#elif PACKETVER >= 20080617
-packetLen(0x00e6, 9) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 9)
#elif PACKETVER >= 20080610
-packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00e6, 2) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 2)
#elif PACKETVER >= 20080528
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00e6, 43) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 43)
#elif PACKETVER >= 20080513
-packetLen(0x00e6, 26) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 26)
#elif PACKETVER >= 20080507
-packetLen(0x00e6, 79) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 79)
#elif PACKETVER >= 20080429
-packetLen(0x00e6, 11) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 11)
#elif PACKETVER >= 20080422
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00e6, 67) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 67)
#elif PACKETVER >= 20080325
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00e6, 15) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 15)
#elif PACKETVER >= 20080311
-packetLen(0x00e6, 16) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 16)
#elif PACKETVER >= 20080304
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00e6, 53) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 53)
#elif PACKETVER >= 20080219
-packetLen(0x00e6, 10) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00e6, 114) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 114)
#elif PACKETVER >= 20080102
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#endif
// Packet: 0x00e7
#if PACKETVER >= 20080701
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00e7, 30) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 30)
#elif PACKETVER >= 20080617
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00e7, 14) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 14)
#elif PACKETVER >= 20080603
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00e7, 182) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 182)
#elif PACKETVER >= 20080520
-packetLen(0x00e7, 14) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 14)
#elif PACKETVER >= 20080513
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00e7, 90) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 90)
#elif PACKETVER >= 20080429
-packetLen(0x00e7, 182) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 182)
#elif PACKETVER >= 20080422
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00e7, 4) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00e7, 8) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 8)
#elif PACKETVER >= 20080318
-packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20080226
-packetLen(0x00e7, 68) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 68)
#elif PACKETVER >= 20080124
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#endif
// Packet: 0x00e8
#if PACKETVER >= 20080701
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00e8, 114) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 114)
#elif PACKETVER >= 20080610
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#elif PACKETVER >= 20080528
-packetLen(0x00e8, 5) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 5)
#elif PACKETVER >= 20080520
-packetLen(0x00e8, 66) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 66)
#elif PACKETVER >= 20080513
-packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 10)
#elif PACKETVER >= 20080507
-packetLen(0x00e8, 86) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 86)
#elif PACKETVER >= 20080429
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#elif PACKETVER >= 20080415
-packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00e8, 30) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 30)
#elif PACKETVER >= 20080318
-packetLen(0x00e8, 4) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00e8, 26) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 26)
#elif PACKETVER >= 20080102
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#endif
// Packet: 0x00e9
#if PACKETVER >= 20080617
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00e9, 8) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 8)
#elif PACKETVER >= 20080603
-packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 4)
#elif PACKETVER >= 20080520
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 2)
#elif PACKETVER >= 20080422
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00e9, 7) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 7)
#elif PACKETVER >= 20080408
-packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 4)
#elif PACKETVER >= 20080401
-packetLen(0x00e9, 8) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00e9, 30) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00e9, 21) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 21)
#elif PACKETVER >= 20080102
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#endif
// Packet: 0x00ea
#if PACKETVER >= 20080701
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ea, 39) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 39)
#elif PACKETVER >= 20080617
-packetLen(0x00ea, 90) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 90)
#elif PACKETVER >= 20080603
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00ea, 30) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 30)
#elif PACKETVER >= 20080520
-packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00ea, 26) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 26)
#elif PACKETVER >= 20080429
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00ea, 4) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 4)
#elif PACKETVER >= 20080408
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ea, 15) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 15)
#elif PACKETVER >= 20080325
-packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 3)
#elif PACKETVER >= 20080318
-packetLen(0x00ea, 2) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00ea, 10) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ea, 14) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
#endif
// Packet: 0x00eb
#if PACKETVER >= 20080624
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 5)
#elif PACKETVER >= 20080610
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00eb, 54) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 54)
#elif PACKETVER >= 20080528
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00eb, 11) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 11)
#elif PACKETVER >= 20080513
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00eb, 36) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 36)
#elif PACKETVER >= 20080429
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 5)
#elif PACKETVER >= 20080408
-packetLen(0x00eb, 15) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 15)
#elif PACKETVER >= 20080325
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00eb, 86) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 86)
#elif PACKETVER >= 20080311
-packetLen(0x00eb, 12) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 12)
#elif PACKETVER >= 20080304
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00eb, 19) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 19)
#elif PACKETVER >= 20080219
-packetLen(0x00eb, 17) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 17)
#elif PACKETVER >= 20080124
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
#endif
// Packet: 0x00ec
#if PACKETVER >= 20080701
-packetLen(0x00ec, 55) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 55)
#elif PACKETVER >= 20080624
-packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 4)
#elif PACKETVER >= 20080610
-packetLen(0x00ec, 6) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 14)
#elif PACKETVER >= 20080520
-packetLen(0x00ec, 81) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 81)
#elif PACKETVER >= 20080513
-packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 11)
#elif PACKETVER >= 20080507
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00ec, 34) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 34)
#elif PACKETVER >= 20080422
-packetLen(0x00ec, 10) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 10)
#elif PACKETVER >= 20080415
-packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 14)
#elif PACKETVER >= 20080408
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 11)
#elif PACKETVER >= 20080325
-packetLen(0x00ec, 9) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 9)
#elif PACKETVER >= 20080318
-packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00ec, 20) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 20)
#elif PACKETVER >= 20080304
-packetLen(0x00ec, 2) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 11)
#elif PACKETVER >= 20080219
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ec, 9) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 9)
#elif PACKETVER >= 20080102
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
#endif
// Packet: 0x00ed
#if PACKETVER >= 20080701
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ed, 20) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 20)
#elif PACKETVER >= 20080610
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 7)
#elif PACKETVER >= 20080528
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00ed, 8) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00ed, 6) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00ed, 5) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 5)
#elif PACKETVER >= 20080401
-packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 7)
#elif PACKETVER >= 20080318
-packetLen(0x00ed, 4) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00ed, 86) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 86)
#elif PACKETVER >= 20080226
-packetLen(0x00ed, 30) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 30)
#elif PACKETVER >= 20080124
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
#endif
// Packet: 0x00ee
#if PACKETVER >= 20080701
-packetLen(0x00ee, 14) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 14)
#elif PACKETVER >= 20080624
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00ee, 81) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 81)
#elif PACKETVER >= 20080610
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
#elif PACKETVER >= 20080603
-packetLen(0x00ee, 6) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00ee, 18) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 18)
#elif PACKETVER >= 20080520
-packetLen(0x00ee, 3) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00ee, 3) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00ee, 30) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 30)
#elif PACKETVER >= 20080408
-packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 8)
#elif PACKETVER >= 20080401
-packetLen(0x00ee, 26) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 26)
#elif PACKETVER >= 20080325
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00ee, 5) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 5)
#elif PACKETVER >= 20080311
-packetLen(0x00ee, 11) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 11)
#elif PACKETVER >= 20080304
-packetLen(0x00ee, 10) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00ee, 90) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 90)
#elif PACKETVER >= 20080219
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ee, 4) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
#endif
// Packet: 0x00ef
#if PACKETVER >= 20080701
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 10)
#elif PACKETVER >= 20080617
-packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00ef, 9) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 9)
#elif PACKETVER >= 20080603
-packetLen(0x00ef, 11) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 11)
#elif PACKETVER >= 20080528
-packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 30)
#elif PACKETVER >= 20080520
-packetLen(0x00ef, 26) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 26)
#elif PACKETVER >= 20080513
-packetLen(0x00ef, 28) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 28)
#elif PACKETVER >= 20080507
-packetLen(0x00ef, 4) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 7)
#elif PACKETVER >= 20080422
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#elif PACKETVER >= 20080408
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ef, 57) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 57)
#elif PACKETVER >= 20080325
-packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00ef, 90) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 90)
#elif PACKETVER >= 20080311
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#endif
// Packet: 0x00f0
#if PACKETVER >= 20080701
-packetLen(0x00f0, 11) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 11)
#elif PACKETVER >= 20080617
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00f0, 60) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 60)
#elif PACKETVER >= 20080603
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00f0, 14) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 14)
#elif PACKETVER >= 20080513
-packetLen(0x00f0, 43) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 43)
#elif PACKETVER >= 20080429
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00f0, 30) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 30)
#elif PACKETVER >= 20080415
-packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 2)
#elif PACKETVER >= 20080408
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00f0, 90) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 90)
#elif PACKETVER >= 20080325
-packetLen(0x00f0, 24) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 24)
#elif PACKETVER >= 20080318
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00f0, 7) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00f0, 27) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 27)
#elif PACKETVER >= 20080124
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#endif
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
#if PACKETVER >= 20080701
-packetLen(0x00f2, 4) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 4)
#elif PACKETVER >= 20080624
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 10)
#elif PACKETVER >= 20080610
-packetLen(0x00f2, 39) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 39)
#elif PACKETVER >= 20080603
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00f2, 39) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 39)
#elif PACKETVER >= 20080507
-packetLen(0x00f2, 54) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 54)
#elif PACKETVER >= 20080429
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00f2, 31) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 31)
#elif PACKETVER >= 20080415
-packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 10)
#elif PACKETVER >= 20080408
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00f2, 86) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 86)
#elif PACKETVER >= 20080325
-packetLen(0x00f2, 60) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 60)
#elif PACKETVER >= 20080318
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00f2, 26) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00f2, 14) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00f2, 13) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 13)
#elif PACKETVER >= 20080102
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#endif
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
#if PACKETVER >= 20080624
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00f4, 11) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 11)
#elif PACKETVER >= 20080528
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 3)
#elif PACKETVER >= 20080507
-packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 8)
#elif PACKETVER >= 20080429
-packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 2)
#elif PACKETVER >= 20080422
-packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00f4, 35) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 35)
#elif PACKETVER >= 20080401
-packetLen(0x00f4, 282) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 282)
#elif PACKETVER >= 20080325
-packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 8)
#elif PACKETVER >= 20080311
-packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00f4, 10) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
#endif
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
#if PACKETVER >= 20080701
-packetLen(0x00f6, 11) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 11)
#elif PACKETVER >= 20080624
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 26)
#elif PACKETVER >= 20080610
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00f6, 10) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 10)
#elif PACKETVER >= 20080520
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
#elif PACKETVER >= 20080513
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00f6, 4) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 4)
#elif PACKETVER >= 20080408
-packetLen(0x00f6, 65) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 65)
#elif PACKETVER >= 20080401
-packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 7)
#elif PACKETVER >= 20080325
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 7)
#elif PACKETVER >= 20080304
-packetLen(0x00f6, 65) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 65)
#elif PACKETVER >= 20080226
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00f6, 23) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 23)
#elif PACKETVER >= 20080124
-packetLen(0x00f6, 39) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 39)
#elif PACKETVER >= 20080102
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
#endif
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
#if PACKETVER >= 20080701
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00f8, 26) // ZC_CLOSE_STORE
+packetLen(0x00f8, 26)
#elif PACKETVER >= 20080617
-packetLen(0x00f8, 17) // ZC_CLOSE_STORE
+packetLen(0x00f8, 17)
#elif PACKETVER >= 20080610
-packetLen(0x00f8, 30) // ZC_CLOSE_STORE
+packetLen(0x00f8, 30)
#elif PACKETVER >= 20080603
-packetLen(0x00f8, 10) // ZC_CLOSE_STORE
+packetLen(0x00f8, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+packetLen(0x00f8, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+packetLen(0x00f8, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+packetLen(0x00f8, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+packetLen(0x00f8, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+packetLen(0x00f8, 12)
#elif PACKETVER >= 20080304
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+packetLen(0x00f8, 12)
#elif PACKETVER >= 20080124
-packetLen(0x00f8, 43) // ZC_CLOSE_STORE
+packetLen(0x00f8, 43)
#elif PACKETVER >= 20080102
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#endif
// Packet: 0x00f9
#if PACKETVER >= 20080701
-packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+packetLen(0x00f9, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+packetLen(0x00f9, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+packetLen(0x00f9, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00f9, 3) // CZ_MAKE_GROUP
+packetLen(0x00f9, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00f9, 5) // CZ_MAKE_GROUP
+packetLen(0x00f9, 5)
#elif PACKETVER >= 20080429
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#elif PACKETVER >= 20080415
-packetLen(0x00f9, 13) // CZ_MAKE_GROUP
+packetLen(0x00f9, 13)
#elif PACKETVER >= 20080408
-packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+packetLen(0x00f9, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+packetLen(0x00f9, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+packetLen(0x00f9, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00f9, 114) // CZ_MAKE_GROUP
+packetLen(0x00f9, 114)
#elif PACKETVER >= 20080304
-packetLen(0x00f9, 12) // CZ_MAKE_GROUP
+packetLen(0x00f9, 12)
#elif PACKETVER >= 20080226
-packetLen(0x00f9, 4) // CZ_MAKE_GROUP
+packetLen(0x00f9, 4)
#elif PACKETVER >= 20080219
-packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+packetLen(0x00f9, 8)
#elif PACKETVER >= 20080124
-packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+packetLen(0x00f9, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#endif
// Packet: 0x00fa
#if PACKETVER >= 20080603
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00fa, 8) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 8)
#elif PACKETVER >= 20080520
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00fa, 4) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 4)
#elif PACKETVER >= 20080507
-packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 30)
#elif PACKETVER >= 20080429
-packetLen(0x00fa, 26) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 26)
#elif PACKETVER >= 20080422
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00fa, 15) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 15)
#elif PACKETVER >= 20080408
-packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 30)
#elif PACKETVER >= 20080401
-packetLen(0x00fa, 29) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 29)
#elif PACKETVER >= 20080325
-packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 30)
#elif PACKETVER >= 20080318
-packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00fa, 20) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 20)
#elif PACKETVER >= 20080226
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00fa, 6) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#endif
// Packet: 0x00fb
#if PACKETVER >= 20080701
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00fb, 26) // ZC_GROUP_LIST
+packetLen(0x00fb, 26)
#elif PACKETVER >= 20080617
-packetLen(0x00fb, 3) // ZC_GROUP_LIST
+packetLen(0x00fb, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00fb, 4) // ZC_GROUP_LIST
+packetLen(0x00fb, 4)
#elif PACKETVER >= 20080603
-packetLen(0x00fb, 17) // ZC_GROUP_LIST
+packetLen(0x00fb, 17)
#elif PACKETVER >= 20080528
-packetLen(0x00fb, 4) // ZC_GROUP_LIST
+packetLen(0x00fb, 4)
#elif PACKETVER >= 20080520
-packetLen(0x00fb, 29) // ZC_GROUP_LIST
+packetLen(0x00fb, 29)
#elif PACKETVER >= 20080513
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00fb, 28) // ZC_GROUP_LIST
+packetLen(0x00fb, 28)
#elif PACKETVER >= 20080429
-packetLen(0x00fb, 6) // ZC_GROUP_LIST
+packetLen(0x00fb, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00fb, 3) // ZC_GROUP_LIST
+packetLen(0x00fb, 3)
#elif PACKETVER >= 20080318
-packetLen(0x00fb, 26) // ZC_GROUP_LIST
+packetLen(0x00fb, 26)
#elif PACKETVER >= 20080311
-packetLen(0x00fb, 2) // ZC_GROUP_LIST
+packetLen(0x00fb, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00fb, 4) // ZC_GROUP_LIST
+packetLen(0x00fb, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00fb, 5) // ZC_GROUP_LIST
+packetLen(0x00fb, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00fb, 10) // ZC_GROUP_LIST
+packetLen(0x00fb, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00fb, 5) // ZC_GROUP_LIST
+packetLen(0x00fb, 5)
#elif PACKETVER >= 20080102
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#endif
// Packet: 0x00fc
#if PACKETVER >= 20080701
-packetLen(0x00fc, 22) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 22)
#elif PACKETVER >= 20080610
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00fc, 18) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 18)
#elif PACKETVER >= 20080528
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00fc, 53) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 53)
#elif PACKETVER >= 20080422
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00fc, 17) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 17)
#elif PACKETVER >= 20080318
-packetLen(0x00fc, 27) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 27)
#elif PACKETVER >= 20080311
-packetLen(0x00fc, 24) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 24)
#elif PACKETVER >= 20080304
-packetLen(0x00fc, 30) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 30)
#elif PACKETVER >= 20080226
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00fc, 19) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 19)
#elif PACKETVER >= 20080124
-packetLen(0x00fc, 2) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#endif
// Packet: 0x00fd
#if PACKETVER >= 20080617
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00fd, 6) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00fd, 97) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 97)
#elif PACKETVER >= 20080528
-packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 2)
#elif PACKETVER >= 20080507
-packetLen(0x00fd, 8) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 8)
#elif PACKETVER >= 20080415
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00fd, 8) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 8)
#elif PACKETVER >= 20080318
-packetLen(0x00fd, 18) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 18)
#elif PACKETVER >= 20080311
-packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00fd, 20) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 20)
#elif PACKETVER >= 20080219
-packetLen(0x00fd, 11) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 11)
#elif PACKETVER >= 20080124
-packetLen(0x00fd, 42) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 42)
#elif PACKETVER >= 20080102
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
#endif
// Packet: 0x00fe
#if PACKETVER >= 20080617
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00fe, 2) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
#elif PACKETVER >= 20080415
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00fe, 186) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 186)
#elif PACKETVER >= 20080325
-packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 4)
#elif PACKETVER >= 20080318
-packetLen(0x00fe, 32) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 32)
#elif PACKETVER >= 20080311
-packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 4)
#elif PACKETVER >= 20080304
-packetLen(0x00fe, 186) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 186)
#elif PACKETVER >= 20080226
-packetLen(0x00fe, 7) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 7)
#elif PACKETVER >= 20080219
-packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
#endif
// Packet: 0x00ff
#if PACKETVER >= 20080701
-packetLen(0x00ff, 5) // CZ_JOIN_GROUP
+packetLen(0x00ff, 5)
#elif PACKETVER >= 20080610
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00ff, 7) // CZ_JOIN_GROUP
+packetLen(0x00ff, 7)
#elif PACKETVER >= 20080528
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00ff, 4) // CZ_JOIN_GROUP
+packetLen(0x00ff, 4)
#elif PACKETVER >= 20080513
-packetLen(0x00ff, 22) // CZ_JOIN_GROUP
+packetLen(0x00ff, 22)
#elif PACKETVER >= 20080507
-packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+packetLen(0x00ff, 282)
#elif PACKETVER >= 20080429
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#elif PACKETVER >= 20080408
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ff, 79) // CZ_JOIN_GROUP
+packetLen(0x00ff, 79)
#elif PACKETVER >= 20080325
-packetLen(0x00ff, 2) // CZ_JOIN_GROUP
+packetLen(0x00ff, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00ff, 3) // CZ_JOIN_GROUP
+packetLen(0x00ff, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00ff, 59) // CZ_JOIN_GROUP
+packetLen(0x00ff, 59)
#elif PACKETVER >= 20080226
-packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+packetLen(0x00ff, 282)
#elif PACKETVER >= 20080219
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00ff, 32) // CZ_JOIN_GROUP
+packetLen(0x00ff, 32)
#elif PACKETVER >= 20080102
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#endif
// Packet: 0x0100
#if PACKETVER >= 20080617
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#elif PACKETVER >= 20080603
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0100, 186) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 186)
#elif PACKETVER >= 20080520
-packetLen(0x0100, 14) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 14)
#elif PACKETVER >= 20080513
-packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0100, 27) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 27)
#elif PACKETVER >= 20080429
-packetLen(0x0100, 8) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 8)
#elif PACKETVER >= 20080422
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0100, 17) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 17)
#elif PACKETVER >= 20080408
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0100, 30) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 30)
#elif PACKETVER >= 20080325
-packetLen(0x0100, 28) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 28)
#elif PACKETVER >= 20080318
-packetLen(0x0100, 54) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 54)
#elif PACKETVER >= 20080311
-packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0100, 54) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 54)
#elif PACKETVER >= 20080124
-packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#endif
// Packet: 0x0101
#if PACKETVER >= 20080701
-packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 5)
#elif PACKETVER >= 20080624
-packetLen(0x0101, 24) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 24)
#elif PACKETVER >= 20080617
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0101, 58) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 58)
#elif PACKETVER >= 20080429
-packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 11)
#elif PACKETVER >= 20080422
-packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 5)
#elif PACKETVER >= 20080415
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 11)
#elif PACKETVER >= 20080325
-packetLen(0x0101, 26) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 26)
#elif PACKETVER >= 20080318
-packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 5)
#elif PACKETVER >= 20080311
-packetLen(0x0101, 97) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 97)
#elif PACKETVER >= 20080304
-packetLen(0x0101, 23) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 23)
#elif PACKETVER >= 20080226
-packetLen(0x0101, 10) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0101, 4) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#endif
// Packet: 0x0102
#if PACKETVER >= 20080610
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 26)
#elif PACKETVER >= 20080528
-packetLen(0x0102, 17) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 17)
#elif PACKETVER >= 20080520
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0102, 11) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 11)
#elif PACKETVER >= 20080422
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0102, 81) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 81)
#elif PACKETVER >= 20080408
-packetLen(0x0102, 2) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0102, 54) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 54)
#elif PACKETVER >= 20080318
-packetLen(0x0102, 4) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0102, 2) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0102, 14) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0102, 68) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 68)
#elif PACKETVER >= 20080124
-packetLen(0x0102, 15) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 15)
#elif PACKETVER >= 20080102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#endif
// Packet: 0x0103
#if PACKETVER >= 20080701
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 8)
#elif PACKETVER >= 20080617
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20080610
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0103, 10) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 10)
#elif PACKETVER >= 20080528
-packetLen(0x0103, 79) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 79)
#elif PACKETVER >= 20080520
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0103, 16) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 16)
#elif PACKETVER >= 20080507
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20080415
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0103, 11) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0103, 4) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 5)
#elif PACKETVER >= 20080124
-packetLen(0x0103, 58) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 58)
#elif PACKETVER >= 20080102
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#endif
// Packet: 0x0104
#if PACKETVER >= 20080701
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0104, 60) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 60)
#elif PACKETVER >= 20080610
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0104, 3) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 26)
#elif PACKETVER >= 20080520
-packetLen(0x0104, 17) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 17)
#elif PACKETVER >= 20080513
-packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0104, 282) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 282)
#elif PACKETVER >= 20080415
-packetLen(0x0104, 12) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 12)
#elif PACKETVER >= 20080408
-packetLen(0x0104, 30) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 30)
#elif PACKETVER >= 20080401
-packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 26)
#elif PACKETVER >= 20080325
-packetLen(0x0104, 11) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 11)
#elif PACKETVER >= 20080318
-packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0104, 15) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 15)
#elif PACKETVER >= 20080304
-packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0104, 21) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 21)
#elif PACKETVER >= 20080124
-packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#endif
// Packet: 0x0105
#if PACKETVER >= 20080617
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 26)
#elif PACKETVER >= 20080528
-packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 3)
#elif PACKETVER >= 20080513
-packetLen(0x0105, 5) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 5)
#elif PACKETVER >= 20080507
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0105, 4) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 4)
#elif PACKETVER >= 20080401
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0105, 23) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 23)
#elif PACKETVER >= 20080318
-packetLen(0x0105, 4) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0105, 10) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
#endif
// Packet: 0x0106
#if PACKETVER >= 20080701
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0106, 9) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 9)
#elif PACKETVER >= 20080528
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0106, 2) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0106, 27) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 27)
#elif PACKETVER >= 20080422
-packetLen(0x0106, 29) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 29)
#elif PACKETVER >= 20080415
-packetLen(0x0106, 282) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 282)
#elif PACKETVER >= 20080408
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0106, 5) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 5)
#elif PACKETVER >= 20080325
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0106, 26) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0106, 21) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 21)
#elif PACKETVER >= 20080124
-packetLen(0x0106, 8) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#endif
// Packet: 0x0107
#if PACKETVER >= 20080624
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 3)
#elif PACKETVER >= 20080603
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
#elif PACKETVER >= 20080507
-packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0107, 2) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 5)
#elif PACKETVER >= 20080124
-packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
#endif
// Packet: 0x0108
#if PACKETVER >= 20080624
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0108, 54) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 54)
#elif PACKETVER >= 20080610
-packetLen(0x0108, 2) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0108, 11) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 11)
#elif PACKETVER >= 20080520
-packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 97)
#elif PACKETVER >= 20080513
-packetLen(0x0108, 30) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 30)
#elif PACKETVER >= 20080507
-packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0108, 32) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 32)
#elif PACKETVER >= 20080415
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0108, 7) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 7)
#elif PACKETVER >= 20080318
-packetLen(0x0108, 182) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 182)
#elif PACKETVER >= 20080311
-packetLen(0x0108, 4) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 97)
#elif PACKETVER >= 20080124
-packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#endif
// Packet: 0x0109
#if PACKETVER >= 20080701
-packetLen(0x0109, 31) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 31)
#elif PACKETVER >= 20080624
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0109, 7) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 7)
#elif PACKETVER >= 20080610
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0109, 5) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 5)
#elif PACKETVER >= 20080528
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0109, 26) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 26)
#elif PACKETVER >= 20080429
-packetLen(0x0109, 67) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 67)
#elif PACKETVER >= 20080422
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0109, 102) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 102)
#elif PACKETVER >= 20080408
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0109, 33) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 33)
#elif PACKETVER >= 20080325
-packetLen(0x0109, 26) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 26)
#elif PACKETVER >= 20080318
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0109, 10) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0109, 4) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0109, 2) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0109, 14) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 14)
#elif PACKETVER >= 20080124
-packetLen(0x0109, 12) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 12)
#elif PACKETVER >= 20080102
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#endif
// Packet: 0x010a
#if PACKETVER >= 20080610
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x010a, 34) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 34)
#elif PACKETVER >= 20080528
-packetLen(0x010a, 102) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 102)
#elif PACKETVER >= 20080520
-packetLen(0x010a, 3) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 3)
#elif PACKETVER >= 20080513
-packetLen(0x010a, 30) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 30)
#elif PACKETVER >= 20080507
-packetLen(0x010a, 31) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 31)
#elif PACKETVER >= 20080429
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20080408
-packetLen(0x010a, 114) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 114)
#elif PACKETVER >= 20080401
-packetLen(0x010a, 27) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 27)
#elif PACKETVER >= 20080325
-packetLen(0x010a, 12) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 12)
#elif PACKETVER >= 20080318
-packetLen(0x010a, 8) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 8)
#elif PACKETVER >= 20080311
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080226
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080124
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20080102
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#endif
// Packet: 0x010b
#if PACKETVER >= 20080701
-packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 3)
#elif PACKETVER >= 20080624
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080617
-packetLen(0x010b, 8) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 8)
#elif PACKETVER >= 20080610
-packetLen(0x010b, 26) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 26)
#elif PACKETVER >= 20080603
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#elif PACKETVER >= 20080520
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080513
-packetLen(0x010b, 4) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 4)
#elif PACKETVER >= 20080429
-packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 3)
#elif PACKETVER >= 20080422
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080415
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#elif PACKETVER >= 20080408
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080401
-packetLen(0x010b, 28) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 28)
#elif PACKETVER >= 20080325
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080318
-packetLen(0x010b, 17) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 17)
#elif PACKETVER >= 20080311
-packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 3)
#elif PACKETVER >= 20080304
-packetLen(0x010b, 114) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 114)
#elif PACKETVER >= 20080226
-packetLen(0x010b, 9) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 9)
#elif PACKETVER >= 20080219
-packetLen(0x010b, 24) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 24)
#elif PACKETVER >= 20080102
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#endif
// Packet: 0x010c
#if PACKETVER >= 20080701
-packetLen(0x010c, 7) // ZC_MVP
+packetLen(0x010c, 7)
#elif PACKETVER >= 20080624
-packetLen(0x010c, 23) // ZC_MVP
+packetLen(0x010c, 23)
#elif PACKETVER >= 20080610
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x010c, 31) // ZC_MVP
+packetLen(0x010c, 31)
#elif PACKETVER >= 20080528
-packetLen(0x010c, 30) // ZC_MVP
+packetLen(0x010c, 30)
#elif PACKETVER >= 20080520
-packetLen(0x010c, 8) // ZC_MVP
+packetLen(0x010c, 8)
#elif PACKETVER >= 20080507
-packetLen(0x010c, 2) // ZC_MVP
+packetLen(0x010c, 2)
#elif PACKETVER >= 20080429
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x010c, 26) // ZC_MVP
+packetLen(0x010c, 26)
#elif PACKETVER >= 20080408
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#elif PACKETVER >= 20080325
-packetLen(0x010c, 11) // ZC_MVP
+packetLen(0x010c, 11)
#elif PACKETVER >= 20080318
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x010c, 282) // ZC_MVP
+packetLen(0x010c, 282)
#elif PACKETVER >= 20080304
-packetLen(0x010c, 2) // ZC_MVP
+packetLen(0x010c, 2)
#elif PACKETVER >= 20080226
-packetLen(0x010c, 14) // ZC_MVP
+packetLen(0x010c, 14)
#elif PACKETVER >= 20080219
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080124
-packetLen(0x010c, 4) // ZC_MVP
+packetLen(0x010c, 4)
#elif PACKETVER >= 20080102
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#endif
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
#if PACKETVER >= 20080701
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x010e, 33) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 33)
#elif PACKETVER >= 20080617
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
#elif PACKETVER >= 20080610
-packetLen(0x010e, 8) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 8)
#elif PACKETVER >= 20080603
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20080528
-packetLen(0x010e, 2) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 2)
#elif PACKETVER >= 20080520
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20080513
-packetLen(0x010e, 14) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 14)
#elif PACKETVER >= 20080507
-packetLen(0x010e, 10) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 10)
#elif PACKETVER >= 20080429
-packetLen(0x010e, 67) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 67)
#elif PACKETVER >= 20080415
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080408
-packetLen(0x010e, 12) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 12)
#elif PACKETVER >= 20080401
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080325
-packetLen(0x010e, 30) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 30)
#elif PACKETVER >= 20080318
-packetLen(0x010e, 53) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 53)
#elif PACKETVER >= 20080311
-packetLen(0x010e, 71) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 71)
#elif PACKETVER >= 20080304
-packetLen(0x010e, 26) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 26)
#elif PACKETVER >= 20080226
-packetLen(0x010e, 7) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20080102
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
#endif
// Packet: 0x010f
#if PACKETVER >= 20080701
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080624
-packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 2)
#elif PACKETVER >= 20080617
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080610
-packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 30)
#elif PACKETVER >= 20080603
-packetLen(0x010f, 5) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 5)
#elif PACKETVER >= 20080528
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080520
-packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 6)
#elif PACKETVER >= 20080513
-packetLen(0x010f, 17) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 17)
#elif PACKETVER >= 20080507
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080429
-packetLen(0x010f, 11) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 11)
#elif PACKETVER >= 20080422
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080415
-packetLen(0x010f, 4) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 4)
#elif PACKETVER >= 20080408
-packetLen(0x010f, 8) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 8)
#elif PACKETVER >= 20080325
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080318
-packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 6)
#elif PACKETVER >= 20080311
-packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 2)
#elif PACKETVER >= 20080304
-packetLen(0x010f, 17) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 17)
#elif PACKETVER >= 20080226
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080219
-packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 30)
#elif PACKETVER >= 20080124
-packetLen(0x010f, 11) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 11)
#elif PACKETVER >= 20080102
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#endif
// Packet: 0x0110
#if PACKETVER >= 20080617
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 3)
#elif PACKETVER >= 20080603
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#elif PACKETVER >= 20080520
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0110, 4) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0110, 6) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0110, 35) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 35)
#elif PACKETVER >= 20080318
-packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0110, 4) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0110, 2) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#endif
// Packet: 0x0111
#if PACKETVER >= 20080701
-packetLen(0x0111, 17) // ZC_ADD_SKILL
+packetLen(0x0111, 17)
#elif PACKETVER >= 20080624
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0111, 2) // ZC_ADD_SKILL
+packetLen(0x0111, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0111, 11) // ZC_ADD_SKILL
+packetLen(0x0111, 11)
#elif PACKETVER >= 20080528
-packetLen(0x0111, 23) // ZC_ADD_SKILL
+packetLen(0x0111, 23)
#elif PACKETVER >= 20080507
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0111, 10) // ZC_ADD_SKILL
+packetLen(0x0111, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0111, 4) // ZC_ADD_SKILL
+packetLen(0x0111, 4)
#elif PACKETVER >= 20080415
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0111, 26) // ZC_ADD_SKILL
+packetLen(0x0111, 26)
#elif PACKETVER >= 20080401
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0111, 282) // ZC_ADD_SKILL
+packetLen(0x0111, 282)
#elif PACKETVER >= 20080318
-packetLen(0x0111, 23) // ZC_ADD_SKILL
+packetLen(0x0111, 23)
#elif PACKETVER >= 20080311
-packetLen(0x0111, 6) // ZC_ADD_SKILL
+packetLen(0x0111, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0111, 4) // ZC_ADD_SKILL
+packetLen(0x0111, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0111, 60) // ZC_ADD_SKILL
+packetLen(0x0111, 60)
#elif PACKETVER >= 20080219
-packetLen(0x0111, 32) // ZC_ADD_SKILL
+packetLen(0x0111, 32)
#elif PACKETVER >= 20080124
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
#endif
// Packet: 0x0112
#if PACKETVER >= 20080701
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0112, 15) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 15)
#elif PACKETVER >= 20080617
-packetLen(0x0112, 59) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 59)
#elif PACKETVER >= 20080610
-packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0112, 14) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 14)
#elif PACKETVER >= 20080528
-packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 7)
#elif PACKETVER >= 20080520
-packetLen(0x0112, 30) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0112, 10) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 10)
#elif PACKETVER >= 20080429
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0112, 11) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 11)
#elif PACKETVER >= 20080318
-packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0112, 29) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 29)
#elif PACKETVER >= 20080226
-packetLen(0x0112, 13) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 13)
#elif PACKETVER >= 20080219
-packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 7)
#elif PACKETVER >= 20080124
-packetLen(0x0112, 26) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
#endif
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
#if PACKETVER >= 20080701
-packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 10)
#elif PACKETVER >= 20080624
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0114, 15) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 15)
#elif PACKETVER >= 20080610
-packetLen(0x0114, 11) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 11)
#elif PACKETVER >= 20080603
-packetLen(0x0114, 7) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0114, 30) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0114, 4) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0114, 3) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0114, 26) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 26)
#elif PACKETVER >= 20080325
-packetLen(0x0114, 182) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 182)
#elif PACKETVER >= 20080318
-packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0114, 29) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 29)
#elif PACKETVER >= 20080226
-packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0114, 8) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
#endif
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
#if PACKETVER >= 20080603
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0117, 5) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 5)
#elif PACKETVER >= 20080507
-packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0117, 29) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 29)
#elif PACKETVER >= 20080408
-packetLen(0x0117, 28) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 28)
#elif PACKETVER >= 20080401
-packetLen(0x0117, 26) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 26)
#elif PACKETVER >= 20080325
-packetLen(0x0117, 29) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 29)
#elif PACKETVER >= 20080318
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0117, 11) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0117, 10) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0117, 8) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
#endif
// Packet: 0x0118
#if PACKETVER >= 20080701
-packetLen(0x0118, 67) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 67)
#elif PACKETVER >= 20080617
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0118, 22) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 22)
#elif PACKETVER >= 20080603
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0118, 8) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 8)
#elif PACKETVER >= 20080520
-packetLen(0x0118, 90) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 90)
#elif PACKETVER >= 20080513
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0118, 29) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 29)
#elif PACKETVER >= 20080422
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0118, 14) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 14)
#elif PACKETVER >= 20080318
-packetLen(0x0118, 5) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 5)
#elif PACKETVER >= 20080311
-packetLen(0x0118, 282) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 282)
#elif PACKETVER >= 20080304
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 54)
#elif PACKETVER >= 20080219
-packetLen(0x0118, 7) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 7)
#elif PACKETVER >= 20080124
-packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 54)
#elif PACKETVER >= 20080102
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#endif
// Packet: 0x0119
#if PACKETVER >= 20080603
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0119, 10) // ZC_STATE_CHANGE
+packetLen(0x0119, 10)
#elif PACKETVER >= 20080520
-packetLen(0x0119, 4) // ZC_STATE_CHANGE
+packetLen(0x0119, 4)
#elif PACKETVER >= 20080513
-packetLen(0x0119, 23) // ZC_STATE_CHANGE
+packetLen(0x0119, 23)
#elif PACKETVER >= 20080415
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0119, 6) // ZC_STATE_CHANGE
+packetLen(0x0119, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0119, 17) // ZC_STATE_CHANGE
+packetLen(0x0119, 17)
#elif PACKETVER >= 20080325
-packetLen(0x0119, 2) // ZC_STATE_CHANGE
+packetLen(0x0119, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0119, 3) // ZC_STATE_CHANGE
+packetLen(0x0119, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0119, 8) // ZC_STATE_CHANGE
+packetLen(0x0119, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0119, 282) // ZC_STATE_CHANGE
+packetLen(0x0119, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0119, 2) // ZC_STATE_CHANGE
+packetLen(0x0119, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0119, 58) // ZC_STATE_CHANGE
+packetLen(0x0119, 58)
#elif PACKETVER >= 20080124
-packetLen(0x0119, 6) // ZC_STATE_CHANGE
+packetLen(0x0119, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
#endif
// Packet: 0x011a
#if PACKETVER >= 20080701
-packetLen(0x011a, 11) // ZC_USE_SKILL
+packetLen(0x011a, 11)
#elif PACKETVER >= 20080624
-packetLen(0x011a, 3) // ZC_USE_SKILL
+packetLen(0x011a, 3)
#elif PACKETVER >= 20080617
-packetLen(0x011a, 6) // ZC_USE_SKILL
+packetLen(0x011a, 6)
#elif PACKETVER >= 20080610
-packetLen(0x011a, 26) // ZC_USE_SKILL
+packetLen(0x011a, 26)
#elif PACKETVER >= 20080603
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080528
-packetLen(0x011a, 8) // ZC_USE_SKILL
+packetLen(0x011a, 8)
#elif PACKETVER >= 20080520
-packetLen(0x011a, 6) // ZC_USE_SKILL
+packetLen(0x011a, 6)
#elif PACKETVER >= 20080513
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x011a, 3) // ZC_USE_SKILL
+packetLen(0x011a, 3)
#elif PACKETVER >= 20080429
-packetLen(0x011a, 17) // ZC_USE_SKILL
+packetLen(0x011a, 17)
#elif PACKETVER >= 20080408
-packetLen(0x011a, 4) // ZC_USE_SKILL
+packetLen(0x011a, 4)
#elif PACKETVER >= 20080401
-packetLen(0x011a, 8) // ZC_USE_SKILL
+packetLen(0x011a, 8)
#elif PACKETVER >= 20080325
-packetLen(0x011a, 36) // ZC_USE_SKILL
+packetLen(0x011a, 36)
#elif PACKETVER >= 20080318
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011a, 6) // ZC_USE_SKILL
+packetLen(0x011a, 6)
#elif PACKETVER >= 20080304
-packetLen(0x011a, 2) // ZC_USE_SKILL
+packetLen(0x011a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x011a, 10) // ZC_USE_SKILL
+packetLen(0x011a, 10)
#elif PACKETVER >= 20080219
-packetLen(0x011a, 11) // ZC_USE_SKILL
+packetLen(0x011a, 11)
#elif PACKETVER >= 20080124
-packetLen(0x011a, 2) // ZC_USE_SKILL
+packetLen(0x011a, 2)
#elif PACKETVER >= 20080102
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
#endif
// Packet: 0x011b
#if PACKETVER >= 20080528
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080520
-packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 2)
#elif PACKETVER >= 20080513
-packetLen(0x011b, 58) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 58)
#elif PACKETVER >= 20080507
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080429
-packetLen(0x011b, 10) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 10)
#elif PACKETVER >= 20080422
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
#elif PACKETVER >= 20080415
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 4)
#elif PACKETVER >= 20080401
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080325
-packetLen(0x011b, 39) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 39)
#elif PACKETVER >= 20080311
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080304
-packetLen(0x011b, 58) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 58)
#elif PACKETVER >= 20080226
-packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 2)
#elif PACKETVER >= 20080124
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080102
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
#endif
// Packet: 0x011c
#if PACKETVER >= 20080617
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x011c, 14) // ZC_WARPLIST
+packetLen(0x011c, 14)
#elif PACKETVER >= 20080603
-packetLen(0x011c, 8) // ZC_WARPLIST
+packetLen(0x011c, 8)
#elif PACKETVER >= 20080528
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x011c, 2) // ZC_WARPLIST
+packetLen(0x011c, 2)
#elif PACKETVER >= 20080513
-packetLen(0x011c, 8) // ZC_WARPLIST
+packetLen(0x011c, 8)
#elif PACKETVER >= 20080507
-packetLen(0x011c, 282) // ZC_WARPLIST
+packetLen(0x011c, 282)
#elif PACKETVER >= 20080429
-packetLen(0x011c, 5) // ZC_WARPLIST
+packetLen(0x011c, 5)
#elif PACKETVER >= 20080422
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080415
-packetLen(0x011c, 31) // ZC_WARPLIST
+packetLen(0x011c, 31)
#elif PACKETVER >= 20080408
-packetLen(0x011c, 3) // ZC_WARPLIST
+packetLen(0x011c, 3)
#elif PACKETVER >= 20080401
-packetLen(0x011c, 7) // ZC_WARPLIST
+packetLen(0x011c, 7)
#elif PACKETVER >= 20080325
-packetLen(0x011c, 26) // ZC_WARPLIST
+packetLen(0x011c, 26)
#elif PACKETVER >= 20080318
-packetLen(0x011c, 6) // ZC_WARPLIST
+packetLen(0x011c, 6)
#elif PACKETVER >= 20080311
-packetLen(0x011c, 3) // ZC_WARPLIST
+packetLen(0x011c, 3)
#elif PACKETVER >= 20080304
-packetLen(0x011c, 32) // ZC_WARPLIST
+packetLen(0x011c, 32)
#elif PACKETVER >= 20080226
-packetLen(0x011c, 6) // ZC_WARPLIST
+packetLen(0x011c, 6)
#elif PACKETVER >= 20080219
-packetLen(0x011c, 4) // ZC_WARPLIST
+packetLen(0x011c, 4)
#elif PACKETVER >= 20080124
-packetLen(0x011c, 2) // ZC_WARPLIST
+packetLen(0x011c, 2)
#elif PACKETVER >= 20080102
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
#endif
// Packet: 0x011d
#if PACKETVER >= 20080624
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080617
-packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 10)
#elif PACKETVER >= 20080610
-packetLen(0x011d, 28) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 28)
#elif PACKETVER >= 20080603
-packetLen(0x011d, 3) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 3)
#elif PACKETVER >= 20080528
-packetLen(0x011d, 14) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 14)
#elif PACKETVER >= 20080520
-packetLen(0x011d, 23) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 23)
#elif PACKETVER >= 20080513
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080507
-packetLen(0x011d, 81) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 81)
#elif PACKETVER >= 20080422
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#elif PACKETVER >= 20080415
-packetLen(0x011d, 6) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 6)
#elif PACKETVER >= 20080408
-packetLen(0x011d, 4) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 4)
#elif PACKETVER >= 20080325
-packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 10)
#elif PACKETVER >= 20080318
-packetLen(0x011d, 7) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 7)
#elif PACKETVER >= 20080311
-packetLen(0x011d, 3) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 3)
#elif PACKETVER >= 20080304
-packetLen(0x011d, 7) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 7)
#elif PACKETVER >= 20080219
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080124
-packetLen(0x011d, 26) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 26)
#elif PACKETVER >= 20080102
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#endif
// Packet: 0x011e
#if PACKETVER >= 20080624
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080617
-packetLen(0x011e, 33) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 33)
#elif PACKETVER >= 20080610
-packetLen(0x011e, 5) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 5)
#elif PACKETVER >= 20080603
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x011e, 6) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 6)
#elif PACKETVER >= 20080513
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080507
-packetLen(0x011e, 9) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 9)
#elif PACKETVER >= 20080429
-packetLen(0x011e, 10) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 10)
#elif PACKETVER >= 20080422
-packetLen(0x011e, 282) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 282)
#elif PACKETVER >= 20080415
-packetLen(0x011e, 30) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 30)
#elif PACKETVER >= 20080408
-packetLen(0x011e, 32) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 32)
#elif PACKETVER >= 20080401
-packetLen(0x011e, 9) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 9)
#elif PACKETVER >= 20080325
-packetLen(0x011e, 18) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 18)
#elif PACKETVER >= 20080318
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011e, 6) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 6)
#elif PACKETVER >= 20080304
-packetLen(0x011e, 18) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 18)
#elif PACKETVER >= 20080219
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x011e, 7) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 7)
#elif PACKETVER >= 20080102
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
#endif
// Packet: 0x011f
#if PACKETVER >= 20080701
-packetLen(0x011f, 11) // ZC_SKILL_ENTRY
+packetLen(0x011f, 11)
#elif PACKETVER >= 20080624
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+packetLen(0x011f, 30)
#elif PACKETVER >= 20080610
-packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+packetLen(0x011f, 10)
#elif PACKETVER >= 20080603
-packetLen(0x011f, 3) // ZC_SKILL_ENTRY
+packetLen(0x011f, 3)
#elif PACKETVER >= 20080528
-packetLen(0x011f, 282) // ZC_SKILL_ENTRY
+packetLen(0x011f, 282)
#elif PACKETVER >= 20080520
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+packetLen(0x011f, 30)
#elif PACKETVER >= 20080507
-packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+packetLen(0x011f, 6)
#elif PACKETVER >= 20080429
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080422
-packetLen(0x011f, 12) // ZC_SKILL_ENTRY
+packetLen(0x011f, 12)
#elif PACKETVER >= 20080415
-packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+packetLen(0x011f, 2)
#elif PACKETVER >= 20080408
-packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+packetLen(0x011f, 6)
#elif PACKETVER >= 20080401
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080325
-packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+packetLen(0x011f, 10)
#elif PACKETVER >= 20080318
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011f, 60) // ZC_SKILL_ENTRY
+packetLen(0x011f, 60)
#elif PACKETVER >= 20080304
-packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+packetLen(0x011f, 2)
#elif PACKETVER >= 20080226
-packetLen(0x011f, 8) // ZC_SKILL_ENTRY
+packetLen(0x011f, 8)
#elif PACKETVER >= 20080219
-packetLen(0x011f, 5) // ZC_SKILL_ENTRY
+packetLen(0x011f, 5)
#elif PACKETVER >= 20080124
-packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+packetLen(0x011f, 2)
#elif PACKETVER >= 20080102
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
#endif
// Packet: 0x0120
#if PACKETVER >= 20080701
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0120, 27) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 27)
#elif PACKETVER >= 20080617
-packetLen(0x0120, 14) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 14)
#elif PACKETVER >= 20080610
-packetLen(0x0120, 79) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 79)
#elif PACKETVER >= 20080603
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0120, 28) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 28)
#elif PACKETVER >= 20080520
-packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 5)
#elif PACKETVER >= 20080513
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0120, 54) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 54)
#elif PACKETVER >= 20080429
-packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 7)
#elif PACKETVER >= 20080422
-packetLen(0x0120, 4) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0120, 54) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 54)
#elif PACKETVER >= 20080226
-packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0120, 39) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 39)
#elif PACKETVER >= 20080102
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
#endif
// Packet: 0x0121
#if PACKETVER >= 20080701
-packetLen(0x0121, 8) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 8)
#elif PACKETVER >= 20080624
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0121, 5) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0121, 4) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0121, 26) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 26)
#elif PACKETVER >= 20080513
-packetLen(0x0121, 27) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 27)
#elif PACKETVER >= 20080507
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0121, 60) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 60)
#elif PACKETVER >= 20080415
-packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0121, 29) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 29)
#elif PACKETVER >= 20080311
-packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0121, 29) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 29)
#elif PACKETVER >= 20080226
-packetLen(0x0121, 282) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 282)
#elif PACKETVER >= 20080219
-packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0121, 60) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 60)
#elif PACKETVER >= 20080102
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
#endif
// Packet: 0x0122
#if PACKETVER >= 20080701
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0122, 58) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 58)
#elif PACKETVER >= 20080617
-packetLen(0x0122, 12) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 12)
#elif PACKETVER >= 20080610
-packetLen(0x0122, 15) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 15)
#elif PACKETVER >= 20080603
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0122, 4) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0122, 10) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 10)
#elif PACKETVER >= 20080507
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 30)
#elif PACKETVER >= 20080422
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0122, 186) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 186)
#elif PACKETVER >= 20080408
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 30)
#elif PACKETVER >= 20080325
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0122, 16) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 16)
#elif PACKETVER >= 20080311
-packetLen(0x0122, 7) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0122, 28) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 28)
#elif PACKETVER >= 20080226
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0122, 8) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#endif
// Packet: 0x0123
#if PACKETVER >= 20080701
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0123, 23) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 23)
#elif PACKETVER >= 20080603
-packetLen(0x0123, 30) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 30)
#elif PACKETVER >= 20080528
-packetLen(0x0123, 28) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 28)
#elif PACKETVER >= 20080520
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0123, 2) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0123, 8) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 26)
#elif PACKETVER >= 20080401
-packetLen(0x0123, 35) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 35)
#elif PACKETVER >= 20080325
-packetLen(0x0123, 33) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 33)
#elif PACKETVER >= 20080318
-packetLen(0x0123, 14) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 14)
#elif PACKETVER >= 20080311
-packetLen(0x0123, 5) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0123, 9) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 9)
#elif PACKETVER >= 20080226
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0123, 16) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 16)
#elif PACKETVER >= 20080124
-packetLen(0x0123, 58) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 58)
#elif PACKETVER >= 20080102
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#endif
// Packet: 0x0124
#if PACKETVER >= 20080701
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0124, 26) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 26)
#elif PACKETVER >= 20080617
-packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0124, 58) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 58)
#elif PACKETVER >= 20080603
-packetLen(0x0124, 54) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 54)
#elif PACKETVER >= 20080528
-packetLen(0x0124, 32) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 32)
#elif PACKETVER >= 20080520
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0124, 22) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 22)
#elif PACKETVER >= 20080507
-packetLen(0x0124, 2) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 31)
#elif PACKETVER >= 20080422
-packetLen(0x0124, 71) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 71)
#elif PACKETVER >= 20080415
-packetLen(0x0124, 22) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 22)
#elif PACKETVER >= 20080408
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0124, 3) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0124, 36) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 36)
#elif PACKETVER >= 20080219
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0124, 11) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 11)
#elif PACKETVER >= 20080102
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
#endif
// Packet: 0x0125
#if PACKETVER >= 20080701
-packetLen(0x0125, 10) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 10)
#elif PACKETVER >= 20080624
-packetLen(0x0125, 7) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 7)
#elif PACKETVER >= 20080617
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0125, 86) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 86)
#elif PACKETVER >= 20080603
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0125, 44) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 44)
#elif PACKETVER >= 20080513
-packetLen(0x0125, 57) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 57)
#elif PACKETVER >= 20080507
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0125, 32) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 32)
#elif PACKETVER >= 20080415
-packetLen(0x0125, 29) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 29)
#elif PACKETVER >= 20080408
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0125, 11) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 11)
#elif PACKETVER >= 20080325
-packetLen(0x0125, 53) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 53)
#elif PACKETVER >= 20080318
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0125, 26) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
#endif
// Packet: 0x0126
#if PACKETVER >= 20080701
-packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 3)
#elif PACKETVER >= 20080624
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0126, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 43)
#elif PACKETVER >= 20080610
-packetLen(0x0126, 97) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 97)
#elif PACKETVER >= 20080603
-packetLen(0x0126, 12) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 12)
#elif PACKETVER >= 20080507
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0126, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0126, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 14)
#elif PACKETVER >= 20080401
-packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0126, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 30)
#elif PACKETVER >= 20080318
-packetLen(0x0126, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0126, 7) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0126, 27) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 27)
#elif PACKETVER >= 20080226
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0126, 11) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 11)
#elif PACKETVER >= 20080124
-packetLen(0x0126, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#endif
// Packet: 0x0127
#if PACKETVER >= 20080701
-packetLen(0x0127, 9) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 9)
#elif PACKETVER >= 20080528
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0127, 6) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0127, 10) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0127, 26) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 26)
#elif PACKETVER >= 20080401
-packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0127, 6) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0127, 67) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 67)
#elif PACKETVER >= 20080311
-packetLen(0x0127, 5) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0127, 18) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 18)
#elif PACKETVER >= 20080226
-packetLen(0x0127, 12) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 12)
#elif PACKETVER >= 20080219
-packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
#endif
// Packet: 0x0128
#if PACKETVER >= 20080701
-packetLen(0x0128, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 5)
#elif PACKETVER >= 20080624
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0128, 31) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 31)
#elif PACKETVER >= 20080603
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0128, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 11)
#elif PACKETVER >= 20080520
-packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0128, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 13)
#elif PACKETVER >= 20080422
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0128, 22) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 22)
#elif PACKETVER >= 20080408
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0128, 58) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 58)
#elif PACKETVER >= 20080304
-packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0128, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 17)
#elif PACKETVER >= 20080124
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#endif
// Packet: 0x0129
#if PACKETVER >= 20080701
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0129, 182) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 182)
#elif PACKETVER >= 20080617
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20080603
-packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0129, 7) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 7)
#elif PACKETVER >= 20080507
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0129, 4) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 4)
#elif PACKETVER >= 20080422
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0129, 60) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 60)
#elif PACKETVER >= 20080408
-packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0129, 14) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 14)
#elif PACKETVER >= 20080325
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0129, 4) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0129, 28) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 28)
#elif PACKETVER >= 20080102
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#endif
// Packet: 0x012a
#if PACKETVER >= 20080624
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20080617
-packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+packetLen(0x012a, 6)
#elif PACKETVER >= 20080610
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x012a, 11) // CZ_REQ_CARTOFF
+packetLen(0x012a, 11)
#elif PACKETVER >= 20080528
-packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+packetLen(0x012a, 8)
#elif PACKETVER >= 20080520
-packetLen(0x012a, 9) // CZ_REQ_CARTOFF
+packetLen(0x012a, 9)
#elif PACKETVER >= 20080513
-packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+packetLen(0x012a, 6)
#elif PACKETVER >= 20080507
-packetLen(0x012a, 14) // CZ_REQ_CARTOFF
+packetLen(0x012a, 14)
#elif PACKETVER >= 20080429
-packetLen(0x012a, 22) // CZ_REQ_CARTOFF
+packetLen(0x012a, 22)
#elif PACKETVER >= 20080422
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
#elif PACKETVER >= 20080415
-packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+packetLen(0x012a, 3)
#elif PACKETVER >= 20080408
-packetLen(0x012a, 282) // CZ_REQ_CARTOFF
+packetLen(0x012a, 282)
#elif PACKETVER >= 20080401
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20080325
-packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+packetLen(0x012a, 3)
#elif PACKETVER >= 20080318
-packetLen(0x012a, 4) // CZ_REQ_CARTOFF
+packetLen(0x012a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+packetLen(0x012a, 8)
#elif PACKETVER >= 20080226
-packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+packetLen(0x012a, 3)
#elif PACKETVER >= 20080219
-packetLen(0x012a, 5) // CZ_REQ_CARTOFF
+packetLen(0x012a, 5)
#elif PACKETVER >= 20080102
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
#endif
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
#if PACKETVER >= 20080610
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x012c, 5) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 5)
#elif PACKETVER >= 20080528
-packetLen(0x012c, 58) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 58)
#elif PACKETVER >= 20080520
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080513
-packetLen(0x012c, 2) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 2)
#elif PACKETVER >= 20080507
-packetLen(0x012c, 10) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 10)
#elif PACKETVER >= 20080429
-packetLen(0x012c, 39) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 39)
#elif PACKETVER >= 20080422
-packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 8)
#elif PACKETVER >= 20080415
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080408
-packetLen(0x012c, 30) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 30)
#elif PACKETVER >= 20080401
-packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 8)
#elif PACKETVER >= 20080325
-packetLen(0x012c, 4) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 4)
#elif PACKETVER >= 20080318
-packetLen(0x012c, 10) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 10)
#elif PACKETVER >= 20080311
-packetLen(0x012c, 14) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 14)
#elif PACKETVER >= 20080304
-packetLen(0x012c, 30) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 30)
#elif PACKETVER >= 20080226
-packetLen(0x012c, 20) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 20)
#elif PACKETVER >= 20080219
-packetLen(0x012c, 9) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 9)
#elif PACKETVER >= 20080124
-packetLen(0x012c, 19) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 19)
#elif PACKETVER >= 20080102
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
#endif
// Packet: 0x012d
#if PACKETVER >= 20080701
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x012d, 26) // ZC_OPENSTORE
+packetLen(0x012d, 26)
#elif PACKETVER >= 20080617
-packetLen(0x012d, 3) // ZC_OPENSTORE
+packetLen(0x012d, 3)
#elif PACKETVER >= 20080610
-packetLen(0x012d, 8) // ZC_OPENSTORE
+packetLen(0x012d, 8)
#elif PACKETVER >= 20080603
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080528
-packetLen(0x012d, 30) // ZC_OPENSTORE
+packetLen(0x012d, 30)
#elif PACKETVER >= 20080520
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080513
-packetLen(0x012d, 34) // ZC_OPENSTORE
+packetLen(0x012d, 34)
#elif PACKETVER >= 20080507
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080429
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
#elif PACKETVER >= 20080422
-packetLen(0x012d, 81) // ZC_OPENSTORE
+packetLen(0x012d, 81)
#elif PACKETVER >= 20080415
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080408
-packetLen(0x012d, 33) // ZC_OPENSTORE
+packetLen(0x012d, 33)
#elif PACKETVER >= 20080401
-packetLen(0x012d, 3) // ZC_OPENSTORE
+packetLen(0x012d, 3)
#elif PACKETVER >= 20080325
-packetLen(0x012d, 6) // ZC_OPENSTORE
+packetLen(0x012d, 6)
#elif PACKETVER >= 20080318
-packetLen(0x012d, 2) // ZC_OPENSTORE
+packetLen(0x012d, 2)
#elif PACKETVER >= 20080311
-packetLen(0x012d, 30) // ZC_OPENSTORE
+packetLen(0x012d, 30)
#elif PACKETVER >= 20080304
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080219
-packetLen(0x012d, 14) // ZC_OPENSTORE
+packetLen(0x012d, 14)
#elif PACKETVER >= 20080124
-packetLen(0x012d, 26) // ZC_OPENSTORE
+packetLen(0x012d, 26)
#elif PACKETVER >= 20080102
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
#endif
// Packet: 0x012e
#if PACKETVER >= 20080701
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 6)
#elif PACKETVER >= 20080617
-packetLen(0x012e, 31) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 31)
#elif PACKETVER >= 20080520
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x012e, 5) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 5)
#elif PACKETVER >= 20080507
-packetLen(0x012e, 102) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 102)
#elif PACKETVER >= 20080429
-packetLen(0x012e, 3) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 3)
#elif PACKETVER >= 20080422
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20080415
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080408
-packetLen(0x012e, 26) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 26)
#elif PACKETVER >= 20080401
-packetLen(0x012e, 7) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 7)
#elif PACKETVER >= 20080325
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20080318
-packetLen(0x012e, 4) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 4)
#elif PACKETVER >= 20080311
-packetLen(0x012e, 14) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 14)
#elif PACKETVER >= 20080304
-packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 6)
#elif PACKETVER >= 20080219
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#endif
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
#if PACKETVER >= 20080617
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0130, 30) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 30)
#elif PACKETVER >= 20080603
-packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0130, 282) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 282)
#elif PACKETVER >= 20080507
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 4)
#elif PACKETVER >= 20080422
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0130, 2) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0130, 81) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 81)
#elif PACKETVER >= 20080325
-packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0130, 66) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 66)
#elif PACKETVER >= 20080311
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0130, 28) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 28)
#elif PACKETVER >= 20080219
-packetLen(0x0130, 5) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 5)
#elif PACKETVER >= 20080124
-packetLen(0x0130, 8) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#endif
// Packet: 0x0131
#if PACKETVER >= 20080624
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0131, 3) // ZC_STORE_ENTRY
+packetLen(0x0131, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0131, 12) // ZC_STORE_ENTRY
+packetLen(0x0131, 12)
#elif PACKETVER >= 20080603
-packetLen(0x0131, 35) // ZC_STORE_ENTRY
+packetLen(0x0131, 35)
#elif PACKETVER >= 20080528
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0131, 3) // ZC_STORE_ENTRY
+packetLen(0x0131, 3)
#elif PACKETVER >= 20080513
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0131, 35) // ZC_STORE_ENTRY
+packetLen(0x0131, 35)
#elif PACKETVER >= 20080429
-packetLen(0x0131, 14) // ZC_STORE_ENTRY
+packetLen(0x0131, 14)
#elif PACKETVER >= 20080422
-packetLen(0x0131, 8) // ZC_STORE_ENTRY
+packetLen(0x0131, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0131, 3) // ZC_STORE_ENTRY
+packetLen(0x0131, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0131, 11) // ZC_STORE_ENTRY
+packetLen(0x0131, 11)
#elif PACKETVER >= 20080325
-packetLen(0x0131, 4) // ZC_STORE_ENTRY
+packetLen(0x0131, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0131, 6) // ZC_STORE_ENTRY
+packetLen(0x0131, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0131, 14) // ZC_STORE_ENTRY
+packetLen(0x0131, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0131, 29) // ZC_STORE_ENTRY
+packetLen(0x0131, 29)
#elif PACKETVER >= 20080219
-packetLen(0x0131, 26) // ZC_STORE_ENTRY
+packetLen(0x0131, 26)
#elif PACKETVER >= 20080124
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
#endif
// Packet: 0x0132
#if PACKETVER >= 20080701
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0132, 4) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 4)
#elif PACKETVER >= 20080617
-packetLen(0x0132, 10) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0132, 14) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 14)
#elif PACKETVER >= 20080603
-packetLen(0x0132, 16) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 16)
#elif PACKETVER >= 20080422
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0132, 30) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 30)
#elif PACKETVER >= 20080318
-packetLen(0x0132, 11) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 11)
#elif PACKETVER >= 20080311
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0132, 36) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 36)
#elif PACKETVER >= 20080219
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0132, 2) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#endif
// Packet: 0x0133
#if PACKETVER >= 20080701
-packetLen(0x0133, 11) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 11)
#elif PACKETVER >= 20080617
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0133, 7) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 7)
#elif PACKETVER >= 20080603
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 8)
#elif PACKETVER >= 20080520
-packetLen(0x0133, 57) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 57)
#elif PACKETVER >= 20080513
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0133, 26) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 26)
#elif PACKETVER >= 20080429
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0133, 14) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 14)
#elif PACKETVER >= 20080415
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0133, 5) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 5)
#elif PACKETVER >= 20080401
-packetLen(0x0133, 24) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 24)
#elif PACKETVER >= 20080311
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0133, 26) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0133, 10) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0133, 3) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#endif
// Packet: 0x0134
#if PACKETVER >= 20080701
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0134, 29) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 29)
#elif PACKETVER >= 20080617
-packetLen(0x0134, 8) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0134, 67) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 67)
#elif PACKETVER >= 20080603
-packetLen(0x0134, 30) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 30)
#elif PACKETVER >= 20080528
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0134, 7) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 7)
#elif PACKETVER >= 20080513
-packetLen(0x0134, 282) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 282)
#elif PACKETVER >= 20080507
-packetLen(0x0134, 16) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 16)
#elif PACKETVER >= 20080422
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0134, 71) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 71)
#elif PACKETVER >= 20080408
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0134, 28) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 28)
#elif PACKETVER >= 20080325
-packetLen(0x0134, 7) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 7)
#elif PACKETVER >= 20080318
-packetLen(0x0134, 20) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 20)
#elif PACKETVER >= 20080311
-packetLen(0x0134, 26) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0134, 3) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#endif
// Packet: 0x0135
#if PACKETVER >= 20080624
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0135, 13) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 13)
#elif PACKETVER >= 20080610
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0135, 60) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 60)
#elif PACKETVER >= 20080520
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0135, 9) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 9)
#elif PACKETVER >= 20080507
-packetLen(0x0135, 8) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0135, 29) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 29)
#elif PACKETVER >= 20080422
-packetLen(0x0135, 4) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 4)
#elif PACKETVER >= 20080415
-packetLen(0x0135, 2) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0135, 2) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0135, 65) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 65)
#elif PACKETVER >= 20080124
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
#endif
// Packet: 0x0136
#if PACKETVER >= 20080701
-packetLen(0x0136, 54) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 54)
#elif PACKETVER >= 20080624
-packetLen(0x0136, 5) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 5)
#elif PACKETVER >= 20080617
-packetLen(0x0136, 8) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0136, 11) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 11)
#elif PACKETVER >= 20080603
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 10)
#elif PACKETVER >= 20080520
-packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 30)
#elif PACKETVER >= 20080507
-packetLen(0x0136, 3) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 3)
#elif PACKETVER >= 20080429
-packetLen(0x0136, 28) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 28)
#elif PACKETVER >= 20080408
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0136, 2) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#endif
// Packet: 0x0137
#if PACKETVER >= 20080701
-packetLen(0x0137, 9) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 9)
#elif PACKETVER >= 20080624
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0137, 71) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 71)
#elif PACKETVER >= 20080610
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0137, 8) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0137, 30) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 30)
#elif PACKETVER >= 20080415
-packetLen(0x0137, 27) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 27)
#elif PACKETVER >= 20080408
-packetLen(0x0137, 7) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 7)
#elif PACKETVER >= 20080401
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0137, 32) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 32)
#elif PACKETVER >= 20080318
-packetLen(0x0137, 22) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 22)
#elif PACKETVER >= 20080311
-packetLen(0x0137, 86) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 86)
#elif PACKETVER >= 20080226
-packetLen(0x0137, 5) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0137, 10) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0137, 7) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 7)
#elif PACKETVER >= 20080102
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#endif
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
#if PACKETVER >= 20080701
-packetLen(0x0139, 26) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 26)
#elif PACKETVER >= 20080624
-packetLen(0x0139, 10) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0139, 5) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0139, 2) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0139, 9) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 9)
#elif PACKETVER >= 20080429
-packetLen(0x0139, 28) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 28)
#elif PACKETVER >= 20080422
-packetLen(0x0139, 29) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 29)
#elif PACKETVER >= 20080415
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0139, 11) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0139, 3) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 3)
#elif PACKETVER >= 20080318
-packetLen(0x0139, 14) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 14)
#elif PACKETVER >= 20080311
-packetLen(0x0139, 31) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 31)
#elif PACKETVER >= 20080304
-packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0139, 81) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 81)
#elif PACKETVER >= 20080219
-packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
#endif
// Packet: 0x013a
#if PACKETVER >= 20080701
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080624
-packetLen(0x013a, 2) // ZC_ATTACK_RANGE
+packetLen(0x013a, 2)
#elif PACKETVER >= 20080617
-packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+packetLen(0x013a, 3)
#elif PACKETVER >= 20080610
-packetLen(0x013a, 30) // ZC_ATTACK_RANGE
+packetLen(0x013a, 30)
#elif PACKETVER >= 20080603
-packetLen(0x013a, 39) // ZC_ATTACK_RANGE
+packetLen(0x013a, 39)
#elif PACKETVER >= 20080513
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x013a, 182) // ZC_ATTACK_RANGE
+packetLen(0x013a, 182)
#elif PACKETVER >= 20080429
-packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+packetLen(0x013a, 6)
#elif PACKETVER >= 20080422
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+packetLen(0x013a, 6)
#elif PACKETVER >= 20080408
-packetLen(0x013a, 55) // ZC_ATTACK_RANGE
+packetLen(0x013a, 55)
#elif PACKETVER >= 20080401
-packetLen(0x013a, 12) // ZC_ATTACK_RANGE
+packetLen(0x013a, 12)
#elif PACKETVER >= 20080325
-packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+packetLen(0x013a, 3)
#elif PACKETVER >= 20080318
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+packetLen(0x013a, 6)
#elif PACKETVER >= 20080304
-packetLen(0x013a, 32) // ZC_ATTACK_RANGE
+packetLen(0x013a, 32)
#elif PACKETVER >= 20080226
-packetLen(0x013a, 58) // ZC_ATTACK_RANGE
+packetLen(0x013a, 58)
#elif PACKETVER >= 20080124
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080102
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
#endif
// Packet: 0x013b
#if PACKETVER >= 20080701
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#elif PACKETVER >= 20080624
-packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+packetLen(0x013b, 22)
#elif PACKETVER >= 20080617
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080610
-packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+packetLen(0x013b, 22)
#elif PACKETVER >= 20080603
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080528
-packetLen(0x013b, 5) // ZC_ACTION_FAILURE
+packetLen(0x013b, 5)
#elif PACKETVER >= 20080520
-packetLen(0x013b, 10) // ZC_ACTION_FAILURE
+packetLen(0x013b, 10)
#elif PACKETVER >= 20080513
-packetLen(0x013b, 18) // ZC_ACTION_FAILURE
+packetLen(0x013b, 18)
#elif PACKETVER >= 20080507
-packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+packetLen(0x013b, 2)
#elif PACKETVER >= 20080429
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080422
-packetLen(0x013b, 15) // ZC_ACTION_FAILURE
+packetLen(0x013b, 15)
#elif PACKETVER >= 20080415
-packetLen(0x013b, 7) // ZC_ACTION_FAILURE
+packetLen(0x013b, 7)
#elif PACKETVER >= 20080408
-packetLen(0x013b, 30) // ZC_ACTION_FAILURE
+packetLen(0x013b, 30)
#elif PACKETVER >= 20080401
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080325
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#elif PACKETVER >= 20080318
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080311
-packetLen(0x013b, 23) // ZC_ACTION_FAILURE
+packetLen(0x013b, 23)
#elif PACKETVER >= 20080304
-packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+packetLen(0x013b, 22)
#elif PACKETVER >= 20080226
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x013b, 16) // ZC_ACTION_FAILURE
+packetLen(0x013b, 16)
#elif PACKETVER >= 20080124
-packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+packetLen(0x013b, 2)
#elif PACKETVER >= 20080102
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#endif
// Packet: 0x013c
#if PACKETVER >= 20080701
-packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+packetLen(0x013c, 6)
#elif PACKETVER >= 20080624
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080617
-packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+packetLen(0x013c, 12)
#elif PACKETVER >= 20080610
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x013c, 53) // ZC_EQUIP_ARROW
+packetLen(0x013c, 53)
#elif PACKETVER >= 20080528
-packetLen(0x013c, 8) // ZC_EQUIP_ARROW
+packetLen(0x013c, 8)
#elif PACKETVER >= 20080520
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#elif PACKETVER >= 20080513
-packetLen(0x013c, 11) // ZC_EQUIP_ARROW
+packetLen(0x013c, 11)
#elif PACKETVER >= 20080507
-packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+packetLen(0x013c, 6)
#elif PACKETVER >= 20080429
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x013c, 33) // ZC_EQUIP_ARROW
+packetLen(0x013c, 33)
#elif PACKETVER >= 20080415
-packetLen(0x013c, 8) // ZC_EQUIP_ARROW
+packetLen(0x013c, 8)
#elif PACKETVER >= 20080408
-packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+packetLen(0x013c, 6)
#elif PACKETVER >= 20080401
-packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+packetLen(0x013c, 12)
#elif PACKETVER >= 20080325
-packetLen(0x013c, 3) // ZC_EQUIP_ARROW
+packetLen(0x013c, 3)
#elif PACKETVER >= 20080318
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+packetLen(0x013c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x013c, 66) // ZC_EQUIP_ARROW
+packetLen(0x013c, 66)
#elif PACKETVER >= 20080226
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#elif PACKETVER >= 20080124
-packetLen(0x013c, 11) // ZC_EQUIP_ARROW
+packetLen(0x013c, 11)
#elif PACKETVER >= 20080102
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#endif
// Packet: 0x013d
#if PACKETVER >= 20080701
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x013d, 3) // ZC_RECOVERY
+packetLen(0x013d, 3)
#elif PACKETVER >= 20080617
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080610
-packetLen(0x013d, 7) // ZC_RECOVERY
+packetLen(0x013d, 7)
#elif PACKETVER >= 20080603
-packetLen(0x013d, 2) // ZC_RECOVERY
+packetLen(0x013d, 2)
#elif PACKETVER >= 20080528
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x013d, 8) // ZC_RECOVERY
+packetLen(0x013d, 8)
#elif PACKETVER >= 20080513
-packetLen(0x013d, 31) // ZC_RECOVERY
+packetLen(0x013d, 31)
#elif PACKETVER >= 20080507
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080429
-packetLen(0x013d, 10) // ZC_RECOVERY
+packetLen(0x013d, 10)
#elif PACKETVER >= 20080422
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080415
-packetLen(0x013d, 26) // ZC_RECOVERY
+packetLen(0x013d, 26)
#elif PACKETVER >= 20080408
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080401
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080325
-packetLen(0x013d, 3) // ZC_RECOVERY
+packetLen(0x013d, 3)
#elif PACKETVER >= 20080318
-packetLen(0x013d, 282) // ZC_RECOVERY
+packetLen(0x013d, 282)
#elif PACKETVER >= 20080311
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080304
-packetLen(0x013d, 3) // ZC_RECOVERY
+packetLen(0x013d, 3)
#elif PACKETVER >= 20080226
-packetLen(0x013d, 2) // ZC_RECOVERY
+packetLen(0x013d, 2)
#elif PACKETVER >= 20080219
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080124
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080102
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#endif
// Packet: 0x013e
#if PACKETVER >= 20080701
-packetLen(0x013e, 26) // ZC_USESKILL_ACK
+packetLen(0x013e, 26)
#elif PACKETVER >= 20080624
-packetLen(0x013e, 3) // ZC_USESKILL_ACK
+packetLen(0x013e, 3)
#elif PACKETVER >= 20080603
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x013e, 6) // ZC_USESKILL_ACK
+packetLen(0x013e, 6)
#elif PACKETVER >= 20080520
-packetLen(0x013e, 20) // ZC_USESKILL_ACK
+packetLen(0x013e, 20)
#elif PACKETVER >= 20080513
-packetLen(0x013e, 7) // ZC_USESKILL_ACK
+packetLen(0x013e, 7)
#elif PACKETVER >= 20080507
-packetLen(0x013e, 21) // ZC_USESKILL_ACK
+packetLen(0x013e, 21)
#elif PACKETVER >= 20080429
-packetLen(0x013e, 8) // ZC_USESKILL_ACK
+packetLen(0x013e, 8)
#elif PACKETVER >= 20080422
-packetLen(0x013e, 7) // ZC_USESKILL_ACK
+packetLen(0x013e, 7)
#elif PACKETVER >= 20080408
-packetLen(0x013e, 6) // ZC_USESKILL_ACK
+packetLen(0x013e, 6)
#elif PACKETVER >= 20080401
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080325
-packetLen(0x013e, 15) // ZC_USESKILL_ACK
+packetLen(0x013e, 15)
#elif PACKETVER >= 20080318
-packetLen(0x013e, 11) // ZC_USESKILL_ACK
+packetLen(0x013e, 11)
#elif PACKETVER >= 20080311
-packetLen(0x013e, 2) // ZC_USESKILL_ACK
+packetLen(0x013e, 2)
#elif PACKETVER >= 20080304
-packetLen(0x013e, 4) // ZC_USESKILL_ACK
+packetLen(0x013e, 4)
#elif PACKETVER >= 20080226
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080219
-packetLen(0x013e, 30) // ZC_USESKILL_ACK
+packetLen(0x013e, 30)
#elif PACKETVER >= 20080124
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
#endif
// Packet: 0x013f
#if PACKETVER >= 20080701
-packetLen(0x013f, 30) // CZ_ITEM_CREATE
+packetLen(0x013f, 30)
#elif PACKETVER >= 20080624
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x013f, 2) // CZ_ITEM_CREATE
+packetLen(0x013f, 2)
#elif PACKETVER >= 20080610
-packetLen(0x013f, 7) // CZ_ITEM_CREATE
+packetLen(0x013f, 7)
#elif PACKETVER >= 20080603
-packetLen(0x013f, 11) // CZ_ITEM_CREATE
+packetLen(0x013f, 11)
#elif PACKETVER >= 20080528
-packetLen(0x013f, 2) // CZ_ITEM_CREATE
+packetLen(0x013f, 2)
#elif PACKETVER >= 20080520
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x013f, 29) // CZ_ITEM_CREATE
+packetLen(0x013f, 29)
#elif PACKETVER >= 20080507
-packetLen(0x013f, 20) // CZ_ITEM_CREATE
+packetLen(0x013f, 20)
#elif PACKETVER >= 20080422
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
#elif PACKETVER >= 20080415
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080408
-packetLen(0x013f, 8) // CZ_ITEM_CREATE
+packetLen(0x013f, 8)
#elif PACKETVER >= 20080401
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080325
-packetLen(0x013f, 28) // CZ_ITEM_CREATE
+packetLen(0x013f, 28)
#elif PACKETVER >= 20080318
-packetLen(0x013f, 54) // CZ_ITEM_CREATE
+packetLen(0x013f, 54)
#elif PACKETVER >= 20080311
-packetLen(0x013f, 282) // CZ_ITEM_CREATE
+packetLen(0x013f, 282)
#elif PACKETVER >= 20080304
-packetLen(0x013f, 6) // CZ_ITEM_CREATE
+packetLen(0x013f, 6)
#elif PACKETVER >= 20080226
-packetLen(0x013f, 5) // CZ_ITEM_CREATE
+packetLen(0x013f, 5)
#elif PACKETVER >= 20080219
-packetLen(0x013f, 58) // CZ_ITEM_CREATE
+packetLen(0x013f, 58)
#elif PACKETVER >= 20080124
-packetLen(0x013f, 9) // CZ_ITEM_CREATE
+packetLen(0x013f, 9)
#elif PACKETVER >= 20080102
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
#endif
// Packet: 0x0140
#if PACKETVER >= 20080701
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0140, 2) // CZ_MOVETO_MAP
+packetLen(0x0140, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0140, 11) // CZ_MOVETO_MAP
+packetLen(0x0140, 11)
#elif PACKETVER >= 20080603
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0140, 6) // CZ_MOVETO_MAP
+packetLen(0x0140, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0140, 8) // CZ_MOVETO_MAP
+packetLen(0x0140, 8)
#elif PACKETVER >= 20080513
-packetLen(0x0140, 6) // CZ_MOVETO_MAP
+packetLen(0x0140, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0140, 4) // CZ_MOVETO_MAP
+packetLen(0x0140, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0140, 3) // CZ_MOVETO_MAP
+packetLen(0x0140, 3)
#elif PACKETVER >= 20080422
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
#elif PACKETVER >= 20080415
-packetLen(0x0140, 7) // CZ_MOVETO_MAP
+packetLen(0x0140, 7)
#elif PACKETVER >= 20080408
-packetLen(0x0140, 53) // CZ_MOVETO_MAP
+packetLen(0x0140, 53)
#elif PACKETVER >= 20080401
-packetLen(0x0140, 10) // CZ_MOVETO_MAP
+packetLen(0x0140, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0140, 27) // CZ_MOVETO_MAP
+packetLen(0x0140, 27)
#elif PACKETVER >= 20080318
-packetLen(0x0140, 33) // CZ_MOVETO_MAP
+packetLen(0x0140, 33)
#elif PACKETVER >= 20080311
-packetLen(0x0140, 3) // CZ_MOVETO_MAP
+packetLen(0x0140, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0140, 6) // CZ_MOVETO_MAP
+packetLen(0x0140, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0140, 11) // CZ_MOVETO_MAP
+packetLen(0x0140, 11)
#elif PACKETVER >= 20080219
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0140, 2) // CZ_MOVETO_MAP
+packetLen(0x0140, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
#endif
// Packet: 0x0141
#if PACKETVER >= 20080624
-packetLen(0x0141, 4) // ZC_COUPLESTATUS
+packetLen(0x0141, 4)
#elif PACKETVER >= 20080617
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0141, 5) // ZC_COUPLESTATUS
+packetLen(0x0141, 5)
#elif PACKETVER >= 20080528
-packetLen(0x0141, 18) // ZC_COUPLESTATUS
+packetLen(0x0141, 18)
#elif PACKETVER >= 20080520
-packetLen(0x0141, 4) // ZC_COUPLESTATUS
+packetLen(0x0141, 4)
#elif PACKETVER >= 20080513
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0141, 60) // ZC_COUPLESTATUS
+packetLen(0x0141, 60)
#elif PACKETVER >= 20080422
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0141, 7) // ZC_COUPLESTATUS
+packetLen(0x0141, 7)
#elif PACKETVER >= 20080408
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0141, 3) // ZC_COUPLESTATUS
+packetLen(0x0141, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0141, 11) // ZC_COUPLESTATUS
+packetLen(0x0141, 11)
#elif PACKETVER >= 20080311
-packetLen(0x0141, 9) // ZC_COUPLESTATUS
+packetLen(0x0141, 9)
#elif PACKETVER >= 20080304
-packetLen(0x0141, 30) // ZC_COUPLESTATUS
+packetLen(0x0141, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0141, 22) // ZC_COUPLESTATUS
+packetLen(0x0141, 22)
#elif PACKETVER >= 20080219
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0141, 35) // ZC_COUPLESTATUS
+packetLen(0x0141, 35)
#elif PACKETVER >= 20080102
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
#endif
// Packet: 0x0142
#if PACKETVER >= 20080701
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0142, 32) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 32)
#elif PACKETVER >= 20080603
-packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0142, 7) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 7)
#elif PACKETVER >= 20080513
-packetLen(0x0142, 15) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 15)
#elif PACKETVER >= 20080422
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0142, 11) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0142, 9) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 9)
#elif PACKETVER >= 20080325
-packetLen(0x0142, 67) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 67)
#elif PACKETVER >= 20080318
-packetLen(0x0142, 26) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0142, 30) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0142, 4) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0142, 3) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
#endif
// Packet: 0x0143
#if PACKETVER >= 20080617
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0143, 7) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0143, 26) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 26)
#elif PACKETVER >= 20080520
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0143, 97) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 97)
#elif PACKETVER >= 20080507
-packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#elif PACKETVER >= 20080415
-packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0143, 53) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 53)
#elif PACKETVER >= 20080401
-packetLen(0x0143, 27) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 27)
#elif PACKETVER >= 20080325
-packetLen(0x0143, 28) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 28)
#elif PACKETVER >= 20080318
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0143, 3) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0143, 8) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0143, 67) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 67)
#elif PACKETVER >= 20080102
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#endif
// Packet: 0x0144
#if PACKETVER >= 20080701
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0144, 2) // ZC_COMPASS
+packetLen(0x0144, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0144, 81) // ZC_COMPASS
+packetLen(0x0144, 81)
#elif PACKETVER >= 20080603
-packetLen(0x0144, 22) // ZC_COMPASS
+packetLen(0x0144, 22)
#elif PACKETVER >= 20080528
-packetLen(0x0144, 3) // ZC_COMPASS
+packetLen(0x0144, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0144, 4) // ZC_COMPASS
+packetLen(0x0144, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0144, 7) // ZC_COMPASS
+packetLen(0x0144, 7)
#elif PACKETVER >= 20080415
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0144, 65) // ZC_COMPASS
+packetLen(0x0144, 65)
#elif PACKETVER >= 20080325
-packetLen(0x0144, 282) // ZC_COMPASS
+packetLen(0x0144, 282)
#elif PACKETVER >= 20080318
-packetLen(0x0144, 7) // ZC_COMPASS
+packetLen(0x0144, 7)
#elif PACKETVER >= 20080311
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0144, 2) // ZC_COMPASS
+packetLen(0x0144, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0144, 10) // ZC_COMPASS
+packetLen(0x0144, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0144, 2) // ZC_COMPASS
+packetLen(0x0144, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
#endif
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
#if PACKETVER >= 20080624
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0146, 23) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 23)
#elif PACKETVER >= 20080610
-packetLen(0x0146, 5) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0146, 65) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 65)
#elif PACKETVER >= 20080422
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0146, 2) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0146, 42) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 42)
#elif PACKETVER >= 20080311
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0146, 7) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0146, 8) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#endif
// Packet: 0x0147
#if PACKETVER >= 20080701
-packetLen(0x0147, 282) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 282)
#elif PACKETVER >= 20080624
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0147, 18) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 18)
#elif PACKETVER >= 20080610
-packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 8)
#elif PACKETVER >= 20080528
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0147, 114) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 114)
#elif PACKETVER >= 20080513
-packetLen(0x0147, 282) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 282)
#elif PACKETVER >= 20080507
-packetLen(0x0147, 4) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0147, 20) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 20)
#elif PACKETVER >= 20080422
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 8)
#elif PACKETVER >= 20080401
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0147, 90) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 90)
#elif PACKETVER >= 20080311
-packetLen(0x0147, 6) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0147, 16) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 16)
#elif PACKETVER >= 20080226
-packetLen(0x0147, 11) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 11)
#elif PACKETVER >= 20080219
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0147, 2) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
#endif
// Packet: 0x0148
#if PACKETVER >= 20080617
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0148, 2) // ZC_RESURRECTION
+packetLen(0x0148, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0148, 14) // ZC_RESURRECTION
+packetLen(0x0148, 14)
#elif PACKETVER >= 20080422
-packetLen(0x0148, 2) // ZC_RESURRECTION
+packetLen(0x0148, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0148, 39) // ZC_RESURRECTION
+packetLen(0x0148, 39)
#elif PACKETVER >= 20080408
-packetLen(0x0148, 10) // ZC_RESURRECTION
+packetLen(0x0148, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0148, 7) // ZC_RESURRECTION
+packetLen(0x0148, 7)
#elif PACKETVER >= 20080325
-packetLen(0x0148, 10) // ZC_RESURRECTION
+packetLen(0x0148, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0148, 54) // ZC_RESURRECTION
+packetLen(0x0148, 54)
#elif PACKETVER >= 20080304
-packetLen(0x0148, 282) // ZC_RESURRECTION
+packetLen(0x0148, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0148, 4) // ZC_RESURRECTION
+packetLen(0x0148, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0148, 3) // ZC_RESURRECTION
+packetLen(0x0148, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
#endif
// Packet: 0x0149
#if PACKETVER >= 20080701
-packetLen(0x0149, 14) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 14)
#elif PACKETVER >= 20080624
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0149, 8) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 8)
#elif PACKETVER >= 20080603
-packetLen(0x0149, 7) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0149, 27) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 27)
#elif PACKETVER >= 20080513
-packetLen(0x0149, 71) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 71)
#elif PACKETVER >= 20080429
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
#elif PACKETVER >= 20080415
-packetLen(0x0149, 5) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 5)
#elif PACKETVER >= 20080408
-packetLen(0x0149, 17) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 17)
#elif PACKETVER >= 20080401
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0149, 2) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0149, 5) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0149, 53) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 53)
#elif PACKETVER >= 20080124
-packetLen(0x0149, 4) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
#endif
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
#if PACKETVER >= 20080701
-packetLen(0x014c, 26) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 26)
#elif PACKETVER >= 20080624
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080617
-packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 17)
#elif PACKETVER >= 20080610
-packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 4)
#elif PACKETVER >= 20080603
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080528
-packetLen(0x014c, 16) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 16)
#elif PACKETVER >= 20080507
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080429
-packetLen(0x014c, 12) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 12)
#elif PACKETVER >= 20080415
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080408
-packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 4)
#elif PACKETVER >= 20080401
-packetLen(0x014c, 55) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 55)
#elif PACKETVER >= 20080325
-packetLen(0x014c, 10) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 10)
#elif PACKETVER >= 20080318
-packetLen(0x014c, 9) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 9)
#elif PACKETVER >= 20080311
-packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 17)
#elif PACKETVER >= 20080226
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 4)
#elif PACKETVER >= 20080102
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#endif
// Packet: 0x014d
#if PACKETVER >= 20080701
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 9)
#elif PACKETVER >= 20080603
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20080528
-packetLen(0x014d, 30) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 30)
#elif PACKETVER >= 20080520
-packetLen(0x014d, 282) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 282)
#elif PACKETVER >= 20080513
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20080507
-packetLen(0x014d, 3) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 3)
#elif PACKETVER >= 20080429
-packetLen(0x014d, 4) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 4)
#elif PACKETVER >= 20080422
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20080415
-packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 6)
#elif PACKETVER >= 20080401
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20080318
-packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 10)
#elif PACKETVER >= 20080311
-packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 9)
#elif PACKETVER >= 20080304
-packetLen(0x014d, 11) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 11)
#elif PACKETVER >= 20080226
-packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 8)
#elif PACKETVER >= 20080219
-packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 10)
#elif PACKETVER >= 20080124
-packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 8)
#elif PACKETVER >= 20080102
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#endif
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
#if PACKETVER >= 20080617
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080603
-packetLen(0x014f, 3) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 3)
#elif PACKETVER >= 20080528
-packetLen(0x014f, 13) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 13)
#elif PACKETVER >= 20080507
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080429
-packetLen(0x014f, 23) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 23)
#elif PACKETVER >= 20080422
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#elif PACKETVER >= 20080408
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080401
-packetLen(0x014f, 58) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 58)
#elif PACKETVER >= 20080325
-packetLen(0x014f, 4) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 4)
#elif PACKETVER >= 20080318
-packetLen(0x014f, 3) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 3)
#elif PACKETVER >= 20080304
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080226
-packetLen(0x014f, 97) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 97)
#elif PACKETVER >= 20080219
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080124
-packetLen(0x014f, 30) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 30)
#elif PACKETVER >= 20080102
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#endif
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
#if PACKETVER >= 20080701
-packetLen(0x0154, 11) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 11)
#elif PACKETVER >= 20080617
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0154, 13) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 13)
#elif PACKETVER >= 20080603
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0154, 5) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 5)
#elif PACKETVER >= 20080513
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0154, 16) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 16)
#elif PACKETVER >= 20080422
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0154, 10) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0154, 39) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 39)
#elif PACKETVER >= 20080325
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0154, 30) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0154, 7) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0154, 8) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#endif
// Packet: 0x0155
#if PACKETVER >= 20080624
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 12)
#elif PACKETVER >= 20080610
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 12)
#elif PACKETVER >= 20080520
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0155, 27) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 27)
#elif PACKETVER >= 20080507
-packetLen(0x0155, 10) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0155, 6) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0155, 22) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 22)
#elif PACKETVER >= 20080311
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0155, 8) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0155, 66) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 66)
#elif PACKETVER >= 20080219
-packetLen(0x0155, 15) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 15)
#elif PACKETVER >= 20080102
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#endif
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
#if PACKETVER >= 20080701
-packetLen(0x0159, 7) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 7)
#elif PACKETVER >= 20080624
-packetLen(0x0159, 26) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 26)
#elif PACKETVER >= 20080617
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0159, 3) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0159, 27) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 27)
#elif PACKETVER >= 20080513
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0159, 15) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 15)
#elif PACKETVER >= 20080429
-packetLen(0x0159, 30) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 30)
#elif PACKETVER >= 20080422
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#elif PACKETVER >= 20080415
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0159, 29) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 29)
#elif PACKETVER >= 20080325
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0159, 10) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0159, 39) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 39)
#elif PACKETVER >= 20080304
-packetLen(0x0159, 6) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0159, 186) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 186)
#elif PACKETVER >= 20080219
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0159, 33) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 33)
#elif PACKETVER >= 20080102
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#endif
// Packet: 0x015a
#if PACKETVER >= 20080617
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080610
-packetLen(0x015a, 24) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 24)
#elif PACKETVER >= 20080603
-packetLen(0x015a, 2) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 2)
#elif PACKETVER >= 20080528
-packetLen(0x015a, 31) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 31)
#elif PACKETVER >= 20080520
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080513
-packetLen(0x015a, 15) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 15)
#elif PACKETVER >= 20080429
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080422
-packetLen(0x015a, 4) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 4)
#elif PACKETVER >= 20080415
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080408
-packetLen(0x015a, 14) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 14)
#elif PACKETVER >= 20080401
-packetLen(0x015a, 23) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 23)
#elif PACKETVER >= 20080325
-packetLen(0x015a, 33) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 33)
#elif PACKETVER >= 20080318
-packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 26)
#elif PACKETVER >= 20080311
-packetLen(0x015a, 27) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 27)
#elif PACKETVER >= 20080304
-packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 3)
#elif PACKETVER >= 20080226
-packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 8)
#elif PACKETVER >= 20080124
-packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 26)
#elif PACKETVER >= 20080102
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
#endif
// Packet: 0x015b
#if PACKETVER >= 20080701
-packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 6)
#elif PACKETVER >= 20080624
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080617
-packetLen(0x015b, 20) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 20)
#elif PACKETVER >= 20080610
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#elif PACKETVER >= 20080603
-packetLen(0x015b, 32) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 32)
#elif PACKETVER >= 20080528
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080520
-packetLen(0x015b, 59) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 59)
#elif PACKETVER >= 20080513
-packetLen(0x015b, 79) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 79)
#elif PACKETVER >= 20080507
-packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 4)
#elif PACKETVER >= 20080429
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080422
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#elif PACKETVER >= 20080415
-packetLen(0x015b, 97) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 97)
#elif PACKETVER >= 20080408
-packetLen(0x015b, 26) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 26)
#elif PACKETVER >= 20080401
-packetLen(0x015b, 30) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 30)
#elif PACKETVER >= 20080325
-packetLen(0x015b, 2) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 2)
#elif PACKETVER >= 20080318
-packetLen(0x015b, 24) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 24)
#elif PACKETVER >= 20080311
-packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 4)
#elif PACKETVER >= 20080304
-packetLen(0x015b, 33) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 33)
#elif PACKETVER >= 20080226
-packetLen(0x015b, 22) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 22)
#elif PACKETVER >= 20080219
-packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 6)
#elif PACKETVER >= 20080124
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080102
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#endif
// Packet: 0x015c
#if PACKETVER >= 20080624
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 6)
#elif PACKETVER >= 20080528
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x015c, 7) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 7)
#elif PACKETVER >= 20080507
-packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 6)
#elif PACKETVER >= 20080429
-packetLen(0x015c, 2) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 2)
#elif PACKETVER >= 20080415
-packetLen(0x015c, 8) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 8)
#elif PACKETVER >= 20080401
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080325
-packetLen(0x015c, 18) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 18)
#elif PACKETVER >= 20080318
-packetLen(0x015c, 57) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 57)
#elif PACKETVER >= 20080311
-packetLen(0x015c, 30) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 30)
#elif PACKETVER >= 20080304
-packetLen(0x015c, 15) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 15)
#elif PACKETVER >= 20080226
-packetLen(0x015c, 3) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 3)
#elif PACKETVER >= 20080219
-packetLen(0x015c, 5) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 5)
#elif PACKETVER >= 20080124
-packetLen(0x015c, 14) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 14)
#elif PACKETVER >= 20080102
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
#endif
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
#if PACKETVER >= 20080701
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 30)
#elif PACKETVER >= 20080610
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080603
-packetLen(0x015e, 4) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 4)
#elif PACKETVER >= 20080520
-packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 3)
#elif PACKETVER >= 20080513
-packetLen(0x015e, 2) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 2)
#elif PACKETVER >= 20080507
-packetLen(0x015e, 9) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 9)
#elif PACKETVER >= 20080429
-packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 10)
#elif PACKETVER >= 20080422
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080415
-packetLen(0x015e, 32) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 32)
#elif PACKETVER >= 20080408
-packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 30)
#elif PACKETVER >= 20080401
-packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 10)
#elif PACKETVER >= 20080325
-packetLen(0x015e, 15) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 15)
#elif PACKETVER >= 20080318
-packetLen(0x015e, 28) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 28)
#elif PACKETVER >= 20080311
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#elif PACKETVER >= 20080304
-packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 3)
#elif PACKETVER >= 20080226
-packetLen(0x015e, 54) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 54)
#elif PACKETVER >= 20080219
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x015e, 16) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 16)
#elif PACKETVER >= 20080102
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#endif
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
#if PACKETVER >= 20080701
-packetLen(0x0160, 5) // ZC_POSITION_INFO
+packetLen(0x0160, 5)
#elif PACKETVER >= 20080624
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0160, 11) // ZC_POSITION_INFO
+packetLen(0x0160, 11)
#elif PACKETVER >= 20080610
-packetLen(0x0160, 5) // ZC_POSITION_INFO
+packetLen(0x0160, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0160, 186) // ZC_POSITION_INFO
+packetLen(0x0160, 186)
#elif PACKETVER >= 20080528
-packetLen(0x0160, 2) // ZC_POSITION_INFO
+packetLen(0x0160, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0160, 8) // ZC_POSITION_INFO
+packetLen(0x0160, 8)
#elif PACKETVER >= 20080507
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0160, 8) // ZC_POSITION_INFO
+packetLen(0x0160, 8)
#elif PACKETVER >= 20080325
-packetLen(0x0160, 4) // ZC_POSITION_INFO
+packetLen(0x0160, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0160, 14) // ZC_POSITION_INFO
+packetLen(0x0160, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0160, 26) // ZC_POSITION_INFO
+packetLen(0x0160, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0160, 2) // ZC_POSITION_INFO
+packetLen(0x0160, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0160, 102) // ZC_POSITION_INFO
+packetLen(0x0160, 102)
#elif PACKETVER >= 20080124
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#endif
// Packet: 0x0161
#if PACKETVER >= 20080701
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0161, 16) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 16)
#elif PACKETVER >= 20080617
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0161, 5) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0161, 16) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 16)
#elif PACKETVER >= 20080528
-packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0161, 4) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 4)
#elif PACKETVER >= 20080422
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0161, 15) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 15)
#elif PACKETVER >= 20080408
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0161, 282) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 282)
#elif PACKETVER >= 20080318
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0161, 30) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0161, 7) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 7)
#elif PACKETVER >= 20080226
-packetLen(0x0161, 21) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 21)
#elif PACKETVER >= 20080219
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0161, 8) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#endif
// Packet: 0x0162
#if PACKETVER >= 20080701
-packetLen(0x0162, 81) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 81)
#elif PACKETVER >= 20080624
-packetLen(0x0162, 23) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 23)
#elif PACKETVER >= 20080617
-packetLen(0x0162, 22) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 22)
#elif PACKETVER >= 20080610
-packetLen(0x0162, 18) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 18)
#elif PACKETVER >= 20080603
-packetLen(0x0162, 30) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 30)
#elif PACKETVER >= 20080528
-packetLen(0x0162, 66) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 66)
#elif PACKETVER >= 20080520
-packetLen(0x0162, 10) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0162, 3) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0162, 30) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0162, 13) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 13)
#elif PACKETVER >= 20080415
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0162, 3) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0162, 282) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 282)
#elif PACKETVER >= 20080325
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0162, 26) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 26)
#elif PACKETVER >= 20080124
-packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#endif
// Packet: 0x0163
#if PACKETVER >= 20080610
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0163, 44) // ZC_BAN_LIST
+packetLen(0x0163, 44)
#elif PACKETVER >= 20080528
-packetLen(0x0163, 68) // ZC_BAN_LIST
+packetLen(0x0163, 68)
#elif PACKETVER >= 20080520
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0163, 42) // ZC_BAN_LIST
+packetLen(0x0163, 42)
#elif PACKETVER >= 20080507
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0163, 2) // ZC_BAN_LIST
+packetLen(0x0163, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0163, 86) // ZC_BAN_LIST
+packetLen(0x0163, 86)
#elif PACKETVER >= 20080415
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0163, 8) // ZC_BAN_LIST
+packetLen(0x0163, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0163, 4) // ZC_BAN_LIST
+packetLen(0x0163, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0163, 30) // ZC_BAN_LIST
+packetLen(0x0163, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#endif
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
#if PACKETVER >= 20080701
-packetLen(0x0165, 54) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 54)
#elif PACKETVER >= 20080617
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0165, 114) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 114)
#elif PACKETVER >= 20080507
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0165, 11) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 11)
#elif PACKETVER >= 20080422
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
#elif PACKETVER >= 20080415
-packetLen(0x0165, 10) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 10)
#elif PACKETVER >= 20080408
-packetLen(0x0165, 182) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 182)
#elif PACKETVER >= 20080401
-packetLen(0x0165, 5) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 5)
#elif PACKETVER >= 20080325
-packetLen(0x0165, 97) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 97)
#elif PACKETVER >= 20080318
-packetLen(0x0165, 26) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0165, 102) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 102)
#elif PACKETVER >= 20080304
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0165, 29) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 29)
#elif PACKETVER >= 20080124
-packetLen(0x0165, 6) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
#endif
// Packet: 0x0166
#if PACKETVER >= 20080701
-packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 4)
#elif PACKETVER >= 20080617
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0166, 27) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 27)
#elif PACKETVER >= 20080603
-packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0166, 16) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 16)
#elif PACKETVER >= 20080513
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0166, 7) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 7)
#elif PACKETVER >= 20080429
-packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0166, 3) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 3)
#elif PACKETVER >= 20080318
-packetLen(0x0166, 68) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 68)
#elif PACKETVER >= 20080311
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0166, 5) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0166, 18) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 18)
#elif PACKETVER >= 20080102
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#endif
// Packet: 0x0167
#if PACKETVER >= 20080617
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0167, 9) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 9)
#elif PACKETVER >= 20080603
-packetLen(0x0167, 67) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 67)
#elif PACKETVER >= 20080528
-packetLen(0x0167, 26) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 26)
#elif PACKETVER >= 20080520
-packetLen(0x0167, 86) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 86)
#elif PACKETVER >= 20080513
-packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0167, 4) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0167, 42) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 42)
#elif PACKETVER >= 20080415
-packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 7)
#elif PACKETVER >= 20080408
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0167, 4) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0167, 14) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 14)
#elif PACKETVER >= 20080311
-packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0167, 71) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 71)
#elif PACKETVER >= 20080219
-packetLen(0x0167, 2) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0167, 58) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 58)
#elif PACKETVER >= 20080102
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
#endif
// Packet: 0x0168
#if PACKETVER >= 20080701
-packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0168, 9) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 9)
#elif PACKETVER >= 20080617
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 11)
#elif PACKETVER >= 20080603
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0168, 282) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 282)
#elif PACKETVER >= 20080520
-packetLen(0x0168, 15) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 15)
#elif PACKETVER >= 20080513
-packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 10)
#elif PACKETVER >= 20080429
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#elif PACKETVER >= 20080415
-packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 11)
#elif PACKETVER >= 20080318
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0168, 22) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 22)
#elif PACKETVER >= 20080226
-packetLen(0x0168, 3) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0168, 4) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#endif
// Packet: 0x0169
#if PACKETVER >= 20080701
-packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 5)
#elif PACKETVER >= 20080610
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0169, 9) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 9)
#elif PACKETVER >= 20080507
-packetLen(0x0169, 282) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 282)
#elif PACKETVER >= 20080429
-packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#endif
// Packet: 0x016a
#if PACKETVER >= 20080701
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080624
-packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 6)
#elif PACKETVER >= 20080617
-packetLen(0x016a, 10) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 10)
#elif PACKETVER >= 20080610
-packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 4)
#elif PACKETVER >= 20080603
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080528
-packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 6)
#elif PACKETVER >= 20080520
-packetLen(0x016a, 24) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 24)
#elif PACKETVER >= 20080513
-packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 6)
#elif PACKETVER >= 20080429
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080422
-packetLen(0x016a, 22) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 22)
#elif PACKETVER >= 20080415
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080408
-packetLen(0x016a, 97) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 97)
#elif PACKETVER >= 20080401
-packetLen(0x016a, 7) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 7)
#elif PACKETVER >= 20080325
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080318
-packetLen(0x016a, 44) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 44)
#elif PACKETVER >= 20080311
-packetLen(0x016a, 32) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 32)
#elif PACKETVER >= 20080304
-packetLen(0x016a, 26) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 26)
#elif PACKETVER >= 20080226
-packetLen(0x016a, 2) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 2)
#elif PACKETVER >= 20080219
-packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 4)
#elif PACKETVER >= 20080124
-packetLen(0x016a, 3) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 3)
#elif PACKETVER >= 20080102
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
#endif
// Packet: 0x016b
#if PACKETVER >= 20080624
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080617
-packetLen(0x016b, 6) // CZ_JOIN_GUILD
+packetLen(0x016b, 6)
#elif PACKETVER >= 20080429
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080422
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
#elif PACKETVER >= 20080415
-packetLen(0x016b, 4) // CZ_JOIN_GUILD
+packetLen(0x016b, 4)
#elif PACKETVER >= 20080408
-packetLen(0x016b, 8) // CZ_JOIN_GUILD
+packetLen(0x016b, 8)
#elif PACKETVER >= 20080401
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080325
-packetLen(0x016b, 27) // CZ_JOIN_GUILD
+packetLen(0x016b, 27)
#elif PACKETVER >= 20080318
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080311
-packetLen(0x016b, 22) // CZ_JOIN_GUILD
+packetLen(0x016b, 22)
#elif PACKETVER >= 20080304
-packetLen(0x016b, 20) // CZ_JOIN_GUILD
+packetLen(0x016b, 20)
#elif PACKETVER >= 20080226
-packetLen(0x016b, 6) // CZ_JOIN_GUILD
+packetLen(0x016b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080124
-packetLen(0x016b, 11) // CZ_JOIN_GUILD
+packetLen(0x016b, 11)
#elif PACKETVER >= 20080102
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
#endif
// Packet: 0x016c
#if PACKETVER >= 20080701
-packetLen(0x016c, 7) // ZC_UPDATE_GDID
+packetLen(0x016c, 7)
#elif PACKETVER >= 20080624
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080617
-packetLen(0x016c, 10) // ZC_UPDATE_GDID
+packetLen(0x016c, 10)
#elif PACKETVER >= 20080610
-packetLen(0x016c, 28) // ZC_UPDATE_GDID
+packetLen(0x016c, 28)
#elif PACKETVER >= 20080603
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080528
-packetLen(0x016c, 54) // ZC_UPDATE_GDID
+packetLen(0x016c, 54)
#elif PACKETVER >= 20080520
-packetLen(0x016c, 30) // ZC_UPDATE_GDID
+packetLen(0x016c, 30)
#elif PACKETVER >= 20080513
-packetLen(0x016c, 14) // ZC_UPDATE_GDID
+packetLen(0x016c, 14)
#elif PACKETVER >= 20080507
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080429
-packetLen(0x016c, 57) // ZC_UPDATE_GDID
+packetLen(0x016c, 57)
#elif PACKETVER >= 20080422
-packetLen(0x016c, 10) // ZC_UPDATE_GDID
+packetLen(0x016c, 10)
#elif PACKETVER >= 20080408
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080325
-packetLen(0x016c, 32) // ZC_UPDATE_GDID
+packetLen(0x016c, 32)
#elif PACKETVER >= 20080318
-packetLen(0x016c, 22) // ZC_UPDATE_GDID
+packetLen(0x016c, 22)
#elif PACKETVER >= 20080311
-packetLen(0x016c, 4) // ZC_UPDATE_GDID
+packetLen(0x016c, 4)
#elif PACKETVER >= 20080304
-packetLen(0x016c, 2) // ZC_UPDATE_GDID
+packetLen(0x016c, 2)
#elif PACKETVER >= 20080226
-packetLen(0x016c, 8) // ZC_UPDATE_GDID
+packetLen(0x016c, 8)
#elif PACKETVER >= 20080219
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080124
-packetLen(0x016c, 9) // ZC_UPDATE_GDID
+packetLen(0x016c, 9)
#elif PACKETVER >= 20080102
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
#endif
// Packet: 0x016d
#if PACKETVER >= 20080701
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080617
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080610
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080603
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
#elif PACKETVER >= 20080528
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x016d, 13) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 13)
#elif PACKETVER >= 20080507
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080429
-packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 10)
#elif PACKETVER >= 20080422
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080415
-packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 4)
#elif PACKETVER >= 20080408
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080401
-packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 4)
#elif PACKETVER >= 20080325
-packetLen(0x016d, 6) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 6)
#elif PACKETVER >= 20080318
-packetLen(0x016d, 19) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 19)
#elif PACKETVER >= 20080311
-packetLen(0x016d, 22) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 22)
#elif PACKETVER >= 20080304
-packetLen(0x016d, 8) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 8)
#elif PACKETVER >= 20080226
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080219
-packetLen(0x016d, 30) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 30)
#elif PACKETVER >= 20080124
-packetLen(0x016d, 2) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 2)
#elif PACKETVER >= 20080102
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
#endif
// Packet: 0x016e
#if PACKETVER >= 20080701
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+packetLen(0x016e, 2)
#elif PACKETVER >= 20080617
-packetLen(0x016e, 39) // CZ_GUILD_NOTICE
+packetLen(0x016e, 39)
#elif PACKETVER >= 20080520
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x016e, 15) // CZ_GUILD_NOTICE
+packetLen(0x016e, 15)
#elif PACKETVER >= 20080429
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080422
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
#elif PACKETVER >= 20080415
-packetLen(0x016e, 42) // CZ_GUILD_NOTICE
+packetLen(0x016e, 42)
#elif PACKETVER >= 20080401
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080325
-packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+packetLen(0x016e, 2)
#elif PACKETVER >= 20080318
-packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+packetLen(0x016e, 3)
#elif PACKETVER >= 20080311
-packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+packetLen(0x016e, 4)
#elif PACKETVER >= 20080304
-packetLen(0x016e, 30) // CZ_GUILD_NOTICE
+packetLen(0x016e, 30)
#elif PACKETVER >= 20080226
-packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+packetLen(0x016e, 4)
#elif PACKETVER >= 20080219
-packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+packetLen(0x016e, 3)
#elif PACKETVER >= 20080124
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
#endif
// Packet: 0x016f
#if PACKETVER >= 20080701
-packetLen(0x016f, 44) // ZC_GUILD_NOTICE
+packetLen(0x016f, 44)
#elif PACKETVER >= 20080624
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+packetLen(0x016f, 2)
#elif PACKETVER >= 20080603
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080528
-packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+packetLen(0x016f, 2)
#elif PACKETVER >= 20080507
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080429
-packetLen(0x016f, 14) // ZC_GUILD_NOTICE
+packetLen(0x016f, 14)
#elif PACKETVER >= 20080422
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080415
-packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+packetLen(0x016f, 6)
#elif PACKETVER >= 20080408
-packetLen(0x016f, 7) // ZC_GUILD_NOTICE
+packetLen(0x016f, 7)
#elif PACKETVER >= 20080401
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080325
-packetLen(0x016f, 22) // ZC_GUILD_NOTICE
+packetLen(0x016f, 22)
#elif PACKETVER >= 20080318
-packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+packetLen(0x016f, 9)
#elif PACKETVER >= 20080311
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
#elif PACKETVER >= 20080304
-packetLen(0x016f, 12) // ZC_GUILD_NOTICE
+packetLen(0x016f, 12)
#elif PACKETVER >= 20080226
-packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+packetLen(0x016f, 6)
#elif PACKETVER >= 20080219
-packetLen(0x016f, 4) // ZC_GUILD_NOTICE
+packetLen(0x016f, 4)
#elif PACKETVER >= 20080124
-packetLen(0x016f, 29) // ZC_GUILD_NOTICE
+packetLen(0x016f, 29)
#elif PACKETVER >= 20080102
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
#endif
// Packet: 0x0170
#if PACKETVER >= 20080701
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0170, 20) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 20)
#elif PACKETVER >= 20080528
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0170, 102) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 102)
#elif PACKETVER >= 20080429
-packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#elif PACKETVER >= 20080415
-packetLen(0x0170, 26) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 26)
#elif PACKETVER >= 20080408
-packetLen(0x0170, 22) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 22)
#elif PACKETVER >= 20080401
-packetLen(0x0170, 282) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 282)
#elif PACKETVER >= 20080318
-packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0170, 4) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0170, 81) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 81)
#elif PACKETVER >= 20080226
-packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 30)
#elif PACKETVER >= 20080219
-packetLen(0x0170, 60) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 60)
#elif PACKETVER >= 20080124
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#endif
// Packet: 0x0171
#if PACKETVER >= 20080701
-packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 8)
#elif PACKETVER >= 20080624
-packetLen(0x0171, 3) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 3)
#elif PACKETVER >= 20080617
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0171, 282) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 282)
#elif PACKETVER >= 20080528
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0171, 7) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 7)
#elif PACKETVER >= 20080415
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0171, 5) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 5)
#elif PACKETVER >= 20080401
-packetLen(0x0171, 23) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 23)
#elif PACKETVER >= 20080325
-packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0171, 3) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 67)
#elif PACKETVER >= 20080219
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
#endif
// Packet: 0x0172
#if PACKETVER >= 20080624
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0172, 102) // CZ_ALLY_GUILD
+packetLen(0x0172, 102)
#elif PACKETVER >= 20080610
-packetLen(0x0172, 3) // CZ_ALLY_GUILD
+packetLen(0x0172, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0172, 6) // CZ_ALLY_GUILD
+packetLen(0x0172, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0172, 28) // CZ_ALLY_GUILD
+packetLen(0x0172, 28)
#elif PACKETVER >= 20080429
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#elif PACKETVER >= 20080415
-packetLen(0x0172, 2) // CZ_ALLY_GUILD
+packetLen(0x0172, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0172, 6) // CZ_ALLY_GUILD
+packetLen(0x0172, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0172, 14) // CZ_ALLY_GUILD
+packetLen(0x0172, 14)
#elif PACKETVER >= 20080318
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0172, 3) // CZ_ALLY_GUILD
+packetLen(0x0172, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0172, 53) // CZ_ALLY_GUILD
+packetLen(0x0172, 53)
#elif PACKETVER >= 20080226
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0172, 22) // CZ_ALLY_GUILD
+packetLen(0x0172, 22)
#elif PACKETVER >= 20080124
-packetLen(0x0172, 14) // CZ_ALLY_GUILD
+packetLen(0x0172, 14)
#elif PACKETVER >= 20080102
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#endif
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
#if PACKETVER >= 20080701
-packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 2)
#elif PACKETVER >= 20080624
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0177, 31) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 31)
#elif PACKETVER >= 20080603
-packetLen(0x0177, 58) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 58)
#elif PACKETVER >= 20080528
-packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 4)
#elif PACKETVER >= 20080513
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0177, 30) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0177, 26) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 26)
#elif PACKETVER >= 20080422
-packetLen(0x0177, 28) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 28)
#elif PACKETVER >= 20080415
-packetLen(0x0177, 114) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 114)
#elif PACKETVER >= 20080408
-packetLen(0x0177, 10) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 4)
#elif PACKETVER >= 20080325
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0177, 11) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 11)
#elif PACKETVER >= 20080311
-packetLen(0x0177, 27) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 27)
#elif PACKETVER >= 20080304
-packetLen(0x0177, 34) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 34)
#elif PACKETVER >= 20080226
-packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0177, 30) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#endif
// Packet: 0x0178
#if PACKETVER >= 20080624
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0178, 10) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0178, 33) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 33)
#elif PACKETVER >= 20080520
-packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 7)
#elif PACKETVER >= 20080513
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 7)
#elif PACKETVER >= 20080325
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0178, 11) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0178, 30) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 30)
#elif PACKETVER >= 20080124
-packetLen(0x0178, 68) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 68)
#elif PACKETVER >= 20080102
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#endif
// Packet: 0x0179
#if PACKETVER >= 20080701
-packetLen(0x0179, 59) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 59)
#elif PACKETVER >= 20080624
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0179, 27) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 27)
#elif PACKETVER >= 20080528
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
#elif PACKETVER >= 20080520
-packetLen(0x0179, 11) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 11)
#elif PACKETVER >= 20080513
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0179, 43) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 43)
#elif PACKETVER >= 20080429
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0179, 55) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 55)
#elif PACKETVER >= 20080415
-packetLen(0x0179, 4) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0179, 8) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0179, 2) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 3)
#elif PACKETVER >= 20080124
-packetLen(0x0179, 15) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 15)
#elif PACKETVER >= 20080102
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
#endif
// Packet: 0x017a
#if PACKETVER >= 20080701
-packetLen(0x017a, 29) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 29)
#elif PACKETVER >= 20080610
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x017a, 28) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 28)
#elif PACKETVER >= 20080528
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#elif PACKETVER >= 20080520
-packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 6)
#elif PACKETVER >= 20080513
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 6)
#elif PACKETVER >= 20080429
-packetLen(0x017a, 5) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 5)
#elif PACKETVER >= 20080415
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#elif PACKETVER >= 20080408
-packetLen(0x017a, 2) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 2)
#elif PACKETVER >= 20080401
-packetLen(0x017a, 31) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 31)
#elif PACKETVER >= 20080325
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#elif PACKETVER >= 20080318
-packetLen(0x017a, 8) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 8)
#elif PACKETVER >= 20080311
-packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 6)
#elif PACKETVER >= 20080304
-packetLen(0x017a, 13) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 13)
#elif PACKETVER >= 20080219
-packetLen(0x017a, 30) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 30)
#elif PACKETVER >= 20080124
-packetLen(0x017a, 7) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 7)
#elif PACKETVER >= 20080102
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#endif
// Packet: 0x017b
#if PACKETVER >= 20080701
-packetLen(0x017b, 2) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 2)
#elif PACKETVER >= 20080617
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080610
-packetLen(0x017b, 2) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 2)
#elif PACKETVER >= 20080603
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080528
-packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 4)
#elif PACKETVER >= 20080520
-packetLen(0x017b, 68) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 68)
#elif PACKETVER >= 20080513
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080507
-packetLen(0x017b, 53) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 53)
#elif PACKETVER >= 20080429
-packetLen(0x017b, 8) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 8)
#elif PACKETVER >= 20080415
-packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 6)
#elif PACKETVER >= 20080408
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080401
-packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 6)
#elif PACKETVER >= 20080325
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080318
-packetLen(0x017b, 11) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 11)
#elif PACKETVER >= 20080311
-packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 3)
#elif PACKETVER >= 20080304
-packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 4)
#elif PACKETVER >= 20080226
-packetLen(0x017b, 9) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 9)
#elif PACKETVER >= 20080219
-packetLen(0x017b, 18) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 18)
#elif PACKETVER >= 20080124
-packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 3)
#elif PACKETVER >= 20080102
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#endif
// Packet: 0x017c
#if PACKETVER >= 20080701
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080624
-packetLen(0x017c, 55) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 55)
#elif PACKETVER >= 20080617
-packetLen(0x017c, 26) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 26)
#elif PACKETVER >= 20080610
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080528
-packetLen(0x017c, 21) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 21)
#elif PACKETVER >= 20080520
-packetLen(0x017c, 39) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 39)
#elif PACKETVER >= 20080513
-packetLen(0x017c, 7) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 7)
#elif PACKETVER >= 20080422
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080408
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x017c, 31) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 31)
#elif PACKETVER >= 20080311
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080304
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080226
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080124
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#endif
// Packet: 0x017d
#if PACKETVER >= 20080701
-packetLen(0x017d, 33) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 33)
#elif PACKETVER >= 20080610
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080603
-packetLen(0x017d, 3) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 3)
#elif PACKETVER >= 20080528
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x017d, 4) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 4)
#elif PACKETVER >= 20080422
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080415
-packetLen(0x017d, 11) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 11)
#elif PACKETVER >= 20080408
-packetLen(0x017d, 6) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 6)
#elif PACKETVER >= 20080401
-packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 8)
#elif PACKETVER >= 20080325
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080318
-packetLen(0x017d, 28) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 28)
#elif PACKETVER >= 20080311
-packetLen(0x017d, 34) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 34)
#elif PACKETVER >= 20080304
-packetLen(0x017d, 30) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 30)
#elif PACKETVER >= 20080219
-packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 8)
#elif PACKETVER >= 20080124
-packetLen(0x017d, 10) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 10)
#elif PACKETVER >= 20080102
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
#endif
// Packet: 0x017e
#if PACKETVER >= 20080701
-packetLen(0x017e, 4) // CZ_GUILD_CHAT
+packetLen(0x017e, 4)
#elif PACKETVER >= 20080624
-packetLen(0x017e, 6) // CZ_GUILD_CHAT
+packetLen(0x017e, 6)
#elif PACKETVER >= 20080617
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080610
-packetLen(0x017e, 2) // CZ_GUILD_CHAT
+packetLen(0x017e, 2)
#elif PACKETVER >= 20080603
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x017e, 29) // CZ_GUILD_CHAT
+packetLen(0x017e, 29)
#elif PACKETVER >= 20080520
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x017e, 3) // CZ_GUILD_CHAT
+packetLen(0x017e, 3)
#elif PACKETVER >= 20080507
-packetLen(0x017e, 32) // CZ_GUILD_CHAT
+packetLen(0x017e, 32)
#elif PACKETVER >= 20080429
-packetLen(0x017e, 3) // CZ_GUILD_CHAT
+packetLen(0x017e, 3)
#elif PACKETVER >= 20080422
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080415
-packetLen(0x017e, 14) // CZ_GUILD_CHAT
+packetLen(0x017e, 14)
#elif PACKETVER >= 20080408
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080401
-packetLen(0x017e, 4) // CZ_GUILD_CHAT
+packetLen(0x017e, 4)
#elif PACKETVER >= 20080325
-packetLen(0x017e, 14) // CZ_GUILD_CHAT
+packetLen(0x017e, 14)
#elif PACKETVER >= 20080318
-packetLen(0x017e, 3) // CZ_GUILD_CHAT
+packetLen(0x017e, 3)
#elif PACKETVER >= 20080311
-packetLen(0x017e, 31) // CZ_GUILD_CHAT
+packetLen(0x017e, 31)
#elif PACKETVER >= 20080304
-packetLen(0x017e, 10) // CZ_GUILD_CHAT
+packetLen(0x017e, 10)
#elif PACKETVER >= 20080226
-packetLen(0x017e, 7) // CZ_GUILD_CHAT
+packetLen(0x017e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x017e, 28) // CZ_GUILD_CHAT
+packetLen(0x017e, 28)
#elif PACKETVER >= 20080124
-packetLen(0x017e, 7) // CZ_GUILD_CHAT
+packetLen(0x017e, 7)
#elif PACKETVER >= 20080102
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#endif
// Packet: 0x017f
#if PACKETVER >= 20080624
-packetLen(0x017f, 2) // ZC_GUILD_CHAT
+packetLen(0x017f, 2)
#elif PACKETVER >= 20080520
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x017f, 54) // ZC_GUILD_CHAT
+packetLen(0x017f, 54)
#elif PACKETVER >= 20080507
-packetLen(0x017f, 11) // ZC_GUILD_CHAT
+packetLen(0x017f, 11)
#elif PACKETVER >= 20080429
-packetLen(0x017f, 4) // ZC_GUILD_CHAT
+packetLen(0x017f, 4)
#elif PACKETVER >= 20080415
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080408
-packetLen(0x017f, 20) // ZC_GUILD_CHAT
+packetLen(0x017f, 20)
#elif PACKETVER >= 20080401
-packetLen(0x017f, 6) // ZC_GUILD_CHAT
+packetLen(0x017f, 6)
#elif PACKETVER >= 20080325
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080318
-packetLen(0x017f, 4) // ZC_GUILD_CHAT
+packetLen(0x017f, 4)
#elif PACKETVER >= 20080311
-packetLen(0x017f, 35) // ZC_GUILD_CHAT
+packetLen(0x017f, 35)
#elif PACKETVER >= 20080304
-packetLen(0x017f, 14) // ZC_GUILD_CHAT
+packetLen(0x017f, 14)
#elif PACKETVER >= 20080226
-packetLen(0x017f, 30) // ZC_GUILD_CHAT
+packetLen(0x017f, 30)
#elif PACKETVER >= 20080219
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080124
-packetLen(0x017f, 30) // ZC_GUILD_CHAT
+packetLen(0x017f, 30)
#elif PACKETVER >= 20080102
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#endif
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
#if PACKETVER >= 20080617
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0188, 29) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 29)
#elif PACKETVER >= 20080603
-packetLen(0x0188, 14) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 14)
#elif PACKETVER >= 20080528
-packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0188, 10) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 10)
#elif PACKETVER >= 20080507
-packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0188, 7) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 7)
#elif PACKETVER >= 20080401
-packetLen(0x0188, 6) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 30)
#elif PACKETVER >= 20080318
-packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 30)
#elif PACKETVER >= 20080219
-packetLen(0x0188, 27) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 27)
#elif PACKETVER >= 20080124
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
#endif
// Packet: 0x0189
#if PACKETVER >= 20080624
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0189, 55) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 55)
#elif PACKETVER >= 20080610
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0189, 7) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0189, 24) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 24)
#elif PACKETVER >= 20080520
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0189, 10) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 10)
#elif PACKETVER >= 20080415
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0189, 58) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 58)
#elif PACKETVER >= 20080401
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0189, 31) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 31)
#elif PACKETVER >= 20080318
-packetLen(0x0189, 30) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0189, 17) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 17)
#elif PACKETVER >= 20080219
-packetLen(0x0189, 8) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
#endif
// Packet: 0x018a
#if PACKETVER >= 20080701
-packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 6)
#elif PACKETVER >= 20080624
-packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 14)
#elif PACKETVER >= 20080617
-packetLen(0x018a, 18) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 18)
#elif PACKETVER >= 20080610
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20080528
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080520
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#elif PACKETVER >= 20080429
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080422
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#elif PACKETVER >= 20080415
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20080408
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x018a, 32) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 32)
#elif PACKETVER >= 20080325
-packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 6)
#elif PACKETVER >= 20080318
-packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 14)
#elif PACKETVER >= 20080311
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080304
-packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 7)
#elif PACKETVER >= 20080226
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20080219
-packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 7)
#elif PACKETVER >= 20080124
-packetLen(0x018a, 5) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 5)
#elif PACKETVER >= 20080102
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#endif
// Packet: 0x018b
#if PACKETVER >= 20080701
-packetLen(0x018b, 66) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 66)
#elif PACKETVER >= 20080610
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080603
-packetLen(0x018b, 182) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 182)
#elif PACKETVER >= 20080528
-packetLen(0x018b, 12) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 12)
#elif PACKETVER >= 20080520
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080513
-packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 3)
#elif PACKETVER >= 20080507
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080429
-packetLen(0x018b, 102) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 102)
#elif PACKETVER >= 20080408
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080401
-packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 3)
#elif PACKETVER >= 20080325
-packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 6)
#elif PACKETVER >= 20080318
-packetLen(0x018b, 30) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 30)
#elif PACKETVER >= 20080311
-packetLen(0x018b, 7) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 7)
#elif PACKETVER >= 20080304
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080226
-packetLen(0x018b, 10) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 10)
#elif PACKETVER >= 20080124
-packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 6)
#elif PACKETVER >= 20080102
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
#endif
// Packet: 0x018c
#if PACKETVER >= 20080701
-packetLen(0x018c, 14) // ZC_MONSTER_INFO
+packetLen(0x018c, 14)
#elif PACKETVER >= 20080624
-packetLen(0x018c, 8) // ZC_MONSTER_INFO
+packetLen(0x018c, 8)
#elif PACKETVER >= 20080617
-packetLen(0x018c, 31) // ZC_MONSTER_INFO
+packetLen(0x018c, 31)
#elif PACKETVER >= 20080610
-packetLen(0x018c, 282) // ZC_MONSTER_INFO
+packetLen(0x018c, 282)
#elif PACKETVER >= 20080603
-packetLen(0x018c, 8) // ZC_MONSTER_INFO
+packetLen(0x018c, 8)
#elif PACKETVER >= 20080528
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x018c, 102) // ZC_MONSTER_INFO
+packetLen(0x018c, 102)
#elif PACKETVER >= 20080513
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080507
-packetLen(0x018c, 21) // ZC_MONSTER_INFO
+packetLen(0x018c, 21)
#elif PACKETVER >= 20080401
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080325
-packetLen(0x018c, 8) // ZC_MONSTER_INFO
+packetLen(0x018c, 8)
#elif PACKETVER >= 20080318
-packetLen(0x018c, 6) // ZC_MONSTER_INFO
+packetLen(0x018c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080226
-packetLen(0x018c, 2) // ZC_MONSTER_INFO
+packetLen(0x018c, 2)
#elif PACKETVER >= 20080219
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080124
-packetLen(0x018c, 6) // ZC_MONSTER_INFO
+packetLen(0x018c, 6)
#elif PACKETVER >= 20080102
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
#endif
// Packet: 0x018d
#if PACKETVER >= 20080701
-packetLen(0x018d, 2) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 2)
#elif PACKETVER >= 20080624
-packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 8)
#elif PACKETVER >= 20080617
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080610
-packetLen(0x018d, 65) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 65)
#elif PACKETVER >= 20080603
-packetLen(0x018d, 9) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 9)
#elif PACKETVER >= 20080520
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080513
-packetLen(0x018d, 2) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 2)
#elif PACKETVER >= 20080507
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20080429
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080422
-packetLen(0x018d, 59) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 59)
#elif PACKETVER >= 20080415
-packetLen(0x018d, 79) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 79)
#elif PACKETVER >= 20080408
-packetLen(0x018d, 7) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 7)
#elif PACKETVER >= 20080401
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080318
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20080311
-packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 8)
#elif PACKETVER >= 20080304
-packetLen(0x018d, 39) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 39)
#elif PACKETVER >= 20080226
-packetLen(0x018d, 22) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 22)
#elif PACKETVER >= 20080219
-packetLen(0x018d, 4) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 4)
#elif PACKETVER >= 20080102
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#endif
// Packet: 0x018e
#if PACKETVER >= 20080701
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x018e, 14) // CZ_REQMAKINGITEM
+packetLen(0x018e, 14)
#elif PACKETVER >= 20080617
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080610
-packetLen(0x018e, 59) // CZ_REQMAKINGITEM
+packetLen(0x018e, 59)
#elif PACKETVER >= 20080603
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#elif PACKETVER >= 20080528
-packetLen(0x018e, 5) // CZ_REQMAKINGITEM
+packetLen(0x018e, 5)
#elif PACKETVER >= 20080520
-packetLen(0x018e, 11) // CZ_REQMAKINGITEM
+packetLen(0x018e, 11)
#elif PACKETVER >= 20080513
-packetLen(0x018e, 2) // CZ_REQMAKINGITEM
+packetLen(0x018e, 2)
#elif PACKETVER >= 20080429
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080422
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#elif PACKETVER >= 20080415
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080408
-packetLen(0x018e, 27) // CZ_REQMAKINGITEM
+packetLen(0x018e, 27)
#elif PACKETVER >= 20080401
-packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+packetLen(0x018e, 3)
#elif PACKETVER >= 20080325
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080318
-packetLen(0x018e, 65) // CZ_REQMAKINGITEM
+packetLen(0x018e, 65)
#elif PACKETVER >= 20080311
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080304
-packetLen(0x018e, 58) // CZ_REQMAKINGITEM
+packetLen(0x018e, 58)
#elif PACKETVER >= 20080226
-packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+packetLen(0x018e, 4)
#elif PACKETVER >= 20080219
-packetLen(0x018e, 39) // CZ_REQMAKINGITEM
+packetLen(0x018e, 39)
#elif PACKETVER >= 20080124
-packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+packetLen(0x018e, 3)
#elif PACKETVER >= 20080102
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#endif
// Packet: 0x018f
#if PACKETVER >= 20080617
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080610
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080603
-packetLen(0x018f, 12) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 12)
#elif PACKETVER >= 20080520
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080507
-packetLen(0x018f, 7) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 7)
#elif PACKETVER >= 20080429
-packetLen(0x018f, 14) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 14)
#elif PACKETVER >= 20080422
-packetLen(0x018f, 10) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 10)
#elif PACKETVER >= 20080415
-packetLen(0x018f, 30) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 30)
#elif PACKETVER >= 20080408
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080401
-packetLen(0x018f, 11) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 11)
#elif PACKETVER >= 20080325
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080318
-packetLen(0x018f, 7) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 7)
#elif PACKETVER >= 20080311
-packetLen(0x018f, 11) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 11)
#elif PACKETVER >= 20080304
-packetLen(0x018f, 3) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 3)
#elif PACKETVER >= 20080226
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080219
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080124
-packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 8)
#elif PACKETVER >= 20080102
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#endif
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
#if PACKETVER >= 20080701
-packetLen(0x0194, 42) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 42)
#elif PACKETVER >= 20080624
-packetLen(0x0194, 26) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 26)
#elif PACKETVER >= 20080617
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0194, 2) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0194, 2) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0194, 53) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 53)
#elif PACKETVER >= 20080429
-packetLen(0x0194, 59) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 59)
#elif PACKETVER >= 20080422
-packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0194, 11) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 11)
#elif PACKETVER >= 20080408
-packetLen(0x0194, 21) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 21)
#elif PACKETVER >= 20080401
-packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0194, 16) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 16)
#elif PACKETVER >= 20080311
-packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0194, 14) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 14)
#elif PACKETVER >= 20080124
-packetLen(0x0194, 282) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 282)
#elif PACKETVER >= 20080102
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
#endif
// Packet: 0x0195
#if PACKETVER >= 20080701
-packetLen(0x0195, 26) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 26)
#elif PACKETVER >= 20080610
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0195, 53) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 53)
#elif PACKETVER >= 20080528
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0195, 31) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 31)
#elif PACKETVER >= 20080422
-packetLen(0x0195, 66) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 66)
#elif PACKETVER >= 20080415
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0195, 60) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 60)
#elif PACKETVER >= 20080318
-packetLen(0x0195, 29) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 29)
#elif PACKETVER >= 20080311
-packetLen(0x0195, 15) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 15)
#elif PACKETVER >= 20080304
-packetLen(0x0195, 28) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 28)
#elif PACKETVER >= 20080226
-packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0195, 43) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 43)
#elif PACKETVER >= 20080124
-packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
#endif
// Packet: 0x0196
#if PACKETVER >= 20080701
-packetLen(0x0196, 15) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 15)
#elif PACKETVER >= 20080617
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0196, 67) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 67)
#elif PACKETVER >= 20080520
-packetLen(0x0196, 22) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 22)
#elif PACKETVER >= 20080513
-packetLen(0x0196, 3) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 10)
#elif PACKETVER >= 20080429
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0196, 31) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 31)
#elif PACKETVER >= 20080415
-packetLen(0x0196, 30) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 30)
#elif PACKETVER >= 20080408
-packetLen(0x0196, 11) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0196, 6) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0196, 27) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 27)
#elif PACKETVER >= 20080311
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0196, 6) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0196, 2) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0196, 26) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
#endif
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
#if PACKETVER >= 20080701
-packetLen(0x0199, 7) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 7)
#elif PACKETVER >= 20080624
-packetLen(0x0199, 29) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 29)
#elif PACKETVER >= 20080617
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0199, 33) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 33)
#elif PACKETVER >= 20080528
-packetLen(0x0199, 11) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 11)
#elif PACKETVER >= 20080520
-packetLen(0x0199, 5) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 5)
#elif PACKETVER >= 20080513
-packetLen(0x0199, 28) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 28)
#elif PACKETVER >= 20080507
-packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0199, 44) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 44)
#elif PACKETVER >= 20080318
-packetLen(0x0199, 2) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0199, 17) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 17)
#elif PACKETVER >= 20080304
-packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0199, 5) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 5)
#elif PACKETVER >= 20080102
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#endif
// Packet: 0x019a
#if PACKETVER >= 20080701
-packetLen(0x019a, 58) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 58)
#elif PACKETVER >= 20080624
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080617
-packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 11)
#elif PACKETVER >= 20080610
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20080603
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080528
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20080520
-packetLen(0x019a, 17) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 17)
#elif PACKETVER >= 20080513
-packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 3)
#elif PACKETVER >= 20080507
-packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 8)
#elif PACKETVER >= 20080429
-packetLen(0x019a, 2) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 2)
#elif PACKETVER >= 20080415
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080408
-packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 3)
#elif PACKETVER >= 20080401
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20080325
-packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 11)
#elif PACKETVER >= 20080318
-packetLen(0x019a, 4) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 4)
#elif PACKETVER >= 20080311
-packetLen(0x019a, 30) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 30)
#elif PACKETVER >= 20080304
-packetLen(0x019a, 35) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 35)
#elif PACKETVER >= 20080226
-packetLen(0x019a, 42) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 42)
#elif PACKETVER >= 20080219
-packetLen(0x019a, 10) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 10)
#elif PACKETVER >= 20080124
-packetLen(0x019a, 57) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 57)
#elif PACKETVER >= 20080102
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
#endif
// Packet: 0x019b
#if PACKETVER >= 20080624
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080617
-packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 4)
#elif PACKETVER >= 20080610
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080603
-packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 2)
#elif PACKETVER >= 20080528
-packetLen(0x019b, 27) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 27)
#elif PACKETVER >= 20080520
-packetLen(0x019b, 18) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 18)
#elif PACKETVER >= 20080513
-packetLen(0x019b, 68) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 68)
#elif PACKETVER >= 20080507
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080429
-packetLen(0x019b, 17) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 17)
#elif PACKETVER >= 20080415
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x019b, 29) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 29)
#elif PACKETVER >= 20080401
-packetLen(0x019b, 54) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 54)
#elif PACKETVER >= 20080318
-packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 8)
#elif PACKETVER >= 20080311
-packetLen(0x019b, 6) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 6)
#elif PACKETVER >= 20080304
-packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 2)
#elif PACKETVER >= 20080226
-packetLen(0x019b, 65) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 65)
#elif PACKETVER >= 20080219
-packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 2)
#elif PACKETVER >= 20080124
-packetLen(0x019b, 30) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 30)
#elif PACKETVER >= 20080102
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
#endif
// Packet: 0x019c
#if PACKETVER >= 20080701
-packetLen(0x019c, 282) // CZ_LOCALBROADCAST
+packetLen(0x019c, 282)
#elif PACKETVER >= 20080624
-packetLen(0x019c, 29) // CZ_LOCALBROADCAST
+packetLen(0x019c, 29)
#elif PACKETVER >= 20080617
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x019c, 6) // CZ_LOCALBROADCAST
+packetLen(0x019c, 6)
#elif PACKETVER >= 20080603
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080528
-packetLen(0x019c, 55) // CZ_LOCALBROADCAST
+packetLen(0x019c, 55)
#elif PACKETVER >= 20080520
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080513
-packetLen(0x019c, 81) // CZ_LOCALBROADCAST
+packetLen(0x019c, 81)
#elif PACKETVER >= 20080507
-packetLen(0x019c, 18) // CZ_LOCALBROADCAST
+packetLen(0x019c, 18)
#elif PACKETVER >= 20080429
-packetLen(0x019c, 79) // CZ_LOCALBROADCAST
+packetLen(0x019c, 79)
#elif PACKETVER >= 20080422
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080415
-packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+packetLen(0x019c, 8)
#elif PACKETVER >= 20080408
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x019c, 54) // CZ_LOCALBROADCAST
+packetLen(0x019c, 54)
#elif PACKETVER >= 20080325
-packetLen(0x019c, 23) // CZ_LOCALBROADCAST
+packetLen(0x019c, 23)
#elif PACKETVER >= 20080318
-packetLen(0x019c, 43) // CZ_LOCALBROADCAST
+packetLen(0x019c, 43)
#elif PACKETVER >= 20080311
-packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+packetLen(0x019c, 8)
#elif PACKETVER >= 20080226
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+packetLen(0x019c, 2)
#elif PACKETVER >= 20080124
-packetLen(0x019c, 186) // CZ_LOCALBROADCAST
+packetLen(0x019c, 186)
#elif PACKETVER >= 20080102
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#endif
// Packet: 0x019d
#if PACKETVER >= 20080701
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x019d, 30) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 30)
#elif PACKETVER >= 20080603
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080528
-packetLen(0x019d, 2) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 2)
#elif PACKETVER >= 20080520
-packetLen(0x019d, 8) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 8)
#elif PACKETVER >= 20080513
-packetLen(0x019d, 11) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 11)
#elif PACKETVER >= 20080429
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080422
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
#elif PACKETVER >= 20080415
-packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 18)
#elif PACKETVER >= 20080408
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080401
-packetLen(0x019d, 68) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 68)
#elif PACKETVER >= 20080325
-packetLen(0x019d, 4) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 4)
#elif PACKETVER >= 20080318
-packetLen(0x019d, 14) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 14)
#elif PACKETVER >= 20080311
-packetLen(0x019d, 4) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 4)
#elif PACKETVER >= 20080226
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080219
-packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 18)
#elif PACKETVER >= 20080124
-packetLen(0x019d, 22) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 22)
#elif PACKETVER >= 20080102
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
#endif
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
#if PACKETVER >= 20080701
-packetLen(0x019f, 36) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 36)
#elif PACKETVER >= 20080610
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080603
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20080528
-packetLen(0x019f, 20) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 20)
#elif PACKETVER >= 20080520
-packetLen(0x019f, 18) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 18)
#elif PACKETVER >= 20080513
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080507
-packetLen(0x019f, 26) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 26)
#elif PACKETVER >= 20080429
-packetLen(0x019f, 3) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 3)
#elif PACKETVER >= 20080422
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20080415
-packetLen(0x019f, 8) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 8)
#elif PACKETVER >= 20080408
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080401
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20080325
-packetLen(0x019f, 34) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 34)
#elif PACKETVER >= 20080318
-packetLen(0x019f, 10) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 10)
#elif PACKETVER >= 20080311
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080304
-packetLen(0x019f, 23) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 23)
#elif PACKETVER >= 20080226
-packetLen(0x019f, 79) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 79)
#elif PACKETVER >= 20080124
-packetLen(0x019f, 2) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 2)
#elif PACKETVER >= 20080102
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#endif
// Packet: 0x01a0
#if PACKETVER >= 20080701
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01a0, 5) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 5)
#elif PACKETVER >= 20080617
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a0, 11) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 11)
#elif PACKETVER >= 20080603
-packetLen(0x01a0, 29) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 29)
#elif PACKETVER >= 20080528
-packetLen(0x01a0, 4) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 4)
#elif PACKETVER >= 20080520
-packetLen(0x01a0, 42) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 42)
#elif PACKETVER >= 20080513
-packetLen(0x01a0, 24) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 24)
#elif PACKETVER >= 20080507
-packetLen(0x01a0, 23) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 23)
#elif PACKETVER >= 20080429
-packetLen(0x01a0, 11) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 11)
#elif PACKETVER >= 20080408
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01a0, 30) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 30)
#elif PACKETVER >= 20080325
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01a0, 17) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 17)
#elif PACKETVER >= 20080311
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01a0, 22) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 22)
#elif PACKETVER >= 20080226
-packetLen(0x01a0, 8) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
#elif PACKETVER >= 20080124
-packetLen(0x01a0, 7) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 7)
#elif PACKETVER >= 20080102
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
#endif
// Packet: 0x01a1
#if PACKETVER >= 20080701
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#elif PACKETVER >= 20080617
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a1, 10) // CZ_COMMAND_PET
+packetLen(0x01a1, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01a1, 7) // CZ_COMMAND_PET
+packetLen(0x01a1, 7)
#elif PACKETVER >= 20080520
-packetLen(0x01a1, 21) // CZ_COMMAND_PET
+packetLen(0x01a1, 21)
#elif PACKETVER >= 20080507
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01a1, 7) // CZ_COMMAND_PET
+packetLen(0x01a1, 7)
#elif PACKETVER >= 20080422
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#elif PACKETVER >= 20080415
-packetLen(0x01a1, 28) // CZ_COMMAND_PET
+packetLen(0x01a1, 28)
#elif PACKETVER >= 20080408
-packetLen(0x01a1, 282) // CZ_COMMAND_PET
+packetLen(0x01a1, 282)
#elif PACKETVER >= 20080401
-packetLen(0x01a1, 30) // CZ_COMMAND_PET
+packetLen(0x01a1, 30)
#elif PACKETVER >= 20080325
-packetLen(0x01a1, 7) // CZ_COMMAND_PET
+packetLen(0x01a1, 7)
#elif PACKETVER >= 20080318
-packetLen(0x01a1, 4) // CZ_COMMAND_PET
+packetLen(0x01a1, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01a1, 53) // CZ_COMMAND_PET
+packetLen(0x01a1, 53)
#elif PACKETVER >= 20080304
-packetLen(0x01a1, 26) // CZ_COMMAND_PET
+packetLen(0x01a1, 26)
#elif PACKETVER >= 20080226
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01a1, 6) // CZ_COMMAND_PET
+packetLen(0x01a1, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01a1, 5) // CZ_COMMAND_PET
+packetLen(0x01a1, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#endif
// Packet: 0x01a2
#if PACKETVER >= 20080701
-packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+packetLen(0x01a2, 2)
#elif PACKETVER >= 20080624
-packetLen(0x01a2, 3) // ZC_PROPERTY_PET
+packetLen(0x01a2, 3)
#elif PACKETVER >= 20080610
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01a2, 28) // ZC_PROPERTY_PET
+packetLen(0x01a2, 28)
#elif PACKETVER >= 20080520
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01a2, 54) // ZC_PROPERTY_PET
+packetLen(0x01a2, 54)
#elif PACKETVER >= 20080507
-packetLen(0x01a2, 27) // ZC_PROPERTY_PET
+packetLen(0x01a2, 27)
#elif PACKETVER >= 20080429
-packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+packetLen(0x01a2, 2)
#elif PACKETVER >= 20080422
-packetLen(0x01a2, 30) // ZC_PROPERTY_PET
+packetLen(0x01a2, 30)
#elif PACKETVER >= 20080415
-packetLen(0x01a2, 68) // ZC_PROPERTY_PET
+packetLen(0x01a2, 68)
#elif PACKETVER >= 20080408
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+packetLen(0x01a2, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01a2, 4) // ZC_PROPERTY_PET
+packetLen(0x01a2, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+packetLen(0x01a2, 7)
#elif PACKETVER >= 20080219
-packetLen(0x01a2, 8) // ZC_PROPERTY_PET
+packetLen(0x01a2, 8)
#elif PACKETVER >= 20080124
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
#endif
// Packet: 0x01a3
#if PACKETVER >= 20080701
-packetLen(0x01a3, 31) // ZC_FEED_PET
+packetLen(0x01a3, 31)
#elif PACKETVER >= 20080624
-packetLen(0x01a3, 8) // ZC_FEED_PET
+packetLen(0x01a3, 8)
#elif PACKETVER >= 20080610
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01a3, 26) // ZC_FEED_PET
+packetLen(0x01a3, 26)
#elif PACKETVER >= 20080528
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01a3, 26) // ZC_FEED_PET
+packetLen(0x01a3, 26)
#elif PACKETVER >= 20080513
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#elif PACKETVER >= 20080429
-packetLen(0x01a3, 9) // ZC_FEED_PET
+packetLen(0x01a3, 9)
#elif PACKETVER >= 20080422
-packetLen(0x01a3, 30) // ZC_FEED_PET
+packetLen(0x01a3, 30)
#elif PACKETVER >= 20080415
-packetLen(0x01a3, 3) // ZC_FEED_PET
+packetLen(0x01a3, 3)
#elif PACKETVER >= 20080318
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01a3, 32) // ZC_FEED_PET
+packetLen(0x01a3, 32)
#elif PACKETVER >= 20080304
-packetLen(0x01a3, 6) // ZC_FEED_PET
+packetLen(0x01a3, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01a3, 4) // ZC_FEED_PET
+packetLen(0x01a3, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01a3, 11) // ZC_FEED_PET
+packetLen(0x01a3, 11)
#elif PACKETVER >= 20080124
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#endif
// Packet: 0x01a4
#if PACKETVER >= 20080617
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a4, 4) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 4)
#elif PACKETVER >= 20080603
-packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 10)
#elif PACKETVER >= 20080528
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01a4, 34) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 34)
#elif PACKETVER >= 20080513
-packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 2)
#elif PACKETVER >= 20080507
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
#elif PACKETVER >= 20080429
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01a4, 102) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 102)
#elif PACKETVER >= 20080415
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01a4, 16) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 16)
#elif PACKETVER >= 20080401
-packetLen(0x01a4, 36) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 36)
#elif PACKETVER >= 20080325
-packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 8)
#elif PACKETVER >= 20080318
-packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01a4, 4) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 10)
#elif PACKETVER >= 20080124
-packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
#endif
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
#if PACKETVER >= 20080701
-packetLen(0x01a6, 4) // ZC_PETEGG_LIST
+packetLen(0x01a6, 4)
#elif PACKETVER >= 20080617
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+packetLen(0x01a6, 3)
#elif PACKETVER >= 20080603
-packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+packetLen(0x01a6, 10)
#elif PACKETVER >= 20080520
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080513
-packetLen(0x01a6, 4) // ZC_PETEGG_LIST
+packetLen(0x01a6, 4)
#elif PACKETVER >= 20080507
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01a6, 30) // ZC_PETEGG_LIST
+packetLen(0x01a6, 30)
#elif PACKETVER >= 20080422
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+packetLen(0x01a6, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+packetLen(0x01a6, 3)
#elif PACKETVER >= 20080318
-packetLen(0x01a6, 26) // ZC_PETEGG_LIST
+packetLen(0x01a6, 26)
#elif PACKETVER >= 20080311
-packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+packetLen(0x01a6, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+packetLen(0x01a6, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01a6, 27) // ZC_PETEGG_LIST
+packetLen(0x01a6, 27)
#elif PACKETVER >= 20080102
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#endif
// Packet: 0x01a7
#if PACKETVER >= 20080701
-packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 2)
#elif PACKETVER >= 20080617
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01a7, 30) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 30)
#elif PACKETVER >= 20080520
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01a7, 18) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 18)
#elif PACKETVER >= 20080507
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080422
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#elif PACKETVER >= 20080415
-packetLen(0x01a7, 18) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 18)
#elif PACKETVER >= 20080408
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#elif PACKETVER >= 20080401
-packetLen(0x01a7, 22) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 22)
#elif PACKETVER >= 20080325
-packetLen(0x01a7, 16) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 16)
#elif PACKETVER >= 20080318
-packetLen(0x01a7, 26) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 26)
#elif PACKETVER >= 20080311
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01a7, 3) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#endif
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
#if PACKETVER >= 20080624
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01aa, 43) // ZC_PET_ACT
+packetLen(0x01aa, 43)
#elif PACKETVER >= 20080528
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01aa, 28) // ZC_PET_ACT
+packetLen(0x01aa, 28)
#elif PACKETVER >= 20080513
-packetLen(0x01aa, 60) // ZC_PET_ACT
+packetLen(0x01aa, 60)
#elif PACKETVER >= 20080507
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080422
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01aa, 8) // ZC_PET_ACT
+packetLen(0x01aa, 8)
#elif PACKETVER >= 20080408
-packetLen(0x01aa, 28) // ZC_PET_ACT
+packetLen(0x01aa, 28)
#elif PACKETVER >= 20080401
-packetLen(0x01aa, 7) // ZC_PET_ACT
+packetLen(0x01aa, 7)
#elif PACKETVER >= 20080318
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01aa, 9) // ZC_PET_ACT
+packetLen(0x01aa, 9)
#elif PACKETVER >= 20080304
-packetLen(0x01aa, 67) // ZC_PET_ACT
+packetLen(0x01aa, 67)
#elif PACKETVER >= 20080219
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01aa, 54) // ZC_PET_ACT
+packetLen(0x01aa, 54)
#elif PACKETVER >= 20080102
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
#endif
// Packet: 0x01ab
#if PACKETVER >= 20080701
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080624
-packetLen(0x01ab, 60) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 60)
#elif PACKETVER >= 20080617
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01ab, 11) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 11)
#elif PACKETVER >= 20080528
-packetLen(0x01ab, 6) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 6)
#elif PACKETVER >= 20080520
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01ab, 30) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 30)
#elif PACKETVER >= 20080507
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080422
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01ab, 35) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 35)
#elif PACKETVER >= 20080408
-packetLen(0x01ab, 79) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 79)
#elif PACKETVER >= 20080401
-packetLen(0x01ab, 18) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 18)
#elif PACKETVER >= 20080325
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ab, 4) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01ab, 3) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 3)
#elif PACKETVER >= 20080124
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
#endif
// Packet: 0x01ac
#if PACKETVER >= 20080610
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01ac, 59) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 59)
#elif PACKETVER >= 20080528
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#elif PACKETVER >= 20080513
-packetLen(0x01ac, 44) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 44)
#elif PACKETVER >= 20080507
-packetLen(0x01ac, 10) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 10)
#elif PACKETVER >= 20080429
-packetLen(0x01ac, 14) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 14)
#elif PACKETVER >= 20080422
-packetLen(0x01ac, 3) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 3)
#elif PACKETVER >= 20080415
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01ac, 29) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 29)
#elif PACKETVER >= 20080325
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01ac, 97) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 97)
#elif PACKETVER >= 20080311
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01ac, 2) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01ac, 4) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01ac, 26) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01ac, 17) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 17)
#elif PACKETVER >= 20080102
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#endif
// Packet: 0x01ad
#if PACKETVER >= 20080624
-packetLen(0x01ad, 2) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 2)
#elif PACKETVER >= 20080617
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 4)
#elif PACKETVER >= 20080528
-packetLen(0x01ad, 8) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 8)
#elif PACKETVER >= 20080429
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01ad, 6) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 6)
#elif PACKETVER >= 20080415
-packetLen(0x01ad, 26) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 26)
#elif PACKETVER >= 20080408
-packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 4)
#elif PACKETVER >= 20080401
-packetLen(0x01ad, 14) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 14)
#elif PACKETVER >= 20080325
-packetLen(0x01ad, 39) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 39)
#elif PACKETVER >= 20080318
-packetLen(0x01ad, 6) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01ad, 54) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 54)
#elif PACKETVER >= 20080124
-packetLen(0x01ad, 5) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#endif
// Packet: 0x01ae
#if PACKETVER >= 20080701
-packetLen(0x01ae, 7) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 7)
#elif PACKETVER >= 20080624
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
#elif PACKETVER >= 20080610
-packetLen(0x01ae, 43) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 43)
#elif PACKETVER >= 20080528
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01ae, 8) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 8)
#elif PACKETVER >= 20080429
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#elif PACKETVER >= 20080415
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
#elif PACKETVER >= 20080408
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01ae, 14) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 14)
#elif PACKETVER >= 20080318
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01ae, 26) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 26)
#elif PACKETVER >= 20080304
-packetLen(0x01ae, 15) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 15)
#elif PACKETVER >= 20080226
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#elif PACKETVER >= 20080124
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#endif
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
#if PACKETVER >= 20080701
-packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 8)
#elif PACKETVER >= 20080617
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01b0, 4) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 4)
#elif PACKETVER >= 20080603
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 8)
#elif PACKETVER >= 20080520
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
#elif PACKETVER >= 20080422
-packetLen(0x01b0, 21) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 21)
#elif PACKETVER >= 20080415
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 3)
#elif PACKETVER >= 20080401
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01b0, 16) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 16)
#elif PACKETVER >= 20080318
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
#endif
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
#if PACKETVER >= 20080624
-packetLen(0x01b2, 6) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 6)
#elif PACKETVER >= 20080617
-packetLen(0x01b2, 3) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 3)
#elif PACKETVER >= 20080610
-packetLen(0x01b2, 2) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 2)
#elif PACKETVER >= 20080603
-packetLen(0x01b2, 57) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 57)
#elif PACKETVER >= 20080528
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01b2, 54) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 54)
#elif PACKETVER >= 20080507
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01b2, 14) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 14)
#elif PACKETVER >= 20080401
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01b2, 14) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 14)
#elif PACKETVER >= 20080318
-packetLen(0x01b2, 28) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 28)
#elif PACKETVER >= 20080311
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01b2, 10) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01b2, 282) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 282)
#elif PACKETVER >= 20080219
-packetLen(0x01b2, 26) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01b2, 11) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 11)
#elif PACKETVER >= 20080102
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#endif
// Packet: 0x01b3
#if PACKETVER >= 20080610
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20080528
-packetLen(0x01b3, 60) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 60)
#elif PACKETVER >= 20080520
-packetLen(0x01b3, 71) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 71)
#elif PACKETVER >= 20080513
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20080422
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01b3, 22) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 22)
#elif PACKETVER >= 20080408
-packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01b3, 4) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 4)
#elif PACKETVER >= 20080325
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01b3, 33) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 33)
#elif PACKETVER >= 20080311
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01b3, 9) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 9)
#elif PACKETVER >= 20080226
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01b3, 20) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 20)
#elif PACKETVER >= 20080102
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
#endif
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
#if PACKETVER >= 20080701
-packetLen(0x01b6, 12) // ZC_GUILD_INFO2
+packetLen(0x01b6, 12)
#elif PACKETVER >= 20080624
-packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+packetLen(0x01b6, 31)
#elif PACKETVER >= 20080617
-packetLen(0x01b6, 26) // ZC_GUILD_INFO2
+packetLen(0x01b6, 26)
#elif PACKETVER >= 20080610
-packetLen(0x01b6, 55) // ZC_GUILD_INFO2
+packetLen(0x01b6, 55)
#elif PACKETVER >= 20080603
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01b6, 33) // ZC_GUILD_INFO2
+packetLen(0x01b6, 33)
#elif PACKETVER >= 20080513
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01b6, 7) // ZC_GUILD_INFO2
+packetLen(0x01b6, 7)
#elif PACKETVER >= 20080429
-packetLen(0x01b6, 86) // ZC_GUILD_INFO2
+packetLen(0x01b6, 86)
#elif PACKETVER >= 20080422
-packetLen(0x01b6, 23) // ZC_GUILD_INFO2
+packetLen(0x01b6, 23)
#elif PACKETVER >= 20080408
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01b6, 60) // ZC_GUILD_INFO2
+packetLen(0x01b6, 60)
#elif PACKETVER >= 20080325
-packetLen(0x01b6, 12) // ZC_GUILD_INFO2
+packetLen(0x01b6, 12)
#elif PACKETVER >= 20080318
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01b6, 3) // ZC_GUILD_INFO2
+packetLen(0x01b6, 3)
#elif PACKETVER >= 20080304
-packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+packetLen(0x01b6, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01b6, 18) // ZC_GUILD_INFO2
+packetLen(0x01b6, 18)
#elif PACKETVER >= 20080219
-packetLen(0x01b6, 22) // ZC_GUILD_INFO2
+packetLen(0x01b6, 22)
#elif PACKETVER >= 20080124
-packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+packetLen(0x01b6, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
#endif
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
#if PACKETVER >= 20080701
-packetLen(0x01b9, 14) // ZC_DISPEL
+packetLen(0x01b9, 14)
#elif PACKETVER >= 20080617
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01b9, 8) // ZC_DISPEL
+packetLen(0x01b9, 8)
#elif PACKETVER >= 20080429
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01b9, 7) // ZC_DISPEL
+packetLen(0x01b9, 7)
#elif PACKETVER >= 20080415
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01b9, 4) // ZC_DISPEL
+packetLen(0x01b9, 4)
#elif PACKETVER >= 20080401
-packetLen(0x01b9, 10) // ZC_DISPEL
+packetLen(0x01b9, 10)
#elif PACKETVER >= 20080325
-packetLen(0x01b9, 26) // ZC_DISPEL
+packetLen(0x01b9, 26)
#elif PACKETVER >= 20080318
-packetLen(0x01b9, 9) // ZC_DISPEL
+packetLen(0x01b9, 9)
#elif PACKETVER >= 20080311
-packetLen(0x01b9, 3) // ZC_DISPEL
+packetLen(0x01b9, 3)
#elif PACKETVER >= 20080304
-packetLen(0x01b9, 30) // ZC_DISPEL
+packetLen(0x01b9, 30)
#elif PACKETVER >= 20080226
-packetLen(0x01b9, 60) // ZC_DISPEL
+packetLen(0x01b9, 60)
#elif PACKETVER >= 20080219
-packetLen(0x01b9, 2) // ZC_DISPEL
+packetLen(0x01b9, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#endif
// Packet: 0x01ba
#if PACKETVER >= 20080701
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01ba, 6) // CZ_REMOVE_AID
+packetLen(0x01ba, 6)
#elif PACKETVER >= 20080617
-packetLen(0x01ba, 3) // CZ_REMOVE_AID
+packetLen(0x01ba, 3)
#elif PACKETVER >= 20080528
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01ba, 7) // CZ_REMOVE_AID
+packetLen(0x01ba, 7)
#elif PACKETVER >= 20080513
-packetLen(0x01ba, 22) // CZ_REMOVE_AID
+packetLen(0x01ba, 22)
#elif PACKETVER >= 20080507
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01ba, 3) // CZ_REMOVE_AID
+packetLen(0x01ba, 3)
#elif PACKETVER >= 20080415
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
#elif PACKETVER >= 20080408
-packetLen(0x01ba, 6) // CZ_REMOVE_AID
+packetLen(0x01ba, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01ba, 4) // CZ_REMOVE_AID
+packetLen(0x01ba, 4)
#elif PACKETVER >= 20080325
-packetLen(0x01ba, 81) // CZ_REMOVE_AID
+packetLen(0x01ba, 81)
#elif PACKETVER >= 20080311
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ba, 8) // CZ_REMOVE_AID
+packetLen(0x01ba, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01ba, 14) // CZ_REMOVE_AID
+packetLen(0x01ba, 14)
#elif PACKETVER >= 20080124
-packetLen(0x01ba, 60) // CZ_REMOVE_AID
+packetLen(0x01ba, 60)
#elif PACKETVER >= 20080102
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
#endif
// Packet: 0x01bb
#if PACKETVER >= 20080603
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01bb, 16) // CZ_SHIFT
+packetLen(0x01bb, 16)
#elif PACKETVER >= 20080513
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01bb, 2) // CZ_SHIFT
+packetLen(0x01bb, 2)
#elif PACKETVER >= 20080422
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
#elif PACKETVER >= 20080415
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01bb, 3) // CZ_SHIFT
+packetLen(0x01bb, 3)
#elif PACKETVER >= 20080401
-packetLen(0x01bb, 4) // CZ_SHIFT
+packetLen(0x01bb, 4)
#elif PACKETVER >= 20080325
-packetLen(0x01bb, 43) // CZ_SHIFT
+packetLen(0x01bb, 43)
#elif PACKETVER >= 20080318
-packetLen(0x01bb, 31) // CZ_SHIFT
+packetLen(0x01bb, 31)
#elif PACKETVER >= 20080311
-packetLen(0x01bb, 4) // CZ_SHIFT
+packetLen(0x01bb, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01bb, 8) // CZ_SHIFT
+packetLen(0x01bb, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01bb, 6) // CZ_SHIFT
+packetLen(0x01bb, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01bb, 3) // CZ_SHIFT
+packetLen(0x01bb, 3)
#elif PACKETVER >= 20080124
-packetLen(0x01bb, 81) // CZ_SHIFT
+packetLen(0x01bb, 81)
#elif PACKETVER >= 20080102
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
#endif
// Packet: 0x01bc
#if PACKETVER >= 20080617
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01bc, 2) // CZ_RECALL
+packetLen(0x01bc, 2)
#elif PACKETVER >= 20080603
-packetLen(0x01bc, 282) // CZ_RECALL
+packetLen(0x01bc, 282)
#elif PACKETVER >= 20080528
-packetLen(0x01bc, 7) // CZ_RECALL
+packetLen(0x01bc, 7)
#elif PACKETVER >= 20080520
-packetLen(0x01bc, 10) // CZ_RECALL
+packetLen(0x01bc, 10)
#elif PACKETVER >= 20080513
-packetLen(0x01bc, 20) // CZ_RECALL
+packetLen(0x01bc, 20)
#elif PACKETVER >= 20080507
-packetLen(0x01bc, 39) // CZ_RECALL
+packetLen(0x01bc, 39)
#elif PACKETVER >= 20080429
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#elif PACKETVER >= 20080415
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01bc, 8) // CZ_RECALL
+packetLen(0x01bc, 8)
#elif PACKETVER >= 20080401
-packetLen(0x01bc, 4) // CZ_RECALL
+packetLen(0x01bc, 4)
#elif PACKETVER >= 20080325
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#elif PACKETVER >= 20080318
-packetLen(0x01bc, 4) // CZ_RECALL
+packetLen(0x01bc, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01bc, 9) // CZ_RECALL
+packetLen(0x01bc, 9)
#elif PACKETVER >= 20080304
-packetLen(0x01bc, 6) // CZ_RECALL
+packetLen(0x01bc, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01bc, 86) // CZ_RECALL
+packetLen(0x01bc, 86)
#elif PACKETVER >= 20080219
-packetLen(0x01bc, 9) // CZ_RECALL
+packetLen(0x01bc, 9)
#elif PACKETVER >= 20080124
-packetLen(0x01bc, 10) // CZ_RECALL
+packetLen(0x01bc, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#endif
// Packet: 0x01bd
#if PACKETVER >= 20080701
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080624
-packetLen(0x01bd, 22) // CZ_RECALL_GID
+packetLen(0x01bd, 22)
#elif PACKETVER >= 20080617
-packetLen(0x01bd, 44) // CZ_RECALL_GID
+packetLen(0x01bd, 44)
#elif PACKETVER >= 20080610
-packetLen(0x01bd, 3) // CZ_RECALL_GID
+packetLen(0x01bd, 3)
#elif PACKETVER >= 20080603
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01bd, 9) // CZ_RECALL_GID
+packetLen(0x01bd, 9)
#elif PACKETVER >= 20080520
-packetLen(0x01bd, 35) // CZ_RECALL_GID
+packetLen(0x01bd, 35)
#elif PACKETVER >= 20080507
-packetLen(0x01bd, 4) // CZ_RECALL_GID
+packetLen(0x01bd, 4)
#elif PACKETVER >= 20080429
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
#elif PACKETVER >= 20080415
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01bd, 102) // CZ_RECALL_GID
+packetLen(0x01bd, 102)
#elif PACKETVER >= 20080401
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01bd, 21) // CZ_RECALL_GID
+packetLen(0x01bd, 21)
#elif PACKETVER >= 20080311
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01bd, 102) // CZ_RECALL_GID
+packetLen(0x01bd, 102)
#elif PACKETVER >= 20080226
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01bd, 2) // CZ_RECALL_GID
+packetLen(0x01bd, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
#endif
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
#if PACKETVER >= 20080701
-packetLen(0x01c3, 10) // ZC_BROADCAST2
+packetLen(0x01c3, 10)
#elif PACKETVER >= 20080624
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01c3, 6) // ZC_BROADCAST2
+packetLen(0x01c3, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01c3, 58) // ZC_BROADCAST2
+packetLen(0x01c3, 58)
#elif PACKETVER >= 20080520
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01c3, 66) // ZC_BROADCAST2
+packetLen(0x01c3, 66)
#elif PACKETVER >= 20080507
-packetLen(0x01c3, 7) // ZC_BROADCAST2
+packetLen(0x01c3, 7)
#elif PACKETVER >= 20080429
-packetLen(0x01c3, 3) // ZC_BROADCAST2
+packetLen(0x01c3, 3)
#elif PACKETVER >= 20080422
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01c3, 30) // ZC_BROADCAST2
+packetLen(0x01c3, 30)
#elif PACKETVER >= 20080408
-packetLen(0x01c3, 6) // ZC_BROADCAST2
+packetLen(0x01c3, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01c3, 14) // ZC_BROADCAST2
+packetLen(0x01c3, 14)
#elif PACKETVER >= 20080325
-packetLen(0x01c3, 30) // ZC_BROADCAST2
+packetLen(0x01c3, 30)
#elif PACKETVER >= 20080318
-packetLen(0x01c3, 9) // ZC_BROADCAST2
+packetLen(0x01c3, 9)
#elif PACKETVER >= 20080311
-packetLen(0x01c3, 58) // ZC_BROADCAST2
+packetLen(0x01c3, 58)
#elif PACKETVER >= 20080304
-packetLen(0x01c3, 4) // ZC_BROADCAST2
+packetLen(0x01c3, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01c3, 14) // ZC_BROADCAST2
+packetLen(0x01c3, 14)
#elif PACKETVER >= 20080124
-packetLen(0x01c3, 3) // ZC_BROADCAST2
+packetLen(0x01c3, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#endif
// Packet: 0x01c4
#if PACKETVER >= 20080617
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01c4, 33) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 33)
#elif PACKETVER >= 20080528
-packetLen(0x01c4, 6) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 6)
#elif PACKETVER >= 20080520
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01c4, 3) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 3)
#elif PACKETVER >= 20080507
-packetLen(0x01c4, 31) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 31)
#elif PACKETVER >= 20080429
-packetLen(0x01c4, 53) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 53)
#elif PACKETVER >= 20080422
-packetLen(0x01c4, 34) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 34)
#elif PACKETVER >= 20080415
-packetLen(0x01c4, 11) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 11)
#elif PACKETVER >= 20080408
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01c4, 21) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 21)
#elif PACKETVER >= 20080311
-packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01c4, 28) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 28)
#elif PACKETVER >= 20080102
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#endif
// Packet: 0x01c5
#if PACKETVER >= 20080624
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01c5, 8) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 8)
#elif PACKETVER >= 20080610
-packetLen(0x01c5, 26) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 26)
#elif PACKETVER >= 20080603
-packetLen(0x01c5, 30) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 30)
#elif PACKETVER >= 20080528
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01c5, 11) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 11)
#elif PACKETVER >= 20080513
-packetLen(0x01c5, 3) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 3)
#elif PACKETVER >= 20080429
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01c5, 4) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 4)
#elif PACKETVER >= 20080415
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01c5, 7) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 7)
#elif PACKETVER >= 20080401
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01c5, 31) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 31)
#elif PACKETVER >= 20080318
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01c5, 10) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01c5, 28) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 28)
#elif PACKETVER >= 20080124
-packetLen(0x01c5, 90) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 90)
#elif PACKETVER >= 20080102
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#endif
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
#if PACKETVER >= 20080624
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01c8, 65) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 65)
#elif PACKETVER >= 20080610
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 8)
#elif PACKETVER >= 20080513
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01c8, 29) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 29)
#elif PACKETVER >= 20080429
-packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 8)
#elif PACKETVER >= 20080415
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01c8, 26) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 26)
#elif PACKETVER >= 20080401
-packetLen(0x01c8, 2) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 4)
#elif PACKETVER >= 20080318
-packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01c8, 11) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 11)
#elif PACKETVER >= 20080226
-packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01c8, 5) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
#endif
// Packet: 0x01c9
#if PACKETVER >= 20080701
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01c9, 11) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 11)
#elif PACKETVER >= 20080617
-packetLen(0x01c9, 3) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 3)
#elif PACKETVER >= 20080610
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 4)
#elif PACKETVER >= 20080528
-packetLen(0x01c9, 14) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 14)
#elif PACKETVER >= 20080513
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 4)
#elif PACKETVER >= 20080415
-packetLen(0x01c9, 58) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 58)
#elif PACKETVER >= 20080408
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01c9, 7) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 7)
#elif PACKETVER >= 20080325
-packetLen(0x01c9, 2) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 2)
#elif PACKETVER >= 20080318
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01c9, 2) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01c9, 22) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 22)
#elif PACKETVER >= 20080219
-packetLen(0x01c9, 26) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
#endif
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
#if PACKETVER >= 20080701
-packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 10)
#elif PACKETVER >= 20080617
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01cd, 102) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 102)
#elif PACKETVER >= 20080603
-packetLen(0x01cd, 4) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 4)
#elif PACKETVER >= 20080513
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 10)
#elif PACKETVER >= 20080429
-packetLen(0x01cd, 3) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 3)
#elif PACKETVER >= 20080422
-packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 10)
#elif PACKETVER >= 20080415
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01cd, 12) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 12)
#elif PACKETVER >= 20080401
-packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01cd, 14) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 14)
#elif PACKETVER >= 20080318
-packetLen(0x01cd, 2) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01cd, 5) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 5)
#elif PACKETVER >= 20080226
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01cd, 8) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 8)
#elif PACKETVER >= 20080124
-packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
#endif
// Packet: 0x01ce
#if PACKETVER >= 20080624
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01ce, 27) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 27)
#elif PACKETVER >= 20080610
-packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 3)
#elif PACKETVER >= 20080603
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01ce, 22) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 22)
#elif PACKETVER >= 20080520
-packetLen(0x01ce, 53) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 53)
#elif PACKETVER >= 20080513
-packetLen(0x01ce, 4) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 4)
#elif PACKETVER >= 20080507
-packetLen(0x01ce, 65) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 65)
#elif PACKETVER >= 20080429
-packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 2)
#elif PACKETVER >= 20080422
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#elif PACKETVER >= 20080408
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01ce, 26) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 26)
#elif PACKETVER >= 20080325
-packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 3)
#elif PACKETVER >= 20080318
-packetLen(0x01ce, 21) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 21)
#elif PACKETVER >= 20080304
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01ce, 28) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 28)
#elif PACKETVER >= 20080102
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#endif
// Packet: 0x01cf
#if PACKETVER >= 20080701
-packetLen(0x01cf, 3) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 3)
#elif PACKETVER >= 20080624
-packetLen(0x01cf, 11) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 11)
#elif PACKETVER >= 20080617
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 2)
#elif PACKETVER >= 20080603
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01cf, 15) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 15)
#elif PACKETVER >= 20080520
-packetLen(0x01cf, 26) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 26)
#elif PACKETVER >= 20080513
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 2)
#elif PACKETVER >= 20080415
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01cf, 39) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 39)
#elif PACKETVER >= 20080401
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01cf, 186) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 186)
#elif PACKETVER >= 20080318
-packetLen(0x01cf, 6) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01cf, 23) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 23)
#elif PACKETVER >= 20080304
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01cf, 102) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 102)
#elif PACKETVER >= 20080124
-packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
#endif
// Packet: 0x01d0
#if PACKETVER >= 20080701
-packetLen(0x01d0, 3) // ZC_SPIRITS
+packetLen(0x01d0, 3)
#elif PACKETVER >= 20080624
-packetLen(0x01d0, 9) // ZC_SPIRITS
+packetLen(0x01d0, 9)
#elif PACKETVER >= 20080617
-packetLen(0x01d0, 53) // ZC_SPIRITS
+packetLen(0x01d0, 53)
#elif PACKETVER >= 20080610
-packetLen(0x01d0, 7) // ZC_SPIRITS
+packetLen(0x01d0, 7)
#elif PACKETVER >= 20080603
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080528
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080513
-packetLen(0x01d0, 10) // ZC_SPIRITS
+packetLen(0x01d0, 10)
#elif PACKETVER >= 20080422
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080408
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01d0, 65) // ZC_SPIRITS
+packetLen(0x01d0, 65)
#elif PACKETVER >= 20080318
-packetLen(0x01d0, 39) // ZC_SPIRITS
+packetLen(0x01d0, 39)
#elif PACKETVER >= 20080304
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01d0, 26) // ZC_SPIRITS
+packetLen(0x01d0, 26)
#elif PACKETVER >= 20080219
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01d0, 6) // ZC_SPIRITS
+packetLen(0x01d0, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
#endif
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
#if PACKETVER >= 20080701
-packetLen(0x01d2, 2) // ZC_COMBODELAY
+packetLen(0x01d2, 2)
#elif PACKETVER >= 20080624
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01d2, 7) // ZC_COMBODELAY
+packetLen(0x01d2, 7)
#elif PACKETVER >= 20080603
-packetLen(0x01d2, 4) // ZC_COMBODELAY
+packetLen(0x01d2, 4)
#elif PACKETVER >= 20080520
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01d2, 8) // ZC_COMBODELAY
+packetLen(0x01d2, 8)
#elif PACKETVER >= 20080507
-packetLen(0x01d2, 58) // ZC_COMBODELAY
+packetLen(0x01d2, 58)
#elif PACKETVER >= 20080415
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01d2, 18) // ZC_COMBODELAY
+packetLen(0x01d2, 18)
#elif PACKETVER >= 20080401
-packetLen(0x01d2, 6) // ZC_COMBODELAY
+packetLen(0x01d2, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01d2, 12) // ZC_COMBODELAY
+packetLen(0x01d2, 12)
#elif PACKETVER >= 20080318
-packetLen(0x01d2, 30) // ZC_COMBODELAY
+packetLen(0x01d2, 30)
#elif PACKETVER >= 20080311
-packetLen(0x01d2, 19) // ZC_COMBODELAY
+packetLen(0x01d2, 19)
#elif PACKETVER >= 20080304
-packetLen(0x01d2, 6) // ZC_COMBODELAY
+packetLen(0x01d2, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01d2, 8) // ZC_COMBODELAY
+packetLen(0x01d2, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01d2, 53) // ZC_COMBODELAY
+packetLen(0x01d2, 53)
#elif PACKETVER >= 20080102
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
#endif
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
#if PACKETVER >= 20080701
-packetLen(0x01d4, 8) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 8)
#elif PACKETVER >= 20080624
-packetLen(0x01d4, 54) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 54)
#elif PACKETVER >= 20080617
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01d4, 20) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 20)
#elif PACKETVER >= 20080520
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01d4, 19) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 19)
#elif PACKETVER >= 20080318
-packetLen(0x01d4, 60) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 60)
#elif PACKETVER >= 20080311
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01d4, 3) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01d4, 15) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 15)
#elif PACKETVER >= 20080102
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#endif
// Packet: 0x01d5
#if PACKETVER >= 20080701
-packetLen(0x01d5, 3) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 3)
#elif PACKETVER >= 20080624
-packetLen(0x01d5, 27) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 27)
#elif PACKETVER >= 20080610
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01d5, 9) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 9)
#elif PACKETVER >= 20080528
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 6)
#elif PACKETVER >= 20080507
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01d5, 4) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 4)
#elif PACKETVER >= 20080408
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01d5, 97) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 97)
#elif PACKETVER >= 20080325
-packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 6)
#elif PACKETVER >= 20080318
-packetLen(0x01d5, 34) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 34)
#elif PACKETVER >= 20080311
-packetLen(0x01d5, 13) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 13)
#elif PACKETVER >= 20080304
-packetLen(0x01d5, 5) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 5)
#elif PACKETVER >= 20080226
-packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01d5, 16) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 16)
#elif PACKETVER >= 20080102
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#endif
// Packet: 0x01d6
#if PACKETVER >= 20080701
-packetLen(0x01d6, 30) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 30)
#elif PACKETVER >= 20080624
-packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 3)
#elif PACKETVER >= 20080617
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01d6, 8) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 8)
#elif PACKETVER >= 20080520
-packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 2)
#elif PACKETVER >= 20080513
-packetLen(0x01d6, 35) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 35)
#elif PACKETVER >= 20080507
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080422
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#elif PACKETVER >= 20080408
-packetLen(0x01d6, 54) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 54)
#elif PACKETVER >= 20080401
-packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 11)
#elif PACKETVER >= 20080325
-packetLen(0x01d6, 54) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 54)
#elif PACKETVER >= 20080318
-packetLen(0x01d6, 58) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 58)
#elif PACKETVER >= 20080311
-packetLen(0x01d6, 5) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 5)
#elif PACKETVER >= 20080304
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01d6, 10) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01d6, 16) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 16)
#elif PACKETVER >= 20080102
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#endif
// Packet: 0x01d7
#if PACKETVER >= 20080701
-packetLen(0x01d7, 14) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 14)
#elif PACKETVER >= 20080624
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01d7, 8) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 8)
#elif PACKETVER >= 20080610
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01d7, 5) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 5)
#elif PACKETVER >= 20080528
-packetLen(0x01d7, 9) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 9)
#elif PACKETVER >= 20080520
-packetLen(0x01d7, 282) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 282)
#elif PACKETVER >= 20080513
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 2)
#elif PACKETVER >= 20080408
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01d7, 3) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 3)
#elif PACKETVER >= 20080325
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01d7, 4) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01d7, 28) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 28)
#elif PACKETVER >= 20080304
-packetLen(0x01d7, 54) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 54)
#elif PACKETVER >= 20080226
-packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01d7, 35) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 35)
#elif PACKETVER >= 20080124
-packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
#endif
// Packet: 0x01d8
#if PACKETVER >= 20080701
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080624
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01d8, 11) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 11)
#elif PACKETVER >= 20080528
-packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 3)
#elif PACKETVER >= 20080520
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080513
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01d8, 186) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 186)
#elif PACKETVER >= 20080415
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01d8, 4) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 4)
#elif PACKETVER >= 20080401
-packetLen(0x01d8, 27) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 27)
#elif PACKETVER >= 20080325
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01d8, 5) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 5)
#elif PACKETVER >= 20080311
-packetLen(0x01d8, 2) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01d8, 10) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01d8, 15) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 15)
#elif PACKETVER >= 20080219
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
#endif
// Packet: 0x01d9
#if PACKETVER >= 20080701
-packetLen(0x01d9, 39) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 39)
#elif PACKETVER >= 20080624
-packetLen(0x01d9, 15) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 15)
#elif PACKETVER >= 20080617
-packetLen(0x01d9, 22) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 22)
#elif PACKETVER >= 20080610
-packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 8)
#elif PACKETVER >= 20080528
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01d9, 4) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 4)
#elif PACKETVER >= 20080513
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01d9, 60) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 60)
#elif PACKETVER >= 20080429
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01d9, 6) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 6)
#elif PACKETVER >= 20080415
-packetLen(0x01d9, 26) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 26)
#elif PACKETVER >= 20080408
-packetLen(0x01d9, 2) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 282)
#elif PACKETVER >= 20080311
-packetLen(0x01d9, 28) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 28)
#elif PACKETVER >= 20080304
-packetLen(0x01d9, 42) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 42)
#elif PACKETVER >= 20080226
-packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 282)
#elif PACKETVER >= 20080124
-packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
#endif
// Packet: 0x01da
#if PACKETVER >= 20080701
-packetLen(0x01da, 32) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 32)
#elif PACKETVER >= 20080624
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080610
-packetLen(0x01da, 12) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 12)
#elif PACKETVER >= 20080603
-packetLen(0x01da, 10) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 10)
#elif PACKETVER >= 20080528
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#elif PACKETVER >= 20080513
-packetLen(0x01da, 5) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 5)
#elif PACKETVER >= 20080507
-packetLen(0x01da, 10) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 10)
#elif PACKETVER >= 20080429
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080422
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080415
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080408
-packetLen(0x01da, 8) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 8)
#elif PACKETVER >= 20080401
-packetLen(0x01da, 9) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 9)
#elif PACKETVER >= 20080325
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080318
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01da, 79) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 79)
#elif PACKETVER >= 20080226
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01da, 12) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 12)
#elif PACKETVER >= 20080102
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#endif
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
#if PACKETVER >= 20080701
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01de, 22) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 22)
#elif PACKETVER >= 20080617
-packetLen(0x01de, 14) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 14)
#elif PACKETVER >= 20080603
-packetLen(0x01de, 6) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 6)
#elif PACKETVER >= 20080528
-packetLen(0x01de, 14) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 14)
#elif PACKETVER >= 20080520
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01de, 8) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 8)
#elif PACKETVER >= 20080507
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 3)
#elif PACKETVER >= 20080422
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01de, 30) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 30)
#elif PACKETVER >= 20080408
-packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 2)
#elif PACKETVER >= 20080401
-packetLen(0x01de, 15) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 15)
#elif PACKETVER >= 20080325
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01de, 15) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 15)
#elif PACKETVER >= 20080311
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01de, 7) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 7)
#elif PACKETVER >= 20080226
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 3)
#elif PACKETVER >= 20080124
-packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
#endif
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
#if PACKETVER >= 20080701
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01e1, 6) // ZC_SPIRITS2
+packetLen(0x01e1, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01e1, 43) // ZC_SPIRITS2
+packetLen(0x01e1, 43)
#elif PACKETVER >= 20080520
-packetLen(0x01e1, 32) // ZC_SPIRITS2
+packetLen(0x01e1, 32)
#elif PACKETVER >= 20080513
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01e1, 3) // ZC_SPIRITS2
+packetLen(0x01e1, 3)
#elif PACKETVER >= 20080429
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01e1, 6) // ZC_SPIRITS2
+packetLen(0x01e1, 6)
#elif PACKETVER >= 20080415
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
#elif PACKETVER >= 20080408
-packetLen(0x01e1, 71) // ZC_SPIRITS2
+packetLen(0x01e1, 71)
#elif PACKETVER >= 20080401
-packetLen(0x01e1, 2) // ZC_SPIRITS2
+packetLen(0x01e1, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01e1, 17) // ZC_SPIRITS2
+packetLen(0x01e1, 17)
#elif PACKETVER >= 20080318
-packetLen(0x01e1, 60) // ZC_SPIRITS2
+packetLen(0x01e1, 60)
#elif PACKETVER >= 20080304
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01e1, 32) // ZC_SPIRITS2
+packetLen(0x01e1, 32)
#elif PACKETVER >= 20080219
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01e1, 11) // ZC_SPIRITS2
+packetLen(0x01e1, 11)
#elif PACKETVER >= 20080102
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
#endif
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
#if PACKETVER >= 20080624
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01e7, 6) // CZ_DORIDORI
+packetLen(0x01e7, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01e7, 4) // CZ_DORIDORI
+packetLen(0x01e7, 4)
#elif PACKETVER >= 20080603
-packetLen(0x01e7, 14) // CZ_DORIDORI
+packetLen(0x01e7, 14)
#elif PACKETVER >= 20080528
-packetLen(0x01e7, 39) // CZ_DORIDORI
+packetLen(0x01e7, 39)
#elif PACKETVER >= 20080520
-packetLen(0x01e7, 22) // CZ_DORIDORI
+packetLen(0x01e7, 22)
#elif PACKETVER >= 20080513
-packetLen(0x01e7, 6) // CZ_DORIDORI
+packetLen(0x01e7, 6)
#elif PACKETVER >= 20080507
-packetLen(0x01e7, 54) // CZ_DORIDORI
+packetLen(0x01e7, 54)
#elif PACKETVER >= 20080429
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#elif PACKETVER >= 20080415
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01e7, 60) // CZ_DORIDORI
+packetLen(0x01e7, 60)
#elif PACKETVER >= 20080401
-packetLen(0x01e7, 5) // CZ_DORIDORI
+packetLen(0x01e7, 5)
#elif PACKETVER >= 20080325
-packetLen(0x01e7, 20) // CZ_DORIDORI
+packetLen(0x01e7, 20)
#elif PACKETVER >= 20080318
-packetLen(0x01e7, 18) // CZ_DORIDORI
+packetLen(0x01e7, 18)
#elif PACKETVER >= 20080311
-packetLen(0x01e7, 55) // CZ_DORIDORI
+packetLen(0x01e7, 55)
#elif PACKETVER >= 20080304
-packetLen(0x01e7, 26) // CZ_DORIDORI
+packetLen(0x01e7, 26)
#elif PACKETVER >= 20080219
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#endif
// Packet: 0x01e8
#if PACKETVER >= 20080701
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01e8, 22) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 22)
#elif PACKETVER >= 20080617
-packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 14)
#elif PACKETVER >= 20080610
-packetLen(0x01e8, 27) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 27)
#elif PACKETVER >= 20080603
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01e8, 53) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 53)
#elif PACKETVER >= 20080520
-packetLen(0x01e8, 3) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 3)
#elif PACKETVER >= 20080513
-packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 10)
#elif PACKETVER >= 20080507
-packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 14)
#elif PACKETVER >= 20080429
-packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 10)
#elif PACKETVER >= 20080422
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#elif PACKETVER >= 20080415
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01e8, 16) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 16)
#elif PACKETVER >= 20080401
-packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 10)
#elif PACKETVER >= 20080318
-packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01e8, 44) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 44)
#elif PACKETVER >= 20080102
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#endif
// Packet: 0x01e9
#if PACKETVER >= 20080701
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01e9, 282) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 282)
#elif PACKETVER >= 20080617
-packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 3)
#elif PACKETVER >= 20080507
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01e9, 5) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 5)
#elif PACKETVER >= 20080422
-packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 3)
#elif PACKETVER >= 20080415
-packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 2)
#elif PACKETVER >= 20080408
-packetLen(0x01e9, 34) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 34)
#elif PACKETVER >= 20080401
-packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 8)
#elif PACKETVER >= 20080325
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 8)
#elif PACKETVER >= 20080311
-packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01e9, 4) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01e9, 12) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 12)
#elif PACKETVER >= 20080219
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
#endif
// Packet: 0x01ea
#if PACKETVER >= 20080701
-packetLen(0x01ea, 97) // ZC_CONGRATULATION
+packetLen(0x01ea, 97)
#elif PACKETVER >= 20080624
-packetLen(0x01ea, 79) // ZC_CONGRATULATION
+packetLen(0x01ea, 79)
#elif PACKETVER >= 20080617
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01ea, 4) // ZC_CONGRATULATION
+packetLen(0x01ea, 4)
#elif PACKETVER >= 20080603
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01ea, 2) // ZC_CONGRATULATION
+packetLen(0x01ea, 2)
#elif PACKETVER >= 20080513
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01ea, 12) // ZC_CONGRATULATION
+packetLen(0x01ea, 12)
#elif PACKETVER >= 20080429
-packetLen(0x01ea, 22) // ZC_CONGRATULATION
+packetLen(0x01ea, 22)
#elif PACKETVER >= 20080422
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01ea, 282) // ZC_CONGRATULATION
+packetLen(0x01ea, 282)
#elif PACKETVER >= 20080401
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01ea, 27) // ZC_CONGRATULATION
+packetLen(0x01ea, 27)
#elif PACKETVER >= 20080318
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01ea, 60) // ZC_CONGRATULATION
+packetLen(0x01ea, 60)
#elif PACKETVER >= 20080219
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01ea, 10) // ZC_CONGRATULATION
+packetLen(0x01ea, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#endif
// Packet: 0x01eb
#if PACKETVER >= 20080624
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01eb, 7) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 7)
#elif PACKETVER >= 20080610
-packetLen(0x01eb, 4) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 4)
#elif PACKETVER >= 20080528
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01eb, 4) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 4)
#elif PACKETVER >= 20080513
-packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 30)
#elif PACKETVER >= 20080507
-packetLen(0x01eb, 114) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 114)
#elif PACKETVER >= 20080429
-packetLen(0x01eb, 27) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 27)
#elif PACKETVER >= 20080422
-packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 30)
#elif PACKETVER >= 20080415
-packetLen(0x01eb, 9) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 9)
#elif PACKETVER >= 20080408
-packetLen(0x01eb, 13) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 13)
#elif PACKETVER >= 20080401
-packetLen(0x01eb, 5) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 5)
#elif PACKETVER >= 20080311
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 30)
#elif PACKETVER >= 20080226
-packetLen(0x01eb, 11) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 11)
#elif PACKETVER >= 20080219
-packetLen(0x01eb, 26) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01eb, 53) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 53)
#elif PACKETVER >= 20080102
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
#endif
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
#if PACKETVER >= 20080701
-packetLen(0x01ed, 14) // CZ_CHOPOKGI
+packetLen(0x01ed, 14)
#elif PACKETVER >= 20080624
-packetLen(0x01ed, 6) // CZ_CHOPOKGI
+packetLen(0x01ed, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01ed, 30) // CZ_CHOPOKGI
+packetLen(0x01ed, 30)
#elif PACKETVER >= 20080528
-packetLen(0x01ed, 4) // CZ_CHOPOKGI
+packetLen(0x01ed, 4)
#elif PACKETVER >= 20080520
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01ed, 14) // CZ_CHOPOKGI
+packetLen(0x01ed, 14)
#elif PACKETVER >= 20080507
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01ed, 30) // CZ_CHOPOKGI
+packetLen(0x01ed, 30)
#elif PACKETVER >= 20080422
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#elif PACKETVER >= 20080415
-packetLen(0x01ed, 3) // CZ_CHOPOKGI
+packetLen(0x01ed, 3)
#elif PACKETVER >= 20080408
-packetLen(0x01ed, 22) // CZ_CHOPOKGI
+packetLen(0x01ed, 22)
#elif PACKETVER >= 20080325
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01ed, 10) // CZ_CHOPOKGI
+packetLen(0x01ed, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01ed, 5) // CZ_CHOPOKGI
+packetLen(0x01ed, 5)
#elif PACKETVER >= 20080304
-packetLen(0x01ed, 4) // CZ_CHOPOKGI
+packetLen(0x01ed, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01ed, 10) // CZ_CHOPOKGI
+packetLen(0x01ed, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01ed, 22) // CZ_CHOPOKGI
+packetLen(0x01ed, 22)
#elif PACKETVER >= 20080124
-packetLen(0x01ed, 6) // CZ_CHOPOKGI
+packetLen(0x01ed, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#endif
// Packet: 0x01ee
#if PACKETVER >= 20080701
-packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 8)
#elif PACKETVER >= 20080624
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20080617
-packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 23)
#elif PACKETVER >= 20080610
-packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 8)
#elif PACKETVER >= 20080528
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01ee, 26) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 26)
#elif PACKETVER >= 20080513
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 2)
#elif PACKETVER >= 20080408
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20080318
-packetLen(0x01ee, 71) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 71)
#elif PACKETVER >= 20080311
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01ee, 11) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 11)
#elif PACKETVER >= 20080219
-packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 8)
#elif PACKETVER >= 20080124
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#endif
// Packet: 0x01ef
#if PACKETVER >= 20080701
-packetLen(0x01ef, 7) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 7)
#elif PACKETVER >= 20080624
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080520
-packetLen(0x01ef, 14) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 14)
#elif PACKETVER >= 20080513
-packetLen(0x01ef, 8) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 8)
#elif PACKETVER >= 20080507
-packetLen(0x01ef, 7) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 7)
#elif PACKETVER >= 20080429
-packetLen(0x01ef, 30) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 30)
#elif PACKETVER >= 20080422
-packetLen(0x01ef, 16) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 16)
#elif PACKETVER >= 20080415
-packetLen(0x01ef, 3) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 3)
#elif PACKETVER >= 20080401
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01ef, 29) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 29)
#elif PACKETVER >= 20080318
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ef, 8) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01ef, 35) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 35)
#elif PACKETVER >= 20080124
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#endif
// Packet: 0x01f0
#if PACKETVER >= 20080701
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01f0, 8) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 8)
#elif PACKETVER >= 20080617
-packetLen(0x01f0, 16) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 16)
#elif PACKETVER >= 20080603
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01f0, 8) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 8)
#elif PACKETVER >= 20080520
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01f0, 26) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 26)
#elif PACKETVER >= 20080507
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01f0, 7) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 7)
#elif PACKETVER >= 20080422
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01f0, 53) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 53)
#elif PACKETVER >= 20080408
-packetLen(0x01f0, 22) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 22)
#elif PACKETVER >= 20080401
-packetLen(0x01f0, 44) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 44)
#elif PACKETVER >= 20080325
-packetLen(0x01f0, 13) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 13)
#elif PACKETVER >= 20080318
-packetLen(0x01f0, 39) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 39)
#elif PACKETVER >= 20080311
-packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01f0, 2) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01f0, 30) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 30)
#elif PACKETVER >= 20080102
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#endif
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
#if PACKETVER >= 20080701
-packetLen(0x01f2, 12) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 12)
#elif PACKETVER >= 20080603
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#elif PACKETVER >= 20080513
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01f2, 22) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 22)
#elif PACKETVER >= 20080429
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#elif PACKETVER >= 20080415
-packetLen(0x01f2, 8) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 8)
#elif PACKETVER >= 20080408
-packetLen(0x01f2, 186) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 186)
#elif PACKETVER >= 20080401
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01f2, 6) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 6)
#elif PACKETVER >= 20080318
-packetLen(0x01f2, 2) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01f2, 28) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 28)
#elif PACKETVER >= 20080304
-packetLen(0x01f2, 26) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 26)
#elif PACKETVER >= 20080226
-packetLen(0x01f2, 27) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 27)
#elif PACKETVER >= 20080219
-packetLen(0x01f2, 31) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 31)
#elif PACKETVER >= 20080124
-packetLen(0x01f2, 14) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 14)
#elif PACKETVER >= 20080102
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#endif
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
#if PACKETVER >= 20080701
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01f4, 54) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 54)
#elif PACKETVER >= 20080610
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 7)
#elif PACKETVER >= 20080520
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01f4, 67) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 67)
#elif PACKETVER >= 20080507
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01f4, 28) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 28)
#elif PACKETVER >= 20080422
-packetLen(0x01f4, 22) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 22)
#elif PACKETVER >= 20080415
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20080408
-packetLen(0x01f4, 14) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 14)
#elif PACKETVER >= 20080401
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01f4, 3) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 3)
#elif PACKETVER >= 20080318
-packetLen(0x01f4, 10) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 7)
#elif PACKETVER >= 20080304
-packetLen(0x01f4, 12) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 12)
#elif PACKETVER >= 20080226
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
#endif
// Packet: 0x01f5
#if PACKETVER >= 20080624
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01f5, 60) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 60)
#elif PACKETVER >= 20080520
-packetLen(0x01f5, 5) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 5)
#elif PACKETVER >= 20080513
-packetLen(0x01f5, 60) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 60)
#elif PACKETVER >= 20080507
-packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 4)
#elif PACKETVER >= 20080429
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01f5, 11) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 11)
#elif PACKETVER >= 20080415
-packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 4)
#elif PACKETVER >= 20080408
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01f5, 14) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 14)
#elif PACKETVER >= 20080318
-packetLen(0x01f5, 55) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 55)
#elif PACKETVER >= 20080311
-packetLen(0x01f5, 30) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 30)
#elif PACKETVER >= 20080304
-packetLen(0x01f5, 3) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01f5, 10) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01f5, 114) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 114)
#elif PACKETVER >= 20080124
-packetLen(0x01f5, 7) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 7)
#elif PACKETVER >= 20080102
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
#endif
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
#if PACKETVER >= 20080701
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01fc, 7) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 7)
#elif PACKETVER >= 20080617
-packetLen(0x01fc, 186) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 186)
#elif PACKETVER >= 20080610
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01fc, 71) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 71)
#elif PACKETVER >= 20080528
-packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 4)
#elif PACKETVER >= 20080520
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01fc, 26) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 26)
#elif PACKETVER >= 20080507
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080429
-packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 4)
#elif PACKETVER >= 20080422
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080408
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080325
-packetLen(0x01fc, 59) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 59)
#elif PACKETVER >= 20080318
-packetLen(0x01fc, 7) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 7)
#elif PACKETVER >= 20080311
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01fc, 6) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01fc, 282) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 282)
#elif PACKETVER >= 20080124
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#endif
// Packet: 0x01fd
#if PACKETVER >= 20080701
-packetLen(0x01fd, 13) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 13)
#elif PACKETVER >= 20080617
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01fd, 10) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 26)
#elif PACKETVER >= 20080520
-packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 8)
#elif PACKETVER >= 20080513
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20080415
-packetLen(0x01fd, 54) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 54)
#elif PACKETVER >= 20080408
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 8)
#elif PACKETVER >= 20080318
-packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01fd, 39) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 39)
#elif PACKETVER >= 20080304
-packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#endif
// Packet: 0x01fe
#if PACKETVER >= 20080701
-packetLen(0x01fe, 30) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 30)
#elif PACKETVER >= 20080624
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01fe, 11) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 11)
#elif PACKETVER >= 20080610
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01fe, 4) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 4)
#elif PACKETVER >= 20080513
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01fe, 7) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 7)
#elif PACKETVER >= 20080415
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01fe, 8) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 8)
#elif PACKETVER >= 20080401
-packetLen(0x01fe, 54) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 54)
#elif PACKETVER >= 20080325
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01fe, 20) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 20)
#elif PACKETVER >= 20080311
-packetLen(0x01fe, 18) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 18)
#elif PACKETVER >= 20080304
-packetLen(0x01fe, 22) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 22)
#elif PACKETVER >= 20080226
-packetLen(0x01fe, 2) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01fe, 13) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 13)
#elif PACKETVER >= 20080124
-packetLen(0x01fe, 16) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 16)
#elif PACKETVER >= 20080102
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
#endif
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
#if PACKETVER >= 20080701
-packetLen(0x0201, 9) // ZC_FRIENDS_LIST
+packetLen(0x0201, 9)
#elif PACKETVER >= 20080624
-packetLen(0x0201, 3) // ZC_FRIENDS_LIST
+packetLen(0x0201, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0201, 29) // ZC_FRIENDS_LIST
+packetLen(0x0201, 29)
#elif PACKETVER >= 20080528
-packetLen(0x0201, 26) // ZC_FRIENDS_LIST
+packetLen(0x0201, 26)
#elif PACKETVER >= 20080513
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0201, 67) // ZC_FRIENDS_LIST
+packetLen(0x0201, 67)
#elif PACKETVER >= 20080429
-packetLen(0x0201, 33) // ZC_FRIENDS_LIST
+packetLen(0x0201, 33)
#elif PACKETVER >= 20080422
-packetLen(0x0201, 68) // ZC_FRIENDS_LIST
+packetLen(0x0201, 68)
#elif PACKETVER >= 20080415
-packetLen(0x0201, 58) // ZC_FRIENDS_LIST
+packetLen(0x0201, 58)
#elif PACKETVER >= 20080408
-packetLen(0x0201, 54) // ZC_FRIENDS_LIST
+packetLen(0x0201, 54)
#elif PACKETVER >= 20080401
-packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+packetLen(0x0201, 7)
#elif PACKETVER >= 20080325
-packetLen(0x0201, 5) // ZC_FRIENDS_LIST
+packetLen(0x0201, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0201, 11) // ZC_FRIENDS_LIST
+packetLen(0x0201, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0201, 282) // ZC_FRIENDS_LIST
+packetLen(0x0201, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0201, 6) // ZC_FRIENDS_LIST
+packetLen(0x0201, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+packetLen(0x0201, 7)
#elif PACKETVER >= 20080124
-packetLen(0x0201, 282) // ZC_FRIENDS_LIST
+packetLen(0x0201, 282)
#elif PACKETVER >= 20080102
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#endif
// Packet: 0x0202
#if PACKETVER >= 20080610
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+packetLen(0x0202, 11)
#elif PACKETVER >= 20080513
-packetLen(0x0202, 3) // CZ_ADD_FRIENDS
+packetLen(0x0202, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0202, 19) // CZ_ADD_FRIENDS
+packetLen(0x0202, 19)
#elif PACKETVER >= 20080429
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20080415
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0202, 3) // CZ_ADD_FRIENDS
+packetLen(0x0202, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20080311
-packetLen(0x0202, 33) // CZ_ADD_FRIENDS
+packetLen(0x0202, 33)
#elif PACKETVER >= 20080304
-packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+packetLen(0x0202, 11)
#elif PACKETVER >= 20080226
-packetLen(0x0202, 44) // CZ_ADD_FRIENDS
+packetLen(0x0202, 44)
#elif PACKETVER >= 20080219
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#endif
// Packet: 0x0203
#if PACKETVER >= 20080701
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0203, 3) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0203, 34) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 34)
#elif PACKETVER >= 20080520
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 7)
#elif PACKETVER >= 20080429
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0203, 3) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 3)
#elif PACKETVER >= 20080318
-packetLen(0x0203, 67) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 67)
#elif PACKETVER >= 20080311
-packetLen(0x0203, 60) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 60)
#elif PACKETVER >= 20080304
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#endif
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
#if PACKETVER >= 20080701
-packetLen(0x0206, 2) // ZC_FRIENDS_STATE
+packetLen(0x0206, 2)
#elif PACKETVER >= 20080624
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+packetLen(0x0206, 30)
#elif PACKETVER >= 20080603
-packetLen(0x0206, 3) // ZC_FRIENDS_STATE
+packetLen(0x0206, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+packetLen(0x0206, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+packetLen(0x0206, 7)
#elif PACKETVER >= 20080415
-packetLen(0x0206, 4) // ZC_FRIENDS_STATE
+packetLen(0x0206, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0206, 59) // ZC_FRIENDS_STATE
+packetLen(0x0206, 59)
#elif PACKETVER >= 20080325
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+packetLen(0x0206, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0206, 9) // ZC_FRIENDS_STATE
+packetLen(0x0206, 9)
#elif PACKETVER >= 20080226
-packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+packetLen(0x0206, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+packetLen(0x0206, 7)
#elif PACKETVER >= 20080124
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#endif
// Packet: 0x0207
#if PACKETVER >= 20080701
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0207, 11) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 11)
#elif PACKETVER >= 20080610
-packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0207, 28) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 28)
#elif PACKETVER >= 20080513
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0207, 5) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0207, 102) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 102)
#elif PACKETVER >= 20080325
-packetLen(0x0207, 8) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0207, 6) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0207, 26) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0207, 66) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 66)
#elif PACKETVER >= 20080124
-packetLen(0x0207, 28) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 28)
#elif PACKETVER >= 20080102
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
#endif
// Packet: 0x0208
#if PACKETVER >= 20080701
-packetLen(0x0208, 2) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 2)
#elif PACKETVER >= 20080624
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0208, 15) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 15)
#elif PACKETVER >= 20080603
-packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 10)
#elif PACKETVER >= 20080528
-packetLen(0x0208, 26) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 26)
#elif PACKETVER >= 20080520
-packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0208, 60) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 60)
#elif PACKETVER >= 20080429
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0208, 5) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 5)
#elif PACKETVER >= 20080401
-packetLen(0x0208, 22) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 22)
#elif PACKETVER >= 20080325
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0208, 71) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 71)
#elif PACKETVER >= 20080124
-packetLen(0x0208, 65) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 65)
#elif PACKETVER >= 20080102
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
#endif
// Packet: 0x0209
#if PACKETVER >= 20080701
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0209, 9) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 9)
#elif PACKETVER >= 20080617
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0209, 39) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 39)
#elif PACKETVER >= 20080520
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0209, 8) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 8)
#elif PACKETVER >= 20080507
-packetLen(0x0209, 5) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 5)
#elif PACKETVER >= 20080429
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0209, 18) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 18)
#elif PACKETVER >= 20080415
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0209, 3) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 3)
#elif PACKETVER >= 20080318
-packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0209, 30) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 30)
#elif PACKETVER >= 20080124
-packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
#endif
// Packet: 0x020a
#if PACKETVER >= 20080701
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080624
-packetLen(0x020a, 68) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 68)
#elif PACKETVER >= 20080617
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080610
-packetLen(0x020a, 186) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 186)
#elif PACKETVER >= 20080603
-packetLen(0x020a, 11) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 11)
#elif PACKETVER >= 20080528
-packetLen(0x020a, 32) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 32)
#elif PACKETVER >= 20080520
-packetLen(0x020a, 30) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 30)
#elif PACKETVER >= 20080513
-packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 2)
#elif PACKETVER >= 20080507
-packetLen(0x020a, 71) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 71)
#elif PACKETVER >= 20080422
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 6)
#elif PACKETVER >= 20080408
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x020a, 14) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 14)
#elif PACKETVER >= 20080325
-packetLen(0x020a, 13) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 13)
#elif PACKETVER >= 20080318
-packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 7)
#elif PACKETVER >= 20080311
-packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 6)
#elif PACKETVER >= 20080304
-packetLen(0x020a, 11) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 11)
#elif PACKETVER >= 20080226
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x020a, 20) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 20)
#elif PACKETVER >= 20080124
-packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 2)
#elif PACKETVER >= 20080102
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#endif
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
#if PACKETVER >= 20080701
-packetLen(0x020e, 10) // ZC_STARSKILL
+packetLen(0x020e, 10)
#elif PACKETVER >= 20080624
-packetLen(0x020e, 5) // ZC_STARSKILL
+packetLen(0x020e, 5)
#elif PACKETVER >= 20080603
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x020e, 7) // ZC_STARSKILL
+packetLen(0x020e, 7)
#elif PACKETVER >= 20080520
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#elif PACKETVER >= 20080507
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080429
-packetLen(0x020e, 54) // ZC_STARSKILL
+packetLen(0x020e, 54)
#elif PACKETVER >= 20080415
-packetLen(0x020e, 4) // ZC_STARSKILL
+packetLen(0x020e, 4)
#elif PACKETVER >= 20080408
-packetLen(0x020e, 3) // ZC_STARSKILL
+packetLen(0x020e, 3)
#elif PACKETVER >= 20080401
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
#elif PACKETVER >= 20080318
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080311
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
#elif PACKETVER >= 20080304
-packetLen(0x020e, 27) // ZC_STARSKILL
+packetLen(0x020e, 27)
#elif PACKETVER >= 20080226
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080219
-packetLen(0x020e, 8) // ZC_STARSKILL
+packetLen(0x020e, 8)
#elif PACKETVER >= 20080124
-packetLen(0x020e, 102) // ZC_STARSKILL
+packetLen(0x020e, 102)
#elif PACKETVER >= 20080102
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#endif
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
#if PACKETVER >= 20080701
-packetLen(0x0217, 7) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 7)
#elif PACKETVER >= 20080617
-packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0217, 53) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 53)
#elif PACKETVER >= 20080603
-packetLen(0x0217, 6) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 8)
#elif PACKETVER >= 20080513
-packetLen(0x0217, 65) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 65)
#elif PACKETVER >= 20080507
-packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0217, 15) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 15)
#elif PACKETVER >= 20080422
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 8)
#elif PACKETVER >= 20080408
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0217, 13) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 13)
#elif PACKETVER >= 20080325
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0217, 26) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 26)
#elif PACKETVER >= 20080304
-packetLen(0x0217, 44) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 44)
#elif PACKETVER >= 20080226
-packetLen(0x0217, 5) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0217, 3) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#endif
// Packet: 0x0218
#if PACKETVER >= 20080701
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0218, 10) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0218, 68) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 68)
#elif PACKETVER >= 20080610
-packetLen(0x0218, 30) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 30)
#elif PACKETVER >= 20080603
-packetLen(0x0218, 5) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 5)
#elif PACKETVER >= 20080520
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0218, 18) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 18)
#elif PACKETVER >= 20080422
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0218, 67) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 67)
#elif PACKETVER >= 20080325
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0218, 14) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0218, 4) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0218, 8) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0218, 26) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 26)
#elif PACKETVER >= 20080124
-packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#endif
// Packet: 0x0219
#if PACKETVER >= 20080624
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0219, 30) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0219, 12) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 12)
#elif PACKETVER >= 20080429
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0219, 9) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 9)
#elif PACKETVER >= 20080408
-packetLen(0x0219, 28) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 28)
#elif PACKETVER >= 20080401
-packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 4)
#elif PACKETVER >= 20080325
-packetLen(0x0219, 15) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 15)
#elif PACKETVER >= 20080318
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0219, 3) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0219, 17) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 17)
#elif PACKETVER >= 20080124
-packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#endif
// Packet: 0x021a
#if PACKETVER >= 20080701
-packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 6)
#elif PACKETVER >= 20080624
-packetLen(0x021a, 11) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 11)
#elif PACKETVER >= 20080617
-packetLen(0x021a, 97) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 97)
#elif PACKETVER >= 20080610
-packetLen(0x021a, 23) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 23)
#elif PACKETVER >= 20080603
-packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 30)
#elif PACKETVER >= 20080528
-packetLen(0x021a, 26) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 26)
#elif PACKETVER >= 20080513
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x021a, 3) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 3)
#elif PACKETVER >= 20080429
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080422
-packetLen(0x021a, 16) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 16)
#elif PACKETVER >= 20080408
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x021a, 11) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 11)
#elif PACKETVER >= 20080325
-packetLen(0x021a, 8) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 8)
#elif PACKETVER >= 20080318
-packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 6)
#elif PACKETVER >= 20080311
-packetLen(0x021a, 8) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 8)
#elif PACKETVER >= 20080304
-packetLen(0x021a, 5) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 5)
#elif PACKETVER >= 20080226
-packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 30)
#elif PACKETVER >= 20080219
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080124
-packetLen(0x021a, 10) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 10)
#elif PACKETVER >= 20080102
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
#endif
// Packet: 0x021b
#if PACKETVER >= 20080701
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080624
-packetLen(0x021b, 4) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 4)
#elif PACKETVER >= 20080617
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#elif PACKETVER >= 20080610
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080603
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#elif PACKETVER >= 20080520
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080513
-packetLen(0x021b, 4) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 4)
#elif PACKETVER >= 20080507
-packetLen(0x021b, 8) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 8)
#elif PACKETVER >= 20080429
-packetLen(0x021b, 2) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 2)
#elif PACKETVER >= 20080422
-packetLen(0x021b, 44) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 44)
#elif PACKETVER >= 20080415
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x021b, 9) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 9)
#elif PACKETVER >= 20080401
-packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 6)
#elif PACKETVER >= 20080325
-packetLen(0x021b, 11) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 11)
#elif PACKETVER >= 20080318
-packetLen(0x021b, 3) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 3)
#elif PACKETVER >= 20080311
-packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 15)
#elif PACKETVER >= 20080304
-packetLen(0x021b, 14) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 14)
#elif PACKETVER >= 20080226
-packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 15)
#elif PACKETVER >= 20080124
-packetLen(0x021b, 54) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 54)
#elif PACKETVER >= 20080102
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#endif
// Packet: 0x021c
#if PACKETVER >= 20080617
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x021c, 8) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 8)
#elif PACKETVER >= 20080603
-packetLen(0x021c, 13) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 13)
#elif PACKETVER >= 20080528
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x021c, 2) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 2)
#elif PACKETVER >= 20080513
-packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 5)
#elif PACKETVER >= 20080507
-packetLen(0x021c, 8) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 8)
#elif PACKETVER >= 20080429
-packetLen(0x021c, 18) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 18)
#elif PACKETVER >= 20080422
-packetLen(0x021c, 3) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 3)
#elif PACKETVER >= 20080415
-packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 5)
#elif PACKETVER >= 20080408
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 4)
#elif PACKETVER >= 20080325
-packetLen(0x021c, 102) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 102)
#elif PACKETVER >= 20080318
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x021c, 6) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#elif PACKETVER >= 20080226
-packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 4)
#elif PACKETVER >= 20080219
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080124
-packetLen(0x021c, 30) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 30)
#elif PACKETVER >= 20080102
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#endif
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
#if PACKETVER >= 20080701
-packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+packetLen(0x0224, 4)
#elif PACKETVER >= 20080624
-packetLen(0x0224, 42) // ZC_TAEKWON_POINT
+packetLen(0x0224, 42)
#elif PACKETVER >= 20080610
-packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+packetLen(0x0224, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0224, 14) // ZC_TAEKWON_POINT
+packetLen(0x0224, 14)
#elif PACKETVER >= 20080528
-packetLen(0x0224, 9) // ZC_TAEKWON_POINT
+packetLen(0x0224, 9)
#elif PACKETVER >= 20080520
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0224, 3) // ZC_TAEKWON_POINT
+packetLen(0x0224, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0224, 8) // ZC_TAEKWON_POINT
+packetLen(0x0224, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0224, 27) // ZC_TAEKWON_POINT
+packetLen(0x0224, 27)
#elif PACKETVER >= 20080408
-packetLen(0x0224, 81) // ZC_TAEKWON_POINT
+packetLen(0x0224, 81)
#elif PACKETVER >= 20080401
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+packetLen(0x0224, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0224, 20) // ZC_TAEKWON_POINT
+packetLen(0x0224, 20)
#elif PACKETVER >= 20080304
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+packetLen(0x0224, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0224, 12) // ZC_TAEKWON_POINT
+packetLen(0x0224, 12)
#elif PACKETVER >= 20080124
-packetLen(0x0224, 9) // ZC_TAEKWON_POINT
+packetLen(0x0224, 9)
#elif PACKETVER >= 20080102
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#endif
// Packet: 0x0225
#if PACKETVER >= 20080701
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0225, 7) // CZ_TAEKWON_RANK
+packetLen(0x0225, 7)
#elif PACKETVER >= 20080610
-packetLen(0x0225, 32) // CZ_TAEKWON_RANK
+packetLen(0x0225, 32)
#elif PACKETVER >= 20080603
-packetLen(0x0225, 14) // CZ_TAEKWON_RANK
+packetLen(0x0225, 14)
#elif PACKETVER >= 20080520
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+packetLen(0x0225, 10)
#elif PACKETVER >= 20080507
-packetLen(0x0225, 9) // CZ_TAEKWON_RANK
+packetLen(0x0225, 9)
#elif PACKETVER >= 20080429
-packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+packetLen(0x0225, 3)
#elif PACKETVER >= 20080422
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0225, 4) // CZ_TAEKWON_RANK
+packetLen(0x0225, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+packetLen(0x0225, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+packetLen(0x0225, 5)
#elif PACKETVER >= 20080325
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+packetLen(0x0225, 5)
#elif PACKETVER >= 20080311
-packetLen(0x0225, 29) // CZ_TAEKWON_RANK
+packetLen(0x0225, 29)
#elif PACKETVER >= 20080304
-packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+packetLen(0x0225, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+packetLen(0x0225, 3)
#elif PACKETVER >= 20080124
-packetLen(0x0225, 6) // CZ_TAEKWON_RANK
+packetLen(0x0225, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#endif
// Packet: 0x0226
#if PACKETVER >= 20080624
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+packetLen(0x0226, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+packetLen(0x0226, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0226, 36) // ZC_TAEKWON_RANK
+packetLen(0x0226, 36)
#elif PACKETVER >= 20080422
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+packetLen(0x0226, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0226, 30) // ZC_TAEKWON_RANK
+packetLen(0x0226, 30)
#elif PACKETVER >= 20080401
-packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+packetLen(0x0226, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0226, 9) // ZC_TAEKWON_RANK
+packetLen(0x0226, 9)
#elif PACKETVER >= 20080318
-packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+packetLen(0x0226, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0226, 22) // ZC_TAEKWON_RANK
+packetLen(0x0226, 22)
#elif PACKETVER >= 20080226
-packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+packetLen(0x0226, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0226, 42) // ZC_TAEKWON_RANK
+packetLen(0x0226, 42)
#elif PACKETVER >= 20080124
-packetLen(0x0226, 4) // ZC_TAEKWON_RANK
+packetLen(0x0226, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
#endif
// Packet: 0x0227
#if PACKETVER >= 20080701
-packetLen(0x0227, 2) // ZC_GAME_GUARD
+packetLen(0x0227, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0227, 10) // ZC_GAME_GUARD
+packetLen(0x0227, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0227, 6) // ZC_GAME_GUARD
+packetLen(0x0227, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0227, 10) // ZC_GAME_GUARD
+packetLen(0x0227, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0227, 4) // ZC_GAME_GUARD
+packetLen(0x0227, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0227, 26) // ZC_GAME_GUARD
+packetLen(0x0227, 26)
#elif PACKETVER >= 20080422
-packetLen(0x0227, 8) // ZC_GAME_GUARD
+packetLen(0x0227, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0227, 2) // ZC_GAME_GUARD
+packetLen(0x0227, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0227, 6) // ZC_GAME_GUARD
+packetLen(0x0227, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0227, 15) // ZC_GAME_GUARD
+packetLen(0x0227, 15)
#elif PACKETVER >= 20080311
-packetLen(0x0227, 7) // ZC_GAME_GUARD
+packetLen(0x0227, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0227, 2) // ZC_GAME_GUARD
+packetLen(0x0227, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0227, 31) // ZC_GAME_GUARD
+packetLen(0x0227, 31)
#elif PACKETVER >= 20080219
-packetLen(0x0227, 4) // ZC_GAME_GUARD
+packetLen(0x0227, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#endif
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
#if PACKETVER >= 20080701
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0229, 21) // ZC_STATE_CHANGE3
+packetLen(0x0229, 21)
#elif PACKETVER >= 20080603
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0229, 31) // ZC_STATE_CHANGE3
+packetLen(0x0229, 31)
#elif PACKETVER >= 20080507
-packetLen(0x0229, 5) // ZC_STATE_CHANGE3
+packetLen(0x0229, 5)
#elif PACKETVER >= 20080429
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0229, 3) // ZC_STATE_CHANGE3
+packetLen(0x0229, 3)
#elif PACKETVER >= 20080415
-packetLen(0x0229, 7) // ZC_STATE_CHANGE3
+packetLen(0x0229, 7)
#elif PACKETVER >= 20080408
-packetLen(0x0229, 5) // ZC_STATE_CHANGE3
+packetLen(0x0229, 5)
#elif PACKETVER >= 20080401
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+packetLen(0x0229, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0229, 22) // ZC_STATE_CHANGE3
+packetLen(0x0229, 22)
#elif PACKETVER >= 20080304
-packetLen(0x0229, 33) // ZC_STATE_CHANGE3
+packetLen(0x0229, 33)
#elif PACKETVER >= 20080226
-packetLen(0x0229, 182) // ZC_STATE_CHANGE3
+packetLen(0x0229, 182)
#elif PACKETVER >= 20080219
-packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+packetLen(0x0229, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0229, 22) // ZC_STATE_CHANGE3
+packetLen(0x0229, 22)
#elif PACKETVER >= 20080102
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
#endif
// Packet: 0x022a
#if PACKETVER >= 20080701
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080624
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080617
-packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 8)
#elif PACKETVER >= 20080520
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080513
-packetLen(0x022a, 5) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 5)
#elif PACKETVER >= 20080507
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080429
-packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 3)
#elif PACKETVER >= 20080422
-packetLen(0x022a, 23) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 23)
#elif PACKETVER >= 20080415
-packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 3)
#elif PACKETVER >= 20080408
-packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 10)
#elif PACKETVER >= 20080401
-packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 8)
#elif PACKETVER >= 20080325
-packetLen(0x022a, 114) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 114)
#elif PACKETVER >= 20080318
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080311
-packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 10)
#elif PACKETVER >= 20080304
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080124
-packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 8)
#elif PACKETVER >= 20080102
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20080701
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080624
-packetLen(0x022b, 90) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 90)
#elif PACKETVER >= 20080617
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20080610
-packetLen(0x022b, 2) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 2)
#elif PACKETVER >= 20080603
-packetLen(0x022b, 18) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 18)
#elif PACKETVER >= 20080528
-packetLen(0x022b, 7) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 7)
#elif PACKETVER >= 20080520
-packetLen(0x022b, 10) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 10)
#elif PACKETVER >= 20080513
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080507
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20080429
-packetLen(0x022b, 26) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 26)
#elif PACKETVER >= 20080415
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x022b, 27) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 27)
#elif PACKETVER >= 20080401
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20080325
-packetLen(0x022b, 282) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 282)
#elif PACKETVER >= 20080318
-packetLen(0x022b, 102) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 102)
#elif PACKETVER >= 20080311
-packetLen(0x022b, 10) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 10)
#elif PACKETVER >= 20080304
-packetLen(0x022b, 8) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 8)
#elif PACKETVER >= 20080219
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080124
-packetLen(0x022b, 23) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 23)
#elif PACKETVER >= 20080102
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20080603
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080513
-packetLen(0x022c, 8) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 8)
#elif PACKETVER >= 20080507
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080429
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x022c, 33) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 33)
#elif PACKETVER >= 20080415
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080408
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x022c, 4) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 4)
#elif PACKETVER >= 20080325
-packetLen(0x022c, 68) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 68)
#elif PACKETVER >= 20080318
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x022c, 10) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 10)
#elif PACKETVER >= 20080226
-packetLen(0x022c, 31) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 31)
#elif PACKETVER >= 20080219
-packetLen(0x022c, 53) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 53)
#elif PACKETVER >= 20080124
-packetLen(0x022c, 22) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 22)
#elif PACKETVER >= 20080102
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#endif
// Packet: 0x022d
#if PACKETVER >= 20080701
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080520
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20080513
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20080507
-packetLen(0x022d, 29) // CZ_COMMAND_MER
+packetLen(0x022d, 29)
#elif PACKETVER >= 20080429
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20080422
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20080408
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20080401
-packetLen(0x022d, 30) // CZ_COMMAND_MER
+packetLen(0x022d, 30)
#elif PACKETVER >= 20080325
-packetLen(0x022d, 11) // CZ_COMMAND_MER
+packetLen(0x022d, 11)
#elif PACKETVER >= 20080318
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080311
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20080226
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080219
-packetLen(0x022d, 9) // CZ_COMMAND_MER
+packetLen(0x022d, 9)
#elif PACKETVER >= 20080124
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080102
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
#if PACKETVER >= 20080701
-packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 30)
#elif PACKETVER >= 20080624
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080610
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080603
-packetLen(0x022e, 10) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 10)
#elif PACKETVER >= 20080520
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080507
-packetLen(0x022e, 8) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 8)
#elif PACKETVER >= 20080429
-packetLen(0x022e, 3) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 3)
#elif PACKETVER >= 20080422
-packetLen(0x022e, 7) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 7)
#elif PACKETVER >= 20080415
-packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 30)
#elif PACKETVER >= 20080408
-packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 9)
#elif PACKETVER >= 20080401
-packetLen(0x022e, 2) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 2)
#elif PACKETVER >= 20080325
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080318
-packetLen(0x022e, 28) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 28)
#elif PACKETVER >= 20080311
-packetLen(0x022e, 5) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 5)
#elif PACKETVER >= 20080304
-packetLen(0x022e, 55) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 55)
#elif PACKETVER >= 20080226
-packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 9)
#elif PACKETVER >= 20080219
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080102
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#endif
// Packet: 0x022f
#if PACKETVER >= 20080701
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080624
-packetLen(0x022f, 10) // ZC_FEED_MER
+packetLen(0x022f, 10)
#elif PACKETVER >= 20080617
-packetLen(0x022f, 4) // ZC_FEED_MER
+packetLen(0x022f, 4)
#elif PACKETVER >= 20080610
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080603
-packetLen(0x022f, 22) // ZC_FEED_MER
+packetLen(0x022f, 22)
#elif PACKETVER >= 20080528
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080520
-packetLen(0x022f, 26) // ZC_FEED_MER
+packetLen(0x022f, 26)
#elif PACKETVER >= 20080429
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080422
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
#elif PACKETVER >= 20080415
-packetLen(0x022f, 3) // ZC_FEED_MER
+packetLen(0x022f, 3)
#elif PACKETVER >= 20080401
-packetLen(0x022f, 10) // ZC_FEED_MER
+packetLen(0x022f, 10)
#elif PACKETVER >= 20080325
-packetLen(0x022f, 67) // ZC_FEED_MER
+packetLen(0x022f, 67)
#elif PACKETVER >= 20080318
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
#elif PACKETVER >= 20080304
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080226
-packetLen(0x022f, 26) // ZC_FEED_MER
+packetLen(0x022f, 26)
#elif PACKETVER >= 20080219
-packetLen(0x022f, 282) // ZC_FEED_MER
+packetLen(0x022f, 282)
#elif PACKETVER >= 20080124
-packetLen(0x022f, 6) // ZC_FEED_MER
+packetLen(0x022f, 6)
#elif PACKETVER >= 20080102
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
#if PACKETVER >= 20080624
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0230, 43) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 43)
#elif PACKETVER >= 20080325
-packetLen(0x0230, 8) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0230, 3) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0230, 16) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 16)
#elif PACKETVER >= 20080226
-packetLen(0x0230, 28) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 28)
#elif PACKETVER >= 20080219
-packetLen(0x0230, 54) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 54)
#elif PACKETVER >= 20080124
-packetLen(0x0230, 3) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
#endif
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
#if PACKETVER >= 20080701
-packetLen(0x0232, 28) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 28)
#elif PACKETVER >= 20080624
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0232, 6) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0232, 30) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 30)
#elif PACKETVER >= 20080603
-packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0232, 4) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0232, 17) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 17)
#elif PACKETVER >= 20080429
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#elif PACKETVER >= 20080415
-packetLen(0x0232, 10) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 10)
#elif PACKETVER >= 20080408
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0232, 10) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0232, 5) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0232, 36) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 36)
#elif PACKETVER >= 20080124
-packetLen(0x0232, 17) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 17)
#elif PACKETVER >= 20080102
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#endif
// Packet: 0x0233
#if PACKETVER >= 20080624
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0233, 66) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 66)
#elif PACKETVER >= 20080603
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0233, 15) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 15)
#elif PACKETVER >= 20080513
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0233, 68) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 68)
#elif PACKETVER >= 20080429
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#elif PACKETVER >= 20080415
-packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 10)
#elif PACKETVER >= 20080408
-packetLen(0x0233, 22) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 22)
#elif PACKETVER >= 20080325
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0233, 4) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0233, 8) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0233, 23) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 23)
#elif PACKETVER >= 20080102
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#endif
// Packet: 0x0234
#if PACKETVER >= 20080624
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 10)
#elif PACKETVER >= 20080429
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0234, 2) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0234, 16) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 16)
#elif PACKETVER >= 20080325
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0234, 3) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0234, 43) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 43)
#elif PACKETVER >= 20080304
-packetLen(0x0234, 4) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0234, 15) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 15)
#elif PACKETVER >= 20080219
-packetLen(0x0234, 282) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 282)
#elif PACKETVER >= 20080124
-packetLen(0x0234, 26) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#endif
// Packet: 0x0235
#if PACKETVER >= 20080701
-packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0235, 12) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 12)
#elif PACKETVER >= 20080520
-packetLen(0x0235, 5) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0235, 28) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 28)
#elif PACKETVER >= 20080408
-packetLen(0x0235, 2) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0235, 19) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 19)
#elif PACKETVER >= 20080325
-packetLen(0x0235, 42) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 42)
#elif PACKETVER >= 20080318
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0235, 44) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 44)
#elif PACKETVER >= 20080304
-packetLen(0x0235, 10) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0235, 33) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 33)
#elif PACKETVER >= 20080219
-packetLen(0x0235, 15) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 15)
#elif PACKETVER >= 20080124
-packetLen(0x0235, 30) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#endif
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
#if PACKETVER >= 20080701
-packetLen(0x0237, 29) // CZ_KILLER_RANK
+packetLen(0x0237, 29)
#elif PACKETVER >= 20080624
-packetLen(0x0237, 14) // CZ_KILLER_RANK
+packetLen(0x0237, 14)
#elif PACKETVER >= 20080617
-packetLen(0x0237, 5) // CZ_KILLER_RANK
+packetLen(0x0237, 5)
#elif PACKETVER >= 20080610
-packetLen(0x0237, 4) // CZ_KILLER_RANK
+packetLen(0x0237, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0237, 19) // CZ_KILLER_RANK
+packetLen(0x0237, 19)
#elif PACKETVER >= 20080520
-packetLen(0x0237, 3) // CZ_KILLER_RANK
+packetLen(0x0237, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0237, 24) // CZ_KILLER_RANK
+packetLen(0x0237, 24)
#elif PACKETVER >= 20080422
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0237, 60) // CZ_KILLER_RANK
+packetLen(0x0237, 60)
#elif PACKETVER >= 20080401
-packetLen(0x0237, 20) // CZ_KILLER_RANK
+packetLen(0x0237, 20)
#elif PACKETVER >= 20080325
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0237, 8) // CZ_KILLER_RANK
+packetLen(0x0237, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0237, 54) // CZ_KILLER_RANK
+packetLen(0x0237, 54)
#elif PACKETVER >= 20080304
-packetLen(0x0237, 3) // CZ_KILLER_RANK
+packetLen(0x0237, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0237, 10) // CZ_KILLER_RANK
+packetLen(0x0237, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0237, 3) // CZ_KILLER_RANK
+packetLen(0x0237, 3)
#elif PACKETVER >= 20080124
-packetLen(0x0237, 4) // CZ_KILLER_RANK
+packetLen(0x0237, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#endif
// Packet: 0x0238
#if PACKETVER >= 20080624
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0238, 21) // ZC_KILLER_RANK
+packetLen(0x0238, 21)
#elif PACKETVER >= 20080513
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0238, 10) // ZC_KILLER_RANK
+packetLen(0x0238, 10)
#elif PACKETVER >= 20080415
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0238, 10) // ZC_KILLER_RANK
+packetLen(0x0238, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0238, 27) // ZC_KILLER_RANK
+packetLen(0x0238, 27)
#elif PACKETVER >= 20080304
-packetLen(0x0238, 14) // ZC_KILLER_RANK
+packetLen(0x0238, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
#endif
// Packet: 0x0239
#if PACKETVER >= 20080701
-packetLen(0x0239, 30) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 30)
#elif PACKETVER >= 20080624
-packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0239, 2) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0239, 29) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 29)
#elif PACKETVER >= 20080520
-packetLen(0x0239, 282) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 282)
#elif PACKETVER >= 20080513
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0239, 5) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 5)
#elif PACKETVER >= 20080429
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0239, 5) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 5)
#elif PACKETVER >= 20080415
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080408
-packetLen(0x0239, 36) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 36)
#elif PACKETVER >= 20080401
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0239, 26) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0239, 39) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 39)
#elif PACKETVER >= 20080219
-packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
#endif
// Packet: 0x023a
#if PACKETVER >= 20080701
-packetLen(0x023a, 13) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 13)
#elif PACKETVER >= 20080624
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080617
-packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 10)
#elif PACKETVER >= 20080513
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x023a, 28) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 28)
#elif PACKETVER >= 20080429
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#elif PACKETVER >= 20080422
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 2)
#elif PACKETVER >= 20080401
-packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 6)
#elif PACKETVER >= 20080325
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080318
-packetLen(0x023a, 8) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 8)
#elif PACKETVER >= 20080311
-packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 10)
#elif PACKETVER >= 20080304
-packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x023a, 11) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 11)
#elif PACKETVER >= 20080124
-packetLen(0x023a, 71) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 71)
#elif PACKETVER >= 20080102
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#endif
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
#if PACKETVER >= 20080701
-packetLen(0x023c, 60) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 60)
#elif PACKETVER >= 20080617
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x023c, 4) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 4)
#elif PACKETVER >= 20080513
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080507
-packetLen(0x023c, 30) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 30)
#elif PACKETVER >= 20080429
-packetLen(0x023c, 3) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 3)
#elif PACKETVER >= 20080422
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080415
-packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 10)
#elif PACKETVER >= 20080408
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20080401
-packetLen(0x023c, 12) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 12)
#elif PACKETVER >= 20080325
-packetLen(0x023c, 79) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 79)
#elif PACKETVER >= 20080318
-packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 10)
#elif PACKETVER >= 20080311
-packetLen(0x023c, 21) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 21)
#elif PACKETVER >= 20080226
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20080219
-packetLen(0x023c, 5) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 5)
#elif PACKETVER >= 20080124
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#endif
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
#if PACKETVER >= 20080617
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0274, 4) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0274, 10) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 10)
#elif PACKETVER >= 20080520
-packetLen(0x0274, 30) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0274, 7) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 7)
#elif PACKETVER >= 20080507
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0274, 7) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 7)
#elif PACKETVER >= 20080422
-packetLen(0x0274, 282) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 282)
#elif PACKETVER >= 20080415
-packetLen(0x0274, 6) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0274, 2) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0274, 53) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 53)
#elif PACKETVER >= 20080318
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0274, 67) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 67)
#elif PACKETVER >= 20080304
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0274, 24) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 24)
#elif PACKETVER >= 20080219
-packetLen(0x0274, 32) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 32)
#elif PACKETVER >= 20080124
-packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#endif
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
#if PACKETVER >= 20080701
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0287, 26) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 26)
#elif PACKETVER >= 20080617
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 11)
#elif PACKETVER >= 20080422
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0287, 31) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 31)
#elif PACKETVER >= 20080408
-packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0287, 4) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0287, 32) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 32)
#elif PACKETVER >= 20080311
-packetLen(0x0287, 18) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 18)
#elif PACKETVER >= 20080304
-packetLen(0x0287, 10) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 11)
#elif PACKETVER >= 20080124
-packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#endif
// Packet: 0x0288
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
#if PACKETVER >= 20080701
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0295, 31) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 31)
#elif PACKETVER >= 20080610
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0295, 30) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0295, 53) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 53)
#elif PACKETVER >= 20080415
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0295, 10) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0295, 2) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0295, 66) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 66)
#elif PACKETVER >= 20080318
-packetLen(0x0295, 8) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0295, 5) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0295, 3) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0295, 34) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 34)
#elif PACKETVER >= 20080102
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#endif
// Packet: 0x0296
#if PACKETVER >= 20080624
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0296, 19) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 19)
#elif PACKETVER >= 20080610
-packetLen(0x0296, 17) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 17)
#elif PACKETVER >= 20080528
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 5)
#elif PACKETVER >= 20080513
-packetLen(0x0296, 53) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 53)
#elif PACKETVER >= 20080507
-packetLen(0x0296, 3) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 3)
#elif PACKETVER >= 20080422
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0296, 28) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 28)
#elif PACKETVER >= 20080408
-packetLen(0x0296, 14) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 14)
#elif PACKETVER >= 20080401
-packetLen(0x0296, 20) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 20)
#elif PACKETVER >= 20080325
-packetLen(0x0296, 9) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 9)
#elif PACKETVER >= 20080318
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0296, 29) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 29)
#elif PACKETVER >= 20080304
-packetLen(0x0296, 90) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 90)
#elif PACKETVER >= 20080226
-packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 5)
#elif PACKETVER >= 20080124
-packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#endif
// Packet: 0x0297
#if PACKETVER >= 20080701
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0297, 9) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 9)
#elif PACKETVER >= 20080513
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0297, 8) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 8)
#elif PACKETVER >= 20080408
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0297, 3) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0297, 36) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 36)
#elif PACKETVER >= 20080311
-packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0297, 11) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 11)
#elif PACKETVER >= 20080226
-packetLen(0x0297, 5) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0297, 29) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 29)
#elif PACKETVER >= 20080102
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#endif
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
#if PACKETVER >= 20080610
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x029a, 28) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 28)
#elif PACKETVER >= 20080528
-packetLen(0x029a, 7) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 7)
#elif PACKETVER >= 20080520
-packetLen(0x029a, 55) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 55)
#elif PACKETVER >= 20080513
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x029a, 12) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 12)
#elif PACKETVER >= 20080429
-packetLen(0x029a, 44) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 44)
#elif PACKETVER >= 20080422
-packetLen(0x029a, 11) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 11)
#elif PACKETVER >= 20080408
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x029a, 14) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 14)
#elif PACKETVER >= 20080325
-packetLen(0x029a, 2) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 2)
#elif PACKETVER >= 20080318
-packetLen(0x029a, 16) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 16)
#elif PACKETVER >= 20080311
-packetLen(0x029a, 8) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 8)
#elif PACKETVER >= 20080304
-packetLen(0x029a, 21) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 21)
#elif PACKETVER >= 20080226
-packetLen(0x029a, 3) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 3)
#elif PACKETVER >= 20080219
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080124
-packetLen(0x029a, 30) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 30)
#elif PACKETVER >= 20080102
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
#if PACKETVER >= 20080122
// removed
#elif PACKETVER >= 20080108
-packetLen(0x02a6, 204) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 204)
#elif PACKETVER >= 20080102
-packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 22)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20080122
// removed
#elif PACKETVER >= 20080108
-packetLen(0x02a7, 204) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 204)
#elif PACKETVER >= 20080102
-packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 22)
#endif
// Packet: 0x02a8
#if PACKETVER >= 20080108
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+packetLen(0x02a8, 162)
#endif
// Packet: 0x02a9
#if PACKETVER >= 20080108
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+packetLen(0x02a9, 58)
#endif
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02bf
#if PACKETVER >= 20080318
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+packetLen(0x02bf, 10)
#endif
// Packet: 0x02c0
#if PACKETVER >= 20080318
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+packetLen(0x02c0, 2)
#endif
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
#if PACKETVER >= 20080304
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#elif PACKETVER >= 20080226
-packetLen(0x02d4, 30) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 30)
#elif PACKETVER >= 20080219
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#elif PACKETVER >= 20080124
-packetLen(0x02d4, 32) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 32)
#elif PACKETVER >= 20080102
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
#if PACKETVER >= 20080617
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02e1, 26) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 26)
#elif PACKETVER >= 20080603
-packetLen(0x02e1, 8) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 8)
#elif PACKETVER >= 20080528
-packetLen(0x02e1, 10) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 10)
#elif PACKETVER >= 20080520
-packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 6)
#elif PACKETVER >= 20080513
-packetLen(0x02e1, 55) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 55)
#elif PACKETVER >= 20080507
-packetLen(0x02e1, 22) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 22)
#elif PACKETVER >= 20080408
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080401
-packetLen(0x02e1, 9) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 9)
#elif PACKETVER >= 20080325
-packetLen(0x02e1, 26) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 26)
#elif PACKETVER >= 20080311
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080304
-packetLen(0x02e1, 8) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 8)
#elif PACKETVER >= 20080102
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
#endif
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
#if PACKETVER >= 20080624
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20080617
-packetLen(0x02ec, 42) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 42)
#elif PACKETVER >= 20080610
-packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 6)
#elif PACKETVER >= 20080603
-packetLen(0x02ec, 4) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 4)
#elif PACKETVER >= 20080528
-packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 6)
#elif PACKETVER >= 20080520
-packetLen(0x02ec, 14) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 14)
#elif PACKETVER >= 20080513
-packetLen(0x02ec, 11) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 11)
#elif PACKETVER >= 20080507
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20080429
-packetLen(0x02ec, 43) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 43)
#elif PACKETVER >= 20080422
-packetLen(0x02ec, 60) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 60)
#elif PACKETVER >= 20080415
-packetLen(0x02ec, 3) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 3)
#elif PACKETVER >= 20080408
-packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 6)
#elif PACKETVER >= 20080401
-packetLen(0x02ec, 17) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 17)
#elif PACKETVER >= 20080325
-packetLen(0x02ec, 29) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 29)
#elif PACKETVER >= 20080318
-packetLen(0x02ec, 10) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 10)
#elif PACKETVER >= 20080311
-packetLen(0x02ec, 12) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 12)
#elif PACKETVER >= 20080304
-packetLen(0x02ec, 60) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 60)
#elif PACKETVER >= 20080102
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
#endif
// Packet: 0x02ed
#if PACKETVER >= 20080624
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080617
-packetLen(0x02ed, 60) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 60)
#elif PACKETVER >= 20080610
-packetLen(0x02ed, 7) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 7)
#elif PACKETVER >= 20080603
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080528
-packetLen(0x02ed, 97) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 97)
#elif PACKETVER >= 20080520
-packetLen(0x02ed, 11) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 11)
#elif PACKETVER >= 20080513
-packetLen(0x02ed, 21) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 21)
#elif PACKETVER >= 20080507
-packetLen(0x02ed, 10) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 10)
#elif PACKETVER >= 20080429
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080422
-packetLen(0x02ed, 30) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 30)
#elif PACKETVER >= 20080415
-packetLen(0x02ed, 53) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 53)
#elif PACKETVER >= 20080408
-packetLen(0x02ed, 7) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 7)
#elif PACKETVER >= 20080401
-packetLen(0x02ed, 11) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 11)
#elif PACKETVER >= 20080325
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080318
-packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 6)
#elif PACKETVER >= 20080304
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080102
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
#endif
// Packet: 0x02ee
#if PACKETVER >= 20080610
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080603
-packetLen(0x02ee, 2) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 2)
#elif PACKETVER >= 20080528
-packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 3)
#elif PACKETVER >= 20080520
-packetLen(0x02ee, 28) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 28)
#elif PACKETVER >= 20080507
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080429
-packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 4)
#elif PACKETVER >= 20080422
-packetLen(0x02ee, 97) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 97)
#elif PACKETVER >= 20080415
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#elif PACKETVER >= 20080408
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080401
-packetLen(0x02ee, 42) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 42)
#elif PACKETVER >= 20080325
-packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 4)
#elif PACKETVER >= 20080318
-packetLen(0x02ee, 13) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 13)
#elif PACKETVER >= 20080311
-packetLen(0x02ee, 81) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 81)
#elif PACKETVER >= 20080304
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080102
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#endif
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
#if PACKETVER >= 20080318
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
#endif
// Packet: 0x02f1
#if PACKETVER >= 20080318
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
#endif
// Packet: 0x02f2
#if PACKETVER >= 20080318
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
#endif
// Packet: 0x02f3
#if PACKETVER >= 20080701
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20080624
-packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 2)
#elif PACKETVER >= 20080617
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02f3, 30) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 30)
#elif PACKETVER >= 20080603
-packetLen(0x02f3, 9) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 9)
#elif PACKETVER >= 20080528
-packetLen(0x02f3, 26) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 26)
#elif PACKETVER >= 20080520
-packetLen(0x02f3, 5) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 5)
#elif PACKETVER >= 20080513
-packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 3)
#elif PACKETVER >= 20080507
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20080429
-packetLen(0x02f3, 7) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 7)
#elif PACKETVER >= 20080422
-packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 3)
#elif PACKETVER >= 20080415
-packetLen(0x02f3, 67) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 67)
#elif PACKETVER >= 20080408
-packetLen(0x02f3, 23) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 23)
#elif PACKETVER >= 20080401
-packetLen(0x02f3, 71) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 71)
#elif PACKETVER >= 20080325
-packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 2)
#endif
// Packet: 0x02f4
#if PACKETVER >= 20080617
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02f4, 30) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 30)
#elif PACKETVER >= 20080507
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080429
-packetLen(0x02f4, 29) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 29)
#elif PACKETVER >= 20080422
-packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 6)
#elif PACKETVER >= 20080408
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080401
-packetLen(0x02f4, 9) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 9)
#elif PACKETVER >= 20080325
-packetLen(0x02f4, 4) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 4)
#endif
// Packet: 0x02f5
#if PACKETVER >= 20080701
-packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 8)
#elif PACKETVER >= 20080624
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
#elif PACKETVER >= 20080617
-packetLen(0x02f5, 26) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 26)
#elif PACKETVER >= 20080610
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080603
-packetLen(0x02f5, 28) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 28)
#elif PACKETVER >= 20080528
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x02f5, 2) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 2)
#elif PACKETVER >= 20080513
-packetLen(0x02f5, 3) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 3)
#elif PACKETVER >= 20080507
-packetLen(0x02f5, 5) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 5)
#elif PACKETVER >= 20080429
-packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 8)
#elif PACKETVER >= 20080422
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080415
-packetLen(0x02f5, 60) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 60)
#elif PACKETVER >= 20080401
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080325
-packetLen(0x02f5, 86) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 86)
#endif
// Packet: 0x02f6
#if PACKETVER >= 20080624
-packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 8)
#elif PACKETVER >= 20080617
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 5)
#elif PACKETVER >= 20080603
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 2)
#elif PACKETVER >= 20080520
-packetLen(0x02f6, 12) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 12)
#elif PACKETVER >= 20080513
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080507
-packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 5)
#elif PACKETVER >= 20080429
-packetLen(0x02f6, 22) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 22)
#elif PACKETVER >= 20080422
-packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 5)
#elif PACKETVER >= 20080415
-packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 2)
#elif PACKETVER >= 20080408
-packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 8)
#elif PACKETVER >= 20080401
-packetLen(0x02f6, 6) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 6)
#elif PACKETVER >= 20080325
-packetLen(0x02f6, 4) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 4)
#endif
// Packet: 0x02f7
@@ -17324,120 +17324,120 @@ packetLen(0x035b, 3)
// Packet: 0x035c
#if PACKETVER >= 20080520
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
#endif
// Packet: 0x035d
#if PACKETVER >= 20080521
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x035d, 10) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, 10)
#endif
// Packet: 0x035e
#if PACKETVER >= 20080521
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
#elif PACKETVER >= 20080520
-packetLen(0x035e, -1) // CZ_CLOSE_WINDOW
+packetLen(0x035e, -1)
#endif
// Packet: 0x035f
#if PACKETVER >= 20080624
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 4)
#elif PACKETVER >= 20080528
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#endif
// Packet: 0x0360
#if PACKETVER >= 20080701
-packetLen(0x0360, 10) // CZ_REQUEST_TIME2
+packetLen(0x0360, 10)
#elif PACKETVER >= 20080624
-packetLen(0x0360, 11) // CZ_REQUEST_TIME2
+packetLen(0x0360, 11)
#elif PACKETVER >= 20080528
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#endif
// Packet: 0x0361
#if PACKETVER >= 20080701
-packetLen(0x0361, 27) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 27)
#elif PACKETVER >= 20080624
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#endif
// Packet: 0x0362
#if PACKETVER >= 20080701
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0362, 4) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#endif
// Packet: 0x0363
#if PACKETVER >= 20080701
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0363, 58) // CZ_ITEM_THROW2
+packetLen(0x0363, 58)
#elif PACKETVER >= 20080528
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#endif
// Packet: 0x0364
#if PACKETVER >= 20080701
-packetLen(0x0364, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 43)
#elif PACKETVER >= 20080624
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20080617
-packetLen(0x0364, 15) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 15)
#elif PACKETVER >= 20080528
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#endif
// Packet: 0x0365
#if PACKETVER >= 20080701
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20080528
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#endif
// Packet: 0x0366
#if PACKETVER >= 20080701
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0366, 67) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 67)
#elif PACKETVER >= 20080528
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#endif
// Packet: 0x0367
#if PACKETVER >= 20080624
-packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0367, 29) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 29)
#elif PACKETVER >= 20080528
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#endif
// Packet: 0x0368
#if PACKETVER >= 20080528
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#endif
// Packet: 0x0369
#if PACKETVER >= 20080701
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20080624
-packetLen(0x0369, 28) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 28)
#elif PACKETVER >= 20080528
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#endif
// Packet: 0x036a
@@ -18475,12 +18475,12 @@ packetLen(0x03dc, -1)
// Packet: 0x03dd
#if PACKETVER >= 20080624
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
#endif
// Packet: 0x03de
#if PACKETVER >= 20080624
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
#endif
diff --git a/src/common/packets/packets2008_len_main.h b/src/common/packets/packets2008_len_main.h
index 4eafe5e89..a8caefe10 100644
--- a/src/common/packets/packets2008_len_main.h
+++ b/src/common/packets/packets2008_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,2802 +25,2802 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
#if PACKETVER >= 20081217
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0073, 10) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 10)
#elif PACKETVER >= 20081126
-packetLen(0x0073, 30) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 30)
#elif PACKETVER >= 20081112
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0073, 7) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 7)
#elif PACKETVER >= 20081029
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0073, 12) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 12)
#elif PACKETVER >= 20081015
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0073, 33) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 33)
#elif PACKETVER >= 20081001
-packetLen(0x0073, 60) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 60)
#elif PACKETVER >= 20080917
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0073, 7) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 7)
#elif PACKETVER >= 20080827
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0073, 15) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 15)
#elif PACKETVER >= 20080813
-packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 6)
#elif PACKETVER >= 20080806
-packetLen(0x0073, 7) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 7)
#elif PACKETVER >= 20080715
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 6)
#elif PACKETVER >= 20080701
-packetLen(0x0073, 71) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 71)
#elif PACKETVER >= 20080624
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0073, 32) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 32)
#elif PACKETVER >= 20080603
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0073, 97) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 97)
#elif PACKETVER >= 20080429
-packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0073, 4) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 4)
#elif PACKETVER >= 20080415
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0073, 24) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 24)
#elif PACKETVER >= 20080401
-packetLen(0x0073, 10) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0073, 5) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0073, 3) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0073, 14) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0073, 53) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 53)
#elif PACKETVER >= 20080219
-packetLen(0x0073, 22) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 22)
#elif PACKETVER >= 20080124
-packetLen(0x0073, 66) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 66)
#elif PACKETVER >= 20080102
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
#endif
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
#if PACKETVER >= 20081217
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0075, 7) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 7)
#elif PACKETVER >= 20081126
-packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 2)
#elif PACKETVER >= 20081112
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20081022
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0075, 29) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 29)
#elif PACKETVER >= 20081008
-packetLen(0x0075, 32) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 32)
#elif PACKETVER >= 20081001
-packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 2)
#elif PACKETVER >= 20080924
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0075, 3) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 3)
#elif PACKETVER >= 20080827
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 2)
#elif PACKETVER >= 20080813
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0075, 3) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 3)
#elif PACKETVER >= 20080730
-packetLen(0x0075, 26) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 26)
#elif PACKETVER >= 20080722
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20080708
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 30)
#elif PACKETVER >= 20080624
-packetLen(0x0075, 5) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 5)
#elif PACKETVER >= 20080617
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20080603
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0075, 12) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 12)
#elif PACKETVER >= 20080513
-packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 30)
#elif PACKETVER >= 20080507
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0075, 26) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 26)
#elif PACKETVER >= 20080422
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0075, 39) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 39)
#elif PACKETVER >= 20080325
-packetLen(0x0075, 4) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0075, 30) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0075, 28) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 28)
#elif PACKETVER >= 20080124
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#endif
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
#if PACKETVER >= 20081203
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0077, 53) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 53)
#elif PACKETVER >= 20081119
-packetLen(0x0077, 186) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 186)
#elif PACKETVER >= 20081112
-packetLen(0x0077, 28) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 28)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0077, 6) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 4)
#elif PACKETVER >= 20081015
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
#elif PACKETVER >= 20080924
-packetLen(0x0077, 3) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 3)
#elif PACKETVER >= 20080917
-packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 4)
#elif PACKETVER >= 20080910
-packetLen(0x0077, 26) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 26)
#elif PACKETVER >= 20080903
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 14)
#elif PACKETVER >= 20080820
-packetLen(0x0077, 7) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 7)
#elif PACKETVER >= 20080813
-packetLen(0x0077, 31) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 31)
#elif PACKETVER >= 20080806
-packetLen(0x0077, 11) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 11)
#elif PACKETVER >= 20080730
-packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 14)
#elif PACKETVER >= 20080722
-packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 2)
#elif PACKETVER >= 20080708
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 2)
#elif PACKETVER >= 20080624
-packetLen(0x0077, 6) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 14)
#elif PACKETVER >= 20080603
-packetLen(0x0077, 86) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 86)
#elif PACKETVER >= 20080528
-packetLen(0x0077, 8) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 8)
#elif PACKETVER >= 20080520
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0077, 13) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 13)
#elif PACKETVER >= 20080401
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0077, 8) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0077, 30) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 14)
#elif PACKETVER >= 20080219
-packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0077, 3) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
#endif
// Packet: 0x0078
#if PACKETVER >= 20081217
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0078, 26) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 26)
#elif PACKETVER >= 20081126
-packetLen(0x0078, 10) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 10)
#elif PACKETVER >= 20081119
-packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 8)
#elif PACKETVER >= 20081112
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0078, 7) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 7)
#elif PACKETVER >= 20081022
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0078, 10) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 10)
#elif PACKETVER >= 20080917
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0078, 10) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 10)
#elif PACKETVER >= 20080715
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0078, 4) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 4)
#elif PACKETVER >= 20080701
-packetLen(0x0078, 20) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 20)
#elif PACKETVER >= 20080617
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 14)
#elif PACKETVER >= 20080528
-packetLen(0x0078, 22) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 22)
#elif PACKETVER >= 20080520
-packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 14)
#elif PACKETVER >= 20080507
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0078, 14) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 14)
#elif PACKETVER >= 20080325
-packetLen(0x0078, 8) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0078, 2) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0078, 53) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 53)
#elif PACKETVER >= 20080304
-packetLen(0x0078, 11) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 11)
#elif PACKETVER >= 20080226
-packetLen(0x0078, 6) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0078, 32) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 32)
#elif PACKETVER >= 20080102
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
#endif
// Packet: 0x0079
#if PACKETVER >= 20081112
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0079, 30) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 30)
#elif PACKETVER >= 20081029
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0079, 28) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 28)
#elif PACKETVER >= 20081015
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
#elif PACKETVER >= 20081008
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0079, 7) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 7)
#elif PACKETVER >= 20080924
-packetLen(0x0079, 3) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 3)
#elif PACKETVER >= 20080917
-packetLen(0x0079, 29) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 29)
#elif PACKETVER >= 20080827
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0079, 5) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 5)
#elif PACKETVER >= 20080813
-packetLen(0x0079, 6) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 6)
#elif PACKETVER >= 20080730
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0079, 10) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 10)
#elif PACKETVER >= 20080715
-packetLen(0x0079, 58) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 58)
#elif PACKETVER >= 20080708
-packetLen(0x0079, 114) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 114)
#elif PACKETVER >= 20080701
-packetLen(0x0079, 4) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 4)
#elif PACKETVER >= 20080617
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0079, 3) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0079, 54) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 54)
#elif PACKETVER >= 20080513
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0079, 57) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 57)
#elif PACKETVER >= 20080429
-packetLen(0x0079, 10) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0079, 14) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 14)
#elif PACKETVER >= 20080415
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0079, 6) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0079, 7) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 7)
#elif PACKETVER >= 20080318
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0079, 8) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0079, 4) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0079, 27) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 27)
#elif PACKETVER >= 20080124
-packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
#endif
// Packet: 0x007a
#if PACKETVER >= 20081112
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20081029
-packetLen(0x007a, 26) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 26)
#elif PACKETVER >= 20081022
-packetLen(0x007a, 53) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 53)
#elif PACKETVER >= 20081015
-packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 6)
#elif PACKETVER >= 20081008
-packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 2)
#elif PACKETVER >= 20081001
-packetLen(0x007a, 3) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 3)
#elif PACKETVER >= 20080917
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x007a, 27) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 27)
#elif PACKETVER >= 20080903
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080827
-packetLen(0x007a, 282) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 282)
#elif PACKETVER >= 20080820
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080813
-packetLen(0x007a, 4) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 4)
#elif PACKETVER >= 20080806
-packetLen(0x007a, 39) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 39)
#elif PACKETVER >= 20080708
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080701
-packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 2)
#elif PACKETVER >= 20080617
-packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 6)
#elif PACKETVER >= 20080610
-packetLen(0x007a, 53) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 53)
#elif PACKETVER >= 20080513
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x007a, 3) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 3)
#elif PACKETVER >= 20080429
-packetLen(0x007a, 8) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 8)
#elif PACKETVER >= 20080408
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x007a, 114) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 114)
#elif PACKETVER >= 20080325
-packetLen(0x007a, 22) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 22)
#elif PACKETVER >= 20080318
-packetLen(0x007a, 282) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 282)
#elif PACKETVER >= 20080311
-packetLen(0x007a, 5) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 5)
#elif PACKETVER >= 20080304
-packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x007a, 29) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 29)
#elif PACKETVER >= 20080124
-packetLen(0x007a, 2) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 2)
#elif PACKETVER >= 20080102
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
#endif
// Packet: 0x007b
#if PACKETVER >= 20081217
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20081203
-packetLen(0x007b, 20) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 20)
#elif PACKETVER >= 20081126
-packetLen(0x007b, 30) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 30)
#elif PACKETVER >= 20081119
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20081112
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081015
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20081008
-packetLen(0x007b, 3) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 3)
#elif PACKETVER >= 20081001
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080924
-packetLen(0x007b, 27) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 27)
#elif PACKETVER >= 20080917
-packetLen(0x007b, 7) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 7)
#elif PACKETVER >= 20080910
-packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 6)
#elif PACKETVER >= 20080806
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080730
-packetLen(0x007b, 13) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 13)
#elif PACKETVER >= 20080722
-packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 2)
#elif PACKETVER >= 20080715
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080708
-packetLen(0x007b, 4) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 4)
#elif PACKETVER >= 20080603
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080528
-packetLen(0x007b, 42) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 42)
#elif PACKETVER >= 20080520
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080513
-packetLen(0x007b, 11) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 11)
#elif PACKETVER >= 20080507
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080429
-packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 6)
#elif PACKETVER >= 20080415
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 2)
#elif PACKETVER >= 20080325
-packetLen(0x007b, 6) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 6)
#elif PACKETVER >= 20080318
-packetLen(0x007b, 11) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 11)
#elif PACKETVER >= 20080311
-packetLen(0x007b, 186) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 186)
#elif PACKETVER >= 20080304
-packetLen(0x007b, 30) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 30)
#elif PACKETVER >= 20080226
-packetLen(0x007b, 5) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 5)
#elif PACKETVER >= 20080219
-packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 2)
#elif PACKETVER >= 20080124
-packetLen(0x007b, 14) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 14)
#elif PACKETVER >= 20080102
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
#endif
// Packet: 0x007c
#if PACKETVER >= 20081217
-packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 2)
#elif PACKETVER >= 20081112
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20081015
-packetLen(0x007c, 10) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 10)
#elif PACKETVER >= 20080924
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080917
-packetLen(0x007c, 53) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 53)
#elif PACKETVER >= 20080910
-packetLen(0x007c, 6) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 6)
#elif PACKETVER >= 20080903
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080820
-packetLen(0x007c, 6) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 6)
#elif PACKETVER >= 20080708
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080701
-packetLen(0x007c, 5) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 5)
#elif PACKETVER >= 20080624
-packetLen(0x007c, 16) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 16)
#elif PACKETVER >= 20080528
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x007c, 3) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 3)
#elif PACKETVER >= 20080513
-packetLen(0x007c, 7) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 7)
#elif PACKETVER >= 20080429
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x007c, 65) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 65)
#elif PACKETVER >= 20080415
-packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 8)
#elif PACKETVER >= 20080408
-packetLen(0x007c, 11) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 11)
#elif PACKETVER >= 20080401
-packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 8)
#elif PACKETVER >= 20080325
-packetLen(0x007c, 10) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 10)
#elif PACKETVER >= 20080318
-packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 2)
#elif PACKETVER >= 20080311
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080304
-packetLen(0x007c, 3) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 3)
#elif PACKETVER >= 20080226
-packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 8)
#elif PACKETVER >= 20080219
-packetLen(0x007c, 186) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 186)
#elif PACKETVER >= 20080124
-packetLen(0x007c, 31) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 31)
#elif PACKETVER >= 20080102
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#endif
// Packet: 0x007d
#if PACKETVER >= 20081203
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20081126
-packetLen(0x007d, 22) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 22)
#elif PACKETVER >= 20081119
-packetLen(0x007d, 16) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 16)
#elif PACKETVER >= 20081112
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20081029
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20081022
-packetLen(0x007d, 6) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 6)
#elif PACKETVER >= 20081008
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20081001
-packetLen(0x007d, 10) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 10)
#elif PACKETVER >= 20080917
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080910
-packetLen(0x007d, 6) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 6)
#elif PACKETVER >= 20080903
-packetLen(0x007d, 57) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 57)
#elif PACKETVER >= 20080820
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080813
-packetLen(0x007d, 4) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 4)
#elif PACKETVER >= 20080617
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080610
-packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 26)
#elif PACKETVER >= 20080603
-packetLen(0x007d, 6) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 6)
#elif PACKETVER >= 20080528
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x007d, 9) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 9)
#elif PACKETVER >= 20080513
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20080507
-packetLen(0x007d, 10) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 10)
#elif PACKETVER >= 20080429
-packetLen(0x007d, 11) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 11)
#elif PACKETVER >= 20080422
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20080415
-packetLen(0x007d, 30) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 30)
#elif PACKETVER >= 20080401
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080325
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20080311
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080304
-packetLen(0x007d, 14) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 14)
#elif PACKETVER >= 20080226
-packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 26)
#elif PACKETVER >= 20080219
-packetLen(0x007d, 3) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 3)
#elif PACKETVER >= 20080124
-packetLen(0x007d, 22) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 22)
#elif PACKETVER >= 20080102
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#endif
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
#if PACKETVER >= 20081119
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20081112
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
#elif PACKETVER >= 20081105
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20081029
-packetLen(0x007f, 2) // ZC_NOTIFY_TIME
+packetLen(0x007f, 2)
#elif PACKETVER >= 20081022
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20081015
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20081008
-packetLen(0x007f, 2) // ZC_NOTIFY_TIME
+packetLen(0x007f, 2)
#elif PACKETVER >= 20080903
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080827
-packetLen(0x007f, 4) // ZC_NOTIFY_TIME
+packetLen(0x007f, 4)
#elif PACKETVER >= 20080820
-packetLen(0x007f, 53) // ZC_NOTIFY_TIME
+packetLen(0x007f, 53)
#elif PACKETVER >= 20080813
-packetLen(0x007f, 26) // ZC_NOTIFY_TIME
+packetLen(0x007f, 26)
#elif PACKETVER >= 20080806
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080730
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20080722
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080715
-packetLen(0x007f, 22) // ZC_NOTIFY_TIME
+packetLen(0x007f, 22)
#elif PACKETVER >= 20080624
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x007f, 5) // ZC_NOTIFY_TIME
+packetLen(0x007f, 5)
#elif PACKETVER >= 20080603
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080528
-packetLen(0x007f, 13) // ZC_NOTIFY_TIME
+packetLen(0x007f, 13)
#elif PACKETVER >= 20080520
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20080507
-packetLen(0x007f, 3) // ZC_NOTIFY_TIME
+packetLen(0x007f, 3)
#elif PACKETVER >= 20080429
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
#elif PACKETVER >= 20080422
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080415
-packetLen(0x007f, 7) // ZC_NOTIFY_TIME
+packetLen(0x007f, 7)
#elif PACKETVER >= 20080408
-packetLen(0x007f, 3) // ZC_NOTIFY_TIME
+packetLen(0x007f, 3)
#elif PACKETVER >= 20080401
-packetLen(0x007f, 182) // ZC_NOTIFY_TIME
+packetLen(0x007f, 182)
#elif PACKETVER >= 20080325
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20080318
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080311
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20080304
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080226
-packetLen(0x007f, 54) // ZC_NOTIFY_TIME
+packetLen(0x007f, 54)
#elif PACKETVER >= 20080219
-packetLen(0x007f, 4) // ZC_NOTIFY_TIME
+packetLen(0x007f, 4)
#elif PACKETVER >= 20080124
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080102
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
#endif
// Packet: 0x0080
#if PACKETVER >= 20081217
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0080, 3) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 3)
#elif PACKETVER >= 20081119
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0080, 9) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 9)
#elif PACKETVER >= 20081001
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0080, 27) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 27)
#elif PACKETVER >= 20080917
-packetLen(0x0080, 11) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 11)
#elif PACKETVER >= 20080910
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0080, 22) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 22)
#elif PACKETVER >= 20080827
-packetLen(0x0080, 58) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 58)
#elif PACKETVER >= 20080624
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0080, 2) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 2)
#elif PACKETVER >= 20080603
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0080, 22) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 22)
#elif PACKETVER >= 20080520
-packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0080, 6) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0080, 5) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 5)
#elif PACKETVER >= 20080325
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0080, 60) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 60)
#elif PACKETVER >= 20080311
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0080, 28) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 28)
#elif PACKETVER >= 20080226
-packetLen(0x0080, 4) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
#endif
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
#if PACKETVER >= 20081217
-packetLen(0x0083, 3) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 3)
#elif PACKETVER >= 20081203
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20081119
-packetLen(0x0083, 282) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 282)
#elif PACKETVER >= 20081112
-packetLen(0x0083, 58) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 58)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0083, 4) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 4)
#elif PACKETVER >= 20081029
-packetLen(0x0083, 33) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 33)
#elif PACKETVER >= 20081022
-packetLen(0x0083, 282) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 282)
#elif PACKETVER >= 20081015
-packetLen(0x0083, 26) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 26)
#elif PACKETVER >= 20081008
-packetLen(0x0083, 21) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 21)
#elif PACKETVER >= 20081001
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
#elif PACKETVER >= 20080910
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 10)
#elif PACKETVER >= 20080820
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0083, 39) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 39)
#elif PACKETVER >= 20080806
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20080715
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 10)
#elif PACKETVER >= 20080624
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0083, 34) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 34)
#elif PACKETVER >= 20080610
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0083, 13) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 13)
#elif PACKETVER >= 20080528
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0083, 4) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 4)
#elif PACKETVER >= 20080513
-packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 5)
#elif PACKETVER >= 20080507
-packetLen(0x0083, 30) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0083, 282) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 282)
#elif PACKETVER >= 20080422
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 5)
#elif PACKETVER >= 20080408
-packetLen(0x0083, 28) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 28)
#elif PACKETVER >= 20080325
-packetLen(0x0083, 30) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 30)
#elif PACKETVER >= 20080318
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0083, 21) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 21)
#elif PACKETVER >= 20080304
-packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
#endif
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
#if PACKETVER >= 20081217
-packetLen(0x0086, 17) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 17)
#elif PACKETVER >= 20081203
-packetLen(0x0086, 36) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 36)
#elif PACKETVER >= 20081112
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0086, 6) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 6)
#elif PACKETVER >= 20081008
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0086, 8) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 8)
#elif PACKETVER >= 20080924
-packetLen(0x0086, 7) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 7)
#elif PACKETVER >= 20080903
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0086, 6) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 6)
#elif PACKETVER >= 20080820
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0086, 4) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 4)
#elif PACKETVER >= 20080806
-packetLen(0x0086, 53) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 53)
#elif PACKETVER >= 20080730
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0086, 3) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 3)
#elif PACKETVER >= 20080715
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0086, 8) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 8)
#elif PACKETVER >= 20080701
-packetLen(0x0086, 2) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0086, 3) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0086, 17) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 17)
#elif PACKETVER >= 20080520
-packetLen(0x0086, 30) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0086, 32) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 32)
#elif PACKETVER >= 20080429
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0086, 24) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 24)
#elif PACKETVER >= 20080415
-packetLen(0x0086, 8) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 8)
#elif PACKETVER >= 20080408
-packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0086, 22) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 22)
#elif PACKETVER >= 20080325
-packetLen(0x0086, 2) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0086, 22) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 22)
#elif PACKETVER >= 20080311
-packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0086, 79) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 79)
#elif PACKETVER >= 20080226
-packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 14)
#elif PACKETVER >= 20080219
-packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0086, 7) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 7)
#elif PACKETVER >= 20080102
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
#endif
// Packet: 0x0087
#if PACKETVER >= 20081217
-packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 8)
#elif PACKETVER >= 20081119
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0087, 44) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 44)
#elif PACKETVER >= 20081001
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0087, 60) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 60)
#elif PACKETVER >= 20080910
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 8)
#elif PACKETVER >= 20080827
-packetLen(0x0087, 2) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 2)
#elif PACKETVER >= 20080820
-packetLen(0x0087, 10) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 10)
#elif PACKETVER >= 20080730
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0087, 90) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 90)
#elif PACKETVER >= 20080715
-packetLen(0x0087, 4) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 4)
#elif PACKETVER >= 20080708
-packetLen(0x0087, 5) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 5)
#elif PACKETVER >= 20080701
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0087, 4) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0087, 27) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 27)
#elif PACKETVER >= 20080528
-packetLen(0x0087, 282) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 282)
#elif PACKETVER >= 20080520
-packetLen(0x0087, 10) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0087, 2) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 14)
#elif PACKETVER >= 20080408
-packetLen(0x0087, 11) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 14)
#elif PACKETVER >= 20080318
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0087, 26) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 26)
#elif PACKETVER >= 20080304
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 14)
#elif PACKETVER >= 20080124
-packetLen(0x0087, 31) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 31)
#elif PACKETVER >= 20080102
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
#endif
// Packet: 0x0088
#if PACKETVER >= 20081126
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0088, 4) // ZC_STOPMOVE
+packetLen(0x0088, 4)
#elif PACKETVER >= 20081112
-packetLen(0x0088, 18) // ZC_STOPMOVE
+packetLen(0x0088, 18)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0088, 2) // ZC_STOPMOVE
+packetLen(0x0088, 2)
#elif PACKETVER >= 20081029
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0088, 11) // ZC_STOPMOVE
+packetLen(0x0088, 11)
#elif PACKETVER >= 20081001
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0088, 60) // ZC_STOPMOVE
+packetLen(0x0088, 60)
#elif PACKETVER >= 20080910
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0088, 15) // ZC_STOPMOVE
+packetLen(0x0088, 15)
#elif PACKETVER >= 20080806
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0088, 22) // ZC_STOPMOVE
+packetLen(0x0088, 22)
#elif PACKETVER >= 20080722
-packetLen(0x0088, 26) // ZC_STOPMOVE
+packetLen(0x0088, 26)
#elif PACKETVER >= 20080708
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0088, 19) // ZC_STOPMOVE
+packetLen(0x0088, 19)
#elif PACKETVER >= 20080624
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0088, 19) // ZC_STOPMOVE
+packetLen(0x0088, 19)
#elif PACKETVER >= 20080603
-packetLen(0x0088, 60) // ZC_STOPMOVE
+packetLen(0x0088, 60)
#elif PACKETVER >= 20080528
-packetLen(0x0088, 15) // ZC_STOPMOVE
+packetLen(0x0088, 15)
#elif PACKETVER >= 20080520
-packetLen(0x0088, 6) // ZC_STOPMOVE
+packetLen(0x0088, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0088, 7) // ZC_STOPMOVE
+packetLen(0x0088, 7)
#elif PACKETVER >= 20080429
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0088, 3) // ZC_STOPMOVE
+packetLen(0x0088, 3)
#elif PACKETVER >= 20080415
-packetLen(0x0088, 86) // ZC_STOPMOVE
+packetLen(0x0088, 86)
#elif PACKETVER >= 20080408
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0088, 282) // ZC_STOPMOVE
+packetLen(0x0088, 282)
#elif PACKETVER >= 20080325
-packetLen(0x0088, 3) // ZC_STOPMOVE
+packetLen(0x0088, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0088, 97) // ZC_STOPMOVE
+packetLen(0x0088, 97)
#elif PACKETVER >= 20080219
-packetLen(0x0088, 30) // ZC_STOPMOVE
+packetLen(0x0088, 30)
#elif PACKETVER >= 20080124
-packetLen(0x0088, 4) // ZC_STOPMOVE
+packetLen(0x0088, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#endif
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
#if PACKETVER >= 20081126
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20081119
-packetLen(0x008a, 7) // ZC_NOTIFY_ACT
+packetLen(0x008a, 7)
#elif PACKETVER >= 20081112
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20081029
-packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+packetLen(0x008a, 10)
#elif PACKETVER >= 20081022
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20081015
-packetLen(0x008a, 30) // ZC_NOTIFY_ACT
+packetLen(0x008a, 30)
#elif PACKETVER >= 20081001
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080924
-packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+packetLen(0x008a, 10)
#elif PACKETVER >= 20080917
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x008a, 79) // ZC_NOTIFY_ACT
+packetLen(0x008a, 79)
#elif PACKETVER >= 20080827
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080820
-packetLen(0x008a, 7) // ZC_NOTIFY_ACT
+packetLen(0x008a, 7)
#elif PACKETVER >= 20080813
-packetLen(0x008a, 2) // ZC_NOTIFY_ACT
+packetLen(0x008a, 2)
#elif PACKETVER >= 20080730
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080722
-packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+packetLen(0x008a, 10)
#elif PACKETVER >= 20080715
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080708
-packetLen(0x008a, 53) // ZC_NOTIFY_ACT
+packetLen(0x008a, 53)
#elif PACKETVER >= 20080624
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080617
-packetLen(0x008a, 2) // ZC_NOTIFY_ACT
+packetLen(0x008a, 2)
#elif PACKETVER >= 20080610
-packetLen(0x008a, 28) // ZC_NOTIFY_ACT
+packetLen(0x008a, 28)
#elif PACKETVER >= 20080603
-packetLen(0x008a, 68) // ZC_NOTIFY_ACT
+packetLen(0x008a, 68)
#elif PACKETVER >= 20080528
-packetLen(0x008a, 9) // ZC_NOTIFY_ACT
+packetLen(0x008a, 9)
#elif PACKETVER >= 20080520
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
#elif PACKETVER >= 20080513
-packetLen(0x008a, 11) // ZC_NOTIFY_ACT
+packetLen(0x008a, 11)
#elif PACKETVER >= 20080507
-packetLen(0x008a, 26) // ZC_NOTIFY_ACT
+packetLen(0x008a, 26)
#elif PACKETVER >= 20080429
-packetLen(0x008a, 23) // ZC_NOTIFY_ACT
+packetLen(0x008a, 23)
#elif PACKETVER >= 20080422
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080408
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x008a, 28) // ZC_NOTIFY_ACT
+packetLen(0x008a, 28)
#elif PACKETVER >= 20080325
-packetLen(0x008a, 30) // ZC_NOTIFY_ACT
+packetLen(0x008a, 30)
#elif PACKETVER >= 20080318
-packetLen(0x008a, 5) // ZC_NOTIFY_ACT
+packetLen(0x008a, 5)
#elif PACKETVER >= 20080304
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080226
-packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+packetLen(0x008a, 10)
#elif PACKETVER >= 20080219
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080124
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080102
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
#endif
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
#if PACKETVER >= 20081112
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20081105
-packetLen(0x008d, 79) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 79)
#elif PACKETVER >= 20081022
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20081015
-packetLen(0x008d, 20) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 20)
#elif PACKETVER >= 20080924
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080917
-packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 4)
#elif PACKETVER >= 20080910
-packetLen(0x008d, 3) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 3)
#elif PACKETVER >= 20080903
-packetLen(0x008d, 14) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 14)
#elif PACKETVER >= 20080806
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080730
-packetLen(0x008d, 31) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 31)
#elif PACKETVER >= 20080722
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080715
-packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 4)
#elif PACKETVER >= 20080708
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080701
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080624
-packetLen(0x008d, 10) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 10)
#elif PACKETVER >= 20080617
-packetLen(0x008d, 282) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 282)
#elif PACKETVER >= 20080610
-packetLen(0x008d, 60) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 60)
#elif PACKETVER >= 20080603
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080528
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080520
-packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 4)
#elif PACKETVER >= 20080513
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080507
-packetLen(0x008d, 66) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 66)
#elif PACKETVER >= 20080429
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080422
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080415
-packetLen(0x008d, 2) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 2)
#elif PACKETVER >= 20080408
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080401
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080325
-packetLen(0x008d, 7) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 7)
#elif PACKETVER >= 20080318
-packetLen(0x008d, 8) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 8)
#elif PACKETVER >= 20080311
-packetLen(0x008d, 7) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 7)
#elif PACKETVER >= 20080304
-packetLen(0x008d, 4) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 4)
#elif PACKETVER >= 20080226
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080219
-packetLen(0x008d, 79) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 79)
#elif PACKETVER >= 20080124
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080102
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#endif
// Packet: 0x008e
#if PACKETVER >= 20081203
-packetLen(0x008e, 4) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 4)
#elif PACKETVER >= 20081119
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20081112
-packetLen(0x008e, 30) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 30)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x008e, 5) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 5)
#elif PACKETVER >= 20081029
-packetLen(0x008e, 12) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 12)
#elif PACKETVER >= 20081022
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20081015
-packetLen(0x008e, 66) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 66)
#elif PACKETVER >= 20081008
-packetLen(0x008e, 4) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 4)
#elif PACKETVER >= 20080924
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080917
-packetLen(0x008e, 39) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 39)
#elif PACKETVER >= 20080910
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080903
-packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 2)
#elif PACKETVER >= 20080827
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080820
-packetLen(0x008e, 8) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 8)
#elif PACKETVER >= 20080806
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080730
-packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 7)
#elif PACKETVER >= 20080722
-packetLen(0x008e, 54) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 54)
#elif PACKETVER >= 20080715
-packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 6)
#elif PACKETVER >= 20080708
-packetLen(0x008e, 28) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 28)
#elif PACKETVER >= 20080701
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x008e, 5) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 5)
#elif PACKETVER >= 20080617
-packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 6)
#elif PACKETVER >= 20080610
-packetLen(0x008e, 10) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 10)
#elif PACKETVER >= 20080603
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 7)
#elif PACKETVER >= 20080520
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x008e, 282) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 282)
#elif PACKETVER >= 20080507
-packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 2)
#elif PACKETVER >= 20080429
-packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 6)
#elif PACKETVER >= 20080422
-packetLen(0x008e, 3) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 3)
#elif PACKETVER >= 20080415
-packetLen(0x008e, 2) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 2)
#elif PACKETVER >= 20080408
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080401
-packetLen(0x008e, 4) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 4)
#elif PACKETVER >= 20080325
-packetLen(0x008e, 28) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 28)
#elif PACKETVER >= 20080318
-packetLen(0x008e, 186) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 186)
#elif PACKETVER >= 20080311
-packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 7)
#elif PACKETVER >= 20080304
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080226
-packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x008e, 33) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 33)
#elif PACKETVER >= 20080102
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#endif
// Packet: 0x0090
#if PACKETVER >= 20081217
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0090, 6) // CZ_CONTACTNPC
+packetLen(0x0090, 6)
#elif PACKETVER >= 20081126
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0090, 30) // CZ_CONTACTNPC
+packetLen(0x0090, 30)
#elif PACKETVER >= 20081112
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0090, 8) // CZ_CONTACTNPC
+packetLen(0x0090, 8)
#elif PACKETVER >= 20081015
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0090, 2) // CZ_CONTACTNPC
+packetLen(0x0090, 2)
#elif PACKETVER >= 20081001
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0090, 5) // CZ_CONTACTNPC
+packetLen(0x0090, 5)
#elif PACKETVER >= 20080917
-packetLen(0x0090, 26) // CZ_CONTACTNPC
+packetLen(0x0090, 26)
#elif PACKETVER >= 20080910
-packetLen(0x0090, 282) // CZ_CONTACTNPC
+packetLen(0x0090, 282)
#elif PACKETVER >= 20080827
-packetLen(0x0090, 3) // CZ_CONTACTNPC
+packetLen(0x0090, 3)
#elif PACKETVER >= 20080820
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0090, 33) // CZ_CONTACTNPC
+packetLen(0x0090, 33)
#elif PACKETVER >= 20080806
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0090, 3) // CZ_CONTACTNPC
+packetLen(0x0090, 3)
#elif PACKETVER >= 20080708
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0090, 10) // CZ_CONTACTNPC
+packetLen(0x0090, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0090, 6) // CZ_CONTACTNPC
+packetLen(0x0090, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0090, 3) // CZ_CONTACTNPC
+packetLen(0x0090, 3)
#elif PACKETVER >= 20080513
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#elif PACKETVER >= 20080507
-packetLen(0x0090, 4) // CZ_CONTACTNPC
+packetLen(0x0090, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0090, 19) // CZ_CONTACTNPC
+packetLen(0x0090, 19)
#elif PACKETVER >= 20080422
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#elif PACKETVER >= 20080415
-packetLen(0x0090, 36) // CZ_CONTACTNPC
+packetLen(0x0090, 36)
#elif PACKETVER >= 20080408
-packetLen(0x0090, 20) // CZ_CONTACTNPC
+packetLen(0x0090, 20)
#elif PACKETVER >= 20080401
-packetLen(0x0090, 53) // CZ_CONTACTNPC
+packetLen(0x0090, 53)
#elif PACKETVER >= 20080325
-packetLen(0x0090, 5) // CZ_CONTACTNPC
+packetLen(0x0090, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0090, 6) // CZ_CONTACTNPC
+packetLen(0x0090, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0090, 2) // CZ_CONTACTNPC
+packetLen(0x0090, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0090, 17) // CZ_CONTACTNPC
+packetLen(0x0090, 17)
#elif PACKETVER >= 20080226
-packetLen(0x0090, 4) // CZ_CONTACTNPC
+packetLen(0x0090, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0090, 2) // CZ_CONTACTNPC
+packetLen(0x0090, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0090, 24) // CZ_CONTACTNPC
+packetLen(0x0090, 24)
#elif PACKETVER >= 20080102
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#endif
// Packet: 0x0091
#if PACKETVER >= 20081217
-packetLen(0x0091, 3) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 3)
#elif PACKETVER >= 20081203
-packetLen(0x0091, 27) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 27)
#elif PACKETVER >= 20081126
-packetLen(0x0091, 26) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 26)
#elif PACKETVER >= 20081112
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
#elif PACKETVER >= 20081022
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0091, 7) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 7)
#elif PACKETVER >= 20081008
-packetLen(0x0091, 14) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 14)
#elif PACKETVER >= 20080910
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0091, 10) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 10)
#elif PACKETVER >= 20080806
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0091, 10) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 10)
#elif PACKETVER >= 20080722
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0091, 16) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 16)
#elif PACKETVER >= 20080701
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 8)
#elif PACKETVER >= 20080617
-packetLen(0x0091, 2) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0091, 21) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 21)
#elif PACKETVER >= 20080603
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0091, 14) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 14)
#elif PACKETVER >= 20080520
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0091, 5) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 5)
#elif PACKETVER >= 20080507
-packetLen(0x0091, 6) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0091, 30) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 30)
#elif PACKETVER >= 20080422
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0091, 182) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 182)
#elif PACKETVER >= 20080408
-packetLen(0x0091, 58) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 58)
#elif PACKETVER >= 20080401
-packetLen(0x0091, 15) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 15)
#elif PACKETVER >= 20080325
-packetLen(0x0091, 2) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0091, 6) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0091, 57) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 57)
#elif PACKETVER >= 20080226
-packetLen(0x0091, 4) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0091, 79) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 79)
#elif PACKETVER >= 20080102
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
#endif
// Packet: 0x0092
#if PACKETVER >= 20081112
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0092, 29) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 29)
#elif PACKETVER >= 20081015
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0092, 2) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 2)
#elif PACKETVER >= 20080924
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0092, 2) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 2)
#elif PACKETVER >= 20080910
-packetLen(0x0092, 114) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 114)
#elif PACKETVER >= 20080827
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 7)
#elif PACKETVER >= 20080813
-packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 6)
#elif PACKETVER >= 20080806
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 7)
#elif PACKETVER >= 20080722
-packetLen(0x0092, 13) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 13)
#elif PACKETVER >= 20080715
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0092, 18) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 18)
#elif PACKETVER >= 20080701
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0092, 15) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 15)
#elif PACKETVER >= 20080617
-packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 7)
#elif PACKETVER >= 20080610
-packetLen(0x0092, 20) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 20)
#elif PACKETVER >= 20080603
-packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 26)
#elif PACKETVER >= 20080528
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0092, 7) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 7)
#elif PACKETVER >= 20080429
-packetLen(0x0092, 32) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 32)
#elif PACKETVER >= 20080422
-packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0092, 21) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 21)
#elif PACKETVER >= 20080401
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 26)
#elif PACKETVER >= 20080318
-packetLen(0x0092, 81) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 81)
#elif PACKETVER >= 20080311
-packetLen(0x0092, 10) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0092, 5) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0092, 3) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0092, 4) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
#endif
// Packet: 0x0093
#if PACKETVER >= 20081203
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0093, 14) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 14)
#elif PACKETVER >= 20081119
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0093, 15) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 15)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0093, 29) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 29)
#elif PACKETVER >= 20081015
-packetLen(0x0093, 9) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 9)
#elif PACKETVER >= 20081001
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 6)
#elif PACKETVER >= 20080820
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20080806
-packetLen(0x0093, 7) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 7)
#elif PACKETVER >= 20080730
-packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 5)
#elif PACKETVER >= 20080722
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20080715
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0093, 9) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 9)
#elif PACKETVER >= 20080701
-packetLen(0x0093, 4) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 4)
#elif PACKETVER >= 20080624
-packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 5)
#elif PACKETVER >= 20080528
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0093, 22) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 22)
#elif PACKETVER >= 20080513
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0093, 26) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 26)
#elif PACKETVER >= 20080422
-packetLen(0x0093, 6) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0093, 8) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0093, 11) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0093, 26) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0093, 67) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 67)
#elif PACKETVER >= 20080124
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
#endif
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
#if PACKETVER >= 20081217
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0095, 6) // ZC_ACK_REQNAME
+packetLen(0x0095, 6)
#elif PACKETVER >= 20081126
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0095, 3) // ZC_ACK_REQNAME
+packetLen(0x0095, 3)
#elif PACKETVER >= 20081112
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0095, 8) // ZC_ACK_REQNAME
+packetLen(0x0095, 8)
#elif PACKETVER >= 20081015
-packetLen(0x0095, 6) // ZC_ACK_REQNAME
+packetLen(0x0095, 6)
#elif PACKETVER >= 20080917
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0095, 6) // ZC_ACK_REQNAME
+packetLen(0x0095, 6)
#elif PACKETVER >= 20080903
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0095, 28) // ZC_ACK_REQNAME
+packetLen(0x0095, 28)
#elif PACKETVER >= 20080820
-packetLen(0x0095, 58) // ZC_ACK_REQNAME
+packetLen(0x0095, 58)
#elif PACKETVER >= 20080806
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0095, 28) // ZC_ACK_REQNAME
+packetLen(0x0095, 28)
#elif PACKETVER >= 20080722
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0095, 3) // ZC_ACK_REQNAME
+packetLen(0x0095, 3)
#elif PACKETVER >= 20080708
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0095, 6) // ZC_ACK_REQNAME
+packetLen(0x0095, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0095, 10) // ZC_ACK_REQNAME
+packetLen(0x0095, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0095, 54) // ZC_ACK_REQNAME
+packetLen(0x0095, 54)
#elif PACKETVER >= 20080528
-packetLen(0x0095, 2) // ZC_ACK_REQNAME
+packetLen(0x0095, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0095, 9) // ZC_ACK_REQNAME
+packetLen(0x0095, 9)
#elif PACKETVER >= 20080507
-packetLen(0x0095, 22) // ZC_ACK_REQNAME
+packetLen(0x0095, 22)
#elif PACKETVER >= 20080408
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0095, 10) // ZC_ACK_REQNAME
+packetLen(0x0095, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0095, 4) // ZC_ACK_REQNAME
+packetLen(0x0095, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0095, 3) // ZC_ACK_REQNAME
+packetLen(0x0095, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0095, 59) // ZC_ACK_REQNAME
+packetLen(0x0095, 59)
#elif PACKETVER >= 20080304
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0095, 39) // ZC_ACK_REQNAME
+packetLen(0x0095, 39)
#elif PACKETVER >= 20080219
-packetLen(0x0095, 2) // ZC_ACK_REQNAME
+packetLen(0x0095, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
#endif
// Packet: 0x0096
#if PACKETVER >= 20081105
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0096, 6) // CZ_WHISPER
+packetLen(0x0096, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0096, 12) // CZ_WHISPER
+packetLen(0x0096, 12)
#elif PACKETVER >= 20081008
-packetLen(0x0096, 57) // CZ_WHISPER
+packetLen(0x0096, 57)
#elif PACKETVER >= 20081001
-packetLen(0x0096, 55) // CZ_WHISPER
+packetLen(0x0096, 55)
#elif PACKETVER >= 20080910
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0096, 60) // CZ_WHISPER
+packetLen(0x0096, 60)
#elif PACKETVER >= 20080820
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0096, 30) // CZ_WHISPER
+packetLen(0x0096, 30)
#elif PACKETVER >= 20080806
-packetLen(0x0096, 10) // CZ_WHISPER
+packetLen(0x0096, 10)
#elif PACKETVER >= 20080730
-packetLen(0x0096, 6) // CZ_WHISPER
+packetLen(0x0096, 6)
#elif PACKETVER >= 20080708
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0096, 10) // CZ_WHISPER
+packetLen(0x0096, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0096, 10) // CZ_WHISPER
+packetLen(0x0096, 10)
#elif PACKETVER >= 20080528
-packetLen(0x0096, 31) // CZ_WHISPER
+packetLen(0x0096, 31)
#elif PACKETVER >= 20080513
-packetLen(0x0096, 6) // CZ_WHISPER
+packetLen(0x0096, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0096, 26) // CZ_WHISPER
+packetLen(0x0096, 26)
#elif PACKETVER >= 20080401
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0096, 5) // CZ_WHISPER
+packetLen(0x0096, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0096, 7) // CZ_WHISPER
+packetLen(0x0096, 7)
#elif PACKETVER >= 20080311
-packetLen(0x0096, 10) // CZ_WHISPER
+packetLen(0x0096, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0096, 3) // CZ_WHISPER
+packetLen(0x0096, 3)
#elif PACKETVER >= 20080124
-packetLen(0x0096, 6) // CZ_WHISPER
+packetLen(0x0096, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#endif
// Packet: 0x0097
#if PACKETVER >= 20081119
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0097, 19) // ZC_WHISPER
+packetLen(0x0097, 19)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0097, 3) // ZC_WHISPER
+packetLen(0x0097, 3)
#elif PACKETVER >= 20081022
-packetLen(0x0097, 6) // ZC_WHISPER
+packetLen(0x0097, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0097, 6) // ZC_WHISPER
+packetLen(0x0097, 6)
#elif PACKETVER >= 20081001
-packetLen(0x0097, 4) // ZC_WHISPER
+packetLen(0x0097, 4)
#elif PACKETVER >= 20080917
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0097, 58) // ZC_WHISPER
+packetLen(0x0097, 58)
#elif PACKETVER >= 20080730
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0097, 23) // ZC_WHISPER
+packetLen(0x0097, 23)
#elif PACKETVER >= 20080715
-packetLen(0x0097, 10) // ZC_WHISPER
+packetLen(0x0097, 10)
#elif PACKETVER >= 20080708
-packetLen(0x0097, 26) // ZC_WHISPER
+packetLen(0x0097, 26)
#elif PACKETVER >= 20080701
-packetLen(0x0097, 282) // ZC_WHISPER
+packetLen(0x0097, 282)
#elif PACKETVER >= 20080624
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0097, 10) // ZC_WHISPER
+packetLen(0x0097, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0097, 8) // ZC_WHISPER
+packetLen(0x0097, 8)
#elif PACKETVER >= 20080603
-packetLen(0x0097, 5) // ZC_WHISPER
+packetLen(0x0097, 5)
#elif PACKETVER >= 20080528
-packetLen(0x0097, 7) // ZC_WHISPER
+packetLen(0x0097, 7)
#elif PACKETVER >= 20080520
-packetLen(0x0097, 8) // ZC_WHISPER
+packetLen(0x0097, 8)
#elif PACKETVER >= 20080513
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0097, 30) // ZC_WHISPER
+packetLen(0x0097, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0097, 29) // ZC_WHISPER
+packetLen(0x0097, 29)
#elif PACKETVER >= 20080415
-packetLen(0x0097, 16) // ZC_WHISPER
+packetLen(0x0097, 16)
#elif PACKETVER >= 20080408
-packetLen(0x0097, 30) // ZC_WHISPER
+packetLen(0x0097, 30)
#elif PACKETVER >= 20080401
-packetLen(0x0097, 53) // ZC_WHISPER
+packetLen(0x0097, 53)
#elif PACKETVER >= 20080325
-packetLen(0x0097, 26) // ZC_WHISPER
+packetLen(0x0097, 26)
#elif PACKETVER >= 20080318
-packetLen(0x0097, 3) // ZC_WHISPER
+packetLen(0x0097, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0097, 33) // ZC_WHISPER
+packetLen(0x0097, 33)
#elif PACKETVER >= 20080304
-packetLen(0x0097, 7) // ZC_WHISPER
+packetLen(0x0097, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0097, 23) // ZC_WHISPER
+packetLen(0x0097, 23)
#elif PACKETVER >= 20080102
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#endif
// Packet: 0x0098
#if PACKETVER >= 20081217
-packetLen(0x0098, 9) // ZC_ACK_WHISPER
+packetLen(0x0098, 9)
#elif PACKETVER >= 20081119
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0098, 8) // ZC_ACK_WHISPER
+packetLen(0x0098, 8)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0098, 16) // ZC_ACK_WHISPER
+packetLen(0x0098, 16)
#elif PACKETVER >= 20081029
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0098, 30) // ZC_ACK_WHISPER
+packetLen(0x0098, 30)
#elif PACKETVER >= 20081015
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0098, 2) // ZC_ACK_WHISPER
+packetLen(0x0098, 2)
#elif PACKETVER >= 20080820
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0098, 14) // ZC_ACK_WHISPER
+packetLen(0x0098, 14)
#elif PACKETVER >= 20080730
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0098, 19) // ZC_ACK_WHISPER
+packetLen(0x0098, 19)
#elif PACKETVER >= 20080715
-packetLen(0x0098, 54) // ZC_ACK_WHISPER
+packetLen(0x0098, 54)
#elif PACKETVER >= 20080708
-packetLen(0x0098, 39) // ZC_ACK_WHISPER
+packetLen(0x0098, 39)
#elif PACKETVER >= 20080701
-packetLen(0x0098, 8) // ZC_ACK_WHISPER
+packetLen(0x0098, 8)
#elif PACKETVER >= 20080624
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0098, 24) // ZC_ACK_WHISPER
+packetLen(0x0098, 24)
#elif PACKETVER >= 20080610
-packetLen(0x0098, 26) // ZC_ACK_WHISPER
+packetLen(0x0098, 26)
#elif PACKETVER >= 20080528
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0098, 16) // ZC_ACK_WHISPER
+packetLen(0x0098, 16)
#elif PACKETVER >= 20080513
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0098, 13) // ZC_ACK_WHISPER
+packetLen(0x0098, 13)
#elif PACKETVER >= 20080429
-packetLen(0x0098, 58) // ZC_ACK_WHISPER
+packetLen(0x0098, 58)
#elif PACKETVER >= 20080408
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0098, 26) // ZC_ACK_WHISPER
+packetLen(0x0098, 26)
#elif PACKETVER >= 20080325
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0098, 26) // ZC_ACK_WHISPER
+packetLen(0x0098, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0098, 60) // ZC_ACK_WHISPER
+packetLen(0x0098, 60)
#elif PACKETVER >= 20080304
-packetLen(0x0098, 182) // ZC_ACK_WHISPER
+packetLen(0x0098, 182)
#elif PACKETVER >= 20080226
-packetLen(0x0098, 2) // ZC_ACK_WHISPER
+packetLen(0x0098, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0098, 8) // ZC_ACK_WHISPER
+packetLen(0x0098, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0098, 10) // ZC_ACK_WHISPER
+packetLen(0x0098, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
#endif
// Packet: 0x0099
#if PACKETVER >= 20081217
-packetLen(0x0099, 31) // CZ_BROADCAST
+packetLen(0x0099, 31)
#elif PACKETVER >= 20081119
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0099, 6) // CZ_BROADCAST
+packetLen(0x0099, 6)
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0099, 6) // CZ_BROADCAST
+packetLen(0x0099, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0099, 26) // CZ_BROADCAST
+packetLen(0x0099, 26)
#elif PACKETVER >= 20081015
-packetLen(0x0099, 3) // CZ_BROADCAST
+packetLen(0x0099, 3)
#elif PACKETVER >= 20081008
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0099, 4) // CZ_BROADCAST
+packetLen(0x0099, 4)
#elif PACKETVER >= 20080924
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0099, 14) // CZ_BROADCAST
+packetLen(0x0099, 14)
#elif PACKETVER >= 20080903
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0099, 4) // CZ_BROADCAST
+packetLen(0x0099, 4)
#elif PACKETVER >= 20080813
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0099, 3) // CZ_BROADCAST
+packetLen(0x0099, 3)
#elif PACKETVER >= 20080730
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0099, 5) // CZ_BROADCAST
+packetLen(0x0099, 5)
#elif PACKETVER >= 20080715
-packetLen(0x0099, 2) // CZ_BROADCAST
+packetLen(0x0099, 2)
#elif PACKETVER >= 20080708
-packetLen(0x0099, 182) // CZ_BROADCAST
+packetLen(0x0099, 182)
#elif PACKETVER >= 20080701
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0099, 30) // CZ_BROADCAST
+packetLen(0x0099, 30)
#elif PACKETVER >= 20080617
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0099, 9) // CZ_BROADCAST
+packetLen(0x0099, 9)
#elif PACKETVER >= 20080603
-packetLen(0x0099, 4) // CZ_BROADCAST
+packetLen(0x0099, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0099, 60) // CZ_BROADCAST
+packetLen(0x0099, 60)
#elif PACKETVER >= 20080520
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0099, 8) // CZ_BROADCAST
+packetLen(0x0099, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0099, 2) // CZ_BROADCAST
+packetLen(0x0099, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0099, 6) // CZ_BROADCAST
+packetLen(0x0099, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0099, 54) // CZ_BROADCAST
+packetLen(0x0099, 54)
#elif PACKETVER >= 20080318
-packetLen(0x0099, 6) // CZ_BROADCAST
+packetLen(0x0099, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0099, 66) // CZ_BROADCAST
+packetLen(0x0099, 66)
#elif PACKETVER >= 20080304
-packetLen(0x0099, 10) // CZ_BROADCAST
+packetLen(0x0099, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0099, 34) // CZ_BROADCAST
+packetLen(0x0099, 34)
#elif PACKETVER >= 20080219
-packetLen(0x0099, 2) // CZ_BROADCAST
+packetLen(0x0099, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#endif
// Packet: 0x009a
#if PACKETVER >= 20081217
-packetLen(0x009a, 65) // ZC_BROADCAST
+packetLen(0x009a, 65)
#elif PACKETVER >= 20081203
-packetLen(0x009a, 4) // ZC_BROADCAST
+packetLen(0x009a, 4)
#elif PACKETVER >= 20081105
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20081029
-packetLen(0x009a, 19) // ZC_BROADCAST
+packetLen(0x009a, 19)
#elif PACKETVER >= 20081022
-packetLen(0x009a, 2) // ZC_BROADCAST
+packetLen(0x009a, 2)
#elif PACKETVER >= 20081015
-packetLen(0x009a, 5) // ZC_BROADCAST
+packetLen(0x009a, 5)
#elif PACKETVER >= 20081008
-packetLen(0x009a, 6) // ZC_BROADCAST
+packetLen(0x009a, 6)
#elif PACKETVER >= 20081001
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080924
-packetLen(0x009a, 2) // ZC_BROADCAST
+packetLen(0x009a, 2)
#elif PACKETVER >= 20080917
-packetLen(0x009a, 4) // ZC_BROADCAST
+packetLen(0x009a, 4)
#elif PACKETVER >= 20080910
-packetLen(0x009a, 20) // ZC_BROADCAST
+packetLen(0x009a, 20)
#elif PACKETVER >= 20080903
-packetLen(0x009a, 30) // ZC_BROADCAST
+packetLen(0x009a, 30)
#elif PACKETVER >= 20080827
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080820
-packetLen(0x009a, 11) // ZC_BROADCAST
+packetLen(0x009a, 11)
#elif PACKETVER >= 20080813
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080806
-packetLen(0x009a, 6) // ZC_BROADCAST
+packetLen(0x009a, 6)
#elif PACKETVER >= 20080722
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080715
-packetLen(0x009a, 7) // ZC_BROADCAST
+packetLen(0x009a, 7)
#elif PACKETVER >= 20080708
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080701
-packetLen(0x009a, 3) // ZC_BROADCAST
+packetLen(0x009a, 3)
#elif PACKETVER >= 20080617
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080610
-packetLen(0x009a, 90) // ZC_BROADCAST
+packetLen(0x009a, 90)
#elif PACKETVER >= 20080603
-packetLen(0x009a, 29) // ZC_BROADCAST
+packetLen(0x009a, 29)
#elif PACKETVER >= 20080528
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080520
-packetLen(0x009a, 10) // ZC_BROADCAST
+packetLen(0x009a, 10)
#elif PACKETVER >= 20080513
-packetLen(0x009a, 28) // ZC_BROADCAST
+packetLen(0x009a, 28)
#elif PACKETVER >= 20080422
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x009a, 33) // ZC_BROADCAST
+packetLen(0x009a, 33)
#elif PACKETVER >= 20080408
-packetLen(0x009a, 9) // ZC_BROADCAST
+packetLen(0x009a, 9)
#elif PACKETVER >= 20080325
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080318
-packetLen(0x009a, 59) // ZC_BROADCAST
+packetLen(0x009a, 59)
#elif PACKETVER >= 20080311
-packetLen(0x009a, 57) // ZC_BROADCAST
+packetLen(0x009a, 57)
#elif PACKETVER >= 20080304
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080226
-packetLen(0x009a, 4) // ZC_BROADCAST
+packetLen(0x009a, 4)
#elif PACKETVER >= 20080219
-packetLen(0x009a, 10) // ZC_BROADCAST
+packetLen(0x009a, 10)
#elif PACKETVER >= 20080124
-packetLen(0x009a, 4) // ZC_BROADCAST
+packetLen(0x009a, 4)
#elif PACKETVER >= 20080102
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#endif
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
#if PACKETVER >= 20081203
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20081126
-packetLen(0x009c, 7) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 7)
#elif PACKETVER >= 20081119
-packetLen(0x009c, 14) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 14)
#elif PACKETVER >= 20081112
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x009c, 30) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 30)
#elif PACKETVER >= 20081029
-packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 6)
#elif PACKETVER >= 20081008
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20081001
-packetLen(0x009c, 14) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 14)
#elif PACKETVER >= 20080924
-packetLen(0x009c, 2) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 2)
#elif PACKETVER >= 20080910
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080903
-packetLen(0x009c, 2) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 2)
#elif PACKETVER >= 20080827
-packetLen(0x009c, 59) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 59)
#elif PACKETVER >= 20080813
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080806
-packetLen(0x009c, 44) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 44)
#elif PACKETVER >= 20080708
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080701
-packetLen(0x009c, 67) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 67)
#elif PACKETVER >= 20080617
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 6)
#elif PACKETVER >= 20080603
-packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 4)
#elif PACKETVER >= 20080528
-packetLen(0x009c, 26) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 26)
#elif PACKETVER >= 20080520
-packetLen(0x009c, 67) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 67)
#elif PACKETVER >= 20080513
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080507
-packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 6)
#elif PACKETVER >= 20080429
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x009c, 10) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 10)
#elif PACKETVER >= 20080415
-packetLen(0x009c, 66) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 66)
#elif PACKETVER >= 20080408
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x009c, 8) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 8)
#elif PACKETVER >= 20080325
-packetLen(0x009c, 3) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 3)
#elif PACKETVER >= 20080318
-packetLen(0x009c, 282) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 282)
#elif PACKETVER >= 20080311
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080304
-packetLen(0x009c, 71) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 71)
#elif PACKETVER >= 20080226
-packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 4)
#elif PACKETVER >= 20080219
-packetLen(0x009c, 7) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 7)
#elif PACKETVER >= 20080124
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
#endif
// Packet: 0x009d
#if PACKETVER >= 20081119
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20081112
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081015
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20081008
-packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+packetLen(0x009d, 6)
#elif PACKETVER >= 20081001
-packetLen(0x009d, 27) // ZC_ITEM_ENTRY
+packetLen(0x009d, 27)
#elif PACKETVER >= 20080924
-packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+packetLen(0x009d, 6)
#elif PACKETVER >= 20080917
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080910
-packetLen(0x009d, 4) // ZC_ITEM_ENTRY
+packetLen(0x009d, 4)
#elif PACKETVER >= 20080722
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080715
-packetLen(0x009d, 2) // ZC_ITEM_ENTRY
+packetLen(0x009d, 2)
#elif PACKETVER >= 20080708
-packetLen(0x009d, 14) // ZC_ITEM_ENTRY
+packetLen(0x009d, 14)
#elif PACKETVER >= 20080701
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+packetLen(0x009d, 10)
#elif PACKETVER >= 20080617
-packetLen(0x009d, 13) // ZC_ITEM_ENTRY
+packetLen(0x009d, 13)
#elif PACKETVER >= 20080610
-packetLen(0x009d, 3) // ZC_ITEM_ENTRY
+packetLen(0x009d, 3)
#elif PACKETVER >= 20080603
-packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+packetLen(0x009d, 6)
#elif PACKETVER >= 20080528
-packetLen(0x009d, 8) // ZC_ITEM_ENTRY
+packetLen(0x009d, 8)
#elif PACKETVER >= 20080520
-packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+packetLen(0x009d, 10)
#elif PACKETVER >= 20080513
-packetLen(0x009d, 29) // ZC_ITEM_ENTRY
+packetLen(0x009d, 29)
#elif PACKETVER >= 20080507
-packetLen(0x009d, 59) // ZC_ITEM_ENTRY
+packetLen(0x009d, 59)
#elif PACKETVER >= 20080429
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080422
-packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+packetLen(0x009d, 6)
#elif PACKETVER >= 20080415
-packetLen(0x009d, 32) // ZC_ITEM_ENTRY
+packetLen(0x009d, 32)
#elif PACKETVER >= 20080408
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080401
-packetLen(0x009d, 26) // ZC_ITEM_ENTRY
+packetLen(0x009d, 26)
#elif PACKETVER >= 20080325
-packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+packetLen(0x009d, 57)
#elif PACKETVER >= 20080318
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080311
-packetLen(0x009d, 13) // ZC_ITEM_ENTRY
+packetLen(0x009d, 13)
#elif PACKETVER >= 20080304
-packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+packetLen(0x009d, 19)
#elif PACKETVER >= 20080226
-packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+packetLen(0x009d, 57)
#elif PACKETVER >= 20080219
-packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+packetLen(0x009d, 10)
#elif PACKETVER >= 20080124
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080102
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
#endif
// Packet: 0x009e
#if PACKETVER >= 20081217
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20081203
-packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 10)
#elif PACKETVER >= 20081126
-packetLen(0x009e, 26) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 26)
#elif PACKETVER >= 20081119
-packetLen(0x009e, 5) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 5)
#elif PACKETVER >= 20081112
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20081022
-packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 6)
#elif PACKETVER >= 20081001
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080924
-packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 3)
#elif PACKETVER >= 20080827
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080820
-packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 6)
#elif PACKETVER >= 20080813
-packetLen(0x009e, 5) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 5)
#elif PACKETVER >= 20080701
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 3)
#elif PACKETVER >= 20080617
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080610
-packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 10)
#elif PACKETVER >= 20080603
-packetLen(0x009e, 4) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 4)
#elif PACKETVER >= 20080528
-packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 3)
#elif PACKETVER >= 20080520
-packetLen(0x009e, 186) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 186)
#elif PACKETVER >= 20080513
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080507
-packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 6)
#elif PACKETVER >= 20080429
-packetLen(0x009e, 2) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 2)
#elif PACKETVER >= 20080422
-packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 11)
#elif PACKETVER >= 20080415
-packetLen(0x009e, 9) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 9)
#elif PACKETVER >= 20080408
-packetLen(0x009e, 39) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 39)
#elif PACKETVER >= 20080401
-packetLen(0x009e, 5) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 5)
#elif PACKETVER >= 20080318
-packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 10)
#elif PACKETVER >= 20080311
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080304
-packetLen(0x009e, 282) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 282)
#elif PACKETVER >= 20080226
-packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 11)
#elif PACKETVER >= 20080219
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x009e, 97) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 97)
#elif PACKETVER >= 20080102
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
#endif
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
#if PACKETVER >= 20081112
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081008
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00a0, 32) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 32)
#elif PACKETVER >= 20080903
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00a0, 14) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 14)
#elif PACKETVER >= 20080820
-packetLen(0x00a0, 3) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 3)
#elif PACKETVER >= 20080813
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00a0, 21) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 21)
#elif PACKETVER >= 20080715
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00a0, 90) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 90)
#elif PACKETVER >= 20080701
-packetLen(0x00a0, 30) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 30)
#elif PACKETVER >= 20080624
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00a0, 6) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00a0, 26) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 26)
#elif PACKETVER >= 20080603
-packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 8)
#elif PACKETVER >= 20080528
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00a0, 3) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00a0, 14) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 14)
#elif PACKETVER >= 20080507
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#elif PACKETVER >= 20080429
-packetLen(0x00a0, 12) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 12)
#elif PACKETVER >= 20080422
-packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 8)
#elif PACKETVER >= 20080408
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00a0, 8) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00a0, 6) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00a0, 13) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 13)
#elif PACKETVER >= 20080311
-packetLen(0x00a0, 28) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 28)
#elif PACKETVER >= 20080226
-packetLen(0x00a0, 27) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 27)
#elif PACKETVER >= 20080219
-packetLen(0x00a0, 39) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 39)
#elif PACKETVER >= 20080124
-packetLen(0x00a0, 5) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 5)
#elif PACKETVER >= 20080102
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#endif
// Packet: 0x00a1
#if PACKETVER >= 20081112
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00a1, 8) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 8)
#elif PACKETVER >= 20081022
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00a1, 2) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 2)
#elif PACKETVER >= 20081001
-packetLen(0x00a1, 26) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 26)
#elif PACKETVER >= 20080903
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00a1, 68) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 68)
#elif PACKETVER >= 20080820
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00a1, 36) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 36)
#elif PACKETVER >= 20080806
-packetLen(0x00a1, 4) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 4)
#elif PACKETVER >= 20080722
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00a1, 21) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 21)
#elif PACKETVER >= 20080708
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#elif PACKETVER >= 20080624
-packetLen(0x00a1, 44) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 44)
#elif PACKETVER >= 20080617
-packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 60)
#elif PACKETVER >= 20080528
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 60)
#elif PACKETVER >= 20080513
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00a1, 11) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 11)
#elif PACKETVER >= 20080422
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00a1, 16) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 16)
#elif PACKETVER >= 20080408
-packetLen(0x00a1, 3) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 3)
#elif PACKETVER >= 20080401
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00a1, 53) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 53)
#elif PACKETVER >= 20080311
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00a1, 21) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 21)
#elif PACKETVER >= 20080226
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 60)
#elif PACKETVER >= 20080124
-packetLen(0x00a1, 30) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 30)
#elif PACKETVER >= 20080102
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#endif
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
#if PACKETVER >= 20081126
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00a3, 8) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 8)
#elif PACKETVER >= 20081105
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00a3, 30) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 30)
#elif PACKETVER >= 20081015
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00a3, 8) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 8)
#elif PACKETVER >= 20081001
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00a3, 6) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 6)
#elif PACKETVER >= 20080917
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 4)
#elif PACKETVER >= 20080903
-packetLen(0x00a3, 60) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 60)
#elif PACKETVER >= 20080806
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 10)
#elif PACKETVER >= 20080722
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00a3, 42) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 42)
#elif PACKETVER >= 20080708
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00a3, 28) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 28)
#elif PACKETVER >= 20080624
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00a3, 3) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 4)
#elif PACKETVER >= 20080520
-packetLen(0x00a3, 15) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 15)
#elif PACKETVER >= 20080513
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00a3, 10) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 10)
#elif PACKETVER >= 20080429
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00a3, 16) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 16)
#elif PACKETVER >= 20080415
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00a3, 8) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 8)
#elif PACKETVER >= 20080401
-packetLen(0x00a3, 28) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 28)
#elif PACKETVER >= 20080325
-packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 4)
#elif PACKETVER >= 20080318
-packetLen(0x00a3, 2) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00a3, 65) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 65)
#elif PACKETVER >= 20080304
-packetLen(0x00a3, 6) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00a3, 30) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00a3, 44) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 44)
#elif PACKETVER >= 20080102
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#endif
// Packet: 0x00a4
#if PACKETVER >= 20081112
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20081105
-packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 10)
#elif PACKETVER >= 20081022
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00a4, 8) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 8)
#elif PACKETVER >= 20081001
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 6)
#elif PACKETVER >= 20080917
-packetLen(0x00a4, 4) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 4)
#elif PACKETVER >= 20080903
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00a4, 8) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 8)
#elif PACKETVER >= 20080820
-packetLen(0x00a4, 58) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 58)
#elif PACKETVER >= 20080806
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00a4, 21) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 21)
#elif PACKETVER >= 20080708
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00a4, 86) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 86)
#elif PACKETVER >= 20080617
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00a4, 3) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00a4, 14) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 14)
#elif PACKETVER >= 20080507
-packetLen(0x00a4, 33) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 33)
#elif PACKETVER >= 20080429
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00a4, 60) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 60)
#elif PACKETVER >= 20080415
-packetLen(0x00a4, 22) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 22)
#elif PACKETVER >= 20080408
-packetLen(0x00a4, 2) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 6)
#elif PACKETVER >= 20080325
-packetLen(0x00a4, 7) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 7)
#elif PACKETVER >= 20080318
-packetLen(0x00a4, 27) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 27)
#elif PACKETVER >= 20080311
-packetLen(0x00a4, 6) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00a4, 15) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 15)
#elif PACKETVER >= 20080219
-packetLen(0x00a4, 30) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 30)
#elif PACKETVER >= 20080124
-packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#endif
// Packet: 0x00a5
#if PACKETVER >= 20081217
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20081203
-packetLen(0x00a5, 102) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 102)
#elif PACKETVER >= 20081119
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00a5, 102) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 102)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00a5, 42) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 42)
#elif PACKETVER >= 20081022
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00a5, 10) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 10)
#elif PACKETVER >= 20081001
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00a5, 2) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 2)
#elif PACKETVER >= 20080827
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 3)
#elif PACKETVER >= 20080813
-packetLen(0x00a5, 10) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 10)
#elif PACKETVER >= 20080806
-packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 3)
#elif PACKETVER >= 20080730
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080715
-packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 28)
#elif PACKETVER >= 20080617
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00a5, 7) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 7)
#elif PACKETVER >= 20080603
-packetLen(0x00a5, 9) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 9)
#elif PACKETVER >= 20080528
-packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 28)
#elif PACKETVER >= 20080520
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080513
-packetLen(0x00a5, 4) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 4)
#elif PACKETVER >= 20080415
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00a5, 8) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00a5, 9) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 9)
#elif PACKETVER >= 20080318
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00a5, 282) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 282)
#elif PACKETVER >= 20080304
-packetLen(0x00a5, 30) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 30)
#elif PACKETVER >= 20080226
-packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 28)
#elif PACKETVER >= 20080219
-packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00a5, 4) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#endif
// Packet: 0x00a6
#if PACKETVER >= 20081217
-packetLen(0x00a6, 20) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 20)
#elif PACKETVER >= 20081203
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 6)
#elif PACKETVER >= 20081029
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 6)
#elif PACKETVER >= 20081008
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00a6, 11) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 11)
#elif PACKETVER >= 20080917
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 10)
#elif PACKETVER >= 20080903
-packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 6)
#elif PACKETVER >= 20080827
-packetLen(0x00a6, 29) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 29)
#elif PACKETVER >= 20080813
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00a6, 22) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 22)
#elif PACKETVER >= 20080715
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00a6, 30) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 30)
#elif PACKETVER >= 20080701
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 16)
#elif PACKETVER >= 20080610
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00a6, 30) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 30)
#elif PACKETVER >= 20080507
-packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 10)
#elif PACKETVER >= 20080429
-packetLen(0x00a6, 282) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 282)
#elif PACKETVER >= 20080415
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00a6, 59) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 59)
#elif PACKETVER >= 20080401
-packetLen(0x00a6, 7) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 7)
#elif PACKETVER >= 20080325
-packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00a6, 3) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00a6, 26) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 16)
#elif PACKETVER >= 20080219
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#endif
// Packet: 0x00a7
@@ -2828,23255 +2828,23255 @@ packetLen(0x00a7, 9)
// Packet: 0x00a8
#if PACKETVER >= 20081217
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
#elif PACKETVER >= 20081203
-packetLen(0x00a8, 43) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 43)
#elif PACKETVER >= 20081126
-packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 10)
#elif PACKETVER >= 20081119
-packetLen(0x00a8, 5) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 5)
#elif PACKETVER >= 20081112
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 3)
#elif PACKETVER >= 20081015
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00a8, 42) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 42)
#elif PACKETVER >= 20081001
-packetLen(0x00a8, 59) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 59)
#elif PACKETVER >= 20080924
-packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 10)
#elif PACKETVER >= 20080917
-packetLen(0x00a8, 8) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 8)
#elif PACKETVER >= 20080910
-packetLen(0x00a8, 282) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 282)
#elif PACKETVER >= 20080827
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00a8, 15) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 15)
#elif PACKETVER >= 20080813
-packetLen(0x00a8, 2) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 2)
#elif PACKETVER >= 20080806
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
#elif PACKETVER >= 20080701
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 10)
#elif PACKETVER >= 20080513
-packetLen(0x00a8, 90) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 90)
#elif PACKETVER >= 20080507
-packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00a8, 13) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 13)
#elif PACKETVER >= 20080408
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00a8, 4) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00a8, 2) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00a8, 30) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00a8, 3) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00a8, 20) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 20)
#elif PACKETVER >= 20080102
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
#endif
// Packet: 0x00a9
#if PACKETVER >= 20081217
-packetLen(0x00a9, 30) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 30)
#elif PACKETVER >= 20081203
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00a9, 28) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 28)
#elif PACKETVER >= 20081119
-packetLen(0x00a9, 4) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 4)
#elif PACKETVER >= 20081112
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 8)
#elif PACKETVER >= 20081015
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20081001
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00a9, 18) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 18)
#elif PACKETVER >= 20080917
-packetLen(0x00a9, 4) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 4)
#elif PACKETVER >= 20080827
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00a9, 11) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 11)
#elif PACKETVER >= 20080806
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00a9, 3) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 3)
#elif PACKETVER >= 20080722
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00a9, 44) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 44)
#elif PACKETVER >= 20080708
-packetLen(0x00a9, 10) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 10)
#elif PACKETVER >= 20080701
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00a9, 282) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 282)
#elif PACKETVER >= 20080603
-packetLen(0x00a9, 114) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 114)
#elif PACKETVER >= 20080528
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00a9, 79) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 79)
#elif PACKETVER >= 20080513
-packetLen(0x00a9, 3) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 3)
#elif PACKETVER >= 20080507
-packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 26)
#elif PACKETVER >= 20080429
-packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 8)
#elif PACKETVER >= 20080422
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00a9, 2) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 8)
#elif PACKETVER >= 20080311
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00a9, 11) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 11)
#elif PACKETVER >= 20080226
-packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 26)
#elif PACKETVER >= 20080219
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00a9, 10) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#endif
// Packet: 0x00aa
#if PACKETVER >= 20081112
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 4)
#elif PACKETVER >= 20081001
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00aa, 39) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 39)
#elif PACKETVER >= 20080903
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00aa, 10) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 10)
#elif PACKETVER >= 20080820
-packetLen(0x00aa, 11) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 11)
#elif PACKETVER >= 20080813
-packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 4)
#elif PACKETVER >= 20080806
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00aa, 71) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 71)
#elif PACKETVER >= 20080722
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 2)
#elif PACKETVER >= 20080708
-packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 3)
#elif PACKETVER >= 20080624
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 4)
#elif PACKETVER >= 20080603
-packetLen(0x00aa, 10) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 4)
#elif PACKETVER >= 20080507
-packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
#elif PACKETVER >= 20080415
-packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00aa, 31) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 31)
#elif PACKETVER >= 20080401
-packetLen(0x00aa, 16) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 16)
#elif PACKETVER >= 20080325
-packetLen(0x00aa, 55) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 55)
#elif PACKETVER >= 20080318
-packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00aa, 11) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 11)
#elif PACKETVER >= 20080304
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00aa, 6) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
#endif
// Packet: 0x00ab
#if PACKETVER >= 20081203
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#elif PACKETVER >= 20081119
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00ab, 5) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 5)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00ab, 30) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 30)
#elif PACKETVER >= 20081022
-packetLen(0x00ab, 60) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 60)
#elif PACKETVER >= 20081001
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00ab, 79) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 79)
#elif PACKETVER >= 20080910
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00ab, 67) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 67)
#elif PACKETVER >= 20080827
-packetLen(0x00ab, 282) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 282)
#elif PACKETVER >= 20080730
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00ab, 8) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 8)
#elif PACKETVER >= 20080715
-packetLen(0x00ab, 14) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 14)
#elif PACKETVER >= 20080701
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00ab, 6) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00ab, 16) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 16)
#elif PACKETVER >= 20080603
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00ab, 53) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 53)
#elif PACKETVER >= 20080520
-packetLen(0x00ab, 36) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 36)
#elif PACKETVER >= 20080513
-packetLen(0x00ab, 26) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 26)
#elif PACKETVER >= 20080507
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#elif PACKETVER >= 20080415
-packetLen(0x00ab, 7) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 7)
#elif PACKETVER >= 20080401
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00ab, 8) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 8)
#elif PACKETVER >= 20080318
-packetLen(0x00ab, 9) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 9)
#elif PACKETVER >= 20080311
-packetLen(0x00ab, 14) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 14)
#elif PACKETVER >= 20080304
-packetLen(0x00ab, 2) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00ab, 57) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 57)
#elif PACKETVER >= 20080124
-packetLen(0x00ab, 86) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 86)
#elif PACKETVER >= 20080102
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#endif
// Packet: 0x00ac
#if PACKETVER >= 20081217
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00ac, 30) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 30)
#elif PACKETVER >= 20081126
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
#elif PACKETVER >= 20081008
-packetLen(0x00ac, 30) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 30)
#elif PACKETVER >= 20081001
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00ac, 59) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 59)
#elif PACKETVER >= 20080917
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080903
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 10)
#elif PACKETVER >= 20080820
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00ac, 13) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 13)
#elif PACKETVER >= 20080806
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00ac, 20) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 20)
#elif PACKETVER >= 20080722
-packetLen(0x00ac, 44) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 44)
#elif PACKETVER >= 20080715
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00ac, 11) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 11)
#elif PACKETVER >= 20080701
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ac, 8) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 8)
#elif PACKETVER >= 20080617
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
#elif PACKETVER >= 20080603
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
#elif PACKETVER >= 20080528
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 10)
#elif PACKETVER >= 20080507
-packetLen(0x00ac, 67) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 67)
#elif PACKETVER >= 20080429
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00ac, 8) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 8)
#elif PACKETVER >= 20080401
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00ac, 10) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
#endif
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
#if PACKETVER >= 20081119
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20081105
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20081029
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00af, 16) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 16)
#elif PACKETVER >= 20081015
-packetLen(0x00af, 81) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 81)
#elif PACKETVER >= 20081008
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00af, 16) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 16)
#elif PACKETVER >= 20080910
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20080820
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00af, 14) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 14)
#elif PACKETVER >= 20080730
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00af, 28) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 28)
#elif PACKETVER >= 20080715
-packetLen(0x00af, 102) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 102)
#elif PACKETVER >= 20080708
-packetLen(0x00af, 42) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 42)
#elif PACKETVER >= 20080701
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00af, 5) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 5)
#elif PACKETVER >= 20080610
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00af, 10) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00af, 29) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 29)
#elif PACKETVER >= 20080520
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 2)
#elif PACKETVER >= 20080507
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00af, 10) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 10)
#elif PACKETVER >= 20080422
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00af, 26) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00af, 2) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00af, 7) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 7)
#elif PACKETVER >= 20080219
-packetLen(0x00af, 4) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 4)
#elif PACKETVER >= 20080124
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#endif
// Packet: 0x00b0
#if PACKETVER >= 20081217
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#elif PACKETVER >= 20081112
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00b0, 30) // ZC_PAR_CHANGE
+packetLen(0x00b0, 30)
#elif PACKETVER >= 20081008
-packetLen(0x00b0, 5) // ZC_PAR_CHANGE
+packetLen(0x00b0, 5)
#elif PACKETVER >= 20080813
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00b0, 10) // ZC_PAR_CHANGE
+packetLen(0x00b0, 10)
#elif PACKETVER >= 20080730
-packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+packetLen(0x00b0, 3)
#elif PACKETVER >= 20080722
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00b0, 86) // ZC_PAR_CHANGE
+packetLen(0x00b0, 86)
#elif PACKETVER >= 20080708
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+packetLen(0x00b0, 7)
#elif PACKETVER >= 20080624
-packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+packetLen(0x00b0, 3)
#elif PACKETVER >= 20080617
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#elif PACKETVER >= 20080610
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00b0, 6) // ZC_PAR_CHANGE
+packetLen(0x00b0, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00b0, 3) // ZC_PAR_CHANGE
+packetLen(0x00b0, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00b0, 6) // ZC_PAR_CHANGE
+packetLen(0x00b0, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b0, 28) // ZC_PAR_CHANGE
+packetLen(0x00b0, 28)
#elif PACKETVER >= 20080415
-packetLen(0x00b0, 12) // ZC_PAR_CHANGE
+packetLen(0x00b0, 12)
#elif PACKETVER >= 20080408
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00b0, 4) // ZC_PAR_CHANGE
+packetLen(0x00b0, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00b0, 2) // ZC_PAR_CHANGE
+packetLen(0x00b0, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00b0, 10) // ZC_PAR_CHANGE
+packetLen(0x00b0, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00b0, 11) // ZC_PAR_CHANGE
+packetLen(0x00b0, 11)
#elif PACKETVER >= 20080219
-packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+packetLen(0x00b0, 7)
#elif PACKETVER >= 20080124
-packetLen(0x00b0, 2) // ZC_PAR_CHANGE
+packetLen(0x00b0, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#endif
// Packet: 0x00b1
#if PACKETVER >= 20081217
-packetLen(0x00b1, 11) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 11)
#elif PACKETVER >= 20081203
-packetLen(0x00b1, 14) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 14)
#elif PACKETVER >= 20081126
-packetLen(0x00b1, 16) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 16)
#elif PACKETVER >= 20081119
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00b1, 16) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 16)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081008
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00b1, 5) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 5)
#elif PACKETVER >= 20080924
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
#elif PACKETVER >= 20080917
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00b1, 55) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 55)
#elif PACKETVER >= 20080903
-packetLen(0x00b1, 39) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 39)
#elif PACKETVER >= 20080827
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00b1, 7) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 7)
#elif PACKETVER >= 20080813
-packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 30)
#elif PACKETVER >= 20080730
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 30)
#elif PACKETVER >= 20080708
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00b1, 3) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 3)
#elif PACKETVER >= 20080617
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b1, 11) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 11)
#elif PACKETVER >= 20080603
-packetLen(0x00b1, 2) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 2)
#elif PACKETVER >= 20080528
-packetLen(0x00b1, 6) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00b1, 97) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 97)
#elif PACKETVER >= 20080422
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00b1, 26) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 26)
#elif PACKETVER >= 20080401
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00b1, 58) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 58)
#elif PACKETVER >= 20080318
-packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00b1, 2) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00b1, 14) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 14)
#elif PACKETVER >= 20080124
-packetLen(0x00b1, 9) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 9)
#elif PACKETVER >= 20080102
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
#endif
// Packet: 0x00b2
#if PACKETVER >= 20081217
-packetLen(0x00b2, 23) // CZ_RESTART
+packetLen(0x00b2, 23)
#elif PACKETVER >= 20081203
-packetLen(0x00b2, 2) // CZ_RESTART
+packetLen(0x00b2, 2)
#elif PACKETVER >= 20081126
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00b2, 54) // CZ_RESTART
+packetLen(0x00b2, 54)
#elif PACKETVER >= 20081112
-packetLen(0x00b2, 26) // CZ_RESTART
+packetLen(0x00b2, 26)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00b2, 11) // CZ_RESTART
+packetLen(0x00b2, 11)
#elif PACKETVER >= 20081029
-packetLen(0x00b2, 42) // CZ_RESTART
+packetLen(0x00b2, 42)
#elif PACKETVER >= 20081022
-packetLen(0x00b2, 10) // CZ_RESTART
+packetLen(0x00b2, 10)
#elif PACKETVER >= 20081015
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00b2, 282) // CZ_RESTART
+packetLen(0x00b2, 282)
#elif PACKETVER >= 20081001
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20080917
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00b2, 14) // CZ_RESTART
+packetLen(0x00b2, 14)
#elif PACKETVER >= 20080903
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00b2, 102) // CZ_RESTART
+packetLen(0x00b2, 102)
#elif PACKETVER >= 20080820
-packetLen(0x00b2, 14) // CZ_RESTART
+packetLen(0x00b2, 14)
#elif PACKETVER >= 20080813
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00b2, 7) // CZ_RESTART
+packetLen(0x00b2, 7)
#elif PACKETVER >= 20080730
-packetLen(0x00b2, 30) // CZ_RESTART
+packetLen(0x00b2, 30)
#elif PACKETVER >= 20080722
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20080715
-packetLen(0x00b2, 6) // CZ_RESTART
+packetLen(0x00b2, 6)
#elif PACKETVER >= 20080708
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20080624
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00b2, 10) // CZ_RESTART
+packetLen(0x00b2, 10)
#elif PACKETVER >= 20080610
-packetLen(0x00b2, 13) // CZ_RESTART
+packetLen(0x00b2, 13)
#elif PACKETVER >= 20080603
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00b2, 2) // CZ_RESTART
+packetLen(0x00b2, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00b2, 6) // CZ_RESTART
+packetLen(0x00b2, 6)
#elif PACKETVER >= 20080513
-packetLen(0x00b2, 58) // CZ_RESTART
+packetLen(0x00b2, 58)
#elif PACKETVER >= 20080507
-packetLen(0x00b2, 6) // CZ_RESTART
+packetLen(0x00b2, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00b2, 14) // CZ_RESTART
+packetLen(0x00b2, 14)
#elif PACKETVER >= 20080408
-packetLen(0x00b2, 67) // CZ_RESTART
+packetLen(0x00b2, 67)
#elif PACKETVER >= 20080401
-packetLen(0x00b2, 4) // CZ_RESTART
+packetLen(0x00b2, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00b2, 5) // CZ_RESTART
+packetLen(0x00b2, 5)
#elif PACKETVER >= 20080318
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00b2, 5) // CZ_RESTART
+packetLen(0x00b2, 5)
#elif PACKETVER >= 20080304
-packetLen(0x00b2, 8) // CZ_RESTART
+packetLen(0x00b2, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00b2, 9) // CZ_RESTART
+packetLen(0x00b2, 9)
#elif PACKETVER >= 20080219
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00b2, 2) // CZ_RESTART
+packetLen(0x00b2, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#endif
// Packet: 0x00b3
#if PACKETVER >= 20081203
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00b3, 2) // ZC_RESTART_ACK
+packetLen(0x00b3, 2)
#elif PACKETVER >= 20081119
-packetLen(0x00b3, 14) // ZC_RESTART_ACK
+packetLen(0x00b3, 14)
#elif PACKETVER >= 20081112
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00b3, 11) // ZC_RESTART_ACK
+packetLen(0x00b3, 11)
#elif PACKETVER >= 20081029
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00b3, 2) // ZC_RESTART_ACK
+packetLen(0x00b3, 2)
#elif PACKETVER >= 20081015
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
#elif PACKETVER >= 20081001
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00b3, 30) // ZC_RESTART_ACK
+packetLen(0x00b3, 30)
#elif PACKETVER >= 20080917
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
#elif PACKETVER >= 20080820
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00b3, 18) // ZC_RESTART_ACK
+packetLen(0x00b3, 18)
#elif PACKETVER >= 20080722
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00b3, 6) // ZC_RESTART_ACK
+packetLen(0x00b3, 6)
#elif PACKETVER >= 20080701
-packetLen(0x00b3, 14) // ZC_RESTART_ACK
+packetLen(0x00b3, 14)
#elif PACKETVER >= 20080617
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b3, 6) // ZC_RESTART_ACK
+packetLen(0x00b3, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00b3, 30) // ZC_RESTART_ACK
+packetLen(0x00b3, 30)
#elif PACKETVER >= 20080528
-packetLen(0x00b3, 6) // ZC_RESTART_ACK
+packetLen(0x00b3, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00b3, 2) // ZC_RESTART_ACK
+packetLen(0x00b3, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00b3, 4) // ZC_RESTART_ACK
+packetLen(0x00b3, 4)
#elif PACKETVER >= 20080422
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00b3, 6) // ZC_RESTART_ACK
+packetLen(0x00b3, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00b3, 5) // ZC_RESTART_ACK
+packetLen(0x00b3, 5)
#elif PACKETVER >= 20080325
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00b3, 35) // ZC_RESTART_ACK
+packetLen(0x00b3, 35)
#elif PACKETVER >= 20080311
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00b3, 7) // ZC_RESTART_ACK
+packetLen(0x00b3, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00b3, 10) // ZC_RESTART_ACK
+packetLen(0x00b3, 10)
#elif PACKETVER >= 20080219
-packetLen(0x00b3, 55) // ZC_RESTART_ACK
+packetLen(0x00b3, 55)
#elif PACKETVER >= 20080124
-packetLen(0x00b3, 28) // ZC_RESTART_ACK
+packetLen(0x00b3, 28)
#elif PACKETVER >= 20080102
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
#endif
// Packet: 0x00b4
#if PACKETVER >= 20081217
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00b4, 81) // ZC_SAY_DIALOG
+packetLen(0x00b4, 81)
#elif PACKETVER >= 20081126
-packetLen(0x00b4, 10) // ZC_SAY_DIALOG
+packetLen(0x00b4, 10)
#elif PACKETVER >= 20081119
-packetLen(0x00b4, 19) // ZC_SAY_DIALOG
+packetLen(0x00b4, 19)
#elif PACKETVER >= 20081112
-packetLen(0x00b4, 282) // ZC_SAY_DIALOG
+packetLen(0x00b4, 282)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00b4, 32) // ZC_SAY_DIALOG
+packetLen(0x00b4, 32)
#elif PACKETVER >= 20081029
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00b4, 81) // ZC_SAY_DIALOG
+packetLen(0x00b4, 81)
#elif PACKETVER >= 20080820
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00b4, 3) // ZC_SAY_DIALOG
+packetLen(0x00b4, 3)
#elif PACKETVER >= 20080806
-packetLen(0x00b4, 57) // ZC_SAY_DIALOG
+packetLen(0x00b4, 57)
#elif PACKETVER >= 20080722
-packetLen(0x00b4, 30) // ZC_SAY_DIALOG
+packetLen(0x00b4, 30)
#elif PACKETVER >= 20080715
-packetLen(0x00b4, 15) // ZC_SAY_DIALOG
+packetLen(0x00b4, 15)
#elif PACKETVER >= 20080617
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+packetLen(0x00b4, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00b4, 33) // ZC_SAY_DIALOG
+packetLen(0x00b4, 33)
#elif PACKETVER >= 20080528
-packetLen(0x00b4, 3) // ZC_SAY_DIALOG
+packetLen(0x00b4, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00b4, 10) // ZC_SAY_DIALOG
+packetLen(0x00b4, 10)
#elif PACKETVER >= 20080513
-packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+packetLen(0x00b4, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+packetLen(0x00b4, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00b4, 282) // ZC_SAY_DIALOG
+packetLen(0x00b4, 282)
#elif PACKETVER >= 20080401
-packetLen(0x00b4, 34) // ZC_SAY_DIALOG
+packetLen(0x00b4, 34)
#elif PACKETVER >= 20080325
-packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+packetLen(0x00b4, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+packetLen(0x00b4, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00b4, 36) // ZC_SAY_DIALOG
+packetLen(0x00b4, 36)
#elif PACKETVER >= 20080304
-packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+packetLen(0x00b4, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00b4, 43) // ZC_SAY_DIALOG
+packetLen(0x00b4, 43)
#elif PACKETVER >= 20080219
-packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+packetLen(0x00b4, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#endif
// Packet: 0x00b5
#if PACKETVER >= 20081217
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20081203
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 3)
#elif PACKETVER >= 20081119
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00b5, 8) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 8)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 4)
#elif PACKETVER >= 20081029
-packetLen(0x00b5, 26) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 26)
#elif PACKETVER >= 20081022
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20081008
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 4)
#elif PACKETVER >= 20080924
-packetLen(0x00b5, 71) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 71)
#elif PACKETVER >= 20080917
-packetLen(0x00b5, 282) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 282)
#elif PACKETVER >= 20080910
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 3)
#elif PACKETVER >= 20080820
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00b5, 16) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 16)
#elif PACKETVER >= 20080806
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00b5, 282) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 282)
#elif PACKETVER >= 20080722
-packetLen(0x00b5, 11) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 11)
#elif PACKETVER >= 20080715
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00b5, 58) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 58)
#elif PACKETVER >= 20080701
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00b5, 12) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 12)
#elif PACKETVER >= 20080617
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 3)
#elif PACKETVER >= 20080603
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00b5, 2) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00b5, 5) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 5)
#elif PACKETVER >= 20080429
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b5, 19) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 19)
#elif PACKETVER >= 20080415
-packetLen(0x00b5, 14) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 14)
#elif PACKETVER >= 20080408
-packetLen(0x00b5, 90) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 90)
#elif PACKETVER >= 20080401
-packetLen(0x00b5, 14) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 14)
#elif PACKETVER >= 20080325
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00b5, 11) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 11)
#elif PACKETVER >= 20080311
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00b5, 8) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 4)
#elif PACKETVER >= 20080219
-packetLen(0x00b5, 30) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 30)
#elif PACKETVER >= 20080124
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#endif
// Packet: 0x00b6
#if PACKETVER >= 20081217
-packetLen(0x00b6, 26) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 26)
#elif PACKETVER >= 20081203
-packetLen(0x00b6, 79) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 79)
#elif PACKETVER >= 20081112
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 2)
#elif PACKETVER >= 20081029
-packetLen(0x00b6, 7) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 7)
#elif PACKETVER >= 20081022
-packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 8)
#elif PACKETVER >= 20081015
-packetLen(0x00b6, 79) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 79)
#elif PACKETVER >= 20081001
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00b6, 4) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 4)
#elif PACKETVER >= 20080917
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 2)
#elif PACKETVER >= 20080903
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20080813
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 2)
#elif PACKETVER >= 20080722
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20080715
-packetLen(0x00b6, 60) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 60)
#elif PACKETVER >= 20080708
-packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 2)
#elif PACKETVER >= 20080701
-packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 8)
#elif PACKETVER >= 20080624
-packetLen(0x00b6, 7) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 7)
#elif PACKETVER >= 20080617
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080603
-packetLen(0x00b6, 39) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 39)
#elif PACKETVER >= 20080528
-packetLen(0x00b6, 11) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 11)
#elif PACKETVER >= 20080429
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 8)
#elif PACKETVER >= 20080401
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00b6, 16) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 16)
#elif PACKETVER >= 20080318
-packetLen(0x00b6, 12) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 12)
#elif PACKETVER >= 20080311
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00b6, 4) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00b6, 14) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#endif
// Packet: 0x00b7
#if PACKETVER >= 20081203
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00b7, 26) // ZC_MENU_LIST
+packetLen(0x00b7, 26)
#elif PACKETVER >= 20081112
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00b7, 10) // ZC_MENU_LIST
+packetLen(0x00b7, 10)
#elif PACKETVER >= 20081022
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00b7, 22) // ZC_MENU_LIST
+packetLen(0x00b7, 22)
#elif PACKETVER >= 20081001
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00b7, 6) // ZC_MENU_LIST
+packetLen(0x00b7, 6)
#elif PACKETVER >= 20080903
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00b7, 6) // ZC_MENU_LIST
+packetLen(0x00b7, 6)
#elif PACKETVER >= 20080820
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00b7, 6) // ZC_MENU_LIST
+packetLen(0x00b7, 6)
#elif PACKETVER >= 20080715
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00b7, 21) // ZC_MENU_LIST
+packetLen(0x00b7, 21)
#elif PACKETVER >= 20080701
-packetLen(0x00b7, 22) // ZC_MENU_LIST
+packetLen(0x00b7, 22)
#elif PACKETVER >= 20080617
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b7, 2) // ZC_MENU_LIST
+packetLen(0x00b7, 2)
#elif PACKETVER >= 20080528
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00b7, 58) // ZC_MENU_LIST
+packetLen(0x00b7, 58)
#elif PACKETVER >= 20080513
-packetLen(0x00b7, 6) // ZC_MENU_LIST
+packetLen(0x00b7, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00b7, 20) // ZC_MENU_LIST
+packetLen(0x00b7, 20)
#elif PACKETVER >= 20080429
-packetLen(0x00b7, 2) // ZC_MENU_LIST
+packetLen(0x00b7, 2)
#elif PACKETVER >= 20080422
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00b7, 5) // ZC_MENU_LIST
+packetLen(0x00b7, 5)
#elif PACKETVER >= 20080408
-packetLen(0x00b7, 14) // ZC_MENU_LIST
+packetLen(0x00b7, 14)
#elif PACKETVER >= 20080401
-packetLen(0x00b7, 8) // ZC_MENU_LIST
+packetLen(0x00b7, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00b7, 6) // ZC_MENU_LIST
+packetLen(0x00b7, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00b7, 42) // ZC_MENU_LIST
+packetLen(0x00b7, 42)
#elif PACKETVER >= 20080304
-packetLen(0x00b7, 13) // ZC_MENU_LIST
+packetLen(0x00b7, 13)
#elif PACKETVER >= 20080226
-packetLen(0x00b7, 32) // ZC_MENU_LIST
+packetLen(0x00b7, 32)
#elif PACKETVER >= 20080219
-packetLen(0x00b7, 3) // ZC_MENU_LIST
+packetLen(0x00b7, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00b7, 21) // ZC_MENU_LIST
+packetLen(0x00b7, 21)
#elif PACKETVER >= 20080102
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#endif
// Packet: 0x00b8
#if PACKETVER >= 20081203
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00b8, 2) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 2)
#elif PACKETVER >= 20081112
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00b8, 44) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 44)
#elif PACKETVER >= 20081015
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00b8, 10) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 10)
#elif PACKETVER >= 20081001
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00b8, 2) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 2)
#elif PACKETVER >= 20080917
-packetLen(0x00b8, 3) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 3)
#elif PACKETVER >= 20080820
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 4)
#elif PACKETVER >= 20080806
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00b8, 14) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 14)
#elif PACKETVER >= 20080708
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00b8, 20) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 20)
#elif PACKETVER >= 20080624
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 9)
#elif PACKETVER >= 20080610
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00b8, 53) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 53)
#elif PACKETVER >= 20080513
-packetLen(0x00b8, 8) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 4)
#elif PACKETVER >= 20080422
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
#elif PACKETVER >= 20080415
-packetLen(0x00b8, 11) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 11)
#elif PACKETVER >= 20080408
-packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 9)
#elif PACKETVER >= 20080401
-packetLen(0x00b8, 30) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 30)
#elif PACKETVER >= 20080325
-packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 5)
#elif PACKETVER >= 20080318
-packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00b8, 16) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 16)
#elif PACKETVER >= 20080304
-packetLen(0x00b8, 28) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 28)
#elif PACKETVER >= 20080226
-packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00b8, 4) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
#endif
// Packet: 0x00b9
#if PACKETVER >= 20081217
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00b9, 26) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 26)
#elif PACKETVER >= 20081112
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 2)
#elif PACKETVER >= 20081015
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00b9, 97) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 97)
#elif PACKETVER >= 20081001
-packetLen(0x00b9, 20) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 20)
#elif PACKETVER >= 20080924
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00b9, 60) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 60)
#elif PACKETVER >= 20080813
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 2)
#elif PACKETVER >= 20080730
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00b9, 22) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 22)
#elif PACKETVER >= 20080701
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 2)
#elif PACKETVER >= 20080617
-packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 9)
#elif PACKETVER >= 20080610
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00b9, 66) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 66)
#elif PACKETVER >= 20080513
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00b9, 30) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 30)
#elif PACKETVER >= 20080429
-packetLen(0x00b9, 26) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 26)
#elif PACKETVER >= 20080415
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00b9, 2) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20080325
-packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 9)
#elif PACKETVER >= 20080318
-packetLen(0x00b9, 11) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 11)
#elif PACKETVER >= 20080311
-packetLen(0x00b9, 29) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 29)
#elif PACKETVER >= 20080304
-packetLen(0x00b9, 10) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00b9, 58) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 58)
#elif PACKETVER >= 20080219
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00b9, 8) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 8)
#elif PACKETVER >= 20080102
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#endif
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
#if PACKETVER >= 20081112
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00bb, 30) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 30)
#elif PACKETVER >= 20081022
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00bb, 11) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 11)
#elif PACKETVER >= 20080903
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00bb, 14) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 14)
#elif PACKETVER >= 20080722
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00bb, 3) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 3)
#elif PACKETVER >= 20080708
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00bb, 60) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 60)
#elif PACKETVER >= 20080624
-packetLen(0x00bb, 4) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 4)
#elif PACKETVER >= 20080617
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00bb, 36) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 36)
#elif PACKETVER >= 20080603
-packetLen(0x00bb, 6) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00bb, 10) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 10)
#elif PACKETVER >= 20080520
-packetLen(0x00bb, 13) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 13)
#elif PACKETVER >= 20080507
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00bb, 55) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 55)
#elif PACKETVER >= 20080422
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
#elif PACKETVER >= 20080415
-packetLen(0x00bb, 6) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00bb, 3) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00bb, 20) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 20)
#elif PACKETVER >= 20080318
-packetLen(0x00bb, 2) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00bb, 182) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 182)
#elif PACKETVER >= 20080124
-packetLen(0x00bb, 12) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 12)
#elif PACKETVER >= 20080102
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
#endif
// Packet: 0x00bc
#if PACKETVER >= 20081217
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#elif PACKETVER >= 20081203
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20081126
-packetLen(0x00bc, 4) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 4)
#elif PACKETVER >= 20081119
-packetLen(0x00bc, 7) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 7)
#elif PACKETVER >= 20081112
-packetLen(0x00bc, 26) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 26)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00bc, 4) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 4)
#elif PACKETVER >= 20081015
-packetLen(0x00bc, 8) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 8)
#elif PACKETVER >= 20080910
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#elif PACKETVER >= 20080827
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00bc, 114) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 114)
#elif PACKETVER >= 20080806
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00bc, 53) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 53)
#elif PACKETVER >= 20080722
-packetLen(0x00bc, 10) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 10)
#elif PACKETVER >= 20080708
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080701
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00bc, 4) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 4)
#elif PACKETVER >= 20080617
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080603
-packetLen(0x00bc, 26) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 26)
#elif PACKETVER >= 20080528
-packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 14)
#elif PACKETVER >= 20080520
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00bc, 22) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 22)
#elif PACKETVER >= 20080507
-packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 14)
#elif PACKETVER >= 20080429
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00bc, 44) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 44)
#elif PACKETVER >= 20080408
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00bc, 11) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 11)
#elif PACKETVER >= 20080318
-packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00bc, 7) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00bc, 14) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#endif
// Packet: 0x00bd
#if PACKETVER >= 20081217
-packetLen(0x00bd, 14) // ZC_STATUS
+packetLen(0x00bd, 14)
#elif PACKETVER >= 20081203
-packetLen(0x00bd, 3) // ZC_STATUS
+packetLen(0x00bd, 3)
#elif PACKETVER >= 20081126
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00bd, 13) // ZC_STATUS
+packetLen(0x00bd, 13)
#elif PACKETVER >= 20081112
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20081029
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00bd, 4) // ZC_STATUS
+packetLen(0x00bd, 4)
#elif PACKETVER >= 20081015
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20081008
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00bd, 23) // ZC_STATUS
+packetLen(0x00bd, 23)
#elif PACKETVER >= 20080924
-packetLen(0x00bd, 3) // ZC_STATUS
+packetLen(0x00bd, 3)
#elif PACKETVER >= 20080917
-packetLen(0x00bd, 10) // ZC_STATUS
+packetLen(0x00bd, 10)
#elif PACKETVER >= 20080910
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00bd, 26) // ZC_STATUS
+packetLen(0x00bd, 26)
#elif PACKETVER >= 20080820
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00bd, 90) // ZC_STATUS
+packetLen(0x00bd, 90)
#elif PACKETVER >= 20080715
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20080701
-packetLen(0x00bd, 60) // ZC_STATUS
+packetLen(0x00bd, 60)
#elif PACKETVER >= 20080624
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00bd, 79) // ZC_STATUS
+packetLen(0x00bd, 79)
#elif PACKETVER >= 20080610
-packetLen(0x00bd, 18) // ZC_STATUS
+packetLen(0x00bd, 18)
#elif PACKETVER >= 20080603
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00bd, 26) // ZC_STATUS
+packetLen(0x00bd, 26)
#elif PACKETVER >= 20080513
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00bd, 7) // ZC_STATUS
+packetLen(0x00bd, 7)
#elif PACKETVER >= 20080422
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00bd, 4) // ZC_STATUS
+packetLen(0x00bd, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00bd, 7) // ZC_STATUS
+packetLen(0x00bd, 7)
#elif PACKETVER >= 20080318
-packetLen(0x00bd, 12) // ZC_STATUS
+packetLen(0x00bd, 12)
#elif PACKETVER >= 20080304
-packetLen(0x00bd, 2) // ZC_STATUS
+packetLen(0x00bd, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00bd, 58) // ZC_STATUS
+packetLen(0x00bd, 58)
#elif PACKETVER >= 20080219
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00bd, 4) // ZC_STATUS
+packetLen(0x00bd, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
#endif
// Packet: 0x00be
#if PACKETVER >= 20081126
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00be, 2) // ZC_STATUS_CHANGE
+packetLen(0x00be, 2)
#elif PACKETVER >= 20081112
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00be, 28) // ZC_STATUS_CHANGE
+packetLen(0x00be, 28)
#elif PACKETVER >= 20081001
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00be, 19) // ZC_STATUS_CHANGE
+packetLen(0x00be, 19)
#elif PACKETVER >= 20080903
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+packetLen(0x00be, 6)
#elif PACKETVER >= 20080820
-packetLen(0x00be, 10) // ZC_STATUS_CHANGE
+packetLen(0x00be, 10)
#elif PACKETVER >= 20080813
-packetLen(0x00be, 65) // ZC_STATUS_CHANGE
+packetLen(0x00be, 65)
#elif PACKETVER >= 20080806
-packetLen(0x00be, 3) // ZC_STATUS_CHANGE
+packetLen(0x00be, 3)
#elif PACKETVER >= 20080730
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00be, 17) // ZC_STATUS_CHANGE
+packetLen(0x00be, 17)
#elif PACKETVER >= 20080715
-packetLen(0x00be, 30) // ZC_STATUS_CHANGE
+packetLen(0x00be, 30)
#elif PACKETVER >= 20080708
-packetLen(0x00be, 2) // ZC_STATUS_CHANGE
+packetLen(0x00be, 2)
#elif PACKETVER >= 20080701
-packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+packetLen(0x00be, 6)
#elif PACKETVER >= 20080624
-packetLen(0x00be, 57) // ZC_STATUS_CHANGE
+packetLen(0x00be, 57)
#elif PACKETVER >= 20080617
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00be, 44) // ZC_STATUS_CHANGE
+packetLen(0x00be, 44)
#elif PACKETVER >= 20080603
-packetLen(0x00be, 3) // ZC_STATUS_CHANGE
+packetLen(0x00be, 3)
#elif PACKETVER >= 20080528
-packetLen(0x00be, 54) // ZC_STATUS_CHANGE
+packetLen(0x00be, 54)
#elif PACKETVER >= 20080520
-packetLen(0x00be, 8) // ZC_STATUS_CHANGE
+packetLen(0x00be, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00be, 30) // ZC_STATUS_CHANGE
+packetLen(0x00be, 30)
#elif PACKETVER >= 20080422
-packetLen(0x00be, 4) // ZC_STATUS_CHANGE
+packetLen(0x00be, 4)
#elif PACKETVER >= 20080415
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00be, 4) // ZC_STATUS_CHANGE
+packetLen(0x00be, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
#elif PACKETVER >= 20080311
-packetLen(0x00be, 11) // ZC_STATUS_CHANGE
+packetLen(0x00be, 11)
#elif PACKETVER >= 20080304
-packetLen(0x00be, 10) // ZC_STATUS_CHANGE
+packetLen(0x00be, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
#endif
// Packet: 0x00bf
#if PACKETVER >= 20081217
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+packetLen(0x00bf, 8)
#elif PACKETVER >= 20081119
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00bf, 22) // CZ_REQ_EMOTION
+packetLen(0x00bf, 22)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00bf, 16) // CZ_REQ_EMOTION
+packetLen(0x00bf, 16)
#elif PACKETVER >= 20081022
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00bf, 21) // CZ_REQ_EMOTION
+packetLen(0x00bf, 21)
#elif PACKETVER >= 20081008
-packetLen(0x00bf, 7) // CZ_REQ_EMOTION
+packetLen(0x00bf, 7)
#elif PACKETVER >= 20080924
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+packetLen(0x00bf, 8)
#elif PACKETVER >= 20080910
-packetLen(0x00bf, 44) // CZ_REQ_EMOTION
+packetLen(0x00bf, 44)
#elif PACKETVER >= 20080827
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00bf, 6) // CZ_REQ_EMOTION
+packetLen(0x00bf, 6)
#elif PACKETVER >= 20080813
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+packetLen(0x00bf, 8)
#elif PACKETVER >= 20080722
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00bf, 4) // CZ_REQ_EMOTION
+packetLen(0x00bf, 4)
#elif PACKETVER >= 20080708
-packetLen(0x00bf, 54) // CZ_REQ_EMOTION
+packetLen(0x00bf, 54)
#elif PACKETVER >= 20080610
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#elif PACKETVER >= 20080528
-packetLen(0x00bf, 65) // CZ_REQ_EMOTION
+packetLen(0x00bf, 65)
#elif PACKETVER >= 20080520
-packetLen(0x00bf, 8) // CZ_REQ_EMOTION
+packetLen(0x00bf, 8)
#elif PACKETVER >= 20080513
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00bf, 11) // CZ_REQ_EMOTION
+packetLen(0x00bf, 11)
#elif PACKETVER >= 20080429
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00bf, 32) // CZ_REQ_EMOTION
+packetLen(0x00bf, 32)
#elif PACKETVER >= 20080325
-packetLen(0x00bf, 60) // CZ_REQ_EMOTION
+packetLen(0x00bf, 60)
#elif PACKETVER >= 20080304
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00bf, 29) // CZ_REQ_EMOTION
+packetLen(0x00bf, 29)
#elif PACKETVER >= 20080219
-packetLen(0x00bf, 12) // CZ_REQ_EMOTION
+packetLen(0x00bf, 12)
#elif PACKETVER >= 20080124
-packetLen(0x00bf, 6) // CZ_REQ_EMOTION
+packetLen(0x00bf, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#endif
// Packet: 0x00c0
#if PACKETVER >= 20081217
-packetLen(0x00c0, 54) // ZC_EMOTION
+packetLen(0x00c0, 54)
#elif PACKETVER >= 20081203
-packetLen(0x00c0, 5) // ZC_EMOTION
+packetLen(0x00c0, 5)
#elif PACKETVER >= 20081126
-packetLen(0x00c0, 6) // ZC_EMOTION
+packetLen(0x00c0, 6)
#elif PACKETVER >= 20081119
-packetLen(0x00c0, 2) // ZC_EMOTION
+packetLen(0x00c0, 2)
#elif PACKETVER >= 20081112
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00c0, 36) // ZC_EMOTION
+packetLen(0x00c0, 36)
#elif PACKETVER >= 20081015
-packetLen(0x00c0, 182) // ZC_EMOTION
+packetLen(0x00c0, 182)
#elif PACKETVER >= 20080827
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00c0, 79) // ZC_EMOTION
+packetLen(0x00c0, 79)
#elif PACKETVER >= 20080813
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00c0, 3) // ZC_EMOTION
+packetLen(0x00c0, 3)
#elif PACKETVER >= 20080730
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00c0, 6) // ZC_EMOTION
+packetLen(0x00c0, 6)
#elif PACKETVER >= 20080715
-packetLen(0x00c0, 4) // ZC_EMOTION
+packetLen(0x00c0, 4)
#elif PACKETVER >= 20080708
-packetLen(0x00c0, 6) // ZC_EMOTION
+packetLen(0x00c0, 6)
#elif PACKETVER >= 20080701
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00c0, 10) // ZC_EMOTION
+packetLen(0x00c0, 10)
#elif PACKETVER >= 20080617
-packetLen(0x00c0, 60) // ZC_EMOTION
+packetLen(0x00c0, 60)
#elif PACKETVER >= 20080610
-packetLen(0x00c0, 39) // ZC_EMOTION
+packetLen(0x00c0, 39)
#elif PACKETVER >= 20080603
-packetLen(0x00c0, 26) // ZC_EMOTION
+packetLen(0x00c0, 26)
#elif PACKETVER >= 20080528
-packetLen(0x00c0, 30) // ZC_EMOTION
+packetLen(0x00c0, 30)
#elif PACKETVER >= 20080520
-packetLen(0x00c0, 2) // ZC_EMOTION
+packetLen(0x00c0, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00c0, 186) // ZC_EMOTION
+packetLen(0x00c0, 186)
#elif PACKETVER >= 20080507
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00c0, 13) // ZC_EMOTION
+packetLen(0x00c0, 13)
#elif PACKETVER >= 20080422
-packetLen(0x00c0, 9) // ZC_EMOTION
+packetLen(0x00c0, 9)
#elif PACKETVER >= 20080415
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
#elif PACKETVER >= 20080401
-packetLen(0x00c0, 2) // ZC_EMOTION
+packetLen(0x00c0, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00c0, 10) // ZC_EMOTION
+packetLen(0x00c0, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00c0, 26) // ZC_EMOTION
+packetLen(0x00c0, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00c0, 21) // ZC_EMOTION
+packetLen(0x00c0, 21)
#elif PACKETVER >= 20080219
-packetLen(0x00c0, 6) // ZC_EMOTION
+packetLen(0x00c0, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
#endif
// Packet: 0x00c1
#if PACKETVER >= 20081112
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00c1, 9) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 9)
#elif PACKETVER >= 20081015
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00c1, 26) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 26)
#elif PACKETVER >= 20081001
-packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 6)
#elif PACKETVER >= 20080924
-packetLen(0x00c1, 21) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 21)
#elif PACKETVER >= 20080917
-packetLen(0x00c1, 8) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 8)
#elif PACKETVER >= 20080903
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00c1, 66) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 66)
#elif PACKETVER >= 20080820
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#elif PACKETVER >= 20080806
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00c1, 186) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 186)
#elif PACKETVER >= 20080715
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00c1, 29) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 29)
#elif PACKETVER >= 20080701
-packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00c1, 81) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 81)
#elif PACKETVER >= 20080507
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00c1, 57) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 57)
#elif PACKETVER >= 20080401
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00c1, 4) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00c1, 16) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 16)
#elif PACKETVER >= 20080304
-packetLen(0x00c1, 9) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 9)
#elif PACKETVER >= 20080226
-packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00c1, 282) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 282)
#elif PACKETVER >= 20080102
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#endif
// Packet: 0x00c2
#if PACKETVER >= 20081203
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00c2, 2) // ZC_USER_COUNT
+packetLen(0x00c2, 2)
#elif PACKETVER >= 20081119
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00c2, 10) // ZC_USER_COUNT
+packetLen(0x00c2, 10)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00c2, 5) // ZC_USER_COUNT
+packetLen(0x00c2, 5)
#elif PACKETVER >= 20081001
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
#elif PACKETVER >= 20080910
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00c2, 26) // ZC_USER_COUNT
+packetLen(0x00c2, 26)
#elif PACKETVER >= 20080827
-packetLen(0x00c2, 17) // ZC_USER_COUNT
+packetLen(0x00c2, 17)
#elif PACKETVER >= 20080820
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00c2, 14) // ZC_USER_COUNT
+packetLen(0x00c2, 14)
#elif PACKETVER >= 20080701
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00c2, 8) // ZC_USER_COUNT
+packetLen(0x00c2, 8)
#elif PACKETVER >= 20080617
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00c2, 2) // ZC_USER_COUNT
+packetLen(0x00c2, 2)
#elif PACKETVER >= 20080603
-packetLen(0x00c2, 90) // ZC_USER_COUNT
+packetLen(0x00c2, 90)
#elif PACKETVER >= 20080507
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00c2, 16) // ZC_USER_COUNT
+packetLen(0x00c2, 16)
#elif PACKETVER >= 20080422
-packetLen(0x00c2, 4) // ZC_USER_COUNT
+packetLen(0x00c2, 4)
#elif PACKETVER >= 20080415
-packetLen(0x00c2, 5) // ZC_USER_COUNT
+packetLen(0x00c2, 5)
#elif PACKETVER >= 20080408
-packetLen(0x00c2, 2) // ZC_USER_COUNT
+packetLen(0x00c2, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00c2, 26) // ZC_USER_COUNT
+packetLen(0x00c2, 26)
#elif PACKETVER >= 20080325
-packetLen(0x00c2, 10) // ZC_USER_COUNT
+packetLen(0x00c2, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00c2, 54) // ZC_USER_COUNT
+packetLen(0x00c2, 54)
#elif PACKETVER >= 20080311
-packetLen(0x00c2, 4) // ZC_USER_COUNT
+packetLen(0x00c2, 4)
#elif PACKETVER >= 20080304
-packetLen(0x00c2, 39) // ZC_USER_COUNT
+packetLen(0x00c2, 39)
#elif PACKETVER >= 20080226
-packetLen(0x00c2, 282) // ZC_USER_COUNT
+packetLen(0x00c2, 282)
#elif PACKETVER >= 20080219
-packetLen(0x00c2, 4) // ZC_USER_COUNT
+packetLen(0x00c2, 4)
#elif PACKETVER >= 20080124
-packetLen(0x00c2, 3) // ZC_USER_COUNT
+packetLen(0x00c2, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
#endif
// Packet: 0x00c3
#if PACKETVER >= 20081217
-packetLen(0x00c3, 5) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 5)
#elif PACKETVER >= 20081112
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 10)
#elif PACKETVER >= 20081029
-packetLen(0x00c3, 2) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 2)
#elif PACKETVER >= 20081015
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00c3, 24) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 24)
#elif PACKETVER >= 20080917
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#elif PACKETVER >= 20080903
-packetLen(0x00c3, 22) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 22)
#elif PACKETVER >= 20080813
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00c3, 6) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 6)
#elif PACKETVER >= 20080715
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00c3, 9) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 9)
#elif PACKETVER >= 20080701
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00c3, 3) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 3)
#elif PACKETVER >= 20080617
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00c3, 42) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 42)
#elif PACKETVER >= 20080603
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 10)
#elif PACKETVER >= 20080415
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00c3, 4) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 4)
#elif PACKETVER >= 20080401
-packetLen(0x00c3, 66) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 66)
#elif PACKETVER >= 20080325
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00c3, 3) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00c3, 68) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 68)
#elif PACKETVER >= 20080304
-packetLen(0x00c3, 26) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 26)
#elif PACKETVER >= 20080226
-packetLen(0x00c3, 28) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 28)
#elif PACKETVER >= 20080219
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#elif PACKETVER >= 20080124
-packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#endif
// Packet: 0x00c4
#if PACKETVER >= 20081203
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00c4, 15) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 15)
#elif PACKETVER >= 20081119
-packetLen(0x00c4, 71) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 71)
#elif PACKETVER >= 20081112
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00c4, 67) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 67)
#elif PACKETVER >= 20081022
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00c4, 26) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 26)
#elif PACKETVER >= 20081008
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00c4, 10) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 10)
#elif PACKETVER >= 20080924
-packetLen(0x00c4, 26) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 26)
#elif PACKETVER >= 20080917
-packetLen(0x00c4, 5) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 5)
#elif PACKETVER >= 20080806
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00c4, 7) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 7)
#elif PACKETVER >= 20080715
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00c4, 186) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 186)
#elif PACKETVER >= 20080701
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00c4, 14) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 14)
#elif PACKETVER >= 20080617
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00c4, 29) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 29)
#elif PACKETVER >= 20080429
-packetLen(0x00c4, 71) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 71)
#elif PACKETVER >= 20080422
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00c4, 11) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 11)
#elif PACKETVER >= 20080408
-packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00c4, 3) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 3)
#elif PACKETVER >= 20080318
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00c4, 4) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00c4, 114) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 114)
#elif PACKETVER >= 20080219
-packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00c4, 4) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#endif
// Packet: 0x00c5
#if PACKETVER >= 20081217
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00c5, 16) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 16)
#elif PACKETVER >= 20081112
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 8)
#elif PACKETVER >= 20081022
-packetLen(0x00c5, 5) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 5)
#elif PACKETVER >= 20081015
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00c5, 28) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 28)
#elif PACKETVER >= 20081001
-packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 8)
#elif PACKETVER >= 20080924
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00c5, 6) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 6)
#elif PACKETVER >= 20080827
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00c5, 2) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 2)
#elif PACKETVER >= 20080806
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00c5, 4) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 4)
#elif PACKETVER >= 20080722
-packetLen(0x00c5, 30) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 30)
#elif PACKETVER >= 20080715
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00c5, 16) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 16)
#elif PACKETVER >= 20080624
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 9)
#elif PACKETVER >= 20080610
-packetLen(0x00c5, 114) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 114)
#elif PACKETVER >= 20080603
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00c5, 10) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 10)
#elif PACKETVER >= 20080520
-packetLen(0x00c5, 4) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 4)
#elif PACKETVER >= 20080513
-packetLen(0x00c5, 6) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 8)
#elif PACKETVER >= 20080429
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
#elif PACKETVER >= 20080401
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00c5, 30) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 30)
#elif PACKETVER >= 20080318
-packetLen(0x00c5, 3) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 9)
#elif PACKETVER >= 20080124
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
#endif
// Packet: 0x00c6
#if PACKETVER >= 20081126
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00c6, 14) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 14)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081015
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00c6, 5) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 5)
#elif PACKETVER >= 20080917
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00c6, 19) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 19)
#elif PACKETVER >= 20080813
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00c6, 18) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 18)
#elif PACKETVER >= 20080722
-packetLen(0x00c6, 11) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 11)
#elif PACKETVER >= 20080715
-packetLen(0x00c6, 26) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 26)
#elif PACKETVER >= 20080617
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 8)
#elif PACKETVER >= 20080520
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00c6, 21) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 21)
#elif PACKETVER >= 20080422
-packetLen(0x00c6, 4) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00c6, 31) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 31)
#elif PACKETVER >= 20080311
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00c6, 5) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 5)
#elif PACKETVER >= 20080226
-packetLen(0x00c6, 13) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 13)
#elif PACKETVER >= 20080219
-packetLen(0x00c6, 3) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#endif
// Packet: 0x00c7
#if PACKETVER >= 20081126
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00c7, 10) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 10)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00c7, 2) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 2)
#elif PACKETVER >= 20081015
-packetLen(0x00c7, 15) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 15)
#elif PACKETVER >= 20081008
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00c7, 13) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 13)
#elif PACKETVER >= 20080924
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080917
-packetLen(0x00c7, 14) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 14)
#elif PACKETVER >= 20080910
-packetLen(0x00c7, 10) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 10)
#elif PACKETVER >= 20080903
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080827
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080813
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00c7, 26) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 26)
#elif PACKETVER >= 20080722
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00c7, 18) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 18)
#elif PACKETVER >= 20080708
-packetLen(0x00c7, 27) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 27)
#elif PACKETVER >= 20080701
-packetLen(0x00c7, 182) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 182)
#elif PACKETVER >= 20080624
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00c7, 3) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00c7, 22) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 22)
#elif PACKETVER >= 20080513
-packetLen(0x00c7, 4) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00c7, 53) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 53)
#elif PACKETVER >= 20080415
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00c7, 26) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 26)
#elif PACKETVER >= 20080325
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00c7, 58) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 58)
#elif PACKETVER >= 20080311
-packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 90)
#elif PACKETVER >= 20080304
-packetLen(0x00c7, 67) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 67)
#elif PACKETVER >= 20080226
-packetLen(0x00c7, 5) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 90)
#elif PACKETVER >= 20080124
-packetLen(0x00c7, 6) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#endif
// Packet: 0x00c8
#if PACKETVER >= 20081105
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 6)
#elif PACKETVER >= 20081022
-packetLen(0x00c8, 8) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 8)
#elif PACKETVER >= 20080917
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 6)
#elif PACKETVER >= 20080903
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00c8, 3) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 3)
#elif PACKETVER >= 20080813
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00c8, 11) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 11)
#elif PACKETVER >= 20080730
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00c8, 20) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 20)
#elif PACKETVER >= 20080715
-packetLen(0x00c8, 11) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 11)
#elif PACKETVER >= 20080708
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00c8, 2) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 2)
#elif PACKETVER >= 20080624
-packetLen(0x00c8, 4) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 4)
#elif PACKETVER >= 20080617
-packetLen(0x00c8, 15) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 15)
#elif PACKETVER >= 20080603
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00c8, 66) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 66)
#elif PACKETVER >= 20080325
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00c8, 2) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00c8, 14) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 14)
#elif PACKETVER >= 20080304
-packetLen(0x00c8, 53) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 53)
#elif PACKETVER >= 20080226
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00c8, 10) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00c8, 6) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#endif
// Packet: 0x00c9
#if PACKETVER >= 20081119
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00c9, 3) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 3)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00c9, 9) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 9)
#elif PACKETVER >= 20081029
-packetLen(0x00c9, 26) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 26)
#elif PACKETVER >= 20081022
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00c9, 30) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 30)
#elif PACKETVER >= 20081008
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00c9, 7) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 7)
#elif PACKETVER >= 20080924
-packetLen(0x00c9, 4) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 4)
#elif PACKETVER >= 20080903
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00c9, 14) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 14)
#elif PACKETVER >= 20080820
-packetLen(0x00c9, 2) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 2)
#elif PACKETVER >= 20080813
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00c9, 3) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 3)
#elif PACKETVER >= 20080730
-packetLen(0x00c9, 8) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 8)
#elif PACKETVER >= 20080722
-packetLen(0x00c9, 29) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 29)
#elif PACKETVER >= 20080715
-packetLen(0x00c9, 14) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 14)
#elif PACKETVER >= 20080708
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00c9, 39) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 39)
#elif PACKETVER >= 20080624
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00c9, 36) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 36)
#elif PACKETVER >= 20080610
-packetLen(0x00c9, 9) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 9)
#elif PACKETVER >= 20080603
-packetLen(0x00c9, 30) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 30)
#elif PACKETVER >= 20080520
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00c9, 5) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 5)
#elif PACKETVER >= 20080102
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#endif
// Packet: 0x00ca
#if PACKETVER >= 20081126
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00ca, 29) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 29)
#elif PACKETVER >= 20081112
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00ca, 2) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 2)
#elif PACKETVER >= 20081015
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00ca, 4) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 4)
#elif PACKETVER >= 20081001
-packetLen(0x00ca, 10) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 10)
#elif PACKETVER >= 20080924
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00ca, 30) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 30)
#elif PACKETVER >= 20080903
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00ca, 30) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 30)
#elif PACKETVER >= 20080820
-packetLen(0x00ca, 86) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 86)
#elif PACKETVER >= 20080813
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00ca, 2) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 2)
#elif PACKETVER >= 20080715
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00ca, 8) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 8)
#elif PACKETVER >= 20080610
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00ca, 31) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 31)
#elif PACKETVER >= 20080513
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00ca, 7) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 7)
#elif PACKETVER >= 20080422
-packetLen(0x00ca, 6) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00ca, 17) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 17)
#elif PACKETVER >= 20080408
-packetLen(0x00ca, 14) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 14)
#elif PACKETVER >= 20080401
-packetLen(0x00ca, 2) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00ca, 4) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00ca, 9) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 9)
#elif PACKETVER >= 20080226
-packetLen(0x00ca, 23) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 23)
#elif PACKETVER >= 20080219
-packetLen(0x00ca, 86) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 86)
#elif PACKETVER >= 20080124
-packetLen(0x00ca, 36) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 36)
#elif PACKETVER >= 20080102
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#endif
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
#if PACKETVER >= 20081217
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00cc, 4) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 4)
#elif PACKETVER >= 20081126
-packetLen(0x00cc, 14) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 14)
#elif PACKETVER >= 20081112
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 10)
#elif PACKETVER >= 20081022
-packetLen(0x00cc, 15) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 15)
#elif PACKETVER >= 20081001
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20080903
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 10)
#elif PACKETVER >= 20080813
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00cc, 33) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 33)
#elif PACKETVER >= 20080730
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20080708
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00cc, 33) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 33)
#elif PACKETVER >= 20080617
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00cc, 28) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 28)
#elif PACKETVER >= 20080603
-packetLen(0x00cc, 2) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00cc, 26) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 26)
#elif PACKETVER >= 20080507
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 10)
#elif PACKETVER >= 20080422
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00cc, 2) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00cc, 3) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00cc, 10) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00cc, 14) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 14)
#elif PACKETVER >= 20080304
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00cc, 7) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 7)
#elif PACKETVER >= 20080124
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#endif
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
#if PACKETVER >= 20081217
-packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 8)
#elif PACKETVER >= 20081112
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00ce, 282) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 282)
#elif PACKETVER >= 20081022
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 6)
#elif PACKETVER >= 20081008
-packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 8)
#elif PACKETVER >= 20081001
-packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 6)
#elif PACKETVER >= 20080924
-packetLen(0x00ce, 9) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 9)
#elif PACKETVER >= 20080917
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00ce, 5) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 5)
#elif PACKETVER >= 20080903
-packetLen(0x00ce, 53) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 53)
#elif PACKETVER >= 20080820
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00ce, 60) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 60)
#elif PACKETVER >= 20080806
-packetLen(0x00ce, 15) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 15)
#elif PACKETVER >= 20080730
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
#elif PACKETVER >= 20080722
-packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 8)
#elif PACKETVER >= 20080715
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 8)
#elif PACKETVER >= 20080701
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ce, 4) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 4)
#elif PACKETVER >= 20080617
-packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 11)
#elif PACKETVER >= 20080610
-packetLen(0x00ce, 22) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 22)
#elif PACKETVER >= 20080603
-packetLen(0x00ce, 102) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 102)
#elif PACKETVER >= 20080528
-packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 11)
#elif PACKETVER >= 20080520
-packetLen(0x00ce, 3) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00ce, 9) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 9)
#elif PACKETVER >= 20080507
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00ce, 114) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 114)
#elif PACKETVER >= 20080422
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 10)
#elif PACKETVER >= 20080408
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ce, 30) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 30)
#elif PACKETVER >= 20080325
-packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00ce, 7) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 7)
#elif PACKETVER >= 20080311
-packetLen(0x00ce, 10) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
#endif
// Packet: 0x00cf
#if PACKETVER >= 20081126
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 5)
#elif PACKETVER >= 20081112
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 5)
#elif PACKETVER >= 20081015
-packetLen(0x00cf, 4) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 4)
#elif PACKETVER >= 20081008
-packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 6)
#elif PACKETVER >= 20080924
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00cf, 90) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 90)
#elif PACKETVER >= 20080910
-packetLen(0x00cf, 30) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 30)
#elif PACKETVER >= 20080827
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 2)
#elif PACKETVER >= 20080730
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00cf, 7) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 7)
#elif PACKETVER >= 20080624
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00cf, 30) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00cf, 57) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 57)
#elif PACKETVER >= 20080603
-packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 5)
#elif PACKETVER >= 20080520
-packetLen(0x00cf, 8) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 8)
#elif PACKETVER >= 20080513
-packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 2)
#elif PACKETVER >= 20080507
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00cf, 5) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 5)
#elif PACKETVER >= 20080422
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
#elif PACKETVER >= 20080415
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00cf, 60) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 60)
#elif PACKETVER >= 20080325
-packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00cf, 6) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00cf, 16) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 16)
#elif PACKETVER >= 20080219
-packetLen(0x00cf, 9) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 9)
#elif PACKETVER >= 20080124
-packetLen(0x00cf, 11) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 11)
#elif PACKETVER >= 20080102
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
#endif
// Packet: 0x00d0
#if PACKETVER >= 20081112
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00d0, 6) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 6)
#elif PACKETVER >= 20081029
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00d0, 6) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 6)
#elif PACKETVER >= 20081001
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00d0, 29) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 29)
#elif PACKETVER >= 20080917
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 10)
#elif PACKETVER >= 20080903
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20080820
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00d0, 55) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 55)
#elif PACKETVER >= 20080806
-packetLen(0x00d0, 60) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 60)
#elif PACKETVER >= 20080730
-packetLen(0x00d0, 11) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 11)
#elif PACKETVER >= 20080722
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00d0, 6) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 6)
#elif PACKETVER >= 20080708
-packetLen(0x00d0, 68) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 68)
#elif PACKETVER >= 20080610
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00d0, 30) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 30)
#elif PACKETVER >= 20080513
-packetLen(0x00d0, 114) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 114)
#elif PACKETVER >= 20080507
-packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 14)
#elif PACKETVER >= 20080429
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00d0, 4) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 4)
#elif PACKETVER >= 20080401
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00d0, 8) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 8)
#elif PACKETVER >= 20080318
-packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 14)
#elif PACKETVER >= 20080311
-packetLen(0x00d0, 10) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00d0, 2) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00d0, 182) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 182)
#elif PACKETVER >= 20080102
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#endif
// Packet: 0x00d1
#if PACKETVER >= 20081217
-packetLen(0x00d1, 16) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 16)
#elif PACKETVER >= 20081203
-packetLen(0x00d1, 8) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 8)
#elif PACKETVER >= 20081126
-packetLen(0x00d1, 11) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 11)
#elif PACKETVER >= 20081119
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00d1, 282) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 282)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00d1, 23) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 23)
#elif PACKETVER >= 20081022
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00d1, 3) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 3)
#elif PACKETVER >= 20081008
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20080924
-packetLen(0x00d1, 9) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 9)
#elif PACKETVER >= 20080820
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00d1, 11) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 11)
#elif PACKETVER >= 20080806
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00d1, 53) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 53)
#elif PACKETVER >= 20080708
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00d1, 26) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 26)
#elif PACKETVER >= 20080624
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00d1, 5) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 5)
#elif PACKETVER >= 20080528
-packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 10)
#elif PACKETVER >= 20080520
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00d1, 54) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 54)
#elif PACKETVER >= 20080507
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00d1, 3) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 3)
#elif PACKETVER >= 20080422
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00d1, 43) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 43)
#elif PACKETVER >= 20080408
-packetLen(0x00d1, 67) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 67)
#elif PACKETVER >= 20080401
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 10)
#elif PACKETVER >= 20080219
-packetLen(0x00d1, 13) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 13)
#elif PACKETVER >= 20080124
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
#endif
// Packet: 0x00d2
#if PACKETVER >= 20081217
-packetLen(0x00d2, 8) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 8)
#elif PACKETVER >= 20081203
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20081126
-packetLen(0x00d2, 2) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 2)
#elif PACKETVER >= 20081119
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
#elif PACKETVER >= 20081105
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20081008
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00d2, 10) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 10)
#elif PACKETVER >= 20080924
-packetLen(0x00d2, 15) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 15)
#elif PACKETVER >= 20080917
-packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 30)
#elif PACKETVER >= 20080910
-packetLen(0x00d2, 2) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 2)
#elif PACKETVER >= 20080903
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080820
-packetLen(0x00d2, 9) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 9)
#elif PACKETVER >= 20080813
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00d2, 2) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 2)
#elif PACKETVER >= 20080730
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 30)
#elif PACKETVER >= 20080708
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00d2, 16) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 16)
#elif PACKETVER >= 20080610
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00d2, 7) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 7)
#elif PACKETVER >= 20080528
-packetLen(0x00d2, 11) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 11)
#elif PACKETVER >= 20080520
-packetLen(0x00d2, 9) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 9)
#elif PACKETVER >= 20080513
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00d2, 10) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 10)
#elif PACKETVER >= 20080415
-packetLen(0x00d2, 8) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 8)
#elif PACKETVER >= 20080408
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00d2, 7) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 7)
#elif PACKETVER >= 20080318
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 30)
#elif PACKETVER >= 20080304
-packetLen(0x00d2, 16) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 16)
#elif PACKETVER >= 20080226
-packetLen(0x00d2, 14) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00d2, 20) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 20)
#elif PACKETVER >= 20080102
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
#endif
// Packet: 0x00d3
#if PACKETVER >= 20081217
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00d3, 10) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 10)
#elif PACKETVER >= 20081126
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00d3, 4) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 4)
#elif PACKETVER >= 20081112
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081015
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00d3, 8) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 8)
#elif PACKETVER >= 20081001
-packetLen(0x00d3, 18) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 18)
#elif PACKETVER >= 20080924
-packetLen(0x00d3, 10) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 10)
#elif PACKETVER >= 20080917
-packetLen(0x00d3, 35) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 35)
#elif PACKETVER >= 20080813
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 3)
#elif PACKETVER >= 20080730
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00d3, 7) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 7)
#elif PACKETVER >= 20080715
-packetLen(0x00d3, 23) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 23)
#elif PACKETVER >= 20080701
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 26)
#elif PACKETVER >= 20080429
-packetLen(0x00d3, 3) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 3)
#elif PACKETVER >= 20080422
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00d3, 20) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 20)
#elif PACKETVER >= 20080408
-packetLen(0x00d3, 19) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 19)
#elif PACKETVER >= 20080401
-packetLen(0x00d3, 33) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 33)
#elif PACKETVER >= 20080325
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00d3, 12) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 12)
#elif PACKETVER >= 20080311
-packetLen(0x00d3, 14) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 14)
#elif PACKETVER >= 20080226
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 26)
#elif PACKETVER >= 20080124
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#endif
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
#if PACKETVER >= 20081217
-packetLen(0x00d5, 58) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 58)
#elif PACKETVER >= 20081203
-packetLen(0x00d5, 6) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 6)
#elif PACKETVER >= 20081126
-packetLen(0x00d5, 19) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 19)
#elif PACKETVER >= 20081119
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00d5, 6) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 6)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00d5, 2) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 2)
#elif PACKETVER >= 20081022
-packetLen(0x00d5, 26) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 26)
#elif PACKETVER >= 20081015
-packetLen(0x00d5, 6) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 6)
#elif PACKETVER >= 20081008
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00d5, 2) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 2)
#elif PACKETVER >= 20080820
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00d5, 29) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 29)
#elif PACKETVER >= 20080730
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 10)
#elif PACKETVER >= 20080715
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 10)
#elif PACKETVER >= 20080701
-packetLen(0x00d5, 7) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 7)
#elif PACKETVER >= 20080603
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d5, 81) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 81)
#elif PACKETVER >= 20080513
-packetLen(0x00d5, 8) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00d5, 26) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 26)
#elif PACKETVER >= 20080415
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00d5, 60) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 60)
#elif PACKETVER >= 20080401
-packetLen(0x00d5, 21) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 21)
#elif PACKETVER >= 20080325
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00d5, 114) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 114)
#elif PACKETVER >= 20080311
-packetLen(0x00d5, 2) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00d5, 3) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 3)
#elif PACKETVER >= 20080226
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00d5, 7) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#endif
// Packet: 0x00d6
#if PACKETVER >= 20081217
-packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 6)
#elif PACKETVER >= 20081203
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00d6, 10) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 10)
#elif PACKETVER >= 20081119
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00d6, 16) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 16)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 6)
#elif PACKETVER >= 20081029
-packetLen(0x00d6, 11) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 11)
#elif PACKETVER >= 20081022
-packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 8)
#elif PACKETVER >= 20081015
-packetLen(0x00d6, 7) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 7)
#elif PACKETVER >= 20081008
-packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 8)
#elif PACKETVER >= 20080924
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00d6, 27) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 27)
#elif PACKETVER >= 20080903
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00d6, 7) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 7)
#elif PACKETVER >= 20080820
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00d6, 86) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 86)
#elif PACKETVER >= 20080730
-packetLen(0x00d6, 2) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 2)
#elif PACKETVER >= 20080715
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 6)
#elif PACKETVER >= 20080701
-packetLen(0x00d6, 15) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 15)
#elif PACKETVER >= 20080624
-packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00d6, 26) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 26)
#elif PACKETVER >= 20080603
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00d6, 26) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 26)
#elif PACKETVER >= 20080513
-packetLen(0x00d6, 16) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 16)
#elif PACKETVER >= 20080429
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00d6, 282) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 282)
#elif PACKETVER >= 20080415
-packetLen(0x00d6, 21) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 21)
#elif PACKETVER >= 20080408
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00d6, 10) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 10)
#elif PACKETVER >= 20080325
-packetLen(0x00d6, 58) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 58)
#elif PACKETVER >= 20080318
-packetLen(0x00d6, 6) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 8)
#elif PACKETVER >= 20080304
-packetLen(0x00d6, 68) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 68)
#elif PACKETVER >= 20080226
-packetLen(0x00d6, 30) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#endif
// Packet: 0x00d7
#if PACKETVER >= 20081126
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00d7, 22) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 22)
#elif PACKETVER >= 20081112
-packetLen(0x00d7, 27) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 27)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00d7, 35) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 35)
#elif PACKETVER >= 20081008
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00d7, 28) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 28)
#elif PACKETVER >= 20080924
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 10)
#elif PACKETVER >= 20080903
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00d7, 2) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 2)
#elif PACKETVER >= 20080820
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00d7, 9) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 9)
#elif PACKETVER >= 20080806
-packetLen(0x00d7, 2) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 2)
#elif PACKETVER >= 20080730
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 10)
#elif PACKETVER >= 20080708
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 10)
#elif PACKETVER >= 20080624
-packetLen(0x00d7, 26) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 26)
#elif PACKETVER >= 20080603
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 8)
#elif PACKETVER >= 20080520
-packetLen(0x00d7, 9) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 9)
#elif PACKETVER >= 20080513
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00d7, 39) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 39)
#elif PACKETVER >= 20080408
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00d7, 5) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 5)
#elif PACKETVER >= 20080318
-packetLen(0x00d7, 4) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00d7, 67) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 67)
#elif PACKETVER >= 20080304
-packetLen(0x00d7, 24) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 24)
#elif PACKETVER >= 20080226
-packetLen(0x00d7, 28) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 28)
#elif PACKETVER >= 20080219
-packetLen(0x00d7, 3) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00d7, 8) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 8)
#elif PACKETVER >= 20080102
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#endif
// Packet: 0x00d8
#if PACKETVER >= 20081217
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00d8, 3) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 3)
#elif PACKETVER >= 20081126
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
#elif PACKETVER >= 20081119
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00d8, 28) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 28)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00d8, 26) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 26)
#elif PACKETVER >= 20081029
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
#elif PACKETVER >= 20081008
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20080910
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00d8, 7) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 7)
#elif PACKETVER >= 20080722
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00d8, 57) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 57)
#elif PACKETVER >= 20080617
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00d8, 30) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 30)
#elif PACKETVER >= 20080603
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d8, 5) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 5)
#elif PACKETVER >= 20080520
-packetLen(0x00d8, 7) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 7)
#elif PACKETVER >= 20080513
-packetLen(0x00d8, 53) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 53)
#elif PACKETVER >= 20080507
-packetLen(0x00d8, 17) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 17)
#elif PACKETVER >= 20080422
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00d8, 9) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 9)
#elif PACKETVER >= 20080408
-packetLen(0x00d8, 26) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 26)
#elif PACKETVER >= 20080325
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00d8, 30) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00d8, 16) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 16)
#elif PACKETVER >= 20080219
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00d8, 4) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
#endif
// Packet: 0x00d9
#if PACKETVER >= 20081217
-packetLen(0x00d9, 55) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 55)
#elif PACKETVER >= 20081112
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081015
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00d9, 4) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 4)
#elif PACKETVER >= 20080917
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080827
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00d9, 10) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 10)
#elif PACKETVER >= 20080813
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00d9, 8) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 8)
#elif PACKETVER >= 20080730
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00d9, 26) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 26)
#elif PACKETVER >= 20080715
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00d9, 28) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 28)
#elif PACKETVER >= 20080603
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00d9, 4) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 4)
#elif PACKETVER >= 20080520
-packetLen(0x00d9, 5) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 5)
#elif PACKETVER >= 20080513
-packetLen(0x00d9, 10) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 10)
#elif PACKETVER >= 20080507
-packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#elif PACKETVER >= 20080401
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#elif PACKETVER >= 20080311
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00d9, 7) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00d9, 282) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 282)
#elif PACKETVER >= 20080102
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#endif
// Packet: 0x00da
#if PACKETVER >= 20081217
-packetLen(0x00da, 21) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 21)
#elif PACKETVER >= 20081126
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00da, 2) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 2)
#elif PACKETVER >= 20081112
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00da, 8) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 8)
#elif PACKETVER >= 20081022
-packetLen(0x00da, 28) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 28)
#elif PACKETVER >= 20081008
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00da, 19) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 19)
#elif PACKETVER >= 20080924
-packetLen(0x00da, 90) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 90)
#elif PACKETVER >= 20080917
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 6)
#elif PACKETVER >= 20080820
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00da, 26) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 26)
#elif PACKETVER >= 20080806
-packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00da, 10) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 10)
#elif PACKETVER >= 20080722
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#elif PACKETVER >= 20080715
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00da, 19) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 19)
#elif PACKETVER >= 20080701
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00da, 53) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 53)
#elif PACKETVER >= 20080610
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00da, 24) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 24)
#elif PACKETVER >= 20080513
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#elif PACKETVER >= 20080422
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00da, 31) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 31)
#elif PACKETVER >= 20080401
-packetLen(0x00da, 13) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 13)
#elif PACKETVER >= 20080325
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00da, 30) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00da, 8) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00da, 14) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00da, 54) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 54)
#elif PACKETVER >= 20080124
-packetLen(0x00da, 18) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 18)
#elif PACKETVER >= 20080102
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#endif
// Packet: 0x00db
#if PACKETVER >= 20081217
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00db, 6) // ZC_ENTER_ROOM
+packetLen(0x00db, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20081105
-packetLen(0x00db, 28) // ZC_ENTER_ROOM
+packetLen(0x00db, 28)
#elif PACKETVER >= 20081029
-packetLen(0x00db, 14) // ZC_ENTER_ROOM
+packetLen(0x00db, 14)
#elif PACKETVER >= 20081022
-packetLen(0x00db, 6) // ZC_ENTER_ROOM
+packetLen(0x00db, 6)
#elif PACKETVER >= 20081015
-packetLen(0x00db, 2) // ZC_ENTER_ROOM
+packetLen(0x00db, 2)
#elif PACKETVER >= 20081008
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00db, 4) // ZC_ENTER_ROOM
+packetLen(0x00db, 4)
#elif PACKETVER >= 20080917
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00db, 28) // ZC_ENTER_ROOM
+packetLen(0x00db, 28)
#elif PACKETVER >= 20080827
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00db, 6) // ZC_ENTER_ROOM
+packetLen(0x00db, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00db, 23) // ZC_ENTER_ROOM
+packetLen(0x00db, 23)
#elif PACKETVER >= 20080715
-packetLen(0x00db, 7) // ZC_ENTER_ROOM
+packetLen(0x00db, 7)
#elif PACKETVER >= 20080708
-packetLen(0x00db, 10) // ZC_ENTER_ROOM
+packetLen(0x00db, 10)
#elif PACKETVER >= 20080701
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00db, 7) // ZC_ENTER_ROOM
+packetLen(0x00db, 7)
#elif PACKETVER >= 20080603
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00db, 3) // ZC_ENTER_ROOM
+packetLen(0x00db, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00db, 4) // ZC_ENTER_ROOM
+packetLen(0x00db, 4)
#elif PACKETVER >= 20080513
-packetLen(0x00db, 30) // ZC_ENTER_ROOM
+packetLen(0x00db, 30)
#elif PACKETVER >= 20080429
-packetLen(0x00db, 2) // ZC_ENTER_ROOM
+packetLen(0x00db, 2)
#elif PACKETVER >= 20080422
-packetLen(0x00db, 67) // ZC_ENTER_ROOM
+packetLen(0x00db, 67)
#elif PACKETVER >= 20080415
-packetLen(0x00db, 33) // ZC_ENTER_ROOM
+packetLen(0x00db, 33)
#elif PACKETVER >= 20080408
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00db, 18) // ZC_ENTER_ROOM
+packetLen(0x00db, 18)
#elif PACKETVER >= 20080325
-packetLen(0x00db, 2) // ZC_ENTER_ROOM
+packetLen(0x00db, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00db, 6) // ZC_ENTER_ROOM
+packetLen(0x00db, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00db, 31) // ZC_ENTER_ROOM
+packetLen(0x00db, 31)
#elif PACKETVER >= 20080226
-packetLen(0x00db, 26) // ZC_ENTER_ROOM
+packetLen(0x00db, 26)
#elif PACKETVER >= 20080219
-packetLen(0x00db, 4) // ZC_ENTER_ROOM
+packetLen(0x00db, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#endif
// Packet: 0x00dc
#if PACKETVER >= 20081112
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00dc, 5) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 5)
#elif PACKETVER >= 20081029
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00dc, 5) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 5)
#elif PACKETVER >= 20081015
-packetLen(0x00dc, 7) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 7)
#elif PACKETVER >= 20081008
-packetLen(0x00dc, 33) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 33)
#elif PACKETVER >= 20080917
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00dc, 15) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 15)
#elif PACKETVER >= 20080903
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00dc, 7) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 7)
#elif PACKETVER >= 20080820
-packetLen(0x00dc, 2) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 2)
#elif PACKETVER >= 20080806
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00dc, 10) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 10)
#elif PACKETVER >= 20080722
-packetLen(0x00dc, 5) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 5)
#elif PACKETVER >= 20080715
-packetLen(0x00dc, 4) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 4)
#elif PACKETVER >= 20080708
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00dc, 2) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 2)
#elif PACKETVER >= 20080603
-packetLen(0x00dc, 11) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 11)
#elif PACKETVER >= 20080528
-packetLen(0x00dc, 27) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 27)
#elif PACKETVER >= 20080520
-packetLen(0x00dc, 30) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 30)
#elif PACKETVER >= 20080513
-packetLen(0x00dc, 12) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 12)
#elif PACKETVER >= 20080429
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00dc, 32) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 32)
#elif PACKETVER >= 20080415
-packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00dc, 30) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 30)
#elif PACKETVER >= 20080325
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 29)
#elif PACKETVER >= 20080311
-packetLen(0x00dc, 6) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00dc, 3) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 29)
#elif PACKETVER >= 20080124
-packetLen(0x00dc, 13) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 13)
#elif PACKETVER >= 20080102
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
#endif
// Packet: 0x00dd
#if PACKETVER >= 20081217
-packetLen(0x00dd, 30) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 30)
#elif PACKETVER >= 20081203
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00dd, 97) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 97)
#elif PACKETVER >= 20081119
-packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00dd, 26) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 26)
#elif PACKETVER >= 20081008
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00dd, 282) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 282)
#elif PACKETVER >= 20080924
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00dd, 3) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 3)
#elif PACKETVER >= 20080910
-packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 10)
#elif PACKETVER >= 20080903
-packetLen(0x00dd, 4) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 4)
#elif PACKETVER >= 20080827
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00dd, 2) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 2)
#elif PACKETVER >= 20080813
-packetLen(0x00dd, 282) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 282)
#elif PACKETVER >= 20080806
-packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 10)
#elif PACKETVER >= 20080722
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00dd, 67) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 67)
#elif PACKETVER >= 20080708
-packetLen(0x00dd, 11) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 11)
#elif PACKETVER >= 20080701
-packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00dd, 20) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 20)
#elif PACKETVER >= 20080528
-packetLen(0x00dd, 7) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 7)
#elif PACKETVER >= 20080520
-packetLen(0x00dd, 28) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 28)
#elif PACKETVER >= 20080429
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00dd, 28) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 28)
#elif PACKETVER >= 20080415
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00dd, 15) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 15)
#elif PACKETVER >= 20080325
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00dd, 22) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 22)
#elif PACKETVER >= 20080311
-packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00dd, 6) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00dd, 3) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 3)
#elif PACKETVER >= 20080124
-packetLen(0x00dd, 8) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 8)
#elif PACKETVER >= 20080102
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
#endif
// Packet: 0x00de
#if PACKETVER >= 20081217
-packetLen(0x00de, 13) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 13)
#elif PACKETVER >= 20081203
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00de, 27) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 27)
#elif PACKETVER >= 20081119
-packetLen(0x00de, 44) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 44)
#elif PACKETVER >= 20081112
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20081105
-packetLen(0x00de, 16) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 16)
#elif PACKETVER >= 20081029
-packetLen(0x00de, 67) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 67)
#elif PACKETVER >= 20081022
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00de, 8) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 8)
#elif PACKETVER >= 20081008
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00de, 4) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 4)
#elif PACKETVER >= 20080924
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 6)
#elif PACKETVER >= 20080903
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00de, 15) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 15)
#elif PACKETVER >= 20080820
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00de, 67) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 67)
#elif PACKETVER >= 20080806
-packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00de, 34) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 34)
#elif PACKETVER >= 20080722
-packetLen(0x00de, 57) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 57)
#elif PACKETVER >= 20080715
-packetLen(0x00de, 26) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 26)
#elif PACKETVER >= 20080708
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 5)
#elif PACKETVER >= 20080624
-packetLen(0x00de, 54) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 54)
#elif PACKETVER >= 20080603
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00de, 57) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 57)
#elif PACKETVER >= 20080520
-packetLen(0x00de, 4) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 4)
#elif PACKETVER >= 20080513
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00de, 15) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 15)
#elif PACKETVER >= 20080429
-packetLen(0x00de, 11) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 11)
#elif PACKETVER >= 20080415
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00de, 18) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 18)
#elif PACKETVER >= 20080401
-packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 5)
#elif PACKETVER >= 20080325
-packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00de, 8) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 8)
#elif PACKETVER >= 20080304
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00de, 34) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 34)
#elif PACKETVER >= 20080124
-packetLen(0x00de, 3) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#endif
// Packet: 0x00df
#if PACKETVER >= 20081217
-packetLen(0x00df, 22) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 22)
#elif PACKETVER >= 20081203
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00df, 86) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 86)
#elif PACKETVER >= 20081119
-packetLen(0x00df, 53) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 53)
#elif PACKETVER >= 20081029
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00df, 4) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 4)
#elif PACKETVER >= 20080903
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 6)
#elif PACKETVER >= 20080813
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 3)
#elif PACKETVER >= 20080722
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00df, 10) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 10)
#elif PACKETVER >= 20080708
-packetLen(0x00df, 29) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 29)
#elif PACKETVER >= 20080701
-packetLen(0x00df, 34) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 34)
#elif PACKETVER >= 20080624
-packetLen(0x00df, 11) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 11)
#elif PACKETVER >= 20080617
-packetLen(0x00df, 30) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00df, 10) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 10)
#elif PACKETVER >= 20080603
-packetLen(0x00df, 4) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 4)
#elif PACKETVER >= 20080528
-packetLen(0x00df, 90) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 90)
#elif PACKETVER >= 20080520
-packetLen(0x00df, 23) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 23)
#elif PACKETVER >= 20080513
-packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00df, 8) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 8)
#elif PACKETVER >= 20080422
-packetLen(0x00df, 12) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 12)
#elif PACKETVER >= 20080415
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00df, 282) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 282)
#elif PACKETVER >= 20080401
-packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00df, 5) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 5)
#elif PACKETVER >= 20080318
-packetLen(0x00df, 23) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 23)
#elif PACKETVER >= 20080304
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00df, 9) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 9)
#elif PACKETVER >= 20080219
-packetLen(0x00df, 7) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 7)
#elif PACKETVER >= 20080124
-packetLen(0x00df, 27) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 27)
#elif PACKETVER >= 20080102
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#endif
// Packet: 0x00e0
#if PACKETVER >= 20081203
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00e0, 6) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 6)
#elif PACKETVER >= 20081119
-packetLen(0x00e0, 5) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 5)
#elif PACKETVER >= 20081112
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081015
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00e0, 9) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 9)
#elif PACKETVER >= 20080924
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00e0, 58) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 58)
#elif PACKETVER >= 20080910
-packetLen(0x00e0, 3) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 3)
#elif PACKETVER >= 20080903
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00e0, 15) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 15)
#elif PACKETVER >= 20080820
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080806
-packetLen(0x00e0, 4) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 4)
#elif PACKETVER >= 20080715
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00e0, 16) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 16)
#elif PACKETVER >= 20080701
-packetLen(0x00e0, 9) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 9)
#elif PACKETVER >= 20080617
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00e0, 6) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00e0, 10) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 10)
#elif PACKETVER >= 20080429
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
#elif PACKETVER >= 20080415
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080408
-packetLen(0x00e0, 4) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 4)
#elif PACKETVER >= 20080401
-packetLen(0x00e0, 21) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 21)
#elif PACKETVER >= 20080325
-packetLen(0x00e0, 71) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 71)
#elif PACKETVER >= 20080318
-packetLen(0x00e0, 7) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 7)
#elif PACKETVER >= 20080311
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00e0, 43) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 43)
#elif PACKETVER >= 20080226
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00e0, 31) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 31)
#elif PACKETVER >= 20080124
-packetLen(0x00e0, 18) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 18)
#elif PACKETVER >= 20080102
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
#endif
// Packet: 0x00e1
#if PACKETVER >= 20081203
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 2)
#elif PACKETVER >= 20081119
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00e1, 59) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 59)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00e1, 28) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 28)
#elif PACKETVER >= 20081022
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
#elif PACKETVER >= 20081008
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00e1, 10) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 10)
#elif PACKETVER >= 20080924
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00e1, 6) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 6)
#elif PACKETVER >= 20080910
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00e1, 23) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 23)
#elif PACKETVER >= 20080827
-packetLen(0x00e1, 11) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 11)
#elif PACKETVER >= 20080813
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00e1, 8) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 8)
#elif PACKETVER >= 20080722
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00e1, 21) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 21)
#elif PACKETVER >= 20080708
-packetLen(0x00e1, 10) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 10)
#elif PACKETVER >= 20080610
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00e1, 20) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 20)
#elif PACKETVER >= 20080513
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00e1, 4) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00e1, 6) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00e1, 43) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 43)
#elif PACKETVER >= 20080415
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00e1, 60) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 60)
#elif PACKETVER >= 20080325
-packetLen(0x00e1, 22) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 22)
#elif PACKETVER >= 20080318
-packetLen(0x00e1, 21) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 21)
#elif PACKETVER >= 20080311
-packetLen(0x00e1, 2) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00e1, 60) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 60)
#elif PACKETVER >= 20080226
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00e1, 81) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 81)
#elif PACKETVER >= 20080124
-packetLen(0x00e1, 12) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 12)
#elif PACKETVER >= 20080102
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
#endif
// Packet: 0x00e2
#if PACKETVER >= 20081217
-packetLen(0x00e2, 8) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 8)
#elif PACKETVER >= 20081126
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20081029
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00e2, 2) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 2)
#elif PACKETVER >= 20081008
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00e2, 3) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 3)
#elif PACKETVER >= 20080910
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00e2, 11) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 11)
#elif PACKETVER >= 20080820
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080813
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00e2, 10) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 10)
#elif PACKETVER >= 20080730
-packetLen(0x00e2, 27) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 27)
#elif PACKETVER >= 20080722
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080715
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080624
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00e2, 282) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 282)
#elif PACKETVER >= 20080603
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00e2, 2) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 2)
#elif PACKETVER >= 20080507
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00e2, 6) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#elif PACKETVER >= 20080415
-packetLen(0x00e2, 282) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 282)
#elif PACKETVER >= 20080408
-packetLen(0x00e2, 11) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 11)
#elif PACKETVER >= 20080401
-packetLen(0x00e2, 5) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 5)
#elif PACKETVER >= 20080325
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00e2, 79) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 79)
#elif PACKETVER >= 20080311
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00e2, 31) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 31)
#elif PACKETVER >= 20080226
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#elif PACKETVER >= 20080219
-packetLen(0x00e2, 30) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 30)
#elif PACKETVER >= 20080124
-packetLen(0x00e2, 10) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#endif
// Packet: 0x00e3
#if PACKETVER >= 20081217
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00e3, 11) // CZ_EXIT_ROOM
+packetLen(0x00e3, 11)
#elif PACKETVER >= 20081126
-packetLen(0x00e3, 8) // CZ_EXIT_ROOM
+packetLen(0x00e3, 8)
#elif PACKETVER >= 20081112
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00e3, 15) // CZ_EXIT_ROOM
+packetLen(0x00e3, 15)
#elif PACKETVER >= 20081029
-packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+packetLen(0x00e3, 6)
#elif PACKETVER >= 20081015
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+packetLen(0x00e3, 6)
#elif PACKETVER >= 20081001
-packetLen(0x00e3, 4) // CZ_EXIT_ROOM
+packetLen(0x00e3, 4)
#elif PACKETVER >= 20080813
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00e3, 10) // CZ_EXIT_ROOM
+packetLen(0x00e3, 10)
#elif PACKETVER >= 20080730
-packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+packetLen(0x00e3, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00e3, 22) // CZ_EXIT_ROOM
+packetLen(0x00e3, 22)
#elif PACKETVER >= 20080708
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00e3, 26) // CZ_EXIT_ROOM
+packetLen(0x00e3, 26)
#elif PACKETVER >= 20080624
-packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+packetLen(0x00e3, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+packetLen(0x00e3, 58)
#elif PACKETVER >= 20080610
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00e3, 30) // CZ_EXIT_ROOM
+packetLen(0x00e3, 30)
#elif PACKETVER >= 20080528
-packetLen(0x00e3, 35) // CZ_EXIT_ROOM
+packetLen(0x00e3, 35)
#elif PACKETVER >= 20080429
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00e3, 8) // CZ_EXIT_ROOM
+packetLen(0x00e3, 8)
#elif PACKETVER >= 20080408
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+packetLen(0x00e3, 58)
#elif PACKETVER >= 20080325
-packetLen(0x00e3, 10) // CZ_EXIT_ROOM
+packetLen(0x00e3, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00e3, 7) // CZ_EXIT_ROOM
+packetLen(0x00e3, 7)
#elif PACKETVER >= 20080311
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00e3, 12) // CZ_EXIT_ROOM
+packetLen(0x00e3, 12)
#elif PACKETVER >= 20080124
-packetLen(0x00e3, 14) // CZ_EXIT_ROOM
+packetLen(0x00e3, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#endif
// Packet: 0x00e4
#if PACKETVER >= 20081217
-packetLen(0x00e4, 7) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 7)
#elif PACKETVER >= 20081203
-packetLen(0x00e4, 16) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 16)
#elif PACKETVER >= 20081126
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00e4, 12) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 12)
#elif PACKETVER >= 20081029
-packetLen(0x00e4, 26) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 26)
#elif PACKETVER >= 20081022
-packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 10)
#elif PACKETVER >= 20081015
-packetLen(0x00e4, 27) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 27)
#elif PACKETVER >= 20081008
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00e4, 11) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 11)
#elif PACKETVER >= 20080827
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00e4, 31) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 31)
#elif PACKETVER >= 20080813
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00e4, 4) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 4)
#elif PACKETVER >= 20080715
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00e4, 15) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 15)
#elif PACKETVER >= 20080701
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00e4, 36) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 36)
#elif PACKETVER >= 20080617
-packetLen(0x00e4, 86) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 86)
#elif PACKETVER >= 20080520
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00e4, 33) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 33)
#elif PACKETVER >= 20080507
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00e4, 58) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 58)
#elif PACKETVER >= 20080422
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20080415
-packetLen(0x00e4, 13) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 13)
#elif PACKETVER >= 20080408
-packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 10)
#elif PACKETVER >= 20080401
-packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 14)
#elif PACKETVER >= 20080325
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00e4, 54) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 54)
#elif PACKETVER >= 20080304
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 14)
#elif PACKETVER >= 20080124
-packetLen(0x00e4, 7) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#endif
// Packet: 0x00e5
#if PACKETVER >= 20081217
-packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 2)
#elif PACKETVER >= 20081203
-packetLen(0x00e5, 8) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 8)
#elif PACKETVER >= 20081112
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 3)
#elif PACKETVER >= 20081022
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20081008
-packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 3)
#elif PACKETVER >= 20081001
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00e5, 23) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 23)
#elif PACKETVER >= 20080917
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00e5, 35) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 35)
#elif PACKETVER >= 20080820
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20080806
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00e5, 8) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 8)
#elif PACKETVER >= 20080701
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 3)
#elif PACKETVER >= 20080617
-packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 28)
#elif PACKETVER >= 20080610
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 2)
#elif PACKETVER >= 20080528
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 28)
#elif PACKETVER >= 20080422
-packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 5)
#elif PACKETVER >= 20080415
-packetLen(0x00e5, 3) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00e5, 10) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 10)
#elif PACKETVER >= 20080325
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 5)
#elif PACKETVER >= 20080311
-packetLen(0x00e5, 10) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00e5, 11) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 11)
#elif PACKETVER >= 20080124
-packetLen(0x00e5, 29) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 29)
#elif PACKETVER >= 20080102
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
#endif
// Packet: 0x00e6
#if PACKETVER >= 20081203
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00e6, 68) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 68)
#elif PACKETVER >= 20081119
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 6)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00e6, 39) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 39)
#elif PACKETVER >= 20081022
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00e6, 4) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 4)
#elif PACKETVER >= 20081008
-packetLen(0x00e6, 10) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 10)
#elif PACKETVER >= 20080910
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00e6, 8) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 8)
#elif PACKETVER >= 20080722
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#elif PACKETVER >= 20080708
-packetLen(0x00e6, 33) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 33)
#elif PACKETVER >= 20080701
-packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 6)
#elif PACKETVER >= 20080624
-packetLen(0x00e6, 14) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 14)
#elif PACKETVER >= 20080617
-packetLen(0x00e6, 9) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 9)
#elif PACKETVER >= 20080610
-packetLen(0x00e6, 6) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00e6, 2) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 2)
#elif PACKETVER >= 20080528
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00e6, 43) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 43)
#elif PACKETVER >= 20080513
-packetLen(0x00e6, 26) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 26)
#elif PACKETVER >= 20080507
-packetLen(0x00e6, 79) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 79)
#elif PACKETVER >= 20080429
-packetLen(0x00e6, 11) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 11)
#elif PACKETVER >= 20080422
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00e6, 67) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 67)
#elif PACKETVER >= 20080325
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00e6, 15) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 15)
#elif PACKETVER >= 20080311
-packetLen(0x00e6, 16) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 16)
#elif PACKETVER >= 20080304
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00e6, 53) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 53)
#elif PACKETVER >= 20080219
-packetLen(0x00e6, 10) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00e6, 114) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 114)
#elif PACKETVER >= 20080102
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#endif
// Packet: 0x00e7
#if PACKETVER >= 20081217
-packetLen(0x00e7, 42) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 42)
#elif PACKETVER >= 20081203
-packetLen(0x00e7, 30) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 30)
#elif PACKETVER >= 20081126
-packetLen(0x00e7, 7) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 7)
#elif PACKETVER >= 20081119
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20081022
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00e7, 10) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 10)
#elif PACKETVER >= 20081008
-packetLen(0x00e7, 2) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 2)
#elif PACKETVER >= 20081001
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00e7, 33) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 33)
#elif PACKETVER >= 20080917
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20080827
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00e7, 44) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 44)
#elif PACKETVER >= 20080813
-packetLen(0x00e7, 19) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 19)
#elif PACKETVER >= 20080806
-packetLen(0x00e7, 59) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 59)
#elif PACKETVER >= 20080730
-packetLen(0x00e7, 24) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 24)
#elif PACKETVER >= 20080722
-packetLen(0x00e7, 2) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 2)
#elif PACKETVER >= 20080715
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20080701
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00e7, 30) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 30)
#elif PACKETVER >= 20080617
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00e7, 14) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 14)
#elif PACKETVER >= 20080603
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00e7, 182) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 182)
#elif PACKETVER >= 20080520
-packetLen(0x00e7, 14) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 14)
#elif PACKETVER >= 20080513
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00e7, 90) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 90)
#elif PACKETVER >= 20080429
-packetLen(0x00e7, 182) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 182)
#elif PACKETVER >= 20080422
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00e7, 4) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 4)
#elif PACKETVER >= 20080325
-packetLen(0x00e7, 8) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 8)
#elif PACKETVER >= 20080318
-packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20080226
-packetLen(0x00e7, 68) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 68)
#elif PACKETVER >= 20080124
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#endif
// Packet: 0x00e8
#if PACKETVER >= 20081217
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#elif PACKETVER >= 20081126
-packetLen(0x00e8, 30) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 30)
#elif PACKETVER >= 20081112
-packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 10)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00e8, 39) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 39)
#elif PACKETVER >= 20081022
-packetLen(0x00e8, 27) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 27)
#elif PACKETVER >= 20081008
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 2)
#elif PACKETVER >= 20080924
-packetLen(0x00e8, 282) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 282)
#elif PACKETVER >= 20080917
-packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 6)
#elif PACKETVER >= 20080903
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 10)
#elif PACKETVER >= 20080820
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00e8, 282) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 282)
#elif PACKETVER >= 20080806
-packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 10)
#elif PACKETVER >= 20080701
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00e8, 114) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 114)
#elif PACKETVER >= 20080610
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#elif PACKETVER >= 20080528
-packetLen(0x00e8, 5) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 5)
#elif PACKETVER >= 20080520
-packetLen(0x00e8, 66) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 66)
#elif PACKETVER >= 20080513
-packetLen(0x00e8, 10) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 10)
#elif PACKETVER >= 20080507
-packetLen(0x00e8, 86) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 86)
#elif PACKETVER >= 20080429
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#elif PACKETVER >= 20080415
-packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 2)
#elif PACKETVER >= 20080325
-packetLen(0x00e8, 30) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 30)
#elif PACKETVER >= 20080318
-packetLen(0x00e8, 4) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00e8, 26) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 26)
#elif PACKETVER >= 20080102
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#endif
// Packet: 0x00e9
#if PACKETVER >= 20081217
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00e9, 11) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 11)
#elif PACKETVER >= 20081126
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00e9, 10) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 10)
#elif PACKETVER >= 20081022
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00e9, 15) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 15)
#elif PACKETVER >= 20081008
-packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 6)
#elif PACKETVER >= 20081001
-packetLen(0x00e9, 102) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 102)
#elif PACKETVER >= 20080924
-packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 6)
#elif PACKETVER >= 20080917
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00e9, 5) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 5)
#elif PACKETVER >= 20080903
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00e9, 54) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 54)
#elif PACKETVER >= 20080813
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00e9, 60) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 60)
#elif PACKETVER >= 20080730
-packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 4)
#elif PACKETVER >= 20080708
-packetLen(0x00e9, 10) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 10)
#elif PACKETVER >= 20080617
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00e9, 8) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 8)
#elif PACKETVER >= 20080603
-packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 4)
#elif PACKETVER >= 20080520
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 2)
#elif PACKETVER >= 20080422
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00e9, 7) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 7)
#elif PACKETVER >= 20080408
-packetLen(0x00e9, 4) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 4)
#elif PACKETVER >= 20080401
-packetLen(0x00e9, 8) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00e9, 6) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00e9, 30) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 2)
#elif PACKETVER >= 20080124
-packetLen(0x00e9, 21) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 21)
#elif PACKETVER >= 20080102
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#endif
// Packet: 0x00ea
#if PACKETVER >= 20081217
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00ea, 14) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 14)
#elif PACKETVER >= 20081126
-packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 3)
#elif PACKETVER >= 20081119
-packetLen(0x00ea, 42) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 42)
#elif PACKETVER >= 20081112
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00ea, 11) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 11)
#elif PACKETVER >= 20081029
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
#elif PACKETVER >= 20081015
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00ea, 28) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 28)
#elif PACKETVER >= 20081001
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00ea, 4) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 4)
#elif PACKETVER >= 20080917
-packetLen(0x00ea, 10) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 10)
#elif PACKETVER >= 20080827
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00ea, 2) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 2)
#elif PACKETVER >= 20080806
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00ea, 8) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 8)
#elif PACKETVER >= 20080708
-packetLen(0x00ea, 81) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 81)
#elif PACKETVER >= 20080701
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ea, 39) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 39)
#elif PACKETVER >= 20080617
-packetLen(0x00ea, 90) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 90)
#elif PACKETVER >= 20080603
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00ea, 30) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 30)
#elif PACKETVER >= 20080520
-packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00ea, 26) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 26)
#elif PACKETVER >= 20080429
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00ea, 4) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 4)
#elif PACKETVER >= 20080408
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ea, 15) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 15)
#elif PACKETVER >= 20080325
-packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 3)
#elif PACKETVER >= 20080318
-packetLen(0x00ea, 2) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00ea, 10) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ea, 14) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
#endif
// Packet: 0x00eb
#if PACKETVER >= 20081217
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20081112
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00eb, 3) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 3)
#elif PACKETVER >= 20081015
-packetLen(0x00eb, 10) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 10)
#elif PACKETVER >= 20081008
-packetLen(0x00eb, 19) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 19)
#elif PACKETVER >= 20081001
-packetLen(0x00eb, 22) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 22)
#elif PACKETVER >= 20080917
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080910
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00eb, 4) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 4)
#elif PACKETVER >= 20080813
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00eb, 22) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 22)
#elif PACKETVER >= 20080624
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 5)
#elif PACKETVER >= 20080610
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00eb, 54) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 54)
#elif PACKETVER >= 20080528
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00eb, 11) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 11)
#elif PACKETVER >= 20080513
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00eb, 36) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 36)
#elif PACKETVER >= 20080429
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 5)
#elif PACKETVER >= 20080408
-packetLen(0x00eb, 15) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 15)
#elif PACKETVER >= 20080325
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00eb, 86) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 86)
#elif PACKETVER >= 20080311
-packetLen(0x00eb, 12) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 12)
#elif PACKETVER >= 20080304
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00eb, 19) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 19)
#elif PACKETVER >= 20080219
-packetLen(0x00eb, 17) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 17)
#elif PACKETVER >= 20080124
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
#endif
// Packet: 0x00ec
#if PACKETVER >= 20081217
-packetLen(0x00ec, 18) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 18)
#elif PACKETVER >= 20081203
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 4)
#elif PACKETVER >= 20081119
-packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 30)
#elif PACKETVER >= 20081112
-packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 4)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00ec, 86) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 86)
#elif PACKETVER >= 20081022
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 14)
#elif PACKETVER >= 20081008
-packetLen(0x00ec, 20) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 20)
#elif PACKETVER >= 20081001
-packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 30)
#elif PACKETVER >= 20080924
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00ec, 2) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 2)
#elif PACKETVER >= 20080910
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00ec, 60) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 60)
#elif PACKETVER >= 20080820
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00ec, 28) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 28)
#elif PACKETVER >= 20080730
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 30)
#elif PACKETVER >= 20080715
-packetLen(0x00ec, 10) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 10)
#elif PACKETVER >= 20080708
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00ec, 55) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 55)
#elif PACKETVER >= 20080624
-packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 4)
#elif PACKETVER >= 20080610
-packetLen(0x00ec, 6) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 14)
#elif PACKETVER >= 20080520
-packetLen(0x00ec, 81) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 81)
#elif PACKETVER >= 20080513
-packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 11)
#elif PACKETVER >= 20080507
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00ec, 34) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 34)
#elif PACKETVER >= 20080422
-packetLen(0x00ec, 10) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 10)
#elif PACKETVER >= 20080415
-packetLen(0x00ec, 14) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 14)
#elif PACKETVER >= 20080408
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 11)
#elif PACKETVER >= 20080325
-packetLen(0x00ec, 9) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 9)
#elif PACKETVER >= 20080318
-packetLen(0x00ec, 30) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 30)
#elif PACKETVER >= 20080311
-packetLen(0x00ec, 20) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 20)
#elif PACKETVER >= 20080304
-packetLen(0x00ec, 2) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 11)
#elif PACKETVER >= 20080219
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ec, 9) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 9)
#elif PACKETVER >= 20080102
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
#endif
// Packet: 0x00ed
#if PACKETVER >= 20081217
-packetLen(0x00ed, 4) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 4)
#elif PACKETVER >= 20081203
-packetLen(0x00ed, 28) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 28)
#elif PACKETVER >= 20081112
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00ed, 30) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 30)
#elif PACKETVER >= 20081022
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00ed, 11) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 11)
#elif PACKETVER >= 20080924
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00ed, 34) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 34)
#elif PACKETVER >= 20080827
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00ed, 53) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 53)
#elif PACKETVER >= 20080813
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00ed, 65) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 65)
#elif PACKETVER >= 20080730
-packetLen(0x00ed, 8) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 8)
#elif PACKETVER >= 20080722
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00ed, 10) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 10)
#elif PACKETVER >= 20080701
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ed, 20) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 20)
#elif PACKETVER >= 20080610
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 7)
#elif PACKETVER >= 20080528
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00ed, 8) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 8)
#elif PACKETVER >= 20080507
-packetLen(0x00ed, 6) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
#elif PACKETVER >= 20080415
-packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 3)
#elif PACKETVER >= 20080408
-packetLen(0x00ed, 5) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 5)
#elif PACKETVER >= 20080401
-packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 7)
#elif PACKETVER >= 20080318
-packetLen(0x00ed, 4) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00ed, 86) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 86)
#elif PACKETVER >= 20080226
-packetLen(0x00ed, 30) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 30)
#elif PACKETVER >= 20080124
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
#endif
// Packet: 0x00ee
#if PACKETVER >= 20081112
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
#elif PACKETVER >= 20081001
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00ee, 10) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 10)
#elif PACKETVER >= 20080910
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 8)
#elif PACKETVER >= 20080813
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00ee, 12) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 12)
#elif PACKETVER >= 20080730
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 8)
#elif PACKETVER >= 20080715
-packetLen(0x00ee, 31) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 31)
#elif PACKETVER >= 20080708
-packetLen(0x00ee, 6) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 6)
#elif PACKETVER >= 20080701
-packetLen(0x00ee, 14) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 14)
#elif PACKETVER >= 20080624
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00ee, 81) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 81)
#elif PACKETVER >= 20080610
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
#elif PACKETVER >= 20080603
-packetLen(0x00ee, 6) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00ee, 18) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 18)
#elif PACKETVER >= 20080520
-packetLen(0x00ee, 3) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 3)
#elif PACKETVER >= 20080429
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00ee, 3) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00ee, 30) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 30)
#elif PACKETVER >= 20080408
-packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 8)
#elif PACKETVER >= 20080401
-packetLen(0x00ee, 26) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 26)
#elif PACKETVER >= 20080325
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00ee, 5) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 5)
#elif PACKETVER >= 20080311
-packetLen(0x00ee, 11) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 11)
#elif PACKETVER >= 20080304
-packetLen(0x00ee, 10) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00ee, 90) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 90)
#elif PACKETVER >= 20080219
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ee, 4) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
#endif
// Packet: 0x00ef
#if PACKETVER >= 20081217
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#elif PACKETVER >= 20081119
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00ef, 4) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 4)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00ef, 14) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 14)
#elif PACKETVER >= 20081029
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00ef, 11) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 11)
#elif PACKETVER >= 20081015
-packetLen(0x00ef, 3) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 3)
#elif PACKETVER >= 20081008
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#elif PACKETVER >= 20081001
-packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 6)
#elif PACKETVER >= 20080924
-packetLen(0x00ef, 8) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 8)
#elif PACKETVER >= 20080910
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080903
-packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 10)
#elif PACKETVER >= 20080827
-packetLen(0x00ef, 8) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 8)
#elif PACKETVER >= 20080820
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00ef, 53) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 53)
#elif PACKETVER >= 20080806
-packetLen(0x00ef, 28) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 28)
#elif PACKETVER >= 20080730
-packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00ef, 35) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 35)
#elif PACKETVER >= 20080708
-packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 30)
#elif PACKETVER >= 20080701
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 10)
#elif PACKETVER >= 20080617
-packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00ef, 9) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 9)
#elif PACKETVER >= 20080603
-packetLen(0x00ef, 11) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 11)
#elif PACKETVER >= 20080528
-packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 30)
#elif PACKETVER >= 20080520
-packetLen(0x00ef, 26) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 26)
#elif PACKETVER >= 20080513
-packetLen(0x00ef, 28) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 28)
#elif PACKETVER >= 20080507
-packetLen(0x00ef, 4) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 4)
#elif PACKETVER >= 20080429
-packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 7)
#elif PACKETVER >= 20080422
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#elif PACKETVER >= 20080408
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ef, 57) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 57)
#elif PACKETVER >= 20080325
-packetLen(0x00ef, 10) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 10)
#elif PACKETVER >= 20080318
-packetLen(0x00ef, 90) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 90)
#elif PACKETVER >= 20080311
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#endif
// Packet: 0x00f0
#if PACKETVER >= 20081217
-packetLen(0x00f0, 26) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 26)
#elif PACKETVER >= 20081203
-packetLen(0x00f0, 5) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 5)
#elif PACKETVER >= 20081126
-packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 2)
#elif PACKETVER >= 20081112
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00f0, 8) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 8)
#elif PACKETVER >= 20081022
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00f0, 27) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 27)
#elif PACKETVER >= 20081008
-packetLen(0x00f0, 7) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 7)
#elif PACKETVER >= 20081001
-packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 2)
#elif PACKETVER >= 20080924
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00f0, 66) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 66)
#elif PACKETVER >= 20080903
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00f0, 11) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 11)
#elif PACKETVER >= 20080820
-packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 2)
#elif PACKETVER >= 20080806
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00f0, 11) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 11)
#elif PACKETVER >= 20080715
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080708
-packetLen(0x00f0, 26) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 26)
#elif PACKETVER >= 20080701
-packetLen(0x00f0, 11) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 11)
#elif PACKETVER >= 20080617
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00f0, 60) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 60)
#elif PACKETVER >= 20080603
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080528
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00f0, 14) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 14)
#elif PACKETVER >= 20080513
-packetLen(0x00f0, 43) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 43)
#elif PACKETVER >= 20080429
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00f0, 30) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 30)
#elif PACKETVER >= 20080415
-packetLen(0x00f0, 2) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 2)
#elif PACKETVER >= 20080408
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00f0, 90) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 90)
#elif PACKETVER >= 20080325
-packetLen(0x00f0, 24) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 24)
#elif PACKETVER >= 20080318
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00f0, 7) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00f0, 27) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 27)
#elif PACKETVER >= 20080124
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#endif
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
#if PACKETVER >= 20081217
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20081203
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20081126
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 10)
#elif PACKETVER >= 20081112
-packetLen(0x00f2, 27) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 27)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00f2, 7) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 7)
#elif PACKETVER >= 20081015
-packetLen(0x00f2, 3) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 3)
#elif PACKETVER >= 20080917
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00f2, 4) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 4)
#elif PACKETVER >= 20080903
-packetLen(0x00f2, 8) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 8)
#elif PACKETVER >= 20080827
-packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 10)
#elif PACKETVER >= 20080806
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00f2, 29) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 29)
#elif PACKETVER >= 20080708
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00f2, 4) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 4)
#elif PACKETVER >= 20080624
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 10)
#elif PACKETVER >= 20080610
-packetLen(0x00f2, 39) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 39)
#elif PACKETVER >= 20080603
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00f2, 39) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 39)
#elif PACKETVER >= 20080507
-packetLen(0x00f2, 54) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 54)
#elif PACKETVER >= 20080429
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00f2, 31) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 31)
#elif PACKETVER >= 20080415
-packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 10)
#elif PACKETVER >= 20080408
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00f2, 86) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 86)
#elif PACKETVER >= 20080325
-packetLen(0x00f2, 60) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 60)
#elif PACKETVER >= 20080318
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00f2, 26) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00f2, 14) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00f2, 13) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 13)
#elif PACKETVER >= 20080102
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#endif
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
#if PACKETVER >= 20081217
-packetLen(0x00f4, 14) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 14)
#elif PACKETVER >= 20081203
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 3)
#elif PACKETVER >= 20081119
-packetLen(0x00f4, 65) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 65)
#elif PACKETVER >= 20081112
-packetLen(0x00f4, 30) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 30)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 2)
#elif PACKETVER >= 20081029
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 2)
#elif PACKETVER >= 20081001
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00f4, 4) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 4)
#elif PACKETVER >= 20080917
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 8)
#elif PACKETVER >= 20080903
-packetLen(0x00f4, 15) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 15)
#elif PACKETVER >= 20080827
-packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 2)
#elif PACKETVER >= 20080820
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00f4, 10) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 10)
#elif PACKETVER >= 20080730
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 6)
#elif PACKETVER >= 20080715
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 8)
#elif PACKETVER >= 20080624
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080617
-packetLen(0x00f4, 11) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 11)
#elif PACKETVER >= 20080528
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 3)
#elif PACKETVER >= 20080507
-packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 8)
#elif PACKETVER >= 20080429
-packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 2)
#elif PACKETVER >= 20080422
-packetLen(0x00f4, 3) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 3)
#elif PACKETVER >= 20080415
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00f4, 35) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 35)
#elif PACKETVER >= 20080401
-packetLen(0x00f4, 282) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 282)
#elif PACKETVER >= 20080325
-packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 8)
#elif PACKETVER >= 20080311
-packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00f4, 8) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080124
-packetLen(0x00f4, 10) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
#endif
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
#if PACKETVER >= 20081217
-packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 26)
#elif PACKETVER >= 20081203
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 7)
#elif PACKETVER >= 20081119
-packetLen(0x00f6, 5) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 5)
#elif PACKETVER >= 20081112
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
#elif PACKETVER >= 20081105
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00f6, 57) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 57)
#elif PACKETVER >= 20080924
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 2)
#elif PACKETVER >= 20080903
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080827
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080820
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 2)
#elif PACKETVER >= 20080806
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00f6, 11) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 11)
#elif PACKETVER >= 20080722
-packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 2)
#elif PACKETVER >= 20080708
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00f6, 11) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 11)
#elif PACKETVER >= 20080624
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080617
-packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 26)
#elif PACKETVER >= 20080610
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00f6, 10) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 10)
#elif PACKETVER >= 20080520
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
#elif PACKETVER >= 20080513
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00f6, 4) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 4)
#elif PACKETVER >= 20080408
-packetLen(0x00f6, 65) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 65)
#elif PACKETVER >= 20080401
-packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 7)
#elif PACKETVER >= 20080325
-packetLen(0x00f6, 6) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00f6, 7) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 7)
#elif PACKETVER >= 20080304
-packetLen(0x00f6, 65) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 65)
#elif PACKETVER >= 20080226
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00f6, 23) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 23)
#elif PACKETVER >= 20080124
-packetLen(0x00f6, 39) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 39)
#elif PACKETVER >= 20080102
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
#endif
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
#if PACKETVER >= 20081203
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+packetLen(0x00f8, 3)
#elif PACKETVER >= 20081112
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20081015
-packetLen(0x00f8, 5) // ZC_CLOSE_STORE
+packetLen(0x00f8, 5)
#elif PACKETVER >= 20080917
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+packetLen(0x00f8, 6)
#elif PACKETVER >= 20080903
-packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+packetLen(0x00f8, 3)
#elif PACKETVER >= 20080827
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20080813
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20080730
-packetLen(0x00f8, 30) // ZC_CLOSE_STORE
+packetLen(0x00f8, 30)
#elif PACKETVER >= 20080722
-packetLen(0x00f8, 10) // ZC_CLOSE_STORE
+packetLen(0x00f8, 10)
#elif PACKETVER >= 20080701
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00f8, 26) // ZC_CLOSE_STORE
+packetLen(0x00f8, 26)
#elif PACKETVER >= 20080617
-packetLen(0x00f8, 17) // ZC_CLOSE_STORE
+packetLen(0x00f8, 17)
#elif PACKETVER >= 20080610
-packetLen(0x00f8, 30) // ZC_CLOSE_STORE
+packetLen(0x00f8, 30)
#elif PACKETVER >= 20080603
-packetLen(0x00f8, 10) // ZC_CLOSE_STORE
+packetLen(0x00f8, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20080513
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+packetLen(0x00f8, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+packetLen(0x00f8, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+packetLen(0x00f8, 3)
#elif PACKETVER >= 20080325
-packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+packetLen(0x00f8, 6)
#elif PACKETVER >= 20080318
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+packetLen(0x00f8, 12)
#elif PACKETVER >= 20080304
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+packetLen(0x00f8, 12)
#elif PACKETVER >= 20080124
-packetLen(0x00f8, 43) // ZC_CLOSE_STORE
+packetLen(0x00f8, 43)
#elif PACKETVER >= 20080102
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#endif
// Packet: 0x00f9
#if PACKETVER >= 20081126
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00f9, 2) // CZ_MAKE_GROUP
+packetLen(0x00f9, 2)
#elif PACKETVER >= 20081112
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00f9, 3) // CZ_MAKE_GROUP
+packetLen(0x00f9, 3)
#elif PACKETVER >= 20081015
-packetLen(0x00f9, 22) // CZ_MAKE_GROUP
+packetLen(0x00f9, 22)
#elif PACKETVER >= 20081008
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00f9, 7) // CZ_MAKE_GROUP
+packetLen(0x00f9, 7)
#elif PACKETVER >= 20080917
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080910
-packetLen(0x00f9, 4) // CZ_MAKE_GROUP
+packetLen(0x00f9, 4)
#elif PACKETVER >= 20080827
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00f9, 3) // CZ_MAKE_GROUP
+packetLen(0x00f9, 3)
#elif PACKETVER >= 20080813
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080806
-packetLen(0x00f9, 5) // CZ_MAKE_GROUP
+packetLen(0x00f9, 5)
#elif PACKETVER >= 20080730
-packetLen(0x00f9, 54) // CZ_MAKE_GROUP
+packetLen(0x00f9, 54)
#elif PACKETVER >= 20080722
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080715
-packetLen(0x00f9, 11) // CZ_MAKE_GROUP
+packetLen(0x00f9, 11)
#elif PACKETVER >= 20080708
-packetLen(0x00f9, 30) // CZ_MAKE_GROUP
+packetLen(0x00f9, 30)
#elif PACKETVER >= 20080701
-packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+packetLen(0x00f9, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+packetLen(0x00f9, 10)
#elif PACKETVER >= 20080528
-packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+packetLen(0x00f9, 6)
#elif PACKETVER >= 20080520
-packetLen(0x00f9, 3) // CZ_MAKE_GROUP
+packetLen(0x00f9, 3)
#elif PACKETVER >= 20080513
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00f9, 5) // CZ_MAKE_GROUP
+packetLen(0x00f9, 5)
#elif PACKETVER >= 20080429
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#elif PACKETVER >= 20080415
-packetLen(0x00f9, 13) // CZ_MAKE_GROUP
+packetLen(0x00f9, 13)
#elif PACKETVER >= 20080408
-packetLen(0x00f9, 6) // CZ_MAKE_GROUP
+packetLen(0x00f9, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+packetLen(0x00f9, 8)
#elif PACKETVER >= 20080325
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080318
-packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+packetLen(0x00f9, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00f9, 114) // CZ_MAKE_GROUP
+packetLen(0x00f9, 114)
#elif PACKETVER >= 20080304
-packetLen(0x00f9, 12) // CZ_MAKE_GROUP
+packetLen(0x00f9, 12)
#elif PACKETVER >= 20080226
-packetLen(0x00f9, 4) // CZ_MAKE_GROUP
+packetLen(0x00f9, 4)
#elif PACKETVER >= 20080219
-packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+packetLen(0x00f9, 8)
#elif PACKETVER >= 20080124
-packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+packetLen(0x00f9, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#endif
// Packet: 0x00fa
#if PACKETVER >= 20081112
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00fa, 65) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 65)
#elif PACKETVER >= 20081015
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20081008
-packetLen(0x00fa, 2) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 2)
#elif PACKETVER >= 20080924
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00fa, 21) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 21)
#elif PACKETVER >= 20080820
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 10)
#elif PACKETVER >= 20080715
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080708
-packetLen(0x00fa, 6) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080528
-packetLen(0x00fa, 8) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 8)
#elif PACKETVER >= 20080520
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00fa, 4) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 4)
#elif PACKETVER >= 20080507
-packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 30)
#elif PACKETVER >= 20080429
-packetLen(0x00fa, 26) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 26)
#elif PACKETVER >= 20080422
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080415
-packetLen(0x00fa, 15) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 15)
#elif PACKETVER >= 20080408
-packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 30)
#elif PACKETVER >= 20080401
-packetLen(0x00fa, 29) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 29)
#elif PACKETVER >= 20080325
-packetLen(0x00fa, 30) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 30)
#elif PACKETVER >= 20080318
-packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00fa, 20) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 20)
#elif PACKETVER >= 20080226
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00fa, 6) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#endif
// Packet: 0x00fb
#if PACKETVER >= 20081217
-packetLen(0x00fb, 7) // ZC_GROUP_LIST
+packetLen(0x00fb, 7)
#elif PACKETVER >= 20081203
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00fb, 3) // ZC_GROUP_LIST
+packetLen(0x00fb, 3)
#elif PACKETVER >= 20081029
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00fb, 60) // ZC_GROUP_LIST
+packetLen(0x00fb, 60)
#elif PACKETVER >= 20081015
-packetLen(0x00fb, 17) // ZC_GROUP_LIST
+packetLen(0x00fb, 17)
#elif PACKETVER >= 20081008
-packetLen(0x00fb, 28) // ZC_GROUP_LIST
+packetLen(0x00fb, 28)
#elif PACKETVER >= 20081001
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00fb, 8) // ZC_GROUP_LIST
+packetLen(0x00fb, 8)
#elif PACKETVER >= 20080917
-packetLen(0x00fb, 60) // ZC_GROUP_LIST
+packetLen(0x00fb, 60)
#elif PACKETVER >= 20080910
-packetLen(0x00fb, 3) // ZC_GROUP_LIST
+packetLen(0x00fb, 3)
#elif PACKETVER >= 20080903
-packetLen(0x00fb, 67) // ZC_GROUP_LIST
+packetLen(0x00fb, 67)
#elif PACKETVER >= 20080820
-packetLen(0x00fb, 6) // ZC_GROUP_LIST
+packetLen(0x00fb, 6)
#elif PACKETVER >= 20080730
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080722
-packetLen(0x00fb, 4) // ZC_GROUP_LIST
+packetLen(0x00fb, 4)
#elif PACKETVER >= 20080715
-packetLen(0x00fb, 26) // ZC_GROUP_LIST
+packetLen(0x00fb, 26)
#elif PACKETVER >= 20080708
-packetLen(0x00fb, 6) // ZC_GROUP_LIST
+packetLen(0x00fb, 6)
#elif PACKETVER >= 20080701
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080624
-packetLen(0x00fb, 26) // ZC_GROUP_LIST
+packetLen(0x00fb, 26)
#elif PACKETVER >= 20080617
-packetLen(0x00fb, 3) // ZC_GROUP_LIST
+packetLen(0x00fb, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00fb, 4) // ZC_GROUP_LIST
+packetLen(0x00fb, 4)
#elif PACKETVER >= 20080603
-packetLen(0x00fb, 17) // ZC_GROUP_LIST
+packetLen(0x00fb, 17)
#elif PACKETVER >= 20080528
-packetLen(0x00fb, 4) // ZC_GROUP_LIST
+packetLen(0x00fb, 4)
#elif PACKETVER >= 20080520
-packetLen(0x00fb, 29) // ZC_GROUP_LIST
+packetLen(0x00fb, 29)
#elif PACKETVER >= 20080513
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080507
-packetLen(0x00fb, 28) // ZC_GROUP_LIST
+packetLen(0x00fb, 28)
#elif PACKETVER >= 20080429
-packetLen(0x00fb, 6) // ZC_GROUP_LIST
+packetLen(0x00fb, 6)
#elif PACKETVER >= 20080408
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00fb, 3) // ZC_GROUP_LIST
+packetLen(0x00fb, 3)
#elif PACKETVER >= 20080318
-packetLen(0x00fb, 26) // ZC_GROUP_LIST
+packetLen(0x00fb, 26)
#elif PACKETVER >= 20080311
-packetLen(0x00fb, 2) // ZC_GROUP_LIST
+packetLen(0x00fb, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00fb, 4) // ZC_GROUP_LIST
+packetLen(0x00fb, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00fb, 5) // ZC_GROUP_LIST
+packetLen(0x00fb, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00fb, 10) // ZC_GROUP_LIST
+packetLen(0x00fb, 10)
#elif PACKETVER >= 20080124
-packetLen(0x00fb, 5) // ZC_GROUP_LIST
+packetLen(0x00fb, 5)
#elif PACKETVER >= 20080102
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#endif
// Packet: 0x00fc
#if PACKETVER >= 20081126
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20081119
-packetLen(0x00fc, 2) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 2)
#elif PACKETVER >= 20081112
-packetLen(0x00fc, 32) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 32)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081008
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00fc, 8) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 8)
#elif PACKETVER >= 20080917
-packetLen(0x00fc, 2) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 2)
#elif PACKETVER >= 20080910
-packetLen(0x00fc, 30) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 30)
#elif PACKETVER >= 20080827
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080820
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080813
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080806
-packetLen(0x00fc, 9) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 9)
#elif PACKETVER >= 20080730
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080722
-packetLen(0x00fc, 3) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 3)
#elif PACKETVER >= 20080708
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00fc, 22) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 22)
#elif PACKETVER >= 20080610
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00fc, 18) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 18)
#elif PACKETVER >= 20080528
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080507
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080429
-packetLen(0x00fc, 53) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 53)
#elif PACKETVER >= 20080422
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00fc, 17) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 17)
#elif PACKETVER >= 20080318
-packetLen(0x00fc, 27) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 27)
#elif PACKETVER >= 20080311
-packetLen(0x00fc, 24) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 24)
#elif PACKETVER >= 20080304
-packetLen(0x00fc, 30) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 30)
#elif PACKETVER >= 20080226
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00fc, 19) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 19)
#elif PACKETVER >= 20080124
-packetLen(0x00fc, 2) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#endif
// Packet: 0x00fd
#if PACKETVER >= 20081217
-packetLen(0x00fd, 10) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 10)
#elif PACKETVER >= 20081203
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20081126
-packetLen(0x00fd, 31) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 31)
#elif PACKETVER >= 20081112
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20081029
-packetLen(0x00fd, 10) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 10)
#elif PACKETVER >= 20081022
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
#elif PACKETVER >= 20081015
-packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 3)
#elif PACKETVER >= 20081008
-packetLen(0x00fd, 10) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 10)
#elif PACKETVER >= 20081001
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080924
-packetLen(0x00fd, 6) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 6)
#elif PACKETVER >= 20080917
-packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 2)
#elif PACKETVER >= 20080910
-packetLen(0x00fd, 24) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 24)
#elif PACKETVER >= 20080903
-packetLen(0x00fd, 86) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 86)
#elif PACKETVER >= 20080617
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00fd, 6) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 6)
#elif PACKETVER >= 20080603
-packetLen(0x00fd, 97) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 97)
#elif PACKETVER >= 20080528
-packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 3)
#elif PACKETVER >= 20080520
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 2)
#elif PACKETVER >= 20080507
-packetLen(0x00fd, 8) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 8)
#elif PACKETVER >= 20080415
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 2)
#elif PACKETVER >= 20080401
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080325
-packetLen(0x00fd, 8) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 8)
#elif PACKETVER >= 20080318
-packetLen(0x00fd, 18) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 18)
#elif PACKETVER >= 20080311
-packetLen(0x00fd, 3) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00fd, 20) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 20)
#elif PACKETVER >= 20080219
-packetLen(0x00fd, 11) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 11)
#elif PACKETVER >= 20080124
-packetLen(0x00fd, 42) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 42)
#elif PACKETVER >= 20080102
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
#endif
// Packet: 0x00fe
#if PACKETVER >= 20081217
-packetLen(0x00fe, 7) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 7)
#elif PACKETVER >= 20081203
-packetLen(0x00fe, 37) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 37)
#elif PACKETVER >= 20081126
-packetLen(0x00fe, 27) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 27)
#elif PACKETVER >= 20081119
-packetLen(0x00fe, 53) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 53)
#elif PACKETVER >= 20081112
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x00fe, 5) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 5)
#elif PACKETVER >= 20081029
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20081022
-packetLen(0x00fe, 2) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 2)
#elif PACKETVER >= 20081008
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00fe, 22) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 22)
#elif PACKETVER >= 20080924
-packetLen(0x00fe, 10) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 10)
#elif PACKETVER >= 20080827
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080820
-packetLen(0x00fe, 26) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 26)
#elif PACKETVER >= 20080806
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00fe, 282) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 282)
#elif PACKETVER >= 20080722
-packetLen(0x00fe, 28) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 28)
#elif PACKETVER >= 20080617
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00fe, 2) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 2)
#elif PACKETVER >= 20080520
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080513
-packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 6)
#elif PACKETVER >= 20080429
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080422
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
#elif PACKETVER >= 20080415
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080408
-packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 6)
#elif PACKETVER >= 20080401
-packetLen(0x00fe, 186) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 186)
#elif PACKETVER >= 20080325
-packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 4)
#elif PACKETVER >= 20080318
-packetLen(0x00fe, 32) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 32)
#elif PACKETVER >= 20080311
-packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 4)
#elif PACKETVER >= 20080304
-packetLen(0x00fe, 186) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 186)
#elif PACKETVER >= 20080226
-packetLen(0x00fe, 7) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 7)
#elif PACKETVER >= 20080219
-packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00fe, 4) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
#endif
// Packet: 0x00ff
#if PACKETVER >= 20081217
-packetLen(0x00ff, 5) // CZ_JOIN_GROUP
+packetLen(0x00ff, 5)
#elif PACKETVER >= 20081203
-packetLen(0x00ff, 11) // CZ_JOIN_GROUP
+packetLen(0x00ff, 11)
#elif PACKETVER >= 20081126
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#elif PACKETVER >= 20081119
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20081112
-packetLen(0x00ff, 14) // CZ_JOIN_GROUP
+packetLen(0x00ff, 14)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081008
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20081001
-packetLen(0x00ff, 12) // CZ_JOIN_GROUP
+packetLen(0x00ff, 12)
#elif PACKETVER >= 20080924
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080917
-packetLen(0x00ff, 102) // CZ_JOIN_GROUP
+packetLen(0x00ff, 102)
#elif PACKETVER >= 20080910
-packetLen(0x00ff, 4) // CZ_JOIN_GROUP
+packetLen(0x00ff, 4)
#elif PACKETVER >= 20080806
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080730
-packetLen(0x00ff, 15) // CZ_JOIN_GROUP
+packetLen(0x00ff, 15)
#elif PACKETVER >= 20080722
-packetLen(0x00ff, 14) // CZ_JOIN_GROUP
+packetLen(0x00ff, 14)
#elif PACKETVER >= 20080708
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080701
-packetLen(0x00ff, 5) // CZ_JOIN_GROUP
+packetLen(0x00ff, 5)
#elif PACKETVER >= 20080610
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080603
-packetLen(0x00ff, 7) // CZ_JOIN_GROUP
+packetLen(0x00ff, 7)
#elif PACKETVER >= 20080528
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080520
-packetLen(0x00ff, 4) // CZ_JOIN_GROUP
+packetLen(0x00ff, 4)
#elif PACKETVER >= 20080513
-packetLen(0x00ff, 22) // CZ_JOIN_GROUP
+packetLen(0x00ff, 22)
#elif PACKETVER >= 20080507
-packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+packetLen(0x00ff, 282)
#elif PACKETVER >= 20080429
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20080422
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#elif PACKETVER >= 20080408
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080401
-packetLen(0x00ff, 79) // CZ_JOIN_GROUP
+packetLen(0x00ff, 79)
#elif PACKETVER >= 20080325
-packetLen(0x00ff, 2) // CZ_JOIN_GROUP
+packetLen(0x00ff, 2)
#elif PACKETVER >= 20080318
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00ff, 3) // CZ_JOIN_GROUP
+packetLen(0x00ff, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00ff, 59) // CZ_JOIN_GROUP
+packetLen(0x00ff, 59)
#elif PACKETVER >= 20080226
-packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+packetLen(0x00ff, 282)
#elif PACKETVER >= 20080219
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20080124
-packetLen(0x00ff, 32) // CZ_JOIN_GROUP
+packetLen(0x00ff, 32)
#elif PACKETVER >= 20080102
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#endif
// Packet: 0x0100
#if PACKETVER >= 20081112
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 6)
#elif PACKETVER >= 20081029
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0100, 14) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 14)
#elif PACKETVER >= 20081015
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0100, 26) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 26)
#elif PACKETVER >= 20081001
-packetLen(0x0100, 67) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 67)
#elif PACKETVER >= 20080924
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0100, 26) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 26)
#elif PACKETVER >= 20080820
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#elif PACKETVER >= 20080806
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 6)
#elif PACKETVER >= 20080715
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0100, 22) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 22)
#elif PACKETVER >= 20080617
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#elif PACKETVER >= 20080603
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0100, 186) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 186)
#elif PACKETVER >= 20080520
-packetLen(0x0100, 14) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 14)
#elif PACKETVER >= 20080513
-packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0100, 27) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 27)
#elif PACKETVER >= 20080429
-packetLen(0x0100, 8) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 8)
#elif PACKETVER >= 20080422
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0100, 17) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 17)
#elif PACKETVER >= 20080408
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0100, 30) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 30)
#elif PACKETVER >= 20080325
-packetLen(0x0100, 28) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 28)
#elif PACKETVER >= 20080318
-packetLen(0x0100, 54) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 54)
#elif PACKETVER >= 20080311
-packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0100, 54) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 54)
#elif PACKETVER >= 20080124
-packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#endif
// Packet: 0x0101
#if PACKETVER >= 20081217
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#elif PACKETVER >= 20081126
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0101, 3) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 3)
#elif PACKETVER >= 20081001
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0101, 10) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 10)
#elif PACKETVER >= 20080827
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 2)
#elif PACKETVER >= 20080813
-packetLen(0x0101, 35) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 35)
#elif PACKETVER >= 20080806
-packetLen(0x0101, 66) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 66)
#elif PACKETVER >= 20080708
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 5)
#elif PACKETVER >= 20080624
-packetLen(0x0101, 24) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 24)
#elif PACKETVER >= 20080617
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0101, 2) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0101, 58) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 58)
#elif PACKETVER >= 20080429
-packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 11)
#elif PACKETVER >= 20080422
-packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 5)
#elif PACKETVER >= 20080415
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 11)
#elif PACKETVER >= 20080325
-packetLen(0x0101, 26) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 26)
#elif PACKETVER >= 20080318
-packetLen(0x0101, 5) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 5)
#elif PACKETVER >= 20080311
-packetLen(0x0101, 97) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 97)
#elif PACKETVER >= 20080304
-packetLen(0x0101, 23) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 23)
#elif PACKETVER >= 20080226
-packetLen(0x0101, 10) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0101, 4) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#endif
// Packet: 0x0102
#if PACKETVER >= 20081217
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#elif PACKETVER >= 20081119
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0102, 14) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 14)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0102, 8) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 8)
#elif PACKETVER >= 20081029
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0102, 22) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 22)
#elif PACKETVER >= 20081015
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0102, 9) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 9)
#elif PACKETVER >= 20081001
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0102, 7) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 7)
#elif PACKETVER >= 20080917
-packetLen(0x0102, 182) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 182)
#elif PACKETVER >= 20080910
-packetLen(0x0102, 7) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 7)
#elif PACKETVER >= 20080820
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0102, 10) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 10)
#elif PACKETVER >= 20080722
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0102, 4) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 26)
#elif PACKETVER >= 20080528
-packetLen(0x0102, 17) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 17)
#elif PACKETVER >= 20080520
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0102, 11) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 11)
#elif PACKETVER >= 20080422
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0102, 81) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 81)
#elif PACKETVER >= 20080408
-packetLen(0x0102, 2) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0102, 54) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 54)
#elif PACKETVER >= 20080318
-packetLen(0x0102, 4) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0102, 2) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0102, 14) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0102, 68) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 68)
#elif PACKETVER >= 20080124
-packetLen(0x0102, 15) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 15)
#elif PACKETVER >= 20080102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#endif
// Packet: 0x0103
#if PACKETVER >= 20081217
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
#elif PACKETVER >= 20081203
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20081126
-packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 5)
#elif PACKETVER >= 20081119
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0103, 10) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 10)
#elif PACKETVER >= 20081022
-packetLen(0x0103, 3) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 3)
#elif PACKETVER >= 20081015
-packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 8)
#elif PACKETVER >= 20081008
-packetLen(0x0103, 27) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 27)
#elif PACKETVER >= 20080910
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 5)
#elif PACKETVER >= 20080827
-packetLen(0x0103, 2) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 2)
#elif PACKETVER >= 20080813
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0103, 60) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 60)
#elif PACKETVER >= 20080730
-packetLen(0x0103, 36) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 36)
#elif PACKETVER >= 20080722
-packetLen(0x0103, 2) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 2)
#elif PACKETVER >= 20080715
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
#elif PACKETVER >= 20080708
-packetLen(0x0103, 2) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 2)
#elif PACKETVER >= 20080701
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 8)
#elif PACKETVER >= 20080617
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20080610
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0103, 10) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 10)
#elif PACKETVER >= 20080528
-packetLen(0x0103, 79) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 79)
#elif PACKETVER >= 20080520
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0103, 16) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 16)
#elif PACKETVER >= 20080507
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20080415
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0103, 11) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0103, 4) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0103, 8) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 5)
#elif PACKETVER >= 20080124
-packetLen(0x0103, 58) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 58)
#elif PACKETVER >= 20080102
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#endif
// Packet: 0x0104
#if PACKETVER >= 20081112
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0104, 11) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 11)
#elif PACKETVER >= 20081015
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 8)
#elif PACKETVER >= 20080910
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 6)
#elif PACKETVER >= 20080827
-packetLen(0x0104, 4) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 4)
#elif PACKETVER >= 20080820
-packetLen(0x0104, 17) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 17)
#elif PACKETVER >= 20080730
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0104, 30) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 30)
#elif PACKETVER >= 20080701
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0104, 60) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 60)
#elif PACKETVER >= 20080610
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0104, 3) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 26)
#elif PACKETVER >= 20080520
-packetLen(0x0104, 17) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 17)
#elif PACKETVER >= 20080513
-packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0104, 282) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 282)
#elif PACKETVER >= 20080415
-packetLen(0x0104, 12) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 12)
#elif PACKETVER >= 20080408
-packetLen(0x0104, 30) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 30)
#elif PACKETVER >= 20080401
-packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 26)
#elif PACKETVER >= 20080325
-packetLen(0x0104, 11) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 11)
#elif PACKETVER >= 20080318
-packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0104, 15) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 15)
#elif PACKETVER >= 20080304
-packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0104, 21) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 21)
#elif PACKETVER >= 20080124
-packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#endif
// Packet: 0x0105
#if PACKETVER >= 20081126
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0105, 30) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 30)
#elif PACKETVER >= 20081112
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081008
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0105, 58) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 58)
#elif PACKETVER >= 20080910
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0105, 7) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 7)
#elif PACKETVER >= 20080827
-packetLen(0x0105, 30) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 30)
#elif PACKETVER >= 20080820
-packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0105, 2) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 2)
#elif PACKETVER >= 20080722
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0105, 97) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 97)
#elif PACKETVER >= 20080617
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 26)
#elif PACKETVER >= 20080528
-packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 3)
#elif PACKETVER >= 20080513
-packetLen(0x0105, 5) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 5)
#elif PACKETVER >= 20080507
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0105, 4) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 4)
#elif PACKETVER >= 20080401
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0105, 23) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 23)
#elif PACKETVER >= 20080318
-packetLen(0x0105, 4) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0105, 3) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0105, 10) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
#endif
// Packet: 0x0106
#if PACKETVER >= 20081217
-packetLen(0x0106, 2) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 2)
#elif PACKETVER >= 20081203
-packetLen(0x0106, 7) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 7)
#elif PACKETVER >= 20081126
-packetLen(0x0106, 8) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 8)
#elif PACKETVER >= 20081119
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20081112
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0106, 3) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 3)
#elif PACKETVER >= 20081015
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0106, 60) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 60)
#elif PACKETVER >= 20081001
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20080924
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0106, 6) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 6)
#elif PACKETVER >= 20080827
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0106, 6) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 6)
#elif PACKETVER >= 20080806
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0106, 17) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 17)
#elif PACKETVER >= 20080722
-packetLen(0x0106, 29) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 29)
#elif PACKETVER >= 20080708
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0106, 9) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 9)
#elif PACKETVER >= 20080528
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0106, 2) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0106, 27) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 27)
#elif PACKETVER >= 20080422
-packetLen(0x0106, 29) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 29)
#elif PACKETVER >= 20080415
-packetLen(0x0106, 282) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 282)
#elif PACKETVER >= 20080408
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0106, 5) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 5)
#elif PACKETVER >= 20080325
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0106, 26) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0106, 21) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 21)
#elif PACKETVER >= 20080124
-packetLen(0x0106, 8) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#endif
// Packet: 0x0107
#if PACKETVER >= 20081217
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0107, 24) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 24)
#elif PACKETVER >= 20081126
-packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 6)
#elif PACKETVER >= 20081119
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
#elif PACKETVER >= 20081112
-packetLen(0x0107, 30) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 30)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 5)
#elif PACKETVER >= 20081029
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0107, 14) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 14)
#elif PACKETVER >= 20081015
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 3)
#elif PACKETVER >= 20081001
-packetLen(0x0107, 30) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 30)
#elif PACKETVER >= 20080924
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0107, 2) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 2)
#elif PACKETVER >= 20080910
-packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 3)
#elif PACKETVER >= 20080903
-packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 5)
#elif PACKETVER >= 20080827
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0107, 16) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 16)
#elif PACKETVER >= 20080813
-packetLen(0x0107, 17) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 17)
#elif PACKETVER >= 20080806
-packetLen(0x0107, 23) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 23)
#elif PACKETVER >= 20080730
-packetLen(0x0107, 59) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 59)
#elif PACKETVER >= 20080722
-packetLen(0x0107, 282) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 282)
#elif PACKETVER >= 20080624
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 3)
#elif PACKETVER >= 20080603
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
#elif PACKETVER >= 20080507
-packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0107, 2) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0107, 6) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 5)
#elif PACKETVER >= 20080124
-packetLen(0x0107, 3) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
#endif
// Packet: 0x0108
#if PACKETVER >= 20081029
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0108, 9) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 9)
#elif PACKETVER >= 20081015
-packetLen(0x0108, 22) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 22)
#elif PACKETVER >= 20081008
-packetLen(0x0108, 11) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 11)
#elif PACKETVER >= 20080924
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0108, 14) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 14)
#elif PACKETVER >= 20080827
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0108, 8) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 8)
#elif PACKETVER >= 20080813
-packetLen(0x0108, 10) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 10)
#elif PACKETVER >= 20080730
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0108, 12) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 12)
#elif PACKETVER >= 20080715
-packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0108, 54) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 54)
#elif PACKETVER >= 20080610
-packetLen(0x0108, 2) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0108, 11) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 11)
#elif PACKETVER >= 20080520
-packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 97)
#elif PACKETVER >= 20080513
-packetLen(0x0108, 30) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 30)
#elif PACKETVER >= 20080507
-packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0108, 32) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 32)
#elif PACKETVER >= 20080415
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0108, 7) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 7)
#elif PACKETVER >= 20080318
-packetLen(0x0108, 182) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 182)
#elif PACKETVER >= 20080311
-packetLen(0x0108, 4) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 97)
#elif PACKETVER >= 20080124
-packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#endif
// Packet: 0x0109
#if PACKETVER >= 20081112
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 6)
#elif PACKETVER >= 20081029
-packetLen(0x0109, 3) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 3)
#elif PACKETVER >= 20081022
-packetLen(0x0109, 43) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 43)
#elif PACKETVER >= 20081001
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0109, 17) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 17)
#elif PACKETVER >= 20080917
-packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0109, 81) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 81)
#elif PACKETVER >= 20080708
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0109, 31) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 31)
#elif PACKETVER >= 20080624
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0109, 7) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 7)
#elif PACKETVER >= 20080610
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0109, 5) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 5)
#elif PACKETVER >= 20080528
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0109, 26) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 26)
#elif PACKETVER >= 20080429
-packetLen(0x0109, 67) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 67)
#elif PACKETVER >= 20080422
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0109, 102) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 102)
#elif PACKETVER >= 20080408
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0109, 33) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 33)
#elif PACKETVER >= 20080325
-packetLen(0x0109, 26) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 26)
#elif PACKETVER >= 20080318
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0109, 10) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0109, 4) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0109, 2) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0109, 14) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 14)
#elif PACKETVER >= 20080124
-packetLen(0x0109, 12) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 12)
#elif PACKETVER >= 20080102
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#endif
// Packet: 0x010a
#if PACKETVER >= 20081217
-packetLen(0x010a, 8) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 8)
#elif PACKETVER >= 20081126
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20081119
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#elif PACKETVER >= 20081112
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x010a, 36) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 36)
#elif PACKETVER >= 20081022
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20081015
-packetLen(0x010a, 16) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 16)
#elif PACKETVER >= 20081008
-packetLen(0x010a, 10) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 10)
#elif PACKETVER >= 20080917
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20080903
-packetLen(0x010a, 7) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 7)
#elif PACKETVER >= 20080827
-packetLen(0x010a, 2) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 2)
#elif PACKETVER >= 20080820
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080813
-packetLen(0x010a, 3) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 3)
#elif PACKETVER >= 20080806
-packetLen(0x010a, 30) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 30)
#elif PACKETVER >= 20080722
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080715
-packetLen(0x010a, 3) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 3)
#elif PACKETVER >= 20080610
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x010a, 34) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 34)
#elif PACKETVER >= 20080528
-packetLen(0x010a, 102) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 102)
#elif PACKETVER >= 20080520
-packetLen(0x010a, 3) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 3)
#elif PACKETVER >= 20080513
-packetLen(0x010a, 30) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 30)
#elif PACKETVER >= 20080507
-packetLen(0x010a, 31) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 31)
#elif PACKETVER >= 20080429
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20080408
-packetLen(0x010a, 114) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 114)
#elif PACKETVER >= 20080401
-packetLen(0x010a, 27) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 27)
#elif PACKETVER >= 20080325
-packetLen(0x010a, 12) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 12)
#elif PACKETVER >= 20080318
-packetLen(0x010a, 8) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 8)
#elif PACKETVER >= 20080311
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080226
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080124
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20080102
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#endif
// Packet: 0x010b
#if PACKETVER >= 20081217
-packetLen(0x010b, 23) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 23)
#elif PACKETVER >= 20081203
-packetLen(0x010b, 14) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 14)
#elif PACKETVER >= 20081112
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x010b, 2) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 2)
#elif PACKETVER >= 20081022
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20081015
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#elif PACKETVER >= 20081001
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080924
-packetLen(0x010b, 14) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 14)
#elif PACKETVER >= 20080820
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080813
-packetLen(0x010b, 58) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 58)
#elif PACKETVER >= 20080806
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080730
-packetLen(0x010b, 33) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 33)
#elif PACKETVER >= 20080722
-packetLen(0x010b, 4) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 4)
#elif PACKETVER >= 20080715
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#elif PACKETVER >= 20080708
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080701
-packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 3)
#elif PACKETVER >= 20080624
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080617
-packetLen(0x010b, 8) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 8)
#elif PACKETVER >= 20080610
-packetLen(0x010b, 26) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 26)
#elif PACKETVER >= 20080603
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#elif PACKETVER >= 20080520
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080513
-packetLen(0x010b, 4) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 4)
#elif PACKETVER >= 20080429
-packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 3)
#elif PACKETVER >= 20080422
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080415
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#elif PACKETVER >= 20080408
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080401
-packetLen(0x010b, 28) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 28)
#elif PACKETVER >= 20080325
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080318
-packetLen(0x010b, 17) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 17)
#elif PACKETVER >= 20080311
-packetLen(0x010b, 3) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 3)
#elif PACKETVER >= 20080304
-packetLen(0x010b, 114) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 114)
#elif PACKETVER >= 20080226
-packetLen(0x010b, 9) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 9)
#elif PACKETVER >= 20080219
-packetLen(0x010b, 24) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 24)
#elif PACKETVER >= 20080102
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#endif
// Packet: 0x010c
#if PACKETVER >= 20081203
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#elif PACKETVER >= 20081119
-packetLen(0x010c, 3) // ZC_MVP
+packetLen(0x010c, 3)
#elif PACKETVER >= 20081112
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20081029
-packetLen(0x010c, 2) // ZC_MVP
+packetLen(0x010c, 2)
#elif PACKETVER >= 20081022
-packetLen(0x010c, 11) // ZC_MVP
+packetLen(0x010c, 11)
#elif PACKETVER >= 20081008
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20081001
-packetLen(0x010c, 9) // ZC_MVP
+packetLen(0x010c, 9)
#elif PACKETVER >= 20080917
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080910
-packetLen(0x010c, 33) // ZC_MVP
+packetLen(0x010c, 33)
#elif PACKETVER >= 20080827
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080820
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#elif PACKETVER >= 20080813
-packetLen(0x010c, 26) // ZC_MVP
+packetLen(0x010c, 26)
#elif PACKETVER >= 20080730
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080722
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#elif PACKETVER >= 20080715
-packetLen(0x010c, 10) // ZC_MVP
+packetLen(0x010c, 10)
#elif PACKETVER >= 20080708
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080701
-packetLen(0x010c, 7) // ZC_MVP
+packetLen(0x010c, 7)
#elif PACKETVER >= 20080624
-packetLen(0x010c, 23) // ZC_MVP
+packetLen(0x010c, 23)
#elif PACKETVER >= 20080610
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x010c, 31) // ZC_MVP
+packetLen(0x010c, 31)
#elif PACKETVER >= 20080528
-packetLen(0x010c, 30) // ZC_MVP
+packetLen(0x010c, 30)
#elif PACKETVER >= 20080520
-packetLen(0x010c, 8) // ZC_MVP
+packetLen(0x010c, 8)
#elif PACKETVER >= 20080507
-packetLen(0x010c, 2) // ZC_MVP
+packetLen(0x010c, 2)
#elif PACKETVER >= 20080429
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x010c, 26) // ZC_MVP
+packetLen(0x010c, 26)
#elif PACKETVER >= 20080408
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#elif PACKETVER >= 20080325
-packetLen(0x010c, 11) // ZC_MVP
+packetLen(0x010c, 11)
#elif PACKETVER >= 20080318
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x010c, 282) // ZC_MVP
+packetLen(0x010c, 282)
#elif PACKETVER >= 20080304
-packetLen(0x010c, 2) // ZC_MVP
+packetLen(0x010c, 2)
#elif PACKETVER >= 20080226
-packetLen(0x010c, 14) // ZC_MVP
+packetLen(0x010c, 14)
#elif PACKETVER >= 20080219
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080124
-packetLen(0x010c, 4) // ZC_MVP
+packetLen(0x010c, 4)
#elif PACKETVER >= 20080102
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#endif
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
#if PACKETVER >= 20081203
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20081126
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20081119
-packetLen(0x010e, 81) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 81)
#elif PACKETVER >= 20081112
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x010e, 30) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 30)
#elif PACKETVER >= 20081029
-packetLen(0x010e, 10) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 10)
#elif PACKETVER >= 20081022
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20081015
-packetLen(0x010e, 53) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 53)
#elif PACKETVER >= 20080806
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080730
-packetLen(0x010e, 26) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 26)
#elif PACKETVER >= 20080722
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080715
-packetLen(0x010e, 24) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 24)
#elif PACKETVER >= 20080701
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x010e, 33) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 33)
#elif PACKETVER >= 20080617
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
#elif PACKETVER >= 20080610
-packetLen(0x010e, 8) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 8)
#elif PACKETVER >= 20080603
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20080528
-packetLen(0x010e, 2) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 2)
#elif PACKETVER >= 20080520
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20080513
-packetLen(0x010e, 14) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 14)
#elif PACKETVER >= 20080507
-packetLen(0x010e, 10) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 10)
#elif PACKETVER >= 20080429
-packetLen(0x010e, 67) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 67)
#elif PACKETVER >= 20080415
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080408
-packetLen(0x010e, 12) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 12)
#elif PACKETVER >= 20080401
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080325
-packetLen(0x010e, 30) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 30)
#elif PACKETVER >= 20080318
-packetLen(0x010e, 53) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 53)
#elif PACKETVER >= 20080311
-packetLen(0x010e, 71) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 71)
#elif PACKETVER >= 20080304
-packetLen(0x010e, 26) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 26)
#elif PACKETVER >= 20080226
-packetLen(0x010e, 7) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20080102
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
#endif
// Packet: 0x010f
#if PACKETVER >= 20081217
-packetLen(0x010f, 81) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 81)
#elif PACKETVER >= 20081203
-packetLen(0x010f, 10) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 10)
#elif PACKETVER >= 20081015
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20081008
-packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 2)
#elif PACKETVER >= 20081001
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080924
-packetLen(0x010f, 4) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 4)
#elif PACKETVER >= 20080827
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080820
-packetLen(0x010f, 67) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 67)
#elif PACKETVER >= 20080806
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080730
-packetLen(0x010f, 4) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 4)
#elif PACKETVER >= 20080715
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080708
-packetLen(0x010f, 35) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 35)
#elif PACKETVER >= 20080701
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080624
-packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 2)
#elif PACKETVER >= 20080617
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080610
-packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 30)
#elif PACKETVER >= 20080603
-packetLen(0x010f, 5) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 5)
#elif PACKETVER >= 20080528
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080520
-packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 6)
#elif PACKETVER >= 20080513
-packetLen(0x010f, 17) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 17)
#elif PACKETVER >= 20080507
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080429
-packetLen(0x010f, 11) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 11)
#elif PACKETVER >= 20080422
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080415
-packetLen(0x010f, 4) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 4)
#elif PACKETVER >= 20080408
-packetLen(0x010f, 8) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 8)
#elif PACKETVER >= 20080325
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080318
-packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 6)
#elif PACKETVER >= 20080311
-packetLen(0x010f, 2) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 2)
#elif PACKETVER >= 20080304
-packetLen(0x010f, 17) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 17)
#elif PACKETVER >= 20080226
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080219
-packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 30)
#elif PACKETVER >= 20080124
-packetLen(0x010f, 11) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 11)
#elif PACKETVER >= 20080102
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#endif
// Packet: 0x0110
#if PACKETVER >= 20081126
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0110, 6) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#elif PACKETVER >= 20081001
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0110, 16) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 16)
#elif PACKETVER >= 20080910
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0110, 6) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 6)
#elif PACKETVER >= 20080827
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0110, 24) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 24)
#elif PACKETVER >= 20080722
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0110, 34) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 34)
#elif PACKETVER >= 20080617
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 3)
#elif PACKETVER >= 20080603
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#elif PACKETVER >= 20080520
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0110, 4) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0110, 3) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0110, 6) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0110, 35) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 35)
#elif PACKETVER >= 20080318
-packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0110, 4) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0110, 2) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#endif
// Packet: 0x0111
#if PACKETVER >= 20081217
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0111, 6) // ZC_ADD_SKILL
+packetLen(0x0111, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0111, 10) // ZC_ADD_SKILL
+packetLen(0x0111, 10)
#elif PACKETVER >= 20081029
-packetLen(0x0111, 97) // ZC_ADD_SKILL
+packetLen(0x0111, 97)
#elif PACKETVER >= 20081015
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0111, 6) // ZC_ADD_SKILL
+packetLen(0x0111, 6)
#elif PACKETVER >= 20081001
-packetLen(0x0111, 4) // ZC_ADD_SKILL
+packetLen(0x0111, 4)
#elif PACKETVER >= 20080903
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0111, 5) // ZC_ADD_SKILL
+packetLen(0x0111, 5)
#elif PACKETVER >= 20080820
-packetLen(0x0111, 66) // ZC_ADD_SKILL
+packetLen(0x0111, 66)
#elif PACKETVER >= 20080813
-packetLen(0x0111, 27) // ZC_ADD_SKILL
+packetLen(0x0111, 27)
#elif PACKETVER >= 20080806
-packetLen(0x0111, 282) // ZC_ADD_SKILL
+packetLen(0x0111, 282)
#elif PACKETVER >= 20080730
-packetLen(0x0111, 11) // ZC_ADD_SKILL
+packetLen(0x0111, 11)
#elif PACKETVER >= 20080722
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0111, 10) // ZC_ADD_SKILL
+packetLen(0x0111, 10)
#elif PACKETVER >= 20080708
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0111, 17) // ZC_ADD_SKILL
+packetLen(0x0111, 17)
#elif PACKETVER >= 20080624
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0111, 2) // ZC_ADD_SKILL
+packetLen(0x0111, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0111, 11) // ZC_ADD_SKILL
+packetLen(0x0111, 11)
#elif PACKETVER >= 20080528
-packetLen(0x0111, 23) // ZC_ADD_SKILL
+packetLen(0x0111, 23)
#elif PACKETVER >= 20080507
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0111, 10) // ZC_ADD_SKILL
+packetLen(0x0111, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0111, 4) // ZC_ADD_SKILL
+packetLen(0x0111, 4)
#elif PACKETVER >= 20080415
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0111, 26) // ZC_ADD_SKILL
+packetLen(0x0111, 26)
#elif PACKETVER >= 20080401
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0111, 282) // ZC_ADD_SKILL
+packetLen(0x0111, 282)
#elif PACKETVER >= 20080318
-packetLen(0x0111, 23) // ZC_ADD_SKILL
+packetLen(0x0111, 23)
#elif PACKETVER >= 20080311
-packetLen(0x0111, 6) // ZC_ADD_SKILL
+packetLen(0x0111, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0111, 4) // ZC_ADD_SKILL
+packetLen(0x0111, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0111, 60) // ZC_ADD_SKILL
+packetLen(0x0111, 60)
#elif PACKETVER >= 20080219
-packetLen(0x0111, 32) // ZC_ADD_SKILL
+packetLen(0x0111, 32)
#elif PACKETVER >= 20080124
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
#endif
// Packet: 0x0112
#if PACKETVER >= 20081217
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0112, 8) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 8)
#elif PACKETVER >= 20081112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081001
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
#elif PACKETVER >= 20080910
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0112, 10) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 10)
#elif PACKETVER >= 20080827
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0112, 9) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 9)
#elif PACKETVER >= 20080701
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0112, 15) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 15)
#elif PACKETVER >= 20080617
-packetLen(0x0112, 59) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 59)
#elif PACKETVER >= 20080610
-packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0112, 14) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 14)
#elif PACKETVER >= 20080528
-packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 7)
#elif PACKETVER >= 20080520
-packetLen(0x0112, 30) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0112, 10) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 10)
#elif PACKETVER >= 20080429
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0112, 11) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 11)
#elif PACKETVER >= 20080318
-packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0112, 29) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 29)
#elif PACKETVER >= 20080226
-packetLen(0x0112, 13) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 13)
#elif PACKETVER >= 20080219
-packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 7)
#elif PACKETVER >= 20080124
-packetLen(0x0112, 26) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
#endif
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
#if PACKETVER >= 20081203
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0114, 11) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 11)
#elif PACKETVER >= 20081112
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 10)
#elif PACKETVER >= 20081008
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0114, 11) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 11)
#elif PACKETVER >= 20080806
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 6)
#elif PACKETVER >= 20080722
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 10)
#elif PACKETVER >= 20080708
-packetLen(0x0114, 7) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 7)
#elif PACKETVER >= 20080701
-packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 10)
#elif PACKETVER >= 20080624
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0114, 15) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 15)
#elif PACKETVER >= 20080610
-packetLen(0x0114, 11) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 11)
#elif PACKETVER >= 20080603
-packetLen(0x0114, 7) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0114, 30) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0114, 4) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0114, 3) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0114, 26) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 26)
#elif PACKETVER >= 20080325
-packetLen(0x0114, 182) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 182)
#elif PACKETVER >= 20080318
-packetLen(0x0114, 6) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0114, 29) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 29)
#elif PACKETVER >= 20080226
-packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0114, 8) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
#endif
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
#if PACKETVER >= 20081203
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0117, 81) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 81)
#elif PACKETVER >= 20081112
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0117, 14) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 14)
#elif PACKETVER >= 20081029
-packetLen(0x0117, 13) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 13)
#elif PACKETVER >= 20081022
-packetLen(0x0117, 14) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 14)
#elif PACKETVER >= 20081015
-packetLen(0x0117, 32) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 32)
#elif PACKETVER >= 20081008
-packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 6)
#elif PACKETVER >= 20080917
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0117, 22) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 22)
#elif PACKETVER >= 20080903
-packetLen(0x0117, 2) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 2)
#elif PACKETVER >= 20080827
-packetLen(0x0117, 30) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 30)
#elif PACKETVER >= 20080820
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0117, 4) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 4)
#elif PACKETVER >= 20080806
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0117, 30) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 30)
#elif PACKETVER >= 20080722
-packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0117, 5) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 5)
#elif PACKETVER >= 20080507
-packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0117, 29) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 29)
#elif PACKETVER >= 20080408
-packetLen(0x0117, 28) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 28)
#elif PACKETVER >= 20080401
-packetLen(0x0117, 26) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 26)
#elif PACKETVER >= 20080325
-packetLen(0x0117, 29) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 29)
#elif PACKETVER >= 20080318
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0117, 11) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0117, 6) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0117, 10) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0117, 8) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
#endif
// Packet: 0x0118
#if PACKETVER >= 20081217
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0118, 4) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 4)
#elif PACKETVER >= 20081126
-packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 54)
#elif PACKETVER >= 20081119
-packetLen(0x0118, 11) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 11)
#elif PACKETVER >= 20081112
-packetLen(0x0118, 10) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 10)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0118, 4) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 4)
#elif PACKETVER >= 20081022
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0118, 6) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 6)
#elif PACKETVER >= 20081008
-packetLen(0x0118, 182) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 182)
#elif PACKETVER >= 20081001
-packetLen(0x0118, 26) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 26)
#elif PACKETVER >= 20080910
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 54)
#elif PACKETVER >= 20080730
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0118, 18) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 18)
#elif PACKETVER >= 20080715
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0118, 4) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 4)
#elif PACKETVER >= 20080701
-packetLen(0x0118, 67) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 67)
#elif PACKETVER >= 20080617
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0118, 22) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 22)
#elif PACKETVER >= 20080603
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0118, 8) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 8)
#elif PACKETVER >= 20080520
-packetLen(0x0118, 90) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 90)
#elif PACKETVER >= 20080513
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0118, 29) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 29)
#elif PACKETVER >= 20080422
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0118, 14) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 14)
#elif PACKETVER >= 20080318
-packetLen(0x0118, 5) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 5)
#elif PACKETVER >= 20080311
-packetLen(0x0118, 282) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 282)
#elif PACKETVER >= 20080304
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 54)
#elif PACKETVER >= 20080219
-packetLen(0x0118, 7) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 7)
#elif PACKETVER >= 20080124
-packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 54)
#elif PACKETVER >= 20080102
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#endif
// Packet: 0x0119
#if PACKETVER >= 20081217
-packetLen(0x0119, 30) // ZC_STATE_CHANGE
+packetLen(0x0119, 30)
#elif PACKETVER >= 20081203
-packetLen(0x0119, 7) // ZC_STATE_CHANGE
+packetLen(0x0119, 7)
#elif PACKETVER >= 20081126
-packetLen(0x0119, 11) // ZC_STATE_CHANGE
+packetLen(0x0119, 11)
#elif PACKETVER >= 20081119
-packetLen(0x0119, 6) // ZC_STATE_CHANGE
+packetLen(0x0119, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0119, 43) // ZC_STATE_CHANGE
+packetLen(0x0119, 43)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0119, 6) // ZC_STATE_CHANGE
+packetLen(0x0119, 6)
#elif PACKETVER >= 20081008
-packetLen(0x0119, 7) // ZC_STATE_CHANGE
+packetLen(0x0119, 7)
#elif PACKETVER >= 20080924
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0119, 30) // ZC_STATE_CHANGE
+packetLen(0x0119, 30)
#elif PACKETVER >= 20080910
-packetLen(0x0119, 29) // ZC_STATE_CHANGE
+packetLen(0x0119, 29)
#elif PACKETVER >= 20080903
-packetLen(0x0119, 30) // ZC_STATE_CHANGE
+packetLen(0x0119, 30)
#elif PACKETVER >= 20080827
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0119, 3) // ZC_STATE_CHANGE
+packetLen(0x0119, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0119, 14) // ZC_STATE_CHANGE
+packetLen(0x0119, 14)
#elif PACKETVER >= 20080730
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0119, 2) // ZC_STATE_CHANGE
+packetLen(0x0119, 2)
#elif PACKETVER >= 20080708
-packetLen(0x0119, 4) // ZC_STATE_CHANGE
+packetLen(0x0119, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0119, 10) // ZC_STATE_CHANGE
+packetLen(0x0119, 10)
#elif PACKETVER >= 20080520
-packetLen(0x0119, 4) // ZC_STATE_CHANGE
+packetLen(0x0119, 4)
#elif PACKETVER >= 20080513
-packetLen(0x0119, 23) // ZC_STATE_CHANGE
+packetLen(0x0119, 23)
#elif PACKETVER >= 20080415
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0119, 6) // ZC_STATE_CHANGE
+packetLen(0x0119, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0119, 17) // ZC_STATE_CHANGE
+packetLen(0x0119, 17)
#elif PACKETVER >= 20080325
-packetLen(0x0119, 2) // ZC_STATE_CHANGE
+packetLen(0x0119, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0119, 3) // ZC_STATE_CHANGE
+packetLen(0x0119, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0119, 8) // ZC_STATE_CHANGE
+packetLen(0x0119, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0119, 282) // ZC_STATE_CHANGE
+packetLen(0x0119, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0119, 2) // ZC_STATE_CHANGE
+packetLen(0x0119, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0119, 58) // ZC_STATE_CHANGE
+packetLen(0x0119, 58)
#elif PACKETVER >= 20080124
-packetLen(0x0119, 6) // ZC_STATE_CHANGE
+packetLen(0x0119, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
#endif
// Packet: 0x011a
#if PACKETVER >= 20081217
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20081203
-packetLen(0x011a, 19) // ZC_USE_SKILL
+packetLen(0x011a, 19)
#elif PACKETVER >= 20081112
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x011a, 7) // ZC_USE_SKILL
+packetLen(0x011a, 7)
#elif PACKETVER >= 20081029
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20081022
-packetLen(0x011a, 26) // ZC_USE_SKILL
+packetLen(0x011a, 26)
#elif PACKETVER >= 20081008
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20081001
-packetLen(0x011a, 6) // ZC_USE_SKILL
+packetLen(0x011a, 6)
#elif PACKETVER >= 20080924
-packetLen(0x011a, 58) // ZC_USE_SKILL
+packetLen(0x011a, 58)
#elif PACKETVER >= 20080917
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
#elif PACKETVER >= 20080903
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080827
-packetLen(0x011a, 8) // ZC_USE_SKILL
+packetLen(0x011a, 8)
#elif PACKETVER >= 20080813
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080806
-packetLen(0x011a, 14) // ZC_USE_SKILL
+packetLen(0x011a, 14)
#elif PACKETVER >= 20080715
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080708
-packetLen(0x011a, 2) // ZC_USE_SKILL
+packetLen(0x011a, 2)
#elif PACKETVER >= 20080701
-packetLen(0x011a, 11) // ZC_USE_SKILL
+packetLen(0x011a, 11)
#elif PACKETVER >= 20080624
-packetLen(0x011a, 3) // ZC_USE_SKILL
+packetLen(0x011a, 3)
#elif PACKETVER >= 20080617
-packetLen(0x011a, 6) // ZC_USE_SKILL
+packetLen(0x011a, 6)
#elif PACKETVER >= 20080610
-packetLen(0x011a, 26) // ZC_USE_SKILL
+packetLen(0x011a, 26)
#elif PACKETVER >= 20080603
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080528
-packetLen(0x011a, 8) // ZC_USE_SKILL
+packetLen(0x011a, 8)
#elif PACKETVER >= 20080520
-packetLen(0x011a, 6) // ZC_USE_SKILL
+packetLen(0x011a, 6)
#elif PACKETVER >= 20080513
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x011a, 3) // ZC_USE_SKILL
+packetLen(0x011a, 3)
#elif PACKETVER >= 20080429
-packetLen(0x011a, 17) // ZC_USE_SKILL
+packetLen(0x011a, 17)
#elif PACKETVER >= 20080408
-packetLen(0x011a, 4) // ZC_USE_SKILL
+packetLen(0x011a, 4)
#elif PACKETVER >= 20080401
-packetLen(0x011a, 8) // ZC_USE_SKILL
+packetLen(0x011a, 8)
#elif PACKETVER >= 20080325
-packetLen(0x011a, 36) // ZC_USE_SKILL
+packetLen(0x011a, 36)
#elif PACKETVER >= 20080318
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011a, 6) // ZC_USE_SKILL
+packetLen(0x011a, 6)
#elif PACKETVER >= 20080304
-packetLen(0x011a, 2) // ZC_USE_SKILL
+packetLen(0x011a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x011a, 10) // ZC_USE_SKILL
+packetLen(0x011a, 10)
#elif PACKETVER >= 20080219
-packetLen(0x011a, 11) // ZC_USE_SKILL
+packetLen(0x011a, 11)
#elif PACKETVER >= 20080124
-packetLen(0x011a, 2) // ZC_USE_SKILL
+packetLen(0x011a, 2)
#elif PACKETVER >= 20080102
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
#endif
// Packet: 0x011b
#if PACKETVER >= 20081217
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20081203
-packetLen(0x011b, 30) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 30)
#elif PACKETVER >= 20081119
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20081112
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x011b, 15) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 15)
#elif PACKETVER >= 20081029
-packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 4)
#elif PACKETVER >= 20081022
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20081015
-packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 4)
#elif PACKETVER >= 20080924
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080917
-packetLen(0x011b, 3) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 3)
#elif PACKETVER >= 20080903
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080827
-packetLen(0x011b, 53) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 53)
#elif PACKETVER >= 20080820
-packetLen(0x011b, 23) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 23)
#elif PACKETVER >= 20080813
-packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 2)
#elif PACKETVER >= 20080806
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080730
-packetLen(0x011b, 79) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 79)
#elif PACKETVER >= 20080722
-packetLen(0x011b, 6) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 6)
#elif PACKETVER >= 20080715
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080708
-packetLen(0x011b, 14) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 14)
#elif PACKETVER >= 20080528
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080520
-packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 2)
#elif PACKETVER >= 20080513
-packetLen(0x011b, 58) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 58)
#elif PACKETVER >= 20080507
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080429
-packetLen(0x011b, 10) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 10)
#elif PACKETVER >= 20080422
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
#elif PACKETVER >= 20080415
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 4)
#elif PACKETVER >= 20080401
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080325
-packetLen(0x011b, 39) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 39)
#elif PACKETVER >= 20080311
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080304
-packetLen(0x011b, 58) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 58)
#elif PACKETVER >= 20080226
-packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 2)
#elif PACKETVER >= 20080124
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080102
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
#endif
// Packet: 0x011c
#if PACKETVER >= 20081217
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20081203
-packetLen(0x011c, 2) // ZC_WARPLIST
+packetLen(0x011c, 2)
#elif PACKETVER >= 20081119
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20081112
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x011c, 26) // ZC_WARPLIST
+packetLen(0x011c, 26)
#elif PACKETVER >= 20081022
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20081015
-packetLen(0x011c, 3) // ZC_WARPLIST
+packetLen(0x011c, 3)
#elif PACKETVER >= 20081001
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080924
-packetLen(0x011c, 3) // ZC_WARPLIST
+packetLen(0x011c, 3)
#elif PACKETVER >= 20080917
-packetLen(0x011c, 60) // ZC_WARPLIST
+packetLen(0x011c, 60)
#elif PACKETVER >= 20080910
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080903
-packetLen(0x011c, 66) // ZC_WARPLIST
+packetLen(0x011c, 66)
#elif PACKETVER >= 20080806
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080730
-packetLen(0x011c, 39) // ZC_WARPLIST
+packetLen(0x011c, 39)
#elif PACKETVER >= 20080722
-packetLen(0x011c, 7) // ZC_WARPLIST
+packetLen(0x011c, 7)
#elif PACKETVER >= 20080715
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080708
-packetLen(0x011c, 15) // ZC_WARPLIST
+packetLen(0x011c, 15)
#elif PACKETVER >= 20080617
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x011c, 14) // ZC_WARPLIST
+packetLen(0x011c, 14)
#elif PACKETVER >= 20080603
-packetLen(0x011c, 8) // ZC_WARPLIST
+packetLen(0x011c, 8)
#elif PACKETVER >= 20080528
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x011c, 2) // ZC_WARPLIST
+packetLen(0x011c, 2)
#elif PACKETVER >= 20080513
-packetLen(0x011c, 8) // ZC_WARPLIST
+packetLen(0x011c, 8)
#elif PACKETVER >= 20080507
-packetLen(0x011c, 282) // ZC_WARPLIST
+packetLen(0x011c, 282)
#elif PACKETVER >= 20080429
-packetLen(0x011c, 5) // ZC_WARPLIST
+packetLen(0x011c, 5)
#elif PACKETVER >= 20080422
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20080415
-packetLen(0x011c, 31) // ZC_WARPLIST
+packetLen(0x011c, 31)
#elif PACKETVER >= 20080408
-packetLen(0x011c, 3) // ZC_WARPLIST
+packetLen(0x011c, 3)
#elif PACKETVER >= 20080401
-packetLen(0x011c, 7) // ZC_WARPLIST
+packetLen(0x011c, 7)
#elif PACKETVER >= 20080325
-packetLen(0x011c, 26) // ZC_WARPLIST
+packetLen(0x011c, 26)
#elif PACKETVER >= 20080318
-packetLen(0x011c, 6) // ZC_WARPLIST
+packetLen(0x011c, 6)
#elif PACKETVER >= 20080311
-packetLen(0x011c, 3) // ZC_WARPLIST
+packetLen(0x011c, 3)
#elif PACKETVER >= 20080304
-packetLen(0x011c, 32) // ZC_WARPLIST
+packetLen(0x011c, 32)
#elif PACKETVER >= 20080226
-packetLen(0x011c, 6) // ZC_WARPLIST
+packetLen(0x011c, 6)
#elif PACKETVER >= 20080219
-packetLen(0x011c, 4) // ZC_WARPLIST
+packetLen(0x011c, 4)
#elif PACKETVER >= 20080124
-packetLen(0x011c, 2) // ZC_WARPLIST
+packetLen(0x011c, 2)
#elif PACKETVER >= 20080102
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
#endif
// Packet: 0x011d
#if PACKETVER >= 20081217
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20081203
-packetLen(0x011d, 16) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 16)
#elif PACKETVER >= 20081126
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20081119
-packetLen(0x011d, 14) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 14)
#elif PACKETVER >= 20081112
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20081029
-packetLen(0x011d, 8) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 8)
#elif PACKETVER >= 20081022
-packetLen(0x011d, 16) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 16)
#elif PACKETVER >= 20081015
-packetLen(0x011d, 21) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 21)
#elif PACKETVER >= 20081008
-packetLen(0x011d, 14) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 14)
#elif PACKETVER >= 20080827
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080820
-packetLen(0x011d, 24) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 24)
#elif PACKETVER >= 20080813
-packetLen(0x011d, 11) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 11)
#elif PACKETVER >= 20080730
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080722
-packetLen(0x011d, 9) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 9)
#elif PACKETVER >= 20080715
-packetLen(0x011d, 8) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 8)
#elif PACKETVER >= 20080708
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#elif PACKETVER >= 20080624
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080617
-packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 10)
#elif PACKETVER >= 20080610
-packetLen(0x011d, 28) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 28)
#elif PACKETVER >= 20080603
-packetLen(0x011d, 3) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 3)
#elif PACKETVER >= 20080528
-packetLen(0x011d, 14) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 14)
#elif PACKETVER >= 20080520
-packetLen(0x011d, 23) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 23)
#elif PACKETVER >= 20080513
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080507
-packetLen(0x011d, 81) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 81)
#elif PACKETVER >= 20080422
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#elif PACKETVER >= 20080415
-packetLen(0x011d, 6) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 6)
#elif PACKETVER >= 20080408
-packetLen(0x011d, 4) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 4)
#elif PACKETVER >= 20080325
-packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 10)
#elif PACKETVER >= 20080318
-packetLen(0x011d, 7) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 7)
#elif PACKETVER >= 20080311
-packetLen(0x011d, 3) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 3)
#elif PACKETVER >= 20080304
-packetLen(0x011d, 7) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 7)
#elif PACKETVER >= 20080219
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080124
-packetLen(0x011d, 26) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 26)
#elif PACKETVER >= 20080102
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#endif
// Packet: 0x011e
#if PACKETVER >= 20081112
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20081029
-packetLen(0x011e, 30) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 30)
#elif PACKETVER >= 20080813
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080806
-packetLen(0x011e, 4) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 4)
#elif PACKETVER >= 20080730
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080722
-packetLen(0x011e, 12) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 12)
#elif PACKETVER >= 20080624
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080617
-packetLen(0x011e, 33) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 33)
#elif PACKETVER >= 20080610
-packetLen(0x011e, 5) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 5)
#elif PACKETVER >= 20080603
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x011e, 6) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 6)
#elif PACKETVER >= 20080513
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080507
-packetLen(0x011e, 9) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 9)
#elif PACKETVER >= 20080429
-packetLen(0x011e, 10) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 10)
#elif PACKETVER >= 20080422
-packetLen(0x011e, 282) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 282)
#elif PACKETVER >= 20080415
-packetLen(0x011e, 30) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 30)
#elif PACKETVER >= 20080408
-packetLen(0x011e, 32) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 32)
#elif PACKETVER >= 20080401
-packetLen(0x011e, 9) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 9)
#elif PACKETVER >= 20080325
-packetLen(0x011e, 18) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 18)
#elif PACKETVER >= 20080318
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011e, 6) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 6)
#elif PACKETVER >= 20080304
-packetLen(0x011e, 18) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 18)
#elif PACKETVER >= 20080219
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x011e, 7) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 7)
#elif PACKETVER >= 20080102
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
#endif
// Packet: 0x011f
#if PACKETVER >= 20081203
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20081126
-packetLen(0x011f, 60) // ZC_SKILL_ENTRY
+packetLen(0x011f, 60)
#elif PACKETVER >= 20081112
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+packetLen(0x011f, 2)
#elif PACKETVER >= 20081022
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20081015
-packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+packetLen(0x011f, 6)
#elif PACKETVER >= 20080924
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080917
-packetLen(0x011f, 282) // ZC_SKILL_ENTRY
+packetLen(0x011f, 282)
#elif PACKETVER >= 20080910
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080903
-packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+packetLen(0x011f, 10)
#elif PACKETVER >= 20080827
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080820
-packetLen(0x011f, 5) // ZC_SKILL_ENTRY
+packetLen(0x011f, 5)
#elif PACKETVER >= 20080813
-packetLen(0x011f, 58) // ZC_SKILL_ENTRY
+packetLen(0x011f, 58)
#elif PACKETVER >= 20080806
-packetLen(0x011f, 28) // ZC_SKILL_ENTRY
+packetLen(0x011f, 28)
#elif PACKETVER >= 20080708
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080701
-packetLen(0x011f, 11) // ZC_SKILL_ENTRY
+packetLen(0x011f, 11)
#elif PACKETVER >= 20080624
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+packetLen(0x011f, 30)
#elif PACKETVER >= 20080610
-packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+packetLen(0x011f, 10)
#elif PACKETVER >= 20080603
-packetLen(0x011f, 3) // ZC_SKILL_ENTRY
+packetLen(0x011f, 3)
#elif PACKETVER >= 20080528
-packetLen(0x011f, 282) // ZC_SKILL_ENTRY
+packetLen(0x011f, 282)
#elif PACKETVER >= 20080520
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+packetLen(0x011f, 30)
#elif PACKETVER >= 20080507
-packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+packetLen(0x011f, 6)
#elif PACKETVER >= 20080429
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080422
-packetLen(0x011f, 12) // ZC_SKILL_ENTRY
+packetLen(0x011f, 12)
#elif PACKETVER >= 20080415
-packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+packetLen(0x011f, 2)
#elif PACKETVER >= 20080408
-packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+packetLen(0x011f, 6)
#elif PACKETVER >= 20080401
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080325
-packetLen(0x011f, 10) // ZC_SKILL_ENTRY
+packetLen(0x011f, 10)
#elif PACKETVER >= 20080318
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011f, 60) // ZC_SKILL_ENTRY
+packetLen(0x011f, 60)
#elif PACKETVER >= 20080304
-packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+packetLen(0x011f, 2)
#elif PACKETVER >= 20080226
-packetLen(0x011f, 8) // ZC_SKILL_ENTRY
+packetLen(0x011f, 8)
#elif PACKETVER >= 20080219
-packetLen(0x011f, 5) // ZC_SKILL_ENTRY
+packetLen(0x011f, 5)
#elif PACKETVER >= 20080124
-packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+packetLen(0x011f, 2)
#elif PACKETVER >= 20080102
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
#endif
// Packet: 0x0120
#if PACKETVER >= 20081126
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0120, 10) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 10)
#elif PACKETVER >= 20081112
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20080924
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0120, 9) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 9)
#elif PACKETVER >= 20080903
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
#elif PACKETVER >= 20080820
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0120, 60) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 60)
#elif PACKETVER >= 20080806
-packetLen(0x0120, 22) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 22)
#elif PACKETVER >= 20080730
-packetLen(0x0120, 4) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 4)
#elif PACKETVER >= 20080715
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0120, 30) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 30)
#elif PACKETVER >= 20080701
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0120, 27) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 27)
#elif PACKETVER >= 20080617
-packetLen(0x0120, 14) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 14)
#elif PACKETVER >= 20080610
-packetLen(0x0120, 79) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 79)
#elif PACKETVER >= 20080603
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0120, 28) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 28)
#elif PACKETVER >= 20080520
-packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 5)
#elif PACKETVER >= 20080513
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0120, 54) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 54)
#elif PACKETVER >= 20080429
-packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 7)
#elif PACKETVER >= 20080422
-packetLen(0x0120, 4) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0120, 54) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 54)
#elif PACKETVER >= 20080226
-packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0120, 39) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 39)
#elif PACKETVER >= 20080102
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
#endif
// Packet: 0x0121
#if PACKETVER >= 20081217
-packetLen(0x0121, 3) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 3)
#elif PACKETVER >= 20081112
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0121, 3) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 3)
#elif PACKETVER >= 20081029
-packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0121, 5) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 5)
#elif PACKETVER >= 20080917
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0121, 3) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 3)
#elif PACKETVER >= 20080903
-packetLen(0x0121, 13) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 13)
#elif PACKETVER >= 20080813
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 2)
#elif PACKETVER >= 20080708
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0121, 8) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 8)
#elif PACKETVER >= 20080624
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0121, 5) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0121, 4) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0121, 26) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 26)
#elif PACKETVER >= 20080513
-packetLen(0x0121, 27) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 27)
#elif PACKETVER >= 20080507
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0121, 60) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 60)
#elif PACKETVER >= 20080415
-packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0121, 29) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 29)
#elif PACKETVER >= 20080311
-packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0121, 29) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 29)
#elif PACKETVER >= 20080226
-packetLen(0x0121, 282) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 282)
#elif PACKETVER >= 20080219
-packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0121, 60) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 60)
#elif PACKETVER >= 20080102
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
#endif
// Packet: 0x0122
#if PACKETVER >= 20081217
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0122, 2) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 2)
#elif PACKETVER >= 20081126
-packetLen(0x0122, 66) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 66)
#elif PACKETVER >= 20081119
-packetLen(0x0122, 2) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 2)
#elif PACKETVER >= 20081112
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0122, 10) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 10)
#elif PACKETVER >= 20081029
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0122, 6) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 6)
#elif PACKETVER >= 20081001
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0122, 65) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 65)
#elif PACKETVER >= 20080917
-packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 30)
#elif PACKETVER >= 20080910
-packetLen(0x0122, 7) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 7)
#elif PACKETVER >= 20080903
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0122, 3) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0122, 5) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 5)
#elif PACKETVER >= 20080730
-packetLen(0x0122, 3) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 3)
#elif PACKETVER >= 20080715
-packetLen(0x0122, 10) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 10)
#elif PACKETVER >= 20080708
-packetLen(0x0122, 282) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 282)
#elif PACKETVER >= 20080701
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0122, 58) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 58)
#elif PACKETVER >= 20080617
-packetLen(0x0122, 12) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 12)
#elif PACKETVER >= 20080610
-packetLen(0x0122, 15) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 15)
#elif PACKETVER >= 20080603
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0122, 4) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0122, 10) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 10)
#elif PACKETVER >= 20080507
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 30)
#elif PACKETVER >= 20080422
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0122, 186) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 186)
#elif PACKETVER >= 20080408
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 30)
#elif PACKETVER >= 20080325
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0122, 16) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 16)
#elif PACKETVER >= 20080311
-packetLen(0x0122, 7) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0122, 28) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 28)
#elif PACKETVER >= 20080226
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0122, 8) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#endif
// Packet: 0x0123
#if PACKETVER >= 20081217
-packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 26)
#elif PACKETVER >= 20081203
-packetLen(0x0123, 22) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 22)
#elif PACKETVER >= 20081126
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0123, 58) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 58)
#elif PACKETVER >= 20081105
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 26)
#elif PACKETVER >= 20080924
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0123, 4) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 4)
#elif PACKETVER >= 20080910
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0123, 19) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 19)
#elif PACKETVER >= 20080827
-packetLen(0x0123, 3) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 3)
#elif PACKETVER >= 20080820
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0123, 4) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 4)
#elif PACKETVER >= 20080806
-packetLen(0x0123, 2) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 2)
#elif PACKETVER >= 20080722
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0123, 11) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 11)
#elif PACKETVER >= 20080708
-packetLen(0x0123, 2) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 2)
#elif PACKETVER >= 20080701
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0123, 23) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 23)
#elif PACKETVER >= 20080603
-packetLen(0x0123, 30) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 30)
#elif PACKETVER >= 20080528
-packetLen(0x0123, 28) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 28)
#elif PACKETVER >= 20080520
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0123, 2) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0123, 8) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 26)
#elif PACKETVER >= 20080401
-packetLen(0x0123, 35) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 35)
#elif PACKETVER >= 20080325
-packetLen(0x0123, 33) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 33)
#elif PACKETVER >= 20080318
-packetLen(0x0123, 14) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 14)
#elif PACKETVER >= 20080311
-packetLen(0x0123, 5) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0123, 9) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 9)
#elif PACKETVER >= 20080226
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0123, 16) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 16)
#elif PACKETVER >= 20080124
-packetLen(0x0123, 58) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 58)
#elif PACKETVER >= 20080102
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#endif
// Packet: 0x0124
#if PACKETVER >= 20081217
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0124, 26) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 26)
#elif PACKETVER >= 20081126
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0124, 182) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 182)
#elif PACKETVER >= 20081112
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20081008
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0124, 3) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 3)
#elif PACKETVER >= 20080924
-packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 4)
#elif PACKETVER >= 20080917
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0124, 29) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 29)
#elif PACKETVER >= 20080903
-packetLen(0x0124, 10) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 10)
#elif PACKETVER >= 20080827
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0124, 282) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 282)
#elif PACKETVER >= 20080813
-packetLen(0x0124, 8) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 8)
#elif PACKETVER >= 20080730
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20080722
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0124, 5) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 5)
#elif PACKETVER >= 20080701
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0124, 26) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 26)
#elif PACKETVER >= 20080617
-packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0124, 58) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 58)
#elif PACKETVER >= 20080603
-packetLen(0x0124, 54) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 54)
#elif PACKETVER >= 20080528
-packetLen(0x0124, 32) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 32)
#elif PACKETVER >= 20080520
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0124, 22) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 22)
#elif PACKETVER >= 20080507
-packetLen(0x0124, 2) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 31)
#elif PACKETVER >= 20080422
-packetLen(0x0124, 71) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 71)
#elif PACKETVER >= 20080415
-packetLen(0x0124, 22) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 22)
#elif PACKETVER >= 20080408
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0124, 3) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0124, 36) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 36)
#elif PACKETVER >= 20080219
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0124, 11) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 11)
#elif PACKETVER >= 20080102
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
#endif
// Packet: 0x0125
#if PACKETVER >= 20081112
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0125, 4) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 4)
#elif PACKETVER >= 20081022
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0125, 4) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 4)
#elif PACKETVER >= 20081001
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0125, 4) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 4)
#elif PACKETVER >= 20080903
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080820
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20080730
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0125, 4) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 4)
#elif PACKETVER >= 20080715
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0125, 3) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 3)
#elif PACKETVER >= 20080701
-packetLen(0x0125, 10) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 10)
#elif PACKETVER >= 20080624
-packetLen(0x0125, 7) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 7)
#elif PACKETVER >= 20080617
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0125, 86) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 86)
#elif PACKETVER >= 20080603
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0125, 44) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 44)
#elif PACKETVER >= 20080513
-packetLen(0x0125, 57) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 57)
#elif PACKETVER >= 20080507
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0125, 32) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 32)
#elif PACKETVER >= 20080415
-packetLen(0x0125, 29) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 29)
#elif PACKETVER >= 20080408
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0125, 11) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 11)
#elif PACKETVER >= 20080325
-packetLen(0x0125, 53) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 53)
#elif PACKETVER >= 20080318
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0125, 26) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
#endif
// Packet: 0x0126
#if PACKETVER >= 20081217
-packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 14)
#elif PACKETVER >= 20081203
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#elif PACKETVER >= 20081126
-packetLen(0x0126, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 10)
#elif PACKETVER >= 20081119
-packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 14)
#elif PACKETVER >= 20081112
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// 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
+packetLen(0x0126, 60)
#elif PACKETVER >= 20081029
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0126, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 4)
#elif PACKETVER >= 20081008
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 3)
#elif PACKETVER >= 20080722
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0126, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 6)
#elif PACKETVER >= 20080708
-packetLen(0x0126, 24) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 24)
#elif PACKETVER >= 20080701
-packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 3)
#elif PACKETVER >= 20080624
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0126, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 43)
#elif PACKETVER >= 20080610
-packetLen(0x0126, 97) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 97)
#elif PACKETVER >= 20080603
-packetLen(0x0126, 12) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 12)
#elif PACKETVER >= 20080507
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0126, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0126, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 14)
#elif PACKETVER >= 20080401
-packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0126, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 30)
#elif PACKETVER >= 20080318
-packetLen(0x0126, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0126, 7) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0126, 27) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 27)
#elif PACKETVER >= 20080226
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0126, 11) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 11)
#elif PACKETVER >= 20080124
-packetLen(0x0126, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#endif
// Packet: 0x0127
#if PACKETVER >= 20081217
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 4)
#elif PACKETVER >= 20081112
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20080917
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0127, 81) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 81)
#elif PACKETVER >= 20080820
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0127, 17) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 17)
#elif PACKETVER >= 20080806
-packetLen(0x0127, 18) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 18)
#elif PACKETVER >= 20080730
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 2)
#elif PACKETVER >= 20080715
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 4)
#elif PACKETVER >= 20080701
-packetLen(0x0127, 9) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 9)
#elif PACKETVER >= 20080528
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0127, 6) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0127, 10) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0127, 26) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 26)
#elif PACKETVER >= 20080401
-packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0127, 6) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0127, 67) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 67)
#elif PACKETVER >= 20080311
-packetLen(0x0127, 5) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0127, 18) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 18)
#elif PACKETVER >= 20080226
-packetLen(0x0127, 12) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 12)
#elif PACKETVER >= 20080219
-packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
#endif
// Packet: 0x0128
#if PACKETVER >= 20081217
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0128, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 10)
#elif PACKETVER >= 20081126
-packetLen(0x0128, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 29)
#elif PACKETVER >= 20081119
-packetLen(0x0128, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 10)
#elif PACKETVER >= 20081112
-packetLen(0x0128, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 18)
// 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
+packetLen(0x0128, 3)
#elif PACKETVER >= 20081029
-packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 2)
#elif PACKETVER >= 20081022
-packetLen(0x0128, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 7)
#elif PACKETVER >= 20081008
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#elif PACKETVER >= 20080903
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0128, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 4)
#elif PACKETVER >= 20080820
-packetLen(0x0128, 30) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 30)
#elif PACKETVER >= 20080813
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0128, 97) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 97)
#elif PACKETVER >= 20080730
-packetLen(0x0128, 31) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 31)
#elif PACKETVER >= 20080722
-packetLen(0x0128, 27) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 27)
#elif PACKETVER >= 20080715
-packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 3)
#elif PACKETVER >= 20080708
-packetLen(0x0128, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 7)
#elif PACKETVER >= 20080701
-packetLen(0x0128, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 5)
#elif PACKETVER >= 20080624
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0128, 31) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 31)
#elif PACKETVER >= 20080603
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0128, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 11)
#elif PACKETVER >= 20080520
-packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0128, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 13)
#elif PACKETVER >= 20080422
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0128, 22) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 22)
#elif PACKETVER >= 20080408
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0128, 58) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 58)
#elif PACKETVER >= 20080304
-packetLen(0x0128, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0128, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 17)
#elif PACKETVER >= 20080124
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#endif
// Packet: 0x0129
#if PACKETVER >= 20081217
-packetLen(0x0129, 7) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 7)
#elif PACKETVER >= 20081203
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0129, 2) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 2)
#elif PACKETVER >= 20081119
-packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 3)
#elif PACKETVER >= 20081112
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0129, 2) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 2)
#elif PACKETVER >= 20081022
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 3)
#elif PACKETVER >= 20080910
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 3)
#elif PACKETVER >= 20080827
-packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 10)
#elif PACKETVER >= 20080813
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0129, 14) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 14)
#elif PACKETVER >= 20080701
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0129, 182) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 182)
#elif PACKETVER >= 20080617
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20080603
-packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0129, 7) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 7)
#elif PACKETVER >= 20080507
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0129, 4) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 4)
#elif PACKETVER >= 20080422
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0129, 60) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 60)
#elif PACKETVER >= 20080408
-packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0129, 14) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 14)
#elif PACKETVER >= 20080325
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0129, 3) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0129, 4) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0129, 28) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 28)
#elif PACKETVER >= 20080102
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#endif
// Packet: 0x012a
#if PACKETVER >= 20081119
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20081112
-packetLen(0x012a, 54) // CZ_REQ_CARTOFF
+packetLen(0x012a, 54)
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x012a, 54) // CZ_REQ_CARTOFF
+packetLen(0x012a, 54)
#elif PACKETVER >= 20081022
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20081015
-packetLen(0x012a, 30) // CZ_REQ_CARTOFF
+packetLen(0x012a, 30)
#elif PACKETVER >= 20081008
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20081001
-packetLen(0x012a, 10) // CZ_REQ_CARTOFF
+packetLen(0x012a, 10)
#elif PACKETVER >= 20080924
-packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+packetLen(0x012a, 8)
#elif PACKETVER >= 20080917
-packetLen(0x012a, 29) // CZ_REQ_CARTOFF
+packetLen(0x012a, 29)
#elif PACKETVER >= 20080813
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20080806
-packetLen(0x012a, 39) // CZ_REQ_CARTOFF
+packetLen(0x012a, 39)
#elif PACKETVER >= 20080730
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
#elif PACKETVER >= 20080624
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20080617
-packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+packetLen(0x012a, 6)
#elif PACKETVER >= 20080610
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x012a, 11) // CZ_REQ_CARTOFF
+packetLen(0x012a, 11)
#elif PACKETVER >= 20080528
-packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+packetLen(0x012a, 8)
#elif PACKETVER >= 20080520
-packetLen(0x012a, 9) // CZ_REQ_CARTOFF
+packetLen(0x012a, 9)
#elif PACKETVER >= 20080513
-packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+packetLen(0x012a, 6)
#elif PACKETVER >= 20080507
-packetLen(0x012a, 14) // CZ_REQ_CARTOFF
+packetLen(0x012a, 14)
#elif PACKETVER >= 20080429
-packetLen(0x012a, 22) // CZ_REQ_CARTOFF
+packetLen(0x012a, 22)
#elif PACKETVER >= 20080422
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
#elif PACKETVER >= 20080415
-packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+packetLen(0x012a, 3)
#elif PACKETVER >= 20080408
-packetLen(0x012a, 282) // CZ_REQ_CARTOFF
+packetLen(0x012a, 282)
#elif PACKETVER >= 20080401
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20080325
-packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+packetLen(0x012a, 3)
#elif PACKETVER >= 20080318
-packetLen(0x012a, 4) // CZ_REQ_CARTOFF
+packetLen(0x012a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x012a, 8) // CZ_REQ_CARTOFF
+packetLen(0x012a, 8)
#elif PACKETVER >= 20080226
-packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+packetLen(0x012a, 3)
#elif PACKETVER >= 20080219
-packetLen(0x012a, 5) // CZ_REQ_CARTOFF
+packetLen(0x012a, 5)
#elif PACKETVER >= 20080102
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
#endif
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
#if PACKETVER >= 20081217
-packetLen(0x012c, 79) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 79)
#elif PACKETVER >= 20081203
-packetLen(0x012c, 5) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 5)
#elif PACKETVER >= 20081126
-packetLen(0x012c, 6) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 6)
#elif PACKETVER >= 20081112
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20081029
-packetLen(0x012c, 5) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 5)
#elif PACKETVER >= 20081022
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20081015
-packetLen(0x012c, 2) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 2)
#elif PACKETVER >= 20081008
-packetLen(0x012c, 14) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 14)
#elif PACKETVER >= 20080924
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080917
-packetLen(0x012c, 6) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 6)
#elif PACKETVER >= 20080903
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080827
-packetLen(0x012c, 26) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 26)
#elif PACKETVER >= 20080813
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080806
-packetLen(0x012c, 36) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 36)
#elif PACKETVER >= 20080715
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080708
-packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 8)
#elif PACKETVER >= 20080610
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x012c, 5) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 5)
#elif PACKETVER >= 20080528
-packetLen(0x012c, 58) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 58)
#elif PACKETVER >= 20080520
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080513
-packetLen(0x012c, 2) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 2)
#elif PACKETVER >= 20080507
-packetLen(0x012c, 10) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 10)
#elif PACKETVER >= 20080429
-packetLen(0x012c, 39) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 39)
#elif PACKETVER >= 20080422
-packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 8)
#elif PACKETVER >= 20080415
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20080408
-packetLen(0x012c, 30) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 30)
#elif PACKETVER >= 20080401
-packetLen(0x012c, 8) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 8)
#elif PACKETVER >= 20080325
-packetLen(0x012c, 4) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 4)
#elif PACKETVER >= 20080318
-packetLen(0x012c, 10) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 10)
#elif PACKETVER >= 20080311
-packetLen(0x012c, 14) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 14)
#elif PACKETVER >= 20080304
-packetLen(0x012c, 30) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 30)
#elif PACKETVER >= 20080226
-packetLen(0x012c, 20) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 20)
#elif PACKETVER >= 20080219
-packetLen(0x012c, 9) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 9)
#elif PACKETVER >= 20080124
-packetLen(0x012c, 19) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 19)
#elif PACKETVER >= 20080102
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
#endif
// Packet: 0x012d
#if PACKETVER >= 20081119
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20081112
-packetLen(0x012d, 67) // ZC_OPENSTORE
+packetLen(0x012d, 67)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20080910
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080903
-packetLen(0x012d, 11) // ZC_OPENSTORE
+packetLen(0x012d, 11)
#elif PACKETVER >= 20080813
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080806
-packetLen(0x012d, 8) // ZC_OPENSTORE
+packetLen(0x012d, 8)
#elif PACKETVER >= 20080730
-packetLen(0x012d, 26) // ZC_OPENSTORE
+packetLen(0x012d, 26)
#elif PACKETVER >= 20080722
-packetLen(0x012d, 3) // ZC_OPENSTORE
+packetLen(0x012d, 3)
#elif PACKETVER >= 20080701
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x012d, 26) // ZC_OPENSTORE
+packetLen(0x012d, 26)
#elif PACKETVER >= 20080617
-packetLen(0x012d, 3) // ZC_OPENSTORE
+packetLen(0x012d, 3)
#elif PACKETVER >= 20080610
-packetLen(0x012d, 8) // ZC_OPENSTORE
+packetLen(0x012d, 8)
#elif PACKETVER >= 20080603
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080528
-packetLen(0x012d, 30) // ZC_OPENSTORE
+packetLen(0x012d, 30)
#elif PACKETVER >= 20080520
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080513
-packetLen(0x012d, 34) // ZC_OPENSTORE
+packetLen(0x012d, 34)
#elif PACKETVER >= 20080507
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080429
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
#elif PACKETVER >= 20080422
-packetLen(0x012d, 81) // ZC_OPENSTORE
+packetLen(0x012d, 81)
#elif PACKETVER >= 20080415
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080408
-packetLen(0x012d, 33) // ZC_OPENSTORE
+packetLen(0x012d, 33)
#elif PACKETVER >= 20080401
-packetLen(0x012d, 3) // ZC_OPENSTORE
+packetLen(0x012d, 3)
#elif PACKETVER >= 20080325
-packetLen(0x012d, 6) // ZC_OPENSTORE
+packetLen(0x012d, 6)
#elif PACKETVER >= 20080318
-packetLen(0x012d, 2) // ZC_OPENSTORE
+packetLen(0x012d, 2)
#elif PACKETVER >= 20080311
-packetLen(0x012d, 30) // ZC_OPENSTORE
+packetLen(0x012d, 30)
#elif PACKETVER >= 20080304
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080219
-packetLen(0x012d, 14) // ZC_OPENSTORE
+packetLen(0x012d, 14)
#elif PACKETVER >= 20080124
-packetLen(0x012d, 26) // ZC_OPENSTORE
+packetLen(0x012d, 26)
#elif PACKETVER >= 20080102
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
#endif
// Packet: 0x012e
#if PACKETVER >= 20081217
-packetLen(0x012e, 7) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 7)
#elif PACKETVER >= 20081203
-packetLen(0x012e, 10) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 10)
#elif PACKETVER >= 20081119
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20081112
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20081105
-packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 6)
#elif PACKETVER >= 20081029
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20081022
-packetLen(0x012e, 33) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 33)
#elif PACKETVER >= 20081015
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20081008
-packetLen(0x012e, 5) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 5)
#elif PACKETVER >= 20080910
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080903
-packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 6)
#elif PACKETVER >= 20080827
-packetLen(0x012e, 4) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 4)
#elif PACKETVER >= 20080820
-packetLen(0x012e, 3) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 3)
#elif PACKETVER >= 20080806
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080730
-packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 6)
#elif PACKETVER >= 20080722
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080715
-packetLen(0x012e, 5) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 5)
#elif PACKETVER >= 20080708
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20080701
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 6)
#elif PACKETVER >= 20080617
-packetLen(0x012e, 31) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 31)
#elif PACKETVER >= 20080520
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x012e, 5) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 5)
#elif PACKETVER >= 20080507
-packetLen(0x012e, 102) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 102)
#elif PACKETVER >= 20080429
-packetLen(0x012e, 3) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 3)
#elif PACKETVER >= 20080422
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20080415
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080408
-packetLen(0x012e, 26) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 26)
#elif PACKETVER >= 20080401
-packetLen(0x012e, 7) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 7)
#elif PACKETVER >= 20080325
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20080318
-packetLen(0x012e, 4) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 4)
#elif PACKETVER >= 20080311
-packetLen(0x012e, 14) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 14)
#elif PACKETVER >= 20080304
-packetLen(0x012e, 6) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 6)
#elif PACKETVER >= 20080219
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#endif
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
#if PACKETVER >= 20081203
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0130, 5) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 5)
#elif PACKETVER >= 20081015
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080924
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0130, 12) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 12)
#elif PACKETVER >= 20080827
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080813
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 4)
#elif PACKETVER >= 20080730
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0130, 55) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 55)
#elif PACKETVER >= 20080715
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0130, 30) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 30)
#elif PACKETVER >= 20080603
-packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0130, 282) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 282)
#elif PACKETVER >= 20080507
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 4)
#elif PACKETVER >= 20080422
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0130, 2) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0130, 81) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 81)
#elif PACKETVER >= 20080325
-packetLen(0x0130, 4) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0130, 66) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 66)
#elif PACKETVER >= 20080311
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0130, 28) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 28)
#elif PACKETVER >= 20080219
-packetLen(0x0130, 5) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 5)
#elif PACKETVER >= 20080124
-packetLen(0x0130, 8) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#endif
// Packet: 0x0131
#if PACKETVER >= 20081203
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0131, 15) // ZC_STORE_ENTRY
+packetLen(0x0131, 15)
#elif PACKETVER >= 20081119
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0131, 3) // ZC_STORE_ENTRY
+packetLen(0x0131, 3)
#elif PACKETVER >= 20081022
-packetLen(0x0131, 5) // ZC_STORE_ENTRY
+packetLen(0x0131, 5)
#elif PACKETVER >= 20081015
-packetLen(0x0131, 10) // ZC_STORE_ENTRY
+packetLen(0x0131, 10)
#elif PACKETVER >= 20081008
-packetLen(0x0131, 4) // ZC_STORE_ENTRY
+packetLen(0x0131, 4)
#elif PACKETVER >= 20080910
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0131, 97) // ZC_STORE_ENTRY
+packetLen(0x0131, 97)
#elif PACKETVER >= 20080730
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0131, 26) // ZC_STORE_ENTRY
+packetLen(0x0131, 26)
#elif PACKETVER >= 20080624
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0131, 3) // ZC_STORE_ENTRY
+packetLen(0x0131, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0131, 12) // ZC_STORE_ENTRY
+packetLen(0x0131, 12)
#elif PACKETVER >= 20080603
-packetLen(0x0131, 35) // ZC_STORE_ENTRY
+packetLen(0x0131, 35)
#elif PACKETVER >= 20080528
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0131, 3) // ZC_STORE_ENTRY
+packetLen(0x0131, 3)
#elif PACKETVER >= 20080513
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0131, 35) // ZC_STORE_ENTRY
+packetLen(0x0131, 35)
#elif PACKETVER >= 20080429
-packetLen(0x0131, 14) // ZC_STORE_ENTRY
+packetLen(0x0131, 14)
#elif PACKETVER >= 20080422
-packetLen(0x0131, 8) // ZC_STORE_ENTRY
+packetLen(0x0131, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0131, 3) // ZC_STORE_ENTRY
+packetLen(0x0131, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0131, 11) // ZC_STORE_ENTRY
+packetLen(0x0131, 11)
#elif PACKETVER >= 20080325
-packetLen(0x0131, 4) // ZC_STORE_ENTRY
+packetLen(0x0131, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0131, 6) // ZC_STORE_ENTRY
+packetLen(0x0131, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0131, 14) // ZC_STORE_ENTRY
+packetLen(0x0131, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0131, 29) // ZC_STORE_ENTRY
+packetLen(0x0131, 29)
#elif PACKETVER >= 20080219
-packetLen(0x0131, 26) // ZC_STORE_ENTRY
+packetLen(0x0131, 26)
#elif PACKETVER >= 20080124
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
#endif
// Packet: 0x0132
#if PACKETVER >= 20081203
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0132, 55) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 55)
#elif PACKETVER >= 20081112
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0132, 8) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 8)
#elif PACKETVER >= 20081022
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0132, 9) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 9)
#elif PACKETVER >= 20080924
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0132, 3) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 3)
#elif PACKETVER >= 20080820
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0132, 4) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 4)
#elif PACKETVER >= 20080730
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0132, 5) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 5)
#elif PACKETVER >= 20080715
-packetLen(0x0132, 2) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 2)
#elif PACKETVER >= 20080701
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0132, 4) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 4)
#elif PACKETVER >= 20080617
-packetLen(0x0132, 10) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0132, 14) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 14)
#elif PACKETVER >= 20080603
-packetLen(0x0132, 16) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 16)
#elif PACKETVER >= 20080422
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0132, 30) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 30)
#elif PACKETVER >= 20080318
-packetLen(0x0132, 11) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 11)
#elif PACKETVER >= 20080311
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0132, 36) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 36)
#elif PACKETVER >= 20080219
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0132, 2) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#endif
// Packet: 0x0133
#if PACKETVER >= 20081105
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0133, 102) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 102)
#elif PACKETVER >= 20081022
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0133, 28) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 28)
#elif PACKETVER >= 20080910
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0133, 6) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 6)
#elif PACKETVER >= 20080827
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0133, 59) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 59)
#elif PACKETVER >= 20080813
-packetLen(0x0133, 67) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 67)
#elif PACKETVER >= 20080806
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0133, 11) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 11)
#elif PACKETVER >= 20080722
-packetLen(0x0133, 5) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 5)
#elif PACKETVER >= 20080715
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0133, 4) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 4)
#elif PACKETVER >= 20080701
-packetLen(0x0133, 11) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 11)
#elif PACKETVER >= 20080617
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0133, 7) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 7)
#elif PACKETVER >= 20080603
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 8)
#elif PACKETVER >= 20080520
-packetLen(0x0133, 57) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 57)
#elif PACKETVER >= 20080513
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0133, 26) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 26)
#elif PACKETVER >= 20080429
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0133, 14) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 14)
#elif PACKETVER >= 20080415
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0133, 5) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 5)
#elif PACKETVER >= 20080401
-packetLen(0x0133, 24) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 24)
#elif PACKETVER >= 20080311
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0133, 26) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0133, 10) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0133, 3) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#endif
// Packet: 0x0134
#if PACKETVER >= 20081217
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 6)
#elif PACKETVER >= 20081126
-packetLen(0x0134, 282) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 282)
#elif PACKETVER >= 20081119
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0134, 11) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 11)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0134, 15) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 15)
#elif PACKETVER >= 20081022
-packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0134, 29) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 29)
#elif PACKETVER >= 20081001
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 6)
#elif PACKETVER >= 20080917
-packetLen(0x0134, 21) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 21)
#elif PACKETVER >= 20080910
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0134, 282) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 282)
#elif PACKETVER >= 20080827
-packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 6)
#elif PACKETVER >= 20080820
-packetLen(0x0134, 39) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 39)
#elif PACKETVER >= 20080722
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0134, 10) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 10)
#elif PACKETVER >= 20080701
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0134, 29) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 29)
#elif PACKETVER >= 20080617
-packetLen(0x0134, 8) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0134, 67) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 67)
#elif PACKETVER >= 20080603
-packetLen(0x0134, 30) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 30)
#elif PACKETVER >= 20080528
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0134, 7) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 7)
#elif PACKETVER >= 20080513
-packetLen(0x0134, 282) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 282)
#elif PACKETVER >= 20080507
-packetLen(0x0134, 16) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 16)
#elif PACKETVER >= 20080422
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0134, 71) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 71)
#elif PACKETVER >= 20080408
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0134, 28) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 28)
#elif PACKETVER >= 20080325
-packetLen(0x0134, 7) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 7)
#elif PACKETVER >= 20080318
-packetLen(0x0134, 20) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 20)
#elif PACKETVER >= 20080311
-packetLen(0x0134, 26) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0134, 3) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#endif
// Packet: 0x0135
#if PACKETVER >= 20081112
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0135, 3) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 3)
#elif PACKETVER >= 20081029
-packetLen(0x0135, 4) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 4)
#elif PACKETVER >= 20081001
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0135, 114) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 114)
#elif PACKETVER >= 20080917
-packetLen(0x0135, 12) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 12)
#elif PACKETVER >= 20080910
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0135, 22) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 22)
#elif PACKETVER >= 20080827
-packetLen(0x0135, 16) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 16)
#elif PACKETVER >= 20080820
-packetLen(0x0135, 71) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 71)
#elif PACKETVER >= 20080813
-packetLen(0x0135, 14) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 14)
#elif PACKETVER >= 20080715
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0135, 5) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 5)
#elif PACKETVER >= 20080624
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0135, 13) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 13)
#elif PACKETVER >= 20080610
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0135, 60) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 60)
#elif PACKETVER >= 20080520
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0135, 9) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 9)
#elif PACKETVER >= 20080507
-packetLen(0x0135, 8) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0135, 29) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 29)
#elif PACKETVER >= 20080422
-packetLen(0x0135, 4) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 4)
#elif PACKETVER >= 20080415
-packetLen(0x0135, 2) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0135, 2) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0135, 65) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 65)
#elif PACKETVER >= 20080124
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
#endif
// Packet: 0x0136
#if PACKETVER >= 20081217
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0136, 7) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 7)
#elif PACKETVER >= 20081029
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 10)
#elif PACKETVER >= 20080827
-packetLen(0x0136, 5) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 5)
#elif PACKETVER >= 20080820
-packetLen(0x0136, 19) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 19)
#elif PACKETVER >= 20080708
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0136, 54) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 54)
#elif PACKETVER >= 20080624
-packetLen(0x0136, 5) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 5)
#elif PACKETVER >= 20080617
-packetLen(0x0136, 8) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0136, 11) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 11)
#elif PACKETVER >= 20080603
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 10)
#elif PACKETVER >= 20080520
-packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 30)
#elif PACKETVER >= 20080507
-packetLen(0x0136, 3) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 3)
#elif PACKETVER >= 20080429
-packetLen(0x0136, 28) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 28)
#elif PACKETVER >= 20080408
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0136, 6) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0136, 2) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#endif
// Packet: 0x0137
#if PACKETVER >= 20081217
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0137, 2) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 2)
#elif PACKETVER >= 20081119
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0137, 10) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 10)
#elif PACKETVER >= 20081001
-packetLen(0x0137, 5) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 5)
#elif PACKETVER >= 20080910
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0137, 29) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 29)
#elif PACKETVER >= 20080813
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#elif PACKETVER >= 20080730
-packetLen(0x0137, 17) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 17)
#elif PACKETVER >= 20080722
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#elif PACKETVER >= 20080715
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#elif PACKETVER >= 20080701
-packetLen(0x0137, 9) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 9)
#elif PACKETVER >= 20080624
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0137, 71) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 71)
#elif PACKETVER >= 20080610
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0137, 8) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0137, 30) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 30)
#elif PACKETVER >= 20080415
-packetLen(0x0137, 27) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 27)
#elif PACKETVER >= 20080408
-packetLen(0x0137, 7) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 7)
#elif PACKETVER >= 20080401
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0137, 32) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 32)
#elif PACKETVER >= 20080318
-packetLen(0x0137, 22) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 22)
#elif PACKETVER >= 20080311
-packetLen(0x0137, 86) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 86)
#elif PACKETVER >= 20080226
-packetLen(0x0137, 5) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0137, 10) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0137, 7) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 7)
#elif PACKETVER >= 20080102
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#endif
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
#if PACKETVER >= 20081203
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0139, 18) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 18)
#elif PACKETVER >= 20081112
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0139, 67) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 67)
#elif PACKETVER >= 20081015
-packetLen(0x0139, 18) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 18)
#elif PACKETVER >= 20081008
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 6)
#elif PACKETVER >= 20080924
-packetLen(0x0139, 7) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 7)
#elif PACKETVER >= 20080903
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0139, 30) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 30)
#elif PACKETVER >= 20080820
-packetLen(0x0139, 2) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 2)
#elif PACKETVER >= 20080813
-packetLen(0x0139, 10) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 10)
#elif PACKETVER >= 20080806
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0139, 7) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 7)
#elif PACKETVER >= 20080722
-packetLen(0x0139, 26) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 26)
#elif PACKETVER >= 20080715
-packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 6)
#elif PACKETVER >= 20080708
-packetLen(0x0139, 12) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 12)
#elif PACKETVER >= 20080701
-packetLen(0x0139, 26) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 26)
#elif PACKETVER >= 20080624
-packetLen(0x0139, 10) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0139, 5) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0139, 2) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0139, 9) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 9)
#elif PACKETVER >= 20080429
-packetLen(0x0139, 28) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 28)
#elif PACKETVER >= 20080422
-packetLen(0x0139, 29) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 29)
#elif PACKETVER >= 20080415
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0139, 11) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0139, 3) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 3)
#elif PACKETVER >= 20080318
-packetLen(0x0139, 14) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 14)
#elif PACKETVER >= 20080311
-packetLen(0x0139, 31) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 31)
#elif PACKETVER >= 20080304
-packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0139, 81) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 81)
#elif PACKETVER >= 20080219
-packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
#endif
// Packet: 0x013a
#if PACKETVER >= 20081119
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20081112
-packetLen(0x013a, 39) // ZC_ATTACK_RANGE
+packetLen(0x013a, 39)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+packetLen(0x013a, 8)
#elif PACKETVER >= 20081029
-packetLen(0x013a, 5) // ZC_ATTACK_RANGE
+packetLen(0x013a, 5)
#elif PACKETVER >= 20081022
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20081015
-packetLen(0x013a, 10) // ZC_ATTACK_RANGE
+packetLen(0x013a, 10)
#elif PACKETVER >= 20081008
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20081001
-packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+packetLen(0x013a, 3)
#elif PACKETVER >= 20080924
-packetLen(0x013a, 11) // ZC_ATTACK_RANGE
+packetLen(0x013a, 11)
#elif PACKETVER >= 20080917
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x013a, 7) // ZC_ATTACK_RANGE
+packetLen(0x013a, 7)
#elif PACKETVER >= 20080903
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080827
-packetLen(0x013a, 5) // ZC_ATTACK_RANGE
+packetLen(0x013a, 5)
#elif PACKETVER >= 20080820
-packetLen(0x013a, 10) // ZC_ATTACK_RANGE
+packetLen(0x013a, 10)
#elif PACKETVER >= 20080813
-packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+packetLen(0x013a, 6)
#elif PACKETVER >= 20080806
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
#elif PACKETVER >= 20080730
-packetLen(0x013a, 14) // ZC_ATTACK_RANGE
+packetLen(0x013a, 14)
#elif PACKETVER >= 20080722
-packetLen(0x013a, 43) // ZC_ATTACK_RANGE
+packetLen(0x013a, 43)
#elif PACKETVER >= 20080715
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080708
-packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+packetLen(0x013a, 8)
#elif PACKETVER >= 20080701
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080624
-packetLen(0x013a, 2) // ZC_ATTACK_RANGE
+packetLen(0x013a, 2)
#elif PACKETVER >= 20080617
-packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+packetLen(0x013a, 3)
#elif PACKETVER >= 20080610
-packetLen(0x013a, 30) // ZC_ATTACK_RANGE
+packetLen(0x013a, 30)
#elif PACKETVER >= 20080603
-packetLen(0x013a, 39) // ZC_ATTACK_RANGE
+packetLen(0x013a, 39)
#elif PACKETVER >= 20080513
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x013a, 182) // ZC_ATTACK_RANGE
+packetLen(0x013a, 182)
#elif PACKETVER >= 20080429
-packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+packetLen(0x013a, 6)
#elif PACKETVER >= 20080422
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+packetLen(0x013a, 6)
#elif PACKETVER >= 20080408
-packetLen(0x013a, 55) // ZC_ATTACK_RANGE
+packetLen(0x013a, 55)
#elif PACKETVER >= 20080401
-packetLen(0x013a, 12) // ZC_ATTACK_RANGE
+packetLen(0x013a, 12)
#elif PACKETVER >= 20080325
-packetLen(0x013a, 3) // ZC_ATTACK_RANGE
+packetLen(0x013a, 3)
#elif PACKETVER >= 20080318
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x013a, 6) // ZC_ATTACK_RANGE
+packetLen(0x013a, 6)
#elif PACKETVER >= 20080304
-packetLen(0x013a, 32) // ZC_ATTACK_RANGE
+packetLen(0x013a, 32)
#elif PACKETVER >= 20080226
-packetLen(0x013a, 58) // ZC_ATTACK_RANGE
+packetLen(0x013a, 58)
#elif PACKETVER >= 20080124
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080102
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
#endif
// Packet: 0x013b
#if PACKETVER >= 20081119
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20081112
-packetLen(0x013b, 33) // ZC_ACTION_FAILURE
+packetLen(0x013b, 33)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20081015
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20081008
-packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+packetLen(0x013b, 2)
#elif PACKETVER >= 20080924
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080917
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080827
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080820
-packetLen(0x013b, 11) // ZC_ACTION_FAILURE
+packetLen(0x013b, 11)
#elif PACKETVER >= 20080813
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080806
-packetLen(0x013b, 7) // ZC_ACTION_FAILURE
+packetLen(0x013b, 7)
#elif PACKETVER >= 20080730
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080722
-packetLen(0x013b, 65) // ZC_ACTION_FAILURE
+packetLen(0x013b, 65)
#elif PACKETVER >= 20080715
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080708
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080701
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#elif PACKETVER >= 20080624
-packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+packetLen(0x013b, 22)
#elif PACKETVER >= 20080617
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080610
-packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+packetLen(0x013b, 22)
#elif PACKETVER >= 20080603
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080528
-packetLen(0x013b, 5) // ZC_ACTION_FAILURE
+packetLen(0x013b, 5)
#elif PACKETVER >= 20080520
-packetLen(0x013b, 10) // ZC_ACTION_FAILURE
+packetLen(0x013b, 10)
#elif PACKETVER >= 20080513
-packetLen(0x013b, 18) // ZC_ACTION_FAILURE
+packetLen(0x013b, 18)
#elif PACKETVER >= 20080507
-packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+packetLen(0x013b, 2)
#elif PACKETVER >= 20080429
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20080422
-packetLen(0x013b, 15) // ZC_ACTION_FAILURE
+packetLen(0x013b, 15)
#elif PACKETVER >= 20080415
-packetLen(0x013b, 7) // ZC_ACTION_FAILURE
+packetLen(0x013b, 7)
#elif PACKETVER >= 20080408
-packetLen(0x013b, 30) // ZC_ACTION_FAILURE
+packetLen(0x013b, 30)
#elif PACKETVER >= 20080401
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080325
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#elif PACKETVER >= 20080318
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080311
-packetLen(0x013b, 23) // ZC_ACTION_FAILURE
+packetLen(0x013b, 23)
#elif PACKETVER >= 20080304
-packetLen(0x013b, 22) // ZC_ACTION_FAILURE
+packetLen(0x013b, 22)
#elif PACKETVER >= 20080226
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x013b, 16) // ZC_ACTION_FAILURE
+packetLen(0x013b, 16)
#elif PACKETVER >= 20080124
-packetLen(0x013b, 2) // ZC_ACTION_FAILURE
+packetLen(0x013b, 2)
#elif PACKETVER >= 20080102
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#endif
// Packet: 0x013c
#if PACKETVER >= 20081203
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20081126
-packetLen(0x013c, 16) // ZC_EQUIP_ARROW
+packetLen(0x013c, 16)
#elif PACKETVER >= 20081112
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20081022
-packetLen(0x013c, 30) // ZC_EQUIP_ARROW
+packetLen(0x013c, 30)
#elif PACKETVER >= 20081008
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20081001
-packetLen(0x013c, 54) // ZC_EQUIP_ARROW
+packetLen(0x013c, 54)
#elif PACKETVER >= 20080917
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080910
-packetLen(0x013c, 14) // ZC_EQUIP_ARROW
+packetLen(0x013c, 14)
#elif PACKETVER >= 20080903
-packetLen(0x013c, 2) // ZC_EQUIP_ARROW
+packetLen(0x013c, 2)
#elif PACKETVER >= 20080820
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080813
-packetLen(0x013c, 23) // ZC_EQUIP_ARROW
+packetLen(0x013c, 23)
#elif PACKETVER >= 20080806
-packetLen(0x013c, 2) // ZC_EQUIP_ARROW
+packetLen(0x013c, 2)
#elif PACKETVER >= 20080730
-packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+packetLen(0x013c, 12)
#elif PACKETVER >= 20080722
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080715
-packetLen(0x013c, 3) // ZC_EQUIP_ARROW
+packetLen(0x013c, 3)
#elif PACKETVER >= 20080708
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080701
-packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+packetLen(0x013c, 6)
#elif PACKETVER >= 20080624
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080617
-packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+packetLen(0x013c, 12)
#elif PACKETVER >= 20080610
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x013c, 53) // ZC_EQUIP_ARROW
+packetLen(0x013c, 53)
#elif PACKETVER >= 20080528
-packetLen(0x013c, 8) // ZC_EQUIP_ARROW
+packetLen(0x013c, 8)
#elif PACKETVER >= 20080520
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#elif PACKETVER >= 20080513
-packetLen(0x013c, 11) // ZC_EQUIP_ARROW
+packetLen(0x013c, 11)
#elif PACKETVER >= 20080507
-packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+packetLen(0x013c, 6)
#elif PACKETVER >= 20080429
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x013c, 33) // ZC_EQUIP_ARROW
+packetLen(0x013c, 33)
#elif PACKETVER >= 20080415
-packetLen(0x013c, 8) // ZC_EQUIP_ARROW
+packetLen(0x013c, 8)
#elif PACKETVER >= 20080408
-packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+packetLen(0x013c, 6)
#elif PACKETVER >= 20080401
-packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+packetLen(0x013c, 12)
#elif PACKETVER >= 20080325
-packetLen(0x013c, 3) // ZC_EQUIP_ARROW
+packetLen(0x013c, 3)
#elif PACKETVER >= 20080318
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x013c, 6) // ZC_EQUIP_ARROW
+packetLen(0x013c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x013c, 66) // ZC_EQUIP_ARROW
+packetLen(0x013c, 66)
#elif PACKETVER >= 20080226
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#elif PACKETVER >= 20080124
-packetLen(0x013c, 11) // ZC_EQUIP_ARROW
+packetLen(0x013c, 11)
#elif PACKETVER >= 20080102
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#endif
// Packet: 0x013d
#if PACKETVER >= 20081126
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20081119
-packetLen(0x013d, 79) // ZC_RECOVERY
+packetLen(0x013d, 79)
#elif PACKETVER >= 20081112
-packetLen(0x013d, 13) // ZC_RECOVERY
+packetLen(0x013d, 13)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20081029
-packetLen(0x013d, 53) // ZC_RECOVERY
+packetLen(0x013d, 53)
#elif PACKETVER >= 20080924
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080917
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080910
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080903
-packetLen(0x013d, 2) // ZC_RECOVERY
+packetLen(0x013d, 2)
#elif PACKETVER >= 20080813
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080806
-packetLen(0x013d, 3) // ZC_RECOVERY
+packetLen(0x013d, 3)
#elif PACKETVER >= 20080730
-packetLen(0x013d, 26) // ZC_RECOVERY
+packetLen(0x013d, 26)
#elif PACKETVER >= 20080722
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080701
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x013d, 3) // ZC_RECOVERY
+packetLen(0x013d, 3)
#elif PACKETVER >= 20080617
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080610
-packetLen(0x013d, 7) // ZC_RECOVERY
+packetLen(0x013d, 7)
#elif PACKETVER >= 20080603
-packetLen(0x013d, 2) // ZC_RECOVERY
+packetLen(0x013d, 2)
#elif PACKETVER >= 20080528
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x013d, 8) // ZC_RECOVERY
+packetLen(0x013d, 8)
#elif PACKETVER >= 20080513
-packetLen(0x013d, 31) // ZC_RECOVERY
+packetLen(0x013d, 31)
#elif PACKETVER >= 20080507
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080429
-packetLen(0x013d, 10) // ZC_RECOVERY
+packetLen(0x013d, 10)
#elif PACKETVER >= 20080422
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080415
-packetLen(0x013d, 26) // ZC_RECOVERY
+packetLen(0x013d, 26)
#elif PACKETVER >= 20080408
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080401
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080325
-packetLen(0x013d, 3) // ZC_RECOVERY
+packetLen(0x013d, 3)
#elif PACKETVER >= 20080318
-packetLen(0x013d, 282) // ZC_RECOVERY
+packetLen(0x013d, 282)
#elif PACKETVER >= 20080311
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080304
-packetLen(0x013d, 3) // ZC_RECOVERY
+packetLen(0x013d, 3)
#elif PACKETVER >= 20080226
-packetLen(0x013d, 2) // ZC_RECOVERY
+packetLen(0x013d, 2)
#elif PACKETVER >= 20080219
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080124
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080102
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#endif
// Packet: 0x013e
#if PACKETVER >= 20081217
-packetLen(0x013e, 182) // ZC_USESKILL_ACK
+packetLen(0x013e, 182)
#elif PACKETVER >= 20081203
-packetLen(0x013e, 186) // ZC_USESKILL_ACK
+packetLen(0x013e, 186)
#elif PACKETVER >= 20081126
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20081119
-packetLen(0x013e, 32) // ZC_USESKILL_ACK
+packetLen(0x013e, 32)
#elif PACKETVER >= 20081112
-packetLen(0x013e, 68) // ZC_USESKILL_ACK
+packetLen(0x013e, 68)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x013e, 6) // ZC_USESKILL_ACK
+packetLen(0x013e, 6)
#elif PACKETVER >= 20081001
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080924
-packetLen(0x013e, 30) // ZC_USESKILL_ACK
+packetLen(0x013e, 30)
#elif PACKETVER >= 20080806
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080730
-packetLen(0x013e, 32) // ZC_USESKILL_ACK
+packetLen(0x013e, 32)
#elif PACKETVER >= 20080722
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080715
-packetLen(0x013e, 6) // ZC_USESKILL_ACK
+packetLen(0x013e, 6)
#elif PACKETVER >= 20080708
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080701
-packetLen(0x013e, 26) // ZC_USESKILL_ACK
+packetLen(0x013e, 26)
#elif PACKETVER >= 20080624
-packetLen(0x013e, 3) // ZC_USESKILL_ACK
+packetLen(0x013e, 3)
#elif PACKETVER >= 20080603
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x013e, 6) // ZC_USESKILL_ACK
+packetLen(0x013e, 6)
#elif PACKETVER >= 20080520
-packetLen(0x013e, 20) // ZC_USESKILL_ACK
+packetLen(0x013e, 20)
#elif PACKETVER >= 20080513
-packetLen(0x013e, 7) // ZC_USESKILL_ACK
+packetLen(0x013e, 7)
#elif PACKETVER >= 20080507
-packetLen(0x013e, 21) // ZC_USESKILL_ACK
+packetLen(0x013e, 21)
#elif PACKETVER >= 20080429
-packetLen(0x013e, 8) // ZC_USESKILL_ACK
+packetLen(0x013e, 8)
#elif PACKETVER >= 20080422
-packetLen(0x013e, 7) // ZC_USESKILL_ACK
+packetLen(0x013e, 7)
#elif PACKETVER >= 20080408
-packetLen(0x013e, 6) // ZC_USESKILL_ACK
+packetLen(0x013e, 6)
#elif PACKETVER >= 20080401
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080325
-packetLen(0x013e, 15) // ZC_USESKILL_ACK
+packetLen(0x013e, 15)
#elif PACKETVER >= 20080318
-packetLen(0x013e, 11) // ZC_USESKILL_ACK
+packetLen(0x013e, 11)
#elif PACKETVER >= 20080311
-packetLen(0x013e, 2) // ZC_USESKILL_ACK
+packetLen(0x013e, 2)
#elif PACKETVER >= 20080304
-packetLen(0x013e, 4) // ZC_USESKILL_ACK
+packetLen(0x013e, 4)
#elif PACKETVER >= 20080226
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080219
-packetLen(0x013e, 30) // ZC_USESKILL_ACK
+packetLen(0x013e, 30)
#elif PACKETVER >= 20080124
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
#endif
// Packet: 0x013f
#if PACKETVER >= 20081217
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20081203
-packetLen(0x013f, 2) // CZ_ITEM_CREATE
+packetLen(0x013f, 2)
#elif PACKETVER >= 20081112
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x013f, 29) // CZ_ITEM_CREATE
+packetLen(0x013f, 29)
#elif PACKETVER >= 20081015
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20081008
-packetLen(0x013f, 10) // CZ_ITEM_CREATE
+packetLen(0x013f, 10)
#elif PACKETVER >= 20080924
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080917
-packetLen(0x013f, 7) // CZ_ITEM_CREATE
+packetLen(0x013f, 7)
#elif PACKETVER >= 20080820
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080813
-packetLen(0x013f, 4) // CZ_ITEM_CREATE
+packetLen(0x013f, 4)
#elif PACKETVER >= 20080806
-packetLen(0x013f, 29) // CZ_ITEM_CREATE
+packetLen(0x013f, 29)
#elif PACKETVER >= 20080722
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080715
-packetLen(0x013f, 6) // CZ_ITEM_CREATE
+packetLen(0x013f, 6)
#elif PACKETVER >= 20080708
-packetLen(0x013f, 4) // CZ_ITEM_CREATE
+packetLen(0x013f, 4)
#elif PACKETVER >= 20080701
-packetLen(0x013f, 30) // CZ_ITEM_CREATE
+packetLen(0x013f, 30)
#elif PACKETVER >= 20080624
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x013f, 2) // CZ_ITEM_CREATE
+packetLen(0x013f, 2)
#elif PACKETVER >= 20080610
-packetLen(0x013f, 7) // CZ_ITEM_CREATE
+packetLen(0x013f, 7)
#elif PACKETVER >= 20080603
-packetLen(0x013f, 11) // CZ_ITEM_CREATE
+packetLen(0x013f, 11)
#elif PACKETVER >= 20080528
-packetLen(0x013f, 2) // CZ_ITEM_CREATE
+packetLen(0x013f, 2)
#elif PACKETVER >= 20080520
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x013f, 29) // CZ_ITEM_CREATE
+packetLen(0x013f, 29)
#elif PACKETVER >= 20080507
-packetLen(0x013f, 20) // CZ_ITEM_CREATE
+packetLen(0x013f, 20)
#elif PACKETVER >= 20080422
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
#elif PACKETVER >= 20080415
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080408
-packetLen(0x013f, 8) // CZ_ITEM_CREATE
+packetLen(0x013f, 8)
#elif PACKETVER >= 20080401
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080325
-packetLen(0x013f, 28) // CZ_ITEM_CREATE
+packetLen(0x013f, 28)
#elif PACKETVER >= 20080318
-packetLen(0x013f, 54) // CZ_ITEM_CREATE
+packetLen(0x013f, 54)
#elif PACKETVER >= 20080311
-packetLen(0x013f, 282) // CZ_ITEM_CREATE
+packetLen(0x013f, 282)
#elif PACKETVER >= 20080304
-packetLen(0x013f, 6) // CZ_ITEM_CREATE
+packetLen(0x013f, 6)
#elif PACKETVER >= 20080226
-packetLen(0x013f, 5) // CZ_ITEM_CREATE
+packetLen(0x013f, 5)
#elif PACKETVER >= 20080219
-packetLen(0x013f, 58) // CZ_ITEM_CREATE
+packetLen(0x013f, 58)
#elif PACKETVER >= 20080124
-packetLen(0x013f, 9) // CZ_ITEM_CREATE
+packetLen(0x013f, 9)
#elif PACKETVER >= 20080102
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
#endif
// Packet: 0x0140
#if PACKETVER >= 20081119
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0140, 28) // CZ_MOVETO_MAP
+packetLen(0x0140, 28)
#elif PACKETVER >= 20081029
-packetLen(0x0140, 18) // CZ_MOVETO_MAP
+packetLen(0x0140, 18)
#elif PACKETVER >= 20081008
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0140, 10) // CZ_MOVETO_MAP
+packetLen(0x0140, 10)
#elif PACKETVER >= 20080924
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0140, 12) // CZ_MOVETO_MAP
+packetLen(0x0140, 12)
#elif PACKETVER >= 20080910
-packetLen(0x0140, 60) // CZ_MOVETO_MAP
+packetLen(0x0140, 60)
#elif PACKETVER >= 20080903
-packetLen(0x0140, 10) // CZ_MOVETO_MAP
+packetLen(0x0140, 10)
#elif PACKETVER >= 20080827
-packetLen(0x0140, 14) // CZ_MOVETO_MAP
+packetLen(0x0140, 14)
#elif PACKETVER >= 20080820
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0140, 30) // CZ_MOVETO_MAP
+packetLen(0x0140, 30)
#elif PACKETVER >= 20080806
-packetLen(0x0140, 4) // CZ_MOVETO_MAP
+packetLen(0x0140, 4)
#elif PACKETVER >= 20080730
-packetLen(0x0140, 6) // CZ_MOVETO_MAP
+packetLen(0x0140, 6)
#elif PACKETVER >= 20080722
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0140, 6) // CZ_MOVETO_MAP
+packetLen(0x0140, 6)
#elif PACKETVER >= 20080701
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0140, 2) // CZ_MOVETO_MAP
+packetLen(0x0140, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0140, 11) // CZ_MOVETO_MAP
+packetLen(0x0140, 11)
#elif PACKETVER >= 20080603
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0140, 6) // CZ_MOVETO_MAP
+packetLen(0x0140, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0140, 8) // CZ_MOVETO_MAP
+packetLen(0x0140, 8)
#elif PACKETVER >= 20080513
-packetLen(0x0140, 6) // CZ_MOVETO_MAP
+packetLen(0x0140, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0140, 4) // CZ_MOVETO_MAP
+packetLen(0x0140, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0140, 3) // CZ_MOVETO_MAP
+packetLen(0x0140, 3)
#elif PACKETVER >= 20080422
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
#elif PACKETVER >= 20080415
-packetLen(0x0140, 7) // CZ_MOVETO_MAP
+packetLen(0x0140, 7)
#elif PACKETVER >= 20080408
-packetLen(0x0140, 53) // CZ_MOVETO_MAP
+packetLen(0x0140, 53)
#elif PACKETVER >= 20080401
-packetLen(0x0140, 10) // CZ_MOVETO_MAP
+packetLen(0x0140, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0140, 27) // CZ_MOVETO_MAP
+packetLen(0x0140, 27)
#elif PACKETVER >= 20080318
-packetLen(0x0140, 33) // CZ_MOVETO_MAP
+packetLen(0x0140, 33)
#elif PACKETVER >= 20080311
-packetLen(0x0140, 3) // CZ_MOVETO_MAP
+packetLen(0x0140, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0140, 6) // CZ_MOVETO_MAP
+packetLen(0x0140, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0140, 11) // CZ_MOVETO_MAP
+packetLen(0x0140, 11)
#elif PACKETVER >= 20080219
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0140, 2) // CZ_MOVETO_MAP
+packetLen(0x0140, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
#endif
// Packet: 0x0141
#if PACKETVER >= 20081217
-packetLen(0x0141, 8) // ZC_COUPLESTATUS
+packetLen(0x0141, 8)
#elif PACKETVER >= 20081119
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0141, 26) // ZC_COUPLESTATUS
+packetLen(0x0141, 26)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0141, 57) // ZC_COUPLESTATUS
+packetLen(0x0141, 57)
#elif PACKETVER >= 20081029
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0141, 3) // ZC_COUPLESTATUS
+packetLen(0x0141, 3)
#elif PACKETVER >= 20081015
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0141, 8) // ZC_COUPLESTATUS
+packetLen(0x0141, 8)
#elif PACKETVER >= 20081001
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20080924
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0141, 2) // ZC_COUPLESTATUS
+packetLen(0x0141, 2)
#elif PACKETVER >= 20080910
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0141, 10) // ZC_COUPLESTATUS
+packetLen(0x0141, 10)
#elif PACKETVER >= 20080827
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0141, 2) // ZC_COUPLESTATUS
+packetLen(0x0141, 2)
#elif PACKETVER >= 20080813
-packetLen(0x0141, 26) // ZC_COUPLESTATUS
+packetLen(0x0141, 26)
#elif PACKETVER >= 20080806
-packetLen(0x0141, 2) // ZC_COUPLESTATUS
+packetLen(0x0141, 2)
#elif PACKETVER >= 20080730
-packetLen(0x0141, 30) // ZC_COUPLESTATUS
+packetLen(0x0141, 30)
#elif PACKETVER >= 20080722
-packetLen(0x0141, 10) // ZC_COUPLESTATUS
+packetLen(0x0141, 10)
#elif PACKETVER >= 20080715
-packetLen(0x0141, 26) // ZC_COUPLESTATUS
+packetLen(0x0141, 26)
#elif PACKETVER >= 20080708
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0141, 4) // ZC_COUPLESTATUS
+packetLen(0x0141, 4)
#elif PACKETVER >= 20080617
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0141, 5) // ZC_COUPLESTATUS
+packetLen(0x0141, 5)
#elif PACKETVER >= 20080528
-packetLen(0x0141, 18) // ZC_COUPLESTATUS
+packetLen(0x0141, 18)
#elif PACKETVER >= 20080520
-packetLen(0x0141, 4) // ZC_COUPLESTATUS
+packetLen(0x0141, 4)
#elif PACKETVER >= 20080513
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0141, 60) // ZC_COUPLESTATUS
+packetLen(0x0141, 60)
#elif PACKETVER >= 20080422
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0141, 7) // ZC_COUPLESTATUS
+packetLen(0x0141, 7)
#elif PACKETVER >= 20080408
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0141, 3) // ZC_COUPLESTATUS
+packetLen(0x0141, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0141, 11) // ZC_COUPLESTATUS
+packetLen(0x0141, 11)
#elif PACKETVER >= 20080311
-packetLen(0x0141, 9) // ZC_COUPLESTATUS
+packetLen(0x0141, 9)
#elif PACKETVER >= 20080304
-packetLen(0x0141, 30) // ZC_COUPLESTATUS
+packetLen(0x0141, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0141, 22) // ZC_COUPLESTATUS
+packetLen(0x0141, 22)
#elif PACKETVER >= 20080219
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0141, 35) // ZC_COUPLESTATUS
+packetLen(0x0141, 35)
#elif PACKETVER >= 20080102
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
#endif
// Packet: 0x0142
#if PACKETVER >= 20081203
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 2)
#elif PACKETVER >= 20081119
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0142, 11) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 11)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0142, 3) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 3)
#elif PACKETVER >= 20081029
-packetLen(0x0142, 8) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 8)
#elif PACKETVER >= 20081022
-packetLen(0x0142, 10) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 10)
#elif PACKETVER >= 20081015
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0142, 43) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 43)
#elif PACKETVER >= 20080827
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0142, 10) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 10)
#elif PACKETVER >= 20080730
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0142, 8) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 8)
#elif PACKETVER >= 20080715
-packetLen(0x0142, 7) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 7)
#elif PACKETVER >= 20080708
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0142, 32) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 32)
#elif PACKETVER >= 20080603
-packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0142, 7) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 7)
#elif PACKETVER >= 20080513
-packetLen(0x0142, 15) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 15)
#elif PACKETVER >= 20080422
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0142, 11) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0142, 9) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 9)
#elif PACKETVER >= 20080325
-packetLen(0x0142, 67) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 67)
#elif PACKETVER >= 20080318
-packetLen(0x0142, 26) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0142, 30) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0142, 4) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0142, 3) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
#endif
// Packet: 0x0143
#if PACKETVER >= 20081112
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0143, 22) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 22)
#elif PACKETVER >= 20081015
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0143, 7) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 7)
#elif PACKETVER >= 20080924
-packetLen(0x0143, 6) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0143, 5) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 5)
#elif PACKETVER >= 20080827
-packetLen(0x0143, 6) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 6)
#elif PACKETVER >= 20080820
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0143, 26) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 26)
#elif PACKETVER >= 20080730
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0143, 6) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 6)
#elif PACKETVER >= 20080715
-packetLen(0x0143, 11) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 11)
#elif PACKETVER >= 20080708
-packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0143, 7) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0143, 26) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 26)
#elif PACKETVER >= 20080520
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0143, 97) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 97)
#elif PACKETVER >= 20080507
-packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#elif PACKETVER >= 20080415
-packetLen(0x0143, 2) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0143, 53) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 53)
#elif PACKETVER >= 20080401
-packetLen(0x0143, 27) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 27)
#elif PACKETVER >= 20080325
-packetLen(0x0143, 28) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 28)
#elif PACKETVER >= 20080318
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0143, 3) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0143, 8) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0143, 67) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 67)
#elif PACKETVER >= 20080102
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#endif
// Packet: 0x0144
#if PACKETVER >= 20081203
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20081126
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0144, 53) // ZC_COMPASS
+packetLen(0x0144, 53)
#elif PACKETVER >= 20081029
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0144, 4) // ZC_COMPASS
+packetLen(0x0144, 4)
#elif PACKETVER >= 20081001
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0144, 5) // ZC_COMPASS
+packetLen(0x0144, 5)
#elif PACKETVER >= 20080917
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20080903
-packetLen(0x0144, 2) // ZC_COMPASS
+packetLen(0x0144, 2)
#elif PACKETVER >= 20080827
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0144, 10) // ZC_COMPASS
+packetLen(0x0144, 10)
#elif PACKETVER >= 20080813
-packetLen(0x0144, 68) // ZC_COMPASS
+packetLen(0x0144, 68)
#elif PACKETVER >= 20080730
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0144, 3) // ZC_COMPASS
+packetLen(0x0144, 3)
#elif PACKETVER >= 20080701
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0144, 2) // ZC_COMPASS
+packetLen(0x0144, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0144, 81) // ZC_COMPASS
+packetLen(0x0144, 81)
#elif PACKETVER >= 20080603
-packetLen(0x0144, 22) // ZC_COMPASS
+packetLen(0x0144, 22)
#elif PACKETVER >= 20080528
-packetLen(0x0144, 3) // ZC_COMPASS
+packetLen(0x0144, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0144, 4) // ZC_COMPASS
+packetLen(0x0144, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0144, 7) // ZC_COMPASS
+packetLen(0x0144, 7)
#elif PACKETVER >= 20080415
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0144, 65) // ZC_COMPASS
+packetLen(0x0144, 65)
#elif PACKETVER >= 20080325
-packetLen(0x0144, 282) // ZC_COMPASS
+packetLen(0x0144, 282)
#elif PACKETVER >= 20080318
-packetLen(0x0144, 7) // ZC_COMPASS
+packetLen(0x0144, 7)
#elif PACKETVER >= 20080311
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0144, 2) // ZC_COMPASS
+packetLen(0x0144, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0144, 10) // ZC_COMPASS
+packetLen(0x0144, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0144, 2) // ZC_COMPASS
+packetLen(0x0144, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
#endif
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
#if PACKETVER >= 20081203
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0146, 60) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 60)
#elif PACKETVER >= 20081119
-packetLen(0x0146, 14) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 14)
#elif PACKETVER >= 20081112
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0146, 20) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 20)
#elif PACKETVER >= 20081001
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0146, 3) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 3)
#elif PACKETVER >= 20080827
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0146, 3) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0146, 282) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 282)
#elif PACKETVER >= 20080722
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0146, 5) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 5)
#elif PACKETVER >= 20080708
-packetLen(0x0146, 28) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 28)
#elif PACKETVER >= 20080624
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0146, 23) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 23)
#elif PACKETVER >= 20080610
-packetLen(0x0146, 5) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0146, 65) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 65)
#elif PACKETVER >= 20080422
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0146, 2) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0146, 42) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 42)
#elif PACKETVER >= 20080311
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0146, 7) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080124
-packetLen(0x0146, 8) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#endif
// Packet: 0x0147
#if PACKETVER >= 20081217
-packetLen(0x0147, 2) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 2)
#elif PACKETVER >= 20081126
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0147, 31) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 31)
#elif PACKETVER >= 20081112
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081008
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0147, 11) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 11)
#elif PACKETVER >= 20080924
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0147, 14) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 14)
#elif PACKETVER >= 20080910
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0147, 26) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 26)
#elif PACKETVER >= 20080827
-packetLen(0x0147, 12) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 12)
#elif PACKETVER >= 20080813
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 8)
#elif PACKETVER >= 20080730
-packetLen(0x0147, 10) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 10)
#elif PACKETVER >= 20080722
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0147, 5) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 5)
#elif PACKETVER >= 20080708
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0147, 282) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 282)
#elif PACKETVER >= 20080624
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0147, 18) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 18)
#elif PACKETVER >= 20080610
-packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 8)
#elif PACKETVER >= 20080528
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0147, 114) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 114)
#elif PACKETVER >= 20080513
-packetLen(0x0147, 282) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 282)
#elif PACKETVER >= 20080507
-packetLen(0x0147, 4) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0147, 20) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 20)
#elif PACKETVER >= 20080422
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0147, 8) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 8)
#elif PACKETVER >= 20080401
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0147, 90) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 90)
#elif PACKETVER >= 20080311
-packetLen(0x0147, 6) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0147, 16) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 16)
#elif PACKETVER >= 20080226
-packetLen(0x0147, 11) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 11)
#elif PACKETVER >= 20080219
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0147, 2) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
#endif
// Packet: 0x0148
#if PACKETVER >= 20081126
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0148, 2) // ZC_RESURRECTION
+packetLen(0x0148, 2)
#elif PACKETVER >= 20081112
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0148, 4) // ZC_RESURRECTION
+packetLen(0x0148, 4)
#elif PACKETVER >= 20081008
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0148, 81) // ZC_RESURRECTION
+packetLen(0x0148, 81)
#elif PACKETVER >= 20080924
-packetLen(0x0148, 4) // ZC_RESURRECTION
+packetLen(0x0148, 4)
#elif PACKETVER >= 20080820
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080806
-packetLen(0x0148, 2) // ZC_RESURRECTION
+packetLen(0x0148, 2)
#elif PACKETVER >= 20080730
-packetLen(0x0148, 26) // ZC_RESURRECTION
+packetLen(0x0148, 26)
#elif PACKETVER >= 20080722
-packetLen(0x0148, 54) // ZC_RESURRECTION
+packetLen(0x0148, 54)
#elif PACKETVER >= 20080715
-packetLen(0x0148, 10) // ZC_RESURRECTION
+packetLen(0x0148, 10)
#elif PACKETVER >= 20080708
-packetLen(0x0148, 2) // ZC_RESURRECTION
+packetLen(0x0148, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0148, 2) // ZC_RESURRECTION
+packetLen(0x0148, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0148, 14) // ZC_RESURRECTION
+packetLen(0x0148, 14)
#elif PACKETVER >= 20080422
-packetLen(0x0148, 2) // ZC_RESURRECTION
+packetLen(0x0148, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0148, 39) // ZC_RESURRECTION
+packetLen(0x0148, 39)
#elif PACKETVER >= 20080408
-packetLen(0x0148, 10) // ZC_RESURRECTION
+packetLen(0x0148, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0148, 7) // ZC_RESURRECTION
+packetLen(0x0148, 7)
#elif PACKETVER >= 20080325
-packetLen(0x0148, 10) // ZC_RESURRECTION
+packetLen(0x0148, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0148, 54) // ZC_RESURRECTION
+packetLen(0x0148, 54)
#elif PACKETVER >= 20080304
-packetLen(0x0148, 282) // ZC_RESURRECTION
+packetLen(0x0148, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0148, 4) // ZC_RESURRECTION
+packetLen(0x0148, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0148, 3) // ZC_RESURRECTION
+packetLen(0x0148, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
#endif
// Packet: 0x0149
#if PACKETVER >= 20081126
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0149, 18) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 18)
#elif PACKETVER >= 20081112
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0149, 3) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 3)
#elif PACKETVER >= 20081022
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20081008
-packetLen(0x0149, 58) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 58)
#elif PACKETVER >= 20081001
-packetLen(0x0149, 35) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 35)
#elif PACKETVER >= 20080917
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0149, 20) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 20)
#elif PACKETVER >= 20080903
-packetLen(0x0149, 7) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 7)
#elif PACKETVER >= 20080708
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0149, 14) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 14)
#elif PACKETVER >= 20080624
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0149, 8) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 8)
#elif PACKETVER >= 20080603
-packetLen(0x0149, 7) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0149, 27) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 27)
#elif PACKETVER >= 20080513
-packetLen(0x0149, 71) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 71)
#elif PACKETVER >= 20080429
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
#elif PACKETVER >= 20080415
-packetLen(0x0149, 5) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 5)
#elif PACKETVER >= 20080408
-packetLen(0x0149, 17) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 17)
#elif PACKETVER >= 20080401
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0149, 2) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0149, 5) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0149, 53) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 53)
#elif PACKETVER >= 20080124
-packetLen(0x0149, 4) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
#endif
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
#if PACKETVER >= 20081217
-packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 6)
#elif PACKETVER >= 20081112
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20081105
-packetLen(0x014c, 3) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 3)
#elif PACKETVER >= 20081029
-packetLen(0x014c, 26) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 26)
#elif PACKETVER >= 20081022
-packetLen(0x014c, 2) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 2)
#elif PACKETVER >= 20080924
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080917
-packetLen(0x014c, 14) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 14)
#elif PACKETVER >= 20080910
-packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 6)
#elif PACKETVER >= 20080903
-packetLen(0x014c, 8) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 8)
#elif PACKETVER >= 20080813
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080806
-packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 6)
#elif PACKETVER >= 20080730
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080722
-packetLen(0x014c, 35) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 35)
#elif PACKETVER >= 20080715
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080708
-packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 6)
#elif PACKETVER >= 20080701
-packetLen(0x014c, 26) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 26)
#elif PACKETVER >= 20080624
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080617
-packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 17)
#elif PACKETVER >= 20080610
-packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 4)
#elif PACKETVER >= 20080603
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080528
-packetLen(0x014c, 16) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 16)
#elif PACKETVER >= 20080507
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080429
-packetLen(0x014c, 12) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 12)
#elif PACKETVER >= 20080415
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080408
-packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 4)
#elif PACKETVER >= 20080401
-packetLen(0x014c, 55) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 55)
#elif PACKETVER >= 20080325
-packetLen(0x014c, 10) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 10)
#elif PACKETVER >= 20080318
-packetLen(0x014c, 9) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 9)
#elif PACKETVER >= 20080311
-packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 17)
#elif PACKETVER >= 20080226
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 4)
#elif PACKETVER >= 20080102
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#endif
// Packet: 0x014d
#if PACKETVER >= 20081217
-packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 6)
#elif PACKETVER >= 20081203
-packetLen(0x014d, 27) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 27)
#elif PACKETVER >= 20081112
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 6)
#elif PACKETVER >= 20081022
-packetLen(0x014d, 65) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 65)
#elif PACKETVER >= 20081015
-packetLen(0x014d, 5) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 5)
#elif PACKETVER >= 20081008
-packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 10)
#elif PACKETVER >= 20081001
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20080924
-packetLen(0x014d, 282) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 282)
#elif PACKETVER >= 20080917
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20080910
-packetLen(0x014d, 26) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 26)
#elif PACKETVER >= 20080903
-packetLen(0x014d, 3) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 3)
#elif PACKETVER >= 20080827
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20080820
-packetLen(0x014d, 27) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 27)
#elif PACKETVER >= 20080813
-packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 10)
#elif PACKETVER >= 20080806
-packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 9)
#elif PACKETVER >= 20080722
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20080715
-packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 8)
#elif PACKETVER >= 20080701
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 9)
#elif PACKETVER >= 20080603
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20080528
-packetLen(0x014d, 30) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 30)
#elif PACKETVER >= 20080520
-packetLen(0x014d, 282) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 282)
#elif PACKETVER >= 20080513
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20080507
-packetLen(0x014d, 3) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 3)
#elif PACKETVER >= 20080429
-packetLen(0x014d, 4) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 4)
#elif PACKETVER >= 20080422
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20080415
-packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 6)
#elif PACKETVER >= 20080401
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20080318
-packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 10)
#elif PACKETVER >= 20080311
-packetLen(0x014d, 9) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 9)
#elif PACKETVER >= 20080304
-packetLen(0x014d, 11) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 11)
#elif PACKETVER >= 20080226
-packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 8)
#elif PACKETVER >= 20080219
-packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 10)
#elif PACKETVER >= 20080124
-packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 8)
#elif PACKETVER >= 20080102
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#endif
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
#if PACKETVER >= 20081217
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20081203
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#elif PACKETVER >= 20081112
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081008
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20081001
-packetLen(0x014f, 16) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 16)
#elif PACKETVER >= 20080917
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080910
-packetLen(0x014f, 4) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 4)
#elif PACKETVER >= 20080903
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080827
-packetLen(0x014f, 9) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 9)
#elif PACKETVER >= 20080722
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080715
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#elif PACKETVER >= 20080617
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080603
-packetLen(0x014f, 3) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 3)
#elif PACKETVER >= 20080528
-packetLen(0x014f, 13) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 13)
#elif PACKETVER >= 20080507
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080429
-packetLen(0x014f, 23) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 23)
#elif PACKETVER >= 20080422
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#elif PACKETVER >= 20080408
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080401
-packetLen(0x014f, 58) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 58)
#elif PACKETVER >= 20080325
-packetLen(0x014f, 4) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 4)
#elif PACKETVER >= 20080318
-packetLen(0x014f, 3) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 3)
#elif PACKETVER >= 20080304
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080226
-packetLen(0x014f, 97) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 97)
#elif PACKETVER >= 20080219
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080124
-packetLen(0x014f, 30) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 30)
#elif PACKETVER >= 20080102
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#endif
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
#if PACKETVER >= 20081217
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0154, 4) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 4)
#elif PACKETVER >= 20081119
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0154, 282) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 282)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0154, 4) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 4)
#elif PACKETVER >= 20081001
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0154, 7) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 7)
#elif PACKETVER >= 20080903
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0154, 27) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 27)
#elif PACKETVER >= 20080820
-packetLen(0x0154, 5) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 5)
#elif PACKETVER >= 20080813
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0154, 186) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 186)
#elif PACKETVER >= 20080722
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0154, 30) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 30)
#elif PACKETVER >= 20080708
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0154, 11) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 11)
#elif PACKETVER >= 20080617
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0154, 13) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 13)
#elif PACKETVER >= 20080603
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0154, 5) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 5)
#elif PACKETVER >= 20080513
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0154, 16) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 16)
#elif PACKETVER >= 20080422
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0154, 10) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0154, 39) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 39)
#elif PACKETVER >= 20080325
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0154, 30) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0154, 7) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0154, 8) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#endif
// Packet: 0x0155
#if PACKETVER >= 20081217
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0155, 8) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 8)
#elif PACKETVER >= 20081126
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0155, 7) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 7)
#elif PACKETVER >= 20081112
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0155, 30) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 30)
#elif PACKETVER >= 20081029
-packetLen(0x0155, 4) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 4)
#elif PACKETVER >= 20081015
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0155, 81) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 81)
#elif PACKETVER >= 20081001
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0155, 2) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 2)
#elif PACKETVER >= 20080917
-packetLen(0x0155, 3) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 3)
#elif PACKETVER >= 20080910
-packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 12)
#elif PACKETVER >= 20080813
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0155, 3) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 3)
#elif PACKETVER >= 20080730
-packetLen(0x0155, 11) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 11)
#elif PACKETVER >= 20080715
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0155, 8) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 8)
#elif PACKETVER >= 20080624
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 12)
#elif PACKETVER >= 20080610
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 12)
#elif PACKETVER >= 20080520
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0155, 27) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 27)
#elif PACKETVER >= 20080507
-packetLen(0x0155, 10) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0155, 6) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0155, 22) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 22)
#elif PACKETVER >= 20080311
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0155, 8) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0155, 66) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 66)
#elif PACKETVER >= 20080219
-packetLen(0x0155, 15) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 15)
#elif PACKETVER >= 20080102
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#endif
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
#if PACKETVER >= 20081217
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0159, 3) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 3)
#elif PACKETVER >= 20081112
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0159, 3) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 3)
#elif PACKETVER >= 20081008
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0159, 8) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 8)
#elif PACKETVER >= 20080924
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0159, 44) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 44)
#elif PACKETVER >= 20080910
-packetLen(0x0159, 39) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 39)
#elif PACKETVER >= 20080903
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0159, 79) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 79)
#elif PACKETVER >= 20080820
-packetLen(0x0159, 26) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 26)
#elif PACKETVER >= 20080813
-packetLen(0x0159, 4) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 4)
#elif PACKETVER >= 20080806
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#elif PACKETVER >= 20080722
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0159, 65) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 65)
#elif PACKETVER >= 20080708
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0159, 7) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 7)
#elif PACKETVER >= 20080624
-packetLen(0x0159, 26) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 26)
#elif PACKETVER >= 20080617
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0159, 3) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0159, 27) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 27)
#elif PACKETVER >= 20080513
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0159, 15) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 15)
#elif PACKETVER >= 20080429
-packetLen(0x0159, 30) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 30)
#elif PACKETVER >= 20080422
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#elif PACKETVER >= 20080415
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0159, 29) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 29)
#elif PACKETVER >= 20080325
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0159, 10) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0159, 39) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 39)
#elif PACKETVER >= 20080304
-packetLen(0x0159, 6) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0159, 186) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 186)
#elif PACKETVER >= 20080219
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0159, 33) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 33)
#elif PACKETVER >= 20080102
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#endif
// Packet: 0x015a
#if PACKETVER >= 20081217
-packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 3)
#elif PACKETVER >= 20081203
-packetLen(0x015a, 60) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 60)
#elif PACKETVER >= 20081112
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20081029
-packetLen(0x015a, 30) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 30)
#elif PACKETVER >= 20081022
-packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 8)
#elif PACKETVER >= 20081015
-packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 26)
#elif PACKETVER >= 20080827
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080820
-packetLen(0x015a, 28) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 28)
#elif PACKETVER >= 20080806
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080730
-packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 6)
#elif PACKETVER >= 20080722
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080715
-packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 6)
#elif PACKETVER >= 20080617
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080610
-packetLen(0x015a, 24) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 24)
#elif PACKETVER >= 20080603
-packetLen(0x015a, 2) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 2)
#elif PACKETVER >= 20080528
-packetLen(0x015a, 31) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 31)
#elif PACKETVER >= 20080520
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080513
-packetLen(0x015a, 15) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 15)
#elif PACKETVER >= 20080429
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080422
-packetLen(0x015a, 4) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 4)
#elif PACKETVER >= 20080415
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20080408
-packetLen(0x015a, 14) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 14)
#elif PACKETVER >= 20080401
-packetLen(0x015a, 23) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 23)
#elif PACKETVER >= 20080325
-packetLen(0x015a, 33) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 33)
#elif PACKETVER >= 20080318
-packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 26)
#elif PACKETVER >= 20080311
-packetLen(0x015a, 27) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 27)
#elif PACKETVER >= 20080304
-packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 3)
#elif PACKETVER >= 20080226
-packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 8)
#elif PACKETVER >= 20080124
-packetLen(0x015a, 26) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 26)
#elif PACKETVER >= 20080102
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
#endif
// Packet: 0x015b
#if PACKETVER >= 20081217
-packetLen(0x015b, 11) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 11)
#elif PACKETVER >= 20081203
-packetLen(0x015b, 60) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 60)
#elif PACKETVER >= 20081126
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#elif PACKETVER >= 20081119
-packetLen(0x015b, 10) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 10)
#elif PACKETVER >= 20081112
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20081029
-packetLen(0x015b, 27) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 27)
#elif PACKETVER >= 20081008
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20081001
-packetLen(0x015b, 11) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 11)
#elif PACKETVER >= 20080924
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080917
-packetLen(0x015b, 7) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 7)
#elif PACKETVER >= 20080903
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080827
-packetLen(0x015b, 43) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 43)
#elif PACKETVER >= 20080813
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080730
-packetLen(0x015b, 15) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 15)
#elif PACKETVER >= 20080715
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080708
-packetLen(0x015b, 8) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 8)
#elif PACKETVER >= 20080701
-packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 6)
#elif PACKETVER >= 20080624
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080617
-packetLen(0x015b, 20) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 20)
#elif PACKETVER >= 20080610
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#elif PACKETVER >= 20080603
-packetLen(0x015b, 32) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 32)
#elif PACKETVER >= 20080528
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080520
-packetLen(0x015b, 59) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 59)
#elif PACKETVER >= 20080513
-packetLen(0x015b, 79) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 79)
#elif PACKETVER >= 20080507
-packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 4)
#elif PACKETVER >= 20080429
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080422
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#elif PACKETVER >= 20080415
-packetLen(0x015b, 97) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 97)
#elif PACKETVER >= 20080408
-packetLen(0x015b, 26) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 26)
#elif PACKETVER >= 20080401
-packetLen(0x015b, 30) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 30)
#elif PACKETVER >= 20080325
-packetLen(0x015b, 2) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 2)
#elif PACKETVER >= 20080318
-packetLen(0x015b, 24) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 24)
#elif PACKETVER >= 20080311
-packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 4)
#elif PACKETVER >= 20080304
-packetLen(0x015b, 33) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 33)
#elif PACKETVER >= 20080226
-packetLen(0x015b, 22) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 22)
#elif PACKETVER >= 20080219
-packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 6)
#elif PACKETVER >= 20080124
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20080102
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#endif
// Packet: 0x015c
#if PACKETVER >= 20081217
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20081203
-packetLen(0x015c, 8) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 8)
#elif PACKETVER >= 20081126
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20081119
-packetLen(0x015c, 10) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 10)
#elif PACKETVER >= 20081112
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 6)
#elif PACKETVER >= 20081029
-packetLen(0x015c, 27) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 27)
#elif PACKETVER >= 20081015
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20081008
-packetLen(0x015c, 2) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 2)
#elif PACKETVER >= 20080917
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080910
-packetLen(0x015c, 23) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 23)
#elif PACKETVER >= 20080903
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080827
-packetLen(0x015c, 4) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 4)
#elif PACKETVER >= 20080813
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080806
-packetLen(0x015c, 14) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 14)
#elif PACKETVER >= 20080730
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080722
-packetLen(0x015c, 27) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 27)
#elif PACKETVER >= 20080715
-packetLen(0x015c, 7) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 7)
#elif PACKETVER >= 20080708
-packetLen(0x015c, 15) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 15)
#elif PACKETVER >= 20080624
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 6)
#elif PACKETVER >= 20080528
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x015c, 7) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 7)
#elif PACKETVER >= 20080507
-packetLen(0x015c, 6) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 6)
#elif PACKETVER >= 20080429
-packetLen(0x015c, 2) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 2)
#elif PACKETVER >= 20080415
-packetLen(0x015c, 8) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 8)
#elif PACKETVER >= 20080401
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20080325
-packetLen(0x015c, 18) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 18)
#elif PACKETVER >= 20080318
-packetLen(0x015c, 57) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 57)
#elif PACKETVER >= 20080311
-packetLen(0x015c, 30) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 30)
#elif PACKETVER >= 20080304
-packetLen(0x015c, 15) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 15)
#elif PACKETVER >= 20080226
-packetLen(0x015c, 3) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 3)
#elif PACKETVER >= 20080219
-packetLen(0x015c, 5) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 5)
#elif PACKETVER >= 20080124
-packetLen(0x015c, 14) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 14)
#elif PACKETVER >= 20080102
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
#endif
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
#if PACKETVER >= 20081112
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20081015
-packetLen(0x015e, 8) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 8)
#elif PACKETVER >= 20081008
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#elif PACKETVER >= 20081001
-packetLen(0x015e, 14) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 14)
#elif PACKETVER >= 20080924
-packetLen(0x015e, 32) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 32)
#elif PACKETVER >= 20080910
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080903
-packetLen(0x015e, 24) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 24)
#elif PACKETVER >= 20080827
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080820
-packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 30)
#elif PACKETVER >= 20080722
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080715
-packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 10)
#elif PACKETVER >= 20080701
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 30)
#elif PACKETVER >= 20080610
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080603
-packetLen(0x015e, 4) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 4)
#elif PACKETVER >= 20080520
-packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 3)
#elif PACKETVER >= 20080513
-packetLen(0x015e, 2) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 2)
#elif PACKETVER >= 20080507
-packetLen(0x015e, 9) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 9)
#elif PACKETVER >= 20080429
-packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 10)
#elif PACKETVER >= 20080422
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080415
-packetLen(0x015e, 32) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 32)
#elif PACKETVER >= 20080408
-packetLen(0x015e, 30) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 30)
#elif PACKETVER >= 20080401
-packetLen(0x015e, 10) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 10)
#elif PACKETVER >= 20080325
-packetLen(0x015e, 15) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 15)
#elif PACKETVER >= 20080318
-packetLen(0x015e, 28) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 28)
#elif PACKETVER >= 20080311
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#elif PACKETVER >= 20080304
-packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 3)
#elif PACKETVER >= 20080226
-packetLen(0x015e, 54) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 54)
#elif PACKETVER >= 20080219
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x015e, 16) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 16)
#elif PACKETVER >= 20080102
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#endif
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
#if PACKETVER >= 20081217
-packetLen(0x0160, 37) // ZC_POSITION_INFO
+packetLen(0x0160, 37)
#elif PACKETVER >= 20081203
-packetLen(0x0160, 11) // ZC_POSITION_INFO
+packetLen(0x0160, 11)
#elif PACKETVER >= 20081112
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0160, 2) // ZC_POSITION_INFO
+packetLen(0x0160, 2)
#elif PACKETVER >= 20081029
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0160, 8) // ZC_POSITION_INFO
+packetLen(0x0160, 8)
#elif PACKETVER >= 20081008
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20080924
-packetLen(0x0160, 102) // ZC_POSITION_INFO
+packetLen(0x0160, 102)
#elif PACKETVER >= 20080917
-packetLen(0x0160, 8) // ZC_POSITION_INFO
+packetLen(0x0160, 8)
#elif PACKETVER >= 20080910
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20080903
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0160, 67) // ZC_POSITION_INFO
+packetLen(0x0160, 67)
#elif PACKETVER >= 20080806
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0160, 9) // ZC_POSITION_INFO
+packetLen(0x0160, 9)
#elif PACKETVER >= 20080722
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0160, 14) // ZC_POSITION_INFO
+packetLen(0x0160, 14)
#elif PACKETVER >= 20080708
-packetLen(0x0160, 26) // ZC_POSITION_INFO
+packetLen(0x0160, 26)
#elif PACKETVER >= 20080701
-packetLen(0x0160, 5) // ZC_POSITION_INFO
+packetLen(0x0160, 5)
#elif PACKETVER >= 20080624
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0160, 11) // ZC_POSITION_INFO
+packetLen(0x0160, 11)
#elif PACKETVER >= 20080610
-packetLen(0x0160, 5) // ZC_POSITION_INFO
+packetLen(0x0160, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0160, 186) // ZC_POSITION_INFO
+packetLen(0x0160, 186)
#elif PACKETVER >= 20080528
-packetLen(0x0160, 2) // ZC_POSITION_INFO
+packetLen(0x0160, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0160, 8) // ZC_POSITION_INFO
+packetLen(0x0160, 8)
#elif PACKETVER >= 20080507
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0160, 8) // ZC_POSITION_INFO
+packetLen(0x0160, 8)
#elif PACKETVER >= 20080325
-packetLen(0x0160, 4) // ZC_POSITION_INFO
+packetLen(0x0160, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0160, 14) // ZC_POSITION_INFO
+packetLen(0x0160, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0160, 26) // ZC_POSITION_INFO
+packetLen(0x0160, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0160, 2) // ZC_POSITION_INFO
+packetLen(0x0160, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0160, 102) // ZC_POSITION_INFO
+packetLen(0x0160, 102)
#elif PACKETVER >= 20080124
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#endif
// Packet: 0x0161
#if PACKETVER >= 20081126
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0161, 67) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 67)
#elif PACKETVER >= 20081112
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20081029
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0161, 3) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 3)
#elif PACKETVER >= 20081015
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0161, 10) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 10)
#elif PACKETVER >= 20081001
-packetLen(0x0161, 30) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 30)
#elif PACKETVER >= 20080917
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0161, 3) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 3)
#elif PACKETVER >= 20080903
-packetLen(0x0161, 7) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 7)
#elif PACKETVER >= 20080827
-packetLen(0x0161, 3) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 3)
#elif PACKETVER >= 20080806
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0161, 14) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 14)
#elif PACKETVER >= 20080722
-packetLen(0x0161, 39) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 39)
#elif PACKETVER >= 20080701
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0161, 16) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 16)
#elif PACKETVER >= 20080617
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0161, 5) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 5)
#elif PACKETVER >= 20080603
-packetLen(0x0161, 16) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 16)
#elif PACKETVER >= 20080528
-packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0161, 4) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 4)
#elif PACKETVER >= 20080422
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0161, 15) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 15)
#elif PACKETVER >= 20080408
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0161, 282) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 282)
#elif PACKETVER >= 20080318
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0161, 30) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0161, 7) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 7)
#elif PACKETVER >= 20080226
-packetLen(0x0161, 21) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 21)
#elif PACKETVER >= 20080219
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0161, 8) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#endif
// Packet: 0x0162
#if PACKETVER >= 20081119
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0162, 11) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 11)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0162, 8) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 8)
#elif PACKETVER >= 20081022
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0162, 2) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 2)
#elif PACKETVER >= 20081008
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 6)
#elif PACKETVER >= 20080924
-packetLen(0x0162, 7) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 7)
#elif PACKETVER >= 20080917
-packetLen(0x0162, 79) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 79)
#elif PACKETVER >= 20080806
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0162, 44) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 44)
#elif PACKETVER >= 20080708
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0162, 81) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 81)
#elif PACKETVER >= 20080624
-packetLen(0x0162, 23) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 23)
#elif PACKETVER >= 20080617
-packetLen(0x0162, 22) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 22)
#elif PACKETVER >= 20080610
-packetLen(0x0162, 18) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 18)
#elif PACKETVER >= 20080603
-packetLen(0x0162, 30) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 30)
#elif PACKETVER >= 20080528
-packetLen(0x0162, 66) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 66)
#elif PACKETVER >= 20080520
-packetLen(0x0162, 10) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0162, 3) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0162, 30) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0162, 13) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 13)
#elif PACKETVER >= 20080415
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0162, 3) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0162, 282) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 282)
#elif PACKETVER >= 20080325
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0162, 26) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 26)
#elif PACKETVER >= 20080124
-packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#endif
// Packet: 0x0163
#if PACKETVER >= 20081203
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0163, 30) // ZC_BAN_LIST
+packetLen(0x0163, 30)
#elif PACKETVER >= 20081119
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0163, 86) // ZC_BAN_LIST
+packetLen(0x0163, 86)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0163, 28) // ZC_BAN_LIST
+packetLen(0x0163, 28)
#elif PACKETVER >= 20081029
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0163, 54) // ZC_BAN_LIST
+packetLen(0x0163, 54)
#elif PACKETVER >= 20081015
-packetLen(0x0163, 2) // ZC_BAN_LIST
+packetLen(0x0163, 2)
#elif PACKETVER >= 20081008
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0163, 282) // ZC_BAN_LIST
+packetLen(0x0163, 282)
#elif PACKETVER >= 20080910
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0163, 20) // ZC_BAN_LIST
+packetLen(0x0163, 20)
#elif PACKETVER >= 20080820
-packetLen(0x0163, 3) // ZC_BAN_LIST
+packetLen(0x0163, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080806
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0163, 114) // ZC_BAN_LIST
+packetLen(0x0163, 114)
#elif PACKETVER >= 20080722
-packetLen(0x0163, 71) // ZC_BAN_LIST
+packetLen(0x0163, 71)
#elif PACKETVER >= 20080715
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0163, 44) // ZC_BAN_LIST
+packetLen(0x0163, 44)
#elif PACKETVER >= 20080528
-packetLen(0x0163, 68) // ZC_BAN_LIST
+packetLen(0x0163, 68)
#elif PACKETVER >= 20080520
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0163, 42) // ZC_BAN_LIST
+packetLen(0x0163, 42)
#elif PACKETVER >= 20080507
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0163, 2) // ZC_BAN_LIST
+packetLen(0x0163, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0163, 86) // ZC_BAN_LIST
+packetLen(0x0163, 86)
#elif PACKETVER >= 20080415
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0163, 8) // ZC_BAN_LIST
+packetLen(0x0163, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0163, 4) // ZC_BAN_LIST
+packetLen(0x0163, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0163, 30) // ZC_BAN_LIST
+packetLen(0x0163, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#endif
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
#if PACKETVER >= 20081203
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0165, 21) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 21)
#elif PACKETVER >= 20081119
-packetLen(0x0165, 17) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 17)
#elif PACKETVER >= 20081112
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0165, 7) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 7)
#elif PACKETVER >= 20081022
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0165, 8) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 8)
#elif PACKETVER >= 20080903
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0165, 39) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 39)
#elif PACKETVER >= 20080820
-packetLen(0x0165, 6) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 6)
#elif PACKETVER >= 20080813
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 4)
#elif PACKETVER >= 20080708
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0165, 54) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 54)
#elif PACKETVER >= 20080617
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0165, 114) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 114)
#elif PACKETVER >= 20080507
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0165, 11) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 11)
#elif PACKETVER >= 20080422
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
#elif PACKETVER >= 20080415
-packetLen(0x0165, 10) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 10)
#elif PACKETVER >= 20080408
-packetLen(0x0165, 182) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 182)
#elif PACKETVER >= 20080401
-packetLen(0x0165, 5) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 5)
#elif PACKETVER >= 20080325
-packetLen(0x0165, 97) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 97)
#elif PACKETVER >= 20080318
-packetLen(0x0165, 26) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0165, 102) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 102)
#elif PACKETVER >= 20080304
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0165, 29) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 29)
#elif PACKETVER >= 20080124
-packetLen(0x0165, 6) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
#endif
// Packet: 0x0166
#if PACKETVER >= 20081217
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0166, 8) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 8)
#elif PACKETVER >= 20081119
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0166, 114) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 114)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0166, 3) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 3)
#elif PACKETVER >= 20080924
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0166, 30) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 30)
#elif PACKETVER >= 20080910
-packetLen(0x0166, 13) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 13)
#elif PACKETVER >= 20080820
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0166, 14) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 14)
#elif PACKETVER >= 20080806
-packetLen(0x0166, 11) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 11)
#elif PACKETVER >= 20080730
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 2)
#elif PACKETVER >= 20080715
-packetLen(0x0166, 14) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 14)
#elif PACKETVER >= 20080708
-packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 2)
#elif PACKETVER >= 20080701
-packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 4)
#elif PACKETVER >= 20080617
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0166, 27) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 27)
#elif PACKETVER >= 20080603
-packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0166, 16) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 16)
#elif PACKETVER >= 20080513
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0166, 7) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 7)
#elif PACKETVER >= 20080429
-packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0166, 3) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 3)
#elif PACKETVER >= 20080318
-packetLen(0x0166, 68) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 68)
#elif PACKETVER >= 20080311
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0166, 5) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0166, 18) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 18)
#elif PACKETVER >= 20080102
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#endif
// Packet: 0x0167
#if PACKETVER >= 20081217
-packetLen(0x0167, 26) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 26)
#elif PACKETVER >= 20081203
-packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 7)
#elif PACKETVER >= 20081112
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0167, 30) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 30)
#elif PACKETVER >= 20081008
-packetLen(0x0167, 14) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 14)
#elif PACKETVER >= 20081001
-packetLen(0x0167, 2) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 2)
#elif PACKETVER >= 20080917
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0167, 11) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 11)
#elif PACKETVER >= 20080813
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 7)
#elif PACKETVER >= 20080730
-packetLen(0x0167, 282) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 282)
#elif PACKETVER >= 20080617
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0167, 9) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 9)
#elif PACKETVER >= 20080603
-packetLen(0x0167, 67) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 67)
#elif PACKETVER >= 20080528
-packetLen(0x0167, 26) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 26)
#elif PACKETVER >= 20080520
-packetLen(0x0167, 86) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 86)
#elif PACKETVER >= 20080513
-packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0167, 4) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 4)
#elif PACKETVER >= 20080429
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0167, 42) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 42)
#elif PACKETVER >= 20080415
-packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 7)
#elif PACKETVER >= 20080408
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0167, 4) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0167, 14) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 14)
#elif PACKETVER >= 20080311
-packetLen(0x0167, 7) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0167, 71) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 71)
#elif PACKETVER >= 20080219
-packetLen(0x0167, 2) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0167, 58) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 58)
#elif PACKETVER >= 20080102
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
#endif
// Packet: 0x0168
#if PACKETVER >= 20081203
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#elif PACKETVER >= 20081119
-packetLen(0x0168, 8) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 8)
#elif PACKETVER >= 20081112
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081008
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0168, 7) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 7)
#elif PACKETVER >= 20080827
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 6)
#elif PACKETVER >= 20080730
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 2)
#elif PACKETVER >= 20080715
-packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 11)
#elif PACKETVER >= 20080708
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0168, 9) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 9)
#elif PACKETVER >= 20080617
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 11)
#elif PACKETVER >= 20080603
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0168, 282) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 282)
#elif PACKETVER >= 20080520
-packetLen(0x0168, 15) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 15)
#elif PACKETVER >= 20080513
-packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 10)
#elif PACKETVER >= 20080429
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#elif PACKETVER >= 20080415
-packetLen(0x0168, 2) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 11)
#elif PACKETVER >= 20080318
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0168, 10) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0168, 22) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 22)
#elif PACKETVER >= 20080226
-packetLen(0x0168, 3) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0168, 4) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#endif
// Packet: 0x0169
#if PACKETVER >= 20081217
-packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 2)
#elif PACKETVER >= 20081203
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
#elif PACKETVER >= 20081126
-packetLen(0x0169, 10) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 10)
#elif PACKETVER >= 20081112
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0169, 8) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 8)
#elif PACKETVER >= 20081022
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
#elif PACKETVER >= 20081008
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0169, 39) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 39)
#elif PACKETVER >= 20080924
-packetLen(0x0169, 53) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 53)
#elif PACKETVER >= 20080917
-packetLen(0x0169, 19) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 19)
#elif PACKETVER >= 20080827
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 5)
#elif PACKETVER >= 20080813
-packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 4)
#elif PACKETVER >= 20080806
-packetLen(0x0169, 30) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 30)
#elif PACKETVER >= 20080730
-packetLen(0x0169, 10) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 10)
#elif PACKETVER >= 20080722
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 5)
#elif PACKETVER >= 20080708
-packetLen(0x0169, 9) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 9)
#elif PACKETVER >= 20080701
-packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 5)
#elif PACKETVER >= 20080610
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0169, 9) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 9)
#elif PACKETVER >= 20080507
-packetLen(0x0169, 282) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 282)
#elif PACKETVER >= 20080429
-packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#elif PACKETVER >= 20080408
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0169, 2) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0169, 5) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#endif
// Packet: 0x016a
#if PACKETVER >= 20081217
-packetLen(0x016a, 5) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 5)
#elif PACKETVER >= 20081203
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20081126
-packetLen(0x016a, 26) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 26)
#elif PACKETVER >= 20081112
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x016a, 102) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 102)
#elif PACKETVER >= 20081029
-packetLen(0x016a, 19) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 19)
#elif PACKETVER >= 20081022
-packetLen(0x016a, 7) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 7)
#elif PACKETVER >= 20080917
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x016a, 8) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 8)
#elif PACKETVER >= 20080820
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080813
-packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 6)
#elif PACKETVER >= 20080722
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080715
-packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 4)
#elif PACKETVER >= 20080701
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080624
-packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 6)
#elif PACKETVER >= 20080617
-packetLen(0x016a, 10) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 10)
#elif PACKETVER >= 20080610
-packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 4)
#elif PACKETVER >= 20080603
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080528
-packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 6)
#elif PACKETVER >= 20080520
-packetLen(0x016a, 24) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 24)
#elif PACKETVER >= 20080513
-packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 6)
#elif PACKETVER >= 20080429
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080422
-packetLen(0x016a, 22) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 22)
#elif PACKETVER >= 20080415
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080408
-packetLen(0x016a, 97) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 97)
#elif PACKETVER >= 20080401
-packetLen(0x016a, 7) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 7)
#elif PACKETVER >= 20080325
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080318
-packetLen(0x016a, 44) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 44)
#elif PACKETVER >= 20080311
-packetLen(0x016a, 32) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 32)
#elif PACKETVER >= 20080304
-packetLen(0x016a, 26) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 26)
#elif PACKETVER >= 20080226
-packetLen(0x016a, 2) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 2)
#elif PACKETVER >= 20080219
-packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 4)
#elif PACKETVER >= 20080124
-packetLen(0x016a, 3) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 3)
#elif PACKETVER >= 20080102
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
#endif
// Packet: 0x016b
#if PACKETVER >= 20081217
-packetLen(0x016b, 6) // CZ_JOIN_GUILD
+packetLen(0x016b, 6)
#elif PACKETVER >= 20081203
-packetLen(0x016b, 34) // CZ_JOIN_GUILD
+packetLen(0x016b, 34)
#elif PACKETVER >= 20081126
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20081112
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x016b, 43) // CZ_JOIN_GUILD
+packetLen(0x016b, 43)
#elif PACKETVER >= 20080924
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080917
-packetLen(0x016b, 30) // CZ_JOIN_GUILD
+packetLen(0x016b, 30)
#elif PACKETVER >= 20080910
-packetLen(0x016b, 5) // CZ_JOIN_GUILD
+packetLen(0x016b, 5)
#elif PACKETVER >= 20080813
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080806
-packetLen(0x016b, 11) // CZ_JOIN_GUILD
+packetLen(0x016b, 11)
#elif PACKETVER >= 20080722
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080715
-packetLen(0x016b, 26) // CZ_JOIN_GUILD
+packetLen(0x016b, 26)
#elif PACKETVER >= 20080708
-packetLen(0x016b, 8) // CZ_JOIN_GUILD
+packetLen(0x016b, 8)
#elif PACKETVER >= 20080624
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080617
-packetLen(0x016b, 6) // CZ_JOIN_GUILD
+packetLen(0x016b, 6)
#elif PACKETVER >= 20080429
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080422
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
#elif PACKETVER >= 20080415
-packetLen(0x016b, 4) // CZ_JOIN_GUILD
+packetLen(0x016b, 4)
#elif PACKETVER >= 20080408
-packetLen(0x016b, 8) // CZ_JOIN_GUILD
+packetLen(0x016b, 8)
#elif PACKETVER >= 20080401
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080325
-packetLen(0x016b, 27) // CZ_JOIN_GUILD
+packetLen(0x016b, 27)
#elif PACKETVER >= 20080318
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080311
-packetLen(0x016b, 22) // CZ_JOIN_GUILD
+packetLen(0x016b, 22)
#elif PACKETVER >= 20080304
-packetLen(0x016b, 20) // CZ_JOIN_GUILD
+packetLen(0x016b, 20)
#elif PACKETVER >= 20080226
-packetLen(0x016b, 6) // CZ_JOIN_GUILD
+packetLen(0x016b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080124
-packetLen(0x016b, 11) // CZ_JOIN_GUILD
+packetLen(0x016b, 11)
#elif PACKETVER >= 20080102
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
#endif
// Packet: 0x016c
#if PACKETVER >= 20081217
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20081126
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20081112
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x016c, 29) // ZC_UPDATE_GDID
+packetLen(0x016c, 29)
#elif PACKETVER >= 20081008
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20081001
-packetLen(0x016c, 8) // ZC_UPDATE_GDID
+packetLen(0x016c, 8)
#elif PACKETVER >= 20080917
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080910
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080903
-packetLen(0x016c, 26) // ZC_UPDATE_GDID
+packetLen(0x016c, 26)
#elif PACKETVER >= 20080820
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080813
-packetLen(0x016c, 14) // ZC_UPDATE_GDID
+packetLen(0x016c, 14)
#elif PACKETVER >= 20080806
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080730
-packetLen(0x016c, 7) // ZC_UPDATE_GDID
+packetLen(0x016c, 7)
#elif PACKETVER >= 20080722
-packetLen(0x016c, 18) // ZC_UPDATE_GDID
+packetLen(0x016c, 18)
#elif PACKETVER >= 20080715
-packetLen(0x016c, 90) // ZC_UPDATE_GDID
+packetLen(0x016c, 90)
#elif PACKETVER >= 20080708
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080701
-packetLen(0x016c, 7) // ZC_UPDATE_GDID
+packetLen(0x016c, 7)
#elif PACKETVER >= 20080624
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080617
-packetLen(0x016c, 10) // ZC_UPDATE_GDID
+packetLen(0x016c, 10)
#elif PACKETVER >= 20080610
-packetLen(0x016c, 28) // ZC_UPDATE_GDID
+packetLen(0x016c, 28)
#elif PACKETVER >= 20080603
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080528
-packetLen(0x016c, 54) // ZC_UPDATE_GDID
+packetLen(0x016c, 54)
#elif PACKETVER >= 20080520
-packetLen(0x016c, 30) // ZC_UPDATE_GDID
+packetLen(0x016c, 30)
#elif PACKETVER >= 20080513
-packetLen(0x016c, 14) // ZC_UPDATE_GDID
+packetLen(0x016c, 14)
#elif PACKETVER >= 20080507
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080429
-packetLen(0x016c, 57) // ZC_UPDATE_GDID
+packetLen(0x016c, 57)
#elif PACKETVER >= 20080422
-packetLen(0x016c, 10) // ZC_UPDATE_GDID
+packetLen(0x016c, 10)
#elif PACKETVER >= 20080408
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080325
-packetLen(0x016c, 32) // ZC_UPDATE_GDID
+packetLen(0x016c, 32)
#elif PACKETVER >= 20080318
-packetLen(0x016c, 22) // ZC_UPDATE_GDID
+packetLen(0x016c, 22)
#elif PACKETVER >= 20080311
-packetLen(0x016c, 4) // ZC_UPDATE_GDID
+packetLen(0x016c, 4)
#elif PACKETVER >= 20080304
-packetLen(0x016c, 2) // ZC_UPDATE_GDID
+packetLen(0x016c, 2)
#elif PACKETVER >= 20080226
-packetLen(0x016c, 8) // ZC_UPDATE_GDID
+packetLen(0x016c, 8)
#elif PACKETVER >= 20080219
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080124
-packetLen(0x016c, 9) // ZC_UPDATE_GDID
+packetLen(0x016c, 9)
#elif PACKETVER >= 20080102
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
#endif
// Packet: 0x016d
#if PACKETVER >= 20081217
-packetLen(0x016d, 11) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 11)
#elif PACKETVER >= 20081112
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 10)
#elif PACKETVER >= 20081029
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20081022
-packetLen(0x016d, 30) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 30)
#elif PACKETVER >= 20081015
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20081008
-packetLen(0x016d, 15) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 15)
#elif PACKETVER >= 20081001
-packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 10)
#elif PACKETVER >= 20080917
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080910
-packetLen(0x016d, 97) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 97)
#elif PACKETVER >= 20080827
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080820
-packetLen(0x016d, 67) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 67)
#elif PACKETVER >= 20080813
-packetLen(0x016d, 2) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 2)
#elif PACKETVER >= 20080806
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080730
-packetLen(0x016d, 20) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 20)
#elif PACKETVER >= 20080715
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080708
-packetLen(0x016d, 7) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 7)
#elif PACKETVER >= 20080701
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080617
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080610
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080603
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
#elif PACKETVER >= 20080528
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x016d, 13) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 13)
#elif PACKETVER >= 20080507
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080429
-packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 10)
#elif PACKETVER >= 20080422
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080415
-packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 4)
#elif PACKETVER >= 20080408
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080401
-packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 4)
#elif PACKETVER >= 20080325
-packetLen(0x016d, 6) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 6)
#elif PACKETVER >= 20080318
-packetLen(0x016d, 19) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 19)
#elif PACKETVER >= 20080311
-packetLen(0x016d, 22) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 22)
#elif PACKETVER >= 20080304
-packetLen(0x016d, 8) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 8)
#elif PACKETVER >= 20080226
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080219
-packetLen(0x016d, 30) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 30)
#elif PACKETVER >= 20080124
-packetLen(0x016d, 2) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 2)
#elif PACKETVER >= 20080102
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
#endif
// Packet: 0x016e
#if PACKETVER >= 20081217
-packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+packetLen(0x016e, 2)
#elif PACKETVER >= 20081203
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20081126
-packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+packetLen(0x016e, 3)
#elif PACKETVER >= 20081119
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20081112
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x016e, 6) // CZ_GUILD_NOTICE
+packetLen(0x016e, 6)
#elif PACKETVER >= 20081029
-packetLen(0x016e, 10) // CZ_GUILD_NOTICE
+packetLen(0x016e, 10)
#elif PACKETVER >= 20081022
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20081015
-packetLen(0x016e, 7) // CZ_GUILD_NOTICE
+packetLen(0x016e, 7)
#elif PACKETVER >= 20081008
-packetLen(0x016e, 39) // CZ_GUILD_NOTICE
+packetLen(0x016e, 39)
#elif PACKETVER >= 20081001
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080924
-packetLen(0x016e, 6) // CZ_GUILD_NOTICE
+packetLen(0x016e, 6)
#elif PACKETVER >= 20080917
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080910
-packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+packetLen(0x016e, 4)
#elif PACKETVER >= 20080903
-packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+packetLen(0x016e, 3)
#elif PACKETVER >= 20080827
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080820
-packetLen(0x016e, 12) // CZ_GUILD_NOTICE
+packetLen(0x016e, 12)
#elif PACKETVER >= 20080813
-packetLen(0x016e, 9) // CZ_GUILD_NOTICE
+packetLen(0x016e, 9)
#elif PACKETVER >= 20080806
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080730
-packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+packetLen(0x016e, 2)
#elif PACKETVER >= 20080715
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080708
-packetLen(0x016e, 5) // CZ_GUILD_NOTICE
+packetLen(0x016e, 5)
#elif PACKETVER >= 20080701
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+packetLen(0x016e, 2)
#elif PACKETVER >= 20080617
-packetLen(0x016e, 39) // CZ_GUILD_NOTICE
+packetLen(0x016e, 39)
#elif PACKETVER >= 20080520
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x016e, 15) // CZ_GUILD_NOTICE
+packetLen(0x016e, 15)
#elif PACKETVER >= 20080429
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080422
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
#elif PACKETVER >= 20080415
-packetLen(0x016e, 42) // CZ_GUILD_NOTICE
+packetLen(0x016e, 42)
#elif PACKETVER >= 20080401
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080325
-packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+packetLen(0x016e, 2)
#elif PACKETVER >= 20080318
-packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+packetLen(0x016e, 3)
#elif PACKETVER >= 20080311
-packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+packetLen(0x016e, 4)
#elif PACKETVER >= 20080304
-packetLen(0x016e, 30) // CZ_GUILD_NOTICE
+packetLen(0x016e, 30)
#elif PACKETVER >= 20080226
-packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+packetLen(0x016e, 4)
#elif PACKETVER >= 20080219
-packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+packetLen(0x016e, 3)
#elif PACKETVER >= 20080124
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
#endif
// Packet: 0x016f
#if PACKETVER >= 20081217
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20081203
-packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+packetLen(0x016f, 2)
#elif PACKETVER >= 20081126
-packetLen(0x016f, 32) // ZC_GUILD_NOTICE
+packetLen(0x016f, 32)
#elif PACKETVER >= 20081112
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x016f, 26) // ZC_GUILD_NOTICE
+packetLen(0x016f, 26)
#elif PACKETVER >= 20081029
-packetLen(0x016f, 7) // ZC_GUILD_NOTICE
+packetLen(0x016f, 7)
#elif PACKETVER >= 20081001
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080924
-packetLen(0x016f, 11) // ZC_GUILD_NOTICE
+packetLen(0x016f, 11)
#elif PACKETVER >= 20080917
-packetLen(0x016f, 43) // ZC_GUILD_NOTICE
+packetLen(0x016f, 43)
#elif PACKETVER >= 20080903
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080827
-packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+packetLen(0x016f, 2)
#elif PACKETVER >= 20080820
-packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+packetLen(0x016f, 9)
#elif PACKETVER >= 20080806
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080730
-packetLen(0x016f, 81) // ZC_GUILD_NOTICE
+packetLen(0x016f, 81)
#elif PACKETVER >= 20080715
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080708
-packetLen(0x016f, 30) // ZC_GUILD_NOTICE
+packetLen(0x016f, 30)
#elif PACKETVER >= 20080701
-packetLen(0x016f, 44) // ZC_GUILD_NOTICE
+packetLen(0x016f, 44)
#elif PACKETVER >= 20080624
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+packetLen(0x016f, 2)
#elif PACKETVER >= 20080603
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080528
-packetLen(0x016f, 2) // ZC_GUILD_NOTICE
+packetLen(0x016f, 2)
#elif PACKETVER >= 20080507
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080429
-packetLen(0x016f, 14) // ZC_GUILD_NOTICE
+packetLen(0x016f, 14)
#elif PACKETVER >= 20080422
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080415
-packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+packetLen(0x016f, 6)
#elif PACKETVER >= 20080408
-packetLen(0x016f, 7) // ZC_GUILD_NOTICE
+packetLen(0x016f, 7)
#elif PACKETVER >= 20080401
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20080325
-packetLen(0x016f, 22) // ZC_GUILD_NOTICE
+packetLen(0x016f, 22)
#elif PACKETVER >= 20080318
-packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+packetLen(0x016f, 9)
#elif PACKETVER >= 20080311
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
#elif PACKETVER >= 20080304
-packetLen(0x016f, 12) // ZC_GUILD_NOTICE
+packetLen(0x016f, 12)
#elif PACKETVER >= 20080226
-packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+packetLen(0x016f, 6)
#elif PACKETVER >= 20080219
-packetLen(0x016f, 4) // ZC_GUILD_NOTICE
+packetLen(0x016f, 4)
#elif PACKETVER >= 20080124
-packetLen(0x016f, 29) // ZC_GUILD_NOTICE
+packetLen(0x016f, 29)
#elif PACKETVER >= 20080102
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
#endif
// Packet: 0x0170
#if PACKETVER >= 20081217
-packetLen(0x0170, 26) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 26)
#elif PACKETVER >= 20081126
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 30)
#elif PACKETVER >= 20081112
-packetLen(0x0170, 44) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 44)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0170, 19) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 19)
#elif PACKETVER >= 20081015
-packetLen(0x0170, 23) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 23)
#elif PACKETVER >= 20081008
-packetLen(0x0170, 10) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 10)
#elif PACKETVER >= 20081001
-packetLen(0x0170, 2) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 2)
#elif PACKETVER >= 20080917
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#elif PACKETVER >= 20080903
-packetLen(0x0170, 3) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0170, 4) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 4)
#elif PACKETVER >= 20080730
-packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 6)
#elif PACKETVER >= 20080722
-packetLen(0x0170, 17) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 17)
#elif PACKETVER >= 20080715
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#elif PACKETVER >= 20080701
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0170, 20) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 20)
#elif PACKETVER >= 20080528
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0170, 102) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 102)
#elif PACKETVER >= 20080429
-packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#elif PACKETVER >= 20080415
-packetLen(0x0170, 26) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 26)
#elif PACKETVER >= 20080408
-packetLen(0x0170, 22) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 22)
#elif PACKETVER >= 20080401
-packetLen(0x0170, 282) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 282)
#elif PACKETVER >= 20080318
-packetLen(0x0170, 6) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0170, 4) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0170, 81) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 81)
#elif PACKETVER >= 20080226
-packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 30)
#elif PACKETVER >= 20080219
-packetLen(0x0170, 60) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 60)
#elif PACKETVER >= 20080124
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#endif
// Packet: 0x0171
#if PACKETVER >= 20081217
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20081126
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 8)
#elif PACKETVER >= 20081015
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0171, 17) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 17)
#elif PACKETVER >= 20081001
-packetLen(0x0171, 282) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 282)
#elif PACKETVER >= 20080924
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0171, 4) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 4)
#elif PACKETVER >= 20080910
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 10)
#elif PACKETVER >= 20080827
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0171, 282) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 282)
#elif PACKETVER >= 20080813
-packetLen(0x0171, 2) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 2)
#elif PACKETVER >= 20080806
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0171, 58) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 58)
#elif PACKETVER >= 20080708
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 8)
#elif PACKETVER >= 20080624
-packetLen(0x0171, 3) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 3)
#elif PACKETVER >= 20080617
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0171, 282) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 282)
#elif PACKETVER >= 20080528
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20080520
-packetLen(0x0171, 7) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 7)
#elif PACKETVER >= 20080415
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0171, 5) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 5)
#elif PACKETVER >= 20080401
-packetLen(0x0171, 23) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 23)
#elif PACKETVER >= 20080325
-packetLen(0x0171, 8) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0171, 3) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 67)
#elif PACKETVER >= 20080219
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
#endif
// Packet: 0x0172
#if PACKETVER >= 20081217
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0172, 5) // CZ_ALLY_GUILD
+packetLen(0x0172, 5)
#elif PACKETVER >= 20081126
-packetLen(0x0172, 282) // CZ_ALLY_GUILD
+packetLen(0x0172, 282)
#elif PACKETVER >= 20081112
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0172, 30) // CZ_ALLY_GUILD
+packetLen(0x0172, 30)
#elif PACKETVER >= 20080730
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0172, 14) // CZ_ALLY_GUILD
+packetLen(0x0172, 14)
#elif PACKETVER >= 20080715
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0172, 102) // CZ_ALLY_GUILD
+packetLen(0x0172, 102)
#elif PACKETVER >= 20080624
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0172, 102) // CZ_ALLY_GUILD
+packetLen(0x0172, 102)
#elif PACKETVER >= 20080610
-packetLen(0x0172, 3) // CZ_ALLY_GUILD
+packetLen(0x0172, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0172, 6) // CZ_ALLY_GUILD
+packetLen(0x0172, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0172, 28) // CZ_ALLY_GUILD
+packetLen(0x0172, 28)
#elif PACKETVER >= 20080429
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#elif PACKETVER >= 20080415
-packetLen(0x0172, 2) // CZ_ALLY_GUILD
+packetLen(0x0172, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0172, 6) // CZ_ALLY_GUILD
+packetLen(0x0172, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0172, 14) // CZ_ALLY_GUILD
+packetLen(0x0172, 14)
#elif PACKETVER >= 20080318
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0172, 3) // CZ_ALLY_GUILD
+packetLen(0x0172, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0172, 53) // CZ_ALLY_GUILD
+packetLen(0x0172, 53)
#elif PACKETVER >= 20080226
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0172, 22) // CZ_ALLY_GUILD
+packetLen(0x0172, 22)
#elif PACKETVER >= 20080124
-packetLen(0x0172, 14) // CZ_ALLY_GUILD
+packetLen(0x0172, 14)
#elif PACKETVER >= 20080102
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#endif
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
#if PACKETVER >= 20081126
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0177, 7) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 7)
#elif PACKETVER >= 20081112
-packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 3)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0177, 8) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 8)
#elif PACKETVER >= 20081015
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0177, 6) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 6)
#elif PACKETVER >= 20081001
-packetLen(0x0177, 5) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 5)
#elif PACKETVER >= 20080924
-packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 3)
#elif PACKETVER >= 20080917
-packetLen(0x0177, 8) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 8)
#elif PACKETVER >= 20080910
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0177, 7) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 7)
#elif PACKETVER >= 20080827
-packetLen(0x0177, 182) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 182)
#elif PACKETVER >= 20080820
-packetLen(0x0177, 6) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 6)
#elif PACKETVER >= 20080813
-packetLen(0x0177, 71) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 71)
#elif PACKETVER >= 20080730
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 3)
#elif PACKETVER >= 20080715
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0177, 7) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 7)
#elif PACKETVER >= 20080701
-packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 2)
#elif PACKETVER >= 20080624
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0177, 31) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 31)
#elif PACKETVER >= 20080603
-packetLen(0x0177, 58) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 58)
#elif PACKETVER >= 20080528
-packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 4)
#elif PACKETVER >= 20080513
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0177, 30) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 30)
#elif PACKETVER >= 20080429
-packetLen(0x0177, 26) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 26)
#elif PACKETVER >= 20080422
-packetLen(0x0177, 28) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 28)
#elif PACKETVER >= 20080415
-packetLen(0x0177, 114) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 114)
#elif PACKETVER >= 20080408
-packetLen(0x0177, 10) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 4)
#elif PACKETVER >= 20080325
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0177, 11) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 11)
#elif PACKETVER >= 20080311
-packetLen(0x0177, 27) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 27)
#elif PACKETVER >= 20080304
-packetLen(0x0177, 34) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 34)
#elif PACKETVER >= 20080226
-packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 2)
#elif PACKETVER >= 20080124
-packetLen(0x0177, 30) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#endif
// Packet: 0x0178
#if PACKETVER >= 20081112
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081008
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0178, 14) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 14)
#elif PACKETVER >= 20080917
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20080827
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0178, 90) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 90)
#elif PACKETVER >= 20080806
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0178, 2) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 2)
#elif PACKETVER >= 20080722
-packetLen(0x0178, 8) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 8)
#elif PACKETVER >= 20080715
-packetLen(0x0178, 55) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 55)
#elif PACKETVER >= 20080624
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0178, 10) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0178, 33) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 33)
#elif PACKETVER >= 20080520
-packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 7)
#elif PACKETVER >= 20080513
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 7)
#elif PACKETVER >= 20080325
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0178, 11) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0178, 30) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 30)
#elif PACKETVER >= 20080124
-packetLen(0x0178, 68) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 68)
#elif PACKETVER >= 20080102
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#endif
// Packet: 0x0179
#if PACKETVER >= 20081217
-packetLen(0x0179, 53) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 53)
#elif PACKETVER >= 20081203
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0179, 26) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 26)
#elif PACKETVER >= 20081119
-packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 10)
#elif PACKETVER >= 20081112
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 3)
#elif PACKETVER >= 20081022
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0179, 26) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 26)
#elif PACKETVER >= 20081008
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20081001
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0179, 4) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 4)
#elif PACKETVER >= 20080917
-packetLen(0x0179, 9) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 9)
#elif PACKETVER >= 20080910
-packetLen(0x0179, 8) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 8)
#elif PACKETVER >= 20080903
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0179, 60) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 60)
#elif PACKETVER >= 20080820
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0179, 102) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 102)
#elif PACKETVER >= 20080806
-packetLen(0x0179, 28) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 28)
#elif PACKETVER >= 20080730
-packetLen(0x0179, 27) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 27)
#elif PACKETVER >= 20080722
-packetLen(0x0179, 2) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 2)
#elif PACKETVER >= 20080715
-packetLen(0x0179, 29) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 29)
#elif PACKETVER >= 20080708
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0179, 59) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 59)
#elif PACKETVER >= 20080624
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0179, 27) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 27)
#elif PACKETVER >= 20080528
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
#elif PACKETVER >= 20080520
-packetLen(0x0179, 11) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 11)
#elif PACKETVER >= 20080513
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0179, 43) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 43)
#elif PACKETVER >= 20080429
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0179, 55) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 55)
#elif PACKETVER >= 20080415
-packetLen(0x0179, 4) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0179, 8) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0179, 2) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 3)
#elif PACKETVER >= 20080124
-packetLen(0x0179, 15) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 15)
#elif PACKETVER >= 20080102
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
#endif
// Packet: 0x017a
#if PACKETVER >= 20081217
-packetLen(0x017a, 24) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 24)
#elif PACKETVER >= 20081203
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20081126
-packetLen(0x017a, 3) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 3)
#elif PACKETVER >= 20081112
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x017a, 71) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 71)
#elif PACKETVER >= 20081022
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20081015
-packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 6)
#elif PACKETVER >= 20080917
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x017a, 26) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 26)
#elif PACKETVER >= 20080820
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20080813
-packetLen(0x017a, 66) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 66)
#elif PACKETVER >= 20080730
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20080722
-packetLen(0x017a, 22) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 22)
#elif PACKETVER >= 20080708
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20080701
-packetLen(0x017a, 29) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 29)
#elif PACKETVER >= 20080610
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x017a, 28) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 28)
#elif PACKETVER >= 20080528
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#elif PACKETVER >= 20080520
-packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 6)
#elif PACKETVER >= 20080513
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 6)
#elif PACKETVER >= 20080429
-packetLen(0x017a, 5) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 5)
#elif PACKETVER >= 20080415
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#elif PACKETVER >= 20080408
-packetLen(0x017a, 2) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 2)
#elif PACKETVER >= 20080401
-packetLen(0x017a, 31) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 31)
#elif PACKETVER >= 20080325
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#elif PACKETVER >= 20080318
-packetLen(0x017a, 8) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 8)
#elif PACKETVER >= 20080311
-packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 6)
#elif PACKETVER >= 20080304
-packetLen(0x017a, 13) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 13)
#elif PACKETVER >= 20080219
-packetLen(0x017a, 30) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 30)
#elif PACKETVER >= 20080124
-packetLen(0x017a, 7) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 7)
#elif PACKETVER >= 20080102
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#endif
// Packet: 0x017b
#if PACKETVER >= 20081217
-packetLen(0x017b, 10) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 10)
#elif PACKETVER >= 20081203
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20081126
-packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 4)
#elif PACKETVER >= 20081119
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20081112
-packetLen(0x017b, 10) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 10)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20081015
-packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 3)
#elif PACKETVER >= 20081008
-packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 6)
#elif PACKETVER >= 20080917
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080910
-packetLen(0x017b, 32) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 32)
#elif PACKETVER >= 20080827
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080820
-packetLen(0x017b, 10) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 10)
#elif PACKETVER >= 20080813
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080806
-packetLen(0x017b, 282) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 282)
#elif PACKETVER >= 20080730
-packetLen(0x017b, 8) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 8)
#elif PACKETVER >= 20080708
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080701
-packetLen(0x017b, 2) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 2)
#elif PACKETVER >= 20080617
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080610
-packetLen(0x017b, 2) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 2)
#elif PACKETVER >= 20080603
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080528
-packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 4)
#elif PACKETVER >= 20080520
-packetLen(0x017b, 68) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 68)
#elif PACKETVER >= 20080513
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080507
-packetLen(0x017b, 53) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 53)
#elif PACKETVER >= 20080429
-packetLen(0x017b, 8) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 8)
#elif PACKETVER >= 20080415
-packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 6)
#elif PACKETVER >= 20080408
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080401
-packetLen(0x017b, 6) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 6)
#elif PACKETVER >= 20080325
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080318
-packetLen(0x017b, 11) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 11)
#elif PACKETVER >= 20080311
-packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 3)
#elif PACKETVER >= 20080304
-packetLen(0x017b, 4) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 4)
#elif PACKETVER >= 20080226
-packetLen(0x017b, 9) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 9)
#elif PACKETVER >= 20080219
-packetLen(0x017b, 18) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 18)
#elif PACKETVER >= 20080124
-packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 3)
#elif PACKETVER >= 20080102
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#endif
// Packet: 0x017c
#if PACKETVER >= 20081119
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20081112
-packetLen(0x017c, 79) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 79)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x017c, 2) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 2)
#elif PACKETVER >= 20081029
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20081022
-packetLen(0x017c, 8) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 8)
#elif PACKETVER >= 20081015
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20081008
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20081001
-packetLen(0x017c, 4) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 4)
#elif PACKETVER >= 20080924
-packetLen(0x017c, 5) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 5)
#elif PACKETVER >= 20080917
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080910
-packetLen(0x017c, 54) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 54)
#elif PACKETVER >= 20080903
-packetLen(0x017c, 4) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 4)
#elif PACKETVER >= 20080813
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080806
-packetLen(0x017c, 12) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 12)
#elif PACKETVER >= 20080730
-packetLen(0x017c, 102) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 102)
#elif PACKETVER >= 20080715
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080708
-packetLen(0x017c, 7) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 7)
#elif PACKETVER >= 20080701
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080624
-packetLen(0x017c, 55) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 55)
#elif PACKETVER >= 20080617
-packetLen(0x017c, 26) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 26)
#elif PACKETVER >= 20080610
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080603
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080528
-packetLen(0x017c, 21) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 21)
#elif PACKETVER >= 20080520
-packetLen(0x017c, 39) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 39)
#elif PACKETVER >= 20080513
-packetLen(0x017c, 7) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 7)
#elif PACKETVER >= 20080422
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080408
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x017c, 31) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 31)
#elif PACKETVER >= 20080311
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080304
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080226
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080124
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#endif
// Packet: 0x017d
#if PACKETVER >= 20081217
-packetLen(0x017d, 2) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 2)
#elif PACKETVER >= 20081203
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20081126
-packetLen(0x017d, 6) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 6)
#elif PACKETVER >= 20081112
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20081029
-packetLen(0x017d, 9) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 9)
#elif PACKETVER >= 20081022
-packetLen(0x017d, 14) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 14)
#elif PACKETVER >= 20081015
-packetLen(0x017d, 16) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 16)
#elif PACKETVER >= 20081008
-packetLen(0x017d, 53) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 53)
#elif PACKETVER >= 20081001
-packetLen(0x017d, 71) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 71)
#elif PACKETVER >= 20080910
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080903
-packetLen(0x017d, 4) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 4)
#elif PACKETVER >= 20080827
-packetLen(0x017d, 18) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 18)
#elif PACKETVER >= 20080813
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080806
-packetLen(0x017d, 10) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 10)
#elif PACKETVER >= 20080730
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080722
-packetLen(0x017d, 97) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 97)
#elif PACKETVER >= 20080715
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080708
-packetLen(0x017d, 31) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 31)
#elif PACKETVER >= 20080701
-packetLen(0x017d, 33) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 33)
#elif PACKETVER >= 20080610
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080603
-packetLen(0x017d, 3) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 3)
#elif PACKETVER >= 20080528
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x017d, 4) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 4)
#elif PACKETVER >= 20080422
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080415
-packetLen(0x017d, 11) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 11)
#elif PACKETVER >= 20080408
-packetLen(0x017d, 6) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 6)
#elif PACKETVER >= 20080401
-packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 8)
#elif PACKETVER >= 20080325
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080318
-packetLen(0x017d, 28) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 28)
#elif PACKETVER >= 20080311
-packetLen(0x017d, 34) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 34)
#elif PACKETVER >= 20080304
-packetLen(0x017d, 30) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 30)
#elif PACKETVER >= 20080219
-packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 8)
#elif PACKETVER >= 20080124
-packetLen(0x017d, 10) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 10)
#elif PACKETVER >= 20080102
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
#endif
// Packet: 0x017e
#if PACKETVER >= 20081217
-packetLen(0x017e, 2) // CZ_GUILD_CHAT
+packetLen(0x017e, 2)
#elif PACKETVER >= 20081203
-packetLen(0x017e, 3) // CZ_GUILD_CHAT
+packetLen(0x017e, 3)
#elif PACKETVER >= 20081119
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20081112
-packetLen(0x017e, 282) // CZ_GUILD_CHAT
+packetLen(0x017e, 282)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x017e, 67) // CZ_GUILD_CHAT
+packetLen(0x017e, 67)
#elif PACKETVER >= 20081022
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20081015
-packetLen(0x017e, 10) // CZ_GUILD_CHAT
+packetLen(0x017e, 10)
#elif PACKETVER >= 20081008
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20081001
-packetLen(0x017e, 9) // CZ_GUILD_CHAT
+packetLen(0x017e, 9)
#elif PACKETVER >= 20080924
-packetLen(0x017e, 6) // CZ_GUILD_CHAT
+packetLen(0x017e, 6)
#elif PACKETVER >= 20080917
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080910
-packetLen(0x017e, 8) // CZ_GUILD_CHAT
+packetLen(0x017e, 8)
#elif PACKETVER >= 20080903
-packetLen(0x017e, 32) // CZ_GUILD_CHAT
+packetLen(0x017e, 32)
#elif PACKETVER >= 20080827
-packetLen(0x017e, 11) // CZ_GUILD_CHAT
+packetLen(0x017e, 11)
#elif PACKETVER >= 20080820
-packetLen(0x017e, 4) // CZ_GUILD_CHAT
+packetLen(0x017e, 4)
#elif PACKETVER >= 20080813
-packetLen(0x017e, 8) // CZ_GUILD_CHAT
+packetLen(0x017e, 8)
#elif PACKETVER >= 20080806
-packetLen(0x017e, 30) // CZ_GUILD_CHAT
+packetLen(0x017e, 30)
#elif PACKETVER >= 20080730
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080722
-packetLen(0x017e, 26) // CZ_GUILD_CHAT
+packetLen(0x017e, 26)
#elif PACKETVER >= 20080715
-packetLen(0x017e, 6) // CZ_GUILD_CHAT
+packetLen(0x017e, 6)
#elif PACKETVER >= 20080708
-packetLen(0x017e, 11) // CZ_GUILD_CHAT
+packetLen(0x017e, 11)
#elif PACKETVER >= 20080701
-packetLen(0x017e, 4) // CZ_GUILD_CHAT
+packetLen(0x017e, 4)
#elif PACKETVER >= 20080624
-packetLen(0x017e, 6) // CZ_GUILD_CHAT
+packetLen(0x017e, 6)
#elif PACKETVER >= 20080617
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080610
-packetLen(0x017e, 2) // CZ_GUILD_CHAT
+packetLen(0x017e, 2)
#elif PACKETVER >= 20080603
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x017e, 29) // CZ_GUILD_CHAT
+packetLen(0x017e, 29)
#elif PACKETVER >= 20080520
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x017e, 3) // CZ_GUILD_CHAT
+packetLen(0x017e, 3)
#elif PACKETVER >= 20080507
-packetLen(0x017e, 32) // CZ_GUILD_CHAT
+packetLen(0x017e, 32)
#elif PACKETVER >= 20080429
-packetLen(0x017e, 3) // CZ_GUILD_CHAT
+packetLen(0x017e, 3)
#elif PACKETVER >= 20080422
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080415
-packetLen(0x017e, 14) // CZ_GUILD_CHAT
+packetLen(0x017e, 14)
#elif PACKETVER >= 20080408
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080401
-packetLen(0x017e, 4) // CZ_GUILD_CHAT
+packetLen(0x017e, 4)
#elif PACKETVER >= 20080325
-packetLen(0x017e, 14) // CZ_GUILD_CHAT
+packetLen(0x017e, 14)
#elif PACKETVER >= 20080318
-packetLen(0x017e, 3) // CZ_GUILD_CHAT
+packetLen(0x017e, 3)
#elif PACKETVER >= 20080311
-packetLen(0x017e, 31) // CZ_GUILD_CHAT
+packetLen(0x017e, 31)
#elif PACKETVER >= 20080304
-packetLen(0x017e, 10) // CZ_GUILD_CHAT
+packetLen(0x017e, 10)
#elif PACKETVER >= 20080226
-packetLen(0x017e, 7) // CZ_GUILD_CHAT
+packetLen(0x017e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x017e, 28) // CZ_GUILD_CHAT
+packetLen(0x017e, 28)
#elif PACKETVER >= 20080124
-packetLen(0x017e, 7) // CZ_GUILD_CHAT
+packetLen(0x017e, 7)
#elif PACKETVER >= 20080102
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#endif
// Packet: 0x017f
#if PACKETVER >= 20081217
-packetLen(0x017f, 30) // ZC_GUILD_CHAT
+packetLen(0x017f, 30)
#elif PACKETVER >= 20081203
-packetLen(0x017f, 54) // ZC_GUILD_CHAT
+packetLen(0x017f, 54)
#elif PACKETVER >= 20081126
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20081119
-packetLen(0x017f, 4) // ZC_GUILD_CHAT
+packetLen(0x017f, 4)
#elif PACKETVER >= 20081112
-packetLen(0x017f, 20) // ZC_GUILD_CHAT
+packetLen(0x017f, 20)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20081022
-packetLen(0x017f, 10) // ZC_GUILD_CHAT
+packetLen(0x017f, 10)
#elif PACKETVER >= 20081008
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20081001
-packetLen(0x017f, 8) // ZC_GUILD_CHAT
+packetLen(0x017f, 8)
#elif PACKETVER >= 20080924
-packetLen(0x017f, 30) // ZC_GUILD_CHAT
+packetLen(0x017f, 30)
#elif PACKETVER >= 20080917
-packetLen(0x017f, 11) // ZC_GUILD_CHAT
+packetLen(0x017f, 11)
#elif PACKETVER >= 20080910
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080903
-packetLen(0x017f, 10) // ZC_GUILD_CHAT
+packetLen(0x017f, 10)
#elif PACKETVER >= 20080730
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080722
-packetLen(0x017f, 282) // ZC_GUILD_CHAT
+packetLen(0x017f, 282)
#elif PACKETVER >= 20080715
-packetLen(0x017f, 53) // ZC_GUILD_CHAT
+packetLen(0x017f, 53)
#elif PACKETVER >= 20080708
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080624
-packetLen(0x017f, 2) // ZC_GUILD_CHAT
+packetLen(0x017f, 2)
#elif PACKETVER >= 20080520
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x017f, 54) // ZC_GUILD_CHAT
+packetLen(0x017f, 54)
#elif PACKETVER >= 20080507
-packetLen(0x017f, 11) // ZC_GUILD_CHAT
+packetLen(0x017f, 11)
#elif PACKETVER >= 20080429
-packetLen(0x017f, 4) // ZC_GUILD_CHAT
+packetLen(0x017f, 4)
#elif PACKETVER >= 20080415
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080408
-packetLen(0x017f, 20) // ZC_GUILD_CHAT
+packetLen(0x017f, 20)
#elif PACKETVER >= 20080401
-packetLen(0x017f, 6) // ZC_GUILD_CHAT
+packetLen(0x017f, 6)
#elif PACKETVER >= 20080325
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080318
-packetLen(0x017f, 4) // ZC_GUILD_CHAT
+packetLen(0x017f, 4)
#elif PACKETVER >= 20080311
-packetLen(0x017f, 35) // ZC_GUILD_CHAT
+packetLen(0x017f, 35)
#elif PACKETVER >= 20080304
-packetLen(0x017f, 14) // ZC_GUILD_CHAT
+packetLen(0x017f, 14)
#elif PACKETVER >= 20080226
-packetLen(0x017f, 30) // ZC_GUILD_CHAT
+packetLen(0x017f, 30)
#elif PACKETVER >= 20080219
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080124
-packetLen(0x017f, 30) // ZC_GUILD_CHAT
+packetLen(0x017f, 30)
#elif PACKETVER >= 20080102
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#endif
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
#if PACKETVER >= 20081126
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
#elif PACKETVER >= 20081112
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0188, 10) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 10)
#elif PACKETVER >= 20081022
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0188, 67) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 67)
#elif PACKETVER >= 20081001
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 3)
#elif PACKETVER >= 20080917
-packetLen(0x0188, 6) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0188, 6) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 6)
#elif PACKETVER >= 20080827
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
#elif PACKETVER >= 20080813
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0188, 4) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 4)
#elif PACKETVER >= 20080715
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0188, 29) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 29)
#elif PACKETVER >= 20080603
-packetLen(0x0188, 14) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 14)
#elif PACKETVER >= 20080528
-packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0188, 10) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 10)
#elif PACKETVER >= 20080507
-packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0188, 7) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 7)
#elif PACKETVER >= 20080401
-packetLen(0x0188, 6) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 30)
#elif PACKETVER >= 20080318
-packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0188, 2) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 30)
#elif PACKETVER >= 20080219
-packetLen(0x0188, 27) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 27)
#elif PACKETVER >= 20080124
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
#endif
// Packet: 0x0189
#if PACKETVER >= 20081217
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0189, 5) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 5)
#elif PACKETVER >= 20081119
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0189, 9) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 9)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0189, 90) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 90)
#elif PACKETVER >= 20080917
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0189, 16) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 16)
#elif PACKETVER >= 20080903
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0189, 2) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 2)
#elif PACKETVER >= 20080820
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0189, 2) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 2)
#elif PACKETVER >= 20080806
-packetLen(0x0189, 6) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 6)
#elif PACKETVER >= 20080730
-packetLen(0x0189, 10) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 10)
#elif PACKETVER >= 20080722
-packetLen(0x0189, 7) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 7)
#elif PACKETVER >= 20080715
-packetLen(0x0189, 6) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0189, 55) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 55)
#elif PACKETVER >= 20080610
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0189, 7) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0189, 24) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 24)
#elif PACKETVER >= 20080520
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0189, 10) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 10)
#elif PACKETVER >= 20080415
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0189, 58) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 58)
#elif PACKETVER >= 20080401
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0189, 31) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 31)
#elif PACKETVER >= 20080318
-packetLen(0x0189, 30) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0189, 17) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 17)
#elif PACKETVER >= 20080219
-packetLen(0x0189, 8) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
#endif
// Packet: 0x018a
#if PACKETVER >= 20081217
-packetLen(0x018a, 8) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 8)
#elif PACKETVER >= 20081112
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081008
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20081001
-packetLen(0x018a, 3) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 3)
#elif PACKETVER >= 20080924
-packetLen(0x018a, 186) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 186)
#elif PACKETVER >= 20080910
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20080806
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080730
-packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 14)
#elif PACKETVER >= 20080722
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080715
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#elif PACKETVER >= 20080708
-packetLen(0x018a, 10) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 10)
#elif PACKETVER >= 20080701
-packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 6)
#elif PACKETVER >= 20080624
-packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 14)
#elif PACKETVER >= 20080617
-packetLen(0x018a, 18) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 18)
#elif PACKETVER >= 20080610
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20080528
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080520
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#elif PACKETVER >= 20080429
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080422
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#elif PACKETVER >= 20080415
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20080408
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x018a, 32) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 32)
#elif PACKETVER >= 20080325
-packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 6)
#elif PACKETVER >= 20080318
-packetLen(0x018a, 14) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 14)
#elif PACKETVER >= 20080311
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20080304
-packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 7)
#elif PACKETVER >= 20080226
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20080219
-packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 7)
#elif PACKETVER >= 20080124
-packetLen(0x018a, 5) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 5)
#elif PACKETVER >= 20080102
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#endif
// Packet: 0x018b
#if PACKETVER >= 20081203
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20081126
-packetLen(0x018b, 14) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 14)
#elif PACKETVER >= 20081119
-packetLen(0x018b, 60) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 60)
#elif PACKETVER >= 20081112
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x018b, 18) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 18)
#elif PACKETVER >= 20081029
-packetLen(0x018b, 5) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 5)
#elif PACKETVER >= 20081008
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20081001
-packetLen(0x018b, 2) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 2)
#elif PACKETVER >= 20080924
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080917
-packetLen(0x018b, 10) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 10)
#elif PACKETVER >= 20080903
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080827
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
#elif PACKETVER >= 20080820
-packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 3)
#elif PACKETVER >= 20080813
-packetLen(0x018b, 30) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 30)
#elif PACKETVER >= 20080722
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080715
-packetLen(0x018b, 8) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 8)
#elif PACKETVER >= 20080708
-packetLen(0x018b, 65) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 65)
#elif PACKETVER >= 20080701
-packetLen(0x018b, 66) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 66)
#elif PACKETVER >= 20080610
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080603
-packetLen(0x018b, 182) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 182)
#elif PACKETVER >= 20080528
-packetLen(0x018b, 12) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 12)
#elif PACKETVER >= 20080520
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080513
-packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 3)
#elif PACKETVER >= 20080507
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080429
-packetLen(0x018b, 102) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 102)
#elif PACKETVER >= 20080408
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080401
-packetLen(0x018b, 3) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 3)
#elif PACKETVER >= 20080325
-packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 6)
#elif PACKETVER >= 20080318
-packetLen(0x018b, 30) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 30)
#elif PACKETVER >= 20080311
-packetLen(0x018b, 7) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 7)
#elif PACKETVER >= 20080304
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080226
-packetLen(0x018b, 10) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 10)
#elif PACKETVER >= 20080124
-packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 6)
#elif PACKETVER >= 20080102
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
#endif
// Packet: 0x018c
#if PACKETVER >= 20081217
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20081203
-packetLen(0x018c, 4) // ZC_MONSTER_INFO
+packetLen(0x018c, 4)
#elif PACKETVER >= 20081126
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20081119
-packetLen(0x018c, 26) // ZC_MONSTER_INFO
+packetLen(0x018c, 26)
#elif PACKETVER >= 20081112
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x018c, 4) // ZC_MONSTER_INFO
+packetLen(0x018c, 4)
#elif PACKETVER >= 20081029
-packetLen(0x018c, 33) // ZC_MONSTER_INFO
+packetLen(0x018c, 33)
#elif PACKETVER >= 20081022
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20081015
-packetLen(0x018c, 2) // ZC_MONSTER_INFO
+packetLen(0x018c, 2)
#elif PACKETVER >= 20081008
-packetLen(0x018c, 58) // ZC_MONSTER_INFO
+packetLen(0x018c, 58)
#elif PACKETVER >= 20081001
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080924
-packetLen(0x018c, 26) // ZC_MONSTER_INFO
+packetLen(0x018c, 26)
#elif PACKETVER >= 20080917
-packetLen(0x018c, 33) // ZC_MONSTER_INFO
+packetLen(0x018c, 33)
#elif PACKETVER >= 20080910
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080903
-packetLen(0x018c, 2) // ZC_MONSTER_INFO
+packetLen(0x018c, 2)
#elif PACKETVER >= 20080827
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080820
-packetLen(0x018c, 7) // ZC_MONSTER_INFO
+packetLen(0x018c, 7)
#elif PACKETVER >= 20080813
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080806
-packetLen(0x018c, 30) // ZC_MONSTER_INFO
+packetLen(0x018c, 30)
#elif PACKETVER >= 20080722
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080715
-packetLen(0x018c, 59) // ZC_MONSTER_INFO
+packetLen(0x018c, 59)
#elif PACKETVER >= 20080708
-packetLen(0x018c, 4) // ZC_MONSTER_INFO
+packetLen(0x018c, 4)
#elif PACKETVER >= 20080701
-packetLen(0x018c, 14) // ZC_MONSTER_INFO
+packetLen(0x018c, 14)
#elif PACKETVER >= 20080624
-packetLen(0x018c, 8) // ZC_MONSTER_INFO
+packetLen(0x018c, 8)
#elif PACKETVER >= 20080617
-packetLen(0x018c, 31) // ZC_MONSTER_INFO
+packetLen(0x018c, 31)
#elif PACKETVER >= 20080610
-packetLen(0x018c, 282) // ZC_MONSTER_INFO
+packetLen(0x018c, 282)
#elif PACKETVER >= 20080603
-packetLen(0x018c, 8) // ZC_MONSTER_INFO
+packetLen(0x018c, 8)
#elif PACKETVER >= 20080528
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x018c, 102) // ZC_MONSTER_INFO
+packetLen(0x018c, 102)
#elif PACKETVER >= 20080513
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080507
-packetLen(0x018c, 21) // ZC_MONSTER_INFO
+packetLen(0x018c, 21)
#elif PACKETVER >= 20080401
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080325
-packetLen(0x018c, 8) // ZC_MONSTER_INFO
+packetLen(0x018c, 8)
#elif PACKETVER >= 20080318
-packetLen(0x018c, 6) // ZC_MONSTER_INFO
+packetLen(0x018c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080226
-packetLen(0x018c, 2) // ZC_MONSTER_INFO
+packetLen(0x018c, 2)
#elif PACKETVER >= 20080219
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080124
-packetLen(0x018c, 6) // ZC_MONSTER_INFO
+packetLen(0x018c, 6)
#elif PACKETVER >= 20080102
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
#endif
// Packet: 0x018d
#if PACKETVER >= 20081203
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20081126
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20080910
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080903
-packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 8)
#elif PACKETVER >= 20080827
-packetLen(0x018d, 14) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 14)
#elif PACKETVER >= 20080820
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080813
-packetLen(0x018d, 3) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 3)
#elif PACKETVER >= 20080806
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20080730
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080722
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20080715
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080708
-packetLen(0x018d, 3) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 3)
#elif PACKETVER >= 20080701
-packetLen(0x018d, 2) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 2)
#elif PACKETVER >= 20080624
-packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 8)
#elif PACKETVER >= 20080617
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080610
-packetLen(0x018d, 65) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 65)
#elif PACKETVER >= 20080603
-packetLen(0x018d, 9) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 9)
#elif PACKETVER >= 20080520
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080513
-packetLen(0x018d, 2) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 2)
#elif PACKETVER >= 20080507
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20080429
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080422
-packetLen(0x018d, 59) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 59)
#elif PACKETVER >= 20080415
-packetLen(0x018d, 79) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 79)
#elif PACKETVER >= 20080408
-packetLen(0x018d, 7) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 7)
#elif PACKETVER >= 20080401
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080318
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20080311
-packetLen(0x018d, 8) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 8)
#elif PACKETVER >= 20080304
-packetLen(0x018d, 39) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 39)
#elif PACKETVER >= 20080226
-packetLen(0x018d, 22) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 22)
#elif PACKETVER >= 20080219
-packetLen(0x018d, 4) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 4)
#elif PACKETVER >= 20080102
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#endif
// Packet: 0x018e
#if PACKETVER >= 20081217
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20081203
-packetLen(0x018e, 71) // CZ_REQMAKINGITEM
+packetLen(0x018e, 71)
#elif PACKETVER >= 20081126
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20081119
-packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+packetLen(0x018e, 3)
#elif PACKETVER >= 20081112
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20081015
-packetLen(0x018e, 14) // CZ_REQMAKINGITEM
+packetLen(0x018e, 14)
#elif PACKETVER >= 20081008
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20081001
-packetLen(0x018e, 16) // CZ_REQMAKINGITEM
+packetLen(0x018e, 16)
#elif PACKETVER >= 20080924
-packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+packetLen(0x018e, 4)
#elif PACKETVER >= 20080917
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080910
-packetLen(0x018e, 11) // CZ_REQMAKINGITEM
+packetLen(0x018e, 11)
#elif PACKETVER >= 20080827
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080820
-packetLen(0x018e, 6) // CZ_REQMAKINGITEM
+packetLen(0x018e, 6)
#elif PACKETVER >= 20080813
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080806
-packetLen(0x018e, 58) // CZ_REQMAKINGITEM
+packetLen(0x018e, 58)
#elif PACKETVER >= 20080730
-packetLen(0x018e, 23) // CZ_REQMAKINGITEM
+packetLen(0x018e, 23)
#elif PACKETVER >= 20080722
-packetLen(0x018e, 30) // CZ_REQMAKINGITEM
+packetLen(0x018e, 30)
#elif PACKETVER >= 20080715
-packetLen(0x018e, 6) // CZ_REQMAKINGITEM
+packetLen(0x018e, 6)
#elif PACKETVER >= 20080708
-packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+packetLen(0x018e, 4)
#elif PACKETVER >= 20080701
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080624
-packetLen(0x018e, 14) // CZ_REQMAKINGITEM
+packetLen(0x018e, 14)
#elif PACKETVER >= 20080617
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080610
-packetLen(0x018e, 59) // CZ_REQMAKINGITEM
+packetLen(0x018e, 59)
#elif PACKETVER >= 20080603
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#elif PACKETVER >= 20080528
-packetLen(0x018e, 5) // CZ_REQMAKINGITEM
+packetLen(0x018e, 5)
#elif PACKETVER >= 20080520
-packetLen(0x018e, 11) // CZ_REQMAKINGITEM
+packetLen(0x018e, 11)
#elif PACKETVER >= 20080513
-packetLen(0x018e, 2) // CZ_REQMAKINGITEM
+packetLen(0x018e, 2)
#elif PACKETVER >= 20080429
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080422
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#elif PACKETVER >= 20080415
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080408
-packetLen(0x018e, 27) // CZ_REQMAKINGITEM
+packetLen(0x018e, 27)
#elif PACKETVER >= 20080401
-packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+packetLen(0x018e, 3)
#elif PACKETVER >= 20080325
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080318
-packetLen(0x018e, 65) // CZ_REQMAKINGITEM
+packetLen(0x018e, 65)
#elif PACKETVER >= 20080311
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20080304
-packetLen(0x018e, 58) // CZ_REQMAKINGITEM
+packetLen(0x018e, 58)
#elif PACKETVER >= 20080226
-packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+packetLen(0x018e, 4)
#elif PACKETVER >= 20080219
-packetLen(0x018e, 39) // CZ_REQMAKINGITEM
+packetLen(0x018e, 39)
#elif PACKETVER >= 20080124
-packetLen(0x018e, 3) // CZ_REQMAKINGITEM
+packetLen(0x018e, 3)
#elif PACKETVER >= 20080102
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#endif
// Packet: 0x018f
#if PACKETVER >= 20081217
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20081203
-packetLen(0x018f, 3) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 3)
#elif PACKETVER >= 20081126
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20081119
-packetLen(0x018f, 28) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 28)
#elif PACKETVER >= 20081112
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20081029
-packetLen(0x018f, 14) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 14)
#elif PACKETVER >= 20081022
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20081015
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20081008
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20081001
-packetLen(0x018f, 4) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 4)
#elif PACKETVER >= 20080924
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080917
-packetLen(0x018f, 3) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 3)
#elif PACKETVER >= 20080827
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080820
-packetLen(0x018f, 18) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 18)
#elif PACKETVER >= 20080806
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080730
-packetLen(0x018f, 32) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 32)
#elif PACKETVER >= 20080722
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080715
-packetLen(0x018f, 4) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 4)
#elif PACKETVER >= 20080708
-packetLen(0x018f, 21) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 21)
#elif PACKETVER >= 20080617
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080610
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080603
-packetLen(0x018f, 12) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 12)
#elif PACKETVER >= 20080520
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080513
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080507
-packetLen(0x018f, 7) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 7)
#elif PACKETVER >= 20080429
-packetLen(0x018f, 14) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 14)
#elif PACKETVER >= 20080422
-packetLen(0x018f, 10) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 10)
#elif PACKETVER >= 20080415
-packetLen(0x018f, 30) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 30)
#elif PACKETVER >= 20080408
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080401
-packetLen(0x018f, 11) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 11)
#elif PACKETVER >= 20080325
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080318
-packetLen(0x018f, 7) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 7)
#elif PACKETVER >= 20080311
-packetLen(0x018f, 11) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 11)
#elif PACKETVER >= 20080304
-packetLen(0x018f, 3) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 3)
#elif PACKETVER >= 20080226
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080219
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080124
-packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 8)
#elif PACKETVER >= 20080102
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#endif
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
#if PACKETVER >= 20081217
-packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 3)
#elif PACKETVER >= 20081203
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 3)
#elif PACKETVER >= 20081112
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0194, 20) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 20)
#elif PACKETVER >= 20081022
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0194, 114) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 114)
#elif PACKETVER >= 20081008
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 8)
#elif PACKETVER >= 20080820
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0194, 7) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 7)
#elif PACKETVER >= 20080806
-packetLen(0x0194, 13) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 13)
#elif PACKETVER >= 20080730
-packetLen(0x0194, 182) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 182)
#elif PACKETVER >= 20080722
-packetLen(0x0194, 15) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 15)
#elif PACKETVER >= 20080715
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0194, 10) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 10)
#elif PACKETVER >= 20080701
-packetLen(0x0194, 42) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 42)
#elif PACKETVER >= 20080624
-packetLen(0x0194, 26) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 26)
#elif PACKETVER >= 20080617
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0194, 2) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0194, 2) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0194, 53) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 53)
#elif PACKETVER >= 20080429
-packetLen(0x0194, 59) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 59)
#elif PACKETVER >= 20080422
-packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0194, 11) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 11)
#elif PACKETVER >= 20080408
-packetLen(0x0194, 21) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 21)
#elif PACKETVER >= 20080401
-packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0194, 16) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 16)
#elif PACKETVER >= 20080311
-packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0194, 14) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 14)
#elif PACKETVER >= 20080124
-packetLen(0x0194, 282) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 282)
#elif PACKETVER >= 20080102
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
#endif
// Packet: 0x0195
#if PACKETVER >= 20081217
-packetLen(0x0195, 29) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 29)
#elif PACKETVER >= 20081203
-packetLen(0x0195, 23) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 23)
#elif PACKETVER >= 20081112
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20081015
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0195, 39) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 39)
#elif PACKETVER >= 20080924
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0195, 10) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 10)
#elif PACKETVER >= 20080910
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0195, 14) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 14)
#elif PACKETVER >= 20080827
-packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 6)
#elif PACKETVER >= 20080730
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0195, 182) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 182)
#elif PACKETVER >= 20080708
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0195, 26) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 26)
#elif PACKETVER >= 20080610
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0195, 53) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 53)
#elif PACKETVER >= 20080528
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0195, 31) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 31)
#elif PACKETVER >= 20080422
-packetLen(0x0195, 66) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 66)
#elif PACKETVER >= 20080415
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0195, 2) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0195, 60) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 60)
#elif PACKETVER >= 20080318
-packetLen(0x0195, 29) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 29)
#elif PACKETVER >= 20080311
-packetLen(0x0195, 15) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 15)
#elif PACKETVER >= 20080304
-packetLen(0x0195, 28) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 28)
#elif PACKETVER >= 20080226
-packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0195, 43) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 43)
#elif PACKETVER >= 20080124
-packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
#endif
// Packet: 0x0196
#if PACKETVER >= 20081126
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0196, 26) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 26)
#elif PACKETVER >= 20081112
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0196, 21) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 21)
#elif PACKETVER >= 20081022
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0196, 8) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 8)
#elif PACKETVER >= 20081001
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0196, 5) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 5)
#elif PACKETVER >= 20080917
-packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 10)
#elif PACKETVER >= 20080910
-packetLen(0x0196, 7) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 7)
#elif PACKETVER >= 20080903
-packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 4)
#elif PACKETVER >= 20080827
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 4)
#elif PACKETVER >= 20080813
-packetLen(0x0196, 8) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 8)
#elif PACKETVER >= 20080806
-packetLen(0x0196, 26) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 26)
#elif PACKETVER >= 20080708
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0196, 15) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 15)
#elif PACKETVER >= 20080617
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0196, 67) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 67)
#elif PACKETVER >= 20080520
-packetLen(0x0196, 22) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 22)
#elif PACKETVER >= 20080513
-packetLen(0x0196, 3) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 10)
#elif PACKETVER >= 20080429
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0196, 31) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 31)
#elif PACKETVER >= 20080415
-packetLen(0x0196, 30) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 30)
#elif PACKETVER >= 20080408
-packetLen(0x0196, 11) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 11)
#elif PACKETVER >= 20080401
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0196, 6) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0196, 27) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 27)
#elif PACKETVER >= 20080311
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0196, 6) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0196, 2) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0196, 26) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
#endif
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
#if PACKETVER >= 20081217
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0199, 30) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 30)
#elif PACKETVER >= 20081119
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 6)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 8)
#elif PACKETVER >= 20081022
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0199, 7) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 7)
#elif PACKETVER >= 20081008
-packetLen(0x0199, 67) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 67)
#elif PACKETVER >= 20081001
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#elif PACKETVER >= 20080917
-packetLen(0x0199, 11) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 11)
#elif PACKETVER >= 20080903
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0199, 11) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 11)
#elif PACKETVER >= 20080813
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0199, 2) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 2)
#elif PACKETVER >= 20080708
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0199, 7) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 7)
#elif PACKETVER >= 20080624
-packetLen(0x0199, 29) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 29)
#elif PACKETVER >= 20080617
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0199, 33) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 33)
#elif PACKETVER >= 20080528
-packetLen(0x0199, 11) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 11)
#elif PACKETVER >= 20080520
-packetLen(0x0199, 5) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 5)
#elif PACKETVER >= 20080513
-packetLen(0x0199, 28) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 28)
#elif PACKETVER >= 20080507
-packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0199, 44) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 44)
#elif PACKETVER >= 20080318
-packetLen(0x0199, 2) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0199, 17) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 17)
#elif PACKETVER >= 20080304
-packetLen(0x0199, 8) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0199, 5) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 5)
#elif PACKETVER >= 20080102
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#endif
// Packet: 0x019a
#if PACKETVER >= 20081217
-packetLen(0x019a, 17) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 17)
#elif PACKETVER >= 20081126
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20081119
-packetLen(0x019a, 23) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 23)
#elif PACKETVER >= 20081112
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
#elif PACKETVER >= 20081029
-packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 11)
#elif PACKETVER >= 20081015
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20081008
-packetLen(0x019a, 4) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 4)
#elif PACKETVER >= 20080924
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080917
-packetLen(0x019a, 12) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 12)
#elif PACKETVER >= 20080903
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080827
-packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 8)
#elif PACKETVER >= 20080820
-packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 3)
#elif PACKETVER >= 20080813
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20080806
-packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 8)
#elif PACKETVER >= 20080730
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20080722
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080715
-packetLen(0x019a, 30) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 30)
#elif PACKETVER >= 20080708
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080701
-packetLen(0x019a, 58) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 58)
#elif PACKETVER >= 20080624
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080617
-packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 11)
#elif PACKETVER >= 20080610
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20080603
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080528
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20080520
-packetLen(0x019a, 17) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 17)
#elif PACKETVER >= 20080513
-packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 3)
#elif PACKETVER >= 20080507
-packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 8)
#elif PACKETVER >= 20080429
-packetLen(0x019a, 2) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 2)
#elif PACKETVER >= 20080415
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20080408
-packetLen(0x019a, 3) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 3)
#elif PACKETVER >= 20080401
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20080325
-packetLen(0x019a, 11) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 11)
#elif PACKETVER >= 20080318
-packetLen(0x019a, 4) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 4)
#elif PACKETVER >= 20080311
-packetLen(0x019a, 30) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 30)
#elif PACKETVER >= 20080304
-packetLen(0x019a, 35) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 35)
#elif PACKETVER >= 20080226
-packetLen(0x019a, 42) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 42)
#elif PACKETVER >= 20080219
-packetLen(0x019a, 10) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 10)
#elif PACKETVER >= 20080124
-packetLen(0x019a, 57) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 57)
#elif PACKETVER >= 20080102
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
#endif
// Packet: 0x019b
#if PACKETVER >= 20081217
-packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 8)
#elif PACKETVER >= 20081203
-packetLen(0x019b, 28) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 28)
#elif PACKETVER >= 20081126
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20081119
-packetLen(0x019b, 3) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 3)
#elif PACKETVER >= 20081112
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081015
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20081008
-packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 8)
#elif PACKETVER >= 20081001
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080924
-packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 8)
#elif PACKETVER >= 20080917
-packetLen(0x019b, 16) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 16)
#elif PACKETVER >= 20080910
-packetLen(0x019b, 14) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 14)
#elif PACKETVER >= 20080903
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080827
-packetLen(0x019b, 39) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 39)
#elif PACKETVER >= 20080813
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080806
-packetLen(0x019b, 81) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 81)
#elif PACKETVER >= 20080730
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080722
-packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 8)
#elif PACKETVER >= 20080715
-packetLen(0x019b, 14) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 14)
#elif PACKETVER >= 20080708
-packetLen(0x019b, 29) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 29)
#elif PACKETVER >= 20080624
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080617
-packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 4)
#elif PACKETVER >= 20080610
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080603
-packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 2)
#elif PACKETVER >= 20080528
-packetLen(0x019b, 27) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 27)
#elif PACKETVER >= 20080520
-packetLen(0x019b, 18) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 18)
#elif PACKETVER >= 20080513
-packetLen(0x019b, 68) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 68)
#elif PACKETVER >= 20080507
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080429
-packetLen(0x019b, 17) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 17)
#elif PACKETVER >= 20080415
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x019b, 29) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 29)
#elif PACKETVER >= 20080401
-packetLen(0x019b, 54) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 54)
#elif PACKETVER >= 20080318
-packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 8)
#elif PACKETVER >= 20080311
-packetLen(0x019b, 6) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 6)
#elif PACKETVER >= 20080304
-packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 2)
#elif PACKETVER >= 20080226
-packetLen(0x019b, 65) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 65)
#elif PACKETVER >= 20080219
-packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 2)
#elif PACKETVER >= 20080124
-packetLen(0x019b, 30) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 30)
#elif PACKETVER >= 20080102
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
#endif
// Packet: 0x019c
#if PACKETVER >= 20081217
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20081203
-packetLen(0x019c, 7) // CZ_LOCALBROADCAST
+packetLen(0x019c, 7)
#elif PACKETVER >= 20081126
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20081119
-packetLen(0x019c, 30) // CZ_LOCALBROADCAST
+packetLen(0x019c, 30)
#elif PACKETVER >= 20081112
-packetLen(0x019c, 4) // CZ_LOCALBROADCAST
+packetLen(0x019c, 4)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20081022
-packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+packetLen(0x019c, 2)
#elif PACKETVER >= 20081008
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20081001
-packetLen(0x019c, 13) // CZ_LOCALBROADCAST
+packetLen(0x019c, 13)
#elif PACKETVER >= 20080903
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080827
-packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+packetLen(0x019c, 8)
#elif PACKETVER >= 20080813
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080806
-packetLen(0x019c, 3) // CZ_LOCALBROADCAST
+packetLen(0x019c, 3)
#elif PACKETVER >= 20080722
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080715
-packetLen(0x019c, 14) // CZ_LOCALBROADCAST
+packetLen(0x019c, 14)
#elif PACKETVER >= 20080708
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080701
-packetLen(0x019c, 282) // CZ_LOCALBROADCAST
+packetLen(0x019c, 282)
#elif PACKETVER >= 20080624
-packetLen(0x019c, 29) // CZ_LOCALBROADCAST
+packetLen(0x019c, 29)
#elif PACKETVER >= 20080617
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x019c, 6) // CZ_LOCALBROADCAST
+packetLen(0x019c, 6)
#elif PACKETVER >= 20080603
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080528
-packetLen(0x019c, 55) // CZ_LOCALBROADCAST
+packetLen(0x019c, 55)
#elif PACKETVER >= 20080520
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080513
-packetLen(0x019c, 81) // CZ_LOCALBROADCAST
+packetLen(0x019c, 81)
#elif PACKETVER >= 20080507
-packetLen(0x019c, 18) // CZ_LOCALBROADCAST
+packetLen(0x019c, 18)
#elif PACKETVER >= 20080429
-packetLen(0x019c, 79) // CZ_LOCALBROADCAST
+packetLen(0x019c, 79)
#elif PACKETVER >= 20080422
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080415
-packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+packetLen(0x019c, 8)
#elif PACKETVER >= 20080408
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x019c, 54) // CZ_LOCALBROADCAST
+packetLen(0x019c, 54)
#elif PACKETVER >= 20080325
-packetLen(0x019c, 23) // CZ_LOCALBROADCAST
+packetLen(0x019c, 23)
#elif PACKETVER >= 20080318
-packetLen(0x019c, 43) // CZ_LOCALBROADCAST
+packetLen(0x019c, 43)
#elif PACKETVER >= 20080311
-packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+packetLen(0x019c, 8)
#elif PACKETVER >= 20080226
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+packetLen(0x019c, 2)
#elif PACKETVER >= 20080124
-packetLen(0x019c, 186) // CZ_LOCALBROADCAST
+packetLen(0x019c, 186)
#elif PACKETVER >= 20080102
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#endif
// Packet: 0x019d
#if PACKETVER >= 20081217
-packetLen(0x019d, 60) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 60)
#elif PACKETVER >= 20081203
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20081126
-packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 18)
#elif PACKETVER >= 20081119
-packetLen(0x019d, 9) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 9)
#elif PACKETVER >= 20081112
-packetLen(0x019d, 7) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 7)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x019d, 8) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 8)
#elif PACKETVER >= 20081029
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20081022
-packetLen(0x019d, 15) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 15)
#elif PACKETVER >= 20080924
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080917
-packetLen(0x019d, 23) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 23)
#elif PACKETVER >= 20080910
-packetLen(0x019d, 30) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 30)
#elif PACKETVER >= 20080903
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080827
-packetLen(0x019d, 97) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 97)
#elif PACKETVER >= 20080820
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080813
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
#elif PACKETVER >= 20080806
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080730
-packetLen(0x019d, 2) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 2)
#elif PACKETVER >= 20080701
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080624
-packetLen(0x019d, 30) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 30)
#elif PACKETVER >= 20080603
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080528
-packetLen(0x019d, 2) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 2)
#elif PACKETVER >= 20080520
-packetLen(0x019d, 8) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 8)
#elif PACKETVER >= 20080513
-packetLen(0x019d, 11) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 11)
#elif PACKETVER >= 20080429
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080422
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
#elif PACKETVER >= 20080415
-packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 18)
#elif PACKETVER >= 20080408
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080401
-packetLen(0x019d, 68) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 68)
#elif PACKETVER >= 20080325
-packetLen(0x019d, 4) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 4)
#elif PACKETVER >= 20080318
-packetLen(0x019d, 14) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 14)
#elif PACKETVER >= 20080311
-packetLen(0x019d, 4) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 4)
#elif PACKETVER >= 20080226
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080219
-packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 18)
#elif PACKETVER >= 20080124
-packetLen(0x019d, 22) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 22)
#elif PACKETVER >= 20080102
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
#endif
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
#if PACKETVER >= 20081203
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20081126
-packetLen(0x019f, 7) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 7)
#elif PACKETVER >= 20081119
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20081112
-packetLen(0x019f, 81) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 81)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20081029
-packetLen(0x019f, 20) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 20)
#elif PACKETVER >= 20081015
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20081008
-packetLen(0x019f, 8) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 8)
#elif PACKETVER >= 20080924
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080917
-packetLen(0x019f, 28) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 28)
#elif PACKETVER >= 20080903
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080827
-packetLen(0x019f, 26) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 26)
#elif PACKETVER >= 20080722
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080715
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20080708
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080701
-packetLen(0x019f, 36) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 36)
#elif PACKETVER >= 20080610
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080603
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20080528
-packetLen(0x019f, 20) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 20)
#elif PACKETVER >= 20080520
-packetLen(0x019f, 18) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 18)
#elif PACKETVER >= 20080513
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080507
-packetLen(0x019f, 26) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 26)
#elif PACKETVER >= 20080429
-packetLen(0x019f, 3) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 3)
#elif PACKETVER >= 20080422
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20080415
-packetLen(0x019f, 8) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 8)
#elif PACKETVER >= 20080408
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080401
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20080325
-packetLen(0x019f, 34) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 34)
#elif PACKETVER >= 20080318
-packetLen(0x019f, 10) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 10)
#elif PACKETVER >= 20080311
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20080304
-packetLen(0x019f, 23) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 23)
#elif PACKETVER >= 20080226
-packetLen(0x019f, 79) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 79)
#elif PACKETVER >= 20080124
-packetLen(0x019f, 2) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 2)
#elif PACKETVER >= 20080102
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#endif
// Packet: 0x01a0
#if PACKETVER >= 20081217
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01a0, 42) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 42)
#elif PACKETVER >= 20081126
-packetLen(0x01a0, 4) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 4)
#elif PACKETVER >= 20081112
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01a0, 4) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 4)
#elif PACKETVER >= 20081008
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01a0, 2) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 2)
#elif PACKETVER >= 20080917
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01a0, 2) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 2)
#elif PACKETVER >= 20080903
-packetLen(0x01a0, 282) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 282)
#elif PACKETVER >= 20080827
-packetLen(0x01a0, 8) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 8)
#elif PACKETVER >= 20080813
-packetLen(0x01a0, 6) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 6)
#elif PACKETVER >= 20080806
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01a0, 5) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 5)
#elif PACKETVER >= 20080722
-packetLen(0x01a0, 10) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 10)
#elif PACKETVER >= 20080715
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01a0, 10) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 10)
#elif PACKETVER >= 20080701
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01a0, 5) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 5)
#elif PACKETVER >= 20080617
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a0, 11) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 11)
#elif PACKETVER >= 20080603
-packetLen(0x01a0, 29) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 29)
#elif PACKETVER >= 20080528
-packetLen(0x01a0, 4) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 4)
#elif PACKETVER >= 20080520
-packetLen(0x01a0, 42) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 42)
#elif PACKETVER >= 20080513
-packetLen(0x01a0, 24) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 24)
#elif PACKETVER >= 20080507
-packetLen(0x01a0, 23) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 23)
#elif PACKETVER >= 20080429
-packetLen(0x01a0, 11) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 11)
#elif PACKETVER >= 20080408
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01a0, 30) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 30)
#elif PACKETVER >= 20080325
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01a0, 17) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 17)
#elif PACKETVER >= 20080311
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01a0, 22) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 22)
#elif PACKETVER >= 20080226
-packetLen(0x01a0, 8) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
#elif PACKETVER >= 20080124
-packetLen(0x01a0, 7) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 7)
#elif PACKETVER >= 20080102
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
#endif
// Packet: 0x01a1
#if PACKETVER >= 20081112
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01a1, 2) // CZ_COMMAND_PET
+packetLen(0x01a1, 2)
#elif PACKETVER >= 20081008
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01a1, 2) // CZ_COMMAND_PET
+packetLen(0x01a1, 2)
#elif PACKETVER >= 20080924
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01a1, 4) // CZ_COMMAND_PET
+packetLen(0x01a1, 4)
#elif PACKETVER >= 20080910
-packetLen(0x01a1, 27) // CZ_COMMAND_PET
+packetLen(0x01a1, 27)
#elif PACKETVER >= 20080806
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01a1, 30) // CZ_COMMAND_PET
+packetLen(0x01a1, 30)
#elif PACKETVER >= 20080722
-packetLen(0x01a1, 14) // CZ_COMMAND_PET
+packetLen(0x01a1, 14)
#elif PACKETVER >= 20080715
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#elif PACKETVER >= 20080708
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#elif PACKETVER >= 20080617
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a1, 10) // CZ_COMMAND_PET
+packetLen(0x01a1, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01a1, 7) // CZ_COMMAND_PET
+packetLen(0x01a1, 7)
#elif PACKETVER >= 20080520
-packetLen(0x01a1, 21) // CZ_COMMAND_PET
+packetLen(0x01a1, 21)
#elif PACKETVER >= 20080507
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01a1, 7) // CZ_COMMAND_PET
+packetLen(0x01a1, 7)
#elif PACKETVER >= 20080422
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#elif PACKETVER >= 20080415
-packetLen(0x01a1, 28) // CZ_COMMAND_PET
+packetLen(0x01a1, 28)
#elif PACKETVER >= 20080408
-packetLen(0x01a1, 282) // CZ_COMMAND_PET
+packetLen(0x01a1, 282)
#elif PACKETVER >= 20080401
-packetLen(0x01a1, 30) // CZ_COMMAND_PET
+packetLen(0x01a1, 30)
#elif PACKETVER >= 20080325
-packetLen(0x01a1, 7) // CZ_COMMAND_PET
+packetLen(0x01a1, 7)
#elif PACKETVER >= 20080318
-packetLen(0x01a1, 4) // CZ_COMMAND_PET
+packetLen(0x01a1, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01a1, 53) // CZ_COMMAND_PET
+packetLen(0x01a1, 53)
#elif PACKETVER >= 20080304
-packetLen(0x01a1, 26) // CZ_COMMAND_PET
+packetLen(0x01a1, 26)
#elif PACKETVER >= 20080226
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01a1, 6) // CZ_COMMAND_PET
+packetLen(0x01a1, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01a1, 5) // CZ_COMMAND_PET
+packetLen(0x01a1, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#endif
// Packet: 0x01a2
#if PACKETVER >= 20081217
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+packetLen(0x01a2, 2)
#elif PACKETVER >= 20081126
-packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+packetLen(0x01a2, 7)
#elif PACKETVER >= 20081112
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01a2, 282) // ZC_PROPERTY_PET
+packetLen(0x01a2, 282)
#elif PACKETVER >= 20081029
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01a2, 79) // ZC_PROPERTY_PET
+packetLen(0x01a2, 79)
#elif PACKETVER >= 20081015
-packetLen(0x01a2, 34) // ZC_PROPERTY_PET
+packetLen(0x01a2, 34)
#elif PACKETVER >= 20081008
-packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+packetLen(0x01a2, 2)
#elif PACKETVER >= 20081001
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080924
-packetLen(0x01a2, 26) // ZC_PROPERTY_PET
+packetLen(0x01a2, 26)
#elif PACKETVER >= 20080910
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01a2, 21) // ZC_PROPERTY_PET
+packetLen(0x01a2, 21)
#elif PACKETVER >= 20080827
-packetLen(0x01a2, 5) // ZC_PROPERTY_PET
+packetLen(0x01a2, 5)
#elif PACKETVER >= 20080820
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080730
-packetLen(0x01a2, 60) // ZC_PROPERTY_PET
+packetLen(0x01a2, 60)
#elif PACKETVER >= 20080722
-packetLen(0x01a2, 30) // ZC_PROPERTY_PET
+packetLen(0x01a2, 30)
#elif PACKETVER >= 20080708
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+packetLen(0x01a2, 2)
#elif PACKETVER >= 20080624
-packetLen(0x01a2, 3) // ZC_PROPERTY_PET
+packetLen(0x01a2, 3)
#elif PACKETVER >= 20080610
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01a2, 28) // ZC_PROPERTY_PET
+packetLen(0x01a2, 28)
#elif PACKETVER >= 20080520
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01a2, 54) // ZC_PROPERTY_PET
+packetLen(0x01a2, 54)
#elif PACKETVER >= 20080507
-packetLen(0x01a2, 27) // ZC_PROPERTY_PET
+packetLen(0x01a2, 27)
#elif PACKETVER >= 20080429
-packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+packetLen(0x01a2, 2)
#elif PACKETVER >= 20080422
-packetLen(0x01a2, 30) // ZC_PROPERTY_PET
+packetLen(0x01a2, 30)
#elif PACKETVER >= 20080415
-packetLen(0x01a2, 68) // ZC_PROPERTY_PET
+packetLen(0x01a2, 68)
#elif PACKETVER >= 20080408
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01a2, 2) // ZC_PROPERTY_PET
+packetLen(0x01a2, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01a2, 4) // ZC_PROPERTY_PET
+packetLen(0x01a2, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+packetLen(0x01a2, 7)
#elif PACKETVER >= 20080219
-packetLen(0x01a2, 8) // ZC_PROPERTY_PET
+packetLen(0x01a2, 8)
#elif PACKETVER >= 20080124
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
#endif
// Packet: 0x01a3
#if PACKETVER >= 20081126
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01a3, 6) // ZC_FEED_PET
+packetLen(0x01a3, 6)
#elif PACKETVER >= 20081112
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01a3, 58) // ZC_FEED_PET
+packetLen(0x01a3, 58)
#elif PACKETVER >= 20081015
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01a3, 3) // ZC_FEED_PET
+packetLen(0x01a3, 3)
#elif PACKETVER >= 20081001
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01a3, 10) // ZC_FEED_PET
+packetLen(0x01a3, 10)
#elif PACKETVER >= 20080903
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01a3, 2) // ZC_FEED_PET
+packetLen(0x01a3, 2)
#elif PACKETVER >= 20080820
-packetLen(0x01a3, 8) // ZC_FEED_PET
+packetLen(0x01a3, 8)
#elif PACKETVER >= 20080813
-packetLen(0x01a3, 2) // ZC_FEED_PET
+packetLen(0x01a3, 2)
#elif PACKETVER >= 20080806
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01a3, 28) // ZC_FEED_PET
+packetLen(0x01a3, 28)
#elif PACKETVER >= 20080722
-packetLen(0x01a3, 15) // ZC_FEED_PET
+packetLen(0x01a3, 15)
#elif PACKETVER >= 20080715
-packetLen(0x01a3, 6) // ZC_FEED_PET
+packetLen(0x01a3, 6)
#elif PACKETVER >= 20080708
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01a3, 31) // ZC_FEED_PET
+packetLen(0x01a3, 31)
#elif PACKETVER >= 20080624
-packetLen(0x01a3, 8) // ZC_FEED_PET
+packetLen(0x01a3, 8)
#elif PACKETVER >= 20080610
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01a3, 26) // ZC_FEED_PET
+packetLen(0x01a3, 26)
#elif PACKETVER >= 20080528
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01a3, 26) // ZC_FEED_PET
+packetLen(0x01a3, 26)
#elif PACKETVER >= 20080513
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#elif PACKETVER >= 20080429
-packetLen(0x01a3, 9) // ZC_FEED_PET
+packetLen(0x01a3, 9)
#elif PACKETVER >= 20080422
-packetLen(0x01a3, 30) // ZC_FEED_PET
+packetLen(0x01a3, 30)
#elif PACKETVER >= 20080415
-packetLen(0x01a3, 3) // ZC_FEED_PET
+packetLen(0x01a3, 3)
#elif PACKETVER >= 20080318
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01a3, 32) // ZC_FEED_PET
+packetLen(0x01a3, 32)
#elif PACKETVER >= 20080304
-packetLen(0x01a3, 6) // ZC_FEED_PET
+packetLen(0x01a3, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01a3, 4) // ZC_FEED_PET
+packetLen(0x01a3, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01a3, 11) // ZC_FEED_PET
+packetLen(0x01a3, 11)
#elif PACKETVER >= 20080124
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#endif
// Packet: 0x01a4
#if PACKETVER >= 20081217
-packetLen(0x01a4, 3) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 3)
#elif PACKETVER >= 20081203
-packetLen(0x01a4, 6) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 6)
#elif PACKETVER >= 20081126
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 2)
#elif PACKETVER >= 20081112
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01a4, 22) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 22)
#elif PACKETVER >= 20081001
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 10)
#elif PACKETVER >= 20080820
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01a4, 22) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 22)
#elif PACKETVER >= 20080806
-packetLen(0x01a4, 67) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 67)
#elif PACKETVER >= 20080730
-packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 8)
#elif PACKETVER >= 20080722
-packetLen(0x01a4, 16) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 16)
#elif PACKETVER >= 20080715
-packetLen(0x01a4, 20) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 20)
#elif PACKETVER >= 20080617
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a4, 4) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 4)
#elif PACKETVER >= 20080603
-packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 10)
#elif PACKETVER >= 20080528
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01a4, 34) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 34)
#elif PACKETVER >= 20080513
-packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 2)
#elif PACKETVER >= 20080507
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
#elif PACKETVER >= 20080429
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01a4, 102) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 102)
#elif PACKETVER >= 20080415
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01a4, 16) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 16)
#elif PACKETVER >= 20080401
-packetLen(0x01a4, 36) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 36)
#elif PACKETVER >= 20080325
-packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 8)
#elif PACKETVER >= 20080318
-packetLen(0x01a4, 2) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01a4, 4) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 10)
#elif PACKETVER >= 20080124
-packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
#endif
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
#if PACKETVER >= 20081217
-packetLen(0x01a6, 58) // ZC_PETEGG_LIST
+packetLen(0x01a6, 58)
#elif PACKETVER >= 20081203
-packetLen(0x01a6, 26) // ZC_PETEGG_LIST
+packetLen(0x01a6, 26)
#elif PACKETVER >= 20081126
-packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+packetLen(0x01a6, 2)
#elif PACKETVER >= 20081119
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01a6, 39) // ZC_PETEGG_LIST
+packetLen(0x01a6, 39)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01a6, 58) // ZC_PETEGG_LIST
+packetLen(0x01a6, 58)
#elif PACKETVER >= 20081029
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+packetLen(0x01a6, 3)
#elif PACKETVER >= 20081015
-packetLen(0x01a6, 12) // ZC_PETEGG_LIST
+packetLen(0x01a6, 12)
#elif PACKETVER >= 20081008
-packetLen(0x01a6, 30) // ZC_PETEGG_LIST
+packetLen(0x01a6, 30)
#elif PACKETVER >= 20081001
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01a6, 14) // ZC_PETEGG_LIST
+packetLen(0x01a6, 14)
#elif PACKETVER >= 20080917
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080827
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080813
-packetLen(0x01a6, 5) // ZC_PETEGG_LIST
+packetLen(0x01a6, 5)
#elif PACKETVER >= 20080806
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01a6, 22) // ZC_PETEGG_LIST
+packetLen(0x01a6, 22)
#elif PACKETVER >= 20080722
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080715
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01a6, 57) // ZC_PETEGG_LIST
+packetLen(0x01a6, 57)
#elif PACKETVER >= 20080701
-packetLen(0x01a6, 4) // ZC_PETEGG_LIST
+packetLen(0x01a6, 4)
#elif PACKETVER >= 20080617
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+packetLen(0x01a6, 3)
#elif PACKETVER >= 20080603
-packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+packetLen(0x01a6, 10)
#elif PACKETVER >= 20080520
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080513
-packetLen(0x01a6, 4) // ZC_PETEGG_LIST
+packetLen(0x01a6, 4)
#elif PACKETVER >= 20080507
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01a6, 30) // ZC_PETEGG_LIST
+packetLen(0x01a6, 30)
#elif PACKETVER >= 20080422
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+packetLen(0x01a6, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01a6, 3) // ZC_PETEGG_LIST
+packetLen(0x01a6, 3)
#elif PACKETVER >= 20080318
-packetLen(0x01a6, 26) // ZC_PETEGG_LIST
+packetLen(0x01a6, 26)
#elif PACKETVER >= 20080311
-packetLen(0x01a6, 2) // ZC_PETEGG_LIST
+packetLen(0x01a6, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+packetLen(0x01a6, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01a6, 27) // ZC_PETEGG_LIST
+packetLen(0x01a6, 27)
#elif PACKETVER >= 20080102
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#endif
// Packet: 0x01a7
#if PACKETVER >= 20081217
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01a7, 3) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 3)
#elif PACKETVER >= 20081126
-packetLen(0x01a7, 5) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 5)
#elif PACKETVER >= 20081119
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01a7, 23) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 23)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081015
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01a7, 14) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 14)
#elif PACKETVER >= 20081001
-packetLen(0x01a7, 7) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 7)
#elif PACKETVER >= 20080924
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01a7, 8) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 8)
#elif PACKETVER >= 20080910
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01a7, 5) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 5)
#elif PACKETVER >= 20080827
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080820
-packetLen(0x01a7, 10) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 10)
#elif PACKETVER >= 20080813
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01a7, 29) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 29)
#elif PACKETVER >= 20080730
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080722
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#elif PACKETVER >= 20080708
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080701
-packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 2)
#elif PACKETVER >= 20080617
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01a7, 30) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 30)
#elif PACKETVER >= 20080520
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01a7, 18) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 18)
#elif PACKETVER >= 20080507
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080422
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#elif PACKETVER >= 20080415
-packetLen(0x01a7, 18) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 18)
#elif PACKETVER >= 20080408
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#elif PACKETVER >= 20080401
-packetLen(0x01a7, 22) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 22)
#elif PACKETVER >= 20080325
-packetLen(0x01a7, 16) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 16)
#elif PACKETVER >= 20080318
-packetLen(0x01a7, 26) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 26)
#elif PACKETVER >= 20080311
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01a7, 3) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#endif
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
#if PACKETVER >= 20081203
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01aa, 29) // ZC_PET_ACT
+packetLen(0x01aa, 29)
#elif PACKETVER >= 20081112
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01aa, 29) // ZC_PET_ACT
+packetLen(0x01aa, 29)
#elif PACKETVER >= 20081029
-packetLen(0x01aa, 30) // ZC_PET_ACT
+packetLen(0x01aa, 30)
#elif PACKETVER >= 20081015
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01aa, 12) // ZC_PET_ACT
+packetLen(0x01aa, 12)
#elif PACKETVER >= 20081001
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01aa, 2) // ZC_PET_ACT
+packetLen(0x01aa, 2)
#elif PACKETVER >= 20080917
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080910
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080820
-packetLen(0x01aa, 30) // ZC_PET_ACT
+packetLen(0x01aa, 30)
#elif PACKETVER >= 20080813
-packetLen(0x01aa, 282) // ZC_PET_ACT
+packetLen(0x01aa, 282)
#elif PACKETVER >= 20080806
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080715
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01aa, 2) // ZC_PET_ACT
+packetLen(0x01aa, 2)
#elif PACKETVER >= 20080624
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01aa, 43) // ZC_PET_ACT
+packetLen(0x01aa, 43)
#elif PACKETVER >= 20080528
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01aa, 28) // ZC_PET_ACT
+packetLen(0x01aa, 28)
#elif PACKETVER >= 20080513
-packetLen(0x01aa, 60) // ZC_PET_ACT
+packetLen(0x01aa, 60)
#elif PACKETVER >= 20080507
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080422
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01aa, 8) // ZC_PET_ACT
+packetLen(0x01aa, 8)
#elif PACKETVER >= 20080408
-packetLen(0x01aa, 28) // ZC_PET_ACT
+packetLen(0x01aa, 28)
#elif PACKETVER >= 20080401
-packetLen(0x01aa, 7) // ZC_PET_ACT
+packetLen(0x01aa, 7)
#elif PACKETVER >= 20080318
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01aa, 9) // ZC_PET_ACT
+packetLen(0x01aa, 9)
#elif PACKETVER >= 20080304
-packetLen(0x01aa, 67) // ZC_PET_ACT
+packetLen(0x01aa, 67)
#elif PACKETVER >= 20080219
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01aa, 54) // ZC_PET_ACT
+packetLen(0x01aa, 54)
#elif PACKETVER >= 20080102
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
#endif
// Packet: 0x01ab
#if PACKETVER >= 20081217
-packetLen(0x01ab, 5) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 5)
#elif PACKETVER >= 20081126
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01ab, 7) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 7)
#elif PACKETVER >= 20081112
-packetLen(0x01ab, 30) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 30)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01ab, 3) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 3)
#elif PACKETVER >= 20081029
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01ab, 6) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 6)
#elif PACKETVER >= 20081015
-packetLen(0x01ab, 2) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 2)
#elif PACKETVER >= 20080917
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01ab, 16) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 16)
#elif PACKETVER >= 20080722
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01ab, 282) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 282)
#elif PACKETVER >= 20080708
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080624
-packetLen(0x01ab, 60) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 60)
#elif PACKETVER >= 20080617
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01ab, 11) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 11)
#elif PACKETVER >= 20080528
-packetLen(0x01ab, 6) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 6)
#elif PACKETVER >= 20080520
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01ab, 30) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 30)
#elif PACKETVER >= 20080507
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080422
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01ab, 35) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 35)
#elif PACKETVER >= 20080408
-packetLen(0x01ab, 79) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 79)
#elif PACKETVER >= 20080401
-packetLen(0x01ab, 18) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 18)
#elif PACKETVER >= 20080325
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ab, 4) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01ab, 3) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 3)
#elif PACKETVER >= 20080124
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
#endif
// Packet: 0x01ac
#if PACKETVER >= 20081217
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01ac, 10) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 10)
#elif PACKETVER >= 20081119
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01ac, 30) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 30)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01ac, 8) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 8)
#elif PACKETVER >= 20081008
-packetLen(0x01ac, 5) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 5)
#elif PACKETVER >= 20080917
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01ac, 28) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 28)
#elif PACKETVER >= 20080813
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01ac, 30) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 30)
#elif PACKETVER >= 20080730
-packetLen(0x01ac, 2) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 2)
#elif PACKETVER >= 20080722
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01ac, 26) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 26)
#elif PACKETVER >= 20080610
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01ac, 59) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 59)
#elif PACKETVER >= 20080528
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#elif PACKETVER >= 20080513
-packetLen(0x01ac, 44) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 44)
#elif PACKETVER >= 20080507
-packetLen(0x01ac, 10) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 10)
#elif PACKETVER >= 20080429
-packetLen(0x01ac, 14) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 14)
#elif PACKETVER >= 20080422
-packetLen(0x01ac, 3) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 3)
#elif PACKETVER >= 20080415
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01ac, 29) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 29)
#elif PACKETVER >= 20080325
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01ac, 97) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 97)
#elif PACKETVER >= 20080311
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01ac, 2) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01ac, 4) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01ac, 26) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01ac, 17) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 17)
#elif PACKETVER >= 20080102
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#endif
// Packet: 0x01ad
#if PACKETVER >= 20081203
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01ad, 8) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 8)
#elif PACKETVER >= 20081022
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01ad, 26) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 26)
#elif PACKETVER >= 20080827
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01ad, 2) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 2)
#elif PACKETVER >= 20080806
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 10)
#elif PACKETVER >= 20080715
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01ad, 66) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 66)
#elif PACKETVER >= 20080624
-packetLen(0x01ad, 2) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 2)
#elif PACKETVER >= 20080617
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 4)
#elif PACKETVER >= 20080528
-packetLen(0x01ad, 8) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 8)
#elif PACKETVER >= 20080429
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01ad, 6) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 6)
#elif PACKETVER >= 20080415
-packetLen(0x01ad, 26) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 26)
#elif PACKETVER >= 20080408
-packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 4)
#elif PACKETVER >= 20080401
-packetLen(0x01ad, 14) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 14)
#elif PACKETVER >= 20080325
-packetLen(0x01ad, 39) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 39)
#elif PACKETVER >= 20080318
-packetLen(0x01ad, 6) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01ad, 54) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 54)
#elif PACKETVER >= 20080124
-packetLen(0x01ad, 5) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#endif
// Packet: 0x01ae
#if PACKETVER >= 20081217
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
#elif PACKETVER >= 20081203
-packetLen(0x01ae, 55) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 55)
#elif PACKETVER >= 20081126
-packetLen(0x01ae, 10) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 10)
#elif PACKETVER >= 20081112
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
#elif PACKETVER >= 20081022
-packetLen(0x01ae, 26) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 26)
#elif PACKETVER >= 20081015
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
#elif PACKETVER >= 20081001
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01ae, 22) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 22)
#elif PACKETVER >= 20080827
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01ae, 27) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 27)
#elif PACKETVER >= 20080806
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01ae, 35) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 35)
#elif PACKETVER >= 20080708
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01ae, 7) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 7)
#elif PACKETVER >= 20080624
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
#elif PACKETVER >= 20080610
-packetLen(0x01ae, 43) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 43)
#elif PACKETVER >= 20080528
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01ae, 8) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 8)
#elif PACKETVER >= 20080429
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#elif PACKETVER >= 20080415
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
#elif PACKETVER >= 20080408
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01ae, 14) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 14)
#elif PACKETVER >= 20080318
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01ae, 26) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 26)
#elif PACKETVER >= 20080304
-packetLen(0x01ae, 15) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 15)
#elif PACKETVER >= 20080226
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#elif PACKETVER >= 20080124
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#endif
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
#if PACKETVER >= 20081203
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01b0, 10) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 10)
#elif PACKETVER >= 20081119
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01b0, 32) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 32)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01b0, 30) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 30)
#elif PACKETVER >= 20081008
-packetLen(0x01b0, 4) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 4)
#elif PACKETVER >= 20080827
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 3)
#elif PACKETVER >= 20080813
-packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 8)
#elif PACKETVER >= 20080730
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01b0, 53) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 53)
#elif PACKETVER >= 20080715
-packetLen(0x01b0, 30) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 30)
#elif PACKETVER >= 20080708
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 8)
#elif PACKETVER >= 20080617
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01b0, 4) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 4)
#elif PACKETVER >= 20080603
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01b0, 8) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 8)
#elif PACKETVER >= 20080520
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
#elif PACKETVER >= 20080422
-packetLen(0x01b0, 21) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 21)
#elif PACKETVER >= 20080415
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 3)
#elif PACKETVER >= 20080401
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01b0, 16) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 16)
#elif PACKETVER >= 20080318
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01b0, 3) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
#endif
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
#if PACKETVER >= 20081203
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01b2, 182) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 182)
#elif PACKETVER >= 20081029
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01b2, 30) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 30)
#elif PACKETVER >= 20081008
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01b2, 10) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 10)
#elif PACKETVER >= 20080924
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01b2, 59) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 59)
#elif PACKETVER >= 20080910
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01b2, 11) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 11)
#elif PACKETVER >= 20080708
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01b2, 6) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 6)
#elif PACKETVER >= 20080617
-packetLen(0x01b2, 3) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 3)
#elif PACKETVER >= 20080610
-packetLen(0x01b2, 2) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 2)
#elif PACKETVER >= 20080603
-packetLen(0x01b2, 57) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 57)
#elif PACKETVER >= 20080528
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01b2, 54) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 54)
#elif PACKETVER >= 20080507
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01b2, 14) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 14)
#elif PACKETVER >= 20080401
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01b2, 14) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 14)
#elif PACKETVER >= 20080318
-packetLen(0x01b2, 28) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 28)
#elif PACKETVER >= 20080311
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01b2, 10) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01b2, 282) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 282)
#elif PACKETVER >= 20080219
-packetLen(0x01b2, 26) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01b2, 11) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 11)
#elif PACKETVER >= 20080102
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#endif
// Packet: 0x01b3
#if PACKETVER >= 20081203
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01b3, 12) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 12)
#elif PACKETVER >= 20081119
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20081112
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01b3, 36) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 36)
#elif PACKETVER >= 20081022
-packetLen(0x01b3, 10) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 10)
#elif PACKETVER >= 20081015
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20081008
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01b3, 22) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 22)
#elif PACKETVER >= 20080924
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01b3, 16) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 16)
#elif PACKETVER >= 20080820
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 6)
#elif PACKETVER >= 20080715
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20080528
-packetLen(0x01b3, 60) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 60)
#elif PACKETVER >= 20080520
-packetLen(0x01b3, 71) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 71)
#elif PACKETVER >= 20080513
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20080422
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01b3, 22) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 22)
#elif PACKETVER >= 20080408
-packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01b3, 4) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 4)
#elif PACKETVER >= 20080325
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01b3, 33) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 33)
#elif PACKETVER >= 20080311
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01b3, 9) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 9)
#elif PACKETVER >= 20080226
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01b3, 20) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 20)
#elif PACKETVER >= 20080102
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
#endif
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
#if PACKETVER >= 20081203
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01b6, 65) // ZC_GUILD_INFO2
+packetLen(0x01b6, 65)
#elif PACKETVER >= 20081119
-packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+packetLen(0x01b6, 31)
#elif PACKETVER >= 20081112
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+packetLen(0x01b6, 2)
#elif PACKETVER >= 20081022
-packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+packetLen(0x01b6, 31)
#elif PACKETVER >= 20081015
-packetLen(0x01b6, 26) // ZC_GUILD_INFO2
+packetLen(0x01b6, 26)
#elif PACKETVER >= 20081008
-packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+packetLen(0x01b6, 31)
#elif PACKETVER >= 20081001
-packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+packetLen(0x01b6, 6)
#elif PACKETVER >= 20080924
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+packetLen(0x01b6, 2)
#elif PACKETVER >= 20080827
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01b6, 4) // ZC_GUILD_INFO2
+packetLen(0x01b6, 4)
#elif PACKETVER >= 20080806
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01b6, 58) // ZC_GUILD_INFO2
+packetLen(0x01b6, 58)
#elif PACKETVER >= 20080715
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01b6, 10) // ZC_GUILD_INFO2
+packetLen(0x01b6, 10)
#elif PACKETVER >= 20080701
-packetLen(0x01b6, 12) // ZC_GUILD_INFO2
+packetLen(0x01b6, 12)
#elif PACKETVER >= 20080624
-packetLen(0x01b6, 31) // ZC_GUILD_INFO2
+packetLen(0x01b6, 31)
#elif PACKETVER >= 20080617
-packetLen(0x01b6, 26) // ZC_GUILD_INFO2
+packetLen(0x01b6, 26)
#elif PACKETVER >= 20080610
-packetLen(0x01b6, 55) // ZC_GUILD_INFO2
+packetLen(0x01b6, 55)
#elif PACKETVER >= 20080603
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01b6, 33) // ZC_GUILD_INFO2
+packetLen(0x01b6, 33)
#elif PACKETVER >= 20080513
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01b6, 7) // ZC_GUILD_INFO2
+packetLen(0x01b6, 7)
#elif PACKETVER >= 20080429
-packetLen(0x01b6, 86) // ZC_GUILD_INFO2
+packetLen(0x01b6, 86)
#elif PACKETVER >= 20080422
-packetLen(0x01b6, 23) // ZC_GUILD_INFO2
+packetLen(0x01b6, 23)
#elif PACKETVER >= 20080408
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01b6, 60) // ZC_GUILD_INFO2
+packetLen(0x01b6, 60)
#elif PACKETVER >= 20080325
-packetLen(0x01b6, 12) // ZC_GUILD_INFO2
+packetLen(0x01b6, 12)
#elif PACKETVER >= 20080318
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01b6, 3) // ZC_GUILD_INFO2
+packetLen(0x01b6, 3)
#elif PACKETVER >= 20080304
-packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+packetLen(0x01b6, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01b6, 18) // ZC_GUILD_INFO2
+packetLen(0x01b6, 18)
#elif PACKETVER >= 20080219
-packetLen(0x01b6, 22) // ZC_GUILD_INFO2
+packetLen(0x01b6, 22)
#elif PACKETVER >= 20080124
-packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+packetLen(0x01b6, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
#endif
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
#if PACKETVER >= 20081203
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01b9, 24) // ZC_DISPEL
+packetLen(0x01b9, 24)
#elif PACKETVER >= 20081119
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01b9, 8) // ZC_DISPEL
+packetLen(0x01b9, 8)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01b9, 21) // ZC_DISPEL
+packetLen(0x01b9, 21)
#elif PACKETVER >= 20081015
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#elif PACKETVER >= 20081008
-packetLen(0x01b9, 18) // ZC_DISPEL
+packetLen(0x01b9, 18)
#elif PACKETVER >= 20080917
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#elif PACKETVER >= 20080813
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01b9, 14) // ZC_DISPEL
+packetLen(0x01b9, 14)
#elif PACKETVER >= 20080730
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01b9, 68) // ZC_DISPEL
+packetLen(0x01b9, 68)
#elif PACKETVER >= 20080708
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01b9, 14) // ZC_DISPEL
+packetLen(0x01b9, 14)
#elif PACKETVER >= 20080617
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01b9, 8) // ZC_DISPEL
+packetLen(0x01b9, 8)
#elif PACKETVER >= 20080429
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01b9, 7) // ZC_DISPEL
+packetLen(0x01b9, 7)
#elif PACKETVER >= 20080415
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01b9, 4) // ZC_DISPEL
+packetLen(0x01b9, 4)
#elif PACKETVER >= 20080401
-packetLen(0x01b9, 10) // ZC_DISPEL
+packetLen(0x01b9, 10)
#elif PACKETVER >= 20080325
-packetLen(0x01b9, 26) // ZC_DISPEL
+packetLen(0x01b9, 26)
#elif PACKETVER >= 20080318
-packetLen(0x01b9, 9) // ZC_DISPEL
+packetLen(0x01b9, 9)
#elif PACKETVER >= 20080311
-packetLen(0x01b9, 3) // ZC_DISPEL
+packetLen(0x01b9, 3)
#elif PACKETVER >= 20080304
-packetLen(0x01b9, 30) // ZC_DISPEL
+packetLen(0x01b9, 30)
#elif PACKETVER >= 20080226
-packetLen(0x01b9, 60) // ZC_DISPEL
+packetLen(0x01b9, 60)
#elif PACKETVER >= 20080219
-packetLen(0x01b9, 2) // ZC_DISPEL
+packetLen(0x01b9, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#endif
// Packet: 0x01ba
#if PACKETVER >= 20081217
-packetLen(0x01ba, 15) // CZ_REMOVE_AID
+packetLen(0x01ba, 15)
#elif PACKETVER >= 20081203
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01ba, 5) // CZ_REMOVE_AID
+packetLen(0x01ba, 5)
#elif PACKETVER >= 20081112
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081008
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01ba, 5) // CZ_REMOVE_AID
+packetLen(0x01ba, 5)
#elif PACKETVER >= 20080924
-packetLen(0x01ba, 7) // CZ_REMOVE_AID
+packetLen(0x01ba, 7)
#elif PACKETVER >= 20080910
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01ba, 9) // CZ_REMOVE_AID
+packetLen(0x01ba, 9)
#elif PACKETVER >= 20080813
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01ba, 6) // CZ_REMOVE_AID
+packetLen(0x01ba, 6)
#elif PACKETVER >= 20080730
-packetLen(0x01ba, 2) // CZ_REMOVE_AID
+packetLen(0x01ba, 2)
#elif PACKETVER >= 20080722
-packetLen(0x01ba, 42) // CZ_REMOVE_AID
+packetLen(0x01ba, 42)
#elif PACKETVER >= 20080715
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
#elif PACKETVER >= 20080701
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01ba, 6) // CZ_REMOVE_AID
+packetLen(0x01ba, 6)
#elif PACKETVER >= 20080617
-packetLen(0x01ba, 3) // CZ_REMOVE_AID
+packetLen(0x01ba, 3)
#elif PACKETVER >= 20080528
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01ba, 7) // CZ_REMOVE_AID
+packetLen(0x01ba, 7)
#elif PACKETVER >= 20080513
-packetLen(0x01ba, 22) // CZ_REMOVE_AID
+packetLen(0x01ba, 22)
#elif PACKETVER >= 20080507
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01ba, 3) // CZ_REMOVE_AID
+packetLen(0x01ba, 3)
#elif PACKETVER >= 20080415
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
#elif PACKETVER >= 20080408
-packetLen(0x01ba, 6) // CZ_REMOVE_AID
+packetLen(0x01ba, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01ba, 4) // CZ_REMOVE_AID
+packetLen(0x01ba, 4)
#elif PACKETVER >= 20080325
-packetLen(0x01ba, 81) // CZ_REMOVE_AID
+packetLen(0x01ba, 81)
#elif PACKETVER >= 20080311
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ba, 8) // CZ_REMOVE_AID
+packetLen(0x01ba, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01ba, 14) // CZ_REMOVE_AID
+packetLen(0x01ba, 14)
#elif PACKETVER >= 20080124
-packetLen(0x01ba, 60) // CZ_REMOVE_AID
+packetLen(0x01ba, 60)
#elif PACKETVER >= 20080102
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
#endif
// Packet: 0x01bb
#if PACKETVER >= 20081217
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01bb, 30) // CZ_SHIFT
+packetLen(0x01bb, 30)
#elif PACKETVER >= 20081119
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01bb, 65) // CZ_SHIFT
+packetLen(0x01bb, 65)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01bb, 90) // CZ_SHIFT
+packetLen(0x01bb, 90)
#elif PACKETVER >= 20081022
-packetLen(0x01bb, 6) // CZ_SHIFT
+packetLen(0x01bb, 6)
#elif PACKETVER >= 20081015
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01bb, 7) // CZ_SHIFT
+packetLen(0x01bb, 7)
#elif PACKETVER >= 20081001
-packetLen(0x01bb, 32) // CZ_SHIFT
+packetLen(0x01bb, 32)
#elif PACKETVER >= 20080924
-packetLen(0x01bb, 27) // CZ_SHIFT
+packetLen(0x01bb, 27)
#elif PACKETVER >= 20080910
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01bb, 7) // CZ_SHIFT
+packetLen(0x01bb, 7)
#elif PACKETVER >= 20080827
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01bb, 2) // CZ_SHIFT
+packetLen(0x01bb, 2)
#elif PACKETVER >= 20080813
-packetLen(0x01bb, 79) // CZ_SHIFT
+packetLen(0x01bb, 79)
#elif PACKETVER >= 20080730
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01bb, 10) // CZ_SHIFT
+packetLen(0x01bb, 10)
#elif PACKETVER >= 20080715
-packetLen(0x01bb, 20) // CZ_SHIFT
+packetLen(0x01bb, 20)
#elif PACKETVER >= 20080708
-packetLen(0x01bb, 6) // CZ_SHIFT
+packetLen(0x01bb, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01bb, 16) // CZ_SHIFT
+packetLen(0x01bb, 16)
#elif PACKETVER >= 20080513
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01bb, 2) // CZ_SHIFT
+packetLen(0x01bb, 2)
#elif PACKETVER >= 20080422
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
#elif PACKETVER >= 20080415
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01bb, 3) // CZ_SHIFT
+packetLen(0x01bb, 3)
#elif PACKETVER >= 20080401
-packetLen(0x01bb, 4) // CZ_SHIFT
+packetLen(0x01bb, 4)
#elif PACKETVER >= 20080325
-packetLen(0x01bb, 43) // CZ_SHIFT
+packetLen(0x01bb, 43)
#elif PACKETVER >= 20080318
-packetLen(0x01bb, 31) // CZ_SHIFT
+packetLen(0x01bb, 31)
#elif PACKETVER >= 20080311
-packetLen(0x01bb, 4) // CZ_SHIFT
+packetLen(0x01bb, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01bb, 8) // CZ_SHIFT
+packetLen(0x01bb, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01bb, 6) // CZ_SHIFT
+packetLen(0x01bb, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01bb, 3) // CZ_SHIFT
+packetLen(0x01bb, 3)
#elif PACKETVER >= 20080124
-packetLen(0x01bb, 81) // CZ_SHIFT
+packetLen(0x01bb, 81)
#elif PACKETVER >= 20080102
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
#endif
// Packet: 0x01bc
#if PACKETVER >= 20081217
-packetLen(0x01bc, 4) // CZ_RECALL
+packetLen(0x01bc, 4)
#elif PACKETVER >= 20081203
-packetLen(0x01bc, 9) // CZ_RECALL
+packetLen(0x01bc, 9)
#elif PACKETVER >= 20081119
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01bc, 14) // CZ_RECALL
+packetLen(0x01bc, 14)
#elif PACKETVER >= 20081022
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01bc, 2) // CZ_RECALL
+packetLen(0x01bc, 2)
#elif PACKETVER >= 20081008
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01bc, 6) // CZ_RECALL
+packetLen(0x01bc, 6)
#elif PACKETVER >= 20080917
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01bc, 3) // CZ_RECALL
+packetLen(0x01bc, 3)
#elif PACKETVER >= 20080903
-packetLen(0x01bc, 55) // CZ_RECALL
+packetLen(0x01bc, 55)
#elif PACKETVER >= 20080820
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01bc, 43) // CZ_RECALL
+packetLen(0x01bc, 43)
#elif PACKETVER >= 20080806
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01bc, 16) // CZ_RECALL
+packetLen(0x01bc, 16)
#elif PACKETVER >= 20080722
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01bc, 28) // CZ_RECALL
+packetLen(0x01bc, 28)
#elif PACKETVER >= 20080708
-packetLen(0x01bc, 6) // CZ_RECALL
+packetLen(0x01bc, 6)
#elif PACKETVER >= 20080617
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01bc, 2) // CZ_RECALL
+packetLen(0x01bc, 2)
#elif PACKETVER >= 20080603
-packetLen(0x01bc, 282) // CZ_RECALL
+packetLen(0x01bc, 282)
#elif PACKETVER >= 20080528
-packetLen(0x01bc, 7) // CZ_RECALL
+packetLen(0x01bc, 7)
#elif PACKETVER >= 20080520
-packetLen(0x01bc, 10) // CZ_RECALL
+packetLen(0x01bc, 10)
#elif PACKETVER >= 20080513
-packetLen(0x01bc, 20) // CZ_RECALL
+packetLen(0x01bc, 20)
#elif PACKETVER >= 20080507
-packetLen(0x01bc, 39) // CZ_RECALL
+packetLen(0x01bc, 39)
#elif PACKETVER >= 20080429
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#elif PACKETVER >= 20080415
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01bc, 8) // CZ_RECALL
+packetLen(0x01bc, 8)
#elif PACKETVER >= 20080401
-packetLen(0x01bc, 4) // CZ_RECALL
+packetLen(0x01bc, 4)
#elif PACKETVER >= 20080325
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#elif PACKETVER >= 20080318
-packetLen(0x01bc, 4) // CZ_RECALL
+packetLen(0x01bc, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01bc, 9) // CZ_RECALL
+packetLen(0x01bc, 9)
#elif PACKETVER >= 20080304
-packetLen(0x01bc, 6) // CZ_RECALL
+packetLen(0x01bc, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01bc, 86) // CZ_RECALL
+packetLen(0x01bc, 86)
#elif PACKETVER >= 20080219
-packetLen(0x01bc, 9) // CZ_RECALL
+packetLen(0x01bc, 9)
#elif PACKETVER >= 20080124
-packetLen(0x01bc, 10) // CZ_RECALL
+packetLen(0x01bc, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#endif
// Packet: 0x01bd
#if PACKETVER >= 20081217
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20081112
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01bd, 4) // CZ_RECALL_GID
+packetLen(0x01bd, 4)
#elif PACKETVER >= 20081015
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
#elif PACKETVER >= 20081001
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080924
-packetLen(0x01bd, 97) // CZ_RECALL_GID
+packetLen(0x01bd, 97)
#elif PACKETVER >= 20080820
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01bd, 22) // CZ_RECALL_GID
+packetLen(0x01bd, 22)
#elif PACKETVER >= 20080730
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080715
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01bd, 43) // CZ_RECALL_GID
+packetLen(0x01bd, 43)
#elif PACKETVER >= 20080701
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080624
-packetLen(0x01bd, 22) // CZ_RECALL_GID
+packetLen(0x01bd, 22)
#elif PACKETVER >= 20080617
-packetLen(0x01bd, 44) // CZ_RECALL_GID
+packetLen(0x01bd, 44)
#elif PACKETVER >= 20080610
-packetLen(0x01bd, 3) // CZ_RECALL_GID
+packetLen(0x01bd, 3)
#elif PACKETVER >= 20080603
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01bd, 9) // CZ_RECALL_GID
+packetLen(0x01bd, 9)
#elif PACKETVER >= 20080520
-packetLen(0x01bd, 35) // CZ_RECALL_GID
+packetLen(0x01bd, 35)
#elif PACKETVER >= 20080507
-packetLen(0x01bd, 4) // CZ_RECALL_GID
+packetLen(0x01bd, 4)
#elif PACKETVER >= 20080429
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
#elif PACKETVER >= 20080415
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01bd, 102) // CZ_RECALL_GID
+packetLen(0x01bd, 102)
#elif PACKETVER >= 20080401
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01bd, 21) // CZ_RECALL_GID
+packetLen(0x01bd, 21)
#elif PACKETVER >= 20080311
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01bd, 102) // CZ_RECALL_GID
+packetLen(0x01bd, 102)
#elif PACKETVER >= 20080226
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01bd, 2) // CZ_RECALL_GID
+packetLen(0x01bd, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
#endif
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
#if PACKETVER >= 20081217
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01c3, 6) // ZC_BROADCAST2
+packetLen(0x01c3, 6)
#elif PACKETVER >= 20081126
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01c3, 4) // ZC_BROADCAST2
+packetLen(0x01c3, 4)
#elif PACKETVER >= 20081112
-packetLen(0x01c3, 2) // ZC_BROADCAST2
+packetLen(0x01c3, 2)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01c3, 3) // ZC_BROADCAST2
+packetLen(0x01c3, 3)
#elif PACKETVER >= 20081022
-packetLen(0x01c3, 26) // ZC_BROADCAST2
+packetLen(0x01c3, 26)
#elif PACKETVER >= 20081015
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01c3, 186) // ZC_BROADCAST2
+packetLen(0x01c3, 186)
#elif PACKETVER >= 20080924
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01c3, 31) // ZC_BROADCAST2
+packetLen(0x01c3, 31)
#elif PACKETVER >= 20080910
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01c3, 59) // ZC_BROADCAST2
+packetLen(0x01c3, 59)
#elif PACKETVER >= 20080827
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01c3, 43) // ZC_BROADCAST2
+packetLen(0x01c3, 43)
#elif PACKETVER >= 20080813
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01c3, 11) // ZC_BROADCAST2
+packetLen(0x01c3, 11)
#elif PACKETVER >= 20080730
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01c3, 26) // ZC_BROADCAST2
+packetLen(0x01c3, 26)
#elif PACKETVER >= 20080708
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01c3, 10) // ZC_BROADCAST2
+packetLen(0x01c3, 10)
#elif PACKETVER >= 20080624
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01c3, 6) // ZC_BROADCAST2
+packetLen(0x01c3, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01c3, 58) // ZC_BROADCAST2
+packetLen(0x01c3, 58)
#elif PACKETVER >= 20080520
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01c3, 66) // ZC_BROADCAST2
+packetLen(0x01c3, 66)
#elif PACKETVER >= 20080507
-packetLen(0x01c3, 7) // ZC_BROADCAST2
+packetLen(0x01c3, 7)
#elif PACKETVER >= 20080429
-packetLen(0x01c3, 3) // ZC_BROADCAST2
+packetLen(0x01c3, 3)
#elif PACKETVER >= 20080422
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01c3, 30) // ZC_BROADCAST2
+packetLen(0x01c3, 30)
#elif PACKETVER >= 20080408
-packetLen(0x01c3, 6) // ZC_BROADCAST2
+packetLen(0x01c3, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01c3, 14) // ZC_BROADCAST2
+packetLen(0x01c3, 14)
#elif PACKETVER >= 20080325
-packetLen(0x01c3, 30) // ZC_BROADCAST2
+packetLen(0x01c3, 30)
#elif PACKETVER >= 20080318
-packetLen(0x01c3, 9) // ZC_BROADCAST2
+packetLen(0x01c3, 9)
#elif PACKETVER >= 20080311
-packetLen(0x01c3, 58) // ZC_BROADCAST2
+packetLen(0x01c3, 58)
#elif PACKETVER >= 20080304
-packetLen(0x01c3, 4) // ZC_BROADCAST2
+packetLen(0x01c3, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01c3, 14) // ZC_BROADCAST2
+packetLen(0x01c3, 14)
#elif PACKETVER >= 20080124
-packetLen(0x01c3, 3) // ZC_BROADCAST2
+packetLen(0x01c3, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#endif
// Packet: 0x01c4
#if PACKETVER >= 20081217
-packetLen(0x01c4, 9) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 9)
#elif PACKETVER >= 20081112
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01c4, 6) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 6)
#elif PACKETVER >= 20081008
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01c4, 5) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 5)
#elif PACKETVER >= 20080924
-packetLen(0x01c4, 10) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 10)
#elif PACKETVER >= 20080917
-packetLen(0x01c4, 282) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 282)
#elif PACKETVER >= 20080910
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01c4, 11) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 11)
#elif PACKETVER >= 20080820
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01c4, 4) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 4)
#elif PACKETVER >= 20080730
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01c4, 34) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 34)
#elif PACKETVER >= 20080715
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01c4, 5) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 5)
#elif PACKETVER >= 20080617
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01c4, 33) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 33)
#elif PACKETVER >= 20080528
-packetLen(0x01c4, 6) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 6)
#elif PACKETVER >= 20080520
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01c4, 3) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 3)
#elif PACKETVER >= 20080507
-packetLen(0x01c4, 31) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 31)
#elif PACKETVER >= 20080429
-packetLen(0x01c4, 53) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 53)
#elif PACKETVER >= 20080422
-packetLen(0x01c4, 34) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 34)
#elif PACKETVER >= 20080415
-packetLen(0x01c4, 11) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 11)
#elif PACKETVER >= 20080408
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01c4, 21) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 21)
#elif PACKETVER >= 20080311
-packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01c4, 28) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 28)
#elif PACKETVER >= 20080102
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#endif
// Packet: 0x01c5
#if PACKETVER >= 20081126
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01c5, 97) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 97)
#elif PACKETVER >= 20081112
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01c5, 14) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 14)
#elif PACKETVER >= 20081029
-packetLen(0x01c5, 15) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 15)
#elif PACKETVER >= 20081008
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01c5, 2) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 2)
#elif PACKETVER >= 20080924
-packetLen(0x01c5, 3) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 3)
#elif PACKETVER >= 20080917
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01c5, 13) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 13)
#elif PACKETVER >= 20080827
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01c5, 6) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 6)
#elif PACKETVER >= 20080813
-packetLen(0x01c5, 23) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 23)
#elif PACKETVER >= 20080730
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01c5, 11) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 11)
#elif PACKETVER >= 20080715
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01c5, 10) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 10)
#elif PACKETVER >= 20080624
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01c5, 8) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 8)
#elif PACKETVER >= 20080610
-packetLen(0x01c5, 26) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 26)
#elif PACKETVER >= 20080603
-packetLen(0x01c5, 30) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 30)
#elif PACKETVER >= 20080528
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01c5, 11) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 11)
#elif PACKETVER >= 20080513
-packetLen(0x01c5, 3) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 3)
#elif PACKETVER >= 20080429
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01c5, 4) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 4)
#elif PACKETVER >= 20080415
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01c5, 7) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 7)
#elif PACKETVER >= 20080401
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01c5, 31) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 31)
#elif PACKETVER >= 20080318
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01c5, 10) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01c5, 28) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 28)
#elif PACKETVER >= 20080124
-packetLen(0x01c5, 90) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 90)
#elif PACKETVER >= 20080102
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#endif
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
#if PACKETVER >= 20081126
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01c8, 10) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 10)
#elif PACKETVER >= 20081112
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01c8, 35) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 35)
#elif PACKETVER >= 20081015
-packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 6)
#elif PACKETVER >= 20081008
-packetLen(0x01c8, 35) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 35)
#elif PACKETVER >= 20081001
-packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 6)
#elif PACKETVER >= 20080910
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 8)
#elif PACKETVER >= 20080806
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 4)
#elif PACKETVER >= 20080722
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01c8, 2) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 2)
#elif PACKETVER >= 20080624
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01c8, 65) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 65)
#elif PACKETVER >= 20080610
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 8)
#elif PACKETVER >= 20080513
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01c8, 29) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 29)
#elif PACKETVER >= 20080429
-packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 8)
#elif PACKETVER >= 20080415
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01c8, 26) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 26)
#elif PACKETVER >= 20080401
-packetLen(0x01c8, 2) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 4)
#elif PACKETVER >= 20080318
-packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01c8, 11) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 11)
#elif PACKETVER >= 20080226
-packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01c8, 5) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
#endif
// Packet: 0x01c9
#if PACKETVER >= 20081217
-packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 6)
#elif PACKETVER >= 20081203
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 4)
#elif PACKETVER >= 20081112
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01c9, 14) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 14)
#elif PACKETVER >= 20080917
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 6)
#elif PACKETVER >= 20080903
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 6)
#elif PACKETVER >= 20080813
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01c9, 7) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 7)
#elif PACKETVER >= 20080730
-packetLen(0x01c9, 26) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 26)
#elif PACKETVER >= 20080722
-packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 6)
#elif PACKETVER >= 20080715
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 4)
#elif PACKETVER >= 20080701
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01c9, 11) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 11)
#elif PACKETVER >= 20080617
-packetLen(0x01c9, 3) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 3)
#elif PACKETVER >= 20080610
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 4)
#elif PACKETVER >= 20080528
-packetLen(0x01c9, 14) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 14)
#elif PACKETVER >= 20080513
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01c9, 4) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 4)
#elif PACKETVER >= 20080415
-packetLen(0x01c9, 58) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 58)
#elif PACKETVER >= 20080408
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01c9, 7) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 7)
#elif PACKETVER >= 20080325
-packetLen(0x01c9, 2) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 2)
#elif PACKETVER >= 20080318
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01c9, 2) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01c9, 22) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 22)
#elif PACKETVER >= 20080219
-packetLen(0x01c9, 26) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
#endif
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
#if PACKETVER >= 20081217
-packetLen(0x01cd, 20) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 20)
#elif PACKETVER >= 20081203
-packetLen(0x01cd, 114) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 114)
#elif PACKETVER >= 20081126
-packetLen(0x01cd, 5) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 5)
#elif PACKETVER >= 20081112
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01cd, 26) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 26)
#elif PACKETVER >= 20080917
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01cd, 33) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 33)
#elif PACKETVER >= 20080903
-packetLen(0x01cd, 2) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 2)
#elif PACKETVER >= 20080813
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01cd, 11) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 11)
#elif PACKETVER >= 20080708
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 10)
#elif PACKETVER >= 20080617
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01cd, 102) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 102)
#elif PACKETVER >= 20080603
-packetLen(0x01cd, 4) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 4)
#elif PACKETVER >= 20080513
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 10)
#elif PACKETVER >= 20080429
-packetLen(0x01cd, 3) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 3)
#elif PACKETVER >= 20080422
-packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 10)
#elif PACKETVER >= 20080415
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01cd, 12) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 12)
#elif PACKETVER >= 20080401
-packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01cd, 14) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 14)
#elif PACKETVER >= 20080318
-packetLen(0x01cd, 2) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01cd, 5) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 5)
#elif PACKETVER >= 20080226
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01cd, 8) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 8)
#elif PACKETVER >= 20080124
-packetLen(0x01cd, 10) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
#endif
// Packet: 0x01ce
#if PACKETVER >= 20081203
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#elif PACKETVER >= 20081119
-packetLen(0x01ce, 15) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 15)
#elif PACKETVER >= 20081112
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01ce, 10) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 10)
#elif PACKETVER >= 20081015
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01ce, 53) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 53)
#elif PACKETVER >= 20080917
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01ce, 10) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 10)
#elif PACKETVER >= 20080903
-packetLen(0x01ce, 30) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 30)
#elif PACKETVER >= 20080827
-packetLen(0x01ce, 8) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 8)
#elif PACKETVER >= 20080820
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01ce, 7) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 7)
#elif PACKETVER >= 20080806
-packetLen(0x01ce, 13) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 13)
#elif PACKETVER >= 20080624
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01ce, 27) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 27)
#elif PACKETVER >= 20080610
-packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 3)
#elif PACKETVER >= 20080603
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01ce, 22) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 22)
#elif PACKETVER >= 20080520
-packetLen(0x01ce, 53) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 53)
#elif PACKETVER >= 20080513
-packetLen(0x01ce, 4) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 4)
#elif PACKETVER >= 20080507
-packetLen(0x01ce, 65) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 65)
#elif PACKETVER >= 20080429
-packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 2)
#elif PACKETVER >= 20080422
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#elif PACKETVER >= 20080408
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01ce, 26) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 26)
#elif PACKETVER >= 20080325
-packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 3)
#elif PACKETVER >= 20080318
-packetLen(0x01ce, 21) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 21)
#elif PACKETVER >= 20080304
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01ce, 28) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 28)
#elif PACKETVER >= 20080102
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#endif
// Packet: 0x01cf
#if PACKETVER >= 20081217
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01cf, 54) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 54)
#elif PACKETVER >= 20081126
-packetLen(0x01cf, 8) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 8)
#elif PACKETVER >= 20081119
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01cf, 6) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 6)
#elif PACKETVER >= 20081008
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01cf, 15) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 15)
#elif PACKETVER >= 20080924
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 5)
#elif PACKETVER >= 20080903
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01cf, 3) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 3)
#elif PACKETVER >= 20080806
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 5)
#elif PACKETVER >= 20080722
-packetLen(0x01cf, 7) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 7)
#elif PACKETVER >= 20080715
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01cf, 14) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 14)
#elif PACKETVER >= 20080701
-packetLen(0x01cf, 3) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 3)
#elif PACKETVER >= 20080624
-packetLen(0x01cf, 11) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 11)
#elif PACKETVER >= 20080617
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 2)
#elif PACKETVER >= 20080603
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01cf, 15) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 15)
#elif PACKETVER >= 20080520
-packetLen(0x01cf, 26) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 26)
#elif PACKETVER >= 20080513
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 2)
#elif PACKETVER >= 20080415
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01cf, 39) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 39)
#elif PACKETVER >= 20080401
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01cf, 186) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 186)
#elif PACKETVER >= 20080318
-packetLen(0x01cf, 6) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01cf, 23) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 23)
#elif PACKETVER >= 20080304
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01cf, 102) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 102)
#elif PACKETVER >= 20080124
-packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
#endif
// Packet: 0x01d0
#if PACKETVER >= 20081217
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01d0, 282) // ZC_SPIRITS
+packetLen(0x01d0, 282)
#elif PACKETVER >= 20081126
-packetLen(0x01d0, 31) // ZC_SPIRITS
+packetLen(0x01d0, 31)
#elif PACKETVER >= 20081119
-packetLen(0x01d0, 27) // ZC_SPIRITS
+packetLen(0x01d0, 27)
#elif PACKETVER >= 20081112
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01d0, 21) // ZC_SPIRITS
+packetLen(0x01d0, 21)
#elif PACKETVER >= 20081015
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01d0, 10) // ZC_SPIRITS
+packetLen(0x01d0, 10)
#elif PACKETVER >= 20080917
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01d0, 31) // ZC_SPIRITS
+packetLen(0x01d0, 31)
#elif PACKETVER >= 20080820
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01d0, 32) // ZC_SPIRITS
+packetLen(0x01d0, 32)
#elif PACKETVER >= 20080806
-packetLen(0x01d0, 6) // ZC_SPIRITS
+packetLen(0x01d0, 6)
#elif PACKETVER >= 20080715
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01d0, 33) // ZC_SPIRITS
+packetLen(0x01d0, 33)
#elif PACKETVER >= 20080701
-packetLen(0x01d0, 3) // ZC_SPIRITS
+packetLen(0x01d0, 3)
#elif PACKETVER >= 20080624
-packetLen(0x01d0, 9) // ZC_SPIRITS
+packetLen(0x01d0, 9)
#elif PACKETVER >= 20080617
-packetLen(0x01d0, 53) // ZC_SPIRITS
+packetLen(0x01d0, 53)
#elif PACKETVER >= 20080610
-packetLen(0x01d0, 7) // ZC_SPIRITS
+packetLen(0x01d0, 7)
#elif PACKETVER >= 20080603
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080528
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080513
-packetLen(0x01d0, 10) // ZC_SPIRITS
+packetLen(0x01d0, 10)
#elif PACKETVER >= 20080422
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080408
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01d0, 65) // ZC_SPIRITS
+packetLen(0x01d0, 65)
#elif PACKETVER >= 20080318
-packetLen(0x01d0, 39) // ZC_SPIRITS
+packetLen(0x01d0, 39)
#elif PACKETVER >= 20080304
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01d0, 26) // ZC_SPIRITS
+packetLen(0x01d0, 26)
#elif PACKETVER >= 20080219
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01d0, 6) // ZC_SPIRITS
+packetLen(0x01d0, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
#endif
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
#if PACKETVER >= 20081217
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
#elif PACKETVER >= 20081119
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
#elif PACKETVER >= 20081029
-packetLen(0x01d2, 4) // ZC_COMBODELAY
+packetLen(0x01d2, 4)
#elif PACKETVER >= 20081022
-packetLen(0x01d2, 29) // ZC_COMBODELAY
+packetLen(0x01d2, 29)
#elif PACKETVER >= 20081015
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01d2, 4) // ZC_COMBODELAY
+packetLen(0x01d2, 4)
#elif PACKETVER >= 20081001
-packetLen(0x01d2, 28) // ZC_COMBODELAY
+packetLen(0x01d2, 28)
#elif PACKETVER >= 20080917
-packetLen(0x01d2, 6) // ZC_COMBODELAY
+packetLen(0x01d2, 6)
#elif PACKETVER >= 20080910
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01d2, 4) // ZC_COMBODELAY
+packetLen(0x01d2, 4)
#elif PACKETVER >= 20080827
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01d2, 7) // ZC_COMBODELAY
+packetLen(0x01d2, 7)
#elif PACKETVER >= 20080806
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01d2, 21) // ZC_COMBODELAY
+packetLen(0x01d2, 21)
#elif PACKETVER >= 20080722
-packetLen(0x01d2, 28) // ZC_COMBODELAY
+packetLen(0x01d2, 28)
#elif PACKETVER >= 20080708
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01d2, 2) // ZC_COMBODELAY
+packetLen(0x01d2, 2)
#elif PACKETVER >= 20080624
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01d2, 7) // ZC_COMBODELAY
+packetLen(0x01d2, 7)
#elif PACKETVER >= 20080603
-packetLen(0x01d2, 4) // ZC_COMBODELAY
+packetLen(0x01d2, 4)
#elif PACKETVER >= 20080520
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01d2, 8) // ZC_COMBODELAY
+packetLen(0x01d2, 8)
#elif PACKETVER >= 20080507
-packetLen(0x01d2, 58) // ZC_COMBODELAY
+packetLen(0x01d2, 58)
#elif PACKETVER >= 20080415
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01d2, 18) // ZC_COMBODELAY
+packetLen(0x01d2, 18)
#elif PACKETVER >= 20080401
-packetLen(0x01d2, 6) // ZC_COMBODELAY
+packetLen(0x01d2, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01d2, 12) // ZC_COMBODELAY
+packetLen(0x01d2, 12)
#elif PACKETVER >= 20080318
-packetLen(0x01d2, 30) // ZC_COMBODELAY
+packetLen(0x01d2, 30)
#elif PACKETVER >= 20080311
-packetLen(0x01d2, 19) // ZC_COMBODELAY
+packetLen(0x01d2, 19)
#elif PACKETVER >= 20080304
-packetLen(0x01d2, 6) // ZC_COMBODELAY
+packetLen(0x01d2, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01d2, 8) // ZC_COMBODELAY
+packetLen(0x01d2, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01d2, 53) // ZC_COMBODELAY
+packetLen(0x01d2, 53)
#elif PACKETVER >= 20080102
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
#endif
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
#if PACKETVER >= 20081203
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01d4, 29) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 29)
#elif PACKETVER >= 20081112
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01d4, 2) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 2)
#elif PACKETVER >= 20081008
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01d4, 12) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 12)
#elif PACKETVER >= 20080924
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01d4, 28) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 28)
#elif PACKETVER >= 20080910
-packetLen(0x01d4, 26) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 26)
#elif PACKETVER >= 20080827
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01d4, 22) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 22)
#elif PACKETVER >= 20080813
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01d4, 2) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 2)
#elif PACKETVER >= 20080708
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01d4, 8) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 8)
#elif PACKETVER >= 20080624
-packetLen(0x01d4, 54) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 54)
#elif PACKETVER >= 20080617
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01d4, 20) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 20)
#elif PACKETVER >= 20080520
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20080401
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01d4, 19) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 19)
#elif PACKETVER >= 20080318
-packetLen(0x01d4, 60) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 60)
#elif PACKETVER >= 20080311
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01d4, 3) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01d4, 15) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 15)
#elif PACKETVER >= 20080102
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#endif
// Packet: 0x01d5
#if PACKETVER >= 20081217
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01d5, 26) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 26)
#elif PACKETVER >= 20081126
-packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 8)
#elif PACKETVER >= 20081119
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01d5, 8) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 8)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01d5, 2) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 2)
#elif PACKETVER >= 20081029
-packetLen(0x01d5, 11) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 11)
#elif PACKETVER >= 20081022
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01d5, 4) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 4)
#elif PACKETVER >= 20081008
-packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 6)
#elif PACKETVER >= 20081001
-packetLen(0x01d5, 21) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 21)
#elif PACKETVER >= 20080924
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01d5, 18) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 18)
#elif PACKETVER >= 20080910
-packetLen(0x01d5, 10) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 10)
#elif PACKETVER >= 20080903
-packetLen(0x01d5, 29) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 29)
#elif PACKETVER >= 20080827
-packetLen(0x01d5, 10) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 10)
#elif PACKETVER >= 20080813
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01d5, 53) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 53)
#elif PACKETVER >= 20080715
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01d5, 10) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 10)
#elif PACKETVER >= 20080701
-packetLen(0x01d5, 3) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 3)
#elif PACKETVER >= 20080624
-packetLen(0x01d5, 27) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 27)
#elif PACKETVER >= 20080610
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01d5, 9) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 9)
#elif PACKETVER >= 20080528
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 6)
#elif PACKETVER >= 20080507
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01d5, 4) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 4)
#elif PACKETVER >= 20080408
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01d5, 97) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 97)
#elif PACKETVER >= 20080325
-packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 6)
#elif PACKETVER >= 20080318
-packetLen(0x01d5, 34) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 34)
#elif PACKETVER >= 20080311
-packetLen(0x01d5, 13) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 13)
#elif PACKETVER >= 20080304
-packetLen(0x01d5, 5) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 5)
#elif PACKETVER >= 20080226
-packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01d5, 16) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 16)
#elif PACKETVER >= 20080102
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#endif
// Packet: 0x01d6
#if PACKETVER >= 20081217
-packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 11)
#elif PACKETVER >= 20081203
-packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 3)
#elif PACKETVER >= 20081126
-packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 11)
#elif PACKETVER >= 20081119
-packetLen(0x01d6, 86) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 86)
#elif PACKETVER >= 20081112
-packetLen(0x01d6, 14) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 14)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081001
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01d6, 28) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 28)
#elif PACKETVER >= 20080917
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01d6, 22) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 22)
#elif PACKETVER >= 20080903
-packetLen(0x01d6, 58) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 58)
#elif PACKETVER >= 20080827
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01d6, 10) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 10)
#elif PACKETVER >= 20080813
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#elif PACKETVER >= 20080806
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080722
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080708
-packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 3)
#elif PACKETVER >= 20080701
-packetLen(0x01d6, 30) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 30)
#elif PACKETVER >= 20080624
-packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 3)
#elif PACKETVER >= 20080617
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01d6, 8) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 8)
#elif PACKETVER >= 20080520
-packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 2)
#elif PACKETVER >= 20080513
-packetLen(0x01d6, 35) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 35)
#elif PACKETVER >= 20080507
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080422
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#elif PACKETVER >= 20080408
-packetLen(0x01d6, 54) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 54)
#elif PACKETVER >= 20080401
-packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 11)
#elif PACKETVER >= 20080325
-packetLen(0x01d6, 54) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 54)
#elif PACKETVER >= 20080318
-packetLen(0x01d6, 58) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 58)
#elif PACKETVER >= 20080311
-packetLen(0x01d6, 5) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 5)
#elif PACKETVER >= 20080304
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01d6, 10) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01d6, 16) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 16)
#elif PACKETVER >= 20080102
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#endif
// Packet: 0x01d7
#if PACKETVER >= 20081217
-packetLen(0x01d7, 114) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 114)
#elif PACKETVER >= 20081203
-packetLen(0x01d7, 6) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 6)
#elif PACKETVER >= 20081112
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01d7, 55) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 55)
#elif PACKETVER >= 20081015
-packetLen(0x01d7, 60) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 60)
#elif PACKETVER >= 20081008
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01d7, 4) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 4)
#elif PACKETVER >= 20080910
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01d7, 102) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 102)
#elif PACKETVER >= 20080827
-packetLen(0x01d7, 4) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 4)
#elif PACKETVER >= 20080820
-packetLen(0x01d7, 8) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 8)
#elif PACKETVER >= 20080806
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01d7, 6) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 6)
#elif PACKETVER >= 20080715
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01d7, 27) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 27)
#elif PACKETVER >= 20080701
-packetLen(0x01d7, 14) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 14)
#elif PACKETVER >= 20080624
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01d7, 8) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 8)
#elif PACKETVER >= 20080610
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01d7, 5) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 5)
#elif PACKETVER >= 20080528
-packetLen(0x01d7, 9) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 9)
#elif PACKETVER >= 20080520
-packetLen(0x01d7, 282) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 282)
#elif PACKETVER >= 20080513
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 2)
#elif PACKETVER >= 20080408
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01d7, 3) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 3)
#elif PACKETVER >= 20080325
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01d7, 4) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01d7, 28) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 28)
#elif PACKETVER >= 20080304
-packetLen(0x01d7, 54) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 54)
#elif PACKETVER >= 20080226
-packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01d7, 35) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 35)
#elif PACKETVER >= 20080124
-packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
#endif
// Packet: 0x01d8
#if PACKETVER >= 20081217
-packetLen(0x01d8, 39) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 39)
#elif PACKETVER >= 20081203
-packetLen(0x01d8, 5) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 5)
#elif PACKETVER >= 20081126
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01d8, 9) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 9)
#elif PACKETVER >= 20081112
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01d8, 30) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 30)
#elif PACKETVER >= 20081008
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01d8, 8) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 8)
#elif PACKETVER >= 20080917
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080820
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 3)
#elif PACKETVER >= 20080806
-packetLen(0x01d8, 34) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 34)
#elif PACKETVER >= 20080722
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01d8, 10) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 10)
#elif PACKETVER >= 20080708
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080624
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01d8, 11) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 11)
#elif PACKETVER >= 20080528
-packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 3)
#elif PACKETVER >= 20080520
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080513
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01d8, 6) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01d8, 186) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 186)
#elif PACKETVER >= 20080415
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01d8, 4) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 4)
#elif PACKETVER >= 20080401
-packetLen(0x01d8, 27) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 27)
#elif PACKETVER >= 20080325
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01d8, 5) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 5)
#elif PACKETVER >= 20080311
-packetLen(0x01d8, 2) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01d8, 10) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01d8, 15) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 15)
#elif PACKETVER >= 20080219
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01d8, 3) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
#endif
// Packet: 0x01d9
#if PACKETVER >= 20081217
-packetLen(0x01d9, 28) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 28)
#elif PACKETVER >= 20081203
-packetLen(0x01d9, 14) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 14)
#elif PACKETVER >= 20081126
-packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 8)
#elif PACKETVER >= 20081119
-packetLen(0x01d9, 10) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 10)
#elif PACKETVER >= 20081112
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01d9, 23) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 23)
#elif PACKETVER >= 20081008
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01d9, 14) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 14)
#elif PACKETVER >= 20080917
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 282)
#elif PACKETVER >= 20080903
-packetLen(0x01d9, 2) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 2)
#elif PACKETVER >= 20080820
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01d9, 7) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 7)
#elif PACKETVER >= 20080806
-packetLen(0x01d9, 27) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 27)
#elif PACKETVER >= 20080730
-packetLen(0x01d9, 13) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 13)
#elif PACKETVER >= 20080708
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01d9, 39) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 39)
#elif PACKETVER >= 20080624
-packetLen(0x01d9, 15) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 15)
#elif PACKETVER >= 20080617
-packetLen(0x01d9, 22) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 22)
#elif PACKETVER >= 20080610
-packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 8)
#elif PACKETVER >= 20080528
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01d9, 4) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 4)
#elif PACKETVER >= 20080513
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01d9, 60) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 60)
#elif PACKETVER >= 20080429
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01d9, 6) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 6)
#elif PACKETVER >= 20080415
-packetLen(0x01d9, 26) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 26)
#elif PACKETVER >= 20080408
-packetLen(0x01d9, 2) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 282)
#elif PACKETVER >= 20080311
-packetLen(0x01d9, 28) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 28)
#elif PACKETVER >= 20080304
-packetLen(0x01d9, 42) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 42)
#elif PACKETVER >= 20080226
-packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 282)
#elif PACKETVER >= 20080124
-packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
#endif
// Packet: 0x01da
#if PACKETVER >= 20081217
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01da, 28) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 28)
#elif PACKETVER >= 20081126
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01da, 4) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 4)
#elif PACKETVER >= 20081112
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20081022
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01da, 282) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 282)
#elif PACKETVER >= 20081008
-packetLen(0x01da, 55) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 55)
#elif PACKETVER >= 20081001
-packetLen(0x01da, 8) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 8)
#elif PACKETVER >= 20080924
-packetLen(0x01da, 3) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 3)
#elif PACKETVER >= 20080917
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080910
-packetLen(0x01da, 3) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 3)
#elif PACKETVER >= 20080903
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080820
-packetLen(0x01da, 14) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 14)
#elif PACKETVER >= 20080813
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080730
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01da, 8) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 8)
#elif PACKETVER >= 20080708
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01da, 32) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 32)
#elif PACKETVER >= 20080624
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080610
-packetLen(0x01da, 12) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 12)
#elif PACKETVER >= 20080603
-packetLen(0x01da, 10) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 10)
#elif PACKETVER >= 20080528
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#elif PACKETVER >= 20080513
-packetLen(0x01da, 5) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 5)
#elif PACKETVER >= 20080507
-packetLen(0x01da, 10) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 10)
#elif PACKETVER >= 20080429
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080422
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080415
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080408
-packetLen(0x01da, 8) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 8)
#elif PACKETVER >= 20080401
-packetLen(0x01da, 9) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 9)
#elif PACKETVER >= 20080325
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080318
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01da, 79) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 79)
#elif PACKETVER >= 20080226
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01da, 12) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 12)
#elif PACKETVER >= 20080102
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#endif
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
#if PACKETVER >= 20081126
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01de, 16) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 16)
#elif PACKETVER >= 20081112
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01de, 22) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 22)
#elif PACKETVER >= 20081029
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 2)
#elif PACKETVER >= 20081015
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01de, 7) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 7)
#elif PACKETVER >= 20081001
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 2)
#elif PACKETVER >= 20080917
-packetLen(0x01de, 86) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 86)
#elif PACKETVER >= 20080827
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01de, 60) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 60)
#elif PACKETVER >= 20080813
-packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 3)
#elif PACKETVER >= 20080806
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01de, 27) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 27)
#elif PACKETVER >= 20080722
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 2)
#elif PACKETVER >= 20080708
-packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 3)
#elif PACKETVER >= 20080701
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01de, 22) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 22)
#elif PACKETVER >= 20080617
-packetLen(0x01de, 14) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 14)
#elif PACKETVER >= 20080603
-packetLen(0x01de, 6) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 6)
#elif PACKETVER >= 20080528
-packetLen(0x01de, 14) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 14)
#elif PACKETVER >= 20080520
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01de, 8) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 8)
#elif PACKETVER >= 20080507
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 3)
#elif PACKETVER >= 20080422
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01de, 30) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 30)
#elif PACKETVER >= 20080408
-packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 2)
#elif PACKETVER >= 20080401
-packetLen(0x01de, 15) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 15)
#elif PACKETVER >= 20080325
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01de, 15) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 15)
#elif PACKETVER >= 20080311
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01de, 7) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 7)
#elif PACKETVER >= 20080226
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 3)
#elif PACKETVER >= 20080124
-packetLen(0x01de, 2) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
#endif
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
#if PACKETVER >= 20081217
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01e1, 10) // ZC_SPIRITS2
+packetLen(0x01e1, 10)
#elif PACKETVER >= 20081112
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01e1, 3) // ZC_SPIRITS2
+packetLen(0x01e1, 3)
#elif PACKETVER >= 20081029
-packetLen(0x01e1, 86) // ZC_SPIRITS2
+packetLen(0x01e1, 86)
#elif PACKETVER >= 20081022
-packetLen(0x01e1, 39) // ZC_SPIRITS2
+packetLen(0x01e1, 39)
#elif PACKETVER >= 20081008
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01e1, 14) // ZC_SPIRITS2
+packetLen(0x01e1, 14)
#elif PACKETVER >= 20080924
-packetLen(0x01e1, 19) // ZC_SPIRITS2
+packetLen(0x01e1, 19)
#elif PACKETVER >= 20080917
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01e1, 4) // ZC_SPIRITS2
+packetLen(0x01e1, 4)
#elif PACKETVER >= 20080820
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01e1, 5) // ZC_SPIRITS2
+packetLen(0x01e1, 5)
#elif PACKETVER >= 20080806
-packetLen(0x01e1, 14) // ZC_SPIRITS2
+packetLen(0x01e1, 14)
#elif PACKETVER >= 20080730
-packetLen(0x01e1, 4) // ZC_SPIRITS2
+packetLen(0x01e1, 4)
#elif PACKETVER >= 20080701
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01e1, 6) // ZC_SPIRITS2
+packetLen(0x01e1, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01e1, 43) // ZC_SPIRITS2
+packetLen(0x01e1, 43)
#elif PACKETVER >= 20080520
-packetLen(0x01e1, 32) // ZC_SPIRITS2
+packetLen(0x01e1, 32)
#elif PACKETVER >= 20080513
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01e1, 3) // ZC_SPIRITS2
+packetLen(0x01e1, 3)
#elif PACKETVER >= 20080429
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01e1, 6) // ZC_SPIRITS2
+packetLen(0x01e1, 6)
#elif PACKETVER >= 20080415
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
#elif PACKETVER >= 20080408
-packetLen(0x01e1, 71) // ZC_SPIRITS2
+packetLen(0x01e1, 71)
#elif PACKETVER >= 20080401
-packetLen(0x01e1, 2) // ZC_SPIRITS2
+packetLen(0x01e1, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01e1, 17) // ZC_SPIRITS2
+packetLen(0x01e1, 17)
#elif PACKETVER >= 20080318
-packetLen(0x01e1, 60) // ZC_SPIRITS2
+packetLen(0x01e1, 60)
#elif PACKETVER >= 20080304
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01e1, 32) // ZC_SPIRITS2
+packetLen(0x01e1, 32)
#elif PACKETVER >= 20080219
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01e1, 11) // ZC_SPIRITS2
+packetLen(0x01e1, 11)
#elif PACKETVER >= 20080102
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
#endif
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
#if PACKETVER >= 20081126
-packetLen(0x01e7, 6) // CZ_DORIDORI
+packetLen(0x01e7, 6)
#elif PACKETVER >= 20081112
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01e7, 8) // CZ_DORIDORI
+packetLen(0x01e7, 8)
#elif PACKETVER >= 20081029
-packetLen(0x01e7, 26) // CZ_DORIDORI
+packetLen(0x01e7, 26)
#elif PACKETVER >= 20081022
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01e7, 4) // CZ_DORIDORI
+packetLen(0x01e7, 4)
#elif PACKETVER >= 20081001
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01e7, 8) // CZ_DORIDORI
+packetLen(0x01e7, 8)
#elif PACKETVER >= 20080917
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01e7, 11) // CZ_DORIDORI
+packetLen(0x01e7, 11)
#elif PACKETVER >= 20080903
-packetLen(0x01e7, 6) // CZ_DORIDORI
+packetLen(0x01e7, 6)
#elif PACKETVER >= 20080827
-packetLen(0x01e7, 34) // CZ_DORIDORI
+packetLen(0x01e7, 34)
#elif PACKETVER >= 20080820
-packetLen(0x01e7, 4) // CZ_DORIDORI
+packetLen(0x01e7, 4)
#elif PACKETVER >= 20080813
-packetLen(0x01e7, 7) // CZ_DORIDORI
+packetLen(0x01e7, 7)
#elif PACKETVER >= 20080806
-packetLen(0x01e7, 3) // CZ_DORIDORI
+packetLen(0x01e7, 3)
#elif PACKETVER >= 20080730
-packetLen(0x01e7, 26) // CZ_DORIDORI
+packetLen(0x01e7, 26)
#elif PACKETVER >= 20080722
-packetLen(0x01e7, 21) // CZ_DORIDORI
+packetLen(0x01e7, 21)
#elif PACKETVER >= 20080715
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01e7, 27) // CZ_DORIDORI
+packetLen(0x01e7, 27)
#elif PACKETVER >= 20080624
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01e7, 6) // CZ_DORIDORI
+packetLen(0x01e7, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01e7, 4) // CZ_DORIDORI
+packetLen(0x01e7, 4)
#elif PACKETVER >= 20080603
-packetLen(0x01e7, 14) // CZ_DORIDORI
+packetLen(0x01e7, 14)
#elif PACKETVER >= 20080528
-packetLen(0x01e7, 39) // CZ_DORIDORI
+packetLen(0x01e7, 39)
#elif PACKETVER >= 20080520
-packetLen(0x01e7, 22) // CZ_DORIDORI
+packetLen(0x01e7, 22)
#elif PACKETVER >= 20080513
-packetLen(0x01e7, 6) // CZ_DORIDORI
+packetLen(0x01e7, 6)
#elif PACKETVER >= 20080507
-packetLen(0x01e7, 54) // CZ_DORIDORI
+packetLen(0x01e7, 54)
#elif PACKETVER >= 20080429
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#elif PACKETVER >= 20080415
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01e7, 60) // CZ_DORIDORI
+packetLen(0x01e7, 60)
#elif PACKETVER >= 20080401
-packetLen(0x01e7, 5) // CZ_DORIDORI
+packetLen(0x01e7, 5)
#elif PACKETVER >= 20080325
-packetLen(0x01e7, 20) // CZ_DORIDORI
+packetLen(0x01e7, 20)
#elif PACKETVER >= 20080318
-packetLen(0x01e7, 18) // CZ_DORIDORI
+packetLen(0x01e7, 18)
#elif PACKETVER >= 20080311
-packetLen(0x01e7, 55) // CZ_DORIDORI
+packetLen(0x01e7, 55)
#elif PACKETVER >= 20080304
-packetLen(0x01e7, 26) // CZ_DORIDORI
+packetLen(0x01e7, 26)
#elif PACKETVER >= 20080219
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#elif PACKETVER >= 20080124
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#endif
// Packet: 0x01e8
#if PACKETVER >= 20081203
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#elif PACKETVER >= 20081112
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01e8, 8) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 8)
#elif PACKETVER >= 20081029
-packetLen(0x01e8, 59) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 59)
#elif PACKETVER >= 20081022
-packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 6)
#elif PACKETVER >= 20081008
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01e8, 54) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 54)
#elif PACKETVER >= 20080924
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01e8, 33) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 33)
#elif PACKETVER >= 20080730
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01e8, 59) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 59)
#elif PACKETVER >= 20080715
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01e8, 8) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 8)
#elif PACKETVER >= 20080701
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01e8, 22) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 22)
#elif PACKETVER >= 20080617
-packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 14)
#elif PACKETVER >= 20080610
-packetLen(0x01e8, 27) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 27)
#elif PACKETVER >= 20080603
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01e8, 53) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 53)
#elif PACKETVER >= 20080520
-packetLen(0x01e8, 3) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 3)
#elif PACKETVER >= 20080513
-packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 10)
#elif PACKETVER >= 20080507
-packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 14)
#elif PACKETVER >= 20080429
-packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 10)
#elif PACKETVER >= 20080422
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#elif PACKETVER >= 20080415
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01e8, 16) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 16)
#elif PACKETVER >= 20080401
-packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 10)
#elif PACKETVER >= 20080318
-packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01e8, 44) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 44)
#elif PACKETVER >= 20080102
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#endif
// Packet: 0x01e9
#if PACKETVER >= 20081217
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01e9, 10) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 10)
#elif PACKETVER >= 20081126
-packetLen(0x01e9, 186) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 186)
#elif PACKETVER >= 20081119
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01e9, 28) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 28)
#elif PACKETVER >= 20080910
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01e9, 9) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 9)
#elif PACKETVER >= 20080820
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01e9, 15) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 15)
#elif PACKETVER >= 20080806
-packetLen(0x01e9, 26) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 26)
#elif PACKETVER >= 20080730
-packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 8)
#elif PACKETVER >= 20080715
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 3)
#elif PACKETVER >= 20080701
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01e9, 282) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 282)
#elif PACKETVER >= 20080617
-packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 3)
#elif PACKETVER >= 20080507
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01e9, 5) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 5)
#elif PACKETVER >= 20080422
-packetLen(0x01e9, 3) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 3)
#elif PACKETVER >= 20080415
-packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 2)
#elif PACKETVER >= 20080408
-packetLen(0x01e9, 34) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 34)
#elif PACKETVER >= 20080401
-packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 8)
#elif PACKETVER >= 20080325
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01e9, 8) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 8)
#elif PACKETVER >= 20080311
-packetLen(0x01e9, 2) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01e9, 4) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01e9, 12) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 12)
#elif PACKETVER >= 20080219
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
#endif
// Packet: 0x01ea
#if PACKETVER >= 20081217
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20081126
-packetLen(0x01ea, 4) // ZC_CONGRATULATION
+packetLen(0x01ea, 4)
#elif PACKETVER >= 20081112
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01ea, 2) // ZC_CONGRATULATION
+packetLen(0x01ea, 2)
#elif PACKETVER >= 20081022
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01ea, 39) // ZC_CONGRATULATION
+packetLen(0x01ea, 39)
#elif PACKETVER >= 20081008
-packetLen(0x01ea, 11) // ZC_CONGRATULATION
+packetLen(0x01ea, 11)
#elif PACKETVER >= 20081001
-packetLen(0x01ea, 3) // ZC_CONGRATULATION
+packetLen(0x01ea, 3)
#elif PACKETVER >= 20080924
-packetLen(0x01ea, 8) // ZC_CONGRATULATION
+packetLen(0x01ea, 8)
#elif PACKETVER >= 20080917
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20080910
-packetLen(0x01ea, 4) // ZC_CONGRATULATION
+packetLen(0x01ea, 4)
#elif PACKETVER >= 20080806
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01ea, 33) // ZC_CONGRATULATION
+packetLen(0x01ea, 33)
#elif PACKETVER >= 20080722
-packetLen(0x01ea, 2) // ZC_CONGRATULATION
+packetLen(0x01ea, 2)
#elif PACKETVER >= 20080708
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01ea, 97) // ZC_CONGRATULATION
+packetLen(0x01ea, 97)
#elif PACKETVER >= 20080624
-packetLen(0x01ea, 79) // ZC_CONGRATULATION
+packetLen(0x01ea, 79)
#elif PACKETVER >= 20080617
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01ea, 4) // ZC_CONGRATULATION
+packetLen(0x01ea, 4)
#elif PACKETVER >= 20080603
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01ea, 2) // ZC_CONGRATULATION
+packetLen(0x01ea, 2)
#elif PACKETVER >= 20080513
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01ea, 12) // ZC_CONGRATULATION
+packetLen(0x01ea, 12)
#elif PACKETVER >= 20080429
-packetLen(0x01ea, 22) // ZC_CONGRATULATION
+packetLen(0x01ea, 22)
#elif PACKETVER >= 20080422
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01ea, 282) // ZC_CONGRATULATION
+packetLen(0x01ea, 282)
#elif PACKETVER >= 20080401
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01ea, 27) // ZC_CONGRATULATION
+packetLen(0x01ea, 27)
#elif PACKETVER >= 20080318
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01ea, 60) // ZC_CONGRATULATION
+packetLen(0x01ea, 60)
#elif PACKETVER >= 20080219
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20080124
-packetLen(0x01ea, 10) // ZC_CONGRATULATION
+packetLen(0x01ea, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#endif
// Packet: 0x01eb
#if PACKETVER >= 20081126
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01eb, 2) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 2)
#elif PACKETVER >= 20081112
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081022
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01eb, 2) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 2)
#elif PACKETVER >= 20081008
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20081001
-packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 30)
#elif PACKETVER >= 20080924
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01eb, 2) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 2)
#elif PACKETVER >= 20080910
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01eb, 16) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 16)
#elif PACKETVER >= 20080827
-packetLen(0x01eb, 6) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 6)
#elif PACKETVER >= 20080820
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01eb, 6) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 6)
#elif PACKETVER >= 20080722
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01eb, 16) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 16)
#elif PACKETVER >= 20080624
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01eb, 7) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 7)
#elif PACKETVER >= 20080610
-packetLen(0x01eb, 4) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 4)
#elif PACKETVER >= 20080528
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01eb, 4) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 4)
#elif PACKETVER >= 20080513
-packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 30)
#elif PACKETVER >= 20080507
-packetLen(0x01eb, 114) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 114)
#elif PACKETVER >= 20080429
-packetLen(0x01eb, 27) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 27)
#elif PACKETVER >= 20080422
-packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 30)
#elif PACKETVER >= 20080415
-packetLen(0x01eb, 9) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 9)
#elif PACKETVER >= 20080408
-packetLen(0x01eb, 13) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 13)
#elif PACKETVER >= 20080401
-packetLen(0x01eb, 5) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 5)
#elif PACKETVER >= 20080311
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01eb, 30) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 30)
#elif PACKETVER >= 20080226
-packetLen(0x01eb, 11) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 11)
#elif PACKETVER >= 20080219
-packetLen(0x01eb, 26) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01eb, 53) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 53)
#elif PACKETVER >= 20080102
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
#endif
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
#if PACKETVER >= 20081217
-packetLen(0x01ed, 67) // CZ_CHOPOKGI
+packetLen(0x01ed, 67)
#elif PACKETVER >= 20081203
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01ed, 5) // CZ_CHOPOKGI
+packetLen(0x01ed, 5)
#elif PACKETVER >= 20081112
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20081015
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#elif PACKETVER >= 20081008
-packetLen(0x01ed, 8) // CZ_CHOPOKGI
+packetLen(0x01ed, 8)
#elif PACKETVER >= 20081001
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01ed, 10) // CZ_CHOPOKGI
+packetLen(0x01ed, 10)
#elif PACKETVER >= 20080917
-packetLen(0x01ed, 8) // CZ_CHOPOKGI
+packetLen(0x01ed, 8)
#elif PACKETVER >= 20080910
-packetLen(0x01ed, 14) // CZ_CHOPOKGI
+packetLen(0x01ed, 14)
#elif PACKETVER >= 20080903
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01ed, 4) // CZ_CHOPOKGI
+packetLen(0x01ed, 4)
#elif PACKETVER >= 20080820
-packetLen(0x01ed, 31) // CZ_CHOPOKGI
+packetLen(0x01ed, 31)
#elif PACKETVER >= 20080813
-packetLen(0x01ed, 11) // CZ_CHOPOKGI
+packetLen(0x01ed, 11)
#elif PACKETVER >= 20080806
-packetLen(0x01ed, 27) // CZ_CHOPOKGI
+packetLen(0x01ed, 27)
#elif PACKETVER >= 20080730
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#elif PACKETVER >= 20080722
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01ed, 15) // CZ_CHOPOKGI
+packetLen(0x01ed, 15)
#elif PACKETVER >= 20080708
-packetLen(0x01ed, 54) // CZ_CHOPOKGI
+packetLen(0x01ed, 54)
#elif PACKETVER >= 20080701
-packetLen(0x01ed, 14) // CZ_CHOPOKGI
+packetLen(0x01ed, 14)
#elif PACKETVER >= 20080624
-packetLen(0x01ed, 6) // CZ_CHOPOKGI
+packetLen(0x01ed, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01ed, 30) // CZ_CHOPOKGI
+packetLen(0x01ed, 30)
#elif PACKETVER >= 20080528
-packetLen(0x01ed, 4) // CZ_CHOPOKGI
+packetLen(0x01ed, 4)
#elif PACKETVER >= 20080520
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01ed, 14) // CZ_CHOPOKGI
+packetLen(0x01ed, 14)
#elif PACKETVER >= 20080507
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01ed, 30) // CZ_CHOPOKGI
+packetLen(0x01ed, 30)
#elif PACKETVER >= 20080422
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#elif PACKETVER >= 20080415
-packetLen(0x01ed, 3) // CZ_CHOPOKGI
+packetLen(0x01ed, 3)
#elif PACKETVER >= 20080408
-packetLen(0x01ed, 22) // CZ_CHOPOKGI
+packetLen(0x01ed, 22)
#elif PACKETVER >= 20080325
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01ed, 10) // CZ_CHOPOKGI
+packetLen(0x01ed, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01ed, 5) // CZ_CHOPOKGI
+packetLen(0x01ed, 5)
#elif PACKETVER >= 20080304
-packetLen(0x01ed, 4) // CZ_CHOPOKGI
+packetLen(0x01ed, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01ed, 10) // CZ_CHOPOKGI
+packetLen(0x01ed, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01ed, 22) // CZ_CHOPOKGI
+packetLen(0x01ed, 22)
#elif PACKETVER >= 20080124
-packetLen(0x01ed, 6) // CZ_CHOPOKGI
+packetLen(0x01ed, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#endif
// Packet: 0x01ee
#if PACKETVER >= 20081217
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20081203
-packetLen(0x01ee, 39) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 39)
#elif PACKETVER >= 20081126
-packetLen(0x01ee, 17) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 17)
#elif PACKETVER >= 20081112
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20081105
-packetLen(0x01ee, 10) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 10)
#elif PACKETVER >= 20081029
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 23)
#elif PACKETVER >= 20080903
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01ee, 31) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 31)
#elif PACKETVER >= 20080820
-packetLen(0x01ee, 10) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 10)
#elif PACKETVER >= 20080813
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01ee, 10) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 10)
#elif PACKETVER >= 20080730
-packetLen(0x01ee, 5) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 5)
#elif PACKETVER >= 20080715
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 23)
#elif PACKETVER >= 20080701
-packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 8)
#elif PACKETVER >= 20080624
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20080617
-packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 23)
#elif PACKETVER >= 20080610
-packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 8)
#elif PACKETVER >= 20080528
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080520
-packetLen(0x01ee, 26) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 26)
#elif PACKETVER >= 20080513
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 2)
#elif PACKETVER >= 20080408
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 2)
#elif PACKETVER >= 20080325
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20080318
-packetLen(0x01ee, 71) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 71)
#elif PACKETVER >= 20080311
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01ee, 11) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 11)
#elif PACKETVER >= 20080219
-packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 8)
#elif PACKETVER >= 20080124
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#endif
// Packet: 0x01ef
#if PACKETVER >= 20081217
-packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 10)
#elif PACKETVER >= 20081126
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 10)
#elif PACKETVER >= 20081112
-packetLen(0x01ef, 4) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 4)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01ef, 24) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 24)
#elif PACKETVER >= 20081029
-packetLen(0x01ef, 18) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 18)
#elif PACKETVER >= 20081001
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01ef, 2) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 2)
#elif PACKETVER >= 20080910
-packetLen(0x01ef, 90) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 90)
#elif PACKETVER >= 20080813
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080806
-packetLen(0x01ef, 58) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 58)
#elif PACKETVER >= 20080730
-packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 10)
#elif PACKETVER >= 20080722
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01ef, 3) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 3)
#elif PACKETVER >= 20080708
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080701
-packetLen(0x01ef, 7) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 7)
#elif PACKETVER >= 20080624
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080520
-packetLen(0x01ef, 14) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 14)
#elif PACKETVER >= 20080513
-packetLen(0x01ef, 8) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 8)
#elif PACKETVER >= 20080507
-packetLen(0x01ef, 7) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 7)
#elif PACKETVER >= 20080429
-packetLen(0x01ef, 30) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 30)
#elif PACKETVER >= 20080422
-packetLen(0x01ef, 16) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 16)
#elif PACKETVER >= 20080415
-packetLen(0x01ef, 3) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 3)
#elif PACKETVER >= 20080401
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01ef, 29) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 29)
#elif PACKETVER >= 20080318
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ef, 8) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01ef, 35) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 35)
#elif PACKETVER >= 20080124
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#endif
// Packet: 0x01f0
#if PACKETVER >= 20081217
-packetLen(0x01f0, 10) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 10)
#elif PACKETVER >= 20081126
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01f0, 3) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 3)
#elif PACKETVER >= 20081112
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20081105
-packetLen(0x01f0, 3) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 3)
#elif PACKETVER >= 20081015
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01f0, 9) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 9)
#elif PACKETVER >= 20080924
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01f0, 65) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 65)
#elif PACKETVER >= 20080903
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01f0, 12) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 12)
#elif PACKETVER >= 20080820
-packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 4)
#elif PACKETVER >= 20080813
-packetLen(0x01f0, 26) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 26)
#elif PACKETVER >= 20080730
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 4)
#elif PACKETVER >= 20080715
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01f0, 55) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 55)
#elif PACKETVER >= 20080701
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01f0, 8) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 8)
#elif PACKETVER >= 20080617
-packetLen(0x01f0, 16) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 16)
#elif PACKETVER >= 20080603
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01f0, 8) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 8)
#elif PACKETVER >= 20080520
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01f0, 26) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 26)
#elif PACKETVER >= 20080507
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01f0, 7) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 7)
#elif PACKETVER >= 20080422
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01f0, 53) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 53)
#elif PACKETVER >= 20080408
-packetLen(0x01f0, 22) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 22)
#elif PACKETVER >= 20080401
-packetLen(0x01f0, 44) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 44)
#elif PACKETVER >= 20080325
-packetLen(0x01f0, 13) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 13)
#elif PACKETVER >= 20080318
-packetLen(0x01f0, 39) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 39)
#elif PACKETVER >= 20080311
-packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01f0, 2) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01f0, 30) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 30)
#elif PACKETVER >= 20080102
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#endif
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
#if PACKETVER >= 20081126
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20081119
-packetLen(0x01f2, 90) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 90)
#elif PACKETVER >= 20081112
-packetLen(0x01f2, 42) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 42)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01f2, 6) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 6)
#elif PACKETVER >= 20081022
-packetLen(0x01f2, 59) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 59)
#elif PACKETVER >= 20081015
-packetLen(0x01f2, 8) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 8)
#elif PACKETVER >= 20080924
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01f2, 32) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 32)
#elif PACKETVER >= 20080910
-packetLen(0x01f2, 6) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 6)
#elif PACKETVER >= 20080903
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01f2, 86) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 86)
#elif PACKETVER >= 20080806
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080730
-packetLen(0x01f2, 3) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 3)
#elif PACKETVER >= 20080722
-packetLen(0x01f2, 9) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 9)
#elif PACKETVER >= 20080715
-packetLen(0x01f2, 2) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 2)
#elif PACKETVER >= 20080708
-packetLen(0x01f2, 30) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 30)
#elif PACKETVER >= 20080701
-packetLen(0x01f2, 12) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 12)
#elif PACKETVER >= 20080603
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#elif PACKETVER >= 20080513
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01f2, 22) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 22)
#elif PACKETVER >= 20080429
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#elif PACKETVER >= 20080415
-packetLen(0x01f2, 8) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 8)
#elif PACKETVER >= 20080408
-packetLen(0x01f2, 186) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 186)
#elif PACKETVER >= 20080401
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080325
-packetLen(0x01f2, 6) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 6)
#elif PACKETVER >= 20080318
-packetLen(0x01f2, 2) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 2)
#elif PACKETVER >= 20080311
-packetLen(0x01f2, 28) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 28)
#elif PACKETVER >= 20080304
-packetLen(0x01f2, 26) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 26)
#elif PACKETVER >= 20080226
-packetLen(0x01f2, 27) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 27)
#elif PACKETVER >= 20080219
-packetLen(0x01f2, 31) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 31)
#elif PACKETVER >= 20080124
-packetLen(0x01f2, 14) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 14)
#elif PACKETVER >= 20080102
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#endif
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
#if PACKETVER >= 20081217
-packetLen(0x01f4, 12) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 12)
#elif PACKETVER >= 20081203
-packetLen(0x01f4, 2) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 2)
#elif PACKETVER >= 20081119
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081015
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20081008
-packetLen(0x01f4, 3) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 3)
#elif PACKETVER >= 20081001
-packetLen(0x01f4, 10) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 10)
#elif PACKETVER >= 20080924
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01f4, 4) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 4)
#elif PACKETVER >= 20080910
-packetLen(0x01f4, 10) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 10)
#elif PACKETVER >= 20080903
-packetLen(0x01f4, 14) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 14)
#elif PACKETVER >= 20080820
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01f4, 53) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 53)
#elif PACKETVER >= 20080806
-packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 7)
#elif PACKETVER >= 20080715
-packetLen(0x01f4, 4) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 4)
#elif PACKETVER >= 20080708
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20080701
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01f4, 54) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 54)
#elif PACKETVER >= 20080610
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 7)
#elif PACKETVER >= 20080520
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01f4, 67) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 67)
#elif PACKETVER >= 20080507
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080429
-packetLen(0x01f4, 28) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 28)
#elif PACKETVER >= 20080422
-packetLen(0x01f4, 22) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 22)
#elif PACKETVER >= 20080415
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20080408
-packetLen(0x01f4, 14) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 14)
#elif PACKETVER >= 20080401
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01f4, 3) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 3)
#elif PACKETVER >= 20080318
-packetLen(0x01f4, 10) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01f4, 7) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 7)
#elif PACKETVER >= 20080304
-packetLen(0x01f4, 12) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 12)
#elif PACKETVER >= 20080226
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080124
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
#endif
// Packet: 0x01f5
#if PACKETVER >= 20081112
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20080924
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01f5, 23) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 23)
#elif PACKETVER >= 20080910
-packetLen(0x01f5, 102) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 102)
#elif PACKETVER >= 20080903
-packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 4)
#elif PACKETVER >= 20080820
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 4)
#elif PACKETVER >= 20080722
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080715
-packetLen(0x01f5, 11) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 11)
#elif PACKETVER >= 20080624
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 6)
#elif PACKETVER >= 20080603
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01f5, 60) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 60)
#elif PACKETVER >= 20080520
-packetLen(0x01f5, 5) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 5)
#elif PACKETVER >= 20080513
-packetLen(0x01f5, 60) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 60)
#elif PACKETVER >= 20080507
-packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 4)
#elif PACKETVER >= 20080429
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01f5, 11) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 11)
#elif PACKETVER >= 20080415
-packetLen(0x01f5, 4) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 4)
#elif PACKETVER >= 20080408
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01f5, 14) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 14)
#elif PACKETVER >= 20080318
-packetLen(0x01f5, 55) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 55)
#elif PACKETVER >= 20080311
-packetLen(0x01f5, 30) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 30)
#elif PACKETVER >= 20080304
-packetLen(0x01f5, 3) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01f5, 10) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01f5, 114) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 114)
#elif PACKETVER >= 20080124
-packetLen(0x01f5, 7) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 7)
#elif PACKETVER >= 20080102
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
#endif
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
#if PACKETVER >= 20081217
-packetLen(0x01fc, 11) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 11)
#elif PACKETVER >= 20081203
-packetLen(0x01fc, 15) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 15)
#elif PACKETVER >= 20081126
-packetLen(0x01fc, 2) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 2)
#elif PACKETVER >= 20081029
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20081022
-packetLen(0x01fc, 6) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 6)
#elif PACKETVER >= 20081015
-packetLen(0x01fc, 44) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 44)
#elif PACKETVER >= 20081001
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01fc, 3) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 3)
#elif PACKETVER >= 20080917
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080910
-packetLen(0x01fc, 16) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 16)
#elif PACKETVER >= 20080903
-packetLen(0x01fc, 27) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 27)
#elif PACKETVER >= 20080827
-packetLen(0x01fc, 90) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 90)
#elif PACKETVER >= 20080820
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080813
-packetLen(0x01fc, 16) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 16)
#elif PACKETVER >= 20080806
-packetLen(0x01fc, 30) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 30)
#elif PACKETVER >= 20080701
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080624
-packetLen(0x01fc, 7) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 7)
#elif PACKETVER >= 20080617
-packetLen(0x01fc, 186) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 186)
#elif PACKETVER >= 20080610
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01fc, 71) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 71)
#elif PACKETVER >= 20080528
-packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 4)
#elif PACKETVER >= 20080520
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080513
-packetLen(0x01fc, 26) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 26)
#elif PACKETVER >= 20080507
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080429
-packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 4)
#elif PACKETVER >= 20080422
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080415
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080408
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080325
-packetLen(0x01fc, 59) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 59)
#elif PACKETVER >= 20080318
-packetLen(0x01fc, 7) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 7)
#elif PACKETVER >= 20080311
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01fc, 6) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01fc, 282) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 282)
#elif PACKETVER >= 20080124
-packetLen(0x01fc, 10) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#endif
// Packet: 0x01fd
#if PACKETVER >= 20081203
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20081126
-packetLen(0x01fd, 32) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 32)
#elif PACKETVER >= 20081119
-packetLen(0x01fd, 20) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 20)
#elif PACKETVER >= 20081112
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01fd, 2) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 2)
#elif PACKETVER >= 20081029
-packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 8)
#elif PACKETVER >= 20081001
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080924
-packetLen(0x01fd, 32) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 32)
#elif PACKETVER >= 20080917
-packetLen(0x01fd, 27) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 27)
#elif PACKETVER >= 20080910
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20080903
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080827
-packetLen(0x01fd, 16) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 16)
#elif PACKETVER >= 20080730
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080722
-packetLen(0x01fd, 7) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 7)
#elif PACKETVER >= 20080715
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080708
-packetLen(0x01fd, 2) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 2)
#elif PACKETVER >= 20080701
-packetLen(0x01fd, 13) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 13)
#elif PACKETVER >= 20080617
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01fd, 10) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 10)
#elif PACKETVER >= 20080603
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080528
-packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 26)
#elif PACKETVER >= 20080520
-packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 8)
#elif PACKETVER >= 20080513
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 6)
#elif PACKETVER >= 20080429
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080422
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20080415
-packetLen(0x01fd, 54) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 54)
#elif PACKETVER >= 20080408
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080401
-packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 6)
#elif PACKETVER >= 20080325
-packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 8)
#elif PACKETVER >= 20080318
-packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01fd, 39) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 39)
#elif PACKETVER >= 20080304
-packetLen(0x01fd, 6) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 26)
#elif PACKETVER >= 20080124
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#endif
// Packet: 0x01fe
#if PACKETVER >= 20081217
-packetLen(0x01fe, 15) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 15)
#elif PACKETVER >= 20081119
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20081112
-packetLen(0x01fe, 8) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 8)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20081029
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
#elif PACKETVER >= 20080924
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080917
-packetLen(0x01fe, 97) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 97)
#elif PACKETVER >= 20080910
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080903
-packetLen(0x01fe, 8) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 8)
#elif PACKETVER >= 20080827
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080820
-packetLen(0x01fe, 30) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 30)
#elif PACKETVER >= 20080813
-packetLen(0x01fe, 20) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 20)
#elif PACKETVER >= 20080806
-packetLen(0x01fe, 4) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 4)
#elif PACKETVER >= 20080708
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080701
-packetLen(0x01fe, 30) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 30)
#elif PACKETVER >= 20080624
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080617
-packetLen(0x01fe, 11) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 11)
#elif PACKETVER >= 20080610
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080603
-packetLen(0x01fe, 4) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 4)
#elif PACKETVER >= 20080513
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080507
-packetLen(0x01fe, 7) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 7)
#elif PACKETVER >= 20080415
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080408
-packetLen(0x01fe, 8) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 8)
#elif PACKETVER >= 20080401
-packetLen(0x01fe, 54) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 54)
#elif PACKETVER >= 20080325
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20080318
-packetLen(0x01fe, 20) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 20)
#elif PACKETVER >= 20080311
-packetLen(0x01fe, 18) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 18)
#elif PACKETVER >= 20080304
-packetLen(0x01fe, 22) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 22)
#elif PACKETVER >= 20080226
-packetLen(0x01fe, 2) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01fe, 13) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 13)
#elif PACKETVER >= 20080124
-packetLen(0x01fe, 16) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 16)
#elif PACKETVER >= 20080102
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
#endif
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
#if PACKETVER >= 20081217
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0201, 8) // ZC_FRIENDS_LIST
+packetLen(0x0201, 8)
#elif PACKETVER >= 20081126
-packetLen(0x0201, 67) // ZC_FRIENDS_LIST
+packetLen(0x0201, 67)
#elif PACKETVER >= 20081119
-packetLen(0x0201, 11) // ZC_FRIENDS_LIST
+packetLen(0x0201, 11)
#elif PACKETVER >= 20081105
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0201, 6) // ZC_FRIENDS_LIST
+packetLen(0x0201, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0201, 8) // ZC_FRIENDS_LIST
+packetLen(0x0201, 8)
#elif PACKETVER >= 20080813
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0201, 3) // ZC_FRIENDS_LIST
+packetLen(0x0201, 3)
#elif PACKETVER >= 20080715
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0201, 22) // ZC_FRIENDS_LIST
+packetLen(0x0201, 22)
#elif PACKETVER >= 20080701
-packetLen(0x0201, 9) // ZC_FRIENDS_LIST
+packetLen(0x0201, 9)
#elif PACKETVER >= 20080624
-packetLen(0x0201, 3) // ZC_FRIENDS_LIST
+packetLen(0x0201, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0201, 29) // ZC_FRIENDS_LIST
+packetLen(0x0201, 29)
#elif PACKETVER >= 20080528
-packetLen(0x0201, 26) // ZC_FRIENDS_LIST
+packetLen(0x0201, 26)
#elif PACKETVER >= 20080513
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0201, 67) // ZC_FRIENDS_LIST
+packetLen(0x0201, 67)
#elif PACKETVER >= 20080429
-packetLen(0x0201, 33) // ZC_FRIENDS_LIST
+packetLen(0x0201, 33)
#elif PACKETVER >= 20080422
-packetLen(0x0201, 68) // ZC_FRIENDS_LIST
+packetLen(0x0201, 68)
#elif PACKETVER >= 20080415
-packetLen(0x0201, 58) // ZC_FRIENDS_LIST
+packetLen(0x0201, 58)
#elif PACKETVER >= 20080408
-packetLen(0x0201, 54) // ZC_FRIENDS_LIST
+packetLen(0x0201, 54)
#elif PACKETVER >= 20080401
-packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+packetLen(0x0201, 7)
#elif PACKETVER >= 20080325
-packetLen(0x0201, 5) // ZC_FRIENDS_LIST
+packetLen(0x0201, 5)
#elif PACKETVER >= 20080318
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0201, 11) // ZC_FRIENDS_LIST
+packetLen(0x0201, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0201, 282) // ZC_FRIENDS_LIST
+packetLen(0x0201, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0201, 6) // ZC_FRIENDS_LIST
+packetLen(0x0201, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+packetLen(0x0201, 7)
#elif PACKETVER >= 20080124
-packetLen(0x0201, 282) // ZC_FRIENDS_LIST
+packetLen(0x0201, 282)
#elif PACKETVER >= 20080102
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#endif
// Packet: 0x0202
#if PACKETVER >= 20081217
-packetLen(0x0202, 9) // CZ_ADD_FRIENDS
+packetLen(0x0202, 9)
#elif PACKETVER >= 20081203
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0202, 14) // CZ_ADD_FRIENDS
+packetLen(0x0202, 14)
#elif PACKETVER >= 20081119
-packetLen(0x0202, 7) // CZ_ADD_FRIENDS
+packetLen(0x0202, 7)
#elif PACKETVER >= 20081112
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20081015
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20080910
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0202, 9) // CZ_ADD_FRIENDS
+packetLen(0x0202, 9)
#elif PACKETVER >= 20080820
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0202, 60) // CZ_ADD_FRIENDS
+packetLen(0x0202, 60)
#elif PACKETVER >= 20080806
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20080730
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+packetLen(0x0202, 11)
#elif PACKETVER >= 20080513
-packetLen(0x0202, 3) // CZ_ADD_FRIENDS
+packetLen(0x0202, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0202, 19) // CZ_ADD_FRIENDS
+packetLen(0x0202, 19)
#elif PACKETVER >= 20080429
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20080415
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0202, 3) // CZ_ADD_FRIENDS
+packetLen(0x0202, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20080311
-packetLen(0x0202, 33) // CZ_ADD_FRIENDS
+packetLen(0x0202, 33)
#elif PACKETVER >= 20080304
-packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+packetLen(0x0202, 11)
#elif PACKETVER >= 20080226
-packetLen(0x0202, 44) // CZ_ADD_FRIENDS
+packetLen(0x0202, 44)
#elif PACKETVER >= 20080219
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#endif
// Packet: 0x0203
#if PACKETVER >= 20081112
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081015
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 6)
#elif PACKETVER >= 20081001
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 6)
#elif PACKETVER >= 20080917
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0203, 58) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 58)
#elif PACKETVER >= 20080903
-packetLen(0x0203, 11) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 11)
#elif PACKETVER >= 20080827
-packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 6)
#elif PACKETVER >= 20080813
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0203, 2) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 2)
#elif PACKETVER >= 20080730
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0203, 282) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 282)
#elif PACKETVER >= 20080715
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 4)
#elif PACKETVER >= 20080701
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0203, 3) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0203, 34) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 34)
#elif PACKETVER >= 20080520
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 7)
#elif PACKETVER >= 20080429
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0203, 3) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 3)
#elif PACKETVER >= 20080318
-packetLen(0x0203, 67) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 67)
#elif PACKETVER >= 20080311
-packetLen(0x0203, 60) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 60)
#elif PACKETVER >= 20080304
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0203, 6) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#endif
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
#if PACKETVER >= 20081217
-packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+packetLen(0x0206, 6)
#elif PACKETVER >= 20081203
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0206, 3) // ZC_FRIENDS_STATE
+packetLen(0x0206, 3)
#elif PACKETVER >= 20081119
-packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+packetLen(0x0206, 8)
#elif PACKETVER >= 20081112
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0206, 44) // ZC_FRIENDS_STATE
+packetLen(0x0206, 44)
#elif PACKETVER >= 20081029
-packetLen(0x0206, 22) // ZC_FRIENDS_STATE
+packetLen(0x0206, 22)
#elif PACKETVER >= 20081001
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+packetLen(0x0206, 8)
#elif PACKETVER >= 20080917
-packetLen(0x0206, 81) // ZC_FRIENDS_STATE
+packetLen(0x0206, 81)
#elif PACKETVER >= 20080910
-packetLen(0x0206, 2) // ZC_FRIENDS_STATE
+packetLen(0x0206, 2)
#elif PACKETVER >= 20080903
-packetLen(0x0206, 65) // ZC_FRIENDS_STATE
+packetLen(0x0206, 65)
#elif PACKETVER >= 20080827
-packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+packetLen(0x0206, 8)
#elif PACKETVER >= 20080813
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+packetLen(0x0206, 8)
#elif PACKETVER >= 20080730
-packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+packetLen(0x0206, 6)
#elif PACKETVER >= 20080722
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0206, 282) // ZC_FRIENDS_STATE
+packetLen(0x0206, 282)
#elif PACKETVER >= 20080708
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0206, 2) // ZC_FRIENDS_STATE
+packetLen(0x0206, 2)
#elif PACKETVER >= 20080624
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+packetLen(0x0206, 30)
#elif PACKETVER >= 20080603
-packetLen(0x0206, 3) // ZC_FRIENDS_STATE
+packetLen(0x0206, 3)
#elif PACKETVER >= 20080520
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+packetLen(0x0206, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+packetLen(0x0206, 7)
#elif PACKETVER >= 20080415
-packetLen(0x0206, 4) // ZC_FRIENDS_STATE
+packetLen(0x0206, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0206, 59) // ZC_FRIENDS_STATE
+packetLen(0x0206, 59)
#elif PACKETVER >= 20080325
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+packetLen(0x0206, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0206, 9) // ZC_FRIENDS_STATE
+packetLen(0x0206, 9)
#elif PACKETVER >= 20080226
-packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+packetLen(0x0206, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+packetLen(0x0206, 7)
#elif PACKETVER >= 20080124
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#endif
// Packet: 0x0207
#if PACKETVER >= 20081112
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0207, 5) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 5)
#elif PACKETVER >= 20081015
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20081001
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0207, 30) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 30)
#elif PACKETVER >= 20080910
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0207, 54) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 54)
#elif PACKETVER >= 20080820
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0207, 11) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 11)
#elif PACKETVER >= 20080806
-packetLen(0x0207, 6) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 6)
#elif PACKETVER >= 20080730
-packetLen(0x0207, 60) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 60)
#elif PACKETVER >= 20080722
-packetLen(0x0207, 6) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 6)
#elif PACKETVER >= 20080715
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0207, 14) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 14)
#elif PACKETVER >= 20080701
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0207, 11) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 11)
#elif PACKETVER >= 20080610
-packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 7)
#elif PACKETVER >= 20080528
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0207, 28) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 28)
#elif PACKETVER >= 20080513
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20080429
-packetLen(0x0207, 5) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0207, 102) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 102)
#elif PACKETVER >= 20080325
-packetLen(0x0207, 8) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0207, 2) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0207, 6) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0207, 26) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0207, 66) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 66)
#elif PACKETVER >= 20080124
-packetLen(0x0207, 28) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 28)
#elif PACKETVER >= 20080102
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
#endif
// Packet: 0x0208
#if PACKETVER >= 20081112
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0208, 27) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 27)
#elif PACKETVER >= 20081015
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0208, 3) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 3)
#elif PACKETVER >= 20081001
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080924
-packetLen(0x0208, 18) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 18)
#elif PACKETVER >= 20080820
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0208, 3) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 3)
#elif PACKETVER >= 20080730
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0208, 2) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 2)
#elif PACKETVER >= 20080715
-packetLen(0x0208, 12) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 12)
#elif PACKETVER >= 20080708
-packetLen(0x0208, 16) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 16)
#elif PACKETVER >= 20080701
-packetLen(0x0208, 2) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 2)
#elif PACKETVER >= 20080624
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0208, 15) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 15)
#elif PACKETVER >= 20080603
-packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 10)
#elif PACKETVER >= 20080528
-packetLen(0x0208, 26) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 26)
#elif PACKETVER >= 20080520
-packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0208, 60) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 60)
#elif PACKETVER >= 20080429
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0208, 5) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 5)
#elif PACKETVER >= 20080401
-packetLen(0x0208, 22) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 22)
#elif PACKETVER >= 20080325
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0208, 10) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0208, 71) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 71)
#elif PACKETVER >= 20080124
-packetLen(0x0208, 65) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 65)
#elif PACKETVER >= 20080102
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
#endif
// Packet: 0x0209
#if PACKETVER >= 20081112
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 4)
#elif PACKETVER >= 20081022
-packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 10)
#elif PACKETVER >= 20081015
-packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 4)
#elif PACKETVER >= 20081001
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0209, 3) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 3)
#elif PACKETVER >= 20080917
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0209, 12) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 12)
#elif PACKETVER >= 20080827
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0209, 20) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 20)
#elif PACKETVER >= 20080730
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0209, 5) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 5)
#elif PACKETVER >= 20080715
-packetLen(0x0209, 8) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 8)
#elif PACKETVER >= 20080708
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080701
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0209, 9) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 9)
#elif PACKETVER >= 20080617
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0209, 39) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 39)
#elif PACKETVER >= 20080520
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080513
-packetLen(0x0209, 8) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 8)
#elif PACKETVER >= 20080507
-packetLen(0x0209, 5) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 5)
#elif PACKETVER >= 20080429
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0209, 18) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 18)
#elif PACKETVER >= 20080415
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080401
-packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 10)
#elif PACKETVER >= 20080325
-packetLen(0x0209, 3) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 3)
#elif PACKETVER >= 20080318
-packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0209, 30) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 30)
#elif PACKETVER >= 20080124
-packetLen(0x0209, 10) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
#endif
// Packet: 0x020a
#if PACKETVER >= 20081217
-packetLen(0x020a, 4) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 4)
#elif PACKETVER >= 20081119
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20081112
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20081022
-packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 7)
#elif PACKETVER >= 20081015
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20081008
-packetLen(0x020a, 5) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 5)
#elif PACKETVER >= 20081001
-packetLen(0x020a, 27) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 27)
#elif PACKETVER >= 20080924
-packetLen(0x020a, 4) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 4)
#elif PACKETVER >= 20080917
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 7)
#elif PACKETVER >= 20080903
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080827
-packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 7)
#elif PACKETVER >= 20080820
-packetLen(0x020a, 29) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 29)
#elif PACKETVER >= 20080813
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080730
-packetLen(0x020a, 3) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 3)
#elif PACKETVER >= 20080722
-packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 6)
#elif PACKETVER >= 20080715
-packetLen(0x020a, 30) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 30)
#elif PACKETVER >= 20080701
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080624
-packetLen(0x020a, 68) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 68)
#elif PACKETVER >= 20080617
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080610
-packetLen(0x020a, 186) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 186)
#elif PACKETVER >= 20080603
-packetLen(0x020a, 11) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 11)
#elif PACKETVER >= 20080528
-packetLen(0x020a, 32) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 32)
#elif PACKETVER >= 20080520
-packetLen(0x020a, 30) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 30)
#elif PACKETVER >= 20080513
-packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 2)
#elif PACKETVER >= 20080507
-packetLen(0x020a, 71) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 71)
#elif PACKETVER >= 20080422
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 6)
#elif PACKETVER >= 20080408
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x020a, 14) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 14)
#elif PACKETVER >= 20080325
-packetLen(0x020a, 13) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 13)
#elif PACKETVER >= 20080318
-packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 7)
#elif PACKETVER >= 20080311
-packetLen(0x020a, 6) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 6)
#elif PACKETVER >= 20080304
-packetLen(0x020a, 11) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 11)
#elif PACKETVER >= 20080226
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x020a, 20) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 20)
#elif PACKETVER >= 20080124
-packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 2)
#elif PACKETVER >= 20080102
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#endif
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
#if PACKETVER >= 20081217
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
#elif PACKETVER >= 20081203
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20081126
-packetLen(0x020e, 10) // ZC_STARSKILL
+packetLen(0x020e, 10)
#elif PACKETVER >= 20081112
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20081022
-packetLen(0x020e, 67) // ZC_STARSKILL
+packetLen(0x020e, 67)
#elif PACKETVER >= 20081015
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20081001
-packetLen(0x020e, 2) // ZC_STARSKILL
+packetLen(0x020e, 2)
#elif PACKETVER >= 20080910
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080903
-packetLen(0x020e, 30) // ZC_STARSKILL
+packetLen(0x020e, 30)
#elif PACKETVER >= 20080827
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080820
-packetLen(0x020e, 4) // ZC_STARSKILL
+packetLen(0x020e, 4)
#elif PACKETVER >= 20080813
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
#elif PACKETVER >= 20080806
-packetLen(0x020e, 2) // ZC_STARSKILL
+packetLen(0x020e, 2)
#elif PACKETVER >= 20080730
-packetLen(0x020e, 3) // ZC_STARSKILL
+packetLen(0x020e, 3)
#elif PACKETVER >= 20080722
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080715
-packetLen(0x020e, 2) // ZC_STARSKILL
+packetLen(0x020e, 2)
#elif PACKETVER >= 20080708
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080701
-packetLen(0x020e, 10) // ZC_STARSKILL
+packetLen(0x020e, 10)
#elif PACKETVER >= 20080624
-packetLen(0x020e, 5) // ZC_STARSKILL
+packetLen(0x020e, 5)
#elif PACKETVER >= 20080603
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080528
-packetLen(0x020e, 7) // ZC_STARSKILL
+packetLen(0x020e, 7)
#elif PACKETVER >= 20080520
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#elif PACKETVER >= 20080507
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080429
-packetLen(0x020e, 54) // ZC_STARSKILL
+packetLen(0x020e, 54)
#elif PACKETVER >= 20080415
-packetLen(0x020e, 4) // ZC_STARSKILL
+packetLen(0x020e, 4)
#elif PACKETVER >= 20080408
-packetLen(0x020e, 3) // ZC_STARSKILL
+packetLen(0x020e, 3)
#elif PACKETVER >= 20080401
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
#elif PACKETVER >= 20080318
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080311
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
#elif PACKETVER >= 20080304
-packetLen(0x020e, 27) // ZC_STARSKILL
+packetLen(0x020e, 27)
#elif PACKETVER >= 20080226
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080219
-packetLen(0x020e, 8) // ZC_STARSKILL
+packetLen(0x020e, 8)
#elif PACKETVER >= 20080124
-packetLen(0x020e, 102) // ZC_STARSKILL
+packetLen(0x020e, 102)
#elif PACKETVER >= 20080102
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#endif
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
#if PACKETVER >= 20081126
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0217, 28) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 28)
#elif PACKETVER >= 20081112
-packetLen(0x0217, 30) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 30)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0217, 10) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 10)
#elif PACKETVER >= 20081008
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0217, 7) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 7)
#elif PACKETVER >= 20080924
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#elif PACKETVER >= 20080903
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0217, 26) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 26)
#elif PACKETVER >= 20080820
-packetLen(0x0217, 55) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 55)
#elif PACKETVER >= 20080806
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0217, 7) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 7)
#elif PACKETVER >= 20080722
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0217, 54) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 54)
#elif PACKETVER >= 20080708
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0217, 7) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 7)
#elif PACKETVER >= 20080617
-packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0217, 53) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 53)
#elif PACKETVER >= 20080603
-packetLen(0x0217, 6) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 8)
#elif PACKETVER >= 20080513
-packetLen(0x0217, 65) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 65)
#elif PACKETVER >= 20080507
-packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 8)
#elif PACKETVER >= 20080429
-packetLen(0x0217, 15) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 15)
#elif PACKETVER >= 20080422
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 8)
#elif PACKETVER >= 20080408
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0217, 13) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 13)
#elif PACKETVER >= 20080325
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0217, 26) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 26)
#elif PACKETVER >= 20080304
-packetLen(0x0217, 44) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 44)
#elif PACKETVER >= 20080226
-packetLen(0x0217, 5) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0217, 3) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#endif
// Packet: 0x0218
#if PACKETVER >= 20081203
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0218, 102) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 102)
#elif PACKETVER >= 20081119
-packetLen(0x0218, 13) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 13)
#elif PACKETVER >= 20081112
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20081105
-packetLen(0x0218, 30) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 30)
#elif PACKETVER >= 20081015
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0218, 3) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 3)
#elif PACKETVER >= 20080917
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20080820
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0218, 11) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 11)
#elif PACKETVER >= 20080806
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0218, 4) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 4)
#elif PACKETVER >= 20080722
-packetLen(0x0218, 33) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 33)
#elif PACKETVER >= 20080715
-packetLen(0x0218, 8) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 8)
#elif PACKETVER >= 20080701
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0218, 10) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0218, 68) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 68)
#elif PACKETVER >= 20080610
-packetLen(0x0218, 30) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 30)
#elif PACKETVER >= 20080603
-packetLen(0x0218, 5) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 5)
#elif PACKETVER >= 20080520
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20080507
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0218, 18) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 18)
#elif PACKETVER >= 20080422
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0218, 67) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 67)
#elif PACKETVER >= 20080325
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0218, 14) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0218, 4) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0218, 8) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0218, 26) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 26)
#elif PACKETVER >= 20080124
-packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#endif
// Packet: 0x0219
#if PACKETVER >= 20081217
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#elif PACKETVER >= 20081203
-packetLen(0x0219, 26) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 26)
#elif PACKETVER >= 20081119
-packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 8)
#elif PACKETVER >= 20081112
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0219, 5) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 5)
#elif PACKETVER >= 20081015
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080924
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0219, 2) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 2)
#elif PACKETVER >= 20080910
-packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 4)
#elif PACKETVER >= 20080903
-packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 8)
#elif PACKETVER >= 20080827
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0219, 5) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 5)
#elif PACKETVER >= 20080813
-packetLen(0x0219, 186) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 186)
#elif PACKETVER >= 20080722
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0219, 30) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0219, 12) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 12)
#elif PACKETVER >= 20080429
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0219, 9) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 9)
#elif PACKETVER >= 20080408
-packetLen(0x0219, 28) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 28)
#elif PACKETVER >= 20080401
-packetLen(0x0219, 4) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 4)
#elif PACKETVER >= 20080325
-packetLen(0x0219, 15) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 15)
#elif PACKETVER >= 20080318
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0219, 3) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0219, 17) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 17)
#elif PACKETVER >= 20080124
-packetLen(0x0219, 8) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#endif
// Packet: 0x021a
#if PACKETVER >= 20081217
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20081203
-packetLen(0x021a, 13) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 13)
#elif PACKETVER >= 20081126
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20081119
-packetLen(0x021a, 60) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 60)
#elif PACKETVER >= 20081112
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20081029
-packetLen(0x021a, 10) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 10)
#elif PACKETVER >= 20081022
-packetLen(0x021a, 9) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 9)
#elif PACKETVER >= 20080917
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x021a, 26) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 26)
#elif PACKETVER >= 20080813
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080806
-packetLen(0x021a, 3) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 3)
#elif PACKETVER >= 20080730
-packetLen(0x021a, 39) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 39)
#elif PACKETVER >= 20080715
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080708
-packetLen(0x021a, 79) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 79)
#elif PACKETVER >= 20080701
-packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 6)
#elif PACKETVER >= 20080624
-packetLen(0x021a, 11) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 11)
#elif PACKETVER >= 20080617
-packetLen(0x021a, 97) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 97)
#elif PACKETVER >= 20080610
-packetLen(0x021a, 23) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 23)
#elif PACKETVER >= 20080603
-packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 30)
#elif PACKETVER >= 20080528
-packetLen(0x021a, 26) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 26)
#elif PACKETVER >= 20080513
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x021a, 3) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 3)
#elif PACKETVER >= 20080429
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080422
-packetLen(0x021a, 16) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 16)
#elif PACKETVER >= 20080408
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x021a, 11) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 11)
#elif PACKETVER >= 20080325
-packetLen(0x021a, 8) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 8)
#elif PACKETVER >= 20080318
-packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 6)
#elif PACKETVER >= 20080311
-packetLen(0x021a, 8) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 8)
#elif PACKETVER >= 20080304
-packetLen(0x021a, 5) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 5)
#elif PACKETVER >= 20080226
-packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 30)
#elif PACKETVER >= 20080219
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080124
-packetLen(0x021a, 10) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 10)
#elif PACKETVER >= 20080102
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
#endif
// Packet: 0x021b
#if PACKETVER >= 20081217
-packetLen(0x021b, 28) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 28)
#elif PACKETVER >= 20081203
-packetLen(0x021b, 14) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 14)
#elif PACKETVER >= 20081119
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20081112
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x021b, 3) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 3)
#elif PACKETVER >= 20081008
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20081001
-packetLen(0x021b, 58) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 58)
#elif PACKETVER >= 20080903
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080827
-packetLen(0x021b, 33) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 33)
#elif PACKETVER >= 20080820
-packetLen(0x021b, 7) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 7)
#elif PACKETVER >= 20080813
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080806
-packetLen(0x021b, 26) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 26)
#elif PACKETVER >= 20080730
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080722
-packetLen(0x021b, 22) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 22)
#elif PACKETVER >= 20080715
-packetLen(0x021b, 29) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 29)
#elif PACKETVER >= 20080701
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080624
-packetLen(0x021b, 4) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 4)
#elif PACKETVER >= 20080617
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#elif PACKETVER >= 20080610
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080603
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#elif PACKETVER >= 20080520
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080513
-packetLen(0x021b, 4) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 4)
#elif PACKETVER >= 20080507
-packetLen(0x021b, 8) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 8)
#elif PACKETVER >= 20080429
-packetLen(0x021b, 2) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 2)
#elif PACKETVER >= 20080422
-packetLen(0x021b, 44) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 44)
#elif PACKETVER >= 20080415
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x021b, 9) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 9)
#elif PACKETVER >= 20080401
-packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 6)
#elif PACKETVER >= 20080325
-packetLen(0x021b, 11) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 11)
#elif PACKETVER >= 20080318
-packetLen(0x021b, 3) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 3)
#elif PACKETVER >= 20080311
-packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 15)
#elif PACKETVER >= 20080304
-packetLen(0x021b, 14) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 14)
#elif PACKETVER >= 20080226
-packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 15)
#elif PACKETVER >= 20080124
-packetLen(0x021b, 54) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 54)
#elif PACKETVER >= 20080102
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#endif
// Packet: 0x021c
#if PACKETVER >= 20081119
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20081112
-packetLen(0x021c, 33) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 33)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20081029
-packetLen(0x021c, 6) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 6)
#elif PACKETVER >= 20081008
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20081001
-packetLen(0x021c, 39) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 39)
#elif PACKETVER >= 20080917
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080910
-packetLen(0x021c, 9) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 9)
#elif PACKETVER >= 20080827
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080820
-packetLen(0x021c, 26) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 26)
#elif PACKETVER >= 20080730
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080722
-packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 4)
#elif PACKETVER >= 20080715
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#elif PACKETVER >= 20080617
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x021c, 8) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 8)
#elif PACKETVER >= 20080603
-packetLen(0x021c, 13) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 13)
#elif PACKETVER >= 20080528
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x021c, 2) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 2)
#elif PACKETVER >= 20080513
-packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 5)
#elif PACKETVER >= 20080507
-packetLen(0x021c, 8) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 8)
#elif PACKETVER >= 20080429
-packetLen(0x021c, 18) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 18)
#elif PACKETVER >= 20080422
-packetLen(0x021c, 3) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 3)
#elif PACKETVER >= 20080415
-packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 5)
#elif PACKETVER >= 20080408
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 4)
#elif PACKETVER >= 20080325
-packetLen(0x021c, 102) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 102)
#elif PACKETVER >= 20080318
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x021c, 6) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#elif PACKETVER >= 20080226
-packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 4)
#elif PACKETVER >= 20080219
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080124
-packetLen(0x021c, 30) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 30)
#elif PACKETVER >= 20080102
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#endif
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
#if PACKETVER >= 20081217
-packetLen(0x0224, 60) // ZC_TAEKWON_POINT
+packetLen(0x0224, 60)
#elif PACKETVER >= 20081203
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0224, 26) // ZC_TAEKWON_POINT
+packetLen(0x0224, 26)
#elif PACKETVER >= 20081112
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#elif PACKETVER >= 20081022
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0224, 11) // ZC_TAEKWON_POINT
+packetLen(0x0224, 11)
#elif PACKETVER >= 20081008
-packetLen(0x0224, 282) // ZC_TAEKWON_POINT
+packetLen(0x0224, 282)
#elif PACKETVER >= 20081001
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080917
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0224, 66) // ZC_TAEKWON_POINT
+packetLen(0x0224, 66)
#elif PACKETVER >= 20080903
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0224, 42) // ZC_TAEKWON_POINT
+packetLen(0x0224, 42)
#elif PACKETVER >= 20080820
-packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+packetLen(0x0224, 4)
#elif PACKETVER >= 20080813
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0224, 17) // ZC_TAEKWON_POINT
+packetLen(0x0224, 17)
#elif PACKETVER >= 20080730
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0224, 11) // ZC_TAEKWON_POINT
+packetLen(0x0224, 11)
#elif PACKETVER >= 20080715
-packetLen(0x0224, 8) // ZC_TAEKWON_POINT
+packetLen(0x0224, 8)
#elif PACKETVER >= 20080708
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+packetLen(0x0224, 4)
#elif PACKETVER >= 20080624
-packetLen(0x0224, 42) // ZC_TAEKWON_POINT
+packetLen(0x0224, 42)
#elif PACKETVER >= 20080610
-packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+packetLen(0x0224, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0224, 14) // ZC_TAEKWON_POINT
+packetLen(0x0224, 14)
#elif PACKETVER >= 20080528
-packetLen(0x0224, 9) // ZC_TAEKWON_POINT
+packetLen(0x0224, 9)
#elif PACKETVER >= 20080520
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0224, 3) // ZC_TAEKWON_POINT
+packetLen(0x0224, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080422
-packetLen(0x0224, 8) // ZC_TAEKWON_POINT
+packetLen(0x0224, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0224, 27) // ZC_TAEKWON_POINT
+packetLen(0x0224, 27)
#elif PACKETVER >= 20080408
-packetLen(0x0224, 81) // ZC_TAEKWON_POINT
+packetLen(0x0224, 81)
#elif PACKETVER >= 20080401
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080325
-packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+packetLen(0x0224, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0224, 20) // ZC_TAEKWON_POINT
+packetLen(0x0224, 20)
#elif PACKETVER >= 20080304
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+packetLen(0x0224, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0224, 12) // ZC_TAEKWON_POINT
+packetLen(0x0224, 12)
#elif PACKETVER >= 20080124
-packetLen(0x0224, 9) // ZC_TAEKWON_POINT
+packetLen(0x0224, 9)
#elif PACKETVER >= 20080102
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#endif
// Packet: 0x0225
#if PACKETVER >= 20081203
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0225, 23) // CZ_TAEKWON_RANK
+packetLen(0x0225, 23)
#elif PACKETVER >= 20081119
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0225, 28) // CZ_TAEKWON_RANK
+packetLen(0x0225, 28)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+packetLen(0x0225, 10)
#elif PACKETVER >= 20081001
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+packetLen(0x0225, 5)
#elif PACKETVER >= 20080917
-packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+packetLen(0x0225, 10)
#elif PACKETVER >= 20080813
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080730
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0225, 6) // CZ_TAEKWON_RANK
+packetLen(0x0225, 6)
#elif PACKETVER >= 20080701
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0225, 7) // CZ_TAEKWON_RANK
+packetLen(0x0225, 7)
#elif PACKETVER >= 20080610
-packetLen(0x0225, 32) // CZ_TAEKWON_RANK
+packetLen(0x0225, 32)
#elif PACKETVER >= 20080603
-packetLen(0x0225, 14) // CZ_TAEKWON_RANK
+packetLen(0x0225, 14)
#elif PACKETVER >= 20080520
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+packetLen(0x0225, 10)
#elif PACKETVER >= 20080507
-packetLen(0x0225, 9) // CZ_TAEKWON_RANK
+packetLen(0x0225, 9)
#elif PACKETVER >= 20080429
-packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+packetLen(0x0225, 3)
#elif PACKETVER >= 20080422
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0225, 4) // CZ_TAEKWON_RANK
+packetLen(0x0225, 4)
#elif PACKETVER >= 20080408
-packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+packetLen(0x0225, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+packetLen(0x0225, 5)
#elif PACKETVER >= 20080325
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080318
-packetLen(0x0225, 5) // CZ_TAEKWON_RANK
+packetLen(0x0225, 5)
#elif PACKETVER >= 20080311
-packetLen(0x0225, 29) // CZ_TAEKWON_RANK
+packetLen(0x0225, 29)
#elif PACKETVER >= 20080304
-packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+packetLen(0x0225, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+packetLen(0x0225, 3)
#elif PACKETVER >= 20080124
-packetLen(0x0225, 6) // CZ_TAEKWON_RANK
+packetLen(0x0225, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#endif
// Packet: 0x0226
#if PACKETVER >= 20081217
-packetLen(0x0226, 102) // ZC_TAEKWON_RANK
+packetLen(0x0226, 102)
#elif PACKETVER >= 20081203
-packetLen(0x0226, 7) // ZC_TAEKWON_RANK
+packetLen(0x0226, 7)
#elif PACKETVER >= 20081112
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0226, 5) // ZC_TAEKWON_RANK
+packetLen(0x0226, 5)
#elif PACKETVER >= 20081008
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+packetLen(0x0226, 3)
#elif PACKETVER >= 20080903
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0226, 65) // ZC_TAEKWON_RANK
+packetLen(0x0226, 65)
#elif PACKETVER >= 20080820
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0226, 8) // ZC_TAEKWON_RANK
+packetLen(0x0226, 8)
#elif PACKETVER >= 20080806
-packetLen(0x0226, 43) // ZC_TAEKWON_RANK
+packetLen(0x0226, 43)
#elif PACKETVER >= 20080722
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+packetLen(0x0226, 2)
#elif PACKETVER >= 20080708
-packetLen(0x0226, 6) // ZC_TAEKWON_RANK
+packetLen(0x0226, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+packetLen(0x0226, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+packetLen(0x0226, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0226, 36) // ZC_TAEKWON_RANK
+packetLen(0x0226, 36)
#elif PACKETVER >= 20080422
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+packetLen(0x0226, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0226, 30) // ZC_TAEKWON_RANK
+packetLen(0x0226, 30)
#elif PACKETVER >= 20080401
-packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+packetLen(0x0226, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0226, 9) // ZC_TAEKWON_RANK
+packetLen(0x0226, 9)
#elif PACKETVER >= 20080318
-packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+packetLen(0x0226, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0226, 22) // ZC_TAEKWON_RANK
+packetLen(0x0226, 22)
#elif PACKETVER >= 20080226
-packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+packetLen(0x0226, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0226, 42) // ZC_TAEKWON_RANK
+packetLen(0x0226, 42)
#elif PACKETVER >= 20080124
-packetLen(0x0226, 4) // ZC_TAEKWON_RANK
+packetLen(0x0226, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
#endif
// Packet: 0x0227
#if PACKETVER >= 20081217
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0227, 68) // ZC_GAME_GUARD
+packetLen(0x0227, 68)
#elif PACKETVER >= 20081126
-packetLen(0x0227, 39) // ZC_GAME_GUARD
+packetLen(0x0227, 39)
#elif PACKETVER >= 20081119
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0227, 26) // ZC_GAME_GUARD
+packetLen(0x0227, 26)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081015
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0227, 4) // ZC_GAME_GUARD
+packetLen(0x0227, 4)
#elif PACKETVER >= 20081001
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0227, 9) // ZC_GAME_GUARD
+packetLen(0x0227, 9)
#elif PACKETVER >= 20080917
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0227, 11) // ZC_GAME_GUARD
+packetLen(0x0227, 11)
#elif PACKETVER >= 20080903
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0227, 6) // ZC_GAME_GUARD
+packetLen(0x0227, 6)
#elif PACKETVER >= 20080820
-packetLen(0x0227, 36) // ZC_GAME_GUARD
+packetLen(0x0227, 36)
#elif PACKETVER >= 20080813
-packetLen(0x0227, 2) // ZC_GAME_GUARD
+packetLen(0x0227, 2)
#elif PACKETVER >= 20080708
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0227, 2) // ZC_GAME_GUARD
+packetLen(0x0227, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0227, 10) // ZC_GAME_GUARD
+packetLen(0x0227, 10)
#elif PACKETVER >= 20080603
-packetLen(0x0227, 6) // ZC_GAME_GUARD
+packetLen(0x0227, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0227, 10) // ZC_GAME_GUARD
+packetLen(0x0227, 10)
#elif PACKETVER >= 20080513
-packetLen(0x0227, 4) // ZC_GAME_GUARD
+packetLen(0x0227, 4)
#elif PACKETVER >= 20080507
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0227, 26) // ZC_GAME_GUARD
+packetLen(0x0227, 26)
#elif PACKETVER >= 20080422
-packetLen(0x0227, 8) // ZC_GAME_GUARD
+packetLen(0x0227, 8)
#elif PACKETVER >= 20080415
-packetLen(0x0227, 2) // ZC_GAME_GUARD
+packetLen(0x0227, 2)
#elif PACKETVER >= 20080408
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0227, 6) // ZC_GAME_GUARD
+packetLen(0x0227, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0227, 15) // ZC_GAME_GUARD
+packetLen(0x0227, 15)
#elif PACKETVER >= 20080311
-packetLen(0x0227, 7) // ZC_GAME_GUARD
+packetLen(0x0227, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0227, 2) // ZC_GAME_GUARD
+packetLen(0x0227, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0227, 31) // ZC_GAME_GUARD
+packetLen(0x0227, 31)
#elif PACKETVER >= 20080219
-packetLen(0x0227, 4) // ZC_GAME_GUARD
+packetLen(0x0227, 4)
#elif PACKETVER >= 20080124
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#endif
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
#if PACKETVER >= 20081217
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0229, 18) // ZC_STATE_CHANGE3
+packetLen(0x0229, 18)
#elif PACKETVER >= 20081126
-packetLen(0x0229, 7) // ZC_STATE_CHANGE3
+packetLen(0x0229, 7)
#elif PACKETVER >= 20081119
-packetLen(0x0229, 11) // ZC_STATE_CHANGE3
+packetLen(0x0229, 11)
#elif PACKETVER >= 20081112
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20081029
-packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+packetLen(0x0229, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20081015
-packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+packetLen(0x0229, 6)
#elif PACKETVER >= 20081008
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+packetLen(0x0229, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0229, 10) // ZC_STATE_CHANGE3
+packetLen(0x0229, 10)
#elif PACKETVER >= 20080820
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0229, 3) // ZC_STATE_CHANGE3
+packetLen(0x0229, 3)
#elif PACKETVER >= 20080806
-packetLen(0x0229, 8) // ZC_STATE_CHANGE3
+packetLen(0x0229, 8)
#elif PACKETVER >= 20080730
-packetLen(0x0229, 12) // ZC_STATE_CHANGE3
+packetLen(0x0229, 12)
#elif PACKETVER >= 20080715
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0229, 20) // ZC_STATE_CHANGE3
+packetLen(0x0229, 20)
#elif PACKETVER >= 20080701
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20080617
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0229, 21) // ZC_STATE_CHANGE3
+packetLen(0x0229, 21)
#elif PACKETVER >= 20080603
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20080520
-packetLen(0x0229, 31) // ZC_STATE_CHANGE3
+packetLen(0x0229, 31)
#elif PACKETVER >= 20080507
-packetLen(0x0229, 5) // ZC_STATE_CHANGE3
+packetLen(0x0229, 5)
#elif PACKETVER >= 20080429
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0229, 3) // ZC_STATE_CHANGE3
+packetLen(0x0229, 3)
#elif PACKETVER >= 20080415
-packetLen(0x0229, 7) // ZC_STATE_CHANGE3
+packetLen(0x0229, 7)
#elif PACKETVER >= 20080408
-packetLen(0x0229, 5) // ZC_STATE_CHANGE3
+packetLen(0x0229, 5)
#elif PACKETVER >= 20080401
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+packetLen(0x0229, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0229, 22) // ZC_STATE_CHANGE3
+packetLen(0x0229, 22)
#elif PACKETVER >= 20080304
-packetLen(0x0229, 33) // ZC_STATE_CHANGE3
+packetLen(0x0229, 33)
#elif PACKETVER >= 20080226
-packetLen(0x0229, 182) // ZC_STATE_CHANGE3
+packetLen(0x0229, 182)
#elif PACKETVER >= 20080219
-packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+packetLen(0x0229, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0229, 22) // ZC_STATE_CHANGE3
+packetLen(0x0229, 22)
#elif PACKETVER >= 20080102
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
#endif
// Packet: 0x022a
#if PACKETVER >= 20081217
-packetLen(0x022a, 30) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 30)
#elif PACKETVER >= 20081126
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20081119
-packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 8)
#elif PACKETVER >= 20081112
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20081029
-packetLen(0x022a, 4) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 4)
#elif PACKETVER >= 20081022
-packetLen(0x022a, 282) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 282)
#elif PACKETVER >= 20081015
-packetLen(0x022a, 19) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 19)
#elif PACKETVER >= 20081008
-packetLen(0x022a, 6) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 6)
#elif PACKETVER >= 20080917
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080910
-packetLen(0x022a, 21) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 21)
#elif PACKETVER >= 20080903
-packetLen(0x022a, 26) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 26)
#elif PACKETVER >= 20080827
-packetLen(0x022a, 13) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 13)
#elif PACKETVER >= 20080806
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080730
-packetLen(0x022a, 26) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 26)
#elif PACKETVER >= 20080722
-packetLen(0x022a, 66) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 66)
#elif PACKETVER >= 20080701
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080624
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080617
-packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 8)
#elif PACKETVER >= 20080520
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080513
-packetLen(0x022a, 5) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 5)
#elif PACKETVER >= 20080507
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080429
-packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 3)
#elif PACKETVER >= 20080422
-packetLen(0x022a, 23) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 23)
#elif PACKETVER >= 20080415
-packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 3)
#elif PACKETVER >= 20080408
-packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 10)
#elif PACKETVER >= 20080401
-packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 8)
#elif PACKETVER >= 20080325
-packetLen(0x022a, 114) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 114)
#elif PACKETVER >= 20080318
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080311
-packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 10)
#elif PACKETVER >= 20080304
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080124
-packetLen(0x022a, 8) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 8)
#elif PACKETVER >= 20080102
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20081217
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20081126
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20081119
-packetLen(0x022b, 2) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 2)
#elif PACKETVER >= 20081112
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081022
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20081015
-packetLen(0x022b, 282) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 282)
#elif PACKETVER >= 20081008
-packetLen(0x022b, 3) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 3)
#elif PACKETVER >= 20081001
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20080806
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080730
-packetLen(0x022b, 4) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 4)
#elif PACKETVER >= 20080701
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080624
-packetLen(0x022b, 90) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 90)
#elif PACKETVER >= 20080617
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20080610
-packetLen(0x022b, 2) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 2)
#elif PACKETVER >= 20080603
-packetLen(0x022b, 18) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 18)
#elif PACKETVER >= 20080528
-packetLen(0x022b, 7) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 7)
#elif PACKETVER >= 20080520
-packetLen(0x022b, 10) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 10)
#elif PACKETVER >= 20080513
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080507
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20080429
-packetLen(0x022b, 26) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 26)
#elif PACKETVER >= 20080415
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080408
-packetLen(0x022b, 27) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 27)
#elif PACKETVER >= 20080401
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20080325
-packetLen(0x022b, 282) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 282)
#elif PACKETVER >= 20080318
-packetLen(0x022b, 102) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 102)
#elif PACKETVER >= 20080311
-packetLen(0x022b, 10) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 10)
#elif PACKETVER >= 20080304
-packetLen(0x022b, 8) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 8)
#elif PACKETVER >= 20080219
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080124
-packetLen(0x022b, 23) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 23)
#elif PACKETVER >= 20080102
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20081217
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20081203
-packetLen(0x022c, 54) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 54)
#elif PACKETVER >= 20081126
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20081119
-packetLen(0x022c, 60) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 60)
#elif PACKETVER >= 20081112
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20081029
-packetLen(0x022c, 8) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 8)
#elif PACKETVER >= 20081022
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20081015
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20081008
-packetLen(0x022c, 13) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 13)
#elif PACKETVER >= 20081001
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080924
-packetLen(0x022c, 15) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 15)
#elif PACKETVER >= 20080917
-packetLen(0x022c, 10) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 10)
#elif PACKETVER >= 20080910
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080903
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080827
-packetLen(0x022c, 282) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 282)
#elif PACKETVER >= 20080730
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080722
-packetLen(0x022c, 2) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 2)
#elif PACKETVER >= 20080715
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080708
-packetLen(0x022c, 59) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 59)
#elif PACKETVER >= 20080603
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080520
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080513
-packetLen(0x022c, 8) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 8)
#elif PACKETVER >= 20080507
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080429
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080422
-packetLen(0x022c, 33) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 33)
#elif PACKETVER >= 20080415
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080408
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080401
-packetLen(0x022c, 4) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 4)
#elif PACKETVER >= 20080325
-packetLen(0x022c, 68) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 68)
#elif PACKETVER >= 20080318
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x022c, 10) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 10)
#elif PACKETVER >= 20080226
-packetLen(0x022c, 31) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 31)
#elif PACKETVER >= 20080219
-packetLen(0x022c, 53) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 53)
#elif PACKETVER >= 20080124
-packetLen(0x022c, 22) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 22)
#elif PACKETVER >= 20080102
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#endif
// Packet: 0x022d
#if PACKETVER >= 20081217
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20081203
-packetLen(0x022d, 44) // CZ_COMMAND_MER
+packetLen(0x022d, 44)
#elif PACKETVER >= 20081126
-packetLen(0x022d, 20) // CZ_COMMAND_MER
+packetLen(0x022d, 20)
#elif PACKETVER >= 20081112
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20081022
-packetLen(0x022d, 4) // CZ_COMMAND_MER
+packetLen(0x022d, 4)
#elif PACKETVER >= 20081015
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20081008
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20080730
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20080722
-packetLen(0x022d, 4) // CZ_COMMAND_MER
+packetLen(0x022d, 4)
#elif PACKETVER >= 20080715
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20080708
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20080701
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080520
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20080513
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20080507
-packetLen(0x022d, 29) // CZ_COMMAND_MER
+packetLen(0x022d, 29)
#elif PACKETVER >= 20080429
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20080422
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20080408
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20080401
-packetLen(0x022d, 30) // CZ_COMMAND_MER
+packetLen(0x022d, 30)
#elif PACKETVER >= 20080325
-packetLen(0x022d, 11) // CZ_COMMAND_MER
+packetLen(0x022d, 11)
#elif PACKETVER >= 20080318
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080311
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20080226
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080219
-packetLen(0x022d, 9) // CZ_COMMAND_MER
+packetLen(0x022d, 9)
#elif PACKETVER >= 20080124
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080102
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
#if PACKETVER >= 20081217
-packetLen(0x022e, 186) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 186)
#elif PACKETVER >= 20081203
-packetLen(0x022e, 3) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 3)
#elif PACKETVER >= 20081126
-packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 9)
#elif PACKETVER >= 20081119
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20081112
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20081029
-packetLen(0x022e, 60) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 60)
#elif PACKETVER >= 20081022
-packetLen(0x022e, 3) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 3)
#elif PACKETVER >= 20081015
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20081008
-packetLen(0x022e, 17) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 17)
#elif PACKETVER >= 20080924
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080917
-packetLen(0x022e, 10) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 10)
#elif PACKETVER >= 20080910
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080903
-packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 30)
#elif PACKETVER >= 20080820
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080813
-packetLen(0x022e, 18) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 18)
#elif PACKETVER >= 20080730
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080722
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080708
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080701
-packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 30)
#elif PACKETVER >= 20080624
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080610
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080603
-packetLen(0x022e, 10) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 10)
#elif PACKETVER >= 20080520
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080513
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080507
-packetLen(0x022e, 8) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 8)
#elif PACKETVER >= 20080429
-packetLen(0x022e, 3) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 3)
#elif PACKETVER >= 20080422
-packetLen(0x022e, 7) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 7)
#elif PACKETVER >= 20080415
-packetLen(0x022e, 30) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 30)
#elif PACKETVER >= 20080408
-packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 9)
#elif PACKETVER >= 20080401
-packetLen(0x022e, 2) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 2)
#elif PACKETVER >= 20080325
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080318
-packetLen(0x022e, 28) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 28)
#elif PACKETVER >= 20080311
-packetLen(0x022e, 5) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 5)
#elif PACKETVER >= 20080304
-packetLen(0x022e, 55) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 55)
#elif PACKETVER >= 20080226
-packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 9)
#elif PACKETVER >= 20080219
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080124
-packetLen(0x022e, 4) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 4)
#elif PACKETVER >= 20080102
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#endif
// Packet: 0x022f
#if PACKETVER >= 20081217
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20081203
-packetLen(0x022f, 9) // ZC_FEED_MER
+packetLen(0x022f, 9)
#elif PACKETVER >= 20081126
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20081119
-packetLen(0x022f, 30) // ZC_FEED_MER
+packetLen(0x022f, 30)
#elif PACKETVER >= 20081112
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20081029
-packetLen(0x022f, 10) // ZC_FEED_MER
+packetLen(0x022f, 10)
#elif PACKETVER >= 20081015
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20081008
-packetLen(0x022f, 30) // ZC_FEED_MER
+packetLen(0x022f, 30)
#elif PACKETVER >= 20081001
-packetLen(0x022f, 182) // ZC_FEED_MER
+packetLen(0x022f, 182)
#elif PACKETVER >= 20080924
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080917
-packetLen(0x022f, 6) // ZC_FEED_MER
+packetLen(0x022f, 6)
#elif PACKETVER >= 20080813
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080806
-packetLen(0x022f, 10) // ZC_FEED_MER
+packetLen(0x022f, 10)
#elif PACKETVER >= 20080722
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080715
-packetLen(0x022f, 10) // ZC_FEED_MER
+packetLen(0x022f, 10)
#elif PACKETVER >= 20080701
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080624
-packetLen(0x022f, 10) // ZC_FEED_MER
+packetLen(0x022f, 10)
#elif PACKETVER >= 20080617
-packetLen(0x022f, 4) // ZC_FEED_MER
+packetLen(0x022f, 4)
#elif PACKETVER >= 20080610
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080603
-packetLen(0x022f, 22) // ZC_FEED_MER
+packetLen(0x022f, 22)
#elif PACKETVER >= 20080528
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080520
-packetLen(0x022f, 26) // ZC_FEED_MER
+packetLen(0x022f, 26)
#elif PACKETVER >= 20080429
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080422
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
#elif PACKETVER >= 20080415
-packetLen(0x022f, 3) // ZC_FEED_MER
+packetLen(0x022f, 3)
#elif PACKETVER >= 20080401
-packetLen(0x022f, 10) // ZC_FEED_MER
+packetLen(0x022f, 10)
#elif PACKETVER >= 20080325
-packetLen(0x022f, 67) // ZC_FEED_MER
+packetLen(0x022f, 67)
#elif PACKETVER >= 20080318
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
#elif PACKETVER >= 20080304
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20080226
-packetLen(0x022f, 26) // ZC_FEED_MER
+packetLen(0x022f, 26)
#elif PACKETVER >= 20080219
-packetLen(0x022f, 282) // ZC_FEED_MER
+packetLen(0x022f, 282)
#elif PACKETVER >= 20080124
-packetLen(0x022f, 6) // ZC_FEED_MER
+packetLen(0x022f, 6)
#elif PACKETVER >= 20080102
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
#if PACKETVER >= 20081217
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0230, 2) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 2)
#elif PACKETVER >= 20081126
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 4)
#elif PACKETVER >= 20081112
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0230, 10) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 10)
#elif PACKETVER >= 20081029
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0230, 8) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 8)
#elif PACKETVER >= 20081015
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0230, 10) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 10)
#elif PACKETVER >= 20080924
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0230, 71) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 71)
#elif PACKETVER >= 20080903
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0230, 22) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 22)
#elif PACKETVER >= 20080813
-packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 6)
#elif PACKETVER >= 20080722
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0230, 6) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0230, 43) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 43)
#elif PACKETVER >= 20080325
-packetLen(0x0230, 8) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 8)
#elif PACKETVER >= 20080318
-packetLen(0x0230, 4) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0230, 3) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0230, 16) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 16)
#elif PACKETVER >= 20080226
-packetLen(0x0230, 28) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 28)
#elif PACKETVER >= 20080219
-packetLen(0x0230, 54) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 54)
#elif PACKETVER >= 20080124
-packetLen(0x0230, 3) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
#endif
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
#if PACKETVER >= 20081217
-packetLen(0x0232, 3) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 3)
#elif PACKETVER >= 20081203
-packetLen(0x0232, 58) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 58)
#elif PACKETVER >= 20081126
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0232, 8) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 8)
#elif PACKETVER >= 20081112
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0232, 102) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 102)
#elif PACKETVER >= 20081008
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0232, 8) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 8)
#elif PACKETVER >= 20080910
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0232, 6) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 6)
#elif PACKETVER >= 20080730
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 2)
#elif PACKETVER >= 20080715
-packetLen(0x0232, 28) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 28)
#elif PACKETVER >= 20080708
-packetLen(0x0232, 12) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 12)
#elif PACKETVER >= 20080701
-packetLen(0x0232, 28) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 28)
#elif PACKETVER >= 20080624
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0232, 6) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0232, 30) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 30)
#elif PACKETVER >= 20080603
-packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0232, 4) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 4)
#elif PACKETVER >= 20080520
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080513
-packetLen(0x0232, 17) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 17)
#elif PACKETVER >= 20080429
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#elif PACKETVER >= 20080415
-packetLen(0x0232, 10) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 10)
#elif PACKETVER >= 20080408
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0232, 10) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0232, 5) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0232, 36) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 36)
#elif PACKETVER >= 20080124
-packetLen(0x0232, 17) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 17)
#elif PACKETVER >= 20080102
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#endif
// Packet: 0x0233
#if PACKETVER >= 20081217
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0233, 32) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 32)
#elif PACKETVER >= 20081112
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20081029
-packetLen(0x0233, 16) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 16)
#elif PACKETVER >= 20081022
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0233, 3) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 3)
#elif PACKETVER >= 20081001
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0233, 5) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 5)
#elif PACKETVER >= 20080910
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 2)
#elif PACKETVER >= 20080827
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20080813
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0233, 42) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 42)
#elif PACKETVER >= 20080722
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0233, 9) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 9)
#elif PACKETVER >= 20080624
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0233, 66) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 66)
#elif PACKETVER >= 20080603
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0233, 15) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 15)
#elif PACKETVER >= 20080513
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20080507
-packetLen(0x0233, 68) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 68)
#elif PACKETVER >= 20080429
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#elif PACKETVER >= 20080415
-packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 10)
#elif PACKETVER >= 20080408
-packetLen(0x0233, 22) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 22)
#elif PACKETVER >= 20080325
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20080318
-packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0233, 4) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0233, 8) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0233, 23) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 23)
#elif PACKETVER >= 20080102
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#endif
// Packet: 0x0234
#if PACKETVER >= 20081217
-packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 10)
#elif PACKETVER >= 20081112
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0234, 20) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 20)
#elif PACKETVER >= 20081029
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0234, 60) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 60)
#elif PACKETVER >= 20080910
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0234, 3) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 3)
#elif PACKETVER >= 20080813
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0234, 4) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 4)
#elif PACKETVER >= 20080730
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0234, 58) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 58)
#elif PACKETVER >= 20080715
-packetLen(0x0234, 26) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 26)
#elif PACKETVER >= 20080624
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20080528
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 10)
#elif PACKETVER >= 20080429
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20080415
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0234, 2) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0234, 16) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 16)
#elif PACKETVER >= 20080325
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0234, 3) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0234, 43) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 43)
#elif PACKETVER >= 20080304
-packetLen(0x0234, 4) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0234, 15) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 15)
#elif PACKETVER >= 20080219
-packetLen(0x0234, 282) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 282)
#elif PACKETVER >= 20080124
-packetLen(0x0234, 26) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#endif
// Packet: 0x0235
#if PACKETVER >= 20081217
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0235, 5) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 5)
#elif PACKETVER >= 20081126
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0235, 58) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 58)
#elif PACKETVER >= 20081112
-packetLen(0x0235, 30) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 30)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0235, 59) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 59)
#elif PACKETVER >= 20081029
-packetLen(0x0235, 282) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 282)
#elif PACKETVER >= 20081022
-packetLen(0x0235, 3) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 3)
#elif PACKETVER >= 20081015
-packetLen(0x0235, 26) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 26)
#elif PACKETVER >= 20081008
-packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 6)
#elif PACKETVER >= 20080903
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0235, 7) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 7)
#elif PACKETVER >= 20080813
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0235, 9) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 9)
#elif PACKETVER >= 20080722
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0235, 9) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 9)
#elif PACKETVER >= 20080708
-packetLen(0x0235, 2) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 2)
#elif PACKETVER >= 20080701
-packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0235, 12) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 12)
#elif PACKETVER >= 20080520
-packetLen(0x0235, 5) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 5)
#elif PACKETVER >= 20080422
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0235, 28) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 28)
#elif PACKETVER >= 20080408
-packetLen(0x0235, 2) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 2)
#elif PACKETVER >= 20080401
-packetLen(0x0235, 19) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 19)
#elif PACKETVER >= 20080325
-packetLen(0x0235, 42) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 42)
#elif PACKETVER >= 20080318
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0235, 44) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 44)
#elif PACKETVER >= 20080304
-packetLen(0x0235, 10) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0235, 33) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 33)
#elif PACKETVER >= 20080219
-packetLen(0x0235, 15) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 15)
#elif PACKETVER >= 20080124
-packetLen(0x0235, 30) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#endif
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
#if PACKETVER >= 20081217
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0237, 3) // CZ_KILLER_RANK
+packetLen(0x0237, 3)
#elif PACKETVER >= 20081119
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0237, 15) // CZ_KILLER_RANK
+packetLen(0x0237, 15)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081015
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0237, 23) // CZ_KILLER_RANK
+packetLen(0x0237, 23)
#elif PACKETVER >= 20081001
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0237, 5) // CZ_KILLER_RANK
+packetLen(0x0237, 5)
#elif PACKETVER >= 20080917
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0237, 9) // CZ_KILLER_RANK
+packetLen(0x0237, 9)
#elif PACKETVER >= 20080820
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0237, 54) // CZ_KILLER_RANK
+packetLen(0x0237, 54)
#elif PACKETVER >= 20080806
-packetLen(0x0237, 8) // CZ_KILLER_RANK
+packetLen(0x0237, 8)
#elif PACKETVER >= 20080730
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#elif PACKETVER >= 20080722
-packetLen(0x0237, 6) // CZ_KILLER_RANK
+packetLen(0x0237, 6)
#elif PACKETVER >= 20080715
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0237, 11) // CZ_KILLER_RANK
+packetLen(0x0237, 11)
#elif PACKETVER >= 20080701
-packetLen(0x0237, 29) // CZ_KILLER_RANK
+packetLen(0x0237, 29)
#elif PACKETVER >= 20080624
-packetLen(0x0237, 14) // CZ_KILLER_RANK
+packetLen(0x0237, 14)
#elif PACKETVER >= 20080617
-packetLen(0x0237, 5) // CZ_KILLER_RANK
+packetLen(0x0237, 5)
#elif PACKETVER >= 20080610
-packetLen(0x0237, 4) // CZ_KILLER_RANK
+packetLen(0x0237, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0237, 19) // CZ_KILLER_RANK
+packetLen(0x0237, 19)
#elif PACKETVER >= 20080520
-packetLen(0x0237, 3) // CZ_KILLER_RANK
+packetLen(0x0237, 3)
#elif PACKETVER >= 20080507
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0237, 24) // CZ_KILLER_RANK
+packetLen(0x0237, 24)
#elif PACKETVER >= 20080422
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#elif PACKETVER >= 20080415
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0237, 60) // CZ_KILLER_RANK
+packetLen(0x0237, 60)
#elif PACKETVER >= 20080401
-packetLen(0x0237, 20) // CZ_KILLER_RANK
+packetLen(0x0237, 20)
#elif PACKETVER >= 20080325
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0237, 8) // CZ_KILLER_RANK
+packetLen(0x0237, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0237, 54) // CZ_KILLER_RANK
+packetLen(0x0237, 54)
#elif PACKETVER >= 20080304
-packetLen(0x0237, 3) // CZ_KILLER_RANK
+packetLen(0x0237, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0237, 10) // CZ_KILLER_RANK
+packetLen(0x0237, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0237, 3) // CZ_KILLER_RANK
+packetLen(0x0237, 3)
#elif PACKETVER >= 20080124
-packetLen(0x0237, 4) // CZ_KILLER_RANK
+packetLen(0x0237, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#endif
// Packet: 0x0238
#if PACKETVER >= 20081217
-packetLen(0x0238, 22) // ZC_KILLER_RANK
+packetLen(0x0238, 22)
#elif PACKETVER >= 20081203
-packetLen(0x0238, 9) // ZC_KILLER_RANK
+packetLen(0x0238, 9)
#elif PACKETVER >= 20081126
-packetLen(0x0238, 2) // ZC_KILLER_RANK
+packetLen(0x0238, 2)
#elif PACKETVER >= 20081119
-packetLen(0x0238, 35) // ZC_KILLER_RANK
+packetLen(0x0238, 35)
#elif PACKETVER >= 20081112
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081022
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0238, 8) // ZC_KILLER_RANK
+packetLen(0x0238, 8)
#elif PACKETVER >= 20081008
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0238, 14) // ZC_KILLER_RANK
+packetLen(0x0238, 14)
#elif PACKETVER >= 20080917
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0238, 71) // ZC_KILLER_RANK
+packetLen(0x0238, 71)
#elif PACKETVER >= 20080903
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0238, 10) // ZC_KILLER_RANK
+packetLen(0x0238, 10)
#elif PACKETVER >= 20080813
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0238, 71) // ZC_KILLER_RANK
+packetLen(0x0238, 71)
#elif PACKETVER >= 20080722
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20080624
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0238, 21) // ZC_KILLER_RANK
+packetLen(0x0238, 21)
#elif PACKETVER >= 20080513
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0238, 10) // ZC_KILLER_RANK
+packetLen(0x0238, 10)
#elif PACKETVER >= 20080415
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0238, 10) // ZC_KILLER_RANK
+packetLen(0x0238, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0238, 27) // ZC_KILLER_RANK
+packetLen(0x0238, 27)
#elif PACKETVER >= 20080304
-packetLen(0x0238, 14) // ZC_KILLER_RANK
+packetLen(0x0238, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
#endif
// Packet: 0x0239
#if PACKETVER >= 20081217
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0239, 86) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 86)
#elif PACKETVER >= 20081126
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0239, 29) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 29)
#elif PACKETVER >= 20081112
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081015
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0239, 19) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 19)
#elif PACKETVER >= 20080917
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0239, 3) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 3)
#elif PACKETVER >= 20080903
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080820
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0239, 12) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 12)
#elif PACKETVER >= 20080806
-packetLen(0x0239, 32) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 32)
#elif PACKETVER >= 20080730
-packetLen(0x0239, 3) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 3)
#elif PACKETVER >= 20080722
-packetLen(0x0239, 6) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 6)
#elif PACKETVER >= 20080715
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0239, 30) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 30)
#elif PACKETVER >= 20080624
-packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0239, 2) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0239, 29) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 29)
#elif PACKETVER >= 20080520
-packetLen(0x0239, 282) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 282)
#elif PACKETVER >= 20080513
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0239, 5) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 5)
#elif PACKETVER >= 20080429
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080422
-packetLen(0x0239, 5) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 5)
#elif PACKETVER >= 20080415
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080408
-packetLen(0x0239, 36) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 36)
#elif PACKETVER >= 20080401
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080325
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080318
-packetLen(0x0239, 26) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0239, 39) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 39)
#elif PACKETVER >= 20080219
-packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 8)
#elif PACKETVER >= 20080124
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
#endif
// Packet: 0x023a
#if PACKETVER >= 20081217
-packetLen(0x023a, 90) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 90)
#elif PACKETVER >= 20081203
-packetLen(0x023a, 97) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 97)
#elif PACKETVER >= 20081126
-packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 10)
#elif PACKETVER >= 20081119
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20081112
-packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 6)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20081029
-packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 2)
#elif PACKETVER >= 20081022
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20081015
-packetLen(0x023a, 54) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 54)
#elif PACKETVER >= 20080910
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080903
-packetLen(0x023a, 3) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 3)
#elif PACKETVER >= 20080827
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080820
-packetLen(0x023a, 26) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 26)
#elif PACKETVER >= 20080813
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080806
-packetLen(0x023a, 28) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 28)
#elif PACKETVER >= 20080715
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080708
-packetLen(0x023a, 9) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 9)
#elif PACKETVER >= 20080701
-packetLen(0x023a, 13) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 13)
#elif PACKETVER >= 20080624
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080617
-packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 10)
#elif PACKETVER >= 20080513
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x023a, 28) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 28)
#elif PACKETVER >= 20080429
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#elif PACKETVER >= 20080422
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080415
-packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 2)
#elif PACKETVER >= 20080401
-packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 6)
#elif PACKETVER >= 20080325
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080318
-packetLen(0x023a, 8) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 8)
#elif PACKETVER >= 20080311
-packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 10)
#elif PACKETVER >= 20080304
-packetLen(0x023a, 2) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x023a, 11) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 11)
#elif PACKETVER >= 20080124
-packetLen(0x023a, 71) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 71)
#elif PACKETVER >= 20080102
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#endif
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
#if PACKETVER >= 20081217
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20081203
-packetLen(0x023c, 30) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 30)
#elif PACKETVER >= 20081126
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20081119
-packetLen(0x023c, 5) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 5)
#elif PACKETVER >= 20081112
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20081022
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20081015
-packetLen(0x023c, 18) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 18)
#elif PACKETVER >= 20081008
-packetLen(0x023c, 3) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 3)
#elif PACKETVER >= 20080910
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080903
-packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 10)
#elif PACKETVER >= 20080827
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080820
-packetLen(0x023c, 4) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 4)
#elif PACKETVER >= 20080813
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20080730
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080722
-packetLen(0x023c, 3) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 3)
#elif PACKETVER >= 20080708
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080701
-packetLen(0x023c, 60) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 60)
#elif PACKETVER >= 20080617
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x023c, 4) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 4)
#elif PACKETVER >= 20080513
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080507
-packetLen(0x023c, 30) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 30)
#elif PACKETVER >= 20080429
-packetLen(0x023c, 3) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 3)
#elif PACKETVER >= 20080422
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080415
-packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 10)
#elif PACKETVER >= 20080408
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20080401
-packetLen(0x023c, 12) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 12)
#elif PACKETVER >= 20080325
-packetLen(0x023c, 79) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 79)
#elif PACKETVER >= 20080318
-packetLen(0x023c, 10) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 10)
#elif PACKETVER >= 20080311
-packetLen(0x023c, 21) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 21)
#elif PACKETVER >= 20080226
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20080219
-packetLen(0x023c, 5) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 5)
#elif PACKETVER >= 20080124
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#endif
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
#if PACKETVER >= 20081126
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0274, 11) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 11)
#elif PACKETVER >= 20081112
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 3)
#elif PACKETVER >= 20081015
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0274, 6) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 6)
#elif PACKETVER >= 20081001
-packetLen(0x0274, 186) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 186)
#elif PACKETVER >= 20080924
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#elif PACKETVER >= 20080917
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0274, 6) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 6)
#elif PACKETVER >= 20080903
-packetLen(0x0274, 35) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 35)
#elif PACKETVER >= 20080715
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0274, 67) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 67)
#elif PACKETVER >= 20080617
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0274, 4) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 4)
#elif PACKETVER >= 20080603
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080528
-packetLen(0x0274, 10) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 10)
#elif PACKETVER >= 20080520
-packetLen(0x0274, 30) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0274, 7) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 7)
#elif PACKETVER >= 20080507
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0274, 7) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 7)
#elif PACKETVER >= 20080422
-packetLen(0x0274, 282) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 282)
#elif PACKETVER >= 20080415
-packetLen(0x0274, 6) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 6)
#elif PACKETVER >= 20080408
-packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0274, 2) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0274, 53) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 53)
#elif PACKETVER >= 20080318
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0274, 67) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 67)
#elif PACKETVER >= 20080304
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0274, 24) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 24)
#elif PACKETVER >= 20080219
-packetLen(0x0274, 32) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 32)
#elif PACKETVER >= 20080124
-packetLen(0x0274, 3) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#endif
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
#if PACKETVER >= 20080722
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
#elif PACKETVER >= 20080715
-packetLen(0x027c, 96) // CA_LOGIN4
+packetLen(0x027c, 96)
#elif PACKETVER >= 20080102
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
#endif
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
#if PACKETVER >= 20081105
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0287, 60) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 60)
#elif PACKETVER >= 20081022
-packetLen(0x0287, 42) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 42)
#elif PACKETVER >= 20081015
-packetLen(0x0287, 4) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 4)
#elif PACKETVER >= 20080924
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0287, 114) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 114)
#elif PACKETVER >= 20080820
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0287, 97) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 97)
#elif PACKETVER >= 20080806
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0287, 5) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 5)
#elif PACKETVER >= 20080722
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0287, 6) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 6)
#elif PACKETVER >= 20080708
-packetLen(0x0287, 30) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 30)
#elif PACKETVER >= 20080701
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0287, 26) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 26)
#elif PACKETVER >= 20080617
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 2)
#elif PACKETVER >= 20080513
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 11)
#elif PACKETVER >= 20080422
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0287, 31) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 31)
#elif PACKETVER >= 20080408
-packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 3)
#elif PACKETVER >= 20080401
-packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0287, 4) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 4)
#elif PACKETVER >= 20080318
-packetLen(0x0287, 32) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 32)
#elif PACKETVER >= 20080311
-packetLen(0x0287, 18) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 18)
#elif PACKETVER >= 20080304
-packetLen(0x0287, 10) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 11)
#elif PACKETVER >= 20080124
-packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#endif
// Packet: 0x0288
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
#if PACKETVER >= 20081203
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0295, 7) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 7)
#elif PACKETVER >= 20081119
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0295, 8) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 8)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 6)
#elif PACKETVER >= 20081029
-packetLen(0x0295, 5) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 5)
#elif PACKETVER >= 20081015
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 6)
#elif PACKETVER >= 20081001
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0295, 14) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 14)
#elif PACKETVER >= 20080910
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0295, 2) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 2)
#elif PACKETVER >= 20080827
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 6)
#elif PACKETVER >= 20080806
-packetLen(0x0295, 54) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 54)
#elif PACKETVER >= 20080715
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0295, 11) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 11)
#elif PACKETVER >= 20080701
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0295, 31) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 31)
#elif PACKETVER >= 20080610
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080603
-packetLen(0x0295, 30) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 30)
#elif PACKETVER >= 20080513
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080507
-packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 6)
#elif PACKETVER >= 20080429
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080422
-packetLen(0x0295, 53) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 53)
#elif PACKETVER >= 20080415
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080408
-packetLen(0x0295, 10) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 10)
#elif PACKETVER >= 20080401
-packetLen(0x0295, 2) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 2)
#elif PACKETVER >= 20080325
-packetLen(0x0295, 66) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 66)
#elif PACKETVER >= 20080318
-packetLen(0x0295, 8) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0295, 5) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0295, 3) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 6)
#elif PACKETVER >= 20080124
-packetLen(0x0295, 34) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 34)
#elif PACKETVER >= 20080102
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#endif
// Packet: 0x0296
#if PACKETVER >= 20081217
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0296, 23) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 23)
#elif PACKETVER >= 20081126
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0296, 21) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 21)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0296, 16) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 16)
#elif PACKETVER >= 20081008
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0296, 19) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 19)
#elif PACKETVER >= 20080924
-packetLen(0x0296, 14) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 14)
#elif PACKETVER >= 20080813
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0296, 86) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 86)
#elif PACKETVER >= 20080730
-packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 4)
#elif PACKETVER >= 20080715
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0296, 282) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 282)
#elif PACKETVER >= 20080624
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0296, 19) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 19)
#elif PACKETVER >= 20080610
-packetLen(0x0296, 17) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 17)
#elif PACKETVER >= 20080528
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080520
-packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 5)
#elif PACKETVER >= 20080513
-packetLen(0x0296, 53) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 53)
#elif PACKETVER >= 20080507
-packetLen(0x0296, 3) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 3)
#elif PACKETVER >= 20080422
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080415
-packetLen(0x0296, 28) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 28)
#elif PACKETVER >= 20080408
-packetLen(0x0296, 14) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 14)
#elif PACKETVER >= 20080401
-packetLen(0x0296, 20) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 20)
#elif PACKETVER >= 20080325
-packetLen(0x0296, 9) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 9)
#elif PACKETVER >= 20080318
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0296, 29) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 29)
#elif PACKETVER >= 20080304
-packetLen(0x0296, 90) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 90)
#elif PACKETVER >= 20080226
-packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 5)
#elif PACKETVER >= 20080124
-packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#endif
// Packet: 0x0297
#if PACKETVER >= 20081217
-packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 6)
#elif PACKETVER >= 20081203
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0297, 9) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 9)
#elif PACKETVER >= 20081105
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 2)
#elif PACKETVER >= 20081022
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 6)
#elif PACKETVER >= 20080820
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0297, 14) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 14)
#elif PACKETVER >= 20080806
-packetLen(0x0297, 8) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 8)
#elif PACKETVER >= 20080730
-packetLen(0x0297, 86) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 86)
#elif PACKETVER >= 20080715
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0297, 67) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 67)
#elif PACKETVER >= 20080701
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 6)
#elif PACKETVER >= 20080603
-packetLen(0x0297, 9) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 9)
#elif PACKETVER >= 20080513
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080429
-packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 2)
#elif PACKETVER >= 20080422
-packetLen(0x0297, 8) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 8)
#elif PACKETVER >= 20080408
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080401
-packetLen(0x0297, 3) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 3)
#elif PACKETVER >= 20080325
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080318
-packetLen(0x0297, 36) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 36)
#elif PACKETVER >= 20080311
-packetLen(0x0297, 2) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0297, 11) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 11)
#elif PACKETVER >= 20080226
-packetLen(0x0297, 5) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080124
-packetLen(0x0297, 29) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 29)
#elif PACKETVER >= 20080102
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#endif
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
#if PACKETVER >= 20081217
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20081203
-packetLen(0x029a, 7) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 7)
#elif PACKETVER >= 20081119
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20081112
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20081029
-packetLen(0x029a, 20) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 20)
#elif PACKETVER >= 20081022
-packetLen(0x029a, 6) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 6)
#elif PACKETVER >= 20080924
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080917
-packetLen(0x029a, 4) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 4)
#elif PACKETVER >= 20080910
-packetLen(0x029a, 2) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 2)
#elif PACKETVER >= 20080813
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080806
-packetLen(0x029a, 9) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 9)
#elif PACKETVER >= 20080715
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080708
-packetLen(0x029a, 6) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 6)
#elif PACKETVER >= 20080610
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080603
-packetLen(0x029a, 28) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 28)
#elif PACKETVER >= 20080528
-packetLen(0x029a, 7) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 7)
#elif PACKETVER >= 20080520
-packetLen(0x029a, 55) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 55)
#elif PACKETVER >= 20080513
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080507
-packetLen(0x029a, 12) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 12)
#elif PACKETVER >= 20080429
-packetLen(0x029a, 44) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 44)
#elif PACKETVER >= 20080422
-packetLen(0x029a, 11) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 11)
#elif PACKETVER >= 20080408
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080401
-packetLen(0x029a, 14) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 14)
#elif PACKETVER >= 20080325
-packetLen(0x029a, 2) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 2)
#elif PACKETVER >= 20080318
-packetLen(0x029a, 16) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 16)
#elif PACKETVER >= 20080311
-packetLen(0x029a, 8) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 8)
#elif PACKETVER >= 20080304
-packetLen(0x029a, 21) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 21)
#elif PACKETVER >= 20080226
-packetLen(0x029a, 3) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 3)
#elif PACKETVER >= 20080219
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080124
-packetLen(0x029a, 30) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 30)
#elif PACKETVER >= 20080102
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
#if PACKETVER >= 20080122
// removed
#elif PACKETVER >= 20080108
-packetLen(0x02a6, 204) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 204)
#elif PACKETVER >= 20080102
-packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 22)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20080122
// removed
#elif PACKETVER >= 20080108
-packetLen(0x02a7, 204) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 204)
#elif PACKETVER >= 20080102
-packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 22)
#endif
// Packet: 0x02a8
#if PACKETVER >= 20080108
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+packetLen(0x02a8, 162)
#endif
// Packet: 0x02a9
#if PACKETVER >= 20080108
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+packetLen(0x02a9, 58)
#endif
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02bf
#if PACKETVER >= 20080318
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+packetLen(0x02bf, 10)
#endif
// Packet: 0x02c0
#if PACKETVER >= 20080318
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+packetLen(0x02c0, 2)
#endif
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
#if PACKETVER >= 20080304
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#elif PACKETVER >= 20080226
-packetLen(0x02d4, 30) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 30)
#elif PACKETVER >= 20080219
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#elif PACKETVER >= 20080124
-packetLen(0x02d4, 32) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 32)
#elif PACKETVER >= 20080102
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
#if PACKETVER >= 20081217
-packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 6)
#elif PACKETVER >= 20081112
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20081029
-packetLen(0x02e1, 5) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 5)
#elif PACKETVER >= 20081022
-packetLen(0x02e1, 90) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 90)
#elif PACKETVER >= 20081008
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20081001
-packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 6)
#elif PACKETVER >= 20080924
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080917
-packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 6)
#elif PACKETVER >= 20080910
-packetLen(0x02e1, 2) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 2)
#elif PACKETVER >= 20080903
-packetLen(0x02e1, 5) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 5)
#elif PACKETVER >= 20080827
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080820
-packetLen(0x02e1, 13) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 13)
#elif PACKETVER >= 20080813
-packetLen(0x02e1, 2) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 2)
#elif PACKETVER >= 20080730
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080722
-packetLen(0x02e1, 102) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 102)
#elif PACKETVER >= 20080715
-packetLen(0x02e1, 3) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 3)
#elif PACKETVER >= 20080617
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02e1, 26) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 26)
#elif PACKETVER >= 20080603
-packetLen(0x02e1, 8) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 8)
#elif PACKETVER >= 20080528
-packetLen(0x02e1, 10) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 10)
#elif PACKETVER >= 20080520
-packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 6)
#elif PACKETVER >= 20080513
-packetLen(0x02e1, 55) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 55)
#elif PACKETVER >= 20080507
-packetLen(0x02e1, 22) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 22)
#elif PACKETVER >= 20080408
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080401
-packetLen(0x02e1, 9) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 9)
#elif PACKETVER >= 20080325
-packetLen(0x02e1, 26) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 26)
#elif PACKETVER >= 20080311
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20080304
-packetLen(0x02e1, 8) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 8)
#elif PACKETVER >= 20080102
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
#endif
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
#if PACKETVER >= 20081203
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20081119
-packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 6)
#elif PACKETVER >= 20081112
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// ignored packet from 2008-11-12dRagexe
#elif PACKETVER >= 20081105
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20081029
-packetLen(0x02ec, 68) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 68)
#elif PACKETVER >= 20081022
-packetLen(0x02ec, 30) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 30)
#elif PACKETVER >= 20081008
-packetLen(0x02ec, 4) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 4)
#elif PACKETVER >= 20080917
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20080910
-packetLen(0x02ec, 30) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 30)
#elif PACKETVER >= 20080903
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20080827
-packetLen(0x02ec, 26) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 26)
#elif PACKETVER >= 20080820
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20080813
-packetLen(0x02ec, 28) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 28)
#elif PACKETVER >= 20080806
-packetLen(0x02ec, 68) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 68)
#elif PACKETVER >= 20080730
-packetLen(0x02ec, 2) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 2)
#elif PACKETVER >= 20080722
-packetLen(0x02ec, 29) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 29)
#elif PACKETVER >= 20080715
-packetLen(0x02ec, 3) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 3)
#elif PACKETVER >= 20080708
-packetLen(0x02ec, 32) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 32)
#elif PACKETVER >= 20080624
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20080617
-packetLen(0x02ec, 42) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 42)
#elif PACKETVER >= 20080610
-packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 6)
#elif PACKETVER >= 20080603
-packetLen(0x02ec, 4) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 4)
#elif PACKETVER >= 20080528
-packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 6)
#elif PACKETVER >= 20080520
-packetLen(0x02ec, 14) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 14)
#elif PACKETVER >= 20080513
-packetLen(0x02ec, 11) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 11)
#elif PACKETVER >= 20080507
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20080429
-packetLen(0x02ec, 43) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 43)
#elif PACKETVER >= 20080422
-packetLen(0x02ec, 60) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 60)
#elif PACKETVER >= 20080415
-packetLen(0x02ec, 3) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 3)
#elif PACKETVER >= 20080408
-packetLen(0x02ec, 6) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 6)
#elif PACKETVER >= 20080401
-packetLen(0x02ec, 17) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 17)
#elif PACKETVER >= 20080325
-packetLen(0x02ec, 29) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 29)
#elif PACKETVER >= 20080318
-packetLen(0x02ec, 10) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 10)
#elif PACKETVER >= 20080311
-packetLen(0x02ec, 12) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 12)
#elif PACKETVER >= 20080304
-packetLen(0x02ec, 60) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 60)
#elif PACKETVER >= 20080102
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
#endif
// Packet: 0x02ed
#if PACKETVER >= 20081119
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20081112
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081029
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20081022
-packetLen(0x02ed, 30) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 30)
#elif PACKETVER >= 20081015
-packetLen(0x02ed, 5) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 5)
#elif PACKETVER >= 20081008
-packetLen(0x02ed, 4) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 4)
#elif PACKETVER >= 20081001
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080924
-packetLen(0x02ed, 17) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 17)
#elif PACKETVER >= 20080917
-packetLen(0x02ed, 10) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 10)
#elif PACKETVER >= 20080910
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080903
-packetLen(0x02ed, 15) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 15)
#elif PACKETVER >= 20080827
-packetLen(0x02ed, 2) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 2)
#elif PACKETVER >= 20080813
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080806
-packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 6)
#elif PACKETVER >= 20080730
-packetLen(0x02ed, 29) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 29)
#elif PACKETVER >= 20080715
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080708
-packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 6)
#elif PACKETVER >= 20080624
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080617
-packetLen(0x02ed, 60) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 60)
#elif PACKETVER >= 20080610
-packetLen(0x02ed, 7) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 7)
#elif PACKETVER >= 20080603
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080528
-packetLen(0x02ed, 97) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 97)
#elif PACKETVER >= 20080520
-packetLen(0x02ed, 11) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 11)
#elif PACKETVER >= 20080513
-packetLen(0x02ed, 21) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 21)
#elif PACKETVER >= 20080507
-packetLen(0x02ed, 10) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 10)
#elif PACKETVER >= 20080429
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080422
-packetLen(0x02ed, 30) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 30)
#elif PACKETVER >= 20080415
-packetLen(0x02ed, 53) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 53)
#elif PACKETVER >= 20080408
-packetLen(0x02ed, 7) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 7)
#elif PACKETVER >= 20080401
-packetLen(0x02ed, 11) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 11)
#elif PACKETVER >= 20080325
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080318
-packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 6)
#elif PACKETVER >= 20080304
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20080102
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
#endif
// Packet: 0x02ee
#if PACKETVER >= 20081203
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20081126
-packetLen(0x02ee, 6) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 6)
#elif PACKETVER >= 20081119
-packetLen(0x02ee, 26) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 26)
#elif PACKETVER >= 20081112
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x02ee, 14) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 14)
#elif PACKETVER >= 20081029
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#elif PACKETVER >= 20081008
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20081001
-packetLen(0x02ee, 6) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 6)
#elif PACKETVER >= 20080924
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080910
-packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 3)
#elif PACKETVER >= 20080903
-packetLen(0x02ee, 2) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 2)
#elif PACKETVER >= 20080827
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080820
-packetLen(0x02ee, 8) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 8)
#elif PACKETVER >= 20080813
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080806
-packetLen(0x02ee, 6) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 6)
#elif PACKETVER >= 20080730
-packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 4)
#elif PACKETVER >= 20080715
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080708
-packetLen(0x02ee, 36) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 36)
#elif PACKETVER >= 20080610
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080603
-packetLen(0x02ee, 2) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 2)
#elif PACKETVER >= 20080528
-packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 3)
#elif PACKETVER >= 20080520
-packetLen(0x02ee, 28) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 28)
#elif PACKETVER >= 20080507
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080429
-packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 4)
#elif PACKETVER >= 20080422
-packetLen(0x02ee, 97) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 97)
#elif PACKETVER >= 20080415
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#elif PACKETVER >= 20080408
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080401
-packetLen(0x02ee, 42) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 42)
#elif PACKETVER >= 20080325
-packetLen(0x02ee, 4) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 4)
#elif PACKETVER >= 20080318
-packetLen(0x02ee, 13) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 13)
#elif PACKETVER >= 20080311
-packetLen(0x02ee, 81) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 81)
#elif PACKETVER >= 20080304
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20080102
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#endif
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
#if PACKETVER >= 20080318
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
#endif
// Packet: 0x02f1
#if PACKETVER >= 20080318
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
#endif
// Packet: 0x02f2
#if PACKETVER >= 20080318
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
#endif
// Packet: 0x02f3
#if PACKETVER >= 20081217
-packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 3)
#elif PACKETVER >= 20081203
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20081126
-packetLen(0x02f3, 4) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 4)
#elif PACKETVER >= 20081022
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20081015
-packetLen(0x02f3, 7) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 7)
#elif PACKETVER >= 20081008
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20081001
-packetLen(0x02f3, 10) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 10)
#elif PACKETVER >= 20080924
-packetLen(0x02f3, 58) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 58)
#elif PACKETVER >= 20080910
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20080903
-packetLen(0x02f3, 21) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 21)
#elif PACKETVER >= 20080827
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20080820
-packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 2)
#elif PACKETVER >= 20080813
-packetLen(0x02f3, 10) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 10)
#elif PACKETVER >= 20080806
-packetLen(0x02f3, 4) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 4)
#elif PACKETVER >= 20080730
-packetLen(0x02f3, 10) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 10)
#elif PACKETVER >= 20080722
-packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 2)
#elif PACKETVER >= 20080715
-packetLen(0x02f3, 30) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 30)
#elif PACKETVER >= 20080701
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20080624
-packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 2)
#elif PACKETVER >= 20080617
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02f3, 30) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 30)
#elif PACKETVER >= 20080603
-packetLen(0x02f3, 9) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 9)
#elif PACKETVER >= 20080528
-packetLen(0x02f3, 26) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 26)
#elif PACKETVER >= 20080520
-packetLen(0x02f3, 5) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 5)
#elif PACKETVER >= 20080513
-packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 3)
#elif PACKETVER >= 20080507
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20080429
-packetLen(0x02f3, 7) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 7)
#elif PACKETVER >= 20080422
-packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 3)
#elif PACKETVER >= 20080415
-packetLen(0x02f3, 67) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 67)
#elif PACKETVER >= 20080408
-packetLen(0x02f3, 23) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 23)
#elif PACKETVER >= 20080401
-packetLen(0x02f3, 71) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 71)
#elif PACKETVER >= 20080325
-packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 2)
#endif
// Packet: 0x02f4
#if PACKETVER >= 20081217
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20081203
-packetLen(0x02f4, 15) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 15)
#elif PACKETVER >= 20081126
-packetLen(0x02f4, 11) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 11)
#elif PACKETVER >= 20081112
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20081105
-packetLen(0x02f4, 2) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 2)
#elif PACKETVER >= 20081029
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20081015
-packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 6)
#elif PACKETVER >= 20081008
-packetLen(0x02f4, 7) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 7)
#elif PACKETVER >= 20081001
-packetLen(0x02f4, 8) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 8)
#elif PACKETVER >= 20080924
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080917
-packetLen(0x02f4, 55) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 55)
#elif PACKETVER >= 20080910
-packetLen(0x02f4, 11) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 11)
#elif PACKETVER >= 20080813
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080806
-packetLen(0x02f4, 35) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 35)
#elif PACKETVER >= 20080715
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080708
-packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 6)
#elif PACKETVER >= 20080617
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02f4, 30) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 30)
#elif PACKETVER >= 20080507
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080429
-packetLen(0x02f4, 29) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 29)
#elif PACKETVER >= 20080422
-packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 6)
#elif PACKETVER >= 20080408
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080401
-packetLen(0x02f4, 9) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 9)
#elif PACKETVER >= 20080325
-packetLen(0x02f4, 4) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 4)
#endif
// Packet: 0x02f5
#if PACKETVER >= 20081217
-packetLen(0x02f5, 6) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 6)
#elif PACKETVER >= 20081126
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20081119
-packetLen(0x02f5, 2) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 2)
#elif PACKETVER >= 20081112
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20081105
-packetLen(0x02f5, 90) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 90)
#elif PACKETVER >= 20081029
-packetLen(0x02f5, 6) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 6)
#elif PACKETVER >= 20081022
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20081015
-packetLen(0x02f5, 71) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 71)
#elif PACKETVER >= 20081001
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080924
-packetLen(0x02f5, 10) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 10)
#elif PACKETVER >= 20080910
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080903
-packetLen(0x02f5, 3) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 3)
#elif PACKETVER >= 20080813
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080806
-packetLen(0x02f5, 11) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 11)
#elif PACKETVER >= 20080722
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080715
-packetLen(0x02f5, 2) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 2)
#elif PACKETVER >= 20080708
-packetLen(0x02f5, 26) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 26)
#elif PACKETVER >= 20080701
-packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 8)
#elif PACKETVER >= 20080624
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
#elif PACKETVER >= 20080617
-packetLen(0x02f5, 26) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 26)
#elif PACKETVER >= 20080610
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080603
-packetLen(0x02f5, 28) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 28)
#elif PACKETVER >= 20080528
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080520
-packetLen(0x02f5, 2) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 2)
#elif PACKETVER >= 20080513
-packetLen(0x02f5, 3) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 3)
#elif PACKETVER >= 20080507
-packetLen(0x02f5, 5) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 5)
#elif PACKETVER >= 20080429
-packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 8)
#elif PACKETVER >= 20080422
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080415
-packetLen(0x02f5, 60) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 60)
#elif PACKETVER >= 20080401
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20080325
-packetLen(0x02f5, 86) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 86)
#endif
// Packet: 0x02f6
#if PACKETVER >= 20081217
-packetLen(0x02f6, 4) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 4)
#elif PACKETVER >= 20081126
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20081119
-packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 2)
#elif PACKETVER >= 20081112
-packetLen(0x02f6, 29) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 29)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x02f6, 10) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 10)
#elif PACKETVER >= 20081015
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20081008
-packetLen(0x02f6, 30) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 30)
#elif PACKETVER >= 20081001
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080924
-packetLen(0x02f6, 11) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 11)
#elif PACKETVER >= 20080827
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080820
-packetLen(0x02f6, 22) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 22)
#elif PACKETVER >= 20080806
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080730
-packetLen(0x02f6, 4) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 4)
#elif PACKETVER >= 20080708
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080624
-packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 8)
#elif PACKETVER >= 20080617
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 5)
#elif PACKETVER >= 20080603
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080528
-packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 2)
#elif PACKETVER >= 20080520
-packetLen(0x02f6, 12) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 12)
#elif PACKETVER >= 20080513
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080507
-packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 5)
#elif PACKETVER >= 20080429
-packetLen(0x02f6, 22) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 22)
#elif PACKETVER >= 20080422
-packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 5)
#elif PACKETVER >= 20080415
-packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 2)
#elif PACKETVER >= 20080408
-packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 8)
#elif PACKETVER >= 20080401
-packetLen(0x02f6, 6) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 6)
#elif PACKETVER >= 20080325
-packetLen(0x02f6, 4) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 4)
#endif
// Packet: 0x02f7
@@ -31789,472 +31789,472 @@ packetLen(0x035b, 3)
// Packet: 0x035c
#if PACKETVER >= 20080520
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
#endif
// Packet: 0x035d
#if PACKETVER >= 20080521
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
#elif PACKETVER >= 20080520
-packetLen(0x035d, 10) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, 10)
#endif
// Packet: 0x035e
#if PACKETVER >= 20080521
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
#elif PACKETVER >= 20080520
-packetLen(0x035e, -1) // CZ_CLOSE_WINDOW
+packetLen(0x035e, -1)
#endif
// Packet: 0x035f
#if PACKETVER >= 20081126
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20081119
-packetLen(0x035f, 59) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 59)
#elif PACKETVER >= 20081112
-packetLen(0x035f, 186) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 186)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x035f, 30) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 30)
#elif PACKETVER >= 20081029
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20081008
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20081001
-packetLen(0x035f, 30) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 30)
#elif PACKETVER >= 20080924
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20080917
-packetLen(0x035f, 3) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 3)
#elif PACKETVER >= 20080910
-packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 8)
#elif PACKETVER >= 20080730
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20080722
-packetLen(0x035f, 282) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 282)
#elif PACKETVER >= 20080715
-packetLen(0x035f, 9) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 9)
#elif PACKETVER >= 20080708
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20080624
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20080617
-packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 4)
#elif PACKETVER >= 20080528
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#endif
// Packet: 0x0360
#if PACKETVER >= 20081217
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20081112
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0360, 14) // CZ_REQUEST_TIME2
+packetLen(0x0360, 14)
#elif PACKETVER >= 20081029
-packetLen(0x0360, 28) // CZ_REQUEST_TIME2
+packetLen(0x0360, 28)
#elif PACKETVER >= 20081022
-packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+packetLen(0x0360, 26)
#elif PACKETVER >= 20081001
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0360, 16) // CZ_REQUEST_TIME2
+packetLen(0x0360, 16)
#elif PACKETVER >= 20080917
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20080910
-packetLen(0x0360, 8) // CZ_REQUEST_TIME2
+packetLen(0x0360, 8)
#elif PACKETVER >= 20080903
-packetLen(0x0360, 28) // CZ_REQUEST_TIME2
+packetLen(0x0360, 28)
#elif PACKETVER >= 20080827
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20080820
-packetLen(0x0360, 12) // CZ_REQUEST_TIME2
+packetLen(0x0360, 12)
#elif PACKETVER >= 20080806
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0360, 21) // CZ_REQUEST_TIME2
+packetLen(0x0360, 21)
#elif PACKETVER >= 20080722
-packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+packetLen(0x0360, 4)
#elif PACKETVER >= 20080715
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20080708
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0360, 10) // CZ_REQUEST_TIME2
+packetLen(0x0360, 10)
#elif PACKETVER >= 20080624
-packetLen(0x0360, 11) // CZ_REQUEST_TIME2
+packetLen(0x0360, 11)
#elif PACKETVER >= 20080528
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#endif
// Packet: 0x0361
#if PACKETVER >= 20081217
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20081126
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20081112
-packetLen(0x0361, 9) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 9)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20081029
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20081015
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20080827
-packetLen(0x0361, 60) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 60)
#elif PACKETVER >= 20080813
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20080730
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20080722
-packetLen(0x0361, 81) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 81)
#elif PACKETVER >= 20080708
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0361, 27) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 27)
#elif PACKETVER >= 20080624
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20080617
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20080528
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#endif
// Packet: 0x0362
#if PACKETVER >= 20081112
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20081105
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20081029
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20081008
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20080903
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20080827
-packetLen(0x0362, 11) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 11)
#elif PACKETVER >= 20080820
-packetLen(0x0362, 34) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 34)
#elif PACKETVER >= 20080813
-packetLen(0x0362, 3) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 3)
#elif PACKETVER >= 20080806
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20080730
-packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 7)
#elif PACKETVER >= 20080722
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0362, 66) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 66)
#elif PACKETVER >= 20080708
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20080701
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0362, 4) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 4)
#elif PACKETVER >= 20080528
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#endif
// Packet: 0x0363
#if PACKETVER >= 20081203
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081022
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0363, 17) // CZ_ITEM_THROW2
+packetLen(0x0363, 17)
#elif PACKETVER >= 20081008
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20080924
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20080917
-packetLen(0x0363, 13) // CZ_ITEM_THROW2
+packetLen(0x0363, 13)
#elif PACKETVER >= 20080910
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20080813
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20080730
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20080715
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0363, 4) // CZ_ITEM_THROW2
+packetLen(0x0363, 4)
#elif PACKETVER >= 20080701
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20080617
-packetLen(0x0363, 58) // CZ_ITEM_THROW2
+packetLen(0x0363, 58)
#elif PACKETVER >= 20080528
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#endif
// Packet: 0x0364
#if PACKETVER >= 20081203
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20081119
-packetLen(0x0364, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 4)
#elif PACKETVER >= 20081112
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
// 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
+packetLen(0x0364, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0364, 29) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 29)
#elif PACKETVER >= 20081022
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0364, 11) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 11)
#elif PACKETVER >= 20081008
-packetLen(0x0364, 22) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 22)
#elif PACKETVER >= 20081001
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
#elif PACKETVER >= 20080917
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20080903
-packetLen(0x0364, 182) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 182)
#elif PACKETVER >= 20080708
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0364, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 43)
#elif PACKETVER >= 20080624
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20080617
-packetLen(0x0364, 15) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 15)
#elif PACKETVER >= 20080528
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#endif
// Packet: 0x0365
#if PACKETVER >= 20081217
-packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 4)
#elif PACKETVER >= 20081203
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20081126
-packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 4)
#elif PACKETVER >= 20081119
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20081112
-packetLen(0x0365, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 11)
// 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
+packetLen(0x0365, 6)
#elif PACKETVER >= 20081029
-packetLen(0x0365, 9) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 9)
#elif PACKETVER >= 20081001
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0365, 86) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 86)
#elif PACKETVER >= 20080917
-packetLen(0x0365, 13) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 13)
#elif PACKETVER >= 20080910
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0365, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 7)
#elif PACKETVER >= 20080820
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20080813
-packetLen(0x0365, 30) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 30)
#elif PACKETVER >= 20080806
-packetLen(0x0365, 79) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 79)
#elif PACKETVER >= 20080708
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20080701
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20080528
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#endif
// Packet: 0x0366
#if PACKETVER >= 20081105
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20081008
-packetLen(0x0366, 14) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 14)
#elif PACKETVER >= 20081001
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0366, 14) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 14)
#elif PACKETVER >= 20080910
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0366, 4) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 4)
#elif PACKETVER >= 20080827
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20080715
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20080708
-packetLen(0x0366, 71) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 71)
#elif PACKETVER >= 20080701
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0366, 67) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 67)
#elif PACKETVER >= 20080528
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#endif
// Packet: 0x0367
#if PACKETVER >= 20081217
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20081105
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20081022
-packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 10)
#elif PACKETVER >= 20081015
-packetLen(0x0367, 58) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 58)
#elif PACKETVER >= 20081001
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0367, 11) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 11)
#elif PACKETVER >= 20080917
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0367, 30) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 30)
#elif PACKETVER >= 20080827
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20080820
-packetLen(0x0367, 282) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 282)
#elif PACKETVER >= 20080813
-packetLen(0x0367, 59) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 59)
#elif PACKETVER >= 20080708
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20080624
-packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 10)
#elif PACKETVER >= 20080617
-packetLen(0x0367, 29) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 29)
#elif PACKETVER >= 20080528
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#endif
// Packet: 0x0368
#if PACKETVER >= 20081217
-packetLen(0x0368, 4) // CZ_REQNAME2
+packetLen(0x0368, 4)
#elif PACKETVER >= 20081126
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0368, 34) // CZ_REQNAME2
+packetLen(0x0368, 34)
#elif PACKETVER >= 20081105
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20081029
-packetLen(0x0368, 8) // CZ_REQNAME2
+packetLen(0x0368, 8)
#elif PACKETVER >= 20081022
-packetLen(0x0368, 10) // CZ_REQNAME2
+packetLen(0x0368, 10)
#elif PACKETVER >= 20081008
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0368, 3) // CZ_REQNAME2
+packetLen(0x0368, 3)
#elif PACKETVER >= 20080924
-packetLen(0x0368, 13) // CZ_REQNAME2
+packetLen(0x0368, 13)
#elif PACKETVER >= 20080917
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20080910
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0368, 43) // CZ_REQNAME2
+packetLen(0x0368, 43)
#elif PACKETVER >= 20080827
-packetLen(0x0368, 21) // CZ_REQNAME2
+packetLen(0x0368, 21)
#elif PACKETVER >= 20080820
-packetLen(0x0368, 4) // CZ_REQNAME2
+packetLen(0x0368, 4)
#elif PACKETVER >= 20080806
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20080730
-packetLen(0x0368, 16) // CZ_REQNAME2
+packetLen(0x0368, 16)
#elif PACKETVER >= 20080722
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0368, 3) // CZ_REQNAME2
+packetLen(0x0368, 3)
#elif PACKETVER >= 20080528
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#endif
// Packet: 0x0369
#if PACKETVER >= 20081126
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20081119
-packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 10)
#elif PACKETVER >= 20081112
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081029
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0369, 53) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 53)
#elif PACKETVER >= 20080924
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0369, 15) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 15)
#elif PACKETVER >= 20080910
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20080903
-packetLen(0x0369, 33) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 33)
#elif PACKETVER >= 20080827
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20080813
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20080806
-packetLen(0x0369, 30) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 30)
#elif PACKETVER >= 20080722
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20080715
-packetLen(0x0369, 29) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 29)
#elif PACKETVER >= 20080708
-packetLen(0x0369, 39) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 39)
#elif PACKETVER >= 20080701
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20080624
-packetLen(0x0369, 28) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 28)
#elif PACKETVER >= 20080528
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#endif
// Packet: 0x036a
@@ -37013,12 +37013,12 @@ packetLen(0x03dc, -1)
// Packet: 0x03dd
#if PACKETVER >= 20080624
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
#endif
// Packet: 0x03de
#if PACKETVER >= 20080624
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
#endif
// Packet: 0x03e2
@@ -39335,143 +39335,143 @@ packetLen(0x0435, -1)
// Packet: 0x0436
#if PACKETVER >= 20081217
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20081203
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20081126
-packetLen(0x0436, 9) // CZ_ENTER2
+packetLen(0x0436, 9)
#elif PACKETVER >= 20081112
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0436, 60) // CZ_ENTER2
+packetLen(0x0436, 60)
#elif PACKETVER >= 20081029
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0436, 13) // CZ_ENTER2
+packetLen(0x0436, 13)
#elif PACKETVER >= 20081015
-packetLen(0x0436, 7) // CZ_ENTER2
+packetLen(0x0436, 7)
#elif PACKETVER >= 20080924
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0436, 7) // CZ_ENTER2
+packetLen(0x0436, 7)
#elif PACKETVER >= 20080910
-packetLen(0x0436, 3) // CZ_ENTER2
+packetLen(0x0436, 3)
#endif
// Packet: 0x0437
#if PACKETVER >= 20081112
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0437, 282) // CZ_REQUEST_ACT2
+packetLen(0x0437, 282)
#elif PACKETVER >= 20081029
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20081022
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20081015
-packetLen(0x0437, 55) // CZ_REQUEST_ACT2
+packetLen(0x0437, 55)
#elif PACKETVER >= 20081008
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20081001
-packetLen(0x0437, 33) // CZ_REQUEST_ACT2
+packetLen(0x0437, 33)
#elif PACKETVER >= 20080924
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20080917
-packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+packetLen(0x0437, 10)
#elif PACKETVER >= 20080910
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#endif
// Packet: 0x0438
#if PACKETVER >= 20081217
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20081203
-packetLen(0x0438, 65) // CZ_USE_SKILL2
+packetLen(0x0438, 65)
#elif PACKETVER >= 20081119
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// ignored packet from 2008-11-12dRagexe
// ignored packet from 2008-11-12aRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0438, 4) // CZ_USE_SKILL2
+packetLen(0x0438, 4)
#elif PACKETVER >= 20081029
-packetLen(0x0438, 12) // CZ_USE_SKILL2
+packetLen(0x0438, 12)
#elif PACKETVER >= 20081022
-packetLen(0x0438, 30) // CZ_USE_SKILL2
+packetLen(0x0438, 30)
#elif PACKETVER >= 20081001
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20080924
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20080917
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20080910
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#endif
// Packet: 0x0439
#if PACKETVER >= 20081217
-packetLen(0x0439, 3) // CZ_USE_ITEM2
+packetLen(0x0439, 3)
#elif PACKETVER >= 20081119
-packetLen(0x0439, -1) // CZ_USE_ITEM2
+packetLen(0x0439, -1)
#elif PACKETVER >= 20081112
-packetLen(0x0439, 22) // CZ_USE_ITEM2
+packetLen(0x0439, 22)
// ignored packet from 2008-11-12aRagexe
// ignored packet from 2008-11-12cRagexe
#elif PACKETVER >= 20081105
-packetLen(0x0439, 4) // CZ_USE_ITEM2
+packetLen(0x0439, 4)
#elif PACKETVER >= 20081022
-packetLen(0x0439, -1) // CZ_USE_ITEM2
+packetLen(0x0439, -1)
#elif PACKETVER >= 20081015
-packetLen(0x0439, 11) // CZ_USE_ITEM2
+packetLen(0x0439, 11)
#elif PACKETVER >= 20081008
-packetLen(0x0439, 114) // CZ_USE_ITEM2
+packetLen(0x0439, 114)
#elif PACKETVER >= 20081001
-packetLen(0x0439, 12) // CZ_USE_ITEM2
+packetLen(0x0439, 12)
#elif PACKETVER >= 20080924
-packetLen(0x0439, 30) // CZ_USE_ITEM2
+packetLen(0x0439, 30)
#elif PACKETVER >= 20080917
-packetLen(0x0439, -1) // CZ_USE_ITEM2
+packetLen(0x0439, -1)
#elif PACKETVER >= 20080910
-packetLen(0x0439, 30) // CZ_USE_ITEM2
+packetLen(0x0439, 30)
#endif
// Packet: 0x043d
#if PACKETVER >= 20081112
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
#endif
// Packet: 0x043e
#if PACKETVER >= 20081112
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
#endif
// Packet: 0x043f
#if PACKETVER >= 20081112
-packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 8)
#endif
// Packet: 0x0440
#if PACKETVER >= 20081126
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
#endif
// Packet: 0x0441
#if PACKETVER >= 20081126
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
#endif
// Packet: 0x0442
#if PACKETVER >= 20081210
-packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, 8)
#endif
// Packet: 0x0443
#if PACKETVER >= 20081210
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
#endif
diff --git a/src/common/packets/packets2008_len_re.h b/src/common/packets/packets2008_len_re.h
index 37ee848eb..8b855d34d 100644
--- a/src/common/packets/packets2008_len_re.h
+++ b/src/common/packets/packets2008_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,1917 +25,1917 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20081217
-packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 114)
#elif PACKETVER >= 20080827
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
#if PACKETVER >= 20081126
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
#elif PACKETVER >= 20080827
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
#endif
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
// Packet: 0x02f5
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
// Packet: 0x02f6
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
// Packet: 0x02f7
packetLen(0x02f7, -1)
@@ -2241,46 +2241,46 @@ packetLen(0x035a, -1)
packetLen(0x035b, -1)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
// Packet: 0x0360
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
// Packet: 0x0361
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
// Packet: 0x0362
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
// Packet: 0x0363
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
// Packet: 0x0364
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
// Packet: 0x0365
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
// Packet: 0x0366
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
// Packet: 0x0367
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
// Packet: 0x0368
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
// Packet: 0x0369
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
// Packet: 0x036a
packetLen(0x036a, -1)
@@ -2628,10 +2628,10 @@ packetLen(0x03db, -1)
packetLen(0x03dc, -1)
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x03e2
packetLen(0x03e2, -1)
@@ -2887,57 +2887,57 @@ packetLen(0x0435, -1)
// Packet: 0x0436
#if PACKETVER >= 20080910
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#endif
// Packet: 0x0437
#if PACKETVER >= 20080910
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#endif
// Packet: 0x0438
#if PACKETVER >= 20080910
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
#if PACKETVER >= 20080910
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
#endif
// Packet: 0x043d
#if PACKETVER >= 20081111
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
#endif
// Packet: 0x043e
#if PACKETVER >= 20081111
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
#endif
// Packet: 0x043f
#if PACKETVER >= 20081111
-packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 8)
#endif
// Packet: 0x0440
#if PACKETVER >= 20081126
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
#endif
// Packet: 0x0441
#if PACKETVER >= 20081126
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
#endif
// Packet: 0x0442
#if PACKETVER >= 20081217
-packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, 8)
#endif
// Packet: 0x0443
#if PACKETVER >= 20081217
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
#endif
diff --git a/src/common/packets/packets2008_len_sak.h b/src/common/packets/packets2008_len_sak.h
index cf20cf753..1bc3d5edc 100644
--- a/src/common/packets/packets2008_len_sak.h
+++ b/src/common/packets/packets2008_len_sak.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,701 +25,701 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
// Packet: 0x0073
#if PACKETVER >= 20080618
-packetLen(0x0073, 32) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 32)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0073, 26) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0073, 53) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 53)
#elif PACKETVER >= 20080219
-packetLen(0x0073, 22) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 22)
#elif PACKETVER >= 20080102
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
#endif
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
#if PACKETVER >= 20080618
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0075, 11) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 11)
#elif PACKETVER >= 20080226
-packetLen(0x0075, 8) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0075, 28) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 28)
#elif PACKETVER >= 20080102
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#endif
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
#if PACKETVER >= 20080618
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0077, 10) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0077, 54) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 54)
#elif PACKETVER >= 20080226
-packetLen(0x0077, 14) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 14)
#elif PACKETVER >= 20080219
-packetLen(0x0077, 2) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
#endif
// Packet: 0x0078
#if PACKETVER >= 20080618
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0078, 6) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
#elif PACKETVER >= 20080304
-packetLen(0x0078, 3) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0078, 6) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
#endif
// Packet: 0x0079
#if PACKETVER >= 20080618
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
#elif PACKETVER >= 20080610
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
#elif PACKETVER >= 20080304
-packetLen(0x0079, 6) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0079, 27) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 27)
#elif PACKETVER >= 20080102
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
#endif
// Packet: 0x007a
#if PACKETVER >= 20080618
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
#elif PACKETVER >= 20080304
-packetLen(0x007a, 4) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 4)
#elif PACKETVER >= 20080226
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x007a, 29) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 29)
#elif PACKETVER >= 20080102
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
#endif
// Packet: 0x007b
#if PACKETVER >= 20080618
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x007b, 7) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 7)
#elif PACKETVER >= 20080311
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
#elif PACKETVER >= 20080304
-packetLen(0x007b, 56) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 56)
#elif PACKETVER >= 20080226
-packetLen(0x007b, 5) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 5)
#elif PACKETVER >= 20080219
-packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 2)
#elif PACKETVER >= 20080102
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
#endif
// Packet: 0x007c
#if PACKETVER >= 20080618
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#elif PACKETVER >= 20080610
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#elif PACKETVER >= 20080304
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20080226
-packetLen(0x007c, 8) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 8)
#elif PACKETVER >= 20080219
-packetLen(0x007c, 186) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 186)
#elif PACKETVER >= 20080102
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#endif
// Packet: 0x007d
#if PACKETVER >= 20080618
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x007d, 54) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 54)
#elif PACKETVER >= 20080311
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20080304
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20080226
-packetLen(0x007d, 26) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 26)
#elif PACKETVER >= 20080219
-packetLen(0x007d, 3) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 3)
#elif PACKETVER >= 20080102
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#endif
// Packet: 0x007e
-packetLen(0x007e, 102) // CZ_REQUEST_TIME
+packetLen(0x007e, 102)
// Packet: 0x007f
#if PACKETVER >= 20080618
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080311
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
#elif PACKETVER >= 20080304
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20080226
-packetLen(0x007f, 54) // ZC_NOTIFY_TIME
+packetLen(0x007f, 54)
#elif PACKETVER >= 20080219
-packetLen(0x007f, 4) // ZC_NOTIFY_TIME
+packetLen(0x007f, 4)
#elif PACKETVER >= 20080102
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
#endif
// Packet: 0x0080
#if PACKETVER >= 20080618
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0080, 4) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0080, 10) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
#endif
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
#if PACKETVER >= 20080618
-packetLen(0x0083, 34) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 34)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0083, 32) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 32)
#elif PACKETVER >= 20080226
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
#endif
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
// Packet: 0x0086
#if PACKETVER >= 20080618
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0086, 3) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 3)
#elif PACKETVER >= 20080311
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
#elif PACKETVER >= 20080304
-packetLen(0x0086, 4) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0086, 14) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 14)
#elif PACKETVER >= 20080219
-packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
#endif
// Packet: 0x0087
#if PACKETVER >= 20080618
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
#elif PACKETVER >= 20080304
-packetLen(0x0087, 4) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0087, 14) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 14)
#elif PACKETVER >= 20080102
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
#endif
// Packet: 0x0088
#if PACKETVER >= 20080618
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0088, 6) // ZC_STOPMOVE
+packetLen(0x0088, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0088, 30) // ZC_STOPMOVE
+packetLen(0x0088, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#endif
// Packet: 0x0089
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
// Packet: 0x008a
#if PACKETVER >= 20080618
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
#elif PACKETVER >= 20080304
-packetLen(0x008a, 5) // ZC_NOTIFY_ACT
+packetLen(0x008a, 5)
#elif PACKETVER >= 20080226
-packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+packetLen(0x008a, 10)
#elif PACKETVER >= 20080219
-packetLen(0x008a, 6) // ZC_NOTIFY_ACT
+packetLen(0x008a, 6)
#elif PACKETVER >= 20080102
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
#endif
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 11)
// Packet: 0x008d
#if PACKETVER >= 20080618
-packetLen(0x008d, 282) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 282)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20080304
-packetLen(0x008d, 3) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 3)
#elif PACKETVER >= 20080226
-packetLen(0x008d, 6) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 6)
#elif PACKETVER >= 20080219
-packetLen(0x008d, 79) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 79)
#elif PACKETVER >= 20080102
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#endif
// Packet: 0x008e
#if PACKETVER >= 20080618
-packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20080304
-packetLen(0x008e, 12) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 12)
#elif PACKETVER >= 20080226
-packetLen(0x008e, 7) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x008e, 33) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 33)
#elif PACKETVER >= 20080102
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#endif
// Packet: 0x0090
#if PACKETVER >= 20080618
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0090, 12) // CZ_CONTACTNPC
+packetLen(0x0090, 12)
#elif PACKETVER >= 20080311
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0090, 6) // CZ_CONTACTNPC
+packetLen(0x0090, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0090, 4) // CZ_CONTACTNPC
+packetLen(0x0090, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0090, 2) // CZ_CONTACTNPC
+packetLen(0x0090, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#endif
// Packet: 0x0091
#if PACKETVER >= 20080618
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0091, 26) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 26)
#elif PACKETVER >= 20080311
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
#elif PACKETVER >= 20080226
-packetLen(0x0091, 4) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
#endif
// Packet: 0x0092
#if PACKETVER >= 20080618
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
#elif PACKETVER >= 20080304
-packetLen(0x0092, 10) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0092, 3) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
#endif
// Packet: 0x0093
#if PACKETVER >= 20080618
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0093, 5) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0093, 67) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 67)
#elif PACKETVER >= 20080102
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
#endif
// Packet: 0x0094
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
// Packet: 0x0095
#if PACKETVER >= 20080618
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
#elif PACKETVER >= 20080610
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0095, 10) // ZC_ACK_REQNAME
+packetLen(0x0095, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0095, 39) // ZC_ACK_REQNAME
+packetLen(0x0095, 39)
#elif PACKETVER >= 20080219
-packetLen(0x0095, 2) // ZC_ACK_REQNAME
+packetLen(0x0095, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
#endif
// Packet: 0x0096
#if PACKETVER >= 20080311
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0096, 4) // CZ_WHISPER
+packetLen(0x0096, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0096, 3) // CZ_WHISPER
+packetLen(0x0096, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#endif
// Packet: 0x0097
#if PACKETVER >= 20080618
-packetLen(0x0097, 10) // ZC_WHISPER
+packetLen(0x0097, 10)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080304
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0097, 23) // ZC_WHISPER
+packetLen(0x0097, 23)
#elif PACKETVER >= 20080102
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#endif
// Packet: 0x0098
#if PACKETVER >= 20080618
-packetLen(0x0098, 24) // ZC_ACK_WHISPER
+packetLen(0x0098, 24)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0098, 6) // ZC_ACK_WHISPER
+packetLen(0x0098, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0098, 2) // ZC_ACK_WHISPER
+packetLen(0x0098, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0098, 8) // ZC_ACK_WHISPER
+packetLen(0x0098, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
#endif
// Packet: 0x0099
#if PACKETVER >= 20080311
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0099, 4) // CZ_BROADCAST
+packetLen(0x0099, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0099, 34) // CZ_BROADCAST
+packetLen(0x0099, 34)
#elif PACKETVER >= 20080219
-packetLen(0x0099, 2) // CZ_BROADCAST
+packetLen(0x0099, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#endif
// Packet: 0x009a
#if PACKETVER >= 20080304
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20080226
-packetLen(0x009a, 4) // ZC_BROADCAST
+packetLen(0x009a, 4)
#elif PACKETVER >= 20080219
-packetLen(0x009a, 10) // ZC_BROADCAST
+packetLen(0x009a, 10)
#elif PACKETVER >= 20080102
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#endif
// Packet: 0x009b
-packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 26)
// Packet: 0x009c
#if PACKETVER >= 20080618
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
#elif PACKETVER >= 20080610
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
#elif PACKETVER >= 20080304
-packetLen(0x009c, 6) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 6)
#elif PACKETVER >= 20080226
-packetLen(0x009c, 4) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 4)
#elif PACKETVER >= 20080219
-packetLen(0x009c, 7) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 7)
#elif PACKETVER >= 20080102
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
#endif
// Packet: 0x009d
#if PACKETVER >= 20080618
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20080311
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
#elif PACKETVER >= 20080304
-packetLen(0x009d, 6) // ZC_ITEM_ENTRY
+packetLen(0x009d, 6)
#elif PACKETVER >= 20080226
-packetLen(0x009d, 57) // ZC_ITEM_ENTRY
+packetLen(0x009d, 57)
#elif PACKETVER >= 20080219
-packetLen(0x009d, 10) // ZC_ITEM_ENTRY
+packetLen(0x009d, 10)
#elif PACKETVER >= 20080102
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
#endif
// Packet: 0x009e
#if PACKETVER >= 20080618
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x009e, 8) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 8)
#elif PACKETVER >= 20080311
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
#elif PACKETVER >= 20080304
-packetLen(0x009e, 36) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 36)
#elif PACKETVER >= 20080226
-packetLen(0x009e, 11) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 11)
#elif PACKETVER >= 20080219
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
#endif
// Packet: 0x009f
-packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+packetLen(0x009f, 14)
// Packet: 0x00a0
#if PACKETVER >= 20080618
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00a0, 3) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#elif PACKETVER >= 20080304
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00a0, 27) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 27)
#elif PACKETVER >= 20080219
-packetLen(0x00a0, 39) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 39)
#elif PACKETVER >= 20080102
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#endif
// Packet: 0x00a1
#if PACKETVER >= 20080618
-packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 60)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00a1, 7) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00a1, 60) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 60)
#elif PACKETVER >= 20080102
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#endif
// Packet: 0x00a2
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
// Packet: 0x00a3
#if PACKETVER >= 20080618
-packetLen(0x00a3, 3) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 3)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00a3, 2) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00a3, 30) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00a3, 44) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 44)
#elif PACKETVER >= 20080102
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#endif
// Packet: 0x00a4
#if PACKETVER >= 20080618
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00a4, 12) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 12)
#elif PACKETVER >= 20080311
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00a4, 27) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 27)
#elif PACKETVER >= 20080226
-packetLen(0x00a4, 15) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 15)
#elif PACKETVER >= 20080219
-packetLen(0x00a4, 30) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 30)
#elif PACKETVER >= 20080102
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#endif
// Packet: 0x00a5
#if PACKETVER >= 20080618
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00a5, 28) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 28)
#elif PACKETVER >= 20080219
-packetLen(0x00a5, 3) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#endif
// Packet: 0x00a6
#if PACKETVER >= 20080304
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00a6, 16) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 16)
#elif PACKETVER >= 20080102
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#endif
// Packet: 0x00a7
@@ -727,5906 +727,5906 @@ packetLen(0x00a7, 8)
// Packet: 0x00a8
#if PACKETVER >= 20080618
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00a8, 11) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 11)
#elif PACKETVER >= 20080311
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
#elif PACKETVER >= 20080304
-packetLen(0x00a8, 2) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00a8, 10) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
#endif
// Packet: 0x00a9
#if PACKETVER >= 20080618
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00a9, 35) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 35)
#elif PACKETVER >= 20080226
-packetLen(0x00a9, 26) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 26)
#elif PACKETVER >= 20080102
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#endif
// Packet: 0x00aa
#if PACKETVER >= 20080618
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00aa, 3) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
#elif PACKETVER >= 20080304
-packetLen(0x00aa, 14) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
#endif
// Packet: 0x00ab
#if PACKETVER >= 20080618
-packetLen(0x00ab, 6) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00ab, 57) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 57)
#elif PACKETVER >= 20080102
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#endif
// Packet: 0x00ac
#if PACKETVER >= 20080618
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
#elif PACKETVER >= 20080304
-packetLen(0x00ac, 14) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 14)
#elif PACKETVER >= 20080226
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
#endif
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
#if PACKETVER >= 20080618
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00af, 7) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 7)
#elif PACKETVER >= 20080219
-packetLen(0x00af, 4) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#endif
// Packet: 0x00b0
#if PACKETVER >= 20080618
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#elif PACKETVER >= 20080610
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#elif PACKETVER >= 20080304
-packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+packetLen(0x00b0, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00b0, 11) // ZC_PAR_CHANGE
+packetLen(0x00b0, 11)
#elif PACKETVER >= 20080219
-packetLen(0x00b0, 7) // ZC_PAR_CHANGE
+packetLen(0x00b0, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#endif
// Packet: 0x00b1
#if PACKETVER >= 20080618
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00b1, 21) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 21)
#elif PACKETVER >= 20080304
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00b1, 14) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
#endif
// Packet: 0x00b2
#if PACKETVER >= 20080618
-packetLen(0x00b2, 10) // CZ_RESTART
+packetLen(0x00b2, 10)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00b2, 60) // CZ_RESTART
+packetLen(0x00b2, 60)
#elif PACKETVER >= 20080311
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00b2, 2) // CZ_RESTART
+packetLen(0x00b2, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00b2, 9) // CZ_RESTART
+packetLen(0x00b2, 9)
#elif PACKETVER >= 20080219
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#endif
// Packet: 0x00b3
#if PACKETVER >= 20080618
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00b3, 16) // ZC_RESTART_ACK
+packetLen(0x00b3, 16)
#elif PACKETVER >= 20080226
-packetLen(0x00b3, 10) // ZC_RESTART_ACK
+packetLen(0x00b3, 10)
#elif PACKETVER >= 20080219
-packetLen(0x00b3, 55) // ZC_RESTART_ACK
+packetLen(0x00b3, 55)
#elif PACKETVER >= 20080102
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
#endif
// Packet: 0x00b4
#if PACKETVER >= 20080618
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b4, 67) // ZC_SAY_DIALOG
+packetLen(0x00b4, 67)
#elif PACKETVER >= 20080304
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00b4, 43) // ZC_SAY_DIALOG
+packetLen(0x00b4, 43)
#elif PACKETVER >= 20080219
-packetLen(0x00b4, 4) // ZC_SAY_DIALOG
+packetLen(0x00b4, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#endif
// Packet: 0x00b5
#if PACKETVER >= 20080618
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00b5, 10) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00b5, 182) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 182)
#elif PACKETVER >= 20080226
-packetLen(0x00b5, 4) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 4)
#elif PACKETVER >= 20080219
-packetLen(0x00b5, 30) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 30)
#elif PACKETVER >= 20080102
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#endif
// Packet: 0x00b6
#if PACKETVER >= 20080618
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00b6, 8) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 8)
#elif PACKETVER >= 20080304
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00b6, 3) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#endif
// Packet: 0x00b7
#if PACKETVER >= 20080618
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00b7, 12) // ZC_MENU_LIST
+packetLen(0x00b7, 12)
#elif PACKETVER >= 20080311
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00b7, 2) // ZC_MENU_LIST
+packetLen(0x00b7, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00b7, 32) // ZC_MENU_LIST
+packetLen(0x00b7, 32)
#elif PACKETVER >= 20080219
-packetLen(0x00b7, 3) // ZC_MENU_LIST
+packetLen(0x00b7, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#endif
// Packet: 0x00b8
#if PACKETVER >= 20080618
-packetLen(0x00b8, 9) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 9)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
#elif PACKETVER >= 20080304
-packetLen(0x00b8, 6) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00b8, 5) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
#endif
// Packet: 0x00b9
#if PACKETVER >= 20080618
-packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 9)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00b9, 44) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 44)
#elif PACKETVER >= 20080226
-packetLen(0x00b9, 58) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 58)
#elif PACKETVER >= 20080102
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#endif
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
#if PACKETVER >= 20080618
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
#elif PACKETVER >= 20080610
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
#elif PACKETVER >= 20080304
-packetLen(0x00bb, 3) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 3)
#elif PACKETVER >= 20080226
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00bb, 182) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 182)
#elif PACKETVER >= 20080102
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
#endif
// Packet: 0x00bc
#if PACKETVER >= 20080618
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00bc, 58) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 58)
#elif PACKETVER >= 20080311
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00bc, 3) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#endif
// Packet: 0x00bd
#if PACKETVER >= 20080618
-packetLen(0x00bd, 79) // ZC_STATUS
+packetLen(0x00bd, 79)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
#elif PACKETVER >= 20080304
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00bd, 58) // ZC_STATUS
+packetLen(0x00bd, 58)
#elif PACKETVER >= 20080219
-packetLen(0x00bd, 6) // ZC_STATUS
+packetLen(0x00bd, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
#endif
// Packet: 0x00be
#if PACKETVER >= 20080618
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
#elif PACKETVER >= 20080610
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
#elif PACKETVER >= 20080304
-packetLen(0x00be, 186) // ZC_STATUS_CHANGE
+packetLen(0x00be, 186)
#elif PACKETVER >= 20080219
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
#endif
// Packet: 0x00bf
#if PACKETVER >= 20080618
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#elif PACKETVER >= 20080226
-packetLen(0x00bf, 29) // CZ_REQ_EMOTION
+packetLen(0x00bf, 29)
#elif PACKETVER >= 20080219
-packetLen(0x00bf, 12) // CZ_REQ_EMOTION
+packetLen(0x00bf, 12)
#elif PACKETVER >= 20080102
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#endif
// Packet: 0x00c0
#if PACKETVER >= 20080618
-packetLen(0x00c0, 60) // ZC_EMOTION
+packetLen(0x00c0, 60)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00c0, 4) // ZC_EMOTION
+packetLen(0x00c0, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
#elif PACKETVER >= 20080304
-packetLen(0x00c0, 2) // ZC_EMOTION
+packetLen(0x00c0, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00c0, 21) // ZC_EMOTION
+packetLen(0x00c0, 21)
#elif PACKETVER >= 20080219
-packetLen(0x00c0, 6) // ZC_EMOTION
+packetLen(0x00c0, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
#endif
// Packet: 0x00c1
#if PACKETVER >= 20080618
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080311
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00c1, 28) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 28)
#elif PACKETVER >= 20080226
-packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#endif
// Packet: 0x00c2
#if PACKETVER >= 20080618
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00c2, 2) // ZC_USER_COUNT
+packetLen(0x00c2, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00c2, 282) // ZC_USER_COUNT
+packetLen(0x00c2, 282)
#elif PACKETVER >= 20080219
-packetLen(0x00c2, 4) // ZC_USER_COUNT
+packetLen(0x00c2, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
#endif
// Packet: 0x00c3
#if PACKETVER >= 20080618
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#elif PACKETVER >= 20080610
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#elif PACKETVER >= 20080304
-packetLen(0x00c3, 30) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 30)
#elif PACKETVER >= 20080226
-packetLen(0x00c3, 28) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 28)
#elif PACKETVER >= 20080102
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#endif
// Packet: 0x00c4
#if PACKETVER >= 20080618
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00c4, 7) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 7)
#elif PACKETVER >= 20080311
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00c4, 3) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 3)
#elif PACKETVER >= 20080226
-packetLen(0x00c4, 114) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 114)
#elif PACKETVER >= 20080219
-packetLen(0x00c4, 2) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#endif
// Packet: 0x00c5
#if PACKETVER >= 20080618
-packetLen(0x00c5, 9) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 9)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00c5, 14) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 14)
#elif PACKETVER >= 20080311
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
#elif PACKETVER >= 20080304
-packetLen(0x00c5, 67) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 67)
#elif PACKETVER >= 20080219
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
#endif
// Packet: 0x00c6
#if PACKETVER >= 20080618
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00c6, 11) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 11)
#elif PACKETVER >= 20080311
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00c6, 53) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 53)
#elif PACKETVER >= 20080226
-packetLen(0x00c6, 13) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 13)
#elif PACKETVER >= 20080219
-packetLen(0x00c6, 3) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#endif
// Packet: 0x00c7
#if PACKETVER >= 20080304
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00c7, 5) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00c7, 90) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 90)
#elif PACKETVER >= 20080102
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#endif
// Packet: 0x00c8
#if PACKETVER >= 20080618
-packetLen(0x00c8, 15) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 15)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00c8, 86) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 86)
#elif PACKETVER >= 20080226
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00c8, 10) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#endif
// Packet: 0x00c9
#if PACKETVER >= 20080618
-packetLen(0x00c9, 36) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 36)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00c9, 27) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 27)
#elif PACKETVER >= 20080226
-packetLen(0x00c9, 6) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00c9, 10) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#endif
// Packet: 0x00ca
#if PACKETVER >= 20080618
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00ca, 20) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 20)
#elif PACKETVER >= 20080226
-packetLen(0x00ca, 23) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 23)
#elif PACKETVER >= 20080219
-packetLen(0x00ca, 86) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 86)
#elif PACKETVER >= 20080102
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#endif
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
#if PACKETVER >= 20080618
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00cc, 4) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 4)
#elif PACKETVER >= 20080304
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00cc, 7) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 7)
#elif PACKETVER >= 20080219
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#endif
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
#if PACKETVER >= 20080618
-packetLen(0x00ce, 11) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 11)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00ce, 6) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
#endif
// Packet: 0x00cf
#if PACKETVER >= 20080618
-packetLen(0x00cf, 30) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 30)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00cf, 9) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 9)
#elif PACKETVER >= 20080311
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
#elif PACKETVER >= 20080304
-packetLen(0x00cf, 60) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 60)
#elif PACKETVER >= 20080226
-packetLen(0x00cf, 16) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 16)
#elif PACKETVER >= 20080219
-packetLen(0x00cf, 9) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 9)
#elif PACKETVER >= 20080102
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
#endif
// Packet: 0x00d0
#if PACKETVER >= 20080618
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00d0, 14) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 14)
#elif PACKETVER >= 20080311
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00d0, 2) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#endif
// Packet: 0x00d1
#if PACKETVER >= 20080618
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
#elif PACKETVER >= 20080304
-packetLen(0x00d1, 3) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 3)
#elif PACKETVER >= 20080226
-packetLen(0x00d1, 10) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 10)
#elif PACKETVER >= 20080219
-packetLen(0x00d1, 13) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 13)
#elif PACKETVER >= 20080102
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
#endif
// Packet: 0x00d2
#if PACKETVER >= 20080618
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
#elif PACKETVER >= 20080610
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
#elif PACKETVER >= 20080304
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00d2, 14) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00d2, 20) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 20)
#elif PACKETVER >= 20080102
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
#endif
// Packet: 0x00d3
#if PACKETVER >= 20080618
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#elif PACKETVER >= 20080610
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00d3, 23) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 23)
#elif PACKETVER >= 20080226
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00d3, 26) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 26)
#elif PACKETVER >= 20080102
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#endif
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
#if PACKETVER >= 20080618
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00d5, 3) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00d5, 10) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#endif
// Packet: 0x00d6
#if PACKETVER >= 20080618
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00d6, 30) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 30)
#elif PACKETVER >= 20080102
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#endif
// Packet: 0x00d7
#if PACKETVER >= 20080311
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00d7, 14) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 14)
#elif PACKETVER >= 20080226
-packetLen(0x00d7, 28) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 28)
#elif PACKETVER >= 20080219
-packetLen(0x00d7, 3) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#endif
// Packet: 0x00d8
#if PACKETVER >= 20080618
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
#elif PACKETVER >= 20080610
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00d8, 10) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00d8, 16) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 16)
#elif PACKETVER >= 20080219
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
#endif
// Packet: 0x00d9
#if PACKETVER >= 20080618
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#elif PACKETVER >= 20080610
-packetLen(0x00d9, -1) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#elif PACKETVER >= 20080304
-packetLen(0x00d9, 66) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 66)
#elif PACKETVER >= 20080226
-packetLen(0x00d9, 6) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#endif
// Packet: 0x00da
#if PACKETVER >= 20080618
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00da, 2) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 2)
#elif PACKETVER >= 20080226
-packetLen(0x00da, 14) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00da, 54) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 54)
#elif PACKETVER >= 20080102
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#endif
// Packet: 0x00db
#if PACKETVER >= 20080618
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080610
-packetLen(0x00db, 2) // ZC_ENTER_ROOM
+packetLen(0x00db, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00db, 26) // ZC_ENTER_ROOM
+packetLen(0x00db, 26)
#elif PACKETVER >= 20080219
-packetLen(0x00db, 4) // ZC_ENTER_ROOM
+packetLen(0x00db, 4)
#elif PACKETVER >= 20080102
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#endif
// Packet: 0x00dc
#if PACKETVER >= 20080618
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
#elif PACKETVER >= 20080610
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
#elif PACKETVER >= 20080304
-packetLen(0x00dc, 11) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 11)
#elif PACKETVER >= 20080226
-packetLen(0x00dc, 3) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00dc, 29) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 29)
#elif PACKETVER >= 20080102
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
#endif
// Packet: 0x00dd
#if PACKETVER >= 20080618
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00dd, 10) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 10)
#elif PACKETVER >= 20080311
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
#elif PACKETVER >= 20080304
-packetLen(0x00dd, 14) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 14)
#elif PACKETVER >= 20080226
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00dd, 3) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 3)
#elif PACKETVER >= 20080102
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
#endif
// Packet: 0x00de
#if PACKETVER >= 20080311
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00de, 24) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 24)
#elif PACKETVER >= 20080226
-packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00de, 34) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 34)
#elif PACKETVER >= 20080102
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#endif
// Packet: 0x00df
#if PACKETVER >= 20080618
-packetLen(0x00df, 30) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 30)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00df, 53) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 53)
#elif PACKETVER >= 20080226
-packetLen(0x00df, 9) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 9)
#elif PACKETVER >= 20080219
-packetLen(0x00df, 7) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#endif
// Packet: 0x00e0
#if PACKETVER >= 20080618
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
#elif PACKETVER >= 20080304
-packetLen(0x00e0, 8) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00e0, 2) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00e0, 31) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 31)
#elif PACKETVER >= 20080102
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
#endif
// Packet: 0x00e1
#if PACKETVER >= 20080618
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
#elif PACKETVER >= 20080226
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00e1, 81) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 81)
#elif PACKETVER >= 20080102
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
#endif
// Packet: 0x00e2
#if PACKETVER >= 20080618
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00e2, 13) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 13)
#elif PACKETVER >= 20080226
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#elif PACKETVER >= 20080219
-packetLen(0x00e2, 30) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 30)
#elif PACKETVER >= 20080102
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#endif
// Packet: 0x00e3
#if PACKETVER >= 20080618
-packetLen(0x00e3, 58) // CZ_EXIT_ROOM
+packetLen(0x00e3, 58)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00e3, 3) // CZ_EXIT_ROOM
+packetLen(0x00e3, 3)
#elif PACKETVER >= 20080311
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00e3, 8) // CZ_EXIT_ROOM
+packetLen(0x00e3, 8)
#elif PACKETVER >= 20080219
-packetLen(0x00e3, 12) // CZ_EXIT_ROOM
+packetLen(0x00e3, 12)
#elif PACKETVER >= 20080102
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#endif
// Packet: 0x00e4
#if PACKETVER >= 20080618
-packetLen(0x00e4, 86) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 86)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00e4, 79) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 79)
#elif PACKETVER >= 20080311
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00e4, 2) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00e4, 14) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#endif
// Packet: 0x00e5
#if PACKETVER >= 20080618
-packetLen(0x00e5, 28) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 28)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00e5, 14) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 14)
#elif PACKETVER >= 20080219
-packetLen(0x00e5, 11) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 11)
#elif PACKETVER >= 20080102
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
#endif
// Packet: 0x00e6
#if PACKETVER >= 20080618
-packetLen(0x00e6, 9) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 9)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00e6, 53) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 53)
#elif PACKETVER >= 20080219
-packetLen(0x00e6, 10) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#endif
// Packet: 0x00e7
#if PACKETVER >= 20080618
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00e7, 4) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00e7, 68) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 68)
#elif PACKETVER >= 20080219
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#endif
// Packet: 0x00e8
#if PACKETVER >= 20080618
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#elif PACKETVER >= 20080610
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#elif PACKETVER >= 20080304
-packetLen(0x00e8, 9) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 9)
#elif PACKETVER >= 20080226
-packetLen(0x00e8, 6) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00e8, 2) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#endif
// Packet: 0x00e9
#if PACKETVER >= 20080618
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#elif PACKETVER >= 20080610
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#elif PACKETVER >= 20080304
-packetLen(0x00e9, 28) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 28)
#elif PACKETVER >= 20080226
-packetLen(0x00e9, 30) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 2)
#elif PACKETVER >= 20080102
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#endif
// Packet: 0x00ea
#if PACKETVER >= 20080618
-packetLen(0x00ea, 90) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 90)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00ea, 54) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 54)
#elif PACKETVER >= 20080311
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
#endif
// Packet: 0x00eb
#if PACKETVER >= 20080618
-packetLen(0x00eb, 5) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 5)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00eb, 19) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 19)
#elif PACKETVER >= 20080219
-packetLen(0x00eb, 17) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 17)
#elif PACKETVER >= 20080102
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
#endif
// Packet: 0x00ec
#if PACKETVER >= 20080618
-packetLen(0x00ec, 6) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00ec, 28) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 28)
#elif PACKETVER >= 20080226
-packetLen(0x00ec, 11) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 11)
#elif PACKETVER >= 20080219
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
#endif
// Packet: 0x00ed
#if PACKETVER >= 20080618
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
#elif PACKETVER >= 20080610
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00ed, 26) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 26)
#elif PACKETVER >= 20080226
-packetLen(0x00ed, 30) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 30)
#elif PACKETVER >= 20080219
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
#endif
// Packet: 0x00ee
#if PACKETVER >= 20080618
-packetLen(0x00ee, 81) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 81)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00ee, 6) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00ee, 4) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 4)
#elif PACKETVER >= 20080226
-packetLen(0x00ee, 90) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 90)
#elif PACKETVER >= 20080219
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
#endif
// Packet: 0x00ef
#if PACKETVER >= 20080618
-packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 30)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00ef, 6) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00ef, 7) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 7)
#elif PACKETVER >= 20080102
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#endif
// Packet: 0x00f0
#if PACKETVER >= 20080618
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00f0, 6) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00f0, 27) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 27)
#elif PACKETVER >= 20080102
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#endif
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
#if PACKETVER >= 20080618
-packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 10)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00f2, 5) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 5)
#elif PACKETVER >= 20080226
-packetLen(0x00f2, 14) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 14)
#elif PACKETVER >= 20080102
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#endif
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
#if PACKETVER >= 20080618
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
#elif PACKETVER >= 20080304
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00f4, 6) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20080102
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
#endif
// Packet: 0x00f5
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
// Packet: 0x00f6
#if PACKETVER >= 20080618
-packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 26)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00f6, 4) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 4)
#elif PACKETVER >= 20080311
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
#elif PACKETVER >= 20080226
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20080219
-packetLen(0x00f6, 23) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 23)
#elif PACKETVER >= 20080102
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
#endif
// Packet: 0x00f7
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
// Packet: 0x00f8
#if PACKETVER >= 20080618
-packetLen(0x00f8, 17) // ZC_CLOSE_STORE
+packetLen(0x00f8, 17)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00f8, 6) // ZC_CLOSE_STORE
+packetLen(0x00f8, 6)
#elif PACKETVER >= 20080311
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20080304
-packetLen(0x00f8, 5) // ZC_CLOSE_STORE
+packetLen(0x00f8, 5)
#elif PACKETVER >= 20080226
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20080219
-packetLen(0x00f8, 12) // ZC_CLOSE_STORE
+packetLen(0x00f8, 12)
#elif PACKETVER >= 20080102
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#endif
// Packet: 0x00f9
#if PACKETVER >= 20080618
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#elif PACKETVER >= 20080610
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#elif PACKETVER >= 20080304
-packetLen(0x00f9, 19) // CZ_MAKE_GROUP
+packetLen(0x00f9, 19)
#elif PACKETVER >= 20080226
-packetLen(0x00f9, 4) // CZ_MAKE_GROUP
+packetLen(0x00f9, 4)
#elif PACKETVER >= 20080219
-packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+packetLen(0x00f9, 8)
#elif PACKETVER >= 20080102
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#endif
// Packet: 0x00fa
#if PACKETVER >= 20080618
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#elif PACKETVER >= 20080610
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#elif PACKETVER >= 20080304
-packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 10)
#elif PACKETVER >= 20080226
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#elif PACKETVER >= 20080219
-packetLen(0x00fa, 10) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#endif
// Packet: 0x00fb
#if PACKETVER >= 20080618
-packetLen(0x00fb, 3) // ZC_GROUP_LIST
+packetLen(0x00fb, 3)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00fb, 26) // ZC_GROUP_LIST
+packetLen(0x00fb, 26)
#elif PACKETVER >= 20080311
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00fb, 54) // ZC_GROUP_LIST
+packetLen(0x00fb, 54)
#elif PACKETVER >= 20080226
-packetLen(0x00fb, 5) // ZC_GROUP_LIST
+packetLen(0x00fb, 5)
#elif PACKETVER >= 20080219
-packetLen(0x00fb, 10) // ZC_GROUP_LIST
+packetLen(0x00fb, 10)
#elif PACKETVER >= 20080102
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#endif
// Packet: 0x00fc
#if PACKETVER >= 20080618
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00fc, 8) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 8)
#elif PACKETVER >= 20080311
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080304
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20080226
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20080219
-packetLen(0x00fc, 19) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 19)
#elif PACKETVER >= 20080102
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#endif
// Packet: 0x00fd
#if PACKETVER >= 20080618
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 2)
#elif PACKETVER >= 20080311
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
#elif PACKETVER >= 20080304
-packetLen(0x00fd, 7) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 7)
#elif PACKETVER >= 20080226
-packetLen(0x00fd, 20) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 20)
#elif PACKETVER >= 20080219
-packetLen(0x00fd, 11) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 11)
#elif PACKETVER >= 20080102
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
#endif
// Packet: 0x00fe
#if PACKETVER >= 20080618
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
#elif PACKETVER >= 20080610
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20080304
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
#elif PACKETVER >= 20080226
-packetLen(0x00fe, 7) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 7)
#elif PACKETVER >= 20080219
-packetLen(0x00fe, 6) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
#endif
// Packet: 0x00ff
#if PACKETVER >= 20080618
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#elif PACKETVER >= 20080610
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20080311
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#elif PACKETVER >= 20080304
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20080226
-packetLen(0x00ff, 282) // CZ_JOIN_GROUP
+packetLen(0x00ff, 282)
#elif PACKETVER >= 20080219
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20080102
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#endif
// Packet: 0x0100
#if PACKETVER >= 20080618
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0100, 3) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#endif
// Packet: 0x0101
#if PACKETVER >= 20080618
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0101, 11) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 11)
#elif PACKETVER >= 20080226
-packetLen(0x0101, 10) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#endif
// Packet: 0x0102
#if PACKETVER >= 20080618
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0102, 3) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0102, 26) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0102, 68) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 68)
#elif PACKETVER >= 20080102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#endif
// Packet: 0x0103
#if PACKETVER >= 20080618
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20080610
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0103, 5) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 5)
#elif PACKETVER >= 20080102
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#endif
// Packet: 0x0104
#if PACKETVER >= 20080618
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#elif PACKETVER >= 20080610
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#elif PACKETVER >= 20080304
-packetLen(0x0104, 2) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0104, 21) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 21)
#elif PACKETVER >= 20080102
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#endif
// Packet: 0x0105
#if PACKETVER >= 20080618
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
#elif PACKETVER >= 20080610
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
#elif PACKETVER >= 20080304
-packetLen(0x0105, 102) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 102)
#elif PACKETVER >= 20080226
-packetLen(0x0105, 26) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0105, 6) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
#endif
// Packet: 0x0106
#if PACKETVER >= 20080618
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0106, 6) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0106, 21) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 21)
#elif PACKETVER >= 20080102
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#endif
// Packet: 0x0107
#if PACKETVER >= 20080618
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0107, 11) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 11)
#elif PACKETVER >= 20080311
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0107, 21) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 21)
#elif PACKETVER >= 20080226
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0107, 5) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 5)
#elif PACKETVER >= 20080102
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
#endif
// Packet: 0x0108
#if PACKETVER >= 20080618
-packetLen(0x0108, 54) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 54)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0108, 15) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 15)
#elif PACKETVER >= 20080311
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0108, 4) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0108, 3) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0108, 97) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 97)
#elif PACKETVER >= 20080102
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#endif
// Packet: 0x0109
#if PACKETVER >= 20080618
-packetLen(0x0109, 7) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 7)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0109, 33) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 33)
#elif PACKETVER >= 20080226
-packetLen(0x0109, 2) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0109, 14) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 14)
#elif PACKETVER >= 20080102
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#endif
// Packet: 0x010a
#if PACKETVER >= 20080618
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#elif PACKETVER >= 20080610
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080226
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20080102
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#endif
// Packet: 0x010b
#if PACKETVER >= 20080618
-packetLen(0x010b, 8) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 8)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x010b, 55) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 55)
#elif PACKETVER >= 20080311
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#elif PACKETVER >= 20080304
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20080226
-packetLen(0x010b, 9) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 9)
#elif PACKETVER >= 20080219
-packetLen(0x010b, 24) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 24)
#elif PACKETVER >= 20080102
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#endif
// Packet: 0x010c
#if PACKETVER >= 20080618
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#elif PACKETVER >= 20080610
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x010c, 4) // ZC_MVP
+packetLen(0x010c, 4)
#elif PACKETVER >= 20080226
-packetLen(0x010c, 14) // ZC_MVP
+packetLen(0x010c, 14)
#elif PACKETVER >= 20080219
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#endif
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
#if PACKETVER >= 20080618
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
#elif PACKETVER >= 20080610
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080311
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
#elif PACKETVER >= 20080304
-packetLen(0x010e, 282) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 282)
#elif PACKETVER >= 20080226
-packetLen(0x010e, 7) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
#endif
// Packet: 0x010f
#if PACKETVER >= 20080311
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080304
-packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 30)
#elif PACKETVER >= 20080226
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20080219
-packetLen(0x010f, 30) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 30)
#elif PACKETVER >= 20080102
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#endif
// Packet: 0x0110
#if PACKETVER >= 20080618
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0110, 29) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 29)
#elif PACKETVER >= 20080226
-packetLen(0x0110, 8) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#endif
// Packet: 0x0111
#if PACKETVER >= 20080618
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0111, 6) // ZC_ADD_SKILL
+packetLen(0x0111, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
#elif PACKETVER >= 20080304
-packetLen(0x0111, 3) // ZC_ADD_SKILL
+packetLen(0x0111, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0111, 60) // ZC_ADD_SKILL
+packetLen(0x0111, 60)
#elif PACKETVER >= 20080219
-packetLen(0x0111, 32) // ZC_ADD_SKILL
+packetLen(0x0111, 32)
#elif PACKETVER >= 20080102
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
#endif
// Packet: 0x0112
#if PACKETVER >= 20080618
-packetLen(0x0112, 59) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 59)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0112, 13) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 13)
#elif PACKETVER >= 20080219
-packetLen(0x0112, 7) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 7)
#elif PACKETVER >= 20080102
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
#endif
// Packet: 0x0113
-packetLen(0x0113, 22) // CZ_USE_SKILL
+packetLen(0x0113, 22)
// Packet: 0x0114
#if PACKETVER >= 20080618
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0114, 7) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 7)
#elif PACKETVER >= 20080311
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
#elif PACKETVER >= 20080304
-packetLen(0x0114, 8) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
#endif
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
// Packet: 0x0117
#if PACKETVER >= 20080618
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0117, 31) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 31)
#elif PACKETVER >= 20080311
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
#elif PACKETVER >= 20080304
-packetLen(0x0117, 282) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0117, 10) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
#endif
// Packet: 0x0118
#if PACKETVER >= 20080618
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#elif PACKETVER >= 20080610
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0118, 34) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 34)
#elif PACKETVER >= 20080226
-packetLen(0x0118, 54) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 54)
#elif PACKETVER >= 20080219
-packetLen(0x0118, 7) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 7)
#elif PACKETVER >= 20080102
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#endif
// Packet: 0x0119
#if PACKETVER >= 20080618
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0119, 10) // ZC_STATE_CHANGE
+packetLen(0x0119, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
#elif PACKETVER >= 20080304
-packetLen(0x0119, 10) // ZC_STATE_CHANGE
+packetLen(0x0119, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0119, 2) // ZC_STATE_CHANGE
+packetLen(0x0119, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0119, 58) // ZC_STATE_CHANGE
+packetLen(0x0119, 58)
#elif PACKETVER >= 20080102
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
#endif
// Packet: 0x011a
#if PACKETVER >= 20080618
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
#elif PACKETVER >= 20080304
-packetLen(0x011a, 2) // ZC_USE_SKILL
+packetLen(0x011a, 2)
#elif PACKETVER >= 20080226
-packetLen(0x011a, 10) // ZC_USE_SKILL
+packetLen(0x011a, 10)
#elif PACKETVER >= 20080219
-packetLen(0x011a, 11) // ZC_USE_SKILL
+packetLen(0x011a, 11)
#elif PACKETVER >= 20080102
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
#endif
// Packet: 0x011b
#if PACKETVER >= 20080618
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x011b, 15) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 15)
#elif PACKETVER >= 20080311
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
#elif PACKETVER >= 20080304
-packetLen(0x011b, 8) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 8)
#elif PACKETVER >= 20080226
-packetLen(0x011b, 2) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 2)
#elif PACKETVER >= 20080219
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20080102
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
#endif
// Packet: 0x011c
#if PACKETVER >= 20080618
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x011c, 2) // ZC_WARPLIST
+packetLen(0x011c, 2)
#elif PACKETVER >= 20080311
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
#elif PACKETVER >= 20080304
-packetLen(0x011c, 11) // ZC_WARPLIST
+packetLen(0x011c, 11)
#elif PACKETVER >= 20080226
-packetLen(0x011c, 6) // ZC_WARPLIST
+packetLen(0x011c, 6)
#elif PACKETVER >= 20080219
-packetLen(0x011c, 4) // ZC_WARPLIST
+packetLen(0x011c, 4)
#elif PACKETVER >= 20080102
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
#endif
// Packet: 0x011d
#if PACKETVER >= 20080618
-packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 10)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#elif PACKETVER >= 20080304
-packetLen(0x011d, 8) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 8)
#elif PACKETVER >= 20080219
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20080102
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#endif
// Packet: 0x011e
#if PACKETVER >= 20080618
-packetLen(0x011e, 33) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 33)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080311
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
#elif PACKETVER >= 20080304
-packetLen(0x011e, 16) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 16)
#elif PACKETVER >= 20080219
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
#endif
// Packet: 0x011f
#if PACKETVER >= 20080618
-packetLen(0x011f, 30) // ZC_SKILL_ENTRY
+packetLen(0x011f, 30)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x011f, 9) // ZC_SKILL_ENTRY
+packetLen(0x011f, 9)
#elif PACKETVER >= 20080311
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
#elif PACKETVER >= 20080304
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20080226
-packetLen(0x011f, 8) // ZC_SKILL_ENTRY
+packetLen(0x011f, 8)
#elif PACKETVER >= 20080219
-packetLen(0x011f, 5) // ZC_SKILL_ENTRY
+packetLen(0x011f, 5)
#elif PACKETVER >= 20080102
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
#endif
// Packet: 0x0120
#if PACKETVER >= 20080618
-packetLen(0x0120, 14) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 14)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0120, 5) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0120, 7) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
#endif
// Packet: 0x0121
#if PACKETVER >= 20080618
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0121, 282) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 282)
#elif PACKETVER >= 20080219
-packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
#endif
// Packet: 0x0122
#if PACKETVER >= 20080618
-packetLen(0x0122, 12) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 12)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0122, 6) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0122, 30) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0122, 8) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#endif
// Packet: 0x0123
#if PACKETVER >= 20080618
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0123, 33) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 33)
#elif PACKETVER >= 20080311
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0123, 8) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0123, 16) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 16)
#elif PACKETVER >= 20080102
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#endif
// Packet: 0x0124
#if PACKETVER >= 20080618
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
#elif PACKETVER >= 20080304
-packetLen(0x0124, 8) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0124, 36) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 36)
#elif PACKETVER >= 20080219
-packetLen(0x0124, 6) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
#endif
// Packet: 0x0125
#if PACKETVER >= 20080618
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0125, 17) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 17)
#elif PACKETVER >= 20080219
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
#endif
// Packet: 0x0126
#if PACKETVER >= 20080618
-packetLen(0x0126, 43) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 43)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0126, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0126, 11) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 11)
#elif PACKETVER >= 20080102
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#endif
// Packet: 0x0127
#if PACKETVER >= 20080618
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0127, 2) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0127, 12) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 12)
#elif PACKETVER >= 20080219
-packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
#endif
// Packet: 0x0128
#if PACKETVER >= 20080618
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0128, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0128, 17) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 17)
#elif PACKETVER >= 20080219
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#endif
// Packet: 0x0129
#if PACKETVER >= 20080618
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#endif
// Packet: 0x012a
#if PACKETVER >= 20080618
-packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+packetLen(0x012a, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
#elif PACKETVER >= 20080304
-packetLen(0x012a, 6) // CZ_REQ_CARTOFF
+packetLen(0x012a, 6)
#elif PACKETVER >= 20080226
-packetLen(0x012a, 3) // CZ_REQ_CARTOFF
+packetLen(0x012a, 3)
#elif PACKETVER >= 20080219
-packetLen(0x012a, 5) // CZ_REQ_CARTOFF
+packetLen(0x012a, 5)
#elif PACKETVER >= 20080102
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
#endif
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
#if PACKETVER >= 20080618
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x012c, 34) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 34)
#elif PACKETVER >= 20080311
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
#elif PACKETVER >= 20080304
-packetLen(0x012c, 39) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 39)
#elif PACKETVER >= 20080226
-packetLen(0x012c, 20) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 20)
#elif PACKETVER >= 20080219
-packetLen(0x012c, 9) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 9)
#elif PACKETVER >= 20080102
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
#endif
// Packet: 0x012d
#if PACKETVER >= 20080618
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20080311
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
#elif PACKETVER >= 20080304
-packetLen(0x012d, 16) // ZC_OPENSTORE
+packetLen(0x012d, 16)
#elif PACKETVER >= 20080219
-packetLen(0x012d, 14) // ZC_OPENSTORE
+packetLen(0x012d, 14)
#elif PACKETVER >= 20080102
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
#endif
// Packet: 0x012e
#if PACKETVER >= 20080618
-packetLen(0x012e, 31) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 31)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080311
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20080304
-packetLen(0x012e, 10) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 10)
#elif PACKETVER >= 20080219
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#endif
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
#if PACKETVER >= 20080618
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0130, 86) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 86)
#elif PACKETVER >= 20080311
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0130, 28) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 28)
#elif PACKETVER >= 20080219
-packetLen(0x0130, 5) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 5)
#elif PACKETVER >= 20080102
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#endif
// Packet: 0x0131
#if PACKETVER >= 20080618
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0131, 2) // ZC_STORE_ENTRY
+packetLen(0x0131, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
#elif PACKETVER >= 20080304
-packetLen(0x0131, 4) // ZC_STORE_ENTRY
+packetLen(0x0131, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0131, 29) // ZC_STORE_ENTRY
+packetLen(0x0131, 29)
#elif PACKETVER >= 20080219
-packetLen(0x0131, 26) // ZC_STORE_ENTRY
+packetLen(0x0131, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
#endif
// Packet: 0x0132
#if PACKETVER >= 20080618
-packetLen(0x0132, 10) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 10)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0132, 8) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0132, 14) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 14)
#elif PACKETVER >= 20080102
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#endif
// Packet: 0x0133
#if PACKETVER >= 20080304
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0133, 10) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#endif
// Packet: 0x0134
#if PACKETVER >= 20080618
-packetLen(0x0134, 8) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 8)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0134, 16) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 16)
#elif PACKETVER >= 20080311
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0134, 3) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#endif
// Packet: 0x0135
#if PACKETVER >= 20080618
-packetLen(0x0135, 13) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 13)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
#elif PACKETVER >= 20080304
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0135, 6) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0135, 65) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 65)
#elif PACKETVER >= 20080102
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
#endif
// Packet: 0x0136
#if PACKETVER >= 20080618
-packetLen(0x0136, 8) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 8)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0136, 26) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0136, 10) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0136, 2) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#endif
// Packet: 0x0137
#if PACKETVER >= 20080618
-packetLen(0x0137, 71) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 71)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0137, 2) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0137, 5) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0137, 10) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#endif
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
#if PACKETVER >= 20080618
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0139, 59) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 59)
#elif PACKETVER >= 20080311
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
#elif PACKETVER >= 20080304
-packetLen(0x0139, 3) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0139, 81) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 81)
#elif PACKETVER >= 20080219
-packetLen(0x0139, 6) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
#endif
// Packet: 0x013a
#if PACKETVER >= 20080618
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+packetLen(0x013a, 8)
#elif PACKETVER >= 20080311
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x013a, 5) // ZC_ATTACK_RANGE
+packetLen(0x013a, 5)
#elif PACKETVER >= 20080226
-packetLen(0x013a, 58) // ZC_ATTACK_RANGE
+packetLen(0x013a, 58)
#elif PACKETVER >= 20080219
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20080102
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
#endif
// Packet: 0x013b
#if PACKETVER >= 20080618
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080311
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#elif PACKETVER >= 20080304
-packetLen(0x013b, 26) // ZC_ACTION_FAILURE
+packetLen(0x013b, 26)
#elif PACKETVER >= 20080226
-packetLen(0x013b, 6) // ZC_ACTION_FAILURE
+packetLen(0x013b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x013b, 16) // ZC_ACTION_FAILURE
+packetLen(0x013b, 16)
#elif PACKETVER >= 20080102
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#endif
// Packet: 0x013c
#if PACKETVER >= 20080618
-packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+packetLen(0x013c, 12)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#elif PACKETVER >= 20080304
-packetLen(0x013c, 12) // ZC_EQUIP_ARROW
+packetLen(0x013c, 12)
#elif PACKETVER >= 20080226
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#endif
// Packet: 0x013d
#if PACKETVER >= 20080618
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080610
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20080311
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20080304
-packetLen(0x013d, 43) // ZC_RECOVERY
+packetLen(0x013d, 43)
#elif PACKETVER >= 20080226
-packetLen(0x013d, 2) // ZC_RECOVERY
+packetLen(0x013d, 2)
#elif PACKETVER >= 20080102
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#endif
// Packet: 0x013e
#if PACKETVER >= 20080618
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
#elif PACKETVER >= 20080610
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080311
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
#elif PACKETVER >= 20080304
-packetLen(0x013e, 5) // ZC_USESKILL_ACK
+packetLen(0x013e, 5)
#elif PACKETVER >= 20080226
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20080219
-packetLen(0x013e, 30) // ZC_USESKILL_ACK
+packetLen(0x013e, 30)
#elif PACKETVER >= 20080102
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
#endif
// Packet: 0x013f
#if PACKETVER >= 20080618
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20080311
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
#elif PACKETVER >= 20080304
-packetLen(0x013f, 11) // CZ_ITEM_CREATE
+packetLen(0x013f, 11)
#elif PACKETVER >= 20080226
-packetLen(0x013f, 5) // CZ_ITEM_CREATE
+packetLen(0x013f, 5)
#elif PACKETVER >= 20080219
-packetLen(0x013f, 58) // CZ_ITEM_CREATE
+packetLen(0x013f, 58)
#elif PACKETVER >= 20080102
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
#endif
// Packet: 0x0140
#if PACKETVER >= 20080618
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0140, 30) // CZ_MOVETO_MAP
+packetLen(0x0140, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
#elif PACKETVER >= 20080304
-packetLen(0x0140, 8) // CZ_MOVETO_MAP
+packetLen(0x0140, 8)
#elif PACKETVER >= 20080226
-packetLen(0x0140, 11) // CZ_MOVETO_MAP
+packetLen(0x0140, 11)
#elif PACKETVER >= 20080219
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
#endif
// Packet: 0x0141
#if PACKETVER >= 20080618
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
#elif PACKETVER >= 20080610
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0141, 22) // ZC_COUPLESTATUS
+packetLen(0x0141, 22)
#elif PACKETVER >= 20080219
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
#endif
// Packet: 0x0142
#if PACKETVER >= 20080618
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0142, 8) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0142, 31) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 31)
#elif PACKETVER >= 20080226
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0142, 2) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
#endif
// Packet: 0x0143
#if PACKETVER >= 20080618
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0143, 11) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 11)
#elif PACKETVER >= 20080311
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0143, 282) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0143, 8) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#endif
// Packet: 0x0144
#if PACKETVER >= 20080618
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0144, 30) // ZC_COMPASS
+packetLen(0x0144, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
#elif PACKETVER >= 20080304
-packetLen(0x0144, 79) // ZC_COMPASS
+packetLen(0x0144, 79)
#elif PACKETVER >= 20080226
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0144, 10) // ZC_COMPASS
+packetLen(0x0144, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
#endif
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
#if PACKETVER >= 20080618
-packetLen(0x0146, 23) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 23)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#elif PACKETVER >= 20080304
-packetLen(0x0146, 5) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 5)
#elif PACKETVER >= 20080226
-packetLen(0x0146, 7) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0146, 10) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 10)
#elif PACKETVER >= 20080102
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#endif
// Packet: 0x0147
#if PACKETVER >= 20080618
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
#elif PACKETVER >= 20080304
-packetLen(0x0147, 22) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 22)
#elif PACKETVER >= 20080226
-packetLen(0x0147, 11) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 11)
#elif PACKETVER >= 20080219
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
#endif
// Packet: 0x0148
#if PACKETVER >= 20080618
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0148, 10) // ZC_RESURRECTION
+packetLen(0x0148, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0148, 6) // ZC_RESURRECTION
+packetLen(0x0148, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0148, 4) // ZC_RESURRECTION
+packetLen(0x0148, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
#endif
// Packet: 0x0149
#if PACKETVER >= 20080618
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
#elif PACKETVER >= 20080304
-packetLen(0x0149, 15) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 15)
#elif PACKETVER >= 20080226
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0149, 53) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 53)
#elif PACKETVER >= 20080102
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
#endif
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
#if PACKETVER >= 20080618
-packetLen(0x014c, 17) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 17)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x014c, 53) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 53)
#elif PACKETVER >= 20080226
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 4)
#elif PACKETVER >= 20080102
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#endif
// Packet: 0x014d
#if PACKETVER >= 20080618
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20080610
-packetLen(0x014d, 26) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 26)
#elif PACKETVER >= 20080311
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20080304
-packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 6)
#elif PACKETVER >= 20080226
-packetLen(0x014d, 8) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 8)
#elif PACKETVER >= 20080219
-packetLen(0x014d, 10) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 10)
#elif PACKETVER >= 20080102
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#endif
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
#if PACKETVER >= 20080618
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#elif PACKETVER >= 20080610
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080311
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#elif PACKETVER >= 20080304
-packetLen(0x014f, 10) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 10)
#elif PACKETVER >= 20080226
-packetLen(0x014f, 97) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 97)
#elif PACKETVER >= 20080219
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20080102
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#endif
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
#if PACKETVER >= 20080618
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0154, 27) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 27)
#elif PACKETVER >= 20080311
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0154, 6) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0154, 8) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#endif
// Packet: 0x0155
#if PACKETVER >= 20080618
-packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 12)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0155, 54) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 54)
#elif PACKETVER >= 20080226
-packetLen(0x0155, 66) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 66)
#elif PACKETVER >= 20080219
-packetLen(0x0155, 15) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 15)
#elif PACKETVER >= 20080102
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#endif
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
#if PACKETVER >= 20080618
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#elif PACKETVER >= 20080610
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#elif PACKETVER >= 20080304
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0159, 186) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 186)
#elif PACKETVER >= 20080219
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#endif
// Packet: 0x015a
#if PACKETVER >= 20080618
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 6)
#elif PACKETVER >= 20080311
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
#elif PACKETVER >= 20080304
-packetLen(0x015a, 14) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 14)
#elif PACKETVER >= 20080226
-packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 8)
#elif PACKETVER >= 20080102
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
#endif
// Packet: 0x015b
#if PACKETVER >= 20080618
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x015b, 42) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 42)
#elif PACKETVER >= 20080311
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#elif PACKETVER >= 20080304
-packetLen(0x015b, 2) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 2)
#elif PACKETVER >= 20080226
-packetLen(0x015b, 22) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 22)
#elif PACKETVER >= 20080219
-packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 6)
#elif PACKETVER >= 20080102
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#endif
// Packet: 0x015c
#if PACKETVER >= 20080618
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x015c, 18) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 18)
#elif PACKETVER >= 20080311
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
#elif PACKETVER >= 20080304
-packetLen(0x015c, 30) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 30)
#elif PACKETVER >= 20080226
-packetLen(0x015c, 3) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 3)
#elif PACKETVER >= 20080219
-packetLen(0x015c, 5) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 5)
#elif PACKETVER >= 20080102
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
#endif
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
#if PACKETVER >= 20080618
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080311
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#elif PACKETVER >= 20080304
-packetLen(0x015e, 3) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 3)
#elif PACKETVER >= 20080226
-packetLen(0x015e, 54) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 54)
#elif PACKETVER >= 20080219
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#endif
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
#if PACKETVER >= 20080618
-packetLen(0x0160, 11) // ZC_POSITION_INFO
+packetLen(0x0160, 11)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0160, 29) // ZC_POSITION_INFO
+packetLen(0x0160, 29)
#elif PACKETVER >= 20080226
-packetLen(0x0160, 2) // ZC_POSITION_INFO
+packetLen(0x0160, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0160, 102) // ZC_POSITION_INFO
+packetLen(0x0160, 102)
#elif PACKETVER >= 20080102
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#endif
// Packet: 0x0161
#if PACKETVER >= 20080618
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0161, 10) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0161, 58) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 58)
#elif PACKETVER >= 20080226
-packetLen(0x0161, 21) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 21)
#elif PACKETVER >= 20080219
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#endif
// Packet: 0x0162
#if PACKETVER >= 20080618
-packetLen(0x0162, 22) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 22)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0162, 4) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0162, 27) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 27)
#elif PACKETVER >= 20080226
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0162, 26) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#endif
// Packet: 0x0163
#if PACKETVER >= 20080618
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0163, 8) // ZC_BAN_LIST
+packetLen(0x0163, 8)
#elif PACKETVER >= 20080311
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0163, 21) // ZC_BAN_LIST
+packetLen(0x0163, 21)
#elif PACKETVER >= 20080226
-packetLen(0x0163, 4) // ZC_BAN_LIST
+packetLen(0x0163, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0163, 6) // ZC_BAN_LIST
+packetLen(0x0163, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#endif
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
#if PACKETVER >= 20080618
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0165, 114) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 114)
#elif PACKETVER >= 20080311
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0165, 4) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0165, 29) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 29)
#elif PACKETVER >= 20080102
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
#endif
// Packet: 0x0166
#if PACKETVER >= 20080618
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0166, 28) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 28)
#elif PACKETVER >= 20080304
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0166, 18) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 18)
#elif PACKETVER >= 20080102
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#endif
// Packet: 0x0167
#if PACKETVER >= 20080618
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0167, 71) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 71)
#elif PACKETVER >= 20080219
-packetLen(0x0167, 2) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
#endif
// Packet: 0x0168
#if PACKETVER >= 20080618
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#elif PACKETVER >= 20080610
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0168, 9) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 9)
#elif PACKETVER >= 20080226
-packetLen(0x0168, 3) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0168, 6) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#endif
// Packet: 0x0169
#if PACKETVER >= 20080618
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#elif PACKETVER >= 20080610
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#elif PACKETVER >= 20080304
-packetLen(0x0169, 81) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 81)
#elif PACKETVER >= 20080226
-packetLen(0x0169, 4) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#endif
// Packet: 0x016a
#if PACKETVER >= 20080618
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
#elif PACKETVER >= 20080304
-packetLen(0x016a, 6) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 6)
#elif PACKETVER >= 20080226
-packetLen(0x016a, 2) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 2)
#elif PACKETVER >= 20080219
-packetLen(0x016a, 4) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 4)
#elif PACKETVER >= 20080102
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
#endif
// Packet: 0x016b
#if PACKETVER >= 20080618
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x016b, 35) // CZ_JOIN_GUILD
+packetLen(0x016b, 35)
#elif PACKETVER >= 20080304
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
#elif PACKETVER >= 20080226
-packetLen(0x016b, 6) // CZ_JOIN_GUILD
+packetLen(0x016b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20080102
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
#endif
// Packet: 0x016c
#if PACKETVER >= 20080618
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
#elif PACKETVER >= 20080304
-packetLen(0x016c, 10) // ZC_UPDATE_GDID
+packetLen(0x016c, 10)
#elif PACKETVER >= 20080226
-packetLen(0x016c, 8) // ZC_UPDATE_GDID
+packetLen(0x016c, 8)
#elif PACKETVER >= 20080219
-packetLen(0x016c, 6) // ZC_UPDATE_GDID
+packetLen(0x016c, 6)
#elif PACKETVER >= 20080102
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
#endif
// Packet: 0x016d
#if PACKETVER >= 20080618
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
#elif PACKETVER >= 20080610
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20080311
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
#elif PACKETVER >= 20080304
-packetLen(0x016d, 11) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 11)
#elif PACKETVER >= 20080226
-packetLen(0x016d, 3) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 3)
#elif PACKETVER >= 20080219
-packetLen(0x016d, 30) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 30)
#elif PACKETVER >= 20080102
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
#endif
// Packet: 0x016e
#if PACKETVER >= 20080618
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x016e, 6) // CZ_GUILD_NOTICE
+packetLen(0x016e, 6)
#elif PACKETVER >= 20080311
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
#elif PACKETVER >= 20080304
-packetLen(0x016e, 26) // CZ_GUILD_NOTICE
+packetLen(0x016e, 26)
#elif PACKETVER >= 20080226
-packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+packetLen(0x016e, 4)
#elif PACKETVER >= 20080219
-packetLen(0x016e, 3) // CZ_GUILD_NOTICE
+packetLen(0x016e, 3)
#elif PACKETVER >= 20080102
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
#endif
// Packet: 0x016f
#if PACKETVER >= 20080618
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+packetLen(0x016f, 9)
#elif PACKETVER >= 20080311
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
#elif PACKETVER >= 20080304
-packetLen(0x016f, 17) // ZC_GUILD_NOTICE
+packetLen(0x016f, 17)
#elif PACKETVER >= 20080226
-packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+packetLen(0x016f, 6)
#elif PACKETVER >= 20080219
-packetLen(0x016f, 4) // ZC_GUILD_NOTICE
+packetLen(0x016f, 4)
#elif PACKETVER >= 20080102
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
#endif
// Packet: 0x0170
#if PACKETVER >= 20080618
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#elif PACKETVER >= 20080610
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#elif PACKETVER >= 20080304
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 30)
#elif PACKETVER >= 20080219
-packetLen(0x0170, 60) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 60)
#elif PACKETVER >= 20080102
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#endif
// Packet: 0x0171
#if PACKETVER >= 20080618
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 67)
#elif PACKETVER >= 20080311
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 67)
#elif PACKETVER >= 20080219
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
#endif
// Packet: 0x0172
#if PACKETVER >= 20080618
-packetLen(0x0172, 102) // CZ_ALLY_GUILD
+packetLen(0x0172, 102)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0172, 30) // CZ_ALLY_GUILD
+packetLen(0x0172, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0172, 22) // CZ_ALLY_GUILD
+packetLen(0x0172, 22)
#elif PACKETVER >= 20080102
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#endif
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
#if PACKETVER >= 20080618
-packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 4)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0177, 282) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 282)
#elif PACKETVER >= 20080304
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0177, 3) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 2)
#elif PACKETVER >= 20080102
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#endif
// Packet: 0x0178
#if PACKETVER >= 20080618
-packetLen(0x0178, 10) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 10)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0178, 7) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 7)
#elif PACKETVER >= 20080226
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0178, 30) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#endif
// Packet: 0x0179
#if PACKETVER >= 20080618
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
#elif PACKETVER >= 20080304
-packetLen(0x0179, 12) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 12)
#elif PACKETVER >= 20080219
-packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
#endif
// Packet: 0x017a
#if PACKETVER >= 20080618
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x017a, 6) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 6)
#elif PACKETVER >= 20080311
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x017a, 10) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 10)
#elif PACKETVER >= 20080219
-packetLen(0x017a, 30) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 30)
#elif PACKETVER >= 20080102
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#endif
// Packet: 0x017b
#if PACKETVER >= 20080311
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20080304
-packetLen(0x017b, 3) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 3)
#elif PACKETVER >= 20080226
-packetLen(0x017b, 9) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 9)
#elif PACKETVER >= 20080219
-packetLen(0x017b, 18) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 18)
#elif PACKETVER >= 20080102
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#endif
// Packet: 0x017c
#if PACKETVER >= 20080618
-packetLen(0x017c, 26) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 26)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20080226
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#endif
// Packet: 0x017d
#if PACKETVER >= 20080618
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x017d, 27) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 27)
#elif PACKETVER >= 20080311
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
#elif PACKETVER >= 20080304
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20080219
-packetLen(0x017d, 8) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 8)
#elif PACKETVER >= 20080102
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
#endif
// Packet: 0x017e
#if PACKETVER >= 20080618
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080610
-packetLen(0x017e, 90) // CZ_GUILD_CHAT
+packetLen(0x017e, 90)
#elif PACKETVER >= 20080304
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20080226
-packetLen(0x017e, 7) // CZ_GUILD_CHAT
+packetLen(0x017e, 7)
#elif PACKETVER >= 20080219
-packetLen(0x017e, 28) // CZ_GUILD_CHAT
+packetLen(0x017e, 28)
#elif PACKETVER >= 20080102
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#endif
// Packet: 0x017f
#if PACKETVER >= 20080618
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080610
-packetLen(0x017f, 13) // ZC_GUILD_CHAT
+packetLen(0x017f, 13)
#elif PACKETVER >= 20080311
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20080304
-packetLen(0x017f, 4) // ZC_GUILD_CHAT
+packetLen(0x017f, 4)
#elif PACKETVER >= 20080226
-packetLen(0x017f, 30) // ZC_GUILD_CHAT
+packetLen(0x017f, 30)
#elif PACKETVER >= 20080102
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#endif
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
#if PACKETVER >= 20080618
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
#elif PACKETVER >= 20080610
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0188, 26) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 26)
#elif PACKETVER >= 20080226
-packetLen(0x0188, 30) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 30)
#elif PACKETVER >= 20080219
-packetLen(0x0188, 27) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 27)
#elif PACKETVER >= 20080102
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
#endif
// Packet: 0x0189
#if PACKETVER >= 20080618
-packetLen(0x0189, 55) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 55)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
#elif PACKETVER >= 20080304
-packetLen(0x0189, 60) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 60)
#elif PACKETVER >= 20080226
-packetLen(0x0189, 17) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 17)
#elif PACKETVER >= 20080219
-packetLen(0x0189, 8) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
#endif
// Packet: 0x018a
#if PACKETVER >= 20080618
-packetLen(0x018a, 18) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 18)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x018a, 22) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 22)
#elif PACKETVER >= 20080311
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x018a, 11) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 11)
#elif PACKETVER >= 20080226
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20080219
-packetLen(0x018a, 7) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 7)
#elif PACKETVER >= 20080102
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#endif
// Packet: 0x018b
#if PACKETVER >= 20080618
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
#elif PACKETVER >= 20080610
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080311
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
#elif PACKETVER >= 20080304
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20080226
-packetLen(0x018b, 10) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 10)
#elif PACKETVER >= 20080219
-packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 6)
#elif PACKETVER >= 20080102
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
#endif
// Packet: 0x018c
#if PACKETVER >= 20080618
-packetLen(0x018c, 31) // ZC_MONSTER_INFO
+packetLen(0x018c, 31)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
#elif PACKETVER >= 20080304
-packetLen(0x018c, 8) // ZC_MONSTER_INFO
+packetLen(0x018c, 8)
#elif PACKETVER >= 20080226
-packetLen(0x018c, 2) // ZC_MONSTER_INFO
+packetLen(0x018c, 2)
#elif PACKETVER >= 20080219
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
#endif
// Packet: 0x018d
#if PACKETVER >= 20080311
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20080304
-packetLen(0x018d, 32) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 32)
#elif PACKETVER >= 20080226
-packetLen(0x018d, 22) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 22)
#elif PACKETVER >= 20080219
-packetLen(0x018d, 4) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 4)
#elif PACKETVER >= 20080102
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#endif
// Packet: 0x018e
#if PACKETVER >= 20080618
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x018e, 6) // CZ_REQMAKINGITEM
+packetLen(0x018e, 6)
#elif PACKETVER >= 20080311
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#elif PACKETVER >= 20080304
-packetLen(0x018e, 7) // CZ_REQMAKINGITEM
+packetLen(0x018e, 7)
#elif PACKETVER >= 20080226
-packetLen(0x018e, 4) // CZ_REQMAKINGITEM
+packetLen(0x018e, 4)
#elif PACKETVER >= 20080219
-packetLen(0x018e, 39) // CZ_REQMAKINGITEM
+packetLen(0x018e, 39)
#elif PACKETVER >= 20080102
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#endif
// Packet: 0x018f
#if PACKETVER >= 20080618
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080610
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080311
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20080304
-packetLen(0x018f, 65) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 65)
#elif PACKETVER >= 20080226
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20080102
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#endif
// Packet: 0x0190
-packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 19)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
#if PACKETVER >= 20080618
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
#elif PACKETVER >= 20080610
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
#elif PACKETVER >= 20080304
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0194, 4) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0194, 14) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 14)
#elif PACKETVER >= 20080102
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
#endif
// Packet: 0x0195
#if PACKETVER >= 20080618
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0195, 44) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 44)
#elif PACKETVER >= 20080311
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
#elif PACKETVER >= 20080304
-packetLen(0x0195, 6) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0195, 43) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 43)
#elif PACKETVER >= 20080102
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
#endif
// Packet: 0x0196
#if PACKETVER >= 20080618
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
#elif PACKETVER >= 20080610
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
#elif PACKETVER >= 20080304
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0196, 2) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
#endif
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
#if PACKETVER >= 20080618
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#elif PACKETVER >= 20080610
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#endif
// Packet: 0x019a
#if PACKETVER >= 20080618
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x019a, 5) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 5)
#elif PACKETVER >= 20080311
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
#elif PACKETVER >= 20080304
-packetLen(0x019a, 8) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 8)
#elif PACKETVER >= 20080226
-packetLen(0x019a, 42) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 42)
#elif PACKETVER >= 20080219
-packetLen(0x019a, 10) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 10)
#elif PACKETVER >= 20080102
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
#endif
// Packet: 0x019b
#if PACKETVER >= 20080618
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
#elif PACKETVER >= 20080610
-packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 4)
#elif PACKETVER >= 20080311
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
#elif PACKETVER >= 20080304
-packetLen(0x019b, 39) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 39)
#elif PACKETVER >= 20080226
-packetLen(0x019b, 65) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 65)
#elif PACKETVER >= 20080219
-packetLen(0x019b, 2) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 2)
#elif PACKETVER >= 20080102
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
#endif
// Packet: 0x019c
#if PACKETVER >= 20080618
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080610
-packetLen(0x019c, 5) // CZ_LOCALBROADCAST
+packetLen(0x019c, 5)
#elif PACKETVER >= 20080311
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080304
-packetLen(0x019c, 9) // CZ_LOCALBROADCAST
+packetLen(0x019c, 9)
#elif PACKETVER >= 20080226
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20080219
-packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+packetLen(0x019c, 2)
#elif PACKETVER >= 20080102
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#endif
// Packet: 0x019d
#if PACKETVER >= 20080618
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x019d, 32) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 32)
#elif PACKETVER >= 20080311
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
#elif PACKETVER >= 20080304
-packetLen(0x019d, 2) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 2)
#elif PACKETVER >= 20080226
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20080219
-packetLen(0x019d, 18) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 18)
#elif PACKETVER >= 20080102
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
#endif
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
#if PACKETVER >= 20080618
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x019f, 19) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 19)
#elif PACKETVER >= 20080311
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20080304
-packetLen(0x019f, 11) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 11)
#elif PACKETVER >= 20080226
-packetLen(0x019f, 79) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 79)
#elif PACKETVER >= 20080219
-packetLen(0x019f, 2) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 2)
#elif PACKETVER >= 20080102
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#endif
// Packet: 0x01a0
#if PACKETVER >= 20080618
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
#elif PACKETVER >= 20080610
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
#elif PACKETVER >= 20080304
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01a0, 8) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
#endif
// Packet: 0x01a1
#if PACKETVER >= 20080618
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01a1, 6) // CZ_COMMAND_PET
+packetLen(0x01a1, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#elif PACKETVER >= 20080304
-packetLen(0x01a1, 42) // CZ_COMMAND_PET
+packetLen(0x01a1, 42)
#elif PACKETVER >= 20080226
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01a1, 6) // CZ_COMMAND_PET
+packetLen(0x01a1, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#endif
// Packet: 0x01a2
#if PACKETVER >= 20081126
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
#elif PACKETVER >= 20080618
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
#elif PACKETVER >= 20080610
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
#elif PACKETVER >= 20080304
-packetLen(0x01a2, 6) // ZC_PROPERTY_PET
+packetLen(0x01a2, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+packetLen(0x01a2, 7)
#elif PACKETVER >= 20080219
-packetLen(0x01a2, 8) // ZC_PROPERTY_PET
+packetLen(0x01a2, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01a2, 35) // ZC_PROPERTY_PET
+packetLen(0x01a2, 35)
#endif
// Packet: 0x01a3
#if PACKETVER >= 20080618
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01a3, 11) // ZC_FEED_PET
+packetLen(0x01a3, 11)
#elif PACKETVER >= 20080311
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#elif PACKETVER >= 20080304
-packetLen(0x01a3, 10) // ZC_FEED_PET
+packetLen(0x01a3, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01a3, 4) // ZC_FEED_PET
+packetLen(0x01a3, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01a3, 11) // ZC_FEED_PET
+packetLen(0x01a3, 11)
#elif PACKETVER >= 20080102
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#endif
// Packet: 0x01a4
#if PACKETVER >= 20080618
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
#elif PACKETVER >= 20080304
-packetLen(0x01a4, 6) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01a4, 10) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
#endif
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
#if PACKETVER >= 20080618
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01a6, 9) // ZC_PETEGG_LIST
+packetLen(0x01a6, 9)
#elif PACKETVER >= 20080226
-packetLen(0x01a6, 10) // ZC_PETEGG_LIST
+packetLen(0x01a6, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#endif
// Packet: 0x01a7
#if PACKETVER >= 20080618
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01a7, 2) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#endif
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
#if PACKETVER >= 20080618
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
#elif PACKETVER >= 20080304
-packetLen(0x01aa, 18) // ZC_PET_ACT
+packetLen(0x01aa, 18)
#elif PACKETVER >= 20080219
-packetLen(0x01aa, 6) // ZC_PET_ACT
+packetLen(0x01aa, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
#endif
// Packet: 0x01ab
#if PACKETVER >= 20080618
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
#elif PACKETVER >= 20080610
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
#elif PACKETVER >= 20080304
-packetLen(0x01ab, 68) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 68)
#elif PACKETVER >= 20080226
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01ab, 3) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
#endif
// Packet: 0x01ac
#if PACKETVER >= 20080618
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01ac, 10) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01ac, 90) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 90)
#elif PACKETVER >= 20080226
-packetLen(0x01ac, 4) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01ac, 26) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 26)
#elif PACKETVER >= 20080102
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#endif
// Packet: 0x01ad
#if PACKETVER >= 20080618
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080610
-packetLen(0x01ad, 14) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 14)
#elif PACKETVER >= 20080311
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ad, 2) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01ad, 4) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01ad, 54) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 54)
#elif PACKETVER >= 20080102
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#endif
// Packet: 0x01ae
#if PACKETVER >= 20080618
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#endif
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
#if PACKETVER >= 20080618
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
#elif PACKETVER >= 20080610
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
#elif PACKETVER >= 20080304
-packetLen(0x01b0, 7) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 7)
#elif PACKETVER >= 20080226
-packetLen(0x01b0, 6) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01b0, 2) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
#endif
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
#if PACKETVER >= 20080618
-packetLen(0x01b2, 3) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 3)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01b2, 6) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01b2, 282) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 282)
#elif PACKETVER >= 20080219
-packetLen(0x01b2, 26) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 26)
#elif PACKETVER >= 20080102
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#endif
// Packet: 0x01b3
#if PACKETVER >= 20080618
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
#elif PACKETVER >= 20080610
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
#elif PACKETVER >= 20080304
-packetLen(0x01b3, 32) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 32)
#elif PACKETVER >= 20080226
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
#endif
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
#if PACKETVER >= 20080618
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01b6, 3) // ZC_GUILD_INFO2
+packetLen(0x01b6, 3)
#elif PACKETVER >= 20080311
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
#elif PACKETVER >= 20080304
-packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+packetLen(0x01b6, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01b6, 18) // ZC_GUILD_INFO2
+packetLen(0x01b6, 18)
#elif PACKETVER >= 20080219
-packetLen(0x01b6, 22) // ZC_GUILD_INFO2
+packetLen(0x01b6, 22)
#elif PACKETVER >= 20080102
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
#endif
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
#if PACKETVER >= 20080618
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01b9, 14) // ZC_DISPEL
+packetLen(0x01b9, 14)
#elif PACKETVER >= 20080311
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01b9, 26) // ZC_DISPEL
+packetLen(0x01b9, 26)
#elif PACKETVER >= 20080226
-packetLen(0x01b9, 60) // ZC_DISPEL
+packetLen(0x01b9, 60)
#elif PACKETVER >= 20080219
-packetLen(0x01b9, 2) // ZC_DISPEL
+packetLen(0x01b9, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#endif
// Packet: 0x01ba
#if PACKETVER >= 20080618
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
#elif PACKETVER >= 20080304
-packetLen(0x01ba, 3) // CZ_REMOVE_AID
+packetLen(0x01ba, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01ba, 14) // CZ_REMOVE_AID
+packetLen(0x01ba, 14)
#elif PACKETVER >= 20080102
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
#endif
// Packet: 0x01bb
#if PACKETVER >= 20080618
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01bb, 22) // CZ_SHIFT
+packetLen(0x01bb, 22)
#elif PACKETVER >= 20080311
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
#elif PACKETVER >= 20080304
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01bb, 6) // CZ_SHIFT
+packetLen(0x01bb, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01bb, 3) // CZ_SHIFT
+packetLen(0x01bb, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
#endif
// Packet: 0x01bc
#if PACKETVER >= 20080618
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01bc, 4) // CZ_RECALL
+packetLen(0x01bc, 4)
#elif PACKETVER >= 20080311
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#elif PACKETVER >= 20080304
-packetLen(0x01bc, 3) // CZ_RECALL
+packetLen(0x01bc, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01bc, 86) // CZ_RECALL
+packetLen(0x01bc, 86)
#elif PACKETVER >= 20080219
-packetLen(0x01bc, 9) // CZ_RECALL
+packetLen(0x01bc, 9)
#elif PACKETVER >= 20080102
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#endif
// Packet: 0x01bd
#if PACKETVER >= 20080618
-packetLen(0x01bd, 44) // CZ_RECALL_GID
+packetLen(0x01bd, 44)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
#elif PACKETVER >= 20080304
-packetLen(0x01bd, 3) // CZ_RECALL_GID
+packetLen(0x01bd, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01bd, 6) // CZ_RECALL_GID
+packetLen(0x01bd, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
#endif
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
#if PACKETVER >= 20080618
-packetLen(0x01c3, 6) // ZC_BROADCAST2
+packetLen(0x01c3, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01c3, 3) // ZC_BROADCAST2
+packetLen(0x01c3, 3)
#elif PACKETVER >= 20080311
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01c3, 26) // ZC_BROADCAST2
+packetLen(0x01c3, 26)
#elif PACKETVER >= 20080226
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01c3, 14) // ZC_BROADCAST2
+packetLen(0x01c3, 14)
#elif PACKETVER >= 20080102
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#endif
// Packet: 0x01c4
#if PACKETVER >= 20080618
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#elif PACKETVER >= 20080610
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#elif PACKETVER >= 20080304
-packetLen(0x01c4, 2) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#endif
// Packet: 0x01c5
#if PACKETVER >= 20080618
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#elif PACKETVER >= 20080304
-packetLen(0x01c5, 6) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01c5, 28) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 28)
#elif PACKETVER >= 20080102
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#endif
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
#if PACKETVER >= 20080618
-packetLen(0x01c8, 65) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 65)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
#elif PACKETVER >= 20080304
-packetLen(0x01c8, 2) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01c8, 8) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01c8, 6) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
#endif
// Packet: 0x01c9
#if PACKETVER >= 20080618
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01c9, 27) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 27)
#elif PACKETVER >= 20080311
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
#elif PACKETVER >= 20080304
-packetLen(0x01c9, 8) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01c9, 22) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 22)
#elif PACKETVER >= 20080219
-packetLen(0x01c9, 26) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 26)
#elif PACKETVER >= 20080102
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
#endif
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
#if PACKETVER >= 20080618
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
#elif PACKETVER >= 20080610
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
#elif PACKETVER >= 20080304
-packetLen(0x01cd, 3) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01cd, 8) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
#endif
// Packet: 0x01ce
#if PACKETVER >= 20080618
-packetLen(0x01ce, 27) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 27)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01ce, 282) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 282)
#elif PACKETVER >= 20080311
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01ce, 3) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01ce, 2) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01ce, 28) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 28)
#elif PACKETVER >= 20080102
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#endif
// Packet: 0x01cf
#if PACKETVER >= 20080618
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01cf, 3) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 3)
#elif PACKETVER >= 20080311
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
#elif PACKETVER >= 20080304
-packetLen(0x01cf, 8) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01cf, 102) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 102)
#elif PACKETVER >= 20080219
-packetLen(0x01cf, 5) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 5)
#elif PACKETVER >= 20080102
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
#endif
// Packet: 0x01d0
#if PACKETVER >= 20080618
-packetLen(0x01d0, 53) // ZC_SPIRITS
+packetLen(0x01d0, 53)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
#elif PACKETVER >= 20080304
-packetLen(0x01d0, 18) // ZC_SPIRITS
+packetLen(0x01d0, 18)
#elif PACKETVER >= 20080226
-packetLen(0x01d0, 26) // ZC_SPIRITS
+packetLen(0x01d0, 26)
#elif PACKETVER >= 20080219
-packetLen(0x01d0, 2) // ZC_SPIRITS
+packetLen(0x01d0, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
#endif
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
#if PACKETVER >= 20080618
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
#elif PACKETVER >= 20080304
-packetLen(0x01d2, 4) // ZC_COMBODELAY
+packetLen(0x01d2, 4)
#elif PACKETVER >= 20080226
-packetLen(0x01d2, 8) // ZC_COMBODELAY
+packetLen(0x01d2, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
#endif
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
#if PACKETVER >= 20080618
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01d4, 2) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#endif
// Packet: 0x01d5
#if PACKETVER >= 20080304
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01d5, 6) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01d5, 16) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 16)
#elif PACKETVER >= 20080102
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#endif
// Packet: 0x01d6
#if PACKETVER >= 20080618
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#elif PACKETVER >= 20080610
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#elif PACKETVER >= 20080304
-packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01d6, 10) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01d6, 6) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#endif
// Packet: 0x01d7
#if PACKETVER >= 20080618
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01d7, 10) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 10)
#elif PACKETVER >= 20080311
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
#elif PACKETVER >= 20080304
-packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 15)
#elif PACKETVER >= 20080226
-packetLen(0x01d7, 2) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01d7, 35) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 35)
#elif PACKETVER >= 20080102
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
#endif
// Packet: 0x01d8
#if PACKETVER >= 20080618
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
#elif PACKETVER >= 20080304
-packetLen(0x01d8, 7) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 7)
#elif PACKETVER >= 20080226
-packetLen(0x01d8, 15) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 15)
#elif PACKETVER >= 20080219
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
#endif
// Packet: 0x01d9
#if PACKETVER >= 20080618
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
#elif PACKETVER >= 20080304
-packetLen(0x01d9, 10) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 10)
#elif PACKETVER >= 20080226
-packetLen(0x01d9, 8) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01d9, 282) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 282)
#elif PACKETVER >= 20080102
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
#endif
// Packet: 0x01da
#if PACKETVER >= 20080618
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#elif PACKETVER >= 20080304
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01da, 6) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 6)
#elif PACKETVER >= 20080219
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20080102
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#endif
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
#if PACKETVER >= 20080618
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01de, 28) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 28)
#elif PACKETVER >= 20080311
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
#elif PACKETVER >= 20080304
-packetLen(0x01de, 8) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 8)
#elif PACKETVER >= 20080226
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 3)
#elif PACKETVER >= 20080102
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
#endif
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
#if PACKETVER >= 20080618
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01e1, 102) // ZC_SPIRITS2
+packetLen(0x01e1, 102)
#elif PACKETVER >= 20080311
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
#elif PACKETVER >= 20080304
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01e1, 32) // ZC_SPIRITS2
+packetLen(0x01e1, 32)
#elif PACKETVER >= 20080219
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
#endif
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
#if PACKETVER >= 20080618
-packetLen(0x01e7, 6) // CZ_DORIDORI
+packetLen(0x01e7, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01e7, 6) // CZ_DORIDORI
+packetLen(0x01e7, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#endif
// Packet: 0x01e8
#if PACKETVER >= 20080618
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01e8, 39) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 39)
#elif PACKETVER >= 20080311
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#elif PACKETVER >= 20080304
-packetLen(0x01e8, 26) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 26)
#elif PACKETVER >= 20080226
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#endif
// Packet: 0x01e9
#if PACKETVER >= 20080618
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
#elif PACKETVER >= 20080610
-packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
#elif PACKETVER >= 20080304
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01e9, 12) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 12)
#elif PACKETVER >= 20080219
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20080102
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
#endif
// Packet: 0x01ea
#if PACKETVER >= 20080618
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20080610
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20080304
-packetLen(0x01ea, 8) // ZC_CONGRATULATION
+packetLen(0x01ea, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#endif
// Packet: 0x01eb
#if PACKETVER >= 20080618
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01eb, 21) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 21)
#elif PACKETVER >= 20080311
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
#elif PACKETVER >= 20080304
-packetLen(0x01eb, 7) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 7)
#elif PACKETVER >= 20080226
-packetLen(0x01eb, 11) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 11)
#elif PACKETVER >= 20080219
-packetLen(0x01eb, 26) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 26)
#elif PACKETVER >= 20080102
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
#endif
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
#if PACKETVER >= 20080618
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01ed, 53) // CZ_CHOPOKGI
+packetLen(0x01ed, 53)
#elif PACKETVER >= 20080311
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#elif PACKETVER >= 20080304
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01ed, 10) // CZ_CHOPOKGI
+packetLen(0x01ed, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01ed, 22) // CZ_CHOPOKGI
+packetLen(0x01ed, 22)
#elif PACKETVER >= 20080102
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#endif
// Packet: 0x01ee
#if PACKETVER >= 20080618
-packetLen(0x01ee, 23) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 23)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ee, 57) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 57)
#elif PACKETVER >= 20080226
-packetLen(0x01ee, 11) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 11)
#elif PACKETVER >= 20080219
-packetLen(0x01ee, 8) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 8)
#elif PACKETVER >= 20080102
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#endif
// Packet: 0x01ef
#if PACKETVER >= 20080618
-packetLen(0x01ef, 10) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 10)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01ef, 66) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 66)
#elif PACKETVER >= 20080311
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080226
-packetLen(0x01ef, 35) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 35)
#elif PACKETVER >= 20080219
-packetLen(0x01ef, 6) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#endif
// Packet: 0x01f0
#if PACKETVER >= 20080618
-packetLen(0x01f0, 16) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 16)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20080304
-packetLen(0x01f0, 10) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 10)
#elif PACKETVER >= 20080102
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#endif
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
#if PACKETVER >= 20080618
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#elif PACKETVER >= 20080610
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#elif PACKETVER >= 20080304
-packetLen(0x01f2, 28) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 28)
#elif PACKETVER >= 20080226
-packetLen(0x01f2, 27) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 27)
#elif PACKETVER >= 20080219
-packetLen(0x01f2, 31) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 31)
#elif PACKETVER >= 20080102
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#endif
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
#if PACKETVER >= 20080618
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01f4, 24) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 24)
#elif PACKETVER >= 20080311
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
#elif PACKETVER >= 20080304
-packetLen(0x01f4, 3) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 3)
#elif PACKETVER >= 20080226
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20080219
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20080102
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
#endif
// Packet: 0x01f5
#if PACKETVER >= 20080618
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
#elif PACKETVER >= 20080304
-packetLen(0x01f5, 2) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01f5, 10) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 10)
#elif PACKETVER >= 20080219
-packetLen(0x01f5, 114) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 114)
#elif PACKETVER >= 20080102
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
#endif
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
#if PACKETVER >= 20080618
-packetLen(0x01fc, 186) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 186)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080304
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20080226
-packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 4)
#elif PACKETVER >= 20080219
-packetLen(0x01fc, 282) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 282)
#elif PACKETVER >= 20080102
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#endif
// Packet: 0x01fd
#if PACKETVER >= 20080618
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20080610
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20080311
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20080304
-packetLen(0x01fd, 2) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 2)
#elif PACKETVER >= 20080226
-packetLen(0x01fd, 8) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 8)
#elif PACKETVER >= 20080219
-packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 26)
#elif PACKETVER >= 20080102
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#endif
// Packet: 0x01fe
#if PACKETVER >= 20080618
-packetLen(0x01fe, 11) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 11)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x01fe, 6) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 6)
#elif PACKETVER >= 20080311
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
#elif PACKETVER >= 20080304
-packetLen(0x01fe, 114) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 114)
#elif PACKETVER >= 20080226
-packetLen(0x01fe, 2) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 2)
#elif PACKETVER >= 20080219
-packetLen(0x01fe, 13) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 13)
#elif PACKETVER >= 20080102
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
#endif
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
#if PACKETVER >= 20080311
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0201, 6) // ZC_FRIENDS_LIST
+packetLen(0x0201, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0201, 7) // ZC_FRIENDS_LIST
+packetLen(0x0201, 7)
#elif PACKETVER >= 20080102
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#endif
// Packet: 0x0202
#if PACKETVER >= 20080618
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20080610
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20080304
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0202, 44) // CZ_ADD_FRIENDS
+packetLen(0x0202, 44)
#elif PACKETVER >= 20080219
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#endif
// Packet: 0x0203
#if PACKETVER >= 20080618
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#elif PACKETVER >= 20080610
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 7)
#elif PACKETVER >= 20080219
-packetLen(0x0203, 4) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#endif
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
#if PACKETVER >= 20080618
-packetLen(0x0206, 30) // ZC_FRIENDS_STATE
+packetLen(0x0206, 30)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+packetLen(0x0206, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0206, 8) // ZC_FRIENDS_STATE
+packetLen(0x0206, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+packetLen(0x0206, 7)
#elif PACKETVER >= 20080102
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#endif
// Packet: 0x0207
#if PACKETVER >= 20080618
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
#elif PACKETVER >= 20080304
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0207, 26) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 26)
#elif PACKETVER >= 20080219
-packetLen(0x0207, 66) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 66)
#elif PACKETVER >= 20080102
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
#endif
// Packet: 0x0208
#if PACKETVER >= 20080618
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
#elif PACKETVER >= 20080610
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
#elif PACKETVER >= 20080226
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0208, 71) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 71)
#elif PACKETVER >= 20080102
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
#endif
// Packet: 0x0209
#if PACKETVER >= 20080618
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0209, 30) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 30)
#elif PACKETVER >= 20080311
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
#elif PACKETVER >= 20080304
-packetLen(0x0209, 22) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 22)
#elif PACKETVER >= 20080226
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0209, 30) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 30)
#elif PACKETVER >= 20080102
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
#endif
// Packet: 0x020a
#if PACKETVER >= 20080618
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#elif PACKETVER >= 20080610
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#elif PACKETVER >= 20080304
-packetLen(0x020a, 7) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 7)
#elif PACKETVER >= 20080226
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x020a, 20) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 20)
#elif PACKETVER >= 20080102
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#endif
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
#if PACKETVER >= 20080618
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x020e, 7) // ZC_STARSKILL
+packetLen(0x020e, 7)
#elif PACKETVER >= 20080311
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#elif PACKETVER >= 20080304
-packetLen(0x020e, 4) // ZC_STARSKILL
+packetLen(0x020e, 4)
#elif PACKETVER >= 20080226
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20080219
-packetLen(0x020e, 8) // ZC_STARSKILL
+packetLen(0x020e, 8)
#elif PACKETVER >= 20080102
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#endif
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
#if PACKETVER >= 20080618
-packetLen(0x0217, 4) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 4)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0217, 39) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 39)
#elif PACKETVER >= 20080311
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0217, 9) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 9)
#elif PACKETVER >= 20080226
-packetLen(0x0217, 5) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 5)
#elif PACKETVER >= 20080219
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#endif
// Packet: 0x0218
#if PACKETVER >= 20080618
-packetLen(0x0218, 68) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 68)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0218, 16) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 16)
#elif PACKETVER >= 20080311
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0218, 15) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 15)
#elif PACKETVER >= 20080226
-packetLen(0x0218, 8) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 8)
#elif PACKETVER >= 20080219
-packetLen(0x0218, 26) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 26)
#elif PACKETVER >= 20080102
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#endif
// Packet: 0x0219
#if PACKETVER >= 20080618
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#elif PACKETVER >= 20080304
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0219, 17) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 17)
#elif PACKETVER >= 20080102
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#endif
// Packet: 0x021a
#if PACKETVER >= 20080618
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
#elif PACKETVER >= 20080304
-packetLen(0x021a, 6) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 6)
#elif PACKETVER >= 20080226
-packetLen(0x021a, 30) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 30)
#elif PACKETVER >= 20080219
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20080102
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
#endif
// Packet: 0x021b
#if PACKETVER >= 20080618
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#elif PACKETVER >= 20080610
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20080311
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#elif PACKETVER >= 20080304
-packetLen(0x021b, 30) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 30)
#elif PACKETVER >= 20080226
-packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 6)
#elif PACKETVER >= 20080219
-packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 15)
#elif PACKETVER >= 20080102
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#endif
// Packet: 0x021c
#if PACKETVER >= 20080618
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x021c, 26) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 26)
#elif PACKETVER >= 20080311
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#elif PACKETVER >= 20080304
-packetLen(0x021c, 5) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 5)
#elif PACKETVER >= 20080226
-packetLen(0x021c, 4) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 4)
#elif PACKETVER >= 20080219
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20080102
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#endif
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
#if PACKETVER >= 20080618
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#elif PACKETVER >= 20080304
-packetLen(0x0224, 22) // ZC_TAEKWON_POINT
+packetLen(0x0224, 22)
#elif PACKETVER >= 20080226
-packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+packetLen(0x0224, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0224, 12) // ZC_TAEKWON_POINT
+packetLen(0x0224, 12)
#elif PACKETVER >= 20080102
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#endif
// Packet: 0x0225
#if PACKETVER >= 20080618
-packetLen(0x0225, 7) // CZ_TAEKWON_RANK
+packetLen(0x0225, 7)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0225, 3) // CZ_TAEKWON_RANK
+packetLen(0x0225, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0225, 6) // CZ_TAEKWON_RANK
+packetLen(0x0225, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#endif
// Packet: 0x0226
#if PACKETVER >= 20080618
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0226, 28) // ZC_TAEKWON_RANK
+packetLen(0x0226, 28)
#elif PACKETVER >= 20080311
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
#elif PACKETVER >= 20080304
-packetLen(0x0226, 31) // ZC_TAEKWON_RANK
+packetLen(0x0226, 31)
#elif PACKETVER >= 20080226
-packetLen(0x0226, 3) // ZC_TAEKWON_RANK
+packetLen(0x0226, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0226, 42) // ZC_TAEKWON_RANK
+packetLen(0x0226, 42)
#elif PACKETVER >= 20080102
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
#endif
// Packet: 0x0227
#if PACKETVER >= 20080618
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#elif PACKETVER >= 20080610
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#elif PACKETVER >= 20080304
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20080226
-packetLen(0x0227, 31) // ZC_GAME_GUARD
+packetLen(0x0227, 31)
#elif PACKETVER >= 20080219
-packetLen(0x0227, 4) // ZC_GAME_GUARD
+packetLen(0x0227, 4)
#elif PACKETVER >= 20080102
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#endif
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
#if PACKETVER >= 20080618
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0229, 2) // ZC_STATE_CHANGE3
+packetLen(0x0229, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
#elif PACKETVER >= 20080304
-packetLen(0x0229, 10) // ZC_STATE_CHANGE3
+packetLen(0x0229, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0229, 182) // ZC_STATE_CHANGE3
+packetLen(0x0229, 182)
#elif PACKETVER >= 20080219
-packetLen(0x0229, 6) // ZC_STATE_CHANGE3
+packetLen(0x0229, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
#endif
// Packet: 0x022a
#if PACKETVER >= 20080618
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#elif PACKETVER >= 20080304
-packetLen(0x022a, 14) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 14)
#elif PACKETVER >= 20080226
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20080219
-packetLen(0x022a, 2) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 2)
#elif PACKETVER >= 20080102
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20080618
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#elif PACKETVER >= 20080610
-packetLen(0x022b, 6) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 6)
#elif PACKETVER >= 20080311
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#elif PACKETVER >= 20080219
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20080102
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20080618
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#elif PACKETVER >= 20080610
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#elif PACKETVER >= 20080304
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20080226
-packetLen(0x022c, 31) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 31)
#elif PACKETVER >= 20080219
-packetLen(0x022c, 53) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 53)
#elif PACKETVER >= 20080102
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#endif
// Packet: 0x022d
#if PACKETVER >= 20080618
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20080311
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20080304
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20080226
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20080219
-packetLen(0x022d, 9) // CZ_COMMAND_MER
+packetLen(0x022d, 9)
#elif PACKETVER >= 20080102
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
#if PACKETVER >= 20080618
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x022e, 6) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 6)
#elif PACKETVER >= 20080311
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#elif PACKETVER >= 20080304
-packetLen(0x022e, 22) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 22)
#elif PACKETVER >= 20080226
-packetLen(0x022e, 9) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 9)
#elif PACKETVER >= 20080219
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20080102
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#endif
// Packet: 0x022f
#if PACKETVER >= 20080618
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x022f, 10) // ZC_FEED_MER
+packetLen(0x022f, 10)
#elif PACKETVER >= 20080311
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#elif PACKETVER >= 20080304
-packetLen(0x022f, 4) // ZC_FEED_MER
+packetLen(0x022f, 4)
#elif PACKETVER >= 20080226
-packetLen(0x022f, 26) // ZC_FEED_MER
+packetLen(0x022f, 26)
#elif PACKETVER >= 20080219
-packetLen(0x022f, 282) // ZC_FEED_MER
+packetLen(0x022f, 282)
#elif PACKETVER >= 20080102
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
#if PACKETVER >= 20080618
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0230, 10) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 10)
#elif PACKETVER >= 20080311
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
#elif PACKETVER >= 20080304
-packetLen(0x0230, 282) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 282)
#elif PACKETVER >= 20080226
-packetLen(0x0230, 28) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 28)
#elif PACKETVER >= 20080219
-packetLen(0x0230, 54) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 54)
#elif PACKETVER >= 20080102
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
#endif
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
#if PACKETVER >= 20080618
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#elif PACKETVER >= 20080304
-packetLen(0x0232, 3) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 3)
#elif PACKETVER >= 20080226
-packetLen(0x0232, 2) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 2)
#elif PACKETVER >= 20080219
-packetLen(0x0232, 36) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 36)
#elif PACKETVER >= 20080102
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#endif
// Packet: 0x0233
#if PACKETVER >= 20080618
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20080311
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0233, 2) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0233, 4) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 4)
#elif PACKETVER >= 20080219
-packetLen(0x0233, 8) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#endif
// Packet: 0x0234
#if PACKETVER >= 20080618
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20080610
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0234, 15) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 15)
#elif PACKETVER >= 20080219
-packetLen(0x0234, 282) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 282)
#elif PACKETVER >= 20080102
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#endif
// Packet: 0x0235
#if PACKETVER >= 20080618
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0235, 7) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 7)
#elif PACKETVER >= 20080311
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0235, 6) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 6)
#elif PACKETVER >= 20080226
-packetLen(0x0235, 33) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 33)
#elif PACKETVER >= 20080219
-packetLen(0x0235, 15) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 15)
#elif PACKETVER >= 20080102
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#endif
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
#if PACKETVER >= 20080618
-packetLen(0x0237, 5) // CZ_KILLER_RANK
+packetLen(0x0237, 5)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#elif PACKETVER >= 20080304
-packetLen(0x0237, 23) // CZ_KILLER_RANK
+packetLen(0x0237, 23)
#elif PACKETVER >= 20080226
-packetLen(0x0237, 10) // CZ_KILLER_RANK
+packetLen(0x0237, 10)
#elif PACKETVER >= 20080219
-packetLen(0x0237, 3) // CZ_KILLER_RANK
+packetLen(0x0237, 3)
#elif PACKETVER >= 20080102
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#endif
// Packet: 0x0238
#if PACKETVER >= 20080618
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080311
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
#elif PACKETVER >= 20080304
-packetLen(0x0238, 20) // ZC_KILLER_RANK
+packetLen(0x0238, 20)
#elif PACKETVER >= 20080226
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20080102
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
#endif
// Packet: 0x0239
#if PACKETVER >= 20080618
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0239, 14) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 14)
#elif PACKETVER >= 20080311
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
#elif PACKETVER >= 20080304
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20080226
-packetLen(0x0239, 39) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 39)
#elif PACKETVER >= 20080219
-packetLen(0x0239, 8) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 8)
#elif PACKETVER >= 20080102
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
#endif
// Packet: 0x023a
#if PACKETVER >= 20080618
-packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 10)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#elif PACKETVER >= 20080304
-packetLen(0x023a, 8) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 8)
#elif PACKETVER >= 20080226
-packetLen(0x023a, 6) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 6)
#elif PACKETVER >= 20080219
-packetLen(0x023a, 11) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 11)
#elif PACKETVER >= 20080102
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#endif
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
#if PACKETVER >= 20080618
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20080610
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20080311
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20080304
-packetLen(0x023c, 30) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 30)
#elif PACKETVER >= 20080226
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20080219
-packetLen(0x023c, 5) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 5)
#elif PACKETVER >= 20080102
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#endif
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
#if PACKETVER >= 20080618
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0274, 4) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#elif PACKETVER >= 20080304
-packetLen(0x0274, 2) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 2)
#elif PACKETVER >= 20080226
-packetLen(0x0274, 24) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 24)
#elif PACKETVER >= 20080219
-packetLen(0x0274, 32) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 32)
#elif PACKETVER >= 20080102
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#endif
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
#if PACKETVER >= 20080722
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
#elif PACKETVER >= 20080715
-packetLen(0x027c, 96) // CA_LOGIN4
+packetLen(0x027c, 96)
#elif PACKETVER >= 20080102
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
#endif
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
#if PACKETVER >= 20080311
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0287, 4) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 4)
#elif PACKETVER >= 20080226
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20080219
-packetLen(0x0287, 11) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 11)
#elif PACKETVER >= 20080102
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#endif
// Packet: 0x0288
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
#if PACKETVER >= 20080618
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0295, 2) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 2)
#elif PACKETVER >= 20080311
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0295, 30) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 30)
#elif PACKETVER >= 20080226
-packetLen(0x0295, 3) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 3)
#elif PACKETVER >= 20080219
-packetLen(0x0295, 6) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 6)
#elif PACKETVER >= 20080102
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#endif
// Packet: 0x0296
#if PACKETVER >= 20080618
-packetLen(0x0296, 19) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 19)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080311
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0296, 58) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 58)
#elif PACKETVER >= 20080226
-packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 6)
#elif PACKETVER >= 20080219
-packetLen(0x0296, 5) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 5)
#elif PACKETVER >= 20080102
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#endif
// Packet: 0x0297
#if PACKETVER >= 20080618
-packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 6)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0297, 4) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 4)
#elif PACKETVER >= 20080311
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20080304
-packetLen(0x0297, 97) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 97)
#elif PACKETVER >= 20080226
-packetLen(0x0297, 5) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 5)
#elif PACKETVER >= 20080102
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#endif
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
#if PACKETVER >= 20080618
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#elif PACKETVER >= 20080610
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080311
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#elif PACKETVER >= 20080304
-packetLen(0x029a, 30) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 30)
#elif PACKETVER >= 20080226
-packetLen(0x029a, 3) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 3)
#elif PACKETVER >= 20080219
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20080102
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
#if PACKETVER >= 20080122
// removed
#elif PACKETVER >= 20080108
-packetLen(0x02a6, 204) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 204)
#elif PACKETVER >= 20080102
-packetLen(0x02a6, 22) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 22)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20080122
// removed
#elif PACKETVER >= 20080108
-packetLen(0x02a7, 204) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 204)
#elif PACKETVER >= 20080102
-packetLen(0x02a7, 22) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 22)
#endif
// Packet: 0x02a8
#if PACKETVER >= 20080108
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02a8, 162) // ZC_HACKSHIELD_CRC_MSG
+packetLen(0x02a8, 162)
#endif
// Packet: 0x02a9
#if PACKETVER >= 20080108
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02a9, 58) // CZ_HACKSHIELD_CRC_MSG
+packetLen(0x02a9, 58)
#endif
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02bf
#if PACKETVER >= 20080318
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02bf, 10) // ZC_SRPACKETR2_INIT
+packetLen(0x02bf, 10)
#endif
// Packet: 0x02c0
#if PACKETVER >= 20080318
// removed
#elif PACKETVER >= 20080102
-packetLen(0x02c0, 2) // CZ_SRPACKETR2_START
+packetLen(0x02c0, 2)
#endif
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
#if PACKETVER >= 20080304
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#elif PACKETVER >= 20080226
-packetLen(0x02d4, 30) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 30)
#elif PACKETVER >= 20080102
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
#if PACKETVER >= 20080618
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x02e1, 32) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 32)
#elif PACKETVER >= 20080102
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
#endif
// Packet: 0x02e2
-packetLen(0x02e2, 14) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 14)
// Packet: 0x02e3
-packetLen(0x02e3, 25) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 25)
// Packet: 0x02e4
-packetLen(0x02e4, 8) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 8)
// Packet: 0x02e5
-packetLen(0x02e5, 8) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 8)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
#if PACKETVER >= 20080618
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x02ec, 2) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 2)
#elif PACKETVER >= 20080102
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
#endif
// Packet: 0x02ed
#if PACKETVER >= 20080618
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
#elif PACKETVER >= 20080610
-packetLen(0x02ed, 60) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 60)
#elif PACKETVER >= 20080102
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
#endif
// Packet: 0x02ee
#if PACKETVER >= 20080618
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// ignored packet from 2008-06-18aSakexe
#elif PACKETVER >= 20080610
-packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 3)
#elif PACKETVER >= 20080102
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#endif
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
#if PACKETVER >= 20080318
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
#endif
// Packet: 0x02f1
#if PACKETVER >= 20080318
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
#endif
// Packet: 0x02f2
#if PACKETVER >= 20080318
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
#endif
// Packet: 0x02f3
#if PACKETVER >= 20080325
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#endif
// Packet: 0x02f4
#if PACKETVER >= 20080618
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02f4, 282) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 282)
#elif PACKETVER >= 20080325
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#endif
// Packet: 0x02f5
#if PACKETVER >= 20080618
-packetLen(0x02f5, 26) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 26)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080325
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#endif
// Packet: 0x02f6
#if PACKETVER >= 20080618
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20080610
-packetLen(0x02f6, 3) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 3)
#elif PACKETVER >= 20080325
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#endif
// Packet: 0x02f7
@@ -7446,109 +7446,109 @@ packetLen(0x035b, -1)
// Packet: 0x035c
#if PACKETVER >= 20080527
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
#endif
// Packet: 0x035d
#if PACKETVER >= 20080527
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
#endif
// Packet: 0x035e
#if PACKETVER >= 20080527
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
#endif
// Packet: 0x035f
#if PACKETVER >= 20080618
-packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 4)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x035f, 7) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 7)
#elif PACKETVER >= 20080527
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#endif
// Packet: 0x0360
#if PACKETVER >= 20080618
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0360, 57) // CZ_REQUEST_TIME2
+packetLen(0x0360, 57)
#elif PACKETVER >= 20080527
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#endif
// Packet: 0x0361
#if PACKETVER >= 20080618
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0361, 65) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 65)
#elif PACKETVER >= 20080527
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#endif
// Packet: 0x0362
#if PACKETVER >= 20080527
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#endif
// Packet: 0x0363
#if PACKETVER >= 20080618
-packetLen(0x0363, 58) // CZ_ITEM_THROW2
+packetLen(0x0363, 58)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080527
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#endif
// Packet: 0x0364
#if PACKETVER >= 20080618
-packetLen(0x0364, 15) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 15)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080610
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20080527
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#endif
// Packet: 0x0365
#if PACKETVER >= 20080618
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20080527
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#endif
// Packet: 0x0366
#if PACKETVER >= 20080527
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#endif
// Packet: 0x0367
#if PACKETVER >= 20080618
-packetLen(0x0367, 29) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 29)
// ignored packet from 2008-06-18bSakexe
#elif PACKETVER >= 20080527
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#endif
// Packet: 0x0368
#if PACKETVER >= 20080618
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0368, 7) // CZ_REQNAME2
+packetLen(0x0368, 7)
#elif PACKETVER >= 20080527
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#endif
// Packet: 0x0369
#if PACKETVER >= 20080618
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20080610
-packetLen(0x0369, 14) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 14)
#elif PACKETVER >= 20080527
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#endif
// Packet: 0x036a
@@ -8481,12 +8481,12 @@ packetLen(0x03dc, -1)
// Packet: 0x03dd
#if PACKETVER >= 20080624
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
#endif
// Packet: 0x03de
#if PACKETVER >= 20080624
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
#endif
// Packet: 0x03e2
@@ -8911,57 +8911,57 @@ packetLen(0x0435, -1)
// Packet: 0x0436
#if PACKETVER >= 20080910
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#endif
// Packet: 0x0437
#if PACKETVER >= 20080910
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#endif
// Packet: 0x0438
#if PACKETVER >= 20080910
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
#if PACKETVER >= 20080910
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
#endif
// Packet: 0x043d
#if PACKETVER >= 20081112
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
#endif
// Packet: 0x043e
#if PACKETVER >= 20081112
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
#endif
// Packet: 0x043f
#if PACKETVER >= 20081112
-packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 8)
#endif
// Packet: 0x0440
#if PACKETVER >= 20081126
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
#endif
// Packet: 0x0441
#if PACKETVER >= 20081126
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
#endif
// Packet: 0x0442
#if PACKETVER >= 20081210
-packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, 8)
#endif
// Packet: 0x0443
#if PACKETVER >= 20081210
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
#endif
diff --git a/src/common/packets/packets2009_len_main.h b/src/common/packets/packets2009_len_main.h
index de9919468..f35a273d7 100644
--- a/src/common/packets/packets2009_len_main.h
+++ b/src/common/packets/packets2009_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,865 +25,865 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20090617
-packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 114)
#elif PACKETVER >= 20090107
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
#if PACKETVER >= 20090406
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
#elif PACKETVER >= 20090401
-packetLen(0x0073, 6) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 6)
#elif PACKETVER >= 20090311
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0073, 282) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 282)
#elif PACKETVER >= 20090218
-packetLen(0x0073, 2) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 2)
#elif PACKETVER >= 20090211
-packetLen(0x0073, 8) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 8)
#elif PACKETVER >= 20090120
-packetLen(0x0073, -1) // ZC_ACCEPT_ENTER
+packetLen(0x0073, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0073, 8) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 8)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
#if PACKETVER >= 20090401
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0075, 22) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 22)
#elif PACKETVER >= 20090225
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0075, 2) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 2)
#elif PACKETVER >= 20090114
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0075, 6) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
#if PACKETVER >= 20090406
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
#elif PACKETVER >= 20090401
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0077, 4) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 4)
#elif PACKETVER >= 20090311
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0077, 7) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 7)
#elif PACKETVER >= 20090211
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0077, 7) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 7)
#elif PACKETVER >= 20090129
-packetLen(0x0077, 3) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 3)
#elif PACKETVER >= 20090120
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0077, 7) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 7)
#elif PACKETVER >= 20090107
-packetLen(0x0077, -1) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, -1)
#endif
// Packet: 0x0078
#if PACKETVER >= 20090406
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
#elif PACKETVER >= 20090318
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0078, 2) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 2)
#elif PACKETVER >= 20090114
-packetLen(0x0078, -1) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0078, 22) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 22)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0079
#if PACKETVER >= 20090406
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
#elif PACKETVER >= 20090318
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0079, 15) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 15)
#elif PACKETVER >= 20090225
-packetLen(0x0079, 20) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 20)
#elif PACKETVER >= 20090218
-packetLen(0x0079, 2) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 2)
#elif PACKETVER >= 20090129
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0079, 3) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 3)
#elif PACKETVER >= 20090114
-packetLen(0x0079, 21) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 21)
#elif PACKETVER >= 20090107
-packetLen(0x0079, -1) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, -1)
#endif
// Packet: 0x007a
#if PACKETVER >= 20090406
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
#elif PACKETVER >= 20090325
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20090318
-packetLen(0x007a, 3) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 3)
#elif PACKETVER >= 20090225
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20090218
-packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 6)
#elif PACKETVER >= 20090120
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#elif PACKETVER >= 20090114
-packetLen(0x007a, 6) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 6)
#elif PACKETVER >= 20090107
-packetLen(0x007a, -1) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, -1)
#endif
// Packet: 0x007b
#if PACKETVER >= 20090406
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
#elif PACKETVER >= 20090401
-packetLen(0x007b, 8) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 8)
#elif PACKETVER >= 20090325
-packetLen(0x007b, 3) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 3)
#elif PACKETVER >= 20090218
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#elif PACKETVER >= 20090211
-packetLen(0x007b, 2) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 2)
#elif PACKETVER >= 20090204
-packetLen(0x007b, 5) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 5)
#elif PACKETVER >= 20090129
-packetLen(0x007b, 14) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 14)
#elif PACKETVER >= 20090107
-packetLen(0x007b, -1) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, -1)
#endif
// Packet: 0x007c
#if PACKETVER >= 20090617
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
#elif PACKETVER >= 20090406
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
#elif PACKETVER >= 20090401
-packetLen(0x007c, 14) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 14)
#elif PACKETVER >= 20090325
-packetLen(0x007c, 182) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 182)
#elif PACKETVER >= 20090311
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20090225
-packetLen(0x007c, 19) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 19)
#elif PACKETVER >= 20090218
-packetLen(0x007c, 10) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 10)
#elif PACKETVER >= 20090211
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20090204
-packetLen(0x007c, 5) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 5)
#elif PACKETVER >= 20090120
-packetLen(0x007c, -1) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, -1)
#elif PACKETVER >= 20090114
-packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 2)
#elif PACKETVER >= 20090107
-packetLen(0x007c, 2) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 2)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x007d
#if PACKETVER >= 20090406
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
#elif PACKETVER >= 20090401
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20090325
-packetLen(0x007d, 10) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 10)
#elif PACKETVER >= 20090114
-packetLen(0x007d, -1) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, -1)
#elif PACKETVER >= 20090107
-packetLen(0x007d, 282) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 282)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
#if PACKETVER >= 20090406
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
#elif PACKETVER >= 20090401
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20090325
-packetLen(0x007f, 2) // ZC_NOTIFY_TIME
+packetLen(0x007f, 2)
#elif PACKETVER >= 20090318
-packetLen(0x007f, 10) // ZC_NOTIFY_TIME
+packetLen(0x007f, 10)
#elif PACKETVER >= 20090204
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#elif PACKETVER >= 20090129
-packetLen(0x007f, 8) // ZC_NOTIFY_TIME
+packetLen(0x007f, 8)
#elif PACKETVER >= 20090107
-packetLen(0x007f, -1) // ZC_NOTIFY_TIME
+packetLen(0x007f, -1)
#endif
// Packet: 0x0080
#if PACKETVER >= 20090406
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
#elif PACKETVER >= 20090318
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0080, 6) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0080, 36) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 36)
#elif PACKETVER >= 20090107
-packetLen(0x0080, -1) // ZC_NOTIFY_VANISH
+packetLen(0x0080, -1)
#endif
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
#if PACKETVER >= 20090406
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
#elif PACKETVER >= 20090325
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20090318
-packetLen(0x0083, 65) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 65)
#elif PACKETVER >= 20090311
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0083, 8) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 8)
#elif PACKETVER >= 20090211
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0083, -1) // ZC_ACCEPT_QUIT
+packetLen(0x0083, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0083, 6) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 6)
#elif PACKETVER >= 20090114
-packetLen(0x0083, 10) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 10)
#elif PACKETVER >= 20090107
-packetLen(0x0083, 5) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 5)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
#if PACKETVER >= 20090406
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
#elif PACKETVER >= 20090325
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0086, 4) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 4)
#elif PACKETVER >= 20090225
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0086, 7) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 7)
#elif PACKETVER >= 20090129
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0086, 10) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 10)
#elif PACKETVER >= 20090114
-packetLen(0x0086, -1) // ZC_NOTIFY_MOVE
+packetLen(0x0086, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0086, 17) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 17)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0087
#if PACKETVER >= 20090406
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
#elif PACKETVER >= 20090401
-packetLen(0x0087, 39) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 39)
#elif PACKETVER >= 20090325
-packetLen(0x0087, 15) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 15)
#elif PACKETVER >= 20090318
-packetLen(0x0087, 3) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 3)
#elif PACKETVER >= 20090311
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0087, 6) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 6)
#elif PACKETVER >= 20090218
-packetLen(0x0087, 21) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 21)
#elif PACKETVER >= 20090211
-packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 8)
#elif PACKETVER >= 20090204
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 8)
#elif PACKETVER >= 20090114
-packetLen(0x0087, -1) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0087, 8) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 8)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0088
#if PACKETVER >= 20090406
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
#elif PACKETVER >= 20090318
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0088, 4) // ZC_STOPMOVE
+packetLen(0x0088, 4)
#elif PACKETVER >= 20090225
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0088, 4) // ZC_STOPMOVE
+packetLen(0x0088, 4)
#elif PACKETVER >= 20090211
-packetLen(0x0088, 37) // ZC_STOPMOVE
+packetLen(0x0088, 37)
#elif PACKETVER >= 20090204
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0088, 6) // ZC_STOPMOVE
+packetLen(0x0088, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0088, -1) // ZC_STOPMOVE
+packetLen(0x0088, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0088, 60) // ZC_STOPMOVE
+packetLen(0x0088, 60)
#elif PACKETVER >= 20090107
-packetLen(0x0088, 26) // ZC_STOPMOVE
+packetLen(0x0088, 26)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
#if PACKETVER >= 20090406
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
#elif PACKETVER >= 20090401
-packetLen(0x008a, 15) // ZC_NOTIFY_ACT
+packetLen(0x008a, 15)
#elif PACKETVER >= 20090325
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20090318
-packetLen(0x008a, 7) // ZC_NOTIFY_ACT
+packetLen(0x008a, 7)
#elif PACKETVER >= 20090311
-packetLen(0x008a, 21) // ZC_NOTIFY_ACT
+packetLen(0x008a, 21)
#elif PACKETVER >= 20090218
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20090211
-packetLen(0x008a, 282) // ZC_NOTIFY_ACT
+packetLen(0x008a, 282)
#elif PACKETVER >= 20090204
-packetLen(0x008a, 2) // ZC_NOTIFY_ACT
+packetLen(0x008a, 2)
#elif PACKETVER >= 20090114
-packetLen(0x008a, -1) // ZC_NOTIFY_ACT
+packetLen(0x008a, -1)
#elif PACKETVER >= 20090107
-packetLen(0x008a, 10) // ZC_NOTIFY_ACT
+packetLen(0x008a, 10)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
#if PACKETVER >= 20090311
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#elif PACKETVER >= 20090225
-packetLen(0x008d, 34) // ZC_NOTIFY_CHAT
+packetLen(0x008d, 34)
#elif PACKETVER >= 20090107
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
#endif
// Packet: 0x008e
#if PACKETVER >= 20090401
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20090325
-packetLen(0x008e, 3) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 3)
#elif PACKETVER >= 20090204
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
#elif PACKETVER >= 20090129
-packetLen(0x008e, 6) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 6)
#elif PACKETVER >= 20090120
-packetLen(0x008e, 8) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 8)
#elif PACKETVER >= 20090114
-packetLen(0x008e, 12) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 12)
#elif PACKETVER >= 20090107
-packetLen(0x008e, 60) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, 60)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0090
#if PACKETVER >= 20090406
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
#elif PACKETVER >= 20090318
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0090, 26) // CZ_CONTACTNPC
+packetLen(0x0090, 26)
#elif PACKETVER >= 20090225
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0090, 2) // CZ_CONTACTNPC
+packetLen(0x0090, 2)
#elif PACKETVER >= 20090211
-packetLen(0x0090, 4) // CZ_CONTACTNPC
+packetLen(0x0090, 4)
#elif PACKETVER >= 20090204
-packetLen(0x0090, 44) // CZ_CONTACTNPC
+packetLen(0x0090, 44)
#elif PACKETVER >= 20090129
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0090, 3) // CZ_CONTACTNPC
+packetLen(0x0090, 3)
#elif PACKETVER >= 20090114
-packetLen(0x0090, -1) // CZ_CONTACTNPC
+packetLen(0x0090, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0090, 36) // CZ_CONTACTNPC
+packetLen(0x0090, 36)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0091
#if PACKETVER >= 20090406
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
#elif PACKETVER >= 20090401
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0091, 21) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 21)
#elif PACKETVER >= 20090114
-packetLen(0x0091, -1) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0091, 8) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 8)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0092
#if PACKETVER >= 20090406
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
#elif PACKETVER >= 20090401
-packetLen(0x0092, 26) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 26)
#elif PACKETVER >= 20090325
-packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 6)
#elif PACKETVER >= 20090318
-packetLen(0x0092, 30) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 30)
#elif PACKETVER >= 20090218
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 6)
#elif PACKETVER >= 20090204
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0092, 2) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 2)
#elif PACKETVER >= 20090120
-packetLen(0x0092, -1) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0092, 3) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 3)
#elif PACKETVER >= 20090107
-packetLen(0x0092, 6) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0093
#if PACKETVER >= 20090401
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
#elif PACKETVER >= 20090225
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0093, 14) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 14)
#elif PACKETVER >= 20090211
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0093, 3) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 3)
#elif PACKETVER >= 20090129
-packetLen(0x0093, 8) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 8)
#elif PACKETVER >= 20090120
-packetLen(0x0093, 4) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0093, -1) // ZC_NPCACK_ENABLE
+packetLen(0x0093, -1)
#endif
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
#if PACKETVER >= 20090406
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
#elif PACKETVER >= 20090401
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0095, 4) // ZC_ACK_REQNAME
+packetLen(0x0095, 4)
#elif PACKETVER >= 20090311
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0095, 33) // ZC_ACK_REQNAME
+packetLen(0x0095, 33)
#elif PACKETVER >= 20090218
-packetLen(0x0095, 60) // ZC_ACK_REQNAME
+packetLen(0x0095, 60)
#elif PACKETVER >= 20090211
-packetLen(0x0095, 11) // ZC_ACK_REQNAME
+packetLen(0x0095, 11)
#elif PACKETVER >= 20090129
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0095, 53) // ZC_ACK_REQNAME
+packetLen(0x0095, 53)
#elif PACKETVER >= 20090107
-packetLen(0x0095, -1) // ZC_ACK_REQNAME
+packetLen(0x0095, -1)
#endif
// Packet: 0x0096
#if PACKETVER >= 20090406
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0096, 6) // CZ_WHISPER
+packetLen(0x0096, 6)
#elif PACKETVER >= 20090325
-packetLen(0x0096, 71) // CZ_WHISPER
+packetLen(0x0096, 71)
#elif PACKETVER >= 20090318
-packetLen(0x0096, 11) // CZ_WHISPER
+packetLen(0x0096, 11)
#elif PACKETVER >= 20090311
-packetLen(0x0096, 9) // CZ_WHISPER
+packetLen(0x0096, 9)
#elif PACKETVER >= 20090225
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0096, 39) // CZ_WHISPER
+packetLen(0x0096, 39)
#elif PACKETVER >= 20090211
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0096, 2) // CZ_WHISPER
+packetLen(0x0096, 2)
#elif PACKETVER >= 20090129
-packetLen(0x0096, 3) // CZ_WHISPER
+packetLen(0x0096, 3)
#elif PACKETVER >= 20090120
-packetLen(0x0096, 30) // CZ_WHISPER
+packetLen(0x0096, 30)
#elif PACKETVER >= 20090107
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
#endif
// Packet: 0x0097
#if PACKETVER >= 20090406
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0097, 30) // ZC_WHISPER
+packetLen(0x0097, 30)
#elif PACKETVER >= 20090325
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0097, 6) // ZC_WHISPER
+packetLen(0x0097, 6)
#elif PACKETVER >= 20090311
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0097, 4) // ZC_WHISPER
+packetLen(0x0097, 4)
#elif PACKETVER >= 20090211
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0097, 4) // ZC_WHISPER
+packetLen(0x0097, 4)
#elif PACKETVER >= 20090120
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0097, 10) // ZC_WHISPER
+packetLen(0x0097, 10)
#elif PACKETVER >= 20090107
-packetLen(0x0097, 37) // ZC_WHISPER
+packetLen(0x0097, 37)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0098
#if PACKETVER >= 20090406
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
#elif PACKETVER >= 20090401
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0098, 26) // ZC_ACK_WHISPER
+packetLen(0x0098, 26)
#elif PACKETVER >= 20090318
-packetLen(0x0098, 10) // ZC_ACK_WHISPER
+packetLen(0x0098, 10)
#elif PACKETVER >= 20090225
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0098, 26) // ZC_ACK_WHISPER
+packetLen(0x0098, 26)
#elif PACKETVER >= 20090129
-packetLen(0x0098, -1) // ZC_ACK_WHISPER
+packetLen(0x0098, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0098, 20) // ZC_ACK_WHISPER
+packetLen(0x0098, 20)
#elif PACKETVER >= 20090114
-packetLen(0x0098, 8) // ZC_ACK_WHISPER
+packetLen(0x0098, 8)
#elif PACKETVER >= 20090107
-packetLen(0x0098, 9) // ZC_ACK_WHISPER
+packetLen(0x0098, 9)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0099
#if PACKETVER >= 20090318
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0099, 6) // CZ_BROADCAST
+packetLen(0x0099, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0099, 8) // CZ_BROADCAST
+packetLen(0x0099, 8)
#elif PACKETVER >= 20090211
-packetLen(0x0099, 6) // CZ_BROADCAST
+packetLen(0x0099, 6)
#elif PACKETVER >= 20090204
-packetLen(0x0099, 2) // CZ_BROADCAST
+packetLen(0x0099, 2)
#elif PACKETVER >= 20090129
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0099, 4) // CZ_BROADCAST
+packetLen(0x0099, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0099, 31) // CZ_BROADCAST
+packetLen(0x0099, 31)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x009a
#if PACKETVER >= 20090311
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20090225
-packetLen(0x009a, 2) // ZC_BROADCAST
+packetLen(0x009a, 2)
#elif PACKETVER >= 20090218
-packetLen(0x009a, 10) // ZC_BROADCAST
+packetLen(0x009a, 10)
#elif PACKETVER >= 20090211
-packetLen(0x009a, 4) // ZC_BROADCAST
+packetLen(0x009a, 4)
#elif PACKETVER >= 20090129
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20090120
-packetLen(0x009a, 6) // ZC_BROADCAST
+packetLen(0x009a, 6)
#elif PACKETVER >= 20090114
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
#elif PACKETVER >= 20090107
-packetLen(0x009a, 65) // ZC_BROADCAST
+packetLen(0x009a, 65)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
#if PACKETVER >= 20090406
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
#elif PACKETVER >= 20090401
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20090325
-packetLen(0x009c, 79) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 79)
#elif PACKETVER >= 20090318
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#elif PACKETVER >= 20090311
-packetLen(0x009c, 29) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 29)
#elif PACKETVER >= 20090225
-packetLen(0x009c, 65) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 65)
#elif PACKETVER >= 20090107
-packetLen(0x009c, -1) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, -1)
#endif
// Packet: 0x009d
#if PACKETVER >= 20090406
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
#elif PACKETVER >= 20090401
-packetLen(0x009d, 2) // ZC_ITEM_ENTRY
+packetLen(0x009d, 2)
#elif PACKETVER >= 20090318
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20090311
-packetLen(0x009d, 54) // ZC_ITEM_ENTRY
+packetLen(0x009d, 54)
#elif PACKETVER >= 20090225
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20090218
-packetLen(0x009d, 68) // ZC_ITEM_ENTRY
+packetLen(0x009d, 68)
#elif PACKETVER >= 20090211
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20090204
-packetLen(0x009d, 3) // ZC_ITEM_ENTRY
+packetLen(0x009d, 3)
#elif PACKETVER >= 20090120
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#elif PACKETVER >= 20090114
-packetLen(0x009d, 3) // ZC_ITEM_ENTRY
+packetLen(0x009d, 3)
#elif PACKETVER >= 20090107
-packetLen(0x009d, -1) // ZC_ITEM_ENTRY
+packetLen(0x009d, -1)
#endif
// Packet: 0x009e
#if PACKETVER >= 20090406
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
#elif PACKETVER >= 20090401
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20090325
-packetLen(0x009e, 8) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 8)
#elif PACKETVER >= 20090318
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20090311
-packetLen(0x009e, 114) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 114)
#elif PACKETVER >= 20090225
-packetLen(0x009e, 6) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 6)
#elif PACKETVER >= 20090218
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20090211
-packetLen(0x009e, 10) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 10)
#elif PACKETVER >= 20090204
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20090129
-packetLen(0x009e, 7) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 7)
#elif PACKETVER >= 20090120
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#elif PACKETVER >= 20090114
-packetLen(0x009e, 3) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 3)
#elif PACKETVER >= 20090107
-packetLen(0x009e, -1) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, -1)
#endif
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
#if PACKETVER >= 20090406
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#elif PACKETVER >= 20090325
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00a0, 10) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 10)
#elif PACKETVER >= 20090211
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00a0, 2) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00a0, -1) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, -1)
#endif
// Packet: 0x00a1
#if PACKETVER >= 20090406
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00a1, 8) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 8)
#elif PACKETVER >= 20090325
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00a1, 4) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 4)
#elif PACKETVER >= 20090311
-packetLen(0x00a1, 27) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 27)
#elif PACKETVER >= 20090225
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00a1, 4) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 4)
#elif PACKETVER >= 20090211
-packetLen(0x00a1, 30) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 30)
#elif PACKETVER >= 20090107
-packetLen(0x00a1, -1) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, -1)
#endif
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
#if PACKETVER >= 20090406
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00a3, 4) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 4)
#elif PACKETVER >= 20090129
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00a3, 5) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, 5)
#elif PACKETVER >= 20090107
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
#endif
// Packet: 0x00a4
#if PACKETVER >= 20090401
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00a4, 10) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 10)
#elif PACKETVER >= 20090318
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00a4, 3) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 3)
#elif PACKETVER >= 20090225
-packetLen(0x00a4, 31) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 31)
#elif PACKETVER >= 20090114
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00a4, 54) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, 54)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00a5
#if PACKETVER >= 20090406
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00a5, 6) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 6)
#elif PACKETVER >= 20090311
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00a5, 12) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 12)
#elif PACKETVER >= 20090129
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00a5, 54) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 54)
#elif PACKETVER >= 20090114
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00a5, 24) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, 24)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00a6
#if PACKETVER >= 20090406
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00a6, 59) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 59)
#elif PACKETVER >= 20090325
-packetLen(0x00a6, 4) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 4)
#elif PACKETVER >= 20090311
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00a6, 10) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 10)
#elif PACKETVER >= 20090218
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00a6, 6) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 6)
#elif PACKETVER >= 20090204
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00a6, 2) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 2)
#elif PACKETVER >= 20090120
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00a6, 18) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 18)
#elif PACKETVER >= 20090107
-packetLen(0x00a6, 20) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, 20)
// ignored packet from 2009-01-07bRagexe
#endif
@@ -892,7507 +892,7507 @@ packetLen(0x00a7, 9)
// Packet: 0x00a8
#if PACKETVER >= 20090406
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
#elif PACKETVER >= 20090401
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00a8, 6) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 6)
#elif PACKETVER >= 20090318
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00a8, 30) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 30)
#elif PACKETVER >= 20090218
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00a8, 20) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 20)
#elif PACKETVER >= 20090204
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00a8, 54) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 54)
#elif PACKETVER >= 20090120
-packetLen(0x00a8, -1) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00a8, 27) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 27)
#elif PACKETVER >= 20090107
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00a9
#if PACKETVER >= 20090406
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00a9, 8) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 8)
#elif PACKETVER >= 20090318
-packetLen(0x00a9, -1) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00a9, 30) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 30)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00aa
#if PACKETVER >= 20090406
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
#elif PACKETVER >= 20090325
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00aa, 8) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 8)
#elif PACKETVER >= 20090311
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00aa, 2) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 2)
#elif PACKETVER >= 20090218
-packetLen(0x00aa, 5) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 5)
#elif PACKETVER >= 20090211
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00aa, 4) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 4)
#elif PACKETVER >= 20090129
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00aa, 53) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 53)
#elif PACKETVER >= 20090114
-packetLen(0x00aa, 26) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 26)
#elif PACKETVER >= 20090107
-packetLen(0x00aa, -1) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, -1)
#endif
// Packet: 0x00ab
#if PACKETVER >= 20090406
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#elif PACKETVER >= 20090325
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00ab, 14) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 14)
#elif PACKETVER >= 20090204
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00ab, 6) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 6)
#elif PACKETVER >= 20090120
-packetLen(0x00ab, -1) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
#elif PACKETVER >= 20090107
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00ac
#if PACKETVER >= 20090325
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
#elif PACKETVER >= 20090311
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00ac, 14) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 14)
#elif PACKETVER >= 20090211
-packetLen(0x00ac, 6) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 6)
#elif PACKETVER >= 20090114
-packetLen(0x00ac, -1) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00ac, 3) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
#if PACKETVER >= 20090406
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00af, 54) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 54)
#elif PACKETVER >= 20090325
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20090225
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
#elif PACKETVER >= 20090211
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00af, 14) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 14)
#elif PACKETVER >= 20090129
-packetLen(0x00af, 4) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 4)
#elif PACKETVER >= 20090107
-packetLen(0x00af, -1) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, -1)
#endif
// Packet: 0x00b0
#if PACKETVER >= 20090406
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
#elif PACKETVER >= 20090401
-packetLen(0x00b0, 10) // ZC_PAR_CHANGE
+packetLen(0x00b0, 10)
#elif PACKETVER >= 20090318
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00b0, 57) // ZC_PAR_CHANGE
+packetLen(0x00b0, 57)
#elif PACKETVER >= 20090114
-packetLen(0x00b0, -1) // ZC_PAR_CHANGE
+packetLen(0x00b0, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00b0, 30) // ZC_PAR_CHANGE
+packetLen(0x00b0, 30)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00b1
#if PACKETVER >= 20090406
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
#elif PACKETVER >= 20090401
-packetLen(0x00b1, 3) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 3)
#elif PACKETVER >= 20090325
-packetLen(0x00b1, 27) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 27)
#elif PACKETVER >= 20090311
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00b1, 30) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 30)
#elif PACKETVER >= 20090204
-packetLen(0x00b1, -1) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00b1, 29) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 29)
#elif PACKETVER >= 20090107
-packetLen(0x00b1, 11) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 11)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00b2
#if PACKETVER >= 20090406
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00b2, 42) // CZ_RESTART
+packetLen(0x00b2, 42)
#elif PACKETVER >= 20090325
-packetLen(0x00b2, 32) // CZ_RESTART
+packetLen(0x00b2, 32)
#elif PACKETVER >= 20090318
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00b2, 186) // CZ_RESTART
+packetLen(0x00b2, 186)
#elif PACKETVER >= 20090225
-packetLen(0x00b2, 6) // CZ_RESTART
+packetLen(0x00b2, 6)
#elif PACKETVER >= 20090218
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00b2, 2) // CZ_RESTART
+packetLen(0x00b2, 2)
#elif PACKETVER >= 20090129
-packetLen(0x00b2, -1) // CZ_RESTART
+packetLen(0x00b2, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00b2, 97) // CZ_RESTART
+packetLen(0x00b2, 97)
#elif PACKETVER >= 20090107
-packetLen(0x00b2, 23) // CZ_RESTART
+packetLen(0x00b2, 23)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00b3
#if PACKETVER >= 20090406
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00b3, 4) // ZC_RESTART_ACK
+packetLen(0x00b3, 4)
#elif PACKETVER >= 20090318
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00b3, 6) // ZC_RESTART_ACK
+packetLen(0x00b3, 6)
#elif PACKETVER >= 20090204
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00b3, 2) // ZC_RESTART_ACK
+packetLen(0x00b3, 2)
#elif PACKETVER >= 20090114
-packetLen(0x00b3, -1) // ZC_RESTART_ACK
+packetLen(0x00b3, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00b3, 2) // ZC_RESTART_ACK
+packetLen(0x00b3, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00b4
#if PACKETVER >= 20090325
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00b4, 6) // ZC_SAY_DIALOG
+packetLen(0x00b4, 6)
#elif PACKETVER >= 20090311
-packetLen(0x00b4, 37) // ZC_SAY_DIALOG
+packetLen(0x00b4, 37)
#elif PACKETVER >= 20090225
-packetLen(0x00b4, 30) // ZC_SAY_DIALOG
+packetLen(0x00b4, 30)
#elif PACKETVER >= 20090211
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00b4, 7) // ZC_SAY_DIALOG
+packetLen(0x00b4, 7)
#elif PACKETVER >= 20090129
-packetLen(0x00b4, 2) // ZC_SAY_DIALOG
+packetLen(0x00b4, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
#endif
// Packet: 0x00b5
#if PACKETVER >= 20090406
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20090318
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00b5, 3) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 3)
#elif PACKETVER >= 20090225
-packetLen(0x00b5, 32) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 32)
#elif PACKETVER >= 20090211
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00b5, 2) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 2)
#elif PACKETVER >= 20090120
-packetLen(0x00b5, -1) // ZC_WAIT_DIALOG
+packetLen(0x00b5, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00b6
#if PACKETVER >= 20090406
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20090311
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20090218
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 2)
#elif PACKETVER >= 20090204
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00b6, 2) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 2)
#elif PACKETVER >= 20090120
-packetLen(0x00b6, -1) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00b6, 26) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 26)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00b7
#if PACKETVER >= 20090406
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00b7, 3) // ZC_MENU_LIST
+packetLen(0x00b7, 3)
#elif PACKETVER >= 20090325
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00b7, 29) // ZC_MENU_LIST
+packetLen(0x00b7, 29)
#elif PACKETVER >= 20090311
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00b7, 2) // ZC_MENU_LIST
+packetLen(0x00b7, 2)
#elif PACKETVER >= 20090218
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00b7, 54) // ZC_MENU_LIST
+packetLen(0x00b7, 54)
#elif PACKETVER >= 20090204
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00b7, 2) // ZC_MENU_LIST
+packetLen(0x00b7, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
#endif
// Packet: 0x00b8
#if PACKETVER >= 20090406
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
#elif PACKETVER >= 20090311
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00b8, 2) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 2)
#elif PACKETVER >= 20090218
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00b8, 33) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 33)
#elif PACKETVER >= 20090129
-packetLen(0x00b8, -1) // CZ_CHOOSE_MENU
+packetLen(0x00b8, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00b8, 10) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 10)
#elif PACKETVER >= 20090114
-packetLen(0x00b8, 2) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00b8, 3) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00b9
#if PACKETVER >= 20090406
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00b9, 9) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 9)
#elif PACKETVER >= 20090311
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
#elif PACKETVER >= 20090204
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00b9, 31) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 31)
#elif PACKETVER >= 20090114
-packetLen(0x00b9, -1) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
#if PACKETVER >= 20090406
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
#elif PACKETVER >= 20090401
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00bb, 7) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 7)
#elif PACKETVER >= 20090311
-packetLen(0x00bb, 43) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 43)
#elif PACKETVER >= 20090211
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00bb, 4) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 4)
#elif PACKETVER >= 20090129
-packetLen(0x00bb, 9) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 9)
#elif PACKETVER >= 20090120
-packetLen(0x00bb, -1) // CZ_STATUS_CHANGE
+packetLen(0x00bb, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00bb, 10) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 10)
#elif PACKETVER >= 20090107
-packetLen(0x00bb, 2) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00bc
#if PACKETVER >= 20090406
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00bc, 65) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 65)
#elif PACKETVER >= 20090325
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
#elif PACKETVER >= 20090318
-packetLen(0x00bc, 2) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 2)
#elif PACKETVER >= 20090311
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00bc, 27) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 27)
#elif PACKETVER >= 20090218
-packetLen(0x00bc, -1) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00bc, 81) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 81)
#elif PACKETVER >= 20090204
-packetLen(0x00bc, 15) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 15)
#elif PACKETVER >= 20090129
-packetLen(0x00bc, 8) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 8)
#elif PACKETVER >= 20090107
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00bd
#if PACKETVER >= 20090406
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
#elif PACKETVER >= 20090225
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00bd, 2) // ZC_STATUS
+packetLen(0x00bd, 2)
#elif PACKETVER >= 20090211
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00bd, 60) // ZC_STATUS
+packetLen(0x00bd, 60)
#elif PACKETVER >= 20090120
-packetLen(0x00bd, -1) // ZC_STATUS
+packetLen(0x00bd, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00bd, 10) // ZC_STATUS
+packetLen(0x00bd, 10)
#elif PACKETVER >= 20090107
-packetLen(0x00bd, 14) // ZC_STATUS
+packetLen(0x00bd, 14)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00be
#if PACKETVER >= 20090406
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
#elif PACKETVER >= 20090401
-packetLen(0x00be, 30) // ZC_STATUS_CHANGE
+packetLen(0x00be, 30)
#elif PACKETVER >= 20090325
-packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+packetLen(0x00be, 6)
#elif PACKETVER >= 20090318
-packetLen(0x00be, 10) // ZC_STATUS_CHANGE
+packetLen(0x00be, 10)
#elif PACKETVER >= 20090311
-packetLen(0x00be, 2) // ZC_STATUS_CHANGE
+packetLen(0x00be, 2)
#elif PACKETVER >= 20090218
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00be, 6) // ZC_STATUS_CHANGE
+packetLen(0x00be, 6)
#elif PACKETVER >= 20090120
-packetLen(0x00be, -1) // ZC_STATUS_CHANGE
+packetLen(0x00be, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00be, 14) // ZC_STATUS_CHANGE
+packetLen(0x00be, 14)
#elif PACKETVER >= 20090107
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00bf
#if PACKETVER >= 20090406
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
#elif PACKETVER >= 20090325
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00bf, 18) // CZ_REQ_EMOTION
+packetLen(0x00bf, 18)
#elif PACKETVER >= 20090311
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00bf, 4) // CZ_REQ_EMOTION
+packetLen(0x00bf, 4)
#elif PACKETVER >= 20090211
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00bf, 28) // CZ_REQ_EMOTION
+packetLen(0x00bf, 28)
#elif PACKETVER >= 20090129
-packetLen(0x00bf, -1) // CZ_REQ_EMOTION
+packetLen(0x00bf, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00bf, 6) // CZ_REQ_EMOTION
+packetLen(0x00bf, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00bf, 86) // CZ_REQ_EMOTION
+packetLen(0x00bf, 86)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00c0
#if PACKETVER >= 20090406
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
#elif PACKETVER >= 20090401
-packetLen(0x00c0, 10) // ZC_EMOTION
+packetLen(0x00c0, 10)
#elif PACKETVER >= 20090325
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00c0, 4) // ZC_EMOTION
+packetLen(0x00c0, 4)
#elif PACKETVER >= 20090129
-packetLen(0x00c0, -1) // ZC_EMOTION
+packetLen(0x00c0, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00c0, 6) // ZC_EMOTION
+packetLen(0x00c0, 6)
#elif PACKETVER >= 20090114
-packetLen(0x00c0, 31) // ZC_EMOTION
+packetLen(0x00c0, 31)
#elif PACKETVER >= 20090107
-packetLen(0x00c0, 54) // ZC_EMOTION
+packetLen(0x00c0, 54)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00c1
#if PACKETVER >= 20090406
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
#elif PACKETVER >= 20090401
-packetLen(0x00c1, 67) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 67)
#elif PACKETVER >= 20090318
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00c1, 10) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 10)
#elif PACKETVER >= 20090225
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00c1, 54) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 54)
#elif PACKETVER >= 20090211
-packetLen(0x00c1, 30) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 30)
#elif PACKETVER >= 20090204
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00c1, 8) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 8)
#elif PACKETVER >= 20090120
-packetLen(0x00c1, 6) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00c1, -1) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, -1)
#endif
// Packet: 0x00c2
#if PACKETVER >= 20090406
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00c2, 30) // ZC_USER_COUNT
+packetLen(0x00c2, 30)
#elif PACKETVER >= 20090318
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00c2, 12) // ZC_USER_COUNT
+packetLen(0x00c2, 12)
#elif PACKETVER >= 20090225
-packetLen(0x00c2, 9) // ZC_USER_COUNT
+packetLen(0x00c2, 9)
#elif PACKETVER >= 20090218
-packetLen(0x00c2, 14) // ZC_USER_COUNT
+packetLen(0x00c2, 14)
#elif PACKETVER >= 20090204
-packetLen(0x00c2, -1) // ZC_USER_COUNT
+packetLen(0x00c2, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00c2, 60) // ZC_USER_COUNT
+packetLen(0x00c2, 60)
#elif PACKETVER >= 20090120
-packetLen(0x00c2, 5) // ZC_USER_COUNT
+packetLen(0x00c2, 5)
#elif PACKETVER >= 20090114
-packetLen(0x00c2, 4) // ZC_USER_COUNT
+packetLen(0x00c2, 4)
#elif PACKETVER >= 20090107
-packetLen(0x00c2, 2) // ZC_USER_COUNT
+packetLen(0x00c2, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00c3
#if PACKETVER >= 20090406
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
#elif PACKETVER >= 20090401
-packetLen(0x00c3, 10) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 10)
#elif PACKETVER >= 20090325
-packetLen(0x00c3, -1) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00c3, 6) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00c3, 5) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 5)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00c4
#if PACKETVER >= 20090406
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00c4, 9) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 9)
#elif PACKETVER >= 20090218
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
#elif PACKETVER >= 20090114
-packetLen(0x00c4, -1) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00c4, 3) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00c5
#if PACKETVER >= 20090406
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
#elif PACKETVER >= 20090318
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00c5, 8) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 8)
#elif PACKETVER >= 20090218
-packetLen(0x00c5, 2) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 2)
#elif PACKETVER >= 20090211
-packetLen(0x00c5, 32) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 32)
#elif PACKETVER >= 20090129
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00c5, 2) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 2)
#elif PACKETVER >= 20090114
-packetLen(0x00c5, 6) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00c5, -1) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, -1)
#endif
// Packet: 0x00c6
#if PACKETVER >= 20090325
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 6)
#elif PACKETVER >= 20090311
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00c6, 14) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 14)
#elif PACKETVER >= 20090218
-packetLen(0x00c6, 8) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 8)
#elif PACKETVER >= 20090204
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00c6, 57) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 57)
#elif PACKETVER >= 20090120
-packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 6)
#elif PACKETVER >= 20090114
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00c6, 6) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00c7
#if PACKETVER >= 20090406
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00c7, 5) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 5)
#elif PACKETVER >= 20090325
-packetLen(0x00c7, 53) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 53)
#elif PACKETVER >= 20090318
-packetLen(0x00c7, 54) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 54)
#elif PACKETVER >= 20090311
-packetLen(0x00c7, 27) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 27)
#elif PACKETVER >= 20090225
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00c7, 23) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 23)
#elif PACKETVER >= 20090211
-packetLen(0x00c7, 57) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 57)
#elif PACKETVER >= 20090129
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00c7, 2) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
#endif
// Packet: 0x00c8
#if PACKETVER >= 20090401
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00c8, 58) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 58)
#elif PACKETVER >= 20090318
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00c8, 8) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 8)
#elif PACKETVER >= 20090218
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00c8, 9) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 9)
#elif PACKETVER >= 20090204
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00c8, 26) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 26)
#elif PACKETVER >= 20090120
-packetLen(0x00c8, 8) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 8)
#elif PACKETVER >= 20090114
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00c8, 42) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, 42)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00c9
#if PACKETVER >= 20090401
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00c9, 2) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 2)
#elif PACKETVER >= 20090318
-packetLen(0x00c9, 8) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 8)
#elif PACKETVER >= 20090311
-packetLen(0x00c9, 29) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 29)
#elif PACKETVER >= 20090218
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00c9, 30) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 30)
#elif PACKETVER >= 20090204
-packetLen(0x00c9, 22) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 22)
#elif PACKETVER >= 20090120
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00c9, 15) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, 15)
#elif PACKETVER >= 20090107
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
#endif
// Packet: 0x00ca
#if PACKETVER >= 20090406
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00ca, 282) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 282)
#elif PACKETVER >= 20090318
-packetLen(0x00ca, 4) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 4)
#elif PACKETVER >= 20090311
-packetLen(0x00ca, 7) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 7)
#elif PACKETVER >= 20090225
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00ca, 22) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 22)
#elif PACKETVER >= 20090211
-packetLen(0x00ca, 21) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 21)
#elif PACKETVER >= 20090204
-packetLen(0x00ca, 6) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 6)
#elif PACKETVER >= 20090114
-packetLen(0x00ca, -1) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00ca, 10) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 10)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
#if PACKETVER >= 20090406
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00cc, 7) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 7)
#elif PACKETVER >= 20090325
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
#elif PACKETVER >= 20090318
-packetLen(0x00cc, 9) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 9)
#elif PACKETVER >= 20090204
-packetLen(0x00cc, -1) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00cc, 12) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 12)
#elif PACKETVER >= 20090120
-packetLen(0x00cc, 39) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 39)
#elif PACKETVER >= 20090114
-packetLen(0x00cc, 8) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 8)
#elif PACKETVER >= 20090107
-packetLen(0x00cc, 5) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 5)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
#if PACKETVER >= 20090406
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
#elif PACKETVER >= 20090401
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00ce, 4) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 4)
#elif PACKETVER >= 20090318
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00ce, 3) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 3)
#elif PACKETVER >= 20090204
-packetLen(0x00ce, -1) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00ce, 14) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 14)
#elif PACKETVER >= 20090107
-packetLen(0x00ce, 8) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 8)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00cf
#if PACKETVER >= 20090406
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
#elif PACKETVER >= 20090401
-packetLen(0x00cf, 16) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 16)
#elif PACKETVER >= 20090325
-packetLen(0x00cf, 282) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 282)
#elif PACKETVER >= 20090318
-packetLen(0x00cf, 44) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 44)
#elif PACKETVER >= 20090311
-packetLen(0x00cf, 14) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 14)
#elif PACKETVER >= 20090225
-packetLen(0x00cf, 79) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 79)
#elif PACKETVER >= 20090211
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 2)
#elif PACKETVER >= 20090129
-packetLen(0x00cf, 10) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 10)
#elif PACKETVER >= 20090120
-packetLen(0x00cf, -1) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00cf, 2) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00cf, 14) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 14)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00d0
#if PACKETVER >= 20090406
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00d0, 8) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 8)
#elif PACKETVER >= 20090325
-packetLen(0x00d0, 37) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 37)
#elif PACKETVER >= 20090318
-packetLen(0x00d0, 30) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 30)
#elif PACKETVER >= 20090225
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00d0, 2) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00d0, -1) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, -1)
#endif
// Packet: 0x00d1
#if PACKETVER >= 20090406
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
#elif PACKETVER >= 20090325
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00d1, 2) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 2)
#elif PACKETVER >= 20090311
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20090218
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
#elif PACKETVER >= 20090129
-packetLen(0x00d1, -1) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00d1, 6) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00d1, 16) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 16)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00d2
#if PACKETVER >= 20090406
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
#elif PACKETVER >= 20090401
-packetLen(0x00d2, 30) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 30)
#elif PACKETVER >= 20090325
-packetLen(0x00d2, 5) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 5)
#elif PACKETVER >= 20090311
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00d2, 2) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 2)
#elif PACKETVER >= 20090120
-packetLen(0x00d2, -1) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00d2, 6) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00d2, 8) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 8)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00d3
#if PACKETVER >= 20090401
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#elif PACKETVER >= 20090325
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
#elif PACKETVER >= 20090318
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00d3, 12) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 12)
#elif PACKETVER >= 20090225
-packetLen(0x00d3, 10) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 10)
#elif PACKETVER >= 20090218
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#elif PACKETVER >= 20090204
-packetLen(0x00d3, -1) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
#elif PACKETVER >= 20090120
-packetLen(0x00d3, 7) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 7)
#elif PACKETVER >= 20090107
-packetLen(0x00d3, 6) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
#if PACKETVER >= 20090401
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00d5, 12) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 12)
#elif PACKETVER >= 20090318
-packetLen(0x00d5, 26) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 26)
#elif PACKETVER >= 20090311
-packetLen(0x00d5, 30) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 30)
#elif PACKETVER >= 20090114
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00d5, 58) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, 58)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00d6
#if PACKETVER >= 20090406
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00d6, 11) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 11)
#elif PACKETVER >= 20090318
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00d6, 2) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 2)
#elif PACKETVER >= 20090225
-packetLen(0x00d6, 4) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 4)
#elif PACKETVER >= 20090218
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00d6, 59) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 59)
#elif PACKETVER >= 20090204
-packetLen(0x00d6, 8) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 8)
#elif PACKETVER >= 20090114
-packetLen(0x00d6, -1) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00d6, 18) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 18)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00d7
#if PACKETVER >= 20090406
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00d7, 6) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 6)
#elif PACKETVER >= 20090325
-packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 10)
#elif PACKETVER >= 20090318
-packetLen(0x00d7, 11) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 11)
#elif PACKETVER >= 20090225
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00d7, 26) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 26)
#elif PACKETVER >= 20090211
-packetLen(0x00d7, 10) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 10)
#elif PACKETVER >= 20090204
-packetLen(0x00d7, 23) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 23)
#elif PACKETVER >= 20090129
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00d7, 2) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
#endif
// Packet: 0x00d8
#if PACKETVER >= 20090406
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00d8, 14) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 14)
#elif PACKETVER >= 20090325
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00d8, 2) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 2)
#elif PACKETVER >= 20090225
-packetLen(0x00d8, 97) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 97)
#elif PACKETVER >= 20090218
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00d8, 3) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 3)
#elif PACKETVER >= 20090204
-packetLen(0x00d8, 42) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 42)
#elif PACKETVER >= 20090129
-packetLen(0x00d8, 15) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 15)
#elif PACKETVER >= 20090120
-packetLen(0x00d8, 4) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 4)
#elif PACKETVER >= 20090114
-packetLen(0x00d8, -1) // ZC_DESTROY_ROOM
+packetLen(0x00d8, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00d9
#if PACKETVER >= 20090406
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
#elif PACKETVER >= 20090401
-packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 3)
#elif PACKETVER >= 20090325
-packetLen(0x00d9, 26) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 26)
#elif PACKETVER >= 20090318
-packetLen(0x00d9, 4) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 4)
#elif PACKETVER >= 20090311
-packetLen(0x00d9, 2) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 2)
#elif PACKETVER >= 20090225
-packetLen(0x00d9, 58) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 58)
#elif PACKETVER >= 20090218
-packetLen(0x00d9, 7) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 7)
#elif PACKETVER >= 20090211
-packetLen(0x00d9, 5) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 5)
#elif PACKETVER >= 20090204
-packetLen(0x00d9, 3) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 3)
#elif PACKETVER >= 20090107
-packetLen(0x00d9, 55) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 55)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00da
#if PACKETVER >= 20090406
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
#elif PACKETVER >= 20090311
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00da, 6) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 6)
#elif PACKETVER >= 20090218
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00da, 19) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 19)
#elif PACKETVER >= 20090204
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00da, 2) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 2)
#elif PACKETVER >= 20090114
-packetLen(0x00da, -1) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00da, 31) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 31)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00db
#if PACKETVER >= 20090401
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00db, 9) // ZC_ENTER_ROOM
+packetLen(0x00db, 9)
#elif PACKETVER >= 20090311
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00db, 10) // ZC_ENTER_ROOM
+packetLen(0x00db, 10)
#elif PACKETVER >= 20090218
-packetLen(0x00db, 8) // ZC_ENTER_ROOM
+packetLen(0x00db, 8)
#elif PACKETVER >= 20090120
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00db, 8) // ZC_ENTER_ROOM
+packetLen(0x00db, 8)
#elif PACKETVER >= 20090107
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
#endif
// Packet: 0x00dc
#if PACKETVER >= 20090406
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
#elif PACKETVER >= 20090401
-packetLen(0x00dc, 282) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 282)
#elif PACKETVER >= 20090318
-packetLen(0x00dc, 3) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 3)
#elif PACKETVER >= 20090311
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00dc, 26) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 26)
#elif PACKETVER >= 20090218
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00dc, 67) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 67)
#elif PACKETVER >= 20090129
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00dc, 26) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 26)
#elif PACKETVER >= 20090114
-packetLen(0x00dc, 4) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 4)
#elif PACKETVER >= 20090107
-packetLen(0x00dc, -1) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, -1)
#endif
// Packet: 0x00dd
#if PACKETVER >= 20090406
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
#elif PACKETVER >= 20090401
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00dd, 30) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 30)
#elif PACKETVER >= 20090225
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00dd, 8) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 8)
#elif PACKETVER >= 20090129
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00dd, 11) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 11)
#elif PACKETVER >= 20090114
-packetLen(0x00dd, -1) // ZC_MEMBER_EXIT
+packetLen(0x00dd, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00dd, 30) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 30)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00de
#if PACKETVER >= 20090406
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00de, 10) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 10)
#elif PACKETVER >= 20090325
-packetLen(0x00de, 6) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 6)
#elif PACKETVER >= 20090311
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 5)
#elif PACKETVER >= 20090218
-packetLen(0x00de, 4) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 4)
#elif PACKETVER >= 20090211
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00de, 32) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 32)
#elif PACKETVER >= 20090129
-packetLen(0x00de, 5) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 5)
#elif PACKETVER >= 20090120
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00de, 282) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 282)
#elif PACKETVER >= 20090107
-packetLen(0x00de, 26) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, 26)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00df
#if PACKETVER >= 20090406
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00df, 33) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 33)
#elif PACKETVER >= 20090325
-packetLen(0x00df, 6) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 6)
#elif PACKETVER >= 20090311
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00df, 2) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 2)
#elif PACKETVER >= 20090218
-packetLen(0x00df, 27) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 27)
#elif PACKETVER >= 20090211
-packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 3)
#elif PACKETVER >= 20090204
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00df, 2) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 2)
#elif PACKETVER >= 20090120
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00df, 3) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 3)
#elif PACKETVER >= 20090107
-packetLen(0x00df, 22) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, 22)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00e0
#if PACKETVER >= 20090406
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
#elif PACKETVER >= 20090401
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00e0, 5) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 5)
#elif PACKETVER >= 20090218
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00e0, 11) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 11)
#elif PACKETVER >= 20090204
-packetLen(0x00e0, 33) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 33)
#elif PACKETVER >= 20090114
-packetLen(0x00e0, -1) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00e0, 10) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 10)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00e1
#if PACKETVER >= 20090406
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
#elif PACKETVER >= 20090401
-packetLen(0x00e1, 6) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 6)
#elif PACKETVER >= 20090325
-packetLen(0x00e1, 7) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 7)
#elif PACKETVER >= 20090318
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00e1, 14) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 14)
#elif PACKETVER >= 20090218
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00e1, 23) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 23)
#elif PACKETVER >= 20090120
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00e1, 28) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 28)
#elif PACKETVER >= 20090107
-packetLen(0x00e1, -1) // ZC_ROLE_CHANGE
+packetLen(0x00e1, -1)
#endif
// Packet: 0x00e2
#if PACKETVER >= 20090406
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
#elif PACKETVER >= 20090401
-packetLen(0x00e2, 3) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 3)
#elif PACKETVER >= 20090225
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00e2, 3) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 3)
#elif PACKETVER >= 20090120
-packetLen(0x00e2, -1) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00e2, 7) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 7)
#elif PACKETVER >= 20090107
-packetLen(0x00e2, 8) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 8)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00e3
#if PACKETVER >= 20090406
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
#elif PACKETVER >= 20090401
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00e3, 7) // CZ_EXIT_ROOM
+packetLen(0x00e3, 7)
#elif PACKETVER >= 20090318
-packetLen(0x00e3, 55) // CZ_EXIT_ROOM
+packetLen(0x00e3, 55)
#elif PACKETVER >= 20090311
-packetLen(0x00e3, 15) // CZ_EXIT_ROOM
+packetLen(0x00e3, 15)
#elif PACKETVER >= 20090225
-packetLen(0x00e3, 7) // CZ_EXIT_ROOM
+packetLen(0x00e3, 7)
#elif PACKETVER >= 20090218
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00e3, 21) // CZ_EXIT_ROOM
+packetLen(0x00e3, 21)
#elif PACKETVER >= 20090129
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00e3, 6) // CZ_EXIT_ROOM
+packetLen(0x00e3, 6)
#elif PACKETVER >= 20090114
-packetLen(0x00e3, -1) // CZ_EXIT_ROOM
+packetLen(0x00e3, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00e3, 26) // CZ_EXIT_ROOM
+packetLen(0x00e3, 26)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00e4
#if PACKETVER >= 20090401
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
#elif PACKETVER >= 20090325
-packetLen(0x00e4, 8) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 8)
#elif PACKETVER >= 20090218
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00e4, 10) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 10)
#elif PACKETVER >= 20090204
-packetLen(0x00e4, -1) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00e4, 20) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 20)
#elif PACKETVER >= 20090107
-packetLen(0x00e4, 7) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 7)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00e5
#if PACKETVER >= 20090406
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
#elif PACKETVER >= 20090325
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00e5, 68) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 68)
#elif PACKETVER >= 20090311
-packetLen(0x00e5, 11) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 11)
#elif PACKETVER >= 20090225
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00e5, 37) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 37)
#elif PACKETVER >= 20090211
-packetLen(0x00e5, 6) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 6)
#elif PACKETVER >= 20090129
-packetLen(0x00e5, -1) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00e5, 5) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 5)
#elif PACKETVER >= 20090114
-packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 2)
#elif PACKETVER >= 20090107
-packetLen(0x00e5, 2) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 2)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00e6
#if PACKETVER >= 20090406
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00e6, 86) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 86)
#elif PACKETVER >= 20090204
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
#elif PACKETVER >= 20090120
-packetLen(0x00e6, 58) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 58)
#elif PACKETVER >= 20090114
-packetLen(0x00e6, 57) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 57)
#elif PACKETVER >= 20090107
-packetLen(0x00e6, -1) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, -1)
#endif
// Packet: 0x00e7
#if PACKETVER >= 20090406
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00e7, 55) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 55)
#elif PACKETVER >= 20090218
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00e7, 2) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 2)
#elif PACKETVER >= 20090129
-packetLen(0x00e7, -1) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00e7, 68) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 68)
#elif PACKETVER >= 20090114
-packetLen(0x00e7, 6) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00e7, 42) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 42)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00e8
#if PACKETVER >= 20090406
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
#elif PACKETVER >= 20090311
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00e8, 7) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 7)
#elif PACKETVER >= 20090211
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00e8, 58) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 58)
#elif PACKETVER >= 20090129
-packetLen(0x00e8, 14) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 14)
#elif PACKETVER >= 20090107
-packetLen(0x00e8, -1) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, -1)
#endif
// Packet: 0x00e9
#if PACKETVER >= 20090406
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#elif PACKETVER >= 20090325
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00e9, 2) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 2)
#elif PACKETVER >= 20090311
-packetLen(0x00e9, 22) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 22)
#elif PACKETVER >= 20090225
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00e9, 5) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 5)
#elif PACKETVER >= 20090211
-packetLen(0x00e9, 10) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 10)
#elif PACKETVER >= 20090204
-packetLen(0x00e9, 33) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 33)
#elif PACKETVER >= 20090129
-packetLen(0x00e9, 32) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 32)
#elif PACKETVER >= 20090120
-packetLen(0x00e9, 54) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 54)
#elif PACKETVER >= 20090107
-packetLen(0x00e9, -1) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, -1)
#endif
// Packet: 0x00ea
#if PACKETVER >= 20090406
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
#elif PACKETVER >= 20090401
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00ea, 4) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 4)
#elif PACKETVER >= 20090318
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
#elif PACKETVER >= 20090311
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00ea, 12) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 12)
#elif PACKETVER >= 20090218
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00ea, 282) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 282)
#elif PACKETVER >= 20090129
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00ea, 3) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 3)
#elif PACKETVER >= 20090114
-packetLen(0x00ea, 6) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00ea, -1) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, -1)
#endif
// Packet: 0x00eb
#if PACKETVER >= 20090406
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
#elif PACKETVER >= 20090401
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00eb, 10) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 10)
#elif PACKETVER >= 20090318
-packetLen(0x00eb, 15) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 15)
#elif PACKETVER >= 20090311
-packetLen(0x00eb, 11) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 11)
#elif PACKETVER >= 20090225
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20090218
-packetLen(0x00eb, 10) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 10)
#elif PACKETVER >= 20090211
-packetLen(0x00eb, 6) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 6)
#elif PACKETVER >= 20090204
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00eb, 71) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 71)
#elif PACKETVER >= 20090114
-packetLen(0x00eb, -1) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00eb, 14) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 14)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00ec
#if PACKETVER >= 20090406
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00ec, 60) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 60)
#elif PACKETVER >= 20090325
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00ec, 27) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 27)
#elif PACKETVER >= 20090311
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00ec, 5) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 5)
#elif PACKETVER >= 20090218
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00ec, 15) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 15)
#elif PACKETVER >= 20090204
-packetLen(0x00ec, -1) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00ec, 4) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 4)
#elif PACKETVER >= 20090120
-packetLen(0x00ec, 2) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 2)
#elif PACKETVER >= 20090114
-packetLen(0x00ec, 6) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 6)
#elif PACKETVER >= 20090107
-packetLen(0x00ec, 18) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 18)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00ed
#if PACKETVER >= 20090406
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
#elif PACKETVER >= 20090225
-packetLen(0x00ed, -1) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00ed, 3) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 3)
#elif PACKETVER >= 20090211
-packetLen(0x00ed, 22) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 22)
#elif PACKETVER >= 20090204
-packetLen(0x00ed, 6) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 6)
#elif PACKETVER >= 20090129
-packetLen(0x00ed, 282) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 282)
#elif PACKETVER >= 20090114
-packetLen(0x00ed, 8) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 8)
#elif PACKETVER >= 20090107
-packetLen(0x00ed, 7) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 7)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00ee
#if PACKETVER >= 20090401
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
#elif PACKETVER >= 20090325
-packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 8)
#elif PACKETVER >= 20090318
-packetLen(0x00ee, 282) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 282)
#elif PACKETVER >= 20090311
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00ee, 4) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 4)
#elif PACKETVER >= 20090204
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00ee, 24) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 24)
#elif PACKETVER >= 20090120
-packetLen(0x00ee, 8) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 8)
#elif PACKETVER >= 20090114
-packetLen(0x00ee, -1) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00ee, 16) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 16)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00ef
#if PACKETVER >= 20090406
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#elif PACKETVER >= 20090401
-packetLen(0x00ef, 8) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 8)
#elif PACKETVER >= 20090325
-packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 30)
#elif PACKETVER >= 20090311
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
#elif PACKETVER >= 20090218
-packetLen(0x00ef, 16) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 16)
#elif PACKETVER >= 20090211
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00ef, 43) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 43)
#elif PACKETVER >= 20090129
-packetLen(0x00ef, 30) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 30)
#elif PACKETVER >= 20090120
-packetLen(0x00ef, 81) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 81)
#elif PACKETVER >= 20090114
-packetLen(0x00ef, -1) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00ef, 39) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 39)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00f0
#if PACKETVER >= 20090406
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
#elif PACKETVER >= 20090401
-packetLen(0x00f0, 7) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 7)
#elif PACKETVER >= 20090318
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00f0, 34) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 34)
#elif PACKETVER >= 20090211
-packetLen(0x00f0, -1) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00f0, 31) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 31)
#elif PACKETVER >= 20090129
-packetLen(0x00f0, 26) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 26)
#elif PACKETVER >= 20090107
-packetLen(0x00f0, 26) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 26)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
#if PACKETVER >= 20090406
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00f2, 2) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 2)
#elif PACKETVER >= 20090325
-packetLen(0x00f2, 32) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 32)
#elif PACKETVER >= 20090318
-packetLen(0x00f2, 8) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 8)
#elif PACKETVER >= 20090311
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20090225
-packetLen(0x00f2, 8) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 8)
#elif PACKETVER >= 20090218
-packetLen(0x00f2, 3) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 3)
#elif PACKETVER >= 20090211
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
#elif PACKETVER >= 20090204
-packetLen(0x00f2, 10) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 10)
#elif PACKETVER >= 20090129
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00f2, 11) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 11)
#elif PACKETVER >= 20090107
-packetLen(0x00f2, -1) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, -1)
#endif
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
#if PACKETVER >= 20090406
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
#elif PACKETVER >= 20090401
-packetLen(0x00f4, 18) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 18)
#elif PACKETVER >= 20090311
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00f4, 2) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 2)
#elif PACKETVER >= 20090218
-packetLen(0x00f4, 14) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 14)
#elif PACKETVER >= 20090211
-packetLen(0x00f4, 53) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 53)
#elif PACKETVER >= 20090129
-packetLen(0x00f4, -1) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00f4, 43) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 43)
#elif PACKETVER >= 20090114
-packetLen(0x00f4, 26) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 26)
#elif PACKETVER >= 20090107
-packetLen(0x00f4, 14) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 14)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
#if PACKETVER >= 20090406
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
#elif PACKETVER >= 20090401
-packetLen(0x00f6, 4) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 4)
#elif PACKETVER >= 20090318
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00f6, 10) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 10)
#elif PACKETVER >= 20090225
-packetLen(0x00f6, 2) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 2)
#elif PACKETVER >= 20090218
-packetLen(0x00f6, 30) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 30)
#elif PACKETVER >= 20090129
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20090120
-packetLen(0x00f6, 21) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 21)
#elif PACKETVER >= 20090114
-packetLen(0x00f6, -1) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00f6, 26) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 26)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
#if PACKETVER >= 20090401
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
#elif PACKETVER >= 20090318
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00f8, 10) // ZC_CLOSE_STORE
+packetLen(0x00f8, 10)
#elif PACKETVER >= 20090225
-packetLen(0x00f8, 3) // ZC_CLOSE_STORE
+packetLen(0x00f8, 3)
#elif PACKETVER >= 20090218
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00f8, 65) // ZC_CLOSE_STORE
+packetLen(0x00f8, 65)
#elif PACKETVER >= 20090204
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00f8, 60) // ZC_CLOSE_STORE
+packetLen(0x00f8, 60)
#elif PACKETVER >= 20090107
-packetLen(0x00f8, -1) // ZC_CLOSE_STORE
+packetLen(0x00f8, -1)
#endif
// Packet: 0x00f9
#if PACKETVER >= 20090406
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
#elif PACKETVER >= 20090325
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00f9, 11) // CZ_MAKE_GROUP
+packetLen(0x00f9, 11)
#elif PACKETVER >= 20090225
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00f9, 8) // CZ_MAKE_GROUP
+packetLen(0x00f9, 8)
#elif PACKETVER >= 20090211
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00f9, 39) // CZ_MAKE_GROUP
+packetLen(0x00f9, 39)
#elif PACKETVER >= 20090129
-packetLen(0x00f9, 10) // CZ_MAKE_GROUP
+packetLen(0x00f9, 10)
#elif PACKETVER >= 20090120
-packetLen(0x00f9, 12) // CZ_MAKE_GROUP
+packetLen(0x00f9, 12)
#elif PACKETVER >= 20090107
-packetLen(0x00f9, -1) // CZ_MAKE_GROUP
+packetLen(0x00f9, -1)
#endif
// Packet: 0x00fa
#if PACKETVER >= 20090406
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#elif PACKETVER >= 20090325
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20090318
-packetLen(0x00fa, 20) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 20)
#elif PACKETVER >= 20090311
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20090225
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
#elif PACKETVER >= 20090218
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00fa, 114) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 114)
#elif PACKETVER >= 20090107
-packetLen(0x00fa, -1) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, -1)
#endif
// Packet: 0x00fb
#if PACKETVER >= 20090406
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20090401
-packetLen(0x00fb, 7) // ZC_GROUP_LIST
+packetLen(0x00fb, 7)
#elif PACKETVER >= 20090318
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20090311
-packetLen(0x00fb, 36) // ZC_GROUP_LIST
+packetLen(0x00fb, 36)
#elif PACKETVER >= 20090225
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20090218
-packetLen(0x00fb, 8) // ZC_GROUP_LIST
+packetLen(0x00fb, 8)
#elif PACKETVER >= 20090211
-packetLen(0x00fb, 7) // ZC_GROUP_LIST
+packetLen(0x00fb, 7)
#elif PACKETVER >= 20090204
-packetLen(0x00fb, 6) // ZC_GROUP_LIST
+packetLen(0x00fb, 6)
#elif PACKETVER >= 20090129
-packetLen(0x00fb, 3) // ZC_GROUP_LIST
+packetLen(0x00fb, 3)
#elif PACKETVER >= 20090120
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00fb, 16) // ZC_GROUP_LIST
+packetLen(0x00fb, 16)
#elif PACKETVER >= 20090107
-packetLen(0x00fb, 282) // ZC_GROUP_LIST
+packetLen(0x00fb, 282)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00fc
#if PACKETVER >= 20090406
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
#elif PACKETVER >= 20090401
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00fc, 22) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 22)
#elif PACKETVER >= 20090120
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00fc, 3) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 3)
#elif PACKETVER >= 20090107
-packetLen(0x00fc, -1) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, -1)
#endif
// Packet: 0x00fd
#if PACKETVER >= 20090406
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
#elif PACKETVER >= 20090218
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20090211
-packetLen(0x00fd, 2) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 2)
#elif PACKETVER >= 20090204
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00fd, 7) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 7)
#elif PACKETVER >= 20090114
-packetLen(0x00fd, -1) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00fd, 10) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 10)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x00fe
#if PACKETVER >= 20090406
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
#elif PACKETVER >= 20090401
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00fe, 67) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 67)
#elif PACKETVER >= 20090211
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20090204
-packetLen(0x00fe, 29) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 29)
#elif PACKETVER >= 20090129
-packetLen(0x00fe, 2) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 2)
#elif PACKETVER >= 20090114
-packetLen(0x00fe, -1) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, -1)
#elif PACKETVER >= 20090107
-packetLen(0x00fe, 21) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 21)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x00ff
#if PACKETVER >= 20090406
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
#elif PACKETVER >= 20090401
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20090325
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20090318
-packetLen(0x00ff, 4) // CZ_JOIN_GROUP
+packetLen(0x00ff, 4)
#elif PACKETVER >= 20090218
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20090211
-packetLen(0x00ff, 30) // CZ_JOIN_GROUP
+packetLen(0x00ff, 30)
#elif PACKETVER >= 20090204
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20090129
-packetLen(0x00ff, 6) // CZ_JOIN_GROUP
+packetLen(0x00ff, 6)
#elif PACKETVER >= 20090120
-packetLen(0x00ff, -1) // CZ_JOIN_GROUP
+packetLen(0x00ff, -1)
#elif PACKETVER >= 20090114
-packetLen(0x00ff, 3) // CZ_JOIN_GROUP
+packetLen(0x00ff, 3)
#elif PACKETVER >= 20090107
-packetLen(0x00ff, 5) // CZ_JOIN_GROUP
+packetLen(0x00ff, 5)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0100
#if PACKETVER >= 20090406
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
#elif PACKETVER >= 20090401
-packetLen(0x0100, 10) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 10)
#elif PACKETVER >= 20090311
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 6)
#elif PACKETVER >= 20090218
-packetLen(0x0100, 81) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 81)
#elif PACKETVER >= 20090211
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0100, 5) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 5)
#elif PACKETVER >= 20090114
-packetLen(0x0100, -1) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0100, 6) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0101
#if PACKETVER >= 20090406
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0101, 20) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 20)
#elif PACKETVER >= 20090120
-packetLen(0x0101, -1) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0101, 20) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 20)
#elif PACKETVER >= 20090107
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0102
#if PACKETVER >= 20090406
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
#elif PACKETVER >= 20090401
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0102, 10) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 10)
#elif PACKETVER >= 20090311
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0102, 11) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 11)
#elif PACKETVER >= 20090218
-packetLen(0x0102, 7) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 7)
#elif PACKETVER >= 20090211
-packetLen(0x0102, 282) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 282)
#elif PACKETVER >= 20090204
-packetLen(0x0102, 8) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 8)
#elif PACKETVER >= 20090129
-packetLen(0x0102, -1) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0102, 30) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 30)
#elif PACKETVER >= 20090107
-packetLen(0x0102, 9) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 9)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0103
#if PACKETVER >= 20090406
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
#elif PACKETVER >= 20090318
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0103, 2) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 2)
#elif PACKETVER >= 20090218
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0103, 54) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 54)
#elif PACKETVER >= 20090204
-packetLen(0x0103, 28) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 28)
#elif PACKETVER >= 20090129
-packetLen(0x0103, -1) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0103, 66) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 66)
#elif PACKETVER >= 20090114
-packetLen(0x0103, 11) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 11)
#elif PACKETVER >= 20090107
-packetLen(0x0103, 6) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0104
#if PACKETVER >= 20090406
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
#elif PACKETVER >= 20090325
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0104, 8) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 8)
#elif PACKETVER >= 20090311
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 26)
#elif PACKETVER >= 20090218
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0104, 26) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 26)
#elif PACKETVER >= 20090120
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0104, 6) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0104, -1) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, -1)
#endif
// Packet: 0x0105
#if PACKETVER >= 20090406
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
#elif PACKETVER >= 20090401
-packetLen(0x0105, 10) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 10)
#elif PACKETVER >= 20090325
-packetLen(0x0105, 2) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 2)
#elif PACKETVER >= 20090204
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0105, 14) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 14)
#elif PACKETVER >= 20090114
-packetLen(0x0105, -1) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0105, 2) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0106
#if PACKETVER >= 20090406
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
#elif PACKETVER >= 20090401
-packetLen(0x0106, 24) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 24)
#elif PACKETVER >= 20090325
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0106, 2) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 2)
#elif PACKETVER >= 20090211
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0106, 9) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 9)
#elif PACKETVER >= 20090129
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0106, 7) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 7)
#elif PACKETVER >= 20090114
-packetLen(0x0106, -1) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0106, 6) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0107
#if PACKETVER >= 20090406
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
#elif PACKETVER >= 20090401
-packetLen(0x0107, 16) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 16)
#elif PACKETVER >= 20090325
-packetLen(0x0107, 14) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 14)
#elif PACKETVER >= 20090225
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0107, 4) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 4)
#elif PACKETVER >= 20090204
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0107, 23) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 23)
#elif PACKETVER >= 20090107
-packetLen(0x0107, -1) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, -1)
#endif
// Packet: 0x0108
#if PACKETVER >= 20090325
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0108, 4) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 4)
#elif PACKETVER >= 20090129
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0108, 6) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
#endif
// Packet: 0x0109
#if PACKETVER >= 20090325
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0109, 81) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 81)
#elif PACKETVER >= 20090225
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0109, 8) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 8)
#elif PACKETVER >= 20090204
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0109, 6) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0109, 5) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 5)
#elif PACKETVER >= 20090114
-packetLen(0x0109, 3) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 3)
#elif PACKETVER >= 20090107
-packetLen(0x0109, 11) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, 11)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x010a
#if PACKETVER >= 20090406
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#elif PACKETVER >= 20090401
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20090325
-packetLen(0x010a, 26) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 26)
#elif PACKETVER >= 20090204
-packetLen(0x010a, -1) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, -1)
#elif PACKETVER >= 20090129
-packetLen(0x010a, 22) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 22)
#elif PACKETVER >= 20090107
-packetLen(0x010a, 8) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 8)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x010b
#if PACKETVER >= 20090401
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
#elif PACKETVER >= 20090325
-packetLen(0x010b, 17) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 17)
#elif PACKETVER >= 20090211
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20090204
-packetLen(0x010b, 14) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 14)
#elif PACKETVER >= 20090129
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20090120
-packetLen(0x010b, 2) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 2)
#elif PACKETVER >= 20090114
-packetLen(0x010b, -1) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, -1)
#elif PACKETVER >= 20090107
-packetLen(0x010b, 23) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 23)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x010c
#if PACKETVER >= 20090406
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
#elif PACKETVER >= 20090401
-packetLen(0x010c, 2) // ZC_MVP
+packetLen(0x010c, 2)
#elif PACKETVER >= 20090218
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20090211
-packetLen(0x010c, 2) // ZC_MVP
+packetLen(0x010c, 2)
#elif PACKETVER >= 20090204
-packetLen(0x010c, -1) // ZC_MVP
+packetLen(0x010c, -1)
#elif PACKETVER >= 20090129
-packetLen(0x010c, 27) // ZC_MVP
+packetLen(0x010c, 27)
#elif PACKETVER >= 20090120
-packetLen(0x010c, 2) // ZC_MVP
+packetLen(0x010c, 2)
#elif PACKETVER >= 20090114
-packetLen(0x010c, 8) // ZC_MVP
+packetLen(0x010c, 8)
#elif PACKETVER >= 20090107
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
#if PACKETVER >= 20090406
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
#elif PACKETVER >= 20090325
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20090318
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20090218
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20090211
-packetLen(0x010e, 86) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 86)
#elif PACKETVER >= 20090204
-packetLen(0x010e, -1) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, -1)
#elif PACKETVER >= 20090129
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
#elif PACKETVER >= 20090107
-packetLen(0x010e, 6) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x010f
#if PACKETVER >= 20090325
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20090318
-packetLen(0x010f, 26) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 26)
#elif PACKETVER >= 20090225
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20090218
-packetLen(0x010f, 6) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 6)
#elif PACKETVER >= 20090120
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
#elif PACKETVER >= 20090114
-packetLen(0x010f, 43) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 43)
#elif PACKETVER >= 20090107
-packetLen(0x010f, 81) // ZC_SKILLINFO_LIST
+packetLen(0x010f, 81)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0110
#if PACKETVER >= 20090406
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#elif PACKETVER >= 20090318
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0110, 9) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 9)
#elif PACKETVER >= 20090225
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0110, 29) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 29)
#elif PACKETVER >= 20090129
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0110, 30) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 30)
#elif PACKETVER >= 20090107
-packetLen(0x0110, -1) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, -1)
#endif
// Packet: 0x0111
#if PACKETVER >= 20090406
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
#elif PACKETVER >= 20090325
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0111, 20) // ZC_ADD_SKILL
+packetLen(0x0111, 20)
#elif PACKETVER >= 20090218
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0111, 6) // ZC_ADD_SKILL
+packetLen(0x0111, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0111, -1) // ZC_ADD_SKILL
+packetLen(0x0111, -1)
#endif
// Packet: 0x0112
#if PACKETVER >= 20090406
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
#elif PACKETVER >= 20090401
-packetLen(0x0112, 3) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 3)
#elif PACKETVER >= 20090318
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 6)
#elif PACKETVER >= 20090211
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0112, 6) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 6)
#elif PACKETVER >= 20090114
-packetLen(0x0112, -1) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0112, 29) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 29)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
#if PACKETVER >= 20090406
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
#elif PACKETVER >= 20090401
-packetLen(0x0114, 28) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 28)
#elif PACKETVER >= 20090325
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0114, 2) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 2)
#elif PACKETVER >= 20090211
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0114, 17) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 17)
#elif PACKETVER >= 20090129
-packetLen(0x0114, 182) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 182)
#elif PACKETVER >= 20090120
-packetLen(0x0114, -1) // ZC_NOTIFY_SKILL
+packetLen(0x0114, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0114, 10) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 10)
#elif PACKETVER >= 20090107
-packetLen(0x0114, 60) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 60)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
#if PACKETVER >= 20090406
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
#elif PACKETVER >= 20090325
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0117, 2) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 2)
#elif PACKETVER >= 20090311
-packetLen(0x0117, 282) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 282)
#elif PACKETVER >= 20090129
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0117, 30) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 30)
#elif PACKETVER >= 20090114
-packetLen(0x0117, 26) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 26)
#elif PACKETVER >= 20090107
-packetLen(0x0117, -1) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, -1)
#endif
// Packet: 0x0118
#if PACKETVER >= 20090406
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
#elif PACKETVER >= 20090401
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0118, 6) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 6)
#elif PACKETVER >= 20090318
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0118, 27) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 27)
#elif PACKETVER >= 20090225
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0118, 4) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 4)
#elif PACKETVER >= 20090114
-packetLen(0x0118, -1) // CZ_CANCEL_LOCKON
+packetLen(0x0118, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0118, 33) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 33)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0119
#if PACKETVER >= 20090406
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
#elif PACKETVER >= 20090325
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0119, 6) // ZC_STATE_CHANGE
+packetLen(0x0119, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0119, 97) // ZC_STATE_CHANGE
+packetLen(0x0119, 97)
#elif PACKETVER >= 20090114
-packetLen(0x0119, -1) // ZC_STATE_CHANGE
+packetLen(0x0119, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0119, 30) // ZC_STATE_CHANGE
+packetLen(0x0119, 30)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x011a
#if PACKETVER >= 20090406
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
#elif PACKETVER >= 20090401
-packetLen(0x011a, 6) // ZC_USE_SKILL
+packetLen(0x011a, 6)
#elif PACKETVER >= 20090325
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20090318
-packetLen(0x011a, 8) // ZC_USE_SKILL
+packetLen(0x011a, 8)
#elif PACKETVER >= 20090311
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20090225
-packetLen(0x011a, 9) // ZC_USE_SKILL
+packetLen(0x011a, 9)
#elif PACKETVER >= 20090218
-packetLen(0x011a, 3) // ZC_USE_SKILL
+packetLen(0x011a, 3)
#elif PACKETVER >= 20090204
-packetLen(0x011a, -1) // ZC_USE_SKILL
+packetLen(0x011a, -1)
#elif PACKETVER >= 20090129
-packetLen(0x011a, 282) // ZC_USE_SKILL
+packetLen(0x011a, 282)
#elif PACKETVER >= 20090120
-packetLen(0x011a, 9) // ZC_USE_SKILL
+packetLen(0x011a, 9)
#elif PACKETVER >= 20090114
-packetLen(0x011a, 8) // ZC_USE_SKILL
+packetLen(0x011a, 8)
#elif PACKETVER >= 20090107
-packetLen(0x011a, 3) // ZC_USE_SKILL
+packetLen(0x011a, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x011b
#if PACKETVER >= 20090406
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
#elif PACKETVER >= 20090401
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20090325
-packetLen(0x011b, 3) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 3)
#elif PACKETVER >= 20090318
-packetLen(0x011b, 24) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 24)
#elif PACKETVER >= 20090311
-packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 4)
#elif PACKETVER >= 20090225
-packetLen(0x011b, 30) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 30)
#elif PACKETVER >= 20090211
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20090204
-packetLen(0x011b, 4) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 4)
#elif PACKETVER >= 20090129
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#elif PACKETVER >= 20090120
-packetLen(0x011b, 32) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 32)
#elif PACKETVER >= 20090107
-packetLen(0x011b, -1) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, -1)
#endif
// Packet: 0x011c
#if PACKETVER >= 20090406
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
#elif PACKETVER >= 20090325
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#elif PACKETVER >= 20090318
-packetLen(0x011c, 282) // ZC_WARPLIST
+packetLen(0x011c, 282)
#elif PACKETVER >= 20090311
-packetLen(0x011c, 58) // ZC_WARPLIST
+packetLen(0x011c, 58)
#elif PACKETVER >= 20090225
-packetLen(0x011c, 26) // ZC_WARPLIST
+packetLen(0x011c, 26)
#elif PACKETVER >= 20090218
-packetLen(0x011c, 14) // ZC_WARPLIST
+packetLen(0x011c, 14)
#elif PACKETVER >= 20090107
-packetLen(0x011c, -1) // ZC_WARPLIST
+packetLen(0x011c, -1)
#endif
// Packet: 0x011d
#if PACKETVER >= 20090406
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#elif PACKETVER >= 20090401
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20090325
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
#elif PACKETVER >= 20090318
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20090311
-packetLen(0x011d, 30) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 30)
#elif PACKETVER >= 20090225
-packetLen(0x011d, 10) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 10)
#elif PACKETVER >= 20090211
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20090204
-packetLen(0x011d, 32) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 32)
#elif PACKETVER >= 20090129
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#elif PACKETVER >= 20090120
-packetLen(0x011d, 182) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 182)
#elif PACKETVER >= 20090107
-packetLen(0x011d, -1) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, -1)
#endif
// Packet: 0x011e
#if PACKETVER >= 20090406
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
#elif PACKETVER >= 20090318
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20090311
-packetLen(0x011e, 2) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 2)
#elif PACKETVER >= 20090225
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
#elif PACKETVER >= 20090218
-packetLen(0x011e, 60) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 60)
#elif PACKETVER >= 20090211
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20090204
-packetLen(0x011e, 22) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 22)
#elif PACKETVER >= 20090120
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#elif PACKETVER >= 20090114
-packetLen(0x011e, 2) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 2)
#elif PACKETVER >= 20090107
-packetLen(0x011e, -1) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, -1)
#endif
// Packet: 0x011f
#if PACKETVER >= 20090406
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
#elif PACKETVER >= 20090401
-packetLen(0x011f, 2) // ZC_SKILL_ENTRY
+packetLen(0x011f, 2)
#elif PACKETVER >= 20090311
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20090225
-packetLen(0x011f, 6) // ZC_SKILL_ENTRY
+packetLen(0x011f, 6)
#elif PACKETVER >= 20090218
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20090211
-packetLen(0x011f, 3) // ZC_SKILL_ENTRY
+packetLen(0x011f, 3)
#elif PACKETVER >= 20090129
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#elif PACKETVER >= 20090120
-packetLen(0x011f, 282) // ZC_SKILL_ENTRY
+packetLen(0x011f, 282)
#elif PACKETVER >= 20090107
-packetLen(0x011f, -1) // ZC_SKILL_ENTRY
+packetLen(0x011f, -1)
#endif
// Packet: 0x0120
#if PACKETVER >= 20090406
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
#elif PACKETVER >= 20090401
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0120, 9) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 9)
#elif PACKETVER >= 20090311
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0120, 15) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 15)
#elif PACKETVER >= 20090218
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0120, 8) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 8)
#elif PACKETVER >= 20090204
-packetLen(0x0120, 10) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 10)
#elif PACKETVER >= 20090120
-packetLen(0x0120, -1) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0120, 12) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 12)
#elif PACKETVER >= 20090107
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0121
#if PACKETVER >= 20090406
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
#elif PACKETVER >= 20090318
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0121, 10) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 10)
#elif PACKETVER >= 20090218
-packetLen(0x0121, 31) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 31)
#elif PACKETVER >= 20090211
-packetLen(0x0121, 12) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 12)
#elif PACKETVER >= 20090204
-packetLen(0x0121, 6) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0121, -1) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0121, 2) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 2)
#elif PACKETVER >= 20090114
-packetLen(0x0121, 67) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 67)
#elif PACKETVER >= 20090107
-packetLen(0x0121, 10) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 10)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0122
#if PACKETVER >= 20090204
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0122, 20) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 20)
#elif PACKETVER >= 20090120
-packetLen(0x0122, 3) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 3)
#elif PACKETVER >= 20090114
-packetLen(0x0122, 4) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0122, 9) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, 9)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0123
#if PACKETVER >= 20090401
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0123, 10) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 10)
#elif PACKETVER >= 20090318
-packetLen(0x0123, 6) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0123, 22) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 22)
#elif PACKETVER >= 20090114
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0123, 26) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, 26)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0124
#if PACKETVER >= 20090406
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
#elif PACKETVER >= 20090325
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0124, 8) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 8)
#elif PACKETVER >= 20090218
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0124, 4) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 4)
#elif PACKETVER >= 20090204
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0124, 28) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 28)
#elif PACKETVER >= 20090114
-packetLen(0x0124, -1) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0124, 3) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0125
#if PACKETVER >= 20090406
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
#elif PACKETVER >= 20090318
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0125, 282) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 282)
#elif PACKETVER >= 20090225
-packetLen(0x0125, 7) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 7)
#elif PACKETVER >= 20090218
-packetLen(0x0125, 28) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 28)
#elif PACKETVER >= 20090211
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
#elif PACKETVER >= 20090204
-packetLen(0x0125, 20) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 20)
#elif PACKETVER >= 20090129
-packetLen(0x0125, 6) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0125, 2) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 2)
#elif PACKETVER >= 20090107
-packetLen(0x0125, -1) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, -1)
#endif
// Packet: 0x0126
#if PACKETVER >= 20090406
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#elif PACKETVER >= 20090401
-packetLen(0x0126, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 3)
#elif PACKETVER >= 20090325
-packetLen(0x0126, 282) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 282)
#elif PACKETVER >= 20090318
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
#elif PACKETVER >= 20090311
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0126, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 10)
#elif PACKETVER >= 20090218
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0126, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 2)
#elif PACKETVER >= 20090204
-packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 14)
#elif PACKETVER >= 20090129
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0126, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 14)
#elif PACKETVER >= 20090114
-packetLen(0x0126, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0126, 60) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 60)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0127
#if PACKETVER >= 20090406
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
#elif PACKETVER >= 20090401
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0127, 66) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 66)
#elif PACKETVER >= 20090318
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0127, 10) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 10)
#elif PACKETVER >= 20090225
-packetLen(0x0127, 4) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 4)
#elif PACKETVER >= 20090218
-packetLen(0x0127, 44) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 44)
#elif PACKETVER >= 20090211
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
#elif PACKETVER >= 20090129
-packetLen(0x0127, 30) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 30)
#elif PACKETVER >= 20090120
-packetLen(0x0127, 3) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 3)
#elif PACKETVER >= 20090114
-packetLen(0x0127, -1) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0127, 18) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 18)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0128
#if PACKETVER >= 20090406
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#elif PACKETVER >= 20090401
-packetLen(0x0128, 3) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 3)
#elif PACKETVER >= 20090325
-packetLen(0x0128, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 7)
#elif PACKETVER >= 20090318
-packetLen(0x0128, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 12)
#elif PACKETVER >= 20090311
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
#elif PACKETVER >= 20090129
-packetLen(0x0128, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 6)
#elif PACKETVER >= 20090114
-packetLen(0x0128, 29) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 29)
#elif PACKETVER >= 20090107
-packetLen(0x0128, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0129
#if PACKETVER >= 20090406
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
#elif PACKETVER >= 20090401
-packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 6)
#elif PACKETVER >= 20090218
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0129, 30) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 30)
#elif PACKETVER >= 20090204
-packetLen(0x0129, 6) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0129, 10) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 10)
#elif PACKETVER >= 20090114
-packetLen(0x0129, -1) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0129, 22) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 22)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x012a
#if PACKETVER >= 20090406
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
#elif PACKETVER >= 20090325
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20090318
-packetLen(0x012a, 13) // CZ_REQ_CARTOFF
+packetLen(0x012a, 13)
#elif PACKETVER >= 20090311
-packetLen(0x012a, 33) // CZ_REQ_CARTOFF
+packetLen(0x012a, 33)
#elif PACKETVER >= 20090225
-packetLen(0x012a, 7) // CZ_REQ_CARTOFF
+packetLen(0x012a, 7)
#elif PACKETVER >= 20090211
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20090204
-packetLen(0x012a, 34) // CZ_REQ_CARTOFF
+packetLen(0x012a, 34)
#elif PACKETVER >= 20090129
-packetLen(0x012a, 4) // CZ_REQ_CARTOFF
+packetLen(0x012a, 4)
#elif PACKETVER >= 20090120
-packetLen(0x012a, 29) // CZ_REQ_CARTOFF
+packetLen(0x012a, 29)
#elif PACKETVER >= 20090114
-packetLen(0x012a, -1) // CZ_REQ_CARTOFF
+packetLen(0x012a, -1)
#elif PACKETVER >= 20090107
-packetLen(0x012a, 11) // CZ_REQ_CARTOFF
+packetLen(0x012a, 11)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
#if PACKETVER >= 20090406
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
#elif PACKETVER >= 20090401
-packetLen(0x012c, 6) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 6)
#elif PACKETVER >= 20090211
-packetLen(0x012c, -1) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, -1)
#elif PACKETVER >= 20090204
-packetLen(0x012c, 13) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 13)
#elif PACKETVER >= 20090129
-packetLen(0x012c, 4) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 4)
#elif PACKETVER >= 20090120
-packetLen(0x012c, 282) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 282)
#elif PACKETVER >= 20090107
-packetLen(0x012c, 79) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 79)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x012d
#if PACKETVER >= 20090406
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
#elif PACKETVER >= 20090401
-packetLen(0x012d, 43) // ZC_OPENSTORE
+packetLen(0x012d, 43)
#elif PACKETVER >= 20090325
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
#elif PACKETVER >= 20090311
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20090225
-packetLen(0x012d, 22) // ZC_OPENSTORE
+packetLen(0x012d, 22)
#elif PACKETVER >= 20090204
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#elif PACKETVER >= 20090129
-packetLen(0x012d, 79) // ZC_OPENSTORE
+packetLen(0x012d, 79)
#elif PACKETVER >= 20090120
-packetLen(0x012d, 11) // ZC_OPENSTORE
+packetLen(0x012d, 11)
#elif PACKETVER >= 20090114
-packetLen(0x012d, 13) // ZC_OPENSTORE
+packetLen(0x012d, 13)
#elif PACKETVER >= 20090107
-packetLen(0x012d, -1) // ZC_OPENSTORE
+packetLen(0x012d, -1)
#endif
// Packet: 0x012e
#if PACKETVER >= 20090406
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20090401
-packetLen(0x012e, 14) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 14)
#elif PACKETVER >= 20090311
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20090225
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
#elif PACKETVER >= 20090129
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20090120
-packetLen(0x012e, 28) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 28)
#elif PACKETVER >= 20090114
-packetLen(0x012e, -1) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, -1)
#elif PACKETVER >= 20090107
-packetLen(0x012e, 65) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 65)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
#if PACKETVER >= 20090406
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
#elif PACKETVER >= 20090401
-packetLen(0x0130, 7) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 7)
#elif PACKETVER >= 20090325
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0130, 7) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 7)
#elif PACKETVER >= 20090311
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0130, 8) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 8)
#elif PACKETVER >= 20090211
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0130, 7) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 7)
#elif PACKETVER >= 20090129
-packetLen(0x0130, 8) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 8)
#elif PACKETVER >= 20090120
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0130, 30) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 30)
#elif PACKETVER >= 20090107
-packetLen(0x0130, -1) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, -1)
#endif
// Packet: 0x0131
#if PACKETVER >= 20090406
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
#elif PACKETVER >= 20090401
-packetLen(0x0131, 37) // ZC_STORE_ENTRY
+packetLen(0x0131, 37)
#elif PACKETVER >= 20090325
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0131, 6) // ZC_STORE_ENTRY
+packetLen(0x0131, 6)
#elif PACKETVER >= 20090311
-packetLen(0x0131, 17) // ZC_STORE_ENTRY
+packetLen(0x0131, 17)
#elif PACKETVER >= 20090218
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0131, 7) // ZC_STORE_ENTRY
+packetLen(0x0131, 7)
#elif PACKETVER >= 20090120
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0131, 5) // ZC_STORE_ENTRY
+packetLen(0x0131, 5)
#elif PACKETVER >= 20090107
-packetLen(0x0131, -1) // ZC_STORE_ENTRY
+packetLen(0x0131, -1)
#endif
// Packet: 0x0132
#if PACKETVER >= 20090406
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
#elif PACKETVER >= 20090401
-packetLen(0x0132, 11) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 11)
#elif PACKETVER >= 20090318
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0132, 28) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 28)
#elif PACKETVER >= 20090225
-packetLen(0x0132, 39) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 39)
#elif PACKETVER >= 20090218
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0132, 27) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 27)
#elif PACKETVER >= 20090204
-packetLen(0x0132, 7) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 7)
#elif PACKETVER >= 20090129
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0132, 2) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 2)
#elif PACKETVER >= 20090107
-packetLen(0x0132, -1) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, -1)
#endif
// Packet: 0x0133
#if PACKETVER >= 20090325
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0133, 4) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 4)
#elif PACKETVER >= 20090311
-packetLen(0x0133, 60) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 60)
#elif PACKETVER >= 20090225
-packetLen(0x0133, 8) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 8)
#elif PACKETVER >= 20090218
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0133, 10) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 10)
#elif PACKETVER >= 20090204
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0133, 68) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, 68)
#elif PACKETVER >= 20090107
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
#endif
// Packet: 0x0134
#if PACKETVER >= 20090406
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0134, 29) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 29)
#elif PACKETVER >= 20090325
-packetLen(0x0134, 2) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 2)
#elif PACKETVER >= 20090318
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0134, 58) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 58)
#elif PACKETVER >= 20090225
-packetLen(0x0134, 4) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 4)
#elif PACKETVER >= 20090218
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0134, 3) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 3)
#elif PACKETVER >= 20090204
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0134, 10) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 10)
#elif PACKETVER >= 20090114
-packetLen(0x0134, 6) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
#endif
// Packet: 0x0135
#if PACKETVER >= 20090406
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
#elif PACKETVER >= 20090401
-packetLen(0x0135, 97) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 97)
#elif PACKETVER >= 20090311
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0135, 3) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 3)
#elif PACKETVER >= 20090218
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0135, 44) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 44)
#elif PACKETVER >= 20090204
-packetLen(0x0135, 282) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 282)
#elif PACKETVER >= 20090129
-packetLen(0x0135, 59) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 59)
#elif PACKETVER >= 20090107
-packetLen(0x0135, -1) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, -1)
#endif
// Packet: 0x0136
#if PACKETVER >= 20090401
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0136, 53) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 53)
#elif PACKETVER >= 20090318
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0136, 2) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 2)
#elif PACKETVER >= 20090225
-packetLen(0x0136, 30) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 30)
#elif PACKETVER >= 20090218
-packetLen(0x0136, 26) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 26)
#elif PACKETVER >= 20090129
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0136, 16) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 16)
#elif PACKETVER >= 20090114
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0136, 26) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, 26)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0137
#if PACKETVER >= 20090406
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
#elif PACKETVER >= 20090325
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0137, 16) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 16)
#elif PACKETVER >= 20090311
-packetLen(0x0137, 3) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 3)
#elif PACKETVER >= 20090225
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0137, 3) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 3)
#elif PACKETVER >= 20090211
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0137, 68) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 68)
#elif PACKETVER >= 20090129
-packetLen(0x0137, 2) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 2)
#elif PACKETVER >= 20090107
-packetLen(0x0137, -1) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, -1)
#endif
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
#if PACKETVER >= 20090406
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
#elif PACKETVER >= 20090211
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0139, 21) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 21)
#elif PACKETVER >= 20090129
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0139, 54) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 54)
#elif PACKETVER >= 20090107
-packetLen(0x0139, -1) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, -1)
#endif
// Packet: 0x013a
#if PACKETVER >= 20090406
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
#elif PACKETVER >= 20090401
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20090325
-packetLen(0x013a, 2) // ZC_ATTACK_RANGE
+packetLen(0x013a, 2)
#elif PACKETVER >= 20090318
-packetLen(0x013a, 10) // ZC_ATTACK_RANGE
+packetLen(0x013a, 10)
#elif PACKETVER >= 20090311
-packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+packetLen(0x013a, 8)
#elif PACKETVER >= 20090225
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20090218
-packetLen(0x013a, 8) // ZC_ATTACK_RANGE
+packetLen(0x013a, 8)
#elif PACKETVER >= 20090211
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#elif PACKETVER >= 20090204
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
#elif PACKETVER >= 20090107
-packetLen(0x013a, -1) // ZC_ATTACK_RANGE
+packetLen(0x013a, -1)
#endif
// Packet: 0x013b
#if PACKETVER >= 20090406
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#elif PACKETVER >= 20090325
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20090318
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
#elif PACKETVER >= 20090311
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20090225
-packetLen(0x013b, 3) // ZC_ACTION_FAILURE
+packetLen(0x013b, 3)
#elif PACKETVER >= 20090218
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20090211
-packetLen(0x013b, 18) // ZC_ACTION_FAILURE
+packetLen(0x013b, 18)
#elif PACKETVER >= 20090204
-packetLen(0x013b, 5) // ZC_ACTION_FAILURE
+packetLen(0x013b, 5)
#elif PACKETVER >= 20090129
-packetLen(0x013b, 32) // ZC_ACTION_FAILURE
+packetLen(0x013b, 32)
#elif PACKETVER >= 20090120
-packetLen(0x013b, -1) // ZC_ACTION_FAILURE
+packetLen(0x013b, -1)
#elif PACKETVER >= 20090114
-packetLen(0x013b, 8) // ZC_ACTION_FAILURE
+packetLen(0x013b, 8)
#elif PACKETVER >= 20090107
-packetLen(0x013b, 7) // ZC_ACTION_FAILURE
+packetLen(0x013b, 7)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x013c
#if PACKETVER >= 20090406
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
#elif PACKETVER >= 20090401
-packetLen(0x013c, 34) // ZC_EQUIP_ARROW
+packetLen(0x013c, 34)
#elif PACKETVER >= 20090325
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20090318
-packetLen(0x013c, 30) // ZC_EQUIP_ARROW
+packetLen(0x013c, 30)
#elif PACKETVER >= 20090225
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20090218
-packetLen(0x013c, 28) // ZC_EQUIP_ARROW
+packetLen(0x013c, 28)
#elif PACKETVER >= 20090211
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20090204
-packetLen(0x013c, 7) // ZC_EQUIP_ARROW
+packetLen(0x013c, 7)
#elif PACKETVER >= 20090129
-packetLen(0x013c, 3) // ZC_EQUIP_ARROW
+packetLen(0x013c, 3)
#elif PACKETVER >= 20090114
-packetLen(0x013c, -1) // ZC_EQUIP_ARROW
+packetLen(0x013c, -1)
#elif PACKETVER >= 20090107
-packetLen(0x013c, 5) // ZC_EQUIP_ARROW
+packetLen(0x013c, 5)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x013d
#if PACKETVER >= 20090406
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20090311
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20090225
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
#elif PACKETVER >= 20090204
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#elif PACKETVER >= 20090129
-packetLen(0x013d, 53) // ZC_RECOVERY
+packetLen(0x013d, 53)
#elif PACKETVER >= 20090120
-packetLen(0x013d, 36) // ZC_RECOVERY
+packetLen(0x013d, 36)
#elif PACKETVER >= 20090114
-packetLen(0x013d, 3) // ZC_RECOVERY
+packetLen(0x013d, 3)
#elif PACKETVER >= 20090107
-packetLen(0x013d, -1) // ZC_RECOVERY
+packetLen(0x013d, -1)
#endif
// Packet: 0x013e
#if PACKETVER >= 20090406
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
#elif PACKETVER >= 20090318
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20090311
-packetLen(0x013e, 4) // ZC_USESKILL_ACK
+packetLen(0x013e, 4)
#elif PACKETVER >= 20090225
-packetLen(0x013e, 6) // ZC_USESKILL_ACK
+packetLen(0x013e, 6)
#elif PACKETVER >= 20090218
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20090211
-packetLen(0x013e, 2) // ZC_USESKILL_ACK
+packetLen(0x013e, 2)
#elif PACKETVER >= 20090204
-packetLen(0x013e, 10) // ZC_USESKILL_ACK
+packetLen(0x013e, 10)
#elif PACKETVER >= 20090129
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20090120
-packetLen(0x013e, 23) // ZC_USESKILL_ACK
+packetLen(0x013e, 23)
#elif PACKETVER >= 20090114
-packetLen(0x013e, -1) // ZC_USESKILL_ACK
+packetLen(0x013e, -1)
#elif PACKETVER >= 20090107
-packetLen(0x013e, 182) // ZC_USESKILL_ACK
+packetLen(0x013e, 182)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x013f
#if PACKETVER >= 20090406
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
#elif PACKETVER >= 20090401
-packetLen(0x013f, 14) // CZ_ITEM_CREATE
+packetLen(0x013f, 14)
#elif PACKETVER >= 20090325
-packetLen(0x013f, 29) // CZ_ITEM_CREATE
+packetLen(0x013f, 29)
#elif PACKETVER >= 20090318
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20090311
-packetLen(0x013f, 3) // CZ_ITEM_CREATE
+packetLen(0x013f, 3)
#elif PACKETVER >= 20090225
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20090218
-packetLen(0x013f, 4) // CZ_ITEM_CREATE
+packetLen(0x013f, 4)
#elif PACKETVER >= 20090211
-packetLen(0x013f, 14) // CZ_ITEM_CREATE
+packetLen(0x013f, 14)
#elif PACKETVER >= 20090204
-packetLen(0x013f, 53) // CZ_ITEM_CREATE
+packetLen(0x013f, 53)
#elif PACKETVER >= 20090129
-packetLen(0x013f, 6) // CZ_ITEM_CREATE
+packetLen(0x013f, 6)
#elif PACKETVER >= 20090120
-packetLen(0x013f, -1) // CZ_ITEM_CREATE
+packetLen(0x013f, -1)
#elif PACKETVER >= 20090114
-packetLen(0x013f, 6) // CZ_ITEM_CREATE
+packetLen(0x013f, 6)
#elif PACKETVER >= 20090107
-packetLen(0x013f, 10) // CZ_ITEM_CREATE
+packetLen(0x013f, 10)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0140
#if PACKETVER >= 20090406
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
#elif PACKETVER >= 20090318
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0140, 2) // CZ_MOVETO_MAP
+packetLen(0x0140, 2)
#elif PACKETVER >= 20090204
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0140, 30) // CZ_MOVETO_MAP
+packetLen(0x0140, 30)
#elif PACKETVER >= 20090120
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0140, 4) // CZ_MOVETO_MAP
+packetLen(0x0140, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0140, -1) // CZ_MOVETO_MAP
+packetLen(0x0140, -1)
#endif
// Packet: 0x0141
#if PACKETVER >= 20090406
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
#elif PACKETVER >= 20090325
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0141, 11) // ZC_COUPLESTATUS
+packetLen(0x0141, 11)
#elif PACKETVER >= 20090311
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0141, 17) // ZC_COUPLESTATUS
+packetLen(0x0141, 17)
#elif PACKETVER >= 20090218
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
#elif PACKETVER >= 20090204
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0141, -1) // ZC_COUPLESTATUS
+packetLen(0x0141, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0141, 6) // ZC_COUPLESTATUS
+packetLen(0x0141, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0141, 8) // ZC_COUPLESTATUS
+packetLen(0x0141, 8)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0142
#if PACKETVER >= 20090406
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
#elif PACKETVER >= 20090401
-packetLen(0x0142, 10) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 10)
#elif PACKETVER >= 20090211
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0142, 30) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 30)
#elif PACKETVER >= 20090120
-packetLen(0x0142, 60) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 60)
#elif PACKETVER >= 20090107
-packetLen(0x0142, -1) // ZC_OPEN_EDITDLG
+packetLen(0x0142, -1)
#endif
// Packet: 0x0143
#if PACKETVER >= 20090406
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
#elif PACKETVER >= 20090401
-packetLen(0x0143, 30) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 30)
#elif PACKETVER >= 20090211
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0143, 26) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 26)
#elif PACKETVER >= 20090120
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0143, 22) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 22)
#elif PACKETVER >= 20090107
-packetLen(0x0143, -1) // CZ_INPUT_EDITDLG
+packetLen(0x0143, -1)
#endif
// Packet: 0x0144
#if PACKETVER >= 20090406
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
#elif PACKETVER >= 20090218
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0144, 4) // ZC_COMPASS
+packetLen(0x0144, 4)
#elif PACKETVER >= 20090129
-packetLen(0x0144, -1) // ZC_COMPASS
+packetLen(0x0144, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
#elif PACKETVER >= 20090114
-packetLen(0x0144, 2) // ZC_COMPASS
+packetLen(0x0144, 2)
#elif PACKETVER >= 20090107
-packetLen(0x0144, 6) // ZC_COMPASS
+packetLen(0x0144, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
#if PACKETVER >= 20090406
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#elif PACKETVER >= 20090401
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0146, 3) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 3)
#elif PACKETVER >= 20090225
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0146, 3) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 3)
#elif PACKETVER >= 20090211
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
#elif PACKETVER >= 20090114
-packetLen(0x0146, -1) // CZ_CLOSE_DIALOG
+packetLen(0x0146, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0146, 2) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0147
#if PACKETVER >= 20090406
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
#elif PACKETVER >= 20090401
-packetLen(0x0147, 3) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 3)
#elif PACKETVER >= 20090211
-packetLen(0x0147, -1) // ZC_AUTORUN_SKILL
+packetLen(0x0147, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0147, 114) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 114)
#elif PACKETVER >= 20090129
-packetLen(0x0147, 4) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 4)
#elif PACKETVER >= 20090120
-packetLen(0x0147, 30) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 30)
#elif PACKETVER >= 20090107
-packetLen(0x0147, 2) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 2)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0148
#if PACKETVER >= 20090406
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
#elif PACKETVER >= 20090325
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0148, 26) // ZC_RESURRECTION
+packetLen(0x0148, 26)
#elif PACKETVER >= 20090225
-packetLen(0x0148, 10) // ZC_RESURRECTION
+packetLen(0x0148, 10)
#elif PACKETVER >= 20090218
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0148, 22) // ZC_RESURRECTION
+packetLen(0x0148, 22)
#elif PACKETVER >= 20090204
-packetLen(0x0148, 30) // ZC_RESURRECTION
+packetLen(0x0148, 30)
#elif PACKETVER >= 20090114
-packetLen(0x0148, -1) // ZC_RESURRECTION
+packetLen(0x0148, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0148, 2) // ZC_RESURRECTION
+packetLen(0x0148, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0149
#if PACKETVER >= 20090406
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
#elif PACKETVER >= 20090401
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0149, 6) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 6)
#elif PACKETVER >= 20090318
-packetLen(0x0149, 22) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 22)
#elif PACKETVER >= 20090311
-packetLen(0x0149, 29) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 29)
#elif PACKETVER >= 20090225
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0149, 10) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 10)
#elif PACKETVER >= 20090107
-packetLen(0x0149, -1) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, -1)
#endif
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
#if PACKETVER >= 20090406
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20090401
-packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 6)
#elif PACKETVER >= 20090325
-packetLen(0x014c, 10) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 10)
#elif PACKETVER >= 20090318
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20090311
-packetLen(0x014c, 4) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 4)
#elif PACKETVER >= 20090225
-packetLen(0x014c, 57) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 57)
#elif PACKETVER >= 20090204
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20090129
-packetLen(0x014c, 5) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 5)
#elif PACKETVER >= 20090120
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
#elif PACKETVER >= 20090114
-packetLen(0x014c, 2) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 2)
#elif PACKETVER >= 20090107
-packetLen(0x014c, 6) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x014d
#if PACKETVER >= 20090406
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20090401
-packetLen(0x014d, 6) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 6)
#elif PACKETVER >= 20090325
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20090318
-packetLen(0x014d, 39) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 39)
#elif PACKETVER >= 20090218
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20090211
-packetLen(0x014d, 30) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 30)
#elif PACKETVER >= 20090204
-packetLen(0x014d, 13) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 13)
#elif PACKETVER >= 20090129
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
#elif PACKETVER >= 20090114
-packetLen(0x014d, -1) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, -1)
#elif PACKETVER >= 20090107
-packetLen(0x014d, 282) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 282)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
#if PACKETVER >= 20090406
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
#elif PACKETVER >= 20090401
-packetLen(0x014f, 2) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 2)
#elif PACKETVER >= 20090325
-packetLen(0x014f, 16) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 16)
#elif PACKETVER >= 20090318
-packetLen(0x014f, 58) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 58)
#elif PACKETVER >= 20090311
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20090225
-packetLen(0x014f, 7) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 7)
#elif PACKETVER >= 20090211
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20090204
-packetLen(0x014f, 10) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 10)
#elif PACKETVER >= 20090129
-packetLen(0x014f, 26) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 26)
#elif PACKETVER >= 20090120
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#elif PACKETVER >= 20090114
-packetLen(0x014f, 182) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 182)
#elif PACKETVER >= 20090107
-packetLen(0x014f, -1) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, -1)
#endif
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
#if PACKETVER >= 20090318
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0154, 26) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 26)
#elif PACKETVER >= 20090225
-packetLen(0x0154, 17) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 17)
#elif PACKETVER >= 20090218
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0154, 4) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 4)
#elif PACKETVER >= 20090204
-packetLen(0x0154, 10) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 10)
#elif PACKETVER >= 20090129
-packetLen(0x0154, 21) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, 21)
#elif PACKETVER >= 20090107
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
#endif
// Packet: 0x0155
#if PACKETVER >= 20090318
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0155, 3) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 3)
#elif PACKETVER >= 20090218
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0155, 12) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 12)
#elif PACKETVER >= 20090204
-packetLen(0x0155, 26) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 26)
#elif PACKETVER >= 20090114
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0155, 10) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, 10)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
#if PACKETVER >= 20090406
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
#elif PACKETVER >= 20090401
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0159, 34) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 34)
#elif PACKETVER >= 20090318
-packetLen(0x0159, 8) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 8)
#elif PACKETVER >= 20090311
-packetLen(0x0159, 18) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 18)
#elif PACKETVER >= 20090218
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0159, 5) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 5)
#elif PACKETVER >= 20090107
-packetLen(0x0159, -1) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, -1)
#endif
// Packet: 0x015a
#if PACKETVER >= 20090406
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
#elif PACKETVER >= 20090401
-packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 6)
#elif PACKETVER >= 20090325
-packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 3)
#elif PACKETVER >= 20090318
-packetLen(0x015a, 2) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 2)
#elif PACKETVER >= 20090311
-packetLen(0x015a, 8) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 8)
#elif PACKETVER >= 20090225
-packetLen(0x015a, 6) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 6)
#elif PACKETVER >= 20090211
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20090204
-packetLen(0x015a, 14) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 14)
#elif PACKETVER >= 20090129
-packetLen(0x015a, -1) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, -1)
#elif PACKETVER >= 20090120
-packetLen(0x015a, 4) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 4)
#elif PACKETVER >= 20090107
-packetLen(0x015a, 3) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 3)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x015b
#if PACKETVER >= 20090406
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
#elif PACKETVER >= 20090401
-packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 6)
#elif PACKETVER >= 20090325
-packetLen(0x015b, 8) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 8)
#elif PACKETVER >= 20090225
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20090218
-packetLen(0x015b, 4) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 4)
#elif PACKETVER >= 20090211
-packetLen(0x015b, -1) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, -1)
#elif PACKETVER >= 20090204
-packetLen(0x015b, 6) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 6)
#elif PACKETVER >= 20090107
-packetLen(0x015b, 11) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 11)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x015c
#if PACKETVER >= 20090406
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
#elif PACKETVER >= 20090401
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20090325
-packetLen(0x015c, 8) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 8)
#elif PACKETVER >= 20090225
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20090218
-packetLen(0x015c, 3) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 3)
#elif PACKETVER >= 20090114
-packetLen(0x015c, -1) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, -1)
#elif PACKETVER >= 20090107
-packetLen(0x015c, 14) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 14)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
#if PACKETVER >= 20090406
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#elif PACKETVER >= 20090401
-packetLen(0x015e, 26) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 26)
#elif PACKETVER >= 20090311
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#elif PACKETVER >= 20090225
-packetLen(0x015e, 21) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 21)
#elif PACKETVER >= 20090218
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
#elif PACKETVER >= 20090107
-packetLen(0x015e, -1) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, -1)
#endif
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
#if PACKETVER >= 20090406
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0160, 17) // ZC_POSITION_INFO
+packetLen(0x0160, 17)
#elif PACKETVER >= 20090325
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20090211
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0160, 8) // ZC_POSITION_INFO
+packetLen(0x0160, 8)
#elif PACKETVER >= 20090129
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0160, 6) // ZC_POSITION_INFO
+packetLen(0x0160, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0160, 37) // ZC_POSITION_INFO
+packetLen(0x0160, 37)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0161
#if PACKETVER >= 20090406
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0161, 10) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 10)
#elif PACKETVER >= 20090325
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0161, 7) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 7)
#elif PACKETVER >= 20090311
-packetLen(0x0161, 14) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 14)
#elif PACKETVER >= 20090225
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0161, 2) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 2)
#elif PACKETVER >= 20090204
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0161, 54) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 54)
#elif PACKETVER >= 20090120
-packetLen(0x0161, 6) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 6)
#elif PACKETVER >= 20090114
-packetLen(0x0161, 30) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 30)
#elif PACKETVER >= 20090107
-packetLen(0x0161, 4) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, 4)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0162
#if PACKETVER >= 20090406
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0162, 54) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 54)
#elif PACKETVER >= 20090225
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0162, 4) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 4)
#elif PACKETVER >= 20090120
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0162, 10) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 10)
#elif PACKETVER >= 20090107
-packetLen(0x0162, 6) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0163
#if PACKETVER >= 20090401
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0163, 8) // ZC_BAN_LIST
+packetLen(0x0163, 8)
#elif PACKETVER >= 20090318
-packetLen(0x0163, 3) // ZC_BAN_LIST
+packetLen(0x0163, 3)
#elif PACKETVER >= 20090225
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0163, 27) // ZC_BAN_LIST
+packetLen(0x0163, 27)
#elif PACKETVER >= 20090211
-packetLen(0x0163, 22) // ZC_BAN_LIST
+packetLen(0x0163, 22)
#elif PACKETVER >= 20090204
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0163, 9) // ZC_BAN_LIST
+packetLen(0x0163, 9)
#elif PACKETVER >= 20090107
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
#endif
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
#if PACKETVER >= 20090406
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
#elif PACKETVER >= 20090401
-packetLen(0x0165, 2) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 2)
#elif PACKETVER >= 20090218
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0165, 26) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 26)
#elif PACKETVER >= 20090204
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0165, 6) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0165, -1) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, -1)
#endif
// Packet: 0x0166
#if PACKETVER >= 20090401
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 4)
#elif PACKETVER >= 20090318
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0166, 26) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 26)
#elif PACKETVER >= 20090225
-packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 4)
#elif PACKETVER >= 20090218
-packetLen(0x0166, 2) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 2)
#elif PACKETVER >= 20090211
-packetLen(0x0166, 6) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 6)
#elif PACKETVER >= 20090204
-packetLen(0x0166, 4) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
#endif
// Packet: 0x0167
#if PACKETVER >= 20090406
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
#elif PACKETVER >= 20090401
-packetLen(0x0167, 53) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 53)
#elif PACKETVER >= 20090325
-packetLen(0x0167, 8) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 8)
#elif PACKETVER >= 20090218
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0167, 14) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 14)
#elif PACKETVER >= 20090204
-packetLen(0x0167, 6) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0167, 11) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 11)
#elif PACKETVER >= 20090120
-packetLen(0x0167, -1) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0167, 5) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 5)
#elif PACKETVER >= 20090107
-packetLen(0x0167, 26) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 26)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0168
#if PACKETVER >= 20090406
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
#elif PACKETVER >= 20090401
-packetLen(0x0168, 23) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 23)
#elif PACKETVER >= 20090204
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0168, 27) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 27)
#elif PACKETVER >= 20090114
-packetLen(0x0168, -1) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0168, 11) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 11)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0169
#if PACKETVER >= 20090406
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#elif PACKETVER >= 20090401
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
#elif PACKETVER >= 20090318
-packetLen(0x0169, 29) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 29)
#elif PACKETVER >= 20090311
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0169, 26) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 26)
#elif PACKETVER >= 20090218
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0169, 17) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 17)
#elif PACKETVER >= 20090204
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0169, 11) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 11)
#elif PACKETVER >= 20090114
-packetLen(0x0169, -1) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0169, 6) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x016a
#if PACKETVER >= 20090406
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
#elif PACKETVER >= 20090401
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20090325
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
#elif PACKETVER >= 20090211
-packetLen(0x016a, -1) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, -1)
#elif PACKETVER >= 20090204
-packetLen(0x016a, 3) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 3)
#elif PACKETVER >= 20090129
-packetLen(0x016a, 7) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 7)
#elif PACKETVER >= 20090120
-packetLen(0x016a, 34) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 34)
#elif PACKETVER >= 20090107
-packetLen(0x016a, 5) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 5)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x016b
#if PACKETVER >= 20090406
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
#elif PACKETVER >= 20090401
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20090325
-packetLen(0x016b, 2) // CZ_JOIN_GUILD
+packetLen(0x016b, 2)
#elif PACKETVER >= 20090318
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20090311
-packetLen(0x016b, 6) // CZ_JOIN_GUILD
+packetLen(0x016b, 6)
#elif PACKETVER >= 20090225
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20090218
-packetLen(0x016b, 4) // CZ_JOIN_GUILD
+packetLen(0x016b, 4)
#elif PACKETVER >= 20090204
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20090129
-packetLen(0x016b, 8) // CZ_JOIN_GUILD
+packetLen(0x016b, 8)
#elif PACKETVER >= 20090120
-packetLen(0x016b, -1) // CZ_JOIN_GUILD
+packetLen(0x016b, -1)
#elif PACKETVER >= 20090114
-packetLen(0x016b, 30) // CZ_JOIN_GUILD
+packetLen(0x016b, 30)
#elif PACKETVER >= 20090107
-packetLen(0x016b, 6) // CZ_JOIN_GUILD
+packetLen(0x016b, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x016c
#if PACKETVER >= 20090406
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
#elif PACKETVER >= 20090225
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20090218
-packetLen(0x016c, 11) // ZC_UPDATE_GDID
+packetLen(0x016c, 11)
#elif PACKETVER >= 20090211
-packetLen(0x016c, 16) // ZC_UPDATE_GDID
+packetLen(0x016c, 16)
#elif PACKETVER >= 20090114
-packetLen(0x016c, -1) // ZC_UPDATE_GDID
+packetLen(0x016c, -1)
#elif PACKETVER >= 20090107
-packetLen(0x016c, 53) // ZC_UPDATE_GDID
+packetLen(0x016c, 53)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x016d
#if PACKETVER >= 20090406
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
#elif PACKETVER >= 20090401
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20090325
-packetLen(0x016d, 9) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 9)
#elif PACKETVER >= 20090318
-packetLen(0x016d, 11) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 11)
#elif PACKETVER >= 20090225
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20090218
-packetLen(0x016d, 4) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 4)
#elif PACKETVER >= 20090129
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20090120
-packetLen(0x016d, 10) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 10)
#elif PACKETVER >= 20090114
-packetLen(0x016d, -1) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, -1)
#elif PACKETVER >= 20090107
-packetLen(0x016d, 11) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 11)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x016e
#if PACKETVER >= 20090406
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
#elif PACKETVER >= 20090311
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20090225
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
#elif PACKETVER >= 20090218
-packetLen(0x016e, 30) // CZ_GUILD_NOTICE
+packetLen(0x016e, 30)
#elif PACKETVER >= 20090204
-packetLen(0x016e, -1) // CZ_GUILD_NOTICE
+packetLen(0x016e, -1)
#elif PACKETVER >= 20090129
-packetLen(0x016e, 6) // CZ_GUILD_NOTICE
+packetLen(0x016e, 6)
#elif PACKETVER >= 20090120
-packetLen(0x016e, 4) // CZ_GUILD_NOTICE
+packetLen(0x016e, 4)
#elif PACKETVER >= 20090114
-packetLen(0x016e, 97) // CZ_GUILD_NOTICE
+packetLen(0x016e, 97)
#elif PACKETVER >= 20090107
-packetLen(0x016e, 2) // CZ_GUILD_NOTICE
+packetLen(0x016e, 2)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x016f
#if PACKETVER >= 20090406
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
#elif PACKETVER >= 20090401
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20090325
-packetLen(0x016f, 67) // ZC_GUILD_NOTICE
+packetLen(0x016f, 67)
#elif PACKETVER >= 20090318
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20090311
-packetLen(0x016f, 7) // ZC_GUILD_NOTICE
+packetLen(0x016f, 7)
#elif PACKETVER >= 20090225
-packetLen(0x016f, 10) // ZC_GUILD_NOTICE
+packetLen(0x016f, 10)
#elif PACKETVER >= 20090204
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#elif PACKETVER >= 20090129
-packetLen(0x016f, 10) // ZC_GUILD_NOTICE
+packetLen(0x016f, 10)
#elif PACKETVER >= 20090120
-packetLen(0x016f, 6) // ZC_GUILD_NOTICE
+packetLen(0x016f, 6)
#elif PACKETVER >= 20090114
-packetLen(0x016f, 9) // ZC_GUILD_NOTICE
+packetLen(0x016f, 9)
#elif PACKETVER >= 20090107
-packetLen(0x016f, -1) // ZC_GUILD_NOTICE
+packetLen(0x016f, -1)
#endif
// Packet: 0x0170
#if PACKETVER >= 20090406
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
#elif PACKETVER >= 20090401
-packetLen(0x0170, 36) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 36)
#elif PACKETVER >= 20090318
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0170, 2) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 2)
#elif PACKETVER >= 20090211
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0170, 2) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 2)
#elif PACKETVER >= 20090129
-packetLen(0x0170, 30) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 30)
#elif PACKETVER >= 20090120
-packetLen(0x0170, 10) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 10)
#elif PACKETVER >= 20090114
-packetLen(0x0170, -1) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0170, 79) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 79)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0171
#if PACKETVER >= 20090406
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
#elif PACKETVER >= 20090401
-packetLen(0x0171, 67) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 67)
#elif PACKETVER >= 20090325
-packetLen(0x0171, 10) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 10)
#elif PACKETVER >= 20090318
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0171, 7) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 7)
#elif PACKETVER >= 20090225
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0171, 4) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 4)
#elif PACKETVER >= 20090120
-packetLen(0x0171, -1) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0171, 6) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0171, 43) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 43)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0172
#if PACKETVER >= 20090406
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#elif PACKETVER >= 20090325
-packetLen(0x0172, 3) // CZ_ALLY_GUILD
+packetLen(0x0172, 3)
#elif PACKETVER >= 20090318
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#elif PACKETVER >= 20090225
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0172, 55) // CZ_ALLY_GUILD
+packetLen(0x0172, 55)
#elif PACKETVER >= 20090211
-packetLen(0x0172, 11) // CZ_ALLY_GUILD
+packetLen(0x0172, 11)
#elif PACKETVER >= 20090204
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0172, 6) // CZ_ALLY_GUILD
+packetLen(0x0172, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
#elif PACKETVER >= 20090107
-packetLen(0x0172, -1) // CZ_ALLY_GUILD
+packetLen(0x0172, -1)
#endif
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
#if PACKETVER >= 20090406
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0177, 26) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 26)
#elif PACKETVER >= 20090325
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0177, 5) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 5)
#elif PACKETVER >= 20090225
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0177, 6) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 6)
#elif PACKETVER >= 20090204
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0177, 22) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 22)
#elif PACKETVER >= 20090120
-packetLen(0x0177, 2) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 2)
#elif PACKETVER >= 20090114
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0177, 4) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, 4)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0178
#if PACKETVER >= 20090406
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
#elif PACKETVER >= 20090401
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0178, 2) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 2)
#elif PACKETVER >= 20090318
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0178, 68) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 68)
#elif PACKETVER >= 20090120
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0178, 6) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0178, -1) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, -1)
#endif
// Packet: 0x0179
#if PACKETVER >= 20090406
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
#elif PACKETVER >= 20090401
-packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 10)
#elif PACKETVER >= 20090325
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0179, 3) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 3)
#elif PACKETVER >= 20090311
-packetLen(0x0179, 32) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 32)
#elif PACKETVER >= 20090225
-packetLen(0x0179, 6) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 6)
#elif PACKETVER >= 20090218
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0179, 10) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 10)
#elif PACKETVER >= 20090204
-packetLen(0x0179, -1) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0179, 33) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 33)
#elif PACKETVER >= 20090107
-packetLen(0x0179, 53) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 53)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x017a
#if PACKETVER >= 20090406
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
#elif PACKETVER >= 20090325
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20090318
-packetLen(0x017a, 10) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 10)
#elif PACKETVER >= 20090211
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20090204
-packetLen(0x017a, 29) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 29)
#elif PACKETVER >= 20090129
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20090120
-packetLen(0x017a, 11) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 11)
#elif PACKETVER >= 20090114
-packetLen(0x017a, -1) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, -1)
#elif PACKETVER >= 20090107
-packetLen(0x017a, 30) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 30)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x017b
#if PACKETVER >= 20090401
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20090325
-packetLen(0x017b, 13) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 13)
#elif PACKETVER >= 20090225
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20090218
-packetLen(0x017b, 30) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 30)
#elif PACKETVER >= 20090211
-packetLen(0x017b, 14) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 14)
#elif PACKETVER >= 20090204
-packetLen(0x017b, 8) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 8)
#elif PACKETVER >= 20090129
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20090120
-packetLen(0x017b, 17) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 17)
#elif PACKETVER >= 20090114
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
#elif PACKETVER >= 20090107
-packetLen(0x017b, 11) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, 11)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x017c
#if PACKETVER >= 20090406
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
#elif PACKETVER >= 20090325
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20090318
-packetLen(0x017c, 282) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 282)
#elif PACKETVER >= 20090311
-packetLen(0x017c, 8) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 8)
#elif PACKETVER >= 20090225
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20090218
-packetLen(0x017c, 3) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 3)
#elif PACKETVER >= 20090204
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20090129
-packetLen(0x017c, 4) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 4)
#elif PACKETVER >= 20090114
-packetLen(0x017c, -1) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, -1)
#elif PACKETVER >= 20090107
-packetLen(0x017c, 3) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x017d
#if PACKETVER >= 20090406
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
#elif PACKETVER >= 20090401
-packetLen(0x017d, 53) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 53)
#elif PACKETVER >= 20090325
-packetLen(0x017d, -1) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, -1)
#elif PACKETVER >= 20090318
-packetLen(0x017d, 28) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 28)
#elif PACKETVER >= 20090311
-packetLen(0x017d, 2) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 2)
#elif PACKETVER >= 20090225
-packetLen(0x017d, 31) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 31)
#elif PACKETVER >= 20090218
-packetLen(0x017d, 9) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 9)
#elif PACKETVER >= 20090211
-packetLen(0x017d, 6) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 6)
#elif PACKETVER >= 20090204
-packetLen(0x017d, 11) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 11)
#elif PACKETVER >= 20090107
-packetLen(0x017d, 2) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 2)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x017e
#if PACKETVER >= 20090325
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20090318
-packetLen(0x017e, 26) // CZ_GUILD_CHAT
+packetLen(0x017e, 26)
#elif PACKETVER >= 20090311
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20090225
-packetLen(0x017e, 30) // CZ_GUILD_CHAT
+packetLen(0x017e, 30)
#elif PACKETVER >= 20090218
-packetLen(0x017e, 6) // CZ_GUILD_CHAT
+packetLen(0x017e, 6)
#elif PACKETVER >= 20090204
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
#elif PACKETVER >= 20090129
-packetLen(0x017e, 14) // CZ_GUILD_CHAT
+packetLen(0x017e, 14)
#elif PACKETVER >= 20090120
-packetLen(0x017e, 186) // CZ_GUILD_CHAT
+packetLen(0x017e, 186)
#elif PACKETVER >= 20090114
-packetLen(0x017e, 6) // CZ_GUILD_CHAT
+packetLen(0x017e, 6)
#elif PACKETVER >= 20090107
-packetLen(0x017e, 2) // CZ_GUILD_CHAT
+packetLen(0x017e, 2)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x017f
#if PACKETVER >= 20090311
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20090225
-packetLen(0x017f, 3) // ZC_GUILD_CHAT
+packetLen(0x017f, 3)
#elif PACKETVER >= 20090129
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
#elif PACKETVER >= 20090120
-packetLen(0x017f, 33) // ZC_GUILD_CHAT
+packetLen(0x017f, 33)
#elif PACKETVER >= 20090107
-packetLen(0x017f, 30) // ZC_GUILD_CHAT
+packetLen(0x017f, 30)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
#if PACKETVER >= 20090406
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
#elif PACKETVER >= 20090311
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0188, 10) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 10)
#elif PACKETVER >= 20090218
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0188, 5) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 5)
#elif PACKETVER >= 20090114
-packetLen(0x0188, -1) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0188, 3) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0189
#if PACKETVER >= 20090406
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
#elif PACKETVER >= 20090325
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0189, 90) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 90)
#elif PACKETVER >= 20090204
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0189, 2) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 2)
#elif PACKETVER >= 20090120
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
#elif PACKETVER >= 20090114
-packetLen(0x0189, 6) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0189, -1) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, -1)
#endif
// Packet: 0x018a
#if PACKETVER >= 20090406
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
#elif PACKETVER >= 20090311
-packetLen(0x018a, -1) // CZ_REQ_DISCONNECT
+packetLen(0x018a, -1)
#elif PACKETVER >= 20090225
-packetLen(0x018a, 6) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 6)
#elif PACKETVER >= 20090218
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20090211
-packetLen(0x018a, 71) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 71)
#elif PACKETVER >= 20090204
-packetLen(0x018a, 10) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 10)
#elif PACKETVER >= 20090120
-packetLen(0x018a, 3) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 3)
#elif PACKETVER >= 20090114
-packetLen(0x018a, 2) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 2)
#elif PACKETVER >= 20090107
-packetLen(0x018a, 8) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 8)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x018b
#if PACKETVER >= 20090401
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
#elif PACKETVER >= 20090325
-packetLen(0x018b, 30) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 30)
#elif PACKETVER >= 20090311
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20090225
-packetLen(0x018b, 21) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 21)
#elif PACKETVER >= 20090129
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20090120
-packetLen(0x018b, 7) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 7)
#elif PACKETVER >= 20090114
-packetLen(0x018b, -1) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, -1)
#elif PACKETVER >= 20090107
-packetLen(0x018b, 6) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x018c
#if PACKETVER >= 20090406
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
#elif PACKETVER >= 20090401
-packetLen(0x018c, 11) // ZC_MONSTER_INFO
+packetLen(0x018c, 11)
#elif PACKETVER >= 20090318
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20090311
-packetLen(0x018c, 2) // ZC_MONSTER_INFO
+packetLen(0x018c, 2)
#elif PACKETVER >= 20090225
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20090218
-packetLen(0x018c, 30) // ZC_MONSTER_INFO
+packetLen(0x018c, 30)
#elif PACKETVER >= 20090211
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20090204
-packetLen(0x018c, 3) // ZC_MONSTER_INFO
+packetLen(0x018c, 3)
#elif PACKETVER >= 20090129
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20090120
-packetLen(0x018c, 30) // ZC_MONSTER_INFO
+packetLen(0x018c, 30)
#elif PACKETVER >= 20090114
-packetLen(0x018c, -1) // ZC_MONSTER_INFO
+packetLen(0x018c, -1)
#elif PACKETVER >= 20090107
-packetLen(0x018c, 8) // ZC_MONSTER_INFO
+packetLen(0x018c, 8)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x018d
#if PACKETVER >= 20090401
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20090325
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20090318
-packetLen(0x018d, 14) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 14)
#elif PACKETVER >= 20090311
-packetLen(0x018d, 4) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 4)
#elif PACKETVER >= 20090218
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20090211
-packetLen(0x018d, 28) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 28)
#elif PACKETVER >= 20090204
-packetLen(0x018d, 18) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 18)
#elif PACKETVER >= 20090129
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
#elif PACKETVER >= 20090120
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
#elif PACKETVER >= 20090114
-packetLen(0x018d, 7) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 7)
#elif PACKETVER >= 20090107
-packetLen(0x018d, 6) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x018e
#if PACKETVER >= 20090406
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#elif PACKETVER >= 20090401
-packetLen(0x018e, 7) // CZ_REQMAKINGITEM
+packetLen(0x018e, 7)
#elif PACKETVER >= 20090318
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#elif PACKETVER >= 20090311
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#elif PACKETVER >= 20090225
-packetLen(0x018e, 5) // CZ_REQMAKINGITEM
+packetLen(0x018e, 5)
#elif PACKETVER >= 20090218
-packetLen(0x018e, 8) // CZ_REQMAKINGITEM
+packetLen(0x018e, 8)
#elif PACKETVER >= 20090107
-packetLen(0x018e, -1) // CZ_REQMAKINGITEM
+packetLen(0x018e, -1)
#endif
// Packet: 0x018f
#if PACKETVER >= 20090406
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#elif PACKETVER >= 20090401
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20090325
-packetLen(0x018f, 2) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 2)
#elif PACKETVER >= 20090318
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20090311
-packetLen(0x018f, 4) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 4)
#elif PACKETVER >= 20090129
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#elif PACKETVER >= 20090120
-packetLen(0x018f, 10) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 10)
#elif PACKETVER >= 20090107
-packetLen(0x018f, -1) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, -1)
#endif
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
#if PACKETVER >= 20090406
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
#elif PACKETVER >= 20090401
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0194, 28) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 28)
#elif PACKETVER >= 20090318
-packetLen(0x0194, 6) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 6)
#elif PACKETVER >= 20090311
-packetLen(0x0194, 54) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 54)
#elif PACKETVER >= 20090225
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0194, 8) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 8)
#elif PACKETVER >= 20090211
-packetLen(0x0194, 3) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 3)
#elif PACKETVER >= 20090114
-packetLen(0x0194, -1) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0194, 12) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 12)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0195
#if PACKETVER >= 20090406
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
#elif PACKETVER >= 20090401
-packetLen(0x0195, -1) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0195, 7) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 7)
#elif PACKETVER >= 20090318
-packetLen(0x0195, 4) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 4)
#elif PACKETVER >= 20090311
-packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 3)
#elif PACKETVER >= 20090225
-packetLen(0x0195, 8) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 8)
#elif PACKETVER >= 20090218
-packetLen(0x0195, 3) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 3)
#elif PACKETVER >= 20090107
-packetLen(0x0195, 29) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 29)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0196
#if PACKETVER >= 20090406
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
#elif PACKETVER >= 20090311
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0196, 4) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 4)
#elif PACKETVER >= 20090204
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0196, 10) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 10)
#elif PACKETVER >= 20090107
-packetLen(0x0196, -1) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, -1)
#endif
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
#if PACKETVER >= 20090406
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
#elif PACKETVER >= 20090401
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 6)
#elif PACKETVER >= 20090318
-packetLen(0x0199, 67) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 67)
#elif PACKETVER >= 20090218
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0199, 6) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0199, 26) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 26)
#elif PACKETVER >= 20090120
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0199, 282) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 282)
#elif PACKETVER >= 20090107
-packetLen(0x0199, -1) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, -1)
#endif
// Packet: 0x019a
#if PACKETVER >= 20090406
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
#elif PACKETVER >= 20090401
-packetLen(0x019a, 20) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 20)
#elif PACKETVER >= 20090325
-packetLen(0x019a, 6) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 6)
#elif PACKETVER >= 20090318
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
#elif PACKETVER >= 20090218
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20090211
-packetLen(0x019a, 33) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 33)
#elif PACKETVER >= 20090204
-packetLen(0x019a, -1) // ZC_NOTIFY_RANKING
+packetLen(0x019a, -1)
#elif PACKETVER >= 20090129
-packetLen(0x019a, 4) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 4)
#elif PACKETVER >= 20090107
-packetLen(0x019a, 17) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 17)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x019b
#if PACKETVER >= 20090406
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
#elif PACKETVER >= 20090401
-packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 4)
#elif PACKETVER >= 20090325
-packetLen(0x019b, 65) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 65)
#elif PACKETVER >= 20090311
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20090225
-packetLen(0x019b, 6) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 6)
#elif PACKETVER >= 20090211
-packetLen(0x019b, -1) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, -1)
#elif PACKETVER >= 20090204
-packetLen(0x019b, 11) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 11)
#elif PACKETVER >= 20090129
-packetLen(0x019b, 4) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 4)
#elif PACKETVER >= 20090120
-packetLen(0x019b, 26) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 26)
#elif PACKETVER >= 20090107
-packetLen(0x019b, 8) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 8)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x019c
#if PACKETVER >= 20090406
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20090401
-packetLen(0x019c, 2) // CZ_LOCALBROADCAST
+packetLen(0x019c, 2)
#elif PACKETVER >= 20090325
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20090318
-packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+packetLen(0x019c, 8)
#elif PACKETVER >= 20090211
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20090204
-packetLen(0x019c, 8) // CZ_LOCALBROADCAST
+packetLen(0x019c, 8)
#elif PACKETVER >= 20090114
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
#elif PACKETVER >= 20090107
-packetLen(0x019c, 15) // CZ_LOCALBROADCAST
+packetLen(0x019c, 15)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x019d
#if PACKETVER >= 20090406
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
#elif PACKETVER >= 20090401
-packetLen(0x019d, 282) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 282)
#elif PACKETVER >= 20090325
-packetLen(0x019d, 30) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 30)
#elif PACKETVER >= 20090318
-packetLen(0x019d, 13) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 13)
#elif PACKETVER >= 20090311
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20090225
-packetLen(0x019d, 10) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 10)
#elif PACKETVER >= 20090114
-packetLen(0x019d, -1) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, -1)
#elif PACKETVER >= 20090107
-packetLen(0x019d, 60) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 60)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
#if PACKETVER >= 20090406
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
#elif PACKETVER >= 20090401
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20090325
-packetLen(0x019f, 4) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 4)
#elif PACKETVER >= 20090318
-packetLen(0x019f, 53) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 53)
#elif PACKETVER >= 20090311
-packetLen(0x019f, 8) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 8)
#elif PACKETVER >= 20090225
-packetLen(0x019f, 5) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 5)
#elif PACKETVER >= 20090218
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20090211
-packetLen(0x019f, 7) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 7)
#elif PACKETVER >= 20090129
-packetLen(0x019f, -1) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, -1)
#elif PACKETVER >= 20090120
-packetLen(0x019f, 15) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 15)
#elif PACKETVER >= 20090114
-packetLen(0x019f, 7) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 7)
#elif PACKETVER >= 20090107
-packetLen(0x019f, 26) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 26)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01a0
#if PACKETVER >= 20090406
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
#elif PACKETVER >= 20090325
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01a0, 79) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 79)
#elif PACKETVER >= 20090114
-packetLen(0x01a0, -1) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01a0, 114) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 114)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01a1
#if PACKETVER >= 20090406
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
#elif PACKETVER >= 20090325
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01a1, 30) // CZ_COMMAND_PET
+packetLen(0x01a1, 30)
#elif PACKETVER >= 20090311
-packetLen(0x01a1, 26) // CZ_COMMAND_PET
+packetLen(0x01a1, 26)
#elif PACKETVER >= 20090107
-packetLen(0x01a1, -1) // CZ_COMMAND_PET
+packetLen(0x01a1, -1)
#endif
// Packet: 0x01a2
#if PACKETVER >= 20090406
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
#elif PACKETVER >= 20090401
-packetLen(0x01a2, 21) // ZC_PROPERTY_PET
+packetLen(0x01a2, 21)
#elif PACKETVER >= 20090325
-packetLen(0x01a2, 31) // ZC_PROPERTY_PET
+packetLen(0x01a2, 31)
#elif PACKETVER >= 20090225
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01a2, 7) // ZC_PROPERTY_PET
+packetLen(0x01a2, 7)
#elif PACKETVER >= 20090211
-packetLen(0x01a2, 4) // ZC_PROPERTY_PET
+packetLen(0x01a2, 4)
#elif PACKETVER >= 20090129
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01a2, 59) // ZC_PROPERTY_PET
+packetLen(0x01a2, 59)
#elif PACKETVER >= 20090107
-packetLen(0x01a2, -1) // ZC_PROPERTY_PET
+packetLen(0x01a2, -1)
#endif
// Packet: 0x01a3
#if PACKETVER >= 20090406
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#elif PACKETVER >= 20090401
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01a3, 8) // ZC_FEED_PET
+packetLen(0x01a3, 8)
#elif PACKETVER >= 20090211
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01a3, 6) // ZC_FEED_PET
+packetLen(0x01a3, 6)
#elif PACKETVER >= 20090129
-packetLen(0x01a3, -1) // ZC_FEED_PET
+packetLen(0x01a3, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01a3, 6) // ZC_FEED_PET
+packetLen(0x01a3, 6)
#elif PACKETVER >= 20090114
-packetLen(0x01a3, 3) // ZC_FEED_PET
+packetLen(0x01a3, 3)
#elif PACKETVER >= 20090107
-packetLen(0x01a3, 2) // ZC_FEED_PET
+packetLen(0x01a3, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01a4
#if PACKETVER >= 20090406
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
#elif PACKETVER >= 20090325
-packetLen(0x01a4, 6) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 6)
#elif PACKETVER >= 20090225
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01a4, 8) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 8)
#elif PACKETVER >= 20090211
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01a4, 3) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 3)
#elif PACKETVER >= 20090129
-packetLen(0x01a4, 27) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 27)
#elif PACKETVER >= 20090114
-packetLen(0x01a4, -1) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01a4, 20) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 20)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
#if PACKETVER >= 20090401
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01a6, 23) // ZC_PETEGG_LIST
+packetLen(0x01a6, 23)
#elif PACKETVER >= 20090318
-packetLen(0x01a6, 6) // ZC_PETEGG_LIST
+packetLen(0x01a6, 6)
#elif PACKETVER >= 20090225
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01a6, 182) // ZC_PETEGG_LIST
+packetLen(0x01a6, 182)
#elif PACKETVER >= 20090204
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01a6, 26) // ZC_PETEGG_LIST
+packetLen(0x01a6, 26)
#elif PACKETVER >= 20090107
-packetLen(0x01a6, 58) // ZC_PETEGG_LIST
+packetLen(0x01a6, 58)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01a7
#if PACKETVER >= 20090406
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
#elif PACKETVER >= 20090401
-packetLen(0x01a7, 27) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 27)
#elif PACKETVER >= 20090325
-packetLen(0x01a7, 3) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 3)
#elif PACKETVER >= 20090318
-packetLen(0x01a7, 60) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 60)
#elif PACKETVER >= 20090311
-packetLen(0x01a7, 6) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 6)
#elif PACKETVER >= 20090225
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01a7, 10) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 10)
#elif PACKETVER >= 20090204
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01a7, 5) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 5)
#elif PACKETVER >= 20090107
-packetLen(0x01a7, -1) // CZ_SELECT_PETEGG
+packetLen(0x01a7, -1)
#endif
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
#if PACKETVER >= 20090406
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
#elif PACKETVER >= 20090401
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01aa, 14) // ZC_PET_ACT
+packetLen(0x01aa, 14)
#elif PACKETVER >= 20090225
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01aa, 86) // ZC_PET_ACT
+packetLen(0x01aa, 86)
#elif PACKETVER >= 20090211
-packetLen(0x01aa, 79) // ZC_PET_ACT
+packetLen(0x01aa, 79)
#elif PACKETVER >= 20090107
-packetLen(0x01aa, -1) // ZC_PET_ACT
+packetLen(0x01aa, -1)
#endif
// Packet: 0x01ab
#if PACKETVER >= 20090406
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
#elif PACKETVER >= 20090401
-packetLen(0x01ab, 4) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 4)
#elif PACKETVER >= 20090325
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01ab, 23) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 23)
#elif PACKETVER >= 20090311
-packetLen(0x01ab, 26) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 26)
#elif PACKETVER >= 20090225
-packetLen(0x01ab, 10) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 10)
#elif PACKETVER >= 20090211
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01ab, 57) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 57)
#elif PACKETVER >= 20090129
-packetLen(0x01ab, -1) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01ab, 6) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 6)
#elif PACKETVER >= 20090107
-packetLen(0x01ab, 5) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 5)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01ac
#if PACKETVER >= 20090406
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#elif PACKETVER >= 20090401
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01ac, 28) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 28)
#elif PACKETVER >= 20090318
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01ac, 4) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 4)
#elif PACKETVER >= 20090225
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01ac, 13) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 13)
#elif PACKETVER >= 20090211
-packetLen(0x01ac, 68) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 68)
#elif PACKETVER >= 20090120
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
#elif PACKETVER >= 20090107
-packetLen(0x01ac, -1) // ZC_SKILL_UPDATE
+packetLen(0x01ac, -1)
#endif
// Packet: 0x01ad
#if PACKETVER >= 20090401
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01ad, 24) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 24)
#elif PACKETVER >= 20090225
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01ad, 90) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 90)
#elif PACKETVER >= 20090211
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01ad, 27) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 27)
#elif PACKETVER >= 20090129
-packetLen(0x01ad, 10) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 10)
#elif PACKETVER >= 20090120
-packetLen(0x01ad, 60) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 60)
#elif PACKETVER >= 20090114
-packetLen(0x01ad, 14) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, 14)
#elif PACKETVER >= 20090107
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
#endif
// Packet: 0x01ae
#if PACKETVER >= 20090406
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#elif PACKETVER >= 20090401
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01ae, 18) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 18)
#elif PACKETVER >= 20090311
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20090225
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
#elif PACKETVER >= 20090218
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#elif PACKETVER >= 20090204
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
#elif PACKETVER >= 20090120
-packetLen(0x01ae, -1) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01ae, 11) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 11)
#elif PACKETVER >= 20090107
-packetLen(0x01ae, 2) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 2)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
#if PACKETVER >= 20090406
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
#elif PACKETVER >= 20090325
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01b0, 7) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 7)
#elif PACKETVER >= 20090107
-packetLen(0x01b0, -1) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, -1)
#endif
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
#if PACKETVER >= 20090406
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20090401
-packetLen(0x01b2, 4) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 4)
#elif PACKETVER >= 20090318
-packetLen(0x01b2, 6) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 6)
#elif PACKETVER >= 20090311
-packetLen(0x01b2, 44) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 44)
#elif PACKETVER >= 20090225
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01b2, 58) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 58)
#elif PACKETVER >= 20090204
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01b2, 7) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 7)
#elif PACKETVER >= 20090120
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01b2, 60) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, 60)
#elif PACKETVER >= 20090107
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
#endif
// Packet: 0x01b3
#if PACKETVER >= 20090406
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
#elif PACKETVER >= 20090401
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01b3, 3) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 3)
#elif PACKETVER >= 20090318
-packetLen(0x01b3, 6) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 6)
#elif PACKETVER >= 20090218
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01b3, 8) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 8)
#elif PACKETVER >= 20090114
-packetLen(0x01b3, -1) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01b3, 2) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
#if PACKETVER >= 20090406
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
#elif PACKETVER >= 20090401
-packetLen(0x01b6, 8) // ZC_GUILD_INFO2
+packetLen(0x01b6, 8)
#elif PACKETVER >= 20090325
-packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+packetLen(0x01b6, 6)
#elif PACKETVER >= 20090318
-packetLen(0x01b6, 33) // ZC_GUILD_INFO2
+packetLen(0x01b6, 33)
#elif PACKETVER >= 20090311
-packetLen(0x01b6, 6) // ZC_GUILD_INFO2
+packetLen(0x01b6, 6)
#elif PACKETVER >= 20090225
-packetLen(0x01b6, 18) // ZC_GUILD_INFO2
+packetLen(0x01b6, 18)
#elif PACKETVER >= 20090218
-packetLen(0x01b6, 27) // ZC_GUILD_INFO2
+packetLen(0x01b6, 27)
#elif PACKETVER >= 20090211
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01b6, 2) // ZC_GUILD_INFO2
+packetLen(0x01b6, 2)
#elif PACKETVER >= 20090120
-packetLen(0x01b6, -1) // ZC_GUILD_INFO2
+packetLen(0x01b6, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01b6, 13) // ZC_GUILD_INFO2
+packetLen(0x01b6, 13)
#elif PACKETVER >= 20090107
-packetLen(0x01b6, 16) // ZC_GUILD_INFO2
+packetLen(0x01b6, 16)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
#if PACKETVER >= 20090406
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#elif PACKETVER >= 20090401
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
#elif PACKETVER >= 20090311
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20090225
-packetLen(0x01b9, 2) // ZC_DISPEL
+packetLen(0x01b9, 2)
#elif PACKETVER >= 20090211
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01b9, 26) // ZC_DISPEL
+packetLen(0x01b9, 26)
#elif PACKETVER >= 20090129
-packetLen(0x01b9, 3) // ZC_DISPEL
+packetLen(0x01b9, 3)
#elif PACKETVER >= 20090107
-packetLen(0x01b9, -1) // ZC_DISPEL
+packetLen(0x01b9, -1)
#endif
// Packet: 0x01ba
#if PACKETVER >= 20090406
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
#elif PACKETVER >= 20090325
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01ba, 6) // CZ_REMOVE_AID
+packetLen(0x01ba, 6)
#elif PACKETVER >= 20090218
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01ba, 10) // CZ_REMOVE_AID
+packetLen(0x01ba, 10)
#elif PACKETVER >= 20090204
-packetLen(0x01ba, 6) // CZ_REMOVE_AID
+packetLen(0x01ba, 6)
#elif PACKETVER >= 20090129
-packetLen(0x01ba, 30) // CZ_REMOVE_AID
+packetLen(0x01ba, 30)
#elif PACKETVER >= 20090120
-packetLen(0x01ba, -1) // CZ_REMOVE_AID
+packetLen(0x01ba, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01ba, 30) // CZ_REMOVE_AID
+packetLen(0x01ba, 30)
#elif PACKETVER >= 20090107
-packetLen(0x01ba, 15) // CZ_REMOVE_AID
+packetLen(0x01ba, 15)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01bb
#if PACKETVER >= 20090406
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
#elif PACKETVER >= 20090325
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01bb, 6) // CZ_SHIFT
+packetLen(0x01bb, 6)
#elif PACKETVER >= 20090225
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01bb, 6) // CZ_SHIFT
+packetLen(0x01bb, 6)
#elif PACKETVER >= 20090211
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
#elif PACKETVER >= 20090204
-packetLen(0x01bb, 12) // CZ_SHIFT
+packetLen(0x01bb, 12)
#elif PACKETVER >= 20090129
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01bb, 4) // CZ_SHIFT
+packetLen(0x01bb, 4)
#elif PACKETVER >= 20090114
-packetLen(0x01bb, -1) // CZ_SHIFT
+packetLen(0x01bb, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01bb, 10) // CZ_SHIFT
+packetLen(0x01bb, 10)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01bc
#if PACKETVER >= 20090406
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
#elif PACKETVER >= 20090401
-packetLen(0x01bc, 6) // CZ_RECALL
+packetLen(0x01bc, 6)
#elif PACKETVER >= 20090325
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01bc, 6) // CZ_RECALL
+packetLen(0x01bc, 6)
#elif PACKETVER >= 20090225
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01bc, 14) // CZ_RECALL
+packetLen(0x01bc, 14)
#elif PACKETVER >= 20090129
-packetLen(0x01bc, -1) // CZ_RECALL
+packetLen(0x01bc, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01bc, 7) // CZ_RECALL
+packetLen(0x01bc, 7)
#elif PACKETVER >= 20090107
-packetLen(0x01bc, 4) // CZ_RECALL
+packetLen(0x01bc, 4)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01bd
#if PACKETVER >= 20090406
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
#elif PACKETVER >= 20090401
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01bd, 30) // CZ_RECALL_GID
+packetLen(0x01bd, 30)
#elif PACKETVER >= 20090318
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01bd, 22) // CZ_RECALL_GID
+packetLen(0x01bd, 22)
#elif PACKETVER >= 20090211
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01bd, 65) // CZ_RECALL_GID
+packetLen(0x01bd, 65)
#elif PACKETVER >= 20090129
-packetLen(0x01bd, 10) // CZ_RECALL_GID
+packetLen(0x01bd, 10)
#elif PACKETVER >= 20090107
-packetLen(0x01bd, -1) // CZ_RECALL_GID
+packetLen(0x01bd, -1)
#endif
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
#if PACKETVER >= 20090318
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01c3, 15) // ZC_BROADCAST2
+packetLen(0x01c3, 15)
#elif PACKETVER >= 20090218
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01c3, 2) // ZC_BROADCAST2
+packetLen(0x01c3, 2)
#elif PACKETVER >= 20090129
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01c3, 2) // ZC_BROADCAST2
+packetLen(0x01c3, 2)
#elif PACKETVER >= 20090114
-packetLen(0x01c3, 15) // ZC_BROADCAST2
+packetLen(0x01c3, 15)
#elif PACKETVER >= 20090107
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
#endif
// Packet: 0x01c4
#if PACKETVER >= 20090406
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#elif PACKETVER >= 20090401
-packetLen(0x01c4, 81) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 81)
#elif PACKETVER >= 20090325
-packetLen(0x01c4, 8) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 8)
#elif PACKETVER >= 20090318
-packetLen(0x01c4, 16) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 16)
#elif PACKETVER >= 20090311
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20090225
-packetLen(0x01c4, 7) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 7)
#elif PACKETVER >= 20090204
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01c4, 6) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 6)
#elif PACKETVER >= 20090114
-packetLen(0x01c4, -1) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01c4, 9) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 9)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01c5
#if PACKETVER >= 20090406
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#elif PACKETVER >= 20090401
-packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 32)
#elif PACKETVER >= 20090325
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01c5, 10) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 10)
#elif PACKETVER >= 20090311
-packetLen(0x01c5, 6) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 6)
#elif PACKETVER >= 20090120
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01c5, 2) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 2)
#elif PACKETVER >= 20090107
-packetLen(0x01c5, -1) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, -1)
#endif
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
#if PACKETVER >= 20090406
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
#elif PACKETVER >= 20090325
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01c8, 43) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 43)
#elif PACKETVER >= 20090311
-packetLen(0x01c8, 3) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 3)
#elif PACKETVER >= 20090225
-packetLen(0x01c8, 53) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 53)
#elif PACKETVER >= 20090211
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01c8, 10) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 10)
#elif PACKETVER >= 20090120
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01c8, 4) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 4)
#elif PACKETVER >= 20090107
-packetLen(0x01c8, -1) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, -1)
#endif
// Packet: 0x01c9
#if PACKETVER >= 20090406
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
#elif PACKETVER >= 20090401
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01c9, 28) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 28)
#elif PACKETVER >= 20090318
-packetLen(0x01c9, 54) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 54)
#elif PACKETVER >= 20090311
-packetLen(0x01c9, -1) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, -1)
#elif PACKETVER >= 20090225
-packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 6)
#elif PACKETVER >= 20090218
-packetLen(0x01c9, 282) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 282)
#elif PACKETVER >= 20090211
-packetLen(0x01c9, 6) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 6)
#elif PACKETVER >= 20090204
-packetLen(0x01c9, 14) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 14)
#elif PACKETVER >= 20090129
-packetLen(0x01c9, 102) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 102)
#elif PACKETVER >= 20090120
-packetLen(0x01c9, 10) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 10)
#elif PACKETVER >= 20090114
-packetLen(0x01c9, 79) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 79)
#elif PACKETVER >= 20090107
-packetLen(0x01c9, 32) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 32)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
#if PACKETVER >= 20090406
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
#elif PACKETVER >= 20090318
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01cd, 6) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 6)
#elif PACKETVER >= 20090211
-packetLen(0x01cd, -1) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01cd, 26) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 26)
#elif PACKETVER >= 20090129
-packetLen(0x01cd, 8) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 8)
#elif PACKETVER >= 20090120
-packetLen(0x01cd, 18) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 18)
#elif PACKETVER >= 20090114
-packetLen(0x01cd, 33) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 33)
#elif PACKETVER >= 20090107
-packetLen(0x01cd, 20) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 20)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01ce
#if PACKETVER >= 20090406
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
#elif PACKETVER >= 20090401
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01ce, 26) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 26)
#elif PACKETVER >= 20090211
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01ce, 11) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 11)
#elif PACKETVER >= 20090129
-packetLen(0x01ce, 14) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 14)
#elif PACKETVER >= 20090107
-packetLen(0x01ce, -1) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, -1)
#endif
// Packet: 0x01cf
#if PACKETVER >= 20090406
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
#elif PACKETVER >= 20090225
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01cf, 4) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 4)
#elif PACKETVER >= 20090114
-packetLen(0x01cf, -1) // ZC_DEVOTIONLIST
+packetLen(0x01cf, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01cf, 2) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01d0
#if PACKETVER >= 20090406
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
#elif PACKETVER >= 20090401
-packetLen(0x01d0, 23) // ZC_SPIRITS
+packetLen(0x01d0, 23)
#elif PACKETVER >= 20090325
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01d0, 26) // ZC_SPIRITS
+packetLen(0x01d0, 26)
#elif PACKETVER >= 20090225
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01d0, 30) // ZC_SPIRITS
+packetLen(0x01d0, 30)
#elif PACKETVER >= 20090211
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
#elif PACKETVER >= 20090204
-packetLen(0x01d0, 36) // ZC_SPIRITS
+packetLen(0x01d0, 36)
#elif PACKETVER >= 20090129
-packetLen(0x01d0, 10) // ZC_SPIRITS
+packetLen(0x01d0, 10)
#elif PACKETVER >= 20090114
-packetLen(0x01d0, -1) // ZC_SPIRITS
+packetLen(0x01d0, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01d0, 30) // ZC_SPIRITS
+packetLen(0x01d0, 30)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
#if PACKETVER >= 20090406
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
#elif PACKETVER >= 20090401
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01d2, 54) // ZC_COMBODELAY
+packetLen(0x01d2, 54)
#elif PACKETVER >= 20090318
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01d2, 2) // ZC_COMBODELAY
+packetLen(0x01d2, 2)
#elif PACKETVER >= 20090225
-packetLen(0x01d2, 26) // ZC_COMBODELAY
+packetLen(0x01d2, 26)
#elif PACKETVER >= 20090218
-packetLen(0x01d2, 3) // ZC_COMBODELAY
+packetLen(0x01d2, 3)
#elif PACKETVER >= 20090129
-packetLen(0x01d2, -1) // ZC_COMBODELAY
+packetLen(0x01d2, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01d2, 22) // ZC_COMBODELAY
+packetLen(0x01d2, 22)
#elif PACKETVER >= 20090107
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
#if PACKETVER >= 20090406
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20090401
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01d4, 7) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 7)
#elif PACKETVER >= 20090318
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
#elif PACKETVER >= 20090311
-packetLen(0x01d4, 53) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 53)
#elif PACKETVER >= 20090204
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01d4, 8) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 8)
#elif PACKETVER >= 20090107
-packetLen(0x01d4, -1) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, -1)
#endif
// Packet: 0x01d5
#if PACKETVER >= 20090401
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01d5, 2) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 2)
#elif PACKETVER >= 20090120
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01d5, 14) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, 14)
#elif PACKETVER >= 20090107
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
#endif
// Packet: 0x01d6
#if PACKETVER >= 20090406
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
#elif PACKETVER >= 20090401
-packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 2)
#elif PACKETVER >= 20090325
-packetLen(0x01d6, 3) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 3)
#elif PACKETVER >= 20090318
-packetLen(0x01d6, 8) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 8)
#elif PACKETVER >= 20090311
-packetLen(0x01d6, 30) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 30)
#elif PACKETVER >= 20090211
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01d6, 2) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 2)
#elif PACKETVER >= 20090129
-packetLen(0x01d6, 26) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 26)
#elif PACKETVER >= 20090114
-packetLen(0x01d6, -1) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01d6, 11) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 11)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01d7
#if PACKETVER >= 20090406
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
#elif PACKETVER >= 20090401
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01d7, 14) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 14)
#elif PACKETVER >= 20090311
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20090225
-packetLen(0x01d7, 5) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 5)
#elif PACKETVER >= 20090218
-packetLen(0x01d7, 59) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 59)
#elif PACKETVER >= 20090204
-packetLen(0x01d7, -1) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01d7, 16) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 16)
#elif PACKETVER >= 20090107
-packetLen(0x01d7, 114) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 114)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01d8
#if PACKETVER >= 20090406
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
#elif PACKETVER >= 20090401
-packetLen(0x01d8, 19) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 19)
#elif PACKETVER >= 20090325
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01d8, 57) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 57)
#elif PACKETVER >= 20090129
-packetLen(0x01d8, -1) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01d8, 7) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 7)
#elif PACKETVER >= 20090107
-packetLen(0x01d8, 39) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 39)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01d9
#if PACKETVER >= 20090406
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
#elif PACKETVER >= 20090325
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01d9, 3) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 3)
#elif PACKETVER >= 20090311
-packetLen(0x01d9, 31) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 31)
#elif PACKETVER >= 20090218
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01d9, 11) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 11)
#elif PACKETVER >= 20090204
-packetLen(0x01d9, 22) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 22)
#elif PACKETVER >= 20090129
-packetLen(0x01d9, 37) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 37)
#elif PACKETVER >= 20090120
-packetLen(0x01d9, -1) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01d9, 54) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 54)
#elif PACKETVER >= 20090107
-packetLen(0x01d9, 28) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 28)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01da
#if PACKETVER >= 20090406
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#elif PACKETVER >= 20090401
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01da, 11) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 11)
#elif PACKETVER >= 20090204
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01da, 2) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 2)
#elif PACKETVER >= 20090120
-packetLen(0x01da, 22) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 22)
#elif PACKETVER >= 20090114
-packetLen(0x01da, 4) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 4)
#elif PACKETVER >= 20090107
-packetLen(0x01da, -1) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, -1)
#endif
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
#if PACKETVER >= 20090406
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
#elif PACKETVER >= 20090401
-packetLen(0x01de, 18) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 18)
#elif PACKETVER >= 20090318
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01de, 67) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 67)
#elif PACKETVER >= 20090225
-packetLen(0x01de, 59) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 59)
#elif PACKETVER >= 20090218
-packetLen(0x01de, 11) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 11)
#elif PACKETVER >= 20090204
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01de, 3) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 3)
#elif PACKETVER >= 20090120
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01de, 282) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 282)
#elif PACKETVER >= 20090107
-packetLen(0x01de, -1) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, -1)
#endif
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
#if PACKETVER >= 20090406
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
#elif PACKETVER >= 20090325
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01e1, 5) // ZC_SPIRITS2
+packetLen(0x01e1, 5)
#elif PACKETVER >= 20090218
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01e1, 10) // ZC_SPIRITS2
+packetLen(0x01e1, 10)
#elif PACKETVER >= 20090129
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01e1, 26) // ZC_SPIRITS2
+packetLen(0x01e1, 26)
#elif PACKETVER >= 20090114
-packetLen(0x01e1, 7) // ZC_SPIRITS2
+packetLen(0x01e1, 7)
#elif PACKETVER >= 20090107
-packetLen(0x01e1, -1) // ZC_SPIRITS2
+packetLen(0x01e1, -1)
#endif
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
#if PACKETVER >= 20090406
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
#elif PACKETVER >= 20090401
-packetLen(0x01e7, 8) // CZ_DORIDORI
+packetLen(0x01e7, 8)
#elif PACKETVER >= 20090325
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01e7, 86) // CZ_DORIDORI
+packetLen(0x01e7, 86)
#elif PACKETVER >= 20090311
-packetLen(0x01e7, 10) // CZ_DORIDORI
+packetLen(0x01e7, 10)
#elif PACKETVER >= 20090225
-packetLen(0x01e7, 7) // CZ_DORIDORI
+packetLen(0x01e7, 7)
#elif PACKETVER >= 20090218
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01e7, 8) // CZ_DORIDORI
+packetLen(0x01e7, 8)
#elif PACKETVER >= 20090129
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01e7, 5) // CZ_DORIDORI
+packetLen(0x01e7, 5)
#elif PACKETVER >= 20090114
-packetLen(0x01e7, -1) // CZ_DORIDORI
+packetLen(0x01e7, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01e7, 15) // CZ_DORIDORI
+packetLen(0x01e7, 15)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01e8
#if PACKETVER >= 20090406
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
#elif PACKETVER >= 20090401
-packetLen(0x01e8, 6) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 6)
#elif PACKETVER >= 20090325
-packetLen(0x01e8, 4) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 4)
#elif PACKETVER >= 20090225
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 10)
#elif PACKETVER >= 20090204
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01e8, 10) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 10)
#elif PACKETVER >= 20090120
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01e8, 14) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 14)
#elif PACKETVER >= 20090107
-packetLen(0x01e8, -1) // CZ_MAKE_GROUP2
+packetLen(0x01e8, -1)
#endif
// Packet: 0x01e9
#if PACKETVER >= 20090406
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
#elif PACKETVER >= 20090325
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01e9, 28) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 28)
#elif PACKETVER >= 20090211
-packetLen(0x01e9, -1) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01e9, 79) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 79)
#elif PACKETVER >= 20090129
-packetLen(0x01e9, 6) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 6)
#elif PACKETVER >= 20090120
-packetLen(0x01e9, 27) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 27)
#elif PACKETVER >= 20090114
-packetLen(0x01e9, 55) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 55)
#elif PACKETVER >= 20090107
-packetLen(0x01e9, 17) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 17)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01ea
#if PACKETVER >= 20090406
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20090401
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
#elif PACKETVER >= 20090318
-packetLen(0x01ea, 2) // ZC_CONGRATULATION
+packetLen(0x01ea, 2)
#elif PACKETVER >= 20090311
-packetLen(0x01ea, 59) // ZC_CONGRATULATION
+packetLen(0x01ea, 59)
#elif PACKETVER >= 20090225
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01ea, 66) // ZC_CONGRATULATION
+packetLen(0x01ea, 66)
#elif PACKETVER >= 20090211
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01ea, 3) // ZC_CONGRATULATION
+packetLen(0x01ea, 3)
#elif PACKETVER >= 20090129
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01ea, 90) // ZC_CONGRATULATION
+packetLen(0x01ea, 90)
#elif PACKETVER >= 20090114
-packetLen(0x01ea, -1) // ZC_CONGRATULATION
+packetLen(0x01ea, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01ea, 3) // ZC_CONGRATULATION
+packetLen(0x01ea, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01eb
#if PACKETVER >= 20090406
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
#elif PACKETVER >= 20090401
-packetLen(0x01eb, 2) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 2)
#elif PACKETVER >= 20090325
-packetLen(0x01eb, 14) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 14)
#elif PACKETVER >= 20090225
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01eb, 33) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 33)
#elif PACKETVER >= 20090211
-packetLen(0x01eb, 6) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 6)
#elif PACKETVER >= 20090204
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01eb, 23) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 23)
#elif PACKETVER >= 20090120
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01eb, 59) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 59)
#elif PACKETVER >= 20090107
-packetLen(0x01eb, -1) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, -1)
#endif
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
#if PACKETVER >= 20090406
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#elif PACKETVER >= 20090401
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01ed, 5) // CZ_CHOPOKGI
+packetLen(0x01ed, 5)
#elif PACKETVER >= 20090311
-packetLen(0x01ed, -1) // CZ_CHOPOKGI
+packetLen(0x01ed, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
#elif PACKETVER >= 20090107
-packetLen(0x01ed, 67) // CZ_CHOPOKGI
+packetLen(0x01ed, 67)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01ee
#if PACKETVER >= 20090401
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01ee, 4) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 4)
#elif PACKETVER >= 20090318
-packetLen(0x01ee, 7) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 7)
#elif PACKETVER >= 20090311
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20090218
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01ee, 6) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 6)
#elif PACKETVER >= 20090129
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01ee, 2) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 2)
#elif PACKETVER >= 20090114
-packetLen(0x01ee, 11) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, 11)
#elif PACKETVER >= 20090107
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
#endif
// Packet: 0x01ef
#if PACKETVER >= 20090325
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01ef, 9) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 9)
#elif PACKETVER >= 20090225
-packetLen(0x01ef, 2) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 2)
#elif PACKETVER >= 20090218
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01ef, 4) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 4)
#elif PACKETVER >= 20090204
-packetLen(0x01ef, 18) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 18)
#elif PACKETVER >= 20090129
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01ef, 14) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 14)
#elif PACKETVER >= 20090114
-packetLen(0x01ef, 30) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 30)
#elif PACKETVER >= 20090107
-packetLen(0x01ef, 14) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, 14)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01f0
#if PACKETVER >= 20090401
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01f0, 60) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 60)
#elif PACKETVER >= 20090318
-packetLen(0x01f0, 6) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 6)
#elif PACKETVER >= 20090218
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20090211
-packetLen(0x01f0, 4) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 4)
#elif PACKETVER >= 20090204
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
#elif PACKETVER >= 20090129
-packetLen(0x01f0, 6) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 6)
#elif PACKETVER >= 20090107
-packetLen(0x01f0, 10) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, 10)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
#if PACKETVER >= 20090406
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
#elif PACKETVER >= 20090325
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01f2, 11) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 11)
#elif PACKETVER >= 20090311
-packetLen(0x01f2, 4) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 4)
#elif PACKETVER >= 20090225
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01f2, 18) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 18)
#elif PACKETVER >= 20090211
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01f2, 5) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 5)
#elif PACKETVER >= 20090114
-packetLen(0x01f2, -1) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01f2, 12) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 12)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
#if PACKETVER >= 20090406
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
#elif PACKETVER >= 20090401
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01f4, 6) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 6)
#elif PACKETVER >= 20090318
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01f4, 20) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 20)
#elif PACKETVER >= 20090225
-packetLen(0x01f4, 37) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 37)
#elif PACKETVER >= 20090120
-packetLen(0x01f4, -1) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01f4, 8) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 8)
#elif PACKETVER >= 20090107
-packetLen(0x01f4, 12) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 12)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01f5
#if PACKETVER >= 20090406
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
#elif PACKETVER >= 20090225
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20090218
-packetLen(0x01f5, 26) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 26)
#elif PACKETVER >= 20090211
-packetLen(0x01f5, 6) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 6)
#elif PACKETVER >= 20090204
-packetLen(0x01f5, 54) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 54)
#elif PACKETVER >= 20090129
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20090120
-packetLen(0x01f5, 11) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 11)
#elif PACKETVER >= 20090114
-packetLen(0x01f5, -1) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01f5, 3) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 3)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
#if PACKETVER >= 20090325
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20090318
-packetLen(0x01fc, 8) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 8)
#elif PACKETVER >= 20090311
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20090225
-packetLen(0x01fc, 4) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 4)
#elif PACKETVER >= 20090211
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20090204
-packetLen(0x01fc, 30) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 30)
#elif PACKETVER >= 20090120
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
#elif PACKETVER >= 20090107
-packetLen(0x01fc, 11) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, 11)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01fd
#if PACKETVER >= 20090406
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#elif PACKETVER >= 20090401
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20090325
-packetLen(0x01fd, 10) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 10)
#elif PACKETVER >= 20090318
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20090311
-packetLen(0x01fd, 10) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 10)
#elif PACKETVER >= 20090225
-packetLen(0x01fd, 29) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 29)
#elif PACKETVER >= 20090218
-packetLen(0x01fd, 26) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 26)
#elif PACKETVER >= 20090120
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01fd, 53) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 53)
#elif PACKETVER >= 20090107
-packetLen(0x01fd, -1) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, -1)
#endif
// Packet: 0x01fe
#if PACKETVER >= 20090406
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
#elif PACKETVER >= 20090401
-packetLen(0x01fe, 28) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 28)
#elif PACKETVER >= 20090325
-packetLen(0x01fe, 44) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 44)
#elif PACKETVER >= 20090120
-packetLen(0x01fe, -1) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, -1)
#elif PACKETVER >= 20090114
-packetLen(0x01fe, 10) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 10)
#elif PACKETVER >= 20090107
-packetLen(0x01fe, 15) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 15)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
#if PACKETVER >= 20090406
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0201, 58) // ZC_FRIENDS_LIST
+packetLen(0x0201, 58)
#elif PACKETVER >= 20090225
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0201, 5) // ZC_FRIENDS_LIST
+packetLen(0x0201, 5)
#elif PACKETVER >= 20090120
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0201, 4) // ZC_FRIENDS_LIST
+packetLen(0x0201, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
#endif
// Packet: 0x0202
#if PACKETVER >= 20090406
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20090401
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20090218
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0202, 27) // CZ_ADD_FRIENDS
+packetLen(0x0202, 27)
#elif PACKETVER >= 20090204
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0202, 13) // CZ_ADD_FRIENDS
+packetLen(0x0202, 13)
#elif PACKETVER >= 20090114
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0202, 11) // CZ_ADD_FRIENDS
+packetLen(0x0202, 11)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0203
#if PACKETVER >= 20090406
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#elif PACKETVER >= 20090401
-packetLen(0x0203, 26) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 26)
#elif PACKETVER >= 20090325
-packetLen(0x0203, 2) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 2)
#elif PACKETVER >= 20090318
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0203, 7) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 7)
#elif PACKETVER >= 20090225
-packetLen(0x0203, 11) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 11)
#elif PACKETVER >= 20090218
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0203, 29) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 29)
#elif PACKETVER >= 20090204
-packetLen(0x0203, 67) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 67)
#elif PACKETVER >= 20090129
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
#elif PACKETVER >= 20090120
-packetLen(0x0203, 2) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 2)
#elif PACKETVER >= 20090107
-packetLen(0x0203, -1) // CZ_DELETE_FRIENDS
+packetLen(0x0203, -1)
#endif
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
#if PACKETVER >= 20090406
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#elif PACKETVER >= 20090401
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0206, 18) // ZC_FRIENDS_STATE
+packetLen(0x0206, 18)
#elif PACKETVER >= 20090318
-packetLen(0x0206, 71) // ZC_FRIENDS_STATE
+packetLen(0x0206, 71)
#elif PACKETVER >= 20090311
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0206, 14) // ZC_FRIENDS_STATE
+packetLen(0x0206, 14)
#elif PACKETVER >= 20090218
-packetLen(0x0206, 7) // ZC_FRIENDS_STATE
+packetLen(0x0206, 7)
#elif PACKETVER >= 20090211
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0206, 3) // ZC_FRIENDS_STATE
+packetLen(0x0206, 3)
#elif PACKETVER >= 20090129
-packetLen(0x0206, -1) // ZC_FRIENDS_STATE
+packetLen(0x0206, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0206, 4) // ZC_FRIENDS_STATE
+packetLen(0x0206, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0206, 6) // ZC_FRIENDS_STATE
+packetLen(0x0206, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0207
#if PACKETVER >= 20090406
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
#elif PACKETVER >= 20090401
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 7)
#elif PACKETVER >= 20090318
-packetLen(0x0207, 9) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 9)
#elif PACKETVER >= 20090311
-packetLen(0x0207, 3) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 3)
#elif PACKETVER >= 20090225
-packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 7)
#elif PACKETVER >= 20090218
-packetLen(0x0207, 9) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 9)
#elif PACKETVER >= 20090211
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0207, 30) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 30)
#elif PACKETVER >= 20090129
-packetLen(0x0207, 7) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 7)
#elif PACKETVER >= 20090107
-packetLen(0x0207, -1) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, -1)
#endif
// Packet: 0x0208
#if PACKETVER >= 20090406
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
#elif PACKETVER >= 20090401
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0208, 2) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 2)
#elif PACKETVER >= 20090318
-packetLen(0x0208, 31) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 31)
#elif PACKETVER >= 20090311
-packetLen(0x0208, 8) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 8)
#elif PACKETVER >= 20090225
-packetLen(0x0208, 6) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 6)
#elif PACKETVER >= 20090218
-packetLen(0x0208, 30) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 30)
#elif PACKETVER >= 20090120
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0208, 26) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 26)
#elif PACKETVER >= 20090107
-packetLen(0x0208, -1) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, -1)
#endif
// Packet: 0x0209
#if PACKETVER >= 20090406
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
#elif PACKETVER >= 20090401
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 4)
#elif PACKETVER >= 20090318
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20090311
-packetLen(0x0209, 4) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 4)
#elif PACKETVER >= 20090225
-packetLen(0x0209, 2) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 2)
#elif PACKETVER >= 20090204
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0209, 86) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 86)
#elif PACKETVER >= 20090120
-packetLen(0x0209, 6) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0209, -1) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, -1)
#endif
// Packet: 0x020a
#if PACKETVER >= 20090406
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#elif PACKETVER >= 20090401
-packetLen(0x020a, 31) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 31)
#elif PACKETVER >= 20090311
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20090225
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
#elif PACKETVER >= 20090218
-packetLen(0x020a, 2) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 2)
#elif PACKETVER >= 20090120
-packetLen(0x020a, -1) // ZC_DELETE_FRIENDS
+packetLen(0x020a, -1)
#elif PACKETVER >= 20090114
-packetLen(0x020a, 4) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 4)
#elif PACKETVER >= 20090107
-packetLen(0x020a, 4) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 4)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
#if PACKETVER >= 20090406
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
#elif PACKETVER >= 20090318
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20090311
-packetLen(0x020e, 12) // ZC_STARSKILL
+packetLen(0x020e, 12)
#elif PACKETVER >= 20090225
-packetLen(0x020e, -1) // ZC_STARSKILL
+packetLen(0x020e, -1)
#elif PACKETVER >= 20090218
-packetLen(0x020e, 10) // ZC_STARSKILL
+packetLen(0x020e, 10)
#elif PACKETVER >= 20090211
-packetLen(0x020e, 4) // ZC_STARSKILL
+packetLen(0x020e, 4)
#elif PACKETVER >= 20090204
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
#elif PACKETVER >= 20090129
-packetLen(0x020e, 2) // ZC_STARSKILL
+packetLen(0x020e, 2)
#elif PACKETVER >= 20090120
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
#elif PACKETVER >= 20090107
-packetLen(0x020e, 6) // ZC_STARSKILL
+packetLen(0x020e, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
#if PACKETVER >= 20090406
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
#elif PACKETVER >= 20090401
-packetLen(0x0217, 102) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 102)
#elif PACKETVER >= 20090325
-packetLen(0x0217, 3) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 3)
#elif PACKETVER >= 20090311
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0217, 8) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 8)
#elif PACKETVER >= 20090218
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0217, 26) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 26)
#elif PACKETVER >= 20090204
-packetLen(0x0217, 24) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 24)
#elif PACKETVER >= 20090129
-packetLen(0x0217, 10) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 10)
#elif PACKETVER >= 20090120
-packetLen(0x0217, 14) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 14)
#elif PACKETVER >= 20090114
-packetLen(0x0217, 44) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 44)
#elif PACKETVER >= 20090107
-packetLen(0x0217, -1) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, -1)
#endif
// Packet: 0x0218
#if PACKETVER >= 20090406
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
#elif PACKETVER >= 20090325
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0218, 28) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 28)
#elif PACKETVER >= 20090225
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0218, 9) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 9)
#elif PACKETVER >= 20090211
-packetLen(0x0218, 66) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 66)
#elif PACKETVER >= 20090204
-packetLen(0x0218, 6) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0218, -1) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, -1)
#endif
// Packet: 0x0219
#if PACKETVER >= 20090406
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
#elif PACKETVER >= 20090311
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0219, 28) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 28)
#elif PACKETVER >= 20090218
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0219, 6) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 6)
#elif PACKETVER >= 20090204
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0219, 58) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 58)
#elif PACKETVER >= 20090120
-packetLen(0x0219, -1) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0219, 2) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 2)
#elif PACKETVER >= 20090107
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x021a
#if PACKETVER >= 20090406
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
#elif PACKETVER >= 20090325
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#elif PACKETVER >= 20090318
-packetLen(0x021a, 23) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 23)
#elif PACKETVER >= 20090107
-packetLen(0x021a, -1) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, -1)
#endif
// Packet: 0x021b
#if PACKETVER >= 20090406
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
#elif PACKETVER >= 20090311
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20090225
-packetLen(0x021b, 6) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 6)
#elif PACKETVER >= 20090218
-packetLen(0x021b, 15) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 15)
#elif PACKETVER >= 20090204
-packetLen(0x021b, -1) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, -1)
#elif PACKETVER >= 20090129
-packetLen(0x021b, 55) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 55)
#elif PACKETVER >= 20090107
-packetLen(0x021b, 28) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 28)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x021c
#if PACKETVER >= 20090406
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
#elif PACKETVER >= 20090401
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20090325
-packetLen(0x021c, 11) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 11)
#elif PACKETVER >= 20090311
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20090225
-packetLen(0x021c, 9) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 9)
#elif PACKETVER >= 20090218
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20090211
-packetLen(0x021c, 11) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 11)
#elif PACKETVER >= 20090204
-packetLen(0x021c, 2) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 2)
#elif PACKETVER >= 20090129
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#elif PACKETVER >= 20090120
-packetLen(0x021c, 79) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 79)
#elif PACKETVER >= 20090107
-packetLen(0x021c, -1) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, -1)
#endif
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
#if PACKETVER >= 20090406
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#elif PACKETVER >= 20090401
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0224, 4) // ZC_TAEKWON_POINT
+packetLen(0x0224, 4)
#elif PACKETVER >= 20090318
-packetLen(0x0224, 6) // ZC_TAEKWON_POINT
+packetLen(0x0224, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0224, -1) // ZC_TAEKWON_POINT
+packetLen(0x0224, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0224, 19) // ZC_TAEKWON_POINT
+packetLen(0x0224, 19)
#elif PACKETVER >= 20090211
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
#elif PACKETVER >= 20090204
-packetLen(0x0224, 2) // ZC_TAEKWON_POINT
+packetLen(0x0224, 2)
#elif PACKETVER >= 20090129
-packetLen(0x0224, 16) // ZC_TAEKWON_POINT
+packetLen(0x0224, 16)
#elif PACKETVER >= 20090120
-packetLen(0x0224, 26) // ZC_TAEKWON_POINT
+packetLen(0x0224, 26)
#elif PACKETVER >= 20090107
-packetLen(0x0224, 60) // ZC_TAEKWON_POINT
+packetLen(0x0224, 60)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0225
#if PACKETVER >= 20090406
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20090401
-packetLen(0x0225, 66) // CZ_TAEKWON_RANK
+packetLen(0x0225, 66)
#elif PACKETVER >= 20090325
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20090311
-packetLen(0x0225, 4) // CZ_TAEKWON_RANK
+packetLen(0x0225, 4)
#elif PACKETVER >= 20090225
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
#elif PACKETVER >= 20090211
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0225, 10) // CZ_TAEKWON_RANK
+packetLen(0x0225, 10)
#elif PACKETVER >= 20090129
-packetLen(0x0225, 44) // CZ_TAEKWON_RANK
+packetLen(0x0225, 44)
#elif PACKETVER >= 20090107
-packetLen(0x0225, -1) // CZ_TAEKWON_RANK
+packetLen(0x0225, -1)
#endif
// Packet: 0x0226
#if PACKETVER >= 20090406
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
#elif PACKETVER >= 20090401
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0226, 2) // ZC_TAEKWON_RANK
+packetLen(0x0226, 2)
#elif PACKETVER >= 20090318
-packetLen(0x0226, 53) // ZC_TAEKWON_RANK
+packetLen(0x0226, 53)
#elif PACKETVER >= 20090311
-packetLen(0x0226, 55) // ZC_TAEKWON_RANK
+packetLen(0x0226, 55)
#elif PACKETVER >= 20090218
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0226, 10) // ZC_TAEKWON_RANK
+packetLen(0x0226, 10)
#elif PACKETVER >= 20090129
-packetLen(0x0226, -1) // ZC_TAEKWON_RANK
+packetLen(0x0226, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0226, 6) // ZC_TAEKWON_RANK
+packetLen(0x0226, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0226, 102) // ZC_TAEKWON_RANK
+packetLen(0x0226, 102)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0227
#if PACKETVER >= 20090406
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
#elif PACKETVER >= 20090401
-packetLen(0x0227, 22) // ZC_GAME_GUARD
+packetLen(0x0227, 22)
#elif PACKETVER >= 20090311
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0227, 86) // ZC_GAME_GUARD
+packetLen(0x0227, 86)
#elif PACKETVER >= 20090218
-packetLen(0x0227, 17) // ZC_GAME_GUARD
+packetLen(0x0227, 17)
#elif PACKETVER >= 20090211
-packetLen(0x0227, 20) // ZC_GAME_GUARD
+packetLen(0x0227, 20)
#elif PACKETVER >= 20090204
-packetLen(0x0227, -1) // ZC_GAME_GUARD
+packetLen(0x0227, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0227, 4) // ZC_GAME_GUARD
+packetLen(0x0227, 4)
#elif PACKETVER >= 20090120
-packetLen(0x0227, 29) // ZC_GAME_GUARD
+packetLen(0x0227, 29)
#elif PACKETVER >= 20090114
-packetLen(0x0227, 4) // ZC_GAME_GUARD
+packetLen(0x0227, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0227, 9) // ZC_GAME_GUARD
+packetLen(0x0227, 9)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
#if PACKETVER >= 20090406
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
#elif PACKETVER >= 20090401
-packetLen(0x0229, 33) // ZC_STATE_CHANGE3
+packetLen(0x0229, 33)
#elif PACKETVER >= 20090325
-packetLen(0x0229, 39) // ZC_STATE_CHANGE3
+packetLen(0x0229, 39)
#elif PACKETVER >= 20090318
-packetLen(0x0229, 27) // ZC_STATE_CHANGE3
+packetLen(0x0229, 27)
#elif PACKETVER >= 20090129
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0229, 9) // ZC_STATE_CHANGE3
+packetLen(0x0229, 9)
#elif PACKETVER >= 20090107
-packetLen(0x0229, -1) // ZC_STATE_CHANGE3
+packetLen(0x0229, -1)
#endif
// Packet: 0x022a
#if PACKETVER >= 20090406
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#elif PACKETVER >= 20090401
-packetLen(0x022a, 10) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 10)
#elif PACKETVER >= 20090325
-packetLen(0x022a, 6) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 6)
#elif PACKETVER >= 20090318
-packetLen(0x022a, 26) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 26)
#elif PACKETVER >= 20090311
-packetLen(0x022a, 3) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 3)
#elif PACKETVER >= 20090225
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20090218
-packetLen(0x022a, 6) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 6)
#elif PACKETVER >= 20090211
-packetLen(0x022a, 26) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 26)
#elif PACKETVER >= 20090204
-packetLen(0x022a, 4) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 4)
#elif PACKETVER >= 20090129
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20090120
-packetLen(0x022a, 282) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 282)
#elif PACKETVER >= 20090114
-packetLen(0x022a, -1) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, -1)
#elif PACKETVER >= 20090107
-packetLen(0x022a, 30) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 30)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x022b
#if PACKETVER >= 20090406
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#elif PACKETVER >= 20090401
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20090325
-packetLen(0x022b, 2) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 2)
#elif PACKETVER >= 20090225
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20090218
-packetLen(0x022b, 12) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 12)
#elif PACKETVER >= 20090211
-packetLen(0x022b, 16) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 16)
#elif PACKETVER >= 20090129
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#elif PACKETVER >= 20090120
-packetLen(0x022b, 3) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 3)
#elif PACKETVER >= 20090107
-packetLen(0x022b, -1) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, -1)
#endif
// Packet: 0x022c
#if PACKETVER >= 20090406
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#elif PACKETVER >= 20090401
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
#elif PACKETVER >= 20090318
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20090311
-packetLen(0x022c, 2) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 2)
#elif PACKETVER >= 20090211
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20090204
-packetLen(0x022c, 5) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 5)
#elif PACKETVER >= 20090114
-packetLen(0x022c, -1) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, -1)
#elif PACKETVER >= 20090107
-packetLen(0x022c, 6) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x022d
#if PACKETVER >= 20090406
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20090401
-packetLen(0x022d, 27) // CZ_COMMAND_MER
+packetLen(0x022d, 27)
#elif PACKETVER >= 20090325
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20090318
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20090311
-packetLen(0x022d, 28) // CZ_COMMAND_MER
+packetLen(0x022d, 28)
#elif PACKETVER >= 20090225
-packetLen(0x022d, 11) // CZ_COMMAND_MER
+packetLen(0x022d, 11)
#elif PACKETVER >= 20090218
-packetLen(0x022d, 67) // CZ_COMMAND_MER
+packetLen(0x022d, 67)
#elif PACKETVER >= 20090211
-packetLen(0x022d, 31) // CZ_COMMAND_MER
+packetLen(0x022d, 31)
#elif PACKETVER >= 20090204
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20090114
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20090107
-packetLen(0x022d, 14) // CZ_COMMAND_MER
+packetLen(0x022d, 14)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x022e
#if PACKETVER >= 20090406
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#elif PACKETVER >= 20090401
-packetLen(0x022e, 2) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 2)
#elif PACKETVER >= 20090325
-packetLen(0x022e, 16) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 16)
#elif PACKETVER >= 20090311
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20090225
-packetLen(0x022e, 26) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 26)
#elif PACKETVER >= 20090129
-packetLen(0x022e, -1) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, -1)
#elif PACKETVER >= 20090120
-packetLen(0x022e, 8) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 8)
#elif PACKETVER >= 20090107
-packetLen(0x022e, 186) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 186)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x022f
#if PACKETVER >= 20090406
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#elif PACKETVER >= 20090401
-packetLen(0x022f, 17) // ZC_FEED_MER
+packetLen(0x022f, 17)
#elif PACKETVER >= 20090325
-packetLen(0x022f, 39) // ZC_FEED_MER
+packetLen(0x022f, 39)
#elif PACKETVER >= 20090318
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20090311
-packetLen(0x022f, 23) // ZC_FEED_MER
+packetLen(0x022f, 23)
#elif PACKETVER >= 20090225
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20090218
-packetLen(0x022f, 12) // ZC_FEED_MER
+packetLen(0x022f, 12)
#elif PACKETVER >= 20090211
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#elif PACKETVER >= 20090129
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20090120
-packetLen(0x022f, 31) // ZC_FEED_MER
+packetLen(0x022f, 31)
#elif PACKETVER >= 20090114
-packetLen(0x022f, -1) // ZC_FEED_MER
+packetLen(0x022f, -1)
#elif PACKETVER >= 20090107
-packetLen(0x022f, 2) // ZC_FEED_MER
+packetLen(0x022f, 2)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0230
#if PACKETVER >= 20090406
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
#elif PACKETVER >= 20090311
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0230, 30) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 30)
#elif PACKETVER >= 20090218
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0230, 10) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 10)
#elif PACKETVER >= 20090204
-packetLen(0x0230, 15) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 15)
#elif PACKETVER >= 20090129
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0230, 15) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 15)
#elif PACKETVER >= 20090114
-packetLen(0x0230, 5) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 5)
#elif PACKETVER >= 20090107
-packetLen(0x0230, -1) // ZC_CHANGESTATE_MER
+packetLen(0x0230, -1)
#endif
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
#if PACKETVER >= 20090406
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
#elif PACKETVER >= 20090325
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0232, 6) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 6)
#elif PACKETVER >= 20090311
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0232, 8) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 8)
#elif PACKETVER >= 20090114
-packetLen(0x0232, -1) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0232, 3) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 3)
#endif
// Packet: 0x0233
#if PACKETVER >= 20090406
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
#elif PACKETVER >= 20090401
-packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 10)
#elif PACKETVER >= 20090325
-packetLen(0x0233, 4) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 4)
#elif PACKETVER >= 20090311
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0233, 60) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 60)
#elif PACKETVER >= 20090218
-packetLen(0x0233, 10) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 10)
#elif PACKETVER >= 20090204
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0233, -1) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0233, 6) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0233, 7) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 7)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0234
#if PACKETVER >= 20090406
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20090401
-packetLen(0x0234, 7) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 7)
#elif PACKETVER >= 20090318
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0234, 7) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 7)
#elif PACKETVER >= 20090211
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
#elif PACKETVER >= 20090204
-packetLen(0x0234, 16) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 16)
#elif PACKETVER >= 20090129
-packetLen(0x0234, -1) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 10)
#elif PACKETVER >= 20090107
-packetLen(0x0234, 10) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 10)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0235
#if PACKETVER >= 20090311
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0235, 22) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 22)
#elif PACKETVER >= 20090218
-packetLen(0x0235, 79) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 79)
#elif PACKETVER >= 20090211
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0235, 21) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, 21)
#elif PACKETVER >= 20090107
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
#endif
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
#if PACKETVER >= 20090401
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#elif PACKETVER >= 20090325
-packetLen(0x0237, 43) // CZ_KILLER_RANK
+packetLen(0x0237, 43)
#elif PACKETVER >= 20090211
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0237, 19) // CZ_KILLER_RANK
+packetLen(0x0237, 19)
#elif PACKETVER >= 20090129
-packetLen(0x0237, 6) // CZ_KILLER_RANK
+packetLen(0x0237, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
#elif PACKETVER >= 20090107
-packetLen(0x0237, -1) // CZ_KILLER_RANK
+packetLen(0x0237, -1)
#endif
// Packet: 0x0238
#if PACKETVER >= 20090406
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
#elif PACKETVER >= 20090401
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20090325
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0238, 3) // ZC_KILLER_RANK
+packetLen(0x0238, 3)
#elif PACKETVER >= 20090225
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20090211
-packetLen(0x0238, 3) // ZC_KILLER_RANK
+packetLen(0x0238, 3)
#elif PACKETVER >= 20090204
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0238, 6) // ZC_KILLER_RANK
+packetLen(0x0238, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0238, -1) // ZC_KILLER_RANK
+packetLen(0x0238, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0238, 12) // ZC_KILLER_RANK
+packetLen(0x0238, 12)
#elif PACKETVER >= 20090107
-packetLen(0x0238, 22) // ZC_KILLER_RANK
+packetLen(0x0238, 22)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0239
#if PACKETVER >= 20090406
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
#elif PACKETVER >= 20090401
-packetLen(0x0239, 12) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 12)
#elif PACKETVER >= 20090325
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0239, 97) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 97)
#elif PACKETVER >= 20090218
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0239, 3) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 3)
#elif PACKETVER >= 20090204
-packetLen(0x0239, 10) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 10)
#elif PACKETVER >= 20090129
-packetLen(0x0239, 66) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 66)
#elif PACKETVER >= 20090120
-packetLen(0x0239, -1) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0239, 71) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 71)
#elif PACKETVER >= 20090107
-packetLen(0x0239, 7) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 7)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x023a
#if PACKETVER >= 20090406
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
#elif PACKETVER >= 20090401
-packetLen(0x023a, 15) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 15)
#elif PACKETVER >= 20090318
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20090311
-packetLen(0x023a, 79) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 79)
#elif PACKETVER >= 20090225
-packetLen(0x023a, 8) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 8)
#elif PACKETVER >= 20090204
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20090129
-packetLen(0x023a, 10) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 10)
#elif PACKETVER >= 20090120
-packetLen(0x023a, -1) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, -1)
#elif PACKETVER >= 20090114
-packetLen(0x023a, 22) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 22)
#elif PACKETVER >= 20090107
-packetLen(0x023a, 90) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 90)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
#if PACKETVER >= 20090406
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20090318
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20090311
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
#elif PACKETVER >= 20090218
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#elif PACKETVER >= 20090211
-packetLen(0x023c, 4) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 4)
#elif PACKETVER >= 20090107
-packetLen(0x023c, -1) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, -1)
#endif
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
#if PACKETVER >= 20090406
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#elif PACKETVER >= 20090401
-packetLen(0x0274, 15) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 15)
#elif PACKETVER >= 20090311
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
#elif PACKETVER >= 20090129
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0274, 2) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 2)
#elif PACKETVER >= 20090107
-packetLen(0x0274, -1) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, -1)
#endif
// Packet: 0x0275
#if PACKETVER >= 20090701
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
#endif
// Packet: 0x0276
#if PACKETVER >= 20090701
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
#endif
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
#if PACKETVER >= 20090406
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0287, 10) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 10)
#elif PACKETVER >= 20090311
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0287, 2) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 2)
#elif PACKETVER >= 20090218
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0287, 7) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 7)
#elif PACKETVER >= 20090204
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0287, 8) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 8)
#elif PACKETVER >= 20090120
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0287, 3) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 3)
#elif PACKETVER >= 20090107
-packetLen(0x0287, 29) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, 29)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0288
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
#if PACKETVER >= 20090318
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0295, 81) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 81)
#elif PACKETVER >= 20090225
-packetLen(0x0295, 8) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 8)
#elif PACKETVER >= 20090218
-packetLen(0x0295, 4) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
#endif
// Packet: 0x0296
#if PACKETVER >= 20090406
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0296, 4) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 4)
#elif PACKETVER >= 20090311
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 6)
#elif PACKETVER >= 20090211
-packetLen(0x0296, 36) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 36)
#elif PACKETVER >= 20090204
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0296, 6) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
#endif
// Packet: 0x0297
#if PACKETVER >= 20090211
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0297, 59) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 59)
#elif PACKETVER >= 20090129
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0297, 58) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 58)
#elif PACKETVER >= 20090107
-packetLen(0x0297, 6) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
#if PACKETVER >= 20090406
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#elif PACKETVER >= 20090401
-packetLen(0x029a, 9) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 9)
#elif PACKETVER >= 20090325
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20090318
-packetLen(0x029a, 15) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 15)
#elif PACKETVER >= 20090311
-packetLen(0x029a, 32) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 32)
#elif PACKETVER >= 20090218
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20090211
-packetLen(0x029a, 102) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 102)
#elif PACKETVER >= 20090204
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20090129
-packetLen(0x029a, 2) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 2)
#elif PACKETVER >= 20090120
-packetLen(0x029a, -1) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, -1)
#elif PACKETVER >= 20090107
-packetLen(0x029a, 6) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 6)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
#if PACKETVER >= 20090408
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
#elif PACKETVER >= 20090325
-packetLen(0x02a6, 404) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 404)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20090408
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
#elif PACKETVER >= 20090325
-packetLen(0x02a7, 404) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 404)
#endif
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
#if PACKETVER >= 20090406
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
#elif PACKETVER >= 20090325
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20090318
-packetLen(0x02e1, 114) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 114)
#elif PACKETVER >= 20090311
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20090225
-packetLen(0x02e1, 3) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 3)
#elif PACKETVER >= 20090218
-packetLen(0x02e1, 2) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 2)
#elif PACKETVER >= 20090211
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20090204
-packetLen(0x02e1, 30) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 30)
#elif PACKETVER >= 20090129
-packetLen(0x02e1, -1) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, -1)
#elif PACKETVER >= 20090120
-packetLen(0x02e1, 6) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 6)
#elif PACKETVER >= 20090114
-packetLen(0x02e1, 60) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 60)
#elif PACKETVER >= 20090107
-packetLen(0x02e1, 7) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 7)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
#if PACKETVER >= 20090406
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
#elif PACKETVER >= 20090318
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20090311
-packetLen(0x02ec, 7) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 7)
#elif PACKETVER >= 20090225
-packetLen(0x02ec, 2) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 2)
#elif PACKETVER >= 20090218
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20090211
-packetLen(0x02ec, 26) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 26)
#elif PACKETVER >= 20090204
-packetLen(0x02ec, 4) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 4)
#elif PACKETVER >= 20090120
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#elif PACKETVER >= 20090114
-packetLen(0x02ec, 9) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 9)
#elif PACKETVER >= 20090107
-packetLen(0x02ec, -1) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, -1)
#endif
// Packet: 0x02ed
#if PACKETVER >= 20090406
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
#elif PACKETVER >= 20090401
-packetLen(0x02ed, 28) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 28)
#elif PACKETVER >= 20090325
-packetLen(0x02ed, 15) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 15)
#elif PACKETVER >= 20090318
-packetLen(0x02ed, 2) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 2)
#elif PACKETVER >= 20090311
-packetLen(0x02ed, 6) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 6)
#elif PACKETVER >= 20090225
-packetLen(0x02ed, 29) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 29)
#elif PACKETVER >= 20090211
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20090204
-packetLen(0x02ed, 23) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 23)
#elif PACKETVER >= 20090129
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#elif PACKETVER >= 20090120
-packetLen(0x02ed, 2) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 2)
#elif PACKETVER >= 20090107
-packetLen(0x02ed, -1) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, -1)
#endif
// Packet: 0x02ee
#if PACKETVER >= 20090406
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#elif PACKETVER >= 20090401
-packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 3)
#elif PACKETVER >= 20090325
-packetLen(0x02ee, 6) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 6)
#elif PACKETVER >= 20090318
-packetLen(0x02ee, 5) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 5)
#elif PACKETVER >= 20090311
-packetLen(0x02ee, 3) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 3)
#elif PACKETVER >= 20090211
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#elif PACKETVER >= 20090204
-packetLen(0x02ee, 20) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 20)
#elif PACKETVER >= 20090129
-packetLen(0x02ee, 13) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 13)
#elif PACKETVER >= 20090120
-packetLen(0x02ee, 21) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 21)
#elif PACKETVER >= 20090107
-packetLen(0x02ee, -1) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, -1)
#endif
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
#if PACKETVER >= 20090406
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20090401
-packetLen(0x02f3, 58) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 58)
#elif PACKETVER >= 20090318
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20090311
-packetLen(0x02f3, 2) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 2)
#elif PACKETVER >= 20090218
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#elif PACKETVER >= 20090211
-packetLen(0x02f3, 10) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 10)
#elif PACKETVER >= 20090204
-packetLen(0x02f3, 27) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 27)
#elif PACKETVER >= 20090129
-packetLen(0x02f3, 8) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 8)
#elif PACKETVER >= 20090120
-packetLen(0x02f3, 4) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 4)
#elif PACKETVER >= 20090107
-packetLen(0x02f3, 3) // CZ_IRMAIL_SEND
+packetLen(0x02f3, 3)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x02f4
#if PACKETVER >= 20090401
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20090325
-packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 6)
#elif PACKETVER >= 20090318
-packetLen(0x02f4, 2) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 2)
#elif PACKETVER >= 20090311
-packetLen(0x02f4, 39) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 39)
#elif PACKETVER >= 20090225
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20090218
-packetLen(0x02f4, 11) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 11)
#elif PACKETVER >= 20090211
-packetLen(0x02f4, 7) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 7)
#elif PACKETVER >= 20090204
-packetLen(0x02f4, 6) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 6)
#elif PACKETVER >= 20090129
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#elif PACKETVER >= 20090120
-packetLen(0x02f4, 8) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 8)
#elif PACKETVER >= 20090107
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#endif
// Packet: 0x02f5
#if PACKETVER >= 20090325
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20090318
-packetLen(0x02f5, 10) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 10)
#elif PACKETVER >= 20090311
-packetLen(0x02f5, 60) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 60)
#elif PACKETVER >= 20090225
-packetLen(0x02f5, 6) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 6)
#elif PACKETVER >= 20090218
-packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 8)
#elif PACKETVER >= 20090120
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#elif PACKETVER >= 20090114
-packetLen(0x02f5, 8) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 8)
#elif PACKETVER >= 20090107
-packetLen(0x02f5, 6) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x02f6
#if PACKETVER >= 20090401
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20090325
-packetLen(0x02f6, 26) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 26)
#elif PACKETVER >= 20090318
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20090311
-packetLen(0x02f6, 65) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 65)
#elif PACKETVER >= 20090225
-packetLen(0x02f6, 19) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 19)
#elif PACKETVER >= 20090218
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20090211
-packetLen(0x02f6, 5) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 5)
#elif PACKETVER >= 20090129
-packetLen(0x02f6, 2) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 2)
#elif PACKETVER >= 20090120
-packetLen(0x02f6, 18) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 18)
#elif PACKETVER >= 20090114
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#elif PACKETVER >= 20090107
-packetLen(0x02f6, 8) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 8)
// ignored packet from 2009-01-07aRagexe
#endif
@@ -10492,235 +10492,235 @@ packetLen(0x035b, 10)
#endif
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20090406
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20090401
-packetLen(0x035f, 11) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 11)
#elif PACKETVER >= 20090325
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20090318
-packetLen(0x035f, 67) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 67)
#elif PACKETVER >= 20090311
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20090225
-packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 26)
#elif PACKETVER >= 20090218
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20090129
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20090120
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20090107
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#endif
// Packet: 0x0360
#if PACKETVER >= 20090401
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20090318
-packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+packetLen(0x0360, 4)
#elif PACKETVER >= 20090311
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0360, 8) // CZ_REQUEST_TIME2
+packetLen(0x0360, 8)
#elif PACKETVER >= 20090211
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+packetLen(0x0360, 4)
#elif PACKETVER >= 20090120
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0360, 11) // CZ_REQUEST_TIME2
+packetLen(0x0360, 11)
#elif PACKETVER >= 20090107
-packetLen(0x0360, 29) // CZ_REQUEST_TIME2
+packetLen(0x0360, 29)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0361
#if PACKETVER >= 20090406
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20090325
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20090225
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20090218
-packetLen(0x0361, 22) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 22)
#elif PACKETVER >= 20090211
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0361, 86) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 86)
#elif PACKETVER >= 20090120
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20090107
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#endif
// Packet: 0x0362
#if PACKETVER >= 20090318
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0362, 3) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 3)
#elif PACKETVER >= 20090218
-packetLen(0x0362, 11) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 11)
#elif PACKETVER >= 20090211
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20090120
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0362, 15) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 15)
#elif PACKETVER >= 20090107
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#endif
// Packet: 0x0363
#if PACKETVER >= 20090401
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20090311
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20090225
-packetLen(0x0363, 13) // CZ_ITEM_THROW2
+packetLen(0x0363, 13)
#elif PACKETVER >= 20090211
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0363, 30) // CZ_ITEM_THROW2
+packetLen(0x0363, 30)
#elif PACKETVER >= 20090120
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0363, 4) // CZ_ITEM_THROW2
+packetLen(0x0363, 4)
#elif PACKETVER >= 20090107
-packetLen(0x0363, 34) // CZ_ITEM_THROW2
+packetLen(0x0363, 34)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0364
#if PACKETVER >= 20090406
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0364, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 30)
#elif PACKETVER >= 20090325
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0364, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 30)
#elif PACKETVER >= 20090311
-packetLen(0x0364, 3) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 3)
#elif PACKETVER >= 20090225
-packetLen(0x0364, 30) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 30)
#elif PACKETVER >= 20090218
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20090204
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0364, 7) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 7)
#elif PACKETVER >= 20090120
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20090114
-packetLen(0x0364, 14) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 14)
#elif PACKETVER >= 20090107
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0365
#if PACKETVER >= 20090318
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0365, 60) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 60)
#elif PACKETVER >= 20090211
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0365, 54) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 54)
#elif PACKETVER >= 20090120
-packetLen(0x0365, 67) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 67)
#elif PACKETVER >= 20090107
-packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 4)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0366
#if PACKETVER >= 20090406
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20090318
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0366, 16) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 16)
#elif PACKETVER >= 20090107
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#endif
// Packet: 0x0367
#if PACKETVER >= 20090406
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20090401
-packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 26)
#elif PACKETVER >= 20090325
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0367, 30) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 30)
#elif PACKETVER >= 20090218
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0367, 15) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 15)
#elif PACKETVER >= 20090204
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0367, 29) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 29)
#elif PACKETVER >= 20090107
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0368
#if PACKETVER >= 20090204
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20090120
-packetLen(0x0368, 71) // CZ_REQNAME2
+packetLen(0x0368, 71)
#elif PACKETVER >= 20090114
-packetLen(0x0368, 30) // CZ_REQNAME2
+packetLen(0x0368, 30)
#elif PACKETVER >= 20090107
-packetLen(0x0368, 53) // CZ_REQNAME2
+packetLen(0x0368, 53)
// ignored packet from 2009-01-07aRagexe
#endif
// Packet: 0x0369
#if PACKETVER >= 20090318
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20090225
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20090211
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20090204
-packetLen(0x0369, 3) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 3)
#elif PACKETVER >= 20090114
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20090107
-packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 19)
// ignored packet from 2009-01-07aRagexe
#endif
@@ -13118,10 +13118,10 @@ packetLen(0x03dc, 90)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x03e2
#if PACKETVER >= 20090401
@@ -14919,486 +14919,486 @@ packetLen(0x0435, 3)
// Packet: 0x0436
#if PACKETVER >= 20090406
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20090325
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20090318
-packetLen(0x0436, 8) // CZ_ENTER2
+packetLen(0x0436, 8)
#elif PACKETVER >= 20090311
-packetLen(0x0436, 10) // CZ_ENTER2
+packetLen(0x0436, 10)
#elif PACKETVER >= 20090225
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20090120
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0436, 14) // CZ_ENTER2
+packetLen(0x0436, 14)
#elif PACKETVER >= 20090107
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#endif
// Packet: 0x0437
#if PACKETVER >= 20090406
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20090401
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20090325
-packetLen(0x0437, 4) // CZ_REQUEST_ACT2
+packetLen(0x0437, 4)
#elif PACKETVER >= 20090318
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0437, 30) // CZ_REQUEST_ACT2
+packetLen(0x0437, 30)
#elif PACKETVER >= 20090225
-packetLen(0x0437, 16) // CZ_REQUEST_ACT2
+packetLen(0x0437, 16)
#elif PACKETVER >= 20090218
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0437, 54) // CZ_REQUEST_ACT2
+packetLen(0x0437, 54)
#elif PACKETVER >= 20090204
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0437, 57) // CZ_REQUEST_ACT2
+packetLen(0x0437, 57)
#elif PACKETVER >= 20090107
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#endif
// Packet: 0x0438
#if PACKETVER >= 20090406
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20090318
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20090311
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20090225
-packetLen(0x0438, 3) // CZ_USE_SKILL2
+packetLen(0x0438, 3)
#elif PACKETVER >= 20090204
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20090129
-packetLen(0x0438, 39) // CZ_USE_SKILL2
+packetLen(0x0438, 39)
#elif PACKETVER >= 20090120
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20090114
-packetLen(0x0438, 3) // CZ_USE_SKILL2
+packetLen(0x0438, 3)
#elif PACKETVER >= 20090107
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x0439
#if PACKETVER >= 20090406
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
#elif PACKETVER >= 20090401
-packetLen(0x0439, 5) // CZ_USE_ITEM2
+packetLen(0x0439, 5)
#elif PACKETVER >= 20090218
-packetLen(0x0439, -1) // CZ_USE_ITEM2
+packetLen(0x0439, -1)
#elif PACKETVER >= 20090211
-packetLen(0x0439, 6) // CZ_USE_ITEM2
+packetLen(0x0439, 6)
#elif PACKETVER >= 20090129
-packetLen(0x0439, -1) // CZ_USE_ITEM2
+packetLen(0x0439, -1)
#elif PACKETVER >= 20090120
-packetLen(0x0439, 10) // CZ_USE_ITEM2
+packetLen(0x0439, 10)
#elif PACKETVER >= 20090114
-packetLen(0x0439, 28) // CZ_USE_ITEM2
+packetLen(0x0439, 28)
#elif PACKETVER >= 20090107
-packetLen(0x0439, 3) // CZ_USE_ITEM2
+packetLen(0x0439, 3)
// ignored packet from 2009-01-07bRagexe
#endif
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
#if PACKETVER >= 20090114
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
#elif PACKETVER >= 20090107
-packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 8)
#endif
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, 8)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
#if PACKETVER >= 20090218
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
#endif
// Packet: 0x0447
#if PACKETVER >= 20090520
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
#endif
// Packet: 0x0448
#if PACKETVER >= 20090225
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
#endif
// Packet: 0x0449
#if PACKETVER >= 20090401
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
#endif
// Packet: 0x044a
#if PACKETVER >= 20090406
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
#endif
// Packet: 0x044b
#if PACKETVER >= 20090514
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
#endif
// Packet: 0x07d0
#if PACKETVER >= 20090520
-packetLen(0x07d0, 6) // ZC_ES_RESULT
+packetLen(0x07d0, 6)
#endif
// Packet: 0x07d1
#if PACKETVER >= 20090520
-packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+packetLen(0x07d1, 2)
#endif
// Packet: 0x07d2
#if PACKETVER >= 20090520
-packetLen(0x07d2, -1) // ZC_ES_LIST
+packetLen(0x07d2, -1)
#endif
// Packet: 0x07d3
#if PACKETVER >= 20090520
-packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+packetLen(0x07d3, 4)
#endif
// Packet: 0x07d4
#if PACKETVER >= 20090520
-packetLen(0x07d4, 4) // CZ_ES_CANCEL
+packetLen(0x07d4, 4)
#endif
// Packet: 0x07d5
#if PACKETVER >= 20090520
-packetLen(0x07d5, 4) // ZC_ES_READY
+packetLen(0x07d5, 4)
#endif
// Packet: 0x07d6
#if PACKETVER >= 20090520
-packetLen(0x07d6, 4) // ZC_ES_GOTO
+packetLen(0x07d6, 4)
#endif
// Packet: 0x07d7
#if PACKETVER >= 20090603
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
#endif
// Packet: 0x07d8
#if PACKETVER >= 20090603
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
#endif
// Packet: 0x07d9
#if PACKETVER >= 20090617
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
#elif PACKETVER >= 20090603
-packetLen(0x07d9, 254) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 254)
#endif
// Packet: 0x07da
#if PACKETVER >= 20090603
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
#endif
// Packet: 0x07db
#if PACKETVER >= 20090610
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
#endif
// Packet: 0x07dc
#if PACKETVER >= 20090617
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
#endif
// Packet: 0x07dd
#if PACKETVER >= 20090617
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
#endif
// Packet: 0x07de
#if PACKETVER >= 20090617
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
#endif
// Packet: 0x07df
#if PACKETVER >= 20090617
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
#endif
// Packet: 0x07e0
#if PACKETVER >= 20090708
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
#endif
// Packet: 0x07e1
#if PACKETVER >= 20090715
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
#endif
// Packet: 0x07e2
#if PACKETVER >= 20090805
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
#endif
// Packet: 0x07e3
#if PACKETVER >= 20090818
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
#endif
// Packet: 0x07e4
#if PACKETVER >= 20090818
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#endif
// Packet: 0x07e5
#if PACKETVER >= 20090922
-packetLen(0x07e5, 8) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 8)
#elif PACKETVER >= 20090825
-packetLen(0x07e5, -1) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, -1)
#endif
// Packet: 0x07e6
#if PACKETVER >= 20090818
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
#endif
// Packet: 0x07e7
#if PACKETVER >= 20090922
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
#elif PACKETVER >= 20090825
-packetLen(0x07e7, 5) // CH_CHECKBOT
+packetLen(0x07e7, 5)
#endif
// Packet: 0x07e8
#if PACKETVER >= 20090922
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
#endif
// Packet: 0x07e9
#if PACKETVER >= 20090922
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
#endif
// Packet: 0x07ea
#if PACKETVER >= 20090929
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
#endif
// Packet: 0x07eb
#if PACKETVER >= 20090929
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
#endif
// Packet: 0x07ec
#if PACKETVER >= 20091006
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20090929
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#endif
// Packet: 0x07ed
#if PACKETVER >= 20091006
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
#elif PACKETVER >= 20090929
-packetLen(0x07ed, 8) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 8)
#endif
// Packet: 0x07ee
#if PACKETVER >= 20090929
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
#endif
// Packet: 0x07ef
#if PACKETVER >= 20090929
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
#endif
// Packet: 0x07f0
#if PACKETVER >= 20090929
-packetLen(0x07f0, 8) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 8)
#endif
// Packet: 0x07f1
#if PACKETVER >= 20090929
-packetLen(0x07f1, 15) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 15)
#endif
// Packet: 0x07f2
#if PACKETVER >= 20091006
-packetLen(0x07f2, 6) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 6)
#elif PACKETVER >= 20090929
-packetLen(0x07f2, 4) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 4)
#endif
// Packet: 0x07f3
#if PACKETVER >= 20091006
-packetLen(0x07f3, 4) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 4)
#elif PACKETVER >= 20090929
-packetLen(0x07f3, 3) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 3)
#endif
// Packet: 0x07f4
#if PACKETVER >= 20091006
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
#endif
// Packet: 0x07f5
#if PACKETVER >= 20091027
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
#endif
// Packet: 0x07f6
#if PACKETVER >= 20091027
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
#endif
// Packet: 0x07f7
#if PACKETVER >= 20091103
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
#endif
// Packet: 0x07f8
#if PACKETVER >= 20091103
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
#endif
// Packet: 0x07f9
#if PACKETVER >= 20091103
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
#endif
// Packet: 0x07fa
#if PACKETVER >= 20091117
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
#endif
// Packet: 0x07fb
#if PACKETVER >= 20091124
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
#endif
// Packet: 0x07fc
#if PACKETVER >= 20091201
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
#endif
// Packet: 0x07fd
#if PACKETVER >= 20091201
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
#endif
// Packet: 0x07fe
#if PACKETVER >= 20091201
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
#endif
// Packet: 0x07ff
#if PACKETVER >= 20091201
-packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+packetLen(0x07ff, -1)
#endif
// Packet: 0x0800
#if PACKETVER >= 20091215
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
#endif
// Packet: 0x0801
#if PACKETVER >= 20091215
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
#endif
// Packet: 0x0802
#if PACKETVER >= 20091222
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#endif
// Packet: 0x0803
#if PACKETVER >= 20091222
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
#endif
// Packet: 0x0804
#if PACKETVER >= 20091228
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
#elif PACKETVER >= 20091222
-packetLen(0x0804, 8) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 8)
#endif
// Packet: 0x0805
#if PACKETVER >= 20091222
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
#endif
// Packet: 0x0806
#if PACKETVER >= 20091228
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
#elif PACKETVER >= 20091222
-packetLen(0x0806, 4) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 4)
#endif
// Packet: 0x0807
#if PACKETVER >= 20091228
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
#elif PACKETVER >= 20091222
-packetLen(0x0807, 2) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 2)
#endif
// Packet: 0x0808
#if PACKETVER >= 20091228
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
#elif PACKETVER >= 20091222
-packetLen(0x0808, 4) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 4)
#endif
// Packet: 0x0809
#if PACKETVER >= 20091228
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
#elif PACKETVER >= 20091222
-packetLen(0x0809, 14) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 14)
#endif
// Packet: 0x080a
#if PACKETVER >= 20091228
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
#elif PACKETVER >= 20091222
-packetLen(0x080a, 50) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 50)
#endif
// Packet: 0x080b
#if PACKETVER >= 20091228
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
#elif PACKETVER >= 20091222
-packetLen(0x080b, 18) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 18)
#endif
// Packet: 0x080c
#if PACKETVER >= 20091228
// removed
#elif PACKETVER >= 20091222
-packetLen(0x080c, 6) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 6)
#endif
diff --git a/src/common/packets/packets2009_len_re.h b/src/common/packets/packets2009_len_re.h
index 4cd76c5ca..f8b5ac986 100644
--- a/src/common/packets/packets2009_len_re.h
+++ b/src/common/packets/packets2009_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,144 +25,144 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 114)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
#if PACKETVER >= 20090617
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
// ignored packet from 2009-06-17cRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
#endif
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
#if PACKETVER >= 20090617
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
#if PACKETVER >= 20090617
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
// ignored packet from 2009-06-17cRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
#endif
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
#if PACKETVER >= 20090617
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
#endif
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
#if PACKETVER >= 20090617
@@ -173,99 +173,99 @@ packetLen(0x008c, 14)
#endif
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
#if PACKETVER >= 20090617
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
#endif
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
#if PACKETVER >= 20090617
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
#endif
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
#if PACKETVER >= 20090617
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
#endif
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
#if PACKETVER >= 20090617
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
// ignored packet from 2009-06-17cRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
#endif
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
#if PACKETVER >= 20090617
@@ -276,1781 +276,1781 @@ packetLen(0x00a7, 9)
#endif
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
#if PACKETVER >= 20090617
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
#endif
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
#if PACKETVER >= 20090617
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
// ignored packet from 2009-06-17cRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
#endif
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
#if PACKETVER >= 20090617
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
#endif
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
#if PACKETVER >= 20090617
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
#endif
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
#if PACKETVER >= 20090617
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
#endif
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
#if PACKETVER >= 20090701
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
#endif
// Packet: 0x0276
#if PACKETVER >= 20090701
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
#endif
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
#if PACKETVER >= 20090722
// removed
#elif PACKETVER >= 20090408
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
#elif PACKETVER >= 20090325
-packetLen(0x02a6, 404) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 404)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20090722
// removed
#elif PACKETVER >= 20090408
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
#elif PACKETVER >= 20090325
-packetLen(0x02a7, 404) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 404)
#endif
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
#if PACKETVER >= 20090617
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
#endif
// Packet: 0x02e3
#if PACKETVER >= 20090617
-packetLen(0x02e3, 25) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 25)
// ignored packet from 2009-06-17cRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
#endif
// Packet: 0x02e4
#if PACKETVER >= 20090617
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
#endif
// Packet: 0x02e5
#if PACKETVER >= 20090617
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// ignored packet from 2009-06-17bRagexeRE
#elif PACKETVER >= 20090107
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
#endif
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
// Packet: 0x02f5
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
// Packet: 0x02f6
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
// Packet: 0x02f7
packetLen(0x02f7, -1)
@@ -2356,46 +2356,46 @@ packetLen(0x035a, -1)
packetLen(0x035b, -1)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
// Packet: 0x0360
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
// Packet: 0x0361
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
// Packet: 0x0362
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
// Packet: 0x0363
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
// Packet: 0x0364
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
// Packet: 0x0365
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
// Packet: 0x0366
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
// Packet: 0x0367
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
// Packet: 0x0368
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
// Packet: 0x0369
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
// Packet: 0x036a
packetLen(0x036a, -1)
@@ -2743,10 +2743,10 @@ packetLen(0x03db, -1)
packetLen(0x03dc, -1)
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x03e2
packetLen(0x03e2, -1)
@@ -3001,417 +3001,417 @@ packetLen(0x0434, -1)
packetLen(0x0435, -1)
// Packet: 0x0436
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// Packet: 0x0437
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// Packet: 0x0438
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
#if PACKETVER >= 20090113
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
#elif PACKETVER >= 20090107
-packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 8)
#endif
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, 8)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
#if PACKETVER >= 20090113
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
#endif
// Packet: 0x0445
#if PACKETVER >= 20090113
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
#endif
// Packet: 0x0446
#if PACKETVER >= 20090218
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
#endif
// Packet: 0x0447
#if PACKETVER >= 20090520
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
#endif
// Packet: 0x0448
#if PACKETVER >= 20090226
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
#endif
// Packet: 0x0449
#if PACKETVER >= 20090722
// removed
#elif PACKETVER >= 20090401
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
#endif
// Packet: 0x044a
#if PACKETVER >= 20090408
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
#endif
// Packet: 0x044b
#if PACKETVER >= 20090514
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
#endif
// Packet: 0x07d0
#if PACKETVER >= 20090520
-packetLen(0x07d0, 6) // ZC_ES_RESULT
+packetLen(0x07d0, 6)
#endif
// Packet: 0x07d1
#if PACKETVER >= 20090520
-packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+packetLen(0x07d1, 2)
#endif
// Packet: 0x07d2
#if PACKETVER >= 20090520
-packetLen(0x07d2, -1) // ZC_ES_LIST
+packetLen(0x07d2, -1)
#endif
// Packet: 0x07d3
#if PACKETVER >= 20090520
-packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+packetLen(0x07d3, 4)
#endif
// Packet: 0x07d4
#if PACKETVER >= 20090520
-packetLen(0x07d4, 4) // CZ_ES_CANCEL
+packetLen(0x07d4, 4)
#endif
// Packet: 0x07d5
#if PACKETVER >= 20090520
-packetLen(0x07d5, 4) // ZC_ES_READY
+packetLen(0x07d5, 4)
#endif
// Packet: 0x07d6
#if PACKETVER >= 20090520
-packetLen(0x07d6, 4) // ZC_ES_GOTO
+packetLen(0x07d6, 4)
#endif
// Packet: 0x07d7
#if PACKETVER >= 20090603
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
#endif
// Packet: 0x07d8
#if PACKETVER >= 20090603
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
#endif
// Packet: 0x07d9
#if PACKETVER >= 20090617
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
#elif PACKETVER >= 20090603
-packetLen(0x07d9, 254) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 254)
#endif
// Packet: 0x07da
#if PACKETVER >= 20090603
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
#endif
// Packet: 0x07db
#if PACKETVER >= 20090610
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
#endif
// Packet: 0x07dc
#if PACKETVER >= 20090617
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
#endif
// Packet: 0x07dd
#if PACKETVER >= 20090617
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
#endif
// Packet: 0x07de
#if PACKETVER >= 20090617
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
#endif
// Packet: 0x07df
#if PACKETVER >= 20090617
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
#endif
// Packet: 0x07e0
#if PACKETVER >= 20090708
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
#endif
// Packet: 0x07e1
#if PACKETVER >= 20090715
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
#endif
// Packet: 0x07e2
#if PACKETVER >= 20090805
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
#endif
// Packet: 0x07e3
#if PACKETVER >= 20090818
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
#endif
// Packet: 0x07e4
#if PACKETVER >= 20090818
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#endif
// Packet: 0x07e5
#if PACKETVER >= 20090922
-packetLen(0x07e5, 8) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 8)
#elif PACKETVER >= 20090825
-packetLen(0x07e5, -1) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, -1)
#endif
// Packet: 0x07e6
#if PACKETVER >= 20090818
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
#endif
// Packet: 0x07e7
#if PACKETVER >= 20090922
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
#elif PACKETVER >= 20090825
-packetLen(0x07e7, 5) // CH_CHECKBOT
+packetLen(0x07e7, 5)
#endif
// Packet: 0x07e8
#if PACKETVER >= 20090922
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
#endif
// Packet: 0x07e9
#if PACKETVER >= 20090922
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
#endif
// Packet: 0x07ea
#if PACKETVER >= 20090929
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
#endif
// Packet: 0x07eb
#if PACKETVER >= 20090929
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
#endif
// Packet: 0x07ec
#if PACKETVER >= 20091006
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20090929
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#endif
// Packet: 0x07ed
#if PACKETVER >= 20091006
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
#elif PACKETVER >= 20090929
-packetLen(0x07ed, 8) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 8)
#endif
// Packet: 0x07ee
#if PACKETVER >= 20090929
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
#endif
// Packet: 0x07ef
#if PACKETVER >= 20090929
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
#endif
// Packet: 0x07f0
#if PACKETVER >= 20090929
-packetLen(0x07f0, 8) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 8)
#endif
// Packet: 0x07f1
#if PACKETVER >= 20090929
-packetLen(0x07f1, 15) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 15)
#endif
// Packet: 0x07f2
#if PACKETVER >= 20091006
-packetLen(0x07f2, 6) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 6)
#elif PACKETVER >= 20090929
-packetLen(0x07f2, 4) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 4)
#endif
// Packet: 0x07f3
#if PACKETVER >= 20091006
-packetLen(0x07f3, 4) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 4)
#elif PACKETVER >= 20090929
-packetLen(0x07f3, 3) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 3)
#endif
// Packet: 0x07f4
#if PACKETVER >= 20091006
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
#endif
// Packet: 0x07f5
#if PACKETVER >= 20091027
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
#endif
// Packet: 0x07f6
#if PACKETVER >= 20091027
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
#endif
// Packet: 0x07f7
#if PACKETVER >= 20091103
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
#endif
// Packet: 0x07f8
#if PACKETVER >= 20091103
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
#endif
// Packet: 0x07f9
#if PACKETVER >= 20091103
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
#endif
// Packet: 0x07fa
#if PACKETVER >= 20091117
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
#endif
// Packet: 0x07fb
#if PACKETVER >= 20091124
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
#endif
// Packet: 0x07fc
#if PACKETVER >= 20091201
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
#endif
// Packet: 0x07fd
#if PACKETVER >= 20091201
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
#endif
// Packet: 0x07fe
#if PACKETVER >= 20091201
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
#endif
// Packet: 0x07ff
#if PACKETVER >= 20091201
-packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+packetLen(0x07ff, -1)
#endif
// Packet: 0x0800
#if PACKETVER >= 20091215
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
#endif
// Packet: 0x0801
#if PACKETVER >= 20091215
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
#endif
// Packet: 0x0802
#if PACKETVER >= 20091222
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#endif
// Packet: 0x0803
#if PACKETVER >= 20091222
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
#endif
// Packet: 0x0804
#if PACKETVER >= 20091229
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
#elif PACKETVER >= 20091222
-packetLen(0x0804, 8) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 8)
#endif
// Packet: 0x0805
#if PACKETVER >= 20091222
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
#endif
// Packet: 0x0806
#if PACKETVER >= 20091229
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
#elif PACKETVER >= 20091222
-packetLen(0x0806, 4) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 4)
#endif
// Packet: 0x0807
#if PACKETVER >= 20091229
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
#elif PACKETVER >= 20091222
-packetLen(0x0807, 2) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 2)
#endif
// Packet: 0x0808
#if PACKETVER >= 20091229
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
#elif PACKETVER >= 20091222
-packetLen(0x0808, 4) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 4)
#endif
// Packet: 0x0809
#if PACKETVER >= 20091229
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
#elif PACKETVER >= 20091222
-packetLen(0x0809, 14) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 14)
#endif
// Packet: 0x080a
#if PACKETVER >= 20091229
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
#elif PACKETVER >= 20091222
-packetLen(0x080a, 50) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 50)
#endif
// Packet: 0x080b
#if PACKETVER >= 20091229
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
#elif PACKETVER >= 20091222
-packetLen(0x080b, 18) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 18)
#endif
// Packet: 0x080c
#if PACKETVER >= 20091229
// removed
#elif PACKETVER >= 20091222
-packetLen(0x080c, 6) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 6)
#endif
diff --git a/src/common/packets/packets2009_len_sak.h b/src/common/packets/packets2009_len_sak.h
index f732fddea..da3727fd2 100644
--- a/src/common/packets/packets2009_len_sak.h
+++ b/src/common/packets/packets2009_len_sak.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,1923 +25,1923 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 110) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 110)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 25) // CZ_ENTER
+packetLen(0x0072, 25)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 42) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 42)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 102) // CZ_REQUEST_TIME
+packetLen(0x007e, 102)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 11) // CZ_REQUEST_MOVE
+packetLen(0x0085, 11)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 8) // CZ_REQUEST_ACT
+packetLen(0x0089, 8)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 11)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 14) // CZ_REQNAME
+packetLen(0x0094, 14)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 26) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 26)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 14) // CZ_ITEM_PICKUP
+packetLen(0x009f, 14)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 15) // CZ_ITEM_THROW
+packetLen(0x00a2, 15)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 8)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 8)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 22) // CZ_REQUEST_TIME
+packetLen(0x00f7, 22)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 22) // CZ_USE_SKILL
+packetLen(0x0113, 22)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 10) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 10)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 19)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
#if PACKETVER >= 20090408
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
#elif PACKETVER >= 20090320
-packetLen(0x02a6, 404) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, 404)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20090408
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
#elif PACKETVER >= 20090320
-packetLen(0x02a7, 404) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, 404)
#endif
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 14) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 14)
// Packet: 0x02e3
-packetLen(0x02e3, 25) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 25)
// Packet: 0x02e4
-packetLen(0x02e4, 8) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 8)
// Packet: 0x02e5
-packetLen(0x02e5, 8) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 8)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
// Packet: 0x02f5
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
// Packet: 0x02f6
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
// Packet: 0x02f7
packetLen(0x02f7, -1)
@@ -2247,46 +2247,46 @@ packetLen(0x035a, -1)
packetLen(0x035b, -1)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
// Packet: 0x0360
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
// Packet: 0x0361
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
// Packet: 0x0362
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
// Packet: 0x0363
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
// Packet: 0x0364
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
// Packet: 0x0365
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
// Packet: 0x0366
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
// Packet: 0x0367
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
// Packet: 0x0368
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
// Packet: 0x0369
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
// Packet: 0x036a
packetLen(0x036a, -1)
@@ -2634,10 +2634,10 @@ packetLen(0x03db, -1)
packetLen(0x03dc, -1)
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x03e2
packetLen(0x03e2, -1)
@@ -2892,162 +2892,162 @@ packetLen(0x0434, -1)
packetLen(0x0435, -1)
// Packet: 0x0436
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// Packet: 0x0437
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// Packet: 0x0438
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
#if PACKETVER >= 20090114
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
#elif PACKETVER >= 20090107
-packetLen(0x043f, 8) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 8)
#endif
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, 8)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
#if PACKETVER >= 20090114
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
#endif
// Packet: 0x0445
#if PACKETVER >= 20090114
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
#endif
// Packet: 0x0446
#if PACKETVER >= 20090218
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
#endif
// Packet: 0x0447
#if PACKETVER >= 20090520
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
#endif
// Packet: 0x0448
#if PACKETVER >= 20090225
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
#endif
// Packet: 0x0449
#if PACKETVER >= 20090330
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
#endif
// Packet: 0x044a
#if PACKETVER >= 20090408
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
#endif
// Packet: 0x044b
#if PACKETVER >= 20090514
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
#endif
// Packet: 0x07d0
#if PACKETVER >= 20090520
-packetLen(0x07d0, 6) // ZC_ES_RESULT
+packetLen(0x07d0, 6)
#endif
// Packet: 0x07d1
#if PACKETVER >= 20090520
-packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+packetLen(0x07d1, 2)
#endif
// Packet: 0x07d2
#if PACKETVER >= 20090520
-packetLen(0x07d2, -1) // ZC_ES_LIST
+packetLen(0x07d2, -1)
#endif
// Packet: 0x07d3
#if PACKETVER >= 20090520
-packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+packetLen(0x07d3, 4)
#endif
// Packet: 0x07d4
#if PACKETVER >= 20090520
-packetLen(0x07d4, 4) // CZ_ES_CANCEL
+packetLen(0x07d4, 4)
#endif
// Packet: 0x07d5
#if PACKETVER >= 20090520
-packetLen(0x07d5, 4) // ZC_ES_READY
+packetLen(0x07d5, 4)
#endif
// Packet: 0x07d6
#if PACKETVER >= 20090520
-packetLen(0x07d6, 4) // ZC_ES_GOTO
+packetLen(0x07d6, 4)
#endif
// Packet: 0x07d7
#if PACKETVER >= 20090603
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
#endif
// Packet: 0x07d8
#if PACKETVER >= 20090603
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
#endif
// Packet: 0x07d9
#if PACKETVER >= 20090617
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
#elif PACKETVER >= 20090603
-packetLen(0x07d9, 254) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 254)
#endif
// Packet: 0x07da
#if PACKETVER >= 20090603
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
#endif
// Packet: 0x07db
#if PACKETVER >= 20090610
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
#endif
// Packet: 0x07dc
#if PACKETVER >= 20090617
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
#endif
// Packet: 0x07dd
#if PACKETVER >= 20090617
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
#endif
// Packet: 0x07de
#if PACKETVER >= 20090617
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
#endif
// Packet: 0x07df
#if PACKETVER >= 20090617
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
#endif
diff --git a/src/common/packets/packets2010_len_main.h b/src/common/packets/packets2010_len_main.h
index 32424bac8..da5c3aa13 100644
--- a/src/common/packets/packets2010_len_main.h
+++ b/src/common/packets/packets2010_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,1994 +25,1994 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20100803
-packetLen(0x006d, 134) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 134)
#elif PACKETVER >= 20100728
-packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 114)
#elif PACKETVER >= 20100727
-packetLen(0x006d, 130) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 130)
#elif PACKETVER >= 20100105
-packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 114)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
#if PACKETVER >= 20101123
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
#elif PACKETVER >= 20100105
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
#endif
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
#if PACKETVER >= 20100817
// removed
#elif PACKETVER >= 20100105
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
#endif
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20101228
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+packetLen(0x0202, 18)
#elif PACKETVER >= 20101130
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20100105
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20101214
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20101207
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20101130
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20101123
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20100105
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20101228
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20101221
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20101214
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20101207
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#elif PACKETVER >= 20101123
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20100105
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20101228
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20101123
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
#if PACKETVER >= 20100803
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
#elif PACKETVER >= 20100105
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
#endif
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20101123
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20100105
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
#if PACKETVER >= 20101123
// removed
#elif PACKETVER >= 20100105
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#endif
// Packet: 0x02f4
#if PACKETVER >= 20101123
// removed
#elif PACKETVER >= 20100105
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#endif
// Packet: 0x02f5
#if PACKETVER >= 20101123
// removed
#elif PACKETVER >= 20100105
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#endif
// Packet: 0x02f6
#if PACKETVER >= 20101123
// removed
#elif PACKETVER >= 20100105
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#endif
// Packet: 0x02f7
@@ -2723,157 +2723,157 @@ packetLen(0x035b, -1)
#endif
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20101221
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20101214
-packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 18)
#elif PACKETVER >= 20101130
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20101123
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20100105
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#endif
// Packet: 0x0360
#if PACKETVER >= 20101214
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20101123
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#endif
// Packet: 0x0361
#if PACKETVER >= 20101228
-packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 10)
#elif PACKETVER >= 20101221
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20101214
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20101130
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20100105
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#endif
// Packet: 0x0362
#if PACKETVER >= 20101221
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20101214
-packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 90)
#elif PACKETVER >= 20101207
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20101130
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20100105
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#endif
// Packet: 0x0363
#if PACKETVER >= 20101228
-packetLen(0x0363, 12) // CZ_ITEM_THROW2
+packetLen(0x0363, 12)
#elif PACKETVER >= 20101221
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20101207
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20101123
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#endif
// Packet: 0x0364
#if PACKETVER >= 20101214
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0364, 12) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 12)
#elif PACKETVER >= 20101123
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20100105
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#endif
// Packet: 0x0365
#if PACKETVER >= 20101228
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20101130
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 36)
#elif PACKETVER >= 20100105
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#endif
// Packet: 0x0366
#if PACKETVER >= 20101221
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20101214
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20101207
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20101123
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#endif
// Packet: 0x0367
#if PACKETVER >= 20101228
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20101123
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#endif
// Packet: 0x0368
#if PACKETVER >= 20101228
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20101221
-packetLen(0x0368, 10) // CZ_REQNAME2
+packetLen(0x0368, 10)
#elif PACKETVER >= 20101214
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0368, 4) // CZ_REQNAME2
+packetLen(0x0368, 4)
#elif PACKETVER >= 20101130
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20101123
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#endif
// Packet: 0x0369
#if PACKETVER >= 20101228
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20101207
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0369, 90) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 90)
#elif PACKETVER >= 20101123
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#endif
// Packet: 0x036a
@@ -3682,10 +3682,10 @@ packetLen(0x03dc, -1)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x03e2
#if PACKETVER >= 20101123
@@ -4277,936 +4277,936 @@ packetLen(0x0435, -1)
// Packet: 0x0436
#if PACKETVER >= 20101228
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0436, 12) // CZ_ENTER2
+packetLen(0x0436, 12)
#elif PACKETVER >= 20101214
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20101123
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#endif
// Packet: 0x0437
#if PACKETVER >= 20101228
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20101207
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20101123
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20100105
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#endif
// Packet: 0x0438
#if PACKETVER >= 20101214
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0438, 7) // CZ_USE_SKILL2
+packetLen(0x0438, 7)
#elif PACKETVER >= 20101130
-packetLen(0x0438, 12) // CZ_USE_SKILL2
+packetLen(0x0438, 12)
#elif PACKETVER >= 20100105
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
#if PACKETVER >= 20100817
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
#elif PACKETVER >= 20100105
-packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, 8)
#endif
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d0
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d0, 6) // ZC_ES_RESULT
+packetLen(0x07d0, 6)
#endif
// Packet: 0x07d1
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+packetLen(0x07d1, 2)
#endif
// Packet: 0x07d2
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d2, -1) // ZC_ES_LIST
+packetLen(0x07d2, -1)
#endif
// Packet: 0x07d3
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+packetLen(0x07d3, 4)
#endif
// Packet: 0x07d4
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d4, 4) // CZ_ES_CANCEL
+packetLen(0x07d4, 4)
#endif
// Packet: 0x07d5
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d5, 4) // ZC_ES_READY
+packetLen(0x07d5, 4)
#endif
// Packet: 0x07d6
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d6, 4) // ZC_ES_GOTO
+packetLen(0x07d6, 4)
#endif
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20101228
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20101221
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20101214
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20101207
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20101123
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20100105
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#endif
// Packet: 0x07e5
#if PACKETVER >= 20101012
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
#elif PACKETVER >= 20100105
-packetLen(0x07e5, 8) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 8)
#endif
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20101207
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20101130
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20101123
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20100105
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
#if PACKETVER >= 20100209
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
#elif PACKETVER >= 20100105
-packetLen(0x07f0, 8) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 8)
#endif
// Packet: 0x07f1
#if PACKETVER >= 20100629
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
#elif PACKETVER >= 20100105
-packetLen(0x07f1, 15) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 15)
#endif
// Packet: 0x07f2
#if PACKETVER >= 20100629
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
#elif PACKETVER >= 20100105
-packetLen(0x07f2, 6) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 6)
#endif
// Packet: 0x07f3
#if PACKETVER >= 20100629
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
#elif PACKETVER >= 20100105
-packetLen(0x07f3, 4) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 4)
#endif
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x07ff
-packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+packetLen(0x07ff, -1)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20101228
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20101214
-packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 36)
#elif PACKETVER >= 20101130
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 5)
#elif PACKETVER >= 20100105
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
#if PACKETVER >= 20100113
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
#endif
// Packet: 0x080d
#if PACKETVER >= 20100113
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
#endif
// Packet: 0x080e
#if PACKETVER >= 20100119
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
#endif
// Packet: 0x080f
#if PACKETVER >= 20100223
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
#endif
// Packet: 0x0810
#if PACKETVER >= 20100303
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
#endif
// Packet: 0x0811
#if PACKETVER >= 20101228
-packetLen(0x0811, 90) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 90)
#elif PACKETVER >= 20101221
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20101207
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20101123
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20100303
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
#if PACKETVER >= 20100420
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
#elif PACKETVER >= 20100303
-packetLen(0x0812, 86) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 86)
#endif
// Packet: 0x0813
#if PACKETVER >= 20100309
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
#elif PACKETVER >= 20100303
-packetLen(0x0813, 6) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, 6)
#endif
// Packet: 0x0814
#if PACKETVER >= 20100420
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
#elif PACKETVER >= 20100309
-packetLen(0x0814, 2) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 2)
#elif PACKETVER >= 20100303
-packetLen(0x0814, 6) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 6)
#endif
// Packet: 0x0815
#if PACKETVER >= 20101228
-packetLen(0x0815, 7) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 7)
#elif PACKETVER >= 20101221
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20101214
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20101207
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20100420
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20100309
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20100303
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
#if PACKETVER >= 20100309
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
#endif
// Packet: 0x0817
#if PACKETVER >= 20101228
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20101221
-packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 7)
#elif PACKETVER >= 20101130
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20100420
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20100303
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#endif
// Packet: 0x0818
#if PACKETVER >= 20100309
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
#elif PACKETVER >= 20100303
-packetLen(0x0818, 6) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, 6)
#endif
// Packet: 0x0819
#if PACKETVER >= 20101207
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0819, 7) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 7)
#elif PACKETVER >= 20101123
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20100420
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20100309
-packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 10)
#elif PACKETVER >= 20100303
-packetLen(0x0819, 4) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 4)
#endif
// Packet: 0x081a
#if PACKETVER >= 20100420
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
#elif PACKETVER >= 20100413
-packetLen(0x081a, 10) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 10)
#elif PACKETVER >= 20100331
-packetLen(0x081a, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 6)
#elif PACKETVER >= 20100309
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
#endif
// Packet: 0x081b
#if PACKETVER >= 20100420
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
#elif PACKETVER >= 20100414
-packetLen(0x081b, 8) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 8)
#elif PACKETVER >= 20100309
-packetLen(0x081b, 4) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 4)
#endif
// Packet: 0x081c
#if PACKETVER >= 20100420
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
#elif PACKETVER >= 20100309
-packetLen(0x081c, 6) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 6)
#endif
// Packet: 0x081d
#if PACKETVER >= 20100309
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
#endif
// Packet: 0x081e
#if PACKETVER >= 20100309
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
#endif
// Packet: 0x081f
#if PACKETVER >= 20100323
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
#endif
// Packet: 0x0820
#if PACKETVER >= 20100413
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
#endif
// Packet: 0x0821
#if PACKETVER >= 20100413
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
#endif
// Packet: 0x0822
#if PACKETVER >= 20100413
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
#endif
// Packet: 0x0823
#if PACKETVER >= 20100413
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
#endif
// Packet: 0x0824
#if PACKETVER >= 20100420
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
#endif
// Packet: 0x0825
#if PACKETVER >= 20100601
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
#endif
// Packet: 0x0826
#if PACKETVER >= 20101019
// removed
#elif PACKETVER >= 20100601
-packetLen(0x0826, 4) // AC_SSO_LOGIN_ACK
+packetLen(0x0826, 4)
#endif
// Packet: 0x0827
#if PACKETVER >= 20100713
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
#endif
// Packet: 0x0828
#if PACKETVER >= 20100713
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
#endif
// Packet: 0x0829
#if PACKETVER >= 20100728
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
#elif PACKETVER >= 20100713
-packetLen(0x0829, 6) // CH_DELETE_CHAR3
+packetLen(0x0829, 6)
#endif
// Packet: 0x082a
#if PACKETVER >= 20100713
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
#endif
// Packet: 0x082b
#if PACKETVER >= 20100713
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
#endif
// Packet: 0x082c
#if PACKETVER >= 20100720
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
#elif PACKETVER >= 20100713
-packetLen(0x082c, 14) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 14)
#endif
// Packet: 0x082d
#if PACKETVER >= 20101221
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
#endif
// Packet: 0x0835
#if PACKETVER >= 20101228
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20101214
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 19)
#elif PACKETVER >= 20101130
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20101123
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20100601
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#endif
// Packet: 0x0836
#if PACKETVER >= 20100601
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
#endif
// Packet: 0x0837
#if PACKETVER >= 20100601
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
#endif
// Packet: 0x0838
#if PACKETVER >= 20101228
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20101214
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20101130
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20100608
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20100601
-packetLen(0x0838, 3) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 3)
#endif
// Packet: 0x0839
#if PACKETVER >= 20100608
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
#endif
// Packet: 0x083a
#if PACKETVER >= 20100701
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
#elif PACKETVER >= 20100608
-packetLen(0x083a, 4) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 4)
#endif
// Packet: 0x083b
#if PACKETVER >= 20100608
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
#endif
// Packet: 0x083c
#if PACKETVER >= 20101214
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20101207
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20101130
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20101123
-packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 7)
#elif PACKETVER >= 20100608
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
#endif
// Packet: 0x083d
#if PACKETVER >= 20100608
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
#endif
// Packet: 0x083e
#if PACKETVER >= 20100615
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
#endif
// Packet: 0x083f
#if PACKETVER >= 20100629
// removed
#elif PACKETVER >= 20100622
-packetLen(0x083f, 22) // ZC_SEARCH_STORE_OPEN_INFO
+packetLen(0x083f, 22)
#endif
// Packet: 0x0840
#if PACKETVER >= 20100713
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
#endif
// Packet: 0x0841
#if PACKETVER >= 20100714
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
#elif PACKETVER >= 20100713
-packetLen(0x0841, 19) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 19)
#endif
// Packet: 0x0842
#if PACKETVER >= 20100720
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
#endif
// Packet: 0x0843
#if PACKETVER >= 20100720
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
#endif
// Packet: 0x0844
#if PACKETVER >= 20100824
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
#endif
// Packet: 0x0845
#if PACKETVER >= 20100824
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
#endif
// Packet: 0x0846
#if PACKETVER >= 20100824
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
#endif
// Packet: 0x0847
#if PACKETVER >= 20100824
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
#endif
// Packet: 0x0848
#if PACKETVER >= 20100824
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
#endif
// Packet: 0x0849
#if PACKETVER >= 20100914
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
#elif PACKETVER >= 20100824
-packetLen(0x0849, 12) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 12)
#endif
// Packet: 0x084a
#if PACKETVER >= 20101019
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
#endif
// Packet: 0x084b
#if PACKETVER >= 20101019
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
#endif
// Packet: 0x084c
#if PACKETVER >= 20101026
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
#endif
// Packet: 0x084d
#if PACKETVER >= 20101026
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
#endif
// Packet: 0x084e
#if PACKETVER >= 20101026
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
#endif
// Packet: 0x084f
#if PACKETVER >= 20101026
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
#endif
// Packet: 0x0850
#if PACKETVER >= 20101026
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
#endif
// Packet: 0x0851
#if PACKETVER >= 20101102
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
#endif
// Packet: 0x0852
#if PACKETVER >= 20101102
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
#endif
// Packet: 0x0853
#if PACKETVER >= 20101102
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
#endif
// Packet: 0x0854
#if PACKETVER >= 20101102
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
#endif
// Packet: 0x0855
#if PACKETVER >= 20101102
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
#endif
// Packet: 0x0856
#if PACKETVER >= 20101123
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
#endif
// Packet: 0x0857
#if PACKETVER >= 20101123
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
#endif
// Packet: 0x0858
#if PACKETVER >= 20101123
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
#endif
// Packet: 0x0859
#if PACKETVER >= 20101123
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
#endif
// Packet: 0x085a
#if PACKETVER >= 20101123
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20101123
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20101123
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20101123
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20101123
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20101123
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20101123
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20101123
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20101123
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20101123
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20101123
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20101123
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20101123
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20101123
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20101123
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20101123
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20101123
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20101123
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20101123
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20101123
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20101123
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20101123
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20101123
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20101123
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -5216,568 +5216,568 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20101123
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20101123
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20101123
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20101123
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20101123
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20101123
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20101123
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20101123
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20101123
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20101123
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20101123
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20101123
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20101123
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20101123
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20101123
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20101123
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20101123
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20101228
-packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 19)
#elif PACKETVER >= 20101221
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20101214
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20101123
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20101228
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20101214
-packetLen(0x0885, 19) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 19)
#elif PACKETVER >= 20101207
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20101123
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20101228
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20101221
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20101207
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0886, 10) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 10)
#elif PACKETVER >= 20101123
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20101221
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20101214
-packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 4)
#elif PACKETVER >= 20101207
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20101130
-packetLen(0x0887, 18) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 18)
#elif PACKETVER >= 20101123
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20101228
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20101221
-packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 4)
#elif PACKETVER >= 20101130
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 10)
#endif
// Packet: 0x0889
#if PACKETVER >= 20101228
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20101214
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 26)
#elif PACKETVER >= 20101130
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 19)
#endif
// Packet: 0x088a
#if PACKETVER >= 20101123
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20101123
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20101228
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20101221
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20101207
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20101130
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20101123
-packetLen(0x088c, 26) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 26)
#endif
// Packet: 0x088d
#if PACKETVER >= 20101228
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20101221
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20101214
-packetLen(0x088d, 12) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 12)
#elif PACKETVER >= 20101123
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20101228
-packetLen(0x088e, 18) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 18)
#elif PACKETVER >= 20101207
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20101130
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20101123
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20101228
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20101221
-packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 10)
#elif PACKETVER >= 20101214
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20101207
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20101130
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20101123
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#endif
// Packet: 0x0890
#if PACKETVER >= 20101228
-packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 4)
#elif PACKETVER >= 20101214
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20101123
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20101228
-packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 26)
#elif PACKETVER >= 20101214
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20101130
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#endif
// Packet: 0x0892
#if PACKETVER >= 20101228
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 8)
#elif PACKETVER >= 20101214
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20101123
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20101228
-packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, -1)
#elif PACKETVER >= 20101130
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 18)
#endif
// Packet: 0x0894
#if PACKETVER >= 20101207
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20101123
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20101214
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20101123
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20101228
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20101214
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20101207
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20101130
-packetLen(0x0896, 10) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 10)
#elif PACKETVER >= 20101123
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20101228
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20101221
-packetLen(0x0897, 36) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 36)
#elif PACKETVER >= 20101214
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20101123
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20101228
-packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 10)
#elif PACKETVER >= 20101221
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20101214
-packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 5)
#elif PACKETVER >= 20101207
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20101130
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20101123
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#endif
// Packet: 0x0899
#if PACKETVER >= 20101228
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20101221
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20101214
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20101207
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20101130
-packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, -1)
#elif PACKETVER >= 20101123
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#endif
// Packet: 0x089a
#if PACKETVER >= 20101123
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20101130
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20101123
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#endif
// Packet: 0x089c
#if PACKETVER >= 20101228
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20101221
-packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, -1)
#elif PACKETVER >= 20101214
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20101123
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20101228
-packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 36)
#elif PACKETVER >= 20101214
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20101207
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20101130
-packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 36)
#elif PACKETVER >= 20101123
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20101228
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20101221
-packetLen(0x089e, 90) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 90)
#elif PACKETVER >= 20101214
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20101207
-packetLen(0x089e, 18) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 18)
#elif PACKETVER >= 20101130
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20101123
-packetLen(0x089e, 4) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 4)
#endif
// Packet: 0x089f
#if PACKETVER >= 20101221
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20101214
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20101207
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20101130
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20101123
-packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 8)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20101228
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20101123
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20101221
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20101214
-packetLen(0x08a1, -1) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, -1)
#elif PACKETVER >= 20101130
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20101123
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20101228
-packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 5)
#elif PACKETVER >= 20101214
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20101207
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20101130
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20101123
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20101221
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20101214
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20101207
-packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, -1)
#elif PACKETVER >= 20101130
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20101123
-packetLen(0x08a3, 12) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 12)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20101228
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20101221
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20101214
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20101123
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20101228
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20101214
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20101207
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20101123
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20101123
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20101221
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20101214
-packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 8)
#elif PACKETVER >= 20101123
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20101123
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20101214
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20101207
-packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 10)
#elif PACKETVER >= 20101130
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20101123
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20101228
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20101221
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20101214
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20101207
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20101130
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20101123
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20101207
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20101130
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20101123
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20101228
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20101221
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20101214
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20101207
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20101130
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20101123
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20101228
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20101221
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20101214
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20101207
-packetLen(0x08ad, 90) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 90)
#elif PACKETVER >= 20101130
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20101123
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#endif
// Packet: 0x08af
#if PACKETVER >= 20101228
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
#endif
// Packet: 0x08b1
#if PACKETVER >= 20101221
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
#endif
// Packet: 0x08b2
#if PACKETVER >= 20101228
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
#endif
diff --git a/src/common/packets/packets2010_len_re.h b/src/common/packets/packets2010_len_re.h
index ef683fc04..9ebe1def6 100644
--- a/src/common/packets/packets2010_len_re.h
+++ b/src/common/packets/packets2010_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,1950 +25,1950 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20100803
-packetLen(0x006d, 134) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 134)
#elif PACKETVER >= 20100728
-packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 114)
#elif PACKETVER >= 20100720
-packetLen(0x006d, 130) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 130)
#elif PACKETVER >= 20100105
-packetLen(0x006d, 114) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 114)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
#if PACKETVER >= 20100629
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
#elif PACKETVER >= 20100105
-packetLen(0x00aa, 7) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 7)
#endif
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0158
#if PACKETVER >= 20100817
// removed
#elif PACKETVER >= 20100105
-packetLen(0x0158, -1) // ZC_ACK_OPEN_MEMBER_INFO
+packetLen(0x0158, -1)
#endif
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
#if PACKETVER >= 20100803
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
#elif PACKETVER >= 20100105
-packetLen(0x0288, 10) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, 10)
#endif
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
#if PACKETVER >= 20101123
// removed
#elif PACKETVER >= 20100105
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#endif
// Packet: 0x02f4
#if PACKETVER >= 20101123
// removed
#elif PACKETVER >= 20100105
-packetLen(0x02f4, -1) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, -1)
#endif
// Packet: 0x02f5
#if PACKETVER >= 20101123
// removed
#elif PACKETVER >= 20100105
-packetLen(0x02f5, -1) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, -1)
#endif
// Packet: 0x02f6
#if PACKETVER >= 20101123
// removed
#elif PACKETVER >= 20100105
-packetLen(0x02f6, -1) // CZ_IRMAIL_LIST
+packetLen(0x02f6, -1)
#endif
// Packet: 0x02f7
@@ -2679,89 +2679,89 @@ packetLen(0x035b, -1)
#endif
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20101123
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20100105
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#endif
// Packet: 0x0360
#if PACKETVER >= 20101123
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20100105
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#endif
// Packet: 0x0361
#if PACKETVER >= 20101123
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20100105
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#endif
// Packet: 0x0362
#if PACKETVER >= 20101123
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20100105
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#endif
// Packet: 0x0363
#if PACKETVER >= 20101123
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20100105
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#endif
// Packet: 0x0364
#if PACKETVER >= 20101123
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20100105
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#endif
// Packet: 0x0365
#if PACKETVER >= 20101123
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20100105
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#endif
// Packet: 0x0366
#if PACKETVER >= 20101123
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20100105
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#endif
// Packet: 0x0367
#if PACKETVER >= 20101123
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20100105
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#endif
// Packet: 0x0368
#if PACKETVER >= 20101123
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20100105
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#endif
// Packet: 0x0369
#if PACKETVER >= 20101123
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20100105
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#endif
// Packet: 0x036a
@@ -3570,10 +3570,10 @@ packetLen(0x03dc, -1)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x03e2
#if PACKETVER >= 20101123
@@ -4164,812 +4164,812 @@ packetLen(0x0435, -1)
#endif
// Packet: 0x0436
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// Packet: 0x0437
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// Packet: 0x0438
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
#if PACKETVER >= 20100817
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
#elif PACKETVER >= 20100105
-packetLen(0x0442, 8) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, 8)
#endif
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d0
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d0, 6) // ZC_ES_RESULT
+packetLen(0x07d0, 6)
#endif
// Packet: 0x07d1
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d1, 2) // CZ_ES_GET_LIST
+packetLen(0x07d1, 2)
#endif
// Packet: 0x07d2
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d2, -1) // ZC_ES_LIST
+packetLen(0x07d2, -1)
#endif
// Packet: 0x07d3
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d3, 4) // CZ_ES_CHOOSE
+packetLen(0x07d3, 4)
#endif
// Packet: 0x07d4
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d4, 4) // CZ_ES_CANCEL
+packetLen(0x07d4, 4)
#endif
// Packet: 0x07d5
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d5, 4) // ZC_ES_READY
+packetLen(0x07d5, 4)
#endif
// Packet: 0x07d6
#if PACKETVER >= 20100701
// removed
#elif PACKETVER >= 20100105
-packetLen(0x07d6, 4) // ZC_ES_GOTO
+packetLen(0x07d6, 4)
#endif
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
// Packet: 0x07e5
#if PACKETVER >= 20101012
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
#elif PACKETVER >= 20100105
-packetLen(0x07e5, 8) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 8)
#endif
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
#if PACKETVER >= 20100209
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
#elif PACKETVER >= 20100105
-packetLen(0x07f0, 8) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 8)
#endif
// Packet: 0x07f1
#if PACKETVER >= 20100629
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
#elif PACKETVER >= 20100105
-packetLen(0x07f1, 15) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 15)
#endif
// Packet: 0x07f2
#if PACKETVER >= 20100629
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
#elif PACKETVER >= 20100105
-packetLen(0x07f2, 6) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 6)
#endif
// Packet: 0x07f3
#if PACKETVER >= 20100629
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
#elif PACKETVER >= 20100105
-packetLen(0x07f3, 4) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 4)
#endif
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x07ff
-packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+packetLen(0x07ff, -1)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
#if PACKETVER >= 20100113
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
#endif
// Packet: 0x080d
#if PACKETVER >= 20100113
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
#endif
// Packet: 0x080e
#if PACKETVER >= 20100119
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
#endif
// Packet: 0x080f
#if PACKETVER >= 20100223
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
#endif
// Packet: 0x0810
#if PACKETVER >= 20100303
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
#endif
// Packet: 0x0811
#if PACKETVER >= 20100303
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
#if PACKETVER >= 20100420
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
#elif PACKETVER >= 20100303
-packetLen(0x0812, 86) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 86)
#endif
// Packet: 0x0813
#if PACKETVER >= 20100309
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
#elif PACKETVER >= 20100303
-packetLen(0x0813, 6) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, 6)
#endif
// Packet: 0x0814
#if PACKETVER >= 20100420
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
#elif PACKETVER >= 20100309
-packetLen(0x0814, 2) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 2)
#elif PACKETVER >= 20100303
-packetLen(0x0814, 6) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 6)
#endif
// Packet: 0x0815
#if PACKETVER >= 20100420
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20100309
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20100303
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
#if PACKETVER >= 20100309
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
#endif
// Packet: 0x0817
#if PACKETVER >= 20100420
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20100303
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#endif
// Packet: 0x0818
#if PACKETVER >= 20100309
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
#elif PACKETVER >= 20100303
-packetLen(0x0818, 6) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, 6)
#endif
// Packet: 0x0819
#if PACKETVER >= 20100420
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20100309
-packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 10)
#elif PACKETVER >= 20100303
-packetLen(0x0819, 4) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 4)
#endif
// Packet: 0x081a
#if PACKETVER >= 20100420
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
#elif PACKETVER >= 20100413
-packetLen(0x081a, 10) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 10)
#elif PACKETVER >= 20100406
-packetLen(0x081a, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 6)
#elif PACKETVER >= 20100309
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
#endif
// Packet: 0x081b
#if PACKETVER >= 20100420
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
#elif PACKETVER >= 20100414
-packetLen(0x081b, 8) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 8)
#elif PACKETVER >= 20100309
-packetLen(0x081b, 4) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 4)
#endif
// Packet: 0x081c
#if PACKETVER >= 20100420
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
#elif PACKETVER >= 20100309
-packetLen(0x081c, 6) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 6)
#endif
// Packet: 0x081d
#if PACKETVER >= 20100309
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
#endif
// Packet: 0x081e
#if PACKETVER >= 20100309
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
#endif
// Packet: 0x081f
#if PACKETVER >= 20100323
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
#endif
// Packet: 0x0820
#if PACKETVER >= 20100413
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
#endif
// Packet: 0x0821
#if PACKETVER >= 20100413
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
#endif
// Packet: 0x0822
#if PACKETVER >= 20100413
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
#endif
// Packet: 0x0823
#if PACKETVER >= 20100413
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
#endif
// Packet: 0x0824
#if PACKETVER >= 20100420
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
#endif
// Packet: 0x0825
#if PACKETVER >= 20100601
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
#endif
// Packet: 0x0826
#if PACKETVER >= 20101019
// removed
#elif PACKETVER >= 20100601
-packetLen(0x0826, 4) // AC_SSO_LOGIN_ACK
+packetLen(0x0826, 4)
#endif
// Packet: 0x0827
#if PACKETVER >= 20100713
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
#endif
// Packet: 0x0828
#if PACKETVER >= 20100713
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
#endif
// Packet: 0x0829
#if PACKETVER >= 20100728
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
#elif PACKETVER >= 20100713
-packetLen(0x0829, 6) // CH_DELETE_CHAR3
+packetLen(0x0829, 6)
#endif
// Packet: 0x082a
#if PACKETVER >= 20100713
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
#endif
// Packet: 0x082b
#if PACKETVER >= 20100713
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
#endif
// Packet: 0x082c
#if PACKETVER >= 20100720
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
#elif PACKETVER >= 20100713
-packetLen(0x082c, 14) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 14)
#endif
// Packet: 0x082d
#if PACKETVER >= 20101221
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
#endif
// Packet: 0x0835
#if PACKETVER >= 20100601
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#endif
// Packet: 0x0836
#if PACKETVER >= 20100601
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
#endif
// Packet: 0x0837
#if PACKETVER >= 20100601
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
#endif
// Packet: 0x0838
#if PACKETVER >= 20100608
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20100601
-packetLen(0x0838, 3) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 3)
#endif
// Packet: 0x0839
#if PACKETVER >= 20100608
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
#endif
// Packet: 0x083a
#if PACKETVER >= 20100701
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
#elif PACKETVER >= 20100608
-packetLen(0x083a, 4) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 4)
#endif
// Packet: 0x083b
#if PACKETVER >= 20100608
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
#endif
// Packet: 0x083c
#if PACKETVER >= 20100608
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
#endif
// Packet: 0x083d
#if PACKETVER >= 20100608
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
#endif
// Packet: 0x083e
#if PACKETVER >= 20100615
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
#endif
// Packet: 0x083f
#if PACKETVER >= 20100629
// removed
#elif PACKETVER >= 20100622
-packetLen(0x083f, 22) // ZC_SEARCH_STORE_OPEN_INFO
+packetLen(0x083f, 22)
#endif
// Packet: 0x0840
#if PACKETVER >= 20100713
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
#endif
// Packet: 0x0841
#if PACKETVER >= 20100714
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
#elif PACKETVER >= 20100713
-packetLen(0x0841, 19) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 19)
#endif
// Packet: 0x0842
#if PACKETVER >= 20100720
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
#endif
// Packet: 0x0843
#if PACKETVER >= 20100720
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
#endif
// Packet: 0x0844
#if PACKETVER >= 20100824
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
#endif
// Packet: 0x0845
#if PACKETVER >= 20100824
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
#endif
// Packet: 0x0846
#if PACKETVER >= 20100824
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
#endif
// Packet: 0x0847
#if PACKETVER >= 20100824
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
#endif
// Packet: 0x0848
#if PACKETVER >= 20100824
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
#endif
// Packet: 0x0849
#if PACKETVER >= 20100914
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
#elif PACKETVER >= 20100824
-packetLen(0x0849, 12) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 12)
#endif
// Packet: 0x084a
#if PACKETVER >= 20101019
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
#endif
// Packet: 0x084b
#if PACKETVER >= 20101019
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
#endif
// Packet: 0x084c
#if PACKETVER >= 20101026
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
#endif
// Packet: 0x084d
#if PACKETVER >= 20101026
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
#endif
// Packet: 0x084e
#if PACKETVER >= 20101026
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
#endif
// Packet: 0x084f
#if PACKETVER >= 20101026
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
#endif
// Packet: 0x0850
#if PACKETVER >= 20101026
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
#endif
// Packet: 0x0851
#if PACKETVER >= 20101102
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
#endif
// Packet: 0x0852
#if PACKETVER >= 20101102
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
#endif
// Packet: 0x0853
#if PACKETVER >= 20101102
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
#endif
// Packet: 0x0854
#if PACKETVER >= 20101102
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
#endif
// Packet: 0x0855
#if PACKETVER >= 20101102
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
#endif
// Packet: 0x0856
#if PACKETVER >= 20101123
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
#endif
// Packet: 0x0857
#if PACKETVER >= 20101123
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
#endif
// Packet: 0x0858
#if PACKETVER >= 20101123
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
#endif
// Packet: 0x0859
#if PACKETVER >= 20101123
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
#endif
// Packet: 0x085a
#if PACKETVER >= 20101123
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20101123
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20101123
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20101123
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20101123
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20101123
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20101123
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20101123
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20101123
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20101123
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20101123
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20101123
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20101123
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20101123
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20101123
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20101123
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20101123
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20101123
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20101123
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20101123
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20101123
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20101123
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20101123
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20101123
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4979,312 +4979,312 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20101123
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20101123
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20101123
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20101123
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20101123
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20101123
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20101123
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20101123
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20101123
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20101123
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20101123
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20101123
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20101123
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20101123
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20101123
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20101123
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20101123
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20101123
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20101123
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20101123
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20101123
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20101123
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20101123
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20101123
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20101123
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20101123
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20101123
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20101123
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20101123
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20101123
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20101123
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20101123
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20101123
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20101123
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20101123
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20101123
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20101123
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20101123
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20101123
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20101123
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20101123
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20101123
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20101123
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20101123
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20101123
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20101123
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20101123
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20101123
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20101123
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20101123
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20101123
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20101123
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20101123
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20101123
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20101123
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20101123
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20101123
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20101123
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20101123
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
#if PACKETVER >= 20101228
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
#endif
// Packet: 0x08b1
#if PACKETVER >= 20101221
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
#endif
// Packet: 0x08b2
#if PACKETVER >= 20101228
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
#endif
diff --git a/src/common/packets/packets2011_len_main.h b/src/common/packets/packets2011_len_main.h
index 2728aeb61..a5644177d 100644
--- a/src/common/packets/packets2011_len_main.h
+++ b/src/common/packets/packets2011_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,6957 +25,6957 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20111101
-packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 146)
#elif PACKETVER >= 20110111
-packetLen(0x006d, 138) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 138)
#elif PACKETVER >= 20110104
-packetLen(0x006d, 134) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 134)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20111220
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20111207
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20111122
-packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+packetLen(0x0202, 18)
#elif PACKETVER >= 20111101
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20111017
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20111010
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20110920
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20110823
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20110726
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20110711
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20110531
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20110517
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20110426
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20110405
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20110322
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110315
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20110308
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20110222
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110215
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20110125
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110118
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20110111
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20111227
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20111220
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20111213
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20111207
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20111122
-packetLen(0x022d, 7) // CZ_COMMAND_MER
+packetLen(0x022d, 7)
#elif PACKETVER >= 20111114
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20111108
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20111025
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20111017
-packetLen(0x022d, 12) // CZ_COMMAND_MER
+packetLen(0x022d, 12)
#elif PACKETVER >= 20111004
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110920
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20110906
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110823
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110816
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110809
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110802
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20110726
-packetLen(0x022d, 12) // CZ_COMMAND_MER
+packetLen(0x022d, 12)
#elif PACKETVER >= 20110705
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110627
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20110620
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110614
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20110531
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20110523
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110503
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110426
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110412
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110405
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20110329
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110315
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110308
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110215
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110208
-packetLen(0x022d, 36) // CZ_COMMAND_MER
+packetLen(0x022d, 36)
#elif PACKETVER >= 20110131
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110125
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20110118
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20110111
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110104
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20111220
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20111213
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20111207
-packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 19)
#elif PACKETVER >= 20111114
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20111108
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20111101
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20111025
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20111010
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20111004
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20110928
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110920
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20110906
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110831
-packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 10)
#elif PACKETVER >= 20110823
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110816
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20110726
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110718
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20110705
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110627
-packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 4)
#elif PACKETVER >= 20110620
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20110531
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110523
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20110517
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20110511
-packetLen(0x023b, 7) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 7)
#elif PACKETVER >= 20110426
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110419
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20110405
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110329
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20110308
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110228
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20110222
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110215
-packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 18)
#elif PACKETVER >= 20110208
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110131
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20110125
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110118
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20110111
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20110104
-packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 4)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20111227
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20111213
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20111207
-packetLen(0x0281, 7) // CZ_GANGSI_RANK
+packetLen(0x0281, 7)
#elif PACKETVER >= 20111122
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20111025
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20111004
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0281, 5) // CZ_GANGSI_RANK
+packetLen(0x0281, 5)
#elif PACKETVER >= 20110920
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20110823
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20110809
-packetLen(0x0281, 18) // CZ_GANGSI_RANK
+packetLen(0x0281, 18)
#elif PACKETVER >= 20110726
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0281, 18) // CZ_GANGSI_RANK
+packetLen(0x0281, 18)
#elif PACKETVER >= 20110711
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20110627
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110620
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20110607
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20110531
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20110511
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0281, 7) // CZ_GANGSI_RANK
+packetLen(0x0281, 7)
#elif PACKETVER >= 20110426
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0281, 8) // CZ_GANGSI_RANK
+packetLen(0x0281, 8)
#elif PACKETVER >= 20110412
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20110405
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20110315
-packetLen(0x0281, 8) // CZ_GANGSI_RANK
+packetLen(0x0281, 8)
#elif PACKETVER >= 20110308
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20110228
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110222
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20110125
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110118
-packetLen(0x0281, 7) // CZ_GANGSI_RANK
+packetLen(0x0281, 7)
#elif PACKETVER >= 20110104
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20111227
-packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 36)
#elif PACKETVER >= 20111220
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20111213
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20111122
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20111108
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20111101
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20111010
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20111004
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20110831
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110823
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20110816
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110809
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20110802
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20110726
-packetLen(0x02c4, 4) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 4)
#elif PACKETVER >= 20110718
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110711
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20110705
-packetLen(0x02c4, 4) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 4)
#elif PACKETVER >= 20110627
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20110614
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110607
-packetLen(0x02c4, 19) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 19)
#elif PACKETVER >= 20110523
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110517
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20110511
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110503
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20110426
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20110419
-packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, -1)
#elif PACKETVER >= 20110322
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110315
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20110228
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110222
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20110215
-packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 36)
#elif PACKETVER >= 20110125
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110118
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20110104
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
#if PACKETVER >= 20110131
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#endif
// Packet: 0x02f4
#if PACKETVER >= 20110131
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
#endif
// Packet: 0x02f5
#if PACKETVER >= 20110131
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
#endif
// Packet: 0x02f6
#if PACKETVER >= 20110131
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
#endif
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20111227
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20111220
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20111213
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20111207
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20111108
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20111101
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20111025
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20111017
-packetLen(0x035f, 19) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 19)
#elif PACKETVER >= 20111010
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110928
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110920
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110906
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110823
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110802
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110726
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110718
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110711
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20110627
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110620
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110517
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110503
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110419
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110405
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110329
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110322
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20110308
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110222
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110208
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110131
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110125
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110118
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110104
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20111227
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20111122
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20111101
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20111017
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20111004
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110920
-packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+packetLen(0x0360, 19)
#elif PACKETVER >= 20110906
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110831
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0360, 12) // CZ_REQUEST_TIME2
+packetLen(0x0360, 12)
#elif PACKETVER >= 20110809
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110802
-packetLen(0x0360, 90) // CZ_REQUEST_TIME2
+packetLen(0x0360, 90)
#elif PACKETVER >= 20110711
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110620
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110614
-packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+packetLen(0x0360, 4)
#elif PACKETVER >= 20110517
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110511
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20110503
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20110426
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110405
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110322
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110315
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20110308
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110228
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110222
-packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+packetLen(0x0360, 26)
#elif PACKETVER >= 20110208
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110131
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110118
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20111220
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20111207
-packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 10)
#elif PACKETVER >= 20111122
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20111025
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20111010
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20110928
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20110831
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20110816
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20110809
-packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 10)
#elif PACKETVER >= 20110726
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0361, 90) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 90)
#elif PACKETVER >= 20110711
-packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 10)
#elif PACKETVER >= 20110705
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20110627
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110620
-packetLen(0x0361, 4) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 4)
#elif PACKETVER >= 20110614
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20110607
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110531
-packetLen(0x0361, 7) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 7)
#elif PACKETVER >= 20110523
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20110511
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20110405
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20110322
-packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 10)
#elif PACKETVER >= 20110315
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20110228
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20110131
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20110118
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110111
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20111213
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20111207
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20111017
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20111004
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110920
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110831
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 10)
#elif PACKETVER >= 20110816
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110809
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20110802
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20110620
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110607
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110531
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110517
-packetLen(0x0362, 4) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 4)
#elif PACKETVER >= 20110511
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20110426
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20110412
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110405
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0362, 36) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 36)
#elif PACKETVER >= 20110322
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20110315
-packetLen(0x0362, 4) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 4)
#elif PACKETVER >= 20110308
-packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 10)
#elif PACKETVER >= 20110208
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110125
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20110118
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20111227
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20111207
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0363, 90) // CZ_ITEM_THROW2
+packetLen(0x0363, 90)
#elif PACKETVER >= 20111114
-packetLen(0x0363, 18) // CZ_ITEM_THROW2
+packetLen(0x0363, 18)
#elif PACKETVER >= 20111101
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20111017
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20111010
-packetLen(0x0363, 7) // CZ_ITEM_THROW2
+packetLen(0x0363, 7)
#elif PACKETVER >= 20111004
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110920
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110823
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110809
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20110718
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110711
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20110627
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110620
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20110607
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110531
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110503
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20110419
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110412
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20110405
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20110329
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110322
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110315
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20110308
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20110228
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110222
-packetLen(0x0363, 4) // CZ_ITEM_THROW2
+packetLen(0x0363, 4)
#elif PACKETVER >= 20110208
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20110125
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110118
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20111227
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
#elif PACKETVER >= 20111220
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20111207
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20111108
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20111101
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20111017
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 19)
#elif PACKETVER >= 20111004
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110920
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110823
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110809
-packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 90)
#elif PACKETVER >= 20110726
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20110705
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110620
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20110607
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110531
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110517
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20110503
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20110419
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110412
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
#elif PACKETVER >= 20110405
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110315
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20110308
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110228
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20110222
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110215
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20110208
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20110131
-packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 90)
#elif PACKETVER >= 20110125
-packetLen(0x0364, 12) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 12)
#elif PACKETVER >= 20110104
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20111227
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20111220
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20111213
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20111207
-packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 12)
#elif PACKETVER >= 20111122
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20111108
-packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 10)
#elif PACKETVER >= 20111010
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20110928
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110920
-packetLen(0x0365, 90) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 90)
#elif PACKETVER >= 20110906
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110831
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20110823
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110809
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20110705
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20110620
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110607
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110531
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110517
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20110503
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0365, 90) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 90)
#elif PACKETVER >= 20110412
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20110329
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110118
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20111227
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20111213
-packetLen(0x0366, 4) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 4)
#elif PACKETVER >= 20111207
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0366, 12) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 12)
#elif PACKETVER >= 20111108
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20111101
-packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 5)
#elif PACKETVER >= 20111025
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20111017
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20111010
-packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 5)
#elif PACKETVER >= 20110928
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110920
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110831
-packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 5)
#elif PACKETVER >= 20110823
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110809
-packetLen(0x0366, 4) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 4)
#elif PACKETVER >= 20110802
-packetLen(0x0366, 12) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 12)
#elif PACKETVER >= 20110711
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110620
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110517
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110426
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110405
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110322
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110228
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110208
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110131
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110118
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20111220
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20111207
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0367, 4) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 4)
#elif PACKETVER >= 20111101
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20111017
-packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 10)
#elif PACKETVER >= 20111010
-packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 26)
#elif PACKETVER >= 20111004
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20110906
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20110816
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110809
-packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 26)
#elif PACKETVER >= 20110802
-packetLen(0x0367, 5) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 5)
#elif PACKETVER >= 20110726
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0367, 19) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 19)
#elif PACKETVER >= 20110627
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110620
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20110614
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20110531
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20110517
-packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 26)
#elif PACKETVER >= 20110419
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20110329
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20110322
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110315
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20110131
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 10)
#elif PACKETVER >= 20110118
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110111
-packetLen(0x0367, 36) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 36)
#elif PACKETVER >= 20110104
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20111227
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20111122
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20111101
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20111010
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110831
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110809
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110802
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0368, 8) // CZ_REQNAME2
+packetLen(0x0368, 8)
#elif PACKETVER >= 20110718
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110711
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110620
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110426
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0368, 4) // CZ_REQNAME2
+packetLen(0x0368, 4)
#elif PACKETVER >= 20110412
-packetLen(0x0368, 19) // CZ_REQNAME2
+packetLen(0x0368, 19)
#elif PACKETVER >= 20110405
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110322
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110315
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110308
-packetLen(0x0368, 5) // CZ_REQNAME2
+packetLen(0x0368, 5)
#elif PACKETVER >= 20110228
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110208
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110131
-packetLen(0x0368, 26) // CZ_REQNAME2
+packetLen(0x0368, 26)
#elif PACKETVER >= 20110125
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110118
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20111227
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20111220
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20111207
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20111114
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20111101
-packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 10)
#elif PACKETVER >= 20111025
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20111010
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20110928
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110920
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110831
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20110816
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110809
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20110726
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110711
-packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 19)
#elif PACKETVER >= 20110705
-packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 18)
#elif PACKETVER >= 20110620
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110607
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110531
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20110517
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110503
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20110419
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110412
-packetLen(0x0369, 4) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 4)
#elif PACKETVER >= 20110405
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20110329
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110322
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110228
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110208
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110131
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 18)
#elif PACKETVER >= 20110118
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20111227
-packetLen(0x0436, 10) // CZ_ENTER2
+packetLen(0x0436, 10)
#elif PACKETVER >= 20111213
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20111025
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20111010
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20110928
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0436, 12) // CZ_ENTER2
+packetLen(0x0436, 12)
#elif PACKETVER >= 20110906
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20110831
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20110816
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20110809
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110802
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20110726
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20110711
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20110620
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110614
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20110607
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20110531
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20110511
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20110426
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0436, 36) // CZ_ENTER2
+packetLen(0x0436, 36)
#elif PACKETVER >= 20110412
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20110329
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20110315
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20110222
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110215
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20110118
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110111
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20110104
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#endif
// Packet: 0x0437
#if PACKETVER >= 20111220
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20111122
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20111101
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20111010
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110823
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110809
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110802
-packetLen(0x0437, 18) // CZ_REQUEST_ACT2
+packetLen(0x0437, 18)
#elif PACKETVER >= 20110726
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20110718
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110711
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110620
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110517
-packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+packetLen(0x0437, 36)
#elif PACKETVER >= 20110511
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+packetLen(0x0437, 26)
#elif PACKETVER >= 20110426
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20110419
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110412
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+packetLen(0x0437, 36)
#elif PACKETVER >= 20110329
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110322
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110228
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20110222
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110215
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20110208
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110131
-packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+packetLen(0x0437, 19)
#elif PACKETVER >= 20110125
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110118
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20111227
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20111122
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20111108
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20111025
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20111010
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110920
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0438, 26) // CZ_USE_SKILL2
+packetLen(0x0438, 26)
#elif PACKETVER >= 20110831
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20110823
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110809
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110802
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20110726
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110627
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110620
-packetLen(0x0438, 18) // CZ_USE_SKILL2
+packetLen(0x0438, 18)
#elif PACKETVER >= 20110517
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110503
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20110419
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110412
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20110329
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110322
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20110308
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110228
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110222
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110215
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20110208
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110131
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20110125
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110118
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20110104
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20111227
-packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 4)
#elif PACKETVER >= 20111220
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20111004
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110928
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110920
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110906
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110831
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110823
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20110816
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110809
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110802
-packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 4)
#elif PACKETVER >= 20110726
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110718
-packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 4)
#elif PACKETVER >= 20110711
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110705
-packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 8)
#elif PACKETVER >= 20110627
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110620
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20110614
-packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 19)
#elif PACKETVER >= 20110607
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110531
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#elif PACKETVER >= 20110523
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110517
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110511
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#elif PACKETVER >= 20110419
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110412
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110405
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110329
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110322
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110315
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110308
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20110118
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110104
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20111227
-packetLen(0x07ec, 90) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 90)
#elif PACKETVER >= 20111220
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20111213
-packetLen(0x07ec, 10) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 10)
#elif PACKETVER >= 20111207
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20111122
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20111114
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20111108
-packetLen(0x07ec, 18) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 18)
#elif PACKETVER >= 20111101
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20111025
-packetLen(0x07ec, 10) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 10)
#elif PACKETVER >= 20111017
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20111010
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20111004
-packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 7)
#elif PACKETVER >= 20110928
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110920
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110906
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110831
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110823
-packetLen(0x07ec, 36) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 36)
#elif PACKETVER >= 20110816
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110809
-packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 7)
#elif PACKETVER >= 20110802
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20110726
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110718
-packetLen(0x07ec, 12) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 12)
#elif PACKETVER >= 20110711
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20110705
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110620
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110614
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20110607
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110531
-packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 4)
#elif PACKETVER >= 20110523
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110517
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20110503
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110426
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110419
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20110405
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110329
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110322
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20110308
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110228
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110222
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20110131
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110118
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20110104
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x07ff
#if PACKETVER >= 20110718
// removed
#elif PACKETVER >= 20110104
-packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+packetLen(0x07ff, -1)
#endif
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20111220
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20111122
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20111025
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20111010
-packetLen(0x0802, 12) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 12)
#elif PACKETVER >= 20111004
-packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 8)
#elif PACKETVER >= 20110928
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110920
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20110906
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110831
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20110823
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110802
-packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 8)
#elif PACKETVER >= 20110711
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0802, 7) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 7)
#elif PACKETVER >= 20110620
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110607
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110531
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110523
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110511
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20110426
-packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 36)
#elif PACKETVER >= 20110419
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20110412
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20110329
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110308
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110228
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20110222
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110215
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20110208
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20110131
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0802, 7) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 7)
#elif PACKETVER >= 20110118
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20111227
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20111220
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20111122
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20111010
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110920
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110823
-packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 10)
#elif PACKETVER >= 20110809
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110802
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20110718
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110711
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110620
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110517
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110511
-packetLen(0x0811, 90) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 90)
#elif PACKETVER >= 20110426
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110412
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20110405
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110322
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110228
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110215
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110208
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20110131
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110118
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20111227
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20111114
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20111101
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20111010
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20110928
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110920
-packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 4)
#elif PACKETVER >= 20110831
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110823
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110809
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110802
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20110726
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110711
-packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 26)
#elif PACKETVER >= 20110620
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110614
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110607
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20110523
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110503
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20110419
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110405
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110322
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110315
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110308
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110228
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110222
-packetLen(0x0815, 8) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 8)
#elif PACKETVER >= 20110215
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110131
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110118
-packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 26)
#elif PACKETVER >= 20110104
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20111220
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20111108
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20110906
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20110718
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20110711
-packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 26)
#elif PACKETVER >= 20110705
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20110627
-packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 10)
#elif PACKETVER >= 20110419
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20110412
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20110329
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20110322
-packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 36)
#elif PACKETVER >= 20110104
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20111227
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20111213
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20111207
-packetLen(0x0819, 18) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 18)
#elif PACKETVER >= 20111122
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20111108
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20111101
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20111017
-packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 8)
#elif PACKETVER >= 20111010
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20110928
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110920
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110831
-packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 12)
#elif PACKETVER >= 20110823
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20110816
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110809
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110802
-packetLen(0x0819, 7) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 7)
#elif PACKETVER >= 20110718
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110711
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20110705
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110627
-packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 19)
#elif PACKETVER >= 20110620
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110531
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110523
-packetLen(0x0819, 36) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 36)
#elif PACKETVER >= 20110517
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110503
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110419
-packetLen(0x0819, 26) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 26)
#elif PACKETVER >= 20110412
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110405
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110329
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110322
-packetLen(0x0819, 90) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 90)
#elif PACKETVER >= 20110315
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110308
-packetLen(0x0819, 26) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 26)
#elif PACKETVER >= 20110228
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110222
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20110208
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110131
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110118
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20111213
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20111207
-packetLen(0x0835, 10) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 10)
#elif PACKETVER >= 20111122
-packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 19)
#elif PACKETVER >= 20111108
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20111025
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20111010
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 26)
#elif PACKETVER >= 20110906
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 4)
#elif PACKETVER >= 20110823
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20110809
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110802
-packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 26)
#elif PACKETVER >= 20110726
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20110711
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0835, 36) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 36)
#elif PACKETVER >= 20110627
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20110503
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20110412
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20110315
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 4)
#elif PACKETVER >= 20110222
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110215
-packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 26)
#elif PACKETVER >= 20110208
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20110125
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110118
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20110104
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20111227
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20111220
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20111213
-packetLen(0x0838, 19) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 19)
#elif PACKETVER >= 20111122
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20111101
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20111010
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110920
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110823
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110809
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110802
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20110718
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20110711
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110620
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110517
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110511
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20110503
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20110426
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110412
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20110329
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110315
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110228
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20110208
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110131
-packetLen(0x0838, 4) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 4)
#elif PACKETVER >= 20110125
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20110118
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20111227
-packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 8)
#elif PACKETVER >= 20111220
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20111122
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20111114
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20111108
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20111101
-packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 19)
#elif PACKETVER >= 20111017
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20111010
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20111004
-packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 26)
#elif PACKETVER >= 20110928
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110920
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110906
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110831
-packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 26)
#elif PACKETVER >= 20110823
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110816
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110809
-packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 5)
#elif PACKETVER >= 20110726
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110718
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110711
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110705
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110627
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110620
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20110523
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110511
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110503
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20110426
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110419
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110412
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20110405
-packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 19)
#elif PACKETVER >= 20110329
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110322
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110315
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110308
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20110228
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110208
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110131
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110125
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110118
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110104
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
// Packet: 0x085b
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
// Packet: 0x085e
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
// Packet: 0x085f
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
// Packet: 0x0860
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
// Packet: 0x0861
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
// Packet: 0x0862
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
// Packet: 0x0863
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
// Packet: 0x0864
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
// Packet: 0x0865
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
// Packet: 0x0866
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
// Packet: 0x0867
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
// Packet: 0x0868
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
// Packet: 0x086b
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
// Packet: 0x086c
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
// Packet: 0x086d
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
// Packet: 0x086e
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
// Packet: 0x086f
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
// Packet: 0x0870
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
// Packet: 0x0871
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
// Packet: 0x0872
packetLen(0x0872, 2)
// Packet: 0x0873
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
// Packet: 0x0874
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
// Packet: 0x0875
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
// Packet: 0x0876
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
// Packet: 0x0877
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
// Packet: 0x0878
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
// Packet: 0x0879
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
// Packet: 0x087a
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
// Packet: 0x087b
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
// Packet: 0x087e
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
// Packet: 0x0881
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
// Packet: 0x0882
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
// Packet: 0x0883
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
// Packet: 0x0884
#if PACKETVER >= 20111114
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 10)
#elif PACKETVER >= 20111025
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 7)
#elif PACKETVER >= 20111010
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20110928
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20110831
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20110802
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20110718
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20110711
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 26)
#elif PACKETVER >= 20110627
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20110620
-packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 10)
#elif PACKETVER >= 20110523
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110517
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20110503
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 18)
#elif PACKETVER >= 20110315
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20110215
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110208
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20110131
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20110104
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20111227
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20111108
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 10)
#elif PACKETVER >= 20111017
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 10)
#elif PACKETVER >= 20111004
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20110928
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20110906
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20110726
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110718
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20110607
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110531
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20110517
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20110503
-packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 18)
#elif PACKETVER >= 20110426
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20110412
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20110322
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110315
-packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 18)
#elif PACKETVER >= 20110228
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110222
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20110215
-packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 10)
#elif PACKETVER >= 20110208
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20110125
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110118
-packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 18)
#elif PACKETVER >= 20110104
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20111227
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20111010
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20110920
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 36)
#elif PACKETVER >= 20110802
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20110718
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20110711
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20110627
-packetLen(0x0886, 10) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 10)
#elif PACKETVER >= 20110607
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110531
-packetLen(0x0886, 18) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 18)
#elif PACKETVER >= 20110517
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0886, 12) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 12)
#elif PACKETVER >= 20110503
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0886, 4) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 4)
#elif PACKETVER >= 20110419
-packetLen(0x0886, 18) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 18)
#elif PACKETVER >= 20110412
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 90)
#elif PACKETVER >= 20110329
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110322
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20110315
-packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 26)
#elif PACKETVER >= 20110131
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110125
-packetLen(0x0886, 19) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 19)
#elif PACKETVER >= 20110118
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20111220
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20111207
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20111114
-packetLen(0x0887, 7) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 7)
#elif PACKETVER >= 20111101
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 26)
#elif PACKETVER >= 20111010
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20110906
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20110802
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 90)
#elif PACKETVER >= 20110711
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110705
-packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 19)
#elif PACKETVER >= 20110627
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20110620
-packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 36)
#elif PACKETVER >= 20110523
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110517
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20110511
-packetLen(0x0887, 18) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 18)
#elif PACKETVER >= 20110412
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0887, 12) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 12)
#elif PACKETVER >= 20110322
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110315
-packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 19)
#elif PACKETVER >= 20110308
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110228
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20110222
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20110215
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110208
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20110131
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20110111
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#endif
// Packet: 0x0888
#if PACKETVER >= 20111227
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20111122
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, -1)
#elif PACKETVER >= 20111108
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20111101
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20110831
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20110809
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110802
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20110718
-packetLen(0x0888, 36) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 36)
#elif PACKETVER >= 20110705
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 90)
#elif PACKETVER >= 20110607
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110531
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20110523
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110517
-packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, -1)
#elif PACKETVER >= 20110511
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20110426
-packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 10)
#elif PACKETVER >= 20110419
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20110412
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20110329
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110322
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20110315
-packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 12)
#elif PACKETVER >= 20110308
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110228
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20110222
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20110215
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20110208
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20111227
-packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 18)
#elif PACKETVER >= 20111220
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 26)
#elif PACKETVER >= 20111010
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20110809
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20110802
-packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 26)
#elif PACKETVER >= 20110607
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20110531
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20110523
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20110517
-packetLen(0x0889, 10) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 10)
#elif PACKETVER >= 20110511
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 19)
#elif PACKETVER >= 20110426
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20110419
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20110412
-packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 5)
#elif PACKETVER >= 20110405
-packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 18)
#elif PACKETVER >= 20110329
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20110322
-packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 5)
#elif PACKETVER >= 20110315
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20110308
-packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 18)
#elif PACKETVER >= 20110228
-packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 90)
#elif PACKETVER >= 20110222
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20110215
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20111108
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20111101
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20111017
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20111010
-packetLen(0x088a, 18) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 18)
#elif PACKETVER >= 20110906
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20110831
-packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 5)
#elif PACKETVER >= 20110718
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20110711
-packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, -1)
#elif PACKETVER >= 20110627
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20110620
-packetLen(0x088a, 7) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 7)
#elif PACKETVER >= 20110419
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20110412
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20110329
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20110322
-packetLen(0x088a, 18) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 18)
#elif PACKETVER >= 20110228
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20110222
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20110215
-packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 5)
#elif PACKETVER >= 20110208
-packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 19)
#elif PACKETVER >= 20110111
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20110104
-packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 19)
#endif
// Packet: 0x088b
#if PACKETVER >= 20111227
-packetLen(0x088b, 12) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 12)
#elif PACKETVER >= 20111220
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20111213
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20111207
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20111114
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20111108
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20110809
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20110802
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20110726
-packetLen(0x088b, 10) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 10)
#elif PACKETVER >= 20110718
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20110711
-packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 18)
#elif PACKETVER >= 20110705
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20110627
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20110620
-packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 5)
#elif PACKETVER >= 20110614
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20110607
-packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 5)
#elif PACKETVER >= 20110517
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20110511
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20110503
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20110426
-packetLen(0x088b, 10) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 10)
#elif PACKETVER >= 20110208
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20110131
-packetLen(0x088b, 7) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 7)
#elif PACKETVER >= 20110104
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20111213
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20111122
-packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 6)
#elif PACKETVER >= 20111017
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20111010
-packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 36)
#elif PACKETVER >= 20111004
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110928
-packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 36)
#elif PACKETVER >= 20110920
-packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 6)
#elif PACKETVER >= 20110831
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110823
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20110802
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110726
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20110705
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110627
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20110511
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110503
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20110322
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110315
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20110125
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110118
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20110104
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20111213
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20111207
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20111108
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20111101
-packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 26)
#elif PACKETVER >= 20111017
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20111010
-packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 10)
#elif PACKETVER >= 20110928
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20110920
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20110816
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20110809
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20110802
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20110726
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20110711
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20110705
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20110517
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20110511
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20110419
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20110412
-packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 26)
#elif PACKETVER >= 20110329
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20110322
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20110104
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20111025
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20111017
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20110928
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110920
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20110809
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110802
-packetLen(0x088e, 19) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 19)
#elif PACKETVER >= 20110718
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110711
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20110705
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110627
-packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 26)
#elif PACKETVER >= 20110412
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110405
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20110329
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110322
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20110208
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110131
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20110125
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110118
-packetLen(0x088e, 19) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 19)
#elif PACKETVER >= 20110104
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20111220
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20111213
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20111207
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20111025
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20111017
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20111010
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20110906
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110831
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20110823
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20110816
-packetLen(0x088f, 36) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 36)
#elif PACKETVER >= 20110809
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110802
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20110718
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110711
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20110627
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110620
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20110517
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110511
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20110412
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110405
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20110329
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110322
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20110308
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110228
-packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 10)
#elif PACKETVER >= 20110125
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110118
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20110111
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110104
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#endif
// Packet: 0x0890
#if PACKETVER >= 20111220
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0890, 12) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 12)
#elif PACKETVER >= 20111207
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20111108
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20111025
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 26)
#elif PACKETVER >= 20111010
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20110928
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 26)
#elif PACKETVER >= 20110831
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20110523
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110517
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20110511
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20110329
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110322
-packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 7)
#elif PACKETVER >= 20110308
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110228
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20110208
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20110125
-packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 36)
#elif PACKETVER >= 20110118
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20110104
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20111227
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20111213
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20111207
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 26)
#elif PACKETVER >= 20111025
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20111004
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0891, 4) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 4)
#elif PACKETVER >= 20110920
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20110718
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20110711
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20110627
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20110620
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20110517
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20110503
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0891, 7) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 7)
#elif PACKETVER >= 20110329
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20110322
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20110315
-packetLen(0x0891, 36) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 36)
#elif PACKETVER >= 20110215
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20110208
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20110131
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20110104
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20111227
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20111220
-packetLen(0x0892, 26) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 26)
#elif PACKETVER >= 20111207
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 5)
#elif PACKETVER >= 20111114
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 5)
#elif PACKETVER >= 20110607
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20110531
-packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 8)
#elif PACKETVER >= 20110517
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20110503
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0892, 12) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 12)
#elif PACKETVER >= 20110419
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20110412
-packetLen(0x0892, 7) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 7)
#elif PACKETVER >= 20110228
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20110222
-packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 5)
#elif PACKETVER >= 20110208
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20111227
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 4)
#elif PACKETVER >= 20111213
-packetLen(0x0893, 10) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 10)
#elif PACKETVER >= 20111122
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20111025
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20110920
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0893, 5) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 5)
#elif PACKETVER >= 20110831
-packetLen(0x0893, 90) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 90)
#elif PACKETVER >= 20110823
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20110816
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20110809
-packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 26)
#elif PACKETVER >= 20110802
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20110718
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20110711
-packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, -1)
#elif PACKETVER >= 20110308
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20110228
-packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, -1)
#elif PACKETVER >= 20110222
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20110215
-packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 4)
#elif PACKETVER >= 20110208
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20110131
-packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 36)
#elif PACKETVER >= 20110104
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20111213
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20111207
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20111114
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20111101
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20111017
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 4)
#elif PACKETVER >= 20110906
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 18)
#elif PACKETVER >= 20110816
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20110809
-packetLen(0x0894, 36) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 36)
#elif PACKETVER >= 20110614
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20110607
-packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 4)
#elif PACKETVER >= 20110517
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 26)
#elif PACKETVER >= 20110503
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20110426
-packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, -1)
#elif PACKETVER >= 20110419
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20110412
-packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 10)
#elif PACKETVER >= 20110329
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20110322
-packetLen(0x0894, 12) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 12)
#elif PACKETVER >= 20110104
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20111207
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20111114
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 19)
#elif PACKETVER >= 20111101
-packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 4)
#elif PACKETVER >= 20110906
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0895, 36) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 36)
#elif PACKETVER >= 20110802
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20110718
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20110711
-packetLen(0x0895, 12) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 12)
#elif PACKETVER >= 20110627
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20110620
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20110412
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0895, 10) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 10)
#elif PACKETVER >= 20110104
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20111220
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20111207
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 5)
#elif PACKETVER >= 20111114
-packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 8)
#elif PACKETVER >= 20111004
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 26)
#elif PACKETVER >= 20110920
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20110802
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20110705
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 8)
#elif PACKETVER >= 20110607
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110531
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20110517
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 26)
#elif PACKETVER >= 20110426
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 8)
#elif PACKETVER >= 20110308
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110228
-packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 4)
#elif PACKETVER >= 20110208
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0896, 18) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 18)
#elif PACKETVER >= 20110104
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20111227
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0897, 36) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 36)
#elif PACKETVER >= 20111213
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20111207
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20111108
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20111025
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20111010
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20110809
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20110802
-packetLen(0x0897, 10) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 10)
#elif PACKETVER >= 20110726
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20110705
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0897, 12) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 12)
#elif PACKETVER >= 20110620
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20110517
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20110511
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20110315
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20110308
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20110228
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20110208
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20110125
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20110118
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20111220
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20111207
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20111122
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 5)
#elif PACKETVER >= 20111025
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20111010
-packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 8)
#elif PACKETVER >= 20110831
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20110705
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20110511
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0898, 12) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 12)
#elif PACKETVER >= 20110329
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20110322
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20110308
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20110222
-packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 26)
#elif PACKETVER >= 20110208
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20110131
-packetLen(0x0898, 12) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 12)
#elif PACKETVER >= 20110125
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20110118
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20110104
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20111207
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20111114
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, -1)
#elif PACKETVER >= 20110928
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20110831
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20110802
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110726
-packetLen(0x0899, 7) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 7)
#elif PACKETVER >= 20110718
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110711
-packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 10)
#elif PACKETVER >= 20110705
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110627
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20110620
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20110511
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110503
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20110426
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110419
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20110412
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110405
-packetLen(0x0899, 7) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 7)
#elif PACKETVER >= 20110104
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20111220
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20111213
-packetLen(0x089a, 90) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 90)
#elif PACKETVER >= 20111122
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20111114
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20111010
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20111004
-packetLen(0x089a, 4) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 4)
#elif PACKETVER >= 20110928
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20110920
-packetLen(0x089a, 10) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 10)
#elif PACKETVER >= 20110726
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20110718
-packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 5)
#elif PACKETVER >= 20110711
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20110517
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20110511
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20110503
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20110208
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20110131
-packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 8)
#elif PACKETVER >= 20110104
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20111227
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20111213
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20111207
-packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 36)
#elif PACKETVER >= 20111101
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20111025
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20111017
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20111010
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20111004
-packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 36)
#elif PACKETVER >= 20110928
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110920
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20110831
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110823
-packetLen(0x089b, 19) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 19)
#elif PACKETVER >= 20110802
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110726
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20110718
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110711
-packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 5)
#elif PACKETVER >= 20110705
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110627
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20110620
-packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 5)
#elif PACKETVER >= 20110607
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110531
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20110523
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110511
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20110503
-packetLen(0x089b, 90) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 90)
#elif PACKETVER >= 20110426
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20110419
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110412
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20110405
-packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 5)
#elif PACKETVER >= 20110308
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110228
-packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 7)
#elif PACKETVER >= 20110125
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110118
-packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 10)
#elif PACKETVER >= 20110111
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110104
-packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 36)
#endif
// Packet: 0x089c
#if PACKETVER >= 20111227
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20111220
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20111213
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20111122
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20111114
-packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 19)
#elif PACKETVER >= 20111025
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20111010
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20110928
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110920
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20110831
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110823
-packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, -1)
#elif PACKETVER >= 20110816
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110809
-packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 19)
#elif PACKETVER >= 20110718
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110711
-packetLen(0x089c, 7) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 7)
#elif PACKETVER >= 20110627
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110620
-packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, -1)
#elif PACKETVER >= 20110503
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110426
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20110329
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110322
-packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 26)
#elif PACKETVER >= 20110315
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110308
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20110228
-packetLen(0x089c, 12) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 12)
#elif PACKETVER >= 20110215
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110208
-packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, -1)
#elif PACKETVER >= 20110131
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110125
-packetLen(0x089c, 4) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 4)
#elif PACKETVER >= 20110118
-packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, -1)
#elif PACKETVER >= 20110104
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20111213
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20111207
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20111122
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20111114
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20110928
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110920
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20110906
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110831
-packetLen(0x089d, 7) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 7)
#elif PACKETVER >= 20110802
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110726
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20110718
-packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 8)
#elif PACKETVER >= 20110711
-packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 36)
#elif PACKETVER >= 20110523
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110517
-packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 8)
#elif PACKETVER >= 20110511
-packetLen(0x089d, 10) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 10)
#elif PACKETVER >= 20110503
-packetLen(0x089d, 4) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 4)
#elif PACKETVER >= 20110419
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110412
-packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 8)
#elif PACKETVER >= 20110228
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110222
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20110215
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110208
-packetLen(0x089d, 26) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 26)
#elif PACKETVER >= 20110104
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20111207
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20111122
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20111108
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20111101
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20111025
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20111017
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20110802
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20110726
-packetLen(0x089e, 19) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 19)
#elif PACKETVER >= 20110607
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20110531
-packetLen(0x089e, 36) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 36)
#elif PACKETVER >= 20110517
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20110511
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20110503
-packetLen(0x089e, 10) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 10)
#elif PACKETVER >= 20110419
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20110412
-packetLen(0x089e, 18) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 18)
#elif PACKETVER >= 20110329
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20110322
-packetLen(0x089e, 19) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 19)
#elif PACKETVER >= 20110308
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20110228
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20110208
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20110125
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20110104
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20111025
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20111017
-packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 10)
#elif PACKETVER >= 20110802
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20110726
-packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 10)
#elif PACKETVER >= 20110627
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20110620
-packetLen(0x089f, 12) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 12)
#elif PACKETVER >= 20110511
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20110503
-packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 36)
#elif PACKETVER >= 20110419
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20110412
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20110405
-packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 5)
#elif PACKETVER >= 20110308
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20110228
-packetLen(0x089f, 19) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 19)
#elif PACKETVER >= 20110222
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20110215
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20110104
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20110928
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 10)
#elif PACKETVER >= 20110906
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110831
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20110711
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110705
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20110627
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110620
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20110517
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110511
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20110308
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110228
-packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 10)
#elif PACKETVER >= 20110215
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110208
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20111207
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20111122
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20111114
-packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 8)
#elif PACKETVER >= 20111108
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20111101
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20111025
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20111017
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20110831
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20110823
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20110627
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20110620
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20110419
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20110412
-packetLen(0x08a1, 90) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 90)
#elif PACKETVER >= 20110208
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20110131
-packetLen(0x08a1, 26) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 26)
#elif PACKETVER >= 20110125
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20111227
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20111207
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20111122
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20111114
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20111108
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20111101
-packetLen(0x08a2, 12) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 12)
#elif PACKETVER >= 20111025
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20111017
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20111010
-packetLen(0x08a2, 90) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 90)
#elif PACKETVER >= 20111004
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110928
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20110809
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110802
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20110718
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110711
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20110705
-packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 5)
#elif PACKETVER >= 20110627
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110620
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20110523
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110517
-packetLen(0x08a2, 18) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 18)
#elif PACKETVER >= 20110308
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110228
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20110208
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110131
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20110125
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110118
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20110104
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20110831
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20110823
-packetLen(0x08a3, 7) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 7)
#elif PACKETVER >= 20110523
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20110517
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20110511
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20110503
-packetLen(0x08a3, 10) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 10)
#elif PACKETVER >= 20110412
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20110405
-packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 8)
#elif PACKETVER >= 20110215
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20110208
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20110104
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20111227
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20111220
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20111207
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20111122
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20111017
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20111010
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20111004
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20110928
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08a4, 7) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 7)
#elif PACKETVER >= 20110906
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20110831
-packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 26)
#elif PACKETVER >= 20110823
-packetLen(0x08a4, 4) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 4)
#elif PACKETVER >= 20110809
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110802
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20110726
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110718
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20110711
-packetLen(0x08a4, 90) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 90)
#elif PACKETVER >= 20110627
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110620
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20110614
-packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 26)
#elif PACKETVER >= 20110517
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110511
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20110426
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110419
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20110412
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20110329
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110322
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20110228
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110222
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
#elif PACKETVER >= 20110131
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110125
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20110104
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20111220
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20111213
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20111207
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20111108
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20111101
-packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 18)
#elif PACKETVER >= 20110906
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110831
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20110802
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110726
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20110705
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110627
-packetLen(0x08a5, 7) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 7)
#elif PACKETVER >= 20110607
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110531
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20110511
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110503
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20110426
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20110412
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110405
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20110329
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110322
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20110315
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110308
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20110228
-packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 18)
#elif PACKETVER >= 20110131
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110125
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20110104
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20111227
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20111220
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20111213
-packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, -1)
#elif PACKETVER >= 20111101
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20111025
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20111017
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20111010
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20110928
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 26)
#elif PACKETVER >= 20110906
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20110831
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20110816
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20110809
-packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, -1)
#elif PACKETVER >= 20110802
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20110726
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20110718
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20110711
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20110705
-packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, -1)
#elif PACKETVER >= 20110104
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20111227
-packetLen(0x08a7, 19) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 19)
#elif PACKETVER >= 20111220
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20111213
-packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 36)
#elif PACKETVER >= 20111207
-packetLen(0x08a7, 90) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 90)
#elif PACKETVER >= 20111010
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20111004
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20110906
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20110831
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20110705
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20110627
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20110620
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20110614
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20110607
-packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 36)
#elif PACKETVER >= 20110531
-packetLen(0x08a7, 19) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 19)
#elif PACKETVER >= 20110503
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20110426
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20110228
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20110222
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20110215
-packetLen(0x08a7, 26) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 26)
#elif PACKETVER >= 20110208
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20110131
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20110125
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20110118
-packetLen(0x08a7, 12) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 12)
#elif PACKETVER >= 20110104
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20111213
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20111207
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20111114
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20111108
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20111101
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20111025
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20110928
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20110802
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20110726
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20110419
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20110412
-packetLen(0x08a8, 12) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 12)
#elif PACKETVER >= 20110329
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20110322
-packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 4)
#elif PACKETVER >= 20110308
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20110228
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20110215
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20110208
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20111213
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20111207
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20110809
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20110802
-packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 36)
#elif PACKETVER >= 20110705
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20110627
-packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 36)
#elif PACKETVER >= 20110620
-packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 19)
#elif PACKETVER >= 20110523
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20110517
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20110419
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20110412
-packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 36)
#elif PACKETVER >= 20110405
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#elif PACKETVER >= 20110329
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20110322
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#elif PACKETVER >= 20110222
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20110215
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20110125
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20110118
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20111220
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20111213
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20111207
-packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 26)
#elif PACKETVER >= 20111108
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20111101
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20111025
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20111017
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20110928
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20110906
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20110823
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20110523
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20110517
-packetLen(0x08aa, 19) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 19)
#elif PACKETVER >= 20110511
-packetLen(0x08aa, 10) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 10)
#elif PACKETVER >= 20110503
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20110426
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20110419
-packetLen(0x08aa, 19) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 19)
#elif PACKETVER >= 20110228
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20110222
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20110208
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20110131
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20110104
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20111213
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20111207
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20111108
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20111101
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20111025
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#elif PACKETVER >= 20110809
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110802
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20110718
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110711
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20110620
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110614
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#elif PACKETVER >= 20110523
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110517
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20110511
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110503
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20110412
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110405
-packetLen(0x08ab, 10) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 10)
#elif PACKETVER >= 20110329
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110322
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20110228
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110222
-packetLen(0x08ab, 19) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 19)
#elif PACKETVER >= 20110111
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20110104
-packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 26)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20111227
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#elif PACKETVER >= 20110809
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20110802
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#elif PACKETVER >= 20110726
-packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 18)
#elif PACKETVER >= 20110511
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20110503
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20110426
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#elif PACKETVER >= 20110308
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20110228
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20110215
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20110208
-packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 4)
#elif PACKETVER >= 20110131
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20110125
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20110104
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20111227
-packetLen(0x08ad, 7) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 7)
#elif PACKETVER >= 20111220
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20111207
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20111122
-packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 10)
#elif PACKETVER >= 20111114
-packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 4)
#elif PACKETVER >= 20111108
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20111101
-packetLen(0x08ad, 90) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 90)
#elif PACKETVER >= 20111025
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20111004
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110928
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110920
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110906
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110831
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20110809
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110802
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20110726
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110718
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110711
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110705
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20110620
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110614
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20110517
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110426
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110419
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110412
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20110405
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110329
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110322
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110308
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110228
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110222
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110215
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110208
-packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 18)
#elif PACKETVER >= 20110131
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110125
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110118
-packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 4)
#elif PACKETVER >= 20110104
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
#if PACKETVER >= 20110111
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
#endif
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
#if PACKETVER >= 20110111
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
#endif
// Packet: 0x08b4
#if PACKETVER >= 20110125
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
#endif
// Packet: 0x08b5
#if PACKETVER >= 20110125
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
#endif
// Packet: 0x08b6
#if PACKETVER >= 20110125
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
#endif
// Packet: 0x08b7
#if PACKETVER >= 20110222
// removed
#elif PACKETVER >= 20110215
-packetLen(0x08b7, 10) // HC_SECOND_PASSWD_REQ
+packetLen(0x08b7, 10)
#endif
// Packet: 0x08b8
#if PACKETVER >= 20110308
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
#elif PACKETVER >= 20110215
-packetLen(0x08b8, 12) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 12)
#endif
// Packet: 0x08b9
#if PACKETVER >= 20110222
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
#endif
// Packet: 0x08ba
#if PACKETVER >= 20110308
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
#elif PACKETVER >= 20110222
-packetLen(0x08ba, 12) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 12)
#endif
// Packet: 0x08bb
#if PACKETVER >= 20110308
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
#elif PACKETVER >= 20110222
-packetLen(0x08bb, 4) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 4)
#endif
// Packet: 0x08bc
#if PACKETVER >= 20110308
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
#elif PACKETVER >= 20110222
-packetLen(0x08bc, 12) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 12)
#endif
// Packet: 0x08bd
#if PACKETVER >= 20111207
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
#elif PACKETVER >= 20110222
-packetLen(0x08bd, 12) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 12)
#endif
// Packet: 0x08be
#if PACKETVER >= 20110308
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
#elif PACKETVER >= 20110228
-packetLen(0x08be, 18) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 18)
#elif PACKETVER >= 20110222
-packetLen(0x08be, 12) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 12)
#endif
// Packet: 0x08bf
#if PACKETVER >= 20110308
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
#elif PACKETVER >= 20110222
-packetLen(0x08bf, 4) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 4)
#endif
// Packet: 0x08c0
#if PACKETVER >= 20110222
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
#endif
// Packet: 0x08c1
#if PACKETVER >= 20110222
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
#endif
// Packet: 0x08c2
#if PACKETVER >= 20110222
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
#endif
// Packet: 0x08c3
#if PACKETVER >= 20110308
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
#elif PACKETVER >= 20110228
-packetLen(0x08c3, 12) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 12)
#endif
// Packet: 0x08c4
#if PACKETVER >= 20110308
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
#elif PACKETVER >= 20110228
-packetLen(0x08c4, 4) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 4)
#endif
// Packet: 0x08c5
#if PACKETVER >= 20110308
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
#elif PACKETVER >= 20110228
-packetLen(0x08c5, 12) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 12)
#endif
// Packet: 0x08c6
#if PACKETVER >= 20110228
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
#endif
// Packet: 0x08c7
#if PACKETVER >= 20110419
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
#endif
// Packet: 0x08c8
#if PACKETVER >= 20110614
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
#endif
// Packet: 0x08c9
#if PACKETVER >= 20110614
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
#endif
// Packet: 0x08ca
#if PACKETVER >= 20110614
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
#endif
// Packet: 0x08cb
#if PACKETVER >= 20110627
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
#endif
// Packet: 0x08cc
#if PACKETVER >= 20110726
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
#elif PACKETVER >= 20110711
// removed
#elif PACKETVER >= 20110705
-packetLen(0x08cc, 5) // CA_LOGIN5
+packetLen(0x08cc, 5)
#endif
// Packet: 0x08cd
#if PACKETVER >= 20110802
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
#endif
// Packet: 0x08ce
#if PACKETVER >= 20110809
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
#elif PACKETVER >= 20110802
-packetLen(0x08ce, 10) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 10)
#endif
// Packet: 0x08cf
#if PACKETVER >= 20110809
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
#endif
// Packet: 0x08d0
#if PACKETVER >= 20110809
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
#endif
// Packet: 0x08d1
#if PACKETVER >= 20110809
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
#endif
// Packet: 0x08d2
#if PACKETVER >= 20110809
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
#endif
// Packet: 0x08d3
#if PACKETVER >= 20110816
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
#endif
// Packet: 0x08d4
#if PACKETVER >= 20111101
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
#elif PACKETVER >= 20110928
-packetLen(0x08d4, 12) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 12)
#elif PACKETVER >= 20110920
-packetLen(0x08d4, 10) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 10)
#elif PACKETVER >= 20110906
-packetLen(0x08d4, 14) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 14)
#endif
// Packet: 0x08d5
#if PACKETVER >= 20110906
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
#endif
// Packet: 0x08d6
#if PACKETVER >= 20110928
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
#endif
// Packet: 0x08d7
#if PACKETVER >= 20111004
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
#endif
// Packet: 0x08d8
#if PACKETVER >= 20111004
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
#endif
// Packet: 0x08d9
#if PACKETVER >= 20111004
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
#endif
// Packet: 0x08da
#if PACKETVER >= 20111004
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
#endif
// Packet: 0x08db
#if PACKETVER >= 20111004
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
#endif
// Packet: 0x08dc
#if PACKETVER >= 20111004
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
#endif
// Packet: 0x08dd
#if PACKETVER >= 20111004
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
#endif
// Packet: 0x08de
#if PACKETVER >= 20111004
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
#endif
// Packet: 0x08df
#if PACKETVER >= 20111004
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
#endif
// Packet: 0x08e0
#if PACKETVER >= 20111004
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
#endif
// Packet: 0x08e1
#if PACKETVER >= 20111004
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
#endif
// Packet: 0x08e2
#if PACKETVER >= 20111108
-packetLen(0x08e2, 25) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 25)
#elif PACKETVER >= 20111004
-packetLen(0x08e2, 23) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 23)
#endif
// Packet: 0x08e3
#if PACKETVER >= 20111101
-packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 146)
#elif PACKETVER >= 20111017
-packetLen(0x08e3, 138) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 138)
#endif
// Packet: 0x08e4
#if PACKETVER >= 20111025
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
#endif
// Packet: 0x08e5
#if PACKETVER >= 20111025
-packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+packetLen(0x08e5, 41)
#endif
// Packet: 0x08e6
#if PACKETVER >= 20111025
-packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+packetLen(0x08e6, 4)
#endif
// Packet: 0x08e7
#if PACKETVER >= 20111025
-packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+packetLen(0x08e7, 10)
#endif
// Packet: 0x08e8
@@ -6985,58 +6985,58 @@ packetLen(0x08e8, -1)
// Packet: 0x08e9
#if PACKETVER >= 20111025
-packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+packetLen(0x08e9, 2)
#endif
// Packet: 0x08ea
#if PACKETVER >= 20111025
-packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+packetLen(0x08ea, 4)
#endif
// Packet: 0x08eb
#if PACKETVER >= 20111025
-packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+packetLen(0x08eb, 39)
#endif
// Packet: 0x08ec
#if PACKETVER >= 20111025
-packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+packetLen(0x08ec, 73)
#endif
// Packet: 0x08ed
#if PACKETVER >= 20111025
-packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+packetLen(0x08ed, 43)
#endif
// Packet: 0x08ee
#if PACKETVER >= 20111025
-packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+packetLen(0x08ee, 6)
#endif
// Packet: 0x08ef
#if PACKETVER >= 20111101
-packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x08ef, 6)
#elif PACKETVER >= 20111025
-packetLen(0x08ef, -1) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x08ef, -1)
#endif
// Packet: 0x08f0
#if PACKETVER >= 20111101
-packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x08f0, 6)
#elif PACKETVER >= 20111025
-packetLen(0x08f0, -1) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x08f0, -1)
#endif
// Packet: 0x08f1
#if PACKETVER >= 20111025
-packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+packetLen(0x08f1, 6)
#endif
// Packet: 0x08f2
#if PACKETVER >= 20111101
-packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+packetLen(0x08f2, 36)
#elif PACKETVER >= 20111025
-packetLen(0x08f2, 12) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+packetLen(0x08f2, 12)
#endif
// Packet: 0x08f3
@@ -7046,154 +7046,154 @@ packetLen(0x08f3, -1)
// Packet: 0x08f4
#if PACKETVER >= 20111025
-packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+packetLen(0x08f4, 6)
#endif
// Packet: 0x08f5
#if PACKETVER >= 20111108
-packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+packetLen(0x08f5, -1)
#elif PACKETVER >= 20111025
-packetLen(0x08f5, 2) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+packetLen(0x08f5, 2)
#endif
// Packet: 0x08f6
#if PACKETVER >= 20111108
-packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+packetLen(0x08f6, 22)
#elif PACKETVER >= 20111025
-packetLen(0x08f6, 6) // ZC_PARTY_RECRUIT_RECALL_COST
+packetLen(0x08f6, 6)
#endif
// Packet: 0x08f7
#if PACKETVER >= 20111108
-packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, 3)
#elif PACKETVER >= 20111101
-packetLen(0x08f7, -1) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, -1)
#elif PACKETVER >= 20111025
-packetLen(0x08f7, 6) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, 6)
#endif
// Packet: 0x08f8
#if PACKETVER >= 20111108
-packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+packetLen(0x08f8, 7)
#elif PACKETVER >= 20111025
-packetLen(0x08f8, 6) // ZC_PARTY_RECRUIT_FAILED_RECALL
+packetLen(0x08f8, 6)
#endif
// Packet: 0x08f9
#if PACKETVER >= 20111108
-packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08f9, 6)
#endif
// Packet: 0x08fa
#if PACKETVER >= 20111108
-packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08fa, 6)
#endif
// Packet: 0x08fb
#if PACKETVER >= 20111122
-packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x08fb, 6)
#endif
// Packet: 0x08fc
#if PACKETVER >= 20111101
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
#endif
// Packet: 0x08fd
#if PACKETVER >= 20111101
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
#endif
// Packet: 0x08fe
#if PACKETVER >= 20111101
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
#endif
// Packet: 0x08ff
#if PACKETVER >= 20111101
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
#endif
// Packet: 0x0900
#if PACKETVER >= 20111122
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
#endif
// Packet: 0x0901
#if PACKETVER >= 20111122
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
#endif
// Packet: 0x0902
#if PACKETVER >= 20111122
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
#endif
// Packet: 0x0903
#if PACKETVER >= 20111122
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
#endif
// Packet: 0x0904
#if PACKETVER >= 20111122
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
#endif
// Packet: 0x0905
#if PACKETVER >= 20111122
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
#endif
// Packet: 0x0906
#if PACKETVER >= 20111122
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
#endif
// Packet: 0x0907
#if PACKETVER >= 20111122
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
#endif
// Packet: 0x0908
#if PACKETVER >= 20111122
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
#endif
// Packet: 0x0909
#if PACKETVER >= 20111122
-packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x0909, 6)
#endif
// Packet: 0x090a
#if PACKETVER >= 20111207
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
#endif
// Packet: 0x090b
#if PACKETVER >= 20111207
-packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x090b, 30)
#endif
// Packet: 0x090c
#if PACKETVER >= 20111207
-packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x090c, 30)
#endif
// Packet: 0x090d
#if PACKETVER >= 20111227
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
#endif
// Packet: 0x090e
#if PACKETVER >= 20111227
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
#endif
// Packet: 0x09dc
#if PACKETVER >= 20110809
// removed
#elif PACKETVER >= 20110802
-packetLen(0x09dc, 2) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, 2)
#endif
diff --git a/src/common/packets/packets2011_len_re.h b/src/common/packets/packets2011_len_re.h
index 58e647cac..7bb9f0537 100644
--- a/src/common/packets/packets2011_len_re.h
+++ b/src/common/packets/packets2011_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4538 +25,4538 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20111025
-packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 146)
#elif PACKETVER >= 20110928
-packetLen(0x006d, 142) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 142)
#elif PACKETVER >= 20110111
-packetLen(0x006d, 138) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 138)
#elif PACKETVER >= 20110104
-packetLen(0x006d, 134) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 134)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20111220
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20111207
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20111122
-packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+packetLen(0x0202, 18)
#elif PACKETVER >= 20111101
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20111017
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20111010
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20110920
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20110823
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20111227
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20111220
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20111213
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20111207
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20111122
-packetLen(0x022d, 7) // CZ_COMMAND_MER
+packetLen(0x022d, 7)
#elif PACKETVER >= 20111114
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20111108
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20111025
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20111017
-packetLen(0x022d, 12) // CZ_COMMAND_MER
+packetLen(0x022d, 12)
#elif PACKETVER >= 20111004
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110920
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20110906
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110823
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20110816
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20110104
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20111220
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20111213
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20111207
-packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 19)
#elif PACKETVER >= 20111114
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20111108
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20111101
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20111025
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20111010
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20111004
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20110928
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110920
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20110906
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110831
-packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 10)
#elif PACKETVER >= 20110823
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20110816
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20110104
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20111227
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20111213
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20111207
-packetLen(0x0281, 7) // CZ_GANGSI_RANK
+packetLen(0x0281, 7)
#elif PACKETVER >= 20111122
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20111025
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20111004
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0281, 5) // CZ_GANGSI_RANK
+packetLen(0x0281, 5)
#elif PACKETVER >= 20110920
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20110823
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20110104
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20111227
-packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 36)
#elif PACKETVER >= 20111220
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20111213
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20111122
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20111108
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20111101
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20111010
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20111004
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20110831
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110823
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20110816
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20110104
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
#if PACKETVER >= 20110131
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
#endif
// Packet: 0x02f4
#if PACKETVER >= 20110131
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
#endif
// Packet: 0x02f5
#if PACKETVER >= 20110131
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
#endif
// Packet: 0x02f6
#if PACKETVER >= 20110131
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
#endif
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20111227
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20111220
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20111213
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20111207
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20111108
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20111101
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20111025
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20111017
-packetLen(0x035f, 19) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 19)
#elif PACKETVER >= 20111010
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110928
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110920
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110906
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110823
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20110816
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20110104
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#endif
// Packet: 0x0360
#if PACKETVER >= 20111227
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20111122
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20111101
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20111017
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20111004
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110920
-packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+packetLen(0x0360, 19)
#elif PACKETVER >= 20110906
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20110831
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0360, 12) // CZ_REQUEST_TIME2
+packetLen(0x0360, 12)
#elif PACKETVER >= 20110104
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20111220
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20111207
-packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 10)
#elif PACKETVER >= 20111122
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20111025
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20111010
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20110928
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20110831
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20110104
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#endif
// Packet: 0x0362
#if PACKETVER >= 20111213
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20111207
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20111017
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20111004
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110920
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20110831
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 10)
#elif PACKETVER >= 20110104
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20111227
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20111207
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0363, 90) // CZ_ITEM_THROW2
+packetLen(0x0363, 90)
#elif PACKETVER >= 20111114
-packetLen(0x0363, 18) // CZ_ITEM_THROW2
+packetLen(0x0363, 18)
#elif PACKETVER >= 20111101
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20111017
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20111010
-packetLen(0x0363, 7) // CZ_ITEM_THROW2
+packetLen(0x0363, 7)
#elif PACKETVER >= 20111004
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110920
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110823
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20110104
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#endif
// Packet: 0x0364
#if PACKETVER >= 20111227
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
#elif PACKETVER >= 20111220
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20111207
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20111108
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20111101
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20111017
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 19)
#elif PACKETVER >= 20111004
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110920
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20110823
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20111227
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20111220
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20111213
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20111207
-packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 12)
#elif PACKETVER >= 20111122
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20111108
-packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 10)
#elif PACKETVER >= 20111010
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20110928
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110920
-packetLen(0x0365, 90) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 90)
#elif PACKETVER >= 20110906
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110831
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20110823
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20110104
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#endif
// Packet: 0x0366
#if PACKETVER >= 20111227
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20111213
-packetLen(0x0366, 4) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 4)
#elif PACKETVER >= 20111207
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0366, 12) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 12)
#elif PACKETVER >= 20111108
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20111101
-packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 5)
#elif PACKETVER >= 20111025
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20111017
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20111010
-packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 5)
#elif PACKETVER >= 20110928
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110920
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110831
-packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 5)
#elif PACKETVER >= 20110823
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20110104
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#endif
// Packet: 0x0367
#if PACKETVER >= 20111220
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20111207
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0367, 4) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 4)
#elif PACKETVER >= 20111101
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20111017
-packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 10)
#elif PACKETVER >= 20111010
-packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 26)
#elif PACKETVER >= 20111004
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20110906
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20110816
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#endif
// Packet: 0x0368
#if PACKETVER >= 20111227
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20111122
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20111101
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20111010
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20110831
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20111227
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20111220
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20111207
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20111114
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20111101
-packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 10)
#elif PACKETVER >= 20111025
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20111010
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20110928
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110920
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110831
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20110816
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20110104
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20111227
-packetLen(0x0436, 10) // CZ_ENTER2
+packetLen(0x0436, 10)
#elif PACKETVER >= 20111213
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20111025
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20111010
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20110928
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0436, 12) // CZ_ENTER2
+packetLen(0x0436, 12)
#elif PACKETVER >= 20110906
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20110831
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20110816
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20110104
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#endif
// Packet: 0x0437
#if PACKETVER >= 20111220
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20111122
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20111101
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20111010
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110823
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#endif
// Packet: 0x0438
#if PACKETVER >= 20111227
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20111122
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20111108
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20111025
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20111010
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20110920
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0438, 26) // CZ_USE_SKILL2
+packetLen(0x0438, 26)
#elif PACKETVER >= 20110831
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20110823
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20111227
-packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 4)
#elif PACKETVER >= 20111220
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20111004
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110928
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110920
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110906
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110831
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20110823
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20110816
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20110104
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20111227
-packetLen(0x07ec, 90) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 90)
#elif PACKETVER >= 20111220
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20111213
-packetLen(0x07ec, 10) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 10)
#elif PACKETVER >= 20111207
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20111122
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20111114
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20111108
-packetLen(0x07ec, 18) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 18)
#elif PACKETVER >= 20111101
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20111025
-packetLen(0x07ec, 10) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 10)
#elif PACKETVER >= 20111017
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20111010
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20111004
-packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 7)
#elif PACKETVER >= 20110928
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110920
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110906
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20110831
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20110823
-packetLen(0x07ec, 36) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 36)
#elif PACKETVER >= 20110104
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x07ff
#if PACKETVER >= 20110719
// removed
#elif PACKETVER >= 20110104
-packetLen(0x07ff, -1) // ZC_DEFINE_CHECK
+packetLen(0x07ff, -1)
#endif
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20111220
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20111122
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20111025
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20111010
-packetLen(0x0802, 12) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 12)
#elif PACKETVER >= 20111004
-packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 8)
#elif PACKETVER >= 20110928
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110920
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20110906
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110831
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20110823
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20110104
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20111227
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20111220
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20111122
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20111010
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110920
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20110823
-packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 10)
#elif PACKETVER >= 20110104
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20111227
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20111114
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20111101
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20111010
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20110928
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110920
-packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 4)
#elif PACKETVER >= 20110831
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110823
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20110104
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20111220
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20111108
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20110906
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20110816
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20111227
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20111213
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20111207
-packetLen(0x0819, 18) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 18)
#elif PACKETVER >= 20111122
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20111108
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20111101
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20111017
-packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 8)
#elif PACKETVER >= 20111010
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20110928
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110920
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20110831
-packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 12)
#elif PACKETVER >= 20110823
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20111213
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20111207
-packetLen(0x0835, 10) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 10)
#elif PACKETVER >= 20111122
-packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 19)
#elif PACKETVER >= 20111108
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20111025
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20111010
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 26)
#elif PACKETVER >= 20110906
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 4)
#elif PACKETVER >= 20110823
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20110816
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20110104
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20111227
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20111220
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20111213
-packetLen(0x0838, 19) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 19)
#elif PACKETVER >= 20111122
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20111101
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20111010
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110920
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110823
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20110816
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20110104
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20111227
-packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 8)
#elif PACKETVER >= 20111220
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20111122
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20111114
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20111108
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20111101
-packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 19)
#elif PACKETVER >= 20111017
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20111010
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20111004
-packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 26)
#elif PACKETVER >= 20110928
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110920
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110906
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110831
-packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 26)
#elif PACKETVER >= 20110823
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20110816
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20110104
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
// Packet: 0x085b
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
// Packet: 0x085e
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
// Packet: 0x085f
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
// Packet: 0x0860
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
// Packet: 0x0861
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
// Packet: 0x0862
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
// Packet: 0x0863
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
// Packet: 0x0864
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
// Packet: 0x0865
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
// Packet: 0x0866
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
// Packet: 0x0867
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
// Packet: 0x0868
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
// Packet: 0x086b
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
// Packet: 0x086c
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
// Packet: 0x086d
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
// Packet: 0x086e
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
// Packet: 0x086f
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
// Packet: 0x0870
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
// Packet: 0x0871
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
// Packet: 0x0872
packetLen(0x0872, 2)
// Packet: 0x0873
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
// Packet: 0x0874
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
// Packet: 0x0875
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
// Packet: 0x0876
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
// Packet: 0x0877
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
// Packet: 0x0878
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
// Packet: 0x0879
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
// Packet: 0x087a
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
// Packet: 0x087b
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
// Packet: 0x087e
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
// Packet: 0x0881
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
// Packet: 0x0882
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
// Packet: 0x0883
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
// Packet: 0x0884
#if PACKETVER >= 20111114
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 10)
#elif PACKETVER >= 20111025
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 7)
#elif PACKETVER >= 20111010
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20110928
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20110831
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20110104
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20111227
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20111108
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 10)
#elif PACKETVER >= 20111017
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 10)
#elif PACKETVER >= 20111004
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20110928
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20110906
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20111227
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20111025
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20111010
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20110920
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 36)
#elif PACKETVER >= 20110104
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20111220
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20111207
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20111114
-packetLen(0x0887, 7) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 7)
#elif PACKETVER >= 20111101
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 26)
#elif PACKETVER >= 20111010
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20110906
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20111227
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20111122
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20111114
-packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, -1)
#elif PACKETVER >= 20111108
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20111101
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20110831
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20111227
-packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 18)
#elif PACKETVER >= 20111220
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 26)
#elif PACKETVER >= 20111010
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20111004
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20110104
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20111108
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20111101
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20111017
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20111010
-packetLen(0x088a, 18) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 18)
#elif PACKETVER >= 20110906
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20110831
-packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 5)
#elif PACKETVER >= 20110104
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20111227
-packetLen(0x088b, 12) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 12)
#elif PACKETVER >= 20111220
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20111213
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20111207
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20111114
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20111108
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20110104
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20111213
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20111122
-packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 6)
#elif PACKETVER >= 20111017
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20111010
-packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 36)
#elif PACKETVER >= 20111004
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110928
-packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 36)
#elif PACKETVER >= 20110920
-packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 6)
#elif PACKETVER >= 20110831
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20110823
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20110104
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20111213
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20111207
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20111108
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20111101
-packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 26)
#elif PACKETVER >= 20111017
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20111010
-packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 10)
#elif PACKETVER >= 20110928
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20110920
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20110104
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20111025
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20111017
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20110928
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20110920
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20110104
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20111220
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20111213
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20111207
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20111025
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20111017
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20111010
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20110906
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20110831
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20110823
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20110816
-packetLen(0x088f, 36) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 36)
#elif PACKETVER >= 20110104
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20111220
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0890, 12) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 12)
#elif PACKETVER >= 20111207
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20111108
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20111025
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 26)
#elif PACKETVER >= 20111010
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20110928
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 26)
#elif PACKETVER >= 20110831
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20110104
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20111227
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20111213
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20111207
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 26)
#elif PACKETVER >= 20111025
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20111004
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0891, 4) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 4)
#elif PACKETVER >= 20110920
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20110104
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20111227
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20111220
-packetLen(0x0892, 26) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 26)
#elif PACKETVER >= 20111207
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 5)
#elif PACKETVER >= 20111114
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 5)
#elif PACKETVER >= 20110104
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20111227
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 4)
#elif PACKETVER >= 20111213
-packetLen(0x0893, 10) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 10)
#elif PACKETVER >= 20111122
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20111025
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20110920
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20110906
-packetLen(0x0893, 5) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 5)
#elif PACKETVER >= 20110831
-packetLen(0x0893, 90) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 90)
#elif PACKETVER >= 20110823
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20110104
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20111213
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20111207
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20111114
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20111101
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20111025
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20111017
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20111010
-packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 4)
#elif PACKETVER >= 20110906
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 18)
#elif PACKETVER >= 20110104
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20111207
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20111114
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 19)
#elif PACKETVER >= 20111101
-packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 4)
#elif PACKETVER >= 20110906
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20110831
-packetLen(0x0895, 36) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 36)
#elif PACKETVER >= 20110104
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20111220
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20111207
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 5)
#elif PACKETVER >= 20111114
-packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 8)
#elif PACKETVER >= 20111004
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20110928
-packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 26)
#elif PACKETVER >= 20110920
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20111227
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20111220
-packetLen(0x0897, 36) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 36)
#elif PACKETVER >= 20111213
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20111207
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20111108
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20111025
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20111010
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20111220
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20111213
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20111207
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20111122
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20111108
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20111101
-packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 5)
#elif PACKETVER >= 20111025
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20111017
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20111010
-packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 8)
#elif PACKETVER >= 20110831
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20110104
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20111207
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20111122
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20111114
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20111108
-packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, -1)
#elif PACKETVER >= 20110928
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110920
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20110831
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20110823
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20110104
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20111220
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20111213
-packetLen(0x089a, 90) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 90)
#elif PACKETVER >= 20111122
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20111114
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20111010
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20111004
-packetLen(0x089a, 4) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 4)
#elif PACKETVER >= 20110928
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20110920
-packetLen(0x089a, 10) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 10)
#elif PACKETVER >= 20110104
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20111227
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20111213
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20111207
-packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 36)
#elif PACKETVER >= 20111101
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20111025
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20111017
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20111010
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20111004
-packetLen(0x089b, 36) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 36)
#elif PACKETVER >= 20110928
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110920
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20110831
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20110823
-packetLen(0x089b, 19) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 19)
#elif PACKETVER >= 20110104
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20111227
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20111220
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20111213
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20111122
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20111114
-packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 19)
#elif PACKETVER >= 20111025
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20111010
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20110928
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110920
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20110831
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20110823
-packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, -1)
#elif PACKETVER >= 20110104
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20111213
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20111207
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20111122
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20111114
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20110928
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110920
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20110906
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20110831
-packetLen(0x089d, 7) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 7)
#elif PACKETVER >= 20110104
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20111207
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20111122
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20111108
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20111101
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20111025
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20111017
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20110104
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20111025
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20111017
-packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 10)
#elif PACKETVER >= 20110104
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20110928
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 10)
#elif PACKETVER >= 20110906
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20110831
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20110104
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20111207
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20111122
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20111114
-packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 8)
#elif PACKETVER >= 20111108
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20111101
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20111025
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20111017
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20110831
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20110823
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20111227
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20111207
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20111122
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20111114
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20111108
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20111101
-packetLen(0x08a2, 12) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 12)
#elif PACKETVER >= 20111025
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20111017
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20111010
-packetLen(0x08a2, 90) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 90)
#elif PACKETVER >= 20111004
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20110928
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20110104
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20110831
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20110823
-packetLen(0x08a3, 7) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 7)
#elif PACKETVER >= 20110104
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20111227
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20111220
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20111207
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20111122
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20111017
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20111010
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20111004
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20110928
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08a4, 7) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 7)
#elif PACKETVER >= 20110906
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20110831
-packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 26)
#elif PACKETVER >= 20110823
-packetLen(0x08a4, 4) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 4)
#elif PACKETVER >= 20110104
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20111220
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20111213
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20111207
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20111108
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20111101
-packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 18)
#elif PACKETVER >= 20110906
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20110831
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20110104
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20111227
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20111220
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20111213
-packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, -1)
#elif PACKETVER >= 20111101
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20111025
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20111017
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20111010
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20110928
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 26)
#elif PACKETVER >= 20110906
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20110831
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20110104
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20111227
-packetLen(0x08a7, 19) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 19)
#elif PACKETVER >= 20111220
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20111213
-packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 36)
#elif PACKETVER >= 20111207
-packetLen(0x08a7, 90) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 90)
#elif PACKETVER >= 20111010
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20111004
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20110906
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20110831
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20111213
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20111207
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20111114
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20111108
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20111101
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20111025
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20110928
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20111213
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20111207
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20111220
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20111213
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20111207
-packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 26)
#elif PACKETVER >= 20111108
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20111101
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20111025
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20111017
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20110928
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20110920
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20110906
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20110823
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20111213
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20111207
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20111108
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20111101
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20111025
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#elif PACKETVER >= 20110104
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20111227
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#elif PACKETVER >= 20110104
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20111227
-packetLen(0x08ad, 7) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 7)
#elif PACKETVER >= 20111220
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20111207
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20111122
-packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 10)
#elif PACKETVER >= 20111114
-packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 4)
#elif PACKETVER >= 20111108
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20111101
-packetLen(0x08ad, 90) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 90)
#elif PACKETVER >= 20111025
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20111004
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110928
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110920
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20110906
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110831
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20110816
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20110104
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
#if PACKETVER >= 20110111
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
#endif
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
#if PACKETVER >= 20110111
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
#endif
// Packet: 0x08b4
#if PACKETVER >= 20110125
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
#endif
// Packet: 0x08b5
#if PACKETVER >= 20110125
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
#endif
// Packet: 0x08b6
#if PACKETVER >= 20110125
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
#endif
// Packet: 0x08b7
#if PACKETVER >= 20110222
// removed
#elif PACKETVER >= 20110215
-packetLen(0x08b7, 10) // HC_SECOND_PASSWD_REQ
+packetLen(0x08b7, 10)
#endif
// Packet: 0x08b8
#if PACKETVER >= 20110308
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
#elif PACKETVER >= 20110215
-packetLen(0x08b8, 12) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 12)
#endif
// Packet: 0x08b9
#if PACKETVER >= 20110222
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
#endif
// Packet: 0x08ba
#if PACKETVER >= 20110308
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
#elif PACKETVER >= 20110222
-packetLen(0x08ba, 12) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 12)
#endif
// Packet: 0x08bb
#if PACKETVER >= 20110308
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
#elif PACKETVER >= 20110222
-packetLen(0x08bb, 4) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 4)
#endif
// Packet: 0x08bc
#if PACKETVER >= 20110308
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
#elif PACKETVER >= 20110222
-packetLen(0x08bc, 12) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 12)
#endif
// Packet: 0x08bd
#if PACKETVER >= 20111207
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
#elif PACKETVER >= 20110222
-packetLen(0x08bd, 12) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 12)
#endif
// Packet: 0x08be
#if PACKETVER >= 20110308
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
#elif PACKETVER >= 20110228
-packetLen(0x08be, 18) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 18)
#elif PACKETVER >= 20110222
-packetLen(0x08be, 12) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 12)
#endif
// Packet: 0x08bf
#if PACKETVER >= 20110308
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
#elif PACKETVER >= 20110222
-packetLen(0x08bf, 4) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 4)
#endif
// Packet: 0x08c0
#if PACKETVER >= 20110222
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
#endif
// Packet: 0x08c1
#if PACKETVER >= 20110222
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
#endif
// Packet: 0x08c2
#if PACKETVER >= 20110222
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
#endif
// Packet: 0x08c3
#if PACKETVER >= 20110308
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
#elif PACKETVER >= 20110228
-packetLen(0x08c3, 12) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 12)
#endif
// Packet: 0x08c4
#if PACKETVER >= 20110308
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
#elif PACKETVER >= 20110228
-packetLen(0x08c4, 4) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 4)
#endif
// Packet: 0x08c5
#if PACKETVER >= 20110308
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
#elif PACKETVER >= 20110228
-packetLen(0x08c5, 12) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 12)
#endif
// Packet: 0x08c6
#if PACKETVER >= 20110228
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
#endif
// Packet: 0x08c7
#if PACKETVER >= 20110419
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
#endif
// Packet: 0x08c8
#if PACKETVER >= 20110614
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
#endif
// Packet: 0x08c9
#if PACKETVER >= 20110614
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
#endif
// Packet: 0x08ca
#if PACKETVER >= 20110614
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
#endif
// Packet: 0x08cb
#if PACKETVER >= 20110628
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
#endif
// Packet: 0x08cc
#if PACKETVER >= 20110726
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
#elif PACKETVER >= 20110713
// removed
#elif PACKETVER >= 20110706
-packetLen(0x08cc, 5) // CA_LOGIN5
+packetLen(0x08cc, 5)
#endif
// Packet: 0x08cd
#if PACKETVER >= 20110803
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
#endif
// Packet: 0x08ce
#if PACKETVER >= 20110810
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
#elif PACKETVER >= 20110803
-packetLen(0x08ce, 10) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 10)
#endif
// Packet: 0x08cf
#if PACKETVER >= 20110810
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
#endif
// Packet: 0x08d0
#if PACKETVER >= 20110810
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
#endif
// Packet: 0x08d1
#if PACKETVER >= 20110810
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
#endif
// Packet: 0x08d2
#if PACKETVER >= 20110810
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
#endif
// Packet: 0x08d3
#if PACKETVER >= 20110816
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
#endif
// Packet: 0x08d4
#if PACKETVER >= 20111101
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
#elif PACKETVER >= 20110928
-packetLen(0x08d4, 12) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 12)
#elif PACKETVER >= 20110920
-packetLen(0x08d4, 10) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 10)
#elif PACKETVER >= 20110906
-packetLen(0x08d4, 14) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 14)
#endif
// Packet: 0x08d5
#if PACKETVER >= 20110906
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
#endif
// Packet: 0x08d6
#if PACKETVER >= 20110928
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
#endif
// Packet: 0x08d7
#if PACKETVER >= 20111004
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
#endif
// Packet: 0x08d8
#if PACKETVER >= 20111004
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
#endif
// Packet: 0x08d9
#if PACKETVER >= 20111004
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
#endif
// Packet: 0x08da
#if PACKETVER >= 20111004
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
#endif
// Packet: 0x08db
#if PACKETVER >= 20111004
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
#endif
// Packet: 0x08dc
#if PACKETVER >= 20111004
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
#endif
// Packet: 0x08dd
#if PACKETVER >= 20111004
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
#endif
// Packet: 0x08de
#if PACKETVER >= 20111004
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
#endif
// Packet: 0x08df
#if PACKETVER >= 20111004
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
#endif
// Packet: 0x08e0
#if PACKETVER >= 20111004
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
#endif
// Packet: 0x08e1
#if PACKETVER >= 20111004
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
#endif
// Packet: 0x08e2
#if PACKETVER >= 20111108
-packetLen(0x08e2, 25) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 25)
#elif PACKETVER >= 20111004
-packetLen(0x08e2, 23) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 23)
#endif
// Packet: 0x08e3
#if PACKETVER >= 20111025
-packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 146)
#elif PACKETVER >= 20111017
-packetLen(0x08e3, 142) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 142)
#endif
// Packet: 0x08e4
#if PACKETVER >= 20111025
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
#endif
// Packet: 0x08e5
#if PACKETVER >= 20111025
-packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+packetLen(0x08e5, 41)
#endif
// Packet: 0x08e6
#if PACKETVER >= 20111025
-packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+packetLen(0x08e6, 4)
#endif
// Packet: 0x08e7
#if PACKETVER >= 20111025
-packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+packetLen(0x08e7, 10)
#endif
// Packet: 0x08e8
@@ -4566,58 +4566,58 @@ packetLen(0x08e8, -1)
// Packet: 0x08e9
#if PACKETVER >= 20111025
-packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+packetLen(0x08e9, 2)
#endif
// Packet: 0x08ea
#if PACKETVER >= 20111025
-packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+packetLen(0x08ea, 4)
#endif
// Packet: 0x08eb
#if PACKETVER >= 20111025
-packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+packetLen(0x08eb, 39)
#endif
// Packet: 0x08ec
#if PACKETVER >= 20111025
-packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+packetLen(0x08ec, 73)
#endif
// Packet: 0x08ed
#if PACKETVER >= 20111025
-packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+packetLen(0x08ed, 43)
#endif
// Packet: 0x08ee
#if PACKETVER >= 20111025
-packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+packetLen(0x08ee, 6)
#endif
// Packet: 0x08ef
#if PACKETVER >= 20111101
-packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x08ef, 6)
#elif PACKETVER >= 20111025
-packetLen(0x08ef, -1) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x08ef, -1)
#endif
// Packet: 0x08f0
#if PACKETVER >= 20111101
-packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x08f0, 6)
#elif PACKETVER >= 20111025
-packetLen(0x08f0, -1) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x08f0, -1)
#endif
// Packet: 0x08f1
#if PACKETVER >= 20111025
-packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+packetLen(0x08f1, 6)
#endif
// Packet: 0x08f2
#if PACKETVER >= 20111101
-packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+packetLen(0x08f2, 36)
#elif PACKETVER >= 20111025
-packetLen(0x08f2, 12) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+packetLen(0x08f2, 12)
#endif
// Packet: 0x08f3
@@ -4627,154 +4627,154 @@ packetLen(0x08f3, -1)
// Packet: 0x08f4
#if PACKETVER >= 20111025
-packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+packetLen(0x08f4, 6)
#endif
// Packet: 0x08f5
#if PACKETVER >= 20111108
-packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+packetLen(0x08f5, -1)
#elif PACKETVER >= 20111025
-packetLen(0x08f5, 2) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+packetLen(0x08f5, 2)
#endif
// Packet: 0x08f6
#if PACKETVER >= 20111108
-packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+packetLen(0x08f6, 22)
#elif PACKETVER >= 20111025
-packetLen(0x08f6, 6) // ZC_PARTY_RECRUIT_RECALL_COST
+packetLen(0x08f6, 6)
#endif
// Packet: 0x08f7
#if PACKETVER >= 20111108
-packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, 3)
#elif PACKETVER >= 20111101
-packetLen(0x08f7, -1) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, -1)
#elif PACKETVER >= 20111025
-packetLen(0x08f7, 6) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, 6)
#endif
// Packet: 0x08f8
#if PACKETVER >= 20111108
-packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+packetLen(0x08f8, 7)
#elif PACKETVER >= 20111025
-packetLen(0x08f8, 6) // ZC_PARTY_RECRUIT_FAILED_RECALL
+packetLen(0x08f8, 6)
#endif
// Packet: 0x08f9
#if PACKETVER >= 20111108
-packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08f9, 6)
#endif
// Packet: 0x08fa
#if PACKETVER >= 20111108
-packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08fa, 6)
#endif
// Packet: 0x08fb
#if PACKETVER >= 20111122
-packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x08fb, 6)
#endif
// Packet: 0x08fc
#if PACKETVER >= 20111101
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
#endif
// Packet: 0x08fd
#if PACKETVER >= 20111101
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
#endif
// Packet: 0x08fe
#if PACKETVER >= 20111101
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
#endif
// Packet: 0x08ff
#if PACKETVER >= 20111101
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
#endif
// Packet: 0x0900
#if PACKETVER >= 20111122
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
#endif
// Packet: 0x0901
#if PACKETVER >= 20111122
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
#endif
// Packet: 0x0902
#if PACKETVER >= 20111122
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
#endif
// Packet: 0x0903
#if PACKETVER >= 20111122
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
#endif
// Packet: 0x0904
#if PACKETVER >= 20111122
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
#endif
// Packet: 0x0905
#if PACKETVER >= 20111122
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
#endif
// Packet: 0x0906
#if PACKETVER >= 20111122
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
#endif
// Packet: 0x0907
#if PACKETVER >= 20111122
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
#endif
// Packet: 0x0908
#if PACKETVER >= 20111122
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
#endif
// Packet: 0x0909
#if PACKETVER >= 20111122
-packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x0909, 6)
#endif
// Packet: 0x090a
#if PACKETVER >= 20111207
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
#endif
// Packet: 0x090b
#if PACKETVER >= 20111207
-packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x090b, 30)
#endif
// Packet: 0x090c
#if PACKETVER >= 20111207
-packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x090c, 30)
#endif
// Packet: 0x090d
#if PACKETVER >= 20111227
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
#endif
// Packet: 0x090e
#if PACKETVER >= 20111227
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
#endif
// Packet: 0x09dc
#if PACKETVER >= 20110810
// removed
#elif PACKETVER >= 20110803
-packetLen(0x09dc, 2) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, 2)
#endif
diff --git a/src/common/packets/packets2012_len_main.h b/src/common/packets/packets2012_len_main.h
index 7784ee39a..6095f6807 100644
--- a/src/common/packets/packets2012_len_main.h
+++ b/src/common/packets/packets2012_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4549 +25,4549 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 146)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20121227
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20121128
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20121017
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20120925
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120814
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20120724
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120710
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120515
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20120503
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120424
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120214
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120120
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20120117
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120110
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20121107
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20121031
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20120925
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120919
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120911
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120905
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20120830
-packetLen(0x022d, 12) // CZ_COMMAND_MER
+packetLen(0x022d, 12)
#elif PACKETVER >= 20120724
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120716
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120626
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120612
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120508
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120503
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120424
-packetLen(0x022d, 12) // CZ_COMMAND_MER
+packetLen(0x022d, 12)
#elif PACKETVER >= 20120417
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120410
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120404
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120228
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120221
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20120214
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20120207
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120131
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20120110
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120103
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20121024
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20121017
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120925
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120919
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120724
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120716
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120626
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120612
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120529
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120522
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20120515
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120508
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20120503
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120424
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120417
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120214
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120207
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120120
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120117
-packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 4)
#elif PACKETVER >= 20120110
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20120103
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20121107
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120925
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120822
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0281, 5) // CZ_GANGSI_RANK
+packetLen(0x0281, 5)
#elif PACKETVER >= 20120808
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120626
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120604
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120508
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120424
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20120417
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120404
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120214
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20121227
-packetLen(0x02c4, 19) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 19)
#elif PACKETVER >= 20120716
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120710
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20120515
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120508
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20120410
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120404
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20120314
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120307
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20120131
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120120
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20120103
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20121227
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20121218
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20121212
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20121205
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20121107
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20121031
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20121024
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20121017
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120925
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120919
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120905
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120830
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120814
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120808
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120801
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120724
-packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 8)
#elif PACKETVER >= 20120716
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120626
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120612
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120604
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120529
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120515
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120503
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120424
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120417
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120410
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120404
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120328
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120314
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120228
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120221
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120214
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120131
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120117
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120103
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20121227
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20121212
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20121114
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20121024
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120905
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120814
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120801
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120604
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120515
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120424
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120328
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120228
-packetLen(0x0360, 90) // CZ_REQUEST_TIME2
+packetLen(0x0360, 90)
#elif PACKETVER >= 20120221
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20120214
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120120
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20121227
-packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 36)
#elif PACKETVER >= 20121212
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20121114
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 36)
#elif PACKETVER >= 20120925
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120822
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120626
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120604
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20120529
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 10)
#elif PACKETVER >= 20120508
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120424
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120214
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120131
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20120120
-packetLen(0x0361, 19) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 19)
#elif PACKETVER >= 20120117
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 12)
#elif PACKETVER >= 20120103
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#endif
// Packet: 0x0362
#if PACKETVER >= 20121227
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 10)
#elif PACKETVER >= 20121212
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20121205
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0362, 19) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 19)
#elif PACKETVER >= 20121107
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120814
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120724
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0362, 18) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 18)
#elif PACKETVER >= 20120626
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120604
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120508
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120424
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120410
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20120328
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120214
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120131
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20120103
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20121227
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20121205
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20121107
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120925
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120814
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120724
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120710
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20120612
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120604
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120515
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20120503
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120424
-packetLen(0x0363, 18) // CZ_ITEM_THROW2
+packetLen(0x0363, 18)
#elif PACKETVER >= 20120417
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120328
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120228
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0363, 18) // CZ_ITEM_THROW2
+packetLen(0x0363, 18)
#elif PACKETVER >= 20120214
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120131
-packetLen(0x0363, 12) // CZ_ITEM_THROW2
+packetLen(0x0363, 12)
#elif PACKETVER >= 20120120
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20121121
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20121107
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120925
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120814
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120716
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120710
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120604
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20120529
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120522
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120508
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120424
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120410
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120328
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120314
-packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 19)
#elif PACKETVER >= 20120214
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20121121
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20121107
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20121031
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20121024
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20120925
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120911
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20120830
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20120814
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20120808
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120724
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120710
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20120702
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20120626
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120604
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120508
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120424
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120328
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120214
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120131
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20120117
-packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20121227
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20121107
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20121024
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120925
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120905
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120814
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20120724
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120702
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120604
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120522
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20120508
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20120503
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120424
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120404
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120228
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120214
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120120
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20120716
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20120314
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 10)
#elif PACKETVER >= 20120117
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20121227
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20121218
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20121212
-packetLen(0x0368, 26) // CZ_REQNAME2
+packetLen(0x0368, 26)
#elif PACKETVER >= 20121107
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20121024
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120905
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120814
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120724
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120604
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120515
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120328
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120228
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120214
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120131
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120117
-packetLen(0x0368, 7) // CZ_REQNAME2
+packetLen(0x0368, 7)
#elif PACKETVER >= 20120103
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20121227
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20121212
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20121107
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20121024
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120925
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120905
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120814
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120724
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120626
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120604
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120522
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20120503
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120424
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120328
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120314
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20120228
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120214
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120117
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20121031
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20120925
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120905
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20120814
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120724
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120710
-packetLen(0x0436, 7) // CZ_ENTER2
+packetLen(0x0436, 7)
#elif PACKETVER >= 20120626
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120604
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120508
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120424
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120328
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120214
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120131
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20120117
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#endif
// Packet: 0x0437
#if PACKETVER >= 20121227
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20121218
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20121128
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20121107
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20121024
-packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+packetLen(0x0437, 10)
#elif PACKETVER >= 20121017
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120925
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120905
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120822
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20120814
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120724
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120626
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120604
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120515
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120424
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120328
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120228
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120214
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120120
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20121227
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20121107
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20121024
-packetLen(0x0438, 12) // CZ_USE_SKILL2
+packetLen(0x0438, 12)
#elif PACKETVER >= 20121017
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120925
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120911
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20120822
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20120808
-packetLen(0x0438, 90) // CZ_USE_SKILL2
+packetLen(0x0438, 90)
#elif PACKETVER >= 20120801
-packetLen(0x0438, 18) // CZ_USE_SKILL2
+packetLen(0x0438, 18)
#elif PACKETVER >= 20120724
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120626
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120604
-packetLen(0x0438, 19) // CZ_USE_SKILL2
+packetLen(0x0438, 19)
#elif PACKETVER >= 20120529
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120515
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120424
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120328
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120228
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120214
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120117
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20121107
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20121031
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20121010
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120925
-packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 4)
#elif PACKETVER >= 20120919
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120814
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120808
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120724
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120710
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120626
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120612
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120604
-packetLen(0x07e4, 10) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 10)
#elif PACKETVER >= 20120529
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120508
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120503
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120424
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120417
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120410
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120404
-packetLen(0x07e4, 90) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 90)
#elif PACKETVER >= 20120328
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120320
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120214
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120207
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120117
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120110
-packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 19)
#elif PACKETVER >= 20120103
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20121205
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20121128
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20121107
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20121031
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120925
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120919
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120822
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120814
-packetLen(0x07ec, 12) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 12)
#elif PACKETVER >= 20120808
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120724
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120716
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120626
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120612
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120604
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120529
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120508
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120503
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120424
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120417
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120328
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120320
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120307
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120228
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20120214
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120207
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120131
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120120
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20120117
-packetLen(0x07ec, 36) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 36)
#elif PACKETVER >= 20120103
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20121205
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 36)
#elif PACKETVER >= 20121107
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120925
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120905
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 36)
#elif PACKETVER >= 20120814
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120724
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120710
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20120626
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120604
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120508
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120424
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120328
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120214
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120131
-packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 90)
#elif PACKETVER >= 20120120
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20121227
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20121107
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20121024
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120925
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120905
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120814
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120710
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120604
-packetLen(0x0811, 12) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 12)
#elif PACKETVER >= 20120522
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120424
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120228
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120214
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120131
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20120117
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20121227
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20121212
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20121121
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0815, 90) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 90)
#elif PACKETVER >= 20121107
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20121024
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0815, 8) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 8)
#elif PACKETVER >= 20121010
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0815, 12) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 12)
#elif PACKETVER >= 20120919
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120905
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120822
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20120808
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120801
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120710
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 26)
#elif PACKETVER >= 20120626
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120604
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120424
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120228
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120214
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20120131
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20121218
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 10)
#elif PACKETVER >= 20121031
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 7)
#elif PACKETVER >= 20121017
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20120911
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 36)
#elif PACKETVER >= 20120522
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20120508
-packetLen(0x0817, 4) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 4)
#elif PACKETVER >= 20120503
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20120214
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20121227
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20121107
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20121024
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20121010
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 19)
#elif PACKETVER >= 20120919
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120911
-packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 8)
#elif PACKETVER >= 20120905
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120814
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120702
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20120618
-packetLen(0x0819, 36) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 36)
#elif PACKETVER >= 20120612
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120604
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120424
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120228
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120214
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20121010
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0835, 90) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 90)
#elif PACKETVER >= 20120905
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 26)
#elif PACKETVER >= 20120103
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20121227
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20121121
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20121107
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20121024
-packetLen(0x0838, 18) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 18)
#elif PACKETVER >= 20121017
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20121010
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120905
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20120814
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20120724
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120702
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20120612
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120604
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120515
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120503
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120424
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120328
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20120307
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120228
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120214
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120131
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20120120
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20120117
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20121227
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20121218
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20121107
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20121031
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20121024
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20121017
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120925
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120919
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120905
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120830
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120814
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120808
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120724
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120716
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120626
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120612
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120604
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120529
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120515
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120503
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120424
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120404
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120328
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120314
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120228
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120221
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120214
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120131
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120117
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120103
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20121107
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20121031
-packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 26)
#elif PACKETVER >= 20121024
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20120830
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120822
-packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 5)
#elif PACKETVER >= 20120710
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120702
-packetLen(0x085a, 7) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 7)
#elif PACKETVER >= 20120522
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120515
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20120307
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120228
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20120221
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120214
-packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 12)
#elif PACKETVER >= 20120103
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20120716
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20120710
-packetLen(0x085b, 10) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 10)
#elif PACKETVER >= 20120410
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20120404
-packetLen(0x085b, 4) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 4)
#elif PACKETVER >= 20120103
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20121218
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20121212
-packetLen(0x085c, 7) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 7)
#elif PACKETVER >= 20121114
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20121107
-packetLen(0x085c, -1) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, -1)
#elif PACKETVER >= 20120830
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20120822
-packetLen(0x085c, -1) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, -1)
#elif PACKETVER >= 20120103
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20121010
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20120925
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20120911
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20120905
-packetLen(0x085d, 10) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 10)
#elif PACKETVER >= 20120830
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20120822
-packetLen(0x085d, 10) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 10)
#elif PACKETVER >= 20120808
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20120801
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20120103
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20120822
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20120814
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20120103
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20120814
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20120808
-packetLen(0x085f, 36) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 36)
#elif PACKETVER >= 20120702
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20120626
-packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 5)
#elif PACKETVER >= 20120612
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20120604
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20120529
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20120522
-packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 5)
#elif PACKETVER >= 20120103
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20121227
-packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, -1)
#elif PACKETVER >= 20120529
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20121205
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 18)
#elif PACKETVER >= 20121114
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20120905
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0861, 19) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 19)
#elif PACKETVER >= 20120822
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 8)
#elif PACKETVER >= 20120612
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 18)
#elif PACKETVER >= 20120529
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 18)
#elif PACKETVER >= 20120404
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20120314
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0861, 36) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20121121
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20120822
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20121212
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20121128
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20120710
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20120503
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 26)
#elif PACKETVER >= 20120314
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20120228
-packetLen(0x0863, 12) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 12)
#elif PACKETVER >= 20120103
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20121212
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0864, 18) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 18)
#elif PACKETVER >= 20120410
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0864, 18) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 18)
#elif PACKETVER >= 20120320
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20121114
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0865, 19) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 19)
#elif PACKETVER >= 20120822
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0865, 8) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20120314
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0865, 6) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20120801
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 4)
#elif PACKETVER >= 20120702
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20120529
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0866, 8) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20121227
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20121205
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20121031
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20121017
-packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 8)
#elif PACKETVER >= 20120919
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0868, 6) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 6)
#elif PACKETVER >= 20120822
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0868, 7) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 7)
#elif PACKETVER >= 20120702
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 5)
#elif PACKETVER >= 20120515
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20121017
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20120702
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 10)
#elif PACKETVER >= 20120529
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0869, 19) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 19)
#elif PACKETVER >= 20120515
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20120221
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20121128
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20121121
-packetLen(0x086a, 90) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 90)
#elif PACKETVER >= 20120808
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120801
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20120604
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120529
-packetLen(0x086a, 36) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 36)
#elif PACKETVER >= 20120522
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20120410
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120404
-packetLen(0x086a, 5) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 5)
#elif PACKETVER >= 20120314
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120307
-packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 19)
#elif PACKETVER >= 20120221
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120214
-packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 26)
#elif PACKETVER >= 20120103
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20121024
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20121017
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20120830
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20120822
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20120808
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20120801
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20120103
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20121212
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20121205
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20121128
-packetLen(0x086c, 10) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 10)
#elif PACKETVER >= 20121121
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20121114
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20121107
-packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 5)
#elif PACKETVER >= 20121017
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20121010
-packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 8)
#elif PACKETVER >= 20120417
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20120410
-packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 8)
#elif PACKETVER >= 20120103
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20121128
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20121121
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20121114
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20121107
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20120702
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20120626
-packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 18)
#elif PACKETVER >= 20120612
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20120604
-packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 5)
#elif PACKETVER >= 20120103
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20121205
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20121128
-packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 4)
#elif PACKETVER >= 20120830
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20120822
-packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 5)
#elif PACKETVER >= 20120221
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20120214
-packetLen(0x086e, 6) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 6)
#elif PACKETVER >= 20120103
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20121128
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20121121
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20120919
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120911
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20120905
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20120822
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120814
-packetLen(0x086f, 36) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 36)
#elif PACKETVER >= 20120702
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120626
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20120612
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120604
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20120328
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120320
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20120103
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20121227
-packetLen(0x0870, 12) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 12)
#elif PACKETVER >= 20121212
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20120314
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20120228
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20121107
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 5)
#elif PACKETVER >= 20120702
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 6)
#elif PACKETVER >= 20120612
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0871, 36) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 36)
#elif PACKETVER >= 20120503
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0871, 10) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 10)
#elif PACKETVER >= 20120417
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 5)
#elif PACKETVER >= 20120307
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0871, 10) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4609,3877 +4609,3877 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20121114
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 8)
#elif PACKETVER >= 20121010
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, -1)
#elif PACKETVER >= 20120808
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0873, 10) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 10)
#elif PACKETVER >= 20120417
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 4)
#elif PACKETVER >= 20120103
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20121017
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20120702
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0874, 5) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 5)
#elif PACKETVER >= 20120503
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0874, 90) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 90)
#elif PACKETVER >= 20120404
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0874, 12) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 12)
#elif PACKETVER >= 20120103
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20121212
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20121128
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20121031
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 4)
#elif PACKETVER >= 20120822
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 5)
#elif PACKETVER >= 20120808
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20120702
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 4)
#elif PACKETVER >= 20120307
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20121121
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20120404
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0876, 36) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20121218
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20121107
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 19)
#elif PACKETVER >= 20120919
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 26)
#elif PACKETVER >= 20120905
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20120801
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20120716
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20121212
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0878, 90) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 90)
#elif PACKETVER >= 20121114
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20120911
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20120716
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, -1)
#elif PACKETVER >= 20120702
-packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 12)
#elif PACKETVER >= 20120103
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20121121
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0879, 18) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 18)
#elif PACKETVER >= 20120103
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20121227
-packetLen(0x087a, 7) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 7)
#elif PACKETVER >= 20121218
-packetLen(0x087a, 5) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 5)
#elif PACKETVER >= 20121031
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20121024
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20121010
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20120925
-packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 6)
#elif PACKETVER >= 20120919
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20120911
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20120905
-packetLen(0x087a, 10) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 10)
#elif PACKETVER >= 20120103
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20121227
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20121218
-packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 26)
#elif PACKETVER >= 20121031
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20121024
-packetLen(0x087b, -1) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, -1)
#elif PACKETVER >= 20120911
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20120905
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20120529
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20120522
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20120103
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20120830
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120822
-packetLen(0x087c, 90) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 90)
#elif PACKETVER >= 20120801
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120724
-packetLen(0x087c, 18) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 18)
#elif PACKETVER >= 20120604
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120529
-packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 26)
#elif PACKETVER >= 20120522
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120515
-packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 5)
#elif PACKETVER >= 20120328
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120320
-packetLen(0x087c, 36) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 36)
#elif PACKETVER >= 20120103
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20121218
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20121212
-packetLen(0x087d, 10) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 10)
#elif PACKETVER >= 20121017
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20121010
-packetLen(0x087d, 90) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 90)
#elif PACKETVER >= 20120830
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20120822
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20120612
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20120604
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20120522
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20120515
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20120103
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20121031
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20121024
-packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 10)
#elif PACKETVER >= 20121010
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20120925
-packetLen(0x087e, 26) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 26)
#elif PACKETVER >= 20120911
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20120905
-packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 8)
#elif PACKETVER >= 20120529
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20120522
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20120515
-packetLen(0x087e, 12) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 12)
#elif PACKETVER >= 20120103
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20121218
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20121212
-packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 12)
#elif PACKETVER >= 20121114
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20121107
-packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 5)
#elif PACKETVER >= 20120822
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20120814
-packetLen(0x087f, 26) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 26)
#elif PACKETVER >= 20120716
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20120710
-packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 5)
#elif PACKETVER >= 20120529
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20120522
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20120103
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20121128
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0880, 5) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20120702
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 6)
#elif PACKETVER >= 20120221
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20121031
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0882, 36) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 36)
#elif PACKETVER >= 20120822
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0882, 18) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 18)
#elif PACKETVER >= 20120515
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0882, 8) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 8)
#elif PACKETVER >= 20120103
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20121017
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 5)
#elif PACKETVER >= 20120710
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20120404
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0883, 90) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 90)
#elif PACKETVER >= 20120307
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20120515
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 36)
#elif PACKETVER >= 20120417
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20120314
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20120830
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20120612
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20120515
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20120417
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20120320
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20120307
-packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 7)
#elif PACKETVER >= 20120228
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20120120
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 18)
#elif PACKETVER >= 20120103
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20121218
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20120710
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20120503
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 36)
#elif PACKETVER >= 20120417
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20120228
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20121024
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20121010
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20120911
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 19)
#elif PACKETVER >= 20120830
-packetLen(0x0887, 10) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 10)
#elif PACKETVER >= 20120801
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20120314
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20120120
-packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 4)
#elif PACKETVER >= 20120117
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20121227
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20121212
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0888, 36) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 36)
#elif PACKETVER >= 20121128
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20121031
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20121017
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20121010
-packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 4)
#elif PACKETVER >= 20120905
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20120228
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20120103
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20121227
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20121212
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20121031
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 90)
#elif PACKETVER >= 20120417
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 7)
#elif PACKETVER >= 20120307
-packetLen(0x0889, 10) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 10)
#elif PACKETVER >= 20120131
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 36)
#elif PACKETVER >= 20120117
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20121031
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20121024
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20121010
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120925
-packetLen(0x088a, 26) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 26)
#elif PACKETVER >= 20120919
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120911
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20120830
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120822
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20120404
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120328
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20120307
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120228
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20120207
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120131
-packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 19)
#elif PACKETVER >= 20120103
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20121212
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20121205
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20121128
-packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, -1)
#elif PACKETVER >= 20120822
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20120814
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20120808
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20120801
-packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 5)
#elif PACKETVER >= 20120221
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20120214
-packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 18)
#elif PACKETVER >= 20120103
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20120320
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20120314
-packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 4)
#elif PACKETVER >= 20120221
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20120214
-packetLen(0x088c, 26) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 26)
#elif PACKETVER >= 20120120
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20120117
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20120103
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20121010
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120925
-packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 10)
#elif PACKETVER >= 20120822
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120814
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20120716
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120710
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20120529
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120522
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20120221
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120214
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20120207
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120131
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20120120
-packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 18)
#elif PACKETVER >= 20120103
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20121227
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20120801
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120724
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20120612
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120604
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20120503
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120424
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20120404
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120328
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20120120
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120117
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20120103
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20121114
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20121107
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20121017
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20121010
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20120925
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20120919
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20120911
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20120814
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20120808
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20120508
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20120503
-packetLen(0x088f, 36) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 36)
#elif PACKETVER >= 20120131
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20120120
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20120117
-packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 10)
#elif PACKETVER >= 20120103
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20121227
-packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 10)
#elif PACKETVER >= 20121218
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20121114
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 10)
#elif PACKETVER >= 20120905
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 4)
#elif PACKETVER >= 20120808
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 7)
#elif PACKETVER >= 20120529
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20120314
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20120221
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20121114
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20121017
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 26)
#elif PACKETVER >= 20120529
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20120515
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20120417
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20120307
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0891, 36) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 36)
#elif PACKETVER >= 20120131
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20120117
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20121128
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20120702
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 36)
#elif PACKETVER >= 20120120
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20121218
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20120716
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20121227
-packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 26)
#elif PACKETVER >= 20121205
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, -1)
#elif PACKETVER >= 20120131
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20121218
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20121205
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20120911
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 5)
#elif PACKETVER >= 20120822
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20120808
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 19)
#elif PACKETVER >= 20120131
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0895, 7) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 7)
#elif PACKETVER >= 20120103
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20121227
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20121114
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20121017
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20121024
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20120911
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20120716
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20120702
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20120612
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20120529
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20120117
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20121121
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0898, 7) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 7)
#elif PACKETVER >= 20121107
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20121017
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20120207
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0898, 4) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 4)
#elif PACKETVER >= 20120103
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20121128
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20121114
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20120830
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20120716
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20120410
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20120120
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20120103
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20121212
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20121205
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20121128
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20121121
-packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 18)
#elif PACKETVER >= 20121114
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20121107
-packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 7)
#elif PACKETVER >= 20121024
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20121017
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20120522
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20120515
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20120508
-packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 8)
#elif PACKETVER >= 20120503
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20120424
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20120103
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20121114
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20121107
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20120503
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20120424
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20120221
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20120214
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20120117
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20120110
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20120103
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20121031
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20121024
-packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 26)
#elif PACKETVER >= 20120808
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20120801
-packetLen(0x089c, 90) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 90)
#elif PACKETVER >= 20120417
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20120410
-packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 26)
#elif PACKETVER >= 20120404
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20120103
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20121212
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20121205
-packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 12)
#elif PACKETVER >= 20121010
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20120925
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20120808
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20120801
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20120307
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20120228
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20120120
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20120117
-packetLen(0x089d, 90) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 90)
#elif PACKETVER >= 20120103
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20120710
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20120702
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20120320
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20120314
-packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 26)
#elif PACKETVER >= 20120120
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20120117
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20120103
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20120830
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120822
-packetLen(0x089f, 19) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 19)
#elif PACKETVER >= 20120808
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120801
-packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 5)
#elif PACKETVER >= 20120724
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120716
-packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 36)
#elif PACKETVER >= 20120710
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120702
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20120221
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120214
-packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 36)
#elif PACKETVER >= 20120207
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120131
-packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 36)
#elif PACKETVER >= 20120120
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20120103
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20120911
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120905
-packetLen(0x08a0, 4) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 4)
#elif PACKETVER >= 20120710
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120702
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20120626
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20120503
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120424
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20120404
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120328
-packetLen(0x08a0, 18) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 18)
#elif PACKETVER >= 20120320
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120314
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20120131
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120120
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20120103
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20121017
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20121010
-packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 7)
#elif PACKETVER >= 20120801
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20120724
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20120131
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20120120
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20120103
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20120808
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120801
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20120612
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120604
-packetLen(0x08a2, 7) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 7)
#elif PACKETVER >= 20120522
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120515
-packetLen(0x08a2, 90) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 90)
#elif PACKETVER >= 20120417
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120410
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20120307
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120228
-packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 4)
#elif PACKETVER >= 20120207
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120131
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20120103
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20121218
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08a3, 19) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 19)
#elif PACKETVER >= 20120716
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20120710
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20120529
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20120522
-packetLen(0x08a3, 10) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 10)
#elif PACKETVER >= 20120503
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20120424
-packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, -1)
#elif PACKETVER >= 20120410
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20120404
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20120103
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20121010
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120925
-packetLen(0x08a4, 7) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 7)
#elif PACKETVER >= 20120919
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08a4, 18) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 18)
#elif PACKETVER >= 20120702
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120626
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20120503
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120424
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20120131
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120117
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20120103
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20120919
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20120830
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120822
-packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 8)
#elif PACKETVER >= 20120522
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120515
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20120221
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120214
-packetLen(0x08a5, 4) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 4)
#elif PACKETVER >= 20120131
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120120
-packetLen(0x08a5, 90) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 90)
#elif PACKETVER >= 20120103
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20121227
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20121024
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20121017
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20121010
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20120919
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 19)
#elif PACKETVER >= 20120905
-packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 26)
#elif PACKETVER >= 20120716
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120710
-packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, -1)
#elif PACKETVER >= 20120417
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120410
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20120404
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120328
-packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 19)
#elif PACKETVER >= 20120120
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120117
-packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 19)
#elif PACKETVER >= 20120103
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20121218
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20121128
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20121121
-packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, -1)
#elif PACKETVER >= 20120919
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20120515
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20120508
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20120221
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20120214
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20120103
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20121205
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20121128
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20120822
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120814
-packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 4)
#elif PACKETVER >= 20120716
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120710
-packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 19)
#elif PACKETVER >= 20120522
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120515
-packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 19)
#elif PACKETVER >= 20120424
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120417
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20120320
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120314
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20120307
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120228
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20120120
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120117
-packetLen(0x08a8, 12) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 12)
#elif PACKETVER >= 20120103
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20121218
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 36)
#elif PACKETVER >= 20121121
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20121114
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20121031
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20121024
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#elif PACKETVER >= 20121017
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20121010
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#elif PACKETVER >= 20120801
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120724
-packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 19)
#elif PACKETVER >= 20120529
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120522
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20120515
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120508
-packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 19)
#elif PACKETVER >= 20120503
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120424
-packetLen(0x08a9, 7) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 7)
#elif PACKETVER >= 20120120
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120117
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20120103
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20121227
-packetLen(0x08aa, 18) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 18)
#elif PACKETVER >= 20121218
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08aa, 4) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 4)
#elif PACKETVER >= 20121128
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20121121
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20121031
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20121024
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20120808
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20120801
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20120716
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20120710
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20120103
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20121121
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20121114
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20120830
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120822
-packetLen(0x08ab, 7) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 7)
#elif PACKETVER >= 20120808
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120801
-packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 8)
#elif PACKETVER >= 20120724
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20120529
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120522
-packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 8)
#elif PACKETVER >= 20120221
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120214
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20120110
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120103
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20121218
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20120529
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20120522
-packetLen(0x08ac, 7) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 7)
#elif PACKETVER >= 20120515
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20120328
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20120320
-packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 26)
#elif PACKETVER >= 20120103
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20121212
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20121205
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20121128
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20121114
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20121107
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20120919
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20120522
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120515
-packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 10)
#elif PACKETVER >= 20120404
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120328
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20120207
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120131
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20120120
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120103
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
#if PACKETVER >= 20120307
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
#elif PACKETVER >= 20120103
-packetLen(0x08e2, 25) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 25)
#endif
// Packet: 0x08e3
-packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 146)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08e5
-packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+packetLen(0x08e5, 41)
// Packet: 0x08e6
-packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+packetLen(0x08e6, 4)
// Packet: 0x08e7
-packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+packetLen(0x08e7, 10)
// Packet: 0x08e8
packetLen(0x08e8, -1)
// Packet: 0x08e9
-packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+packetLen(0x08e9, 2)
// Packet: 0x08ea
-packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+packetLen(0x08ea, 4)
// Packet: 0x08eb
-packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+packetLen(0x08eb, 39)
// Packet: 0x08ec
-packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+packetLen(0x08ec, 73)
// Packet: 0x08ed
-packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+packetLen(0x08ed, 43)
// Packet: 0x08ee
-packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+packetLen(0x08ee, 6)
// Packet: 0x08ef
-packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x08ef, 6)
// Packet: 0x08f0
-packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x08f0, 6)
// Packet: 0x08f1
-packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+packetLen(0x08f1, 6)
// Packet: 0x08f2
-packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+packetLen(0x08f2, 36)
// Packet: 0x08f3
packetLen(0x08f3, -1)
// Packet: 0x08f4
-packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+packetLen(0x08f4, 6)
// Packet: 0x08f5
-packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+packetLen(0x08f5, -1)
// Packet: 0x08f6
-packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+packetLen(0x08f6, 22)
// Packet: 0x08f7
-packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, 3)
// Packet: 0x08f8
-packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+packetLen(0x08f8, 7)
// Packet: 0x08f9
-packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08f9, 6)
// Packet: 0x08fa
-packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08fa, 6)
// Packet: 0x08fb
-packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x08fb, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x0909
-packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x0909, 6)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090b
-packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x090b, 30)
// Packet: 0x090c
-packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x090c, 30)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
#if PACKETVER >= 20120131
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
#endif
// Packet: 0x0910
#if PACKETVER >= 20120120
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
#endif
// Packet: 0x0911
#if PACKETVER >= 20120120
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
#endif
// Packet: 0x0912
#if PACKETVER >= 20120120
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
#endif
// Packet: 0x0913
#if PACKETVER >= 20120120
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
#endif
// Packet: 0x0914
#if PACKETVER >= 20120131
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
#endif
// Packet: 0x0915
#if PACKETVER >= 20120131
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
#endif
// Packet: 0x0916
#if PACKETVER >= 20120131
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
#endif
// Packet: 0x0917
#if PACKETVER >= 20121218
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20120911
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, -1)
#elif PACKETVER >= 20120830
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, -1)
#elif PACKETVER >= 20120808
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 36)
#elif PACKETVER >= 20120307
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0917, 7) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 7)
#elif PACKETVER >= 20120207
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20121024
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0918, 36) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 36)
#elif PACKETVER >= 20120911
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0918, -1) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20120604
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20120307
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 19)
#elif PACKETVER >= 20120221
-packetLen(0x0919, 4) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 4)
#elif PACKETVER >= 20120207
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20121227
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20121218
-packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 8)
#elif PACKETVER >= 20121212
-packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, -1)
#elif PACKETVER >= 20121128
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20121121
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20121114
-packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 8)
#elif PACKETVER >= 20120911
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20120905
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20120522
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20120515
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20120404
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20120328
-packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, -1)
#elif PACKETVER >= 20120221
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20120214
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20120207
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20121205
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20121128
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20120503
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20120424
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20120404
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20120328
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20120207
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20121227
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20121218
-packetLen(0x091c, 19) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 19)
#elif PACKETVER >= 20121212
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20121205
-packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 8)
#elif PACKETVER >= 20121128
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20120801
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20120724
-packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 5)
#elif PACKETVER >= 20120417
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20120410
-packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 26)
#elif PACKETVER >= 20120207
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20120905
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120830
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20120808
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120801
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20120612
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120604
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20120417
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120410
-packetLen(0x091d, 18) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 18)
#elif PACKETVER >= 20120404
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120328
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20120207
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20121205
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20121128
-packetLen(0x091e, -1) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, -1)
#elif PACKETVER >= 20120529
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20120522
-packetLen(0x091e, 12) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 12)
#elif PACKETVER >= 20120207
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20121227
-packetLen(0x091f, 4) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 4)
#elif PACKETVER >= 20121205
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20121128
-packetLen(0x091f, 90) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 90)
#elif PACKETVER >= 20120822
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20120814
-packetLen(0x091f, 19) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 19)
#elif PACKETVER >= 20120801
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20120724
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20120522
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20120515
-packetLen(0x091f, 26) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 26)
#elif PACKETVER >= 20120207
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20121227
-packetLen(0x0920, 90) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 90)
#elif PACKETVER >= 20121218
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 5)
#elif PACKETVER >= 20121024
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 4)
#elif PACKETVER >= 20120822
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20120702
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0920, 7) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 7)
#elif PACKETVER >= 20120404
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 5)
#elif PACKETVER >= 20120221
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20121212
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0921, 19) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 19)
#elif PACKETVER >= 20121128
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0921, 10) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 10)
#elif PACKETVER >= 20120221
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0921, -1) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20121205
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 8)
#elif PACKETVER >= 20121114
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 8)
#elif PACKETVER >= 20120503
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0922, 10) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 10)
#elif PACKETVER >= 20120207
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20121010
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 6)
#elif PACKETVER >= 20120522
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0923, 7) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 7)
#elif PACKETVER >= 20120503
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20120207
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20120612
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0924, 90) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 90)
#elif PACKETVER >= 20120207
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20121017
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0925, 12) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 12)
#elif PACKETVER >= 20120307
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20120905
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#elif PACKETVER >= 20120503
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20120314
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0926, 18) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 18)
#elif PACKETVER >= 20120207
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20121128
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0927, 19) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 19)
#elif PACKETVER >= 20121010
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20120911
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 18)
#elif PACKETVER >= 20120830
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20120801
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, -1)
#elif PACKETVER >= 20120307
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20121128
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0929, 4) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 4)
#elif PACKETVER >= 20120822
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 12)
#elif PACKETVER >= 20120314
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0929, 26) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20120808
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20120801
-packetLen(0x092a, 4) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 4)
#elif PACKETVER >= 20120320
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20120314
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20120207
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20121107
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20121031
-packetLen(0x092b, 4) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 4)
#elif PACKETVER >= 20120801
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20120724
-packetLen(0x092b, 90) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 90)
#elif PACKETVER >= 20120522
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20120515
-packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 8)
#elif PACKETVER >= 20120404
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20120328
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20120207
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20120710
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20120702
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20120529
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20120522
-packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 5)
#elif PACKETVER >= 20120207
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20120716
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20120710
-packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 12)
#elif PACKETVER >= 20120307
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20120228
-packetLen(0x092d, -1) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, -1)
#elif PACKETVER >= 20120207
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20120808
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20120801
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20120612
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20120604
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20120410
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20120404
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20120207
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20121205
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20121128
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20120702
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20120626
-packetLen(0x092f, 4) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 4)
#elif PACKETVER >= 20120612
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20120604
-packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, -1)
#elif PACKETVER >= 20120207
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20121121
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0930, 4) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 4)
#elif PACKETVER >= 20120919
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, -1)
#elif PACKETVER >= 20120808
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20120529
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0930, 4) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 4)
#elif PACKETVER >= 20120228
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0930, 26) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20121205
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0931, 7) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 7)
#elif PACKETVER >= 20121031
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0931, 8) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20121227
-packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 5)
#elif PACKETVER >= 20121218
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0932, 18) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 18)
#elif PACKETVER >= 20121010
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 6)
#elif PACKETVER >= 20120822
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 10)
#elif PACKETVER >= 20120207
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20121227
-packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, -1)
#elif PACKETVER >= 20120307
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0933, 18) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 18)
#elif PACKETVER >= 20120221
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20121114
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0934, 12) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 12)
#elif PACKETVER >= 20121017
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 6)
#elif PACKETVER >= 20120905
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20120822
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 10)
#elif PACKETVER >= 20120808
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 10)
#elif PACKETVER >= 20120404
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20121227
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20121121
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0935, 10) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 10)
#elif PACKETVER >= 20120830
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0935, 5) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 5)
#elif PACKETVER >= 20120702
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#elif PACKETVER >= 20120228
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0935, -1) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20120716
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 8)
#elif PACKETVER >= 20120702
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 12)
#elif PACKETVER >= 20120612
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20120830
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 10)
#elif PACKETVER >= 20120307
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 26)
#elif PACKETVER >= 20120221
-packetLen(0x0937, 8) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20121128
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0938, 12) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 12)
#elif PACKETVER >= 20121114
-packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, -1)
#elif PACKETVER >= 20120801
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0938, 10) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 10)
#elif PACKETVER >= 20120702
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, -1)
#elif PACKETVER >= 20120417
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20120207
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20121212
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20121205
-packetLen(0x093a, 6) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 6)
#elif PACKETVER >= 20121031
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20121024
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20120702
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20120626
-packetLen(0x093a, 90) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 90)
#elif PACKETVER >= 20120604
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20120529
-packetLen(0x093a, 19) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 19)
#elif PACKETVER >= 20120320
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20120314
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20120207
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20121121
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20121114
-packetLen(0x093b, 12) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 12)
#elif PACKETVER >= 20121107
-packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 10)
#elif PACKETVER >= 20120314
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20120307
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20120207
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20121121
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20121114
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20121017
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20121010
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20120911
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20120905
-packetLen(0x093c, 12) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 12)
#elif PACKETVER >= 20120808
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20120801
-packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 26)
#elif PACKETVER >= 20120724
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20120503
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20120424
-packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 5)
#elif PACKETVER >= 20120228
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20120221
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20120207
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20120814
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20120808
-packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 5)
#elif PACKETVER >= 20120207
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20121212
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20121205
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20120919
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20120911
-packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 12)
#elif PACKETVER >= 20120529
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20120522
-packetLen(0x093e, 90) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 90)
#elif PACKETVER >= 20120404
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20120328
-packetLen(0x093e, 10) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 10)
#elif PACKETVER >= 20120207
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20121212
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20121205
-packetLen(0x093f, 10) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 10)
#elif PACKETVER >= 20120207
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20121227
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20120830
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0940, 12) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 12)
#elif PACKETVER >= 20120814
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20120626
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120618
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20120410
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20121121
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20120822
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0941, 90) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 90)
#elif PACKETVER >= 20120808
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20120529
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20120503
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20120307
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20121031
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0942, -1) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, -1)
#elif PACKETVER >= 20121017
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 36)
#elif PACKETVER >= 20120307
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20120207
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20120830
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0943, 8) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 8)
#elif PACKETVER >= 20120612
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 4)
#elif PACKETVER >= 20120207
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20121121
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20120911
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 26)
#elif PACKETVER >= 20120710
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20120522
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0944, 18) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 18)
#elif PACKETVER >= 20120207
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20121205
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20121114
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0945, 90) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 90)
#elif PACKETVER >= 20120911
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20120830
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20120801
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0945, 7) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 7)
#elif PACKETVER >= 20120417
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0945, 19) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 19)
#elif PACKETVER >= 20120307
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20121227
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 36)
#elif PACKETVER >= 20121212
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 10)
#elif PACKETVER >= 20121128
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 5)
#elif PACKETVER >= 20121017
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 19)
#elif PACKETVER >= 20120808
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20120320
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20121227
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20121218
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 5)
#elif PACKETVER >= 20121031
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20121017
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 10)
#elif PACKETVER >= 20120522
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 10)
#elif PACKETVER >= 20120503
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 4)
#elif PACKETVER >= 20120410
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20120307
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20121010
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0948, 18) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 18)
#elif PACKETVER >= 20120919
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0948, 10) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 10)
#elif PACKETVER >= 20120503
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20121121
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0949, 18) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 18)
#elif PACKETVER >= 20120919
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0949, 4) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 4)
#elif PACKETVER >= 20120207
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20121121
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20121114
-packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 10)
#elif PACKETVER >= 20120710
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20120702
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20120626
-packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, -1)
#elif PACKETVER >= 20120207
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20121212
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20121205
-packetLen(0x094b, 6) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 6)
#elif PACKETVER >= 20121121
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20121114
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20120919
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120911
-packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, -1)
#elif PACKETVER >= 20120905
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120830
-packetLen(0x094b, 18) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 18)
#elif PACKETVER >= 20120716
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120710
-packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 5)
#elif PACKETVER >= 20120522
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120515
-packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 5)
#elif PACKETVER >= 20120417
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120410
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20120207
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20121017
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20121010
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20120604
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20120529
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20120207
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20121128
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20121121
-packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 8)
#elif PACKETVER >= 20121114
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20121107
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20120830
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20120822
-packetLen(0x094d, 36) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 36)
#elif PACKETVER >= 20120529
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20120522
-packetLen(0x094d, 26) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 26)
#elif PACKETVER >= 20120515
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20120508
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20120307
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20120228
-packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 8)
#elif PACKETVER >= 20120207
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20120830
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20120822
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20120808
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20120801
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20120716
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20120710
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20120612
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20120604
-packetLen(0x094e, 5) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 5)
#elif PACKETVER >= 20120207
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20121121
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20121114
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20120320
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20120314
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20120207
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20121205
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0950, 12) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 12)
#elif PACKETVER >= 20121121
-packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 5)
#elif PACKETVER >= 20121010
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 5)
#elif PACKETVER >= 20120911
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20121218
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 8)
#elif PACKETVER >= 20120702
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20120404
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0951, 7) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 7)
#elif PACKETVER >= 20120207
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20121128
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20120221
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0952, 19) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 19)
#elif PACKETVER >= 20120207
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20121227
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20121218
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 6)
#elif PACKETVER >= 20121205
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 6)
#elif PACKETVER >= 20120830
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0953, 18) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 18)
#elif PACKETVER >= 20120716
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0953, 4) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 4)
#elif PACKETVER >= 20120702
-packetLen(0x0953, 5) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 5)
#elif PACKETVER >= 20120221
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20121212
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0954, 7) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 7)
#elif PACKETVER >= 20121128
-packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 8)
#elif PACKETVER >= 20121121
-packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 36)
#elif PACKETVER >= 20121031
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0954, 90) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 90)
#elif PACKETVER >= 20120618
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 36)
#elif PACKETVER >= 20120404
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20120307
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20120830
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0955, -1) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, -1)
#elif PACKETVER >= 20120503
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20121010
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20120919
-packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 36)
#elif PACKETVER >= 20120716
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#elif PACKETVER >= 20120529
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20120522
-packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20121227
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0957, 18) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 18)
#elif PACKETVER >= 20121212
-packetLen(0x0957, 90) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 90)
#elif PACKETVER >= 20121128
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 26)
#elif PACKETVER >= 20121017
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 5)
#elif PACKETVER >= 20120801
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 36)
#elif PACKETVER >= 20120522
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20120221
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0957, 90) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 90)
#elif PACKETVER >= 20120207
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20121227
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20121128
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20121010
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0958, 10) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 10)
#elif PACKETVER >= 20120410
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20121212
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 26)
#elif PACKETVER >= 20121017
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, -1)
#elif PACKETVER >= 20120919
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0959, 7) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 7)
#elif PACKETVER >= 20120905
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20120801
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20120207
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20121218
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20121212
-packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 8)
#elif PACKETVER >= 20120830
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20120822
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20120612
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20120604
-packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 8)
#elif PACKETVER >= 20120503
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20120424
-packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, -1)
#elif PACKETVER >= 20120207
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20121121
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20121114
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20121017
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20121010
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20120314
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20120307
-packetLen(0x095c, 4) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 4)
#elif PACKETVER >= 20120228
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20120221
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20120214
-packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 10)
#elif PACKETVER >= 20120207
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20121227
-packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, -1)
#elif PACKETVER >= 20121031
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20121024
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20120710
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20120702
-packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 36)
#elif PACKETVER >= 20120404
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20120328
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20120207
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20121031
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20121024
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20121010
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20120925
-packetLen(0x095e, 10) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 10)
#elif PACKETVER >= 20120307
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20120228
-packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 5)
#elif PACKETVER >= 20120207
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20120207
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20121205
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, -1)
#elif PACKETVER >= 20121114
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20121024
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20120911
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 90)
#elif PACKETVER >= 20120716
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 90)
#elif PACKETVER >= 20120702
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20120207
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20120710
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0961, 4) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 4)
#elif PACKETVER >= 20120417
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0961, 36) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 36)
#elif PACKETVER >= 20120307
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0961, 10) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 10)
#elif PACKETVER >= 20120207
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20121227
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20121024
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20120702
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20121114
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0963, 4) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 4)
#elif PACKETVER >= 20121010
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20120919
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20120801
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20120612
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120604
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20120314
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20120221
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0963, 7) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 7)
#elif PACKETVER >= 20120207
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20121017
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 26)
#elif PACKETVER >= 20120905
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20120808
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0964, 12) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 12)
#elif PACKETVER >= 20120522
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0964, 18) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 18)
#elif PACKETVER >= 20120207
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20121218
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, -1)
#elif PACKETVER >= 20121121
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20121031
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0965, 19) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 19)
#elif PACKETVER >= 20120801
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20120503
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0965, 8) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20121218
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0966, -1) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, -1)
#elif PACKETVER >= 20121205
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20121114
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0966, 18) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 18)
#elif PACKETVER >= 20120919
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20120522
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0966, 4) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 4)
#elif PACKETVER >= 20120328
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20120221
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20120207
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20120911
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0967, 7) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 7)
#elif PACKETVER >= 20120822
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20120404
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20120228
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 36)
#elif PACKETVER >= 20120207
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20121212
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 5)
#elif PACKETVER >= 20120919
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 5)
#elif PACKETVER >= 20120207
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20121017
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0969, 18) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 18)
#elif PACKETVER >= 20120822
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0969, 5) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 5)
#elif PACKETVER >= 20120228
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0969, 19) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 19)
#elif PACKETVER >= 20120207
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20121227
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20121212
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20121121
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20121114
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20121107
-packetLen(0x096a, 26) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 26)
#elif PACKETVER >= 20121031
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20121024
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20121017
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120925
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120919
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120911
-packetLen(0x096a, 36) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 36)
#elif PACKETVER >= 20120905
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120830
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120814
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120808
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120724
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120716
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120626
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120612
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120604
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120529
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120522
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120515
-packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, -1)
#elif PACKETVER >= 20120508
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120503
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120424
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120417
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120410
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120404
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120328
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120307
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120228
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120221
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120214
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120207
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
#if PACKETVER >= 20120404
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
#elif PACKETVER >= 20120207
-packetLen(0x096b, 3) // ZC_PRNPC_STATE
+packetLen(0x096b, 3)
#endif
// Packet: 0x096c
#if PACKETVER >= 20120207
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
#endif
// Packet: 0x096d
#if PACKETVER >= 20120228
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
#elif PACKETVER >= 20120214
-packetLen(0x096d, 2) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, 2)
#endif
// Packet: 0x096e
#if PACKETVER >= 20120228
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
#elif PACKETVER >= 20120221
-packetLen(0x096e, 6) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, 6)
#elif PACKETVER >= 20120214
-packetLen(0x096e, 10) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, 10)
#endif
// Packet: 0x096f
#if PACKETVER >= 20120221
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
#elif PACKETVER >= 20120214
-packetLen(0x096f, 3) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 3)
#endif
// Packet: 0x0970
#if PACKETVER >= 20120214
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
#endif
// Packet: 0x0971
#if PACKETVER >= 20120214
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
#endif
// Packet: 0x0972
#if PACKETVER >= 20120214
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
#endif
// Packet: 0x0973
#if PACKETVER >= 20120214
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
#endif
// Packet: 0x0974
#if PACKETVER >= 20120221
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
#endif
// Packet: 0x0975
#if PACKETVER >= 20120221
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
#endif
// Packet: 0x0976
#if PACKETVER >= 20120221
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
#endif
// Packet: 0x0977
#if PACKETVER >= 20120228
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
#elif PACKETVER >= 20120221
-packetLen(0x0977, 15) // ZC_HP_INFO
+packetLen(0x0977, 15)
#endif
// Packet: 0x0978
#if PACKETVER >= 20120328
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
#endif
// Packet: 0x0979
#if PACKETVER >= 20120328
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
#endif
// Packet: 0x097a
#if PACKETVER >= 20120410
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
#endif
// Packet: 0x097b
#if PACKETVER >= 20120417
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
#endif
// Packet: 0x097c
#if PACKETVER >= 20120503
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
#endif
// Packet: 0x097d
#if PACKETVER >= 20120503
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
#endif
// Packet: 0x097e
#if PACKETVER >= 20120503
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
#endif
// Packet: 0x097f
#if PACKETVER >= 20120503
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
#endif
// Packet: 0x0980
#if PACKETVER >= 20120503
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
#endif
// Packet: 0x0981
#if PACKETVER >= 20120515
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
#endif
// Packet: 0x0982
#if PACKETVER >= 20120522
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
#elif PACKETVER >= 20120515
-packetLen(0x0982, 3) // ZC_FATIGUE_CHN
+packetLen(0x0982, 3)
#endif
// Packet: 0x0983
#if PACKETVER >= 20120529
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
#endif
// Packet: 0x0984
#if PACKETVER >= 20120529
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
#endif
// Packet: 0x0985
#if PACKETVER >= 20120604
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
#endif
// Packet: 0x0986
#if PACKETVER >= 20120626
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0986, 6) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 6)
#endif
// Packet: 0x0987
#if PACKETVER >= 20120702
-packetLen(0x0987, 63) // CA_LOGIN6
+packetLen(0x0987, 63)
#endif
// Packet: 0x0988
#if PACKETVER >= 20120716
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
#elif PACKETVER >= 20120702
-packetLen(0x0988, 2) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 2)
#endif
// Packet: 0x0989
#if PACKETVER >= 20120716
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0989, 6) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 6)
#endif
// Packet: 0x098a
#if PACKETVER >= 20120702
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
#endif
// Packet: 0x098b
#if PACKETVER >= 20120716
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
#endif
// Packet: 0x098c
#if PACKETVER >= 20120716
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
#endif
// Packet: 0x098d
#if PACKETVER >= 20120716
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
#endif
// Packet: 0x098e
#if PACKETVER >= 20120716
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
#endif
// Packet: 0x098f
#if PACKETVER >= 20120724
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
#endif
// Packet: 0x0990
#if PACKETVER >= 20120925
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
#endif
// Packet: 0x0991
#if PACKETVER >= 20120925
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
#endif
// Packet: 0x0992
#if PACKETVER >= 20120925
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
#endif
// Packet: 0x0993
#if PACKETVER >= 20120925
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
#endif
// Packet: 0x0994
#if PACKETVER >= 20120925
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
#endif
// Packet: 0x0995
#if PACKETVER >= 20120925
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
#endif
// Packet: 0x0996
#if PACKETVER >= 20120925
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
#endif
// Packet: 0x0997
#if PACKETVER >= 20120925
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
#endif
// Packet: 0x0998
#if PACKETVER >= 20120925
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
#endif
// Packet: 0x0999
#if PACKETVER >= 20120925
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
#endif
// Packet: 0x099a
#if PACKETVER >= 20120925
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
#endif
// Packet: 0x099b
#if PACKETVER >= 20121010
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
#endif
// Packet: 0x099c
#if PACKETVER >= 20121024
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
#endif
// Packet: 0x099d
#if PACKETVER >= 20121024
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
#endif
// Packet: 0x099e
#if PACKETVER >= 20121128
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
#endif
// Packet: 0x099f
#if PACKETVER >= 20121212
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
#endif
// Packet: 0x09a0
#if PACKETVER >= 20121212
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
#endif
// Packet: 0x09a1
#if PACKETVER >= 20121212
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
#endif
diff --git a/src/common/packets/packets2012_len_re.h b/src/common/packets/packets2012_len_re.h
index 58a8eadf8..6846b3ff0 100644
--- a/src/common/packets/packets2012_len_re.h
+++ b/src/common/packets/packets2012_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4561 +25,4561 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 146)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20121227
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20121128
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20121017
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20120925
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120814
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20120724
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120710
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120515
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20120502
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120424
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120214
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120120
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20120117
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20120110
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20121107
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20121031
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20120925
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120919
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120911
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120905
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20120830
-packetLen(0x022d, 12) // CZ_COMMAND_MER
+packetLen(0x022d, 12)
#elif PACKETVER >= 20120724
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120716
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120626
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120612
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120508
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120502
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120424
-packetLen(0x022d, 12) // CZ_COMMAND_MER
+packetLen(0x022d, 12)
#elif PACKETVER >= 20120417
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120410
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120404
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120228
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120221
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20120214
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20120207
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20120131
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20120110
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20120103
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20121024
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20121017
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120925
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120919
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120724
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120716
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120626
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120612
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120529
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120523
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20120515
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120508
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20120502
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120424
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120417
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120214
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120207
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20120120
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20120117
-packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 4)
#elif PACKETVER >= 20120110
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20120103
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20121107
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120925
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120822
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0281, 5) // CZ_GANGSI_RANK
+packetLen(0x0281, 5)
#elif PACKETVER >= 20120808
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120626
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120601
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120508
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120424
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20120417
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120404
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120214
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
#if PACKETVER >= 20120523
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
#endif
// Packet: 0x02a7
#if PACKETVER >= 20120523
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
#endif
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20121227
-packetLen(0x02c4, 19) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 19)
#elif PACKETVER >= 20120716
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120710
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20120515
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120508
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20120410
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120404
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20120314
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120307
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20120131
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20120120
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20120103
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20121227
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20121218
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20121212
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20121205
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20121107
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20121031
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20121024
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20121017
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120925
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120919
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120905
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120830
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120814
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120808
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120801
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120724
-packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 8)
#elif PACKETVER >= 20120716
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120626
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120612
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120601
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120529
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120515
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120502
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120424
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120417
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120410
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120404
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120328
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120314
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120228
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120221
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120214
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120131
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20120117
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20120103
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20121227
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20121212
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20121114
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20121024
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120905
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120814
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120801
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120601
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120515
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120424
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120328
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120228
-packetLen(0x0360, 90) // CZ_REQUEST_TIME2
+packetLen(0x0360, 90)
#elif PACKETVER >= 20120221
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20120214
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20120120
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20121227
-packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 36)
#elif PACKETVER >= 20121212
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20121114
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 36)
#elif PACKETVER >= 20120925
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120822
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120626
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120601
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20120529
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0361, 10) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 10)
#elif PACKETVER >= 20120508
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120424
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120214
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20120131
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20120120
-packetLen(0x0361, 19) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 19)
#elif PACKETVER >= 20120117
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 12)
#elif PACKETVER >= 20120103
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#endif
// Packet: 0x0362
#if PACKETVER >= 20121227
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 10)
#elif PACKETVER >= 20121212
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20121205
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0362, 19) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 19)
#elif PACKETVER >= 20121107
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120814
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120724
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0362, 18) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 18)
#elif PACKETVER >= 20120626
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120601
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120508
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120424
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120410
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20120328
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120214
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20120131
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20120103
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20121227
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20121205
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20121107
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120925
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120814
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120724
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120710
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20120612
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120601
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120515
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20120502
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120424
-packetLen(0x0363, 18) // CZ_ITEM_THROW2
+packetLen(0x0363, 18)
#elif PACKETVER >= 20120417
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120328
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120228
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0363, 18) // CZ_ITEM_THROW2
+packetLen(0x0363, 18)
#elif PACKETVER >= 20120214
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20120131
-packetLen(0x0363, 12) // CZ_ITEM_THROW2
+packetLen(0x0363, 12)
#elif PACKETVER >= 20120120
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20121121
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20121107
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120925
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120814
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120716
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120710
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120601
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20120529
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120523
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120508
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120424
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120410
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120328
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120314
-packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 19)
#elif PACKETVER >= 20120214
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20121121
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20121107
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20121031
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20121024
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20120925
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120911
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20120830
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20120814
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20120808
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120724
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120710
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20120702
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20120626
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120601
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120508
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120424
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120328
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120214
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20120131
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20120117
-packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20121227
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20121107
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20121024
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120925
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120905
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120814
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20120724
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120702
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120601
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120523
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20120508
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20120502
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120424
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120404
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120228
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120214
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20120120
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20120716
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20120314
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0367, 10) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 10)
#elif PACKETVER >= 20120117
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20121227
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20121218
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20121212
-packetLen(0x0368, 26) // CZ_REQNAME2
+packetLen(0x0368, 26)
#elif PACKETVER >= 20121107
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20121024
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120905
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120814
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120724
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120601
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120515
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120328
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120228
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120214
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120131
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20120117
-packetLen(0x0368, 7) // CZ_REQNAME2
+packetLen(0x0368, 7)
#elif PACKETVER >= 20120103
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20121227
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20121212
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20121107
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20121024
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120925
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120905
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120814
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120724
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120626
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120601
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120523
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20120502
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120424
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120328
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120314
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20120228
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120214
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20120117
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20121031
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20120925
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120905
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20120814
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120724
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120710
-packetLen(0x0436, 7) // CZ_ENTER2
+packetLen(0x0436, 7)
#elif PACKETVER >= 20120626
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120601
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120508
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120424
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120328
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120214
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20120131
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20120117
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#endif
// Packet: 0x0437
#if PACKETVER >= 20121227
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20121218
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20121128
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20121107
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20121024
-packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+packetLen(0x0437, 10)
#elif PACKETVER >= 20121017
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120925
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120905
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120822
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20120814
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120724
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120626
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120601
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120515
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120424
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120328
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120228
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120214
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20120120
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20121227
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20121107
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20121024
-packetLen(0x0438, 12) // CZ_USE_SKILL2
+packetLen(0x0438, 12)
#elif PACKETVER >= 20121017
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120925
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120911
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20120822
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20120808
-packetLen(0x0438, 90) // CZ_USE_SKILL2
+packetLen(0x0438, 90)
#elif PACKETVER >= 20120801
-packetLen(0x0438, 18) // CZ_USE_SKILL2
+packetLen(0x0438, 18)
#elif PACKETVER >= 20120724
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120626
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120601
-packetLen(0x0438, 19) // CZ_USE_SKILL2
+packetLen(0x0438, 19)
#elif PACKETVER >= 20120529
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120515
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120424
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120328
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120228
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120214
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20120117
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
#if PACKETVER >= 20120523
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
#endif
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20121107
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20121031
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20121010
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120925
-packetLen(0x07e4, 4) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 4)
#elif PACKETVER >= 20120919
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120814
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120808
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120724
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120710
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120626
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120612
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120601
-packetLen(0x07e4, 10) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 10)
#elif PACKETVER >= 20120529
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120508
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120502
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120424
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120417
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120410
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120404
-packetLen(0x07e4, 90) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 90)
#elif PACKETVER >= 20120328
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120320
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120214
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120207
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20120117
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20120110
-packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 19)
#elif PACKETVER >= 20120103
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20121205
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20121128
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20121107
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20121031
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120925
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120919
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120822
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120814
-packetLen(0x07ec, 12) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 12)
#elif PACKETVER >= 20120808
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120724
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120716
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120626
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120612
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120601
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120529
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120508
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120502
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120424
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120417
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120328
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120320
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120307
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120228
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20120214
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120207
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20120131
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20120120
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20120117
-packetLen(0x07ec, 36) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 36)
#elif PACKETVER >= 20120103
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20121205
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 36)
#elif PACKETVER >= 20121107
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120925
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120905
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 36)
#elif PACKETVER >= 20120814
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120724
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120710
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20120626
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120601
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120508
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120424
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120417
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120328
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120214
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20120131
-packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 90)
#elif PACKETVER >= 20120120
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20121227
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20121107
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20121024
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120925
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120919
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120905
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120814
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120710
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20120626
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120601
-packetLen(0x0811, 12) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 12)
#elif PACKETVER >= 20120523
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120424
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120228
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120214
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20120131
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20120117
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20121227
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20121212
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20121121
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0815, 90) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 90)
#elif PACKETVER >= 20121107
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20121024
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0815, 8) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 8)
#elif PACKETVER >= 20121010
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0815, 12) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 12)
#elif PACKETVER >= 20120919
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120905
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120822
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0815, 6) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 6)
#elif PACKETVER >= 20120808
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120801
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120710
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 26)
#elif PACKETVER >= 20120626
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120601
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120424
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120228
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120214
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20120131
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20121218
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 10)
#elif PACKETVER >= 20121031
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 7)
#elif PACKETVER >= 20121017
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20120911
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 36)
#elif PACKETVER >= 20120523
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20120508
-packetLen(0x0817, 4) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 4)
#elif PACKETVER >= 20120502
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20120214
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20121227
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20121107
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20121024
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20121010
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 19)
#elif PACKETVER >= 20120919
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120911
-packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 8)
#elif PACKETVER >= 20120905
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120814
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120724
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120702
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20120618
-packetLen(0x0819, 36) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 36)
#elif PACKETVER >= 20120612
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120601
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120424
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120228
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120214
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20120103
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20121010
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0835, 90) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 90)
#elif PACKETVER >= 20120905
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 26)
#elif PACKETVER >= 20120103
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20121227
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20121121
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20121107
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20121024
-packetLen(0x0838, 18) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 18)
#elif PACKETVER >= 20121017
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20121010
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120905
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20120814
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20120724
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120716
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120702
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20120612
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120601
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120515
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120502
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120424
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120328
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20120307
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120228
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120214
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120207
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20120131
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20120120
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20120117
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20121227
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20121218
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20121107
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20121031
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20121024
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20121017
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120925
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120919
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120905
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120830
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120814
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120808
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120724
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120716
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120626
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120612
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120601
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120529
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120515
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120502
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120424
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120404
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120328
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120314
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120228
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120221
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120214
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120131
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20120117
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20120103
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20121107
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20121031
-packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 26)
#elif PACKETVER >= 20121024
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20120830
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120822
-packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 5)
#elif PACKETVER >= 20120710
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120702
-packetLen(0x085a, 7) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 7)
#elif PACKETVER >= 20120523
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120515
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20120307
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120228
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20120221
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20120214
-packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 12)
#elif PACKETVER >= 20120103
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20120716
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20120710
-packetLen(0x085b, 10) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 10)
#elif PACKETVER >= 20120410
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20120404
-packetLen(0x085b, 4) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 4)
#elif PACKETVER >= 20120103
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20121218
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20121212
-packetLen(0x085c, 7) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 7)
#elif PACKETVER >= 20121114
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20121107
-packetLen(0x085c, -1) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, -1)
#elif PACKETVER >= 20120830
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20120822
-packetLen(0x085c, -1) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, -1)
#elif PACKETVER >= 20120103
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20121010
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20120925
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20120911
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20120905
-packetLen(0x085d, 10) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 10)
#elif PACKETVER >= 20120830
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20120822
-packetLen(0x085d, 10) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 10)
#elif PACKETVER >= 20120808
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20120801
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20120103
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20120822
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20120814
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20120103
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20120814
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20120808
-packetLen(0x085f, 36) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 36)
#elif PACKETVER >= 20120702
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20120626
-packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 5)
#elif PACKETVER >= 20120612
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20120601
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20120529
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20120523
-packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 5)
#elif PACKETVER >= 20120103
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20121227
-packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, -1)
#elif PACKETVER >= 20120529
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20121205
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 18)
#elif PACKETVER >= 20121114
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20120905
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0861, 19) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 19)
#elif PACKETVER >= 20120822
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 8)
#elif PACKETVER >= 20120612
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 18)
#elif PACKETVER >= 20120529
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0861, 18) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 18)
#elif PACKETVER >= 20120404
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20120314
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0861, 36) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20121121
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20120822
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20121212
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20121128
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20120710
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20120502
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 26)
#elif PACKETVER >= 20120314
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20120228
-packetLen(0x0863, 12) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 12)
#elif PACKETVER >= 20120103
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20121212
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0864, 18) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 18)
#elif PACKETVER >= 20120410
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0864, 18) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 18)
#elif PACKETVER >= 20120320
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20121114
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0865, 19) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 19)
#elif PACKETVER >= 20120822
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0865, 8) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20120314
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0865, 6) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20120801
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 4)
#elif PACKETVER >= 20120702
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20120529
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0866, 8) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20121227
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20121205
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20121031
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20121017
-packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 8)
#elif PACKETVER >= 20120919
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0868, 6) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 6)
#elif PACKETVER >= 20120822
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0868, 7) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 7)
#elif PACKETVER >= 20120702
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 5)
#elif PACKETVER >= 20120515
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20121017
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20120702
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 10)
#elif PACKETVER >= 20120529
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0869, 19) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 19)
#elif PACKETVER >= 20120515
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20120221
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20121128
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20121121
-packetLen(0x086a, 90) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 90)
#elif PACKETVER >= 20120808
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120801
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20120601
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120529
-packetLen(0x086a, 36) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 36)
#elif PACKETVER >= 20120523
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20120410
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120404
-packetLen(0x086a, 5) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 5)
#elif PACKETVER >= 20120314
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120307
-packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 19)
#elif PACKETVER >= 20120221
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20120214
-packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 26)
#elif PACKETVER >= 20120103
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20121024
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20121017
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20120830
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20120822
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20120808
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20120801
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20120103
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20121212
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20121205
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20121128
-packetLen(0x086c, 10) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 10)
#elif PACKETVER >= 20121121
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20121114
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20121107
-packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 5)
#elif PACKETVER >= 20121017
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20121010
-packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 8)
#elif PACKETVER >= 20120417
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20120410
-packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 8)
#elif PACKETVER >= 20120103
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20121128
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20121121
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20121114
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20121107
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20120702
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20120626
-packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 18)
#elif PACKETVER >= 20120612
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20120601
-packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 5)
#elif PACKETVER >= 20120103
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20121205
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20121128
-packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 4)
#elif PACKETVER >= 20120830
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20120822
-packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 5)
#elif PACKETVER >= 20120221
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20120214
-packetLen(0x086e, 6) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 6)
#elif PACKETVER >= 20120103
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20121128
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20121121
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20120919
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120911
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20120905
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20120822
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120814
-packetLen(0x086f, 36) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 36)
#elif PACKETVER >= 20120702
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120626
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20120612
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120601
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20120328
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20120320
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20120103
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20121227
-packetLen(0x0870, 12) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 12)
#elif PACKETVER >= 20121212
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20120314
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20120228
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20121107
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 5)
#elif PACKETVER >= 20120702
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 6)
#elif PACKETVER >= 20120612
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0871, 36) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 36)
#elif PACKETVER >= 20120502
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0871, 10) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 10)
#elif PACKETVER >= 20120417
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 5)
#elif PACKETVER >= 20120307
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0871, 10) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4621,3877 +4621,3877 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20121114
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 8)
#elif PACKETVER >= 20121010
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, -1)
#elif PACKETVER >= 20120808
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0873, 10) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 10)
#elif PACKETVER >= 20120417
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 4)
#elif PACKETVER >= 20120103
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20121017
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20120702
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0874, 5) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 5)
#elif PACKETVER >= 20120502
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0874, 90) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 90)
#elif PACKETVER >= 20120404
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0874, 12) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 12)
#elif PACKETVER >= 20120103
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20121212
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20121128
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20121031
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 4)
#elif PACKETVER >= 20120822
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 5)
#elif PACKETVER >= 20120808
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20120702
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 4)
#elif PACKETVER >= 20120307
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20121121
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20120404
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0876, 36) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20121218
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20121107
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 19)
#elif PACKETVER >= 20120919
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 26)
#elif PACKETVER >= 20120905
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20120801
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20120716
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20121212
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0878, 90) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 90)
#elif PACKETVER >= 20121114
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20120911
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20120716
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, -1)
#elif PACKETVER >= 20120702
-packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 12)
#elif PACKETVER >= 20120103
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20121121
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0879, 18) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 18)
#elif PACKETVER >= 20120103
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20121227
-packetLen(0x087a, 7) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 7)
#elif PACKETVER >= 20121218
-packetLen(0x087a, 5) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 5)
#elif PACKETVER >= 20121031
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20121024
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20121010
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20120925
-packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 6)
#elif PACKETVER >= 20120919
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20120911
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20120905
-packetLen(0x087a, 10) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 10)
#elif PACKETVER >= 20120103
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20121227
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20121218
-packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 26)
#elif PACKETVER >= 20121031
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20121024
-packetLen(0x087b, -1) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, -1)
#elif PACKETVER >= 20120911
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20120905
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20120529
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20120523
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20120103
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20120830
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120822
-packetLen(0x087c, 90) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 90)
#elif PACKETVER >= 20120801
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120724
-packetLen(0x087c, 18) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 18)
#elif PACKETVER >= 20120601
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120529
-packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 26)
#elif PACKETVER >= 20120523
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120515
-packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 5)
#elif PACKETVER >= 20120328
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20120320
-packetLen(0x087c, 36) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 36)
#elif PACKETVER >= 20120103
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20121218
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20121212
-packetLen(0x087d, 10) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 10)
#elif PACKETVER >= 20121017
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20121010
-packetLen(0x087d, 90) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 90)
#elif PACKETVER >= 20120830
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20120822
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20120612
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20120601
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20120523
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20120515
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20120103
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20121031
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20121024
-packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 10)
#elif PACKETVER >= 20121010
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20120925
-packetLen(0x087e, 26) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 26)
#elif PACKETVER >= 20120911
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20120905
-packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 8)
#elif PACKETVER >= 20120529
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20120523
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20120515
-packetLen(0x087e, 12) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 12)
#elif PACKETVER >= 20120103
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20121218
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20121212
-packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 12)
#elif PACKETVER >= 20121114
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20121107
-packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 5)
#elif PACKETVER >= 20120822
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20120814
-packetLen(0x087f, 26) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 26)
#elif PACKETVER >= 20120716
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20120710
-packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 5)
#elif PACKETVER >= 20120529
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20120523
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20120103
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20121128
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0880, 5) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20120702
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 6)
#elif PACKETVER >= 20120221
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20121031
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0882, 36) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 36)
#elif PACKETVER >= 20120822
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0882, 18) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 18)
#elif PACKETVER >= 20120515
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0882, 8) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 8)
#elif PACKETVER >= 20120103
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20121017
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 5)
#elif PACKETVER >= 20120710
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20120404
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0883, 90) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 90)
#elif PACKETVER >= 20120307
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20120515
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 36)
#elif PACKETVER >= 20120417
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20120314
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20120830
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20120612
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20120515
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20120417
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20120320
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20120307
-packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 7)
#elif PACKETVER >= 20120228
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20120120
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20120117
-packetLen(0x0885, 18) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 18)
#elif PACKETVER >= 20120103
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20121218
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20120710
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20120502
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 36)
#elif PACKETVER >= 20120417
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20120228
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20121024
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20121010
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20120911
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 19)
#elif PACKETVER >= 20120830
-packetLen(0x0887, 10) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 10)
#elif PACKETVER >= 20120801
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20120314
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20120120
-packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 4)
#elif PACKETVER >= 20120117
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20121227
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20121212
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0888, 36) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 36)
#elif PACKETVER >= 20121128
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20121031
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20121017
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20121010
-packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 4)
#elif PACKETVER >= 20120905
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20120228
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20120103
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20121227
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20121212
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20121031
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20120710
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 90)
#elif PACKETVER >= 20120417
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 7)
#elif PACKETVER >= 20120307
-packetLen(0x0889, 10) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 10)
#elif PACKETVER >= 20120131
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 36)
#elif PACKETVER >= 20120117
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20121031
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20121024
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20121010
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120925
-packetLen(0x088a, 26) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 26)
#elif PACKETVER >= 20120919
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120911
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20120830
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120822
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20120404
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120328
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20120307
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120228
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20120207
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20120131
-packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 19)
#elif PACKETVER >= 20120103
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20121212
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20121205
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20121128
-packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, -1)
#elif PACKETVER >= 20120822
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20120814
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20120808
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20120801
-packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 5)
#elif PACKETVER >= 20120221
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20120214
-packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 18)
#elif PACKETVER >= 20120103
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20120320
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20120314
-packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 4)
#elif PACKETVER >= 20120221
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20120214
-packetLen(0x088c, 26) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 26)
#elif PACKETVER >= 20120120
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20120117
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20120103
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20121010
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120925
-packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 10)
#elif PACKETVER >= 20120822
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120814
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20120716
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120710
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20120529
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120523
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20120221
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120214
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20120207
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20120131
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20120120
-packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 18)
#elif PACKETVER >= 20120103
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20121227
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20120801
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120724
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20120612
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120601
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20120502
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120424
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20120404
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120328
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20120120
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20120117
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20120103
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20121114
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20121107
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20121017
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20121010
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20120925
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20120919
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20120911
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20120814
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20120808
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20120508
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20120502
-packetLen(0x088f, 36) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 36)
#elif PACKETVER >= 20120131
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20120120
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20120117
-packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 10)
#elif PACKETVER >= 20120103
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20121227
-packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 10)
#elif PACKETVER >= 20121218
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20121114
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 10)
#elif PACKETVER >= 20120905
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 4)
#elif PACKETVER >= 20120808
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 7)
#elif PACKETVER >= 20120529
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20120314
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20120221
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20120120
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20121114
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20121017
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0891, 26) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 26)
#elif PACKETVER >= 20120529
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20120515
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20120417
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20120307
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0891, 36) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 36)
#elif PACKETVER >= 20120131
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20120117
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20120103
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20121128
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20120702
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 36)
#elif PACKETVER >= 20120120
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20120117
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20121218
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20120716
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 36)
#elif PACKETVER >= 20120103
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20121227
-packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 26)
#elif PACKETVER >= 20121205
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, -1)
#elif PACKETVER >= 20120131
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 10)
#elif PACKETVER >= 20120103
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20121218
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20121205
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20120911
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 5)
#elif PACKETVER >= 20120822
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20120808
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 19)
#elif PACKETVER >= 20120131
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20120120
-packetLen(0x0895, 7) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 7)
#elif PACKETVER >= 20120103
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20121227
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20121114
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20121017
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20120103
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20121024
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20120911
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20120716
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20120702
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20120612
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20120529
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20120117
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20120110
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20120103
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20121121
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0898, 7) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 7)
#elif PACKETVER >= 20121107
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20121031
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20121017
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20120207
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0898, 4) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 4)
#elif PACKETVER >= 20120103
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20121128
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20121114
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20120830
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20120716
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20120410
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20120131
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20120120
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20120103
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20121212
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20121205
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20121128
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20121121
-packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 18)
#elif PACKETVER >= 20121114
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20121107
-packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 7)
#elif PACKETVER >= 20121024
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20121017
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20120523
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20120515
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20120508
-packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 8)
#elif PACKETVER >= 20120502
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20120424
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20120103
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20121114
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20121107
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20120502
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20120424
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20120221
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20120214
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20120117
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20120110
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20120103
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20121031
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20121024
-packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 26)
#elif PACKETVER >= 20120808
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20120801
-packetLen(0x089c, 90) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 90)
#elif PACKETVER >= 20120417
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20120410
-packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 26)
#elif PACKETVER >= 20120404
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20120103
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20121212
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20121205
-packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 12)
#elif PACKETVER >= 20121010
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20120925
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20120808
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20120801
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20120307
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20120228
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20120120
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20120117
-packetLen(0x089d, 90) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 90)
#elif PACKETVER >= 20120103
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20120710
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20120702
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20120320
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20120314
-packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 26)
#elif PACKETVER >= 20120120
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20120117
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20120103
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20120830
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120822
-packetLen(0x089f, 19) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 19)
#elif PACKETVER >= 20120808
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120801
-packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 5)
#elif PACKETVER >= 20120724
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120716
-packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 36)
#elif PACKETVER >= 20120710
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120702
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20120221
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120214
-packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 36)
#elif PACKETVER >= 20120207
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20120131
-packetLen(0x089f, 36) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 36)
#elif PACKETVER >= 20120120
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20120103
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20120911
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120905
-packetLen(0x08a0, 4) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 4)
#elif PACKETVER >= 20120710
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120702
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20120626
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20120502
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120424
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20120404
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120328
-packetLen(0x08a0, 18) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 18)
#elif PACKETVER >= 20120320
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120314
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20120131
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20120120
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20120103
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20121017
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20121010
-packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 7)
#elif PACKETVER >= 20120801
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20120724
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20120131
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20120120
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20120103
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20120808
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120801
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20120612
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120601
-packetLen(0x08a2, 7) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 7)
#elif PACKETVER >= 20120523
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120515
-packetLen(0x08a2, 90) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 90)
#elif PACKETVER >= 20120417
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120410
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20120307
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120228
-packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 4)
#elif PACKETVER >= 20120207
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20120131
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20120103
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20121218
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08a3, 19) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 19)
#elif PACKETVER >= 20120716
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20120710
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20120529
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20120523
-packetLen(0x08a3, 10) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 10)
#elif PACKETVER >= 20120502
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20120424
-packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, -1)
#elif PACKETVER >= 20120410
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20120404
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20120103
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20121010
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120925
-packetLen(0x08a4, 7) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 7)
#elif PACKETVER >= 20120919
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08a4, 18) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 18)
#elif PACKETVER >= 20120702
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120626
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20120502
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120424
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20120131
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20120117
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20120103
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20120919
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20120830
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120822
-packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 8)
#elif PACKETVER >= 20120523
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120515
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20120221
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120214
-packetLen(0x08a5, 4) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 4)
#elif PACKETVER >= 20120131
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20120120
-packetLen(0x08a5, 90) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 90)
#elif PACKETVER >= 20120103
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20121227
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20121024
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20121017
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20121010
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20120919
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 19)
#elif PACKETVER >= 20120905
-packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 26)
#elif PACKETVER >= 20120716
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120710
-packetLen(0x08a6, -1) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, -1)
#elif PACKETVER >= 20120417
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120410
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20120404
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120328
-packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 19)
#elif PACKETVER >= 20120120
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20120117
-packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 19)
#elif PACKETVER >= 20120103
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20121218
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20121128
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20121121
-packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, -1)
#elif PACKETVER >= 20120919
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20120515
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20120508
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20120221
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20120214
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20120103
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20121205
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20121128
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20120822
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120814
-packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 4)
#elif PACKETVER >= 20120716
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120710
-packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 19)
#elif PACKETVER >= 20120523
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120515
-packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 19)
#elif PACKETVER >= 20120424
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120417
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20120320
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120314
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20120307
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120228
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20120120
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20120117
-packetLen(0x08a8, 12) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 12)
#elif PACKETVER >= 20120103
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20121218
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 36)
#elif PACKETVER >= 20121121
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20121114
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20121031
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20121024
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#elif PACKETVER >= 20121017
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20121010
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#elif PACKETVER >= 20120801
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120724
-packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 19)
#elif PACKETVER >= 20120529
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120523
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20120515
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120508
-packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 19)
#elif PACKETVER >= 20120502
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120424
-packetLen(0x08a9, 7) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 7)
#elif PACKETVER >= 20120120
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20120117
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20120103
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20121227
-packetLen(0x08aa, 18) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 18)
#elif PACKETVER >= 20121218
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08aa, 4) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 4)
#elif PACKETVER >= 20121128
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20121121
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20121031
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20121024
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20120808
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20120801
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20120716
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20120710
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20120103
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20121121
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20121114
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20120830
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120822
-packetLen(0x08ab, 7) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 7)
#elif PACKETVER >= 20120808
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120801
-packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 8)
#elif PACKETVER >= 20120724
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20120529
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120523
-packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 8)
#elif PACKETVER >= 20120221
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120214
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20120110
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20120103
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20121218
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20121212
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20120529
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20120523
-packetLen(0x08ac, 7) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 7)
#elif PACKETVER >= 20120515
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20120328
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20120320
-packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 26)
#elif PACKETVER >= 20120103
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20121212
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20121205
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20121128
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20121114
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20121107
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20120919
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120911
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20120523
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120515
-packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 10)
#elif PACKETVER >= 20120404
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120328
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20120207
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120131
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20120120
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20120103
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
#if PACKETVER >= 20120307
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
#elif PACKETVER >= 20120103
-packetLen(0x08e2, 25) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 25)
#endif
// Packet: 0x08e3
-packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 146)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08e5
-packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+packetLen(0x08e5, 41)
// Packet: 0x08e6
-packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+packetLen(0x08e6, 4)
// Packet: 0x08e7
-packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+packetLen(0x08e7, 10)
// Packet: 0x08e8
packetLen(0x08e8, -1)
// Packet: 0x08e9
-packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+packetLen(0x08e9, 2)
// Packet: 0x08ea
-packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+packetLen(0x08ea, 4)
// Packet: 0x08eb
-packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+packetLen(0x08eb, 39)
// Packet: 0x08ec
-packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+packetLen(0x08ec, 73)
// Packet: 0x08ed
-packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+packetLen(0x08ed, 43)
// Packet: 0x08ee
-packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+packetLen(0x08ee, 6)
// Packet: 0x08ef
-packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x08ef, 6)
// Packet: 0x08f0
-packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x08f0, 6)
// Packet: 0x08f1
-packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+packetLen(0x08f1, 6)
// Packet: 0x08f2
-packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+packetLen(0x08f2, 36)
// Packet: 0x08f3
packetLen(0x08f3, -1)
// Packet: 0x08f4
-packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+packetLen(0x08f4, 6)
// Packet: 0x08f5
-packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+packetLen(0x08f5, -1)
// Packet: 0x08f6
-packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+packetLen(0x08f6, 22)
// Packet: 0x08f7
-packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, 3)
// Packet: 0x08f8
-packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+packetLen(0x08f8, 7)
// Packet: 0x08f9
-packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08f9, 6)
// Packet: 0x08fa
-packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08fa, 6)
// Packet: 0x08fb
-packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x08fb, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x0909
-packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x0909, 6)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090b
-packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x090b, 30)
// Packet: 0x090c
-packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x090c, 30)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
#if PACKETVER >= 20120131
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
#endif
// Packet: 0x0910
#if PACKETVER >= 20120120
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
#endif
// Packet: 0x0911
#if PACKETVER >= 20120120
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
#endif
// Packet: 0x0912
#if PACKETVER >= 20120120
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
#endif
// Packet: 0x0913
#if PACKETVER >= 20120120
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
#endif
// Packet: 0x0914
#if PACKETVER >= 20120131
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
#endif
// Packet: 0x0915
#if PACKETVER >= 20120131
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
#endif
// Packet: 0x0916
#if PACKETVER >= 20120131
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
#endif
// Packet: 0x0917
#if PACKETVER >= 20121218
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20120911
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, -1)
#elif PACKETVER >= 20120830
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, -1)
#elif PACKETVER >= 20120808
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 36)
#elif PACKETVER >= 20120307
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0917, 7) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 7)
#elif PACKETVER >= 20120207
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20121024
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0918, 36) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 36)
#elif PACKETVER >= 20120911
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0918, -1) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20120601
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20120529
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20120307
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 19)
#elif PACKETVER >= 20120221
-packetLen(0x0919, 4) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 4)
#elif PACKETVER >= 20120207
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20121227
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20121218
-packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 8)
#elif PACKETVER >= 20121212
-packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, -1)
#elif PACKETVER >= 20121128
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20121121
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20121114
-packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 8)
#elif PACKETVER >= 20120911
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20120905
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20120523
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20120515
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20120404
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20120328
-packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, -1)
#elif PACKETVER >= 20120221
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20120214
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20120207
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20121205
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20121128
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20120502
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20120424
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20120404
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20120328
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20120207
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20121227
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20121218
-packetLen(0x091c, 19) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 19)
#elif PACKETVER >= 20121212
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20121205
-packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 8)
#elif PACKETVER >= 20121128
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20120801
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20120724
-packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 5)
#elif PACKETVER >= 20120417
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20120410
-packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 26)
#elif PACKETVER >= 20120207
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20120905
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120830
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20120808
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120801
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20120612
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120601
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20120417
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120410
-packetLen(0x091d, 18) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 18)
#elif PACKETVER >= 20120404
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20120328
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20120207
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20121205
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20121128
-packetLen(0x091e, -1) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, -1)
#elif PACKETVER >= 20120529
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20120523
-packetLen(0x091e, 12) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 12)
#elif PACKETVER >= 20120207
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20121227
-packetLen(0x091f, 4) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 4)
#elif PACKETVER >= 20121205
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20121128
-packetLen(0x091f, 90) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 90)
#elif PACKETVER >= 20120822
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20120814
-packetLen(0x091f, 19) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 19)
#elif PACKETVER >= 20120801
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20120724
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20120523
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20120515
-packetLen(0x091f, 26) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 26)
#elif PACKETVER >= 20120207
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20121227
-packetLen(0x0920, 90) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 90)
#elif PACKETVER >= 20121218
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 5)
#elif PACKETVER >= 20121024
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 4)
#elif PACKETVER >= 20120822
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20120702
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0920, 7) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 7)
#elif PACKETVER >= 20120404
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 5)
#elif PACKETVER >= 20120221
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20121212
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0921, 19) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 19)
#elif PACKETVER >= 20121128
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0921, 10) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 10)
#elif PACKETVER >= 20120221
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0921, -1) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20121205
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 8)
#elif PACKETVER >= 20121114
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 8)
#elif PACKETVER >= 20120502
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0922, 10) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 10)
#elif PACKETVER >= 20120207
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20121010
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 6)
#elif PACKETVER >= 20120523
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0923, 7) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 7)
#elif PACKETVER >= 20120502
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20120207
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20120612
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0924, 90) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 90)
#elif PACKETVER >= 20120207
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20121017
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0925, 12) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 12)
#elif PACKETVER >= 20120307
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20120905
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#elif PACKETVER >= 20120502
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20120314
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0926, 18) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 18)
#elif PACKETVER >= 20120207
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20121128
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0927, 19) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 19)
#elif PACKETVER >= 20121010
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20120911
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 18)
#elif PACKETVER >= 20120830
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20120801
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, -1)
#elif PACKETVER >= 20120307
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20121128
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0929, 4) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 4)
#elif PACKETVER >= 20120822
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 12)
#elif PACKETVER >= 20120314
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0929, 26) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20120808
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20120801
-packetLen(0x092a, 4) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 4)
#elif PACKETVER >= 20120320
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20120314
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20120207
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20121107
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20121031
-packetLen(0x092b, 4) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 4)
#elif PACKETVER >= 20120801
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20120724
-packetLen(0x092b, 90) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 90)
#elif PACKETVER >= 20120523
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20120515
-packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 8)
#elif PACKETVER >= 20120404
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20120328
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20120207
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20120710
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20120702
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20120529
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20120523
-packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 5)
#elif PACKETVER >= 20120207
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20120716
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20120710
-packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 12)
#elif PACKETVER >= 20120307
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20120228
-packetLen(0x092d, -1) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, -1)
#elif PACKETVER >= 20120207
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20120808
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20120801
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20120612
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20120601
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20120410
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20120404
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20120207
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20121205
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20121128
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20120702
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20120626
-packetLen(0x092f, 4) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 4)
#elif PACKETVER >= 20120612
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20120601
-packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, -1)
#elif PACKETVER >= 20120207
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20121121
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0930, 4) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 4)
#elif PACKETVER >= 20120919
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, -1)
#elif PACKETVER >= 20120808
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20120529
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0930, 4) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 4)
#elif PACKETVER >= 20120228
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0930, 26) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20121205
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0931, 7) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 7)
#elif PACKETVER >= 20121031
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0931, 8) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20121227
-packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 5)
#elif PACKETVER >= 20121218
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0932, 18) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 18)
#elif PACKETVER >= 20121010
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 6)
#elif PACKETVER >= 20120822
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 10)
#elif PACKETVER >= 20120207
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20121227
-packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, -1)
#elif PACKETVER >= 20120307
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0933, 18) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 18)
#elif PACKETVER >= 20120221
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20121114
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0934, 12) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 12)
#elif PACKETVER >= 20121017
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 6)
#elif PACKETVER >= 20120905
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20120822
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 10)
#elif PACKETVER >= 20120808
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 10)
#elif PACKETVER >= 20120404
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20121227
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20121121
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0935, 10) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 10)
#elif PACKETVER >= 20120830
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0935, 5) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 5)
#elif PACKETVER >= 20120702
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#elif PACKETVER >= 20120228
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0935, -1) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20120716
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 8)
#elif PACKETVER >= 20120702
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 12)
#elif PACKETVER >= 20120612
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20120830
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 10)
#elif PACKETVER >= 20120307
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 26)
#elif PACKETVER >= 20120221
-packetLen(0x0937, 8) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20121128
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0938, 12) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 12)
#elif PACKETVER >= 20121114
-packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, -1)
#elif PACKETVER >= 20120801
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0938, 10) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 10)
#elif PACKETVER >= 20120702
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, -1)
#elif PACKETVER >= 20120417
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20120207
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20121212
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20121205
-packetLen(0x093a, 6) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 6)
#elif PACKETVER >= 20121031
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20121024
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20120702
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20120626
-packetLen(0x093a, 90) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 90)
#elif PACKETVER >= 20120601
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20120529
-packetLen(0x093a, 19) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 19)
#elif PACKETVER >= 20120320
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20120314
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20120207
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20121121
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20121114
-packetLen(0x093b, 12) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 12)
#elif PACKETVER >= 20121107
-packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 10)
#elif PACKETVER >= 20120314
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20120307
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20120207
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20121121
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20121114
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20121017
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20121010
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20120911
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20120905
-packetLen(0x093c, 12) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 12)
#elif PACKETVER >= 20120808
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20120801
-packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 26)
#elif PACKETVER >= 20120724
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20120502
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20120424
-packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 5)
#elif PACKETVER >= 20120228
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20120221
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20120207
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20120814
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20120808
-packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 5)
#elif PACKETVER >= 20120207
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20121212
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20121205
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20120919
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20120911
-packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 12)
#elif PACKETVER >= 20120529
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20120523
-packetLen(0x093e, 90) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 90)
#elif PACKETVER >= 20120404
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20120328
-packetLen(0x093e, 10) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 10)
#elif PACKETVER >= 20120207
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20121212
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20121205
-packetLen(0x093f, 10) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 10)
#elif PACKETVER >= 20120207
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20121227
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20120830
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0940, 12) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 12)
#elif PACKETVER >= 20120814
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120808
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20120626
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120618
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20120515
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120508
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20120410
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20121121
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20120822
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0941, 90) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 90)
#elif PACKETVER >= 20120808
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20120529
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20120502
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20120307
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20121031
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0942, -1) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, -1)
#elif PACKETVER >= 20121017
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20120925
-packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 36)
#elif PACKETVER >= 20120307
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20120207
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20120830
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0943, 8) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 8)
#elif PACKETVER >= 20120612
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 4)
#elif PACKETVER >= 20120207
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20121121
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20120911
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 26)
#elif PACKETVER >= 20120710
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20120523
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0944, 18) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 18)
#elif PACKETVER >= 20120207
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20121205
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20121114
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0945, 90) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 90)
#elif PACKETVER >= 20120911
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20120830
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20120801
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0945, 7) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 7)
#elif PACKETVER >= 20120417
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20120328
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0945, 19) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 19)
#elif PACKETVER >= 20120307
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20121227
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 36)
#elif PACKETVER >= 20121212
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 10)
#elif PACKETVER >= 20121128
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 5)
#elif PACKETVER >= 20121017
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 19)
#elif PACKETVER >= 20120808
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20120320
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20121227
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20121218
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 5)
#elif PACKETVER >= 20121031
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20121017
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 10)
#elif PACKETVER >= 20120523
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 10)
#elif PACKETVER >= 20120502
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 4)
#elif PACKETVER >= 20120410
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20120307
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20121010
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0948, 18) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 18)
#elif PACKETVER >= 20120919
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0948, 10) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 10)
#elif PACKETVER >= 20120502
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20121121
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0949, 18) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 18)
#elif PACKETVER >= 20120919
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0949, 4) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 4)
#elif PACKETVER >= 20120207
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20121121
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20121114
-packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 10)
#elif PACKETVER >= 20120710
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20120702
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20120626
-packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, -1)
#elif PACKETVER >= 20120207
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20121212
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20121205
-packetLen(0x094b, 6) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 6)
#elif PACKETVER >= 20121121
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20121114
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20120919
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120911
-packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, -1)
#elif PACKETVER >= 20120905
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120830
-packetLen(0x094b, 18) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 18)
#elif PACKETVER >= 20120716
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120710
-packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 5)
#elif PACKETVER >= 20120523
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120515
-packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 5)
#elif PACKETVER >= 20120417
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20120410
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20120207
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20121017
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20121010
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20120601
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20120529
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20120207
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20121128
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20121121
-packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 8)
#elif PACKETVER >= 20121114
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20121107
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20120830
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20120822
-packetLen(0x094d, 36) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 36)
#elif PACKETVER >= 20120529
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20120523
-packetLen(0x094d, 26) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 26)
#elif PACKETVER >= 20120515
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20120508
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20120307
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20120228
-packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 8)
#elif PACKETVER >= 20120207
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20120830
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20120822
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20120808
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20120801
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20120716
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20120710
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20120612
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20120601
-packetLen(0x094e, 5) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 5)
#elif PACKETVER >= 20120207
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20121121
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20121114
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20120320
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20120314
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20120207
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20121205
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0950, 12) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 12)
#elif PACKETVER >= 20121121
-packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 5)
#elif PACKETVER >= 20121010
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 5)
#elif PACKETVER >= 20120911
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20121218
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 8)
#elif PACKETVER >= 20120702
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20120404
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0951, 7) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 7)
#elif PACKETVER >= 20120207
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20121128
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20120221
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0952, 19) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 19)
#elif PACKETVER >= 20120207
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20121227
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20121218
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 6)
#elif PACKETVER >= 20121205
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 6)
#elif PACKETVER >= 20120830
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0953, 18) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 18)
#elif PACKETVER >= 20120716
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0953, 4) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 4)
#elif PACKETVER >= 20120702
-packetLen(0x0953, 5) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 5)
#elif PACKETVER >= 20120221
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, -1)
#elif PACKETVER >= 20120207
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20121212
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0954, 7) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 7)
#elif PACKETVER >= 20121128
-packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 8)
#elif PACKETVER >= 20121121
-packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 36)
#elif PACKETVER >= 20121031
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20121024
-packetLen(0x0954, 90) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 90)
#elif PACKETVER >= 20120618
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20120612
-packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 36)
#elif PACKETVER >= 20120404
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20120307
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20120830
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20120822
-packetLen(0x0955, -1) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, -1)
#elif PACKETVER >= 20120502
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20121010
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20120919
-packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 36)
#elif PACKETVER >= 20120716
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#elif PACKETVER >= 20120529
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20120523
-packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 6)
#elif PACKETVER >= 20120207
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20121227
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20121218
-packetLen(0x0957, 18) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 18)
#elif PACKETVER >= 20121212
-packetLen(0x0957, 90) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 90)
#elif PACKETVER >= 20121128
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 26)
#elif PACKETVER >= 20121017
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 5)
#elif PACKETVER >= 20120801
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 36)
#elif PACKETVER >= 20120523
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20120221
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0957, 90) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 90)
#elif PACKETVER >= 20120207
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20121227
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20121128
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20121121
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20121010
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20120919
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0958, 10) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 10)
#elif PACKETVER >= 20120410
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20120404
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20121212
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 26)
#elif PACKETVER >= 20121017
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, -1)
#elif PACKETVER >= 20120919
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0959, 7) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 7)
#elif PACKETVER >= 20120905
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20120801
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 26)
#elif PACKETVER >= 20120207
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20120207
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20121218
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20121212
-packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 8)
#elif PACKETVER >= 20120830
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20120822
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20120612
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20120601
-packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 8)
#elif PACKETVER >= 20120502
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20120424
-packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, -1)
#elif PACKETVER >= 20120207
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20121121
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20121114
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20121017
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20121010
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20120314
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20120307
-packetLen(0x095c, 4) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 4)
#elif PACKETVER >= 20120228
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20120221
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20120214
-packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 10)
#elif PACKETVER >= 20120207
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20121227
-packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, -1)
#elif PACKETVER >= 20121031
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20121024
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20120710
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20120702
-packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 36)
#elif PACKETVER >= 20120404
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20120328
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20120207
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20121031
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20121024
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20121010
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20120925
-packetLen(0x095e, 10) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 10)
#elif PACKETVER >= 20120307
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20120228
-packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 5)
#elif PACKETVER >= 20120207
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20120207
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20121205
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20121128
-packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, -1)
#elif PACKETVER >= 20121114
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20121024
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20120911
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 90)
#elif PACKETVER >= 20120716
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20120710
-packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 90)
#elif PACKETVER >= 20120702
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20120207
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20120710
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0961, 4) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 4)
#elif PACKETVER >= 20120417
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20120410
-packetLen(0x0961, 36) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 36)
#elif PACKETVER >= 20120307
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20120228
-packetLen(0x0961, 10) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 10)
#elif PACKETVER >= 20120207
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20121227
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20121024
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20120702
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20120626
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20121114
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0963, 4) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 4)
#elif PACKETVER >= 20121010
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120925
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20120919
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20120801
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20120612
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120601
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20120404
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20120314
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120307
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20120221
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0963, 7) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 7)
#elif PACKETVER >= 20120207
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20121017
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 26)
#elif PACKETVER >= 20120905
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20120830
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20120808
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20120801
-packetLen(0x0964, 12) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 12)
#elif PACKETVER >= 20120523
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20120320
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20120314
-packetLen(0x0964, 18) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 18)
#elif PACKETVER >= 20120207
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20121218
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, -1)
#elif PACKETVER >= 20121121
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20121114
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20121031
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20121017
-packetLen(0x0965, 19) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 19)
#elif PACKETVER >= 20120801
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20120502
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20120424
-packetLen(0x0965, 8) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 8)
#elif PACKETVER >= 20120207
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20121218
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20121212
-packetLen(0x0966, -1) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, -1)
#elif PACKETVER >= 20121205
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20121114
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20121107
-packetLen(0x0966, 18) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 18)
#elif PACKETVER >= 20120919
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20120801
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120724
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20120523
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120515
-packetLen(0x0966, 4) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 4)
#elif PACKETVER >= 20120328
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120320
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20120221
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20120214
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20120207
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20120911
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20120905
-packetLen(0x0967, 7) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 7)
#elif PACKETVER >= 20120822
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20120404
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20120328
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20120228
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 36)
#elif PACKETVER >= 20120207
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20121212
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20121205
-packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 5)
#elif PACKETVER >= 20120919
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20120911
-packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 5)
#elif PACKETVER >= 20120207
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20121017
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20121010
-packetLen(0x0969, 18) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 18)
#elif PACKETVER >= 20120822
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20120814
-packetLen(0x0969, 5) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 5)
#elif PACKETVER >= 20120228
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20120221
-packetLen(0x0969, 19) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 19)
#elif PACKETVER >= 20120207
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20121227
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20121212
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20121121
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20121114
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20121107
-packetLen(0x096a, 26) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 26)
#elif PACKETVER >= 20121031
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20121024
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20121017
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120925
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120919
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120911
-packetLen(0x096a, 36) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 36)
#elif PACKETVER >= 20120905
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120830
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120814
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120808
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120724
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120716
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120626
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120612
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120601
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120529
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120523
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120515
-packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, -1)
#elif PACKETVER >= 20120508
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120502
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120424
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120417
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120410
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120404
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120328
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120307
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120228
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120221
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20120214
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20120207
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
#if PACKETVER >= 20120404
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
#elif PACKETVER >= 20120207
-packetLen(0x096b, 3) // ZC_PRNPC_STATE
+packetLen(0x096b, 3)
#endif
// Packet: 0x096c
#if PACKETVER >= 20120207
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
#endif
// Packet: 0x096d
#if PACKETVER >= 20120228
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
#elif PACKETVER >= 20120214
-packetLen(0x096d, 2) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, 2)
#endif
// Packet: 0x096e
#if PACKETVER >= 20120228
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
#elif PACKETVER >= 20120221
-packetLen(0x096e, 6) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, 6)
#elif PACKETVER >= 20120214
-packetLen(0x096e, 10) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, 10)
#endif
// Packet: 0x096f
#if PACKETVER >= 20120221
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
#elif PACKETVER >= 20120214
-packetLen(0x096f, 3) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 3)
#endif
// Packet: 0x0970
#if PACKETVER >= 20120214
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
#endif
// Packet: 0x0971
#if PACKETVER >= 20120214
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
#endif
// Packet: 0x0972
#if PACKETVER >= 20120214
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
#endif
// Packet: 0x0973
#if PACKETVER >= 20120214
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
#endif
// Packet: 0x0974
#if PACKETVER >= 20120221
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
#endif
// Packet: 0x0975
#if PACKETVER >= 20120221
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
#endif
// Packet: 0x0976
#if PACKETVER >= 20120221
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
#endif
// Packet: 0x0977
#if PACKETVER >= 20120228
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
#elif PACKETVER >= 20120221
-packetLen(0x0977, 15) // ZC_HP_INFO
+packetLen(0x0977, 15)
#endif
// Packet: 0x0978
#if PACKETVER >= 20120328
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
#endif
// Packet: 0x0979
#if PACKETVER >= 20120328
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
#endif
// Packet: 0x097a
#if PACKETVER >= 20120410
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
#endif
// Packet: 0x097b
#if PACKETVER >= 20120417
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
#endif
// Packet: 0x097c
#if PACKETVER >= 20120502
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
#endif
// Packet: 0x097d
#if PACKETVER >= 20120502
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
#endif
// Packet: 0x097e
#if PACKETVER >= 20120502
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
#endif
// Packet: 0x097f
#if PACKETVER >= 20120502
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
#endif
// Packet: 0x0980
#if PACKETVER >= 20120502
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
#endif
// Packet: 0x0981
#if PACKETVER >= 20120515
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
#endif
// Packet: 0x0982
#if PACKETVER >= 20120523
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
#elif PACKETVER >= 20120515
-packetLen(0x0982, 3) // ZC_FATIGUE_CHN
+packetLen(0x0982, 3)
#endif
// Packet: 0x0983
#if PACKETVER >= 20120529
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
#endif
// Packet: 0x0984
#if PACKETVER >= 20120529
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
#endif
// Packet: 0x0985
#if PACKETVER >= 20120601
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
#endif
// Packet: 0x0986
#if PACKETVER >= 20120626
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
#elif PACKETVER >= 20120612
-packetLen(0x0986, 6) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 6)
#endif
// Packet: 0x0987
#if PACKETVER >= 20120702
-packetLen(0x0987, 63) // CA_LOGIN6
+packetLen(0x0987, 63)
#endif
// Packet: 0x0988
#if PACKETVER >= 20120716
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
#elif PACKETVER >= 20120702
-packetLen(0x0988, 2) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 2)
#endif
// Packet: 0x0989
#if PACKETVER >= 20120716
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
#elif PACKETVER >= 20120702
-packetLen(0x0989, 6) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 6)
#endif
// Packet: 0x098a
#if PACKETVER >= 20120702
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
#endif
// Packet: 0x098b
#if PACKETVER >= 20120716
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
#endif
// Packet: 0x098c
#if PACKETVER >= 20120716
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
#endif
// Packet: 0x098d
#if PACKETVER >= 20120716
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
#endif
// Packet: 0x098e
#if PACKETVER >= 20120716
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
#endif
// Packet: 0x098f
#if PACKETVER >= 20120724
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
#endif
// Packet: 0x0990
#if PACKETVER >= 20120925
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
#endif
// Packet: 0x0991
#if PACKETVER >= 20120925
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
#endif
// Packet: 0x0992
#if PACKETVER >= 20120925
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
#endif
// Packet: 0x0993
#if PACKETVER >= 20120925
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
#endif
// Packet: 0x0994
#if PACKETVER >= 20120925
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
#endif
// Packet: 0x0995
#if PACKETVER >= 20120925
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
#endif
// Packet: 0x0996
#if PACKETVER >= 20120925
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
#endif
// Packet: 0x0997
#if PACKETVER >= 20120925
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
#endif
// Packet: 0x0998
#if PACKETVER >= 20120925
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
#endif
// Packet: 0x0999
#if PACKETVER >= 20120925
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
#endif
// Packet: 0x099a
#if PACKETVER >= 20120925
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
#endif
// Packet: 0x099b
#if PACKETVER >= 20121010
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
#endif
// Packet: 0x099c
#if PACKETVER >= 20121024
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
#endif
// Packet: 0x099d
#if PACKETVER >= 20121024
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
#endif
// Packet: 0x099e
#if PACKETVER >= 20121128
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
#endif
// Packet: 0x099f
#if PACKETVER >= 20121212
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
#endif
// Packet: 0x09a0
#if PACKETVER >= 20121212
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
#endif
// Packet: 0x09a1
#if PACKETVER >= 20121212
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
#endif
diff --git a/src/common/packets/packets2013_len_main.h b/src/common/packets/packets2013_len_main.h
index f7a60ade9..3ca54efd2 100644
--- a/src/common/packets/packets2013_len_main.h
+++ b/src/common/packets/packets2013_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4461 +25,4461 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 146)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20131230
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20131218
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20131016
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20131002
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130828
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20130814
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20130807
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130717
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130710
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130703
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20130612
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130502
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130424
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130417
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20130227
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130109
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20131230
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20131223
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20131218
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20131106
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20131030
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20131023
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20131016
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20131008
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20131002
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130814
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130807
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130731
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20130717
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130703
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130612
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130605
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130515
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130508
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20130502
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130424
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130313
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130306
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20130227
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130220
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130109
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130103
-packetLen(0x022d, 4) // CZ_COMMAND_MER
+packetLen(0x022d, 4)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20131230
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20131223
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20131008
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20131002
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130904
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130828
-packetLen(0x023b, 90) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 90)
#elif PACKETVER >= 20130814
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130807
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130717
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130710
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130612
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130605
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130529
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20130502
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130424
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130410
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130403
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20130306
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130220
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130215
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20130109
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130103
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20131230
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20131113
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20131030
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20131023
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20131008
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130911
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130821
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20130807
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130717
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130626
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130502
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130410
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130227
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130115
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20131230
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20130724
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20130717
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20130626
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20130618
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20130403
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20130327
-packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 90)
#elif PACKETVER >= 20130103
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20131230
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20131211
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20131204
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20131127
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20131106
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20131030
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20131008
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20131002
-packetLen(0x035f, 36) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 36)
#elif PACKETVER >= 20130925
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130917
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20130904
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130814
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130807
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130731
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130724
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130717
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130626
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130618
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130605
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130522
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130417
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130410
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130403
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130327
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130313
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130306
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130227
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20130206
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130121
-packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 8)
#elif PACKETVER >= 20130109
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130103
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20131230
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20131106
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130911
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130828
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20130814
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130717
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130710
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130703
-packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+packetLen(0x0360, 26)
#elif PACKETVER >= 20130626
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20130417
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130410
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20130320
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130306
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+packetLen(0x0360, 19)
#elif PACKETVER >= 20130220
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20130206
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130130
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130109
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20131230
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20131127
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20131023
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20131008
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130911
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20130828
-packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 12)
#elif PACKETVER >= 20130821
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130814
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130717
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130710
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130612
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130502
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130424
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130227
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130121
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20130109
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#endif
// Packet: 0x0362
#if PACKETVER >= 20131230
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20131211
-packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 90)
#elif PACKETVER >= 20131106
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20131016
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0362, 19) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 19)
#elif PACKETVER >= 20131002
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130911
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130814
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130717
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20130515
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20130502
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130410
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130320
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130227
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20130130
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20130109
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20131230
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20131113
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20131030
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20131008
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130911
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130814
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130717
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130618
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130502
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130410
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130327
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20130313
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130227
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130109
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20131230
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20131204
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20131120
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20131113
-packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 90)
#elif PACKETVER >= 20131106
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20131023
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130917
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20130828
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130814
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130717
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130618
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130502
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130410
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130320
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130227
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130109
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20131230
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20131218
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20131204
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20131106
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0365, 19) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 19)
#elif PACKETVER >= 20131008
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130911
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130814
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130717
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130618
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130502
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130410
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130327
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 12)
#elif PACKETVER >= 20130313
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130227
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130115
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20131230
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20131204
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20131127
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20131106
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20131023
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130917
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130828
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130814
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130717
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130618
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130522
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130410
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130320
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130227
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130215
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20130206
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130130
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130109
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20130417
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20130313
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20130206
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20131230
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20131204
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20131120
-packetLen(0x0368, 12) // CZ_REQNAME2
+packetLen(0x0368, 12)
#elif PACKETVER >= 20131106
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130917
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130821
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0368, 19) // CZ_REQNAME2
+packetLen(0x0368, 19)
#elif PACKETVER >= 20130807
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130717
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130410
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130320
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130306
-packetLen(0x0368, 90) // CZ_REQNAME2
+packetLen(0x0368, 90)
#elif PACKETVER >= 20130227
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130130
-packetLen(0x0368, 5) // CZ_REQNAME2
+packetLen(0x0368, 5)
#elif PACKETVER >= 20130121
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130115
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0368, 10) // CZ_REQNAME2
+packetLen(0x0368, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20131230
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20131204
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20131113
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20131030
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20131008
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130917
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130814
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130717
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130618
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130529
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20130417
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130410
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130320
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130227
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130130
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 18)
#elif PACKETVER >= 20130109
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20131230
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20131113
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0436, 36) // CZ_ENTER2
+packetLen(0x0436, 36)
#elif PACKETVER >= 20131030
-packetLen(0x0436, 18) // CZ_ENTER2
+packetLen(0x0436, 18)
#elif PACKETVER >= 20131008
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130917
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20130904
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130814
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130717
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130618
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130515
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20130502
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130424
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130320
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130227
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130215
-packetLen(0x0436, 18) // CZ_ENTER2
+packetLen(0x0436, 18)
#elif PACKETVER >= 20130109
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0436, 36) // CZ_ENTER2
+packetLen(0x0436, 36)
#endif
// Packet: 0x0437
#if PACKETVER >= 20131230
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20131204
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20131106
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20131008
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20130925
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130917
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130828
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20130814
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130724
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20130717
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130618
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130522
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130410
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20130403
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130320
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130306
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130130
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20130121
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130115
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20131230
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20131211
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20131204
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20131106
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20131023
-packetLen(0x0438, 26) // CZ_USE_SKILL2
+packetLen(0x0438, 26)
#elif PACKETVER >= 20131008
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130925
-packetLen(0x0438, 90) // CZ_USE_SKILL2
+packetLen(0x0438, 90)
#elif PACKETVER >= 20130917
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130828
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20130814
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130731
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20130717
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130618
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130522
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130410
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130327
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20130313
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130227
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130130
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130109
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20131230
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20131218
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20131211
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20131204
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20131127
-packetLen(0x07e4, 90) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 90)
#elif PACKETVER >= 20131106
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20131030
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20131016
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20131008
-packetLen(0x07e4, 7) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 7)
#elif PACKETVER >= 20131002
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130911
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130904
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130814
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130807
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130717
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130703
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130618
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130605
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130508
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130502
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20130417
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130410
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130403
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130320
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130313
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130227
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130220
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130215
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130206
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20130109
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130103
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20131230
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131218
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20131211
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131204
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20131106
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131030
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20131023
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131016
-packetLen(0x07ec, 19) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 19)
#elif PACKETVER >= 20131008
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131002
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130911
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130904
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130828
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20130821
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20130814
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130807
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130717
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130703
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130618
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130605
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130529
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130522
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20130508
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130502
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20130417
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130410
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130403
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130327
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20130320
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130313
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130227
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130220
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130130
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130121
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20130115
-packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 4)
#elif PACKETVER >= 20130109
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130103
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20131230
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20131127
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20131113
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 5)
#elif PACKETVER >= 20131030
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20131023
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20131008
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130911
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130814
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130717
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130618
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130502
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130410
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130320
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130306
-packetLen(0x0802, 12) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 12)
#elif PACKETVER >= 20130227
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130215
-packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 90)
#elif PACKETVER >= 20130130
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0802, 7) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 7)
#elif PACKETVER >= 20130109
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20131230
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20131218
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20131211
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20131204
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20131120
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20131106
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20131023
-packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 10)
#elif PACKETVER >= 20131008
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130917
-packetLen(0x0811, 7) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 7)
#elif PACKETVER >= 20130904
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130814
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130717
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130618
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130529
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 10)
#elif PACKETVER >= 20130424
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130417
-packetLen(0x0811, 26) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 26)
#elif PACKETVER >= 20130410
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130206
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20130109
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20131230
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20131204
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20131106
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20131008
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130917
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130904
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20130828
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20130814
-packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 4)
#elif PACKETVER >= 20130807
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130717
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130618
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130522
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130410
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0815, 18) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 18)
#elif PACKETVER >= 20130206
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130130
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130109
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20131127
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20131113
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20130904
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20130703
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20130313
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20130227
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20130130
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 36)
#elif PACKETVER >= 20130115
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20131230
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20131204
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20131106
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20131023
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130917
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 19)
#elif PACKETVER >= 20130904
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130814
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130717
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130618
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130522
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130410
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130227
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130109
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20131030
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 4)
#elif PACKETVER >= 20130911
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 12)
#elif PACKETVER >= 20130821
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20130403
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20131230
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20131204
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20131106
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20131008
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130917
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20130911
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130904
-packetLen(0x0838, 19) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 19)
#elif PACKETVER >= 20130814
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130717
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130618
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130522
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130410
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130320
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130227
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130130
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130115
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20131230
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20131218
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20131211
-packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 26)
#elif PACKETVER >= 20131204
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20131127
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20131106
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20131030
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20131008
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130925
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130917
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130904
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130814
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130807
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130724
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130717
-packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 5)
#elif PACKETVER >= 20130626
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130618
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130605
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130522
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130417
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130410
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130403
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130320
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130313
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130227
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130206
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130130
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130121
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130109
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130103
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20131211
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20131204
-packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 26)
#elif PACKETVER >= 20131127
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20131120
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20131023
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20131016
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20130731
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130724
-packetLen(0x085a, 18) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 18)
#elif PACKETVER >= 20130605
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130529
-packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 12)
#elif PACKETVER >= 20130508
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130502
-packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 4)
#elif PACKETVER >= 20130327
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130320
-packetLen(0x085a, 90) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 90)
#elif PACKETVER >= 20130306
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130227
-packetLen(0x085a, 10) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 10)
#elif PACKETVER >= 20130130
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130121
-packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 4)
#elif PACKETVER >= 20130103
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20131030
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20131023
-packetLen(0x085b, 90) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 90)
#elif PACKETVER >= 20130313
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20130306
-packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 5)
#elif PACKETVER >= 20130103
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20131223
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20131218
-packetLen(0x085c, 36) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 36)
#elif PACKETVER >= 20130917
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20130911
-packetLen(0x085c, 26) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 26)
#elif PACKETVER >= 20130313
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20130306
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20131023
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20131016
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20131008
-packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 8)
#elif PACKETVER >= 20130327
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20130320
-packetLen(0x085d, 18) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 18)
#elif PACKETVER >= 20130215
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20130206
-packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 8)
#elif PACKETVER >= 20130130
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20130121
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20131016
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20131008
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20130731
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20130724
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20130605
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20130529
-packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 90)
#elif PACKETVER >= 20130103
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20131127
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20131120
-packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 10)
#elif PACKETVER >= 20130206
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20130130
-packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, -1)
#elif PACKETVER >= 20130103
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20131230
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20130731
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20130703
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0860, 8) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 8)
#elif PACKETVER >= 20130417
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 19)
#elif PACKETVER >= 20130313
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20130121
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20131211
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0862, 5) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 5)
#elif PACKETVER >= 20131030
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20130828
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20130724
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0862, 18) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 18)
#elif PACKETVER >= 20130626
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20130522
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 4)
#elif PACKETVER >= 20130103
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20131023
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20131008
-packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 26)
#elif PACKETVER >= 20130925
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0863, 8) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 8)
#elif PACKETVER >= 20130828
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 7)
#elif PACKETVER >= 20130807
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20130724
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 26)
#elif PACKETVER >= 20130605
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20130306
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20130121
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20131023
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 36)
#elif PACKETVER >= 20130626
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20131218
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20130807
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0865, 10) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 10)
#elif PACKETVER >= 20130417
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0865, 12) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 12)
#elif PACKETVER >= 20130103
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20131113
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20130115
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20131113
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 8)
#elif PACKETVER >= 20131023
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0867, 90) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 90)
#elif PACKETVER >= 20130731
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20130508
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20130306
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20130925
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 26)
#elif PACKETVER >= 20130911
-packetLen(0x0868, 18) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 18)
#elif PACKETVER >= 20130821
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0868, 12) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 12)
#elif PACKETVER >= 20130515
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0868, 36) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 36)
#elif PACKETVER >= 20130327
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20131211
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 10)
#elif PACKETVER >= 20130605
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, -1)
#elif PACKETVER >= 20130220
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20130731
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20130724
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20130529
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20130522
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20130103
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20130917
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20130911
-packetLen(0x086b, 36) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 36)
#elif PACKETVER >= 20130724
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20130717
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#elif PACKETVER >= 20130424
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20130417
-packetLen(0x086b, 19) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 19)
#elif PACKETVER >= 20130206
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20130130
-packetLen(0x086b, 4) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 4)
#elif PACKETVER >= 20130103
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20131211
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20131204
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20131016
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20131008
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20130724
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20130717
-packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 4)
#elif PACKETVER >= 20130417
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20130410
-packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 18)
#elif PACKETVER >= 20130130
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20130121
-packetLen(0x086c, 19) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 19)
#elif PACKETVER >= 20130103
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20131016
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20131008
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20131002
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20130925
-packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 36)
#elif PACKETVER >= 20130917
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20130911
-packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 8)
#elif PACKETVER >= 20130403
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20130327
-packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 18)
#elif PACKETVER >= 20130320
-packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 26)
#elif PACKETVER >= 20130313
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20130306
-packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 19)
#elif PACKETVER >= 20130103
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20131218
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20131211
-packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, -1)
#elif PACKETVER >= 20131030
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20131023
-packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, -1)
#elif PACKETVER >= 20131002
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20130925
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20130917
-packetLen(0x086e, 90) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 90)
#elif PACKETVER >= 20130828
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20130821
-packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, -1)
#elif PACKETVER >= 20130306
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20130227
-packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 4)
#elif PACKETVER >= 20130103
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20130925
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20130917
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20130327
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20130320
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20130220
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20130215
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20130103
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20131023
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20130508
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 26)
#elif PACKETVER >= 20130121
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20131230
-packetLen(0x0871, 7) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 7)
#elif PACKETVER >= 20130121
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0871, 26) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4493,1545 +4493,1545 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20131218
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 19)
#elif PACKETVER >= 20130821
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 8)
#elif PACKETVER >= 20130710
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 36)
#elif PACKETVER >= 20130403
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 19)
#elif PACKETVER >= 20130103
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20130821
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0874, 7) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 7)
#elif PACKETVER >= 20130731
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0874, 5) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 5)
#elif PACKETVER >= 20130605
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0874, 18) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 18)
#elif PACKETVER >= 20130522
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20130508
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20130327
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20130130
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20131113
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20131023
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20131002
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 5)
#elif PACKETVER >= 20130508
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0875, 26) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 26)
#elif PACKETVER >= 20130424
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20131030
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 10)
#elif PACKETVER >= 20131002
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0876, 8) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 8)
#elif PACKETVER >= 20130731
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0876, 7) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 7)
#elif PACKETVER >= 20130605
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20130215
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 4)
#elif PACKETVER >= 20130103
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20131211
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 19)
#elif PACKETVER >= 20130605
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 26)
#elif PACKETVER >= 20130508
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 8)
#elif PACKETVER >= 20130121
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20130807
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 7)
#elif PACKETVER >= 20130626
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 4)
#elif PACKETVER >= 20130515
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, -1)
#elif PACKETVER >= 20130403
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 12)
#elif PACKETVER >= 20130103
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20131211
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20130828
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0879, 12) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 12)
#elif PACKETVER >= 20130417
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20130121
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20130925
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20130917
-packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 6)
#elif PACKETVER >= 20130626
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20130618
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20130103
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20131230
-packetLen(0x087b, 12) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 12)
#elif PACKETVER >= 20131223
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20131218
-packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 4)
#elif PACKETVER >= 20130917
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20130911
-packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 4)
#elif PACKETVER >= 20130306
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20130227
-packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 26)
#elif PACKETVER >= 20130103
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20130508
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20130502
-packetLen(0x087c, 19) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 19)
#elif PACKETVER >= 20130417
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20130410
-packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 5)
#elif PACKETVER >= 20130121
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20130115
-packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20131106
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20131030
-packetLen(0x087d, 26) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 26)
#elif PACKETVER >= 20131002
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20130925
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20130417
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20130410
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20130206
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20130130
-packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20131230
-packetLen(0x087e, 4) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 4)
#elif PACKETVER >= 20130925
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20130917
-packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 10)
#elif PACKETVER >= 20130904
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20130828
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20130618
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20130612
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20130529
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20130522
-packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 8)
#elif PACKETVER >= 20130103
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20131230
-packetLen(0x087f, -1) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, -1)
#elif PACKETVER >= 20131211
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20131204
-packetLen(0x087f, 18) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 18)
#elif PACKETVER >= 20130206
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20130130
-packetLen(0x087f, -1) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, -1)
#elif PACKETVER >= 20130103
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20130717
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20130710
-packetLen(0x0880, 36) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20131218
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 4)
#elif PACKETVER >= 20131204
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 4)
#elif PACKETVER >= 20130828
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, -1)
#elif PACKETVER >= 20130327
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0881, 5) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 5)
#elif PACKETVER >= 20130313
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20131211
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0882, 26) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 26)
#elif PACKETVER >= 20130724
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0882, 10) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20131016
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 8)
#elif PACKETVER >= 20130612
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0883, 36) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 36)
#elif PACKETVER >= 20130215
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0883, 18) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 18)
#elif PACKETVER >= 20130103
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20131204
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20131120
-packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 10)
#elif PACKETVER >= 20131016
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 18)
#elif PACKETVER >= 20130807
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 36)
#elif PACKETVER >= 20130410
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 19)
#elif PACKETVER >= 20130130
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20131030
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20131016
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20131002
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20130821
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20130626
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20130403
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20130130
-packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20131218
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20130220
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20130206
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20130115
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20131113
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20131030
-packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 36)
#elif PACKETVER >= 20131023
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20131002
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 19)
#elif PACKETVER >= 20130821
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0887, 10) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 10)
#elif PACKETVER >= 20130807
-packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 36)
#elif PACKETVER >= 20130626
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 26)
#elif PACKETVER >= 20130522
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20130320
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20130206
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 90)
#elif PACKETVER >= 20130103
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20131023
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20130605
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 4)
#elif PACKETVER >= 20130508
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20130327
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 19)
#elif PACKETVER >= 20130121
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 12)
#elif PACKETVER >= 20130109
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20130917
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20130904
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 5)
#elif PACKETVER >= 20130821
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20130807
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0889, 4) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 4)
#elif PACKETVER >= 20130626
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 7)
#elif PACKETVER >= 20130508
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20130206
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20131030
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20131023
-packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, -1)
#elif PACKETVER >= 20130925
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20130917
-packetLen(0x088a, 36) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 36)
#elif PACKETVER >= 20130821
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20130814
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20130724
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20130717
-packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 5)
#elif PACKETVER >= 20130115
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20130109
-packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 19)
#elif PACKETVER >= 20130103
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20131030
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20131023
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20131016
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20130807
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20130731
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20130703
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20130626
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20130515
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20130508
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20130121
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20130115
-packetLen(0x088b, 90) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 90)
#elif PACKETVER >= 20130103
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20131127
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20131120
-packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 19)
#elif PACKETVER >= 20131113
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20130821
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20130814
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20130724
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20130717
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20130703
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20130626
-packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 19)
#elif PACKETVER >= 20130417
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20130410
-packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 36)
#elif PACKETVER >= 20130103
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20131204
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20131127
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20131120
-packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 26)
#elif PACKETVER >= 20130828
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20130821
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20130417
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20130410
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20130626
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20130618
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20130605
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20130529
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20130522
-packetLen(0x088e, 36) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 36)
#elif PACKETVER >= 20130327
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20130320
-packetLen(0x088e, 7) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 7)
#elif PACKETVER >= 20130115
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20130109
-packetLen(0x088e, 12) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 12)
#elif PACKETVER >= 20130103
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20131120
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20131113
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20131030
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20131023
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20131002
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20130925
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20130828
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20130821
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20130703
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20130626
-packetLen(0x088f, 4) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 4)
#elif PACKETVER >= 20130403
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20130327
-packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 10)
#elif PACKETVER >= 20130103
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20131023
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20131002
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20130626
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0890, 12) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 12)
#elif PACKETVER >= 20130605
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 7)
#elif PACKETVER >= 20130417
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20130327
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 4)
#elif PACKETVER >= 20130313
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20131113
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20130917
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20130731
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20130626
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20130417
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20130403
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20130115
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20131218
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 8)
#elif PACKETVER >= 20130828
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20130115
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20131113
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 18)
#elif PACKETVER >= 20130904
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 36)
#elif PACKETVER >= 20130731
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0893, 19) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 19)
#elif PACKETVER >= 20130515
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 18)
#elif PACKETVER >= 20130306
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20130130
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20131204
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0894, 36) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 36)
#elif PACKETVER >= 20131113
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20131023
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0894, 12) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 12)
#elif PACKETVER >= 20130807
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, -1)
#elif PACKETVER >= 20130703
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 18)
#elif PACKETVER >= 20130121
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20131230
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20130925
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20130821
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20130807
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20130703
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20130605
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20130515
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 19)
#elif PACKETVER >= 20130121
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20131016
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 90)
#elif PACKETVER >= 20130821
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20130807
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20130724
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20130605
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20130515
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20130327
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20131230
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20130724
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20130327
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20130313
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0898, 7) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 7)
#elif PACKETVER >= 20130227
-packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20130403
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20131120
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20131113
-packetLen(0x089a, 19) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 19)
#elif PACKETVER >= 20130206
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20130130
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20130103
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20130724
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20130717
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20130529
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20130522
-packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 18)
#elif PACKETVER >= 20130327
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20130320
-packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 10)
#elif PACKETVER >= 20130103
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20131230
-packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 19)
#elif PACKETVER >= 20131016
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20131008
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20130731
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20130724
-packetLen(0x089c, 10) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 10)
#elif PACKETVER >= 20130529
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20130522
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20130417
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20130410
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20130925
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20130917
-packetLen(0x089d, 19) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 19)
#elif PACKETVER >= 20130103
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20131204
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20131127
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20131120
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20130904
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20130828
-packetLen(0x089e, 10) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 10)
#elif PACKETVER >= 20130417
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20130410
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20130220
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20130215
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20130103
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20130904
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20130828
-packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 5)
#elif PACKETVER >= 20130313
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20130306
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20130220
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20130215
-packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 4)
#elif PACKETVER >= 20130206
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20130130
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20130103
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20131211
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20131204
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20130925
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20130917
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20130417
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20130410
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20130215
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20130206
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20130130
-packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 10)
#elif PACKETVER >= 20130121
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20130115
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20130103
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20131127
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20131120
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20130522
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20130515
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20130508
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20130502
-packetLen(0x08a1, 18) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 18)
#elif PACKETVER >= 20130403
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20130327
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20130306
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20130227
-packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 8)
#elif PACKETVER >= 20130103
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20131113
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20131106
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20131030
-packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 4)
#elif PACKETVER >= 20130925
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20130917
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20130529
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08a2, 7) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 7)
#elif PACKETVER >= 20130403
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20130327
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20130115
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20130109
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20131218
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20131211
-packetLen(0x08a3, 18) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 18)
#elif PACKETVER >= 20130904
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20130828
-packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, -1)
#elif PACKETVER >= 20130529
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 8)
#elif PACKETVER >= 20130508
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20130502
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20131230
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20131223
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
#elif PACKETVER >= 20131218
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20131211
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20131204
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20131127
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20131120
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
#elif PACKETVER >= 20131113
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20130917
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130911
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20130821
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130814
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20130417
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130410
-packetLen(0x08a4, 90) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 90)
#elif PACKETVER >= 20130313
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130306
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20130206
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130130
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20130121
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130115
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20130103
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20130703
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20130626
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20130410
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20130403
-packetLen(0x08a5, 4) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 4)
#elif PACKETVER >= 20130103
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20130724
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20130717
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20130626
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20130618
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20130529
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20131211
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20131204
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20131030
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20131023
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20130626
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20130618
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20130605
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20130529
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20131127
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20131120
-packetLen(0x08a8, 7) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 7)
#elif PACKETVER >= 20131113
-packetLen(0x08a8, 8) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 8)
#elif PACKETVER >= 20130925
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20130917
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20130605
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20130529
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20130103
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20131230
-packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 26)
#elif PACKETVER >= 20131016
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20131008
-packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 10)
#elif PACKETVER >= 20130724
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20130717
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20130529
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 19)
#elif PACKETVER >= 20130206
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20130130
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20130103
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20130724
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20130717
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20130522
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20130515
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20130115
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20130109
-packetLen(0x08aa, 4) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 4)
#elif PACKETVER >= 20130103
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20131223
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20131218
-packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 26)
#elif PACKETVER >= 20131211
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20131030
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20131023
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20130731
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20130724
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20130703
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20130626
-packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 26)
#elif PACKETVER >= 20130515
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20130508
-packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 26)
#elif PACKETVER >= 20130103
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20131030
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20131023
-packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 19)
#elif PACKETVER >= 20130904
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130828
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20130529
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 4)
#elif PACKETVER >= 20130515
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20130327
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130320
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20130313
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130306
-packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 4)
#elif PACKETVER >= 20130215
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130206
-packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 19)
#elif PACKETVER >= 20130121
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130115
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20130103
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20131211
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20131204
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20130828
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20130821
-packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 4)
#elif PACKETVER >= 20130220
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20130215
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 146)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08e5
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+packetLen(0x08e5, 41)
#endif
// Packet: 0x08e6
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+packetLen(0x08e6, 4)
#endif
// Packet: 0x08e7
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+packetLen(0x08e7, 10)
#endif
// Packet: 0x08e8
@@ -6045,70 +6045,70 @@ packetLen(0x08e8, -1)
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+packetLen(0x08e9, 2)
#endif
// Packet: 0x08ea
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+packetLen(0x08ea, 4)
#endif
// Packet: 0x08eb
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+packetLen(0x08eb, 39)
#endif
// Packet: 0x08ec
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+packetLen(0x08ec, 73)
#endif
// Packet: 0x08ed
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+packetLen(0x08ed, 43)
#endif
// Packet: 0x08ee
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+packetLen(0x08ee, 6)
#endif
// Packet: 0x08ef
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x08ef, 6)
#endif
// Packet: 0x08f0
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x08f0, 6)
#endif
// Packet: 0x08f1
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+packetLen(0x08f1, 6)
#endif
// Packet: 0x08f2
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+packetLen(0x08f2, 36)
#endif
// Packet: 0x08f3
@@ -6122,2754 +6122,2754 @@ packetLen(0x08f3, -1)
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+packetLen(0x08f4, 6)
#endif
// Packet: 0x08f5
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+packetLen(0x08f5, -1)
#endif
// Packet: 0x08f6
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+packetLen(0x08f6, 22)
#endif
// Packet: 0x08f7
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, 3)
#endif
// Packet: 0x08f8
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+packetLen(0x08f8, 7)
#endif
// Packet: 0x08f9
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08f9, 6)
#endif
// Packet: 0x08fa
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08fa, 6)
#endif
// Packet: 0x08fb
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x08fb, 6)
#endif
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x0909
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x0909, 6)
#endif
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090b
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x090b, 30)
#endif
// Packet: 0x090c
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x090c, 30)
#endif
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20131127
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 6)
#elif PACKETVER >= 20131016
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20130904
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0917, 18) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 18)
#elif PACKETVER >= 20130724
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 6)
#elif PACKETVER >= 20130626
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 10)
#elif PACKETVER >= 20130417
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 26)
#elif PACKETVER >= 20130313
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20130925
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 5)
#elif PACKETVER >= 20130724
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0918, 7) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 7)
#elif PACKETVER >= 20130605
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0918, -1) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, -1)
#elif PACKETVER >= 20130121
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0918, 10) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 10)
#elif PACKETVER >= 20130109
-packetLen(0x0918, 26) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20131030
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20130612
-packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 19)
#elif PACKETVER >= 20130605
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 19)
#elif PACKETVER >= 20130103
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20131023
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20131016
-packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, -1)
#elif PACKETVER >= 20130206
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20130130
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20130103
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20130306
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20130227
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20130115
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20130109
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20130103
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20131120
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20131113
-packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 8)
#elif PACKETVER >= 20131016
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20131008
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20130925
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20130917
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20131230
-packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 36)
#elif PACKETVER >= 20131113
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20131106
-packetLen(0x091d, 90) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 90)
#elif PACKETVER >= 20131030
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20131023
-packetLen(0x091d, 12) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 12)
#elif PACKETVER >= 20130828
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20130821
-packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 5)
#elif PACKETVER >= 20130724
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20130717
-packetLen(0x091d, 19) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 19)
#elif PACKETVER >= 20130417
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20130410
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20130103
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20131230
-packetLen(0x091e, 10) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 10)
#elif PACKETVER >= 20131023
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20131016
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20130925
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20130917
-packetLen(0x091e, 4) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 4)
#elif PACKETVER >= 20130911
-packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 5)
#elif PACKETVER >= 20130904
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20130828
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20130724
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20130717
-packetLen(0x091e, 10) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 10)
#elif PACKETVER >= 20130313
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20130306
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20130103
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20131230
-packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 18)
#elif PACKETVER >= 20131211
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20131204
-packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 5)
#elif PACKETVER >= 20131023
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20131016
-packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 5)
#elif PACKETVER >= 20130403
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20130327
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20130306
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20130227
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20130130
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20130121
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20130103
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20131120
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0920, 12) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 12)
#elif PACKETVER >= 20130320
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0920, 36) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 36)
#elif PACKETVER >= 20130215
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20130925
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20130731
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 90)
#elif PACKETVER >= 20130703
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20130327
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20130115
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20131030
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0923, 7) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 7)
#elif PACKETVER >= 20130925
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20130904
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0923, 10) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 10)
#elif PACKETVER >= 20130821
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20130814
-packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 6)
#elif PACKETVER >= 20130807
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0923, 18) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 18)
#elif PACKETVER >= 20130220
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20131030
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20130904
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20130731
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20130306
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0924, 90) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 90)
#elif PACKETVER >= 20130206
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20131106
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 5)
#elif PACKETVER >= 20130807
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 10)
#elif PACKETVER >= 20130529
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 5)
#elif PACKETVER >= 20130215
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20131230
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20131127
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0926, -1) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, -1)
#elif PACKETVER >= 20131113
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20130821
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20130410
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20130313
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0926, 36) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20131127
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 8)
#elif PACKETVER >= 20131113
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20131023
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0927, 12) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 12)
#elif PACKETVER >= 20130821
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20130731
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20130115
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0927, 90) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 90)
#elif PACKETVER >= 20130103
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20131211
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0928, 7) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 7)
#elif PACKETVER >= 20131120
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0928, 36) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 36)
#elif PACKETVER >= 20130904
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, -1)
#elif PACKETVER >= 20130121
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20131120
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 6)
#elif PACKETVER >= 20131106
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20130904
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20130424
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0929, 5) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20131230
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20130103
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20131218
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20131211
-packetLen(0x092b, 36) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 36)
#elif PACKETVER >= 20131127
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20131120
-packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 5)
#elif PACKETVER >= 20131113
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20130807
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20130731
-packetLen(0x092b, 19) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 19)
#elif PACKETVER >= 20130724
-packetLen(0x092b, 26) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 26)
#elif PACKETVER >= 20130403
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20130327
-packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 5)
#elif PACKETVER >= 20130306
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20130227
-packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, -1)
#elif PACKETVER >= 20130103
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20131120
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20131113
-packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 26)
#elif PACKETVER >= 20130103
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20131211
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20131204
-packetLen(0x092d, 10) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 10)
#elif PACKETVER >= 20131120
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20131113
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20130828
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130821
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20130807
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130731
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20130522
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130515
-packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 18)
#elif PACKETVER >= 20130508
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20130403
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130327
-packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 26)
#elif PACKETVER >= 20130320
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130313
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20130121
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130115
-packetLen(0x092d, 19) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 19)
#elif PACKETVER >= 20130103
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20131120
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20131113
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20130731
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20130724
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20130403
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20130327
-packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 4)
#elif PACKETVER >= 20130121
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20130115
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20130103
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20131223
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20131218
-packetLen(0x092f, 19) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 19)
#elif PACKETVER >= 20131211
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20131204
-packetLen(0x092f, 5) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 5)
#elif PACKETVER >= 20131120
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20131113
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20130724
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20130717
-packetLen(0x092f, 26) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 26)
#elif PACKETVER >= 20130403
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20130327
-packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 8)
#elif PACKETVER >= 20130306
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20130227
-packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, -1)
#elif PACKETVER >= 20130103
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20131204
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0930, 18) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 18)
#elif PACKETVER >= 20130904
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20130710
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20130626
-packetLen(0x0930, 36) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 36)
#elif PACKETVER >= 20130618
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20130115
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20131218
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0931, 8) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 8)
#elif PACKETVER >= 20130522
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 5)
#elif PACKETVER >= 20130115
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20131016
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 10)
#elif PACKETVER >= 20130626
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20130417
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0933, 10) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 10)
#elif PACKETVER >= 20130403
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20131120
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0934, 18) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 18)
#elif PACKETVER >= 20131016
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 6)
#elif PACKETVER >= 20130925
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0934, 12) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 12)
#elif PACKETVER >= 20130313
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20131113
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20131030
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#elif PACKETVER >= 20130807
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20131120
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20131016
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 6)
#elif PACKETVER >= 20130821
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0936, -1) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, -1)
#elif PACKETVER >= 20130626
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 8)
#elif PACKETVER >= 20130605
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0936, -1) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 12)
#elif PACKETVER >= 20130103
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20131030
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20130911
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 26)
#elif PACKETVER >= 20130821
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20130605
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 8)
#elif PACKETVER >= 20130403
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 8)
#elif PACKETVER >= 20130320
-packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, -1)
#elif PACKETVER >= 20130115
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20130417
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0939, 7) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 7)
#elif PACKETVER >= 20130403
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20130121
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20131204
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20131127
-packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 26)
#elif PACKETVER >= 20130917
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20130911
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20130904
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20130821
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20130814
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20130618
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20130612
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20130215
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20130206
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20130130
-packetLen(0x093a, 36) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 36)
#elif PACKETVER >= 20130103
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20131211
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20131204
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20131113
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20131106
-packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 6)
#elif PACKETVER >= 20130724
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20130717
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20130103
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20131120
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20131113
-packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 5)
#elif PACKETVER >= 20131016
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20131008
-packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 5)
#elif PACKETVER >= 20130215
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20130206
-packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 26)
#elif PACKETVER >= 20130103
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20131230
-packetLen(0x093d, -1) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, -1)
#elif PACKETVER >= 20130417
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20130410
-packetLen(0x093d, 8) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 8)
#elif PACKETVER >= 20130206
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20130130
-packetLen(0x093d, -1) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, -1)
#elif PACKETVER >= 20130103
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20131230
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20131127
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20131120
-packetLen(0x093e, 90) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 90)
#elif PACKETVER >= 20130828
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20130821
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20130529
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20130522
-packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 12)
#elif PACKETVER >= 20130515
-packetLen(0x093e, 36) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 36)
#elif PACKETVER >= 20130115
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20130109
-packetLen(0x093e, 18) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 18)
#elif PACKETVER >= 20130103
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20131127
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20131120
-packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, -1)
#elif PACKETVER >= 20130327
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20130320
-packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 5)
#elif PACKETVER >= 20130103
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20131204
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20131120
-packetLen(0x0940, 4) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 4)
#elif PACKETVER >= 20131008
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 5)
#elif PACKETVER >= 20130925
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20130917
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20130612
-packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 26)
#elif PACKETVER >= 20130130
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20130109
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 19)
#endif
// Packet: 0x0941
#if PACKETVER >= 20131211
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20130807
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20130220
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20131113
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0942, 10) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 10)
#elif PACKETVER >= 20130626
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0942, -1) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, -1)
#elif PACKETVER >= 20130410
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20131230
-packetLen(0x0943, 26) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 26)
#elif PACKETVER >= 20130522
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0943, 19) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 19)
#elif PACKETVER >= 20130313
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0943, 10) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20131030
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20130904
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 26)
#elif PACKETVER >= 20130626
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20130522
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20130508
-packetLen(0x0944, 4) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 4)
#elif PACKETVER >= 20130417
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0944, 4) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 4)
#elif PACKETVER >= 20130313
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20130626
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20130417
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20131113
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20131023
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0946, 18) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 18)
#elif PACKETVER >= 20130904
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 4)
#elif PACKETVER >= 20130313
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20130227
-packetLen(0x0946, 8) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 8)
#elif PACKETVER >= 20130121
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20131223
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 5)
#elif PACKETVER >= 20131113
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0947, 7) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 7)
#elif PACKETVER >= 20131016
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20130821
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 10)
#elif PACKETVER >= 20130522
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0947, 26) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 26)
#elif PACKETVER >= 20130327
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20130313
-packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 19)
#elif PACKETVER >= 20130103
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20131113
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0948, 4) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 4)
#elif PACKETVER >= 20130917
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20131230
-packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 5)
#elif PACKETVER >= 20131120
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20131230
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20131030
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20131023
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20130904
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130828
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20130731
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130724
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20130710
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130703
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20130403
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130327
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20130313
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130306
-packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 18)
#elif PACKETVER >= 20130103
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20130403
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20130327
-packetLen(0x094b, 36) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 36)
#elif PACKETVER >= 20130227
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20130220
-packetLen(0x094b, 36) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 36)
#elif PACKETVER >= 20130121
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20130115
-packetLen(0x094b, 18) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 18)
#elif PACKETVER >= 20130103
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20131218
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20131211
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20131204
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20131127
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20130925
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130917
-packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 18)
#elif PACKETVER >= 20130904
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130828
-packetLen(0x094c, -1) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, -1)
#elif PACKETVER >= 20130807
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130731
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20130327
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130320
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20130121
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130115
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20130703
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20130626
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20130515
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20130508
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20130925
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20130917
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20130327
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20130320
-packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, -1)
#elif PACKETVER >= 20130313
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20130306
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20130121
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20130115
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20130103
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20131204
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20131127
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20130904
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130828
-packetLen(0x094f, 7) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 7)
#elif PACKETVER >= 20130626
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130618
-packetLen(0x094f, 90) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 90)
#elif PACKETVER >= 20130403
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130327
-packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 26)
#elif PACKETVER >= 20130130
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130121
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20130115
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130109
-packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, -1)
#elif PACKETVER >= 20130103
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20131127
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20131106
-packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, -1)
#elif PACKETVER >= 20130529
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 26)
#elif PACKETVER >= 20130410
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 26)
#elif PACKETVER >= 20130215
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0950, 8) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 8)
#elif PACKETVER >= 20130115
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0950, 36) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20131211
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20131030
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20130626
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0951, 10) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 10)
#elif PACKETVER >= 20130605
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 5)
#elif PACKETVER >= 20130313
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20130227
-packetLen(0x0951, 10) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 10)
#elif PACKETVER >= 20130115
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20131016
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 6)
#elif PACKETVER >= 20130724
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20130703
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0952, -1) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20131127
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 26)
#elif PACKETVER >= 20130731
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0953, 5) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 5)
#elif PACKETVER >= 20130626
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20131113
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0954, 12) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 12)
#elif PACKETVER >= 20131030
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 8)
#elif PACKETVER >= 20131016
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, -1)
#elif PACKETVER >= 20130828
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0954, 10) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 10)
#elif PACKETVER >= 20130731
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20131127
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20130417
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0955, 10) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 10)
#elif PACKETVER >= 20130403
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0955, 7) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20131127
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 5)
#elif PACKETVER >= 20131016
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#elif PACKETVER >= 20130911
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 36)
#elif PACKETVER >= 20130807
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 26)
#elif PACKETVER >= 20130724
-packetLen(0x0956, 12) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 12)
#elif PACKETVER >= 20130717
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20130605
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 36)
#elif PACKETVER >= 20130220
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 26)
#elif PACKETVER >= 20130206
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0956, 19) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 19)
#elif PACKETVER >= 20130121
-packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20130925
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0957, 10) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 10)
#elif PACKETVER >= 20130807
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20130515
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20130206
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 12)
#elif PACKETVER >= 20130103
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20131211
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20131002
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20130821
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20130807
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20130724
-packetLen(0x0958, 10) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 10)
#elif PACKETVER >= 20130717
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20131211
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0959, 90) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 90)
#elif PACKETVER >= 20130925
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, -1)
#elif PACKETVER >= 20130821
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0959, 18) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 18)
#elif PACKETVER >= 20130327
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0959, 10) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20131002
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20130925
-packetLen(0x095a, 18) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 18)
#elif PACKETVER >= 20130327
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20130320
-packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 8)
#elif PACKETVER >= 20130121
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20130115
-packetLen(0x095a, 36) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 36)
#elif PACKETVER >= 20130103
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20131211
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20131204
-packetLen(0x095b, 12) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 12)
#elif PACKETVER >= 20131030
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20131023
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20131002
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130925
-packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, -1)
#elif PACKETVER >= 20130917
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20130807
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130731
-packetLen(0x095b, 90) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 90)
#elif PACKETVER >= 20130724
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130717
-packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 36)
#elif PACKETVER >= 20130626
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130618
-packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 19)
#elif PACKETVER >= 20130529
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130522
-packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, -1)
#elif PACKETVER >= 20130306
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130227
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20130206
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130130
-packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 18)
#elif PACKETVER >= 20130121
-packetLen(0x095b, 26) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 26)
#elif PACKETVER >= 20130103
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20131204
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20131127
-packetLen(0x095c, 19) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 19)
#elif PACKETVER >= 20131002
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130925
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20130731
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130724
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20130529
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130522
-packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 10)
#elif PACKETVER >= 20130515
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130508
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20130206
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130130
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20130103
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20131120
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20131113
-packetLen(0x095d, 7) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 7)
#elif PACKETVER >= 20131106
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20131016
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20131008
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20130904
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20130828
-packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 5)
#elif PACKETVER >= 20130807
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20130731
-packetLen(0x095d, 12) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 12)
#elif PACKETVER >= 20130724
-packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 8)
#elif PACKETVER >= 20130220
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20130215
-packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20131127
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20131120
-packetLen(0x095e, 18) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 18)
#elif PACKETVER >= 20131023
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20131016
-packetLen(0x095e, 10) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 10)
#elif PACKETVER >= 20130828
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20130821
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20130529
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20130522
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20130306
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20130227
-packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 36)
#elif PACKETVER >= 20130115
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20130109
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20130103
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20131120
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20131113
-packetLen(0x095f, 10) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 10)
#elif PACKETVER >= 20130821
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20130814
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20130807
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20130731
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20130103
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20131120
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 8)
#elif PACKETVER >= 20130724
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0960, 12) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 12)
#elif PACKETVER >= 20130703
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20130417
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 26)
#elif PACKETVER >= 20130403
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0960, 10) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 10)
#elif PACKETVER >= 20130313
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20131211
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0961, 4) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 4)
#elif PACKETVER >= 20130508
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 8)
#elif PACKETVER >= 20130403
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20131113
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0962, -1) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, -1)
#elif PACKETVER >= 20131023
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0962, 7) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 7)
#elif PACKETVER >= 20130828
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20130814
-packetLen(0x0962, 90) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 90)
#elif PACKETVER >= 20130807
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20130626
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20130522
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20130424
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 5)
#elif PACKETVER >= 20130313
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20130220
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20130522
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0963, -1) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, -1)
#elif PACKETVER >= 20130130
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20131120
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0964, 4) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 4)
#elif PACKETVER >= 20130828
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20130612
-packetLen(0x0964, 36) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 36)
#elif PACKETVER >= 20130529
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0964, 90) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 90)
#elif PACKETVER >= 20130103
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20130731
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, -1)
#elif PACKETVER >= 20130529
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0965, 8) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20131023
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20130904
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20130731
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20131211
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20131127
-packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 26)
#elif PACKETVER >= 20131113
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20130917
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20130828
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0967, 18) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 18)
#elif PACKETVER >= 20130724
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20130508
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20130417
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20130403
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0967, 7) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20131230
-packetLen(0x0968, 8) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20131230
-packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 6)
#elif PACKETVER >= 20131120
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20131016
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20131002
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0969, 4) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 4)
#elif PACKETVER >= 20130828
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20130502
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20130424
-packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 36)
#elif PACKETVER >= 20130417
-packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 6)
#elif PACKETVER >= 20130130
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20131230
-packetLen(0x096a, 90) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 90)
#elif PACKETVER >= 20131211
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20131204
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20131127
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20131106
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20131030
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20131008
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130925
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130917
-packetLen(0x096a, 26) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 26)
#elif PACKETVER >= 20130911
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20130904
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130828
-packetLen(0x096a, 19) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 19)
#elif PACKETVER >= 20130814
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130807
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130717
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130626
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130618
-packetLen(0x096a, 10) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 10)
#elif PACKETVER >= 20130605
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130522
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130508
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130502
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130424
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130417
-packetLen(0x096a, 4) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 4)
#elif PACKETVER >= 20130403
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130320
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130313
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130227
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130206
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130130
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130121
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130109
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130103
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
#if PACKETVER >= 20130115
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0987, 63) // CA_LOGIN6
+packetLen(0x0987, 63)
#endif
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
#if PACKETVER >= 20130130
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
#endif
// Packet: 0x09a3
#if PACKETVER >= 20130130
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
#endif
// Packet: 0x09a4
#if PACKETVER >= 20130206
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
#endif
// Packet: 0x09a5
#if PACKETVER >= 20130220
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
#endif
// Packet: 0x09a6
#if PACKETVER >= 20130306
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
#endif
// Packet: 0x09a7
#if PACKETVER >= 20130320
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
#elif PACKETVER >= 20130306
-packetLen(0x09a7, 14) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 14)
#endif
// Packet: 0x09a8
#if PACKETVER >= 20130515
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
#elif PACKETVER >= 20130320
-packetLen(0x09a8, 12) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 12)
#elif PACKETVER >= 20130306
-packetLen(0x09a8, 4) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 4)
#endif
// Packet: 0x09a9
#if PACKETVER >= 20130320
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
#elif PACKETVER >= 20130306
-packetLen(0x09a9, 14) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 14)
#endif
// Packet: 0x09aa
#if PACKETVER >= 20130515
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
#elif PACKETVER >= 20130320
-packetLen(0x09aa, 12) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 12)
#elif PACKETVER >= 20130306
-packetLen(0x09aa, 4) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 4)
#endif
// Packet: 0x09ab
#if PACKETVER >= 20130320
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
#elif PACKETVER >= 20130313
-packetLen(0x09ab, -1) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, -1)
#endif
// Packet: 0x09ac
#if PACKETVER >= 20130327
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09ac, 20) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, 20)
#endif
// Packet: 0x09ad
#if PACKETVER >= 20130327
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09ad, 6) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 6)
#endif
// Packet: 0x09ae
#if PACKETVER >= 20130327
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09ae, -1) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, -1)
#endif
// Packet: 0x09af
#if PACKETVER >= 20130327
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09af, -1) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, -1)
#endif
// Packet: 0x09b0
#if PACKETVER >= 20130327
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
#endif
// Packet: 0x09b1
#if PACKETVER >= 20130327
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09b1, 6) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 6)
#endif
// Packet: 0x09b2
#if PACKETVER >= 20130605
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
#elif PACKETVER >= 20130327
-packetLen(0x09b2, 6) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 6)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09b2, -1) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, -1)
#endif
// Packet: 0x09b3
#if PACKETVER >= 20130605
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
#elif PACKETVER >= 20130327
-packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 6)
#endif
// Packet: 0x09b4
#if PACKETVER >= 20130417
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
#endif
// Packet: 0x09b5
#if PACKETVER >= 20130417
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
#endif
// Packet: 0x09b6
#if PACKETVER >= 20130417
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
#endif
// Packet: 0x09b7
#if PACKETVER >= 20130417
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
#endif
// Packet: 0x09b8
#if PACKETVER >= 20130417
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
#endif
// Packet: 0x09b9
#if PACKETVER >= 20130417
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
#endif
// Packet: 0x09ba
#if PACKETVER >= 20130828
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
#elif PACKETVER >= 20130424
-packetLen(0x09ba, 6) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 6)
#endif
// Packet: 0x09bb
#if PACKETVER >= 20130502
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
#elif PACKETVER >= 20130424
-packetLen(0x09bb, 4) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 4)
#endif
// Packet: 0x09bc
#if PACKETVER >= 20130424
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
#endif
// Packet: 0x09bd
#if PACKETVER >= 20130424
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
#endif
// Packet: 0x09be
#if PACKETVER >= 20130828
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
#elif PACKETVER >= 20130502
-packetLen(0x09be, 6) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 6)
#endif
// Packet: 0x09bf
#if PACKETVER >= 20130502
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
#endif
// Packet: 0x09c0
#if PACKETVER >= 20130618
// removed
#elif PACKETVER >= 20130515
-packetLen(0x09c0, 11) // ZC_ACTION_MOVE
+packetLen(0x09c0, 11)
#endif
// Packet: 0x09c1
#if PACKETVER >= 20130717
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
#elif PACKETVER >= 20130515
-packetLen(0x09c1, 11) // ZC_C_MARKERINFO
+packetLen(0x09c1, 11)
#endif
// Packet: 0x09c2
#if PACKETVER >= 20130522
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
#endif
// Packet: 0x09c3
#if PACKETVER >= 20130529
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
#endif
// Packet: 0x09c4
#if PACKETVER >= 20130605
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
#endif
// Packet: 0x09c5
#if PACKETVER >= 20130605
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
#endif
// Packet: 0x09c6
#if PACKETVER >= 20130605
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
#endif
// Packet: 0x09c7
#if PACKETVER >= 20130612
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
#elif PACKETVER >= 20130605
-packetLen(0x09c7, 10) // SC_LOGIN_ERROR
+packetLen(0x09c7, 10)
#endif
// Packet: 0x09c8
#if PACKETVER >= 20130605
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
#endif
// Packet: 0x09c9
#if PACKETVER >= 20130612
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
#endif
// Packet: 0x09ca
#if PACKETVER >= 20130828
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
#elif PACKETVER >= 20130618
-packetLen(0x09ca, 23) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, 23)
#endif
// Packet: 0x09cb
#if PACKETVER >= 20130717
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
#endif
// Packet: 0x09cc
#if PACKETVER >= 20130717
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
#endif
// Packet: 0x09cd
#if PACKETVER >= 20130807
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
#endif
// Packet: 0x09ce
#if PACKETVER >= 20130814
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
#endif
// Packet: 0x09cf
#if PACKETVER >= 20130814
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
#endif
// Packet: 0x09d0
#if PACKETVER >= 20130814
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
#endif
// Packet: 0x09d1
#if PACKETVER >= 20130821
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
#endif
// Packet: 0x09d2
#if PACKETVER >= 20130828
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
#endif
// Packet: 0x09d3
#if PACKETVER >= 20130828
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
#endif
// Packet: 0x09d4
#if PACKETVER >= 20130911
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
#endif
// Packet: 0x09d5
#if PACKETVER >= 20130911
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
#endif
// Packet: 0x09d6
#if PACKETVER >= 20130911
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
#endif
// Packet: 0x09d7
#if PACKETVER >= 20130911
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
#endif
// Packet: 0x09d8
#if PACKETVER >= 20130911
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
#endif
// Packet: 0x09d9
#if PACKETVER >= 20131023
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
#elif PACKETVER >= 20131016
-packetLen(0x09d9, 6) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 6)
#elif PACKETVER >= 20131002
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
#elif PACKETVER >= 20130911
-packetLen(0x09d9, 2) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 2)
#endif
// Packet: 0x09da
#if PACKETVER >= 20131002
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
#elif PACKETVER >= 20130925
-packetLen(0x09da, 10) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, 10)
#elif PACKETVER >= 20130911
-packetLen(0x09da, 2) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, 2)
#endif
// Packet: 0x09db
#if PACKETVER >= 20131023
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
#endif
// Packet: 0x09dc
#if PACKETVER >= 20131023
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
#endif
// Packet: 0x09dd
#if PACKETVER >= 20131023
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
#endif
// Packet: 0x09de
#if PACKETVER >= 20131030
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
#endif
// Packet: 0x09df
#if PACKETVER >= 20131030
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
#endif
// Packet: 0x09e0
#if PACKETVER >= 20131030
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
#endif
// Packet: 0x09e1
#if PACKETVER >= 20131106
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
#endif
// Packet: 0x09e2
#if PACKETVER >= 20131106
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
#endif
// Packet: 0x09e3
#if PACKETVER >= 20131106
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
#endif
// Packet: 0x09e4
#if PACKETVER >= 20131106
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
#endif
// Packet: 0x09e5
#if PACKETVER >= 20131127
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
#elif PACKETVER >= 20131120
-packetLen(0x09e5, 14) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 14)
#endif
// Packet: 0x09e6
#if PACKETVER >= 20131127
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
#elif PACKETVER >= 20131120
-packetLen(0x09e6, 18) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 18)
#endif
// Packet: 0x09e7
#if PACKETVER >= 20131211
-packetLen(0x09e7, 2) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 2)
#endif
// Packet: 0x09e8
#if PACKETVER >= 20131218
-packetLen(0x09e8, 10) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 10)
#elif PACKETVER >= 20131211
-packetLen(0x09e8, 18) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 18)
#endif
// Packet: 0x09e9
#if PACKETVER >= 20131211
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
#endif
// Packet: 0x09ea
#if PACKETVER >= 20131223
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
#elif PACKETVER >= 20131218
-packetLen(0x09ea, 10) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 10)
#endif
// Packet: 0x09eb
#if PACKETVER >= 20131230
-packetLen(0x09eb, 23) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, 23)
#elif PACKETVER >= 20131223
-packetLen(0x09eb, 24) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, 24)
#elif PACKETVER >= 20131218
-packetLen(0x09eb, 14) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, 14)
#endif
// Packet: 0x09ec
#if PACKETVER >= 20131230
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
#endif
// Packet: 0x09ed
#if PACKETVER >= 20131230
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
#elif PACKETVER >= 20131218
// removed
#elif PACKETVER >= 20131211
-packetLen(0x09ed, -1) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, -1)
#endif
// Packet: 0x09ee
#if PACKETVER >= 20131218
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
#elif PACKETVER >= 20131211
-packetLen(0x09ee, -1) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, -1)
#endif
// Packet: 0x09ef
#if PACKETVER >= 20131218
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
#endif
// Packet: 0x09f0
#if PACKETVER >= 20131218
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
#endif
// Packet: 0x09f5
#if PACKETVER >= 20131218
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
#endif
// Packet: 0x09f6
#if PACKETVER >= 20131218
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
#endif
// Packet: 0x09f7
#if PACKETVER >= 20131230
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
#endif
diff --git a/src/common/packets/packets2013_len_re.h b/src/common/packets/packets2013_len_re.h
index 2c7951f7b..021a7ef4d 100644
--- a/src/common/packets/packets2013_len_re.h
+++ b/src/common/packets/packets2013_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4519 +25,4519 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 146)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20131230
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20131016
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20131002
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130828
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20130814
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20130807
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130717
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130710
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130703
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20130612
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130502
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130424
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130417
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20130227
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20130109
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20131230
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20131223
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20131106
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20131030
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20131023
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20131016
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20131008
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20131002
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130814
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130807
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130731
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20130717
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130703
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130612
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130605
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130515
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130508
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20130502
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130424
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130313
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130306
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20130227
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130220
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20130109
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20130103
-packetLen(0x022d, 4) // CZ_COMMAND_MER
+packetLen(0x022d, 4)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20131230
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20131223
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20131008
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20131002
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130904
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130828
-packetLen(0x023b, 90) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 90)
#elif PACKETVER >= 20130814
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130807
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130717
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130710
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130612
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130605
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130529
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20130502
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130424
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130410
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130403
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20130306
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130220
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20130215
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20130109
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20130103
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20131230
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20131113
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20131030
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20131023
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20131008
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130911
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130821
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20130807
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130717
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130626
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130502
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130410
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130227
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20130115
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20131230
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20131223
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20130724
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20130717
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20130626
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20130618
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20130403
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20130327
-packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 90)
#elif PACKETVER >= 20130103
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20131230
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20131223
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131211
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20131204
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20131127
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20131106
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20131030
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20131008
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20131002
-packetLen(0x035f, 36) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 36)
#elif PACKETVER >= 20130925
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130917
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20130904
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130814
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130807
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130731
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130724
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130717
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130626
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130618
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130605
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130522
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130417
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130410
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130403
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130327
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130313
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130306
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130227
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20130206
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20130121
-packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 8)
#elif PACKETVER >= 20130109
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20130103
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20131230
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20131106
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130911
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130828
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20130814
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130717
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130710
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130703
-packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+packetLen(0x0360, 26)
#elif PACKETVER >= 20130626
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20130417
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130410
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20130320
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130306
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+packetLen(0x0360, 19)
#elif PACKETVER >= 20130220
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20130206
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130130
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20130109
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20131230
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20131127
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20131023
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20131008
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130911
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20130828
-packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 12)
#elif PACKETVER >= 20130821
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130814
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130717
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130710
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130612
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130502
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130424
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130227
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20130121
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20130109
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#endif
// Packet: 0x0362
#if PACKETVER >= 20131230
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20131211
-packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 90)
#elif PACKETVER >= 20131106
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20131016
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0362, 19) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 19)
#elif PACKETVER >= 20131002
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130911
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130814
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130717
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20130515
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20130502
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130410
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130320
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130227
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20130130
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20130109
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20131230
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20131113
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20131030
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20131008
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130911
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130814
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130717
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130618
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130502
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130410
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130327
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20130313
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130227
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20130109
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20131230
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20131204
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20131120
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20131113
-packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 90)
#elif PACKETVER >= 20131106
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20131023
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130917
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20130828
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130814
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130717
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130618
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130502
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130410
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130320
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130227
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20130109
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20131230
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20131223
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20131204
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20131106
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0365, 19) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 19)
#elif PACKETVER >= 20131008
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130911
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130814
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130717
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130618
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130502
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130410
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130327
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 12)
#elif PACKETVER >= 20130313
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130227
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20130115
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20131230
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20131204
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20131127
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20131106
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20131023
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130917
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130828
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130814
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130717
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130618
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130522
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130410
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130320
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130227
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130215
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20130206
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130130
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20130109
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20131223
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20130417
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20130313
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20130206
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20131230
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20131204
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20131120
-packetLen(0x0368, 12) // CZ_REQNAME2
+packetLen(0x0368, 12)
#elif PACKETVER >= 20131106
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130917
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130821
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0368, 19) // CZ_REQNAME2
+packetLen(0x0368, 19)
#elif PACKETVER >= 20130807
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130717
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130410
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130320
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130306
-packetLen(0x0368, 90) // CZ_REQNAME2
+packetLen(0x0368, 90)
#elif PACKETVER >= 20130227
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130130
-packetLen(0x0368, 5) // CZ_REQNAME2
+packetLen(0x0368, 5)
#elif PACKETVER >= 20130121
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20130115
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0368, 10) // CZ_REQNAME2
+packetLen(0x0368, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20131230
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131211
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20131204
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20131113
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20131030
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20131008
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130917
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130814
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130717
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130618
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130529
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20130417
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130410
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130320
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130227
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20130130
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 18)
#elif PACKETVER >= 20130109
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20131230
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20131113
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0436, 36) // CZ_ENTER2
+packetLen(0x0436, 36)
#elif PACKETVER >= 20131030
-packetLen(0x0436, 18) // CZ_ENTER2
+packetLen(0x0436, 18)
#elif PACKETVER >= 20131008
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130917
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20130904
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130814
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130717
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130618
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130515
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20130502
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130424
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130320
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130227
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20130215
-packetLen(0x0436, 18) // CZ_ENTER2
+packetLen(0x0436, 18)
#elif PACKETVER >= 20130109
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0436, 36) // CZ_ENTER2
+packetLen(0x0436, 36)
#endif
// Packet: 0x0437
#if PACKETVER >= 20131230
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20131211
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20131204
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20131106
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20131008
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20130925
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130917
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130828
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20130814
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130724
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20130717
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130618
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130522
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130410
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20130403
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130320
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130306
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130130
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20130121
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20130115
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20131230
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20131211
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20131204
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20131106
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20131023
-packetLen(0x0438, 26) // CZ_USE_SKILL2
+packetLen(0x0438, 26)
#elif PACKETVER >= 20131008
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130925
-packetLen(0x0438, 90) // CZ_USE_SKILL2
+packetLen(0x0438, 90)
#elif PACKETVER >= 20130917
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130828
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20130814
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130731
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20130717
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130618
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130522
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130410
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130327
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20130313
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130227
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130130
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20130109
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20131230
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20131223
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20131211
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20131204
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20131127
-packetLen(0x07e4, 90) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 90)
#elif PACKETVER >= 20131106
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20131030
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20131016
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20131008
-packetLen(0x07e4, 7) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 7)
#elif PACKETVER >= 20131002
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130911
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130904
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130814
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130807
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130717
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130703
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130618
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130605
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130508
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130502
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20130417
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130410
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130403
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130320
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130313
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130227
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130220
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20130215
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130206
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20130109
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20130103
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20131230
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131218
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20131211
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131204
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20131106
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131030
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20131023
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131016
-packetLen(0x07ec, 19) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 19)
#elif PACKETVER >= 20131008
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20131002
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130911
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130904
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130828
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20130821
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20130814
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130807
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130717
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130703
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130618
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130605
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130529
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130522
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20130508
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130502
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20130417
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130410
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130403
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130327
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20130320
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130313
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130227
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130220
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20130130
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130121
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20130115
-packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 4)
#elif PACKETVER >= 20130109
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20130103
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20131230
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20131127
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20131113
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 5)
#elif PACKETVER >= 20131030
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20131023
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20131008
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130911
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130814
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130717
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130618
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130502
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130410
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130320
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130306
-packetLen(0x0802, 12) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 12)
#elif PACKETVER >= 20130227
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130220
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20130215
-packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 90)
#elif PACKETVER >= 20130130
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0802, 7) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 7)
#elif PACKETVER >= 20130109
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20131230
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20131218
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20131211
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20131204
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20131120
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20131106
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20131023
-packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 10)
#elif PACKETVER >= 20131008
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130917
-packetLen(0x0811, 7) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 7)
#elif PACKETVER >= 20130904
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130814
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130717
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130618
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130529
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0811, 10) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 10)
#elif PACKETVER >= 20130424
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130417
-packetLen(0x0811, 26) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 26)
#elif PACKETVER >= 20130410
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20130206
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20130109
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20131230
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20131211
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20131204
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20131106
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20131008
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130917
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130904
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20130828
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20130814
-packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 4)
#elif PACKETVER >= 20130807
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130717
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130618
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130522
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130410
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0815, 18) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 18)
#elif PACKETVER >= 20130206
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130130
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20130109
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20131223
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20131127
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20131113
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20130904
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20130703
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20130313
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20130227
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20130130
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0817, 36) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 36)
#elif PACKETVER >= 20130115
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20131230
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20131204
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20131106
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20131023
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130917
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 19)
#elif PACKETVER >= 20130904
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130814
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130717
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130618
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130522
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130410
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130227
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20130109
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20131223
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131030
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0835, 4) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 4)
#elif PACKETVER >= 20130911
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 12)
#elif PACKETVER >= 20130821
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20130403
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20131230
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20131223
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131211
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20131204
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20131106
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20131008
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130917
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20130911
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130904
-packetLen(0x0838, 19) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 19)
#elif PACKETVER >= 20130814
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130807
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130717
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130618
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130522
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130410
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130320
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130227
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130130
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20130115
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20131230
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20131223
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
// ignored packet from 2013-12-23bRagexeRE
#elif PACKETVER >= 20131218
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20131211
-packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 26)
#elif PACKETVER >= 20131204
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20131127
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20131106
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20131030
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20131008
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130925
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130917
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130904
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130814
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130807
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130724
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130717
-packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 5)
#elif PACKETVER >= 20130626
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130618
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130605
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130522
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130417
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130410
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130403
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130320
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130313
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130227
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130206
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130130
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130121
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20130109
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20130103
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20131211
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20131204
-packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 26)
#elif PACKETVER >= 20131127
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20131120
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20131023
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20131016
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20130731
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130724
-packetLen(0x085a, 18) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 18)
#elif PACKETVER >= 20130605
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130529
-packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 12)
#elif PACKETVER >= 20130508
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130502
-packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 4)
#elif PACKETVER >= 20130327
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130320
-packetLen(0x085a, 90) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 90)
#elif PACKETVER >= 20130306
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130227
-packetLen(0x085a, 10) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 10)
#elif PACKETVER >= 20130130
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20130121
-packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 4)
#elif PACKETVER >= 20130103
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20131030
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20131023
-packetLen(0x085b, 90) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 90)
#elif PACKETVER >= 20130313
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20130306
-packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 5)
#elif PACKETVER >= 20130103
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20131223
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20131218
-packetLen(0x085c, 36) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 36)
#elif PACKETVER >= 20130917
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20130911
-packetLen(0x085c, 26) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 26)
#elif PACKETVER >= 20130313
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20130306
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20131023
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20131016
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20131008
-packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 8)
#elif PACKETVER >= 20130327
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20130320
-packetLen(0x085d, 18) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 18)
#elif PACKETVER >= 20130215
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20130206
-packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 8)
#elif PACKETVER >= 20130130
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20130121
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20131016
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20131008
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20130731
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20130724
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20130605
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20130529
-packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 90)
#elif PACKETVER >= 20130103
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20131127
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20131120
-packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 10)
#elif PACKETVER >= 20130206
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20130130
-packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, -1)
#elif PACKETVER >= 20130103
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20131230
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20130731
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20130703
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0860, 8) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 8)
#elif PACKETVER >= 20130417
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 19)
#elif PACKETVER >= 20130313
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20130121
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20131211
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0862, 5) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 5)
#elif PACKETVER >= 20131030
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20130828
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20130724
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0862, 18) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 18)
#elif PACKETVER >= 20130626
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20130522
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 4)
#elif PACKETVER >= 20130103
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20131023
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20131008
-packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 26)
#elif PACKETVER >= 20130925
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0863, 8) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 8)
#elif PACKETVER >= 20130828
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 7)
#elif PACKETVER >= 20130807
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20130724
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0863, 26) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 26)
#elif PACKETVER >= 20130605
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20130306
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20130121
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20131023
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 36)
#elif PACKETVER >= 20130626
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20131218
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20130807
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0865, 10) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 10)
#elif PACKETVER >= 20130417
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0865, 12) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 12)
#elif PACKETVER >= 20130103
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20131113
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20130115
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20131113
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 8)
#elif PACKETVER >= 20131023
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0867, 90) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 90)
#elif PACKETVER >= 20130731
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20130508
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20130306
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20130925
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 26)
#elif PACKETVER >= 20130911
-packetLen(0x0868, 18) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 18)
#elif PACKETVER >= 20130821
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0868, 12) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 12)
#elif PACKETVER >= 20130515
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0868, 36) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 36)
#elif PACKETVER >= 20130327
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20131211
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0869, 10) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 10)
#elif PACKETVER >= 20130605
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, -1)
#elif PACKETVER >= 20130220
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20130731
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20130724
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20130529
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20130522
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20130103
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20130917
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20130911
-packetLen(0x086b, 36) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 36)
#elif PACKETVER >= 20130724
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20130717
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#elif PACKETVER >= 20130424
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20130417
-packetLen(0x086b, 19) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 19)
#elif PACKETVER >= 20130206
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20130130
-packetLen(0x086b, 4) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 4)
#elif PACKETVER >= 20130103
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20131211
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20131204
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20131016
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20131008
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20130724
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20130717
-packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 4)
#elif PACKETVER >= 20130417
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20130410
-packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 18)
#elif PACKETVER >= 20130130
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20130121
-packetLen(0x086c, 19) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 19)
#elif PACKETVER >= 20130103
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20131016
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20131008
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20131002
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20130925
-packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 36)
#elif PACKETVER >= 20130917
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20130911
-packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 8)
#elif PACKETVER >= 20130403
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20130327
-packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 18)
#elif PACKETVER >= 20130320
-packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 26)
#elif PACKETVER >= 20130313
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20130306
-packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 19)
#elif PACKETVER >= 20130103
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20131218
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20131211
-packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, -1)
#elif PACKETVER >= 20131030
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20131023
-packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, -1)
#elif PACKETVER >= 20131002
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20130925
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20130917
-packetLen(0x086e, 90) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 90)
#elif PACKETVER >= 20130828
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20130821
-packetLen(0x086e, -1) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, -1)
#elif PACKETVER >= 20130306
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20130227
-packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 4)
#elif PACKETVER >= 20130103
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20130925
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20130917
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20130327
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20130320
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20130220
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20130215
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20130103
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20131023
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20130508
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 26)
#elif PACKETVER >= 20130121
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20131230
-packetLen(0x0871, 7) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 7)
#elif PACKETVER >= 20130121
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0871, 26) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4551,1545 +4551,1545 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20131218
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 19)
#elif PACKETVER >= 20130821
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 8)
#elif PACKETVER >= 20130710
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 36)
#elif PACKETVER >= 20130403
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 19)
#elif PACKETVER >= 20130103
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20130821
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0874, 7) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 7)
#elif PACKETVER >= 20130731
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0874, 5) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 5)
#elif PACKETVER >= 20130605
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0874, 18) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 18)
#elif PACKETVER >= 20130522
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20130508
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20130327
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20130130
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20131113
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20131023
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20131002
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 5)
#elif PACKETVER >= 20130508
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0875, 26) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 26)
#elif PACKETVER >= 20130424
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20131030
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 10)
#elif PACKETVER >= 20131002
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0876, 8) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 8)
#elif PACKETVER >= 20130731
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0876, 7) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 7)
#elif PACKETVER >= 20130605
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20130215
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 4)
#elif PACKETVER >= 20130103
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20131211
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 19)
#elif PACKETVER >= 20130605
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 26)
#elif PACKETVER >= 20130508
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 8)
#elif PACKETVER >= 20130121
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20130807
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 7)
#elif PACKETVER >= 20130626
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 4)
#elif PACKETVER >= 20130515
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, -1)
#elif PACKETVER >= 20130403
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 12)
#elif PACKETVER >= 20130103
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20131211
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20130828
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0879, 12) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 12)
#elif PACKETVER >= 20130417
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20130121
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20130925
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20130917
-packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 6)
#elif PACKETVER >= 20130626
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20130618
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20130103
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20131230
-packetLen(0x087b, 12) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 12)
#elif PACKETVER >= 20131223
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20131218
-packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 4)
#elif PACKETVER >= 20130917
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20130911
-packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 4)
#elif PACKETVER >= 20130306
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20130227
-packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 26)
#elif PACKETVER >= 20130103
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20130508
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20130502
-packetLen(0x087c, 19) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 19)
#elif PACKETVER >= 20130417
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20130410
-packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 5)
#elif PACKETVER >= 20130121
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20130115
-packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20131106
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20131030
-packetLen(0x087d, 26) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 26)
#elif PACKETVER >= 20131002
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20130925
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20130417
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20130410
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20130206
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20130130
-packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20131230
-packetLen(0x087e, 4) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 4)
#elif PACKETVER >= 20130925
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20130917
-packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 10)
#elif PACKETVER >= 20130904
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20130828
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20130618
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20130612
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20130529
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20130522
-packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 8)
#elif PACKETVER >= 20130103
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20131230
-packetLen(0x087f, -1) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, -1)
#elif PACKETVER >= 20131211
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20131204
-packetLen(0x087f, 18) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 18)
#elif PACKETVER >= 20130206
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20130130
-packetLen(0x087f, -1) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, -1)
#elif PACKETVER >= 20130103
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20130717
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20130710
-packetLen(0x0880, 36) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20131218
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 4)
#elif PACKETVER >= 20131204
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 4)
#elif PACKETVER >= 20130828
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, -1)
#elif PACKETVER >= 20130327
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0881, 5) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 5)
#elif PACKETVER >= 20130313
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20131211
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0882, 26) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 26)
#elif PACKETVER >= 20130724
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0882, 10) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20131016
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 8)
#elif PACKETVER >= 20130612
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20130605
-packetLen(0x0883, 36) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 36)
#elif PACKETVER >= 20130215
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0883, 18) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 18)
#elif PACKETVER >= 20130103
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20131204
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20131120
-packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 10)
#elif PACKETVER >= 20131016
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 18)
#elif PACKETVER >= 20130807
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 36)
#elif PACKETVER >= 20130410
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 19)
#elif PACKETVER >= 20130130
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20131030
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20131016
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20131002
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20130821
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20130626
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20130403
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20130130
-packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20131218
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20130220
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20130206
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20130115
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20131113
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20131030
-packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 36)
#elif PACKETVER >= 20131023
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20131002
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 19)
#elif PACKETVER >= 20130821
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0887, 10) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 10)
#elif PACKETVER >= 20130807
-packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 36)
#elif PACKETVER >= 20130626
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 26)
#elif PACKETVER >= 20130522
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20130320
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20130206
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 90)
#elif PACKETVER >= 20130103
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20131023
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20130605
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0888, 4) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 4)
#elif PACKETVER >= 20130508
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20130327
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 19)
#elif PACKETVER >= 20130121
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 12)
#elif PACKETVER >= 20130109
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20130917
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20130904
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 5)
#elif PACKETVER >= 20130821
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20130807
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0889, 4) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 4)
#elif PACKETVER >= 20130626
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 7)
#elif PACKETVER >= 20130508
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20130206
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20131030
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20131023
-packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, -1)
#elif PACKETVER >= 20130925
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20130917
-packetLen(0x088a, 36) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 36)
#elif PACKETVER >= 20130821
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20130814
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20130724
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20130717
-packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 5)
#elif PACKETVER >= 20130115
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20130109
-packetLen(0x088a, 19) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 19)
#elif PACKETVER >= 20130103
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20131030
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20131023
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20131016
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20130807
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20130731
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20130703
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20130626
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20130515
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20130508
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20130121
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20130115
-packetLen(0x088b, 90) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 90)
#elif PACKETVER >= 20130103
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20131127
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20131120
-packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 19)
#elif PACKETVER >= 20131113
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20130821
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20130814
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20130724
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20130717
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20130703
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20130626
-packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 19)
#elif PACKETVER >= 20130417
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20130410
-packetLen(0x088c, 36) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 36)
#elif PACKETVER >= 20130103
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20131204
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20131127
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20131120
-packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 26)
#elif PACKETVER >= 20130828
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20130821
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20130417
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20130410
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20130626
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20130618
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20130605
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20130529
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20130522
-packetLen(0x088e, 36) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 36)
#elif PACKETVER >= 20130327
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20130320
-packetLen(0x088e, 7) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 7)
#elif PACKETVER >= 20130115
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20130109
-packetLen(0x088e, 12) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 12)
#elif PACKETVER >= 20130103
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20131120
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20131113
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20131030
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20131023
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20131002
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20130925
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20130828
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20130821
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20130703
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20130626
-packetLen(0x088f, 4) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 4)
#elif PACKETVER >= 20130403
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20130327
-packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 10)
#elif PACKETVER >= 20130103
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20131023
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20131002
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20130626
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0890, 12) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 12)
#elif PACKETVER >= 20130605
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0890, 7) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 7)
#elif PACKETVER >= 20130417
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20130327
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0890, 4) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 4)
#elif PACKETVER >= 20130313
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20131113
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20130917
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20130731
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20130626
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20130417
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20130403
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20130115
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20131218
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 8)
#elif PACKETVER >= 20130828
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20130115
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20131113
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 18)
#elif PACKETVER >= 20130904
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 36)
#elif PACKETVER >= 20130731
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0893, 19) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 19)
#elif PACKETVER >= 20130515
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 18)
#elif PACKETVER >= 20130306
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20130130
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20131204
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0894, 36) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 36)
#elif PACKETVER >= 20131113
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20131023
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0894, 12) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 12)
#elif PACKETVER >= 20130807
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, -1)
#elif PACKETVER >= 20130703
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 18)
#elif PACKETVER >= 20130121
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20131230
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20130925
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20130821
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20130807
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20130703
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20130605
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20130515
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 19)
#elif PACKETVER >= 20130121
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20131016
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 90)
#elif PACKETVER >= 20130821
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0896, 8) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20130807
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20130724
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20130605
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20130515
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20130327
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20131230
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20130724
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20130327
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20130313
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0898, 7) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 7)
#elif PACKETVER >= 20130227
-packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20130403
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20130215
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20131120
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20131113
-packetLen(0x089a, 19) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 19)
#elif PACKETVER >= 20130206
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20130130
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20130103
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20130724
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20130717
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20130529
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20130522
-packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 18)
#elif PACKETVER >= 20130327
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20130320
-packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 10)
#elif PACKETVER >= 20130103
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20131230
-packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 19)
#elif PACKETVER >= 20131016
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20131008
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20130731
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20130724
-packetLen(0x089c, 10) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 10)
#elif PACKETVER >= 20130529
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20130522
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20130417
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20130410
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20130925
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20130917
-packetLen(0x089d, 19) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 19)
#elif PACKETVER >= 20130103
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20131204
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20131127
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20131120
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20130904
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20130828
-packetLen(0x089e, 10) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 10)
#elif PACKETVER >= 20130417
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20130410
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20130220
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20130215
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20130103
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20130904
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20130828
-packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 5)
#elif PACKETVER >= 20130313
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20130306
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20130220
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20130215
-packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 4)
#elif PACKETVER >= 20130206
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20130130
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20130103
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20131211
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20131204
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20130925
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20130917
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20130417
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20130410
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20130215
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20130206
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20130130
-packetLen(0x08a0, 10) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 10)
#elif PACKETVER >= 20130121
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20130115
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20130103
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20131127
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20131120
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20130522
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20130515
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20130508
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20130502
-packetLen(0x08a1, 18) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 18)
#elif PACKETVER >= 20130403
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20130327
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20130306
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20130227
-packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 8)
#elif PACKETVER >= 20130103
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20131113
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20131106
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20131030
-packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 4)
#elif PACKETVER >= 20130925
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20130917
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20130529
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08a2, 7) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 7)
#elif PACKETVER >= 20130403
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20130327
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20130115
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20130109
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20131218
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20131211
-packetLen(0x08a3, 18) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 18)
#elif PACKETVER >= 20130904
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20130828
-packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, -1)
#elif PACKETVER >= 20130529
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 8)
#elif PACKETVER >= 20130508
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20130502
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20131230
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20131223
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
#elif PACKETVER >= 20131218
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20131211
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20131204
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20131127
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20131120
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
#elif PACKETVER >= 20131113
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20130917
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130911
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20130821
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130814
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20130417
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130410
-packetLen(0x08a4, 90) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 90)
#elif PACKETVER >= 20130313
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130306
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20130206
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130130
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20130121
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20130115
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20130103
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20130703
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20130626
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20130410
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20130403
-packetLen(0x08a5, 4) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 4)
#elif PACKETVER >= 20130103
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20130724
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20130717
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20130626
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20130618
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20130529
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20131211
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20131204
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20131030
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20131023
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20130626
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20130618
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20130605
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20130529
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20131127
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20131120
-packetLen(0x08a8, 7) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 7)
#elif PACKETVER >= 20131113
-packetLen(0x08a8, 8) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 8)
#elif PACKETVER >= 20130925
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20130917
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20130605
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20130529
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20130103
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20131230
-packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 26)
#elif PACKETVER >= 20131016
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20131008
-packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 10)
#elif PACKETVER >= 20130724
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20130717
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20130529
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08a9, 19) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 19)
#elif PACKETVER >= 20130206
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20130130
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20130103
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20130724
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20130717
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20130522
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20130515
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20130115
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20130109
-packetLen(0x08aa, 4) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 4)
#elif PACKETVER >= 20130103
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20131223
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20131218
-packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 26)
#elif PACKETVER >= 20131211
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20131030
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20131023
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20130731
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20130724
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20130703
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20130626
-packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 26)
#elif PACKETVER >= 20130515
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20130508
-packetLen(0x08ab, 26) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 26)
#elif PACKETVER >= 20130103
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20131030
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20131023
-packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 19)
#elif PACKETVER >= 20130904
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130828
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20130529
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130522
-packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 4)
#elif PACKETVER >= 20130515
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20130327
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130320
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20130313
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130306
-packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 4)
#elif PACKETVER >= 20130215
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130206
-packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 19)
#elif PACKETVER >= 20130121
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20130115
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20130103
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20131211
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20131204
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20130828
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20130821
-packetLen(0x08ad, 4) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 4)
#elif PACKETVER >= 20130220
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20130215
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20130103
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 146)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08e5
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08e5, 41) // CZ_PARTY_RECRUIT_REQ_REGISTER
+packetLen(0x08e5, 41)
#endif
// Packet: 0x08e6
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08e6, 4) // ZC_PARTY_RECRUIT_ACK_REGISTER
+packetLen(0x08e6, 4)
#endif
// Packet: 0x08e7
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08e7, 10) // CZ_PARTY_RECRUIT_REQ_SEARCH
+packetLen(0x08e7, 10)
#endif
// Packet: 0x08e8
@@ -6103,70 +6103,70 @@ packetLen(0x08e8, -1)
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08e9, 2) // CZ_PARTY_RECRUIT_REQ_DELETE
+packetLen(0x08e9, 2)
#endif
// Packet: 0x08ea
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ea, 4) // ZC_PARTY_RECRUIT_ACK_DELETE
+packetLen(0x08ea, 4)
#endif
// Packet: 0x08eb
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08eb, 39) // CZ_PARTY_RECRUIT_REQ_UPDATE
+packetLen(0x08eb, 39)
#endif
// Packet: 0x08ec
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ec, 73) // ZC_PARTY_RECRUIT_NOTIFY_INSERT
+packetLen(0x08ec, 73)
#endif
// Packet: 0x08ed
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ed, 43) // ZC_PARTY_RECRUIT_NOTIFY_UPDATE
+packetLen(0x08ed, 43)
#endif
// Packet: 0x08ee
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ee, 6) // ZC_PARTY_RECRUIT_NOTIFY_DELETE
+packetLen(0x08ee, 6)
#endif
// Packet: 0x08ef
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08ef, 6) // CZ_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x08ef, 6)
#endif
// Packet: 0x08f0
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f0, 6) // CZ_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x08f0, 6)
#endif
// Packet: 0x08f1
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f1, 6) // CZ_PARTY_RECRUIT_REQ_VOLUNTEER
+packetLen(0x08f1, 6)
#endif
// Packet: 0x08f2
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f2, 36) // ZC_PARTY_RECRUIT_VOLUNTEER_INFO
+packetLen(0x08f2, 36)
#endif
// Packet: 0x08f3
@@ -6180,2761 +6180,2761 @@ packetLen(0x08f3, -1)
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f4, 6) // CZ_PARTY_RECRUIT_SHOW_EQUIPMENT
+packetLen(0x08f4, 6)
#endif
// Packet: 0x08f5
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f5, -1) // CZ_UNKNOWN_BOOKING_SOMMON_MEMBER_08f5
+packetLen(0x08f5, -1)
#endif
// Packet: 0x08f6
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f6, 22) // ZC_PARTY_RECRUIT_RECALL_COST
+packetLen(0x08f6, 22)
#endif
// Packet: 0x08f7
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f7, 3) // CZ_PARTY_RECRUIT_ACK_RECALL
+packetLen(0x08f7, 3)
#endif
// Packet: 0x08f8
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f8, 7) // ZC_PARTY_RECRUIT_FAILED_RECALL
+packetLen(0x08f8, 7)
#endif
// Packet: 0x08f9
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08f9, 6) // CZ_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08f9, 6)
#endif
// Packet: 0x08fa
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08fa, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER
+packetLen(0x08fa, 6)
#endif
// Packet: 0x08fb
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x08fb, 6) // CZ_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x08fb, 6)
#endif
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x0909
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x0909, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER
+packetLen(0x0909, 6)
#endif
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090b
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x090b, 30) // ZC_PARTY_RECRUIT_ADD_FILTERLINGLIST
+packetLen(0x090b, 30)
#endif
// Packet: 0x090c
#if PACKETVER >= 20130502
// removed
#elif PACKETVER >= 20130103
-packetLen(0x090c, 30) // ZC_PARTY_RECRUIT_SUB_FILTERLINGLIST
+packetLen(0x090c, 30)
#endif
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20131127
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 6)
#elif PACKETVER >= 20131016
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20130904
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0917, 18) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 18)
#elif PACKETVER >= 20130724
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 6)
#elif PACKETVER >= 20130626
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 10)
#elif PACKETVER >= 20130417
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 26)
#elif PACKETVER >= 20130313
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20130925
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 5)
#elif PACKETVER >= 20130724
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0918, 7) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 7)
#elif PACKETVER >= 20130605
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0918, -1) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, -1)
#elif PACKETVER >= 20130121
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0918, 10) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 10)
#elif PACKETVER >= 20130109
-packetLen(0x0918, 26) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20131030
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20130612
-packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 19)
#elif PACKETVER >= 20130605
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0919, 19) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 19)
#elif PACKETVER >= 20130103
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20131023
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20131016
-packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, -1)
#elif PACKETVER >= 20130206
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20130130
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20130103
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20130306
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20130227
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20130115
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20130109
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20130103
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20131120
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20131113
-packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 8)
#elif PACKETVER >= 20131016
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20131008
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20130925
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20130917
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20131230
-packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 36)
#elif PACKETVER >= 20131113
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20131106
-packetLen(0x091d, 90) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 90)
#elif PACKETVER >= 20131030
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20131023
-packetLen(0x091d, 12) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 12)
#elif PACKETVER >= 20130828
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20130821
-packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 5)
#elif PACKETVER >= 20130724
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20130717
-packetLen(0x091d, 19) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 19)
#elif PACKETVER >= 20130417
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20130410
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20130103
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20131230
-packetLen(0x091e, 10) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 10)
#elif PACKETVER >= 20131023
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20131016
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20130925
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20130917
-packetLen(0x091e, 4) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 4)
#elif PACKETVER >= 20130911
-packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 5)
#elif PACKETVER >= 20130904
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20130828
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20130724
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20130717
-packetLen(0x091e, 10) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 10)
#elif PACKETVER >= 20130313
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20130306
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20130103
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20131230
-packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 18)
#elif PACKETVER >= 20131211
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20131204
-packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 5)
#elif PACKETVER >= 20131023
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20131016
-packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 5)
#elif PACKETVER >= 20130403
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20130327
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20130306
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20130227
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20130130
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20130121
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20130103
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20131120
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0920, 12) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 12)
#elif PACKETVER >= 20130320
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20130313
-packetLen(0x0920, 36) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 36)
#elif PACKETVER >= 20130215
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20130925
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20130731
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 90)
#elif PACKETVER >= 20130703
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20130327
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20130115
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20131030
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0923, 7) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 7)
#elif PACKETVER >= 20130925
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20130904
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0923, 10) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 10)
#elif PACKETVER >= 20130821
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20130814
-packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 6)
#elif PACKETVER >= 20130807
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0923, 18) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 18)
#elif PACKETVER >= 20130220
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20131030
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20130904
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20130731
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20130306
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0924, 90) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 90)
#elif PACKETVER >= 20130206
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20131106
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20131030
-packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 5)
#elif PACKETVER >= 20130807
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 10)
#elif PACKETVER >= 20130529
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 5)
#elif PACKETVER >= 20130215
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20131230
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20131127
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0926, -1) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, -1)
#elif PACKETVER >= 20131113
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20130821
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20130410
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20130313
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0926, 36) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20131127
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 8)
#elif PACKETVER >= 20131113
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20131023
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20131008
-packetLen(0x0927, 12) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 12)
#elif PACKETVER >= 20130821
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20130731
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20130115
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0927, 90) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 90)
#elif PACKETVER >= 20130103
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20131211
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0928, 7) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 7)
#elif PACKETVER >= 20131120
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0928, 36) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 36)
#elif PACKETVER >= 20130904
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, -1)
#elif PACKETVER >= 20130121
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20131120
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 6)
#elif PACKETVER >= 20131106
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20130904
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20130424
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0929, 5) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20131230
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20130103
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20131218
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20131211
-packetLen(0x092b, 36) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 36)
#elif PACKETVER >= 20131127
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20131120
-packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 5)
#elif PACKETVER >= 20131113
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20130807
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20130731
-packetLen(0x092b, 19) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 19)
#elif PACKETVER >= 20130724
-packetLen(0x092b, 26) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 26)
#elif PACKETVER >= 20130403
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20130327
-packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 5)
#elif PACKETVER >= 20130306
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20130227
-packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, -1)
#elif PACKETVER >= 20130103
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20131120
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20131113
-packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 26)
#elif PACKETVER >= 20130103
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20131211
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20131204
-packetLen(0x092d, 10) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 10)
#elif PACKETVER >= 20131120
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20131113
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20130828
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130821
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20130807
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130731
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20130522
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130515
-packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 18)
#elif PACKETVER >= 20130508
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20130403
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130327
-packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 26)
#elif PACKETVER >= 20130320
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130313
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20130121
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20130115
-packetLen(0x092d, 19) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 19)
#elif PACKETVER >= 20130103
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20131120
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20131113
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20130731
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20130724
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20130403
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20130327
-packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 4)
#elif PACKETVER >= 20130121
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20130115
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20130103
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20131223
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20131218
-packetLen(0x092f, 19) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 19)
#elif PACKETVER >= 20131211
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20131204
-packetLen(0x092f, 5) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 5)
#elif PACKETVER >= 20131120
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20131113
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20130724
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20130717
-packetLen(0x092f, 26) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 26)
#elif PACKETVER >= 20130403
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20130327
-packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 8)
#elif PACKETVER >= 20130306
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20130227
-packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, -1)
#elif PACKETVER >= 20130103
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20131204
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0930, 18) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 18)
#elif PACKETVER >= 20130904
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20130710
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20130703
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20130626
-packetLen(0x0930, 36) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 36)
#elif PACKETVER >= 20130618
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20130115
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20131218
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20131211
-packetLen(0x0931, 8) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 8)
#elif PACKETVER >= 20130522
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 5)
#elif PACKETVER >= 20130115
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20131016
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 10)
#elif PACKETVER >= 20130626
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20130417
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0933, 10) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 10)
#elif PACKETVER >= 20130403
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, -1)
#elif PACKETVER >= 20130320
-packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20131120
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0934, 18) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 18)
#elif PACKETVER >= 20131016
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 6)
#elif PACKETVER >= 20130925
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0934, 12) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 12)
#elif PACKETVER >= 20130313
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20131113
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20131030
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#elif PACKETVER >= 20130807
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20131120
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20131016
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 6)
#elif PACKETVER >= 20130821
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0936, -1) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, -1)
#elif PACKETVER >= 20130626
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 8)
#elif PACKETVER >= 20130605
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0936, -1) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 12)
#elif PACKETVER >= 20130103
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20131030
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20130911
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 26)
#elif PACKETVER >= 20130821
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20130605
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 8)
#elif PACKETVER >= 20130403
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 8)
#elif PACKETVER >= 20130320
-packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, -1)
#elif PACKETVER >= 20130115
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20130417
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0939, 7) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 7)
#elif PACKETVER >= 20130403
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20130121
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20131204
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20131127
-packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 26)
#elif PACKETVER >= 20130917
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20130911
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20130904
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20130821
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20130814
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20130618
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20130612
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20130215
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20130206
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20130130
-packetLen(0x093a, 36) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 36)
#elif PACKETVER >= 20130103
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20131211
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20131204
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20131113
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20131106
-packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 6)
#elif PACKETVER >= 20130724
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20130717
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20130103
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20131120
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20131113
-packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 5)
#elif PACKETVER >= 20131016
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20131008
-packetLen(0x093c, 5) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 5)
#elif PACKETVER >= 20130215
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20130206
-packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 26)
#elif PACKETVER >= 20130103
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20131230
-packetLen(0x093d, -1) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, -1)
#elif PACKETVER >= 20130417
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20130410
-packetLen(0x093d, 8) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 8)
#elif PACKETVER >= 20130206
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20130130
-packetLen(0x093d, -1) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, -1)
#elif PACKETVER >= 20130103
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20131230
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20131127
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20131120
-packetLen(0x093e, 90) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 90)
#elif PACKETVER >= 20130828
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20130821
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20130529
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20130522
-packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 12)
#elif PACKETVER >= 20130515
-packetLen(0x093e, 36) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 36)
#elif PACKETVER >= 20130115
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20130109
-packetLen(0x093e, 18) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 18)
#elif PACKETVER >= 20130103
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20131127
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20131120
-packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, -1)
#elif PACKETVER >= 20130327
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20130320
-packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 5)
#elif PACKETVER >= 20130103
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20131204
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20131127
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20131120
-packetLen(0x0940, 4) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 4)
#elif PACKETVER >= 20131008
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20131002
-packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 5)
#elif PACKETVER >= 20130925
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20130917
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20130612
-packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 26)
#elif PACKETVER >= 20130130
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20130109
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20130103
-packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 19)
#endif
// Packet: 0x0941
#if PACKETVER >= 20131211
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20130807
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20130220
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20131113
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0942, 10) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 10)
#elif PACKETVER >= 20130626
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0942, -1) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, -1)
#elif PACKETVER >= 20130410
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20131230
-packetLen(0x0943, 26) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 26)
#elif PACKETVER >= 20130522
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0943, 19) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 19)
#elif PACKETVER >= 20130313
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0943, 10) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20131030
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20130904
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 26)
#elif PACKETVER >= 20130626
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20130522
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20130508
-packetLen(0x0944, 4) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 4)
#elif PACKETVER >= 20130417
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0944, 4) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 4)
#elif PACKETVER >= 20130313
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20130626
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20130417
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20131113
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20131023
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0946, 18) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 18)
#elif PACKETVER >= 20130904
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 4)
#elif PACKETVER >= 20130313
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20130227
-packetLen(0x0946, 8) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 8)
#elif PACKETVER >= 20130121
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20130115
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20131223
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20131218
-packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 5)
#elif PACKETVER >= 20131113
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0947, 7) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 7)
#elif PACKETVER >= 20131016
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20130821
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0947, 10) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 10)
#elif PACKETVER >= 20130522
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0947, 26) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 26)
#elif PACKETVER >= 20130327
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20130313
-packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 19)
#elif PACKETVER >= 20130103
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20131113
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0948, 4) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 4)
#elif PACKETVER >= 20130917
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20131230
-packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 5)
#elif PACKETVER >= 20131120
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20131230
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20131030
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20131023
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20130904
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130828
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20130731
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130724
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20130710
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130703
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20130403
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130327
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20130313
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20130306
-packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 18)
#elif PACKETVER >= 20130103
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20130403
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20130327
-packetLen(0x094b, 36) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 36)
#elif PACKETVER >= 20130227
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20130220
-packetLen(0x094b, 36) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 36)
#elif PACKETVER >= 20130121
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20130115
-packetLen(0x094b, 18) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 18)
#elif PACKETVER >= 20130103
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20131218
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20131211
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20131204
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20131127
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20130925
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130917
-packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 18)
#elif PACKETVER >= 20130904
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130828
-packetLen(0x094c, -1) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, -1)
#elif PACKETVER >= 20130807
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130731
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20130327
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130320
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20130121
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20130115
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20130103
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20130703
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20130626
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20130515
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20130508
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20130925
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20130917
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20130327
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20130320
-packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, -1)
#elif PACKETVER >= 20130313
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20130306
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20130121
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20130115
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20130103
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20131204
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20131127
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20130904
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130828
-packetLen(0x094f, 7) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 7)
#elif PACKETVER >= 20130626
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130618
-packetLen(0x094f, 90) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 90)
#elif PACKETVER >= 20130403
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130327
-packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 26)
#elif PACKETVER >= 20130130
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130121
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20130115
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20130109
-packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, -1)
#elif PACKETVER >= 20130103
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20131127
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20131106
-packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, -1)
#elif PACKETVER >= 20130529
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 26)
#elif PACKETVER >= 20130410
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20130403
-packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 26)
#elif PACKETVER >= 20130215
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20130206
-packetLen(0x0950, 8) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 8)
#elif PACKETVER >= 20130115
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0950, 36) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 36)
#elif PACKETVER >= 20130103
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20131211
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20131030
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20130626
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0951, 10) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 10)
#elif PACKETVER >= 20130605
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 5)
#elif PACKETVER >= 20130313
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20130227
-packetLen(0x0951, 10) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 10)
#elif PACKETVER >= 20130115
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20130109
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20131016
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 6)
#elif PACKETVER >= 20130724
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20130703
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 6)
#elif PACKETVER >= 20130529
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0952, -1) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20131127
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 26)
#elif PACKETVER >= 20130731
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0953, 5) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 5)
#elif PACKETVER >= 20130626
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 26)
#elif PACKETVER >= 20130103
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20131113
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0954, 12) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 12)
#elif PACKETVER >= 20131030
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20131023
-packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 8)
#elif PACKETVER >= 20131016
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, -1)
#elif PACKETVER >= 20130828
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0954, 10) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 10)
#elif PACKETVER >= 20130731
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20131127
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20130417
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0955, 10) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 10)
#elif PACKETVER >= 20130403
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0955, 7) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20131127
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20131120
-packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 5)
#elif PACKETVER >= 20131016
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#elif PACKETVER >= 20130911
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130904
-packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 36)
#elif PACKETVER >= 20130807
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 26)
#elif PACKETVER >= 20130724
-packetLen(0x0956, 12) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 12)
#elif PACKETVER >= 20130717
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20130605
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 36)
#elif PACKETVER >= 20130220
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 26)
#elif PACKETVER >= 20130206
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0956, 19) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 19)
#elif PACKETVER >= 20130121
-packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20130925
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0957, 10) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 10)
#elif PACKETVER >= 20130807
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20130515
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130508
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20130206
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20130130
-packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 12)
#elif PACKETVER >= 20130103
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20131211
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20131002
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20130821
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20130807
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20130724
-packetLen(0x0958, 10) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 10)
#elif PACKETVER >= 20130717
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20130605
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20130529
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20131211
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0959, 90) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 90)
#elif PACKETVER >= 20130925
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20130917
-packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, -1)
#elif PACKETVER >= 20130821
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20130814
-packetLen(0x0959, 18) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 18)
#elif PACKETVER >= 20130327
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20130320
-packetLen(0x0959, 10) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 10)
#elif PACKETVER >= 20130103
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20131002
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20130925
-packetLen(0x095a, 18) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 18)
#elif PACKETVER >= 20130327
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20130320
-packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 8)
#elif PACKETVER >= 20130121
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20130115
-packetLen(0x095a, 36) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 36)
#elif PACKETVER >= 20130103
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20131211
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20131204
-packetLen(0x095b, 12) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 12)
#elif PACKETVER >= 20131030
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20131023
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20131002
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130925
-packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, -1)
#elif PACKETVER >= 20130917
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20130807
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130731
-packetLen(0x095b, 90) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 90)
#elif PACKETVER >= 20130724
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130717
-packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 36)
#elif PACKETVER >= 20130626
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130618
-packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 19)
#elif PACKETVER >= 20130529
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130522
-packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, -1)
#elif PACKETVER >= 20130306
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130227
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20130206
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20130130
-packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 18)
#elif PACKETVER >= 20130121
-packetLen(0x095b, 26) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 26)
#elif PACKETVER >= 20130103
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20131204
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20131127
-packetLen(0x095c, 19) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 19)
#elif PACKETVER >= 20131002
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130925
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20130731
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130724
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20130529
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130522
-packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 10)
#elif PACKETVER >= 20130515
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130508
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20130206
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20130130
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20130103
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20131120
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20131113
-packetLen(0x095d, 7) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 7)
#elif PACKETVER >= 20131106
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20131016
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20131008
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20130904
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20130828
-packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 5)
#elif PACKETVER >= 20130807
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20130731
-packetLen(0x095d, 12) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 12)
#elif PACKETVER >= 20130724
-packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 8)
#elif PACKETVER >= 20130220
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20130215
-packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 5)
#elif PACKETVER >= 20130103
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20131127
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20131120
-packetLen(0x095e, 18) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 18)
#elif PACKETVER >= 20131023
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20131016
-packetLen(0x095e, 10) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 10)
#elif PACKETVER >= 20130828
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20130821
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20130529
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20130522
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20130306
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20130227
-packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 36)
#elif PACKETVER >= 20130115
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20130109
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20130103
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20131120
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20131113
-packetLen(0x095f, 10) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 10)
#elif PACKETVER >= 20130821
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20130814
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20130807
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20130731
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20130103
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20131120
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 8)
#elif PACKETVER >= 20130724
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0960, 12) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 12)
#elif PACKETVER >= 20130703
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130626
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20130417
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 26)
#elif PACKETVER >= 20130403
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0960, 10) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 10)
#elif PACKETVER >= 20130313
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20131211
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0961, 4) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 4)
#elif PACKETVER >= 20130508
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 8)
#elif PACKETVER >= 20130403
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20130103
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20131113
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0962, -1) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, -1)
#elif PACKETVER >= 20131023
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0962, 7) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 7)
#elif PACKETVER >= 20130828
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20130814
-packetLen(0x0962, 90) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 90)
#elif PACKETVER >= 20130807
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130731
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20130626
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130618
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20130522
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20130424
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130417
-packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 5)
#elif PACKETVER >= 20130313
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130306
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20130220
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20130215
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20130522
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20130515
-packetLen(0x0963, -1) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, -1)
#elif PACKETVER >= 20130130
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20131120
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0964, 4) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 4)
#elif PACKETVER >= 20130828
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20130618
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20130612
-packetLen(0x0964, 36) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 36)
#elif PACKETVER >= 20130529
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0964, 90) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 90)
#elif PACKETVER >= 20130103
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20130731
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, -1)
#elif PACKETVER >= 20130529
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20130522
-packetLen(0x0965, 8) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20131023
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20131016
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20130904
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20130828
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20130731
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20130724
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20130103
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20131211
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20131204
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20131127
-packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 26)
#elif PACKETVER >= 20131113
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20131106
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20130917
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130911
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20130828
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0967, 18) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 18)
#elif PACKETVER >= 20130724
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130717
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20130508
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130502
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20130417
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130410
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20130403
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130327
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20130306
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20130227
-packetLen(0x0967, 7) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 7)
#elif PACKETVER >= 20130103
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20131230
-packetLen(0x0968, 8) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 8)
#elif PACKETVER >= 20130103
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20131230
-packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 6)
#elif PACKETVER >= 20131120
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20131113
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20131016
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20131008
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20131002
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20130925
-packetLen(0x0969, 4) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 4)
#elif PACKETVER >= 20130828
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20130821
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20130502
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20130424
-packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 36)
#elif PACKETVER >= 20130417
-packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 6)
#elif PACKETVER >= 20130130
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20130121
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20131230
-packetLen(0x096a, 90) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 90)
#elif PACKETVER >= 20131223
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
// ignored packet from 2013-12-23aRagexeRE
#elif PACKETVER >= 20131211
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20131204
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20131127
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20131106
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20131030
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20131008
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130925
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130917
-packetLen(0x096a, 26) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 26)
#elif PACKETVER >= 20130911
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20130904
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130828
-packetLen(0x096a, 19) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 19)
#elif PACKETVER >= 20130814
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130807
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130717
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130626
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130618
-packetLen(0x096a, 10) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 10)
#elif PACKETVER >= 20130605
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130522
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130508
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130502
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130424
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130417
-packetLen(0x096a, 4) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 4)
#elif PACKETVER >= 20130403
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130320
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130313
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130227
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130206
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130130
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130121
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20130109
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20130103
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
#if PACKETVER >= 20130115
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
#elif PACKETVER >= 20130103
-packetLen(0x0987, 63) // CA_LOGIN6
+packetLen(0x0987, 63)
#endif
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
#if PACKETVER >= 20130327
-packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 10)
#elif PACKETVER >= 20130103
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
#endif
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
#if PACKETVER >= 20130130
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
#endif
// Packet: 0x09a3
#if PACKETVER >= 20130130
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
#endif
// Packet: 0x09a4
#if PACKETVER >= 20130206
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
#endif
// Packet: 0x09a5
#if PACKETVER >= 20130220
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
#endif
// Packet: 0x09a6
#if PACKETVER >= 20130306
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
#endif
// Packet: 0x09a7
#if PACKETVER >= 20130320
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
#elif PACKETVER >= 20130306
-packetLen(0x09a7, 14) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 14)
#endif
// Packet: 0x09a8
#if PACKETVER >= 20130515
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
#elif PACKETVER >= 20130320
-packetLen(0x09a8, 12) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 12)
#elif PACKETVER >= 20130306
-packetLen(0x09a8, 4) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 4)
#endif
// Packet: 0x09a9
#if PACKETVER >= 20130320
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
#elif PACKETVER >= 20130306
-packetLen(0x09a9, 14) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 14)
#endif
// Packet: 0x09aa
#if PACKETVER >= 20130515
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
#elif PACKETVER >= 20130320
-packetLen(0x09aa, 12) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 12)
#elif PACKETVER >= 20130306
-packetLen(0x09aa, 4) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 4)
#endif
// Packet: 0x09ab
#if PACKETVER >= 20130320
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
#elif PACKETVER >= 20130313
-packetLen(0x09ab, -1) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, -1)
#endif
// Packet: 0x09ac
#if PACKETVER >= 20130327
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09ac, 20) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, 20)
#endif
// Packet: 0x09ad
#if PACKETVER >= 20130327
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09ad, 6) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 6)
#endif
// Packet: 0x09ae
#if PACKETVER >= 20130327
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09ae, -1) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, -1)
#endif
// Packet: 0x09af
#if PACKETVER >= 20130327
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09af, -1) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, -1)
#endif
// Packet: 0x09b0
#if PACKETVER >= 20130327
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
#endif
// Packet: 0x09b1
#if PACKETVER >= 20130327
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09b1, 6) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 6)
#endif
// Packet: 0x09b2
#if PACKETVER >= 20130605
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
#elif PACKETVER >= 20130327
-packetLen(0x09b2, 6) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 6)
#elif PACKETVER >= 20130320
// removed
#elif PACKETVER >= 20130313
-packetLen(0x09b2, -1) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, -1)
#endif
// Packet: 0x09b3
#if PACKETVER >= 20130605
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
#elif PACKETVER >= 20130327
-packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 6)
#endif
// Packet: 0x09b4
#if PACKETVER >= 20130417
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
#endif
// Packet: 0x09b5
#if PACKETVER >= 20130417
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
#endif
// Packet: 0x09b6
#if PACKETVER >= 20130417
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
#endif
// Packet: 0x09b7
#if PACKETVER >= 20130417
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
#endif
// Packet: 0x09b8
#if PACKETVER >= 20130417
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
#endif
// Packet: 0x09b9
#if PACKETVER >= 20130417
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
#endif
// Packet: 0x09ba
#if PACKETVER >= 20130828
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
#elif PACKETVER >= 20130424
-packetLen(0x09ba, 6) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 6)
#endif
// Packet: 0x09bb
#if PACKETVER >= 20130502
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
#elif PACKETVER >= 20130424
-packetLen(0x09bb, 4) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 4)
#endif
// Packet: 0x09bc
#if PACKETVER >= 20130424
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
#endif
// Packet: 0x09bd
#if PACKETVER >= 20130424
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
#endif
// Packet: 0x09be
#if PACKETVER >= 20130828
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
#elif PACKETVER >= 20130502
-packetLen(0x09be, 6) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 6)
#endif
// Packet: 0x09bf
#if PACKETVER >= 20130502
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
#endif
// Packet: 0x09c0
#if PACKETVER >= 20130618
// removed
#elif PACKETVER >= 20130515
-packetLen(0x09c0, 11) // ZC_ACTION_MOVE
+packetLen(0x09c0, 11)
#endif
// Packet: 0x09c1
#if PACKETVER >= 20130717
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
#elif PACKETVER >= 20130515
-packetLen(0x09c1, 11) // ZC_C_MARKERINFO
+packetLen(0x09c1, 11)
#endif
// Packet: 0x09c2
#if PACKETVER >= 20130522
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
#endif
// Packet: 0x09c3
#if PACKETVER >= 20130529
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
#endif
// Packet: 0x09c4
#if PACKETVER >= 20130605
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
#endif
// Packet: 0x09c5
#if PACKETVER >= 20130605
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
#endif
// Packet: 0x09c6
#if PACKETVER >= 20130605
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
#endif
// Packet: 0x09c7
#if PACKETVER >= 20130612
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
#elif PACKETVER >= 20130605
-packetLen(0x09c7, 10) // SC_LOGIN_ERROR
+packetLen(0x09c7, 10)
#endif
// Packet: 0x09c8
#if PACKETVER >= 20130605
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
#endif
// Packet: 0x09c9
#if PACKETVER >= 20130612
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
#endif
// Packet: 0x09ca
#if PACKETVER >= 20130828
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
#elif PACKETVER >= 20130618
-packetLen(0x09ca, 23) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, 23)
#endif
// Packet: 0x09cb
#if PACKETVER >= 20130717
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
#endif
// Packet: 0x09cc
#if PACKETVER >= 20130717
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
#endif
// Packet: 0x09cd
#if PACKETVER >= 20130807
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
#endif
// Packet: 0x09ce
#if PACKETVER >= 20130814
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
#endif
// Packet: 0x09cf
#if PACKETVER >= 20130814
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
#endif
// Packet: 0x09d0
#if PACKETVER >= 20130814
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
#endif
// Packet: 0x09d1
#if PACKETVER >= 20130821
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
#endif
// Packet: 0x09d2
#if PACKETVER >= 20130828
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
#endif
// Packet: 0x09d3
#if PACKETVER >= 20130828
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
#endif
// Packet: 0x09d4
#if PACKETVER >= 20130911
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
#endif
// Packet: 0x09d5
#if PACKETVER >= 20130911
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
#endif
// Packet: 0x09d6
#if PACKETVER >= 20130911
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
#endif
// Packet: 0x09d7
#if PACKETVER >= 20130911
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
#endif
// Packet: 0x09d8
#if PACKETVER >= 20130911
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
#endif
// Packet: 0x09d9
#if PACKETVER >= 20131023
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
#elif PACKETVER >= 20131016
-packetLen(0x09d9, 6) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 6)
#elif PACKETVER >= 20131002
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
#elif PACKETVER >= 20130911
-packetLen(0x09d9, 2) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 2)
#endif
// Packet: 0x09da
#if PACKETVER >= 20131002
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
#elif PACKETVER >= 20130925
-packetLen(0x09da, 10) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, 10)
#elif PACKETVER >= 20130911
-packetLen(0x09da, 2) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, 2)
#endif
// Packet: 0x09db
#if PACKETVER >= 20131023
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
#endif
// Packet: 0x09dc
#if PACKETVER >= 20131023
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
#endif
// Packet: 0x09dd
#if PACKETVER >= 20131023
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
#endif
// Packet: 0x09de
#if PACKETVER >= 20131030
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
#endif
// Packet: 0x09df
#if PACKETVER >= 20131030
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
#endif
// Packet: 0x09e0
#if PACKETVER >= 20131030
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
#endif
// Packet: 0x09e1
#if PACKETVER >= 20131106
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
#endif
// Packet: 0x09e2
#if PACKETVER >= 20131106
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
#endif
// Packet: 0x09e3
#if PACKETVER >= 20131106
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
#endif
// Packet: 0x09e4
#if PACKETVER >= 20131106
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
#endif
// Packet: 0x09e5
#if PACKETVER >= 20131127
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
#elif PACKETVER >= 20131120
-packetLen(0x09e5, 14) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 14)
#endif
// Packet: 0x09e6
#if PACKETVER >= 20131127
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
#elif PACKETVER >= 20131120
-packetLen(0x09e6, 18) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 18)
#endif
// Packet: 0x09e7
#if PACKETVER >= 20131211
-packetLen(0x09e7, 2) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 2)
#endif
// Packet: 0x09e8
#if PACKETVER >= 20131218
-packetLen(0x09e8, 10) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 10)
#elif PACKETVER >= 20131211
-packetLen(0x09e8, 18) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 18)
#endif
// Packet: 0x09e9
#if PACKETVER >= 20131211
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
#endif
// Packet: 0x09ea
#if PACKETVER >= 20131223
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
#elif PACKETVER >= 20131218
-packetLen(0x09ea, 10) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 10)
#endif
// Packet: 0x09eb
#if PACKETVER >= 20131230
-packetLen(0x09eb, 23) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, 23)
#elif PACKETVER >= 20131223
-packetLen(0x09eb, 24) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, 24)
#elif PACKETVER >= 20131218
-packetLen(0x09eb, 14) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, 14)
#endif
// Packet: 0x09ec
#if PACKETVER >= 20131230
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
#endif
// Packet: 0x09ed
#if PACKETVER >= 20131230
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
#elif PACKETVER >= 20131218
// removed
#elif PACKETVER >= 20131211
-packetLen(0x09ed, -1) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, -1)
#endif
// Packet: 0x09ee
#if PACKETVER >= 20131218
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
#elif PACKETVER >= 20131211
-packetLen(0x09ee, -1) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, -1)
#endif
// Packet: 0x09ef
#if PACKETVER >= 20131218
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
#endif
// Packet: 0x09f0
#if PACKETVER >= 20131218
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
#endif
// Packet: 0x09f5
#if PACKETVER >= 20131218
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
#endif
// Packet: 0x09f6
#if PACKETVER >= 20131218
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
#endif
// Packet: 0x09f7
#if PACKETVER >= 20131230
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
#endif
diff --git a/src/common/packets/packets2014_len_main.h b/src/common/packets/packets2014_len_main.h
index b58979cb7..0e3aeab37 100644
--- a/src/common/packets/packets2014_len_main.h
+++ b/src/common/packets/packets2014_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4576 +25,4576 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20140820
-packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 149)
#elif PACKETVER >= 20140108
-packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 146)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20141231
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20141210
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20141126
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20141015
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140903
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140813
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140702
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20140611
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// ignored packet from 2014-06-11hRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140508
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140423
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140319
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20140305
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20140226
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20140212
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140115
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20141231
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20141112
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20141105
-packetLen(0x022d, 4) // CZ_COMMAND_MER
+packetLen(0x022d, 4)
#elif PACKETVER >= 20141029
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20141022
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20141015
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20141008
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140924
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140917
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20140903
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140827
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140813
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140806
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140730
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20140709
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140702
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20140611
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// ignored packet from 2014-06-11hRagexe
#elif PACKETVER >= 20140514
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140508
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140430
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140423
-packetLen(0x022d, 18) // CZ_COMMAND_MER
+packetLen(0x022d, 18)
#elif PACKETVER >= 20140416
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140212
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140205
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140115
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140108
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20141231
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20141105
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20141029
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20141022
-packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 10)
#elif PACKETVER >= 20141015
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20141008
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140903
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140827
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140813
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140806
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140709
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140702
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20140625
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20140611
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// ignored packet from 2014-06-11hRagexe
#elif PACKETVER >= 20140508
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140430
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20140423
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140416
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140409
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140402
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20140319
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140312
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20140212
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140205
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140115
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140108
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20141231
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20141210
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140917
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140813
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140528
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140508
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140423
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140312
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140212
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140129
-packetLen(0x0281, 10) // CZ_GANGSI_RANK
+packetLen(0x0281, 10)
#elif PACKETVER >= 20140115
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20140730
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20140723
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20140611
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// ignored packet from 2014-06-11hRagexe
#elif PACKETVER >= 20140514
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20140508
-packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 90)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140326
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20140319
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20140108
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20141231
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20141217
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20141210
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20141203
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20141126
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20141112
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20141105
-packetLen(0x035f, 10) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 10)
#elif PACKETVER >= 20141001
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140917
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140827
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140820
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140806
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140709
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140702
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140611
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140528
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140521
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140514
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140508
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140430
-packetLen(0x035f, 36) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 36)
#elif PACKETVER >= 20140423
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140416
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140312
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140226
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140212
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140129
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140122
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140108
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20141231
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20141224
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0360, 8) // CZ_REQUEST_TIME2
+packetLen(0x0360, 8)
#elif PACKETVER >= 20141210
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20141203
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20141112
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20141001
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140820
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140709
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140611
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140528
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20140521
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140514
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140423
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20140416
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140409
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20140312
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140219
-packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+packetLen(0x0360, 4)
#elif PACKETVER >= 20140212
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140122
-packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+packetLen(0x0360, 7)
#elif PACKETVER >= 20140108
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20141231
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20141224
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20141105
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20141015
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20141001
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20140903
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140813
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140611
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
// ignored packet from 2014-06-11hRagexe
#elif PACKETVER >= 20140514
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140423
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140312
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20140212
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140129
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20140122
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#endif
// Packet: 0x0362
#if PACKETVER >= 20141231
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20141210
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20141119
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20141105
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20141022
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140813
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140723
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140528
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140423
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140402
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140312
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140226
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20140212
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140115
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20141231
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20141105
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20141022
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140917
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140813
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140611
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140528
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140430
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20140423
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140312
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140212
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140115
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20141231
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20141105
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20141022
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20141015
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20141008
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140917
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140813
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140730
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20140723
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20140716
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
// 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
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140528
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140423
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140409
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
#elif PACKETVER >= 20140312
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140226
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20140219
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20140212
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140115
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20141231
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20141105
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20141022
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20141001
-packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 12)
#elif PACKETVER >= 20140924
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20140827
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140820
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 36)
#elif PACKETVER >= 20140806
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140611
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
// 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
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140528
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140508
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140423
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140402
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20140312
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140212
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140115
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20141231
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20141217
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20141203
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20141105
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140924
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20140917
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20140827
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140820
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140730
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20140709
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140611
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140528
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140514
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140430
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140423
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140319
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20140226
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140212
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140122
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20141210
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20141126
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20141001
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 26)
#elif PACKETVER >= 20140917
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20140806
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
// ignored packet from 2014-06-11hRagexe
#elif PACKETVER >= 20140508
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140205
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20140122
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20141231
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20141217
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20141203
-packetLen(0x0368, 8) // CZ_REQNAME2
+packetLen(0x0368, 8)
#elif PACKETVER >= 20141126
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20141105
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140820
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140730
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140709
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140611
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0368, 7) // CZ_REQNAME2
+packetLen(0x0368, 7)
#elif PACKETVER >= 20140528
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140514
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140423
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140312
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140212
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140122
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20141231
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20141217
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20141203
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20141105
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20141001
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140924
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20140827
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140820
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140709
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140611
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 19)
#elif PACKETVER >= 20140528
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140514
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140430
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140423
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140312
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140219
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 18)
#elif PACKETVER >= 20140129
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140122
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20141231
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20141217
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20141105
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20141015
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140903
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140813
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140730
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0436, 12) // CZ_ENTER2
+packetLen(0x0436, 12)
#elif PACKETVER >= 20140611
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140508
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140430
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20140416
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140312
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0436, 10) // CZ_ENTER2
+packetLen(0x0436, 10)
#elif PACKETVER >= 20140212
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140115
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#endif
// Packet: 0x0437
#if PACKETVER >= 20141231
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20141217
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20141203
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20141105
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+packetLen(0x0437, 36)
#elif PACKETVER >= 20141001
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140917
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140820
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140730
-packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+packetLen(0x0437, 19)
#elif PACKETVER >= 20140716
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20140702
-packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+packetLen(0x0437, 26)
#elif PACKETVER >= 20140611
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140528
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140514
-packetLen(0x0437, 12) // CZ_REQUEST_ACT2
+packetLen(0x0437, 12)
#elif PACKETVER >= 20140508
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140430
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140423
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140312
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140212
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140122
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20141231
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20141224
-packetLen(0x0438, 26) // CZ_USE_SKILL2
+packetLen(0x0438, 26)
#elif PACKETVER >= 20141217
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20141203
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20141119
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20141105
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20141022
-packetLen(0x0438, 36) // CZ_USE_SKILL2
+packetLen(0x0438, 36)
#elif PACKETVER >= 20141001
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140917
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140820
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140709
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20140618
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140528
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140514
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140423
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140312
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0438, 19) // CZ_USE_SKILL2
+packetLen(0x0438, 19)
#elif PACKETVER >= 20140226
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140219
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0438, 90) // CZ_USE_SKILL2
+packetLen(0x0438, 90)
#elif PACKETVER >= 20140129
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140122
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20141231
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20141217
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20141210
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#elif PACKETVER >= 20141105
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20141029
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20141022
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20141008
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20141001
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140924
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20140917
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140820
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140813
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20140806
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140723
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140716
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20140709
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140702
-packetLen(0x07e4, 10) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 10)
#elif PACKETVER >= 20140618
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140611
-packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 8)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140605
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140528
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140521
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140514
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140508
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140430
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140416
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140326
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140319
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20140312
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140305
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20140212
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140205
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140115
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140108
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20141231
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20141105
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20141029
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20141022
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20141008
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140917
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140827
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140813
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140806
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140730
-packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 4)
#elif PACKETVER >= 20140611
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140528
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140521
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140508
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140423
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140416
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140409
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140326
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20140312
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140305
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140212
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140205
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140129
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20140122
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20140115
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140108
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20141231
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20141210
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20141126
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20141022
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20141001
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20140917
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140820
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20140806
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140730
-packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 8)
#elif PACKETVER >= 20140611
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140528
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140514
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140423
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140312
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140226
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20140212
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140129
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20140122
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20141231
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20141203
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140917
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140820
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140723
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0811, 7) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 7)
#elif PACKETVER >= 20140709
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140528
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140423
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20140416
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20140312
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140226
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20140212
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140115
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20141231
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20141217
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20141203
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140924
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20140917
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140820
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140730
-packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 26)
#elif PACKETVER >= 20140709
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20140625
-packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 4)
#elif PACKETVER >= 20140611
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140528
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140430
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140423
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20140312
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20140226
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140212
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140122
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20140806
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 7)
#elif PACKETVER >= 20140702
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20140521
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0817, 4) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 4)
#elif PACKETVER >= 20140508
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140108
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20141231
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20141217
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20141203
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0819, 18) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 18)
#elif PACKETVER >= 20141105
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140917
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140820
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140730
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140709
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20140611
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140528
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140423
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140409
-packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 8)
#elif PACKETVER >= 20140312
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140212
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140122
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20141231
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20141119
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20141029
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 12)
#elif PACKETVER >= 20140827
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20140709
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 12)
#elif PACKETVER >= 20140625
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20140611
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140508
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140108
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20141231
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141217
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141203
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141105
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141022
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141001
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20140924
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20140827
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140820
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140730
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20140618
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0838, 90) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 90)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140528
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140514
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140430
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140423
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140312
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140226
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20140212
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140122
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20141231
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20141217
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20141210
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20141203
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20141126
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20141119
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20141112
-packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 8)
#elif PACKETVER >= 20141105
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20141001
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140917
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140827
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140820
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140806
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140709
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140702
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140611
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140528
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140521
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140514
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140508
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
// ignored packet from 2014-05-08bRagexe
#elif PACKETVER >= 20140430
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20140423
-packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 5)
#elif PACKETVER >= 20140416
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140402
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140326
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20140312
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140226
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140212
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140205
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140129
-packetLen(0x083c, 4) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 4)
#elif PACKETVER >= 20140122
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140108
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20141231
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20141224
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20141126
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20141119
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20140709
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20140702
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20140625
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20140326
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20140319
-packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 5)
#elif PACKETVER >= 20140108
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20140430
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20140423
-packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 5)
#elif PACKETVER >= 20140416
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20140409
-packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 6)
#elif PACKETVER >= 20140402
-packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 8)
#elif PACKETVER >= 20140226
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20140219
-packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 6)
#elif PACKETVER >= 20140108
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20141112
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20141105
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20140723
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20140716
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20140226
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20140219
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20140108
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20140625
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20140618
-packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 8)
#elif PACKETVER >= 20140226
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20140219
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20140108
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20140806
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20140730
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20140319
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20140312
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20140108
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20141119
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20141112
-packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, -1)
#elif PACKETVER >= 20140730
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20140723
-packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 5)
#elif PACKETVER >= 20140716
-packetLen(0x085f, 19) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 19)
#elif PACKETVER >= 20140605
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20140528
-packetLen(0x085f, 18) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 18)
#elif PACKETVER >= 20140226
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20140219
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20140108
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20141224
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20140716
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20140625
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0860, 26) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 26)
#elif PACKETVER >= 20140226
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20141210
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 8)
#elif PACKETVER >= 20141126
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 26)
#elif PACKETVER >= 20140827
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0861, 10) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 10)
#elif PACKETVER >= 20140618
-packetLen(0x0861, 90) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 90)
#elif PACKETVER >= 20140514
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20141001
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 4)
#elif PACKETVER >= 20140605
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20140430
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20141119
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20141105
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20140430
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20140129
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20141112
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20141001
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, -1)
#elif PACKETVER >= 20140917
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20140827
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0864, 19) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 19)
#elif PACKETVER >= 20140618
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140326
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0864, 7) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 7)
#elif PACKETVER >= 20140108
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20141231
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0865, 90) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 90)
#elif PACKETVER >= 20141126
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20141112
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20141001
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20140521
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0865, 7) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 7)
#elif PACKETVER >= 20140402
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20140122
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0865, 36) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20141126
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20140716
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 4)
#elif PACKETVER >= 20140430
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0866, 19) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 19)
#elif PACKETVER >= 20140326
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20141231
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20141001
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20140618
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140521
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20140402
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0867, 12) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 12)
#elif PACKETVER >= 20140305
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20140820
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 5)
#elif PACKETVER >= 20140723
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 26)
#elif PACKETVER >= 20140521
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20140416
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0868, 12) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 12)
#elif PACKETVER >= 20140402
-packetLen(0x0868, 10) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 10)
#elif PACKETVER >= 20140226
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0868, 36) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20141119
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20140827
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20140730
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20140716
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 5)
#elif PACKETVER >= 20140528
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0869, 36) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 36)
#elif PACKETVER >= 20140402
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0869, 18) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 18)
#elif PACKETVER >= 20140108
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20140416
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20140409
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20140108
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20140702
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20140625
-packetLen(0x086b, 26) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 26)
#elif PACKETVER >= 20140430
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20140423
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20140402
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20140326
-packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 8)
#elif PACKETVER >= 20140108
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20141231
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20141224
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20141217
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20141210
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20141203
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20141119
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20141112
-packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 18)
#elif PACKETVER >= 20140827
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20140820
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20140709
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20140702
-packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 18)
#elif PACKETVER >= 20140625
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20140618
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20140611
-packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 4)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140108
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20141231
-packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 36)
#elif PACKETVER >= 20141210
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20141203
-packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 8)
#elif PACKETVER >= 20141001
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20140924
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20140917
-packetLen(0x086d, 90) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 90)
#elif PACKETVER >= 20140730
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20140723
-packetLen(0x086d, 90) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 90)
#elif PACKETVER >= 20140416
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20140409
-packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, -1)
#elif PACKETVER >= 20140108
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20141210
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20141203
-packetLen(0x086e, 6) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 6)
#elif PACKETVER >= 20141126
-packetLen(0x086e, 19) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 19)
#elif PACKETVER >= 20141022
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20141015
-packetLen(0x086e, 19) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 19)
#elif PACKETVER >= 20141001
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20140924
-packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 5)
#elif PACKETVER >= 20140827
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20140820
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20140326
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20140319
-packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 4)
#elif PACKETVER >= 20140219
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20140212
-packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 10)
#elif PACKETVER >= 20140108
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20140430
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20140423
-packetLen(0x086f, 90) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 90)
#elif PACKETVER >= 20140319
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20140312
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20140226
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20140219
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20140108
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20141231
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 5)
#elif PACKETVER >= 20140508
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 26)
#elif PACKETVER >= 20140129
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 18)
#elif PACKETVER >= 20140108
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20141203
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0871, 8) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 8)
#elif PACKETVER >= 20141119
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0871, -1) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0871, 36) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 36)
#elif PACKETVER >= 20140723
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0871, 8) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 5)
#elif PACKETVER >= 20140129
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4624,4455 +4624,4455 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20141126
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0873, 10) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 10)
#elif PACKETVER >= 20140430
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20141112
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20140618
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0874, 26) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 26)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140219
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20141224
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20141126
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20141112
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0875, 7) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 7)
#elif PACKETVER >= 20140716
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20140702
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20140605
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20140416
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20140827
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#elif PACKETVER >= 20140521
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20141112
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20140716
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0877, 10) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 10)
#elif PACKETVER >= 20140605
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20140521
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 8)
#elif PACKETVER >= 20140305
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 19)
#elif PACKETVER >= 20140219
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20141224
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20141029
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 8)
#elif PACKETVER >= 20140820
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20140625
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 6)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140312
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 4)
#elif PACKETVER >= 20140219
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 12)
#elif PACKETVER >= 20140108
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20141224
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 5)
#elif PACKETVER >= 20141112
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0879, 12) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 12)
#elif PACKETVER >= 20140716
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20140605
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20141231
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20141224
-packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 6)
#elif PACKETVER >= 20140108
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20141231
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20141224
-packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 4)
#elif PACKETVER >= 20141217
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20141210
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20141203
-packetLen(0x087b, 5) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 5)
#elif PACKETVER >= 20140702
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20140625
-packetLen(0x087b, 10) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 10)
#elif PACKETVER >= 20140108
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20141126
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20141119
-packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 6)
#elif PACKETVER >= 20141008
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20141001
-packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 8)
#elif PACKETVER >= 20140820
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20140813
-packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 26)
#elif PACKETVER >= 20140402
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20140326
-packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 5)
#elif PACKETVER >= 20140226
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20140219
-packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 8)
#elif PACKETVER >= 20140108
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20141029
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20141022
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20140806
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20140730
-packetLen(0x087d, 8) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 8)
#elif PACKETVER >= 20140723
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20140625
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20140618
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20140521
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20140514
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20140108
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20141210
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20141203
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20140806
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140730
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20140605
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140528
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20140416
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140409
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20140402
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140326
-packetLen(0x087e, 26) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 26)
#elif PACKETVER >= 20140219
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140212
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20140108
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20140806
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20140730
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20140508
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20140430
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20140402
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20140326
-packetLen(0x087f, 10) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 10)
#elif PACKETVER >= 20140108
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20141210
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0880, 5) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20140723
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20140820
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0882, 18) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 18)
#elif PACKETVER >= 20140409
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0882, 6) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20141224
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20140416
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 5)
#elif PACKETVER >= 20140402
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20141203
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0884, 4) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 4)
#elif PACKETVER >= 20141008
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 26)
#elif PACKETVER >= 20140625
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20140508
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 18)
#elif PACKETVER >= 20140416
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20140205
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20141217
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20141126
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20141112
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20141008
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20140618
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20140521
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20140205
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20141119
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20141001
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 90)
#elif PACKETVER >= 20140618
-packetLen(0x0886, 18) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 18)
#elif PACKETVER >= 20140521
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20141119
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 26)
#elif PACKETVER >= 20141105
-packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 90)
#elif PACKETVER >= 20140716
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20140702
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20140402
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 4)
#elif PACKETVER >= 20140305
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0887, 12) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 12)
#elif PACKETVER >= 20140122
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20141126
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20140730
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20140716
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20140702
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 12)
#elif PACKETVER >= 20140219
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20141224
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0889, 12) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 12)
#elif PACKETVER >= 20141210
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 26)
#elif PACKETVER >= 20140924
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 7)
#elif PACKETVER >= 20140806
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 18)
#elif PACKETVER >= 20140319
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 19)
#elif PACKETVER >= 20140226
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20140205
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20140702
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140625
-packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, -1)
#elif PACKETVER >= 20140605
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140528
-packetLen(0x088a, 12) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 12)
#elif PACKETVER >= 20140521
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140514
-packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 5)
#elif PACKETVER >= 20140416
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140409
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20140402
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20140122
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140115
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20140108
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20141001
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140924
-packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, -1)
#elif PACKETVER >= 20140806
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140730
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20140716
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140709
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20140528
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140521
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20140514
-packetLen(0x088b, 90) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 90)
#elif PACKETVER >= 20140430
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140423
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20140108
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20140618
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140611
-packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 10)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140409
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140402
-packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 4)
#elif PACKETVER >= 20140319
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140312
-packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 10)
#elif PACKETVER >= 20140219
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140212
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20140129
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140122
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20140108
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20141126
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20141119
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20141112
-packetLen(0x088d, 90) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 90)
#elif PACKETVER >= 20140806
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20140730
-packetLen(0x088d, 12) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 12)
#elif PACKETVER >= 20140723
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20140716
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20140528
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20140521
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20140319
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20140312
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20140108
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20141224
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20141217
-packetLen(0x088e, 18) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 18)
#elif PACKETVER >= 20140702
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20140625
-packetLen(0x088e, 19) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 19)
#elif PACKETVER >= 20140326
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20140319
-packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 26)
#elif PACKETVER >= 20140312
-packetLen(0x088e, 7) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 7)
#elif PACKETVER >= 20140122
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20140115
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20140108
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20140917
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20140903
-packetLen(0x088f, 19) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 19)
#elif PACKETVER >= 20140723
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20140716
-packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 10)
#elif PACKETVER >= 20140605
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20140528
-packetLen(0x088f, 90) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 90)
#elif PACKETVER >= 20140108
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20140625
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20140430
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 10)
#elif PACKETVER >= 20140416
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20140402
-packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 26)
#elif PACKETVER >= 20140326
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20140129
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20140108
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20140827
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20140618
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0891, 7) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 7)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140319
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20141112
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20140806
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 8)
#elif PACKETVER >= 20140709
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 8)
#elif PACKETVER >= 20140625
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20140618
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0893, 5) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 5)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140416
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 7)
#elif PACKETVER >= 20140326
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20140129
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 26)
#elif PACKETVER >= 20140108
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20141001
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0894, 7) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 7)
#elif PACKETVER >= 20140618
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 8)
#elif PACKETVER >= 20140319
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20140305
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20141126
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20140924
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 5)
#elif PACKETVER >= 20140820
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20140709
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20140521
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20140430
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20140305
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20141203
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20141029
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 26)
#elif PACKETVER >= 20140730
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20140716
-packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 90)
#elif PACKETVER >= 20140605
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20140430
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0896, 7) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 7)
#elif PACKETVER >= 20140416
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0896, 10) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 10)
#elif PACKETVER >= 20140402
-packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20140924
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20140820
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20140716
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0897, 18) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 18)
#elif PACKETVER >= 20140430
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20140416
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20140226
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20141210
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20141112
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 8)
#elif PACKETVER >= 20141001
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0898, 90) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 90)
#elif PACKETVER >= 20140917
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20140730
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 8)
#elif PACKETVER >= 20140716
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0898, 19) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 19)
#elif PACKETVER >= 20140430
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 10)
#elif PACKETVER >= 20140402
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20140226
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20141029
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20140827
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 10)
#elif PACKETVER >= 20140813
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20140416
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20140129
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20141231
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20141224
-packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 5)
#elif PACKETVER >= 20140827
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20140820
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20140723
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20140716
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20140521
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20140514
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20140409
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20140402
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20140108
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20141231
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20141224
-packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 18)
#elif PACKETVER >= 20140917
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140903
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20140827
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140820
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20140618
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140611
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140514
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140508
-packetLen(0x089b, 19) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 19)
#elif PACKETVER >= 20140430
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140423
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20140319
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140312
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20140122
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140115
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20140108
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20141210
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20141203
-packetLen(0x089c, 10) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 10)
#elif PACKETVER >= 20141008
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20141001
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20140924
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20140917
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20140528
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20140514
-packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 26)
#elif PACKETVER >= 20140108
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20141210
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20141203
-packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 12)
#elif PACKETVER >= 20141008
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20141001
-packetLen(0x089d, 26) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 26)
#elif PACKETVER >= 20140605
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140528
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20140430
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140423
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20140319
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140312
-packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 12)
#elif PACKETVER >= 20140219
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140212
-packetLen(0x089d, 10) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 10)
#elif PACKETVER >= 20140129
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140122
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20140108
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20140730
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20140723
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20140319
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20140312
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20140219
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20140212
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20140108
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20141224
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20141217
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20140723
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20140716
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20140326
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20140319
-packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 10)
#elif PACKETVER >= 20140226
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20140219
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20140108
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20141119
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20141112
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20141105
-packetLen(0x08a0, 19) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 19)
#elif PACKETVER >= 20140806
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20140709
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20140702
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20140219
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08a0, 36) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 36)
#elif PACKETVER >= 20140108
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20141224
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20141217
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20141119
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20141112
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20140702
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20140625
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20140618
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20140611
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140508
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20140430
-packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 8)
#elif PACKETVER >= 20140219
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08a1, 26) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 26)
#elif PACKETVER >= 20140108
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20141224
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20141217
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20140730
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140723
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20140709
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140702
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20140625
-packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 5)
#elif PACKETVER >= 20140618
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140611
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140416
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140409
-packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 4)
#elif PACKETVER >= 20140326
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140319
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20140129
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140122
-packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 4)
#elif PACKETVER >= 20140108
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20141231
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20141224
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20140827
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20140820
-packetLen(0x08a3, 5) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 5)
#elif PACKETVER >= 20140813
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20140108
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20141231
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20141224
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
#elif PACKETVER >= 20141203
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20141126
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20140723
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20140716
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20140605
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20140528
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20140416
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20140409
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20140108
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20141210
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20141203
-packetLen(0x08a5, 7) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 7)
#elif PACKETVER >= 20141112
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20141105
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20141001
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20140924
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20140521
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20140514
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20140108
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20140806
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20140625
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20140618
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20140319
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20140312
-packetLen(0x08a6, 4) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 4)
#elif PACKETVER >= 20140226
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20140219
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20140108
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20141001
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140924
-packetLen(0x08a7, 10) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 10)
#elif PACKETVER >= 20140827
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140820
-packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, -1)
#elif PACKETVER >= 20140813
-packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 8)
#elif PACKETVER >= 20140806
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20140625
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140618
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20140416
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140409
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20140219
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, -1)
#elif PACKETVER >= 20140122
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140115
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20140108
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20141231
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20141224
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20141217
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20141126
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20141119
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20140924
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20140917
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20140430
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20140423
-packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 5)
#elif PACKETVER >= 20140108
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20140806
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08a9, 90) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 90)
#elif PACKETVER >= 20140416
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20140409
-packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 36)
#elif PACKETVER >= 20140319
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20140312
-packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 26)
#elif PACKETVER >= 20140108
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20141210
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20141203
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20141126
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20141119
-packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 12)
#elif PACKETVER >= 20141029
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20141022
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20140402
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20140326
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20140226
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20140219
-packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 12)
#elif PACKETVER >= 20140129
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20140122
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20140108
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20141224
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20141217
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20141119
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20141112
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#elif PACKETVER >= 20141029
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20141022
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20140820
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20140813
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20140605
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20140528
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20140514
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20140508
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20140108
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20141231
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20141224
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#elif PACKETVER >= 20141217
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20141210
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#elif PACKETVER >= 20140723
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140716
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20140625
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140618
-packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 4)
#elif PACKETVER >= 20140528
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140521
-packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 19)
#elif PACKETVER >= 20140409
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140402
-packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 18)
#elif PACKETVER >= 20140326
-packetLen(0x08ac, 90) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 90)
#elif PACKETVER >= 20140226
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20140108
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20141203
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20141126
-packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 36)
#elif PACKETVER >= 20141112
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20141105
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20141029
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20141022
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20141008
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20141001
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20140806
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 36)
#elif PACKETVER >= 20140723
-packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 18)
#elif PACKETVER >= 20140716
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140709
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20140430
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140423
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20140402
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140326
-packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 19)
#elif PACKETVER >= 20140319
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140312
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20140219
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20140108
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
#if PACKETVER >= 20140820
-packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 149)
#elif PACKETVER >= 20140108
-packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 146)
#endif
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20141217
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 26)
#elif PACKETVER >= 20140625
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 10)
#elif PACKETVER >= 20140129
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20141126
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0918, 10) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 10)
#elif PACKETVER >= 20141001
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0918, 19) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 19)
#elif PACKETVER >= 20140723
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 5)
#elif PACKETVER >= 20140521
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 18)
#elif PACKETVER >= 20140416
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20140402
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20141224
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20141119
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0919, 12) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 12)
#elif PACKETVER >= 20140924
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0919, -1) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, -1)
#elif PACKETVER >= 20140219
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20141029
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20141022
-packetLen(0x091a, 26) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 26)
#elif PACKETVER >= 20140716
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140709
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20140702
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140625
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20140430
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140423
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20140305
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140226
-packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 8)
#elif PACKETVER >= 20140129
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140122
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20140108
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20140219
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20140212
-packetLen(0x091b, 26) // ZC_PRNPC_STATE
+packetLen(0x091b, 26)
#elif PACKETVER >= 20140108
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20141210
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20141203
-packetLen(0x091c, 18) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 18)
#elif PACKETVER >= 20141008
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20141001
-packetLen(0x091c, 4) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 4)
#elif PACKETVER >= 20140416
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20140409
-packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 90)
#elif PACKETVER >= 20140319
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20140312
-packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 26)
#elif PACKETVER >= 20140108
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20141210
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20141203
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20141112
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20141105
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20140827
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20140820
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20140605
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20140528
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20140521
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20140514
-packetLen(0x091d, 19) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 19)
#elif PACKETVER >= 20140108
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20141112
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20141105
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20140806
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20140730
-packetLen(0x091e, 26) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 26)
#elif PACKETVER >= 20140319
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20140312
-packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 5)
#elif PACKETVER >= 20140108
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20141224
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20141217
-packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 10)
#elif PACKETVER >= 20140723
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20140716
-packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 18)
#elif PACKETVER >= 20140625
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20140618
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20140409
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20140402
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20140326
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20140319
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20140108
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20141203
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20141119
-packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 5)
#elif PACKETVER >= 20140430
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 26)
#elif PACKETVER >= 20140409
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20141126
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0921, 19) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 19)
#elif PACKETVER >= 20140611
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0921, 36) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 36)
#elif PACKETVER >= 20140305
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0921, 26) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 26)
#elif PACKETVER >= 20140219
-packetLen(0x0921, 7) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 7)
#elif PACKETVER >= 20140205
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0921, 18) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 18)
#elif PACKETVER >= 20140108
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20141022
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20141015
-packetLen(0x0922, 4) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 4)
#elif PACKETVER >= 20140108
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20140326
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20141224
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0924, 7) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 7)
#elif PACKETVER >= 20140618
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140205
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0924, -1) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20141001
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 8)
#elif PACKETVER >= 20140716
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0925, 90) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 90)
#elif PACKETVER >= 20140702
-packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 5)
#elif PACKETVER >= 20140521
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20141119
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20141001
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20140723
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20140409
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0926, 36) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20141217
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 8)
#elif PACKETVER >= 20140730
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20140514
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0927, 36) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 36)
#elif PACKETVER >= 20140226
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0927, 90) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 90)
#elif PACKETVER >= 20140108
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20141210
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 6)
#elif PACKETVER >= 20141001
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 8)
#elif PACKETVER >= 20140219
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20141126
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20141112
-packetLen(0x0929, 7) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 7)
#elif PACKETVER >= 20140625
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 12)
#elif PACKETVER >= 20140605
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0929, 7) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 7)
#elif PACKETVER >= 20140108
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20141210
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20141203
-packetLen(0x092a, 4) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 4)
#elif PACKETVER >= 20141008
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20141001
-packetLen(0x092a, 36) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 36)
#elif PACKETVER >= 20140924
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20140917
-packetLen(0x092a, 12) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 12)
#elif PACKETVER >= 20140806
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20140730
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20140402
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20140326
-packetLen(0x092a, 36) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 36)
#elif PACKETVER >= 20140319
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20140312
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20140108
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20141217
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20141210
-packetLen(0x092b, 18) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 18)
#elif PACKETVER >= 20141112
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20141105
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20141029
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20141022
-packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 8)
#elif PACKETVER >= 20141001
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20140924
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20140108
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20140723
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20140716
-packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 26)
#elif PACKETVER >= 20140709
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20140702
-packetLen(0x092c, 19) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 19)
#elif PACKETVER >= 20140521
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20140514
-packetLen(0x092c, 8) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 8)
#elif PACKETVER >= 20140205
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20140129
-packetLen(0x092c, 36) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 36)
#elif PACKETVER >= 20140108
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20141001
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20140924
-packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 12)
#elif PACKETVER >= 20140409
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20140402
-packetLen(0x092d, 90) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 90)
#elif PACKETVER >= 20140122
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20140115
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20140108
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20140416
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20140409
-packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 26)
#elif PACKETVER >= 20140108
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20141126
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20141119
-packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 8)
#elif PACKETVER >= 20140827
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20140820
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20140730
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20140723
-packetLen(0x092f, 19) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 19)
#elif PACKETVER >= 20140716
-packetLen(0x092f, 12) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 12)
#elif PACKETVER >= 20140709
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20140521
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20140514
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20140129
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20140122
-packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 8)
#elif PACKETVER >= 20140108
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20141231
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20140924
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 8)
#elif PACKETVER >= 20140605
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 8)
#elif PACKETVER >= 20140219
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20140917
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20140903
-packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 5)
#elif PACKETVER >= 20140716
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20140611
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 5)
#elif PACKETVER >= 20140305
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0931, 4) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 4)
#elif PACKETVER >= 20140108
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20141231
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 8)
#elif PACKETVER >= 20141217
-packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20141224
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0933, 26) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 26)
#elif PACKETVER >= 20141126
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0933, 36) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 36)
#elif PACKETVER >= 20140709
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0933, 4) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 4)
#elif PACKETVER >= 20140409
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20141001
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20140806
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0934, -1) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, -1)
#elif PACKETVER >= 20140723
-packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 26)
#elif PACKETVER >= 20140716
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 6)
#elif PACKETVER >= 20140514
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 8)
#elif PACKETVER >= 20140312
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20140219
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0934, 7) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 7)
#elif PACKETVER >= 20140108
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20140730
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20140625
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20141224
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 6)
#elif PACKETVER >= 20141210
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20141022
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20141015
-packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 36)
#elif PACKETVER >= 20140827
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 12)
#elif PACKETVER >= 20140618
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 12)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140219
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0936, 4) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 4)
#elif PACKETVER >= 20140115
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 36)
#endif
// Packet: 0x0937
#if PACKETVER >= 20141008
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20140827
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0937, 5) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20141126
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 6)
#elif PACKETVER >= 20140723
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 8)
#elif PACKETVER >= 20140625
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 26)
#elif PACKETVER >= 20140212
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0938, 36) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20141224
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20141008
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 8)
#elif PACKETVER >= 20140730
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20140716
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20140226
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20140827
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20140820
-packetLen(0x093a, 36) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 36)
#elif PACKETVER >= 20140605
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20140528
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20140108
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20141029
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20141022
-packetLen(0x093b, 19) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 19)
#elif PACKETVER >= 20140723
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20140716
-packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 6)
#elif PACKETVER >= 20140625
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20140618
-packetLen(0x093b, 7) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 7)
#elif PACKETVER >= 20140508
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20140430
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20140108
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
// Packet: 0x093d
#if PACKETVER >= 20140730
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20140723
-packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 6)
#elif PACKETVER >= 20140402
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20140326
-packetLen(0x093d, 7) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 7)
#elif PACKETVER >= 20140219
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20140212
-packetLen(0x093d, 19) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 19)
#elif PACKETVER >= 20140108
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20141112
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20141105
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20140827
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20140820
-packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 6)
#elif PACKETVER >= 20140108
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20141008
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20141001
-packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 6)
#elif PACKETVER >= 20140716
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20140709
-packetLen(0x093f, 12) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 12)
#elif PACKETVER >= 20140605
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20140528
-packetLen(0x093f, 26) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 26)
#elif PACKETVER >= 20140409
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20140402
-packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 5)
#elif PACKETVER >= 20140108
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20141224
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 19)
#elif PACKETVER >= 20141105
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0940, 7) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 7)
#elif PACKETVER >= 20140806
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 5)
#elif PACKETVER >= 20140716
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20140702
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20140115
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20141126
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20140917
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20140903
-packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 36)
#elif PACKETVER >= 20140618
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 36)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140305
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0941, 18) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 18)
#elif PACKETVER >= 20140129
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20141203
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0942, 26) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 26)
#elif PACKETVER >= 20141119
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20141015
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 36)
#elif PACKETVER >= 20140416
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0942, 8) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 8)
#elif PACKETVER >= 20140402
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20140319
-packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 36)
#elif PACKETVER >= 20140129
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20141119
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20140903
-packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 4)
#elif PACKETVER >= 20140827
-packetLen(0x0943, 36) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20141224
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20141112
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20140409
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0944, 10) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 10)
#elif PACKETVER >= 20140219
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20141231
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20141217
-packetLen(0x0945, 90) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 90)
#elif PACKETVER >= 20140917
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20140903
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20140730
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0945, 10) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 10)
#elif PACKETVER >= 20140625
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20140402
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20141231
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20140806
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 5)
#elif PACKETVER >= 20140702
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 5)
#elif PACKETVER >= 20140409
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0946, 7) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 7)
#elif PACKETVER >= 20140326
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20140226
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20141217
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 4)
#elif PACKETVER >= 20140730
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0947, 7) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 7)
#elif PACKETVER >= 20140716
-packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 4)
#elif PACKETVER >= 20140416
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 5)
#elif PACKETVER >= 20140326
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20141224
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 6)
#elif PACKETVER >= 20141126
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 5)
#elif PACKETVER >= 20140813
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0948, 36) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 36)
#elif PACKETVER >= 20140730
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20141231
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0949, 12) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 12)
#elif PACKETVER >= 20141001
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0949, 6) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 10)
#elif PACKETVER >= 20140226
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0949, 18) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 18)
#elif PACKETVER >= 20140108
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20140827
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20140820
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20140618
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20140611
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
// ignored packet from 2014-06-11hRagexe
// ignored packet from 2014-06-11cRagexe
#elif PACKETVER >= 20140605
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20140528
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20140319
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20140312
-packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 18)
#elif PACKETVER >= 20140108
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20141119
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20141112
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20141022
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20141015
-packetLen(0x094b, 26) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 26)
#elif PACKETVER >= 20141008
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20141001
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20140605
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20140528
-packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 5)
#elif PACKETVER >= 20140508
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20140430
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20140319
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20140312
-packetLen(0x094b, 90) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 90)
#elif PACKETVER >= 20140108
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20141126
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20141119
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20141112
-packetLen(0x094c, 4) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 4)
#elif PACKETVER >= 20140611
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20140605
-packetLen(0x094c, 26) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 26)
#elif PACKETVER >= 20140416
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20140409
-packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 18)
#elif PACKETVER >= 20140402
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20140326
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20140319
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20140312
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20140129
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20140122
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20140108
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20140716
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20140709
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20140205
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20140129
-packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 8)
#elif PACKETVER >= 20140108
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20141029
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20141022
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20140716
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20140709
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20140702
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20140625
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20140521
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20140514
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20140508
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20140219
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20140212
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20140108
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20141231
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20141224
-packetLen(0x094f, 19) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 19)
#elif PACKETVER >= 20141119
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20141112
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20140924
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20140917
-packetLen(0x094f, 10) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 10)
#elif PACKETVER >= 20140716
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20140709
-packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 26)
#elif PACKETVER >= 20140618
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20140611
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140430
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20140423
-packetLen(0x094f, 12) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 12)
#elif PACKETVER >= 20140108
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20141231
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20141112
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 26)
#elif PACKETVER >= 20140618
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0950, 18) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 18)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140409
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0950, 10) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20140924
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0951, 18) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 18)
#elif PACKETVER >= 20140827
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20140618
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 5)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140108
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20141210
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20141008
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 5)
#elif PACKETVER >= 20140924
-packetLen(0x0952, 26) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 26)
#elif PACKETVER >= 20140827
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0952, 7) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 7)
#elif PACKETVER >= 20140723
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 5)
#elif PACKETVER >= 20140618
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0952, 8) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 8)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140219
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0952, -1) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20141231
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0953, 4) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 4)
#elif PACKETVER >= 20140219
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20141217
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0954, 19) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 19)
#elif PACKETVER >= 20140625
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0954, 26) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 26)
#elif PACKETVER >= 20140326
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0954, 26) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 26)
#elif PACKETVER >= 20140108
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20141217
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20141119
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20141029
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 18)
#elif PACKETVER >= 20140924
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0955, 26) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 26)
#elif PACKETVER >= 20140326
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0955, 36) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20141231
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20141224
-packetLen(0x0956, 10) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 10)
#elif PACKETVER >= 20140924
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#elif PACKETVER >= 20140827
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20140402
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20141112
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 5)
#elif PACKETVER >= 20140924
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20140625
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 36)
#elif PACKETVER >= 20140611
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140319
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20140129
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 12)
#elif PACKETVER >= 20140108
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20141217
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20140827
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0958, 4) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 4)
#elif PACKETVER >= 20140723
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20140618
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0958, 19) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 19)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140521
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20140409
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20140205
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 26)
#elif PACKETVER >= 20140108
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20140723
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0959, 7) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 7)
#elif PACKETVER >= 20140402
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20141203
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20141126
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20140924
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20140917
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20140416
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20140409
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20140402
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20140326
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20140108
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20141231
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20141224
-packetLen(0x095b, 10) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 10)
#elif PACKETVER >= 20141203
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20141126
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20140122
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20140115
-packetLen(0x095b, 4) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 4)
#elif PACKETVER >= 20140108
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20141210
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20141203
-packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 6)
#elif PACKETVER >= 20140924
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20140917
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20140423
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20140416
-packetLen(0x095c, 36) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 36)
#elif PACKETVER >= 20140409
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20140402
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20140326
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20140108
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20141119
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20141112
-packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 6)
#elif PACKETVER >= 20140625
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20140618
-packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 6)
#elif PACKETVER >= 20140319
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20140312
-packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, -1)
#elif PACKETVER >= 20140129
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20140122
-packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, -1)
#elif PACKETVER >= 20140115
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20140108
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20140924
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140917
-packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 5)
#elif PACKETVER >= 20140625
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140618
-packetLen(0x095e, 19) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 19)
#elif PACKETVER >= 20140430
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140423
-packetLen(0x095e, 4) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 4)
#elif PACKETVER >= 20140416
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140409
-packetLen(0x095e, 19) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 19)
#elif PACKETVER >= 20140319
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140305
-packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 36)
#elif PACKETVER >= 20140108
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20141231
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20141224
-packetLen(0x095f, 7) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 7)
#elif PACKETVER >= 20141203
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20141126
-packetLen(0x095f, 8) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 8)
#elif PACKETVER >= 20141112
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20141105
-packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, -1)
#elif PACKETVER >= 20140730
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140723
-packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 4)
#elif PACKETVER >= 20140716
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140709
-packetLen(0x095f, 18) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 18)
#elif PACKETVER >= 20140605
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140528
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20140521
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140514
-packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 5)
#elif PACKETVER >= 20140129
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140122
-packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, -1)
#elif PACKETVER >= 20140108
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20141224
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0960, 4) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 4)
#elif PACKETVER >= 20141119
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20140730
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20140702
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20141217
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 26)
#elif PACKETVER >= 20140827
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20140716
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20140326
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20140226
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20140205
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 26)
#elif PACKETVER >= 20140108
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20141210
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 10)
#elif PACKETVER >= 20141119
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 10)
#elif PACKETVER >= 20140625
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20140521
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20140305
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20141217
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0963, 36) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 36)
#elif PACKETVER >= 20141126
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0963, 90) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 90)
#elif PACKETVER >= 20140618
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140605
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0963, 10) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20140605
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 19)
#elif PACKETVER >= 20140326
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20140305
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20141203
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0965, 26) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 26)
#elif PACKETVER >= 20140618
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 5)
// ignored packet from 2014-06-11cRagexe
// ignored packet from 2014-06-11eRagexe
#elif PACKETVER >= 20140521
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, -1)
#elif PACKETVER >= 20140409
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0965, 12) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 12)
#elif PACKETVER >= 20140122
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20140924
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0966, 4) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 4)
#elif PACKETVER >= 20140605
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0966, -1) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, -1)
#elif PACKETVER >= 20140319
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20140122
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0966, 19) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20141217
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20141022
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20141015
-packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 5)
#elif PACKETVER >= 20140820
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20140625
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20141112
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0968, 18) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 18)
#elif PACKETVER >= 20140702
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 6)
#elif PACKETVER >= 20140528
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20140723
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20140702
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20140402
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0969, 10) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 10)
#elif PACKETVER >= 20140305
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20141231
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20141217
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20141210
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20141203
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20141126
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20141105
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20141008
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140917
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140827
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140820
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140806
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140709
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140625
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140611
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140605
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140528
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140514
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140508
-packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 18)
// ignored packet from 2014-05-08aRagexe
#elif PACKETVER >= 20140430
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140423
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140416
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140326
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140319
-packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, -1)
#elif PACKETVER >= 20140312
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140226
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140212
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140129
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140122
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140115
-packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 18)
#elif PACKETVER >= 20140108
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
#if PACKETVER >= 20140716
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
#elif PACKETVER >= 20140108
-packetLen(0x09e7, 2) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 2)
#endif
// Packet: 0x09e8
#if PACKETVER >= 20140212
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
#elif PACKETVER >= 20140108
-packetLen(0x09e8, 10) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 10)
#endif
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
#if PACKETVER >= 20140115
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
#elif PACKETVER >= 20140108
-packetLen(0x09eb, 23) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, 23)
#endif
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
#if PACKETVER >= 20140326
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
#elif PACKETVER >= 20140115
-packetLen(0x09f1, 10) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 10)
#endif
// Packet: 0x09f2
#if PACKETVER >= 20140409
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
#elif PACKETVER >= 20140326
-packetLen(0x09f2, 4) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 4)
#elif PACKETVER >= 20140115
-packetLen(0x09f2, 3) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 3)
#endif
// Packet: 0x09f3
#if PACKETVER >= 20140326
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
#elif PACKETVER >= 20140305
-packetLen(0x09f3, 10) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 10)
#elif PACKETVER >= 20140115
-packetLen(0x09f3, 15) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 15)
#endif
// Packet: 0x09f4
#if PACKETVER >= 20140409
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
#elif PACKETVER >= 20140326
-packetLen(0x09f4, 4) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 4)
#elif PACKETVER >= 20140305
-packetLen(0x09f4, 3) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 3)
#elif PACKETVER >= 20140115
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
#endif
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
#if PACKETVER >= 20140115
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
#endif
// Packet: 0x09f9
#if PACKETVER >= 20140122
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
#elif PACKETVER >= 20140115
-packetLen(0x09f9, 131) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 131)
#endif
// Packet: 0x09fa
#if PACKETVER >= 20140115
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
#endif
// Packet: 0x09fb
#if PACKETVER >= 20140122
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
#endif
// Packet: 0x09fc
#if PACKETVER >= 20140122
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
#endif
// Packet: 0x09fd
#if PACKETVER >= 20140122
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
#endif
// Packet: 0x09fe
#if PACKETVER >= 20140122
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
#endif
// Packet: 0x09ff
#if PACKETVER >= 20140122
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
#endif
// Packet: 0x0a00
#if PACKETVER >= 20140129
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
#endif
// Packet: 0x0a01
#if PACKETVER >= 20140129
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
#endif
// Packet: 0x0a02
#if PACKETVER >= 20140212
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
#endif
// Packet: 0x0a03
#if PACKETVER >= 20140326
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0a03, 14) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 14)
#endif
// Packet: 0x0a04
#if PACKETVER >= 20140416
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
#elif PACKETVER >= 20140326
// removed
#elif PACKETVER >= 20140226
-packetLen(0x0a04, 11) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 11)
#endif
// Packet: 0x0a05
#if PACKETVER >= 20141119
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
#elif PACKETVER >= 20141008
-packetLen(0x0a05, 49) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 49)
#elif PACKETVER >= 20140416
-packetLen(0x0a05, 48) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 48)
#elif PACKETVER >= 20140226
-packetLen(0x0a05, 6) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 6)
#endif
// Packet: 0x0a06
#if PACKETVER >= 20140416
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
#elif PACKETVER >= 20140226
-packetLen(0x0a06, 5) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 5)
#endif
// Packet: 0x0a07
#if PACKETVER >= 20140521
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
#elif PACKETVER >= 20140416
-packetLen(0x0a07, 7) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 7)
#elif PACKETVER >= 20140326
-packetLen(0x0a07, 6) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 6)
#elif PACKETVER >= 20140305
-packetLen(0x0a07, 4) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 4)
#endif
// Packet: 0x0a08
#if PACKETVER >= 20140416
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
#elif PACKETVER >= 20140326
-packetLen(0x0a08, 7) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 7)
#elif PACKETVER >= 20140305
-packetLen(0x0a08, 5) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 5)
#endif
// Packet: 0x0a09
#if PACKETVER >= 20140312
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
#elif PACKETVER >= 20140305
-packetLen(0x0a09, 50) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 50)
#endif
// Packet: 0x0a0a
#if PACKETVER >= 20140312
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
#elif PACKETVER >= 20140305
-packetLen(0x0a0a, 52) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 52)
#endif
// Packet: 0x0a0b
#if PACKETVER >= 20140312
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
#elif PACKETVER >= 20140305
-packetLen(0x0a0b, 52) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 52)
#endif
// Packet: 0x0a0c
#if PACKETVER >= 20140312
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
#elif PACKETVER >= 20140305
-packetLen(0x0a0c, 61) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 61)
#endif
// Packet: 0x0a0d
#if PACKETVER >= 20140312
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
#elif PACKETVER >= 20140305
-packetLen(0x0a0d, 4) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, 4)
#endif
// Packet: 0x0a0e
#if PACKETVER >= 20140312
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
#endif
// Packet: 0x0a0f
#if PACKETVER >= 20140402
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
#endif
// Packet: 0x0a10
#if PACKETVER >= 20140402
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
#endif
// Packet: 0x0a11
#if PACKETVER >= 20140402
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
#endif
// Packet: 0x0a12
#if PACKETVER >= 20140416
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
#endif
// Packet: 0x0a13
#if PACKETVER >= 20140423
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
#elif PACKETVER >= 20140416
-packetLen(0x0a13, 2) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 2)
#endif
// Packet: 0x0a14
#if PACKETVER >= 20140521
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
#elif PACKETVER >= 20140423
-packetLen(0x0a14, 6) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 6)
#endif
// Packet: 0x0a15
#if PACKETVER >= 20140508
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
#elif PACKETVER >= 20140430
-packetLen(0x0a15, 11) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 11)
#endif
// Packet: 0x0a16
#if PACKETVER >= 20140430
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
#endif
// Packet: 0x0a17
#if PACKETVER >= 20140430
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
#endif
// Packet: 0x0a18
#if PACKETVER >= 20140611
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
#elif PACKETVER >= 20140605
-packetLen(0x0a18, 2) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 2)
#endif
// Packet: 0x0a19
#if PACKETVER >= 20140611
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0a19, -1) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, -1)
#endif
// Packet: 0x0a1a
#if PACKETVER >= 20140611
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
#elif PACKETVER >= 20140605
-packetLen(0x0a1a, 10) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 10)
#endif
// Packet: 0x0a1b
#if PACKETVER >= 20140605
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
#endif
// Packet: 0x0a1c
#if PACKETVER >= 20140611
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
#elif PACKETVER >= 20140605
-packetLen(0x0a1c, 6) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, 6)
#endif
// Packet: 0x0a1d
#if PACKETVER >= 20140611
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0a1d, 14) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 14)
#endif
// Packet: 0x0a1e
#if PACKETVER >= 20140611
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
#endif
// Packet: 0x0a1f
#if PACKETVER >= 20140611
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
#endif
// Packet: 0x0a20
#if PACKETVER >= 20140611
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
#endif
// Packet: 0x0a21
#if PACKETVER >= 20140618
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
#elif PACKETVER >= 20140611
-packetLen(0x0a21, 6) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 6)
#endif
// Packet: 0x0a22
#if PACKETVER >= 20140618
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
#elif PACKETVER >= 20140611
-packetLen(0x0a22, 3) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 3)
#endif
// Packet: 0x0a23
#if PACKETVER >= 20140611
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
#endif
// Packet: 0x0a24
#if PACKETVER >= 20141001
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
#elif PACKETVER >= 20140723
-packetLen(0x0a24, 56) // ZC_ACH_UPDATE
+packetLen(0x0a24, 56)
#elif PACKETVER >= 20140625
-packetLen(0x0a24, 36) // ZC_ACH_UPDATE
+packetLen(0x0a24, 36)
#elif PACKETVER >= 20140611
-packetLen(0x0a24, 35) // ZC_ACH_UPDATE
+packetLen(0x0a24, 35)
#endif
// Packet: 0x0a25
#if PACKETVER >= 20140611
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
#endif
// Packet: 0x0a26
#if PACKETVER >= 20140611
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
#endif
// Packet: 0x0a27
#if PACKETVER >= 20140625
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
#endif
// Packet: 0x0a28
#if PACKETVER >= 20140625
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
#endif
// Packet: 0x0a29
#if PACKETVER >= 20140702
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
#endif
// Packet: 0x0a2a
#if PACKETVER >= 20140702
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
#endif
// Packet: 0x0a2b
#if PACKETVER >= 20140723
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
#endif
// Packet: 0x0a2c
#if PACKETVER >= 20140723
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
#endif
// Packet: 0x0a2d
#if PACKETVER >= 20140820
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
#endif
// Packet: 0x0a2e
#if PACKETVER >= 20140827
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
#endif
// Packet: 0x0a2f
#if PACKETVER >= 20140827
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
#endif
// Packet: 0x0a30
#if PACKETVER >= 20140917
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
#endif
// Packet: 0x0a31
#if PACKETVER >= 20140917
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
#endif
// Packet: 0x0a32
#if PACKETVER >= 20140924
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
#endif
// Packet: 0x0a33
#if PACKETVER >= 20140924
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
#endif
// Packet: 0x0a34
#if PACKETVER >= 20140924
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
#endif
// Packet: 0x0a35
#if PACKETVER >= 20141119
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
#endif
// Packet: 0x0a36
#if PACKETVER >= 20141126
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
#endif
// Packet: 0x0a37
#if PACKETVER >= 20141126
-packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 57)
#endif
diff --git a/src/common/packets/packets2014_len_re.h b/src/common/packets/packets2014_len_re.h
index e71f4e975..de1eac07e 100644
--- a/src/common/packets/packets2014_len_re.h
+++ b/src/common/packets/packets2014_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4543 +25,4543 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20140625
-packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 149)
#elif PACKETVER >= 20140108
-packetLen(0x006d, 146) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 146)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
#if PACKETVER >= 20140226
-packetLen(0x01c4, 53) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 53)
// ignored packet from 2014-02-26bRagexeRE
#elif PACKETVER >= 20140219
-packetLen(0x01c4, 53) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 53)
// ignored packet from 2014-02-19bRagexeRE
#elif PACKETVER >= 20140129
-packetLen(0x01c4, 43) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 43)
#elif PACKETVER >= 20140108
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#endif
// Packet: 0x01c5
#if PACKETVER >= 20140226
-packetLen(0x01c5, 53) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 53)
// ignored packet from 2014-02-26bRagexeRE
#elif PACKETVER >= 20140219
-packetLen(0x01c5, 53) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 53)
// ignored packet from 2014-02-19bRagexeRE
#elif PACKETVER >= 20140129
-packetLen(0x01c5, 43) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 43)
#elif PACKETVER >= 20140108
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#endif
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20141231
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20141210
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20141126
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20141015
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140903
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140813
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140702
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0202, 8) // CZ_ADD_FRIENDS
+packetLen(0x0202, 8)
#elif PACKETVER >= 20140605
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140508
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140423
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140319
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0202, 10) // CZ_ADD_FRIENDS
+packetLen(0x0202, 10)
#elif PACKETVER >= 20140305
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20140226
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20140212
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20140115
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20141231
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20141112
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20141105
-packetLen(0x022d, 4) // CZ_COMMAND_MER
+packetLen(0x022d, 4)
#elif PACKETVER >= 20141029
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20141022
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20141015
-packetLen(0x022d, 8) // CZ_COMMAND_MER
+packetLen(0x022d, 8)
#elif PACKETVER >= 20141008
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140924
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140917
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20140903
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140827
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140813
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140806
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140730
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20140709
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140702
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20140514
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140508
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140423
-packetLen(0x022d, 18) // CZ_COMMAND_MER
+packetLen(0x022d, 18)
#elif PACKETVER >= 20140416
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140212
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140205
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20140115
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20140108
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20141231
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20141105
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20141029
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20141022
-packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 10)
#elif PACKETVER >= 20141015
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20141008
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140903
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140827
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140813
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140806
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140709
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140702
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20140625
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20140508
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20140423
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140416
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140409
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140402
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20140319
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140312
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20140212
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140205
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20140115
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20140108
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20141231
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20141210
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140917
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140813
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140528
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140508
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140423
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140312
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140212
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20140129
-packetLen(0x0281, 10) // CZ_GANGSI_RANK
+packetLen(0x0281, 10)
#elif PACKETVER >= 20140115
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20140730
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20140723
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20140514
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20140508
-packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 90)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140326
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20140319
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20140108
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20141231
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20141217
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20141210
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20141203
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20141126
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20141112
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20141105
-packetLen(0x035f, 10) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 10)
#elif PACKETVER >= 20141001
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140917
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140827
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140820
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140806
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140709
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140702
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140611
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140605
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140528
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140521
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140514
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140508
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x035f, 36) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 36)
#elif PACKETVER >= 20140423
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140416
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140312
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140226
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140212
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140129
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20140122
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20140108
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20141231
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20141223
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0360, 8) // CZ_REQUEST_TIME2
+packetLen(0x0360, 8)
#elif PACKETVER >= 20141210
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20141203
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20141112
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20141001
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140820
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140709
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140611
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140528
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20140521
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140514
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140423
-packetLen(0x0360, 36) // CZ_REQUEST_TIME2
+packetLen(0x0360, 36)
#elif PACKETVER >= 20140416
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140409
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20140312
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140219
-packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+packetLen(0x0360, 4)
#elif PACKETVER >= 20140212
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20140122
-packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+packetLen(0x0360, 7)
#elif PACKETVER >= 20140108
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20141231
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20141223
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20141105
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20141015
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20141001
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20140903
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140813
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140514
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140423
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140312
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20140212
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20140129
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20140122
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#endif
// Packet: 0x0362
#if PACKETVER >= 20141231
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20141210
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20141119
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20141105
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20141022
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140813
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140723
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140528
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140423
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140402
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140312
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140226
-packetLen(0x0362, 26) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 26)
#elif PACKETVER >= 20140212
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20140115
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20141231
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20141105
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20141022
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140917
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140813
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140611
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140528
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20140423
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140312
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140212
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20140115
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20141231
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20141105
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20141022
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20141015
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20141008
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140917
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140813
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140730
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20140723
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20140716
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140528
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140423
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140409
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
#elif PACKETVER >= 20140312
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140226
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20140219
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20140212
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20140115
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20141231
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20141105
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20141022
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20141001
-packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 12)
#elif PACKETVER >= 20140924
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20140827
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140820
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 36)
#elif PACKETVER >= 20140806
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140611
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140528
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140508
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140423
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140402
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20140312
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140212
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20140115
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20141231
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20141217
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20141203
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20141105
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140924
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20140917
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20140827
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140820
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140730
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20140709
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140611
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140528
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140514
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140423
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140319
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20140226
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140212
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20140122
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20141210
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20141126
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20141001
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0367, 26) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 26)
#elif PACKETVER >= 20140917
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20140806
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20140508
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140205
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20140122
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0367, 8) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20141231
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20141217
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20141203
-packetLen(0x0368, 8) // CZ_REQNAME2
+packetLen(0x0368, 8)
#elif PACKETVER >= 20141126
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20141105
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140820
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140730
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140709
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140611
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0368, 7) // CZ_REQNAME2
+packetLen(0x0368, 7)
#elif PACKETVER >= 20140528
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140514
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140423
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140312
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140212
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20140122
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20141231
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20141217
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20141203
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20141105
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20141001
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140924
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20140827
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140820
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140709
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140611
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 19)
#elif PACKETVER >= 20140528
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140514
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140423
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140312
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140219
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0369, 18) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 18)
#elif PACKETVER >= 20140129
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20140122
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20141231
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20141217
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20141105
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20141015
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140903
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140813
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140730
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0436, 12) // CZ_ENTER2
+packetLen(0x0436, 12)
#elif PACKETVER >= 20140611
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140508
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20140416
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140312
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0436, 10) // CZ_ENTER2
+packetLen(0x0436, 10)
#elif PACKETVER >= 20140212
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20140115
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#endif
// Packet: 0x0437
#if PACKETVER >= 20141231
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20141217
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20141203
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20141105
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+packetLen(0x0437, 36)
#elif PACKETVER >= 20141001
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140917
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140820
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140730
-packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+packetLen(0x0437, 19)
#elif PACKETVER >= 20140716
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20140702
-packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+packetLen(0x0437, 26)
#elif PACKETVER >= 20140611
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140528
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140514
-packetLen(0x0437, 12) // CZ_REQUEST_ACT2
+packetLen(0x0437, 12)
#elif PACKETVER >= 20140508
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140423
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140312
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140212
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20140122
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20141231
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20141223
-packetLen(0x0438, 26) // CZ_USE_SKILL2
+packetLen(0x0438, 26)
#elif PACKETVER >= 20141217
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20141203
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20141119
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20141105
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20141022
-packetLen(0x0438, 36) // CZ_USE_SKILL2
+packetLen(0x0438, 36)
#elif PACKETVER >= 20141001
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140917
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140820
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140709
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20140618
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20140605
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140528
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140514
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140423
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140312
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0438, 19) // CZ_USE_SKILL2
+packetLen(0x0438, 19)
#elif PACKETVER >= 20140226
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140219
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0438, 90) // CZ_USE_SKILL2
+packetLen(0x0438, 90)
#elif PACKETVER >= 20140129
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20140122
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20141231
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20141217
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20141210
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#elif PACKETVER >= 20141105
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20141029
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20141022
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20141008
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20141001
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140924
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20140917
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140820
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140813
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20140806
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140723
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140716
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20140709
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140702
-packetLen(0x07e4, 10) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 10)
#elif PACKETVER >= 20140618
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140611
-packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 8)
#elif PACKETVER >= 20140605
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140528
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140521
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140514
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140508
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140416
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140326
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140319
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20140312
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140305
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20140212
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140205
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20140115
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20140108
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20141231
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20141105
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20141029
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20141022
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20141008
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140917
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140827
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140813
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140806
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140730
-packetLen(0x07ec, 4) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 4)
#elif PACKETVER >= 20140611
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140605
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140528
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140521
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140508
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140423
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140416
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140409
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140326
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20140312
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140305
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140212
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140205
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20140129
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20140122
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20140115
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20140108
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20141231
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20141210
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20141126
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20141022
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20141001
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20140917
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140820
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20140806
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140730
-packetLen(0x0802, 8) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 8)
#elif PACKETVER >= 20140611
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140528
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140514
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140423
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140312
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140226
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20140212
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20140129
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20140122
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
#if PACKETVER >= 20140226
-packetLen(0x080f, 51) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 51)
// ignored packet from 2014-02-26bRagexeRE
#elif PACKETVER >= 20140219
-packetLen(0x080f, 51) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 51)
// ignored packet from 2014-02-19bRagexeRE
#elif PACKETVER >= 20140129
-packetLen(0x080f, 41) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 41)
#elif PACKETVER >= 20140108
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
#endif
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20141231
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20141203
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140917
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140820
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140723
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0811, 7) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 7)
#elif PACKETVER >= 20140709
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140528
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140423
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20140416
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20140312
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140226
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20140212
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20140115
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20141231
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20141217
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20141203
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140924
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20140917
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140820
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140730
-packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 26)
#elif PACKETVER >= 20140709
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20140625
-packetLen(0x0815, 4) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 4)
#elif PACKETVER >= 20140611
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140528
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140423
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20140312
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0815, 5) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 5)
#elif PACKETVER >= 20140226
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140212
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20140122
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20140806
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 7)
#elif PACKETVER >= 20140702
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20140521
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0817, 4) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 4)
#elif PACKETVER >= 20140508
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140108
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20141231
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20141217
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20141203
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0819, 18) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 18)
#elif PACKETVER >= 20141105
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140917
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140827
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140820
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140730
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140709
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20140611
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140528
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140423
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140409
-packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 8)
#elif PACKETVER >= 20140312
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140212
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20140122
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20141231
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20141119
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20141029
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 12)
#elif PACKETVER >= 20140827
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20140709
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0835, 12) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 12)
#elif PACKETVER >= 20140625
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20140508
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140108
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20141231
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141217
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141203
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141105
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141022
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20141001
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20140924
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20140827
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140820
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140730
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20140618
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0838, 90) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 90)
#elif PACKETVER >= 20140605
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140528
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140514
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140423
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140416
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140312
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140226
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20140212
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20140122
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20141231
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20141217
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20141210
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20141203
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20141126
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20141119
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20141112
-packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 8)
#elif PACKETVER >= 20141105
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20141001
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140917
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140827
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140820
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140806
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140709
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140702
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140611
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140605
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140528
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140521
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140514
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140508
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
// ignored packet from 2014-05-08bRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20140423
-packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 5)
#elif PACKETVER >= 20140416
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140402
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140326
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20140312
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140226
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140212
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140205
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20140129
-packetLen(0x083c, 4) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 4)
#elif PACKETVER >= 20140122
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20140108
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20141231
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20141223
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20141126
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20141119
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20140709
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20140702
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20140625
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20140326
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20140319
-packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 5)
#elif PACKETVER >= 20140108
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20140430
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20140423
-packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 5)
#elif PACKETVER >= 20140416
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20140409
-packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 6)
#elif PACKETVER >= 20140402
-packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 8)
#elif PACKETVER >= 20140226
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20140219
-packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 6)
#elif PACKETVER >= 20140108
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20141112
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20141105
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20140723
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20140716
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20140226
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20140219
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20140108
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20140625
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20140618
-packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 8)
#elif PACKETVER >= 20140226
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20140219
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20140108
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20140806
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20140730
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20140319
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20140312
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20140108
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20141119
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20141112
-packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, -1)
#elif PACKETVER >= 20140730
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20140723
-packetLen(0x085f, 5) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 5)
#elif PACKETVER >= 20140716
-packetLen(0x085f, 19) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 19)
#elif PACKETVER >= 20140605
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20140528
-packetLen(0x085f, 18) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 18)
#elif PACKETVER >= 20140226
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20140219
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20140108
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20141223
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20140716
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20140625
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0860, 26) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 26)
#elif PACKETVER >= 20140226
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20141210
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 8)
#elif PACKETVER >= 20141126
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 26)
#elif PACKETVER >= 20140827
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0861, 10) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 10)
#elif PACKETVER >= 20140618
-packetLen(0x0861, 90) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 90)
#elif PACKETVER >= 20140514
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20141001
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 4)
#elif PACKETVER >= 20140605
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20140430
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20141119
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20141105
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20140430
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20140129
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20141112
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20141001
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, -1)
#elif PACKETVER >= 20140917
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20140827
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0864, 19) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 19)
#elif PACKETVER >= 20140618
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0864, 7) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 7)
#elif PACKETVER >= 20140108
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20141231
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0865, 90) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 90)
#elif PACKETVER >= 20141126
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20141112
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20141001
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20140521
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0865, 7) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 7)
#elif PACKETVER >= 20140402
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20140122
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0865, 36) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20141126
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20140716
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 4)
#elif PACKETVER >= 20140430
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0866, 19) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 19)
#elif PACKETVER >= 20140326
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20141231
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20141001
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20140618
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20140521
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20140402
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0867, 12) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 12)
#elif PACKETVER >= 20140305
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20140820
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 5)
#elif PACKETVER >= 20140723
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 26)
#elif PACKETVER >= 20140521
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20140416
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0868, 12) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 12)
#elif PACKETVER >= 20140402
-packetLen(0x0868, 10) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 10)
#elif PACKETVER >= 20140226
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0868, 36) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20141119
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20140827
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20140730
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20140716
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 5)
#elif PACKETVER >= 20140528
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0869, 36) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 36)
#elif PACKETVER >= 20140402
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0869, 18) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 18)
#elif PACKETVER >= 20140108
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20140416
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20140409
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20140108
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20140702
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20140625
-packetLen(0x086b, 26) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 26)
#elif PACKETVER >= 20140430
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20140423
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20140402
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20140326
-packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 8)
#elif PACKETVER >= 20140108
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20141231
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20141223
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20141217
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20141210
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20141203
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20141119
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20141112
-packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 18)
#elif PACKETVER >= 20140827
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20140820
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20140709
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20140702
-packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 18)
#elif PACKETVER >= 20140625
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20140618
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20140611
-packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 4)
#elif PACKETVER >= 20140108
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20141231
-packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 36)
#elif PACKETVER >= 20141210
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20141203
-packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 8)
#elif PACKETVER >= 20141001
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20140924
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20140917
-packetLen(0x086d, 90) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 90)
#elif PACKETVER >= 20140730
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20140723
-packetLen(0x086d, 90) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 90)
#elif PACKETVER >= 20140416
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20140409
-packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, -1)
#elif PACKETVER >= 20140108
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20141210
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20141203
-packetLen(0x086e, 6) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 6)
#elif PACKETVER >= 20141126
-packetLen(0x086e, 19) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 19)
#elif PACKETVER >= 20141022
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20141015
-packetLen(0x086e, 19) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 19)
#elif PACKETVER >= 20141001
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20140924
-packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 5)
#elif PACKETVER >= 20140827
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20140820
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20140326
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20140319
-packetLen(0x086e, 4) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 4)
#elif PACKETVER >= 20140219
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20140212
-packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 10)
#elif PACKETVER >= 20140108
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20140430
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20140423
-packetLen(0x086f, 90) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 90)
#elif PACKETVER >= 20140319
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20140312
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20140226
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20140219
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20140108
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20141231
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 5)
#elif PACKETVER >= 20140508
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 26)
#elif PACKETVER >= 20140129
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 18)
#elif PACKETVER >= 20140108
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20141203
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0871, 8) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 8)
#elif PACKETVER >= 20141119
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0871, -1) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, -1)
#elif PACKETVER >= 20141105
-packetLen(0x0871, 36) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 36)
#elif PACKETVER >= 20140723
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0871, 8) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 5)
#elif PACKETVER >= 20140129
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4591,4423 +4591,4423 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20141126
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0873, 10) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 10)
#elif PACKETVER >= 20140430
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20141112
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20140618
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0874, 26) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 26)
#elif PACKETVER >= 20140219
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20141223
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20141126
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20141112
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0875, 7) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 7)
#elif PACKETVER >= 20140716
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20140702
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20140605
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20140416
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20140827
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#elif PACKETVER >= 20140521
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20141112
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20140716
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0877, 10) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 10)
#elif PACKETVER >= 20140605
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20140521
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 8)
#elif PACKETVER >= 20140305
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0877, 19) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 19)
#elif PACKETVER >= 20140219
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20141223
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20141029
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 8)
#elif PACKETVER >= 20140820
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20140625
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 6)
#elif PACKETVER >= 20140312
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 4)
#elif PACKETVER >= 20140219
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0878, 12) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 12)
#elif PACKETVER >= 20140108
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20141223
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 5)
#elif PACKETVER >= 20141112
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0879, 12) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 12)
#elif PACKETVER >= 20140716
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20140605
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20141231
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20141223
-packetLen(0x087a, 6) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 6)
#elif PACKETVER >= 20140108
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20141231
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20141223
-packetLen(0x087b, 4) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 4)
#elif PACKETVER >= 20141217
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20141210
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20141203
-packetLen(0x087b, 5) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 5)
#elif PACKETVER >= 20140702
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20140625
-packetLen(0x087b, 10) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 10)
#elif PACKETVER >= 20140108
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20141126
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20141119
-packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 6)
#elif PACKETVER >= 20141008
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20141001
-packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 8)
#elif PACKETVER >= 20140820
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20140813
-packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 26)
#elif PACKETVER >= 20140402
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20140326
-packetLen(0x087c, 5) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 5)
#elif PACKETVER >= 20140226
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20140219
-packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 8)
#elif PACKETVER >= 20140108
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20141029
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20141022
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20140806
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20140730
-packetLen(0x087d, 8) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 8)
#elif PACKETVER >= 20140723
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20140625
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20140618
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20140521
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20140514
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20140108
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20141210
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20141203
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20140806
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140730
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20140605
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140528
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20140416
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140409
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20140402
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140326
-packetLen(0x087e, 26) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 26)
#elif PACKETVER >= 20140219
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20140212
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20140108
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20140806
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20140730
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20140508
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20140430
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20140402
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20140326
-packetLen(0x087f, 10) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 10)
#elif PACKETVER >= 20140108
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20141210
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0880, 5) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20140723
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20140820
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0882, 18) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 18)
#elif PACKETVER >= 20140409
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0882, 6) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20141223
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20140416
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 5)
#elif PACKETVER >= 20140402
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20141203
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0884, 4) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 4)
#elif PACKETVER >= 20141008
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 26)
#elif PACKETVER >= 20140625
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20140508
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0884, 18) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 18)
#elif PACKETVER >= 20140416
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20140205
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20141217
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20141126
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20141112
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20141008
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20140618
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20140521
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20140205
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20141119
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20141001
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 90)
#elif PACKETVER >= 20140618
-packetLen(0x0886, 18) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 18)
#elif PACKETVER >= 20140521
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20141119
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 26)
#elif PACKETVER >= 20141105
-packetLen(0x0887, 90) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 90)
#elif PACKETVER >= 20140716
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20140702
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20140402
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0887, 4) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 4)
#elif PACKETVER >= 20140305
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0887, 12) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 12)
#elif PACKETVER >= 20140122
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20141126
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20140730
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20140716
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20140702
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0888, 12) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 12)
#elif PACKETVER >= 20140219
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20141223
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0889, 12) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 12)
#elif PACKETVER >= 20141210
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0889, 26) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 26)
#elif PACKETVER >= 20140924
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 7)
#elif PACKETVER >= 20140806
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 18)
#elif PACKETVER >= 20140319
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 19)
#elif PACKETVER >= 20140226
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20140205
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20140702
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140625
-packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, -1)
#elif PACKETVER >= 20140605
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140528
-packetLen(0x088a, 12) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 12)
#elif PACKETVER >= 20140521
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140514
-packetLen(0x088a, 5) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 5)
#elif PACKETVER >= 20140416
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140409
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20140402
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20140122
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20140115
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20140108
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20141001
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140924
-packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, -1)
#elif PACKETVER >= 20140806
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140730
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20140716
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140709
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20140528
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140521
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20140514
-packetLen(0x088b, 90) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 90)
#elif PACKETVER >= 20140430
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20140423
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20140108
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20140618
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140611
-packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 10)
#elif PACKETVER >= 20140409
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140402
-packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 4)
#elif PACKETVER >= 20140319
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140312
-packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 10)
#elif PACKETVER >= 20140219
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140212
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20140129
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20140122
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20140108
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20141126
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20141119
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20141112
-packetLen(0x088d, 90) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 90)
#elif PACKETVER >= 20140806
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20140730
-packetLen(0x088d, 12) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 12)
#elif PACKETVER >= 20140723
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20140716
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20140528
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20140521
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20140319
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20140312
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20140108
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20141223
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20141217
-packetLen(0x088e, 18) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 18)
#elif PACKETVER >= 20140702
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20140625
-packetLen(0x088e, 19) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 19)
#elif PACKETVER >= 20140326
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20140319
-packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 26)
#elif PACKETVER >= 20140312
-packetLen(0x088e, 7) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 7)
#elif PACKETVER >= 20140122
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20140115
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20140108
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20140917
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20140903
-packetLen(0x088f, 19) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 19)
#elif PACKETVER >= 20140723
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20140716
-packetLen(0x088f, 10) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 10)
#elif PACKETVER >= 20140605
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20140528
-packetLen(0x088f, 90) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 90)
#elif PACKETVER >= 20140108
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20140625
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20140430
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 10)
#elif PACKETVER >= 20140416
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20140402
-packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 26)
#elif PACKETVER >= 20140326
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20140129
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20140108
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20140827
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20140618
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0891, 7) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 7)
#elif PACKETVER >= 20140319
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20141112
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20140806
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 8)
#elif PACKETVER >= 20140709
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0892, 8) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 8)
#elif PACKETVER >= 20140625
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20140618
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0893, 5) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 5)
#elif PACKETVER >= 20140416
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 7)
#elif PACKETVER >= 20140326
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20140129
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 26)
#elif PACKETVER >= 20140108
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20141001
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0894, 7) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 7)
#elif PACKETVER >= 20140618
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0894, -1) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, -1)
#elif PACKETVER >= 20140605
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 8)
#elif PACKETVER >= 20140319
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20140305
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20141126
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20140924
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 5)
#elif PACKETVER >= 20140820
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20140709
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20140521
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20140430
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20140305
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20141203
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20141029
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0896, 26) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 26)
#elif PACKETVER >= 20140730
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0896, 6) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 6)
#elif PACKETVER >= 20140716
-packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 90)
#elif PACKETVER >= 20140605
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20140430
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0896, 7) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 7)
#elif PACKETVER >= 20140416
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0896, 10) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 10)
#elif PACKETVER >= 20140402
-packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20140924
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20140820
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20140716
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0897, 18) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 18)
#elif PACKETVER >= 20140430
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20140416
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20140226
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20141210
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20141112
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 8)
#elif PACKETVER >= 20141001
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0898, 90) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 90)
#elif PACKETVER >= 20140917
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20140730
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 8)
#elif PACKETVER >= 20140716
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0898, 19) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 19)
#elif PACKETVER >= 20140430
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 10)
#elif PACKETVER >= 20140402
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20140226
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20141029
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20140827
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 10)
#elif PACKETVER >= 20140813
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20140416
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20140129
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20141231
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20141223
-packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 5)
#elif PACKETVER >= 20140827
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20140820
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20140723
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20140716
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20140521
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20140514
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20140409
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20140402
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20140108
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20141231
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20141223
-packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 18)
#elif PACKETVER >= 20140917
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140903
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20140827
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140820
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20140618
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140611
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20140514
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140508
-packetLen(0x089b, 19) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 19)
#elif PACKETVER >= 20140430
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140423
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20140319
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140312
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20140122
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20140115
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20140108
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20141210
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20141203
-packetLen(0x089c, 10) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 10)
#elif PACKETVER >= 20141008
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20141001
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20140924
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20140917
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20140528
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20140514
-packetLen(0x089c, 26) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 26)
#elif PACKETVER >= 20140108
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20141210
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20141203
-packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 12)
#elif PACKETVER >= 20141008
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20141001
-packetLen(0x089d, 26) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 26)
#elif PACKETVER >= 20140605
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140528
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20140430
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140423
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20140319
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140312
-packetLen(0x089d, 12) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 12)
#elif PACKETVER >= 20140219
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140212
-packetLen(0x089d, 10) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 10)
#elif PACKETVER >= 20140129
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20140122
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20140108
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20140730
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20140723
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20140319
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20140312
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20140219
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20140212
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20140108
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20141223
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20141217
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20140723
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20140716
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20140326
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20140319
-packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 10)
#elif PACKETVER >= 20140226
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20140219
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20140108
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20141119
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20141112
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20141105
-packetLen(0x08a0, 19) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 19)
#elif PACKETVER >= 20140806
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20140709
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20140702
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20140219
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08a0, 36) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 36)
#elif PACKETVER >= 20140108
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20141223
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20141217
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20141119
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20141112
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20140702
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20140625
-packetLen(0x08a1, 6) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 6)
#elif PACKETVER >= 20140618
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20140611
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20140508
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20140430
-packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 8)
#elif PACKETVER >= 20140219
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08a1, 26) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 26)
#elif PACKETVER >= 20140108
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20141223
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20141217
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20140730
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140723
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20140709
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140702
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20140625
-packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 5)
#elif PACKETVER >= 20140618
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140611
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20140416
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140409
-packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 4)
#elif PACKETVER >= 20140326
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140319
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20140129
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20140122
-packetLen(0x08a2, 4) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 4)
#elif PACKETVER >= 20140108
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20141231
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20141223
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20140827
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20140820
-packetLen(0x08a3, 5) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 5)
#elif PACKETVER >= 20140813
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20140108
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20141231
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20141223
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
#elif PACKETVER >= 20141203
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20141126
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20140723
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20140716
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20140605
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20140528
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20140416
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20140409
-packetLen(0x08a4, 10) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 10)
#elif PACKETVER >= 20140108
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20141210
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20141203
-packetLen(0x08a5, 7) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 7)
#elif PACKETVER >= 20141112
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20141105
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20141001
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20140924
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20140521
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20140514
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20140108
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20140806
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20140625
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20140618
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20140319
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20140312
-packetLen(0x08a6, 4) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 4)
#elif PACKETVER >= 20140226
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20140219
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20140108
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20141001
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140924
-packetLen(0x08a7, 10) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 10)
#elif PACKETVER >= 20140827
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140820
-packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, -1)
#elif PACKETVER >= 20140813
-packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 8)
#elif PACKETVER >= 20140806
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20140625
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140618
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20140416
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140409
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20140219
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, -1)
#elif PACKETVER >= 20140122
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20140115
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20140108
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20141231
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20141223
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20141217
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20141126
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20141119
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20140924
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20140917
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20140430
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20140423
-packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 5)
#elif PACKETVER >= 20140108
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20140806
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08a9, 90) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 90)
#elif PACKETVER >= 20140416
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20140409
-packetLen(0x08a9, 36) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 36)
#elif PACKETVER >= 20140319
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20140312
-packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 26)
#elif PACKETVER >= 20140108
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20141210
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20141203
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20141126
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20141119
-packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 12)
#elif PACKETVER >= 20141029
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20141022
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20140402
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20140326
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20140226
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20140219
-packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 12)
#elif PACKETVER >= 20140129
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20140122
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20140108
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20141223
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20141217
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20141119
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20141112
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#elif PACKETVER >= 20141029
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20141022
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20140820
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20140813
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20140605
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20140528
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20140514
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20140508
-packetLen(0x08ab, 4) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 4)
#elif PACKETVER >= 20140108
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20141231
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20141223
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#elif PACKETVER >= 20141217
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20141210
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#elif PACKETVER >= 20140723
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140716
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20140625
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140618
-packetLen(0x08ac, 4) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 4)
#elif PACKETVER >= 20140528
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140521
-packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 19)
#elif PACKETVER >= 20140409
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140402
-packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 18)
#elif PACKETVER >= 20140326
-packetLen(0x08ac, 90) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 90)
#elif PACKETVER >= 20140226
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20140108
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20141203
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20141126
-packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 36)
#elif PACKETVER >= 20141112
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20141105
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20141029
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20141022
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20141008
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20141001
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20140806
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140730
-packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 36)
#elif PACKETVER >= 20140723
-packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 18)
#elif PACKETVER >= 20140716
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140709
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20140430
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140423
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20140402
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140326
-packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 19)
#elif PACKETVER >= 20140319
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140312
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20140219
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20140212
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20140108
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
#if PACKETVER >= 20140625
-packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 149)
#elif PACKETVER >= 20140108
-packetLen(0x08e3, 146) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 146)
#endif
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20141217
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 26)
#elif PACKETVER >= 20140625
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 10)
#elif PACKETVER >= 20140129
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0917, 6) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20141126
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0918, 10) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 10)
#elif PACKETVER >= 20141001
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0918, 19) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 19)
#elif PACKETVER >= 20140723
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 5)
#elif PACKETVER >= 20140521
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 18)
#elif PACKETVER >= 20140416
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20140402
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20141223
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20141119
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0919, 12) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 12)
#elif PACKETVER >= 20140924
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0919, -1) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, -1)
#elif PACKETVER >= 20140219
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20141029
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20141022
-packetLen(0x091a, 26) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 26)
#elif PACKETVER >= 20140716
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140709
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20140702
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140625
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20140430
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140423
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20140305
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140226
-packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 8)
#elif PACKETVER >= 20140129
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20140122
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20140108
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20140219
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20140212
-packetLen(0x091b, 26) // ZC_PRNPC_STATE
+packetLen(0x091b, 26)
#elif PACKETVER >= 20140108
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20141210
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20141203
-packetLen(0x091c, 18) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 18)
#elif PACKETVER >= 20141008
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20141001
-packetLen(0x091c, 4) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 4)
#elif PACKETVER >= 20140416
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20140409
-packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 90)
#elif PACKETVER >= 20140319
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20140312
-packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 26)
#elif PACKETVER >= 20140108
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20141210
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20141203
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20141112
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20141105
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20140827
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20140820
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20140605
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20140528
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20140521
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20140514
-packetLen(0x091d, 19) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 19)
#elif PACKETVER >= 20140108
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20141112
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20141105
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20140806
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20140730
-packetLen(0x091e, 26) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 26)
#elif PACKETVER >= 20140319
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20140312
-packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 5)
#elif PACKETVER >= 20140108
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20141223
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20141217
-packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 10)
#elif PACKETVER >= 20140723
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20140716
-packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 18)
#elif PACKETVER >= 20140625
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20140618
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20140409
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20140402
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20140326
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20140319
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20140108
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20141203
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20141119
-packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 5)
#elif PACKETVER >= 20140430
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20140423
-packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 26)
#elif PACKETVER >= 20140409
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20141126
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0921, 19) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 19)
#elif PACKETVER >= 20140611
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0921, 36) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 36)
#elif PACKETVER >= 20140305
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0921, 26) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 26)
#elif PACKETVER >= 20140219
-packetLen(0x0921, 7) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 7)
#elif PACKETVER >= 20140205
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0921, 18) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 18)
#elif PACKETVER >= 20140108
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20141022
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20141015
-packetLen(0x0922, 4) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 4)
#elif PACKETVER >= 20140108
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20140326
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20141223
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0924, 7) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 7)
#elif PACKETVER >= 20140618
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20140205
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0924, -1) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20141001
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 8)
#elif PACKETVER >= 20140716
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0925, 90) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 90)
#elif PACKETVER >= 20140702
-packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 5)
#elif PACKETVER >= 20140521
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0925, 5) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20141119
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20141001
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20140723
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20140409
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0926, 36) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20141217
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 8)
#elif PACKETVER >= 20140730
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20140514
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0927, 36) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 36)
#elif PACKETVER >= 20140226
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0927, 90) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 90)
#elif PACKETVER >= 20140108
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20141210
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 6)
#elif PACKETVER >= 20141001
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 8)
#elif PACKETVER >= 20140219
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20141126
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20141112
-packetLen(0x0929, 7) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 7)
#elif PACKETVER >= 20140625
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 12)
#elif PACKETVER >= 20140605
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0929, 7) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 7)
#elif PACKETVER >= 20140108
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20141210
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20141203
-packetLen(0x092a, 4) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 4)
#elif PACKETVER >= 20141008
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20141001
-packetLen(0x092a, 36) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 36)
#elif PACKETVER >= 20140924
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20140917
-packetLen(0x092a, 12) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 12)
#elif PACKETVER >= 20140806
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20140730
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20140402
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20140326
-packetLen(0x092a, 36) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 36)
#elif PACKETVER >= 20140319
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20140312
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20140108
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20141217
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20141210
-packetLen(0x092b, 18) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 18)
#elif PACKETVER >= 20141112
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20141105
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20141029
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20141022
-packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 8)
#elif PACKETVER >= 20141001
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20140924
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20140108
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20140723
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20140716
-packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 26)
#elif PACKETVER >= 20140709
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20140702
-packetLen(0x092c, 19) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 19)
#elif PACKETVER >= 20140521
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20140514
-packetLen(0x092c, 8) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 8)
#elif PACKETVER >= 20140205
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20140129
-packetLen(0x092c, 36) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 36)
#elif PACKETVER >= 20140108
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20141001
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20140924
-packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 12)
#elif PACKETVER >= 20140409
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20140402
-packetLen(0x092d, 90) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 90)
#elif PACKETVER >= 20140122
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20140115
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20140108
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20140416
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20140409
-packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 26)
#elif PACKETVER >= 20140108
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20141126
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20141119
-packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 8)
#elif PACKETVER >= 20140827
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20140820
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20140730
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20140723
-packetLen(0x092f, 19) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 19)
#elif PACKETVER >= 20140716
-packetLen(0x092f, 12) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 12)
#elif PACKETVER >= 20140709
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20140521
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20140514
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20140129
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20140122
-packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 8)
#elif PACKETVER >= 20140108
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20141231
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20140924
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 8)
#elif PACKETVER >= 20140605
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 8)
#elif PACKETVER >= 20140219
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20140917
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20140903
-packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 5)
#elif PACKETVER >= 20140716
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20140611
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 5)
#elif PACKETVER >= 20140305
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0931, 4) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 4)
#elif PACKETVER >= 20140108
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20141231
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 8)
#elif PACKETVER >= 20141217
-packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, -1)
#elif PACKETVER >= 20140514
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20141223
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0933, 26) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 26)
#elif PACKETVER >= 20141126
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0933, 36) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 36)
#elif PACKETVER >= 20140709
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20140702
-packetLen(0x0933, 4) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 4)
#elif PACKETVER >= 20140409
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0933, -1) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20141001
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20140806
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0934, -1) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, -1)
#elif PACKETVER >= 20140723
-packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 26)
#elif PACKETVER >= 20140716
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0934, 6) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 6)
#elif PACKETVER >= 20140514
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140508
-packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 8)
#elif PACKETVER >= 20140312
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140305
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20140219
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0934, 7) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 7)
#elif PACKETVER >= 20140108
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20140730
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20140625
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20141223
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 6)
#elif PACKETVER >= 20141210
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20141022
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20141015
-packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 36)
#elif PACKETVER >= 20140827
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 12)
#elif PACKETVER >= 20140618
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0936, 12) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 12)
#elif PACKETVER >= 20140219
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0936, 4) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 4)
#elif PACKETVER >= 20140115
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20140108
-packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 36)
#endif
// Packet: 0x0937
#if PACKETVER >= 20141008
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20140827
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0937, 5) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20141126
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 6)
#elif PACKETVER >= 20140723
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0938, 8) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 8)
#elif PACKETVER >= 20140625
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 26)
#elif PACKETVER >= 20140212
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20140205
-packetLen(0x0938, 36) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20141223
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20141008
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 8)
#elif PACKETVER >= 20140730
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20140716
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20140226
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20140827
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20140820
-packetLen(0x093a, 36) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 36)
#elif PACKETVER >= 20140605
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20140528
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20140108
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20141029
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20141022
-packetLen(0x093b, 19) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 19)
#elif PACKETVER >= 20140723
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20140716
-packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 6)
#elif PACKETVER >= 20140625
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20140618
-packetLen(0x093b, 7) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 7)
#elif PACKETVER >= 20140508
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20140430
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20140108
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
// Packet: 0x093d
#if PACKETVER >= 20140730
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20140723
-packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 6)
#elif PACKETVER >= 20140402
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20140326
-packetLen(0x093d, 7) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 7)
#elif PACKETVER >= 20140219
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20140212
-packetLen(0x093d, 19) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 19)
#elif PACKETVER >= 20140108
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20141112
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20141105
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20140827
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20140820
-packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 6)
#elif PACKETVER >= 20140108
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20141008
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20141001
-packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 6)
#elif PACKETVER >= 20140716
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20140709
-packetLen(0x093f, 12) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 12)
#elif PACKETVER >= 20140605
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20140528
-packetLen(0x093f, 26) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 26)
#elif PACKETVER >= 20140409
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20140402
-packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 5)
#elif PACKETVER >= 20140108
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20141223
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 19)
#elif PACKETVER >= 20141105
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20141029
-packetLen(0x0940, 7) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 7)
#elif PACKETVER >= 20140806
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 5)
#elif PACKETVER >= 20140716
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20140702
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20140611
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20140508
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20140115
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20141126
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20140917
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20140903
-packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 36)
#elif PACKETVER >= 20140618
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 36)
#elif PACKETVER >= 20140305
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0941, 18) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 18)
#elif PACKETVER >= 20140129
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20141203
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0942, 26) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 26)
#elif PACKETVER >= 20141119
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20141015
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20141008
-packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 36)
#elif PACKETVER >= 20140416
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0942, 8) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 8)
#elif PACKETVER >= 20140402
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20140319
-packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 36)
#elif PACKETVER >= 20140129
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20141119
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20140903
-packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 4)
#elif PACKETVER >= 20140827
-packetLen(0x0943, 36) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20141223
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20141112
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20140409
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20140326
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0944, 10) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 10)
#elif PACKETVER >= 20140219
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20141231
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20141217
-packetLen(0x0945, 90) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 90)
#elif PACKETVER >= 20140917
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20140903
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20140730
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0945, 10) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 10)
#elif PACKETVER >= 20140625
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20140402
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20141231
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20140806
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20140730
-packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 5)
#elif PACKETVER >= 20140702
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 5)
#elif PACKETVER >= 20140409
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0946, 7) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 7)
#elif PACKETVER >= 20140326
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20140226
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20141217
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 4)
#elif PACKETVER >= 20140730
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0947, 7) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 7)
#elif PACKETVER >= 20140716
-packetLen(0x0947, 4) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 4)
#elif PACKETVER >= 20140416
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20140409
-packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 5)
#elif PACKETVER >= 20140326
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20141223
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 6)
#elif PACKETVER >= 20141126
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 5)
#elif PACKETVER >= 20140813
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20140806
-packetLen(0x0948, 36) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 36)
#elif PACKETVER >= 20140730
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20141231
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0949, 12) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 12)
#elif PACKETVER >= 20141001
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20140924
-packetLen(0x0949, 6) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 6)
#elif PACKETVER >= 20140917
-packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 10)
#elif PACKETVER >= 20140226
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0949, 18) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 18)
#elif PACKETVER >= 20140108
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20140827
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20140820
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20140618
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20140611
-packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, -1)
#elif PACKETVER >= 20140605
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20140528
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20140319
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20140312
-packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 18)
#elif PACKETVER >= 20140108
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20141119
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20141112
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20141022
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20141015
-packetLen(0x094b, 26) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 26)
#elif PACKETVER >= 20141008
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20141001
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20140605
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20140528
-packetLen(0x094b, 5) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 5)
#elif PACKETVER >= 20140508
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20140430
-packetLen(0x094b, 19) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 19)
#elif PACKETVER >= 20140319
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20140312
-packetLen(0x094b, 90) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 90)
#elif PACKETVER >= 20140108
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20141126
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20141119
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20141112
-packetLen(0x094c, 4) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 4)
#elif PACKETVER >= 20140611
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20140605
-packetLen(0x094c, 26) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 26)
#elif PACKETVER >= 20140416
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20140409
-packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 18)
#elif PACKETVER >= 20140402
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20140326
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20140319
-packetLen(0x094c, 6) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 6)
#elif PACKETVER >= 20140312
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20140129
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20140122
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20140108
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20140716
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20140709
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20140205
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20140129
-packetLen(0x094d, 8) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 8)
#elif PACKETVER >= 20140108
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20141029
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20141022
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20140716
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20140709
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20140702
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20140625
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20140521
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20140514
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20140508
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20140219
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20140212
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20140108
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20141231
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20141223
-packetLen(0x094f, 19) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 19)
#elif PACKETVER >= 20141119
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20141112
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20140924
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20140917
-packetLen(0x094f, 10) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 10)
#elif PACKETVER >= 20140716
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20140709
-packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 26)
#elif PACKETVER >= 20140618
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20140611
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20140430
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20140423
-packetLen(0x094f, 12) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 12)
#elif PACKETVER >= 20140108
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20141231
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20141112
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0950, 26) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 26)
#elif PACKETVER >= 20140618
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0950, 18) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 18)
#elif PACKETVER >= 20140409
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0950, 10) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20140924
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0951, 18) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 18)
#elif PACKETVER >= 20140827
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20140618
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20141210
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20141008
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20141001
-packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 5)
#elif PACKETVER >= 20140924
-packetLen(0x0952, 26) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 26)
#elif PACKETVER >= 20140827
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0952, 7) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 7)
#elif PACKETVER >= 20140723
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 5)
#elif PACKETVER >= 20140618
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0952, 8) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 8)
#elif PACKETVER >= 20140219
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0952, 6) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0952, -1) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20141231
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0953, 4) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 4)
#elif PACKETVER >= 20140219
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20140212
-packetLen(0x0953, 6) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20141217
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0954, 19) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 19)
#elif PACKETVER >= 20140625
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0954, 26) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 26)
#elif PACKETVER >= 20140326
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0954, 26) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 26)
#elif PACKETVER >= 20140108
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20141217
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20141119
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20141029
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20141022
-packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 18)
#elif PACKETVER >= 20140924
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0955, 26) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 26)
#elif PACKETVER >= 20140326
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20140129
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0955, 36) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20141231
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20141223
-packetLen(0x0956, 10) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 10)
#elif PACKETVER >= 20140924
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#elif PACKETVER >= 20140827
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20140508
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20140430
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20140402
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20141112
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 5)
#elif PACKETVER >= 20140924
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20140625
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 36)
#elif PACKETVER >= 20140611
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20140319
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20140129
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20140122
-packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 12)
#elif PACKETVER >= 20140108
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20141217
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20140827
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0958, 4) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 4)
#elif PACKETVER >= 20140723
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20140618
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0958, 19) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 19)
#elif PACKETVER >= 20140521
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20140409
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20140205
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 26)
#elif PACKETVER >= 20140108
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20140723
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20140702
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0959, 7) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 7)
#elif PACKETVER >= 20140402
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20141203
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20141126
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20140924
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20140917
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20140416
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20140409
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20140402
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20140326
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20140108
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20141231
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20141223
-packetLen(0x095b, 10) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 10)
#elif PACKETVER >= 20141203
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20141126
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20140122
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20140115
-packetLen(0x095b, 4) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 4)
#elif PACKETVER >= 20140108
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20141210
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20141203
-packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 6)
#elif PACKETVER >= 20140924
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20140917
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20140423
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20140416
-packetLen(0x095c, 36) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 36)
#elif PACKETVER >= 20140409
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20140402
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20140326
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20140108
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20141119
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20141112
-packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 6)
#elif PACKETVER >= 20140625
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20140618
-packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 6)
#elif PACKETVER >= 20140319
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20140312
-packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, -1)
#elif PACKETVER >= 20140129
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20140122
-packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, -1)
#elif PACKETVER >= 20140115
-packetLen(0x095d, 26) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 26)
#elif PACKETVER >= 20140108
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20140924
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140917
-packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 5)
#elif PACKETVER >= 20140625
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140618
-packetLen(0x095e, 19) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 19)
#elif PACKETVER >= 20140430
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140423
-packetLen(0x095e, 4) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 4)
#elif PACKETVER >= 20140416
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140409
-packetLen(0x095e, 19) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 19)
#elif PACKETVER >= 20140319
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20140305
-packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 36)
#elif PACKETVER >= 20140108
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20141231
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20141223
-packetLen(0x095f, 7) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 7)
#elif PACKETVER >= 20141203
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20141126
-packetLen(0x095f, 8) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 8)
#elif PACKETVER >= 20141112
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20141105
-packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, -1)
#elif PACKETVER >= 20140730
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140723
-packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 4)
#elif PACKETVER >= 20140716
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140709
-packetLen(0x095f, 18) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 18)
#elif PACKETVER >= 20140605
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140528
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20140521
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140514
-packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 5)
#elif PACKETVER >= 20140129
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20140122
-packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, -1)
#elif PACKETVER >= 20140108
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20141223
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20141217
-packetLen(0x0960, 4) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 4)
#elif PACKETVER >= 20141119
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20140730
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20140723
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20140702
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 36)
#elif PACKETVER >= 20140108
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20141217
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 26)
#elif PACKETVER >= 20140827
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140820
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20140716
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140709
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20140326
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20140226
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140219
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20140205
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20140129
-packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 26)
#elif PACKETVER >= 20140108
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20141210
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20141203
-packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 10)
#elif PACKETVER >= 20141119
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20141112
-packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 10)
#elif PACKETVER >= 20140625
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20140521
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20140305
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20140108
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20141217
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0963, 36) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 36)
#elif PACKETVER >= 20141126
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20141119
-packetLen(0x0963, 90) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 90)
#elif PACKETVER >= 20140618
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20140605
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0963, 10) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 10)
#elif PACKETVER >= 20140108
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20140605
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 19)
#elif PACKETVER >= 20140326
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20140319
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20140305
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20140108
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20141203
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20141126
-packetLen(0x0965, 26) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 26)
#elif PACKETVER >= 20140618
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20140611
-packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 5)
#elif PACKETVER >= 20140521
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20140514
-packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, -1)
#elif PACKETVER >= 20140409
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20140402
-packetLen(0x0965, 12) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 12)
#elif PACKETVER >= 20140122
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0965, -1) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20140924
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20140917
-packetLen(0x0966, 4) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 4)
#elif PACKETVER >= 20140605
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20140528
-packetLen(0x0966, -1) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, -1)
#elif PACKETVER >= 20140319
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20140312
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20140122
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20140115
-packetLen(0x0966, 19) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 19)
#elif PACKETVER >= 20140108
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20141217
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20141210
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20141022
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20141015
-packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 5)
#elif PACKETVER >= 20140820
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20140813
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20140625
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20140618
-packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20141112
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20141105
-packetLen(0x0968, 18) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 18)
#elif PACKETVER >= 20140702
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 6)
#elif PACKETVER >= 20140528
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20140521
-packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 5)
#elif PACKETVER >= 20140108
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20140723
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20140716
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20140702
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20140625
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20140402
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20140326
-packetLen(0x0969, 10) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 10)
#elif PACKETVER >= 20140305
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20140108
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20141231
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20141217
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20141210
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20141203
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20141126
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20141105
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20141008
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140917
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140827
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140820
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140806
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140709
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140625
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140611
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140605
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140528
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140514
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140508
-packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 18)
// ignored packet from 2014-05-08aRagexeRE
#elif PACKETVER >= 20140430
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140423
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140416
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140326
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140319
-packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, -1)
#elif PACKETVER >= 20140312
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140226
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140212
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140129
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20140122
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20140115
-packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 18)
#elif PACKETVER >= 20140108
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
#if PACKETVER >= 20140226
-packetLen(0x0990, 62) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 62)
// ignored packet from 2014-02-26bRagexeRE
#elif PACKETVER >= 20140219
-packetLen(0x0990, 62) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 62)
// ignored packet from 2014-02-19bRagexeRE
#elif PACKETVER >= 20140129
-packetLen(0x0990, 52) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 52)
#elif PACKETVER >= 20140108
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
#endif
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 10)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
#if PACKETVER >= 20140716
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
#elif PACKETVER >= 20140108
-packetLen(0x09e7, 2) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 2)
#endif
// Packet: 0x09e8
#if PACKETVER >= 20140212
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
#elif PACKETVER >= 20140108
-packetLen(0x09e8, 10) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 10)
#endif
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
#if PACKETVER >= 20140115
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
#elif PACKETVER >= 20140108
-packetLen(0x09eb, 23) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, 23)
#endif
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
#if PACKETVER >= 20140326
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
#elif PACKETVER >= 20140115
-packetLen(0x09f1, 10) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 10)
#endif
// Packet: 0x09f2
#if PACKETVER >= 20140409
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
#elif PACKETVER >= 20140326
-packetLen(0x09f2, 4) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 4)
#elif PACKETVER >= 20140115
-packetLen(0x09f2, 3) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 3)
#endif
// Packet: 0x09f3
#if PACKETVER >= 20140326
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
#elif PACKETVER >= 20140305
-packetLen(0x09f3, 10) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 10)
#elif PACKETVER >= 20140115
-packetLen(0x09f3, 15) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 15)
#endif
// Packet: 0x09f4
#if PACKETVER >= 20140409
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
#elif PACKETVER >= 20140326
-packetLen(0x09f4, 4) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 4)
#elif PACKETVER >= 20140305
-packetLen(0x09f4, 3) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 3)
#elif PACKETVER >= 20140115
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
#endif
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
#if PACKETVER >= 20140115
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
#endif
// Packet: 0x09f9
#if PACKETVER >= 20140122
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
#elif PACKETVER >= 20140115
-packetLen(0x09f9, 131) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 131)
#endif
// Packet: 0x09fa
#if PACKETVER >= 20140115
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
#endif
// Packet: 0x09fb
#if PACKETVER >= 20140122
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
#endif
// Packet: 0x09fc
#if PACKETVER >= 20140122
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
#endif
// Packet: 0x09fd
#if PACKETVER >= 20140122
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
#endif
// Packet: 0x09fe
#if PACKETVER >= 20140122
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
#endif
// Packet: 0x09ff
#if PACKETVER >= 20140122
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
#endif
// Packet: 0x0a00
#if PACKETVER >= 20140129
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
#endif
// Packet: 0x0a01
#if PACKETVER >= 20140129
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
#endif
// Packet: 0x0a02
#if PACKETVER >= 20140212
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
#endif
// Packet: 0x0a03
#if PACKETVER >= 20140326
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
#elif PACKETVER >= 20140226
-packetLen(0x0a03, 14) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 14)
#endif
// Packet: 0x0a04
#if PACKETVER >= 20140416
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
#elif PACKETVER >= 20140326
// removed
#elif PACKETVER >= 20140226
-packetLen(0x0a04, 11) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 11)
#endif
// Packet: 0x0a05
#if PACKETVER >= 20141119
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
#elif PACKETVER >= 20141008
-packetLen(0x0a05, 49) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 49)
#elif PACKETVER >= 20140416
-packetLen(0x0a05, 48) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 48)
#elif PACKETVER >= 20140226
-packetLen(0x0a05, 6) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 6)
#endif
// Packet: 0x0a06
#if PACKETVER >= 20140416
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
#elif PACKETVER >= 20140226
-packetLen(0x0a06, 5) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 5)
#endif
// Packet: 0x0a07
#if PACKETVER >= 20140521
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
#elif PACKETVER >= 20140416
-packetLen(0x0a07, 7) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 7)
#elif PACKETVER >= 20140326
-packetLen(0x0a07, 6) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 6)
#elif PACKETVER >= 20140305
-packetLen(0x0a07, 4) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 4)
#endif
// Packet: 0x0a08
#if PACKETVER >= 20140416
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
#elif PACKETVER >= 20140326
-packetLen(0x0a08, 7) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 7)
#elif PACKETVER >= 20140305
-packetLen(0x0a08, 5) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 5)
#endif
// Packet: 0x0a09
#if PACKETVER >= 20140312
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
#elif PACKETVER >= 20140305
-packetLen(0x0a09, 50) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 50)
#endif
// Packet: 0x0a0a
#if PACKETVER >= 20140312
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
#elif PACKETVER >= 20140305
-packetLen(0x0a0a, 52) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 52)
#endif
// Packet: 0x0a0b
#if PACKETVER >= 20140312
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
#elif PACKETVER >= 20140305
-packetLen(0x0a0b, 52) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 52)
#endif
// Packet: 0x0a0c
#if PACKETVER >= 20140312
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
#elif PACKETVER >= 20140305
-packetLen(0x0a0c, 61) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 61)
#endif
// Packet: 0x0a0d
#if PACKETVER >= 20140312
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
#elif PACKETVER >= 20140305
-packetLen(0x0a0d, 4) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, 4)
#endif
// Packet: 0x0a0e
#if PACKETVER >= 20140312
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
#endif
// Packet: 0x0a0f
#if PACKETVER >= 20140402
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
#endif
// Packet: 0x0a10
#if PACKETVER >= 20140402
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
#endif
// Packet: 0x0a11
#if PACKETVER >= 20140402
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
#endif
// Packet: 0x0a12
#if PACKETVER >= 20140416
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
#endif
// Packet: 0x0a13
#if PACKETVER >= 20140423
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
#elif PACKETVER >= 20140416
-packetLen(0x0a13, 2) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 2)
#endif
// Packet: 0x0a14
#if PACKETVER >= 20140521
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
#elif PACKETVER >= 20140423
-packetLen(0x0a14, 6) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 6)
#endif
// Packet: 0x0a15
#if PACKETVER >= 20140508
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
#elif PACKETVER >= 20140430
-packetLen(0x0a15, 11) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 11)
#endif
// Packet: 0x0a16
#if PACKETVER >= 20140430
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
#endif
// Packet: 0x0a17
#if PACKETVER >= 20140430
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
#endif
// Packet: 0x0a18
#if PACKETVER >= 20140611
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
#elif PACKETVER >= 20140605
-packetLen(0x0a18, 2) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 2)
#endif
// Packet: 0x0a19
#if PACKETVER >= 20140611
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0a19, -1) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, -1)
#endif
// Packet: 0x0a1a
#if PACKETVER >= 20140611
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
#elif PACKETVER >= 20140605
-packetLen(0x0a1a, 10) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 10)
#endif
// Packet: 0x0a1b
#if PACKETVER >= 20140605
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
#endif
// Packet: 0x0a1c
#if PACKETVER >= 20140611
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
#elif PACKETVER >= 20140605
-packetLen(0x0a1c, 6) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, 6)
#endif
// Packet: 0x0a1d
#if PACKETVER >= 20140611
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
#elif PACKETVER >= 20140605
-packetLen(0x0a1d, 14) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 14)
#endif
// Packet: 0x0a1e
#if PACKETVER >= 20140611
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
#endif
// Packet: 0x0a1f
#if PACKETVER >= 20140611
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
#endif
// Packet: 0x0a20
#if PACKETVER >= 20140611
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
#endif
// Packet: 0x0a21
#if PACKETVER >= 20140618
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
#elif PACKETVER >= 20140611
-packetLen(0x0a21, 6) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 6)
#endif
// Packet: 0x0a22
#if PACKETVER >= 20140618
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
#elif PACKETVER >= 20140611
-packetLen(0x0a22, 3) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 3)
#endif
// Packet: 0x0a23
#if PACKETVER >= 20140611
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
#endif
// Packet: 0x0a24
#if PACKETVER >= 20141001
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
#elif PACKETVER >= 20140723
-packetLen(0x0a24, 56) // ZC_ACH_UPDATE
+packetLen(0x0a24, 56)
#elif PACKETVER >= 20140625
-packetLen(0x0a24, 36) // ZC_ACH_UPDATE
+packetLen(0x0a24, 36)
#elif PACKETVER >= 20140611
-packetLen(0x0a24, 35) // ZC_ACH_UPDATE
+packetLen(0x0a24, 35)
#endif
// Packet: 0x0a25
#if PACKETVER >= 20140611
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
#endif
// Packet: 0x0a26
#if PACKETVER >= 20140611
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
#endif
// Packet: 0x0a27
#if PACKETVER >= 20140625
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
#endif
// Packet: 0x0a28
#if PACKETVER >= 20140625
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
#endif
// Packet: 0x0a29
#if PACKETVER >= 20140702
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
#endif
// Packet: 0x0a2a
#if PACKETVER >= 20140702
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
#endif
// Packet: 0x0a2b
#if PACKETVER >= 20140723
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
#endif
// Packet: 0x0a2c
#if PACKETVER >= 20140723
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
#endif
// Packet: 0x0a2d
#if PACKETVER >= 20140820
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
#endif
// Packet: 0x0a2e
#if PACKETVER >= 20140827
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
#endif
// Packet: 0x0a2f
#if PACKETVER >= 20140827
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
#endif
// Packet: 0x0a30
#if PACKETVER >= 20140917
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
#endif
// Packet: 0x0a31
#if PACKETVER >= 20140917
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
#endif
// Packet: 0x0a32
#if PACKETVER >= 20140924
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
#endif
// Packet: 0x0a33
#if PACKETVER >= 20140924
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
#endif
// Packet: 0x0a34
#if PACKETVER >= 20140924
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
#endif
// Packet: 0x0a35
#if PACKETVER >= 20141119
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
#endif
// Packet: 0x0a36
#if PACKETVER >= 20141126
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
#endif
// Packet: 0x0a37
#if PACKETVER >= 20141126
-packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 57)
#endif
diff --git a/src/common/packets/packets2015_len_main.h b/src/common/packets/packets2015_len_main.h
index 3144d5250..f1454b3ce 100644
--- a/src/common/packets/packets2015_len_main.h
+++ b/src/common/packets/packets2015_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4546 +25,4546 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 149)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20151209
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20151104
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20151028
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20151021
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+packetLen(0x0202, 18)
#elif PACKETVER >= 20151007
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20151001
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150826
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20150805
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150603
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150520
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20150429
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150401
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20150318
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20150225
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150211
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150128
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20150107
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20151223
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151216
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20151209
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151202
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20151125
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151118
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20151104
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151028
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20151007
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151001
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150923
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150916
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20150826
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150819
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20150805
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150715
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150708
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20150701
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150624
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150603
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150527
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150429
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150422
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150225
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150211
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150204
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150107
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20151209
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20151202
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20151111
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20151104
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20151028
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20151021
-packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 19)
#elif PACKETVER >= 20151007
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20151001
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150916
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150909
-packetLen(0x023b, 7) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 7)
#elif PACKETVER >= 20150902
-packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 18)
#elif PACKETVER >= 20150819
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150805
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150729
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150722
-packetLen(0x023b, 90) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 90)
#elif PACKETVER >= 20150715
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20150708
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150701
-packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 19)
#elif PACKETVER >= 20150603
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150527
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150513
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150507
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20150429
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150422
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150325
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150318
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20150311
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20150225
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150211
-packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 4)
#elif PACKETVER >= 20150204
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150128
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20150107
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20151209
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20151104
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20151014
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20150805
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150729
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20150701
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150603
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150429
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0281, 8) // CZ_GANGSI_RANK
+packetLen(0x0281, 8)
#elif PACKETVER >= 20150225
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150211
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0281, 18) // CZ_GANGSI_RANK
+packetLen(0x0281, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20151223
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20151118
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20151111
-packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, -1)
#elif PACKETVER >= 20151028
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20151021
-packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 36)
#elif PACKETVER >= 20150715
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20150708
-packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 90)
#elif PACKETVER >= 20150520
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20150513
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20150304
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20150225
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150107
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20151230
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20151209
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20151202
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20151125
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20151118
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20151111
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20151104
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20151021
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20151014
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20151001
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150916
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150909
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150826
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150805
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150715
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150708
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150701
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150617
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150603
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150527
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150520
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150422
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150311
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150225
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150211
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150107
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20151230
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20151209
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20151125
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20151104
-packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+packetLen(0x0360, 19)
#elif PACKETVER >= 20151021
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20151014
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150909
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150729
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+packetLen(0x0360, 7)
#elif PACKETVER >= 20150715
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150701
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150603
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150520
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150225
-packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+packetLen(0x0360, 26)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150211
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150128
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20151223
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20151209
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20151104
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20151028
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20151021
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20151007
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150923
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20150916
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20150819
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150729
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20150610
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20150527
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150520
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20150429
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150415
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20150225
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150211
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20151230
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20151216
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20151209
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20151118
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20151104
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20151014
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150902
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0362, 36) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 36)
#elif PACKETVER >= 20150819
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150722
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 10)
#elif PACKETVER >= 20150701
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150603
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150429
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150408
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 7)
#elif PACKETVER >= 20150311
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150225
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150211
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150121
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20151209
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20151111
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20151021
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20151014
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150819
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150701
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150617
-packetLen(0x0363, 36) // CZ_ITEM_THROW2
+packetLen(0x0363, 36)
#elif PACKETVER >= 20150603
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150520
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20150507
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20150422
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150401
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20150225
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150211
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150121
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20151230
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20151216
-packetLen(0x0364, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 4)
#elif PACKETVER >= 20151209
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20151111
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20151014
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150819
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150722
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20150701
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0364, 18) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 18)
#elif PACKETVER >= 20150603
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150429
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150415
-packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 90)
#elif PACKETVER >= 20150225
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
// 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
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150211
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150121
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20151230
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20151223
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20151209
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20151202
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20151125
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20151118
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20151104
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20151014
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150916
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20150819
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150701
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20150617
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20150603
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150429
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150401
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 10)
#elif PACKETVER >= 20150225
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
// 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
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150211
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150128
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20150121
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20151230
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20151209
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20151125
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20151021
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20151014
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150923
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150826
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150715
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20150701
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150603
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150520
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150415
-packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 5)
#elif PACKETVER >= 20150311
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150211
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150128
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20150909
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20150408
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20150325
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20150225
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
// ignored packet from 2015-02-25iRagexe
#elif PACKETVER >= 20150107
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20151230
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20151209
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20151125
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20151021
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20151014
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150916
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150902
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0368, 8) // CZ_REQNAME2
+packetLen(0x0368, 8)
#elif PACKETVER >= 20150805
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150729
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0368, 26) // CZ_REQNAME2
+packetLen(0x0368, 26)
#elif PACKETVER >= 20150715
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0368, 5) // CZ_REQNAME2
+packetLen(0x0368, 5)
#elif PACKETVER >= 20150701
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150603
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150520
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150211
-packetLen(0x0368, 5) // CZ_REQNAME2
+packetLen(0x0368, 5)
#elif PACKETVER >= 20150204
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150128
-packetLen(0x0368, 8) // CZ_REQNAME2
+packetLen(0x0368, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20151230
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20151216
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20151202
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20151125
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20151111
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20151021
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20151014
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150916
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0369, 36) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 36)
#elif PACKETVER >= 20150826
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150715
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150701
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150603
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150520
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150311
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150211
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20150204
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150128
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20151230
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20151223
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0436, 12) // CZ_ENTER2
+packetLen(0x0436, 12)
#elif PACKETVER >= 20151209
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20151111
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20151007
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150902
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0436, 18) // CZ_ENTER2
+packetLen(0x0436, 18)
#elif PACKETVER >= 20150805
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150729
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20150715
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20150708
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20150701
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150617
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20150603
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150429
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150318
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20150304
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150211
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150121
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0436, 10) // CZ_ENTER2
+packetLen(0x0436, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#endif
// Packet: 0x0437
#if PACKETVER >= 20151230
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20151209
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20151125
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20151104
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20151014
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150916
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20150826
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150729
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20150722
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+packetLen(0x0437, 10)
#elif PACKETVER >= 20150701
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150610
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20150527
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150520
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150408
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// ignored packet from 2015-02-25iRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150211
-packetLen(0x0437, 12) // CZ_REQUEST_ACT2
+packetLen(0x0437, 12)
#elif PACKETVER >= 20150204
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150128
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20151209
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20151125
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20151014
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150916
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150826
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150729
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20150722
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20150708
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150701
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150610
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20150603
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150520
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150318
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20150217
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150211
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150128
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20151216
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20151209
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20151202
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20151104
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20151021
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20151014
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20151001
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150923
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20150819
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150805
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150708
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150701
-packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 8)
#elif PACKETVER >= 20150624
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150617
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150610
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20150603
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150527
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150429
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150422
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150325
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150318
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20150225
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150204
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150128
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150121
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20150107
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20151230
-packetLen(0x07ec, 90) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 90)
#elif PACKETVER >= 20151216
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20151209
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20151202
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20151111
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20151104
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20151028
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20151021
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20151014
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20151001
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150902
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150826
-packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 7)
#elif PACKETVER >= 20150819
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150805
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150701
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150624
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150617
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20150603
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150527
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150429
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150422
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150225
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150211
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150204
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150121
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150107
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20151230
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20151209
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20151125
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20151118
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20151104
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151028
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20151014
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150909
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 36)
#elif PACKETVER >= 20150819
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150708
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20150624
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150603
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150429
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150401
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20150318
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20150311
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20150225
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150211
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150121
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20151230
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20151216
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20151202
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20151125
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20151104
-packetLen(0x0811, 18) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 18)
#elif PACKETVER >= 20151021
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20151014
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20151007
-packetLen(0x0811, 26) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 26)
#elif PACKETVER >= 20151001
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150715
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#elif PACKETVER >= 20150701
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150617
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20150610
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20150527
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150520
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#elif PACKETVER >= 20150311
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150211
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20151230
-packetLen(0x0815, 19) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 19)
#elif PACKETVER >= 20151223
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20151209
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20151125
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20151111
-packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 26)
#elif PACKETVER >= 20151021
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20151014
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150715
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150701
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150603
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150520
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150318
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0815, 19) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 19)
#elif PACKETVER >= 20150225
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
// ignored packet from 2015-02-25iRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150211
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20151021
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 26)
#elif PACKETVER >= 20151001
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20150729
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0817, 19) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 19)
#elif PACKETVER >= 20150520
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20150507
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20150422
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20150304
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20151230
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20151209
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20151125
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20151014
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150902
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20150805
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150715
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150701
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150610
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20150527
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150520
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150415
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 8)
#elif PACKETVER >= 20150401
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150225
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150211
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20150923
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20150722
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20150617
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20150422
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20150225
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20151230
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20151209
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20151125
-packetLen(0x0838, 18) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 18)
#elif PACKETVER >= 20151021
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20151014
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20151001
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150916
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150826
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150715
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150701
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150603
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20150520
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150318
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20150225
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150211
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150128
-packetLen(0x0838, 7) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 7)
#elif PACKETVER >= 20150107
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20151230
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20151209
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20151202
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20151125
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20151021
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20151014
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20151001
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150916
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150909
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150902
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20150819
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150805
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150722
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150715
-packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 7)
#elif PACKETVER >= 20150708
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150701
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150617
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150603
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150527
-packetLen(0x083c, 36) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 36)
#elif PACKETVER >= 20150520
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150422
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150408
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150401
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20150311
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150225
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
// ignored packet from 2015-02-25iRagexe
#elif PACKETVER >= 20150217
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150211
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150204
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150128
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150121
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150114
-packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 19)
#elif PACKETVER >= 20150107
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20151021
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20151014
-packetLen(0x085a, 10) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 10)
#elif PACKETVER >= 20150513
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20150507
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20150415
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20150408
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20150204
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20150128
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20150107
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20151230
-packetLen(0x085b, -1) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, -1)
#elif PACKETVER >= 20151223
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20151216
-packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 6)
#elif PACKETVER >= 20151209
-packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 36)
#elif PACKETVER >= 20150909
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20150902
-packetLen(0x085b, 7) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 7)
#elif PACKETVER >= 20150805
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20150729
-packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 8)
#elif PACKETVER >= 20150225
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20150217
-packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 36)
#elif PACKETVER >= 20150107
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20151021
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20151014
-packetLen(0x085c, 7) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 7)
#elif PACKETVER >= 20151001
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20150923
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20150722
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20150715
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20150415
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20150408
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20150107
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20151216
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20151209
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20151118
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20151111
-packetLen(0x085d, -1) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, -1)
#elif PACKETVER >= 20151001
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20150923
-packetLen(0x085d, 26) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 26)
#elif PACKETVER >= 20150909
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20150902
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20150826
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20150819
-packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 8)
#elif PACKETVER >= 20150401
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20150325
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20150107
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20151216
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20151209
-packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, -1)
#elif PACKETVER >= 20151202
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20151125
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20150923
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20150916
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20150715
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20150708
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20150527
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20150520
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20150422
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20150415
-packetLen(0x085e, 4) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 4)
#elif PACKETVER >= 20150408
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20150401
-packetLen(0x085e, 12) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 12)
#elif PACKETVER >= 20150107
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20151202
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20151125
-packetLen(0x085f, 8) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 8)
#elif PACKETVER >= 20150107
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20151104
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20151028
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20151021
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20150805
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20150610
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0860, 90) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 90)
#elif PACKETVER >= 20150107
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20151230
-packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 26)
#elif PACKETVER >= 20151216
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0861, 4) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 4)
#elif PACKETVER >= 20150902
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20151118
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20151014
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20151007
-packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 4)
#elif PACKETVER >= 20150826
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20150325
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20150311
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20150217
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20151021
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20150909
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20150422
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20151230
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20151216
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20151001
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 5)
#elif PACKETVER >= 20150610
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 26)
#elif PACKETVER >= 20150520
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20150507
-packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 26)
#elif PACKETVER >= 20150204
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0864, 10) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20151223
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0865, 10) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 10)
#elif PACKETVER >= 20150902
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20150819
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20150527
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0865, 19) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 19)
#elif PACKETVER >= 20150415
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0865, 7) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 7)
#elif PACKETVER >= 20150107
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20151230
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0866, 19) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 19)
#elif PACKETVER >= 20151216
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20151021
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20150610
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 8)
#elif PACKETVER >= 20150507
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0867, 36) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 36)
#elif PACKETVER >= 20150422
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 26)
#elif PACKETVER >= 20150304
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0867, 18) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 18)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150107
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20150527
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20150422
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0868, 10) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 10)
#elif PACKETVER >= 20150408
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20150121
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20151230
-packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 5)
#elif PACKETVER >= 20150923
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0869, 7) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 7)
#elif PACKETVER >= 20150729
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20150624
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20150422
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20151223
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20151216
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20151028
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20151021
-packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 26)
#elif PACKETVER >= 20150624
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20150617
-packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 18)
#elif PACKETVER >= 20150610
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20150603
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20150507
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20150429
-packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 19)
#elif PACKETVER >= 20150318
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20150311
-packetLen(0x086a, 6) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 6)
#elif PACKETVER >= 20150107
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20151125
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20151118
-packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 8)
#elif PACKETVER >= 20150902
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20150826
-packetLen(0x086b, 10) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 10)
#elif PACKETVER >= 20150624
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20150617
-packetLen(0x086b, 5) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 5)
#elif PACKETVER >= 20150415
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20150408
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#elif PACKETVER >= 20150107
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20150805
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20150729
-packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 8)
#elif PACKETVER >= 20150422
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20150415
-packetLen(0x086c, 7) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 7)
#elif PACKETVER >= 20150318
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20150311
-packetLen(0x086c, 36) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 36)
#elif PACKETVER >= 20150107
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20150805
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20150729
-packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 18)
#elif PACKETVER >= 20150708
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20150701
-packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, -1)
#elif PACKETVER >= 20150311
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20150304
-packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, -1)
#elif PACKETVER >= 20150204
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20150128
-packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 8)
#elif PACKETVER >= 20150107
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20151230
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20151223
-packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 10)
#elif PACKETVER >= 20151216
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20150805
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20150729
-packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 5)
#elif PACKETVER >= 20150415
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20150408
-packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 10)
#elif PACKETVER >= 20150107
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20151001
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150923
-packetLen(0x086f, 10) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 10)
#elif PACKETVER >= 20150909
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150902
-packetLen(0x086f, 10) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 10)
#elif PACKETVER >= 20150805
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150729
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20150722
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150715
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20150408
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150401
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20150325
-packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, -1)
#elif PACKETVER >= 20150107
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20151223
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20151209
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0870, 36) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 36)
#elif PACKETVER >= 20151001
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 5)
#elif PACKETVER >= 20150902
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20150805
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 6)
#elif PACKETVER >= 20150701
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0870, 36) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 36)
#elif PACKETVER >= 20150610
-packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 26)
#elif PACKETVER >= 20150217
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 6)
#elif PACKETVER >= 20150204
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20151118
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0871, 26) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 26)
#elif PACKETVER >= 20150916
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0871, -1) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0871, 18) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4590,3952 +4590,3952 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20150923
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0873, 90) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 90)
#elif PACKETVER >= 20150722
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 6)
#elif PACKETVER >= 20150610
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0873, 7) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 7)
#elif PACKETVER >= 20150325
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 36)
#elif PACKETVER >= 20150217
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0873, 5) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20151223
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0874, 90) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 90)
#elif PACKETVER >= 20151021
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0874, 10) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 10)
#elif PACKETVER >= 20150204
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20151230
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0875, 10) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 10)
#elif PACKETVER >= 20150408
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20150204
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20151230
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#elif PACKETVER >= 20150204
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20150923
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0877, 5) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 5)
#elif PACKETVER >= 20150617
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20150603
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20150729
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0878, 10) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 10)
#elif PACKETVER >= 20150415
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20151001
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20150722
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0879, 19) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 19)
#elif PACKETVER >= 20150520
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20150311
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20151216
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20151209
-packetLen(0x087a, 12) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 12)
#elif PACKETVER >= 20150624
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20150617
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20150107
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20150916
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20150909
-packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 18)
#elif PACKETVER >= 20150902
-packetLen(0x087b, 5) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 5)
#elif PACKETVER >= 20150826
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20150729
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20150722
-packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 18)
#elif PACKETVER >= 20150318
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20150311
-packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 18)
#elif PACKETVER >= 20150217
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20150211
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20150107
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20150722
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20150715
-packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 6)
#elif PACKETVER >= 20150401
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20150325
-packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 8)
#elif PACKETVER >= 20150128
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20150121
-packetLen(0x087c, 4) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 4)
#elif PACKETVER >= 20150114
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20150107
-packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 26)
#endif
// Packet: 0x087d
#if PACKETVER >= 20150729
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20150722
-packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 5)
#elif PACKETVER >= 20150708
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20150701
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20150527
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20150520
-packetLen(0x087d, 12) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 12)
#elif PACKETVER >= 20150204
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20150128
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20150107
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20150729
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150722
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20150708
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150701
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20150617
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150610
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20150415
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150408
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20150401
-packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 8)
#elif PACKETVER >= 20150325
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20150311
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150304
-packetLen(0x087e, 19) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 19)
#elif PACKETVER >= 20150107
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20151216
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20151209
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20150923
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150916
-packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 12)
#elif PACKETVER >= 20150909
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150902
-packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 4)
#elif PACKETVER >= 20150819
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150812
-packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 36)
#elif PACKETVER >= 20150715
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150708
-packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 4)
#elif PACKETVER >= 20150415
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150408
-packetLen(0x087f, 90) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 90)
#elif PACKETVER >= 20150217
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150211
-packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 36)
#elif PACKETVER >= 20150107
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20150805
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0880, 12) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 12)
#elif PACKETVER >= 20150722
-packetLen(0x0880, 6) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 6)
#elif PACKETVER >= 20150527
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0880, 26) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 26)
#elif PACKETVER >= 20150422
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0880, 8) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20151230
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0881, 7) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 7)
#elif PACKETVER >= 20151021
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 8)
#elif PACKETVER >= 20150923
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, -1)
#elif PACKETVER >= 20150805
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0881, 7) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 7)
#elif PACKETVER >= 20150610
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20150527
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20150217
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20151202
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 5)
#elif PACKETVER >= 20151021
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20150916
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20150708
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20150520
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0883, 18) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 18)
#elif PACKETVER >= 20150401
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0883, 12) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 12)
#elif PACKETVER >= 20150318
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20150217
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20151230
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20151202
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 36)
#elif PACKETVER >= 20151021
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20150729
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20150715
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20150617
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20150603
-packetLen(0x0884, 4) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 4)
#elif PACKETVER >= 20150107
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20151223
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20151202
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20151118
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 7)
#elif PACKETVER >= 20150617
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20150520
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20150401
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 10)
#elif PACKETVER >= 20150304
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20151230
-packetLen(0x0886, 10) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 10)
#elif PACKETVER >= 20151223
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20151111
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20151001
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20150916
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0886, 19) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 19)
#elif PACKETVER >= 20150902
-packetLen(0x0886, 12) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 12)
#elif PACKETVER >= 20150805
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20150722
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20150624
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20150507
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 26)
#elif PACKETVER >= 20150318
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20150217
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20151111
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20150909
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20150513
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20150826
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20150617
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 19)
#elif PACKETVER >= 20150415
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20150204
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20151021
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20150513
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 18)
#elif PACKETVER >= 20150415
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 36)
#elif PACKETVER >= 20150325
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 7)
#elif PACKETVER >= 20150107
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20150812
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20150805
-packetLen(0x088a, 36) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 36)
#elif PACKETVER >= 20150107
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20151223
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20151216
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20151125
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20151118
-packetLen(0x088b, 36) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 36)
#elif PACKETVER >= 20151111
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20151104
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20150902
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20150826
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20150610
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20150603
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20150128
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20150121
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20150107
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20151202
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20151125
-packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 6)
#elif PACKETVER >= 20150617
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20150610
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20150527
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20150520
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20150408
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20150401
-packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 6)
#elif PACKETVER >= 20150325
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20150318
-packetLen(0x088c, 12) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 12)
#elif PACKETVER >= 20150107
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20151230
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20151223
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20151202
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20151125
-packetLen(0x088d, 19) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 19)
#elif PACKETVER >= 20151111
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20151104
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20150909
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20150902
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20150826
-packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 26)
#elif PACKETVER >= 20150729
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20150722
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20150617
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20150610
-packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 18)
#elif PACKETVER >= 20150107
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20151230
-packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 26)
#elif PACKETVER >= 20151216
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20151209
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20151021
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20151014
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20151001
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20150923
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20150422
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20150415
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20150107
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20151216
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20151209
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20150916
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20150909
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20150617
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20150610
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20150507
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20150429
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20150408
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20150401
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20150107
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20151230
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20151230
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20150902
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20150422
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20150408
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20150401
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20151001
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20150909
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20150311
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20150708
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 4)
#elif PACKETVER >= 20150401
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20151216
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 10)
#elif PACKETVER >= 20150624
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 4)
#elif PACKETVER >= 20150507
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20151001
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 4)
#elif PACKETVER >= 20150916
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20150722
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20150408
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20150114
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0895, 36) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 36)
#endif
// Packet: 0x0896
#if PACKETVER >= 20150722
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 90)
#elif PACKETVER >= 20150318
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0896, 7) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 7)
#elif PACKETVER >= 20150304
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150107
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20151230
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20150909
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20150722
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20150617
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20150603
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20150401
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20151230
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0898, 90) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 90)
#elif PACKETVER >= 20150422
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20150408
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20150401
-packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20151202
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20150909
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20150729
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20150507
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20150401
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0899, 18) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 18)
#elif PACKETVER >= 20150121
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20151021
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20151014
-packetLen(0x089a, 4) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 4)
#elif PACKETVER >= 20150805
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150729
-packetLen(0x089a, 10) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 10)
#elif PACKETVER >= 20150722
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150715
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20150610
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150603
-packetLen(0x089a, 12) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 12)
#elif PACKETVER >= 20150311
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150304
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20150204
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150128
-packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 18)
#elif PACKETVER >= 20150107
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20151001
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20150923
-packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 10)
#elif PACKETVER >= 20150916
-packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 18)
#elif PACKETVER >= 20150805
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20150729
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20150304
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20150225
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150107
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20151202
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20151125
-packetLen(0x089c, 7) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 7)
#elif PACKETVER >= 20151118
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20151111
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20150923
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150916
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20150527
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150520
-packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 36)
#elif PACKETVER >= 20150415
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150408
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20150401
-packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 36)
#elif PACKETVER >= 20150325
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150318
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20150304
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150225
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150211
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20150107
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20151223
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20151216
-packetLen(0x089d, 7) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 7)
#elif PACKETVER >= 20150715
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20150708
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20150610
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20150603
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20150128
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20150121
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20150107
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20151223
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20151216
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20150923
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20150916
-packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 26)
#elif PACKETVER >= 20150610
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20150603
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20150527
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20150520
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20150128
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20150121
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20150107
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20151202
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20151125
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20151021
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20151014
-packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 5)
#elif PACKETVER >= 20151001
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20150923
-packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 8)
#elif PACKETVER >= 20150507
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20150429
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20150107
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20151001
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150923
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20150902
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150826
-packetLen(0x08a0, 12) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 12)
#elif PACKETVER >= 20150708
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150701
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20150617
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150610
-packetLen(0x08a0, 36) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 36)
#elif PACKETVER >= 20150422
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150415
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20150217
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150211
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20150107
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20151216
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20151209
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20150902
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20150826
-packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 8)
#elif PACKETVER >= 20150610
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20150603
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20150401
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20150325
-packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 7)
#elif PACKETVER >= 20150318
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20150311
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20150107
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20151223
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20151216
-packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 5)
#elif PACKETVER >= 20151001
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20150923
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20150527
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20150520
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20150415
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20150408
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20150107
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20151111
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20151104
-packetLen(0x08a3, 4) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 4)
#elif PACKETVER >= 20150805
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20150729
-packetLen(0x08a3, 4) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 4)
#elif PACKETVER >= 20150318
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20150311
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20150107
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20150902
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150826
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20150805
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150729
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20150722
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150715
-packetLen(0x08a4, 4) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 4)
#elif PACKETVER >= 20150708
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150701
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20150415
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150408
-packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 26)
#elif PACKETVER >= 20150325
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150318
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20150304
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150225
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150211
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20150107
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20151111
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20151104
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20151001
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20150923
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20150715
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20150708
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20150701
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20150408
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20150401
-packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 8)
#elif PACKETVER >= 20150318
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20150311
-packetLen(0x08a5, 12) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 12)
#elif PACKETVER >= 20150107
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20151001
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20150923
-packetLen(0x08a6, 12) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 12)
#elif PACKETVER >= 20150708
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20150701
-packetLen(0x08a6, 10) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 10)
#elif PACKETVER >= 20150507
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20150429
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20150318
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20150311
-packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 26)
#elif PACKETVER >= 20150107
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20150401
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20150325
-packetLen(0x08a7, 90) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 90)
#elif PACKETVER >= 20150107
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20150902
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20150826
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20150729
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20150722
-packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 5)
#elif PACKETVER >= 20150520
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20150513
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20150507
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20150429
-packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 4)
#elif PACKETVER >= 20150107
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20151223
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20151216
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20151202
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20151125
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20150909
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20150902
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20150107
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20151230
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20151223
-packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 26)
#elif PACKETVER >= 20151021
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20151014
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20150217
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20150211
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20150107
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20151125
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20151118
-packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 8)
#elif PACKETVER >= 20150204
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20150128
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20150121
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#elif PACKETVER >= 20150107
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20151223
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20151216
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20150923
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20150916
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20150805
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20150729
-packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 26)
#elif PACKETVER >= 20150722
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20150715
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20150617
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20150610
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20150107
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20151202
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20151125
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20150805
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150729
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20150715
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150708
-packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 36)
#elif PACKETVER >= 20150701
-packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 10)
#elif PACKETVER >= 20150610
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150603
-packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 19)
#elif PACKETVER >= 20150527
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150520
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20150507
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150429
-packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 18)
#elif PACKETVER >= 20150107
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 149)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20150722
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0917, 12) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 12)
#elif PACKETVER >= 20150107
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20150128
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20150826
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0919, 8) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 8)
#elif PACKETVER >= 20150729
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0919, 4) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 4)
#elif PACKETVER >= 20150708
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0919, 36) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 36)
#elif PACKETVER >= 20150401
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0919, 36) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 36)
#elif PACKETVER >= 20150217
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0919, 90) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 90)
#elif PACKETVER >= 20150128
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20151230
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20151223
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20150107
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20151230
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20151223
-packetLen(0x091b, 26) // ZC_PRNPC_STATE
+packetLen(0x091b, 26)
#elif PACKETVER >= 20150610
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20150603
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20150415
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20150408
-packetLen(0x091b, 4) // ZC_PRNPC_STATE
+packetLen(0x091b, 4)
#elif PACKETVER >= 20150401
-packetLen(0x091b, 26) // ZC_PRNPC_STATE
+packetLen(0x091b, 26)
#elif PACKETVER >= 20150107
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20151021
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20151014
-packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 26)
#elif PACKETVER >= 20150527
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20150520
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20150408
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20150401
-packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 90)
#elif PACKETVER >= 20150318
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20150311
-packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 90)
#elif PACKETVER >= 20150107
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20151230
-packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 8)
#elif PACKETVER >= 20151223
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20151216
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20151028
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20151021
-packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 5)
#elif PACKETVER >= 20151014
-packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 36)
#elif PACKETVER >= 20150527
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20150520
-packetLen(0x091d, 7) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 7)
#elif PACKETVER >= 20150325
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20150318
-packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 8)
#elif PACKETVER >= 20150128
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20150121
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20150107
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20151001
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20150923
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20150826
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20150819
-packetLen(0x091e, 36) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 36)
#elif PACKETVER >= 20150415
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20150408
-packetLen(0x091e, -1) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, -1)
#elif PACKETVER >= 20150107
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20150715
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20150708
-packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 18)
#elif PACKETVER >= 20150204
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20150128
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20150107
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20151230
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 5)
#elif PACKETVER >= 20151216
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, -1)
#elif PACKETVER >= 20151202
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20150923
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20151125
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0921, 26) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 26)
#elif PACKETVER >= 20150729
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20150610
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 36)
#elif PACKETVER >= 20150422
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 8)
#elif PACKETVER >= 20150408
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20150401
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20151230
-packetLen(0x0923, 36) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 36)
#elif PACKETVER >= 20151223
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20150909
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0923, 26) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 26)
#elif PACKETVER >= 20150708
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0923, 8) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 8)
#elif PACKETVER >= 20150520
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0923, 36) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20151230
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20150923
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0924, 26) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 26)
#elif PACKETVER >= 20150902
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20150527
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0924, 8) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 8)
#elif PACKETVER >= 20150513
-packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 5)
#elif PACKETVER >= 20150507
-packetLen(0x0924, 19) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 19)
#elif PACKETVER >= 20150408
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0924, 18) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20151125
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0925, 19) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 19)
#elif PACKETVER >= 20150729
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, -1)
#elif PACKETVER >= 20150617
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
// Packet: 0x0927
#if PACKETVER >= 20150826
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0927, 19) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 19)
#elif PACKETVER >= 20150520
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0927, 4) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 4)
#elif PACKETVER >= 20150325
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 5)
#elif PACKETVER >= 20150204
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20151111
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 5)
#elif PACKETVER >= 20150916
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 8)
#elif PACKETVER >= 20150902
-packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 6)
#elif PACKETVER >= 20150708
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 8)
#elif PACKETVER >= 20150325
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20150507
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20150204
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0929, 36) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20151202
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20151125
-packetLen(0x092a, 10) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 10)
#elif PACKETVER >= 20150909
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20150902
-packetLen(0x092a, 5) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 5)
#elif PACKETVER >= 20150715
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20150708
-packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 8)
#elif PACKETVER >= 20150415
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20150408
-packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 8)
#elif PACKETVER >= 20150318
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20150311
-packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 8)
#elif PACKETVER >= 20150107
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20151001
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20150923
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20150805
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20150729
-packetLen(0x092b, 90) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 90)
#elif PACKETVER >= 20150617
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20150610
-packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, -1)
#elif PACKETVER >= 20150527
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20150520
-packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 5)
#elif PACKETVER >= 20150107
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20150708
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20150701
-packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 5)
#elif PACKETVER >= 20150617
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20150610
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20150401
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20150325
-packetLen(0x092c, 6) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 6)
#elif PACKETVER >= 20150107
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20151216
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20151209
-packetLen(0x092d, 8) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 8)
#elif PACKETVER >= 20150909
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20150902
-packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 26)
#elif PACKETVER >= 20150610
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20150603
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20150114
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20150107
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#endif
// Packet: 0x092e
#if PACKETVER >= 20151202
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20151125
-packetLen(0x092e, 10) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 10)
#elif PACKETVER >= 20151118
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20150902
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150826
-packetLen(0x092e, 90) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 90)
#elif PACKETVER >= 20150729
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150722
-packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 26)
#elif PACKETVER >= 20150617
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150610
-packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 4)
#elif PACKETVER >= 20150513
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150507
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20150422
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150415
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20150318
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150311
-packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 8)
#elif PACKETVER >= 20150107
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20151125
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20151118
-packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 8)
#elif PACKETVER >= 20150923
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20150916
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20150805
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20150729
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20150107
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20151216
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0930, 90) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 90)
#elif PACKETVER >= 20151001
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20150527
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0931, 90) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 90)
#elif PACKETVER >= 20150401
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20151216
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, -1)
#elif PACKETVER >= 20150401
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
// Packet: 0x0934
#if PACKETVER >= 20151021
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0934, -1) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, -1)
#elif PACKETVER >= 20150923
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
// Packet: 0x0936
#if PACKETVER >= 20151001
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0936, 90) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 90)
#elif PACKETVER >= 20150916
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20150527
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0936, 10) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 10)
#elif PACKETVER >= 20150325
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0936, 10) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20150325
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20150923
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 4)
#elif PACKETVER >= 20150401
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0938, 5) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 5)
#elif PACKETVER >= 20150318
-packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 26)
#elif PACKETVER >= 20150204
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 4)
#elif PACKETVER >= 20150107
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20151202
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20151111
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 8)
#elif PACKETVER >= 20150408
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0939, 19) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 19)
#elif PACKETVER >= 20150107
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20151230
-packetLen(0x093a, 4) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 4)
#elif PACKETVER >= 20151111
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20151104
-packetLen(0x093a, -1) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, -1)
#elif PACKETVER >= 20150805
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150729
-packetLen(0x093a, 6) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 6)
#elif PACKETVER >= 20150408
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150401
-packetLen(0x093a, 10) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 10)
#elif PACKETVER >= 20150325
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150318
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20150311
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150304
-packetLen(0x093a, 18) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 18)
#elif PACKETVER >= 20150204
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150128
-packetLen(0x093a, 10) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 10)
#elif PACKETVER >= 20150107
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20151216
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20151209
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20151001
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150923
-packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 26)
#elif PACKETVER >= 20150902
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150826
-packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 6)
#elif PACKETVER >= 20150513
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150507
-packetLen(0x093b, 5) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 5)
#elif PACKETVER >= 20150408
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150401
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20150318
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150311
-packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 26)
#elif PACKETVER >= 20150107
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20151125
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20151118
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20150729
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20150722
-packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, -1)
#elif PACKETVER >= 20150715
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20150708
-packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 26)
#elif PACKETVER >= 20150422
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20150415
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20150325
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20150318
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20150107
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20150729
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20150722
-packetLen(0x093d, 12) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 12)
#elif PACKETVER >= 20150527
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20150520
-packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 26)
#elif PACKETVER >= 20150507
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20150429
-packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 26)
#elif PACKETVER >= 20150107
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20151202
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20151125
-packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 12)
#elif PACKETVER >= 20150923
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150916
-packetLen(0x093e, 10) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 10)
#elif PACKETVER >= 20150722
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150715
-packetLen(0x093e, 5) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 5)
#elif PACKETVER >= 20150708
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150701
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20150617
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150610
-packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 7)
#elif PACKETVER >= 20150422
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150415
-packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 12)
#elif PACKETVER >= 20150107
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20151014
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20151007
-packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 5)
#elif PACKETVER >= 20150805
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20150729
-packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, -1)
#elif PACKETVER >= 20150708
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20150701
-packetLen(0x093f, 12) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 12)
#elif PACKETVER >= 20150610
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20150603
-packetLen(0x093f, 18) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 18)
#elif PACKETVER >= 20150107
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20151111
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0940, 36) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 36)
#elif PACKETVER >= 20151028
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 26)
#elif PACKETVER >= 20150916
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20150826
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20150805
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20150701
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 8)
#elif PACKETVER >= 20150617
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20150610
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20150603
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0940, 12) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 12)
#elif PACKETVER >= 20150520
-packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 8)
#elif PACKETVER >= 20150401
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 26)
#elif PACKETVER >= 20150304
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
// ignored packet from 2015-02-25iRagexe
// ignored packet from 2015-02-25eRagexe
#elif PACKETVER >= 20150107
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20150923
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 36)
#elif PACKETVER >= 20150902
-packetLen(0x0941, 5) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 5)
#elif PACKETVER >= 20150701
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20150513
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20150422
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0941, 19) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 19)
#elif PACKETVER >= 20150107
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20151118
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0942, 18) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 18)
#elif PACKETVER >= 20150923
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20150513
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0942, 4) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 4)
#elif PACKETVER >= 20150107
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20151125
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20150507
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20150318
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20150114
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0943, 5) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 5)
#endif
// Packet: 0x0944
#if PACKETVER >= 20151223
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20151021
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0944, 12) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 12)
#elif PACKETVER >= 20150722
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 26)
#elif PACKETVER >= 20150217
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20150204
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0944, 19) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 19)
#elif PACKETVER >= 20150107
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20150902
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20150527
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20151125
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20150708
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20150617
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0946, 90) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 90)
#elif PACKETVER >= 20150408
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 4)
#elif PACKETVER >= 20150318
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 4)
#elif PACKETVER >= 20150304
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150121
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20151223
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 19)
#elif PACKETVER >= 20150909
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0947, 90) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 90)
#elif PACKETVER >= 20150311
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 8)
#elif PACKETVER >= 20150114
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 19)
#endif
// Packet: 0x0948
#if PACKETVER >= 20151216
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0948, 19) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 19)
#elif PACKETVER >= 20150923
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0948, -1) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, -1)
#elif PACKETVER >= 20150304
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 6)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150107
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20151230
-packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 5)
#elif PACKETVER >= 20151223
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, -1)
#elif PACKETVER >= 20150617
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 10)
#elif PACKETVER >= 20150408
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0949, 6) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20151216
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20151209
-packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 18)
#elif PACKETVER >= 20151118
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20151111
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20150520
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20150513
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20150401
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20150325
-packetLen(0x094a, 19) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 19)
#elif PACKETVER >= 20150107
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20150408
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20150401
-packetLen(0x094b, 10) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 10)
#elif PACKETVER >= 20150107
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20150729
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20150722
-packetLen(0x094c, 10) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 10)
#elif PACKETVER >= 20150325
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20150318
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20150107
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20150422
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20150415
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20150107
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20151230
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20150708
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20150701
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20150624
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20150617
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20150527
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20150520
-packetLen(0x094e, 10) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 10)
#elif PACKETVER >= 20150204
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20150128
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20150107
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20150923
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150916
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20150909
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150902
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20150826
-packetLen(0x094f, 5) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 5)
#elif PACKETVER >= 20150805
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150729
-packetLen(0x094f, 19) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 19)
#elif PACKETVER >= 20150722
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20150415
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150408
-packetLen(0x094f, 18) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 18)
#elif PACKETVER >= 20150304
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150225
-packetLen(0x094f, 5) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 5)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150107
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20150722
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20150401
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20151202
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 5)
#elif PACKETVER >= 20151001
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0951, 7) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 7)
#elif PACKETVER >= 20150902
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20150729
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20150304
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0952, 8) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 8)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150204
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20150107
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20150909
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, -1)
#elif PACKETVER >= 20150513
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0953, 36) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 36)
#elif PACKETVER >= 20150422
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, -1)
#elif PACKETVER >= 20150408
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20151223
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, -1)
#elif PACKETVER >= 20150708
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 5)
#elif PACKETVER >= 20150401
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20150805
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0955, -1) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, -1)
#elif PACKETVER >= 20150610
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0955, 5) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 5)
#elif PACKETVER >= 20150513
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20150429
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0955, 36) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 36)
#elif PACKETVER >= 20150415
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20150304
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0955, 5) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 5)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150128
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20150114
-packetLen(0x0955, 4) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 4)
#elif PACKETVER >= 20150107
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20151216
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0956, 90) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 90)
#elif PACKETVER >= 20151202
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 26)
#elif PACKETVER >= 20151021
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 6)
#elif PACKETVER >= 20150722
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 36)
#elif PACKETVER >= 20150708
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0956, 90) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 90)
#elif PACKETVER >= 20150107
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20151202
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20151118
-packetLen(0x0957, 4) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 4)
#elif PACKETVER >= 20150617
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20150415
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0957, 19) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 19)
#elif PACKETVER >= 20150318
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 26)
#elif PACKETVER >= 20150121
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20151118
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20150729
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 36)
#elif PACKETVER >= 20150708
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0958, 7) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 7)
#elif PACKETVER >= 20150520
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20150507
-packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 26)
#elif PACKETVER >= 20150318
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20151202
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0959, 90) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 90)
#elif PACKETVER >= 20150902
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, -1)
#elif PACKETVER >= 20150415
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20150325
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0959, 19) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 19)
#elif PACKETVER >= 20150107
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20150923
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20150916
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20150107
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20150909
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20150902
-packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 19)
#elif PACKETVER >= 20150715
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20150708
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20150527
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20150520
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20150318
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20150311
-packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, -1)
#elif PACKETVER >= 20150107
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20151216
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20151209
-packetLen(0x095c, 4) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 4)
#elif PACKETVER >= 20151125
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20151118
-packetLen(0x095c, 18) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 18)
#elif PACKETVER >= 20150422
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20150415
-packetLen(0x095c, 26) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 26)
#elif PACKETVER >= 20150107
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20150617
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20150610
-packetLen(0x095d, 12) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 12)
#elif PACKETVER >= 20150311
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20150304
-packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 8)
#elif PACKETVER >= 20150107
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20151230
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20151223
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20151021
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20151014
-packetLen(0x095e, 8) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 8)
#elif PACKETVER >= 20150916
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20150909
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20150805
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20150729
-packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, -1)
#elif PACKETVER >= 20150415
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20150408
-packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 12)
#elif PACKETVER >= 20150107
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20151014
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20151007
-packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 5)
#elif PACKETVER >= 20150708
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20150701
-packetLen(0x095f, 26) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 26)
#elif PACKETVER >= 20150408
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20150401
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20150107
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20151007
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 36)
#elif PACKETVER >= 20150923
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20150708
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0960, 18) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 18)
#elif PACKETVER >= 20150610
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0960, 10) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 10)
#elif PACKETVER >= 20150527
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0960, 4) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 4)
#elif PACKETVER >= 20150513
-packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, -1)
#elif PACKETVER >= 20150422
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 36)
#elif PACKETVER >= 20150325
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0960, 18) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 18)
#elif PACKETVER >= 20150311
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20151216
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0961, 7) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 7)
#elif PACKETVER >= 20151021
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20151007
-packetLen(0x0961, 19) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 19)
#elif PACKETVER >= 20151001
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0961, -1) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 26)
#elif PACKETVER >= 20150805
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0961, 36) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 36)
#elif PACKETVER >= 20150722
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 8)
#elif PACKETVER >= 20150527
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 8)
#elif PACKETVER >= 20150422
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20150311
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20150916
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20150715
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20150318
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20150204
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0963, 26) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 26)
#elif PACKETVER >= 20150121
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20151216
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 26)
#elif PACKETVER >= 20151111
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 19)
#elif PACKETVER >= 20150902
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 19)
#elif PACKETVER >= 20150617
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0964, 5) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 5)
#elif PACKETVER >= 20150408
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0964, 5) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 5)
#elif PACKETVER >= 20150318
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0964, 8) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20151230
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0965, 36) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 36)
#elif PACKETVER >= 20150722
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0965, 18) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20151223
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 6)
#elif PACKETVER >= 20151118
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20150701
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20150211
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0966, 36) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20151230
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0967, 12) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 12)
#elif PACKETVER >= 20151118
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0967, 19) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 19)
#elif PACKETVER >= 20151014
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20151007
-packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 36)
#elif PACKETVER >= 20150826
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 5)
#elif PACKETVER >= 20150128
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20151223
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0968, 10) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 10)
#elif PACKETVER >= 20150902
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0968, 4) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 4)
#elif PACKETVER >= 20150708
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 5)
#elif PACKETVER >= 20150204
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20151118
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 36)
#elif PACKETVER >= 20150923
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0969, 19) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 19)
#elif PACKETVER >= 20150902
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20150610
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20150401
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0969, 8) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20151230
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20151209
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20151202
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20151125
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20151111
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20151104
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20151021
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20151014
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20151001
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150916
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150909
-packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 5)
#elif PACKETVER >= 20150826
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150805
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150715
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150708
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150701
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150617
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150610
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150603
-packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 5)
#elif PACKETVER >= 20150527
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150520
-packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 18)
#elif PACKETVER >= 20150422
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150311
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150304
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150225
-packetLen(0x096a, 19) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 19)
// ignored packet from 2015-02-25eRagexe
// ignored packet from 2015-02-25hRagexe
#elif PACKETVER >= 20150217
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150211
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150204
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150128
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150107
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
// Packet: 0x0a0a
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
// Packet: 0x0a0b
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
// Packet: 0x0a0c
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
-packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 57)
// Packet: 0x0a38
#if PACKETVER >= 20150128
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
#endif
// Packet: 0x0a39
#if PACKETVER >= 20150415
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
#elif PACKETVER >= 20150211
-packetLen(0x0a39, 35) // CH_MAKE_CHAR
+packetLen(0x0a39, 35)
#endif
// Packet: 0x0a3a
@@ -8545,7 +8545,7 @@ packetLen(0x0a3a, 12)
// Packet: 0x0a3b
#if PACKETVER >= 20150422
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
#endif
// Packet: 0x0a3c
@@ -8575,7 +8575,7 @@ packetLen(0x0a40, 11)
// Packet: 0x0a41
#if PACKETVER >= 20150909
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
#endif
// Packet: 0x0a42
@@ -8585,12 +8585,12 @@ packetLen(0x0a42, 43)
// Packet: 0x0a43
#if PACKETVER >= 20151007
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
#endif
// Packet: 0x0a44
#if PACKETVER >= 20151007
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
#endif
// Packet: 0x0a45
@@ -8609,7 +8609,7 @@ packetLen(0x0a46, 14)
// Packet: 0x0a47
#if PACKETVER >= 20151104
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
#endif
// Packet: 0x0a48
@@ -8619,22 +8619,22 @@ packetLen(0x0a48, 2)
// Packet: 0x0a49
#if PACKETVER >= 20151118
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
#endif
// Packet: 0x0a4a
#if PACKETVER >= 20151118
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
#endif
// Packet: 0x0a4b
#if PACKETVER >= 20151118
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
#endif
// Packet: 0x0a4c
#if PACKETVER >= 20151118
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
#endif
diff --git a/src/common/packets/packets2015_len_re.h b/src/common/packets/packets2015_len_re.h
index bd65d3eea..bce9fe5a2 100644
--- a/src/common/packets/packets2015_len_re.h
+++ b/src/common/packets/packets2015_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4491 +25,4491 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 149)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20151209
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20151104
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20151028
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20151021
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0202, 18) // CZ_ADD_FRIENDS
+packetLen(0x0202, 18)
#elif PACKETVER >= 20151007
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20151001
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150826
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20150805
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150603
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150520
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20150429
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150401
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20150318
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20150225
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150211
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20150128
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20150107
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20151223
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151216
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20151209
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151202
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20151125
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151118
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20151104
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151028
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20151007
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20151001
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150923
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150916
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20150826
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150819
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20150805
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150715
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150708
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20150701
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150624
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150603
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150527
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150429
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150422
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150225
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150217
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150211
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20150204
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20150107
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20151209
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20151202
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20151111
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20151104
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20151028
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20151021
-packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 19)
#elif PACKETVER >= 20151007
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20151001
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150916
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150909
-packetLen(0x023b, 7) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 7)
#elif PACKETVER >= 20150902
-packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 18)
#elif PACKETVER >= 20150819
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150805
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150729
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150722
-packetLen(0x023b, 90) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 90)
#elif PACKETVER >= 20150715
-packetLen(0x023b, -1) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, -1)
#elif PACKETVER >= 20150708
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150701
-packetLen(0x023b, 19) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 19)
#elif PACKETVER >= 20150603
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150527
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150513
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150507
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20150429
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150422
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150325
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150318
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20150311
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20150225
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20150217
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150211
-packetLen(0x023b, 4) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 4)
#elif PACKETVER >= 20150204
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20150128
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20150107
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20151209
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20151104
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20151014
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20150805
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150729
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20150701
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150603
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150429
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0281, 8) // CZ_GANGSI_RANK
+packetLen(0x0281, 8)
#elif PACKETVER >= 20150225
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150211
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0281, 18) // CZ_GANGSI_RANK
+packetLen(0x0281, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20151223
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20151118
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20151111
-packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, -1)
#elif PACKETVER >= 20151028
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20151021
-packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 36)
#elif PACKETVER >= 20150715
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20150708
-packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 90)
#elif PACKETVER >= 20150520
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20150513
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20150304
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20150225
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20150107
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20151230
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20151209
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20151202
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20151125
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20151118
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20151111
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20151104
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20151021
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20151014
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20151001
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150916
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150909
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150826
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150805
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150715
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150708
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150701
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150617
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150603
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150527
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150520
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150422
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150311
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150217
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20150211
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20150107
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20151230
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20151209
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20151125
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20151104
-packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+packetLen(0x0360, 19)
#elif PACKETVER >= 20151021
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20151014
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150909
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0360, -1) // CZ_REQUEST_TIME2
+packetLen(0x0360, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150729
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+packetLen(0x0360, 7)
#elif PACKETVER >= 20150715
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150701
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150603
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150520
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150225
-packetLen(0x0360, 26) // CZ_REQUEST_TIME2
+packetLen(0x0360, 26)
#elif PACKETVER >= 20150217
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150211
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20150128
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20151223
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20151209
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20151104
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20151028
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20151021
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20151007
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150923
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20150916
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20150819
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150729
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20150610
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20150527
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150520
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20150429
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150415
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20150225
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150211
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20151230
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20151216
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20151209
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20151118
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20151104
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20151014
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150902
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0362, 36) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 36)
#elif PACKETVER >= 20150819
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150722
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0362, 10) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 10)
#elif PACKETVER >= 20150701
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150603
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150429
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150408
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 7)
#elif PACKETVER >= 20150311
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150225
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150211
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20150121
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20151209
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20151111
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20151021
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20151014
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150819
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150701
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150617
-packetLen(0x0363, 36) // CZ_ITEM_THROW2
+packetLen(0x0363, 36)
#elif PACKETVER >= 20150603
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150520
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20150507
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20150422
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150401
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20150225
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150211
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20150121
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20151230
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20151216
-packetLen(0x0364, 4) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 4)
#elif PACKETVER >= 20151209
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20151111
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20151014
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150819
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150722
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20150701
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0364, 18) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 18)
#elif PACKETVER >= 20150603
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150429
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150415
-packetLen(0x0364, 90) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 90)
#elif PACKETVER >= 20150225
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150211
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20150121
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20151230
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20151223
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20151209
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20151202
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20151125
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20151118
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20151104
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20151014
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150916
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20150819
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150701
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0365, 5) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 5)
#elif PACKETVER >= 20150617
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20150603
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150429
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150401
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0365, 10) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 10)
#elif PACKETVER >= 20150225
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150211
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20150128
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20150121
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20151230
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20151209
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20151125
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20151021
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20151014
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150923
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150826
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150715
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20150701
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150603
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150520
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150415
-packetLen(0x0366, 5) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 5)
#elif PACKETVER >= 20150311
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150211
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20150128
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20150909
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20150408
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20150325
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20150107
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20151230
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20151209
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20151125
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20151021
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20151014
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150916
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150902
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0368, 8) // CZ_REQNAME2
+packetLen(0x0368, 8)
#elif PACKETVER >= 20150805
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150729
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0368, 26) // CZ_REQNAME2
+packetLen(0x0368, 26)
#elif PACKETVER >= 20150715
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0368, 5) // CZ_REQNAME2
+packetLen(0x0368, 5)
#elif PACKETVER >= 20150701
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150603
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150520
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150211
-packetLen(0x0368, 5) // CZ_REQNAME2
+packetLen(0x0368, 5)
#elif PACKETVER >= 20150204
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20150128
-packetLen(0x0368, 8) // CZ_REQNAME2
+packetLen(0x0368, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20151230
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20151216
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20151202
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20151125
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20151111
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20151021
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20151014
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150916
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0369, 36) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 36)
#elif PACKETVER >= 20150826
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150715
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150701
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150603
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150520
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150311
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150211
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20150204
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20150128
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20151230
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20151223
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0436, 12) // CZ_ENTER2
+packetLen(0x0436, 12)
#elif PACKETVER >= 20151209
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20151111
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20151007
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150902
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0436, 18) // CZ_ENTER2
+packetLen(0x0436, 18)
#elif PACKETVER >= 20150805
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150729
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20150715
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20150708
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20150701
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150617
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20150603
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150429
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150318
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20150304
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150211
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20150121
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0436, 10) // CZ_ENTER2
+packetLen(0x0436, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#endif
// Packet: 0x0437
#if PACKETVER >= 20151230
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20151209
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20151125
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20151104
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20151014
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150916
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20150826
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150729
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20150722
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0437, 10) // CZ_REQUEST_ACT2
+packetLen(0x0437, 10)
#elif PACKETVER >= 20150701
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150610
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0437, 8) // CZ_REQUEST_ACT2
+packetLen(0x0437, 8)
#elif PACKETVER >= 20150527
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150520
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150408
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150211
-packetLen(0x0437, 12) // CZ_REQUEST_ACT2
+packetLen(0x0437, 12)
#elif PACKETVER >= 20150204
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20150128
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20151209
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20151125
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20151014
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150916
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150826
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150729
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20150722
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20150708
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150701
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150610
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20150603
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150520
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150318
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20150217
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150211
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20150128
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20151216
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20151209
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20151202
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20151104
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20151021
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20151014
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20151001
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150923
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20150819
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150805
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150708
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150701
-packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 8)
#elif PACKETVER >= 20150624
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150617
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150610
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20150603
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150527
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150429
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150422
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150325
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150318
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20150225
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150204
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20150128
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20150121
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20150107
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20151230
-packetLen(0x07ec, 90) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 90)
#elif PACKETVER >= 20151216
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20151209
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20151202
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20151111
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20151104
-packetLen(0x07ec, 26) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 26)
#elif PACKETVER >= 20151028
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20151021
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20151014
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20151001
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150902
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150826
-packetLen(0x07ec, 7) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 7)
#elif PACKETVER >= 20150819
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150805
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150701
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150624
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150617
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20150603
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150527
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150429
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150422
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150225
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150217
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150211
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150204
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20150121
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20150107
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20151230
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20151209
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20151125
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20151118
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20151104
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151028
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20151014
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150909
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0802, 36) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 36)
#elif PACKETVER >= 20150819
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150708
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20150624
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150603
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150429
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150401
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20150318
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20150311
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0802, 4) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 4)
#elif PACKETVER >= 20150225
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150211
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20150121
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20151230
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20151216
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0811, 6) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 6)
#elif PACKETVER >= 20151202
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20151125
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20151104
-packetLen(0x0811, 18) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 18)
#elif PACKETVER >= 20151021
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20151014
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20151007
-packetLen(0x0811, 26) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 26)
#elif PACKETVER >= 20151001
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150715
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#elif PACKETVER >= 20150701
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150617
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20150610
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20150527
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150520
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#elif PACKETVER >= 20150311
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150211
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20151230
-packetLen(0x0815, 19) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 19)
#elif PACKETVER >= 20151223
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20151209
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20151125
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20151111
-packetLen(0x0815, 26) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 26)
#elif PACKETVER >= 20151021
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20151014
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150715
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150701
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150603
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150520
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150318
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0815, 19) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 19)
#elif PACKETVER >= 20150217
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150211
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20151021
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 26)
#elif PACKETVER >= 20151001
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20150729
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0817, 19) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 19)
#elif PACKETVER >= 20150520
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0817, 5) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 5)
#elif PACKETVER >= 20150507
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20150422
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20150304
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20151230
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20151209
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20151125
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20151014
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150902
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20150805
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150715
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150701
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150610
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20150527
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150520
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150415
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0819, 8) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 8)
#elif PACKETVER >= 20150401
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150225
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150217
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150211
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20150923
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20150722
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20150617
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20150422
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0835, 8) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20151230
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20151209
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20151125
-packetLen(0x0838, 18) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 18)
#elif PACKETVER >= 20151021
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20151014
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20151001
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150916
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150826
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150805
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150715
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150701
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150603
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20150520
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150318
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20150217
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150211
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20150128
-packetLen(0x0838, 7) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 7)
#elif PACKETVER >= 20150107
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20151230
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20151209
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20151202
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20151125
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20151021
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20151014
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20151001
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150916
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150909
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150902
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20150819
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150805
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150722
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150715
-packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 7)
#elif PACKETVER >= 20150708
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150701
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150617
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150603
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150527
-packetLen(0x083c, 36) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 36)
#elif PACKETVER >= 20150520
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150422
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150408
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150401
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20150311
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150217
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150211
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150204
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150128
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20150121
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20150114
-packetLen(0x083c, 19) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 19)
#elif PACKETVER >= 20150107
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20151021
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20151014
-packetLen(0x085a, 10) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 10)
#elif PACKETVER >= 20150513
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20150507
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20150415
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20150408
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20150204
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20150128
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20150107
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20151230
-packetLen(0x085b, -1) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, -1)
#elif PACKETVER >= 20151223
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20151216
-packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 6)
#elif PACKETVER >= 20151209
-packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 36)
#elif PACKETVER >= 20150909
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20150902
-packetLen(0x085b, 7) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 7)
#elif PACKETVER >= 20150805
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20150729
-packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 8)
#elif PACKETVER >= 20150225
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20150217
-packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 36)
#elif PACKETVER >= 20150107
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20151021
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20151014
-packetLen(0x085c, 7) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 7)
#elif PACKETVER >= 20151001
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20150923
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20150722
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20150715
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20150415
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20150408
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20150107
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20151216
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20151209
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20151118
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20151111
-packetLen(0x085d, -1) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, -1)
#elif PACKETVER >= 20151001
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20150923
-packetLen(0x085d, 26) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 26)
#elif PACKETVER >= 20150909
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20150902
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20150826
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20150819
-packetLen(0x085d, 8) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 8)
#elif PACKETVER >= 20150401
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20150325
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20150107
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20151216
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20151209
-packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, -1)
#elif PACKETVER >= 20151202
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20151125
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20150923
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20150916
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20150715
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20150708
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20150527
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20150520
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20150422
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20150415
-packetLen(0x085e, 4) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 4)
#elif PACKETVER >= 20150408
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20150401
-packetLen(0x085e, 12) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 12)
#elif PACKETVER >= 20150107
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20151202
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20151125
-packetLen(0x085f, 8) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 8)
#elif PACKETVER >= 20150107
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20151104
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20151028
-packetLen(0x0860, 36) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 36)
#elif PACKETVER >= 20151021
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20150805
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20150610
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0860, 90) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 90)
#elif PACKETVER >= 20150107
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20151230
-packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 26)
#elif PACKETVER >= 20151216
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20150916
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0861, 4) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 4)
#elif PACKETVER >= 20150902
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0861, 8) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20151118
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20151014
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20151007
-packetLen(0x0862, 4) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 4)
#elif PACKETVER >= 20150826
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20150325
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20150311
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20150217
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20151021
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20150909
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20150422
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0863, 10) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20151230
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20151216
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20151001
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 5)
#elif PACKETVER >= 20150610
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 26)
#elif PACKETVER >= 20150520
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20150507
-packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 26)
#elif PACKETVER >= 20150204
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0864, 10) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20151223
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0865, 10) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 10)
#elif PACKETVER >= 20150902
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20150819
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20150527
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0865, 19) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 19)
#elif PACKETVER >= 20150415
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0865, 7) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 7)
#elif PACKETVER >= 20150107
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20151230
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0866, 19) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 19)
#elif PACKETVER >= 20151216
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20151021
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20150610
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 8)
#elif PACKETVER >= 20150507
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0867, 36) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 36)
#elif PACKETVER >= 20150422
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 26)
#elif PACKETVER >= 20150304
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0867, 18) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20150527
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20150422
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0868, 10) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 10)
#elif PACKETVER >= 20150408
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20150121
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20151230
-packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 5)
#elif PACKETVER >= 20150923
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0869, 7) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 7)
#elif PACKETVER >= 20150729
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20150624
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20150422
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0869, 5) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20151223
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20151216
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20151028
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20151021
-packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 26)
#elif PACKETVER >= 20150624
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20150617
-packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 18)
#elif PACKETVER >= 20150610
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20150603
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20150507
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20150429
-packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 19)
#elif PACKETVER >= 20150318
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20150311
-packetLen(0x086a, 6) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 6)
#elif PACKETVER >= 20150107
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20151125
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20151118
-packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 8)
#elif PACKETVER >= 20150902
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20150826
-packetLen(0x086b, 10) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 10)
#elif PACKETVER >= 20150624
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20150617
-packetLen(0x086b, 5) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 5)
#elif PACKETVER >= 20150415
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20150408
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#elif PACKETVER >= 20150107
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20150805
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20150729
-packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 8)
#elif PACKETVER >= 20150422
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20150415
-packetLen(0x086c, 7) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 7)
#elif PACKETVER >= 20150318
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20150311
-packetLen(0x086c, 36) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 36)
#elif PACKETVER >= 20150107
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20150805
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20150729
-packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 18)
#elif PACKETVER >= 20150708
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20150701
-packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, -1)
#elif PACKETVER >= 20150311
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20150304
-packetLen(0x086d, -1) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, -1)
#elif PACKETVER >= 20150204
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20150128
-packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 8)
#elif PACKETVER >= 20150107
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20151230
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20151223
-packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 10)
#elif PACKETVER >= 20151216
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20150805
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20150729
-packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 5)
#elif PACKETVER >= 20150415
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20150408
-packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 10)
#elif PACKETVER >= 20150107
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20151001
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150923
-packetLen(0x086f, 10) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 10)
#elif PACKETVER >= 20150909
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150902
-packetLen(0x086f, 10) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 10)
#elif PACKETVER >= 20150805
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150729
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20150722
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150715
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20150408
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20150401
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20150325
-packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, -1)
#elif PACKETVER >= 20150107
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20151223
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20151209
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20151202
-packetLen(0x0870, 36) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 36)
#elif PACKETVER >= 20151001
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 5)
#elif PACKETVER >= 20150902
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20150805
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 6)
#elif PACKETVER >= 20150701
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0870, 36) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 36)
#elif PACKETVER >= 20150610
-packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 26)
#elif PACKETVER >= 20150217
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0870, 6) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 6)
#elif PACKETVER >= 20150204
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0870, 5) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20151118
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0871, 26) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 26)
#elif PACKETVER >= 20150916
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0871, -1) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0871, 18) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4535,3928 +4535,3928 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20150923
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0873, 90) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 90)
#elif PACKETVER >= 20150722
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 6)
#elif PACKETVER >= 20150610
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0873, 7) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 7)
#elif PACKETVER >= 20150325
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 36)
#elif PACKETVER >= 20150217
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0873, 5) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20151223
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0874, 90) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 90)
#elif PACKETVER >= 20151021
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0874, 10) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 10)
#elif PACKETVER >= 20150204
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20151230
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0875, 10) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 10)
#elif PACKETVER >= 20150408
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20150204
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20151230
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#elif PACKETVER >= 20150204
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20150923
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0877, 5) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 5)
#elif PACKETVER >= 20150617
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20150603
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20150729
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0878, 10) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 10)
#elif PACKETVER >= 20150415
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20151001
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20150722
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0879, 19) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 19)
#elif PACKETVER >= 20150520
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20150311
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0879, 5) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20151216
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20151209
-packetLen(0x087a, 12) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 12)
#elif PACKETVER >= 20150624
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20150617
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20150107
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20150916
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20150909
-packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 18)
#elif PACKETVER >= 20150902
-packetLen(0x087b, 5) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 5)
#elif PACKETVER >= 20150826
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20150729
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20150722
-packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 18)
#elif PACKETVER >= 20150318
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20150311
-packetLen(0x087b, 18) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 18)
#elif PACKETVER >= 20150217
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20150211
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20150107
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20150722
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20150715
-packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 6)
#elif PACKETVER >= 20150401
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20150325
-packetLen(0x087c, 8) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 8)
#elif PACKETVER >= 20150128
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20150121
-packetLen(0x087c, 4) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 4)
#elif PACKETVER >= 20150114
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20150107
-packetLen(0x087c, 26) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 26)
#endif
// Packet: 0x087d
#if PACKETVER >= 20150729
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20150722
-packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 5)
#elif PACKETVER >= 20150708
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20150701
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20150527
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20150520
-packetLen(0x087d, 12) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 12)
#elif PACKETVER >= 20150204
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20150128
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20150107
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20150729
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150722
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20150708
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150701
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20150617
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150610
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20150415
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150408
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20150401
-packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 8)
#elif PACKETVER >= 20150325
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20150311
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20150304
-packetLen(0x087e, 19) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 19)
#elif PACKETVER >= 20150107
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20151216
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20151209
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20150923
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150916
-packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 12)
#elif PACKETVER >= 20150909
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150902
-packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 4)
#elif PACKETVER >= 20150819
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150812
-packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 36)
#elif PACKETVER >= 20150715
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150708
-packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 4)
#elif PACKETVER >= 20150415
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150408
-packetLen(0x087f, 90) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 90)
#elif PACKETVER >= 20150217
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20150211
-packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 36)
#elif PACKETVER >= 20150107
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#endif
// Packet: 0x0880
#if PACKETVER >= 20150805
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0880, 12) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 12)
#elif PACKETVER >= 20150722
-packetLen(0x0880, 6) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 6)
#elif PACKETVER >= 20150527
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0880, 26) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 26)
#elif PACKETVER >= 20150422
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0880, 8) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20151230
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0881, 7) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 7)
#elif PACKETVER >= 20151021
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 8)
#elif PACKETVER >= 20150923
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, -1)
#elif PACKETVER >= 20150805
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0881, 7) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 7)
#elif PACKETVER >= 20150610
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20150527
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20150217
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20151202
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0883, 5) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 5)
#elif PACKETVER >= 20151021
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20150916
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20150708
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20150520
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0883, 18) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 18)
#elif PACKETVER >= 20150401
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0883, 12) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 12)
#elif PACKETVER >= 20150318
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20150217
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20151230
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20151202
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0884, 36) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 36)
#elif PACKETVER >= 20151021
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20150729
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20150715
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20150617
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20150603
-packetLen(0x0884, 4) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 4)
#elif PACKETVER >= 20150107
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20151223
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0885, 36) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 36)
#elif PACKETVER >= 20151202
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20151118
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0885, 7) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 7)
#elif PACKETVER >= 20150617
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20150520
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20150401
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0885, 10) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 10)
#elif PACKETVER >= 20150304
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0885, 4) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 4)
#elif PACKETVER >= 20150217
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20151230
-packetLen(0x0886, 10) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 10)
#elif PACKETVER >= 20151223
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20151111
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20151001
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20150916
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0886, 19) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 19)
#elif PACKETVER >= 20150902
-packetLen(0x0886, 12) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 12)
#elif PACKETVER >= 20150805
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20150722
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20150624
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20150507
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 26)
#elif PACKETVER >= 20150318
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20150217
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20151111
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20150909
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20150513
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0887, 8) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20150826
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20150617
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 19)
#elif PACKETVER >= 20150415
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20150204
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20151021
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20150513
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0889, 18) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 18)
#elif PACKETVER >= 20150415
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 36)
#elif PACKETVER >= 20150325
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0889, 7) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 7)
#elif PACKETVER >= 20150107
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20150812
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20150805
-packetLen(0x088a, 36) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 36)
#elif PACKETVER >= 20150107
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20151223
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20151216
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20151125
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20151118
-packetLen(0x088b, 36) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 36)
#elif PACKETVER >= 20151111
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20151104
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20150902
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20150826
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20150610
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20150603
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20150128
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20150121
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20150107
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20151202
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20151125
-packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 6)
#elif PACKETVER >= 20150617
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20150610
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20150527
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20150520
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20150408
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20150401
-packetLen(0x088c, 6) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 6)
#elif PACKETVER >= 20150325
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20150318
-packetLen(0x088c, 12) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 12)
#elif PACKETVER >= 20150107
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20151230
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20151223
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20151202
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20151125
-packetLen(0x088d, 19) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 19)
#elif PACKETVER >= 20151111
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20151104
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20150909
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20150902
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20150826
-packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 26)
#elif PACKETVER >= 20150729
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20150722
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20150617
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20150610
-packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 18)
#elif PACKETVER >= 20150107
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20151230
-packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 26)
#elif PACKETVER >= 20151216
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20151209
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20151021
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20151014
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20151001
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20150923
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20150422
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20150415
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20150107
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20151216
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20151209
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20150916
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20150909
-packetLen(0x088f, 26) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 26)
#elif PACKETVER >= 20150617
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20150610
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20150507
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20150429
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20150408
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20150401
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20150107
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20151230
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20151230
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20150902
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20150422
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20150408
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20150401
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20151001
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20150909
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20150311
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20150708
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0893, 4) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 4)
#elif PACKETVER >= 20150401
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20151216
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 10)
#elif PACKETVER >= 20150624
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20150617
-packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 4)
#elif PACKETVER >= 20150507
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20151001
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 4)
#elif PACKETVER >= 20150916
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20150722
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20150408
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20150114
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0895, 36) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 36)
#endif
// Packet: 0x0896
#if PACKETVER >= 20150722
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0896, 90) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 90)
#elif PACKETVER >= 20150318
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0896, 7) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 7)
#elif PACKETVER >= 20150304
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20151230
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20150909
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0897, 8) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 8)
#elif PACKETVER >= 20150722
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20150617
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0897, 26) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 26)
#elif PACKETVER >= 20150603
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20150401
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20151230
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0898, 90) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 90)
#elif PACKETVER >= 20150422
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20150408
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20150401
-packetLen(0x0898, 5) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20151202
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20150909
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20150729
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20150507
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20150401
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0899, 18) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 18)
#elif PACKETVER >= 20150121
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20151021
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20151014
-packetLen(0x089a, 4) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 4)
#elif PACKETVER >= 20150805
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150729
-packetLen(0x089a, 10) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 10)
#elif PACKETVER >= 20150722
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150715
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20150610
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150603
-packetLen(0x089a, 12) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 12)
#elif PACKETVER >= 20150311
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150304
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20150204
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20150128
-packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 18)
#elif PACKETVER >= 20150107
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20151001
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20150923
-packetLen(0x089b, 10) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 10)
#elif PACKETVER >= 20150916
-packetLen(0x089b, 18) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 18)
#elif PACKETVER >= 20150805
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20150729
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20150304
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20150225
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20150107
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20151202
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20151125
-packetLen(0x089c, 7) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 7)
#elif PACKETVER >= 20151118
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20151111
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20150923
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150916
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20150527
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150520
-packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 36)
#elif PACKETVER >= 20150415
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150408
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20150401
-packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 36)
#elif PACKETVER >= 20150325
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150318
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20150304
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150225
-packetLen(0x089c, 8) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 8)
#elif PACKETVER >= 20150217
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20150211
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20150107
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20151223
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20151216
-packetLen(0x089d, 7) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 7)
#elif PACKETVER >= 20150715
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20150708
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20150610
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20150603
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20150128
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20150121
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20150107
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20151223
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20151216
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20150923
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20150916
-packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 26)
#elif PACKETVER >= 20150610
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20150603
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20150527
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20150520
-packetLen(0x089e, 6) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 6)
#elif PACKETVER >= 20150128
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20150121
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20150107
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20151202
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20151125
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20151021
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20151014
-packetLen(0x089f, 5) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 5)
#elif PACKETVER >= 20151001
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20150923
-packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 8)
#elif PACKETVER >= 20150507
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20150429
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20150107
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20151001
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150923
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20150902
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150826
-packetLen(0x08a0, 12) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 12)
#elif PACKETVER >= 20150708
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150701
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20150617
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150610
-packetLen(0x08a0, 36) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 36)
#elif PACKETVER >= 20150422
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150415
-packetLen(0x08a0, -1) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, -1)
#elif PACKETVER >= 20150217
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20150211
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20150107
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20151216
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20151209
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20150902
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20150826
-packetLen(0x08a1, 8) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 8)
#elif PACKETVER >= 20150610
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20150603
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20150401
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20150325
-packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 7)
#elif PACKETVER >= 20150318
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20150311
-packetLen(0x08a1, 10) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 10)
#elif PACKETVER >= 20150107
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20151223
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20151216
-packetLen(0x08a2, 5) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 5)
#elif PACKETVER >= 20151001
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20150923
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20150527
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20150520
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20150415
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20150408
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20150107
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20151111
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20151104
-packetLen(0x08a3, 4) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 4)
#elif PACKETVER >= 20150805
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20150729
-packetLen(0x08a3, 4) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 4)
#elif PACKETVER >= 20150318
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20150311
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20150107
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20150902
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150826
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20150805
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150729
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20150722
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150715
-packetLen(0x08a4, 4) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 4)
#elif PACKETVER >= 20150708
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150701
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20150415
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150408
-packetLen(0x08a4, 26) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 26)
#elif PACKETVER >= 20150325
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150318
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20150304
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150225
-packetLen(0x08a4, 36) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 36)
#elif PACKETVER >= 20150217
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20150211
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20150107
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20151111
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20151104
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20151001
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20150923
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20150715
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20150708
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20150701
-packetLen(0x08a5, 26) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 26)
#elif PACKETVER >= 20150408
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20150401
-packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 8)
#elif PACKETVER >= 20150318
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20150311
-packetLen(0x08a5, 12) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 12)
#elif PACKETVER >= 20150107
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20151001
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20150923
-packetLen(0x08a6, 12) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 12)
#elif PACKETVER >= 20150708
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20150701
-packetLen(0x08a6, 10) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 10)
#elif PACKETVER >= 20150507
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20150429
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20150318
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20150311
-packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 26)
#elif PACKETVER >= 20150107
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20150401
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20150325
-packetLen(0x08a7, 90) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 90)
#elif PACKETVER >= 20150107
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20150902
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20150826
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20150729
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20150722
-packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 5)
#elif PACKETVER >= 20150520
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20150513
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20150507
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20150429
-packetLen(0x08a8, 4) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 4)
#elif PACKETVER >= 20150107
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20151223
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20151216
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20151202
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20151125
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20150909
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20150902
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20150107
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20151230
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20151223
-packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 26)
#elif PACKETVER >= 20151021
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20151014
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20150217
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20150211
-packetLen(0x08aa, 7) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 7)
#elif PACKETVER >= 20150107
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20151125
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20151118
-packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 8)
#elif PACKETVER >= 20150204
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20150128
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20150121
-packetLen(0x08ab, 36) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 36)
#elif PACKETVER >= 20150107
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20151223
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20151216
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20150923
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20150916
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20150805
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20150729
-packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 26)
#elif PACKETVER >= 20150722
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20150715
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20150617
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20150610
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20150107
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20151202
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20151125
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20150805
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150729
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20150715
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150708
-packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 36)
#elif PACKETVER >= 20150701
-packetLen(0x08ad, 10) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 10)
#elif PACKETVER >= 20150610
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150603
-packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 19)
#elif PACKETVER >= 20150527
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150520
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20150507
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20150429
-packetLen(0x08ad, 18) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 18)
#elif PACKETVER >= 20150107
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 149)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20150722
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0917, 12) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 12)
#elif PACKETVER >= 20150107
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20150128
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20150826
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0919, 8) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 8)
#elif PACKETVER >= 20150729
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0919, 4) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 4)
#elif PACKETVER >= 20150708
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0919, 36) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 36)
#elif PACKETVER >= 20150401
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0919, 36) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 36)
#elif PACKETVER >= 20150217
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0919, 90) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 90)
#elif PACKETVER >= 20150128
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20151230
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20151223
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20150107
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20151230
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20151223
-packetLen(0x091b, 26) // ZC_PRNPC_STATE
+packetLen(0x091b, 26)
#elif PACKETVER >= 20150610
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20150603
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20150415
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20150408
-packetLen(0x091b, 4) // ZC_PRNPC_STATE
+packetLen(0x091b, 4)
#elif PACKETVER >= 20150401
-packetLen(0x091b, 26) // ZC_PRNPC_STATE
+packetLen(0x091b, 26)
#elif PACKETVER >= 20150107
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20151021
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20151014
-packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 26)
#elif PACKETVER >= 20150527
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20150520
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20150408
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20150401
-packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 90)
#elif PACKETVER >= 20150318
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20150311
-packetLen(0x091c, 90) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 90)
#elif PACKETVER >= 20150107
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20151230
-packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 8)
#elif PACKETVER >= 20151223
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20151216
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20151028
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20151021
-packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 5)
#elif PACKETVER >= 20151014
-packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 36)
#elif PACKETVER >= 20150527
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20150520
-packetLen(0x091d, 7) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 7)
#elif PACKETVER >= 20150325
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20150318
-packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 8)
#elif PACKETVER >= 20150128
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20150121
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20150107
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20151001
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20150923
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20150826
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20150819
-packetLen(0x091e, 36) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 36)
#elif PACKETVER >= 20150415
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20150408
-packetLen(0x091e, -1) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, -1)
#elif PACKETVER >= 20150107
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20150715
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20150708
-packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 18)
#elif PACKETVER >= 20150204
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20150128
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20150107
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20151230
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0920, 5) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 5)
#elif PACKETVER >= 20151216
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, -1)
#elif PACKETVER >= 20151202
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20150923
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20151125
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0921, 26) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 26)
#elif PACKETVER >= 20150729
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20150610
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 36)
#elif PACKETVER >= 20150422
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 8)
#elif PACKETVER >= 20150408
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20150401
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20151230
-packetLen(0x0923, 36) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 36)
#elif PACKETVER >= 20151223
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20150909
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0923, 26) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 26)
#elif PACKETVER >= 20150708
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0923, 8) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 8)
#elif PACKETVER >= 20150520
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0923, 36) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20151230
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20150923
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0924, 26) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 26)
#elif PACKETVER >= 20150902
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20150527
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0924, 8) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 8)
#elif PACKETVER >= 20150513
-packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 5)
#elif PACKETVER >= 20150507
-packetLen(0x0924, 19) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 19)
#elif PACKETVER >= 20150408
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0924, 18) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20151125
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0925, 19) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 19)
#elif PACKETVER >= 20150729
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, -1)
#elif PACKETVER >= 20150617
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
// Packet: 0x0927
#if PACKETVER >= 20150826
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0927, 19) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 19)
#elif PACKETVER >= 20150520
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0927, 4) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 4)
#elif PACKETVER >= 20150325
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 5)
#elif PACKETVER >= 20150204
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20151111
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 5)
#elif PACKETVER >= 20150916
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 8)
#elif PACKETVER >= 20150902
-packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 6)
#elif PACKETVER >= 20150708
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0928, 8) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 8)
#elif PACKETVER >= 20150325
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0928, 6) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 6)
#elif PACKETVER >= 20150311
-packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20150507
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20150204
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0929, 36) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20151202
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20151125
-packetLen(0x092a, 10) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 10)
#elif PACKETVER >= 20150909
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20150902
-packetLen(0x092a, 5) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 5)
#elif PACKETVER >= 20150715
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20150708
-packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 8)
#elif PACKETVER >= 20150415
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20150408
-packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 8)
#elif PACKETVER >= 20150318
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20150311
-packetLen(0x092a, 8) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 8)
#elif PACKETVER >= 20150107
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20151001
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20150923
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20150805
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20150729
-packetLen(0x092b, 90) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 90)
#elif PACKETVER >= 20150617
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20150610
-packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, -1)
#elif PACKETVER >= 20150527
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20150520
-packetLen(0x092b, 5) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 5)
#elif PACKETVER >= 20150107
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20150708
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20150701
-packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 5)
#elif PACKETVER >= 20150617
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20150610
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20150401
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20150325
-packetLen(0x092c, 6) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 6)
#elif PACKETVER >= 20150107
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20151216
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20151209
-packetLen(0x092d, 8) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 8)
#elif PACKETVER >= 20150909
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20150902
-packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 26)
#elif PACKETVER >= 20150610
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20150603
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20150114
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20150107
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#endif
// Packet: 0x092e
#if PACKETVER >= 20151202
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20151125
-packetLen(0x092e, 10) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 10)
#elif PACKETVER >= 20151118
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20150902
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150826
-packetLen(0x092e, 90) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 90)
#elif PACKETVER >= 20150729
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150722
-packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 26)
#elif PACKETVER >= 20150617
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150610
-packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 4)
#elif PACKETVER >= 20150513
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150507
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20150422
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150415
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20150318
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20150311
-packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 8)
#elif PACKETVER >= 20150107
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20151125
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20151118
-packetLen(0x092f, 8) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 8)
#elif PACKETVER >= 20150923
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20150916
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20150805
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20150729
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20150107
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20151216
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0930, 90) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 90)
#elif PACKETVER >= 20151001
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20150527
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0931, 90) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 90)
#elif PACKETVER >= 20150401
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20151216
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, -1)
#elif PACKETVER >= 20150401
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
// Packet: 0x0934
#if PACKETVER >= 20151021
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0934, -1) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, -1)
#elif PACKETVER >= 20150923
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
// Packet: 0x0936
#if PACKETVER >= 20151001
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0936, 90) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 90)
#elif PACKETVER >= 20150916
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20150527
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0936, 10) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 10)
#elif PACKETVER >= 20150325
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0936, 10) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20150325
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 10)
#elif PACKETVER >= 20150107
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20150923
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 4)
#elif PACKETVER >= 20150401
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0938, 5) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 5)
#elif PACKETVER >= 20150318
-packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 26)
#elif PACKETVER >= 20150204
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 4)
#elif PACKETVER >= 20150107
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20151202
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20151111
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 8)
#elif PACKETVER >= 20150408
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0939, 19) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 19)
#elif PACKETVER >= 20150107
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20151230
-packetLen(0x093a, 4) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 4)
#elif PACKETVER >= 20151111
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20151104
-packetLen(0x093a, -1) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, -1)
#elif PACKETVER >= 20150805
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150729
-packetLen(0x093a, 6) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 6)
#elif PACKETVER >= 20150408
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150401
-packetLen(0x093a, 10) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 10)
#elif PACKETVER >= 20150325
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150318
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20150311
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150304
-packetLen(0x093a, 18) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 18)
#elif PACKETVER >= 20150204
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20150128
-packetLen(0x093a, 10) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 10)
#elif PACKETVER >= 20150107
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20151216
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20151209
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20151001
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150923
-packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 26)
#elif PACKETVER >= 20150902
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150826
-packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 6)
#elif PACKETVER >= 20150513
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150507
-packetLen(0x093b, 5) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 5)
#elif PACKETVER >= 20150408
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150401
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20150318
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20150311
-packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 26)
#elif PACKETVER >= 20150107
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20151125
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20151118
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20150729
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20150722
-packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, -1)
#elif PACKETVER >= 20150715
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20150708
-packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 26)
#elif PACKETVER >= 20150422
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20150415
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20150325
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20150318
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20150107
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20150729
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20150722
-packetLen(0x093d, 12) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 12)
#elif PACKETVER >= 20150527
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20150520
-packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 26)
#elif PACKETVER >= 20150507
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20150429
-packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 26)
#elif PACKETVER >= 20150107
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20151202
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20151125
-packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 12)
#elif PACKETVER >= 20150923
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150916
-packetLen(0x093e, 10) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 10)
#elif PACKETVER >= 20150722
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150715
-packetLen(0x093e, 5) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 5)
#elif PACKETVER >= 20150708
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150701
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20150617
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150610
-packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 7)
#elif PACKETVER >= 20150422
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20150415
-packetLen(0x093e, 12) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 12)
#elif PACKETVER >= 20150107
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20151014
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20151007
-packetLen(0x093f, 5) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 5)
#elif PACKETVER >= 20150805
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20150729
-packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, -1)
#elif PACKETVER >= 20150708
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20150701
-packetLen(0x093f, 12) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 12)
#elif PACKETVER >= 20150610
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20150603
-packetLen(0x093f, 18) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 18)
#elif PACKETVER >= 20150107
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20151111
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0940, 36) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 36)
#elif PACKETVER >= 20151028
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20151021
-packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 26)
#elif PACKETVER >= 20150916
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20150826
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20150805
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20150701
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 8)
#elif PACKETVER >= 20150617
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20150610
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20150603
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150527
-packetLen(0x0940, 12) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 12)
#elif PACKETVER >= 20150520
-packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 8)
#elif PACKETVER >= 20150401
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0940, 26) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 26)
#elif PACKETVER >= 20150304
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20150923
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0941, 36) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 36)
#elif PACKETVER >= 20150902
-packetLen(0x0941, 5) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 5)
#elif PACKETVER >= 20150701
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20150513
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20150422
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0941, 19) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 19)
#elif PACKETVER >= 20150107
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20151118
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0942, 18) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 18)
#elif PACKETVER >= 20150923
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20150513
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0942, 4) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 4)
#elif PACKETVER >= 20150107
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20151125
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20150507
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20150429
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20150318
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20150114
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0943, 5) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 5)
#endif
// Packet: 0x0944
#if PACKETVER >= 20151223
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20151021
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0944, 12) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 12)
#elif PACKETVER >= 20150722
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0944, 26) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 26)
#elif PACKETVER >= 20150217
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20150204
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0944, 19) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 19)
#elif PACKETVER >= 20150107
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20150902
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20150527
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20151125
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20151118
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20150708
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20150617
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0946, 90) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 90)
#elif PACKETVER >= 20150408
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 4)
#elif PACKETVER >= 20150318
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 4)
#elif PACKETVER >= 20150304
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20150121
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20151223
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 19)
#elif PACKETVER >= 20150909
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0947, 90) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 90)
#elif PACKETVER >= 20150311
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 8)
#elif PACKETVER >= 20150114
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20150107
-packetLen(0x0947, 19) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 19)
#endif
// Packet: 0x0948
#if PACKETVER >= 20151216
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0948, 19) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 19)
#elif PACKETVER >= 20150923
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0948, -1) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, -1)
#elif PACKETVER >= 20150304
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0948, 6) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20151230
-packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 5)
#elif PACKETVER >= 20151223
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, -1)
#elif PACKETVER >= 20150617
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0949, 10) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 10)
#elif PACKETVER >= 20150408
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0949, 6) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20151216
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20151209
-packetLen(0x094a, 18) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 18)
#elif PACKETVER >= 20151118
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20151111
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20150520
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20150513
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20150401
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20150325
-packetLen(0x094a, 19) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 19)
#elif PACKETVER >= 20150107
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20150408
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20150401
-packetLen(0x094b, 10) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 10)
#elif PACKETVER >= 20150107
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20150729
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20150722
-packetLen(0x094c, 10) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 10)
#elif PACKETVER >= 20150325
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20150318
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20150107
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20150422
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20150415
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20150107
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20151230
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20150708
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20150701
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20150624
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20150617
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20150527
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20150520
-packetLen(0x094e, 10) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 10)
#elif PACKETVER >= 20150204
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20150128
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20150107
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20150923
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150916
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20150909
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150902
-packetLen(0x094f, 6) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 6)
#elif PACKETVER >= 20150826
-packetLen(0x094f, 5) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 5)
#elif PACKETVER >= 20150805
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150729
-packetLen(0x094f, 19) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 19)
#elif PACKETVER >= 20150722
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20150415
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150408
-packetLen(0x094f, 18) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 18)
#elif PACKETVER >= 20150304
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20150225
-packetLen(0x094f, 5) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 5)
#elif PACKETVER >= 20150107
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20150722
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0950, 6) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 6)
#elif PACKETVER >= 20150401
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20151202
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 5)
#elif PACKETVER >= 20151001
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150923
-packetLen(0x0951, 7) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 7)
#elif PACKETVER >= 20150902
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20150729
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20150325
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0951, 6) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0951, -1) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, -1)
#elif PACKETVER >= 20150107
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20150304
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0952, 8) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 8)
#elif PACKETVER >= 20150204
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20150107
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20150909
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20150902
-packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, -1)
#elif PACKETVER >= 20150513
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0953, 36) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 36)
#elif PACKETVER >= 20150422
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, -1)
#elif PACKETVER >= 20150408
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20151223
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, -1)
#elif PACKETVER >= 20150708
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 5)
#elif PACKETVER >= 20150401
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20150805
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0955, -1) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, -1)
#elif PACKETVER >= 20150610
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0955, 5) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 5)
#elif PACKETVER >= 20150513
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150507
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20150429
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150422
-packetLen(0x0955, 36) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 36)
#elif PACKETVER >= 20150415
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0955, 6) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 6)
#elif PACKETVER >= 20150304
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150225
-packetLen(0x0955, 5) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 5)
#elif PACKETVER >= 20150128
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20150114
-packetLen(0x0955, 4) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 4)
#elif PACKETVER >= 20150107
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20151216
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0956, 90) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 90)
#elif PACKETVER >= 20151202
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0956, 26) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 26)
#elif PACKETVER >= 20151021
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 6)
#elif PACKETVER >= 20150722
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0956, 36) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 36)
#elif PACKETVER >= 20150708
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0956, 90) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 90)
#elif PACKETVER >= 20150107
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20151202
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20151118
-packetLen(0x0957, 4) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 4)
#elif PACKETVER >= 20150617
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20150415
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0957, 19) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 19)
#elif PACKETVER >= 20150318
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 26)
#elif PACKETVER >= 20150121
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20150114
-packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20151118
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20150729
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150722
-packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 36)
#elif PACKETVER >= 20150708
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0958, 7) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 7)
#elif PACKETVER >= 20150520
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150513
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20150507
-packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 26)
#elif PACKETVER >= 20150318
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20150217
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20150211
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20151202
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20151125
-packetLen(0x0959, 90) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 90)
#elif PACKETVER >= 20150902
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, -1)
#elif PACKETVER >= 20150415
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20150408
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20150325
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0959, -1) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, -1)
#elif PACKETVER >= 20150128
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0959, 19) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 19)
#elif PACKETVER >= 20150107
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20150923
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20150916
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20150107
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20150909
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20150902
-packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 19)
#elif PACKETVER >= 20150715
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20150708
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20150527
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20150520
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20150318
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20150311
-packetLen(0x095b, -1) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, -1)
#elif PACKETVER >= 20150107
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20151216
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20151209
-packetLen(0x095c, 4) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 4)
#elif PACKETVER >= 20151125
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20151118
-packetLen(0x095c, 18) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 18)
#elif PACKETVER >= 20150422
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20150415
-packetLen(0x095c, 26) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 26)
#elif PACKETVER >= 20150107
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20150617
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20150610
-packetLen(0x095d, 12) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 12)
#elif PACKETVER >= 20150311
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20150304
-packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 8)
#elif PACKETVER >= 20150107
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20151230
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20151223
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20151021
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20151014
-packetLen(0x095e, 8) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 8)
#elif PACKETVER >= 20150916
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20150909
-packetLen(0x095e, 6) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 6)
#elif PACKETVER >= 20150805
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20150729
-packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, -1)
#elif PACKETVER >= 20150415
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20150408
-packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 12)
#elif PACKETVER >= 20150107
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20151014
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20151007
-packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 5)
#elif PACKETVER >= 20150708
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20150701
-packetLen(0x095f, 26) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 26)
#elif PACKETVER >= 20150408
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20150401
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20150107
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20151007
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20151001
-packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 36)
#elif PACKETVER >= 20150923
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0960, 5) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 5)
#elif PACKETVER >= 20150708
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0960, 18) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 18)
#elif PACKETVER >= 20150610
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0960, 10) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 10)
#elif PACKETVER >= 20150527
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0960, 4) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 4)
#elif PACKETVER >= 20150513
-packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, -1)
#elif PACKETVER >= 20150422
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0960, 36) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 36)
#elif PACKETVER >= 20150325
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150318
-packetLen(0x0960, 18) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 18)
#elif PACKETVER >= 20150311
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20151216
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0961, 7) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 7)
#elif PACKETVER >= 20151021
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20151007
-packetLen(0x0961, 19) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 19)
#elif PACKETVER >= 20151001
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0961, -1) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, -1)
#elif PACKETVER >= 20150826
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 26)
#elif PACKETVER >= 20150805
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150729
-packetLen(0x0961, 36) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 36)
#elif PACKETVER >= 20150722
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 8)
#elif PACKETVER >= 20150527
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150520
-packetLen(0x0961, 8) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 8)
#elif PACKETVER >= 20150422
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150415
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20150311
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20150304
-packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 5)
#elif PACKETVER >= 20150107
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20150916
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20150909
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20150715
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20150708
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20150318
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20150204
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0963, 26) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 26)
#elif PACKETVER >= 20150121
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20151216
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20151209
-packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 26)
#elif PACKETVER >= 20151111
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20151104
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20151021
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20151014
-packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 19)
#elif PACKETVER >= 20150902
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 19)
#elif PACKETVER >= 20150617
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20150610
-packetLen(0x0964, 5) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 5)
#elif PACKETVER >= 20150408
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20150401
-packetLen(0x0964, 5) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 5)
#elif PACKETVER >= 20150318
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20150311
-packetLen(0x0964, 8) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20151230
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0965, 36) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 36)
#elif PACKETVER >= 20150722
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20150715
-packetLen(0x0965, 18) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 18)
#elif PACKETVER >= 20150107
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20151223
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 6)
#elif PACKETVER >= 20151118
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20150701
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20150624
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20150211
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20150204
-packetLen(0x0966, 36) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 36)
#elif PACKETVER >= 20150107
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20151230
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20151223
-packetLen(0x0967, 12) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 12)
#elif PACKETVER >= 20151118
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0967, 19) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 19)
#elif PACKETVER >= 20151014
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20151007
-packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 36)
#elif PACKETVER >= 20150826
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20150819
-packetLen(0x0967, 5) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 5)
#elif PACKETVER >= 20150128
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20150121
-packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 26)
#elif PACKETVER >= 20150107
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20151223
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20151216
-packetLen(0x0968, 10) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 10)
#elif PACKETVER >= 20150902
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0968, 4) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 4)
#elif PACKETVER >= 20150708
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20150701
-packetLen(0x0968, 5) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 5)
#elif PACKETVER >= 20150204
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20150128
-packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 6)
#elif PACKETVER >= 20150107
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20151118
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20151111
-packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 36)
#elif PACKETVER >= 20150923
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20150916
-packetLen(0x0969, 19) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 19)
#elif PACKETVER >= 20150902
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20150826
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20150610
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20150603
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20150401
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20150325
-packetLen(0x0969, 8) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 8)
#elif PACKETVER >= 20150107
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20151230
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20151209
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20151202
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20151125
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20151111
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20151104
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20151021
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20151014
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20151001
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150916
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150909
-packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 5)
#elif PACKETVER >= 20150826
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150805
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150715
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150708
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150701
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150617
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150610
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150603
-packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 5)
#elif PACKETVER >= 20150527
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150520
-packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 18)
#elif PACKETVER >= 20150422
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150311
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150304
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150225
-packetLen(0x096a, 19) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 19)
#elif PACKETVER >= 20150217
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150211
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150204
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20150128
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20150107
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 10)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
// Packet: 0x0a0a
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
// Packet: 0x0a0b
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
// Packet: 0x0a0c
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
-packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 57)
// Packet: 0x0a38
#if PACKETVER >= 20150128
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
#endif
// Packet: 0x0a39
#if PACKETVER >= 20150415
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
#elif PACKETVER >= 20150211
-packetLen(0x0a39, 35) // CH_MAKE_CHAR
+packetLen(0x0a39, 35)
#endif
// Packet: 0x0a3a
@@ -8466,7 +8466,7 @@ packetLen(0x0a3a, 12)
// Packet: 0x0a3b
#if PACKETVER >= 20150422
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
#endif
// Packet: 0x0a3c
@@ -8496,7 +8496,7 @@ packetLen(0x0a40, 11)
// Packet: 0x0a41
#if PACKETVER >= 20150909
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
#endif
// Packet: 0x0a42
@@ -8506,12 +8506,12 @@ packetLen(0x0a42, 43)
// Packet: 0x0a43
#if PACKETVER >= 20151007
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
#endif
// Packet: 0x0a44
#if PACKETVER >= 20151007
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
#endif
// Packet: 0x0a45
@@ -8530,7 +8530,7 @@ packetLen(0x0a46, 14)
// Packet: 0x0a47
#if PACKETVER >= 20151104
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
#endif
// Packet: 0x0a48
@@ -8540,22 +8540,22 @@ packetLen(0x0a48, 2)
// Packet: 0x0a49
#if PACKETVER >= 20151118
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
#endif
// Packet: 0x0a4a
#if PACKETVER >= 20151118
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
#endif
// Packet: 0x0a4b
#if PACKETVER >= 20151118
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
#endif
// Packet: 0x0a4c
#if PACKETVER >= 20151118
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
#endif
diff --git a/src/common/packets/packets2016_len_main.h b/src/common/packets/packets2016_len_main.h
index 7625e55e9..80518e3eb 100644
--- a/src/common/packets/packets2016_len_main.h
+++ b/src/common/packets/packets2016_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4403 +25,4403 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 149)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20161012
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20160928
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20160921
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160913
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160831
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160803
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160706
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20160511
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160323
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160224
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20160211
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20160127
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20161221
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20161214
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20161026
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20161019
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20160928
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160921
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160913
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160907
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160831
-packetLen(0x022d, 90) // CZ_COMMAND_MER
+packetLen(0x022d, 90)
#elif PACKETVER >= 20160824
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160720
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160713
-packetLen(0x022d, 36) // CZ_COMMAND_MER
+packetLen(0x022d, 36)
#elif PACKETVER >= 20160706
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160629
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20160615
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160608
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20160504
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160427
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160420
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20160323
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160316
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160309
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160302
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20160224
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20160217
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160211
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160203
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160120
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160113
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20160106
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20161214
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20161207
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20160928
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160921
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160913
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160907
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160831
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160824
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160803
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160727
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20160629
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160622
-packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 10)
#elif PACKETVER >= 20160504
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160427
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160323
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160316
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160309
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20160217
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160211
-packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 18)
#elif PACKETVER >= 20160127
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160120
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160113
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20160106
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20161221
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20161207
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160928
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160913
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160831
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160622
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20160525
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160504
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160323
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160309
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20160217
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160203
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20161221
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20161214
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20161116
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20161109
-packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 18)
#elif PACKETVER >= 20160615
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20160608
-packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 18)
#elif PACKETVER >= 20160601
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20160427
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20160420
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20160106
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20161228
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20161207
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20161130
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20161123
-packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 18)
#elif PACKETVER >= 20161026
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20161019
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20161005
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160921
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160913
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160907
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160831
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160824
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160706
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160629
-packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 4)
#elif PACKETVER >= 20160622
-packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 8)
#elif PACKETVER >= 20160615
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160608
-packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 26)
#elif PACKETVER >= 20160511
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160504
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160427
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160420
-packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 26)
#elif PACKETVER >= 20160414
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160406
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160316
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160302
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160224
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160217
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160211
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160203
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160120
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160113
-packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 18)
#elif PACKETVER >= 20160106
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20161221
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20161130
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20160928
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160913
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160831
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160504
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160406
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160217
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160113
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20161214
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0361, 19) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 19)
#elif PACKETVER >= 20161130
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20161109
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20161026
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160928
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160913
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20160907
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160831
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160817
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 36)
#elif PACKETVER >= 20160629
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20160504
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160323
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160309
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20160211
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20160127
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20161228
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20161221
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20161207
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20161123
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20161116
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20161026
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160928
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160913
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160831
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160803
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20160720
-packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 90)
#elif PACKETVER >= 20160713
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160525
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160504
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160420
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20160323
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160224
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20160211
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160203
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#endif
// Packet: 0x0363
#if PACKETVER >= 20161207
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20161102
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0363, 36) // CZ_ITEM_THROW2
+packetLen(0x0363, 36)
#elif PACKETVER >= 20161019
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160928
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160913
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160831
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160803
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20160720
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20160713
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20160706
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20160622
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20160525
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160504
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20160427
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160420
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20160323
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160217
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160203
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#endif
// Packet: 0x0364
#if PACKETVER >= 20161221
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20161207
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20161026
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20161012
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20160928
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160913
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160831
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160817
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20160810
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 19)
#elif PACKETVER >= 20160720
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20160622
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20160525
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160504
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160414
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20160323
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20160302
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
#elif PACKETVER >= 20160217
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160203
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#endif
// Packet: 0x0365
#if PACKETVER >= 20161207
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20161116
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20161012
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20160928
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160913
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160831
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160727
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0365, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 7)
#elif PACKETVER >= 20160525
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160504
-packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 4)
#elif PACKETVER >= 20160427
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160406
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 36)
#elif PACKETVER >= 20160323
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20160316
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160224
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 12)
#elif PACKETVER >= 20160211
-packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 36)
#elif PACKETVER >= 20160203
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160106
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#endif
// Packet: 0x0366
#if PACKETVER >= 20161228
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20161130
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20161116
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20161005
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20160921
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160913
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160831
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20160824
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160629
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160608
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160504
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160330
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160302
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160217
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160113
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20161109
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0367, 4) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 4)
#elif PACKETVER >= 20160309
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20161221
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20161123
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20161012
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0368, 7) // CZ_REQNAME2
+packetLen(0x0368, 7)
#elif PACKETVER >= 20160928
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160913
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160831
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160504
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160406
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160302
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160217
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160113
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20161221
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 19)
#elif PACKETVER >= 20161207
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20161123
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20161026
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20161012
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20160928
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160913
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160831
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160622
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20160511
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160504
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160406
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160302
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20160217
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160113
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20161221
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0436, 7) // CZ_ENTER2
+packetLen(0x0436, 7)
#elif PACKETVER >= 20161109
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0436, 7) // CZ_ENTER2
+packetLen(0x0436, 7)
#elif PACKETVER >= 20161005
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20160921
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160913
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160831
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160803
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0436, 90) // CZ_ENTER2
+packetLen(0x0436, 90)
#elif PACKETVER >= 20160713
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20160525
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160518
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160504
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160323
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160302
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20160217
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160203
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20160120
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#endif
// Packet: 0x0437
#if PACKETVER >= 20161221
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20161123
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160928
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160913
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160831
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160817
-packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+packetLen(0x0437, 26)
#elif PACKETVER >= 20160629
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160615
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+packetLen(0x0437, 19)
#elif PACKETVER >= 20160511
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160504
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160406
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160217
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160203
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20160120
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160113
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20161228
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20161130
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20161102
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20161019
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160928
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160913
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160831
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160803
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160504
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160406
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160302
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160217
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160113
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20161207
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20161130
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20161026
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20161019
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160928
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160921
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160913
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160907
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160831
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160817
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160727
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160720
-packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 19)
#elif PACKETVER >= 20160629
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160622
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#elif PACKETVER >= 20160525
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160511
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160504
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160427
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160414
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160406
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160323
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160316
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160217
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160211
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160203
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160120
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160106
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20161207
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20161130
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20161026
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20161019
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20161012
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20160928
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160921
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160913
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160907
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160831
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20160824
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160803
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160727
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20160615
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160608
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20160525
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160511
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160504
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160427
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160323
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160316
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160217
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160211
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160203
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160120
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160113
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160106
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20161207
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20161109
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20161019
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160928
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160913
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160831
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160615
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20160525
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160504
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160323
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160309
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20160217
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160203
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20161221
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20161005
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20160921
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160913
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160831
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160817
-packetLen(0x0811, 4) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 4)
#elif PACKETVER >= 20160608
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160504
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160406
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160302
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160217
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160203
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160113
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20161221
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160928
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160913
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160831
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160504
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160406
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160302
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160217
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160113
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20161228
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20160921
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20160608
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20161221
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0819, 4) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 4)
#elif PACKETVER >= 20161130
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20161012
-packetLen(0x0819, 26) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 26)
#elif PACKETVER >= 20160928
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160913
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160831
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160817
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20160810
-packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 10)
#elif PACKETVER >= 20160727
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160427
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20160414
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160406
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160309
-packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 10)
#elif PACKETVER >= 20160302
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20160224
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160217
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160203
-packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 19)
#elif PACKETVER >= 20160120
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160113
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20161123
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 26)
#elif PACKETVER >= 20161109
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 19)
#elif PACKETVER >= 20160504
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0835, 36) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 36)
#elif PACKETVER >= 20160211
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20161221
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20161109
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20161012
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0838, 36) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 36)
#elif PACKETVER >= 20160928
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20160921
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160913
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160831
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160817
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20160727
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20160713
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160504
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160406
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160309
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20160302
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160217
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160113
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20161221
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20161130
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20161109
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20161102
-packetLen(0x083c, 18) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 18)
#elif PACKETVER >= 20161026
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20161019
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160928
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160921
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160913
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160907
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160831
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160824
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160817
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20160622
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160615
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20160511
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160504
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160414
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160406
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160316
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160309
-packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 26)
#elif PACKETVER >= 20160302
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160224
-packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 8)
#elif PACKETVER >= 20160217
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160120
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160113
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160106
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20161228
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20161221
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20161214
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20161102
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20161026
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20160601
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20160525
-packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 4)
#elif PACKETVER >= 20160414
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20160406
-packetLen(0x085a, 18) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 18)
#elif PACKETVER >= 20160316
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20160309
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20160106
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20161228
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20161221
-packetLen(0x085b, 90) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 90)
#elif PACKETVER >= 20161019
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20161012
-packetLen(0x085b, 4) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 4)
#elif PACKETVER >= 20160921
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20160913
-packetLen(0x085b, 12) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 12)
#elif PACKETVER >= 20160309
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20160302
-packetLen(0x085b, 26) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 26)
#elif PACKETVER >= 20160120
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20160113
-packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 5)
#elif PACKETVER >= 20160106
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20161130
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20161123
-packetLen(0x085c, 90) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 90)
#elif PACKETVER >= 20160824
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20160817
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20160706
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20160629
-packetLen(0x085c, 90) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 90)
#elif PACKETVER >= 20160615
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20160608
-packetLen(0x085c, 8) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 8)
#elif PACKETVER >= 20160414
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20160406
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20160106
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20160817
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20160810
-packetLen(0x085d, 12) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 12)
#elif PACKETVER >= 20160803
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20160106
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20161228
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20161116
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20161109
-packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 90)
#elif PACKETVER >= 20160817
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160810
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20160706
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160629
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20160601
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160525
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20160518
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160511
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20160203
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160127
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20160106
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20161123
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20161116
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20161109
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20161102
-packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 10)
#elif PACKETVER >= 20161026
-packetLen(0x085f, 7) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 7)
#elif PACKETVER >= 20160817
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20160810
-packetLen(0x085f, 18) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 18)
#elif PACKETVER >= 20160713
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20160706
-packetLen(0x085f, 26) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 26)
#elif PACKETVER >= 20160511
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20160504
-packetLen(0x085f, 7) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 7)
#elif PACKETVER >= 20160316
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20160309
-packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 10)
#elif PACKETVER >= 20160106
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20160817
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20160720
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0860, 7) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 7)
#elif PACKETVER >= 20160629
-packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20161130
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0861, 5) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 5)
#elif PACKETVER >= 20161102
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20160706
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20160622
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20160302
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0861, 19) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 19)
#elif PACKETVER >= 20160113
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#endif
// Packet: 0x0862
#if PACKETVER >= 20161221
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0862, 26) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 26)
#elif PACKETVER >= 20161102
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20160420
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0862, 19) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 19)
#elif PACKETVER >= 20160106
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20161019
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 7)
#elif PACKETVER >= 20161005
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20160608
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20161123
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 26)
#elif PACKETVER >= 20161005
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20160427
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20160309
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, -1)
#elif PACKETVER >= 20160224
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20160120
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20161228
-packetLen(0x0865, 90) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 90)
#elif PACKETVER >= 20161116
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20160921
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0865, 6) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20160720
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20160629
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 4)
#elif PACKETVER >= 20160309
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20160127
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0865, 36) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20161228
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20160803
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 4)
#elif PACKETVER >= 20160622
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20161214
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 26)
#elif PACKETVER >= 20160824
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0867, 12) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 12)
#elif PACKETVER >= 20160706
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0867, 36) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 36)
#elif PACKETVER >= 20160622
-packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 8)
#elif PACKETVER >= 20160601
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20160406
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 26)
#elif PACKETVER >= 20160323
-packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20161214
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 8)
#elif PACKETVER >= 20161019
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0868, 6) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 6)
#elif PACKETVER >= 20160803
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 26)
#elif PACKETVER >= 20160309
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20161109
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20160803
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0869, 12) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 12)
#elif PACKETVER >= 20160720
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, -1)
#elif PACKETVER >= 20160414
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, -1)
#elif PACKETVER >= 20160330
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20161228
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20161116
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20161109
-packetLen(0x086a, 7) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 7)
#elif PACKETVER >= 20160601
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20160525
-packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 19)
#elif PACKETVER >= 20160330
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20160323
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20160316
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20160309
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20160113
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20160106
-packetLen(0x086a, 6) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 6)
#endif
// Packet: 0x086b
#if PACKETVER >= 20160824
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20160817
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20160713
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20160706
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#elif PACKETVER >= 20160511
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20160504
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#elif PACKETVER >= 20160302
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20160224
-packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 8)
#elif PACKETVER >= 20160106
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20161228
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20161102
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20161026
-packetLen(0x086c, 12) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 12)
#elif PACKETVER >= 20160525
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20160518
-packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 5)
#elif PACKETVER >= 20160217
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20160211
-packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 5)
#elif PACKETVER >= 20160203
-packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 18)
#elif PACKETVER >= 20160113
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20160106
-packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 4)
#endif
// Packet: 0x086d
#if PACKETVER >= 20161228
-packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 19)
#elif PACKETVER >= 20161221
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20161214
-packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 26)
#elif PACKETVER >= 20161116
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20161109
-packetLen(0x086d, 10) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 10)
#elif PACKETVER >= 20161019
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20161012
-packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 19)
#elif PACKETVER >= 20161005
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20160928
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20160727
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20160720
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20160406
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20160330
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20160120
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20160113
-packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 5)
#elif PACKETVER >= 20160106
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20161102
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20161026
-packetLen(0x086e, 8) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 8)
#elif PACKETVER >= 20160106
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20161130
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20161116
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20161109
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20161102
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20160817
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20160810
-packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, -1)
#elif PACKETVER >= 20160106
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20161228
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20161116
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0870, 19) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 19)
#elif PACKETVER >= 20160907
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 18)
#elif PACKETVER >= 20160622
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0870, 4) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 4)
#elif PACKETVER >= 20160608
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0870, 8) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 8)
#elif PACKETVER >= 20160427
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0870, 4) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 4)
#elif PACKETVER >= 20160224
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20161228
-packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 5)
#elif PACKETVER >= 20161130
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0871, 4) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4451,4171 +4451,4171 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20160316
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 8)
#elif PACKETVER >= 20160302
-packetLen(0x0873, 12) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 12)
#elif PACKETVER >= 20160224
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0873, 5) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 5)
#elif PACKETVER >= 20160211
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 36)
#elif PACKETVER >= 20160120
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20161109
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20160921
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0874, 26) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 26)
#elif PACKETVER >= 20160803
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 6)
#elif PACKETVER >= 20160525
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160518
-packetLen(0x0874, 19) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 19)
#elif PACKETVER >= 20160427
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20161214
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20161019
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20160921
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20160824
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0875, 19) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 19)
#elif PACKETVER >= 20160810
-packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20161228
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0876, 12) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 12)
#elif PACKETVER >= 20161116
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0876, 8) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20160803
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0877, 18) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 18)
#elif PACKETVER >= 20160720
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0877, 10) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 10)
#elif PACKETVER >= 20160414
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20161005
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 7)
#elif PACKETVER >= 20160810
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 4)
#elif PACKETVER >= 20160414
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20160330
-packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 8)
#elif PACKETVER >= 20160323
-packetLen(0x0878, 19) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 19)
#elif PACKETVER >= 20160113
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0878, 36) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 36)
#endif
// Packet: 0x0879
#if PACKETVER >= 20160921
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20160817
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20160414
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0879, -1) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20161116
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20161109
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20161102
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20161026
-packetLen(0x087a, -1) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, -1)
#elif PACKETVER >= 20160921
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160913
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20160817
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160810
-packetLen(0x087a, 5) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 5)
#elif PACKETVER >= 20160420
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160414
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20160309
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160302
-packetLen(0x087a, 10) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 10)
#elif PACKETVER >= 20160224
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160217
-packetLen(0x087a, 19) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 19)
#elif PACKETVER >= 20160113
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160106
-packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 18)
#endif
// Packet: 0x087b
#if PACKETVER >= 20160720
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20160713
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20160106
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20161102
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20161026
-packetLen(0x087c, 4) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 4)
#elif PACKETVER >= 20160907
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20160831
-packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 6)
#elif PACKETVER >= 20160316
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20160309
-packetLen(0x087c, 19) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 19)
#elif PACKETVER >= 20160106
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20160622
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20160615
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20160608
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20160601
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20160309
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20160302
-packetLen(0x087d, 26) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 26)
#elif PACKETVER >= 20160106
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20161214
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20161207
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20160622
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20160615
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20160316
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20160309
-packetLen(0x087e, 90) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 90)
#elif PACKETVER >= 20160106
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20161228
-packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 12)
#elif PACKETVER >= 20161130
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20161123
-packetLen(0x087f, 26) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 26)
#elif PACKETVER >= 20161102
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20161026
-packetLen(0x087f, 10) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 10)
#elif PACKETVER >= 20161005
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160928
-packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 12)
#elif PACKETVER >= 20160824
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160817
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20160810
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160803
-packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 5)
#elif PACKETVER >= 20160727
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160720
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20160622
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160615
-packetLen(0x087f, 90) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 90)
#elif PACKETVER >= 20160406
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160330
-packetLen(0x087f, 8) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 8)
#elif PACKETVER >= 20160113
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160106
-packetLen(0x087f, 19) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 19)
#endif
// Packet: 0x0880
#if PACKETVER >= 20161130
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0880, 36) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 36)
#elif PACKETVER >= 20161019
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0880, 10) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 10)
#elif PACKETVER >= 20160629
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, -1)
#elif PACKETVER >= 20160420
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0880, 18) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 18)
#elif PACKETVER >= 20160106
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20161228
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 6)
#elif PACKETVER >= 20161116
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 8)
#elif PACKETVER >= 20160810
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0881, 18) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 18)
#elif PACKETVER >= 20160706
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0881, 19) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 19)
#elif PACKETVER >= 20160106
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20161130
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20160803
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0883, 7) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 7)
#elif PACKETVER >= 20160720
-packetLen(0x0883, 10) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 10)
#elif PACKETVER >= 20160713
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20160330
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0883, 26) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 26)
#elif PACKETVER >= 20160309
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0883, 10) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20161228
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20160713
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 26)
#elif PACKETVER >= 20160622
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20160511
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 10)
#elif PACKETVER >= 20160427
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20160414
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20160302
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 7)
#elif PACKETVER >= 20160106
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20161228
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20161123
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20160817
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0885, 19) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 19)
#elif PACKETVER >= 20160706
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20160615
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 90)
#elif PACKETVER >= 20160420
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20160302
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20160113
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#endif
// Packet: 0x0886
#if PACKETVER >= 20161228
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20161214
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0886, 7) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 7)
#elif PACKETVER >= 20161109
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 90)
#elif PACKETVER >= 20161026
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20161012
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20160824
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0886, 7) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 7)
#elif PACKETVER >= 20160810
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20160713
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0886, 4) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 4)
#elif PACKETVER >= 20160511
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20160217
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20161221
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20160921
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20160810
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20160727
-packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 19)
#elif PACKETVER >= 20160720
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20160622
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20160511
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20160817
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0888, 26) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 26)
#elif PACKETVER >= 20160803
-packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 90)
#elif PACKETVER >= 20160622
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 10)
#elif PACKETVER >= 20160427
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 19)
#elif PACKETVER >= 20160302
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20160217
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20160120
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 90)
#elif PACKETVER >= 20160106
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20161228
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 36)
#elif PACKETVER >= 20161005
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 19)
#elif PACKETVER >= 20160921
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20160713
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20160406
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 90)
#elif PACKETVER >= 20160113
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 5)
#endif
// Packet: 0x088a
#if PACKETVER >= 20160622
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20160615
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20160511
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20160504
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20160113
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20160106
-packetLen(0x088a, 26) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 26)
#endif
// Packet: 0x088b
#if PACKETVER >= 20161130
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20161123
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20161116
-packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 5)
#elif PACKETVER >= 20160427
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20160420
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20160406
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20160330
-packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 5)
#elif PACKETVER >= 20160120
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20160113
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20160106
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20161228
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20161221
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20160211
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20160203
-packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 4)
#elif PACKETVER >= 20160106
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20161123
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20161116
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20160720
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160713
-packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 18)
#elif PACKETVER >= 20160622
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160615
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20160608
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160601
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20160511
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160504
-packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 10)
#elif PACKETVER >= 20160406
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160330
-packetLen(0x088d, 4) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 4)
#elif PACKETVER >= 20160224
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160217
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20160106
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20161116
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20161109
-packetLen(0x088e, -1) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, -1)
#elif PACKETVER >= 20161012
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20161005
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20160928
-packetLen(0x088e, -1) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, -1)
#elif PACKETVER >= 20160921
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20160913
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20160803
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20160727
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20160706
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20160629
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20160106
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20161207
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20161130
-packetLen(0x088f, 4) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 4)
#elif PACKETVER >= 20161123
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20161116
-packetLen(0x088f, 19) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 19)
#elif PACKETVER >= 20161109
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20161102
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20160921
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20160913
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20160608
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20160601
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20160511
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20160504
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20160224
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20160217
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20160106
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20161228
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 36)
#elif PACKETVER >= 20161123
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20161109
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20160817
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20160629
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 26)
#elif PACKETVER >= 20160511
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20161116
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0891, 12) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 12)
#elif PACKETVER >= 20161102
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20161012
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20160921
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20160824
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20160810
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20160727
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20160629
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20160113
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#endif
// Packet: 0x0892
#if PACKETVER >= 20161123
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0892, 4) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 4)
#elif PACKETVER >= 20161012
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0892, 18) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 18)
#elif PACKETVER >= 20160921
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20160720
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0892, 12) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 12)
#elif PACKETVER >= 20160706
-packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 5)
#elif PACKETVER >= 20160414
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0892, 90) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 90)
#elif PACKETVER >= 20160120
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20161228
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20161123
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 7)
#elif PACKETVER >= 20161019
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20160706
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20160511
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 18)
#elif PACKETVER >= 20160120
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20161102
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 10)
#elif PACKETVER >= 20160518
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20161221
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20160810
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20160608
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 5)
#elif PACKETVER >= 20160414
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 19)
#elif PACKETVER >= 20160106
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20160330
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20161005
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0897, 90) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 90)
#elif PACKETVER >= 20160727
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20161116
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20161102
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 26)
#elif PACKETVER >= 20160622
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20160511
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 8)
#elif PACKETVER >= 20160414
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20161228
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0899, 4) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 4)
#elif PACKETVER >= 20161214
-packetLen(0x0899, 36) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 36)
#elif PACKETVER >= 20160713
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 10)
#elif PACKETVER >= 20160615
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20160601
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20160224
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0899, 4) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 4)
#elif PACKETVER >= 20160120
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20161228
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20161221
-packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 8)
#elif PACKETVER >= 20161116
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20161109
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20161005
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160928
-packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 7)
#elif PACKETVER >= 20160727
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160720
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20160713
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20160629
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160622
-packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 18)
#elif PACKETVER >= 20160525
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160518
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20160330
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160323
-packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 5)
#elif PACKETVER >= 20160120
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160113
-packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 7)
#elif PACKETVER >= 20160106
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20161228
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20161221
-packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 7)
#elif PACKETVER >= 20161012
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20161005
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20160921
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160913
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20160615
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160608
-packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 5)
#elif PACKETVER >= 20160518
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160511
-packetLen(0x089b, 4) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 4)
#elif PACKETVER >= 20160414
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160406
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20160316
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160309
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20160106
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20161130
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20161123
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20161012
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20161005
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20160921
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160913
-packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 36)
#elif PACKETVER >= 20160824
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160817
-packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, -1)
#elif PACKETVER >= 20160810
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160803
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20160727
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160720
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20160601
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160525
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20160106
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20161116
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20161109
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20160817
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20160810
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20160511
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20160504
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20160316
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20160309
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20160106
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20160727
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20160720
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20160629
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20160622
-packetLen(0x089e, 7) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 7)
#elif PACKETVER >= 20160420
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20160414
-packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 26)
#elif PACKETVER >= 20160406
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20160106
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20161228
-packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 8)
#elif PACKETVER >= 20161116
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20161109
-packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 4)
#elif PACKETVER >= 20161102
-packetLen(0x089f, 26) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 26)
#elif PACKETVER >= 20160817
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20160810
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20160803
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20160727
-packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 10)
#elif PACKETVER >= 20160720
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20160713
-packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 4)
#elif PACKETVER >= 20160106
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20161019
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20161012
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20161005
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20160727
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20160720
-packetLen(0x08a0, 12) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 12)
#elif PACKETVER >= 20160224
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20160217
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20160120
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20160113
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20160106
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20161214
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20161207
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20161123
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20161116
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20160810
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20160803
-packetLen(0x08a1, -1) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, -1)
#elif PACKETVER >= 20160414
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20160406
-packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 7)
#elif PACKETVER >= 20160106
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20161228
-packetLen(0x08a2, 10) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 10)
#elif PACKETVER >= 20161214
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20161207
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20161123
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20161116
-packetLen(0x08a2, 18) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 18)
#elif PACKETVER >= 20161109
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20161102
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20161005
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20160928
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20160803
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20160727
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20160720
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20160713
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20160629
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20160622
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20160106
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20161228
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20160106
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20160803
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20160727
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20160720
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20160713
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20160706
-packetLen(0x08a4, 18) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 18)
#elif PACKETVER >= 20160106
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20161228
-packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 18)
#elif PACKETVER >= 20160921
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20160913
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20160824
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08a5, 36) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 36)
#elif PACKETVER >= 20160713
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20160706
-packetLen(0x08a5, 19) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 19)
#elif PACKETVER >= 20160427
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20160420
-packetLen(0x08a5, 36) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 36)
#elif PACKETVER >= 20160106
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20161221
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20161214
-packetLen(0x08a6, 18) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 18)
#elif PACKETVER >= 20160824
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 26)
#elif PACKETVER >= 20160615
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20160608
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20160120
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20160113
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20160106
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20161116
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20161109
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20160803
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20160727
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20160608
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20160601
-packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 8)
#elif PACKETVER >= 20160316
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20160309
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20160106
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20160907
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20160831
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20160713
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20160706
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20160629
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20160622
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20160106
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20161130
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20161123
-packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 10)
#elif PACKETVER >= 20161005
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160928
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20160907
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160831
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20160824
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#elif PACKETVER >= 20160810
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20160525
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160518
-packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 26)
#elif PACKETVER >= 20160309
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160302
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20160217
-packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 26)
#elif PACKETVER >= 20160106
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20161228
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20161221
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20161130
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20161116
-packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 12)
#elif PACKETVER >= 20161109
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20161102
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20160727
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20160720
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20160120
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20160113
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20160106
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20161228
-packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 8)
#elif PACKETVER >= 20160824
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20160106
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20161228
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20161123
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20161116
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20160824
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08ac, 10) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 10)
#elif PACKETVER >= 20160608
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20160601
-packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 19)
#elif PACKETVER >= 20160414
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20160406
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20160224
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20160217
-packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 18)
#elif PACKETVER >= 20160106
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20161228
-packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 36)
#elif PACKETVER >= 20161214
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20161207
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20161116
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20161109
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20161012
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20161005
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20160824
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20160511
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20160504
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20160106
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 149)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20160907
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 36)
#elif PACKETVER >= 20160727
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0917, 4) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20161214
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 18)
#elif PACKETVER >= 20160713
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0918, 90) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 90)
#elif PACKETVER >= 20160518
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 5)
#elif PACKETVER >= 20160504
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20160420
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0918, 4) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 4)
#elif PACKETVER >= 20160406
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 8)
#elif PACKETVER >= 20160211
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20161012
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 6)
#elif PACKETVER >= 20160928
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0919, 12) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 12)
#elif PACKETVER >= 20160106
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20161130
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20161123
-packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 8)
#elif PACKETVER >= 20161102
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20161026
-packetLen(0x091a, 19) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 19)
#elif PACKETVER >= 20160817
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20160810
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20160309
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20160302
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20160106
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20161109
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20161102
-packetLen(0x091b, 36) // ZC_PRNPC_STATE
+packetLen(0x091b, 36)
#elif PACKETVER >= 20161026
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20160907
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160831
-packetLen(0x091b, 4) // ZC_PRNPC_STATE
+packetLen(0x091b, 4)
#elif PACKETVER >= 20160817
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160803
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20160713
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160706
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20160330
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160323
-packetLen(0x091b, 4) // ZC_PRNPC_STATE
+packetLen(0x091b, 4)
#elif PACKETVER >= 20160120
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160113
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20160106
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20161228
-packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 26)
#elif PACKETVER >= 20160913
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20160907
-packetLen(0x091c, 36) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 36)
#elif PACKETVER >= 20160817
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20160810
-packetLen(0x091c, 10) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 10)
#elif PACKETVER >= 20160727
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20160720
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20160713
-packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 5)
#elif PACKETVER >= 20160629
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20160622
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20160106
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20161214
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20161207
-packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 8)
#elif PACKETVER >= 20160720
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160713
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20160601
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160525
-packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 36)
#elif PACKETVER >= 20160316
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160309
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20160224
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160217
-packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 5)
#elif PACKETVER >= 20160113
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160106
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#endif
// Packet: 0x091e
#if PACKETVER >= 20161012
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20161005
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20160928
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20160706
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20160629
-packetLen(0x091e, 18) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 18)
#elif PACKETVER >= 20160106
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
// Packet: 0x0920
#if PACKETVER >= 20161123
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0920, 90) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 90)
#elif PACKETVER >= 20160518
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 19)
#elif PACKETVER >= 20160316
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 8)
#elif PACKETVER >= 20160302
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 4)
#elif PACKETVER >= 20160217
-packetLen(0x0920, 7) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 7)
#elif PACKETVER >= 20160106
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20160720
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 90)
#elif PACKETVER >= 20160511
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 90)
#elif PACKETVER >= 20160106
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20161109
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 6)
#elif PACKETVER >= 20160720
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20160706
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 8)
#elif PACKETVER >= 20160511
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 6)
#elif PACKETVER >= 20160420
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20160323
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 36)
#elif PACKETVER >= 20160309
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20160203
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160127
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
// Packet: 0x0924
#if PACKETVER >= 20160713
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0924, 10) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 10)
#elif PACKETVER >= 20160608
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0924, 4) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 4)
#elif PACKETVER >= 20160511
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20161123
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 10)
#elif PACKETVER >= 20161109
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 10)
#elif PACKETVER >= 20160406
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0925, 19) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 19)
#elif PACKETVER >= 20160106
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20161228
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0926, 26) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 26)
#elif PACKETVER >= 20161130
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0926, 19) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 19)
#elif PACKETVER >= 20161102
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20160817
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0926, 4) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 4)
#elif PACKETVER >= 20160713
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20160629
-packetLen(0x0926, 26) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 26)
#elif PACKETVER >= 20160330
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#elif PACKETVER >= 20160224
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0926, 10) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20161116
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20161005
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0927, 10) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 10)
#elif PACKETVER >= 20160420
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0927, 36) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 36)
#elif PACKETVER >= 20160406
-packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 8)
#elif PACKETVER >= 20160330
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 18)
#elif PACKETVER >= 20160309
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20161228
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20161109
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20160921
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20160525
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20160518
-packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20161228
-packetLen(0x0929, 10) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 10)
#elif PACKETVER >= 20160824
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0929, -1) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, -1)
#elif PACKETVER >= 20160810
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0929, 36) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 36)
#elif PACKETVER >= 20160713
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20160316
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0929, 4) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 4)
#elif PACKETVER >= 20160302
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0929, 5) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20161130
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20161123
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20161116
-packetLen(0x092a, 10) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 10)
#elif PACKETVER >= 20160727
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20160720
-packetLen(0x092a, 26) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 26)
#elif PACKETVER >= 20160406
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20160330
-packetLen(0x092a, -1) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, -1)
#elif PACKETVER >= 20160316
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20160309
-packetLen(0x092a, -1) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, -1)
#elif PACKETVER >= 20160106
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20161012
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20161005
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20160817
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20160810
-packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, -1)
#elif PACKETVER >= 20160106
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20161102
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20161026
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20160907
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20160831
-packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 26)
#elif PACKETVER >= 20160720
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20160713
-packetLen(0x092c, 6) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 6)
#elif PACKETVER >= 20160601
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20160525
-packetLen(0x092c, 18) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 18)
#elif PACKETVER >= 20160406
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20160330
-packetLen(0x092c, 18) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 18)
#elif PACKETVER >= 20160106
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20161019
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20161012
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20161005
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160928
-packetLen(0x092d, 10) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 10)
#elif PACKETVER >= 20160824
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160817
-packetLen(0x092d, 90) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 90)
#elif PACKETVER >= 20160810
-packetLen(0x092d, 8) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 8)
#elif PACKETVER >= 20160713
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160706
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20160629
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160622
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20160414
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160406
-packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 12)
#elif PACKETVER >= 20160309
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160302
-packetLen(0x092d, 4) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 4)
#elif PACKETVER >= 20160106
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20161228
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20161221
-packetLen(0x092e, 18) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 18)
#elif PACKETVER >= 20161214
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20161102
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20161026
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20160907
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20160831
-packetLen(0x092e, 12) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 12)
#elif PACKETVER >= 20160803
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20160727
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20160224
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20160217
-packetLen(0x092e, 90) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 90)
#elif PACKETVER >= 20160106
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20161130
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20161123
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20161109
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20161102
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20160629
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20160622
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20160427
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20160420
-packetLen(0x092f, 18) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 18)
#elif PACKETVER >= 20160309
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20160302
-packetLen(0x092f, 90) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 90)
#elif PACKETVER >= 20160224
-packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, -1)
#elif PACKETVER >= 20160106
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20161228
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20161130
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20161102
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20160824
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20160810
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0930, 12) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 12)
#elif PACKETVER >= 20160406
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20161207
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 5)
#elif PACKETVER >= 20161123
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, -1)
#elif PACKETVER >= 20161012
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0931, 26) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 26)
#elif PACKETVER >= 20160720
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0931, 10) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 10)
#elif PACKETVER >= 20160420
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20161012
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0932, 12) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 12)
#elif PACKETVER >= 20160810
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 10)
#elif PACKETVER >= 20160316
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20160414
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 5)
#elif PACKETVER >= 20160330
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20161228
-packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 26)
#elif PACKETVER >= 20160831
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 36)
#elif PACKETVER >= 20160810
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0934, 7) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 7)
#elif PACKETVER >= 20160420
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20160406
-packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20161228
-packetLen(0x0935, 8) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 8)
#elif PACKETVER >= 20160921
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0935, -1) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, -1)
#elif PACKETVER >= 20160817
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0935, 90) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 90)
#elif PACKETVER >= 20160427
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20161019
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 6)
#elif PACKETVER >= 20160803
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20160629
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0936, 19) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 19)
#elif PACKETVER >= 20160302
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20161116
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 26)
#elif PACKETVER >= 20161019
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 6)
#elif PACKETVER >= 20160810
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 10)
#elif PACKETVER >= 20160629
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 12)
#elif PACKETVER >= 20160601
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20161228
-packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 4)
#elif PACKETVER >= 20160302
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20161019
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20160824
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 8)
#elif PACKETVER >= 20160720
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 26)
#elif PACKETVER >= 20160706
-packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 8)
#elif PACKETVER >= 20160406
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20160921
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20160913
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20160907
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20160831
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20160810
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20160803
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20160106
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20161012
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20161005
-packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 10)
#elif PACKETVER >= 20160727
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160720
-packetLen(0x093b, 5) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 5)
#elif PACKETVER >= 20160629
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160622
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20160615
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160608
-packetLen(0x093b, 4) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 4)
#elif PACKETVER >= 20160406
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160330
-packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 26)
#elif PACKETVER >= 20160224
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160217
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20160106
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20161123
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20161116
-packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, -1)
#elif PACKETVER >= 20161109
-packetLen(0x093c, 36) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 36)
#elif PACKETVER >= 20160824
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20160817
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20160330
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20160323
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20160120
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20160113
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20160106
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20161228
-packetLen(0x093d, 7) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 7)
#elif PACKETVER >= 20161221
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20161214
-packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 5)
#elif PACKETVER >= 20160713
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20160706
-packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 6)
#elif PACKETVER >= 20160106
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20160810
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160803
-packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 6)
#elif PACKETVER >= 20160727
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160720
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20160706
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160629
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20160622
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160615
-packetLen(0x093e, 26) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 26)
#elif PACKETVER >= 20160511
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160504
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20160224
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160217
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20160211
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160203
-packetLen(0x093e, 26) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 26)
#elif PACKETVER >= 20160106
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20161116
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20161109
-packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 6)
#elif PACKETVER >= 20160810
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20160803
-packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, -1)
#elif PACKETVER >= 20160629
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20160622
-packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, -1)
#elif PACKETVER >= 20160106
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20160518
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0940, 36) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 36)
#elif PACKETVER >= 20160504
-packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 19)
#elif PACKETVER >= 20160427
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20160414
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20160211
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 5)
#elif PACKETVER >= 20160113
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 8)
#endif
// Packet: 0x0941
#if PACKETVER >= 20161130
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20160511
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20160224
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20160120
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0941, -1) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20161012
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20161228
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0943, 10) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 10)
#elif PACKETVER >= 20161214
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 4)
#elif PACKETVER >= 20161130
-packetLen(0x0943, 19) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 19)
#elif PACKETVER >= 20161019
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0943, 18) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 18)
#elif PACKETVER >= 20160817
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20161228
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20161019
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 8)
#elif PACKETVER >= 20161005
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20160928
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20160713
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20161012
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20160720
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0945, 7) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 7)
#elif PACKETVER >= 20160706
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20160601
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 26)
#elif PACKETVER >= 20160420
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 26)
#elif PACKETVER >= 20160309
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20161228
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 10)
#elif PACKETVER >= 20161109
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 19)
#elif PACKETVER >= 20161026
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 19)
#elif PACKETVER >= 20160907
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20160803
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20160720
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 8)
#elif PACKETVER >= 20160211
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20160706
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 5)
#elif PACKETVER >= 20160622
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0948, 7) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 7)
#elif PACKETVER >= 20160511
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0948, 12) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 12)
#elif PACKETVER >= 20160106
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20161109
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 5)
#elif PACKETVER >= 20160921
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0949, 26) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 26)
#elif PACKETVER >= 20160803
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0949, 8) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 8)
#elif PACKETVER >= 20160414
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20161123
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20161116
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20161012
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20161005
-packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, -1)
#elif PACKETVER >= 20160928
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160921
-packetLen(0x094a, 36) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 36)
#elif PACKETVER >= 20160913
-packetLen(0x094a, 90) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 90)
#elif PACKETVER >= 20160907
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160831
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20160706
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160629
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20160622
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160615
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20160601
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160525
-packetLen(0x094a, 8) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 8)
#elif PACKETVER >= 20160224
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160217
-packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 10)
#elif PACKETVER >= 20160106
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20161228
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20161221
-packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, -1)
#elif PACKETVER >= 20161102
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20161026
-packetLen(0x094b, 8) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 8)
#elif PACKETVER >= 20160622
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20160615
-packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, -1)
#elif PACKETVER >= 20160106
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20160713
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20160706
-packetLen(0x094c, 36) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 36)
#elif PACKETVER >= 20160302
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20160224
-packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 18)
#elif PACKETVER >= 20160106
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20161130
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20161123
-packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 10)
#elif PACKETVER >= 20161012
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20161005
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20160727
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20160720
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20160615
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20160608
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20160414
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20160406
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20160120
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20160113
-packetLen(0x094d, 19) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 19)
#elif PACKETVER >= 20160106
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20161005
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20160928
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20160601
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20160525
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20160427
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20160420
-packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, -1)
#elif PACKETVER >= 20160309
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20160302
-packetLen(0x094e, 36) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 36)
#elif PACKETVER >= 20160106
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20161130
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20161123
-packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, -1)
#elif PACKETVER >= 20161019
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20161012
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20160907
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20160831
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20160316
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20160309
-packetLen(0x094f, 7) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 7)
#elif PACKETVER >= 20160224
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20160217
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20160120
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20160113
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20160106
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20160921
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0950, 7) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 7)
#elif PACKETVER >= 20160907
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, -1)
#elif PACKETVER >= 20160309
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0950, 8) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20161019
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0951, 90) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 90)
#elif PACKETVER >= 20160803
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 8)
#elif PACKETVER >= 20160601
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0951, 26) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20161012
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0952, 4) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 4)
#elif PACKETVER >= 20160921
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0952, 19) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 19)
#elif PACKETVER >= 20160810
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 5)
#elif PACKETVER >= 20160511
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0952, 26) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20161102
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 26)
#elif PACKETVER >= 20161005
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, -1)
#elif PACKETVER >= 20160727
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20160420
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20160406
-packetLen(0x0953, 36) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20161207
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 36)
#elif PACKETVER >= 20161116
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0954, 10) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 10)
#elif PACKETVER >= 20160921
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 5)
#elif PACKETVER >= 20160907
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, -1)
#elif PACKETVER >= 20160622
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 5)
#elif PACKETVER >= 20160211
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20161005
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 18)
#elif PACKETVER >= 20160810
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20161116
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 5)
#elif PACKETVER >= 20160810
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#elif PACKETVER >= 20160601
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20160316
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20161123
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20161005
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0957, -1) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, -1)
#elif PACKETVER >= 20160824
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0957, 18) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 18)
#elif PACKETVER >= 20160720
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 12)
#elif PACKETVER >= 20160622
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0957, -1) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20160713
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20160622
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20160608
-packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20161207
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 26)
#elif PACKETVER >= 20160810
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20160629
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20161228
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20161221
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20161130
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20161123
-packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 8)
#elif PACKETVER >= 20161012
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20161005
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20160928
-packetLen(0x095a, 4) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 4)
#elif PACKETVER >= 20160810
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20160803
-packetLen(0x095a, 26) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 26)
#elif PACKETVER >= 20160706
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20160629
-packetLen(0x095a, 7) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 7)
#elif PACKETVER >= 20160309
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20160302
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20160211
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20160203
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20160127
-packetLen(0x095a, 36) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 36)
#elif PACKETVER >= 20160106
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20161130
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20161123
-packetLen(0x095b, 7) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 7)
#elif PACKETVER >= 20161116
-packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 36)
#elif PACKETVER >= 20161012
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20161005
-packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 19)
#elif PACKETVER >= 20160817
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20160810
-packetLen(0x095b, 7) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 7)
#elif PACKETVER >= 20160727
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20160720
-packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 18)
#elif PACKETVER >= 20160713
-packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 8)
#elif PACKETVER >= 20160615
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20160608
-packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 8)
#elif PACKETVER >= 20160601
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20160511
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20160504
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20160106
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20161102
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20161026
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20161019
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20161012
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20160622
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20160615
-packetLen(0x095c, 18) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 18)
#elif PACKETVER >= 20160427
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20160420
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20160106
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20161214
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20161207
-packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 36)
#elif PACKETVER >= 20161123
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20161116
-packetLen(0x095d, 4) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 4)
#elif PACKETVER >= 20160414
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20160406
-packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 5)
#elif PACKETVER >= 20160211
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20160203
-packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 8)
#elif PACKETVER >= 20160106
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20161109
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20161102
-packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 12)
#elif PACKETVER >= 20161026
-packetLen(0x095e, 90) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 90)
#elif PACKETVER >= 20160907
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20160831
-packetLen(0x095e, 8) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 8)
#elif PACKETVER >= 20160622
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20160615
-packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, -1)
#elif PACKETVER >= 20160316
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20160309
-packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 12)
#elif PACKETVER >= 20160224
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20160217
-packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 36)
#elif PACKETVER >= 20160106
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20160803
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20160727
-packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, -1)
#elif PACKETVER >= 20160608
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20160601
-packetLen(0x095f, 36) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 36)
#elif PACKETVER >= 20160414
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20160406
-packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 5)
#elif PACKETVER >= 20160106
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20160907
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20160727
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20160622
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0961, 12) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 12)
#elif PACKETVER >= 20160608
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20160309
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20160224
-packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 5)
#elif PACKETVER >= 20160203
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20160127
-packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20161130
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20161102
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 5)
#elif PACKETVER >= 20161019
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 10)
#elif PACKETVER >= 20160921
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0962, 4) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 4)
#elif PACKETVER >= 20160414
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0962, 4) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20161026
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0963, 26) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 26)
#elif PACKETVER >= 20160921
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20160824
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0963, 5) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20161228
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 19)
#elif PACKETVER >= 20161109
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0964, -1) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, -1)
#elif PACKETVER >= 20160907
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0964, 10) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20161228
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 5)
#elif PACKETVER >= 20161214
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0965, 26) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 26)
#elif PACKETVER >= 20161109
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0965, 10) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 10)
#elif PACKETVER >= 20160629
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20161109
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 6)
#elif PACKETVER >= 20161019
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20160224
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20161123
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20161019
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 36)
#elif PACKETVER >= 20161005
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20160907
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20160817
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20160224
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20160120
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20160706
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0968, 10) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 10)
#elif PACKETVER >= 20160309
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0968, 7) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 7)
#elif PACKETVER >= 20160106
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20160803
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20160720
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20160706
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20160511
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 36)
#elif PACKETVER >= 20160224
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20161221
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20161123
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20161026
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20161019
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160928
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160921
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160913
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160907
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160831
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160824
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160810
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160803
-packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, -1)
#elif PACKETVER >= 20160706
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160629
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20160615
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160511
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160504
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160414
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160406
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160309
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160302
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160224
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160217
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160120
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160113
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160106
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
// Packet: 0x0a0a
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
// Packet: 0x0a0b
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
// Packet: 0x0a0c
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
#if PACKETVER >= 20160921
-packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 59)
#elif PACKETVER >= 20160106
-packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 57)
#endif
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -8633,37 +8633,37 @@ packetLen(0x0a3f, 9)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
#if PACKETVER >= 20160127
@@ -8689,7 +8689,7 @@ packetLen(0x0a50, 6)
// Packet: 0x0a51
#if PACKETVER >= 20160302
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
#endif
// Packet: 0x0a52
@@ -8754,7 +8754,7 @@ packetLen(0x0a5d, 6)
// Packet: 0x0a68
#if PACKETVER >= 20160323
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
#endif
// Packet: 0x0a69
@@ -8784,12 +8784,12 @@ packetLen(0x0a6d, -1)
// Packet: 0x0a6e
#if PACKETVER >= 20160330
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
#endif
// Packet: 0x0a6f
#if PACKETVER >= 20160330
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
#endif
// Packet: 0x0a70
@@ -8851,19 +8851,19 @@ packetLen(0x0a7c, -1)
// Packet: 0x0a7d
#if PACKETVER >= 20160601
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
#endif
// Packet: 0x0a7e
#if PACKETVER >= 20160706
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0a7e, 4) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, 4)
#endif
// Packet: 0x0a7f
#if PACKETVER >= 20160615
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
#endif
// Packet: 0x0a80
@@ -8896,7 +8896,7 @@ packetLen(0x0a83, 46)
// Packet: 0x0a84
#if PACKETVER >= 20160622
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
#endif
// Packet: 0x0a85
@@ -8923,14 +8923,14 @@ packetLen(0x0a88, 2)
// Packet: 0x0a89
#if PACKETVER >= 20160706
-packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 57)
#elif PACKETVER >= 20160629
-packetLen(0x0a89, 32) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 32)
#endif
// Packet: 0x0a8a
#if PACKETVER >= 20160629
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
#endif
// Packet: 0x0a8b
@@ -8945,7 +8945,7 @@ packetLen(0x0a8c, 2)
// Packet: 0x0a8d
#if PACKETVER >= 20160629
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
#endif
// Packet: 0x0a8e
@@ -8965,7 +8965,7 @@ packetLen(0x0a90, 3)
// Packet: 0x0a91
#if PACKETVER >= 20160727
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
#endif
// Packet: 0x0a92
@@ -8990,17 +8990,17 @@ packetLen(0x0a95, 4)
// Packet: 0x0a96
#if PACKETVER >= 20160921
-packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 51)
#endif
// Packet: 0x0a97
#if PACKETVER >= 20160928
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
#endif
// Packet: 0x0a98
#if PACKETVER >= 20160928
-packetLen(0x0a98, 12) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 12)
#endif
// Packet: 0x0a99
@@ -9010,12 +9010,12 @@ packetLen(0x0a99, 8)
// Packet: 0x0a9a
#if PACKETVER >= 20160928
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
#endif
// Packet: 0x0a9b
#if PACKETVER >= 20160928
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
#endif
// Packet: 0x0a9c
@@ -9040,42 +9040,42 @@ packetLen(0x0a9f, 2)
// Packet: 0x0aa0
#if PACKETVER >= 20161005
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
#endif
// Packet: 0x0aa1
#if PACKETVER >= 20161005
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
#endif
// Packet: 0x0aa2
#if PACKETVER >= 20161005
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
#endif
// Packet: 0x0aa3
#if PACKETVER >= 20161005
-packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 7)
#endif
// Packet: 0x0aa4
#if PACKETVER >= 20161005
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
#endif
// Packet: 0x0aa5
#if PACKETVER >= 20161026
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
#endif
// Packet: 0x0aa6
#if PACKETVER >= 20161026
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
#endif
// Packet: 0x0aa7
#if PACKETVER >= 20161130
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
#endif
// Packet: 0x0aa8
diff --git a/src/common/packets/packets2016_len_re.h b/src/common/packets/packets2016_len_re.h
index 2a665f3f5..b5b08bf00 100644
--- a/src/common/packets/packets2016_len_re.h
+++ b/src/common/packets/packets2016_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4409 +25,4409 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 149)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20161012
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20160928
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20160921
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160913
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160831
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160803
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160706
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20160511
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160323
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160224
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20160211
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0202, -1) // CZ_ADD_FRIENDS
+packetLen(0x0202, -1)
#elif PACKETVER >= 20160127
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20161221
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20161214
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20161026
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20161019
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20160928
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160921
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160913
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160907
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160831
-packetLen(0x022d, 90) // CZ_COMMAND_MER
+packetLen(0x022d, 90)
#elif PACKETVER >= 20160824
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160720
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160713
-packetLen(0x022d, 36) // CZ_COMMAND_MER
+packetLen(0x022d, 36)
#elif PACKETVER >= 20160706
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160629
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20160615
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160608
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20160504
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160427
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160420
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20160323
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160316
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160309
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160302
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20160224
-packetLen(0x022d, 26) // CZ_COMMAND_MER
+packetLen(0x022d, 26)
#elif PACKETVER >= 20160217
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160211
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160203
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20160120
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20160113
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20160106
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20161214
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20161207
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20160928
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160921
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160913
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160907
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160831
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160824
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160803
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160727
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20160629
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160622
-packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 10)
#elif PACKETVER >= 20160504
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160427
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160323
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160316
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160309
-packetLen(0x023b, 6) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 6)
#elif PACKETVER >= 20160217
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160211
-packetLen(0x023b, 18) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 18)
#elif PACKETVER >= 20160127
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20160120
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20160113
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20160106
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20161221
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20161207
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160928
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160913
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160831
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160622
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20160525
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160504
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160323
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160309
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20160217
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160203
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20161221
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20161214
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20161116
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20161109
-packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 18)
#elif PACKETVER >= 20160615
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20160608
-packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 18)
#elif PACKETVER >= 20160601
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20160427
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20160420
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20160106
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20161228
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20161207
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20161130
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20161123
-packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 18)
#elif PACKETVER >= 20161026
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20161019
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20161005
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160921
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160913
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160907
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160831
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160824
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160706
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160629
-packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 4)
#elif PACKETVER >= 20160622
-packetLen(0x035f, 8) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 8)
#elif PACKETVER >= 20160615
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160608
-packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 26)
#elif PACKETVER >= 20160511
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160504
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160427
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160420
-packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 26)
#elif PACKETVER >= 20160414
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160406
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160316
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160302
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160224
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160217
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160211
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160203
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20160120
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20160113
-packetLen(0x035f, 18) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 18)
#elif PACKETVER >= 20160106
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20161221
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20161130
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20160928
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160913
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160831
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160504
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160406
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160217
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20160113
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20161214
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0361, 19) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 19)
#elif PACKETVER >= 20161130
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20161109
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0361, 8) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 8)
#elif PACKETVER >= 20161026
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160928
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160913
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20160907
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160831
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160817
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0361, 36) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 36)
#elif PACKETVER >= 20160629
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20160504
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160323
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160309
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20160211
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20160127
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20161228
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20161221
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20161207
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20161123
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20161116
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0362, 8) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 8)
#elif PACKETVER >= 20161026
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160928
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160913
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160831
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160803
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20160720
-packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 90)
#elif PACKETVER >= 20160713
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160525
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160504
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160420
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20160323
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160224
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20160211
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160203
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#endif
// Packet: 0x0363
#if PACKETVER >= 20161207
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20161102
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0363, 36) // CZ_ITEM_THROW2
+packetLen(0x0363, 36)
#elif PACKETVER >= 20161019
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160928
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160913
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160831
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160803
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20160720
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20160713
-packetLen(0x0363, 5) // CZ_ITEM_THROW2
+packetLen(0x0363, 5)
#elif PACKETVER >= 20160706
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20160622
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20160525
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160504
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20160427
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160420
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20160323
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160217
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160203
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#endif
// Packet: 0x0364
#if PACKETVER >= 20161221
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20161207
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20161026
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20161012
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20160928
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160913
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160831
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160817
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20160810
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0364, 19) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 19)
#elif PACKETVER >= 20160720
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0364, -1) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, -1)
#elif PACKETVER >= 20160622
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20160525
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160504
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160414
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20160323
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20160302
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0364, 10) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 10)
#elif PACKETVER >= 20160217
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160203
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#endif
// Packet: 0x0365
#if PACKETVER >= 20161207
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20161116
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20161012
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20160928
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160913
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160831
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160727
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0365, 7) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 7)
#elif PACKETVER >= 20160525
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160504
-packetLen(0x0365, 4) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 4)
#elif PACKETVER >= 20160427
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160406
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 36)
#elif PACKETVER >= 20160323
-packetLen(0x0365, 26) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 26)
#elif PACKETVER >= 20160316
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160224
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0365, 12) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 12)
#elif PACKETVER >= 20160211
-packetLen(0x0365, 36) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 36)
#elif PACKETVER >= 20160203
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20160106
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#endif
// Packet: 0x0366
#if PACKETVER >= 20161228
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20161130
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20161116
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20161005
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#elif PACKETVER >= 20160921
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160913
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160831
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20160824
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160629
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160608
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160504
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160330
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160302
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160217
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20160113
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20161109
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0367, 4) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 4)
#elif PACKETVER >= 20160309
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20161221
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20161123
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20161012
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0368, 7) // CZ_REQNAME2
+packetLen(0x0368, 7)
#elif PACKETVER >= 20160928
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160913
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160831
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0368, -1) // CZ_REQNAME2
+packetLen(0x0368, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160504
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160406
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160302
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160217
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20160113
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20161221
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0369, 19) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 19)
#elif PACKETVER >= 20161207
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20161123
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20161026
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20161012
-packetLen(0x0369, 26) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 26)
#elif PACKETVER >= 20160928
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160913
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160831
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160622
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20160511
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160504
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160406
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160302
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0369, 8) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 8)
#elif PACKETVER >= 20160217
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20160113
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20161221
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0436, 7) // CZ_ENTER2
+packetLen(0x0436, 7)
#elif PACKETVER >= 20161109
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0436, 7) // CZ_ENTER2
+packetLen(0x0436, 7)
#elif PACKETVER >= 20161005
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20160921
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160913
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160831
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160803
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0436, 90) // CZ_ENTER2
+packetLen(0x0436, 90)
#elif PACKETVER >= 20160713
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20160525
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160518
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160504
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160323
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160302
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20160217
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160203
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20160120
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#endif
// Packet: 0x0437
#if PACKETVER >= 20161221
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20161123
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160928
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160913
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160831
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160817
-packetLen(0x0437, 26) // CZ_REQUEST_ACT2
+packetLen(0x0437, 26)
#elif PACKETVER >= 20160629
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160615
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0437, 19) // CZ_REQUEST_ACT2
+packetLen(0x0437, 19)
#elif PACKETVER >= 20160511
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160504
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160406
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160217
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160203
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20160120
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20160113
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20161228
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20161130
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20161102
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20161019
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160928
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160913
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160831
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160803
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160504
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160406
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160302
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160217
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20160113
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20161207
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20161130
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20161026
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20161019
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160928
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160921
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160913
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160907
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160831
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160817
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160727
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160720
-packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 19)
#elif PACKETVER >= 20160629
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160622
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#elif PACKETVER >= 20160525
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160511
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160504
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160427
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160414
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160406
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160323
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160316
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160217
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160211
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160203
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20160120
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20160106
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20161207
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20161130
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20161026
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20161019
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20161012
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20160928
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160921
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160913
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160907
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160831
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20160824
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160803
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160727
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20160615
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160608
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#elif PACKETVER >= 20160525
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160511
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160504
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160427
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160323
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160316
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160217
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160211
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160203
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160120
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20160113
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20160106
-packetLen(0x07ec, 5) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 5)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20161207
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20161109
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20161026
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20161019
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160928
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160913
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160831
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160615
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20160525
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160504
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160323
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160309
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0802, 19) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 19)
#elif PACKETVER >= 20160217
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160203
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20161221
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20161005
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0811, 8) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 8)
#elif PACKETVER >= 20160921
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160913
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160831
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160817
-packetLen(0x0811, 4) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 4)
#elif PACKETVER >= 20160608
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160504
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160406
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160302
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160217
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160203
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20160113
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20161221
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160928
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160913
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160831
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160504
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160406
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160302
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160217
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20160113
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20161228
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20160921
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0817, 8) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 8)
#elif PACKETVER >= 20160608
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0817, 26) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20161221
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0819, 4) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 4)
#elif PACKETVER >= 20161130
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20161012
-packetLen(0x0819, 26) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 26)
#elif PACKETVER >= 20160928
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160921
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160913
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160831
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160817
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20160810
-packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 10)
#elif PACKETVER >= 20160727
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160427
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20160414
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160406
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160309
-packetLen(0x0819, 10) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 10)
#elif PACKETVER >= 20160302
-packetLen(0x0819, 5) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 5)
#elif PACKETVER >= 20160224
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160217
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160203
-packetLen(0x0819, 19) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 19)
#elif PACKETVER >= 20160120
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20160113
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20161123
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0835, 26) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 26)
#elif PACKETVER >= 20161109
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 19)
#elif PACKETVER >= 20160504
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20160427
-packetLen(0x0835, 36) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 36)
#elif PACKETVER >= 20160211
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20161221
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20161109
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20161012
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0838, 36) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 36)
#elif PACKETVER >= 20160928
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20160921
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160913
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160907
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160831
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160817
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20160727
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20160713
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160504
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160406
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160309
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20160302
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160217
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20160113
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20161221
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20161130
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20161109
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20161102
-packetLen(0x083c, 18) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 18)
#elif PACKETVER >= 20161026
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20161019
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160928
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160921
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160913
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160907
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160831
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160824
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160817
-packetLen(0x083c, -1) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, -1)
#elif PACKETVER >= 20160622
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160615
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20160511
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160504
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160414
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160406
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160316
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160309
-packetLen(0x083c, 26) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 26)
#elif PACKETVER >= 20160302
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160224
-packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 8)
#elif PACKETVER >= 20160217
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160120
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20160113
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20160106
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20161228
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20161221
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20161214
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20161102
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20161026
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20160601
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20160525
-packetLen(0x085a, 4) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 4)
#elif PACKETVER >= 20160414
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20160406
-packetLen(0x085a, 18) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 18)
#elif PACKETVER >= 20160316
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20160309
-packetLen(0x085a, 8) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 8)
#elif PACKETVER >= 20160106
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20161228
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20161221
-packetLen(0x085b, 90) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 90)
#elif PACKETVER >= 20161019
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20161012
-packetLen(0x085b, 4) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 4)
#elif PACKETVER >= 20160921
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20160913
-packetLen(0x085b, 12) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 12)
#elif PACKETVER >= 20160309
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20160302
-packetLen(0x085b, 26) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 26)
#elif PACKETVER >= 20160120
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20160113
-packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 5)
#elif PACKETVER >= 20160106
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20161130
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20161123
-packetLen(0x085c, 90) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 90)
#elif PACKETVER >= 20160824
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20160817
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20160706
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20160629
-packetLen(0x085c, 90) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 90)
#elif PACKETVER >= 20160615
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20160608
-packetLen(0x085c, 8) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 8)
#elif PACKETVER >= 20160414
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20160406
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20160106
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20160817
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20160810
-packetLen(0x085d, 12) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 12)
#elif PACKETVER >= 20160803
-packetLen(0x085d, 6) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 6)
#elif PACKETVER >= 20160106
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20161228
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20161116
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20161109
-packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 90)
#elif PACKETVER >= 20160817
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160810
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20160706
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160629
-packetLen(0x085e, 8) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 8)
#elif PACKETVER >= 20160601
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160525
-packetLen(0x085e, 6) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 6)
#elif PACKETVER >= 20160518
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160511
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20160203
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20160127
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20160106
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20161123
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20161116
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20161109
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20161102
-packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 10)
#elif PACKETVER >= 20161026
-packetLen(0x085f, 7) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 7)
#elif PACKETVER >= 20160817
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20160810
-packetLen(0x085f, 18) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 18)
#elif PACKETVER >= 20160713
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20160706
-packetLen(0x085f, 26) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 26)
#elif PACKETVER >= 20160511
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20160504
-packetLen(0x085f, 7) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 7)
#elif PACKETVER >= 20160316
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20160309
-packetLen(0x085f, 10) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 10)
#elif PACKETVER >= 20160106
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20160817
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20160720
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0860, 7) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 7)
#elif PACKETVER >= 20160629
-packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20161130
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0861, 5) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 5)
#elif PACKETVER >= 20161102
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20160706
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#elif PACKETVER >= 20160622
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20160302
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0861, 19) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 19)
#elif PACKETVER >= 20160113
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0861, 6) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 6)
#endif
// Packet: 0x0862
#if PACKETVER >= 20161221
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0862, 26) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 26)
#elif PACKETVER >= 20161102
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20160420
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0862, 19) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 19)
#elif PACKETVER >= 20160106
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20161019
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0863, 7) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 7)
#elif PACKETVER >= 20161005
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20160608
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20161123
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 26)
#elif PACKETVER >= 20161005
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20160427
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20160309
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, -1)
#elif PACKETVER >= 20160224
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20160120
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20161228
-packetLen(0x0865, 90) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 90)
#elif PACKETVER >= 20161116
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20160921
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0865, 6) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20160720
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20160629
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 4)
#elif PACKETVER >= 20160309
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20160127
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20160120
-packetLen(0x0865, 36) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20161228
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20160803
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0866, 4) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 4)
#elif PACKETVER >= 20160622
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20161214
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 26)
#elif PACKETVER >= 20160824
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0867, 12) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 12)
#elif PACKETVER >= 20160706
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0867, 36) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 36)
#elif PACKETVER >= 20160622
-packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 8)
#elif PACKETVER >= 20160601
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0867, 5) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 5)
#elif PACKETVER >= 20160406
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 26)
#elif PACKETVER >= 20160323
-packetLen(0x0867, 8) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20161214
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 8)
#elif PACKETVER >= 20161019
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0868, 6) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 6)
#elif PACKETVER >= 20160803
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0868, 26) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 26)
#elif PACKETVER >= 20160309
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0868, 5) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20161109
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0869, 8) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 8)
#elif PACKETVER >= 20160803
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0869, 12) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 12)
#elif PACKETVER >= 20160720
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, -1)
#elif PACKETVER >= 20160414
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0869, -1) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, -1)
#elif PACKETVER >= 20160330
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0869, 6) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20161228
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20161116
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20161109
-packetLen(0x086a, 7) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 7)
#elif PACKETVER >= 20160601
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20160525
-packetLen(0x086a, 19) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 19)
#elif PACKETVER >= 20160330
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20160323
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20160316
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20160309
-packetLen(0x086a, -1) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, -1)
#elif PACKETVER >= 20160113
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20160106
-packetLen(0x086a, 6) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 6)
#endif
// Packet: 0x086b
#if PACKETVER >= 20160824
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20160817
-packetLen(0x086b, 6) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 6)
#elif PACKETVER >= 20160713
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20160706
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#elif PACKETVER >= 20160511
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20160504
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#elif PACKETVER >= 20160302
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20160224
-packetLen(0x086b, 8) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 8)
#elif PACKETVER >= 20160106
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20161228
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20161102
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20161026
-packetLen(0x086c, 12) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 12)
#elif PACKETVER >= 20160525
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20160518
-packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 5)
#elif PACKETVER >= 20160217
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20160211
-packetLen(0x086c, 5) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 5)
#elif PACKETVER >= 20160203
-packetLen(0x086c, 18) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 18)
#elif PACKETVER >= 20160113
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20160106
-packetLen(0x086c, 4) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 4)
#endif
// Packet: 0x086d
#if PACKETVER >= 20161228
-packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 19)
#elif PACKETVER >= 20161221
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20161214
-packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 26)
#elif PACKETVER >= 20161116
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20161109
-packetLen(0x086d, 10) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 10)
#elif PACKETVER >= 20161019
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20161012
-packetLen(0x086d, 19) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 19)
#elif PACKETVER >= 20161005
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20160928
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20160727
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20160720
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20160406
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20160330
-packetLen(0x086d, 6) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 6)
#elif PACKETVER >= 20160120
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20160113
-packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 5)
#elif PACKETVER >= 20160106
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20161102
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20161026
-packetLen(0x086e, 8) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 8)
#elif PACKETVER >= 20160106
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20161130
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20161116
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20161109
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20161102
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20160817
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20160810
-packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, -1)
#elif PACKETVER >= 20160106
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20161228
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20161116
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0870, 19) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 19)
#elif PACKETVER >= 20160907
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 18)
#elif PACKETVER >= 20160622
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0870, 4) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 4)
#elif PACKETVER >= 20160608
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0870, 8) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 8)
#elif PACKETVER >= 20160427
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0870, 4) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 4)
#elif PACKETVER >= 20160224
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0870, 26) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20161228
-packetLen(0x0871, 5) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 5)
#elif PACKETVER >= 20161130
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0871, 4) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4457,4171 +4457,4171 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20160316
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 8)
#elif PACKETVER >= 20160302
-packetLen(0x0873, 12) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 12)
#elif PACKETVER >= 20160224
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0873, 5) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 5)
#elif PACKETVER >= 20160211
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0873, 36) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 36)
#elif PACKETVER >= 20160120
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20161109
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20160921
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0874, 26) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 26)
#elif PACKETVER >= 20160803
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 6)
#elif PACKETVER >= 20160525
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160518
-packetLen(0x0874, 19) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 19)
#elif PACKETVER >= 20160427
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0874, 8) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20161214
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20161019
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0875, -1) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, -1)
#elif PACKETVER >= 20160921
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20160824
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0875, 19) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 19)
#elif PACKETVER >= 20160810
-packetLen(0x0875, 5) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20161228
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0876, 12) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 12)
#elif PACKETVER >= 20161116
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0876, 8) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20160803
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0877, 18) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 18)
#elif PACKETVER >= 20160720
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0877, 10) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 10)
#elif PACKETVER >= 20160414
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20161005
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 7)
#elif PACKETVER >= 20160810
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0878, 4) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 4)
#elif PACKETVER >= 20160414
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20160330
-packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 8)
#elif PACKETVER >= 20160323
-packetLen(0x0878, 19) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 19)
#elif PACKETVER >= 20160113
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0878, 36) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 36)
#endif
// Packet: 0x0879
#if PACKETVER >= 20160921
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20160817
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0879, 6) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 6)
#elif PACKETVER >= 20160414
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0879, -1) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20161116
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20161109
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20161102
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20161026
-packetLen(0x087a, -1) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, -1)
#elif PACKETVER >= 20160921
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160913
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20160817
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160810
-packetLen(0x087a, 5) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 5)
#elif PACKETVER >= 20160420
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160414
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20160309
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160302
-packetLen(0x087a, 10) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 10)
#elif PACKETVER >= 20160224
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160217
-packetLen(0x087a, 19) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 19)
#elif PACKETVER >= 20160113
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20160106
-packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 18)
#endif
// Packet: 0x087b
#if PACKETVER >= 20160720
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20160713
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20160106
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20161102
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20161026
-packetLen(0x087c, 4) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 4)
#elif PACKETVER >= 20160907
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20160831
-packetLen(0x087c, 6) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 6)
#elif PACKETVER >= 20160316
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20160309
-packetLen(0x087c, 19) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 19)
#elif PACKETVER >= 20160106
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20160622
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20160615
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20160608
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20160601
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20160309
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20160302
-packetLen(0x087d, 26) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 26)
#elif PACKETVER >= 20160106
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20161214
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20161207
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20160622
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20160615
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20160316
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20160309
-packetLen(0x087e, 90) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 90)
#elif PACKETVER >= 20160106
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20161228
-packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 12)
#elif PACKETVER >= 20161130
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20161123
-packetLen(0x087f, 26) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 26)
#elif PACKETVER >= 20161102
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20161026
-packetLen(0x087f, 10) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 10)
#elif PACKETVER >= 20161005
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160928
-packetLen(0x087f, 12) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 12)
#elif PACKETVER >= 20160824
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160817
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20160810
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160803
-packetLen(0x087f, 5) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 5)
#elif PACKETVER >= 20160727
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160720
-packetLen(0x087f, 6) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 6)
#elif PACKETVER >= 20160622
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160615
-packetLen(0x087f, 90) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 90)
#elif PACKETVER >= 20160406
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160330
-packetLen(0x087f, 8) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 8)
#elif PACKETVER >= 20160113
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20160106
-packetLen(0x087f, 19) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 19)
#endif
// Packet: 0x0880
#if PACKETVER >= 20161130
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0880, 36) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 36)
#elif PACKETVER >= 20161019
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0880, 10) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 10)
#elif PACKETVER >= 20160629
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, -1)
#elif PACKETVER >= 20160420
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0880, 18) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 18)
#elif PACKETVER >= 20160106
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20161228
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0881, 6) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 6)
#elif PACKETVER >= 20161116
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 8)
#elif PACKETVER >= 20160810
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0881, 18) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 18)
#elif PACKETVER >= 20160706
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0881, 19) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 19)
#elif PACKETVER >= 20160106
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20161130
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20160803
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0883, 7) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 7)
#elif PACKETVER >= 20160720
-packetLen(0x0883, 10) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 10)
#elif PACKETVER >= 20160713
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20160330
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0883, 26) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 26)
#elif PACKETVER >= 20160309
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0883, 10) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20161228
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20160713
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0884, 26) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 26)
#elif PACKETVER >= 20160622
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20160511
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0884, 10) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 10)
#elif PACKETVER >= 20160427
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20160414
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20160302
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 7)
#elif PACKETVER >= 20160106
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20161228
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20161123
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20160817
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0885, 19) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 19)
#elif PACKETVER >= 20160706
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0885, 5) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 5)
#elif PACKETVER >= 20160615
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 90)
#elif PACKETVER >= 20160420
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20160302
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20160113
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#endif
// Packet: 0x0886
#if PACKETVER >= 20161228
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20161214
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0886, 7) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 7)
#elif PACKETVER >= 20161109
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0886, 90) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 90)
#elif PACKETVER >= 20161026
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20161012
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0886, -1) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, -1)
#elif PACKETVER >= 20160824
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0886, 7) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 7)
#elif PACKETVER >= 20160810
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20160713
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0886, 4) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 4)
#elif PACKETVER >= 20160511
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20160217
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20160211
-packetLen(0x0886, 5) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20161221
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20160921
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20160810
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20160727
-packetLen(0x0887, 19) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 19)
#elif PACKETVER >= 20160720
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20160622
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20160511
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0887, 26) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20160817
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0888, 26) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 26)
#elif PACKETVER >= 20160803
-packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 90)
#elif PACKETVER >= 20160622
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 10)
#elif PACKETVER >= 20160427
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 19)
#elif PACKETVER >= 20160302
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20160217
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20160120
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0888, 90) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 90)
#elif PACKETVER >= 20160106
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20161228
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0889, 36) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 36)
#elif PACKETVER >= 20161005
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0889, 19) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 19)
#elif PACKETVER >= 20160921
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20160713
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20160406
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 90)
#elif PACKETVER >= 20160113
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 5)
#endif
// Packet: 0x088a
#if PACKETVER >= 20160622
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20160615
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20160511
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20160504
-packetLen(0x088a, 6) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 6)
#elif PACKETVER >= 20160113
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20160106
-packetLen(0x088a, 26) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 26)
#endif
// Packet: 0x088b
#if PACKETVER >= 20161130
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20161123
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20161116
-packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 5)
#elif PACKETVER >= 20160427
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20160420
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20160406
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20160330
-packetLen(0x088b, 5) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 5)
#elif PACKETVER >= 20160120
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20160113
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20160106
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20161228
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20161221
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20160211
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20160203
-packetLen(0x088c, 4) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 4)
#elif PACKETVER >= 20160106
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20161123
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20161116
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20160720
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160713
-packetLen(0x088d, 18) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 18)
#elif PACKETVER >= 20160622
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160615
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20160608
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160601
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20160511
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160504
-packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 10)
#elif PACKETVER >= 20160406
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160330
-packetLen(0x088d, 4) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 4)
#elif PACKETVER >= 20160224
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20160217
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20160106
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20161116
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20161109
-packetLen(0x088e, -1) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, -1)
#elif PACKETVER >= 20161012
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20161005
-packetLen(0x088e, 8) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 8)
#elif PACKETVER >= 20160928
-packetLen(0x088e, -1) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, -1)
#elif PACKETVER >= 20160921
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20160913
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20160803
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20160727
-packetLen(0x088e, 10) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 10)
#elif PACKETVER >= 20160706
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20160629
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20160106
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20161207
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20161130
-packetLen(0x088f, 4) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 4)
#elif PACKETVER >= 20161123
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20161116
-packetLen(0x088f, 19) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 19)
#elif PACKETVER >= 20161109
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20161102
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20160921
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20160913
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20160608
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20160601
-packetLen(0x088f, 8) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 8)
#elif PACKETVER >= 20160511
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20160504
-packetLen(0x088f, -1) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, -1)
#elif PACKETVER >= 20160224
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20160217
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20160106
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20161228
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 36)
#elif PACKETVER >= 20161123
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0890, 5) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 5)
#elif PACKETVER >= 20161109
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20160817
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20160629
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0890, 26) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 26)
#elif PACKETVER >= 20160511
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20161116
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0891, 12) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 12)
#elif PACKETVER >= 20161102
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20161012
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20160921
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20160824
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20160810
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0891, 5) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 5)
#elif PACKETVER >= 20160727
-packetLen(0x0891, -1) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, -1)
#elif PACKETVER >= 20160629
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20160113
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#endif
// Packet: 0x0892
#if PACKETVER >= 20161123
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0892, -1) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, -1)
#elif PACKETVER >= 20161026
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0892, 4) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 4)
#elif PACKETVER >= 20161012
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0892, 18) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 18)
#elif PACKETVER >= 20160921
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20160720
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0892, 12) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 12)
#elif PACKETVER >= 20160706
-packetLen(0x0892, 5) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 5)
#elif PACKETVER >= 20160414
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0892, 90) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 90)
#elif PACKETVER >= 20160120
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20161228
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20161123
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 7)
#elif PACKETVER >= 20161019
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20160706
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20160511
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 18)
#elif PACKETVER >= 20160120
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20161102
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0894, 10) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 10)
#elif PACKETVER >= 20160518
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0894, 26) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20161221
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20161214
-packetLen(0x0895, 8) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 8)
#elif PACKETVER >= 20160810
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0895, 26) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 26)
#elif PACKETVER >= 20160608
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 5)
#elif PACKETVER >= 20160414
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0895, 19) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 19)
#elif PACKETVER >= 20160106
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20160330
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0896, -1) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20161005
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0897, 90) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 90)
#elif PACKETVER >= 20160727
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20161116
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20161102
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 26)
#elif PACKETVER >= 20160622
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20160511
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0898, 8) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 8)
#elif PACKETVER >= 20160414
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0898, 26) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20161228
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0899, 4) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 4)
#elif PACKETVER >= 20161214
-packetLen(0x0899, 36) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 36)
#elif PACKETVER >= 20160713
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0899, 10) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 10)
#elif PACKETVER >= 20160615
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20160601
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20160224
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0899, 4) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 4)
#elif PACKETVER >= 20160120
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20161228
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20161221
-packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 8)
#elif PACKETVER >= 20161116
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20161109
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20161005
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160928
-packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 7)
#elif PACKETVER >= 20160727
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160720
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20160713
-packetLen(0x089a, 26) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 26)
#elif PACKETVER >= 20160629
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160622
-packetLen(0x089a, 18) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 18)
#elif PACKETVER >= 20160525
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160518
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20160330
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160323
-packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 5)
#elif PACKETVER >= 20160120
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20160113
-packetLen(0x089a, 7) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 7)
#elif PACKETVER >= 20160106
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20161228
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20161221
-packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 7)
#elif PACKETVER >= 20161012
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20161005
-packetLen(0x089b, 26) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 26)
#elif PACKETVER >= 20160921
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160913
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20160615
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160608
-packetLen(0x089b, 5) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 5)
#elif PACKETVER >= 20160518
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160511
-packetLen(0x089b, 4) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 4)
#elif PACKETVER >= 20160414
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160406
-packetLen(0x089b, 6) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 6)
#elif PACKETVER >= 20160316
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20160309
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20160106
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20161130
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20161123
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20161012
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20161005
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20160921
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160913
-packetLen(0x089c, 36) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 36)
#elif PACKETVER >= 20160824
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160817
-packetLen(0x089c, -1) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, -1)
#elif PACKETVER >= 20160810
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160803
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20160727
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160720
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20160601
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20160525
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20160106
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20161116
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20161109
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20160817
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20160810
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20160511
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20160504
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20160316
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20160309
-packetLen(0x089d, 5) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 5)
#elif PACKETVER >= 20160106
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20160727
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20160720
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20160629
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20160622
-packetLen(0x089e, 7) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 7)
#elif PACKETVER >= 20160420
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20160414
-packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 26)
#elif PACKETVER >= 20160406
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20160106
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20161228
-packetLen(0x089f, 8) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 8)
#elif PACKETVER >= 20161116
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20161109
-packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 4)
#elif PACKETVER >= 20161102
-packetLen(0x089f, 26) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 26)
#elif PACKETVER >= 20160817
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20160810
-packetLen(0x089f, -1) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, -1)
#elif PACKETVER >= 20160803
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20160727
-packetLen(0x089f, 10) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 10)
#elif PACKETVER >= 20160720
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20160713
-packetLen(0x089f, 4) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 4)
#elif PACKETVER >= 20160106
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20161019
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20161012
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20161005
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20160727
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20160720
-packetLen(0x08a0, 12) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 12)
#elif PACKETVER >= 20160224
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20160217
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20160120
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20160113
-packetLen(0x08a0, 6) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 6)
#elif PACKETVER >= 20160106
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20161214
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20161207
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20161123
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20161116
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20160810
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20160803
-packetLen(0x08a1, -1) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, -1)
#elif PACKETVER >= 20160414
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20160406
-packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 7)
#elif PACKETVER >= 20160106
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20161228
-packetLen(0x08a2, 10) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 10)
#elif PACKETVER >= 20161214
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20161207
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20161123
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20161116
-packetLen(0x08a2, 18) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 18)
#elif PACKETVER >= 20161109
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20161102
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20161005
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20160928
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20160803
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20160727
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20160720
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20160713
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20160629
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20160622
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20160106
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20161228
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20160106
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20160803
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20160727
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20160720
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20160713
-packetLen(0x08a4, 19) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 19)
#elif PACKETVER >= 20160706
-packetLen(0x08a4, 18) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 18)
#elif PACKETVER >= 20160106
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20161228
-packetLen(0x08a5, 18) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 18)
#elif PACKETVER >= 20160921
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20160913
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20160824
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08a5, 36) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 36)
#elif PACKETVER >= 20160713
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20160706
-packetLen(0x08a5, 19) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 19)
#elif PACKETVER >= 20160427
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20160420
-packetLen(0x08a5, 36) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 36)
#elif PACKETVER >= 20160106
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20161221
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20161214
-packetLen(0x08a6, 18) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 18)
#elif PACKETVER >= 20160824
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08a6, 26) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 26)
#elif PACKETVER >= 20160615
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20160608
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20160120
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20160113
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20160106
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20161116
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20161109
-packetLen(0x08a7, 5) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 5)
#elif PACKETVER >= 20160803
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20160727
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20160608
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20160601
-packetLen(0x08a7, 8) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 8)
#elif PACKETVER >= 20160316
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20160309
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20160106
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20160907
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20160831
-packetLen(0x08a8, -1) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, -1)
#elif PACKETVER >= 20160713
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20160706
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20160629
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20160622
-packetLen(0x08a8, 36) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 36)
#elif PACKETVER >= 20160106
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20161130
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20161123
-packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 10)
#elif PACKETVER >= 20161005
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160928
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20160907
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160831
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20160824
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08a9, -1) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, -1)
#elif PACKETVER >= 20160810
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20160525
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160518
-packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 26)
#elif PACKETVER >= 20160309
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20160302
-packetLen(0x08a9, 8) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 8)
#elif PACKETVER >= 20160217
-packetLen(0x08a9, 26) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 26)
#elif PACKETVER >= 20160106
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20161228
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20161221
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20161130
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20161116
-packetLen(0x08aa, 12) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 12)
#elif PACKETVER >= 20161109
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20161102
-packetLen(0x08aa, 5) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 5)
#elif PACKETVER >= 20160727
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20160720
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20160120
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20160113
-packetLen(0x08aa, -1) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, -1)
#elif PACKETVER >= 20160106
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20161228
-packetLen(0x08ab, 8) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 8)
#elif PACKETVER >= 20160824
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20160106
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20161228
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20161123
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20161116
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20160824
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08ac, 10) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 10)
#elif PACKETVER >= 20160608
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20160601
-packetLen(0x08ac, 19) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 19)
#elif PACKETVER >= 20160414
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20160406
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20160224
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20160217
-packetLen(0x08ac, 18) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 18)
#elif PACKETVER >= 20160106
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20161228
-packetLen(0x08ad, 36) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 36)
#elif PACKETVER >= 20161214
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20161207
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20161116
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20161109
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20161012
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20161005
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20160824
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20160817
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20160511
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20160504
-packetLen(0x08ad, 5) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 5)
#elif PACKETVER >= 20160106
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 149)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20160907
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 36)
#elif PACKETVER >= 20160727
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0917, 4) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20161214
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 18)
#elif PACKETVER >= 20160713
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0918, 90) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 90)
#elif PACKETVER >= 20160518
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0918, 5) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 5)
#elif PACKETVER >= 20160504
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20160420
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0918, 4) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 4)
#elif PACKETVER >= 20160406
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 8)
#elif PACKETVER >= 20160211
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0918, 8) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20161012
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 6)
#elif PACKETVER >= 20160928
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0919, 12) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 12)
#elif PACKETVER >= 20160106
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20161130
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20161123
-packetLen(0x091a, 8) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 8)
#elif PACKETVER >= 20161102
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20161026
-packetLen(0x091a, 19) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 19)
#elif PACKETVER >= 20160817
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20160810
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20160309
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20160302
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20160106
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20161109
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20161102
-packetLen(0x091b, 36) // ZC_PRNPC_STATE
+packetLen(0x091b, 36)
#elif PACKETVER >= 20161026
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20160907
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160831
-packetLen(0x091b, 4) // ZC_PRNPC_STATE
+packetLen(0x091b, 4)
#elif PACKETVER >= 20160817
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160803
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20160713
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160706
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20160330
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160323
-packetLen(0x091b, 4) // ZC_PRNPC_STATE
+packetLen(0x091b, 4)
#elif PACKETVER >= 20160120
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20160113
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20160106
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20161228
-packetLen(0x091c, 26) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 26)
#elif PACKETVER >= 20160913
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20160907
-packetLen(0x091c, 36) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 36)
#elif PACKETVER >= 20160817
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20160810
-packetLen(0x091c, 10) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 10)
#elif PACKETVER >= 20160727
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20160720
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20160713
-packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 5)
#elif PACKETVER >= 20160629
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20160622
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20160106
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20161214
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20161207
-packetLen(0x091d, 8) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 8)
#elif PACKETVER >= 20160720
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160713
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20160601
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160525
-packetLen(0x091d, 36) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 36)
#elif PACKETVER >= 20160316
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160309
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20160224
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160217
-packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 5)
#elif PACKETVER >= 20160113
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20160106
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#endif
// Packet: 0x091e
#if PACKETVER >= 20161012
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20161005
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20160928
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20160706
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20160629
-packetLen(0x091e, 18) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 18)
#elif PACKETVER >= 20160106
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
// Packet: 0x0920
#if PACKETVER >= 20161123
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0920, 90) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 90)
#elif PACKETVER >= 20160518
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 19)
#elif PACKETVER >= 20160316
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 8)
#elif PACKETVER >= 20160302
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 4)
#elif PACKETVER >= 20160217
-packetLen(0x0920, 7) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 7)
#elif PACKETVER >= 20160106
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20160720
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 90)
#elif PACKETVER >= 20160511
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0921, 90) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 90)
#elif PACKETVER >= 20160106
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20161109
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 6)
#elif PACKETVER >= 20160720
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20160706
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0922, 8) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 8)
#elif PACKETVER >= 20160511
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0922, 6) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 6)
#elif PACKETVER >= 20160420
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20160323
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160316
-packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 36)
#elif PACKETVER >= 20160309
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20160203
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20160127
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
// Packet: 0x0924
#if PACKETVER >= 20160713
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0924, 10) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 10)
#elif PACKETVER >= 20160608
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0924, 4) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 4)
#elif PACKETVER >= 20160511
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0924, 6) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20161123
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 10)
#elif PACKETVER >= 20161109
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0925, 10) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 10)
#elif PACKETVER >= 20160406
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0925, 19) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 19)
#elif PACKETVER >= 20160106
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20161228
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0926, 26) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 26)
#elif PACKETVER >= 20161130
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0926, 19) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 19)
#elif PACKETVER >= 20161102
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20160817
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0926, 4) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 4)
#elif PACKETVER >= 20160713
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20160629
-packetLen(0x0926, 26) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 26)
#elif PACKETVER >= 20160330
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#elif PACKETVER >= 20160224
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0926, 10) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20161116
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0927, 26) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 26)
#elif PACKETVER >= 20161005
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0927, 10) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 10)
#elif PACKETVER >= 20160420
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0927, 36) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 36)
#elif PACKETVER >= 20160406
-packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 8)
#elif PACKETVER >= 20160330
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 18)
#elif PACKETVER >= 20160309
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0927, 6) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20161228
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20161109
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20160921
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20160525
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20160518
-packetLen(0x0928, 5) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20161228
-packetLen(0x0929, 10) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 10)
#elif PACKETVER >= 20160824
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0929, -1) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, -1)
#elif PACKETVER >= 20160810
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0929, 36) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 36)
#elif PACKETVER >= 20160713
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0929, 8) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 8)
#elif PACKETVER >= 20160316
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0929, 4) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 4)
#elif PACKETVER >= 20160302
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0929, 5) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20161130
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20161123
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20161116
-packetLen(0x092a, 10) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 10)
#elif PACKETVER >= 20160727
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20160720
-packetLen(0x092a, 26) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 26)
#elif PACKETVER >= 20160406
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20160330
-packetLen(0x092a, -1) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, -1)
#elif PACKETVER >= 20160316
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20160309
-packetLen(0x092a, -1) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, -1)
#elif PACKETVER >= 20160106
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20161012
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20161005
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20160817
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20160810
-packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, -1)
#elif PACKETVER >= 20160106
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20161102
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20161026
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20160907
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20160831
-packetLen(0x092c, 26) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 26)
#elif PACKETVER >= 20160720
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20160713
-packetLen(0x092c, 6) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 6)
#elif PACKETVER >= 20160601
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20160525
-packetLen(0x092c, 18) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 18)
#elif PACKETVER >= 20160406
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20160330
-packetLen(0x092c, 18) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 18)
#elif PACKETVER >= 20160106
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20161019
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20161012
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20161005
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160928
-packetLen(0x092d, 10) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 10)
#elif PACKETVER >= 20160824
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160817
-packetLen(0x092d, 90) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 90)
#elif PACKETVER >= 20160810
-packetLen(0x092d, 8) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 8)
#elif PACKETVER >= 20160713
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160706
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20160629
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160622
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20160414
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160406
-packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 12)
#elif PACKETVER >= 20160309
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20160302
-packetLen(0x092d, 4) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 4)
#elif PACKETVER >= 20160106
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20161228
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20161221
-packetLen(0x092e, 18) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 18)
#elif PACKETVER >= 20161214
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20161102
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20161026
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20160907
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20160831
-packetLen(0x092e, 12) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 12)
#elif PACKETVER >= 20160803
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20160727
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20160224
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20160217
-packetLen(0x092e, 90) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 90)
#elif PACKETVER >= 20160106
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20161130
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20161123
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20161109
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20161102
-packetLen(0x092f, 6) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 6)
#elif PACKETVER >= 20160629
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20160622
-packetLen(0x092f, 10) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 10)
#elif PACKETVER >= 20160427
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20160420
-packetLen(0x092f, 18) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 18)
#elif PACKETVER >= 20160309
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20160302
-packetLen(0x092f, 90) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 90)
#elif PACKETVER >= 20160224
-packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, -1)
#elif PACKETVER >= 20160106
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20161228
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20161130
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20161102
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20160824
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20160810
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0930, 12) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 12)
#elif PACKETVER >= 20160406
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20161207
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0931, 5) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 5)
#elif PACKETVER >= 20161123
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0931, -1) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, -1)
#elif PACKETVER >= 20161012
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0931, 26) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 26)
#elif PACKETVER >= 20160720
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0931, 10) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 10)
#elif PACKETVER >= 20160420
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20161012
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0932, 12) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 12)
#elif PACKETVER >= 20160810
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0932, 10) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 10)
#elif PACKETVER >= 20160316
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0932, 5) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 5)
#elif PACKETVER >= 20160120
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20160414
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 5)
#elif PACKETVER >= 20160330
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20160323
-packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20161228
-packetLen(0x0934, 26) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 26)
#elif PACKETVER >= 20160831
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20160824
-packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 36)
#elif PACKETVER >= 20160810
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0934, 7) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 7)
#elif PACKETVER >= 20160420
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20160406
-packetLen(0x0934, 10) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20161228
-packetLen(0x0935, 8) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 8)
#elif PACKETVER >= 20160921
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0935, -1) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, -1)
#elif PACKETVER >= 20160817
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0935, 90) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 90)
#elif PACKETVER >= 20160427
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20160420
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20161019
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 6)
#elif PACKETVER >= 20160803
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20160629
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0936, 19) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 19)
#elif PACKETVER >= 20160302
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0936, 36) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20161116
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0937, 26) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 26)
#elif PACKETVER >= 20161019
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 6)
#elif PACKETVER >= 20160810
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0937, 10) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 10)
#elif PACKETVER >= 20160629
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 12)
#elif PACKETVER >= 20160601
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20161228
-packetLen(0x0938, 4) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 4)
#elif PACKETVER >= 20160302
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20160224
-packetLen(0x0938, 6) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20161019
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0939, -1) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, -1)
#elif PACKETVER >= 20160824
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 8)
#elif PACKETVER >= 20160720
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 26)
#elif PACKETVER >= 20160706
-packetLen(0x0939, 8) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 8)
#elif PACKETVER >= 20160406
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20160330
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20160921
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20160913
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20160907
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20160831
-packetLen(0x093a, 5) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 5)
#elif PACKETVER >= 20160810
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20160803
-packetLen(0x093a, 8) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 8)
#elif PACKETVER >= 20160106
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20161012
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20161005
-packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 10)
#elif PACKETVER >= 20160727
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160720
-packetLen(0x093b, 5) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 5)
#elif PACKETVER >= 20160629
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160622
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20160615
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160608
-packetLen(0x093b, 4) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 4)
#elif PACKETVER >= 20160406
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160330
-packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 26)
#elif PACKETVER >= 20160224
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20160217
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20160106
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20161123
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20161116
-packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, -1)
#elif PACKETVER >= 20161109
-packetLen(0x093c, 36) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 36)
#elif PACKETVER >= 20160824
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20160817
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20160330
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20160323
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20160120
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20160113
-packetLen(0x093c, 8) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 8)
#elif PACKETVER >= 20160106
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20161228
-packetLen(0x093d, 7) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 7)
#elif PACKETVER >= 20161221
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20161214
-packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 5)
#elif PACKETVER >= 20160713
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20160706
-packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 6)
#elif PACKETVER >= 20160106
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20160810
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160803
-packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 6)
#elif PACKETVER >= 20160727
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160720
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20160706
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160629
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20160622
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160615
-packetLen(0x093e, 26) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 26)
#elif PACKETVER >= 20160511
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160504
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20160224
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160217
-packetLen(0x093e, -1) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, -1)
#elif PACKETVER >= 20160211
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20160203
-packetLen(0x093e, 26) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 26)
#elif PACKETVER >= 20160106
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20161116
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20161109
-packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 6)
#elif PACKETVER >= 20160810
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20160803
-packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, -1)
#elif PACKETVER >= 20160629
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20160622
-packetLen(0x093f, -1) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, -1)
#elif PACKETVER >= 20160106
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20160518
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20160511
-packetLen(0x0940, 36) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 36)
#elif PACKETVER >= 20160504
-packetLen(0x0940, 19) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 19)
#elif PACKETVER >= 20160427
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20160414
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20160211
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0940, 5) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 5)
#elif PACKETVER >= 20160113
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20160106
-packetLen(0x0940, 8) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 8)
#endif
// Packet: 0x0941
#if PACKETVER >= 20161130
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20160511
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20160224
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20160120
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0941, -1) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20161012
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20161228
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0943, 10) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 10)
#elif PACKETVER >= 20161214
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0943, 4) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 4)
#elif PACKETVER >= 20161130
-packetLen(0x0943, 19) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 19)
#elif PACKETVER >= 20161019
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0943, 18) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 18)
#elif PACKETVER >= 20160817
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20161228
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20161019
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 8)
#elif PACKETVER >= 20161005
-packetLen(0x0944, -1) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, -1)
#elif PACKETVER >= 20160928
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20160713
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20161012
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0945, 5) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 5)
#elif PACKETVER >= 20160720
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0945, 7) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 7)
#elif PACKETVER >= 20160706
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20160601
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 26)
#elif PACKETVER >= 20160420
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 26)
#elif PACKETVER >= 20160309
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20161228
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 10)
#elif PACKETVER >= 20161109
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 19)
#elif PACKETVER >= 20161026
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0946, 19) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 19)
#elif PACKETVER >= 20160907
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20160803
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20160720
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 8)
#elif PACKETVER >= 20160211
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20160706
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 5)
#elif PACKETVER >= 20160622
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0948, 7) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 7)
#elif PACKETVER >= 20160511
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0948, 12) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 12)
#elif PACKETVER >= 20160106
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20161109
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0949, 5) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 5)
#elif PACKETVER >= 20160921
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0949, 26) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 26)
#elif PACKETVER >= 20160803
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0949, 8) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 8)
#elif PACKETVER >= 20160414
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20161123
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20161116
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20161012
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20161005
-packetLen(0x094a, -1) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, -1)
#elif PACKETVER >= 20160928
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160921
-packetLen(0x094a, 36) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 36)
#elif PACKETVER >= 20160913
-packetLen(0x094a, 90) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 90)
#elif PACKETVER >= 20160907
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160831
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20160706
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160629
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20160622
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160615
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20160601
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160525
-packetLen(0x094a, 8) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 8)
#elif PACKETVER >= 20160224
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20160217
-packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 10)
#elif PACKETVER >= 20160106
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20161228
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20161221
-packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, -1)
#elif PACKETVER >= 20161102
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20161026
-packetLen(0x094b, 8) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 8)
#elif PACKETVER >= 20160622
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20160615
-packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, -1)
#elif PACKETVER >= 20160106
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20160713
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20160706
-packetLen(0x094c, 36) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 36)
#elif PACKETVER >= 20160302
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20160224
-packetLen(0x094c, 18) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 18)
#elif PACKETVER >= 20160106
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20161130
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20161123
-packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 10)
#elif PACKETVER >= 20161012
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20161005
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20160727
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20160720
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20160615
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20160608
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20160414
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20160406
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20160120
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20160113
-packetLen(0x094d, 19) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 19)
#elif PACKETVER >= 20160106
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20161005
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20160928
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20160601
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20160525
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20160427
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20160420
-packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, -1)
#elif PACKETVER >= 20160309
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20160302
-packetLen(0x094e, 36) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 36)
#elif PACKETVER >= 20160106
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20161130
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20161123
-packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, -1)
#elif PACKETVER >= 20161019
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20161012
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20160907
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20160831
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20160316
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20160309
-packetLen(0x094f, 7) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 7)
#elif PACKETVER >= 20160224
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20160217
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20160120
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20160113
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20160106
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20160921
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0950, 7) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 7)
#elif PACKETVER >= 20160907
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0950, -1) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, -1)
#elif PACKETVER >= 20160309
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0950, 8) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20161019
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0951, 90) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 90)
#elif PACKETVER >= 20160803
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 8)
#elif PACKETVER >= 20160601
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0951, 26) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20161012
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20161005
-packetLen(0x0952, 4) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 4)
#elif PACKETVER >= 20160921
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0952, 19) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 19)
#elif PACKETVER >= 20160810
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 5)
#elif PACKETVER >= 20160511
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0952, 26) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20161102
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0953, 26) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 26)
#elif PACKETVER >= 20161005
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0953, -1) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, -1)
#elif PACKETVER >= 20160727
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20160420
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20160414
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20160406
-packetLen(0x0953, 36) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20161207
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0954, 36) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 36)
#elif PACKETVER >= 20161116
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0954, 10) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 10)
#elif PACKETVER >= 20160921
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 5)
#elif PACKETVER >= 20160907
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0954, -1) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, -1)
#elif PACKETVER >= 20160622
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 5)
#elif PACKETVER >= 20160211
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20160203
-packetLen(0x0954, 8) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20161005
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 18)
#elif PACKETVER >= 20160810
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20161116
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20161109
-packetLen(0x0956, 5) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 5)
#elif PACKETVER >= 20160810
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#elif PACKETVER >= 20160601
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20160525
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20160316
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20160309
-packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20161123
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20161005
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160928
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20160907
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0957, -1) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, -1)
#elif PACKETVER >= 20160824
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0957, 18) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 18)
#elif PACKETVER >= 20160720
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160713
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20160706
-packetLen(0x0957, 12) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 12)
#elif PACKETVER >= 20160622
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0957, -1) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20160713
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20160706
-packetLen(0x0958, 6) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 6)
#elif PACKETVER >= 20160622
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0958, 8) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 8)
#elif PACKETVER >= 20160608
-packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 36)
#elif PACKETVER >= 20160106
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20161207
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20161130
-packetLen(0x0959, 26) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 26)
#elif PACKETVER >= 20160810
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20160803
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20160629
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20161228
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20161221
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20161130
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20161123
-packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 8)
#elif PACKETVER >= 20161012
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20161005
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20160928
-packetLen(0x095a, 4) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 4)
#elif PACKETVER >= 20160810
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20160803
-packetLen(0x095a, 26) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 26)
#elif PACKETVER >= 20160706
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20160629
-packetLen(0x095a, 7) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 7)
#elif PACKETVER >= 20160309
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20160302
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20160211
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20160203
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20160127
-packetLen(0x095a, 36) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 36)
#elif PACKETVER >= 20160106
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20161130
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20161123
-packetLen(0x095b, 7) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 7)
#elif PACKETVER >= 20161116
-packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 36)
#elif PACKETVER >= 20161012
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20161005
-packetLen(0x095b, 19) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 19)
#elif PACKETVER >= 20160817
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20160810
-packetLen(0x095b, 7) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 7)
#elif PACKETVER >= 20160727
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20160720
-packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 18)
#elif PACKETVER >= 20160713
-packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 8)
#elif PACKETVER >= 20160615
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20160608
-packetLen(0x095b, 8) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 8)
#elif PACKETVER >= 20160601
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20160511
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20160504
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20160106
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20161102
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20161026
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20161019
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20161012
-packetLen(0x095c, 5) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 5)
#elif PACKETVER >= 20160622
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20160615
-packetLen(0x095c, 18) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 18)
#elif PACKETVER >= 20160427
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20160420
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20160106
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20161214
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20161207
-packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 36)
#elif PACKETVER >= 20161123
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20161116
-packetLen(0x095d, 4) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 4)
#elif PACKETVER >= 20160414
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20160406
-packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 5)
#elif PACKETVER >= 20160211
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20160203
-packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 8)
#elif PACKETVER >= 20160106
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
#if PACKETVER >= 20161109
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20161102
-packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 12)
#elif PACKETVER >= 20161026
-packetLen(0x095e, 90) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 90)
#elif PACKETVER >= 20160907
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20160831
-packetLen(0x095e, 8) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 8)
#elif PACKETVER >= 20160622
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20160615
-packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, -1)
#elif PACKETVER >= 20160316
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20160309
-packetLen(0x095e, 12) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 12)
#elif PACKETVER >= 20160224
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20160217
-packetLen(0x095e, 36) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 36)
#elif PACKETVER >= 20160106
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20160803
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20160727
-packetLen(0x095f, -1) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, -1)
#elif PACKETVER >= 20160608
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20160601
-packetLen(0x095f, 36) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 36)
#elif PACKETVER >= 20160414
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20160406
-packetLen(0x095f, 5) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 5)
#elif PACKETVER >= 20160106
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20160907
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20160727
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20160720
-packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 8)
#elif PACKETVER >= 20160106
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20160622
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20160615
-packetLen(0x0961, 12) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 12)
#elif PACKETVER >= 20160608
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20160601
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20160309
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0961, 18) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 18)
#elif PACKETVER >= 20160224
-packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 5)
#elif PACKETVER >= 20160203
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20160127
-packetLen(0x0961, 26) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 26)
#elif PACKETVER >= 20160106
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20161130
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20161123
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20161102
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20161026
-packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 5)
#elif PACKETVER >= 20161019
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0962, 10) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 10)
#elif PACKETVER >= 20160921
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0962, 4) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 4)
#elif PACKETVER >= 20160414
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20160406
-packetLen(0x0962, 4) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 4)
#elif PACKETVER >= 20160106
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20161026
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20161019
-packetLen(0x0963, 26) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 26)
#elif PACKETVER >= 20160921
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20160913
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20160824
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20160817
-packetLen(0x0963, 5) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20161228
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0964, 19) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 19)
#elif PACKETVER >= 20161109
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0964, -1) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, -1)
#elif PACKETVER >= 20160907
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0964, 10) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 10)
#elif PACKETVER >= 20160106
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20161228
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20161221
-packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 5)
#elif PACKETVER >= 20161214
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20161207
-packetLen(0x0965, 26) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 26)
#elif PACKETVER >= 20161109
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0965, 10) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 10)
#elif PACKETVER >= 20160629
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0965, 5) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 5)
#elif PACKETVER >= 20160106
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20161109
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20161102
-packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 6)
#elif PACKETVER >= 20161019
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0966, 5) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 5)
#elif PACKETVER >= 20160224
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0966, 6) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 6)
#elif PACKETVER >= 20160106
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20161123
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20161116
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20161019
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20161012
-packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 36)
#elif PACKETVER >= 20161005
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20160907
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160831
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20160817
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160810
-packetLen(0x0967, 8) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 8)
#elif PACKETVER >= 20160309
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20160224
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20160120
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20160113
-packetLen(0x0967, -1) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20160706
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20160629
-packetLen(0x0968, 10) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 10)
#elif PACKETVER >= 20160309
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20160302
-packetLen(0x0968, 7) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 7)
#elif PACKETVER >= 20160106
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20160803
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160727
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20160720
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20160706
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160622
-packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 6)
#elif PACKETVER >= 20160615
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160608
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20160511
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160504
-packetLen(0x0969, 36) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 36)
#elif PACKETVER >= 20160224
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20160217
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20160106
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20161221
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20161123
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20161026
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20161019
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160928
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160921
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160913
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160907
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160831
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160824
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160810
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160803
-packetLen(0x096a, -1) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, -1)
#elif PACKETVER >= 20160706
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160629
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20160615
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160511
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160504
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160414
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160406
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160309
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160302
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160224
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160217
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160120
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20160113
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20160106
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 10)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
// Packet: 0x0a0a
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
// Packet: 0x0a0b
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
// Packet: 0x0a0c
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
#if PACKETVER >= 20160921
-packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 59)
#elif PACKETVER >= 20160106
-packetLen(0x0a37, 57) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 57)
#endif
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -8639,37 +8639,37 @@ packetLen(0x0a3f, 9)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
#if PACKETVER >= 20160127
@@ -8695,7 +8695,7 @@ packetLen(0x0a50, 6)
// Packet: 0x0a51
#if PACKETVER >= 20160302
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
#endif
// Packet: 0x0a52
@@ -8760,7 +8760,7 @@ packetLen(0x0a5d, 6)
// Packet: 0x0a68
#if PACKETVER >= 20160323
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
#endif
// Packet: 0x0a69
@@ -8790,12 +8790,12 @@ packetLen(0x0a6d, -1)
// Packet: 0x0a6e
#if PACKETVER >= 20160330
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
#endif
// Packet: 0x0a6f
#if PACKETVER >= 20160330
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
#endif
// Packet: 0x0a70
@@ -8857,19 +8857,19 @@ packetLen(0x0a7c, -1)
// Packet: 0x0a7d
#if PACKETVER >= 20160601
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
#endif
// Packet: 0x0a7e
#if PACKETVER >= 20160706
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
#elif PACKETVER >= 20160615
-packetLen(0x0a7e, 4) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, 4)
#endif
// Packet: 0x0a7f
#if PACKETVER >= 20160615
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
#endif
// Packet: 0x0a80
@@ -8902,7 +8902,7 @@ packetLen(0x0a83, 46)
// Packet: 0x0a84
#if PACKETVER >= 20160622
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
#endif
// Packet: 0x0a85
@@ -8929,14 +8929,14 @@ packetLen(0x0a88, 2)
// Packet: 0x0a89
#if PACKETVER >= 20160706
-packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 57)
#elif PACKETVER >= 20160629
-packetLen(0x0a89, 32) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 32)
#endif
// Packet: 0x0a8a
#if PACKETVER >= 20160629
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
#endif
// Packet: 0x0a8b
@@ -8951,7 +8951,7 @@ packetLen(0x0a8c, 2)
// Packet: 0x0a8d
#if PACKETVER >= 20160629
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
#endif
// Packet: 0x0a8e
@@ -8971,7 +8971,7 @@ packetLen(0x0a90, 3)
// Packet: 0x0a91
#if PACKETVER >= 20160727
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
#endif
// Packet: 0x0a92
@@ -8996,17 +8996,17 @@ packetLen(0x0a95, 4)
// Packet: 0x0a96
#if PACKETVER >= 20160921
-packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 51)
#endif
// Packet: 0x0a97
#if PACKETVER >= 20160928
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
#endif
// Packet: 0x0a98
#if PACKETVER >= 20160928
-packetLen(0x0a98, 12) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 12)
#endif
// Packet: 0x0a99
@@ -9016,12 +9016,12 @@ packetLen(0x0a99, 8)
// Packet: 0x0a9a
#if PACKETVER >= 20160928
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
#endif
// Packet: 0x0a9b
#if PACKETVER >= 20160928
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
#endif
// Packet: 0x0a9c
@@ -9046,42 +9046,42 @@ packetLen(0x0a9f, 2)
// Packet: 0x0aa0
#if PACKETVER >= 20161005
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
#endif
// Packet: 0x0aa1
#if PACKETVER >= 20161005
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
#endif
// Packet: 0x0aa2
#if PACKETVER >= 20161005
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
#endif
// Packet: 0x0aa3
#if PACKETVER >= 20161005
-packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 7)
#endif
// Packet: 0x0aa4
#if PACKETVER >= 20161005
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
#endif
// Packet: 0x0aa5
#if PACKETVER >= 20161026
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
#endif
// Packet: 0x0aa6
#if PACKETVER >= 20161026
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
#endif
// Packet: 0x0aa7
#if PACKETVER >= 20161130
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
#endif
// Packet: 0x0aa8
diff --git a/src/common/packets/packets2017_len_main.h b/src/common/packets/packets2017_len_main.h
index ceca3d781..fce8e08c5 100644
--- a/src/common/packets/packets2017_len_main.h
+++ b/src/common/packets/packets2017_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4399 +25,4399 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20170906
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
#elif PACKETVER >= 20170104
-packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 149)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20171220
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20171115
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170913
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20170719
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170705
-packetLen(0x0202, 36) // CZ_ADD_FRIENDS
+packetLen(0x0202, 36)
#elif PACKETVER >= 20170628
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20170329
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170315
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170228
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20171108
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20171101
-packetLen(0x022d, 36) // CZ_COMMAND_MER
+packetLen(0x022d, 36)
#elif PACKETVER >= 20171025
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20171011
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20171002
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20170823
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170816
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20170809
-packetLen(0x022d, 4) // CZ_COMMAND_MER
+packetLen(0x022d, 4)
#elif PACKETVER >= 20170801
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20170726
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170719
-packetLen(0x022d, 7) // CZ_COMMAND_MER
+packetLen(0x022d, 7)
#elif PACKETVER >= 20170712
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20170705
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170628
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20170329
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170322
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20170315
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170308
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20170228
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20170125
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170118
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20170104
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20171101
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20171025
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20171018
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20171011
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20170719
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170712
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20170705
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170628
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20170621
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170614
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20170419
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170412
-packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 10)
#elif PACKETVER >= 20170329
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170322
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20170315
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170308
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20170104
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20171227
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0281, 19) // CZ_GANGSI_RANK
+packetLen(0x0281, 19)
#elif PACKETVER >= 20171213
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20171129
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170920
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20170906
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20170830
-packetLen(0x0281, 5) // CZ_GANGSI_RANK
+packetLen(0x0281, 5)
#elif PACKETVER >= 20170823
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170816
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0281, 8) // CZ_GANGSI_RANK
+packetLen(0x0281, 8)
#elif PACKETVER >= 20170801
-packetLen(0x0281, 5) // CZ_GANGSI_RANK
+packetLen(0x0281, 5)
#elif PACKETVER >= 20170719
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170705
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170517
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170426
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20170412
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0281, 18) // CZ_GANGSI_RANK
+packetLen(0x0281, 18)
#elif PACKETVER >= 20170329
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20170322
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170315
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170111
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20171206
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20171129
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20171122
-packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, -1)
#elif PACKETVER >= 20171002
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170927
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20170913
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170906
-packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 90)
#elif PACKETVER >= 20170830
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20170712
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170705
-packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 18)
#elif PACKETVER >= 20170322
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170315
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20170222
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170215
-packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 36)
#elif PACKETVER >= 20170208
-packetLen(0x02c4, 4) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 4)
#elif PACKETVER >= 20170104
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20171227
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171220
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20171213
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171206
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20171129
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171122
-packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 4)
#elif PACKETVER >= 20171115
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171101
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170927
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170920
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170913
-packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 26)
#elif PACKETVER >= 20170906
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170830
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170823
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170809
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170801
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170719
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170621
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170517
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170426
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170412
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170322
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170315
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20170308
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170228
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170222
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170215
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20170201
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170125
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170104
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20171227
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20171220
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20171122
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+packetLen(0x0360, 19)
#elif PACKETVER >= 20171101
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170913
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170830
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170809
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170719
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170517
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170315
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20170308
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+packetLen(0x0360, 7)
#elif PACKETVER >= 20170201
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170125
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20171227
-packetLen(0x0361, 7) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 7)
#elif PACKETVER >= 20171206
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 12)
#elif PACKETVER >= 20171101
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20171002
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0361, 4) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 4)
#elif PACKETVER >= 20170830
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20170816
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20170809
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170705
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20170614
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170607
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20170531
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170329
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170315
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20171220
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20171002
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170816
-packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 90)
#elif PACKETVER >= 20170809
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20170719
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170705
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170517
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 7)
#elif PACKETVER >= 20170329
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20170322
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170315
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20170111
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20171220
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20171206
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20171101
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20171011
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20171002
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20170906
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0363, 18) // CZ_ITEM_THROW2
+packetLen(0x0363, 18)
#elif PACKETVER >= 20170823
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170809
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170726
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170705
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170517
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170412
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0363, 4) // CZ_ITEM_THROW2
+packetLen(0x0363, 4)
#elif PACKETVER >= 20170322
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170315
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170111
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20171220
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20171101
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170816
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0364, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 26)
#elif PACKETVER >= 20170726
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170719
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170705
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170621
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20170607
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20170531
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0364, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 26)
#elif PACKETVER >= 20170502
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170329
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170315
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170125
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20170111
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20171220
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20171206
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20171122
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20171018
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170830
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170809
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170719
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170705
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170621
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20170517
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170419
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20170329
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170315
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170111
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20171227
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20171220
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20171129
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20171122
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20171101
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170927
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20170913
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20170830
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170816
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20170801
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170726
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20170719
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170621
-packetLen(0x0366, 18) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 18)
#elif PACKETVER >= 20170517
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170412
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170315
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20170308
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170228
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170215
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170125
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20170621
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20170524
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20170322
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20170215
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20171227
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20171220
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20171122
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20171108
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0368, 19) // CZ_REQNAME2
+packetLen(0x0368, 19)
#elif PACKETVER >= 20171002
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170913
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170830
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170809
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170726
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0368, 4) // CZ_REQNAME2
+packetLen(0x0368, 4)
#elif PACKETVER >= 20170621
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170531
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0368, 36) // CZ_REQNAME2
+packetLen(0x0368, 36)
#elif PACKETVER >= 20170517
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170315
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170215
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170125
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20171227
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20171220
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20171129
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20171122
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20171108
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20171002
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170927
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20170913
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170830
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170809
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170726
-packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 10)
#elif PACKETVER >= 20170719
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170607
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170412
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20170322
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170315
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170228
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170215
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170125
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20171122
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20171018
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20171011
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170927
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170719
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170705
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170517
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170329
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170315
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20170308
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170125
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20170111
-packetLen(0x0436, 8) // CZ_ENTER2
+packetLen(0x0436, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#endif
// Packet: 0x0437
#if PACKETVER >= 20171227
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171220
-packetLen(0x0437, 18) // CZ_REQUEST_ACT2
+packetLen(0x0437, 18)
#elif PACKETVER >= 20171129
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171122
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171101
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171011
-packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+packetLen(0x0437, 36)
#elif PACKETVER >= 20171002
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170920
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20170906
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170830
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170809
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170719
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170614
-packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+packetLen(0x0437, 36)
#elif PACKETVER >= 20170524
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20170426
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170412
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170315
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170228
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170215
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20171227
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171220
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171122
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171108
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20171011
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171002
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20170913
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170830
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170816
-packetLen(0x0438, 7) // CZ_USE_SKILL2
+packetLen(0x0438, 7)
#elif PACKETVER >= 20170809
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170726
-packetLen(0x0438, 26) // CZ_USE_SKILL2
+packetLen(0x0438, 26)
#elif PACKETVER >= 20170719
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170412
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170315
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170228
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170215
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170125
-packetLen(0x0438, 7) // CZ_USE_SKILL2
+packetLen(0x0438, 7)
#elif PACKETVER >= 20170118
-packetLen(0x0438, 19) // CZ_USE_SKILL2
+packetLen(0x0438, 19)
#elif PACKETVER >= 20170111
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0438, 19) // CZ_USE_SKILL2
+packetLen(0x0438, 19)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20171220
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171213
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20171115
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171108
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20171101
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171025
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20171018
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171011
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170920
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170913
-packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 8)
#elif PACKETVER >= 20170830
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170823
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170809
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170801
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170726
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170712
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170705
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170628
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170621
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20170614
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170607
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170531
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#elif PACKETVER >= 20170517
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170502
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170329
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170322
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170315
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170308
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170111
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170104
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20171220
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171213
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20171101
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171025
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20171018
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171011
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170927
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170920
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170830
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170823
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170809
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170801
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170719
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170712
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170705
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170628
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170607
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170531
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20170517
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170502
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170329
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170322
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170315
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20170308
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170111
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170104
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20171227
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20171220
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20171122
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20171101
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170913
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 5)
#elif PACKETVER >= 20170830
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 5)
#elif PACKETVER >= 20170816
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20170801
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170719
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170705
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170621
-packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 90)
#elif PACKETVER >= 20170531
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20170517
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20170426
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170329
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170315
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170111
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20171227
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20171220
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20171122
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20171101
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170913
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170809
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170517
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170419
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20170412
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170315
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170228
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170215
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#elif PACKETVER >= 20170208
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170201
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#elif PACKETVER >= 20170104
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20171227
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20171220
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20171122
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20171108
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20171101
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170913
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170809
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170524
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0815, 10) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 10)
#elif PACKETVER >= 20170426
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170412
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170315
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170228
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170215
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170125
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20170920
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 7)
#elif PACKETVER >= 20170524
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20171227
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20171220
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20171122
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20171108
-packetLen(0x0819, 90) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 90)
#elif PACKETVER >= 20171101
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170913
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170809
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170607
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20170517
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170419
-packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 12)
#elif PACKETVER >= 20170412
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170329
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170315
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170228
-packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 12)
#elif PACKETVER >= 20170215
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170125
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20171108
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 19)
#elif PACKETVER >= 20170816
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20171227
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20171220
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20171129
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20171122
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20171115
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20171108
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20171101
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170913
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170830
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170809
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170719
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170621
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170419
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170315
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170228
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170215
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170125
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20171227
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20171220
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20171129
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20171122
-packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 5)
#elif PACKETVER >= 20171115
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20171101
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20171002
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170913
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170906
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170830
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170823
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170809
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170801
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170719
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170621
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170614
-packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 7)
#elif PACKETVER >= 20170517
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170426
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170412
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170322
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170315
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170308
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170228
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170222
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170215
-packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 7)
#elif PACKETVER >= 20170201
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170125
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170104
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20170927
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170920
-packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 5)
#elif PACKETVER >= 20170823
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170816
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20170726
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170719
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20170614
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170607
-packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 5)
#elif PACKETVER >= 20170426
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170419
-packetLen(0x085a, 7) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 7)
#elif PACKETVER >= 20170111
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170104
-packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 26)
#endif
// Packet: 0x085b
#if PACKETVER >= 20171129
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20171122
-packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 6)
#elif PACKETVER >= 20171108
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20171101
-packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 5)
#elif PACKETVER >= 20170607
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20170531
-packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 8)
#elif PACKETVER >= 20170104
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20171002
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20170927
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20170322
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20170315
-packetLen(0x085c, 4) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 4)
#elif PACKETVER >= 20170222
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20170215
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20170208
-packetLen(0x085c, 26) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 26)
#elif PACKETVER >= 20170104
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20171115
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20171108
-packetLen(0x085d, 12) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 12)
#elif PACKETVER >= 20170628
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20170621
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20170405
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20170329
-packetLen(0x085d, 36) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 36)
#elif PACKETVER >= 20170208
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20170201
-packetLen(0x085d, 18) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 18)
#elif PACKETVER >= 20170118
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20170111
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20170104
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20171227
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, -1)
#elif PACKETVER >= 20170726
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170719
-packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, -1)
#elif PACKETVER >= 20170614
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170607
-packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, -1)
#elif PACKETVER >= 20170531
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170524
-packetLen(0x085e, 7) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 7)
#elif PACKETVER >= 20170426
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170419
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20170308
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170228
-packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 90)
#elif PACKETVER >= 20170208
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170201
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20170104
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20170607
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20170524
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20170412
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20170405
-packetLen(0x085f, 8) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 8)
#elif PACKETVER >= 20170228
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20170222
-packetLen(0x085f, 26) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 26)
#elif PACKETVER >= 20170104
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20171220
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 19)
#elif PACKETVER >= 20171108
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20170621
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20170531
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, -1)
#elif PACKETVER >= 20170215
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20171227
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20170927
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 26)
#elif PACKETVER >= 20170607
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20171206
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20171122
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20170927
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 10)
#elif PACKETVER >= 20170823
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 10)
#elif PACKETVER >= 20170614
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20170426
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0862, 26) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 26)
#elif PACKETVER >= 20170125
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20171115
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20170726
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20170705
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0863, 36) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 36)
#elif PACKETVER >= 20170614
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20170419
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20170322
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20170308
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20170927
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 36)
#elif PACKETVER >= 20170614
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20170531
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20170927
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20170913
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20170906
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 4)
#elif PACKETVER >= 20170412
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20170920
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20170621
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0866, 6) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 6)
#elif PACKETVER >= 20170531
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20170502
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20170228
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0866, 6) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20171213
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20171129
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0867, 19) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 19)
#elif PACKETVER >= 20170621
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20170816
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0868, 7) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 7)
#elif PACKETVER >= 20170607
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0868, 4) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 4)
#elif PACKETVER >= 20170524
-packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 8)
#elif PACKETVER >= 20170517
-packetLen(0x0868, 90) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 90)
#elif PACKETVER >= 20170426
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20170419
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0869, 18) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20171213
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20171206
-packetLen(0x086a, 4) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 4)
#elif PACKETVER >= 20171025
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20171018
-packetLen(0x086a, 4) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 4)
#elif PACKETVER >= 20170927
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20170920
-packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 26)
#elif PACKETVER >= 20170906
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20170830
-packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 26)
#elif PACKETVER >= 20170426
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20170419
-packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 18)
#elif PACKETVER >= 20170322
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20170315
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20170104
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20170308
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20170228
-packetLen(0x086b, 19) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 19)
#elif PACKETVER >= 20170104
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20171108
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20171101
-packetLen(0x086c, 10) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 10)
#elif PACKETVER >= 20170927
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20170920
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20170913
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20170906
-packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 8)
#elif PACKETVER >= 20170830
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20170823
-packetLen(0x086c, 19) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 19)
#elif PACKETVER >= 20170621
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20170614
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20170104
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20171206
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20171129
-packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 18)
#elif PACKETVER >= 20171122
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20171115
-packetLen(0x086d, 4) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 4)
#elif PACKETVER >= 20170830
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20170823
-packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 36)
#elif PACKETVER >= 20170531
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20170524
-packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 5)
#elif PACKETVER >= 20170419
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20170412
-packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 8)
#elif PACKETVER >= 20170104
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20171213
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20171206
-packetLen(0x086e, 18) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 18)
#elif PACKETVER >= 20170816
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20170809
-packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 5)
#elif PACKETVER >= 20170726
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20170719
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20170201
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20170125
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20170104
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20171122
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20171115
-packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, -1)
#elif PACKETVER >= 20170816
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20170809
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20170502
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20170426
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20170412
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20170405
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20170125
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20170118
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20170104
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20170228
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20170614
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 19)
#elif PACKETVER >= 20170228
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0871, 4) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4443,4019 +4443,4019 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20171227
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 6)
#elif PACKETVER >= 20171002
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 6)
#elif PACKETVER >= 20170801
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 6)
#elif PACKETVER >= 20170614
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 8)
#elif PACKETVER >= 20170531
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 19)
#elif PACKETVER >= 20170308
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, -1)
#elif PACKETVER >= 20170125
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20170801
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20170308
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20171002
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0875, 12) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 12)
#elif PACKETVER >= 20170920
-packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 4)
#elif PACKETVER >= 20170906
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 4)
#elif PACKETVER >= 20170614
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0875, 12) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 12)
#elif PACKETVER >= 20170531
-packetLen(0x0875, 10) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 36)
#elif PACKETVER >= 20170208
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20171206
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 4)
#elif PACKETVER >= 20171108
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20170816
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 10)
#elif PACKETVER >= 20170222
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0876, 26) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 26)
#elif PACKETVER >= 20170201
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20171129
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20170621
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0877, 18) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 18)
#elif PACKETVER >= 20170228
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 8)
#elif PACKETVER >= 20170201
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20170118
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20170111
-packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20171206
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0878, 36) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 36)
#elif PACKETVER >= 20171115
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20170801
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 7)
#elif PACKETVER >= 20170607
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20170419
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20170712
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20170621
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20170419
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0879, 4) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 4)
#elif PACKETVER >= 20170208
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0879, 4) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 4)
#elif PACKETVER >= 20170125
-packetLen(0x0879, 10) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20171025
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20171018
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20170502
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20170426
-packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 18)
#elif PACKETVER >= 20170405
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20170329
-packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 18)
#elif PACKETVER >= 20170215
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20170208
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20170104
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20171018
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20171011
-packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 26)
#elif PACKETVER >= 20170913
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170906
-packetLen(0x087b, 8) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 8)
#elif PACKETVER >= 20170607
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170531
-packetLen(0x087b, 7) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 7)
#elif PACKETVER >= 20170524
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170517
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20170419
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170412
-packetLen(0x087b, 10) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 10)
#elif PACKETVER >= 20170322
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170315
-packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 26)
#elif PACKETVER >= 20170201
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170125
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20170104
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20170222
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20170215
-packetLen(0x087c, -1) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, -1)
#elif PACKETVER >= 20170104
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20171227
-packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 36)
#elif PACKETVER >= 20171002
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170927
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20170816
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170809
-packetLen(0x087d, 12) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 12)
#elif PACKETVER >= 20170801
-packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 36)
#elif PACKETVER >= 20170726
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170719
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20170628
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170614
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20170531
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170517
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20170315
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170308
-packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 36)
#elif PACKETVER >= 20170222
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170215
-packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 5)
#elif PACKETVER >= 20170201
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170125
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20170104
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20171122
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20171115
-packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 8)
#elif PACKETVER >= 20171108
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20171025
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20171018
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20171002
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20170927
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20170823
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20170816
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20170621
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20170614
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20170222
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20170215
-packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 10)
#elif PACKETVER >= 20170104
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20170118
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20170111
-packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 4)
#elif PACKETVER >= 20170104
-packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 36)
#endif
// Packet: 0x0880
#if PACKETVER >= 20171227
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0880, 12) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 12)
#elif PACKETVER >= 20170816
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20171220
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 4)
#elif PACKETVER >= 20170823
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, -1)
#elif PACKETVER >= 20170801
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 4)
#elif PACKETVER >= 20170719
-packetLen(0x0881, 90) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 90)
#elif PACKETVER >= 20170426
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0881, 36) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 36)
#elif PACKETVER >= 20170208
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 8)
#elif PACKETVER >= 20170125
-packetLen(0x0881, 5) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20171227
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0882, 6) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0882, 5) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 5)
#elif PACKETVER >= 20170823
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0882, 36) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 36)
#elif PACKETVER >= 20170726
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0882, 12) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 12)
#elif PACKETVER >= 20170531
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20171122
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 8)
#elif PACKETVER >= 20170222
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20171115
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20170906
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 19)
#elif PACKETVER >= 20170823
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20170322
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 7)
#elif PACKETVER >= 20170308
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20170222
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20170208
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20171227
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20171213
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20171129
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20171011
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 90)
#elif PACKETVER >= 20170726
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20170628
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20170614
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20170531
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20170208
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 90)
#elif PACKETVER >= 20170104
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20171108
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20170712
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 26)
#elif PACKETVER >= 20170208
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 36)
#elif PACKETVER >= 20170104
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20170502
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20171227
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 10)
#elif PACKETVER >= 20170823
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20170405
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20171025
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20170927
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20170823
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20170628
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20170614
-packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 90)
#elif PACKETVER >= 20170308
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 5)
#elif PACKETVER >= 20170222
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20171227
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20171206
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20171129
-packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, -1)
#elif PACKETVER >= 20170614
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20170607
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20170222
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20170215
-packetLen(0x088a, 90) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 90)
#elif PACKETVER >= 20170118
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20170111
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20170104
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20171122
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20171115
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20170607
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170531
-packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, -1)
#elif PACKETVER >= 20170419
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170412
-packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, -1)
#elif PACKETVER >= 20170322
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170315
-packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 18)
#elif PACKETVER >= 20170222
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170215
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20170208
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170201
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20170104
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20171227
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20171220
-packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 10)
#elif PACKETVER >= 20170920
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20170913
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20170816
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20170809
-packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 10)
#elif PACKETVER >= 20170524
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20170517
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20170222
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20170215
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20170208
-packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 19)
#elif PACKETVER >= 20170104
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20171227
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20170712
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20170705
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20170607
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20170531
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20170524
-packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 10)
#elif PACKETVER >= 20170517
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20170426
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20170419
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20170322
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20170315
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20170104
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20171108
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20171101
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20170927
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20170920
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20170801
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20170726
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20170712
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20170705
-packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 26)
#elif PACKETVER >= 20170104
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20170426
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20170419
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20170322
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20170315
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20170104
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20171220
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 36)
#elif PACKETVER >= 20171129
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0890, 18) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 18)
#elif PACKETVER >= 20170920
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20170816
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 36)
#elif PACKETVER >= 20170419
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20170222
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20171129
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20170726
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20170920
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 36)
#elif PACKETVER >= 20170816
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0892, 90) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 90)
#elif PACKETVER >= 20170322
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20170215
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0892, 26) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20171129
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0893, 12) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 12)
#elif PACKETVER >= 20170419
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, -1)
#elif PACKETVER >= 20170405
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20170308
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 36)
#elif PACKETVER >= 20170104
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20170607
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0894, 19) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 19)
#elif PACKETVER >= 20170524
-packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 8)
#elif PACKETVER >= 20170517
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20170502
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20170228
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20171108
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 4)
#elif PACKETVER >= 20170816
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 5)
#elif PACKETVER >= 20170201
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20171115
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 4)
#elif PACKETVER >= 20170524
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0896, 12) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 12)
#elif PACKETVER >= 20170222
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 4)
#elif PACKETVER >= 20170111
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 5)
#endif
// Packet: 0x0897
#if PACKETVER >= 20171213
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0897, 19) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 19)
#elif PACKETVER >= 20171129
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20171115
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20171011
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20170906
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20170614
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20170426
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20171129
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20170726
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 10)
#elif PACKETVER >= 20170426
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20171227
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0899, 36) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 36)
#elif PACKETVER >= 20171108
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20171011
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20170927
-packetLen(0x0899, 7) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 7)
#elif PACKETVER >= 20170906
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20170816
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20170621
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20170524
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20170502
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20171129
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20171122
-packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 8)
#elif PACKETVER >= 20171025
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20171018
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20171002
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170927
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20170906
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170830
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20170726
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170719
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20170712
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170705
-packetLen(0x089a, 19) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 19)
#elif PACKETVER >= 20170607
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170531
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20170419
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170412
-packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 5)
#elif PACKETVER >= 20170104
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20171108
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20171101
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20171002
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20170927
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20170920
-packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 7)
#elif PACKETVER >= 20170222
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20170215
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20170201
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20170125
-packetLen(0x089b, 90) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 90)
#elif PACKETVER >= 20170104
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20171206
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20171129
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20171108
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20171101
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20170607
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20170524
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20170517
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20170502
-packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 19)
#elif PACKETVER >= 20170426
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20170419
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20170412
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20170104
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20171213
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20171206
-packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 36)
#elif PACKETVER >= 20171011
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20171002
-packetLen(0x089d, 19) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 19)
#elif PACKETVER >= 20170726
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20170719
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20170712
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20170705
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20170621
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20170614
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20170607
-packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 8)
#elif PACKETVER >= 20170426
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20170419
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20170104
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20171227
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20171129
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20171122
-packetLen(0x089e, 7) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 7)
#elif PACKETVER >= 20170906
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20170830
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20170524
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20170517
-packetLen(0x089e, 4) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 4)
#elif PACKETVER >= 20170308
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20170228
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20170125
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20170118
-packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 26)
#elif PACKETVER >= 20170104
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20171025
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20171018
-packetLen(0x089f, 26) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 26)
#elif PACKETVER >= 20170104
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20171227
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20171108
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20171101
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20170308
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20170228
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20170104
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20170531
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20170524
-packetLen(0x08a1, 12) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 12)
#elif PACKETVER >= 20170419
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20170412
-packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 7)
#elif PACKETVER >= 20170215
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20170208
-packetLen(0x08a1, 18) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 18)
#elif PACKETVER >= 20170118
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20170111
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20170104
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20171213
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20171206
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20171115
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20171108
-packetLen(0x08a2, 10) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 10)
#elif PACKETVER >= 20171101
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20171025
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20170913
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170906
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20170830
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20170621
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170614
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20170524
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170517
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20170502
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170426
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20170308
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170228
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20170222
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170215
-packetLen(0x08a2, 12) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 12)
#elif PACKETVER >= 20170104
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20170913
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170906
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20170823
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170816
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20170809
-packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, -1)
#elif PACKETVER >= 20170801
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 8)
#elif PACKETVER >= 20170228
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170222
-packetLen(0x08a3, 5) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 5)
#elif PACKETVER >= 20170118
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170111
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20170104
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20171213
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20171206
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20171122
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20171115
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20170502
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20170426
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20170208
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20170201
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20170104
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20171227
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20171206
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20171129
-packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 8)
#elif PACKETVER >= 20171002
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20170927
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20170412
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20170405
-packetLen(0x08a5, 19) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 19)
#elif PACKETVER >= 20170201
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20170125
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20170104
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20171129
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20171122
-packetLen(0x08a6, 10) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 10)
#elif PACKETVER >= 20171025
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20171018
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20171002
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170927
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20170920
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20170816
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170809
-packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 19)
#elif PACKETVER >= 20170801
-packetLen(0x08a6, 4) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 4)
#elif PACKETVER >= 20170726
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170719
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20170308
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170228
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20170118
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170111
-packetLen(0x08a6, 18) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 18)
#elif PACKETVER >= 20170104
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20170920
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08a7, 4) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 4)
#elif PACKETVER >= 20170906
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20170823
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20170816
-packetLen(0x08a7, 4) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 4)
#elif PACKETVER >= 20170801
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 36)
#elif PACKETVER >= 20170308
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20170228
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20170104
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20170906
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170830
-packetLen(0x08a8, 8) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 8)
#elif PACKETVER >= 20170726
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170719
-packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 19)
#elif PACKETVER >= 20170628
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170621
-packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 5)
#elif PACKETVER >= 20170524
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170517
-packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 5)
#elif PACKETVER >= 20170405
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170329
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20170228
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170222
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20170215
-packetLen(0x08a8, 18) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 18)
#elif PACKETVER >= 20170104
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20171129
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20171122
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20171115
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20171108
-packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 5)
#elif PACKETVER >= 20170823
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20170816
-packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 5)
#elif PACKETVER >= 20170614
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20170607
-packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 10)
#elif PACKETVER >= 20170104
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20170920
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08aa, 10) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 10)
#elif PACKETVER >= 20170801
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20170524
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170517
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20170426
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170419
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20170322
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170315
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20170104
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20171108
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20171101
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20170920
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08ab, 18) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 18)
#elif PACKETVER >= 20170801
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20170614
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20170607
-packetLen(0x08ab, 90) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 90)
#elif PACKETVER >= 20170104
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20170920
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20170830
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170823
-packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 26)
#elif PACKETVER >= 20170816
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20170801
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20170607
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170531
-packetLen(0x08ac, 90) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 90)
#elif PACKETVER >= 20170215
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170208
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20170104
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20171115
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20171108
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20171101
-packetLen(0x08ad, 12) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 12)
#elif PACKETVER >= 20171002
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170927
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20170920
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20170621
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170614
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20170607
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170531
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20170125
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170118
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20170104
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
#if PACKETVER >= 20170906
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
#elif PACKETVER >= 20170104
-packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 149)
#endif
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20170405
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20170816
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20170614
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20170927
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0919, 10) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 10)
#elif PACKETVER >= 20170614
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0919, -1) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, -1)
#elif PACKETVER >= 20170208
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0919, 26) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20171220
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20171213
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20170913
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170906
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20170712
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170705
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20170419
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170412
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20170329
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170322
-packetLen(0x091a, 36) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 36)
#elif PACKETVER >= 20170315
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20170118
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170111
-packetLen(0x091a, 36) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 36)
#elif PACKETVER >= 20170104
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20171227
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20171220
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20171108
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20171101
-packetLen(0x091b, 8) // ZC_PRNPC_STATE
+packetLen(0x091b, 8)
#elif PACKETVER >= 20170920
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170913
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20170726
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170719
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20170621
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170614
-packetLen(0x091b, 10) // ZC_PRNPC_STATE
+packetLen(0x091b, 10)
#elif PACKETVER >= 20170524
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170517
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20170426
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170419
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20170322
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170315
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20170201
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170125
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20170118
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170111
-packetLen(0x091b, 19) // ZC_PRNPC_STATE
+packetLen(0x091b, 19)
#elif PACKETVER >= 20170104
-packetLen(0x091b, 5) // ZC_PRNPC_STATE
+packetLen(0x091b, 5)
#endif
// Packet: 0x091c
#if PACKETVER >= 20170823
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20170816
-packetLen(0x091c, 12) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 12)
#elif PACKETVER >= 20170201
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20170125
-packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 8)
#elif PACKETVER >= 20170104
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20171213
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20171206
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20170920
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20170913
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20170801
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20170726
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20170322
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20170315
-packetLen(0x091d, 12) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 12)
#elif PACKETVER >= 20170104
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20171227
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20171129
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20171122
-packetLen(0x091e, 90) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 90)
#elif PACKETVER >= 20171002
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20170927
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20170913
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20170906
-packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 5)
#elif PACKETVER >= 20170830
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20170801
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20170726
-packetLen(0x091e, 12) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 12)
#elif PACKETVER >= 20170531
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20170524
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20170419
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20170412
-packetLen(0x091e, 19) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 19)
#elif PACKETVER >= 20170104
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20171115
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20171108
-packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 5)
#elif PACKETVER >= 20170801
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20170726
-packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 5)
#elif PACKETVER >= 20170719
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20170502
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20170426
-packetLen(0x091f, 4) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 4)
#elif PACKETVER >= 20170308
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20170228
-packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 10)
#elif PACKETVER >= 20170125
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20170118
-packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 18)
#elif PACKETVER >= 20170104
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20170426
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0920, 10) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 10)
#elif PACKETVER >= 20170322
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20170208
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20170927
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20170906
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0921, 5) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 5)
#elif PACKETVER >= 20170823
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20170809
-packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 8)
#elif PACKETVER >= 20170801
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20170215
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20171002
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0922, 26) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 26)
#elif PACKETVER >= 20170426
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0922, 19) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 19)
#elif PACKETVER >= 20170322
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20171213
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0923, 8) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 8)
#elif PACKETVER >= 20171129
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0923, 18) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 18)
#elif PACKETVER >= 20171002
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20170913
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20170801
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0923, -1) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, -1)
#elif PACKETVER >= 20170531
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0923, -1) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, -1)
#elif PACKETVER >= 20170517
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20170215
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20171227
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0924, 8) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20170920
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0925, 12) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 12)
#elif PACKETVER >= 20170906
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20170823
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 8)
#elif PACKETVER >= 20170614
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0925, 26) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 26)
#elif PACKETVER >= 20170531
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0925, 90) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 90)
#elif PACKETVER >= 20170222
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20171122
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20170927
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#elif PACKETVER >= 20170405
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20171002
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 5)
#elif PACKETVER >= 20170920
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0927, -1) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, -1)
#elif PACKETVER >= 20170614
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0927, 10) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 10)
#elif PACKETVER >= 20170502
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20171011
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20171227
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 6)
#elif PACKETVER >= 20170419
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 6)
#elif PACKETVER >= 20170405
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 12)
#elif PACKETVER >= 20170104
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20170816
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20170809
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20170308
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20170228
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20170104
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20170816
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20170809
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20170222
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20170215
-packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, -1)
#elif PACKETVER >= 20170201
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20170125
-packetLen(0x092b, 10) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 10)
#elif PACKETVER >= 20170104
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20171227
-packetLen(0x092c, 19) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 19)
#elif PACKETVER >= 20170823
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20170816
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20170726
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20170719
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20170104
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20171011
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20171002
-packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 18)
#elif PACKETVER >= 20170607
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20170531
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20170215
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20170208
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20170104
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20171227
-packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 4)
#elif PACKETVER >= 20171213
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20171206
-packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 8)
#elif PACKETVER >= 20170927
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170920
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20170906
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170830
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20170419
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170412
-packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 8)
#elif PACKETVER >= 20170405
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170329
-packetLen(0x092e, 19) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 19)
#elif PACKETVER >= 20170308
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170228
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20170104
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20170726
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20170719
-packetLen(0x092f, 18) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 18)
#elif PACKETVER >= 20170712
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20170705
-packetLen(0x092f, 4) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 4)
#elif PACKETVER >= 20170621
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20170614
-packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, -1)
#elif PACKETVER >= 20170104
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20170712
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, -1)
#elif PACKETVER >= 20170426
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 8)
#elif PACKETVER >= 20170201
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20170816
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20170614
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0931, 4) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20170712
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 6)
#elif PACKETVER >= 20170215
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20171227
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 5)
#elif PACKETVER >= 20170607
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0933, 8) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 8)
#elif PACKETVER >= 20170125
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20171129
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 36)
#elif PACKETVER >= 20171011
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 36)
#elif PACKETVER >= 20170712
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 8)
#elif PACKETVER >= 20170614
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20170531
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20170426
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0935, 90) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 90)
#elif PACKETVER >= 20170104
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20171213
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20170927
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 12)
#elif PACKETVER >= 20170607
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 12)
#elif PACKETVER >= 20170405
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20170308
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 6)
#elif PACKETVER >= 20170222
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20170215
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0937, 36) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 36)
#elif PACKETVER >= 20170104
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20171227
-packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 26)
#elif PACKETVER >= 20171025
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, -1)
#elif PACKETVER >= 20170614
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0938, 7) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 7)
#elif PACKETVER >= 20170419
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0938, 90) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 90)
#elif PACKETVER >= 20170208
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0938, 5) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20171108
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0939, 5) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 5)
#elif PACKETVER >= 20170927
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0939, 5) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 5)
#elif PACKETVER >= 20170906
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 26)
#elif PACKETVER >= 20170816
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20170405
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 26)
#elif PACKETVER >= 20170228
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0939, 19) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 19)
#elif PACKETVER >= 20170104
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20170823
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20170816
-packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 26)
#elif PACKETVER >= 20170426
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20170419
-packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 26)
#elif PACKETVER >= 20170104
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20171129
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20171122
-packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 10)
#elif PACKETVER >= 20171011
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20171002
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20170927
-packetLen(0x093b, 90) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 90)
#elif PACKETVER >= 20170816
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20170809
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20170524
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20170517
-packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 6)
#elif PACKETVER >= 20170104
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20170517
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20170502
-packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 26)
#elif PACKETVER >= 20170201
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20170125
-packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, -1)
#elif PACKETVER >= 20170104
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20171011
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20171002
-packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 6)
#elif PACKETVER >= 20170823
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20170816
-packetLen(0x093d, 19) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 19)
#elif PACKETVER >= 20170726
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20170719
-packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 5)
#elif PACKETVER >= 20170104
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20171227
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 7)
#elif PACKETVER >= 20171011
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20171002
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20170906
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20170830
-packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 7)
#elif PACKETVER >= 20170726
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20170719
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20170308
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20170228
-packetLen(0x093e, 4) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 4)
#elif PACKETVER >= 20170104
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20170426
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20170419
-packetLen(0x093f, 10) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 10)
#elif PACKETVER >= 20170104
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20171206
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20170906
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20170823
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20170809
-packetLen(0x0940, 18) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 18)
#elif PACKETVER >= 20170607
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0940, 18) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 18)
#elif PACKETVER >= 20170502
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20170208
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20170118
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170111
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#endif
// Packet: 0x0941
#if PACKETVER >= 20171227
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20170823
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20171213
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20171002
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0942, 18) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 18)
#elif PACKETVER >= 20170906
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0942, 12) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 12)
#elif PACKETVER >= 20170614
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20170419
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0942, 26) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 26)
#elif PACKETVER >= 20170222
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20171011
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0943, 26) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 26)
#elif PACKETVER >= 20170906
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0943, -1) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, -1)
#elif PACKETVER >= 20170801
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0943, 36) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 36)
#elif PACKETVER >= 20170201
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20171025
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0944, 36) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 36)
#elif PACKETVER >= 20170726
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20170712
-packetLen(0x0944, 36) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 36)
#elif PACKETVER >= 20170621
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0944, 19) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 19)
#elif PACKETVER >= 20170607
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20170322
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20170308
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 8)
#elif PACKETVER >= 20170201
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0944, 18) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20171227
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20171115
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20171002
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0945, 18) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 18)
#elif PACKETVER >= 20170607
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20170524
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20170419
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0945, 8) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20171227
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20171220
-packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 4)
#elif PACKETVER >= 20171129
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20170726
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20170531
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20171129
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 5)
#elif PACKETVER >= 20171115
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0947, -1) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, -1)
#elif PACKETVER >= 20170524
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20170308
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20170308
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20171115
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0949, 19) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 19)
#elif PACKETVER >= 20170614
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, -1)
#elif PACKETVER >= 20170405
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0949, 8) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20171025
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20171018
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20170322
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20170315
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20170104
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20171206
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20171129
-packetLen(0x094b, 8) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 8)
#elif PACKETVER >= 20171002
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20170927
-packetLen(0x094b, 26) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 26)
#elif PACKETVER >= 20170104
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20170927
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170920
-packetLen(0x094c, -1) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, -1)
#elif PACKETVER >= 20170712
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170705
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20170412
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170405
-packetLen(0x094c, 36) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 36)
#elif PACKETVER >= 20170208
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170201
-packetLen(0x094c, 19) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 19)
#elif PACKETVER >= 20170118
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170111
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20170104
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20171108
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20171101
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20171002
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20170927
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20170104
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20171227
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20171115
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20171108
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20170322
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20170315
-packetLen(0x094e, 19) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 19)
#elif PACKETVER >= 20170222
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20170215
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20170104
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20171025
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20171018
-packetLen(0x094f, 18) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 18)
#elif PACKETVER >= 20170809
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20170801
-packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 26)
#elif PACKETVER >= 20170726
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20170419
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20170412
-packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 26)
#elif PACKETVER >= 20170405
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20170104
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20171018
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0950, 19) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 19)
#elif PACKETVER >= 20170823
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 5)
#elif PACKETVER >= 20170801
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0950, 10) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20171227
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20171108
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20170801
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 5)
#elif PACKETVER >= 20170322
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0952, 36) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 36)
#elif PACKETVER >= 20170308
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0952, 10) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20171206
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20170913
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0953, 19) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 19)
#elif PACKETVER >= 20170104
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20171018
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 5)
#elif PACKETVER >= 20170801
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0954, 18) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20170308
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20170628
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20171227
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 26)
#elif PACKETVER >= 20171213
-packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 5)
#elif PACKETVER >= 20171108
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0957, 7) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 7)
#elif PACKETVER >= 20170628
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 36)
#elif PACKETVER >= 20170614
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20171213
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20171122
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20171108
-packetLen(0x0958, 18) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 18)
#elif PACKETVER >= 20170531
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0958, 4) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 4)
#elif PACKETVER >= 20170517
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20170502
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 26)
#elif PACKETVER >= 20170125
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 36)
#elif PACKETVER >= 20170104
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20171002
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0959, 10) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 10)
#elif PACKETVER >= 20170823
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 8)
#elif PACKETVER >= 20170419
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20171122
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20171115
-packetLen(0x095a, 26) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 26)
#elif PACKETVER >= 20171108
-packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 8)
#elif PACKETVER >= 20171101
-packetLen(0x095a, -1) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, -1)
#elif PACKETVER >= 20171002
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20170927
-packetLen(0x095a, 10) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 10)
#elif PACKETVER >= 20170920
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20170913
-packetLen(0x095a, 10) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 10)
#elif PACKETVER >= 20170809
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20170801
-packetLen(0x095a, 19) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 19)
#elif PACKETVER >= 20170726
-packetLen(0x095a, 90) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 90)
#elif PACKETVER >= 20170531
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20170524
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20170104
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20170830
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20170823
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20170628
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20170621
-packetLen(0x095b, 4) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 4)
#elif PACKETVER >= 20170531
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20170524
-packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 18)
#elif PACKETVER >= 20170419
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20170412
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20170104
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20170920
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20170913
-packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 6)
#elif PACKETVER >= 20170628
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20170621
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20170426
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20170419
-packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 6)
#elif PACKETVER >= 20170412
-packetLen(0x095c, 12) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 12)
#elif PACKETVER >= 20170201
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20170125
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20170104
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20170927
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20170920
-packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 5)
#elif PACKETVER >= 20170426
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20170419
-packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, -1)
#elif PACKETVER >= 20170412
-packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 36)
#elif PACKETVER >= 20170228
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20170222
-packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 8)
#elif PACKETVER >= 20170104
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
// Packet: 0x095f
#if PACKETVER >= 20171011
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20171002
-packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 4)
#elif PACKETVER >= 20170405
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20170329
-packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 4)
#elif PACKETVER >= 20170222
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20170215
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20170104
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20171227
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 90)
#elif PACKETVER >= 20170823
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, -1)
#elif PACKETVER >= 20170524
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20171213
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20170927
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20170628
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0961, 19) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 19)
#elif PACKETVER >= 20170118
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20170111
-packetLen(0x0961, -1) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20171129
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20171108
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20170215
-packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20171115
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0963, 7) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 7)
#elif PACKETVER >= 20170801
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0963, -1) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, -1)
#elif PACKETVER >= 20170621
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0963, 12) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 12)
#elif PACKETVER >= 20170607
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20170502
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20170419
-packetLen(0x0963, 4) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20171227
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 26)
#elif PACKETVER >= 20170524
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20171115
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20170426
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20171206
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0966, 19) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 19)
#elif PACKETVER >= 20171108
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0966, 10) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 10)
#elif PACKETVER >= 20170927
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0966, 90) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 90)
#elif PACKETVER >= 20170726
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20170208
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20171115
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20170531
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20171129
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, -1)
#elif PACKETVER >= 20170607
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, -1)
#elif PACKETVER >= 20170524
-packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20171227
-packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 6)
#elif PACKETVER >= 20170222
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0969, 5) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 5)
#elif PACKETVER >= 20170208
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20170118
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20170111
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20171227
-packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 18)
#elif PACKETVER >= 20171220
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171129
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20171122
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171115
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20171101
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171002
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170913
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170906
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170830
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170823
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170809
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170801
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170719
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170621
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170517
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170426
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170412
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170322
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170315
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170308
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170228
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170222
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170215
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170201
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170125
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170118
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20170104
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
// Packet: 0x0a0a
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
// Packet: 0x0a0b
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
// Packet: 0x0a0c
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
-packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 59)
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -8473,41 +8473,41 @@ packetLen(0x0a3f, 9)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
#if PACKETVER >= 20170830
-packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 20)
#elif PACKETVER >= 20170104
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
#endif
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -8522,7 +8522,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -8561,7 +8561,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -8579,10 +8579,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -8618,13 +8618,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -8639,7 +8639,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -8654,10 +8654,10 @@ packetLen(0x0a87, -1)
packetLen(0x0a88, 2)
// Packet: 0x0a89
-packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 57)
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -8666,7 +8666,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -8678,7 +8678,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -8693,16 +8693,16 @@ packetLen(0x0a94, 2)
packetLen(0x0a95, 4)
// Packet: 0x0a96
-packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 51)
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
// Packet: 0x0a98
#if PACKETVER >= 20170426
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0a98, 12) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 12)
#endif
// Packet: 0x0a99
@@ -8713,10 +8713,10 @@ packetLen(0x0a99, 8)
#endif
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
packetLen(0x0a9c, 2)
@@ -8731,28 +8731,28 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
-packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 7)
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -8793,7 +8793,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
#if PACKETVER >= 20170118
@@ -8829,7 +8829,7 @@ packetLen(0x0ab8, 2)
// Packet: 0x0ab9
#if PACKETVER >= 20170111
-packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 39)
#endif
// Packet: 0x0aba
@@ -8849,14 +8849,14 @@ packetLen(0x0abc, -1)
// Packet: 0x0abd
#if PACKETVER >= 20170215
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
#endif
// Packet: 0x0abe
#if PACKETVER >= 20170228
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
#elif PACKETVER >= 20170222
-packetLen(0x0abe, 116) // ZC_WARPLIST
+packetLen(0x0abe, 116)
#endif
// Packet: 0x0abf
@@ -8868,17 +8868,17 @@ packetLen(0x0abf, 114)
// Packet: 0x0ac0
#if PACKETVER >= 20170228
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
#endif
// Packet: 0x0ac1
#if PACKETVER >= 20170228
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
#endif
// Packet: 0x0ac2
#if PACKETVER >= 20170228
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
#endif
// Packet: 0x0ac3
@@ -8888,12 +8888,12 @@ packetLen(0x0ac3, 2)
// Packet: 0x0ac4
#if PACKETVER >= 20170228
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
#endif
// Packet: 0x0ac5
#if PACKETVER >= 20170228
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
#endif
// Packet: 0x0ac6
@@ -8903,12 +8903,12 @@ packetLen(0x0ac6, 156)
// Packet: 0x0ac7
#if PACKETVER >= 20170228
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
#endif
// Packet: 0x0ac8
#if PACKETVER >= 20170308
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
#endif
// Packet: 0x0ac9
@@ -8923,12 +8923,12 @@ packetLen(0x0aca, 3)
// Packet: 0x0acb
#if PACKETVER >= 20170405
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
#endif
// Packet: 0x0acc
#if PACKETVER >= 20170405
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
#endif
// Packet: 0x0acd
@@ -8943,18 +8943,18 @@ packetLen(0x0ace, 4)
// Packet: 0x0acf
#if PACKETVER >= 20171115
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
#elif PACKETVER >= 20170705
-packetLen(0x0acf, 64) // CA_LOGIN_OTP
+packetLen(0x0acf, 64)
#elif PACKETVER >= 20170621
-packetLen(0x0acf, 57) // CA_LOGIN_OTP
+packetLen(0x0acf, 57)
#elif PACKETVER >= 20170614
-packetLen(0x0acf, 52) // CA_LOGIN_OTP
+packetLen(0x0acf, 52)
#endif
// Packet: 0x0ad0
#if PACKETVER >= 20170614
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
#endif
// Packet: 0x0ad1
@@ -9004,7 +9004,7 @@ packetLen(0x0ad9, -1)
// Packet: 0x0ada
#if PACKETVER >= 20170726
-packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+packetLen(0x0ada, 30)
#endif
// Packet: 0x0adb
@@ -9014,22 +9014,22 @@ packetLen(0x0adb, -1)
// Packet: 0x0adc
#if PACKETVER >= 20170906
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
#endif
// Packet: 0x0add
#if PACKETVER >= 20170913
-packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 22)
#endif
// Packet: 0x0ade
#if PACKETVER >= 20170920
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
#endif
// Packet: 0x0adf
#if PACKETVER >= 20170920
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
#endif
// Packet: 0x0ae0
@@ -9044,22 +9044,22 @@ packetLen(0x0ae1, 28)
// Packet: 0x0ae2
#if PACKETVER >= 20171115
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
#endif
// Packet: 0x0ae3
#if PACKETVER >= 20171213
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
#endif
// Packet: 0x0ae4
#if PACKETVER >= 20171206
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
#endif
// Packet: 0x0ae5
#if PACKETVER >= 20171206
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
#endif
// Packet: 0x0ae6
@@ -9079,7 +9079,7 @@ packetLen(0x0ae8, 2)
// Packet: 0x0ae9
#if PACKETVER >= 20171220
-packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 64)
#endif
// Packet: 0x0aea
diff --git a/src/common/packets/packets2017_len_re.h b/src/common/packets/packets2017_len_re.h
index 17751f090..fd716595e 100644
--- a/src/common/packets/packets2017_len_re.h
+++ b/src/common/packets/packets2017_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,4405 +25,4405 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
#if PACKETVER >= 20170830
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
#elif PACKETVER >= 20170104
-packetLen(0x006d, 149) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 149)
#endif
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20171220
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20171115
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0202, 6) // CZ_ADD_FRIENDS
+packetLen(0x0202, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170913
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0202, 4) // CZ_ADD_FRIENDS
+packetLen(0x0202, 4)
#elif PACKETVER >= 20170719
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170705
-packetLen(0x0202, 36) // CZ_ADD_FRIENDS
+packetLen(0x0202, 36)
#elif PACKETVER >= 20170628
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0202, 12) // CZ_ADD_FRIENDS
+packetLen(0x0202, 12)
#elif PACKETVER >= 20170329
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170315
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170228
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20171108
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20171101
-packetLen(0x022d, 36) // CZ_COMMAND_MER
+packetLen(0x022d, 36)
#elif PACKETVER >= 20171025
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20171011
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20171002
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20170823
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170816
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20170809
-packetLen(0x022d, 4) // CZ_COMMAND_MER
+packetLen(0x022d, 4)
#elif PACKETVER >= 20170801
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20170726
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170719
-packetLen(0x022d, 7) // CZ_COMMAND_MER
+packetLen(0x022d, 7)
#elif PACKETVER >= 20170712
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20170705
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170628
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20170329
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170322
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20170315
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170308
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20170228
-packetLen(0x022d, 6) // CZ_COMMAND_MER
+packetLen(0x022d, 6)
#elif PACKETVER >= 20170125
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20170118
-packetLen(0x022d, 10) // CZ_COMMAND_MER
+packetLen(0x022d, 10)
#elif PACKETVER >= 20170104
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20171101
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20171025
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20171018
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20171011
-packetLen(0x023b, 5) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 5)
#elif PACKETVER >= 20170719
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170712
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20170705
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170628
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20170621
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170614
-packetLen(0x023b, 8) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 8)
#elif PACKETVER >= 20170419
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170412
-packetLen(0x023b, 10) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 10)
#elif PACKETVER >= 20170329
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170322
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20170315
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20170308
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20170104
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20171227
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0281, 19) // CZ_GANGSI_RANK
+packetLen(0x0281, 19)
#elif PACKETVER >= 20171213
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20171129
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170920
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20170906
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20170830
-packetLen(0x0281, 5) // CZ_GANGSI_RANK
+packetLen(0x0281, 5)
#elif PACKETVER >= 20170823
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170816
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0281, 8) // CZ_GANGSI_RANK
+packetLen(0x0281, 8)
#elif PACKETVER >= 20170801
-packetLen(0x0281, 5) // CZ_GANGSI_RANK
+packetLen(0x0281, 5)
#elif PACKETVER >= 20170719
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170705
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170517
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170426
-packetLen(0x0281, 36) // CZ_GANGSI_RANK
+packetLen(0x0281, 36)
#elif PACKETVER >= 20170412
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0281, 18) // CZ_GANGSI_RANK
+packetLen(0x0281, 18)
#elif PACKETVER >= 20170329
-packetLen(0x0281, 26) // CZ_GANGSI_RANK
+packetLen(0x0281, 26)
#elif PACKETVER >= 20170322
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170315
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20170111
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20171206
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20171129
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20171122
-packetLen(0x02c4, -1) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, -1)
#elif PACKETVER >= 20171002
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170927
-packetLen(0x02c4, 5) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 5)
#elif PACKETVER >= 20170913
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170906
-packetLen(0x02c4, 90) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 90)
#elif PACKETVER >= 20170830
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20170712
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170705
-packetLen(0x02c4, 18) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 18)
#elif PACKETVER >= 20170322
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170315
-packetLen(0x02c4, 10) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 10)
#elif PACKETVER >= 20170222
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20170215
-packetLen(0x02c4, 36) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 36)
#elif PACKETVER >= 20170208
-packetLen(0x02c4, 4) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 4)
#elif PACKETVER >= 20170104
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20171227
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171220
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20171213
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171206
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20171129
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171122
-packetLen(0x035f, 4) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 4)
#elif PACKETVER >= 20171115
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171101
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170927
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170920
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170913
-packetLen(0x035f, 26) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 26)
#elif PACKETVER >= 20170906
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170830
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170823
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170809
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170801
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170719
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170621
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170517
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170426
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170412
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170322
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170315
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20170308
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170228
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170222
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170215
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20170201
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20170125
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20170104
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#endif
// Packet: 0x0360
#if PACKETVER >= 20171227
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20171220
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20171122
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0360, 19) // CZ_REQUEST_TIME2
+packetLen(0x0360, 19)
#elif PACKETVER >= 20171101
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170913
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170830
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170809
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170719
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170517
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170315
-packetLen(0x0360, 5) // CZ_REQUEST_TIME2
+packetLen(0x0360, 5)
#elif PACKETVER >= 20170308
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0360, 7) // CZ_REQUEST_TIME2
+packetLen(0x0360, 7)
#elif PACKETVER >= 20170201
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20170125
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20171227
-packetLen(0x0361, 7) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 7)
#elif PACKETVER >= 20171206
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 12)
#elif PACKETVER >= 20171101
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20171002
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0361, 4) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 4)
#elif PACKETVER >= 20170830
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20170816
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20170809
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170705
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0361, 6) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 6)
#elif PACKETVER >= 20170614
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170607
-packetLen(0x0361, -1) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, -1)
#elif PACKETVER >= 20170531
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170329
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170315
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20171220
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20171002
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0362, -1) // CZ_ITEM_PICKUP2
+packetLen(0x0362, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170816
-packetLen(0x0362, 90) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 90)
#elif PACKETVER >= 20170809
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20170719
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170705
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170517
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0362, 7) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 7)
#elif PACKETVER >= 20170329
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20170322
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170315
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0362, 5) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 5)
#elif PACKETVER >= 20170111
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20171220
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20171206
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#elif PACKETVER >= 20171101
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0363, 19) // CZ_ITEM_THROW2
+packetLen(0x0363, 19)
#elif PACKETVER >= 20171011
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20171002
-packetLen(0x0363, 10) // CZ_ITEM_THROW2
+packetLen(0x0363, 10)
#elif PACKETVER >= 20170906
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0363, 18) // CZ_ITEM_THROW2
+packetLen(0x0363, 18)
#elif PACKETVER >= 20170823
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170809
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170726
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170705
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170517
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170412
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0363, 4) // CZ_ITEM_THROW2
+packetLen(0x0363, 4)
#elif PACKETVER >= 20170322
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170315
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20170111
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#endif
// Packet: 0x0364
#if PACKETVER >= 20171220
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20171101
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170816
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0364, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 26)
#elif PACKETVER >= 20170726
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170719
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170705
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170621
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20170607
-packetLen(0x0364, 36) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 36)
#elif PACKETVER >= 20170531
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0364, 26) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 26)
#elif PACKETVER >= 20170502
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170329
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170315
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20170125
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20170111
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20171220
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20171206
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20171122
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20171018
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170830
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170809
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170719
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170705
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170621
-packetLen(0x0365, -1) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, -1)
#elif PACKETVER >= 20170517
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170419
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0365, 6) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 6)
#elif PACKETVER >= 20170329
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170315
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20170111
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#endif
// Packet: 0x0366
#if PACKETVER >= 20171227
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20171220
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20171129
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20171122
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20171101
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170927
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20170913
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20170830
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170816
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0366, 26) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 26)
#elif PACKETVER >= 20170801
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170726
-packetLen(0x0366, 19) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 19)
#elif PACKETVER >= 20170719
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170621
-packetLen(0x0366, 18) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 18)
#elif PACKETVER >= 20170517
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170412
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170315
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20170308
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170228
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170215
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20170125
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#endif
// Packet: 0x0367
#if PACKETVER >= 20170621
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0367, 6) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 6)
#elif PACKETVER >= 20170524
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20170322
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20170215
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0367, -1) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20171227
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20171220
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20171122
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20171108
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0368, 19) // CZ_REQNAME2
+packetLen(0x0368, 19)
#elif PACKETVER >= 20171002
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170913
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170830
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170809
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170726
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0368, 4) // CZ_REQNAME2
+packetLen(0x0368, 4)
#elif PACKETVER >= 20170621
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170531
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0368, 36) // CZ_REQNAME2
+packetLen(0x0368, 36)
#elif PACKETVER >= 20170517
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170315
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170215
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20170125
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20171227
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20171220
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20171129
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20171122
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20171108
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0369, -1) // CZ_REQNAME_BYGID2
+packetLen(0x0369, -1)
#elif PACKETVER >= 20171002
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170927
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20170913
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170830
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170809
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170726
-packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 10)
#elif PACKETVER >= 20170719
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170607
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0369, 10) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170412
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20170322
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170315
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170228
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170215
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20170125
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20171122
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20171101
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20171018
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20171011
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170927
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170719
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170705
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170517
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170329
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170315
-packetLen(0x0436, -1) // CZ_ENTER2
+packetLen(0x0436, -1)
#elif PACKETVER >= 20170308
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20170125
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0436, 5) // CZ_ENTER2
+packetLen(0x0436, 5)
#elif PACKETVER >= 20170111
-packetLen(0x0436, 8) // CZ_ENTER2
+packetLen(0x0436, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#endif
// Packet: 0x0437
#if PACKETVER >= 20171227
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171220
-packetLen(0x0437, 18) // CZ_REQUEST_ACT2
+packetLen(0x0437, 18)
#elif PACKETVER >= 20171129
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171122
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171101
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171011
-packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+packetLen(0x0437, 36)
#elif PACKETVER >= 20171002
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170920
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0437, -1) // CZ_REQUEST_ACT2
+packetLen(0x0437, -1)
#elif PACKETVER >= 20170906
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170830
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170809
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170719
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170614
-packetLen(0x0437, 36) // CZ_REQUEST_ACT2
+packetLen(0x0437, 36)
#elif PACKETVER >= 20170524
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20170426
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170412
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170315
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170228
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170215
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#endif
// Packet: 0x0438
#if PACKETVER >= 20171227
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171220
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171122
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171108
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20171011
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171002
-packetLen(0x0438, 5) // CZ_USE_SKILL2
+packetLen(0x0438, 5)
#elif PACKETVER >= 20170913
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170830
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170816
-packetLen(0x0438, 7) // CZ_USE_SKILL2
+packetLen(0x0438, 7)
#elif PACKETVER >= 20170809
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170726
-packetLen(0x0438, 26) // CZ_USE_SKILL2
+packetLen(0x0438, 26)
#elif PACKETVER >= 20170719
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170412
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170315
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170228
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170215
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170125
-packetLen(0x0438, 7) // CZ_USE_SKILL2
+packetLen(0x0438, 7)
#elif PACKETVER >= 20170118
-packetLen(0x0438, 19) // CZ_USE_SKILL2
+packetLen(0x0438, 19)
#elif PACKETVER >= 20170111
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0438, 19) // CZ_USE_SKILL2
+packetLen(0x0438, 19)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20171220
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171213
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20171115
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171108
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20171101
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171025
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20171018
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171011
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170920
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170913
-packetLen(0x07e4, 8) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 8)
#elif PACKETVER >= 20170830
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170823
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170809
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170801
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170726
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170712
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170705
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170628
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170621
-packetLen(0x07e4, 26) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 26)
#elif PACKETVER >= 20170614
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170607
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170531
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#elif PACKETVER >= 20170517
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170502
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170329
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170322
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170315
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170308
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20170111
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20170104
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20171220
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171213
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20171101
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171025
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20171018
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171011
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170927
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170920
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170830
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170823
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170809
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170801
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170719
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170712
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170705
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170628
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170607
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170531
-packetLen(0x07ec, -1) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, -1)
#elif PACKETVER >= 20170517
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170502
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170329
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170322
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170315
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20170308
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20170111
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20170104
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20171227
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20171220
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20171122
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20171101
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171025
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170913
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 5)
#elif PACKETVER >= 20170830
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0802, 5) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 5)
#elif PACKETVER >= 20170816
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0802, -1) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, -1)
#elif PACKETVER >= 20170801
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170719
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170712
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170705
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170621
-packetLen(0x0802, 90) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 90)
#elif PACKETVER >= 20170531
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20170517
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20170426
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170329
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170315
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20170111
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20171227
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20171220
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20171122
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20171101
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170913
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170809
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170517
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170419
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20170412
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170315
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170228
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170215
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#elif PACKETVER >= 20170208
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20170201
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#elif PACKETVER >= 20170104
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20171227
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20171220
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20171122
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20171108
-packetLen(0x0815, 36) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 36)
#elif PACKETVER >= 20171101
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170913
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170809
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170524
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0815, 10) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 10)
#elif PACKETVER >= 20170426
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170412
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170315
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170228
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170215
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20170125
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20170920
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0817, 7) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 7)
#elif PACKETVER >= 20170524
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0817, 10) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20171227
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20171220
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20171122
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20171108
-packetLen(0x0819, 90) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 90)
#elif PACKETVER >= 20171101
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170913
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170830
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170809
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170719
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170607
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0819, 6) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 6)
#elif PACKETVER >= 20170517
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170419
-packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 12)
#elif PACKETVER >= 20170412
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170329
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170315
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170228
-packetLen(0x0819, 12) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 12)
#elif PACKETVER >= 20170215
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20170125
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20171108
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0835, 19) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 19)
#elif PACKETVER >= 20170816
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0835, 5) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20171227
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20171220
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20171129
-packetLen(0x0838, 26) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 26)
#elif PACKETVER >= 20171122
-packetLen(0x0838, 8) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 8)
#elif PACKETVER >= 20171115
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20171108
-packetLen(0x0838, -1) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, -1)
#elif PACKETVER >= 20171101
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170913
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170830
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170823
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170809
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170801
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170719
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170621
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0838, 10) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170419
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170322
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170315
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170308
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170228
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170215
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20170125
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20171227
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20171220
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20171129
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20171122
-packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 5)
#elif PACKETVER >= 20171115
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20171101
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20171002
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170913
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170906
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170830
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170823
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170809
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170801
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170719
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170621
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170614
-packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 7)
#elif PACKETVER >= 20170517
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170426
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170412
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170322
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170315
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170308
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170228
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170222
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170215
-packetLen(0x083c, 7) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 7)
#elif PACKETVER >= 20170201
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20170125
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20170104
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20170927
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170920
-packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 5)
#elif PACKETVER >= 20170823
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170816
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20170726
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170719
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20170614
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170607
-packetLen(0x085a, 5) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 5)
#elif PACKETVER >= 20170426
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170419
-packetLen(0x085a, 7) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 7)
#elif PACKETVER >= 20170111
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20170104
-packetLen(0x085a, 26) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 26)
#endif
// Packet: 0x085b
#if PACKETVER >= 20171129
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20171122
-packetLen(0x085b, 6) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 6)
#elif PACKETVER >= 20171108
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20171101
-packetLen(0x085b, 5) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 5)
#elif PACKETVER >= 20170607
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20170531
-packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 8)
#elif PACKETVER >= 20170104
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
#if PACKETVER >= 20171002
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20170927
-packetLen(0x085c, 10) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 10)
#elif PACKETVER >= 20170322
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20170315
-packetLen(0x085c, 4) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 4)
#elif PACKETVER >= 20170222
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#elif PACKETVER >= 20170215
-packetLen(0x085c, 6) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 6)
#elif PACKETVER >= 20170208
-packetLen(0x085c, 26) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 26)
#elif PACKETVER >= 20170104
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
#endif
// Packet: 0x085d
#if PACKETVER >= 20171115
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20171108
-packetLen(0x085d, 12) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 12)
#elif PACKETVER >= 20170628
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20170621
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20170405
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20170329
-packetLen(0x085d, 36) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 36)
#elif PACKETVER >= 20170208
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20170201
-packetLen(0x085d, 18) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 18)
#elif PACKETVER >= 20170118
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20170111
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20170104
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
#if PACKETVER >= 20171227
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, -1)
#elif PACKETVER >= 20170726
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170719
-packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, -1)
#elif PACKETVER >= 20170614
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170607
-packetLen(0x085e, -1) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, -1)
#elif PACKETVER >= 20170531
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170524
-packetLen(0x085e, 7) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 7)
#elif PACKETVER >= 20170426
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170419
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20170308
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170228
-packetLen(0x085e, 90) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 90)
#elif PACKETVER >= 20170208
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20170201
-packetLen(0x085e, 5) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 5)
#elif PACKETVER >= 20170104
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20170607
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20170524
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20170412
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20170405
-packetLen(0x085f, 8) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 8)
#elif PACKETVER >= 20170228
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20170222
-packetLen(0x085f, 26) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 26)
#elif PACKETVER >= 20170104
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20171220
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 19)
#elif PACKETVER >= 20171108
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20170621
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20170531
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0860, 6) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0860, -1) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, -1)
#elif PACKETVER >= 20170215
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
#if PACKETVER >= 20171227
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0861, -1) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, -1)
#elif PACKETVER >= 20170927
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 26)
#elif PACKETVER >= 20170607
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0861, 26) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20171206
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20171122
-packetLen(0x0862, -1) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, -1)
#elif PACKETVER >= 20170927
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 10)
#elif PACKETVER >= 20170823
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0862, 10) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 10)
#elif PACKETVER >= 20170614
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20170426
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0862, 26) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 26)
#elif PACKETVER >= 20170125
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0862, 8) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20171115
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20170726
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20170705
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170628
-packetLen(0x0863, 36) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 36)
#elif PACKETVER >= 20170614
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20170419
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20170322
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0863, 5) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 5)
#elif PACKETVER >= 20170308
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20170927
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0864, 36) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 36)
#elif PACKETVER >= 20170614
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20170531
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0864, 26) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20170927
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0865, -1) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, -1)
#elif PACKETVER >= 20170913
-packetLen(0x0865, 26) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 26)
#elif PACKETVER >= 20170906
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 4)
#elif PACKETVER >= 20170412
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0865, 5) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#endif
// Packet: 0x0866
#if PACKETVER >= 20170920
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20170621
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0866, 6) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 6)
#elif PACKETVER >= 20170531
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20170502
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#elif PACKETVER >= 20170228
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0866, 6) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20171213
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20171129
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0867, 19) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 19)
#elif PACKETVER >= 20170621
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0867, 26) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20170816
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0868, 7) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 7)
#elif PACKETVER >= 20170607
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0868, 4) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 4)
#elif PACKETVER >= 20170524
-packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 8)
#elif PACKETVER >= 20170517
-packetLen(0x0868, 90) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 90)
#elif PACKETVER >= 20170426
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0868, -1) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
#if PACKETVER >= 20170419
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0869, 18) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
#endif
// Packet: 0x086a
#if PACKETVER >= 20171213
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20171206
-packetLen(0x086a, 4) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 4)
#elif PACKETVER >= 20171025
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20171018
-packetLen(0x086a, 4) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 4)
#elif PACKETVER >= 20170927
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20170920
-packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 26)
#elif PACKETVER >= 20170906
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20170830
-packetLen(0x086a, 26) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 26)
#elif PACKETVER >= 20170426
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20170419
-packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 18)
#elif PACKETVER >= 20170322
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20170315
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20170104
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20170308
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20170228
-packetLen(0x086b, 19) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 19)
#elif PACKETVER >= 20170104
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#endif
// Packet: 0x086c
#if PACKETVER >= 20171108
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20171101
-packetLen(0x086c, 10) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 10)
#elif PACKETVER >= 20170927
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20170920
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20170913
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20170906
-packetLen(0x086c, 8) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 8)
#elif PACKETVER >= 20170830
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20170823
-packetLen(0x086c, 19) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 19)
#elif PACKETVER >= 20170621
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20170614
-packetLen(0x086c, -1) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, -1)
#elif PACKETVER >= 20170104
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20171206
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20171129
-packetLen(0x086d, 18) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 18)
#elif PACKETVER >= 20171122
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20171115
-packetLen(0x086d, 4) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 4)
#elif PACKETVER >= 20170830
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20170823
-packetLen(0x086d, 36) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 36)
#elif PACKETVER >= 20170531
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20170524
-packetLen(0x086d, 5) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 5)
#elif PACKETVER >= 20170419
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20170412
-packetLen(0x086d, 8) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 8)
#elif PACKETVER >= 20170104
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#endif
// Packet: 0x086e
#if PACKETVER >= 20171213
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20171206
-packetLen(0x086e, 18) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 18)
#elif PACKETVER >= 20170816
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20170809
-packetLen(0x086e, 5) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 5)
#elif PACKETVER >= 20170726
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20170719
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20170201
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20170125
-packetLen(0x086e, 26) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 26)
#elif PACKETVER >= 20170104
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20171122
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20171115
-packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, -1)
#elif PACKETVER >= 20170816
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20170809
-packetLen(0x086f, 5) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 5)
#elif PACKETVER >= 20170502
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20170426
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20170412
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20170405
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20170125
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20170118
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20170104
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20170228
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0870, 18) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20170614
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 19)
#elif PACKETVER >= 20170228
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0871, 4) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -4449,4019 +4449,4019 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20171227
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 6)
#elif PACKETVER >= 20171002
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 6)
#elif PACKETVER >= 20170801
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0873, 6) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 6)
#elif PACKETVER >= 20170614
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0873, 8) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 8)
#elif PACKETVER >= 20170531
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0873, 19) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 19)
#elif PACKETVER >= 20170308
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, -1)
#elif PACKETVER >= 20170125
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0873, 4) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20170801
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20170308
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20171002
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0875, 12) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 12)
#elif PACKETVER >= 20170920
-packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 4)
#elif PACKETVER >= 20170906
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0875, 4) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 4)
#elif PACKETVER >= 20170614
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0875, 12) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 12)
#elif PACKETVER >= 20170531
-packetLen(0x0875, 10) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 36)
#elif PACKETVER >= 20170208
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20171206
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 4)
#elif PACKETVER >= 20171108
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20170816
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 10)
#elif PACKETVER >= 20170222
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0876, 26) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 26)
#elif PACKETVER >= 20170201
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20171129
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0877, -1) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, -1)
#elif PACKETVER >= 20170621
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0877, 18) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 18)
#elif PACKETVER >= 20170228
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 8)
#elif PACKETVER >= 20170201
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0877, 6) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 6)
#elif PACKETVER >= 20170118
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20170111
-packetLen(0x0877, 26) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20171206
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0878, 36) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 36)
#elif PACKETVER >= 20171115
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20170801
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0878, 7) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 7)
#elif PACKETVER >= 20170607
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0878, 26) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 26)
#elif PACKETVER >= 20170419
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20170712
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20170621
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20170419
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0879, 4) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 4)
#elif PACKETVER >= 20170208
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0879, 4) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 4)
#elif PACKETVER >= 20170125
-packetLen(0x0879, 10) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#endif
// Packet: 0x087a
#if PACKETVER >= 20171025
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20171018
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20170502
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20170426
-packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 18)
#elif PACKETVER >= 20170405
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20170329
-packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 18)
#elif PACKETVER >= 20170215
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20170208
-packetLen(0x087a, 8) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 8)
#elif PACKETVER >= 20170104
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20171018
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20171011
-packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 26)
#elif PACKETVER >= 20170913
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170906
-packetLen(0x087b, 8) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 8)
#elif PACKETVER >= 20170607
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170531
-packetLen(0x087b, 7) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 7)
#elif PACKETVER >= 20170524
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170517
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20170419
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170412
-packetLen(0x087b, 10) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 10)
#elif PACKETVER >= 20170322
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170315
-packetLen(0x087b, 26) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 26)
#elif PACKETVER >= 20170201
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20170125
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20170104
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
#if PACKETVER >= 20170222
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#elif PACKETVER >= 20170215
-packetLen(0x087c, -1) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, -1)
#elif PACKETVER >= 20170104
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
#endif
// Packet: 0x087d
#if PACKETVER >= 20171227
-packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 36)
#elif PACKETVER >= 20171002
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170927
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20170816
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170809
-packetLen(0x087d, 12) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 12)
#elif PACKETVER >= 20170801
-packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 36)
#elif PACKETVER >= 20170726
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170719
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20170628
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170614
-packetLen(0x087d, 6) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 6)
#elif PACKETVER >= 20170531
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170517
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20170315
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170308
-packetLen(0x087d, 36) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 36)
#elif PACKETVER >= 20170222
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170215
-packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 5)
#elif PACKETVER >= 20170201
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20170125
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20170104
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20171122
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20171115
-packetLen(0x087e, 8) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 8)
#elif PACKETVER >= 20171108
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20171025
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20171018
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20171002
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20170927
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20170823
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20170816
-packetLen(0x087e, 6) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 6)
#elif PACKETVER >= 20170621
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20170614
-packetLen(0x087e, 5) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 5)
#elif PACKETVER >= 20170222
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20170215
-packetLen(0x087e, 10) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 10)
#elif PACKETVER >= 20170104
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
#if PACKETVER >= 20170118
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
#elif PACKETVER >= 20170111
-packetLen(0x087f, 4) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 4)
#elif PACKETVER >= 20170104
-packetLen(0x087f, 36) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 36)
#endif
// Packet: 0x0880
#if PACKETVER >= 20171227
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0880, 12) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 12)
#elif PACKETVER >= 20170816
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20171220
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 4)
#elif PACKETVER >= 20170823
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0881, -1) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, -1)
#elif PACKETVER >= 20170801
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0881, 4) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 4)
#elif PACKETVER >= 20170719
-packetLen(0x0881, 90) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 90)
#elif PACKETVER >= 20170426
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0881, 36) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 36)
#elif PACKETVER >= 20170208
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0881, 8) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 8)
#elif PACKETVER >= 20170125
-packetLen(0x0881, 5) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20171227
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0882, 6) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0882, 5) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 5)
#elif PACKETVER >= 20170823
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0882, 36) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 36)
#elif PACKETVER >= 20170726
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0882, 12) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 12)
#elif PACKETVER >= 20170531
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20171122
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0883, 8) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 8)
#elif PACKETVER >= 20170222
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0883, 6) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
#if PACKETVER >= 20171115
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0884, -1) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, -1)
#elif PACKETVER >= 20170906
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0884, 19) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 19)
#elif PACKETVER >= 20170823
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20170322
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0884, 7) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 7)
#elif PACKETVER >= 20170308
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20170222
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20170208
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0884, 5) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0884, 8) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20171227
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20171213
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20171129
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20171011
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 90)
#elif PACKETVER >= 20170726
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20170628
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20170614
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0885, 26) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 26)
#elif PACKETVER >= 20170531
-packetLen(0x0885, -1) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, -1)
#elif PACKETVER >= 20170208
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 90)
#elif PACKETVER >= 20170104
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20171108
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0886, 8) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 8)
#elif PACKETVER >= 20170712
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0886, 26) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 26)
#elif PACKETVER >= 20170208
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0886, 36) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 36)
#elif PACKETVER >= 20170104
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20170502
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0887, 6) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20171227
-packetLen(0x0888, 8) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0888, 10) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 10)
#elif PACKETVER >= 20170823
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0888, 18) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 18)
#elif PACKETVER >= 20170405
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0888, -1) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
#if PACKETVER >= 20171025
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20170927
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20170823
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0889, 6) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 6)
#elif PACKETVER >= 20170628
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20170614
-packetLen(0x0889, 90) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 90)
#elif PACKETVER >= 20170308
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0889, 5) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 5)
#elif PACKETVER >= 20170222
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20171227
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20171206
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20171129
-packetLen(0x088a, -1) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, -1)
#elif PACKETVER >= 20170614
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20170607
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20170222
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20170215
-packetLen(0x088a, 90) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 90)
#elif PACKETVER >= 20170118
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20170111
-packetLen(0x088a, 8) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 8)
#elif PACKETVER >= 20170104
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
#if PACKETVER >= 20171122
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20171115
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20170607
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170531
-packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, -1)
#elif PACKETVER >= 20170419
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170412
-packetLen(0x088b, -1) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, -1)
#elif PACKETVER >= 20170322
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170315
-packetLen(0x088b, 18) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 18)
#elif PACKETVER >= 20170222
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170215
-packetLen(0x088b, 26) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 26)
#elif PACKETVER >= 20170208
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20170201
-packetLen(0x088b, 6) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 6)
#elif PACKETVER >= 20170104
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20171227
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20171220
-packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 10)
#elif PACKETVER >= 20170920
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20170913
-packetLen(0x088c, 5) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 5)
#elif PACKETVER >= 20170816
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20170809
-packetLen(0x088c, 10) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 10)
#elif PACKETVER >= 20170524
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20170517
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20170222
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20170215
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20170208
-packetLen(0x088c, 19) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 19)
#elif PACKETVER >= 20170104
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20171227
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20170712
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20170705
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20170607
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20170531
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20170524
-packetLen(0x088d, 10) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 10)
#elif PACKETVER >= 20170517
-packetLen(0x088d, 5) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 5)
#elif PACKETVER >= 20170426
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20170419
-packetLen(0x088d, -1) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, -1)
#elif PACKETVER >= 20170322
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20170315
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20170104
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20171108
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20171101
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20170927
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20170920
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20170801
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20170726
-packetLen(0x088e, 5) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 5)
#elif PACKETVER >= 20170712
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20170705
-packetLen(0x088e, 26) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 26)
#elif PACKETVER >= 20170104
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
#if PACKETVER >= 20170426
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20170419
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20170322
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20170315
-packetLen(0x088f, 5) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 5)
#elif PACKETVER >= 20170104
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20171220
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20171213
-packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 36)
#elif PACKETVER >= 20171129
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0890, 18) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 18)
#elif PACKETVER >= 20170920
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0890, 90) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 90)
#elif PACKETVER >= 20170816
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0890, 36) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 36)
#elif PACKETVER >= 20170419
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0890, -1) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, -1)
#elif PACKETVER >= 20170222
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0890, 10) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20171129
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20170726
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0891, 10) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20170920
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0892, 36) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 36)
#elif PACKETVER >= 20170816
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0892, 90) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 90)
#elif PACKETVER >= 20170322
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20170215
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0892, 26) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20171129
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0893, 12) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 12)
#elif PACKETVER >= 20170419
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0893, -1) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, -1)
#elif PACKETVER >= 20170405
-packetLen(0x0893, 8) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 8)
#elif PACKETVER >= 20170308
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0893, 6) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 36)
#elif PACKETVER >= 20170104
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20170607
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0894, 19) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 19)
#elif PACKETVER >= 20170524
-packetLen(0x0894, 8) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 8)
#elif PACKETVER >= 20170517
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20170502
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20170228
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0894, 4) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
#if PACKETVER >= 20171108
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0895, 4) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 4)
#elif PACKETVER >= 20170816
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0895, 5) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 5)
#elif PACKETVER >= 20170201
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0895, -1) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20171115
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 4)
#elif PACKETVER >= 20170524
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0896, 12) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 12)
#elif PACKETVER >= 20170222
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0896, 4) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 4)
#elif PACKETVER >= 20170111
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20170104
-packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 5)
#endif
// Packet: 0x0897
#if PACKETVER >= 20171213
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0897, 19) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 19)
#elif PACKETVER >= 20171129
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20171115
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20171011
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20170906
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20170614
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20170426
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20171129
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0898, 36) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 36)
#elif PACKETVER >= 20170726
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0898, 10) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 10)
#elif PACKETVER >= 20170426
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0898, 6) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20171227
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0899, 36) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 36)
#elif PACKETVER >= 20171108
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20171011
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20170927
-packetLen(0x0899, 7) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 7)
#elif PACKETVER >= 20170906
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0899, 6) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 6)
#elif PACKETVER >= 20170816
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20170621
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20170524
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20170502
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
#if PACKETVER >= 20171129
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20171122
-packetLen(0x089a, 8) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 8)
#elif PACKETVER >= 20171025
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20171018
-packetLen(0x089a, 6) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 6)
#elif PACKETVER >= 20171002
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170927
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20170906
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170830
-packetLen(0x089a, -1) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, -1)
#elif PACKETVER >= 20170726
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170719
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20170712
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170705
-packetLen(0x089a, 19) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 19)
#elif PACKETVER >= 20170607
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170531
-packetLen(0x089a, 36) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 36)
#elif PACKETVER >= 20170419
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#elif PACKETVER >= 20170412
-packetLen(0x089a, 5) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 5)
#elif PACKETVER >= 20170104
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
#endif
// Packet: 0x089b
#if PACKETVER >= 20171108
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20171101
-packetLen(0x089b, -1) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, -1)
#elif PACKETVER >= 20171002
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20170927
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20170920
-packetLen(0x089b, 7) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 7)
#elif PACKETVER >= 20170222
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20170215
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20170201
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20170125
-packetLen(0x089b, 90) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 90)
#elif PACKETVER >= 20170104
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20171206
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20171129
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20171108
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20171101
-packetLen(0x089c, 18) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 18)
#elif PACKETVER >= 20170607
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20170524
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20170517
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20170502
-packetLen(0x089c, 19) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 19)
#elif PACKETVER >= 20170426
-packetLen(0x089c, 5) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 5)
#elif PACKETVER >= 20170419
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20170412
-packetLen(0x089c, 6) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 6)
#elif PACKETVER >= 20170104
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20171213
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20171206
-packetLen(0x089d, 36) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 36)
#elif PACKETVER >= 20171011
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20171002
-packetLen(0x089d, 19) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 19)
#elif PACKETVER >= 20170726
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20170719
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20170712
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20170705
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20170621
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20170614
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20170607
-packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 8)
#elif PACKETVER >= 20170426
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20170419
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20170104
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
#if PACKETVER >= 20171227
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20171129
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20171122
-packetLen(0x089e, 7) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 7)
#elif PACKETVER >= 20170906
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20170830
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20170524
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20170517
-packetLen(0x089e, 4) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 4)
#elif PACKETVER >= 20170308
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20170228
-packetLen(0x089e, 8) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 8)
#elif PACKETVER >= 20170125
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20170118
-packetLen(0x089e, 26) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 26)
#elif PACKETVER >= 20170104
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20171025
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20171018
-packetLen(0x089f, 26) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 26)
#elif PACKETVER >= 20170104
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20171227
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20171108
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20171101
-packetLen(0x08a0, 8) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 8)
#elif PACKETVER >= 20170308
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20170228
-packetLen(0x08a0, 26) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 26)
#elif PACKETVER >= 20170104
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
#if PACKETVER >= 20170531
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20170524
-packetLen(0x08a1, 12) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 12)
#elif PACKETVER >= 20170419
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20170412
-packetLen(0x08a1, 7) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 7)
#elif PACKETVER >= 20170215
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20170208
-packetLen(0x08a1, 18) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 18)
#elif PACKETVER >= 20170118
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20170111
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20170104
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20171213
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20171206
-packetLen(0x08a2, 26) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 26)
#elif PACKETVER >= 20171115
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20171108
-packetLen(0x08a2, 10) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 10)
#elif PACKETVER >= 20171101
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20171025
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20170913
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170906
-packetLen(0x08a2, 8) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 8)
#elif PACKETVER >= 20170830
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20170621
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170614
-packetLen(0x08a2, -1) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, -1)
#elif PACKETVER >= 20170524
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170517
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20170502
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170426
-packetLen(0x08a2, 19) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 19)
#elif PACKETVER >= 20170308
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170228
-packetLen(0x08a2, 36) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 36)
#elif PACKETVER >= 20170222
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20170215
-packetLen(0x08a2, 12) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 12)
#elif PACKETVER >= 20170104
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20170913
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170906
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20170823
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170816
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20170809
-packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, -1)
#elif PACKETVER >= 20170801
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08a3, 8) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 8)
#elif PACKETVER >= 20170228
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170222
-packetLen(0x08a3, 5) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 5)
#elif PACKETVER >= 20170118
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20170111
-packetLen(0x08a3, 6) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 6)
#elif PACKETVER >= 20170104
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20171213
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20171206
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20171122
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20171115
-packetLen(0x08a4, 5) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 5)
#elif PACKETVER >= 20170502
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20170426
-packetLen(0x08a4, 6) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 6)
#elif PACKETVER >= 20170208
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20170201
-packetLen(0x08a4, 8) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 8)
#elif PACKETVER >= 20170104
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20171227
-packetLen(0x08a5, 5) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 5)
#elif PACKETVER >= 20171206
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20171129
-packetLen(0x08a5, 8) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 8)
#elif PACKETVER >= 20171002
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20170927
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20170412
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20170405
-packetLen(0x08a5, 19) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 19)
#elif PACKETVER >= 20170201
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20170125
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20170104
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20171129
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20171122
-packetLen(0x08a6, 10) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 10)
#elif PACKETVER >= 20171025
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20171018
-packetLen(0x08a6, 5) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 5)
#elif PACKETVER >= 20171002
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170927
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20170920
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#elif PACKETVER >= 20170816
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170809
-packetLen(0x08a6, 19) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 19)
#elif PACKETVER >= 20170801
-packetLen(0x08a6, 4) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 4)
#elif PACKETVER >= 20170726
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170719
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20170308
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170228
-packetLen(0x08a6, 8) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 8)
#elif PACKETVER >= 20170118
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20170111
-packetLen(0x08a6, 18) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 18)
#elif PACKETVER >= 20170104
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#endif
// Packet: 0x08a7
#if PACKETVER >= 20170920
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08a7, 4) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 4)
#elif PACKETVER >= 20170906
-packetLen(0x08a7, 18) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 18)
#elif PACKETVER >= 20170823
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20170816
-packetLen(0x08a7, 4) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 4)
#elif PACKETVER >= 20170801
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08a7, 36) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 36)
#elif PACKETVER >= 20170308
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20170228
-packetLen(0x08a7, 6) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 6)
#elif PACKETVER >= 20170104
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20170906
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170830
-packetLen(0x08a8, 8) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 8)
#elif PACKETVER >= 20170726
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170719
-packetLen(0x08a8, 19) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 19)
#elif PACKETVER >= 20170628
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170621
-packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 5)
#elif PACKETVER >= 20170524
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170517
-packetLen(0x08a8, 5) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 5)
#elif PACKETVER >= 20170405
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170329
-packetLen(0x08a8, 6) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 6)
#elif PACKETVER >= 20170228
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20170222
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20170215
-packetLen(0x08a8, 18) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 18)
#elif PACKETVER >= 20170104
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
#if PACKETVER >= 20171129
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20171122
-packetLen(0x08a9, 6) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 6)
#elif PACKETVER >= 20171115
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20171108
-packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 5)
#elif PACKETVER >= 20170823
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20170816
-packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 5)
#elif PACKETVER >= 20170614
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20170607
-packetLen(0x08a9, 10) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 10)
#elif PACKETVER >= 20170104
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20170920
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08aa, 10) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 10)
#elif PACKETVER >= 20170801
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08aa, 6) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 6)
#elif PACKETVER >= 20170524
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170517
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20170426
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170419
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20170322
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20170315
-packetLen(0x08aa, 8) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 8)
#elif PACKETVER >= 20170104
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20171108
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20171101
-packetLen(0x08ab, -1) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, -1)
#elif PACKETVER >= 20170920
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08ab, 18) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 18)
#elif PACKETVER >= 20170801
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#elif PACKETVER >= 20170614
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20170607
-packetLen(0x08ab, 90) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 90)
#elif PACKETVER >= 20170104
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20170920
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20170830
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170823
-packetLen(0x08ac, 26) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 26)
#elif PACKETVER >= 20170816
-packetLen(0x08ac, 5) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 5)
#elif PACKETVER >= 20170801
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170726
-packetLen(0x08ac, 6) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 6)
#elif PACKETVER >= 20170607
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170531
-packetLen(0x08ac, 90) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 90)
#elif PACKETVER >= 20170215
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20170208
-packetLen(0x08ac, 8) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 8)
#elif PACKETVER >= 20170104
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20171115
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20171108
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20171101
-packetLen(0x08ad, 12) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 12)
#elif PACKETVER >= 20171002
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170927
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20170920
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170913
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20170621
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170614
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20170607
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170531
-packetLen(0x08ad, 8) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 8)
#elif PACKETVER >= 20170125
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20170118
-packetLen(0x08ad, -1) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, -1)
#elif PACKETVER >= 20170104
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
#if PACKETVER >= 20170830
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
#elif PACKETVER >= 20170104
-packetLen(0x08e3, 149) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 149)
#endif
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20170405
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20170816
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20170614
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0918, 18) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20170927
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0919, 10) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 10)
#elif PACKETVER >= 20170614
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0919, -1) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, -1)
#elif PACKETVER >= 20170208
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0919, 26) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20171220
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20171213
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20170913
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170906
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20170712
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170705
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20170419
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170412
-packetLen(0x091a, 5) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 5)
#elif PACKETVER >= 20170329
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170322
-packetLen(0x091a, 36) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 36)
#elif PACKETVER >= 20170315
-packetLen(0x091a, 6) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 6)
#elif PACKETVER >= 20170118
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20170111
-packetLen(0x091a, 36) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 36)
#elif PACKETVER >= 20170104
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20171227
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20171220
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20171108
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20171101
-packetLen(0x091b, 8) // ZC_PRNPC_STATE
+packetLen(0x091b, 8)
#elif PACKETVER >= 20170920
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170913
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20170726
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170719
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20170621
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170614
-packetLen(0x091b, 10) // ZC_PRNPC_STATE
+packetLen(0x091b, 10)
#elif PACKETVER >= 20170524
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170517
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20170426
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170419
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20170322
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170315
-packetLen(0x091b, -1) // ZC_PRNPC_STATE
+packetLen(0x091b, -1)
#elif PACKETVER >= 20170201
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170125
-packetLen(0x091b, 6) // ZC_PRNPC_STATE
+packetLen(0x091b, 6)
#elif PACKETVER >= 20170118
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20170111
-packetLen(0x091b, 19) // ZC_PRNPC_STATE
+packetLen(0x091b, 19)
#elif PACKETVER >= 20170104
-packetLen(0x091b, 5) // ZC_PRNPC_STATE
+packetLen(0x091b, 5)
#endif
// Packet: 0x091c
#if PACKETVER >= 20170823
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20170816
-packetLen(0x091c, 12) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 12)
#elif PACKETVER >= 20170201
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20170125
-packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 8)
#elif PACKETVER >= 20170104
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20171213
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20171206
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20170920
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20170913
-packetLen(0x091d, 6) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 6)
#elif PACKETVER >= 20170801
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20170726
-packetLen(0x091d, 26) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 26)
#elif PACKETVER >= 20170322
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20170315
-packetLen(0x091d, 12) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 12)
#elif PACKETVER >= 20170104
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20171227
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20171129
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20171122
-packetLen(0x091e, 90) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 90)
#elif PACKETVER >= 20171002
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20170927
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20170913
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20170906
-packetLen(0x091e, 5) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 5)
#elif PACKETVER >= 20170830
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#elif PACKETVER >= 20170801
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20170726
-packetLen(0x091e, 12) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 12)
#elif PACKETVER >= 20170531
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20170524
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20170419
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20170412
-packetLen(0x091e, 19) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 19)
#elif PACKETVER >= 20170104
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
#if PACKETVER >= 20171115
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20171108
-packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 5)
#elif PACKETVER >= 20170801
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20170726
-packetLen(0x091f, 5) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 5)
#elif PACKETVER >= 20170719
-packetLen(0x091f, 6) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 6)
#elif PACKETVER >= 20170502
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20170426
-packetLen(0x091f, 4) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 4)
#elif PACKETVER >= 20170308
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20170228
-packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 10)
#elif PACKETVER >= 20170125
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20170118
-packetLen(0x091f, 18) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 18)
#elif PACKETVER >= 20170104
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20170426
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0920, 10) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 10)
#elif PACKETVER >= 20170322
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20170208
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0920, 26) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20170927
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20170906
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0921, 5) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 5)
#elif PACKETVER >= 20170823
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20170809
-packetLen(0x0921, 8) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 8)
#elif PACKETVER >= 20170801
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20170215
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0921, 6) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20171002
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0922, 26) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 26)
#elif PACKETVER >= 20170426
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0922, 19) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 19)
#elif PACKETVER >= 20170322
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20171213
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0923, 8) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 8)
#elif PACKETVER >= 20171129
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0923, 18) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 18)
#elif PACKETVER >= 20171002
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20170913
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20170801
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0923, -1) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, -1)
#elif PACKETVER >= 20170531
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0923, -1) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, -1)
#elif PACKETVER >= 20170517
-packetLen(0x0923, 19) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 19)
#elif PACKETVER >= 20170215
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0923, 6) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20171227
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0924, 8) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20170920
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0925, 12) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 12)
#elif PACKETVER >= 20170906
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0925, 6) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 6)
#elif PACKETVER >= 20170823
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 8)
#elif PACKETVER >= 20170614
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0925, 26) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 26)
#elif PACKETVER >= 20170531
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0925, 90) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 90)
#elif PACKETVER >= 20170222
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0925, 8) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
#if PACKETVER >= 20171122
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0926, 6) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 6)
#elif PACKETVER >= 20170927
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#elif PACKETVER >= 20170405
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0926, 5) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#endif
// Packet: 0x0927
#if PACKETVER >= 20171002
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 5)
#elif PACKETVER >= 20170920
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170913
-packetLen(0x0927, -1) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, -1)
#elif PACKETVER >= 20170614
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0927, 10) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 10)
#elif PACKETVER >= 20170502
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0927, 5) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0927, 8) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#endif
// Packet: 0x0928
#if PACKETVER >= 20171011
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0928, -1) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
#if PACKETVER >= 20171227
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 6)
#elif PACKETVER >= 20170419
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 6)
#elif PACKETVER >= 20170405
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0929, 6) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0929, 12) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 12)
#elif PACKETVER >= 20170104
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
#if PACKETVER >= 20170816
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20170809
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20170308
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#elif PACKETVER >= 20170228
-packetLen(0x092a, 6) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 6)
#elif PACKETVER >= 20170104
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
#endif
// Packet: 0x092b
#if PACKETVER >= 20170816
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20170809
-packetLen(0x092b, 6) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 6)
#elif PACKETVER >= 20170222
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20170215
-packetLen(0x092b, -1) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, -1)
#elif PACKETVER >= 20170201
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20170125
-packetLen(0x092b, 10) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 10)
#elif PACKETVER >= 20170104
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
#if PACKETVER >= 20171227
-packetLen(0x092c, 19) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 19)
#elif PACKETVER >= 20170823
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20170816
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20170726
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20170719
-packetLen(0x092c, -1) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, -1)
#elif PACKETVER >= 20170104
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20171011
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20171002
-packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 18)
#elif PACKETVER >= 20170607
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20170531
-packetLen(0x092d, 6) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 6)
#elif PACKETVER >= 20170215
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20170208
-packetLen(0x092d, 5) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 5)
#elif PACKETVER >= 20170104
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20171227
-packetLen(0x092e, 4) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 4)
#elif PACKETVER >= 20171213
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20171206
-packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 8)
#elif PACKETVER >= 20170927
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170920
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20170906
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170830
-packetLen(0x092e, 6) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 6)
#elif PACKETVER >= 20170419
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170412
-packetLen(0x092e, 8) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 8)
#elif PACKETVER >= 20170405
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170329
-packetLen(0x092e, 19) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 19)
#elif PACKETVER >= 20170308
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20170228
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20170104
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20170726
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20170719
-packetLen(0x092f, 18) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 18)
#elif PACKETVER >= 20170712
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20170705
-packetLen(0x092f, 4) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 4)
#elif PACKETVER >= 20170621
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20170614
-packetLen(0x092f, -1) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, -1)
#elif PACKETVER >= 20170104
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
#if PACKETVER >= 20170712
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0930, -1) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, -1)
#elif PACKETVER >= 20170426
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 8)
#elif PACKETVER >= 20170201
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0930, 5) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20170816
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20170614
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0931, 4) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20170712
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0932, 6) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 6)
#elif PACKETVER >= 20170215
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0932, 8) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20171227
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0933, 5) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 5)
#elif PACKETVER >= 20170607
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0933, 8) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 8)
#elif PACKETVER >= 20170125
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0933, 6) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20171129
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 36)
#elif PACKETVER >= 20171011
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0934, 36) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 36)
#elif PACKETVER >= 20170712
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20170705
-packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 8)
#elif PACKETVER >= 20170614
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20170531
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0934, 5) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20170426
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0935, 90) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 90)
#elif PACKETVER >= 20170104
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20171213
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0936, 5) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 5)
#elif PACKETVER >= 20170621
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0936, 6) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20170927
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 12)
#elif PACKETVER >= 20170607
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0937, 12) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 12)
#elif PACKETVER >= 20170405
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20170308
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0937, 6) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 6)
#elif PACKETVER >= 20170222
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20170215
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20170208
-packetLen(0x0937, 36) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 36)
#elif PACKETVER >= 20170104
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20171227
-packetLen(0x0938, 26) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 26)
#elif PACKETVER >= 20171025
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0938, -1) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, -1)
#elif PACKETVER >= 20170614
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0938, 7) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 7)
#elif PACKETVER >= 20170419
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0938, 90) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 90)
#elif PACKETVER >= 20170208
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0938, 5) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#endif
// Packet: 0x0939
#if PACKETVER >= 20171108
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0939, 5) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 5)
#elif PACKETVER >= 20170927
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0939, 5) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 5)
#elif PACKETVER >= 20170906
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 26)
#elif PACKETVER >= 20170816
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170809
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20170405
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0939, 26) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 26)
#elif PACKETVER >= 20170228
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0939, 19) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 19)
#elif PACKETVER >= 20170104
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20170823
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20170816
-packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 26)
#elif PACKETVER >= 20170426
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20170419
-packetLen(0x093a, 26) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 26)
#elif PACKETVER >= 20170104
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
#if PACKETVER >= 20171129
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20171122
-packetLen(0x093b, 10) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 10)
#elif PACKETVER >= 20171011
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20171002
-packetLen(0x093b, 8) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 8)
#elif PACKETVER >= 20170927
-packetLen(0x093b, 90) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 90)
#elif PACKETVER >= 20170816
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20170809
-packetLen(0x093b, -1) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, -1)
#elif PACKETVER >= 20170524
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20170517
-packetLen(0x093b, 6) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 6)
#elif PACKETVER >= 20170104
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#endif
// Packet: 0x093c
#if PACKETVER >= 20170517
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20170502
-packetLen(0x093c, 26) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 26)
#elif PACKETVER >= 20170201
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20170125
-packetLen(0x093c, -1) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, -1)
#elif PACKETVER >= 20170104
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20171011
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20171002
-packetLen(0x093d, 6) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 6)
#elif PACKETVER >= 20170823
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20170816
-packetLen(0x093d, 19) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 19)
#elif PACKETVER >= 20170726
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20170719
-packetLen(0x093d, 5) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 5)
#elif PACKETVER >= 20170104
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20171227
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 7)
#elif PACKETVER >= 20171011
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20171002
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20170906
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20170830
-packetLen(0x093e, 7) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 7)
#elif PACKETVER >= 20170726
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20170719
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20170308
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20170228
-packetLen(0x093e, 4) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 4)
#elif PACKETVER >= 20170104
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20170426
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20170419
-packetLen(0x093f, 10) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 10)
#elif PACKETVER >= 20170104
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20171206
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20170906
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20170823
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#elif PACKETVER >= 20170809
-packetLen(0x0940, 18) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 18)
#elif PACKETVER >= 20170607
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0940, 18) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 18)
#elif PACKETVER >= 20170502
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20170208
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20170118
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20170111
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0940, 10) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 10)
#endif
// Packet: 0x0941
#if PACKETVER >= 20171227
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0941, 8) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 8)
#elif PACKETVER >= 20170823
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20171213
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20171002
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0942, 18) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 18)
#elif PACKETVER >= 20170906
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0942, 12) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 12)
#elif PACKETVER >= 20170614
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20170419
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0942, 26) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 26)
#elif PACKETVER >= 20170222
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0942, 6) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
#if PACKETVER >= 20171011
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20171002
-packetLen(0x0943, 26) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 26)
#elif PACKETVER >= 20170906
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0943, -1) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, -1)
#elif PACKETVER >= 20170801
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0943, 36) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 36)
#elif PACKETVER >= 20170201
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0943, 6) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20171025
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0944, 36) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 36)
#elif PACKETVER >= 20170726
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20170712
-packetLen(0x0944, 36) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 36)
#elif PACKETVER >= 20170621
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0944, 19) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 19)
#elif PACKETVER >= 20170607
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20170322
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0944, 6) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 6)
#elif PACKETVER >= 20170308
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0944, 8) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 8)
#elif PACKETVER >= 20170201
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0944, 18) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20171227
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20171115
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20171002
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20170920
-packetLen(0x0945, 18) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 18)
#elif PACKETVER >= 20170607
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0945, 6) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 6)
#elif PACKETVER >= 20170524
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0945, -1) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, -1)
#elif PACKETVER >= 20170419
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0945, 8) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20171227
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20171220
-packetLen(0x0946, 4) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 4)
#elif PACKETVER >= 20171129
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20170726
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20170531
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0946, 10) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0946, 6) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20171129
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0947, 5) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 5)
#elif PACKETVER >= 20171115
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0947, 8) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0947, -1) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, -1)
#elif PACKETVER >= 20170524
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20170308
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
#if PACKETVER >= 20170308
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#endif
// Packet: 0x0949
#if PACKETVER >= 20171115
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0949, 19) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 19)
#elif PACKETVER >= 20170614
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20170607
-packetLen(0x0949, -1) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, -1)
#elif PACKETVER >= 20170405
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#elif PACKETVER >= 20170329
-packetLen(0x0949, 8) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
#endif
// Packet: 0x094a
#if PACKETVER >= 20171025
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20171018
-packetLen(0x094a, 26) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 26)
#elif PACKETVER >= 20170322
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20170315
-packetLen(0x094a, 6) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 6)
#elif PACKETVER >= 20170104
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20171206
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20171129
-packetLen(0x094b, 8) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 8)
#elif PACKETVER >= 20171002
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20170927
-packetLen(0x094b, 26) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 26)
#elif PACKETVER >= 20170104
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20170927
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170920
-packetLen(0x094c, -1) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, -1)
#elif PACKETVER >= 20170712
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170705
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20170412
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170405
-packetLen(0x094c, 36) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 36)
#elif PACKETVER >= 20170208
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170201
-packetLen(0x094c, 19) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 19)
#elif PACKETVER >= 20170118
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20170111
-packetLen(0x094c, 8) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 8)
#elif PACKETVER >= 20170104
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20171108
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20171101
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20171002
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20170927
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20170104
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20171227
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x094e, 8) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 8)
#elif PACKETVER >= 20171115
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20171108
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20170322
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20170315
-packetLen(0x094e, 19) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 19)
#elif PACKETVER >= 20170222
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20170215
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20170104
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
#if PACKETVER >= 20171025
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20171018
-packetLen(0x094f, 18) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 18)
#elif PACKETVER >= 20170809
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20170801
-packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 26)
#elif PACKETVER >= 20170726
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20170419
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20170412
-packetLen(0x094f, 26) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 26)
#elif PACKETVER >= 20170405
-packetLen(0x094f, 8) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 8)
#elif PACKETVER >= 20170104
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20171018
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0950, 19) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 19)
#elif PACKETVER >= 20170823
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 5)
#elif PACKETVER >= 20170801
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0950, 10) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 10)
#elif PACKETVER >= 20170517
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20170502
-packetLen(0x0950, 5) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20171227
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0951, 5) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 5)
#elif PACKETVER >= 20170104
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20171108
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0952, 90) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 90)
#elif PACKETVER >= 20170801
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0952, 5) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 5)
#elif PACKETVER >= 20170322
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20170315
-packetLen(0x0952, 36) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 36)
#elif PACKETVER >= 20170308
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0952, 10) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
#if PACKETVER >= 20171206
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0953, 8) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 8)
#elif PACKETVER >= 20170913
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#elif PACKETVER >= 20170906
-packetLen(0x0953, 19) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 19)
#elif PACKETVER >= 20170104
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
#endif
// Packet: 0x0954
#if PACKETVER >= 20171018
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20171011
-packetLen(0x0954, 5) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 5)
#elif PACKETVER >= 20170801
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0954, 18) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20170308
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20170228
-packetLen(0x0955, 18) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 18)
#elif PACKETVER >= 20170104
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20170628
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20171227
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0957, 26) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 26)
#elif PACKETVER >= 20171213
-packetLen(0x0957, 5) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 5)
#elif PACKETVER >= 20171108
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0957, 7) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 7)
#elif PACKETVER >= 20170628
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0957, 36) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 36)
#elif PACKETVER >= 20170614
-packetLen(0x0957, 8) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20171213
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20171122
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20171108
-packetLen(0x0958, 18) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 18)
#elif PACKETVER >= 20170531
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0958, 4) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 4)
#elif PACKETVER >= 20170517
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20170502
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 26)
#elif PACKETVER >= 20170125
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0958, 36) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 36)
#elif PACKETVER >= 20170104
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20171002
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20170927
-packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 8)
#elif PACKETVER >= 20170906
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20170830
-packetLen(0x0959, 10) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 10)
#elif PACKETVER >= 20170823
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 8)
#elif PACKETVER >= 20170419
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20170412
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20171122
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20171115
-packetLen(0x095a, 26) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 26)
#elif PACKETVER >= 20171108
-packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 8)
#elif PACKETVER >= 20171101
-packetLen(0x095a, -1) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, -1)
#elif PACKETVER >= 20171002
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20170927
-packetLen(0x095a, 10) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 10)
#elif PACKETVER >= 20170920
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20170913
-packetLen(0x095a, 10) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 10)
#elif PACKETVER >= 20170809
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20170801
-packetLen(0x095a, 19) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 19)
#elif PACKETVER >= 20170726
-packetLen(0x095a, 90) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 90)
#elif PACKETVER >= 20170531
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20170524
-packetLen(0x095a, 6) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 6)
#elif PACKETVER >= 20170104
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20170830
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20170823
-packetLen(0x095b, 5) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 5)
#elif PACKETVER >= 20170628
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20170621
-packetLen(0x095b, 4) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 4)
#elif PACKETVER >= 20170531
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20170524
-packetLen(0x095b, 18) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 18)
#elif PACKETVER >= 20170419
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20170412
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20170104
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20170920
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20170913
-packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 6)
#elif PACKETVER >= 20170628
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20170621
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20170426
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20170419
-packetLen(0x095c, 6) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 6)
#elif PACKETVER >= 20170412
-packetLen(0x095c, 12) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 12)
#elif PACKETVER >= 20170201
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20170125
-packetLen(0x095c, 8) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 8)
#elif PACKETVER >= 20170104
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20170927
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20170920
-packetLen(0x095d, 5) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 5)
#elif PACKETVER >= 20170426
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20170419
-packetLen(0x095d, -1) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, -1)
#elif PACKETVER >= 20170412
-packetLen(0x095d, 36) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 36)
#elif PACKETVER >= 20170228
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20170222
-packetLen(0x095d, 8) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 8)
#elif PACKETVER >= 20170104
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#endif
// Packet: 0x095e
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
// Packet: 0x095f
#if PACKETVER >= 20171011
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20171002
-packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 4)
#elif PACKETVER >= 20170405
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20170329
-packetLen(0x095f, 4) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 4)
#elif PACKETVER >= 20170222
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20170215
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20170104
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20171227
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 90)
#elif PACKETVER >= 20170823
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20170816
-packetLen(0x0960, -1) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, -1)
#elif PACKETVER >= 20170524
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0960, 26) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
#if PACKETVER >= 20171213
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20170927
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0961, 6) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 6)
#elif PACKETVER >= 20170628
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20170621
-packetLen(0x0961, 19) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 19)
#elif PACKETVER >= 20170118
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20170111
-packetLen(0x0961, -1) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, -1)
#elif PACKETVER >= 20170104
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20171129
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20171108
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0962, 6) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 6)
#elif PACKETVER >= 20170228
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20170222
-packetLen(0x0962, 8) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 8)
#elif PACKETVER >= 20170215
-packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 5)
#elif PACKETVER >= 20170125
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20170118
-packetLen(0x0962, 26) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
#if PACKETVER >= 20171115
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0963, 7) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 7)
#elif PACKETVER >= 20170801
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20170726
-packetLen(0x0963, -1) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, -1)
#elif PACKETVER >= 20170621
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20170614
-packetLen(0x0963, 12) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 12)
#elif PACKETVER >= 20170607
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0963, 6) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 6)
#elif PACKETVER >= 20170502
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20170426
-packetLen(0x0963, 8) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 8)
#elif PACKETVER >= 20170419
-packetLen(0x0963, 4) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 4)
#elif PACKETVER >= 20170104
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20171227
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0964, 26) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 26)
#elif PACKETVER >= 20170524
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20170517
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20170412
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20170405
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
#if PACKETVER >= 20171115
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20170426
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20170419
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20170201
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20170125
-packetLen(0x0965, 6) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20171206
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20171129
-packetLen(0x0966, 19) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 19)
#elif PACKETVER >= 20171108
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20171101
-packetLen(0x0966, 10) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 10)
#elif PACKETVER >= 20170927
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20170920
-packetLen(0x0966, 90) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 90)
#elif PACKETVER >= 20170726
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20170719
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20170208
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#elif PACKETVER >= 20170104
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20171115
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20171108
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20170531
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20170524
-packetLen(0x0967, 26) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20171129
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20171122
-packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, -1)
#elif PACKETVER >= 20170607
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20170531
-packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, -1)
#elif PACKETVER >= 20170524
-packetLen(0x0968, 6) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 6)
#elif PACKETVER >= 20170104
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20171227
-packetLen(0x0969, 6) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 6)
#elif PACKETVER >= 20170222
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20170215
-packetLen(0x0969, 5) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 5)
#elif PACKETVER >= 20170208
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20170201
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20170118
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20170111
-packetLen(0x0969, 26) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 26)
#elif PACKETVER >= 20170104
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20171227
-packetLen(0x096a, 18) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 18)
#elif PACKETVER >= 20171220
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171129
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20171122
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171115
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20171101
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171002
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170913
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170906
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170830
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170823
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170809
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170801
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170719
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170621
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170517
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170426
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170412
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170322
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170315
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170308
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170228
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170222
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170215
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170201
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20170125
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20170118
-packetLen(0x096a, 8) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 8)
#elif PACKETVER >= 20170104
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 10) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 10)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
// Packet: 0x0a0a
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
// Packet: 0x0a0b
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
// Packet: 0x0a0c
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
-packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 59)
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -8479,41 +8479,41 @@ packetLen(0x0a3f, 9)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
#if PACKETVER >= 20170830
-packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 20)
#elif PACKETVER >= 20170104
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
#endif
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -8528,7 +8528,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -8567,7 +8567,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -8585,10 +8585,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -8624,13 +8624,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -8645,7 +8645,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -8660,10 +8660,10 @@ packetLen(0x0a87, -1)
packetLen(0x0a88, 2)
// Packet: 0x0a89
-packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 57)
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -8672,7 +8672,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -8684,7 +8684,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -8699,16 +8699,16 @@ packetLen(0x0a94, 2)
packetLen(0x0a95, 4)
// Packet: 0x0a96
-packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 51)
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
// Packet: 0x0a98
#if PACKETVER >= 20170426
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
#elif PACKETVER >= 20170104
-packetLen(0x0a98, 12) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 12)
#endif
// Packet: 0x0a99
@@ -8719,10 +8719,10 @@ packetLen(0x0a99, 8)
#endif
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
packetLen(0x0a9c, 2)
@@ -8737,28 +8737,28 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
-packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 7)
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -8799,7 +8799,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
#if PACKETVER >= 20170118
@@ -8835,7 +8835,7 @@ packetLen(0x0ab8, 2)
// Packet: 0x0ab9
#if PACKETVER >= 20170111
-packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 39)
#endif
// Packet: 0x0aba
@@ -8855,14 +8855,14 @@ packetLen(0x0abc, -1)
// Packet: 0x0abd
#if PACKETVER >= 20170215
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
#endif
// Packet: 0x0abe
#if PACKETVER >= 20170228
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
#elif PACKETVER >= 20170222
-packetLen(0x0abe, 116) // ZC_WARPLIST
+packetLen(0x0abe, 116)
#endif
// Packet: 0x0abf
@@ -8874,17 +8874,17 @@ packetLen(0x0abf, 114)
// Packet: 0x0ac0
#if PACKETVER >= 20170228
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
#endif
// Packet: 0x0ac1
#if PACKETVER >= 20170228
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
#endif
// Packet: 0x0ac2
#if PACKETVER >= 20170228
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
#endif
// Packet: 0x0ac3
@@ -8894,12 +8894,12 @@ packetLen(0x0ac3, 2)
// Packet: 0x0ac4
#if PACKETVER >= 20170228
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
#endif
// Packet: 0x0ac5
#if PACKETVER >= 20170228
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
#endif
// Packet: 0x0ac6
@@ -8909,12 +8909,12 @@ packetLen(0x0ac6, 156)
// Packet: 0x0ac7
#if PACKETVER >= 20170228
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
#endif
// Packet: 0x0ac8
#if PACKETVER >= 20170308
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
#endif
// Packet: 0x0ac9
@@ -8929,12 +8929,12 @@ packetLen(0x0aca, 3)
// Packet: 0x0acb
#if PACKETVER >= 20170405
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
#endif
// Packet: 0x0acc
#if PACKETVER >= 20170405
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
#endif
// Packet: 0x0acd
@@ -8949,18 +8949,18 @@ packetLen(0x0ace, 4)
// Packet: 0x0acf
#if PACKETVER >= 20171115
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
#elif PACKETVER >= 20170705
-packetLen(0x0acf, 64) // CA_LOGIN_OTP
+packetLen(0x0acf, 64)
#elif PACKETVER >= 20170621
-packetLen(0x0acf, 57) // CA_LOGIN_OTP
+packetLen(0x0acf, 57)
#elif PACKETVER >= 20170614
-packetLen(0x0acf, 52) // CA_LOGIN_OTP
+packetLen(0x0acf, 52)
#endif
// Packet: 0x0ad0
#if PACKETVER >= 20170614
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
#endif
// Packet: 0x0ad1
@@ -9010,7 +9010,7 @@ packetLen(0x0ad9, -1)
// Packet: 0x0ada
#if PACKETVER >= 20170726
-packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+packetLen(0x0ada, 30)
#endif
// Packet: 0x0adb
@@ -9020,22 +9020,22 @@ packetLen(0x0adb, -1)
// Packet: 0x0adc
#if PACKETVER >= 20170906
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
#endif
// Packet: 0x0add
#if PACKETVER >= 20170913
-packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 22)
#endif
// Packet: 0x0ade
#if PACKETVER >= 20170920
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
#endif
// Packet: 0x0adf
#if PACKETVER >= 20170920
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
#endif
// Packet: 0x0ae0
@@ -9050,22 +9050,22 @@ packetLen(0x0ae1, 28)
// Packet: 0x0ae2
#if PACKETVER >= 20171115
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
#endif
// Packet: 0x0ae3
#if PACKETVER >= 20171213
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
#endif
// Packet: 0x0ae4
#if PACKETVER >= 20171206
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
#endif
// Packet: 0x0ae5
#if PACKETVER >= 20171206
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
#endif
// Packet: 0x0ae6
@@ -9085,7 +9085,7 @@ packetLen(0x0ae8, 2)
// Packet: 0x0ae9
#if PACKETVER >= 20171220
-packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 64)
#endif
// Packet: 0x0aea
diff --git a/src/common/packets/packets2017_len_zero.h b/src/common/packets/packets2017_len_zero.h
index 910de7ca9..ef5e5944e 100644
--- a/src/common/packets/packets2017_len_zero.h
+++ b/src/common/packets/packets2017_len_zero.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,2863 +25,2863 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
// Packet: 0x009e
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
// Packet: 0x018f
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
// Packet: 0x01c5
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
// Packet: 0x01d8
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
// Packet: 0x01d9
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
// Packet: 0x01da
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20171130
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20171123
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0202, 36) // CZ_ADD_FRIENDS
+packetLen(0x0202, 36)
#elif PACKETVER >= 20171115
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
// Packet: 0x022b
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
// Packet: 0x022c
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
// Packet: 0x022d
#if PACKETVER >= 20171130
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20171127
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20171123
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20171121
-packetLen(0x022d, -1) // CZ_COMMAND_MER
+packetLen(0x022d, -1)
#elif PACKETVER >= 20171115
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20171018
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#endif
// Packet: 0x022e
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
// Packet: 0x022f
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20171130
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20171127
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20171115
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20171018
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20171227
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0281, 10) // CZ_GANGSI_RANK
+packetLen(0x0281, 10)
#elif PACKETVER >= 20171214
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0281, 10) // CZ_GANGSI_RANK
+packetLen(0x0281, 10)
#elif PACKETVER >= 20171204
-packetLen(0x0281, 6) // CZ_GANGSI_RANK
+packetLen(0x0281, 6)
#elif PACKETVER >= 20171130
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20171121
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
// Packet: 0x0299
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
// Packet: 0x029a
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20171220
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20171214
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20171115
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20171018
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
// Packet: 0x02ed
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
// Packet: 0x02ee
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20171206
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20171204
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171130
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20171115
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20171018
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#endif
// Packet: 0x0360
#if PACKETVER >= 20171206
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20171130
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#endif
// Packet: 0x0361
#if PACKETVER >= 20171204
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0361, 18) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 18)
#elif PACKETVER >= 20171127
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20171115
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#endif
// Packet: 0x0362
#if PACKETVER >= 20171130
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20171123
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#endif
// Packet: 0x0363
#if PACKETVER >= 20171130
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20171123
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0363, -1) // CZ_ITEM_THROW2
+packetLen(0x0363, -1)
#elif PACKETVER >= 20171115
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#endif
// Packet: 0x0364
#if PACKETVER >= 20171130
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20171121
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#endif
// Packet: 0x0365
#if PACKETVER >= 20171130
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20171121
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20171018
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#endif
// Packet: 0x0366
#if PACKETVER >= 20171214
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0366, 6) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 6)
#elif PACKETVER >= 20171130
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20171018
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#endif
// Packet: 0x0367
#if PACKETVER >= 20171127
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0367, 5) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 5)
#elif PACKETVER >= 20171115
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#endif
// Packet: 0x0368
#if PACKETVER >= 20171206
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20171130
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#endif
// Packet: 0x0369
#if PACKETVER >= 20171206
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20171130
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20171018
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20171214
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20171130
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20171115
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#endif
// Packet: 0x0437
#if PACKETVER >= 20171206
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171130
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#endif
// Packet: 0x0438
#if PACKETVER >= 20171227
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0438, 6) // CZ_USE_SKILL2
+packetLen(0x0438, 6)
#elif PACKETVER >= 20171206
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20171130
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20171130
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171127
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20171121
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20171115
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20171018
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20171227
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171220
-packetLen(0x07ec, 6) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 6)
#elif PACKETVER >= 20171130
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171127
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20171121
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20171018
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20171130
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20171121
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20171206
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20171130
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20171121
-packetLen(0x0811, 5) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20171206
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20171130
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20171115
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20171227
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0819, 90) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 90)
#elif PACKETVER >= 20171206
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20171130
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20171227
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20171214
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0835, 6) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 6)
#elif PACKETVER >= 20171115
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20171018
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20171227
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0838, 6) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 6)
#elif PACKETVER >= 20171206
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20171130
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20171018
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20171214
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20171206
-packetLen(0x083c, 8) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 8)
#elif PACKETVER >= 20171204
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20171130
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20171115
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20171018
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
// Packet: 0x085b
#if PACKETVER >= 20171220
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20171214
-packetLen(0x085b, 36) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 36)
#elif PACKETVER >= 20171206
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20171204
-packetLen(0x085b, 8) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 8)
#elif PACKETVER >= 20171018
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
// Packet: 0x085e
#if PACKETVER >= 20171220
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#elif PACKETVER >= 20171214
-packetLen(0x085e, 18) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 18)
#elif PACKETVER >= 20171018
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
#endif
// Packet: 0x085f
#if PACKETVER >= 20171227
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20171220
-packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, -1)
#elif PACKETVER >= 20171127
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20171123
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20171018
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20171227
-packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 5)
#elif PACKETVER >= 20171214
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0860, 4) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 4)
#elif PACKETVER >= 20171127
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0860, 19) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 19)
#elif PACKETVER >= 20171121
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0860, 4) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 4)
#elif PACKETVER >= 20171018
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#endif
// Packet: 0x0861
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
// Packet: 0x0862
#if PACKETVER >= 20171220
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20171206
-packetLen(0x0862, 5) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
// Packet: 0x0864
#if PACKETVER >= 20171220
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0864, 8) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 8)
#elif PACKETVER >= 20171206
-packetLen(0x0864, 5) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 5)
#elif PACKETVER >= 20171204
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0864, 6) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
// Packet: 0x0866
#if PACKETVER >= 20171123
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0866, 8) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#endif
// Packet: 0x0867
#if PACKETVER >= 20171227
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0867, 6) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
#if PACKETVER >= 20171220
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20171214
-packetLen(0x086a, 5) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 5)
#elif PACKETVER >= 20171018
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
// Packet: 0x086c
#if PACKETVER >= 20171227
-packetLen(0x086c, 7) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 7)
#elif PACKETVER >= 20171220
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20171018
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
// Packet: 0x086e
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
// Packet: 0x086f
#if PACKETVER >= 20171206
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20171204
-packetLen(0x086f, 19) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 19)
#elif PACKETVER >= 20171130
-packetLen(0x086f, 12) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 12)
#elif PACKETVER >= 20171018
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20171214
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0870, 8) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20171227
-packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 6)
#elif PACKETVER >= 20171220
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0871, 19) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 19)
#elif PACKETVER >= 20171018
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -2899,1955 +2899,1955 @@ packetLen(0x0872, 2)
// Packet: 0x0873
#if PACKETVER >= 20171220
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0873, -1) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
#endif
// Packet: 0x0874
#if PACKETVER >= 20171227
-packetLen(0x0874, 19) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 19)
#elif PACKETVER >= 20171018
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20171204
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0875, 6) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20171227
-packetLen(0x0876, 10) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 10)
#elif PACKETVER >= 20171127
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0876, 4) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 4)
#elif PACKETVER >= 20171018
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#endif
// Packet: 0x0877
#if PACKETVER >= 20171227
-packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20171227
-packetLen(0x0878, 6) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 6)
#elif PACKETVER >= 20171214
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0878, 10) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 10)
#elif PACKETVER >= 20171204
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0878, -1) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
// Packet: 0x087a
#if PACKETVER >= 20171227
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20171220
-packetLen(0x087a, 12) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 12)
#elif PACKETVER >= 20171214
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20171206
-packetLen(0x087a, 18) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 18)
#elif PACKETVER >= 20171018
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20171227
-packetLen(0x087b, 8) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 8)
#elif PACKETVER >= 20171214
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20171206
-packetLen(0x087b, -1) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, -1)
#elif PACKETVER >= 20171018
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
#if PACKETVER >= 20171206
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20171204
-packetLen(0x087d, -1) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, -1)
#elif PACKETVER >= 20171018
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20171227
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x087e, 4) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 4)
#elif PACKETVER >= 20171018
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
// Packet: 0x0881
#if PACKETVER >= 20171204
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 10)
#elif PACKETVER >= 20171121
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0881, 19) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 19)
#elif PACKETVER >= 20171018
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20171127
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0882, -1) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
// Packet: 0x0884
#if PACKETVER >= 20171204
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0884, 6) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
#endif
// Packet: 0x0885
#if PACKETVER >= 20171227
-packetLen(0x0885, 8) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 8)
#elif PACKETVER >= 20171214
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0885, 6) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 6)
#elif PACKETVER >= 20171204
-packetLen(0x0885, 90) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 90)
#elif PACKETVER >= 20171018
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
#endif
// Packet: 0x0886
#if PACKETVER >= 20171220
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20171206
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0887, 5) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 5)
#elif PACKETVER >= 20171130
-packetLen(0x0887, 36) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 36)
#elif PACKETVER >= 20171018
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
// Packet: 0x0889
#if PACKETVER >= 20171227
-packetLen(0x0889, -1) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, -1)
#elif PACKETVER >= 20171123
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
// Packet: 0x088b
#if PACKETVER >= 20171220
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20171214
-packetLen(0x088b, 4) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 4)
#elif PACKETVER >= 20171204
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#elif PACKETVER >= 20171130
-packetLen(0x088b, 8) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 8)
#elif PACKETVER >= 20171018
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
#endif
// Packet: 0x088c
#if PACKETVER >= 20171220
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20171214
-packetLen(0x088c, 8) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 8)
#elif PACKETVER >= 20171127
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20171123
-packetLen(0x088c, 26) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 26)
#elif PACKETVER >= 20171018
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20171214
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20171206
-packetLen(0x088d, 26) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 26)
#elif PACKETVER >= 20171018
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
// Packet: 0x088f
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
// Packet: 0x0890
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
// Packet: 0x0891
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
// Packet: 0x0892
#if PACKETVER >= 20171220
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0892, 10) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 10)
#elif PACKETVER >= 20171206
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0892, 4) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 4)
#elif PACKETVER >= 20171123
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0892, 18) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 18)
#elif PACKETVER >= 20171018
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20171214
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0893, 26) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 26)
#elif PACKETVER >= 20171130
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20171127
-packetLen(0x0893, 36) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 36)
#elif PACKETVER >= 20171018
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
#if PACKETVER >= 20171227
-packetLen(0x0894, 18) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 18)
#elif PACKETVER >= 20171220
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0894, 6) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 6)
#elif PACKETVER >= 20171204
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0894, 5) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
#endif
// Packet: 0x0895
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
// Packet: 0x0896
#if PACKETVER >= 20171206
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0896, 36) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 36)
#elif PACKETVER >= 20171127
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0896, 5) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#endif
// Packet: 0x0897
#if PACKETVER >= 20171220
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0897, -1) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, -1)
#elif PACKETVER >= 20171206
-packetLen(0x0897, 5) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
// Packet: 0x0899
#if PACKETVER >= 20171227
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0899, 5) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 5)
#elif PACKETVER >= 20171204
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
// Packet: 0x089b
#if PACKETVER >= 20171227
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20171220
-packetLen(0x089b, 8) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 8)
#elif PACKETVER >= 20171018
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
// Packet: 0x089d
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
// Packet: 0x089e
#if PACKETVER >= 20171214
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20171206
-packetLen(0x089e, 12) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 12)
#elif PACKETVER >= 20171127
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20171123
-packetLen(0x089e, 18) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 18)
#elif PACKETVER >= 20171121
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20171018
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
#if PACKETVER >= 20171227
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#elif PACKETVER >= 20171018
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#endif
// Packet: 0x08a0
#if PACKETVER >= 20171204
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#elif PACKETVER >= 20171130
-packetLen(0x08a0, 5) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 5)
#elif PACKETVER >= 20171018
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
#endif
// Packet: 0x08a1
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
// Packet: 0x08a2
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
// Packet: 0x08a3
#if PACKETVER >= 20171227
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20171220
-packetLen(0x08a3, -1) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, -1)
#elif PACKETVER >= 20171214
-packetLen(0x08a3, 26) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 26)
#elif PACKETVER >= 20171018
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
#if PACKETVER >= 20171214
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#elif PACKETVER >= 20171206
-packetLen(0x08a4, -1) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, -1)
#elif PACKETVER >= 20171018
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
#endif
// Packet: 0x08a5
#if PACKETVER >= 20171227
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20171220
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20171214
-packetLen(0x08a5, 90) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 90)
#elif PACKETVER >= 20171018
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
// Packet: 0x08a7
#if PACKETVER >= 20171204
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#elif PACKETVER >= 20171130
-packetLen(0x08a7, -1) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, -1)
#elif PACKETVER >= 20171018
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
#endif
// Packet: 0x08a8
#if PACKETVER >= 20171127
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#elif PACKETVER >= 20171123
-packetLen(0x08a8, 26) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 26)
#elif PACKETVER >= 20171018
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
#endif
// Packet: 0x08a9
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
// Packet: 0x08aa
#if PACKETVER >= 20171206
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20171204
-packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 26)
#elif PACKETVER >= 20171018
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
// Packet: 0x08ac
#if PACKETVER >= 20171214
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20171206
-packetLen(0x08ac, 7) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 7)
#elif PACKETVER >= 20171018
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20171227
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20171220
-packetLen(0x08ad, 19) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 19)
#elif PACKETVER >= 20171123
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20171121
-packetLen(0x08ad, 26) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 26)
#elif PACKETVER >= 20171018
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20171206
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0917, 8) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20171123
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0918, 6) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
// Packet: 0x091a
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
// Packet: 0x091b
#if PACKETVER >= 20171206
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20171204
-packetLen(0x091b, 26) // ZC_PRNPC_STATE
+packetLen(0x091b, 26)
#elif PACKETVER >= 20171018
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20171227
-packetLen(0x091c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 6)
#elif PACKETVER >= 20171121
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20171115
-packetLen(0x091c, 5) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 5)
#elif PACKETVER >= 20171018
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
// Packet: 0x091e
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
// Packet: 0x091f
#if PACKETVER >= 20171227
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20171220
-packetLen(0x091f, -1) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, -1)
#elif PACKETVER >= 20171123
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20171121
-packetLen(0x091f, 19) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 19)
#elif PACKETVER >= 20171018
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20171227
-packetLen(0x0920, -1) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, -1)
#elif PACKETVER >= 20171214
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0920, 19) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 19)
#elif PACKETVER >= 20171018
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20171227
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0921, 5) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 5)
#elif PACKETVER >= 20171206
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0921, 18) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 18)
#elif PACKETVER >= 20171018
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20171121
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0922, 36) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 36)
#elif PACKETVER >= 20171018
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
// Packet: 0x0924
#if PACKETVER >= 20171206
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0924, 5) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
#if PACKETVER >= 20171227
-packetLen(0x0925, 4) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 4)
#elif PACKETVER >= 20171204
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0925, -1) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
#endif
// Packet: 0x0926
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
// Packet: 0x0927
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
// Packet: 0x0928
#if PACKETVER >= 20171204
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0928, 4) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 4)
#elif PACKETVER >= 20171123
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0928, 26) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
#endif
// Packet: 0x0929
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
// Packet: 0x092a
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
// Packet: 0x092b
#if PACKETVER >= 20171127
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#elif PACKETVER >= 20171123
-packetLen(0x092b, 8) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 8)
#elif PACKETVER >= 20171018
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
#endif
// Packet: 0x092c
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
// Packet: 0x092d
#if PACKETVER >= 20171227
-packetLen(0x092d, 12) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 12)
#elif PACKETVER >= 20171220
-packetLen(0x092d, 18) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 18)
#elif PACKETVER >= 20171018
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20171227
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20171220
-packetLen(0x092e, 26) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 26)
#elif PACKETVER >= 20171018
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
// Packet: 0x0930
#if PACKETVER >= 20171227
-packetLen(0x0930, 36) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 36)
#elif PACKETVER >= 20171204
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0930, 19) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 19)
#elif PACKETVER >= 20171127
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20171204
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0931, 26) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20171227
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0932, 26) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20171220
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0933, 7) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 7)
#elif PACKETVER >= 20171018
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
#if PACKETVER >= 20171227
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0934, 8) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
#endif
// Packet: 0x0935
#if PACKETVER >= 20171204
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0935, 8) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 8)
#elif PACKETVER >= 20171127
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0935, 8) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#endif
// Packet: 0x0936
#if PACKETVER >= 20171214
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0936, 8) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
#endif
// Packet: 0x0937
#if PACKETVER >= 20171227
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20171220
-packetLen(0x0937, 7) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 7)
#elif PACKETVER >= 20171206
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20171204
-packetLen(0x0937, 8) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
// Packet: 0x0939
#if PACKETVER >= 20171227
-packetLen(0x0939, 6) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
#if PACKETVER >= 20171214
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20171206
-packetLen(0x093a, -1) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, -1)
#elif PACKETVER >= 20171204
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#elif PACKETVER >= 20171130
-packetLen(0x093a, 7) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 7)
#elif PACKETVER >= 20171018
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
#endif
// Packet: 0x093b
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
// Packet: 0x093c
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
// Packet: 0x093d
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
// Packet: 0x093e
#if PACKETVER >= 20171227
-packetLen(0x093e, 6) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 6)
#elif PACKETVER >= 20171018
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
// Packet: 0x0940
#if PACKETVER >= 20171214
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0940, 90) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 90)
#elif PACKETVER >= 20171018
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20171227
-packetLen(0x0941, 26) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 26)
#elif PACKETVER >= 20171214
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20171018
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
// Packet: 0x0943
#if PACKETVER >= 20171123
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0943, 8) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
// Packet: 0x0945
#if PACKETVER >= 20171227
-packetLen(0x0945, 26) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20171227
-packetLen(0x0946, 5) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20171204
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0947, -1) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, -1)
#elif PACKETVER >= 20171127
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0947, 36) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 36)
#elif PACKETVER >= 20171018
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
// Packet: 0x0949
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
// Packet: 0x094a
#if PACKETVER >= 20171220
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20171214
-packetLen(0x094a, 5) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 5)
#elif PACKETVER >= 20171018
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
#if PACKETVER >= 20171227
-packetLen(0x094b, -1) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, -1)
#elif PACKETVER >= 20171018
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
#if PACKETVER >= 20171204
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#elif PACKETVER >= 20171130
-packetLen(0x094c, 5) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 5)
#elif PACKETVER >= 20171018
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
#endif
// Packet: 0x094d
#if PACKETVER >= 20171227
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20171220
-packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 10)
#elif PACKETVER >= 20171214
-packetLen(0x094d, 5) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 5)
#elif PACKETVER >= 20171018
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
// Packet: 0x094f
#if PACKETVER >= 20171220
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20171214
-packetLen(0x094f, -1) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, -1)
#elif PACKETVER >= 20171204
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#elif PACKETVER >= 20171130
-packetLen(0x094f, 90) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 90)
#elif PACKETVER >= 20171018
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
#endif
// Packet: 0x0950
#if PACKETVER >= 20171123
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20171121
-packetLen(0x0950, 4) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 4)
#elif PACKETVER >= 20171018
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20171220
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0951, 26) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
// Packet: 0x0953
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
// Packet: 0x0954
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
// Packet: 0x0955
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
// Packet: 0x0956
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
// Packet: 0x0957
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
// Packet: 0x0958
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
// Packet: 0x0959
#if PACKETVER >= 20171214
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20171206
-packetLen(0x0959, 36) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 36)
#elif PACKETVER >= 20171121
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0959, 5) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 5)
#elif PACKETVER >= 20171018
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20171220
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20171214
-packetLen(0x095a, 8) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 8)
#elif PACKETVER >= 20171018
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
#if PACKETVER >= 20171227
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20171220
-packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 36)
#elif PACKETVER >= 20171214
-packetLen(0x095b, 12) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 12)
#elif PACKETVER >= 20171204
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20171130
-packetLen(0x095b, 6) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 6)
#elif PACKETVER >= 20171018
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#endif
// Packet: 0x095c
#if PACKETVER >= 20171214
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20171206
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20171018
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
// Packet: 0x095e
#if PACKETVER >= 20171227
-packetLen(0x095e, 5) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 5)
#elif PACKETVER >= 20171018
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
#if PACKETVER >= 20171214
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20171206
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20171204
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20171130
-packetLen(0x095f, 26) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 26)
#elif PACKETVER >= 20171018
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#endif
// Packet: 0x0960
#if PACKETVER >= 20171220
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20171206
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0960, 6) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 6)
#elif PACKETVER >= 20171127
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20171123
-packetLen(0x0960, 8) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 8)
#elif PACKETVER >= 20171018
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#endif
// Packet: 0x0961
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
// Packet: 0x0962
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
// Packet: 0x0963
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
// Packet: 0x0964
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
// Packet: 0x0965
#if PACKETVER >= 20171204
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#elif PACKETVER >= 20171130
-packetLen(0x0965, 10) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 10)
#elif PACKETVER >= 20171018
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
#endif
// Packet: 0x0966
#if PACKETVER >= 20171121
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20171115
-packetLen(0x0966, 26) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 26)
#elif PACKETVER >= 20171018
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#endif
// Packet: 0x0967
#if PACKETVER >= 20171227
-packetLen(0x0967, 10) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 10)
#elif PACKETVER >= 20171018
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20171227
-packetLen(0x0968, -1) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
#if PACKETVER >= 20171220
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20171214
-packetLen(0x0969, -1) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, -1)
#elif PACKETVER >= 20171018
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20171227
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171220
-packetLen(0x096a, 5) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 5)
#elif PACKETVER >= 20171214
-packetLen(0x096a, 10) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 10)
#elif PACKETVER >= 20171206
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171204
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20171130
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20171115
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20171018
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
// Packet: 0x09ae
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
// Packet: 0x09b3
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
// Packet: 0x09c4
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
// Packet: 0x0a0a
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
// Packet: 0x0a0b
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
// Packet: 0x0a0c
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
-packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 59)
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -4865,37 +4865,37 @@ packetLen(0x0a3f, 9)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
-packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 20)
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -4910,7 +4910,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -4949,7 +4949,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -4967,10 +4967,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -5006,13 +5006,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -5027,7 +5027,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -5042,10 +5042,10 @@ packetLen(0x0a87, -1)
packetLen(0x0a88, 2)
// Packet: 0x0a89
-packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 57)
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -5054,7 +5054,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -5066,7 +5066,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -5081,22 +5081,22 @@ packetLen(0x0a94, 2)
packetLen(0x0a95, 4)
// Packet: 0x0a96
-packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 51)
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
// Packet: 0x0a98
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
// Packet: 0x0a99
packetLen(0x0a99, 4)
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
packetLen(0x0a9c, 2)
@@ -5111,28 +5111,28 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
-packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 7)
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -5165,7 +5165,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
packetLen(0x0ab3, 19)
@@ -5186,7 +5186,7 @@ packetLen(0x0ab7, 4)
packetLen(0x0ab8, 2)
// Packet: 0x0ab9
-packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 39)
// Packet: 0x0aba
packetLen(0x0aba, 2)
@@ -5198,40 +5198,40 @@ packetLen(0x0abb, 2)
packetLen(0x0abc, -1)
// Packet: 0x0abd
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
// Packet: 0x0abe
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
// Packet: 0x0abf
packetLen(0x0abf, -1)
// Packet: 0x0ac0
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
// Packet: 0x0ac1
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
// Packet: 0x0ac2
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
// Packet: 0x0ac3
packetLen(0x0ac3, 2)
// Packet: 0x0ac4
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
// Packet: 0x0ac5
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
// Packet: 0x0ac6
packetLen(0x0ac6, 156)
// Packet: 0x0ac7
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
// Packet: 0x0ac8
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
// Packet: 0x0ac9
packetLen(0x0ac9, -1)
@@ -5240,10 +5240,10 @@ packetLen(0x0ac9, -1)
packetLen(0x0aca, 3)
// Packet: 0x0acb
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
// Packet: 0x0acc
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
// Packet: 0x0acd
packetLen(0x0acd, 23)
@@ -5253,13 +5253,13 @@ packetLen(0x0ace, 4)
// Packet: 0x0acf
#if PACKETVER >= 20171113
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
#elif PACKETVER >= 20171018
-packetLen(0x0acf, 64) // CA_LOGIN_OTP
+packetLen(0x0acf, 64)
#endif
// Packet: 0x0ad0
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
// Packet: 0x0ad1
packetLen(0x0ad1, -1)
@@ -5289,22 +5289,22 @@ packetLen(0x0ad8, 8)
packetLen(0x0ad9, -1)
// Packet: 0x0ada
-packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+packetLen(0x0ada, 30)
// Packet: 0x0adb
packetLen(0x0adb, -1)
// Packet: 0x0adc
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
// Packet: 0x0add
-packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 22)
// Packet: 0x0ade
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
// Packet: 0x0adf
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
// Packet: 0x0ae0
packetLen(0x0ae0, 30)
@@ -5316,22 +5316,22 @@ packetLen(0x0ae1, 28)
// Packet: 0x0ae2
#if PACKETVER >= 20171109
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
#endif
// Packet: 0x0ae3
#if PACKETVER >= 20171123
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
#endif
// Packet: 0x0ae4
#if PACKETVER >= 20171130
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
#endif
// Packet: 0x0ae5
#if PACKETVER >= 20171130
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
#endif
// Packet: 0x0ae6
@@ -5351,7 +5351,7 @@ packetLen(0x0ae8, 2)
// Packet: 0x0ae9
#if PACKETVER >= 20171220
-packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 64)
#endif
// Packet: 0x0aea
diff --git a/src/common/packets/packets2018_len_main.h b/src/common/packets/packets2018_len_main.h
index c7f4c0972..3712d0656 100644
--- a/src/common/packets/packets2018_len_main.h
+++ b/src/common/packets/packets2018_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,3031 +25,3031 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
#if PACKETVER >= 20181121
-packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+packetLen(0x009d, 19)
#elif PACKETVER >= 20180103
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
#endif
// Packet: 0x009e
#if PACKETVER >= 20181121
-packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 19)
#elif PACKETVER >= 20180103
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
#endif
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
#if PACKETVER >= 20181121
-packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 33)
#elif PACKETVER >= 20180103
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#endif
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
#if PACKETVER >= 20181121
-packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 29)
#elif PACKETVER >= 20180103
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#endif
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
#if PACKETVER >= 20181121
-packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 31)
#elif PACKETVER >= 20180103
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
#endif
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
#if PACKETVER >= 20181121
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20180103
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#endif
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
#if PACKETVER >= 20181121
-packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 14)
#elif PACKETVER >= 20180103
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#endif
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
#if PACKETVER >= 20181121
-packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 31)
#elif PACKETVER >= 20180103
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
#endif
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
#if PACKETVER >= 20181121
-packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+packetLen(0x018e, 18)
#elif PACKETVER >= 20180103
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#endif
// Packet: 0x018f
#if PACKETVER >= 20181121
-packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 8)
#elif PACKETVER >= 20180103
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#endif
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
#if PACKETVER >= 20181121
-packetLen(0x01a3, 7) // ZC_FEED_PET
+packetLen(0x01a3, 7)
#elif PACKETVER >= 20180103
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#endif
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
#if PACKETVER >= 20181121
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
#elif PACKETVER >= 20180103
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#endif
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
#if PACKETVER >= 20181121
-packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 32)
#elif PACKETVER >= 20180103
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#endif
// Packet: 0x01c5
#if PACKETVER >= 20181121
-packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 32)
#elif PACKETVER >= 20180103
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#endif
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
#if PACKETVER >= 20181121
-packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 15)
#elif PACKETVER >= 20180103
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
#endif
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
#if PACKETVER >= 20181121
-packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 15)
#elif PACKETVER >= 20180103
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
#endif
// Packet: 0x01d8
#if PACKETVER >= 20181121
-packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 58)
#elif PACKETVER >= 20180103
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
#endif
// Packet: 0x01d9
#if PACKETVER >= 20181121
-packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 57)
#elif PACKETVER >= 20180103
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
#endif
// Packet: 0x01da
#if PACKETVER >= 20181121
-packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 64)
#elif PACKETVER >= 20180103
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#endif
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
#if PACKETVER >= 20181121
-packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 25)
#elif PACKETVER >= 20180103
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#endif
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20180315
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20180307
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20180124
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
#if PACKETVER >= 20180307
-packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+packetLen(0x0206, 35)
#elif PACKETVER >= 20180103
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#endif
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
#if PACKETVER >= 20181121
-packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
#endif
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
#if PACKETVER >= 20181121
-packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 62)
#elif PACKETVER >= 20180103
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20181121
-packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 61)
#elif PACKETVER >= 20180103
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20181121
-packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 69)
#elif PACKETVER >= 20180103
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#endif
// Packet: 0x022d
#if PACKETVER >= 20180315
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20180124
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20180117
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20180103
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
#if PACKETVER >= 20181121
-packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 73)
#elif PACKETVER >= 20180103
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#endif
// Packet: 0x022f
#if PACKETVER >= 20181121
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
#elif PACKETVER >= 20180103
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20180315
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#elif PACKETVER >= 20180124
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20180117
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20180103
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
#if PACKETVER >= 20181121
-packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 8)
#elif PACKETVER >= 20180103
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
#endif
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20180315
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#elif PACKETVER >= 20180314
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#elif PACKETVER >= 20180213
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20180124
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
#if PACKETVER >= 20181121
-packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
#endif
// Packet: 0x0299
#if PACKETVER >= 20181121
-packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
#endif
// Packet: 0x029a
#if PACKETVER >= 20181121
-packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 37)
#elif PACKETVER >= 20180103
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
#if PACKETVER >= 20181121
-packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 32)
#elif PACKETVER >= 20180103
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
#endif
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20180315
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20180117
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20180103
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
#if PACKETVER >= 20181121
-packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 39)
#elif PACKETVER >= 20180103
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
#if PACKETVER >= 20181121
-packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 71)
#elif PACKETVER >= 20180103
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
#endif
// Packet: 0x02ed
#if PACKETVER >= 20181121
-packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 63)
#elif PACKETVER >= 20180103
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
#endif
// Packet: 0x02ee
#if PACKETVER >= 20181121
-packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 64)
#elif PACKETVER >= 20180103
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#endif
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20180315
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20180314
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20180307
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20180213
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20180117
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20180103
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#endif
// Packet: 0x0360
#if PACKETVER >= 20180315
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+packetLen(0x0360, 4)
#elif PACKETVER >= 20180117
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#endif
// Packet: 0x0361
#if PACKETVER >= 20180315
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20180314
-packetLen(0x0361, 12) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 12)
#elif PACKETVER >= 20180124
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20180315
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180124
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#endif
// Packet: 0x0363
#if PACKETVER >= 20180315
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20180124
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#endif
// Packet: 0x0364
#if PACKETVER >= 20180315
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180213
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180124
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#endif
// Packet: 0x0365
#if PACKETVER >= 20180315
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20180213
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20180124
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#endif
// Packet: 0x0366
#if PACKETVER >= 20180314
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20180307
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20180213
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#endif
// Packet: 0x0367
#if PACKETVER >= 20180315
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20180315
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#endif
// Packet: 0x0369
#if PACKETVER >= 20180315
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20180314
-packetLen(0x0369, 5) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 5)
#elif PACKETVER >= 20180221
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0369, 36) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 36)
#elif PACKETVER >= 20180117
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20180315
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20180314
-packetLen(0x0436, 6) // CZ_ENTER2
+packetLen(0x0436, 6)
#elif PACKETVER >= 20180307
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20180207
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0436, 8) // CZ_ENTER2
+packetLen(0x0436, 8)
#elif PACKETVER >= 20180117
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#endif
// Packet: 0x0437
#if PACKETVER >= 20180315
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20180314
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#endif
// Packet: 0x0438
#if PACKETVER >= 20180315
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20180213
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
#if PACKETVER >= 20181121
-packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
#endif
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20180315
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20180314
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20180307
-packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 19)
#elif PACKETVER >= 20180213
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20180207
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20180124
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20180117
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20180103
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20180315
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180213
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20180207
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180124
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20180117
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180103
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20180315
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20180221
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20180207
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20180124
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20180117
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
#if PACKETVER >= 20181121
-packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 30)
#elif PACKETVER >= 20180103
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
#endif
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20180315
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20180213
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20180315
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20180221
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0817, 90) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20180315
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180124
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
#if PACKETVER >= 20181121
-packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 12)
#elif PACKETVER >= 20180103
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
#endif
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
#if PACKETVER >= 20181121
-packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
#endif
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20180315
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20180307
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20180213
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20181121
-packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 14)
#elif PACKETVER >= 20180315
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
#elif PACKETVER >= 20180213
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20180117
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20180103
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
#if PACKETVER >= 20181121
-packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 21)
#elif PACKETVER >= 20180103
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
#endif
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20180315
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20180314
-packetLen(0x085a, 6) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 6)
#elif PACKETVER >= 20180221
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20180213
-packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 12)
#elif PACKETVER >= 20180103
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
// Packet: 0x085e
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
// Packet: 0x085f
#if PACKETVER >= 20180207
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20180124
-packetLen(0x085f, 36) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 36)
#elif PACKETVER >= 20180103
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
// Packet: 0x0861
#if PACKETVER >= 20180314
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0861, 90) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20180315
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
#if PACKETVER >= 20180315
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0863, -1) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
#if PACKETVER >= 20180314
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20180117
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 4)
#endif
// Packet: 0x0866
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
// Packet: 0x0867
#if PACKETVER >= 20180307
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20180315
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0868, 8) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 8)
#elif PACKETVER >= 20180207
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0868, 4) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
#if PACKETVER >= 20180207
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20180124
-packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 18)
#elif PACKETVER >= 20180103
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20180117
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20180103
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#endif
// Packet: 0x086c
#if PACKETVER >= 20180314
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20180221
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20180103
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20180117
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20180103
-packetLen(0x086d, 12) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 12)
#endif
// Packet: 0x086e
#if PACKETVER >= 20180315
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20180314
-packetLen(0x086e, 8) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 8)
#elif PACKETVER >= 20180103
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20180307
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20180221
-packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, -1)
#elif PACKETVER >= 20180213
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20180207
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20180124
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20180103
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20180314
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0870, 19) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 19)
#elif PACKETVER >= 20180103
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20180307
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -3064,1926 +3064,1926 @@ packetLen(0x0872, 6)
#endif
// Packet: 0x0873
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
// Packet: 0x0874
#if PACKETVER >= 20180315
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0874, -1) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, -1)
#elif PACKETVER >= 20180221
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20180221
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20180124
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20180307
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20180117
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#endif
// Packet: 0x0877
#if PACKETVER >= 20180314
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0877, 5) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20180221
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20180307
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20180117
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0879, -1) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, -1)
#endif
// Packet: 0x087a
#if PACKETVER >= 20180315
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20180314
-packetLen(0x087a, 19) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 19)
#elif PACKETVER >= 20180207
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20180124
-packetLen(0x087a, 26) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 26)
#elif PACKETVER >= 20180103
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20180221
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20180213
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20180103
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
#if PACKETVER >= 20180307
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 5)
#elif PACKETVER >= 20180103
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
#if PACKETVER >= 20180307
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20180307
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0881, 18) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 18)
#elif PACKETVER >= 20180213
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0881, 26) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20180221
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0882, 10) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20180307
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
// Packet: 0x0885
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
// Packet: 0x0886
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
// Packet: 0x0887
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
// Packet: 0x0888
#if PACKETVER >= 20180315
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0888, 5) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 5)
#elif PACKETVER >= 20180207
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 19)
#elif PACKETVER >= 20180103
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
// Packet: 0x088a
#if PACKETVER >= 20180315
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20180314
-packetLen(0x088a, 10) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 10)
#elif PACKETVER >= 20180103
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
// Packet: 0x088c
#if PACKETVER >= 20180221
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20180213
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20180103
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20180315
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20180314
-packetLen(0x088d, 36) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 36)
#elif PACKETVER >= 20180307
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20180103
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
// Packet: 0x088f
#if PACKETVER >= 20180307
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20180221
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20180103
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20180207
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20180307
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0891, 4) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20180221
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20180314
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0893, 10) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
// Packet: 0x0895
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
// Packet: 0x0896
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
// Packet: 0x0897
#if PACKETVER >= 20180307
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0897, 19) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 19)
#elif PACKETVER >= 20180103
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20180221
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20180117
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#endif
// Packet: 0x089a
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
// Packet: 0x089b
#if PACKETVER >= 20180315
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20180314
-packetLen(0x089b, 90) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 90)
#elif PACKETVER >= 20180307
-packetLen(0x089b, 12) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 12)
#elif PACKETVER >= 20180103
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20180221
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20180213
-packetLen(0x089c, 4) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 4)
#elif PACKETVER >= 20180103
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20180307
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20180103
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
// Packet: 0x089f
#if PACKETVER >= 20180117
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20180103
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#endif
// Packet: 0x08a0
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
// Packet: 0x08a1
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
// Packet: 0x08a2
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
// Packet: 0x08a3
#if PACKETVER >= 20180221
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20180213
-packetLen(0x08a3, 19) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 19)
#elif PACKETVER >= 20180103
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
// Packet: 0x08a5
#if PACKETVER >= 20180221
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20180213
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20180103
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
// Packet: 0x08a7
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
// Packet: 0x08a8
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
// Packet: 0x08a9
#if PACKETVER >= 20180117
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20180103
-packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 5)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20180314
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20180307
-packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 26)
#elif PACKETVER >= 20180103
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20180314
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20180307
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20180117
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20180103
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20180117
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20180103
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20180221
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20180213
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20180103
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20180314
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 10)
#elif PACKETVER >= 20180221
-packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 36)
#elif PACKETVER >= 20180213
-packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
// Packet: 0x0919
#if PACKETVER >= 20180207
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0919, 26) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
// Packet: 0x091b
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
// Packet: 0x091c
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
// Packet: 0x091d
#if PACKETVER >= 20180117
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20180103
-packetLen(0x091d, 7) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 7)
#endif
// Packet: 0x091e
#if PACKETVER >= 20180307
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20180221
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20180103
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
// Packet: 0x0920
#if PACKETVER >= 20180314
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20180315
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0921, 7) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20180221
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
// Packet: 0x0924
#if PACKETVER >= 20180221
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0924, 10) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
// Packet: 0x0926
#if PACKETVER >= 20180221
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#elif PACKETVER >= 20180117
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#endif
// Packet: 0x0927
#if PACKETVER >= 20180117
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 18)
#endif
// Packet: 0x0928
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
// Packet: 0x0929
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
// Packet: 0x092a
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
// Packet: 0x092b
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
// Packet: 0x092c
#if PACKETVER >= 20180213
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20180207
-packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 5)
#elif PACKETVER >= 20180117
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20180103
-packetLen(0x092c, 8) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 8)
#endif
// Packet: 0x092d
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
// Packet: 0x092e
#if PACKETVER >= 20180213
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20180207
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20180103
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
#if PACKETVER >= 20180315
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#elif PACKETVER >= 20180314
-packetLen(0x092f, 5) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 5)
#elif PACKETVER >= 20180103
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
#endif
// Packet: 0x0930
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
// Packet: 0x0931
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
// Packet: 0x0932
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
// Packet: 0x0933
#if PACKETVER >= 20180315
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0933, 8) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 8)
#elif PACKETVER >= 20180221
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0933, 7) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
// Packet: 0x0935
#if PACKETVER >= 20180315
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0935, 26) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 26)
#elif PACKETVER >= 20180117
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#endif
// Packet: 0x0936
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
// Packet: 0x0937
#if PACKETVER >= 20180314
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20180117
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0938, 10) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 10)
#endif
// Packet: 0x0939
#if PACKETVER >= 20180314
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0939, 36) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
// Packet: 0x093b
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
// Packet: 0x093c
#if PACKETVER >= 20180221
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20180213
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20180103
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20180307
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 26)
#elif PACKETVER >= 20180103
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
// Packet: 0x093f
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
// Packet: 0x0940
#if PACKETVER >= 20180213
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20180124
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20180314
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20180117
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0941, 5) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 5)
#endif
// Packet: 0x0942
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
// Packet: 0x0943
#if PACKETVER >= 20180221
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0943, 18) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20180314
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
#if PACKETVER >= 20180315
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0945, 18) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
#endif
// Packet: 0x0946
#if PACKETVER >= 20180207
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20180117
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 36)
#endif
// Packet: 0x0947
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
// Packet: 0x0948
#if PACKETVER >= 20180314
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 26)
#elif PACKETVER >= 20180117
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 5)
#endif
// Packet: 0x0949
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
// Packet: 0x094a
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
// Packet: 0x094b
#if PACKETVER >= 20180307
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20180221
-packetLen(0x094b, 10) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 10)
#elif PACKETVER >= 20180103
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
// Packet: 0x094d
#if PACKETVER >= 20180315
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20180314
-packetLen(0x094d, -1) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, -1)
#elif PACKETVER >= 20180307
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 10)
#elif PACKETVER >= 20180207
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20180124
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20180103
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20180315
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20180314
-packetLen(0x094e, 26) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 26)
#elif PACKETVER >= 20180307
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20180221
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20180117
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20180103
-packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, -1)
#endif
// Packet: 0x094f
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
// Packet: 0x0950
#if PACKETVER >= 20180213
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0950, 36) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20180314
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
// Packet: 0x0953
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
// Packet: 0x0954
#if PACKETVER >= 20180314
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20180221
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20180315
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0956, 4) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#endif
// Packet: 0x0957
#if PACKETVER >= 20180314
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20180207
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
#if PACKETVER >= 20180315
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0959, 6) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
#if PACKETVER >= 20180221
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20180213
-packetLen(0x095a, -1) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, -1)
#elif PACKETVER >= 20180103
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
// Packet: 0x095c
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
// Packet: 0x095d
#if PACKETVER >= 20180117
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20180103
-packetLen(0x095d, 10) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 10)
#endif
// Packet: 0x095e
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
// Packet: 0x095f
#if PACKETVER >= 20180315
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20180314
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#elif PACKETVER >= 20180117
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20180103
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#endif
// Packet: 0x0960
#if PACKETVER >= 20180117
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 90)
#endif
// Packet: 0x0961
#if PACKETVER >= 20180207
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20180315
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0962, -1) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, -1)
#elif PACKETVER >= 20180221
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
// Packet: 0x0964
#if PACKETVER >= 20180307
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0964, 12) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
// Packet: 0x0966
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
// Packet: 0x0967
#if PACKETVER >= 20180315
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0967, 6) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
// Packet: 0x0969
#if PACKETVER >= 20180314
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0969, 7) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20180307
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20180221
-packetLen(0x096a, 7) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 7)
#elif PACKETVER >= 20180213
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20180117
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20180103
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
#if PACKETVER >= 20181121
-packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 41)
#elif PACKETVER >= 20180103
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
#endif
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
#if PACKETVER >= 20181121
-packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 12)
#elif PACKETVER >= 20180103
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
#endif
// Packet: 0x09ae
#if PACKETVER >= 20181121
-packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 19)
#elif PACKETVER >= 20180103
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
#endif
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
#if PACKETVER >= 20181121
-packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
#endif
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
#if PACKETVER >= 20181121
-packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
#endif
// Packet: 0x09b3
#if PACKETVER >= 20181121
-packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 6)
#elif PACKETVER >= 20180103
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
#endif
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
#if PACKETVER >= 20181121
-packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
#endif
// Packet: 0x09c4
#if PACKETVER >= 20181121
-packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
#endif
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
#if PACKETVER >= 20181121
-packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 24)
#elif PACKETVER >= 20180103
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
#endif
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
#if PACKETVER >= 20181121
-packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 77)
#elif PACKETVER >= 20180103
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
#endif
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
#if PACKETVER >= 20181121
-packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 63)
#elif PACKETVER >= 20180103
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
#endif
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
#if PACKETVER >= 20181121
-packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 55)
#elif PACKETVER >= 20180103
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
#endif
// Packet: 0x0a0a
#if PACKETVER >= 20181121
-packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 57)
#elif PACKETVER >= 20180103
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
#endif
// Packet: 0x0a0b
#if PACKETVER >= 20181121
-packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 57)
#elif PACKETVER >= 20180103
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
#endif
// Packet: 0x0a0c
#if PACKETVER >= 20181121
-packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 66)
#elif PACKETVER >= 20180103
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
#endif
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
#if PACKETVER >= 20181121
-packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 25)
#elif PACKETVER >= 20180103
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
#endif
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
#if PACKETVER >= 20181121
-packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 23)
#elif PACKETVER >= 20180103
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
#endif
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
#if PACKETVER >= 20181121
-packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
#endif
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
#if PACKETVER >= 20181121
-packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 69)
#elif PACKETVER >= 20180103
-packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 59)
#endif
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -5009,41 +5009,41 @@ packetLen(0x0a3f, 9)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
#if PACKETVER >= 20181121
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
#elif PACKETVER >= 20180103
-packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 20)
#endif
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -5062,7 +5062,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -5101,7 +5101,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -5119,10 +5119,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -5158,13 +5158,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -5179,7 +5179,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -5195,13 +5195,13 @@ packetLen(0x0a88, 2)
// Packet: 0x0a89
#if PACKETVER >= 20181121
-packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 61)
#elif PACKETVER >= 20180103
-packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 57)
#endif
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -5210,7 +5210,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -5222,7 +5222,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -5238,25 +5238,25 @@ packetLen(0x0a95, 4)
// Packet: 0x0a96
#if PACKETVER >= 20181121
-packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 61)
#elif PACKETVER >= 20180103
-packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 51)
#endif
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
// Packet: 0x0a98
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
// Packet: 0x0a99
packetLen(0x0a99, 4)
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
packetLen(0x0a9c, 2)
@@ -5271,32 +5271,32 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
#if PACKETVER >= 20181121
-packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 9)
#elif PACKETVER >= 20180103
-packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 7)
#endif
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -5329,7 +5329,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
packetLen(0x0ab3, 19)
@@ -5359,9 +5359,9 @@ packetLen(0x0ab8, 2)
// Packet: 0x0ab9
#if PACKETVER >= 20181121
-packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 47)
#elif PACKETVER >= 20180103
-packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 39)
#endif
// Packet: 0x0aba
@@ -5374,40 +5374,40 @@ packetLen(0x0abb, 2)
packetLen(0x0abc, -1)
// Packet: 0x0abd
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
// Packet: 0x0abe
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
// Packet: 0x0abf
packetLen(0x0abf, -1)
// Packet: 0x0ac0
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
// Packet: 0x0ac1
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
// Packet: 0x0ac2
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
// Packet: 0x0ac3
packetLen(0x0ac3, 2)
// Packet: 0x0ac4
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
// Packet: 0x0ac5
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
// Packet: 0x0ac6
packetLen(0x0ac6, 156)
// Packet: 0x0ac7
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
// Packet: 0x0ac8
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
// Packet: 0x0ac9
packetLen(0x0ac9, -1)
@@ -5416,10 +5416,10 @@ packetLen(0x0ac9, -1)
packetLen(0x0aca, 3)
// Packet: 0x0acb
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
// Packet: 0x0acc
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
// Packet: 0x0acd
packetLen(0x0acd, 23)
@@ -5428,10 +5428,10 @@ packetLen(0x0acd, 23)
packetLen(0x0ace, 4)
// Packet: 0x0acf
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
// Packet: 0x0ad0
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
// Packet: 0x0ad1
packetLen(0x0ad1, -1)
@@ -5462,29 +5462,29 @@ packetLen(0x0ad9, -1)
// Packet: 0x0ada
#if PACKETVER >= 20181121
-packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+packetLen(0x0ada, 32)
#elif PACKETVER >= 20180103
-packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+packetLen(0x0ada, 30)
#endif
// Packet: 0x0adb
packetLen(0x0adb, -1)
// Packet: 0x0adc
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
// Packet: 0x0add
#if PACKETVER >= 20181121
-packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 24)
#elif PACKETVER >= 20180103
-packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 22)
#endif
// Packet: 0x0ade
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
// Packet: 0x0adf
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
// Packet: 0x0ae0
packetLen(0x0ae0, 30)
@@ -5493,16 +5493,16 @@ packetLen(0x0ae0, 30)
packetLen(0x0ae1, 28)
// Packet: 0x0ae2
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
// Packet: 0x0ae3
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
// Packet: 0x0ae4
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
// Packet: 0x0ae5
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
// Packet: 0x0ae6
#if PACKETVER >= 20180207
@@ -5525,9 +5525,9 @@ packetLen(0x0ae8, 2)
// Packet: 0x0ae9
#if PACKETVER >= 20180117
-packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 13)
#elif PACKETVER >= 20180103
-packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 64)
#endif
// Packet: 0x0aea
@@ -5555,12 +5555,12 @@ packetLen(0x0aee, 2)
// Packet: 0x0aef
#if PACKETVER >= 20180117
-packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+packetLen(0x0aef, 2)
#endif
// Packet: 0x0af0
#if PACKETVER >= 20180117
-packetLen(0x0af0, 10) // ZC_UI_ACTION
+packetLen(0x0af0, 10)
#endif
// Packet: 0x0af2
@@ -5575,7 +5575,7 @@ packetLen(0x0af3, -1)
// Packet: 0x0af4
#if PACKETVER >= 20180207
-packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0af4, 11)
#endif
// Packet: 0x0af5
@@ -5590,7 +5590,7 @@ packetLen(0x0af6, 88)
// Packet: 0x0af7
#if PACKETVER >= 20180207
-packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0af7, 32)
#endif
// Packet: 0x0af8
@@ -5610,7 +5610,7 @@ packetLen(0x0afa, 54)
// Packet: 0x0afb
#if PACKETVER >= 20180418
-packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+packetLen(0x0afb, -1)
#endif
// Packet: 0x0afc
@@ -5620,17 +5620,17 @@ packetLen(0x0afc, 16)
// Packet: 0x0afd
#if PACKETVER >= 20180605
-packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+packetLen(0x0afd, -1)
#endif
// Packet: 0x0afe
#if PACKETVER >= 20180605
-packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x0afe, -1)
#endif
// Packet: 0x0aff
#if PACKETVER >= 20180605
-packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+packetLen(0x0aff, -1)
#endif
// Packet: 0x0b00
@@ -5647,12 +5647,12 @@ packetLen(0x0b01, 40)
// Packet: 0x0b02
#if PACKETVER >= 20180704
-packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+packetLen(0x0b02, 26)
#endif
// Packet: 0x0b03
#if PACKETVER >= 20180801
-packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+packetLen(0x0b03, -1)
#endif
// Packet: 0x0b04
@@ -5662,9 +5662,9 @@ packetLen(0x0b04, 80)
// Packet: 0x0b05
#if PACKETVER >= 20181121
-packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+packetLen(0x0b05, 63)
#elif PACKETVER >= 20180829
-packetLen(0x0b05, 59) // ZC_OFFLINE_STORE_VISIBLE
+packetLen(0x0b05, 59)
#endif
// Packet: 0x0b06
@@ -5681,100 +5681,100 @@ packetLen(0x0b07, -1)
// Packet: 0x0b08
#if PACKETVER >= 20181002
-packetLen(0x0b08, -1) // ZC_INVENTORY_START
+packetLen(0x0b08, -1)
#elif PACKETVER >= 20180912
-packetLen(0x0b08, 27) // ZC_INVENTORY_START
+packetLen(0x0b08, 27)
#elif PACKETVER >= 20180829
-packetLen(0x0b08, 26) // ZC_INVENTORY_START
+packetLen(0x0b08, 26)
#endif
// Packet: 0x0b09
#if PACKETVER >= 20180829
-packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+packetLen(0x0b09, -1)
#endif
// Packet: 0x0b0a
#if PACKETVER >= 20180829
-packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0b0a, -1)
#endif
// Packet: 0x0b0b
#if PACKETVER >= 20180912
-packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+packetLen(0x0b0b, 4)
#elif PACKETVER >= 20180829
-packetLen(0x0b0b, 3) // ZC_INVENTORY_END
+packetLen(0x0b0b, 3)
#endif
// Packet: 0x0b0c
#if PACKETVER >= 20180829
-packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+packetLen(0x0b0c, 155)
#endif
// Packet: 0x0b0d
#if PACKETVER >= 20180912
-packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+packetLen(0x0b0d, 10)
#endif
// Packet: 0x0b0e
#if PACKETVER >= 20180912
-packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+packetLen(0x0b0e, -1)
#endif
// Packet: 0x0b0f
#if PACKETVER >= 20180912
-packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+packetLen(0x0b0f, -1)
#endif
// Packet: 0x0b10
#if PACKETVER >= 20181002
-packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+packetLen(0x0b10, 10)
#endif
// Packet: 0x0b11
#if PACKETVER >= 20181002
-packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+packetLen(0x0b11, 4)
#endif
// Packet: 0x0b12
#if PACKETVER >= 20181017
-packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+packetLen(0x0b12, 2)
#endif
// Packet: 0x0b13
#if PACKETVER >= 20181121
-packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+packetLen(0x0b13, 48)
#elif PACKETVER >= 20181017
-packetLen(0x0b13, 40) // ZC_ITEM_PREVIEW
+packetLen(0x0b13, 40)
#endif
// Packet: 0x0b14
#if PACKETVER >= 20181031
-packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+packetLen(0x0b14, 2)
#endif
// Packet: 0x0b15
#if PACKETVER >= 20181031
-packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+packetLen(0x0b15, 7)
#endif
// Packet: 0x0b16
#if PACKETVER >= 20181031
-packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+packetLen(0x0b16, 2)
#endif
// Packet: 0x0b17
#if PACKETVER >= 20181031
-packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+packetLen(0x0b17, 3)
#endif
// Packet: 0x0b18
#if PACKETVER >= 20181031
-packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+packetLen(0x0b18, 4)
#endif
// Packet: 0x0b19
#if PACKETVER >= 20181031
-packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+packetLen(0x0b19, 2)
#endif
// Packet: 0x0b1a
diff --git a/src/common/packets/packets2018_len_re.h b/src/common/packets/packets2018_len_re.h
index 42a417fea..2d700f016 100644
--- a/src/common/packets/packets2018_len_re.h
+++ b/src/common/packets/packets2018_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,3001 +25,3001 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
#if PACKETVER >= 20180704
-packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+packetLen(0x009d, 19)
#elif PACKETVER >= 20180103
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
#endif
// Packet: 0x009e
#if PACKETVER >= 20180704
-packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 19)
#elif PACKETVER >= 20180103
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
#endif
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
#if PACKETVER >= 20180704
-packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 33)
#elif PACKETVER >= 20180103
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#endif
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
#if PACKETVER >= 20180704
-packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 29)
#elif PACKETVER >= 20180103
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#endif
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
#if PACKETVER >= 20180704
-packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 31)
#elif PACKETVER >= 20180103
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
#endif
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
#if PACKETVER >= 20180704
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20180103
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#endif
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
#if PACKETVER >= 20180704
-packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 14)
#elif PACKETVER >= 20180103
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#endif
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
#if PACKETVER >= 20180704
-packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 31)
#elif PACKETVER >= 20180103
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
#endif
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
#if PACKETVER >= 20180704
-packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+packetLen(0x018e, 18)
#elif PACKETVER >= 20180103
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#endif
// Packet: 0x018f
#if PACKETVER >= 20180704
-packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 8)
#elif PACKETVER >= 20180103
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#endif
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
#if PACKETVER >= 20180704
-packetLen(0x01a3, 7) // ZC_FEED_PET
+packetLen(0x01a3, 7)
#elif PACKETVER >= 20180103
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#endif
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
#if PACKETVER >= 20180704
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
#elif PACKETVER >= 20180103
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#endif
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
#if PACKETVER >= 20180704
-packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 32)
#elif PACKETVER >= 20180103
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#endif
// Packet: 0x01c5
#if PACKETVER >= 20180704
-packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 32)
#elif PACKETVER >= 20180103
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#endif
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
#if PACKETVER >= 20180704
-packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 15)
#elif PACKETVER >= 20180103
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
#endif
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
#if PACKETVER >= 20180704
-packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 15)
#elif PACKETVER >= 20180103
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
#endif
// Packet: 0x01d8
#if PACKETVER >= 20180704
-packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 58)
#elif PACKETVER >= 20180103
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
#endif
// Packet: 0x01d9
#if PACKETVER >= 20180704
-packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 57)
#elif PACKETVER >= 20180103
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
#endif
// Packet: 0x01da
#if PACKETVER >= 20180704
-packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 64)
#elif PACKETVER >= 20180103
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#endif
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
#if PACKETVER >= 20180704
-packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 25)
#elif PACKETVER >= 20180103
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#endif
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20180321
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20180307
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0202, 90) // CZ_ADD_FRIENDS
+packetLen(0x0202, 90)
#elif PACKETVER >= 20180124
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
#if PACKETVER >= 20180221
-packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+packetLen(0x0206, 35)
#elif PACKETVER >= 20180103
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#endif
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
#if PACKETVER >= 20180704
-packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
#endif
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
#if PACKETVER >= 20180704
-packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 62)
#elif PACKETVER >= 20180103
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20180704
-packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 61)
#elif PACKETVER >= 20180103
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20180704
-packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 69)
#elif PACKETVER >= 20180103
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#endif
// Packet: 0x022d
#if PACKETVER >= 20180321
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20180124
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20180117
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20180103
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
#if PACKETVER >= 20180704
-packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 73)
#elif PACKETVER >= 20180103
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#endif
// Packet: 0x022f
#if PACKETVER >= 20180704
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
#elif PACKETVER >= 20180103
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20180321
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#elif PACKETVER >= 20180124
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20180117
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20180103
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
#if PACKETVER >= 20180704
-packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 8)
#elif PACKETVER >= 20180103
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
#endif
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20180307
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#elif PACKETVER >= 20180213
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20180124
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
#if PACKETVER >= 20180704
-packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
#endif
// Packet: 0x0299
#if PACKETVER >= 20180704
-packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
#endif
// Packet: 0x029a
#if PACKETVER >= 20180704
-packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 37)
#elif PACKETVER >= 20180103
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
#if PACKETVER >= 20180704
-packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 32)
#elif PACKETVER >= 20180103
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
#endif
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20180321
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20180117
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20180103
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
#if PACKETVER >= 20180704
-packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 39)
#elif PACKETVER >= 20180103
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
#if PACKETVER >= 20180704
-packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 71)
#elif PACKETVER >= 20180103
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
#endif
// Packet: 0x02ed
#if PACKETVER >= 20180704
-packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 63)
#elif PACKETVER >= 20180103
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
#endif
// Packet: 0x02ee
#if PACKETVER >= 20180704
-packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 64)
#elif PACKETVER >= 20180103
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#endif
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20180321
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20180307
-packetLen(0x035f, -1) // CZ_REQUEST_MOVE2
+packetLen(0x035f, -1)
#elif PACKETVER >= 20180213
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20180117
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20180103
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#endif
// Packet: 0x0360
#if PACKETVER >= 20180321
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0360, 4) // CZ_REQUEST_TIME2
+packetLen(0x0360, 4)
#elif PACKETVER >= 20180117
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#endif
// Packet: 0x0361
#if PACKETVER >= 20180321
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20180124
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20180321
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180124
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#endif
// Packet: 0x0363
#if PACKETVER >= 20180321
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20180124
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0363, 26) // CZ_ITEM_THROW2
+packetLen(0x0363, 26)
#endif
// Packet: 0x0364
#if PACKETVER >= 20180321
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180213
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180124
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#endif
// Packet: 0x0365
#if PACKETVER >= 20180321
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20180213
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20180124
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#endif
// Packet: 0x0366
#if PACKETVER >= 20180321
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20180307
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0366, 8) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 8)
#elif PACKETVER >= 20180213
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#endif
// Packet: 0x0367
#if PACKETVER >= 20180321
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20180321
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#endif
// Packet: 0x0369
#if PACKETVER >= 20180321
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20180221
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0369, 36) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 36)
#elif PACKETVER >= 20180117
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20180321
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20180307
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0436, 26) // CZ_ENTER2
+packetLen(0x0436, 26)
#elif PACKETVER >= 20180207
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0436, 8) // CZ_ENTER2
+packetLen(0x0436, 8)
#elif PACKETVER >= 20180117
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#endif
// Packet: 0x0437
#if PACKETVER >= 20180321
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20180307
-packetLen(0x0437, 6) // CZ_REQUEST_ACT2
+packetLen(0x0437, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#endif
// Packet: 0x0438
#if PACKETVER >= 20180321
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20180213
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
#if PACKETVER >= 20180704
-packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
#endif
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20180321
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20180307
-packetLen(0x07e4, 19) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 19)
#elif PACKETVER >= 20180213
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20180207
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20180124
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20180117
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20180103
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20180321
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180213
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20180207
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180124
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20180117
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180103
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20180321
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20180221
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20180207
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20180124
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20180117
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
#if PACKETVER >= 20180704
-packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 30)
#elif PACKETVER >= 20180103
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
#endif
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20180321
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0811, 19) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 19)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20180213
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20180321
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20180221
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0817, 90) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20180321
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180124
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
#if PACKETVER >= 20180704
-packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 12)
#elif PACKETVER >= 20180103
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
#endif
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
#if PACKETVER >= 20180704
-packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
#endif
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20180321
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20180307
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0838, 5) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 5)
#elif PACKETVER >= 20180213
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20180704
-packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 14)
#elif PACKETVER >= 20180321
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
#elif PACKETVER >= 20180213
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20180117
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20180103
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
#if PACKETVER >= 20180704
-packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 21)
#elif PACKETVER >= 20180103
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
#endif
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20180221
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20180213
-packetLen(0x085a, 12) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 12)
#elif PACKETVER >= 20180103
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
// Packet: 0x085e
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
// Packet: 0x085f
#if PACKETVER >= 20180207
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20180124
-packetLen(0x085f, 36) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 36)
#elif PACKETVER >= 20180103
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
// Packet: 0x0861
#if PACKETVER >= 20180321
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0861, 90) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
#endif
// Packet: 0x0862
#if PACKETVER >= 20180321
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0862, 6) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
#endif
// Packet: 0x0863
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
// Packet: 0x0864
#if PACKETVER >= 20180321
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0864, -1) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
#endif
// Packet: 0x0865
#if PACKETVER >= 20180117
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0865, 4) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 4)
#endif
// Packet: 0x0866
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
// Packet: 0x0867
#if PACKETVER >= 20180307
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0867, -1) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
#endif
// Packet: 0x0868
#if PACKETVER >= 20180207
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0868, 4) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
#if PACKETVER >= 20180207
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20180124
-packetLen(0x086a, 18) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 18)
#elif PACKETVER >= 20180103
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
#if PACKETVER >= 20180117
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
#elif PACKETVER >= 20180103
-packetLen(0x086b, -1) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, -1)
#endif
// Packet: 0x086c
#if PACKETVER >= 20180321
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20180221
-packetLen(0x086c, 6) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 6)
#elif PACKETVER >= 20180103
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20180117
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20180103
-packetLen(0x086d, 12) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 12)
#endif
// Packet: 0x086e
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
// Packet: 0x086f
#if PACKETVER >= 20180307
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20180221
-packetLen(0x086f, -1) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, -1)
#elif PACKETVER >= 20180213
-packetLen(0x086f, 26) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 26)
#elif PACKETVER >= 20180207
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20180124
-packetLen(0x086f, 8) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 8)
#elif PACKETVER >= 20180103
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
#if PACKETVER >= 20180321
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0870, -1) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0870, 19) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 19)
#elif PACKETVER >= 20180103
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
#endif
// Packet: 0x0871
#if PACKETVER >= 20180307
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#endif
// Packet: 0x0872
@@ -3034,1844 +3034,1844 @@ packetLen(0x0872, 6)
#endif
// Packet: 0x0873
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
// Packet: 0x0874
#if PACKETVER >= 20180221
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0874, 6) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
#endif
// Packet: 0x0875
#if PACKETVER >= 20180221
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0875, 8) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 8)
#elif PACKETVER >= 20180124
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0875, 36) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
#endif
// Packet: 0x0876
#if PACKETVER >= 20180307
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0876, 5) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 5)
#elif PACKETVER >= 20180117
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0876, 6) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 6)
#endif
// Packet: 0x0877
#if PACKETVER >= 20180321
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0877, 5) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20180221
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0878, 5) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
#if PACKETVER >= 20180307
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0879, 8) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 8)
#elif PACKETVER >= 20180117
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0879, -1) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, -1)
#endif
// Packet: 0x087a
#if PACKETVER >= 20180207
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#elif PACKETVER >= 20180124
-packetLen(0x087a, 26) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 26)
#elif PACKETVER >= 20180103
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
#endif
// Packet: 0x087b
#if PACKETVER >= 20180221
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20180213
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20180103
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#endif
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
#if PACKETVER >= 20180307
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x087d, 5) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 5)
#elif PACKETVER >= 20180103
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
#if PACKETVER >= 20180307
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0880, -1) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20180307
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0881, 18) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 18)
#elif PACKETVER >= 20180213
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0881, 26) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20180221
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0882, 10) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
#if PACKETVER >= 20180307
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0883, -1) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
#endif
// Packet: 0x0884
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
// Packet: 0x0885
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
// Packet: 0x0886
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
// Packet: 0x0887
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
// Packet: 0x0888
#if PACKETVER >= 20180207
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0888, 19) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 19)
#elif PACKETVER >= 20180103
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#endif
// Packet: 0x0889
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
// Packet: 0x088a
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
// Packet: 0x088b
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
// Packet: 0x088c
#if PACKETVER >= 20180221
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#elif PACKETVER >= 20180213
-packetLen(0x088c, -1) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, -1)
#elif PACKETVER >= 20180103
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
#endif
// Packet: 0x088d
#if PACKETVER >= 20180321
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20180307
-packetLen(0x088d, 8) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 8)
#elif PACKETVER >= 20180103
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
// Packet: 0x088f
#if PACKETVER >= 20180307
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#elif PACKETVER >= 20180221
-packetLen(0x088f, 6) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 6)
#elif PACKETVER >= 20180103
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
#endif
// Packet: 0x0890
#if PACKETVER >= 20180207
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#endif
// Packet: 0x0891
#if PACKETVER >= 20180307
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0891, 4) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20180221
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20180321
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0893, 10) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
// Packet: 0x0895
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
// Packet: 0x0896
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
// Packet: 0x0897
#if PACKETVER >= 20180307
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0897, 19) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 19)
#elif PACKETVER >= 20180103
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
#if PACKETVER >= 20180221
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0898, -1) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
#endif
// Packet: 0x0899
#if PACKETVER >= 20180117
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#endif
// Packet: 0x089a
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
// Packet: 0x089b
#if PACKETVER >= 20180321
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#elif PACKETVER >= 20180307
-packetLen(0x089b, 12) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 12)
#elif PACKETVER >= 20180103
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
#endif
// Packet: 0x089c
#if PACKETVER >= 20180221
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#elif PACKETVER >= 20180213
-packetLen(0x089c, 4) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 4)
#elif PACKETVER >= 20180103
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
#endif
// Packet: 0x089d
#if PACKETVER >= 20180307
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x089d, 6) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 6)
#elif PACKETVER >= 20180103
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#endif
// Packet: 0x089e
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
// Packet: 0x089f
#if PACKETVER >= 20180117
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
#elif PACKETVER >= 20180103
-packetLen(0x089f, 6) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 6)
#endif
// Packet: 0x08a0
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
// Packet: 0x08a1
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
// Packet: 0x08a2
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
// Packet: 0x08a3
#if PACKETVER >= 20180221
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20180213
-packetLen(0x08a3, 19) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 19)
#elif PACKETVER >= 20180103
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
// Packet: 0x08a5
#if PACKETVER >= 20180221
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20180213
-packetLen(0x08a5, -1) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, -1)
#elif PACKETVER >= 20180103
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
// Packet: 0x08a7
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
// Packet: 0x08a8
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
// Packet: 0x08a9
#if PACKETVER >= 20180117
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
#elif PACKETVER >= 20180103
-packetLen(0x08a9, 5) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 5)
#endif
// Packet: 0x08aa
#if PACKETVER >= 20180321
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#elif PACKETVER >= 20180307
-packetLen(0x08aa, 26) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 26)
#elif PACKETVER >= 20180103
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
#endif
// Packet: 0x08ab
#if PACKETVER >= 20180321
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20180307
-packetLen(0x08ab, 5) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 5)
#elif PACKETVER >= 20180117
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
#elif PACKETVER >= 20180103
-packetLen(0x08ab, 6) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 6)
#endif
// Packet: 0x08ac
#if PACKETVER >= 20180117
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
#elif PACKETVER >= 20180103
-packetLen(0x08ac, -1) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, -1)
#endif
// Packet: 0x08ad
#if PACKETVER >= 20180221
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#elif PACKETVER >= 20180213
-packetLen(0x08ad, 6) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 6)
#elif PACKETVER >= 20180103
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
#endif
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20180321
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0917, 10) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 10)
#elif PACKETVER >= 20180221
-packetLen(0x0917, 36) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 36)
#elif PACKETVER >= 20180213
-packetLen(0x0917, 26) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
// Packet: 0x0919
#if PACKETVER >= 20180207
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0919, 26) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
// Packet: 0x091b
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
// Packet: 0x091c
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
// Packet: 0x091d
#if PACKETVER >= 20180117
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20180103
-packetLen(0x091d, 7) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 7)
#endif
// Packet: 0x091e
#if PACKETVER >= 20180307
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20180221
-packetLen(0x091e, 8) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 8)
#elif PACKETVER >= 20180103
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#endif
// Packet: 0x091f
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
// Packet: 0x0920
#if PACKETVER >= 20180321
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0920, 8) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
// Packet: 0x0922
#if PACKETVER >= 20180221
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0922, 5) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
// Packet: 0x0924
#if PACKETVER >= 20180221
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0924, 10) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#endif
// Packet: 0x0925
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
// Packet: 0x0926
#if PACKETVER >= 20180221
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#elif PACKETVER >= 20180117
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0926, 8) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 8)
#endif
// Packet: 0x0927
#if PACKETVER >= 20180117
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0927, 18) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 18)
#endif
// Packet: 0x0928
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
// Packet: 0x0929
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
// Packet: 0x092a
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
// Packet: 0x092b
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
// Packet: 0x092c
#if PACKETVER >= 20180213
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20180207
-packetLen(0x092c, 5) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 5)
#elif PACKETVER >= 20180117
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20180103
-packetLen(0x092c, 8) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 8)
#endif
// Packet: 0x092d
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
// Packet: 0x092e
#if PACKETVER >= 20180213
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20180207
-packetLen(0x092e, 5) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 5)
#elif PACKETVER >= 20180103
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
// Packet: 0x0930
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
// Packet: 0x0931
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
// Packet: 0x0932
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
// Packet: 0x0933
#if PACKETVER >= 20180221
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0933, 7) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
// Packet: 0x0935
#if PACKETVER >= 20180117
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0935, 6) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 6)
#endif
// Packet: 0x0936
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
// Packet: 0x0937
#if PACKETVER >= 20180321
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0937, -1) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
#endif
// Packet: 0x0938
#if PACKETVER >= 20180117
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0938, 10) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 10)
#endif
// Packet: 0x0939
#if PACKETVER >= 20180321
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0939, 36) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
#endif
// Packet: 0x093a
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
// Packet: 0x093b
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
// Packet: 0x093c
#if PACKETVER >= 20180221
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#elif PACKETVER >= 20180213
-packetLen(0x093c, 6) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 6)
#elif PACKETVER >= 20180103
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
#endif
// Packet: 0x093d
#if PACKETVER >= 20180307
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 26)
#elif PACKETVER >= 20180103
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
// Packet: 0x093f
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
// Packet: 0x0940
#if PACKETVER >= 20180213
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0940, 6) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 6)
#elif PACKETVER >= 20180124
-packetLen(0x0940, -1) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20180321
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0941, 6) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 6)
#elif PACKETVER >= 20180117
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0941, 5) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 5)
#endif
// Packet: 0x0942
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
// Packet: 0x0943
#if PACKETVER >= 20180221
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0943, 18) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
#endif
// Packet: 0x0944
#if PACKETVER >= 20180321
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0944, 5) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
#endif
// Packet: 0x0945
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
// Packet: 0x0946
#if PACKETVER >= 20180207
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0946, -1) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, -1)
#elif PACKETVER >= 20180117
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0946, 36) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 36)
#endif
// Packet: 0x0947
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
// Packet: 0x0948
#if PACKETVER >= 20180321
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0948, 26) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 26)
#elif PACKETVER >= 20180117
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0948, 5) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 5)
#endif
// Packet: 0x0949
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
// Packet: 0x094a
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
// Packet: 0x094b
#if PACKETVER >= 20180307
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#elif PACKETVER >= 20180221
-packetLen(0x094b, 10) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 10)
#elif PACKETVER >= 20180103
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
#endif
// Packet: 0x094c
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
// Packet: 0x094d
#if PACKETVER >= 20180307
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 10)
#elif PACKETVER >= 20180207
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20180124
-packetLen(0x094d, 6) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 6)
#elif PACKETVER >= 20180103
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20180307
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20180221
-packetLen(0x094e, 6) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 6)
#elif PACKETVER >= 20180117
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20180103
-packetLen(0x094e, -1) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, -1)
#endif
// Packet: 0x094f
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
// Packet: 0x0950
#if PACKETVER >= 20180213
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0950, 36) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
#endif
// Packet: 0x0951
#if PACKETVER >= 20180321
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0951, 8) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
// Packet: 0x0953
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
// Packet: 0x0954
#if PACKETVER >= 20180321
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0954, 6) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20180221
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0955, 8) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
// Packet: 0x0957
#if PACKETVER >= 20180321
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0957, 6) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
#endif
// Packet: 0x0958
#if PACKETVER >= 20180207
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0958, 5) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#endif
// Packet: 0x0959
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
// Packet: 0x095a
#if PACKETVER >= 20180221
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#elif PACKETVER >= 20180213
-packetLen(0x095a, -1) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, -1)
#elif PACKETVER >= 20180103
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
#endif
// Packet: 0x095b
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
// Packet: 0x095c
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
// Packet: 0x095d
#if PACKETVER >= 20180117
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20180103
-packetLen(0x095d, 10) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 10)
#endif
// Packet: 0x095e
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
// Packet: 0x095f
#if PACKETVER >= 20180117
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
#elif PACKETVER >= 20180103
-packetLen(0x095f, 6) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 6)
#endif
// Packet: 0x0960
#if PACKETVER >= 20180117
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0960, 90) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 90)
#endif
// Packet: 0x0961
#if PACKETVER >= 20180207
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20180124
-packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
#if PACKETVER >= 20180221
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0962, 5) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
#endif
// Packet: 0x0963
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
// Packet: 0x0964
#if PACKETVER >= 20180307
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0964, 12) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#endif
// Packet: 0x0965
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
// Packet: 0x0966
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
// Packet: 0x0967
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
// Packet: 0x0968
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
// Packet: 0x0969
#if PACKETVER >= 20180321
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#elif PACKETVER >= 20180307
-packetLen(0x0969, 7) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
#endif
// Packet: 0x096a
#if PACKETVER >= 20180307
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20180221
-packetLen(0x096a, 7) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 7)
#elif PACKETVER >= 20180213
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20180117
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20180103
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
#if PACKETVER >= 20180704
-packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 41)
#elif PACKETVER >= 20180103
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
#endif
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
#if PACKETVER >= 20180704
-packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 12)
#elif PACKETVER >= 20180103
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
#endif
// Packet: 0x09ae
#if PACKETVER >= 20180704
-packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 19)
#elif PACKETVER >= 20180103
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
#endif
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
#if PACKETVER >= 20180704
-packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
#endif
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
#if PACKETVER >= 20180704
-packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
#endif
// Packet: 0x09b3
#if PACKETVER >= 20180704
-packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 6)
#elif PACKETVER >= 20180103
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
#endif
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
#if PACKETVER >= 20180704
-packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
#endif
// Packet: 0x09c4
#if PACKETVER >= 20180704
-packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
#endif
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
#if PACKETVER >= 20180704
-packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 24)
#elif PACKETVER >= 20180103
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
#endif
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
#if PACKETVER >= 20180704
-packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 77)
#elif PACKETVER >= 20180103
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
#endif
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
#if PACKETVER >= 20180704
-packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 63)
#elif PACKETVER >= 20180103
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
#endif
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
#if PACKETVER >= 20180704
-packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 55)
#elif PACKETVER >= 20180103
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
#endif
// Packet: 0x0a0a
#if PACKETVER >= 20180704
-packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 57)
#elif PACKETVER >= 20180103
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
#endif
// Packet: 0x0a0b
#if PACKETVER >= 20180704
-packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 57)
#elif PACKETVER >= 20180103
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
#endif
// Packet: 0x0a0c
#if PACKETVER >= 20180704
-packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 66)
#elif PACKETVER >= 20180103
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
#endif
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
#if PACKETVER >= 20180704
-packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 25)
#elif PACKETVER >= 20180103
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
#endif
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
#if PACKETVER >= 20180704
-packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 23)
#elif PACKETVER >= 20180103
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
#endif
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
#if PACKETVER >= 20180704
-packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
#endif
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
#if PACKETVER >= 20180704
-packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 69)
#elif PACKETVER >= 20180103
-packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 59)
#endif
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -4897,41 +4897,41 @@ packetLen(0x0a3f, 9)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
#if PACKETVER >= 20180704
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
#elif PACKETVER >= 20180103
-packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 20)
#endif
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -4950,7 +4950,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -4989,7 +4989,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -5007,10 +5007,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -5046,13 +5046,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -5067,7 +5067,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -5083,13 +5083,13 @@ packetLen(0x0a88, 2)
// Packet: 0x0a89
#if PACKETVER >= 20180704
-packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 61)
#elif PACKETVER >= 20180103
-packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 57)
#endif
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -5098,7 +5098,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -5110,7 +5110,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -5126,25 +5126,25 @@ packetLen(0x0a95, 4)
// Packet: 0x0a96
#if PACKETVER >= 20180704
-packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 61)
#elif PACKETVER >= 20180103
-packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 51)
#endif
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
// Packet: 0x0a98
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
// Packet: 0x0a99
packetLen(0x0a99, 4)
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
packetLen(0x0a9c, 2)
@@ -5159,32 +5159,32 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
#if PACKETVER >= 20180704
-packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 9)
#elif PACKETVER >= 20180103
-packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 7)
#endif
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -5217,7 +5217,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
packetLen(0x0ab3, 19)
@@ -5247,9 +5247,9 @@ packetLen(0x0ab8, 2)
// Packet: 0x0ab9
#if PACKETVER >= 20180704
-packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 47)
#elif PACKETVER >= 20180103
-packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 39)
#endif
// Packet: 0x0aba
@@ -5262,40 +5262,40 @@ packetLen(0x0abb, 2)
packetLen(0x0abc, -1)
// Packet: 0x0abd
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
// Packet: 0x0abe
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
// Packet: 0x0abf
packetLen(0x0abf, -1)
// Packet: 0x0ac0
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
// Packet: 0x0ac1
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
// Packet: 0x0ac2
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
// Packet: 0x0ac3
packetLen(0x0ac3, 2)
// Packet: 0x0ac4
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
// Packet: 0x0ac5
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
// Packet: 0x0ac6
packetLen(0x0ac6, 156)
// Packet: 0x0ac7
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
// Packet: 0x0ac8
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
// Packet: 0x0ac9
packetLen(0x0ac9, -1)
@@ -5304,10 +5304,10 @@ packetLen(0x0ac9, -1)
packetLen(0x0aca, 3)
// Packet: 0x0acb
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
// Packet: 0x0acc
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
// Packet: 0x0acd
packetLen(0x0acd, 23)
@@ -5316,10 +5316,10 @@ packetLen(0x0acd, 23)
packetLen(0x0ace, 4)
// Packet: 0x0acf
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
// Packet: 0x0ad0
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
// Packet: 0x0ad1
packetLen(0x0ad1, -1)
@@ -5350,29 +5350,29 @@ packetLen(0x0ad9, -1)
// Packet: 0x0ada
#if PACKETVER >= 20180704
-packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+packetLen(0x0ada, 32)
#elif PACKETVER >= 20180103
-packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+packetLen(0x0ada, 30)
#endif
// Packet: 0x0adb
packetLen(0x0adb, -1)
// Packet: 0x0adc
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
// Packet: 0x0add
#if PACKETVER >= 20180704
-packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 24)
#elif PACKETVER >= 20180103
-packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 22)
#endif
// Packet: 0x0ade
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
// Packet: 0x0adf
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
// Packet: 0x0ae0
packetLen(0x0ae0, 30)
@@ -5381,16 +5381,16 @@ packetLen(0x0ae0, 30)
packetLen(0x0ae1, 28)
// Packet: 0x0ae2
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
// Packet: 0x0ae3
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
// Packet: 0x0ae4
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
// Packet: 0x0ae5
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
// Packet: 0x0ae6
#if PACKETVER >= 20180207
@@ -5413,9 +5413,9 @@ packetLen(0x0ae8, 2)
// Packet: 0x0ae9
#if PACKETVER >= 20180117
-packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 13)
#elif PACKETVER >= 20180103
-packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 64)
#endif
// Packet: 0x0aea
@@ -5443,12 +5443,12 @@ packetLen(0x0aee, 2)
// Packet: 0x0aef
#if PACKETVER >= 20180117
-packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+packetLen(0x0aef, 2)
#endif
// Packet: 0x0af0
#if PACKETVER >= 20180117
-packetLen(0x0af0, 10) // ZC_UI_ACTION
+packetLen(0x0af0, 10)
#endif
// Packet: 0x0af2
@@ -5463,7 +5463,7 @@ packetLen(0x0af3, -1)
// Packet: 0x0af4
#if PACKETVER >= 20180207
-packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0af4, 11)
#endif
// Packet: 0x0af5
@@ -5478,7 +5478,7 @@ packetLen(0x0af6, 88)
// Packet: 0x0af7
#if PACKETVER >= 20180207
-packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0af7, 32)
#endif
// Packet: 0x0af8
@@ -5498,7 +5498,7 @@ packetLen(0x0afa, 54)
// Packet: 0x0afb
#if PACKETVER >= 20180418
-packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+packetLen(0x0afb, -1)
#endif
// Packet: 0x0afc
@@ -5508,17 +5508,17 @@ packetLen(0x0afc, 16)
// Packet: 0x0afd
#if PACKETVER >= 20180605
-packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+packetLen(0x0afd, -1)
#endif
// Packet: 0x0afe
#if PACKETVER >= 20180605
-packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x0afe, -1)
#endif
// Packet: 0x0aff
#if PACKETVER >= 20180605
-packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+packetLen(0x0aff, -1)
#endif
// Packet: 0x0b00
@@ -5535,12 +5535,12 @@ packetLen(0x0b01, 40)
// Packet: 0x0b02
#if PACKETVER >= 20180704
-packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+packetLen(0x0b02, 26)
#endif
// Packet: 0x0b03
#if PACKETVER >= 20180801
-packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+packetLen(0x0b03, -1)
#endif
// Packet: 0x0b04
@@ -5550,7 +5550,7 @@ packetLen(0x0b04, 80)
// Packet: 0x0b05
#if PACKETVER >= 20180829
-packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+packetLen(0x0b05, 63)
#endif
// Packet: 0x0b06
@@ -5567,98 +5567,98 @@ packetLen(0x0b07, -1)
// Packet: 0x0b08
#if PACKETVER >= 20180919
-packetLen(0x0b08, -1) // ZC_INVENTORY_START
+packetLen(0x0b08, -1)
#elif PACKETVER >= 20180912
-packetLen(0x0b08, 27) // ZC_INVENTORY_START
+packetLen(0x0b08, 27)
#elif PACKETVER >= 20180829
-packetLen(0x0b08, 26) // ZC_INVENTORY_START
+packetLen(0x0b08, 26)
#endif
// Packet: 0x0b09
#if PACKETVER >= 20180829
-packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+packetLen(0x0b09, -1)
#endif
// Packet: 0x0b0a
#if PACKETVER >= 20180829
-packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0b0a, -1)
#endif
// Packet: 0x0b0b
#if PACKETVER >= 20180912
-packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+packetLen(0x0b0b, 4)
#elif PACKETVER >= 20180829
-packetLen(0x0b0b, 3) // ZC_INVENTORY_END
+packetLen(0x0b0b, 3)
#endif
// Packet: 0x0b0c
#if PACKETVER >= 20180829
-packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+packetLen(0x0b0c, 155)
#endif
// Packet: 0x0b0d
#if PACKETVER >= 20180912
-packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+packetLen(0x0b0d, 10)
#endif
// Packet: 0x0b0e
#if PACKETVER >= 20180912
-packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+packetLen(0x0b0e, -1)
#endif
// Packet: 0x0b0f
#if PACKETVER >= 20180912
-packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+packetLen(0x0b0f, -1)
#endif
// Packet: 0x0b10
#if PACKETVER >= 20181002
-packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+packetLen(0x0b10, 10)
#endif
// Packet: 0x0b11
#if PACKETVER >= 20181002
-packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+packetLen(0x0b11, 4)
#endif
// Packet: 0x0b12
#if PACKETVER >= 20181017
-packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+packetLen(0x0b12, 2)
#endif
// Packet: 0x0b13
#if PACKETVER >= 20181017
-packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+packetLen(0x0b13, 48)
#endif
// Packet: 0x0b14
#if PACKETVER >= 20181031
-packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+packetLen(0x0b14, 2)
#endif
// Packet: 0x0b15
#if PACKETVER >= 20181031
-packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+packetLen(0x0b15, 7)
#endif
// Packet: 0x0b16
#if PACKETVER >= 20181031
-packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+packetLen(0x0b16, 2)
#endif
// Packet: 0x0b17
#if PACKETVER >= 20181031
-packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+packetLen(0x0b17, 3)
#endif
// Packet: 0x0b18
#if PACKETVER >= 20181031
-packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+packetLen(0x0b18, 4)
#endif
// Packet: 0x0b19
#if PACKETVER >= 20181031
-packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+packetLen(0x0b19, 2)
#endif
// Packet: 0x0b1a
diff --git a/src/common/packets/packets2018_len_zero.h b/src/common/packets/packets2018_len_zero.h
index 39448930e..1f99f1ddb 100644
--- a/src/common/packets/packets2018_len_zero.h
+++ b/src/common/packets/packets2018_len_zero.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,3161 +25,3161 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+packetLen(0x007e, 105)
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
#if PACKETVER >= 20181114
-packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+packetLen(0x009d, 19)
#elif PACKETVER >= 20180103
-packetLen(0x009d, 17) // ZC_ITEM_ENTRY
+packetLen(0x009d, 17)
#endif
// Packet: 0x009e
#if PACKETVER >= 20181114
-packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 19)
#elif PACKETVER >= 20180103
-packetLen(0x009e, 17) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 17)
#endif
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
#if PACKETVER >= 20181114
-packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 33)
#elif PACKETVER >= 20180103
-packetLen(0x00a0, 23) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 23)
#endif
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
#if PACKETVER >= 20181114
-packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 29)
#elif PACKETVER >= 20180103
-packetLen(0x00e9, 19) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 19)
#endif
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
#if PACKETVER >= 20181114
-packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 31)
#elif PACKETVER >= 20180103
-packetLen(0x00f4, 21) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 21)
#endif
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
#if PACKETVER >= 20181114
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
#elif PACKETVER >= 20180103
-packetLen(0x010a, 4) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 4)
#endif
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
#if PACKETVER >= 20181114
-packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 14)
#elif PACKETVER >= 20180103
-packetLen(0x0110, 10) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 10)
#endif
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
#if PACKETVER >= 20181114
-packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 31)
#elif PACKETVER >= 20180103
-packetLen(0x0124, 21) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 21)
#endif
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
#if PACKETVER >= 20181114
-packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+packetLen(0x018e, 18)
#elif PACKETVER >= 20180103
-packetLen(0x018e, 10) // CZ_REQMAKINGITEM
+packetLen(0x018e, 10)
#endif
// Packet: 0x018f
#if PACKETVER >= 20181114
-packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 8)
#elif PACKETVER >= 20180103
-packetLen(0x018f, 6) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 6)
#endif
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+packetLen(0x0191, 86)
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
#if PACKETVER >= 20181114
-packetLen(0x01a3, 7) // ZC_FEED_PET
+packetLen(0x01a3, 7)
#elif PACKETVER >= 20180103
-packetLen(0x01a3, 5) // ZC_FEED_PET
+packetLen(0x01a3, 5)
#endif
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
#if PACKETVER >= 20181114
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
#elif PACKETVER >= 20180103
-packetLen(0x01ae, 4) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 4)
#endif
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
#if PACKETVER >= 20181114
-packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 32)
#elif PACKETVER >= 20180103
-packetLen(0x01c4, 22) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 22)
#endif
// Packet: 0x01c5
#if PACKETVER >= 20181114
-packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 32)
#elif PACKETVER >= 20180103
-packetLen(0x01c5, 22) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 22)
#endif
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
#if PACKETVER >= 20181114
-packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 15)
#elif PACKETVER >= 20180103
-packetLen(0x01c8, 13) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 13)
#endif
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
#if PACKETVER >= 20181114
-packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 15)
#elif PACKETVER >= 20180103
-packetLen(0x01d7, 11) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 11)
#endif
// Packet: 0x01d8
#if PACKETVER >= 20181114
-packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 58)
#elif PACKETVER >= 20180103
-packetLen(0x01d8, 54) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 54)
#endif
// Packet: 0x01d9
#if PACKETVER >= 20181114
-packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 57)
#elif PACKETVER >= 20180103
-packetLen(0x01d9, 53) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 53)
#endif
// Packet: 0x01da
#if PACKETVER >= 20181114
-packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 64)
#elif PACKETVER >= 20180103
-packetLen(0x01da, 60) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 60)
#endif
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
#if PACKETVER >= 20181114
-packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 25)
#elif PACKETVER >= 20180103
-packetLen(0x01fd, 15) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 15)
#endif
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
#if PACKETVER >= 20180523
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20180511
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
#elif PACKETVER >= 20180314
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20180213
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0202, 5) // CZ_ADD_FRIENDS
+packetLen(0x0202, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0202, 2) // CZ_ADD_FRIENDS
+packetLen(0x0202, 2)
#endif
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
#if PACKETVER >= 20180328
-packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+packetLen(0x0206, 35)
#elif PACKETVER >= 20180103
-packetLen(0x0206, 11) // ZC_FRIENDS_STATE
+packetLen(0x0206, 11)
#endif
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
#if PACKETVER >= 20181114
-packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0223, 8) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 8)
#endif
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
#if PACKETVER >= 20181114
-packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 62)
#elif PACKETVER >= 20180103
-packetLen(0x022a, 58) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 58)
#endif
// Packet: 0x022b
#if PACKETVER >= 20181114
-packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 61)
#elif PACKETVER >= 20180103
-packetLen(0x022b, 57) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 57)
#endif
// Packet: 0x022c
#if PACKETVER >= 20181114
-packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 69)
#elif PACKETVER >= 20180103
-packetLen(0x022c, 65) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 65)
#endif
// Packet: 0x022d
#if PACKETVER >= 20180523
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20180511
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20180315
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20180314
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20180228
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20180221
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#elif PACKETVER >= 20180213
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
#elif PACKETVER >= 20180131
-packetLen(0x022d, 19) // CZ_COMMAND_MER
+packetLen(0x022d, 19)
#elif PACKETVER >= 20180103
-packetLen(0x022d, 2) // CZ_COMMAND_MER
+packetLen(0x022d, 2)
#endif
// Packet: 0x022e
#if PACKETVER >= 20181114
-packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 73)
#elif PACKETVER >= 20180103
-packetLen(0x022e, 71) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 71)
#endif
// Packet: 0x022f
#if PACKETVER >= 20181114
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
#elif PACKETVER >= 20180103
-packetLen(0x022f, 5) // ZC_FEED_MER
+packetLen(0x022f, 5)
#endif
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
#if PACKETVER >= 20180523
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#elif PACKETVER >= 20180511
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20180315
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
#elif PACKETVER >= 20180228
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20180213
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#elif PACKETVER >= 20180131
-packetLen(0x023b, 26) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 26)
#elif PACKETVER >= 20180103
-packetLen(0x023b, 2) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 2)
#endif
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
#if PACKETVER >= 20181114
-packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 8)
#elif PACKETVER >= 20180103
-packetLen(0x025b, 6) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 6)
#endif
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
#if PACKETVER >= 20180523
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#elif PACKETVER >= 20180511
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
#elif PACKETVER >= 20180314
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0281, -1) // CZ_GANGSI_RANK
+packetLen(0x0281, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0281, 2) // CZ_GANGSI_RANK
+packetLen(0x0281, 2)
#endif
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
#if PACKETVER >= 20181114
-packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0298, 8) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 8)
#endif
// Packet: 0x0299
#if PACKETVER >= 20181114
-packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0299, 6) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 6)
#endif
// Packet: 0x029a
#if PACKETVER >= 20181114
-packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 37)
#elif PACKETVER >= 20180103
-packetLen(0x029a, 27) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 27)
#endif
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
#if PACKETVER >= 20181114
-packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 32)
#elif PACKETVER >= 20180103
-packetLen(0x02b8, 22) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 22)
#endif
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
#if PACKETVER >= 20180523
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20180511
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20180315
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
#elif PACKETVER >= 20180228
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#elif PACKETVER >= 20180221
-packetLen(0x02c4, 6) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 6)
#elif PACKETVER >= 20180213
-packetLen(0x02c4, 8) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 8)
#elif PACKETVER >= 20180103
-packetLen(0x02c4, 2) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 2)
#endif
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
#if PACKETVER >= 20181114
-packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 39)
#elif PACKETVER >= 20180103
-packetLen(0x02d4, 29) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 29)
#endif
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
#if PACKETVER >= 20181114
-packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 71)
#elif PACKETVER >= 20180103
-packetLen(0x02ec, 67) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 67)
#endif
// Packet: 0x02ed
#if PACKETVER >= 20181114
-packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 63)
#elif PACKETVER >= 20180103
-packetLen(0x02ed, 59) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 59)
#endif
// Packet: 0x02ee
#if PACKETVER >= 20181114
-packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 64)
#elif PACKETVER >= 20180103
-packetLen(0x02ee, 60) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 60)
#endif
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
#if PACKETVER >= 20180523
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20180511
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20180315
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#elif PACKETVER >= 20180314
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20180228
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20180221
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20180131
-packetLen(0x035f, 6) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 6)
#elif PACKETVER >= 20180117
-packetLen(0x035f, 2) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 2)
#elif PACKETVER >= 20180103
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
#endif
// Packet: 0x0360
#if PACKETVER >= 20180523
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20180511
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20180314
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
#elif PACKETVER >= 20180117
-packetLen(0x0360, 2) // CZ_REQUEST_TIME2
+packetLen(0x0360, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0360, 18) // CZ_REQUEST_TIME2
+packetLen(0x0360, 18)
#endif
// Packet: 0x0361
#if PACKETVER >= 20180523
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20180511
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20180314
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20180221
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0361, 90) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 90)
#elif PACKETVER >= 20180131
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
#elif PACKETVER >= 20180117
-packetLen(0x0361, 26) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0361, 2) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 2)
#endif
// Packet: 0x0362
#if PACKETVER >= 20180523
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180511
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180314
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0362, 2) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 2)
#endif
// Packet: 0x0363
#if PACKETVER >= 20180523
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20180511
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
#elif PACKETVER >= 20180314
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20180213
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0363, 8) // CZ_ITEM_THROW2
+packetLen(0x0363, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0363, 2) // CZ_ITEM_THROW2
+packetLen(0x0363, 2)
#endif
// Packet: 0x0364
#if PACKETVER >= 20180523
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180511
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180314
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180221
-packetLen(0x0364, 5) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 5)
#elif PACKETVER >= 20180213
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
#elif PACKETVER >= 20180117
-packetLen(0x0364, 6) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0364, 2) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 2)
#endif
// Packet: 0x0365
#if PACKETVER >= 20180523
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20180511
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
#elif PACKETVER >= 20180314
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20180213
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0365, 18) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0365, 2) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 2)
#endif
// Packet: 0x0366
#if PACKETVER >= 20180523
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20180511
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
#elif PACKETVER >= 20180314
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20180213
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0366, 90) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 90)
#elif PACKETVER >= 20180117
-packetLen(0x0366, 2) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0366, -1) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, -1)
#endif
// Packet: 0x0367
#if PACKETVER >= 20180523
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20180511
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 90)
#elif PACKETVER >= 20180207
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0367, 36) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0367, 2) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+packetLen(0x0367, 2)
#endif
// Packet: 0x0368
#if PACKETVER >= 20180523
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20180511
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20180314
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20180213
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0368, 2) // CZ_REQNAME2
+packetLen(0x0368, 2)
#endif
// Packet: 0x0369
#if PACKETVER >= 20180523
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20180511
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
#elif PACKETVER >= 20180314
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20180213
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0369, 7) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0369, 2) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 2)
#endif
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
#if PACKETVER >= 20180523
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20180511
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
#elif PACKETVER >= 20180314
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20180213
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0436, 4) // CZ_ENTER2
+packetLen(0x0436, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0436, 2) // CZ_ENTER2
+packetLen(0x0436, 2)
#endif
// Packet: 0x0437
#if PACKETVER >= 20180523
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20180511
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
#elif PACKETVER >= 20180314
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20180213
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0437, 5) // CZ_REQUEST_ACT2
+packetLen(0x0437, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0437, 2) // CZ_REQUEST_ACT2
+packetLen(0x0437, 2)
#endif
// Packet: 0x0438
#if PACKETVER >= 20180523
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20180511
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20180314
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20180221
-packetLen(0x0438, -1) // CZ_USE_SKILL2
+packetLen(0x0438, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
#elif PACKETVER >= 20180117
-packetLen(0x0438, 8) // CZ_USE_SKILL2
+packetLen(0x0438, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0438, 2) // CZ_USE_SKILL2
+packetLen(0x0438, 2)
#endif
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
#if PACKETVER >= 20181114
-packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0445, 10) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 10)
#endif
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
#if PACKETVER >= 20180523
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20180511
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20180315
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
#elif PACKETVER >= 20180314
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20180228
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20180213
-packetLen(0x07e4, 2) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 2)
#elif PACKETVER >= 20180131
-packetLen(0x07e4, 6) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 6)
#elif PACKETVER >= 20180117
-packetLen(0x07e4, 36) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 36)
#elif PACKETVER >= 20180103
-packetLen(0x07e4, 5) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, 5)
#endif
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
#if PACKETVER >= 20180523
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180511
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20180315
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180314
-packetLen(0x07ec, 19) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 19)
#elif PACKETVER >= 20180228
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180213
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#elif PACKETVER >= 20180131
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
#elif PACKETVER >= 20180103
-packetLen(0x07ec, 2) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 2)
#endif
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
#if PACKETVER >= 20180523
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20180511
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
#elif PACKETVER >= 20180314
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20180221
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0802, 6) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 6)
#elif PACKETVER >= 20180131
-packetLen(0x0802, 26) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0802, 2) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 2)
#endif
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
#if PACKETVER >= 20181114
-packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 30)
#elif PACKETVER >= 20180103
-packetLen(0x080f, 20) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 20)
#endif
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
#if PACKETVER >= 20180523
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20180511
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20180314
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0811, 2) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, 2)
#endif
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
#if PACKETVER >= 20180314
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20180221
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0815, 10) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 10)
#elif PACKETVER >= 20180131
-packetLen(0x0815, -1) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
#endif
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
#if PACKETVER >= 20180315
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
#elif PACKETVER >= 20180228
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0817, -1) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0817, 2) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 2)
#endif
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
#if PACKETVER >= 20180523
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180511
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180314
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180213
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0819, 2) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, 2)
#endif
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
#if PACKETVER >= 20181114
-packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 12)
#elif PACKETVER >= 20180103
-packetLen(0x081b, 10) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 10)
#endif
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
#if PACKETVER >= 20181114
-packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0824, 6) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 6)
#endif
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
#if PACKETVER >= 20180523
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20180511
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#elif PACKETVER >= 20180315
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0835, 2) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, 2)
#endif
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
#if PACKETVER >= 20180314
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20180228
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20180213
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0838, 12) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
#endif
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
#if PACKETVER >= 20181114
-packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 14)
#elif PACKETVER >= 20180523
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
#elif PACKETVER >= 20180511
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20180315
-packetLen(0x083c, 12) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 12)
#elif PACKETVER >= 20180314
-packetLen(0x083c, 5) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 5)
#elif PACKETVER >= 20180228
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20180213
-packetLen(0x083c, 2) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 2)
#elif PACKETVER >= 20180131
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#elif PACKETVER >= 20180117
-packetLen(0x083c, 6) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 6)
#elif PACKETVER >= 20180103
-packetLen(0x083c, 10) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 10)
#endif
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
#if PACKETVER >= 20181114
-packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 21)
#elif PACKETVER >= 20180103
-packetLen(0x084b, 19) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 19)
#endif
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
#if PACKETVER >= 20180221
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#elif PACKETVER >= 20180213
-packetLen(0x085a, -1) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, -1)
#elif PACKETVER >= 20180103
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
#endif
// Packet: 0x085b
#if PACKETVER >= 20180228
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#elif PACKETVER >= 20180221
-packetLen(0x085b, 10) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 10)
#elif PACKETVER >= 20180103
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
#endif
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
#if PACKETVER >= 20180315
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20180314
-packetLen(0x085d, 26) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 26)
#elif PACKETVER >= 20180221
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#elif PACKETVER >= 20180213
-packetLen(0x085d, 5) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 5)
#elif PACKETVER >= 20180103
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
#endif
// Packet: 0x085e
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
// Packet: 0x085f
#if PACKETVER >= 20180523
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20180511
-packetLen(0x085f, 6) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 6)
#elif PACKETVER >= 20180315
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#elif PACKETVER >= 20180314
-packetLen(0x085f, -1) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, -1)
#elif PACKETVER >= 20180103
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
#endif
// Packet: 0x0860
#if PACKETVER >= 20180117
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0860, 5) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 5)
#endif
// Packet: 0x0861
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
// Packet: 0x0862
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
// Packet: 0x0863
#if PACKETVER >= 20180523
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0863, 6) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
#endif
// Packet: 0x0864
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
// Packet: 0x0865
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
// Packet: 0x0866
#if PACKETVER >= 20180315
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0866, 5) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 5)
#elif PACKETVER >= 20180131
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0866, -1) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, -1)
#endif
// Packet: 0x0867
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
// Packet: 0x0868
#if PACKETVER >= 20180221
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0868, 18) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
#endif
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
#if PACKETVER >= 20180228
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#elif PACKETVER >= 20180221
-packetLen(0x086a, 8) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 8)
#elif PACKETVER >= 20180103
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
#endif
// Packet: 0x086b
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
// Packet: 0x086c
#if PACKETVER >= 20180523
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#elif PACKETVER >= 20180511
-packetLen(0x086c, 7) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 7)
#elif PACKETVER >= 20180103
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
#endif
// Packet: 0x086d
#if PACKETVER >= 20180117
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
#elif PACKETVER >= 20180103
-packetLen(0x086d, 26) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 26)
#endif
// Packet: 0x086e
#if PACKETVER >= 20180131
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#elif PACKETVER >= 20180117
-packetLen(0x086e, 10) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 10)
#elif PACKETVER >= 20180103
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
#endif
// Packet: 0x086f
#if PACKETVER >= 20180131
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#elif PACKETVER >= 20180117
-packetLen(0x086f, 6) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 6)
#elif PACKETVER >= 20180103
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
#endif
// Packet: 0x0870
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
// Packet: 0x0871
#if PACKETVER >= 20180117
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0871, 6) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 6)
#endif
// Packet: 0x0872
@@ -3190,1974 +3190,1974 @@ packetLen(0x0872, -1)
#endif
// Packet: 0x0873
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
// Packet: 0x0874
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
// Packet: 0x0875
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
// Packet: 0x0876
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
// Packet: 0x0877
#if PACKETVER >= 20180523
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0877, 8) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
#endif
// Packet: 0x0878
#if PACKETVER >= 20180315
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0878, 8) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
#endif
// Packet: 0x0879
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
// Packet: 0x087a
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
// Packet: 0x087b
#if PACKETVER >= 20180221
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20180213
-packetLen(0x087b, 6) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 6)
#elif PACKETVER >= 20180117
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
#elif PACKETVER >= 20180103
-packetLen(0x087b, 8) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 8)
#endif
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
#if PACKETVER >= 20180131
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#elif PACKETVER >= 20180117
-packetLen(0x087d, 19) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 19)
#elif PACKETVER >= 20180103
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
#endif
// Packet: 0x087e
#if PACKETVER >= 20180523
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#elif PACKETVER >= 20180511
-packetLen(0x087e, -1) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, -1)
#elif PACKETVER >= 20180103
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
#endif
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
#if PACKETVER >= 20180523
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0880, 6) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 6)
#elif PACKETVER >= 20180228
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0880, 19) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 19)
#elif PACKETVER >= 20180103
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
#endif
// Packet: 0x0881
#if PACKETVER >= 20180131
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0881, 10) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 10)
#elif PACKETVER >= 20180103
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
#endif
// Packet: 0x0882
#if PACKETVER >= 20180221
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0882, 12) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
#endif
// Packet: 0x0883
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
// Packet: 0x0884
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
// Packet: 0x0885
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
// Packet: 0x0886
#if PACKETVER >= 20180131
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0886, 6) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
#endif
// Packet: 0x0887
#if PACKETVER >= 20180221
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0887, -1) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
#endif
// Packet: 0x0888
#if PACKETVER >= 20180221
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0888, 6) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 6)
#elif PACKETVER >= 20180117
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0888, 7) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 7)
#endif
// Packet: 0x0889
#if PACKETVER >= 20180523
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0889, 8) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
#endif
// Packet: 0x088a
#if PACKETVER >= 20180221
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#elif PACKETVER >= 20180213
-packetLen(0x088a, 4) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 4)
#elif PACKETVER >= 20180103
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
#endif
// Packet: 0x088b
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
// Packet: 0x088c
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
// Packet: 0x088d
#if PACKETVER >= 20180315
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20180314
-packetLen(0x088d, 36) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 36)
#elif PACKETVER >= 20180228
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x088d, 6) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 6)
#elif PACKETVER >= 20180103
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
#endif
// Packet: 0x088e
#if PACKETVER >= 20180221
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#elif PACKETVER >= 20180213
-packetLen(0x088e, 6) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 6)
#elif PACKETVER >= 20180103
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
#endif
// Packet: 0x088f
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
// Packet: 0x0890
#if PACKETVER >= 20180131
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0890, 8) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0890, 6) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 6)
#endif
// Packet: 0x0891
#if PACKETVER >= 20180315
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0891, 8) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 8)
#elif PACKETVER >= 20180131
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0891, 6) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
#endif
// Packet: 0x0892
#if PACKETVER >= 20180228
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0892, 6) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
#endif
// Packet: 0x0893
#if PACKETVER >= 20180523
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0893, 18) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 18)
#elif PACKETVER >= 20180131
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0893, 7) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
#endif
// Packet: 0x0894
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
// Packet: 0x0895
#if PACKETVER >= 20180228
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0895, 6) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
#endif
// Packet: 0x0896
#if PACKETVER >= 20180523
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0896, 19) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 19)
#elif PACKETVER >= 20180117
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0896, 10) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 10)
#endif
// Packet: 0x0897
#if PACKETVER >= 20180315
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0897, 6) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
#endif
// Packet: 0x0898
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
// Packet: 0x0899
#if PACKETVER >= 20180523
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0899, 12) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 12)
#elif PACKETVER >= 20180315
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0899, 8) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 8)
#elif PACKETVER >= 20180221
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0899, 26) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 26)
#elif PACKETVER >= 20180131
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0899, -1) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
#endif
// Packet: 0x089a
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
// Packet: 0x089b
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
// Packet: 0x089c
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
// Packet: 0x089d
#if PACKETVER >= 20180131
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
#elif PACKETVER >= 20180117
-packetLen(0x089d, -1) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, -1)
#elif PACKETVER >= 20180103
-packetLen(0x089d, 8) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 8)
#endif
// Packet: 0x089e
#if PACKETVER >= 20180315
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20180314
-packetLen(0x089e, -1) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, -1)
#elif PACKETVER >= 20180131
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#elif PACKETVER >= 20180117
-packetLen(0x089e, 5) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 5)
#elif PACKETVER >= 20180103
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
#endif
// Packet: 0x089f
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
// Packet: 0x08a0
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
// Packet: 0x08a1
#if PACKETVER >= 20180315
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20180314
-packetLen(0x08a1, 4) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 4)
#elif PACKETVER >= 20180228
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#elif PACKETVER >= 20180221
-packetLen(0x08a1, 5) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 5)
#elif PACKETVER >= 20180103
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
#endif
// Packet: 0x08a2
#if PACKETVER >= 20180523
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#elif PACKETVER >= 20180511
-packetLen(0x08a2, 6) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 6)
#elif PACKETVER >= 20180103
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
#endif
// Packet: 0x08a3
#if PACKETVER >= 20180228
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#elif PACKETVER >= 20180221
-packetLen(0x08a3, 10) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 10)
#elif PACKETVER >= 20180103
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
#endif
// Packet: 0x08a4
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
// Packet: 0x08a5
#if PACKETVER >= 20180523
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#elif PACKETVER >= 20180511
-packetLen(0x08a5, 6) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 6)
#elif PACKETVER >= 20180103
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
#endif
// Packet: 0x08a6
#if PACKETVER >= 20180117
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
#elif PACKETVER >= 20180103
-packetLen(0x08a6, 6) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 6)
#endif
// Packet: 0x08a7
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
// Packet: 0x08a8
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
// Packet: 0x08a9
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
// Packet: 0x08aa
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
// Packet: 0x08ab
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
// Packet: 0x08ac
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
// Packet: 0x08ad
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
#if PACKETVER >= 20180315
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0917, -1) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, -1)
#elif PACKETVER >= 20180221
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0917, 7) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
#endif
// Packet: 0x0918
#if PACKETVER >= 20180315
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0918, 7) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
#endif
// Packet: 0x0919
#if PACKETVER >= 20180523
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0919, 5) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 5)
#elif PACKETVER >= 20180131
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0919, 6) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
#endif
// Packet: 0x091a
#if PACKETVER >= 20180523
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#elif PACKETVER >= 20180511
-packetLen(0x091a, -1) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, -1)
#elif PACKETVER >= 20180103
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
#endif
// Packet: 0x091b
#if PACKETVER >= 20180228
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#elif PACKETVER >= 20180221
-packetLen(0x091b, 90) // ZC_PRNPC_STATE
+packetLen(0x091b, 90)
#elif PACKETVER >= 20180103
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
#endif
// Packet: 0x091c
#if PACKETVER >= 20180131
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#elif PACKETVER >= 20180117
-packetLen(0x091c, 8) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 8)
#elif PACKETVER >= 20180103
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
#endif
// Packet: 0x091d
#if PACKETVER >= 20180523
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20180511
-packetLen(0x091d, -1) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, -1)
#elif PACKETVER >= 20180221
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#elif PACKETVER >= 20180213
-packetLen(0x091d, 5) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 5)
#elif PACKETVER >= 20180103
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
#endif
// Packet: 0x091e
#if PACKETVER >= 20180117
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
#elif PACKETVER >= 20180103
-packetLen(0x091e, 6) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 6)
#endif
// Packet: 0x091f
#if PACKETVER >= 20180315
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20180314
-packetLen(0x091f, 10) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 10)
#elif PACKETVER >= 20180131
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#elif PACKETVER >= 20180117
-packetLen(0x091f, 90) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 90)
#elif PACKETVER >= 20180103
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
#endif
// Packet: 0x0920
#if PACKETVER >= 20180523
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0920, 4) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 4)
#elif PACKETVER >= 20180315
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0920, 6) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
#endif
// Packet: 0x0921
#if PACKETVER >= 20180228
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0921, -1) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, -1)
#elif PACKETVER >= 20180131
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0921, 5) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
#endif
// Packet: 0x0922
#if PACKETVER >= 20180221
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0922, -1) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
#endif
// Packet: 0x0923
#if PACKETVER >= 20180315
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0923, 12) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 12)
#elif PACKETVER >= 20180228
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0923, 5) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
#endif
// Packet: 0x0924
#if PACKETVER >= 20180117
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0924, 4) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 4)
#endif
// Packet: 0x0925
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
// Packet: 0x0926
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
// Packet: 0x0927
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
// Packet: 0x0928
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
// Packet: 0x0929
#if PACKETVER >= 20180131
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0929, 18) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
#endif
// Packet: 0x092a
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
// Packet: 0x092b
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
// Packet: 0x092c
#if PACKETVER >= 20180523
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#elif PACKETVER >= 20180511
-packetLen(0x092c, 10) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 10)
#elif PACKETVER >= 20180103
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
#endif
// Packet: 0x092d
#if PACKETVER >= 20180523
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20180511
-packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 26)
#elif PACKETVER >= 20180228
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x092d, 26) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 26)
#elif PACKETVER >= 20180131
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#elif PACKETVER >= 20180117
-packetLen(0x092d, 4) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 4)
#elif PACKETVER >= 20180103
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
#endif
// Packet: 0x092e
#if PACKETVER >= 20180523
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#elif PACKETVER >= 20180511
-packetLen(0x092e, -1) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, -1)
#elif PACKETVER >= 20180103
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
#endif
// Packet: 0x092f
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
// Packet: 0x0930
#if PACKETVER >= 20180315
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0930, 6) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 6)
#elif PACKETVER >= 20180228
-packetLen(0x0930, 36) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 36)
#elif PACKETVER >= 20180221
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0930, 8) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
#endif
// Packet: 0x0931
#if PACKETVER >= 20180315
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0931, 6) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
#endif
// Packet: 0x0932
#if PACKETVER >= 20180228
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0932, -1) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, -1)
#elif PACKETVER >= 20180103
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
#endif
// Packet: 0x0933
#if PACKETVER >= 20180131
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0933, 12) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 12)
#elif PACKETVER >= 20180103
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
#endif
// Packet: 0x0934
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
// Packet: 0x0935
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
// Packet: 0x0936
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
// Packet: 0x0937
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
// Packet: 0x0938
#if PACKETVER >= 20180117
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0938, 90) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 90)
#endif
// Packet: 0x0939
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
// Packet: 0x093a
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
// Packet: 0x093b
#if PACKETVER >= 20180228
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20180221
-packetLen(0x093b, 12) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 12)
#elif PACKETVER >= 20180117
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
#elif PACKETVER >= 20180103
-packetLen(0x093b, 26) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 26)
#endif
// Packet: 0x093c
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
// Packet: 0x093d
#if PACKETVER >= 20180228
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x093d, 26) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 26)
#elif PACKETVER >= 20180103
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
#endif
// Packet: 0x093e
#if PACKETVER >= 20180228
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#elif PACKETVER >= 20180221
-packetLen(0x093e, 8) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 8)
#elif PACKETVER >= 20180103
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
#endif
// Packet: 0x093f
#if PACKETVER >= 20180315
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#elif PACKETVER >= 20180314
-packetLen(0x093f, 6) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 6)
#elif PACKETVER >= 20180103
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
#endif
// Packet: 0x0940
#if PACKETVER >= 20180207
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#elif PACKETVER >= 20180131
-packetLen(0x0940, 90) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 90)
#elif PACKETVER >= 20180103
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
#endif
// Packet: 0x0941
#if PACKETVER >= 20180221
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0941, 19) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 19)
#elif PACKETVER >= 20180103
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
#endif
// Packet: 0x0942
#if PACKETVER >= 20180523
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0942, 5) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 5)
#elif PACKETVER >= 20180228
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0942, 36) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 36)
#elif PACKETVER >= 20180213
-packetLen(0x0942, 8) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
#endif
// Packet: 0x0943
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
// Packet: 0x0944
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
// Packet: 0x0945
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
// Packet: 0x0946
#if PACKETVER >= 20180315
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0946, 90) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 90)
#elif PACKETVER >= 20180131
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0946, 26) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
#endif
// Packet: 0x0947
#if PACKETVER >= 20180221
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#elif PACKETVER >= 20180213
-packetLen(0x0947, 6) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 6)
#elif PACKETVER >= 20180103
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
#endif
// Packet: 0x0948
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
// Packet: 0x0949
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
// Packet: 0x094a
#if PACKETVER >= 20180523
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20180511
-packetLen(0x094a, 90) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 90)
#elif PACKETVER >= 20180315
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#elif PACKETVER >= 20180314
-packetLen(0x094a, 10) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 10)
#elif PACKETVER >= 20180103
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
#endif
// Packet: 0x094b
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
// Packet: 0x094c
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
// Packet: 0x094d
#if PACKETVER >= 20180221
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#elif PACKETVER >= 20180213
-packetLen(0x094d, 10) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 10)
#elif PACKETVER >= 20180103
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
#endif
// Packet: 0x094e
#if PACKETVER >= 20180315
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#elif PACKETVER >= 20180314
-packetLen(0x094e, 5) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 5)
#elif PACKETVER >= 20180103
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
#endif
// Packet: 0x094f
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
// Packet: 0x0950
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
// Packet: 0x0951
#if PACKETVER >= 20180228
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0951, 18) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
#endif
// Packet: 0x0952
#if PACKETVER >= 20180228
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0952, 4) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 4)
#elif PACKETVER >= 20180103
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
#endif
// Packet: 0x0953
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
// Packet: 0x0954
#if PACKETVER >= 20180315
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0954, 18) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 18)
#elif PACKETVER >= 20180103
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
#endif
// Packet: 0x0955
#if PACKETVER >= 20180523
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0955, 26) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 26)
#elif PACKETVER >= 20180103
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
#endif
// Packet: 0x0956
#if PACKETVER >= 20180523
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0956, 8) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 8)
#elif PACKETVER >= 20180315
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0956, 6) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 6)
#elif PACKETVER >= 20180117
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0956, -1) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, -1)
#endif
// Packet: 0x0957
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
// Packet: 0x0958
#if PACKETVER >= 20180315
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20180314
-packetLen(0x0958, -1) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, -1)
#elif PACKETVER >= 20180228
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0958, 7) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 7)
#elif PACKETVER >= 20180213
-packetLen(0x0958, 26) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 26)
#elif PACKETVER >= 20180117
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0958, 19) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 19)
#endif
// Packet: 0x0959
#if PACKETVER >= 20180228
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#elif PACKETVER >= 20180221
-packetLen(0x0959, 8) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 8)
#elif PACKETVER >= 20180103
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
#endif
// Packet: 0x095a
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
// Packet: 0x095b
#if PACKETVER >= 20180117
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
#elif PACKETVER >= 20180103
-packetLen(0x095b, 36) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 36)
#endif
// Packet: 0x095c
#if PACKETVER >= 20180523
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20180511
-packetLen(0x095c, 10) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 10)
#elif PACKETVER >= 20180221
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#elif PACKETVER >= 20180213
-packetLen(0x095c, -1) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, -1)
#elif PACKETVER >= 20180103
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
#endif
// Packet: 0x095d
#if PACKETVER >= 20180228
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20180221
-packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 6)
#elif PACKETVER >= 20180117
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
#elif PACKETVER >= 20180103
-packetLen(0x095d, 6) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 6)
#endif
// Packet: 0x095e
#if PACKETVER >= 20180131
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#elif PACKETVER >= 20180117
-packetLen(0x095e, -1) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, -1)
#elif PACKETVER >= 20180103
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
#endif
// Packet: 0x095f
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
// Packet: 0x0960
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
// Packet: 0x0961
#if PACKETVER >= 20180523
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0961, 5) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
#endif
// Packet: 0x0962
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
// Packet: 0x0963
#if PACKETVER >= 20180131
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#elif PACKETVER >= 20180117
-packetLen(0x0963, 5) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 5)
#elif PACKETVER >= 20180103
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
#endif
// Packet: 0x0964
#if PACKETVER >= 20180117
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0964, 6) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 6)
#endif
// Packet: 0x0965
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
// Packet: 0x0966
#if PACKETVER >= 20180117
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
#elif PACKETVER >= 20180103
-packetLen(0x0966, 8) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 8)
#endif
// Packet: 0x0967
#if PACKETVER >= 20180221
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#elif PACKETVER >= 20180207
-packetLen(0x0967, 36) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
#endif
// Packet: 0x0968
#if PACKETVER >= 20180523
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#elif PACKETVER >= 20180511
-packetLen(0x0968, 36) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 36)
#elif PACKETVER >= 20180103
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
#endif
// Packet: 0x0969
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
// Packet: 0x096a
#if PACKETVER >= 20180314
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20180228
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20180213
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20180131
-packetLen(0x096a, 6) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 6)
#elif PACKETVER >= 20180117
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
#elif PACKETVER >= 20180103
-packetLen(0x096a, 12) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 12)
#endif
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
#if PACKETVER >= 20181114
-packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 41)
#elif PACKETVER >= 20180103
-packetLen(0x0990, 31) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 31)
#endif
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
#if PACKETVER >= 20181114
-packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 12)
#elif PACKETVER >= 20180103
-packetLen(0x09ad, 10) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 10)
#endif
// Packet: 0x09ae
#if PACKETVER >= 20181114
-packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 19)
#elif PACKETVER >= 20180103
-packetLen(0x09ae, 17) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 17)
#endif
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
#if PACKETVER >= 20181114
-packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09b0, 8) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 8)
#endif
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
#if PACKETVER >= 20181114
-packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09b2, 8) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 8)
#endif
// Packet: 0x09b3
#if PACKETVER >= 20181114
-packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 6)
#elif PACKETVER >= 20180103
-packetLen(0x09b3, 4) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 4)
#endif
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
#if PACKETVER >= 20181114
-packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09c3, 8) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 8)
#endif
// Packet: 0x09c4
#if PACKETVER >= 20181114
-packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 10)
#elif PACKETVER >= 20180103
-packetLen(0x09c4, 8) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 8)
#endif
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
#if PACKETVER >= 20181114
-packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 24)
#elif PACKETVER >= 20180103
-packetLen(0x09e6, 22) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 22)
#endif
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
#if PACKETVER >= 20181114
-packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 77)
#elif PACKETVER >= 20180103
-packetLen(0x09f7, 75) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 75)
#endif
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
#if PACKETVER >= 20181114
-packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 63)
#elif PACKETVER >= 20180103
-packetLen(0x0a05, 53) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 53)
#endif
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
#if PACKETVER >= 20181114
-packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 55)
#elif PACKETVER >= 20180103
-packetLen(0x0a09, 45) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 45)
#endif
// Packet: 0x0a0a
#if PACKETVER >= 20181114
-packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 57)
#elif PACKETVER >= 20180103
-packetLen(0x0a0a, 47) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 47)
#endif
// Packet: 0x0a0b
#if PACKETVER >= 20181114
-packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 57)
#elif PACKETVER >= 20180103
-packetLen(0x0a0b, 47) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 47)
#endif
// Packet: 0x0a0c
#if PACKETVER >= 20181114
-packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 66)
#elif PACKETVER >= 20180103
-packetLen(0x0a0c, 56) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 56)
#endif
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
#if PACKETVER >= 20181114
-packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 25)
#elif PACKETVER >= 20180103
-packetLen(0x0a1a, 23) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 23)
#endif
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
#if PACKETVER >= 20181114
-packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 23)
#elif PACKETVER >= 20180103
-packetLen(0x0a20, 21) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 21)
#endif
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
#if PACKETVER >= 20181114
-packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 7)
#elif PACKETVER >= 20180103
-packetLen(0x0a22, 5) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 5)
#endif
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
#if PACKETVER >= 20181114
-packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 69)
#elif PACKETVER >= 20180103
-packetLen(0x0a37, 59) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 59)
#endif
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -5183,41 +5183,41 @@ packetLen(0x0a3f, 9)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
#if PACKETVER >= 20181114
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
#elif PACKETVER >= 20180103
-packetLen(0x0a49, 20) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 20)
#endif
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -5236,7 +5236,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -5275,7 +5275,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -5293,10 +5293,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -5332,13 +5332,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -5353,7 +5353,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -5369,13 +5369,13 @@ packetLen(0x0a88, 2)
// Packet: 0x0a89
#if PACKETVER >= 20181114
-packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 61)
#elif PACKETVER >= 20180103
-packetLen(0x0a89, 57) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 57)
#endif
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -5384,7 +5384,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -5396,7 +5396,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -5412,25 +5412,25 @@ packetLen(0x0a95, 4)
// Packet: 0x0a96
#if PACKETVER >= 20181114
-packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 61)
#elif PACKETVER >= 20180103
-packetLen(0x0a96, 51) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 51)
#endif
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
// Packet: 0x0a98
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
// Packet: 0x0a99
packetLen(0x0a99, 4)
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
packetLen(0x0a9c, 2)
@@ -5445,32 +5445,32 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
#if PACKETVER >= 20181114
-packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 9)
#elif PACKETVER >= 20180103
-packetLen(0x0aa3, 7) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 7)
#endif
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -5503,7 +5503,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
packetLen(0x0ab3, 19)
@@ -5533,9 +5533,9 @@ packetLen(0x0ab8, 2)
// Packet: 0x0ab9
#if PACKETVER >= 20181114
-packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 47)
#elif PACKETVER >= 20180103
-packetLen(0x0ab9, 39) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 39)
#endif
// Packet: 0x0aba
@@ -5548,40 +5548,40 @@ packetLen(0x0abb, 2)
packetLen(0x0abc, -1)
// Packet: 0x0abd
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
// Packet: 0x0abe
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
// Packet: 0x0abf
packetLen(0x0abf, -1)
// Packet: 0x0ac0
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
// Packet: 0x0ac1
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
// Packet: 0x0ac2
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
// Packet: 0x0ac3
packetLen(0x0ac3, 2)
// Packet: 0x0ac4
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
// Packet: 0x0ac5
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
// Packet: 0x0ac6
packetLen(0x0ac6, 156)
// Packet: 0x0ac7
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
// Packet: 0x0ac8
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
// Packet: 0x0ac9
packetLen(0x0ac9, -1)
@@ -5590,10 +5590,10 @@ packetLen(0x0ac9, -1)
packetLen(0x0aca, 3)
// Packet: 0x0acb
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
// Packet: 0x0acc
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
// Packet: 0x0acd
packetLen(0x0acd, 23)
@@ -5602,10 +5602,10 @@ packetLen(0x0acd, 23)
packetLen(0x0ace, 4)
// Packet: 0x0acf
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
// Packet: 0x0ad0
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
// Packet: 0x0ad1
packetLen(0x0ad1, -1)
@@ -5636,29 +5636,29 @@ packetLen(0x0ad9, -1)
// Packet: 0x0ada
#if PACKETVER >= 20181114
-packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+packetLen(0x0ada, 32)
#elif PACKETVER >= 20180103
-packetLen(0x0ada, 30) // ZC_REFINE_STATUS
+packetLen(0x0ada, 30)
#endif
// Packet: 0x0adb
packetLen(0x0adb, -1)
// Packet: 0x0adc
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
// Packet: 0x0add
#if PACKETVER >= 20181114
-packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 24)
#elif PACKETVER >= 20180103
-packetLen(0x0add, 22) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 22)
#endif
// Packet: 0x0ade
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
// Packet: 0x0adf
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
// Packet: 0x0ae0
packetLen(0x0ae0, 30)
@@ -5667,16 +5667,16 @@ packetLen(0x0ae0, 30)
packetLen(0x0ae1, 28)
// Packet: 0x0ae2
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
// Packet: 0x0ae3
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
// Packet: 0x0ae4
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
// Packet: 0x0ae5
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
// Packet: 0x0ae6
#if PACKETVER >= 20180131
@@ -5697,9 +5697,9 @@ packetLen(0x0ae8, 2)
// Packet: 0x0ae9
#if PACKETVER >= 20180117
-packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 13)
#elif PACKETVER >= 20180103
-packetLen(0x0ae9, 64) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 64)
#endif
// Packet: 0x0aea
@@ -5727,12 +5727,12 @@ packetLen(0x0aee, 2)
// Packet: 0x0aef
#if PACKETVER >= 20180117
-packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+packetLen(0x0aef, 2)
#endif
// Packet: 0x0af0
#if PACKETVER >= 20180117
-packetLen(0x0af0, 10) // ZC_UI_ACTION
+packetLen(0x0af0, 10)
#endif
// Packet: 0x0af2
@@ -5747,7 +5747,7 @@ packetLen(0x0af3, -1)
// Packet: 0x0af4
#if PACKETVER >= 20180131
-packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0af4, 11)
#endif
// Packet: 0x0af5
@@ -5762,7 +5762,7 @@ packetLen(0x0af6, 88)
// Packet: 0x0af7
#if PACKETVER >= 20180207
-packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0af7, 32)
#endif
// Packet: 0x0af8
@@ -5782,7 +5782,7 @@ packetLen(0x0afa, 54)
// Packet: 0x0afb
#if PACKETVER >= 20180425
-packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+packetLen(0x0afb, -1)
#endif
// Packet: 0x0afc
@@ -5792,17 +5792,17 @@ packetLen(0x0afc, 16)
// Packet: 0x0afd
#if PACKETVER >= 20180605
-packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+packetLen(0x0afd, -1)
#endif
// Packet: 0x0afe
#if PACKETVER >= 20180605
-packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x0afe, -1)
#endif
// Packet: 0x0aff
#if PACKETVER >= 20180605
-packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+packetLen(0x0aff, -1)
#endif
// Packet: 0x0b00
@@ -5817,12 +5817,12 @@ packetLen(0x0b01, 56)
// Packet: 0x0b02
#if PACKETVER >= 20180627
-packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+packetLen(0x0b02, 26)
#endif
// Packet: 0x0b03
#if PACKETVER >= 20180725
-packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+packetLen(0x0b03, -1)
#endif
// Packet: 0x0b04
@@ -5832,9 +5832,9 @@ packetLen(0x0b04, 80)
// Packet: 0x0b05
#if PACKETVER >= 20181114
-packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+packetLen(0x0b05, 63)
#elif PACKETVER >= 20180822
-packetLen(0x0b05, 59) // ZC_OFFLINE_STORE_VISIBLE
+packetLen(0x0b05, 59)
#endif
// Packet: 0x0b06
@@ -5851,40 +5851,40 @@ packetLen(0x0b07, -1)
// Packet: 0x0b08
#if PACKETVER >= 20180919
-packetLen(0x0b08, -1) // ZC_INVENTORY_START
+packetLen(0x0b08, -1)
#elif PACKETVER >= 20180905
-packetLen(0x0b08, 27) // ZC_INVENTORY_START
+packetLen(0x0b08, 27)
#elif PACKETVER >= 20180822
-packetLen(0x0b08, 26) // ZC_INVENTORY_START
+packetLen(0x0b08, 26)
#endif
// Packet: 0x0b09
#if PACKETVER >= 20180822
-packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+packetLen(0x0b09, -1)
#endif
// Packet: 0x0b0a
#if PACKETVER >= 20180822
-packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0b0a, -1)
#endif
// Packet: 0x0b0b
#if PACKETVER >= 20180905
-packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+packetLen(0x0b0b, 4)
#elif PACKETVER >= 20180822
-packetLen(0x0b0b, 3) // ZC_INVENTORY_END
+packetLen(0x0b0b, 3)
#endif
// Packet: 0x0b0c
#if PACKETVER >= 20180822
-packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+packetLen(0x0b0c, 155)
#endif
// Packet: 0x0b0d
#if PACKETVER >= 20180919
-packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+packetLen(0x0b0d, 10)
#elif PACKETVER >= 20180905
-packetLen(0x0b0d, 6) // ZC_REMOVE_EFFECT
+packetLen(0x0b0d, 6)
#endif
// Packet: 0x0b0e
@@ -5899,12 +5899,12 @@ packetLen(0x0b0f, -1)
// Packet: 0x0b10
#if PACKETVER >= 20181010
-packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+packetLen(0x0b10, 10)
#endif
// Packet: 0x0b11
#if PACKETVER >= 20181010
-packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+packetLen(0x0b11, 4)
#endif
// Packet: 0x0b12
@@ -5914,9 +5914,9 @@ packetLen(0x0b12, 2)
// Packet: 0x0b13
#if PACKETVER >= 20181114
-packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+packetLen(0x0b13, 48)
#elif PACKETVER >= 20181024
-packetLen(0x0b13, 40) // ZC_ITEM_PREVIEW
+packetLen(0x0b13, 40)
#endif
// Packet: 0x0b14
diff --git a/src/common/packets/packets2019_len_main.h b/src/common/packets/packets2019_len_main.h
index f7ad59577..5772ec89a 100644
--- a/src/common/packets/packets2019_len_main.h
+++ b/src/common/packets/packets2019_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,3739 +25,3751 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+#if PACKETVER >= 20190904
+packetLen(0x007e, 46)
+#elif PACKETVER >= 20190109
+packetLen(0x007e, 105)
+#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+packetLen(0x009d, 19)
// Packet: 0x009e
-packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 19)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 33)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 29)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 31)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 14)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 31)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+packetLen(0x018e, 18)
// Packet: 0x018f
-packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 8)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+#if PACKETVER >= 20190904
+packetLen(0x0191, 27)
+#elif PACKETVER >= 20190109
+packetLen(0x0191, 86)
+#endif
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 7) // ZC_FEED_PET
+packetLen(0x01a3, 7)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 32)
// Packet: 0x01c5
-packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 32)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 15)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 15)
// Packet: 0x01d8
-packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 58)
// Packet: 0x01d9
-packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 57)
// Packet: 0x01da
-packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 64)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 25)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+packetLen(0x0206, 35)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 10)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 62)
// Packet: 0x022b
-packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 61)
// Packet: 0x022c
-packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 69)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 73)
// Packet: 0x022f
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 8)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 10)
// Packet: 0x0299
-packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 8)
// Packet: 0x029a
-packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 37)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 32)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 39)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 71)
// Packet: 0x02ed
-packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 63)
// Packet: 0x02ee
-packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 64)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
// Packet: 0x0360
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
// Packet: 0x0361
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
// Packet: 0x0362
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
// Packet: 0x0363
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
// Packet: 0x0364
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
// Packet: 0x0365
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
// Packet: 0x0366
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
// Packet: 0x0367
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#if PACKETVER >= 20190904
+packetLen(0x0367, 31)
+#elif PACKETVER >= 20190109
+packetLen(0x0367, 90)
+#endif
// Packet: 0x0368
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
// Packet: 0x0369
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// Packet: 0x0437
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// Packet: 0x0438
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 12)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 30)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 12)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 8)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
-packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 14)
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 21)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
// Packet: 0x085b
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
// Packet: 0x085e
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
// Packet: 0x085f
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
// Packet: 0x0860
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
// Packet: 0x0861
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
// Packet: 0x0862
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
// Packet: 0x0863
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
// Packet: 0x0864
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
// Packet: 0x0865
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
// Packet: 0x0866
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
// Packet: 0x0867
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
// Packet: 0x0868
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
// Packet: 0x086b
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
// Packet: 0x086c
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
// Packet: 0x086d
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
// Packet: 0x086e
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
// Packet: 0x086f
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
// Packet: 0x0870
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
// Packet: 0x0871
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
// Packet: 0x0872
packetLen(0x0872, 2)
// Packet: 0x0873
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
// Packet: 0x0874
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
// Packet: 0x0875
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
// Packet: 0x0876
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
// Packet: 0x0877
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
// Packet: 0x0878
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
// Packet: 0x0879
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
// Packet: 0x087a
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
// Packet: 0x087b
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
// Packet: 0x087e
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
// Packet: 0x0881
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
// Packet: 0x0882
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
// Packet: 0x0883
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
// Packet: 0x0884
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
// Packet: 0x0885
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
// Packet: 0x0886
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
// Packet: 0x0887
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
// Packet: 0x0888
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
// Packet: 0x0889
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
// Packet: 0x088a
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
// Packet: 0x088b
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
// Packet: 0x088c
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
// Packet: 0x088d
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
// Packet: 0x088e
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
// Packet: 0x088f
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
// Packet: 0x0890
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
// Packet: 0x0891
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
// Packet: 0x0892
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
// Packet: 0x0893
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
// Packet: 0x0894
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
// Packet: 0x0895
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
// Packet: 0x0896
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
// Packet: 0x0897
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
// Packet: 0x0898
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
// Packet: 0x0899
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
// Packet: 0x089a
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
// Packet: 0x089b
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
// Packet: 0x089c
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
// Packet: 0x089d
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
// Packet: 0x089e
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
// Packet: 0x089f
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
// Packet: 0x08a0
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
// Packet: 0x08a1
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
// Packet: 0x08a2
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
// Packet: 0x08a3
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
// Packet: 0x08a4
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
// Packet: 0x08a5
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
// Packet: 0x08a6
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
// Packet: 0x08a7
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
// Packet: 0x08a8
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
// Packet: 0x08a9
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
// Packet: 0x08aa
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
// Packet: 0x08ab
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
// Packet: 0x08ac
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
// Packet: 0x08ad
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
// Packet: 0x0918
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
// Packet: 0x0919
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
// Packet: 0x091a
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
// Packet: 0x091b
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
// Packet: 0x091c
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
// Packet: 0x091d
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
// Packet: 0x091e
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
// Packet: 0x091f
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
// Packet: 0x0920
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
// Packet: 0x0921
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
// Packet: 0x0922
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
// Packet: 0x0923
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
// Packet: 0x0924
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
// Packet: 0x0925
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
// Packet: 0x0926
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
// Packet: 0x0927
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
// Packet: 0x0928
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
// Packet: 0x0929
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
// Packet: 0x092a
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
// Packet: 0x092b
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
// Packet: 0x092c
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
// Packet: 0x092d
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
// Packet: 0x092e
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
// Packet: 0x092f
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
// Packet: 0x0930
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
// Packet: 0x0931
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
// Packet: 0x0932
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
// Packet: 0x0933
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
// Packet: 0x0934
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
// Packet: 0x0935
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
// Packet: 0x0936
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
// Packet: 0x0937
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
// Packet: 0x0938
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
// Packet: 0x0939
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
// Packet: 0x093a
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
// Packet: 0x093b
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
// Packet: 0x093c
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
// Packet: 0x093d
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
// Packet: 0x093e
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
// Packet: 0x093f
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
// Packet: 0x0940
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
// Packet: 0x0941
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
// Packet: 0x0942
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
// Packet: 0x0943
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
// Packet: 0x0944
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
// Packet: 0x0945
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
// Packet: 0x0946
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
// Packet: 0x0947
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
// Packet: 0x0948
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
// Packet: 0x0949
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
// Packet: 0x094a
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
// Packet: 0x094b
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
// Packet: 0x094c
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
// Packet: 0x094d
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
// Packet: 0x094e
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
// Packet: 0x094f
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
// Packet: 0x0950
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
// Packet: 0x0951
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
// Packet: 0x0952
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
// Packet: 0x0953
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
// Packet: 0x0954
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
// Packet: 0x0955
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
// Packet: 0x0956
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
// Packet: 0x0957
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
// Packet: 0x0958
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
// Packet: 0x0959
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
// Packet: 0x095a
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
// Packet: 0x095b
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
// Packet: 0x095c
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
// Packet: 0x095d
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
// Packet: 0x095e
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
// Packet: 0x095f
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
// Packet: 0x0960
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
// Packet: 0x0961
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
// Packet: 0x0962
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
// Packet: 0x0963
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
// Packet: 0x0964
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
// Packet: 0x0965
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
// Packet: 0x0966
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
// Packet: 0x0967
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
// Packet: 0x0968
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
// Packet: 0x0969
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
// Packet: 0x096a
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 41)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 12)
// Packet: 0x09ae
-packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 19)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 10)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 10)
// Packet: 0x09b3
-packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 6)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 10)
// Packet: 0x09c4
-packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 10)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 24)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 77)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 63)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 55)
// Packet: 0x0a0a
-packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 57)
// Packet: 0x0a0b
-packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 57)
// Packet: 0x0a0c
-packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 66)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 25)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 23)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 7)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
-packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 69)
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -3775,37 +3787,37 @@ packetLen(0x0a3f, 11)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -3820,7 +3832,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -3859,7 +3871,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -3877,10 +3889,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -3916,13 +3928,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -3937,7 +3949,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -3952,10 +3964,10 @@ packetLen(0x0a87, -1)
packetLen(0x0a88, 2)
// Packet: 0x0a89
-packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 61)
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -3964,7 +3976,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -3976,7 +3988,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -3991,22 +4003,22 @@ packetLen(0x0a94, 2)
packetLen(0x0a95, 4)
// Packet: 0x0a96
-packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 61)
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
// Packet: 0x0a98
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
// Packet: 0x0a99
packetLen(0x0a99, 4)
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
packetLen(0x0a9c, 2)
@@ -4021,28 +4033,28 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
-packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 9)
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -4075,7 +4087,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
packetLen(0x0ab3, 19)
@@ -4096,7 +4108,7 @@ packetLen(0x0ab7, 4)
packetLen(0x0ab8, 2)
// Packet: 0x0ab9
-packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 47)
// Packet: 0x0aba
packetLen(0x0aba, 2)
@@ -4108,40 +4120,40 @@ packetLen(0x0abb, 2)
packetLen(0x0abc, -1)
// Packet: 0x0abd
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
// Packet: 0x0abe
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
// Packet: 0x0abf
packetLen(0x0abf, -1)
// Packet: 0x0ac0
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
// Packet: 0x0ac1
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
// Packet: 0x0ac2
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
// Packet: 0x0ac3
packetLen(0x0ac3, 2)
// Packet: 0x0ac4
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
// Packet: 0x0ac5
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
// Packet: 0x0ac6
packetLen(0x0ac6, 156)
// Packet: 0x0ac7
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
// Packet: 0x0ac8
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
// Packet: 0x0ac9
packetLen(0x0ac9, -1)
@@ -4150,10 +4162,10 @@ packetLen(0x0ac9, -1)
packetLen(0x0aca, 3)
// Packet: 0x0acb
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
// Packet: 0x0acc
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
// Packet: 0x0acd
packetLen(0x0acd, 23)
@@ -4162,10 +4174,10 @@ packetLen(0x0acd, 23)
packetLen(0x0ace, 4)
// Packet: 0x0acf
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
// Packet: 0x0ad0
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
// Packet: 0x0ad1
packetLen(0x0ad1, -1)
@@ -4195,22 +4207,22 @@ packetLen(0x0ad8, 8)
packetLen(0x0ad9, -1)
// Packet: 0x0ada
-packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+packetLen(0x0ada, 32)
// Packet: 0x0adb
packetLen(0x0adb, -1)
// Packet: 0x0adc
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
// Packet: 0x0add
-packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 24)
// Packet: 0x0ade
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
// Packet: 0x0adf
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
// Packet: 0x0ae0
packetLen(0x0ae0, 30)
@@ -4219,16 +4231,16 @@ packetLen(0x0ae0, 30)
packetLen(0x0ae1, 28)
// Packet: 0x0ae2
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
// Packet: 0x0ae3
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
// Packet: 0x0ae4
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
// Packet: 0x0ae5
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
// Packet: 0x0ae6
packetLen(0x0ae6, 10)
@@ -4240,7 +4252,7 @@ packetLen(0x0ae7, 38)
packetLen(0x0ae8, 2)
// Packet: 0x0ae9
-packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 13)
// Packet: 0x0aec
packetLen(0x0aec, 2)
@@ -4252,10 +4264,10 @@ packetLen(0x0aed, 2)
packetLen(0x0aee, 2)
// Packet: 0x0aef
-packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+packetLen(0x0aef, 2)
// Packet: 0x0af0
-packetLen(0x0af0, 10) // ZC_UI_ACTION
+packetLen(0x0af0, 10)
// Packet: 0x0af2
packetLen(0x0af2, 40)
@@ -4264,7 +4276,7 @@ packetLen(0x0af2, 40)
packetLen(0x0af3, -1)
// Packet: 0x0af4
-packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0af4, 11)
// Packet: 0x0af5
packetLen(0x0af5, 3)
@@ -4273,7 +4285,7 @@ packetLen(0x0af5, 3)
packetLen(0x0af6, 88)
// Packet: 0x0af7
-packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0af7, 32)
// Packet: 0x0af8
packetLen(0x0af8, 11)
@@ -4282,22 +4294,26 @@ packetLen(0x0af8, 11)
packetLen(0x0af9, 6)
// Packet: 0x0afa
+#if PACKETVER >= 20191204
+packetLen(0x0afa, 58)
+#elif PACKETVER >= 20190109
packetLen(0x0afa, 54)
+#endif
// Packet: 0x0afb
-packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+packetLen(0x0afb, -1)
// Packet: 0x0afc
packetLen(0x0afc, 16)
// Packet: 0x0afd
-packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+packetLen(0x0afd, -1)
// Packet: 0x0afe
-packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x0afe, -1)
// Packet: 0x0aff
-packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+packetLen(0x0aff, -1)
// Packet: 0x0b00
packetLen(0x0b00, 8)
@@ -4306,76 +4322,584 @@ packetLen(0x0b00, 8)
packetLen(0x0b01, 56)
// Packet: 0x0b02
-packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+packetLen(0x0b02, 26)
// Packet: 0x0b03
-packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+packetLen(0x0b03, -1)
// Packet: 0x0b04
+#if PACKETVER >= 20190807
+packetLen(0x0b04, 90)
+#elif PACKETVER >= 20190605
+packetLen(0x0b04, 72)
+#elif PACKETVER >= 20190109
packetLen(0x0b04, 80)
+#endif
// Packet: 0x0b05
-packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+packetLen(0x0b05, 63)
// Packet: 0x0b07
packetLen(0x0b07, -1)
// Packet: 0x0b08
-packetLen(0x0b08, -1) // ZC_INVENTORY_START
+packetLen(0x0b08, -1)
// Packet: 0x0b09
-packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+packetLen(0x0b09, -1)
// Packet: 0x0b0a
-packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0b0a, -1)
// Packet: 0x0b0b
-packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+packetLen(0x0b0b, 4)
// Packet: 0x0b0c
-packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+packetLen(0x0b0c, 155)
// Packet: 0x0b0d
-packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+packetLen(0x0b0d, 10)
// Packet: 0x0b0e
-packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+packetLen(0x0b0e, -1)
// Packet: 0x0b0f
-packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+packetLen(0x0b0f, -1)
// Packet: 0x0b10
-packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+packetLen(0x0b10, 10)
// Packet: 0x0b11
-packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+packetLen(0x0b11, 4)
// Packet: 0x0b12
-packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+packetLen(0x0b12, 2)
// Packet: 0x0b13
-packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+packetLen(0x0b13, 48)
// Packet: 0x0b14
-packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+packetLen(0x0b14, 2)
// Packet: 0x0b15
-packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+packetLen(0x0b15, 7)
// Packet: 0x0b16
-packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+packetLen(0x0b16, 2)
// Packet: 0x0b17
-packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+packetLen(0x0b17, 3)
// Packet: 0x0b18
-packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+packetLen(0x0b18, 4)
// Packet: 0x0b19
-packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+packetLen(0x0b19, 2)
// Packet: 0x0b1a
packetLen(0x0b1a, 29)
+// Packet: 0x0b1b
+#if PACKETVER >= 20190213
+packetLen(0x0b1b, 2)
+#endif
+
+// Packet: 0x0b1c
+#if PACKETVER >= 20190227
+packetLen(0x0b1c, 2)
+#endif
+
+// Packet: 0x0b1d
+#if PACKETVER >= 20190227
+packetLen(0x0b1d, 2)
+#endif
+
+// Packet: 0x0b1e
+#if PACKETVER >= 20190619
+packetLen(0x0b1e, 14)
+#elif PACKETVER >= 20190227
+packetLen(0x0b1e, 10)
+#endif
+
+// Packet: 0x0b1f
+#if PACKETVER >= 20190619
+packetLen(0x0b1f, 14)
+#elif 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 >= 20190522
+// removed
+#elif PACKETVER >= 20190508
+packetLen(0x0b26, 16)
+#elif PACKETVER >= 20190417
+packetLen(0x0b26, 18)
+#endif
+
+// Packet: 0x0b27
+#if PACKETVER >= 20190508
+packetLen(0x0b27, -1)
+#endif
+
+// Packet: 0x0b28
+#if PACKETVER >= 20190522
+packetLen(0x0b28, 3)
+#elif PACKETVER >= 20190508
+packetLen(0x0b28, 22)
+#endif
+
+// Packet: 0x0b29
+#if PACKETVER >= 20190605
+// removed
+#elif PACKETVER >= 20190508
+packetLen(0x0b29, 6)
+#endif
+
+// Packet: 0x0b2a
+#if PACKETVER >= 20190605
+// removed
+#elif PACKETVER >= 20190522
+packetLen(0x0b2a, 40)
+#elif PACKETVER >= 20190508
+packetLen(0x0b2a, 6)
+#endif
+
+// Packet: 0x0b2b
+#if PACKETVER >= 20190522
+packetLen(0x0b2b, 11)
+#endif
+
+// Packet: 0x0b2c
+#if PACKETVER >= 20190522
+packetLen(0x0b2c, 3)
+#endif
+
+// Packet: 0x0b2d
+#if PACKETVER >= 20190522
+packetLen(0x0b2d, 11)
+#endif
+
+// Packet: 0x0b2e
+#if PACKETVER >= 20190522
+packetLen(0x0b2e, 4)
+#endif
+
+// Packet: 0x0b2f
+#if PACKETVER >= 20190529
+packetLen(0x0b2f, 73)
+#endif
+
+// Packet: 0x0b30
+#if PACKETVER >= 20190529
+packetLen(0x0b30, -1)
+#endif
+
+// Packet: 0x0b31
+#if PACKETVER >= 20190619
+packetLen(0x0b31, 17)
+#endif
+
+// Packet: 0x0b32
+#if PACKETVER >= 20190619
+packetLen(0x0b32, -1)
+#endif
+
+// Packet: 0x0b33
+#if PACKETVER >= 20190619
+packetLen(0x0b33, 17)
+#endif
+
+// Packet: 0x0b34
+#if PACKETVER >= 20190724
+packetLen(0x0b34, 50)
+#elif PACKETVER >= 20190703
+packetLen(0x0b34, 26)
+#endif
+
+// Packet: 0x0b35
+#if PACKETVER >= 20190703
+packetLen(0x0b35, 3)
+#endif
+
+// Packet: 0x0b36
+#if PACKETVER >= 20190717
+packetLen(0x0b36, -1)
+#endif
+
+// Packet: 0x0b37
+#if PACKETVER >= 20190724
+packetLen(0x0b37, -1)
+#endif
+
+// Packet: 0x0b38
+#if PACKETVER >= 20191002
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b38, -1)
+#endif
+
+// Packet: 0x0b39
+#if PACKETVER >= 20190724
+packetLen(0x0b39, -1)
+#endif
+
+// Packet: 0x0b3a
+#if PACKETVER >= 20191002
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b3a, 4)
+#endif
+
+// Packet: 0x0b3b
+#if PACKETVER >= 20191002
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b3b, 4)
+#endif
+
+// Packet: 0x0b3c
+#if PACKETVER >= 20190724
+packetLen(0x0b3c, 4)
+#endif
+
+// Packet: 0x0b3d
+#if PACKETVER >= 20190724
+packetLen(0x0b3d, -1)
+#endif
+
+// Packet: 0x0b3e
+#if PACKETVER >= 20190724
+packetLen(0x0b3e, -1)
+#endif
+
+// Packet: 0x0b3f
+#if PACKETVER >= 20191224
+packetLen(0x0b3f, 64)
+#elif PACKETVER >= 20191016
+packetLen(0x0b3f, 63)
+#elif PACKETVER >= 20190724
+packetLen(0x0b3f, 64)
+#endif
+
+// Packet: 0x0b40
+#if PACKETVER >= 20190724
+packetLen(0x0b40, -1)
+#endif
+
+// Packet: 0x0b41
+#if PACKETVER >= 20191224
+packetLen(0x0b41, 70)
+#elif PACKETVER >= 20191016
+packetLen(0x0b41, 69)
+#elif PACKETVER >= 20190724
+packetLen(0x0b41, 41)
+#endif
+
+// Packet: 0x0b42
+#if PACKETVER >= 20191224
+packetLen(0x0b42, 62)
+#elif PACKETVER >= 20191016
+packetLen(0x0b42, 61)
+#elif PACKETVER >= 20190724
+packetLen(0x0b42, 30)
+#endif
+
+// Packet: 0x0b43
+#if PACKETVER >= 20191224
+packetLen(0x0b43, 48)
+#elif PACKETVER >= 20190724
+packetLen(0x0b43, 47)
+#endif
+
+// Packet: 0x0b44
+#if PACKETVER >= 20191224
+packetLen(0x0b44, 58)
+#elif PACKETVER >= 20191016
+packetLen(0x0b44, 57)
+#elif PACKETVER >= 20190724
+packetLen(0x0b44, 32)
+#endif
+
+// Packet: 0x0b45
+#if PACKETVER >= 20191224
+packetLen(0x0b45, 58)
+#elif PACKETVER >= 20191016
+packetLen(0x0b45, 57)
+#elif PACKETVER >= 20190724
+packetLen(0x0b45, 32)
+#endif
+
+// Packet: 0x0b46
+#if PACKETVER >= 20190724
+packetLen(0x0b46, 10)
+#endif
+
+// Packet: 0x0b47
+#if PACKETVER >= 20190724
+packetLen(0x0b47, 14)
+#endif
+
+// Packet: 0x0b48
+#if PACKETVER >= 20190724
+packetLen(0x0b48, 18)
+#endif
+
+// Packet: 0x0b49
+#if PACKETVER >= 20190724
+packetLen(0x0b49, 4)
+#endif
+
+// Packet: 0x0b4a
+#if PACKETVER >= 20190724
+packetLen(0x0b4a, 6)
+#endif
+
+// Packet: 0x0b4b
+#if PACKETVER >= 20190724
+packetLen(0x0b4b, 4)
+#endif
+
+// Packet: 0x0b4c
+#if PACKETVER >= 20190724
+packetLen(0x0b4c, 2)
+#endif
+
+// Packet: 0x0b4d
+#if PACKETVER >= 20190807
+packetLen(0x0b4d, -1)
+#elif PACKETVER >= 20190724
+packetLen(0x0b4d, 6)
+#endif
+
+// Packet: 0x0b4e
+#if PACKETVER >= 20190807
+packetLen(0x0b4e, -1)
+#endif
+
+// Packet: 0x0b4f
+#if PACKETVER >= 20190807
+packetLen(0x0b4f, 2)
+#endif
+
+// Packet: 0x0b50
+#if PACKETVER >= 20190807
+packetLen(0x0b50, 2)
+#endif
+
+// Packet: 0x0b51
+#if PACKETVER >= 20190807
+packetLen(0x0b51, 2)
+#endif
+
+// Packet: 0x0b52
+#if PACKETVER >= 20190807
+packetLen(0x0b52, 2)
+#endif
+
+// Packet: 0x0b53
+#if PACKETVER >= 20190821
+packetLen(0x0b53, 52)
+#endif
+
+// Packet: 0x0b54
+#if PACKETVER >= 20190821
+packetLen(0x0b54, 8)
+#endif
+
+// Packet: 0x0b55
+#if PACKETVER >= 20190821
+packetLen(0x0b55, -1)
+#endif
+
+// Packet: 0x0b56
+#if PACKETVER >= 20190904
+packetLen(0x0b56, -1)
+#endif
+
+// Packet: 0x0b57
+#if PACKETVER >= 20190904
+packetLen(0x0b57, -1)
+#endif
+
+// Packet: 0x0b58
+#if PACKETVER >= 20190904
+packetLen(0x0b58, 2)
+#endif
+
+// Packet: 0x0b59
+#if PACKETVER >= 20191016
+packetLen(0x0b59, 4)
+#elif PACKETVER >= 20190918
+packetLen(0x0b59, 2)
+#endif
+
+// Packet: 0x0b5a
+#if PACKETVER >= 20191016
+packetLen(0x0b5a, -1)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5a, 4)
+#endif
+
+// Packet: 0x0b5b
+#if PACKETVER >= 20191016
+packetLen(0x0b5b, 14)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5b, -1)
+#endif
+
+// Packet: 0x0b5c
+#if PACKETVER >= 20191016
+packetLen(0x0b5c, 2)
+#elif PACKETVER >= 20191002
+packetLen(0x0b5c, 14)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5c, 10)
+#endif
+
+// Packet: 0x0b5d
+#if PACKETVER >= 20191016
+packetLen(0x0b5d, 10)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5d, 2)
+#endif
+
+// Packet: 0x0b5e
+#if PACKETVER >= 20191016
+packetLen(0x0b5e, 33)
+#elif PACKETVER >= 20191002
+packetLen(0x0b5e, 10)
+#endif
+
+// Packet: 0x0b5f
+#if PACKETVER >= 20191030
+packetLen(0x0b5f, -1)
+#elif PACKETVER >= 20191016
+// removed
+#elif PACKETVER >= 20191002
+packetLen(0x0b5f, 33)
+#endif
+
+// Packet: 0x0b60
+#if PACKETVER >= 20191030
+packetLen(0x0b60, -1)
+#endif
+
+// Packet: 0x0b61
+#if PACKETVER >= 20191030
+packetLen(0x0b61, -1)
+#endif
+
+// Packet: 0x0b62
+#if PACKETVER >= 20191030
+packetLen(0x0b62, -1)
+#endif
+
+// Packet: 0x0b63
+#if PACKETVER >= 20191030
+packetLen(0x0b63, -1)
+#endif
+
+// Packet: 0x0b64
+#if PACKETVER >= 20191030
+packetLen(0x0b64, -1)
+#endif
+
+// Packet: 0x0b65
+#if PACKETVER >= 20191106
+packetLen(0x0b65, -1)
+#endif
+
+// Packet: 0x0b66
+#if PACKETVER >= 20191224
+packetLen(0x0b66, 26)
+#elif PACKETVER >= 20191106
+packetLen(0x0b66, 25)
+#endif
+
+// Packet: 0x0b67
+#if PACKETVER >= 20191224
+packetLen(0x0b67, 33)
+#elif PACKETVER >= 20191106
+packetLen(0x0b67, 32)
+#endif
+
+// Packet: 0x0b68
+#if PACKETVER >= 20191120
+packetLen(0x0b68, 12)
+#endif
+
+// Packet: 0x0b69
+#if PACKETVER >= 20191127
+packetLen(0x0b69, 18)
+#endif
+
+// Packet: 0x0b6a
+#if PACKETVER >= 20191204
+packetLen(0x0b6a, -1)
+#endif
+
+// Packet: 0x0b6b
+#if PACKETVER >= 20191218
+packetLen(0x0b6b, 14)
+#endif
+
+// Packet: 0x0b6c
+#if PACKETVER >= 20191218
+packetLen(0x0b6c, 12)
+#endif
+
+// Packet: 0x0b6d
+#if PACKETVER >= 20191224
+packetLen(0x0b6d, 6)
+#endif
+
+// Packet: 0x0b6e
+#if PACKETVER >= 20191224
+packetLen(0x0b6e, 14)
+#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
index 134102bac..45572abc1 100644
--- a/src/common/packets/packets2019_len_re.h
+++ b/src/common/packets/packets2019_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,3745 +25,3757 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+#if PACKETVER >= 20190904
+packetLen(0x007e, 46)
+#elif PACKETVER >= 20190109
+packetLen(0x007e, 105)
+#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+packetLen(0x009d, 19)
// Packet: 0x009e
-packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 19)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 33)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 29)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 31)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 14)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 31)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+packetLen(0x018e, 18)
// Packet: 0x018f
-packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 8)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+#if PACKETVER >= 20190904
+packetLen(0x0191, 27)
+#elif PACKETVER >= 20190109
+packetLen(0x0191, 86)
+#endif
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 7) // ZC_FEED_PET
+packetLen(0x01a3, 7)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 32)
// Packet: 0x01c5
-packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 32)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 15)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 15)
// Packet: 0x01d8
-packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 58)
// Packet: 0x01d9
-packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 57)
// Packet: 0x01da
-packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 64)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 25)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+packetLen(0x0206, 35)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x020f
-packetLen(0x020f, 10) // CZ_REQ_PVPPOINT
+packetLen(0x020f, 10)
// Packet: 0x0210
-packetLen(0x0210, 22) // ZC_ACK_PVPPOINT
+packetLen(0x0210, 22)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 10)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 62)
// Packet: 0x022b
-packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 61)
// Packet: 0x022c
-packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 69)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 73)
// Packet: 0x022f
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 8)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 10)
// Packet: 0x0299
-packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 8)
// Packet: 0x029a
-packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 37)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 32)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 39)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 71)
// Packet: 0x02ed
-packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 63)
// Packet: 0x02ee
-packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 64)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
// Packet: 0x0360
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
// Packet: 0x0361
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
// Packet: 0x0362
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
// Packet: 0x0363
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
// Packet: 0x0364
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
// Packet: 0x0365
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
// Packet: 0x0366
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
// Packet: 0x0367
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#if PACKETVER >= 20190904
+packetLen(0x0367, 31)
+#elif PACKETVER >= 20190109
+packetLen(0x0367, 90)
+#endif
// Packet: 0x0368
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
// Packet: 0x0369
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// Packet: 0x0437
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// Packet: 0x0438
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 12)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 30)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 12)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 8)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
-packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 14)
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 21)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
// Packet: 0x085b
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
// Packet: 0x085e
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
// Packet: 0x085f
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
// Packet: 0x0860
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
// Packet: 0x0861
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
// Packet: 0x0862
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
// Packet: 0x0863
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
// Packet: 0x0864
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
// Packet: 0x0865
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
// Packet: 0x0866
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
// Packet: 0x0867
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
// Packet: 0x0868
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
// Packet: 0x086b
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
// Packet: 0x086c
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
// Packet: 0x086d
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
// Packet: 0x086e
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
// Packet: 0x086f
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
// Packet: 0x0870
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
// Packet: 0x0871
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
// Packet: 0x0872
packetLen(0x0872, 2)
// Packet: 0x0873
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
// Packet: 0x0874
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
// Packet: 0x0875
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
// Packet: 0x0876
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
// Packet: 0x0877
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
// Packet: 0x0878
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
// Packet: 0x0879
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
// Packet: 0x087a
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
// Packet: 0x087b
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
// Packet: 0x087e
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
// Packet: 0x0881
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
// Packet: 0x0882
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
// Packet: 0x0883
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
// Packet: 0x0884
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
// Packet: 0x0885
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
// Packet: 0x0886
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
// Packet: 0x0887
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
// Packet: 0x0888
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
// Packet: 0x0889
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
// Packet: 0x088a
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
// Packet: 0x088b
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
// Packet: 0x088c
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
// Packet: 0x088d
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
// Packet: 0x088e
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
// Packet: 0x088f
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
// Packet: 0x0890
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
// Packet: 0x0891
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
// Packet: 0x0892
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
// Packet: 0x0893
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
// Packet: 0x0894
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
// Packet: 0x0895
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
// Packet: 0x0896
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
// Packet: 0x0897
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
// Packet: 0x0898
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
// Packet: 0x0899
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
// Packet: 0x089a
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
// Packet: 0x089b
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
// Packet: 0x089c
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
// Packet: 0x089d
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
// Packet: 0x089e
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
// Packet: 0x089f
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
// Packet: 0x08a0
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
// Packet: 0x08a1
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
// Packet: 0x08a2
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
// Packet: 0x08a3
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
// Packet: 0x08a4
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
// Packet: 0x08a5
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
// Packet: 0x08a6
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
// Packet: 0x08a7
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
// Packet: 0x08a8
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
// Packet: 0x08a9
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
// Packet: 0x08aa
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
// Packet: 0x08ab
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
// Packet: 0x08ac
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
// Packet: 0x08ad
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
// Packet: 0x0918
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
// Packet: 0x0919
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
// Packet: 0x091a
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
// Packet: 0x091b
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
// Packet: 0x091c
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
// Packet: 0x091d
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
// Packet: 0x091e
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
// Packet: 0x091f
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
// Packet: 0x0920
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
// Packet: 0x0921
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
// Packet: 0x0922
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
// Packet: 0x0923
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
// Packet: 0x0924
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
// Packet: 0x0925
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
// Packet: 0x0926
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
// Packet: 0x0927
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
// Packet: 0x0928
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
// Packet: 0x0929
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
// Packet: 0x092a
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
// Packet: 0x092b
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
// Packet: 0x092c
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
// Packet: 0x092d
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
// Packet: 0x092e
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
// Packet: 0x092f
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
// Packet: 0x0930
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
// Packet: 0x0931
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
// Packet: 0x0932
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
// Packet: 0x0933
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
// Packet: 0x0934
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
// Packet: 0x0935
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
// Packet: 0x0936
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
// Packet: 0x0937
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
// Packet: 0x0938
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
// Packet: 0x0939
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
// Packet: 0x093a
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
// Packet: 0x093b
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
// Packet: 0x093c
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
// Packet: 0x093d
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
// Packet: 0x093e
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
// Packet: 0x093f
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
// Packet: 0x0940
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
// Packet: 0x0941
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
// Packet: 0x0942
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
// Packet: 0x0943
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
// Packet: 0x0944
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
// Packet: 0x0945
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
// Packet: 0x0946
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
// Packet: 0x0947
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
// Packet: 0x0948
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
// Packet: 0x0949
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
// Packet: 0x094a
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
// Packet: 0x094b
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
// Packet: 0x094c
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
// Packet: 0x094d
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
// Packet: 0x094e
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
// Packet: 0x094f
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
// Packet: 0x0950
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
// Packet: 0x0951
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
// Packet: 0x0952
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
// Packet: 0x0953
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
// Packet: 0x0954
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
// Packet: 0x0955
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
// Packet: 0x0956
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
// Packet: 0x0957
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
// Packet: 0x0958
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
// Packet: 0x0959
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
// Packet: 0x095a
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
// Packet: 0x095b
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
// Packet: 0x095c
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
// Packet: 0x095d
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
// Packet: 0x095e
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
// Packet: 0x095f
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
// Packet: 0x0960
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
// Packet: 0x0961
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
// Packet: 0x0962
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
// Packet: 0x0963
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
// Packet: 0x0964
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
// Packet: 0x0965
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
// Packet: 0x0966
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
// Packet: 0x0967
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
// Packet: 0x0968
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
// Packet: 0x0969
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
// Packet: 0x096a
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 41)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 12)
// Packet: 0x09ae
-packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 19)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 10)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 10)
// Packet: 0x09b3
-packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 6)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 10)
// Packet: 0x09c4
-packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 10)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 24)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 77)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 63)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 55)
// Packet: 0x0a0a
-packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 57)
// Packet: 0x0a0b
-packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 57)
// Packet: 0x0a0c
-packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 66)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 25)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 23)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 7)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
-packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 69)
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -3781,37 +3793,37 @@ packetLen(0x0a3f, 11)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -3826,7 +3838,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -3865,7 +3877,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -3883,10 +3895,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -3922,13 +3934,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -3943,7 +3955,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -3958,10 +3970,10 @@ packetLen(0x0a87, -1)
packetLen(0x0a88, 2)
// Packet: 0x0a89
-packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 61)
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -3970,7 +3982,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -3982,7 +3994,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -3997,22 +4009,22 @@ packetLen(0x0a94, 2)
packetLen(0x0a95, 4)
// Packet: 0x0a96
-packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 61)
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a97, 8)
// Packet: 0x0a98
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
// Packet: 0x0a99
packetLen(0x0a99, 4)
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
packetLen(0x0a9c, 2)
@@ -4027,28 +4039,28 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
-packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 9)
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -4081,7 +4093,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
packetLen(0x0ab3, 19)
@@ -4102,7 +4114,7 @@ packetLen(0x0ab7, 4)
packetLen(0x0ab8, 2)
// Packet: 0x0ab9
-packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 47)
// Packet: 0x0aba
packetLen(0x0aba, 2)
@@ -4114,40 +4126,40 @@ packetLen(0x0abb, 2)
packetLen(0x0abc, -1)
// Packet: 0x0abd
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
// Packet: 0x0abe
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
// Packet: 0x0abf
packetLen(0x0abf, -1)
// Packet: 0x0ac0
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
// Packet: 0x0ac1
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
// Packet: 0x0ac2
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
// Packet: 0x0ac3
packetLen(0x0ac3, 2)
// Packet: 0x0ac4
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
// Packet: 0x0ac5
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
// Packet: 0x0ac6
packetLen(0x0ac6, 156)
// Packet: 0x0ac7
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
// Packet: 0x0ac8
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
// Packet: 0x0ac9
packetLen(0x0ac9, -1)
@@ -4156,10 +4168,10 @@ packetLen(0x0ac9, -1)
packetLen(0x0aca, 3)
// Packet: 0x0acb
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
// Packet: 0x0acc
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
// Packet: 0x0acd
packetLen(0x0acd, 23)
@@ -4168,10 +4180,10 @@ packetLen(0x0acd, 23)
packetLen(0x0ace, 4)
// Packet: 0x0acf
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
// Packet: 0x0ad0
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
// Packet: 0x0ad1
packetLen(0x0ad1, -1)
@@ -4201,22 +4213,22 @@ packetLen(0x0ad8, 8)
packetLen(0x0ad9, -1)
// Packet: 0x0ada
-packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+packetLen(0x0ada, 32)
// Packet: 0x0adb
packetLen(0x0adb, -1)
// Packet: 0x0adc
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
// Packet: 0x0add
-packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 24)
// Packet: 0x0ade
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
// Packet: 0x0adf
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
// Packet: 0x0ae0
packetLen(0x0ae0, 30)
@@ -4225,16 +4237,16 @@ packetLen(0x0ae0, 30)
packetLen(0x0ae1, 28)
// Packet: 0x0ae2
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
// Packet: 0x0ae3
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
// Packet: 0x0ae4
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
// Packet: 0x0ae5
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
// Packet: 0x0ae6
packetLen(0x0ae6, 10)
@@ -4246,7 +4258,7 @@ packetLen(0x0ae7, 38)
packetLen(0x0ae8, 2)
// Packet: 0x0ae9
-packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 13)
// Packet: 0x0aec
packetLen(0x0aec, 2)
@@ -4258,10 +4270,10 @@ packetLen(0x0aed, 2)
packetLen(0x0aee, 2)
// Packet: 0x0aef
-packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+packetLen(0x0aef, 2)
// Packet: 0x0af0
-packetLen(0x0af0, 10) // ZC_UI_ACTION
+packetLen(0x0af0, 10)
// Packet: 0x0af2
packetLen(0x0af2, 40)
@@ -4270,7 +4282,7 @@ packetLen(0x0af2, 40)
packetLen(0x0af3, -1)
// Packet: 0x0af4
-packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0af4, 11)
// Packet: 0x0af5
packetLen(0x0af5, 3)
@@ -4279,7 +4291,7 @@ packetLen(0x0af5, 3)
packetLen(0x0af6, 88)
// Packet: 0x0af7
-packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0af7, 32)
// Packet: 0x0af8
packetLen(0x0af8, 11)
@@ -4288,22 +4300,26 @@ packetLen(0x0af8, 11)
packetLen(0x0af9, 6)
// Packet: 0x0afa
+#if PACKETVER >= 20191204
+packetLen(0x0afa, 58)
+#elif PACKETVER >= 20190109
packetLen(0x0afa, 54)
+#endif
// Packet: 0x0afb
-packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+packetLen(0x0afb, -1)
// Packet: 0x0afc
packetLen(0x0afc, 16)
// Packet: 0x0afd
-packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+packetLen(0x0afd, -1)
// Packet: 0x0afe
-packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x0afe, -1)
// Packet: 0x0aff
-packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+packetLen(0x0aff, -1)
// Packet: 0x0b00
packetLen(0x0b00, 8)
@@ -4312,76 +4328,590 @@ packetLen(0x0b00, 8)
packetLen(0x0b01, 56)
// Packet: 0x0b02
-packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+packetLen(0x0b02, 26)
// Packet: 0x0b03
-packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+packetLen(0x0b03, -1)
// Packet: 0x0b04
+#if PACKETVER >= 20190807
+packetLen(0x0b04, 90)
+#elif PACKETVER >= 20190605
+packetLen(0x0b04, 72)
+#elif PACKETVER >= 20190109
packetLen(0x0b04, 80)
+#endif
// Packet: 0x0b05
-packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+packetLen(0x0b05, 63)
// Packet: 0x0b07
packetLen(0x0b07, -1)
// Packet: 0x0b08
-packetLen(0x0b08, -1) // ZC_INVENTORY_START
+packetLen(0x0b08, -1)
// Packet: 0x0b09
-packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+packetLen(0x0b09, -1)
// Packet: 0x0b0a
-packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0b0a, -1)
// Packet: 0x0b0b
-packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+packetLen(0x0b0b, 4)
// Packet: 0x0b0c
-packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+packetLen(0x0b0c, 155)
// Packet: 0x0b0d
-packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+packetLen(0x0b0d, 10)
// Packet: 0x0b0e
-packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+packetLen(0x0b0e, -1)
// Packet: 0x0b0f
-packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+packetLen(0x0b0f, -1)
// Packet: 0x0b10
-packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+packetLen(0x0b10, 10)
// Packet: 0x0b11
-packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+packetLen(0x0b11, 4)
// Packet: 0x0b12
-packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+packetLen(0x0b12, 2)
// Packet: 0x0b13
-packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+packetLen(0x0b13, 48)
// Packet: 0x0b14
-packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+packetLen(0x0b14, 2)
// Packet: 0x0b15
-packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+packetLen(0x0b15, 7)
// Packet: 0x0b16
-packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+packetLen(0x0b16, 2)
// Packet: 0x0b17
-packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+packetLen(0x0b17, 3)
// Packet: 0x0b18
-packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+packetLen(0x0b18, 4)
// Packet: 0x0b19
-packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+packetLen(0x0b19, 2)
// Packet: 0x0b1a
packetLen(0x0b1a, 29)
+// Packet: 0x0b1b
+#if PACKETVER >= 20190213
+packetLen(0x0b1b, 2)
+#endif
+
+// Packet: 0x0b1c
+#if PACKETVER >= 20190220
+packetLen(0x0b1c, 2)
+#endif
+
+// Packet: 0x0b1d
+#if PACKETVER >= 20190220
+packetLen(0x0b1d, 2)
+#endif
+
+// Packet: 0x0b1e
+#if PACKETVER >= 20190619
+packetLen(0x0b1e, 14)
+#elif PACKETVER >= 20190605
+packetLen(0x0b1e, 14)
+// ignored packet from 2019-06-05hRagexeRE
+#elif PACKETVER >= 20190227
+packetLen(0x0b1e, 10)
+#endif
+
+// Packet: 0x0b1f
+#if PACKETVER >= 20190619
+packetLen(0x0b1f, 14)
+#elif PACKETVER >= 20190605
+packetLen(0x0b1f, 14)
+// ignored packet from 2019-06-05hRagexeRE
+#elif 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 >= 20190522
+// removed
+#elif PACKETVER >= 20190508
+packetLen(0x0b26, 16)
+#elif PACKETVER >= 20190417
+packetLen(0x0b26, 18)
+#endif
+
+// Packet: 0x0b27
+#if PACKETVER >= 20190508
+packetLen(0x0b27, -1)
+#endif
+
+// Packet: 0x0b28
+#if PACKETVER >= 20190522
+packetLen(0x0b28, 3)
+#elif PACKETVER >= 20190508
+packetLen(0x0b28, 22)
+#endif
+
+// Packet: 0x0b29
+#if PACKETVER >= 20190605
+// removed
+#elif PACKETVER >= 20190508
+packetLen(0x0b29, 6)
+#endif
+
+// Packet: 0x0b2a
+#if PACKETVER >= 20190605
+// removed
+#elif PACKETVER >= 20190522
+packetLen(0x0b2a, 40)
+#elif PACKETVER >= 20190508
+packetLen(0x0b2a, 6)
+#endif
+
+// Packet: 0x0b2b
+#if PACKETVER >= 20190522
+packetLen(0x0b2b, 11)
+#endif
+
+// Packet: 0x0b2c
+#if PACKETVER >= 20190522
+packetLen(0x0b2c, 3)
+#endif
+
+// Packet: 0x0b2d
+#if PACKETVER >= 20190522
+packetLen(0x0b2d, 11)
+#endif
+
+// Packet: 0x0b2e
+#if PACKETVER >= 20190522
+packetLen(0x0b2e, 4)
+#endif
+
+// Packet: 0x0b2f
+#if PACKETVER >= 20190529
+packetLen(0x0b2f, 73)
+#endif
+
+// Packet: 0x0b30
+#if PACKETVER >= 20190529
+packetLen(0x0b30, -1)
+#endif
+
+// Packet: 0x0b31
+#if PACKETVER >= 20190619
+packetLen(0x0b31, 17)
+#endif
+
+// Packet: 0x0b32
+#if PACKETVER >= 20190619
+packetLen(0x0b32, -1)
+#endif
+
+// Packet: 0x0b33
+#if PACKETVER >= 20190619
+packetLen(0x0b33, 17)
+#endif
+
+// Packet: 0x0b34
+#if PACKETVER >= 20190724
+packetLen(0x0b34, 50)
+#elif PACKETVER >= 20190703
+packetLen(0x0b34, 26)
+#endif
+
+// Packet: 0x0b35
+#if PACKETVER >= 20190703
+packetLen(0x0b35, 3)
+#endif
+
+// Packet: 0x0b36
+#if PACKETVER >= 20190717
+packetLen(0x0b36, -1)
+#endif
+
+// Packet: 0x0b37
+#if PACKETVER >= 20190724
+packetLen(0x0b37, -1)
+#endif
+
+// Packet: 0x0b38
+#if PACKETVER >= 20191002
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b38, -1)
+#endif
+
+// Packet: 0x0b39
+#if PACKETVER >= 20190724
+packetLen(0x0b39, -1)
+#endif
+
+// Packet: 0x0b3a
+#if PACKETVER >= 20191002
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b3a, 4)
+#endif
+
+// Packet: 0x0b3b
+#if PACKETVER >= 20191002
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b3b, 4)
+#endif
+
+// Packet: 0x0b3c
+#if PACKETVER >= 20190724
+packetLen(0x0b3c, 4)
+#endif
+
+// Packet: 0x0b3d
+#if PACKETVER >= 20190724
+packetLen(0x0b3d, -1)
+#endif
+
+// Packet: 0x0b3e
+#if PACKETVER >= 20190724
+packetLen(0x0b3e, -1)
+#endif
+
+// Packet: 0x0b3f
+#if PACKETVER >= 20191224
+packetLen(0x0b3f, 64)
+#elif PACKETVER >= 20191016
+packetLen(0x0b3f, 63)
+#elif PACKETVER >= 20190724
+packetLen(0x0b3f, 64)
+#endif
+
+// Packet: 0x0b40
+#if PACKETVER >= 20190724
+packetLen(0x0b40, -1)
+#endif
+
+// Packet: 0x0b41
+#if PACKETVER >= 20191224
+packetLen(0x0b41, 70)
+#elif PACKETVER >= 20191016
+packetLen(0x0b41, 69)
+#elif PACKETVER >= 20190724
+packetLen(0x0b41, 41)
+#endif
+
+// Packet: 0x0b42
+#if PACKETVER >= 20191224
+packetLen(0x0b42, 62)
+#elif PACKETVER >= 20191016
+packetLen(0x0b42, 61)
+#elif PACKETVER >= 20190724
+packetLen(0x0b42, 30)
+#endif
+
+// Packet: 0x0b43
+#if PACKETVER >= 20191224
+packetLen(0x0b43, 48)
+#elif PACKETVER >= 20190724
+packetLen(0x0b43, 47)
+#endif
+
+// Packet: 0x0b44
+#if PACKETVER >= 20191224
+packetLen(0x0b44, 58)
+#elif PACKETVER >= 20191016
+packetLen(0x0b44, 57)
+#elif PACKETVER >= 20190724
+packetLen(0x0b44, 32)
+#endif
+
+// Packet: 0x0b45
+#if PACKETVER >= 20191224
+packetLen(0x0b45, 58)
+#elif PACKETVER >= 20191016
+packetLen(0x0b45, 57)
+#elif PACKETVER >= 20190724
+packetLen(0x0b45, 32)
+#endif
+
+// Packet: 0x0b46
+#if PACKETVER >= 20190724
+packetLen(0x0b46, 10)
+#endif
+
+// Packet: 0x0b47
+#if PACKETVER >= 20190724
+packetLen(0x0b47, 14)
+#endif
+
+// Packet: 0x0b48
+#if PACKETVER >= 20190724
+packetLen(0x0b48, 18)
+#endif
+
+// Packet: 0x0b49
+#if PACKETVER >= 20190724
+packetLen(0x0b49, 4)
+#endif
+
+// Packet: 0x0b4a
+#if PACKETVER >= 20190724
+packetLen(0x0b4a, 6)
+#endif
+
+// Packet: 0x0b4b
+#if PACKETVER >= 20190724
+packetLen(0x0b4b, 4)
+#endif
+
+// Packet: 0x0b4c
+#if PACKETVER >= 20190724
+packetLen(0x0b4c, 2)
+#endif
+
+// Packet: 0x0b4d
+#if PACKETVER >= 20190807
+packetLen(0x0b4d, -1)
+#elif PACKETVER >= 20190724
+packetLen(0x0b4d, 6)
+#endif
+
+// Packet: 0x0b4e
+#if PACKETVER >= 20190807
+packetLen(0x0b4e, -1)
+#endif
+
+// Packet: 0x0b4f
+#if PACKETVER >= 20190807
+packetLen(0x0b4f, 2)
+#endif
+
+// Packet: 0x0b50
+#if PACKETVER >= 20190807
+packetLen(0x0b50, 2)
+#endif
+
+// Packet: 0x0b51
+#if PACKETVER >= 20190807
+packetLen(0x0b51, 2)
+#endif
+
+// Packet: 0x0b52
+#if PACKETVER >= 20190807
+packetLen(0x0b52, 2)
+#endif
+
+// Packet: 0x0b53
+#if PACKETVER >= 20190821
+packetLen(0x0b53, 52)
+#endif
+
+// Packet: 0x0b54
+#if PACKETVER >= 20190821
+packetLen(0x0b54, 8)
+#endif
+
+// Packet: 0x0b55
+#if PACKETVER >= 20190821
+packetLen(0x0b55, -1)
+#endif
+
+// Packet: 0x0b56
+#if PACKETVER >= 20190904
+packetLen(0x0b56, -1)
+#endif
+
+// Packet: 0x0b57
+#if PACKETVER >= 20190904
+packetLen(0x0b57, -1)
+#endif
+
+// Packet: 0x0b58
+#if PACKETVER >= 20190904
+packetLen(0x0b58, 2)
+#endif
+
+// Packet: 0x0b59
+#if PACKETVER >= 20191016
+packetLen(0x0b59, 4)
+#elif PACKETVER >= 20190918
+packetLen(0x0b59, 2)
+#endif
+
+// Packet: 0x0b5a
+#if PACKETVER >= 20191016
+packetLen(0x0b5a, -1)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5a, 4)
+#endif
+
+// Packet: 0x0b5b
+#if PACKETVER >= 20191016
+packetLen(0x0b5b, 14)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5b, -1)
+#endif
+
+// Packet: 0x0b5c
+#if PACKETVER >= 20191016
+packetLen(0x0b5c, 2)
+#elif PACKETVER >= 20191002
+packetLen(0x0b5c, 14)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5c, 10)
+#endif
+
+// Packet: 0x0b5d
+#if PACKETVER >= 20191016
+packetLen(0x0b5d, 10)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5d, 2)
+#endif
+
+// Packet: 0x0b5e
+#if PACKETVER >= 20191016
+packetLen(0x0b5e, 33)
+#elif PACKETVER >= 20191002
+packetLen(0x0b5e, 10)
+#endif
+
+// Packet: 0x0b5f
+#if PACKETVER >= 20191030
+packetLen(0x0b5f, -1)
+#elif PACKETVER >= 20191016
+// removed
+#elif PACKETVER >= 20191002
+packetLen(0x0b5f, 33)
+#endif
+
+// Packet: 0x0b60
+#if PACKETVER >= 20191030
+packetLen(0x0b60, -1)
+#endif
+
+// Packet: 0x0b61
+#if PACKETVER >= 20191030
+packetLen(0x0b61, -1)
+#endif
+
+// Packet: 0x0b62
+#if PACKETVER >= 20191030
+packetLen(0x0b62, -1)
+#endif
+
+// Packet: 0x0b63
+#if PACKETVER >= 20191030
+packetLen(0x0b63, -1)
+#endif
+
+// Packet: 0x0b64
+#if PACKETVER >= 20191030
+packetLen(0x0b64, -1)
+#endif
+
+// Packet: 0x0b65
+#if PACKETVER >= 20191106
+packetLen(0x0b65, -1)
+#endif
+
+// Packet: 0x0b66
+#if PACKETVER >= 20191224
+packetLen(0x0b66, 26)
+#elif PACKETVER >= 20191106
+packetLen(0x0b66, 25)
+#endif
+
+// Packet: 0x0b67
+#if PACKETVER >= 20191224
+packetLen(0x0b67, 33)
+#elif PACKETVER >= 20191106
+packetLen(0x0b67, 32)
+#endif
+
+// Packet: 0x0b68
+#if PACKETVER >= 20191120
+packetLen(0x0b68, 12)
+#endif
+
+// Packet: 0x0b69
+#if PACKETVER >= 20191127
+packetLen(0x0b69, 18)
+#endif
+
+// Packet: 0x0b6a
+#if PACKETVER >= 20191204
+packetLen(0x0b6a, -1)
+#endif
+
+// Packet: 0x0b6b
+#if PACKETVER >= 20191218
+packetLen(0x0b6b, 14)
+#endif
+
+// Packet: 0x0b6c
+#if PACKETVER >= 20191218
+packetLen(0x0b6c, 12)
+#endif
+
+// Packet: 0x0b6d
+#if PACKETVER >= 20191224
+packetLen(0x0b6d, 6)
+#endif
+
+// Packet: 0x0b6e
+#if PACKETVER >= 20191224
+packetLen(0x0b6e, 14)
+#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
index 08e83f59f..226de51ac 100644
--- a/src/common/packets/packets2019_len_zero.h
+++ b/src/common/packets/packets2019_len_zero.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -25,3739 +25,3751 @@
/* This file is autogenerated, please do not commit manual changes */
// Packet: 0x0064
-packetLen(0x0064, 55) // CA_LOGIN
+packetLen(0x0064, 55)
// Packet: 0x0065
-packetLen(0x0065, 17) // CH_ENTER
+packetLen(0x0065, 17)
// Packet: 0x0066
-packetLen(0x0066, 3) // CH_SELECT_CHAR
+packetLen(0x0066, 3)
// Packet: 0x0067
-packetLen(0x0067, 37) // CH_MAKE_CHAR
+packetLen(0x0067, 37)
// Packet: 0x0068
-packetLen(0x0068, 46) // CH_DELETE_CHAR
+packetLen(0x0068, 46)
// Packet: 0x0069
-packetLen(0x0069, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0069, -1)
// Packet: 0x006a
-packetLen(0x006a, 23) // AC_REFUSE_LOGIN
+packetLen(0x006a, 23)
// Packet: 0x006b
-packetLen(0x006b, -1) // HC_ACCEPT_ENTER
+packetLen(0x006b, -1)
// Packet: 0x006c
-packetLen(0x006c, 3) // HC_REFUSE_ENTER
+packetLen(0x006c, 3)
// Packet: 0x006d
-packetLen(0x006d, 157) // HC_ACCEPT_MAKECHAR
+packetLen(0x006d, 157)
// Packet: 0x006e
-packetLen(0x006e, 3) // HC_REFUSE_MAKECHAR
+packetLen(0x006e, 3)
// Packet: 0x006f
-packetLen(0x006f, 2) // HC_ACCEPT_DELETECHAR
+packetLen(0x006f, 2)
// Packet: 0x0070
-packetLen(0x0070, 3) // HC_REFUSE_DELETECHAR
+packetLen(0x0070, 3)
// Packet: 0x0071
-packetLen(0x0071, 28) // HC_NOTIFY_ZONESVR
+packetLen(0x0071, 28)
// Packet: 0x0072
-packetLen(0x0072, 22) // CZ_ENTER
+packetLen(0x0072, 22)
// Packet: 0x0073
-packetLen(0x0073, 11) // ZC_ACCEPT_ENTER
+packetLen(0x0073, 11)
// Packet: 0x0074
-packetLen(0x0074, 3) // ZC_REFUSE_ENTER
+packetLen(0x0074, 3)
// Packet: 0x0075
-packetLen(0x0075, -1) // ZC_NOTIFY_INITCHAR
+packetLen(0x0075, -1)
// Packet: 0x0076
-packetLen(0x0076, 9) // ZC_NOTIFY_UPDATECHAR
+packetLen(0x0076, 9)
// Packet: 0x0077
-packetLen(0x0077, 5) // ZC_NOTIFY_UPDATEPLAYER
+packetLen(0x0077, 5)
// Packet: 0x0078
-packetLen(0x0078, 55) // ZC_NOTIFY_STANDENTRY
+packetLen(0x0078, 55)
// Packet: 0x0079
-packetLen(0x0079, 53) // ZC_NOTIFY_NEWENTRY
+packetLen(0x0079, 53)
// Packet: 0x007a
-packetLen(0x007a, 58) // ZC_NOTIFY_ACTENTRY
+packetLen(0x007a, 58)
// Packet: 0x007b
-packetLen(0x007b, 60) // ZC_NOTIFY_MOVEENTRY
+packetLen(0x007b, 60)
// Packet: 0x007c
-packetLen(0x007c, 44) // ZC_NOTIFY_STANDENTRY_NPC
+packetLen(0x007c, 44)
// Packet: 0x007d
-packetLen(0x007d, 2) // CZ_NOTIFY_ACTORINIT
+packetLen(0x007d, 2)
// Packet: 0x007e
-packetLen(0x007e, 105) // CZ_REQUEST_TIME
+#if PACKETVER >= 20190828
+packetLen(0x007e, 46)
+#elif PACKETVER >= 20190116
+packetLen(0x007e, 105)
+#endif
// Packet: 0x007f
-packetLen(0x007f, 6) // ZC_NOTIFY_TIME
+packetLen(0x007f, 6)
// Packet: 0x0080
-packetLen(0x0080, 7) // ZC_NOTIFY_VANISH
+packetLen(0x0080, 7)
// Packet: 0x0081
-packetLen(0x0081, 3) // SC_NOTIFY_BAN
+packetLen(0x0081, 3)
// Packet: 0x0082
-packetLen(0x0082, 2) // CZ_REQUEST_QUIT
+packetLen(0x0082, 2)
// Packet: 0x0083
-packetLen(0x0083, 2) // ZC_ACCEPT_QUIT
+packetLen(0x0083, 2)
// Packet: 0x0084
-packetLen(0x0084, 2) // ZC_REFUSE_QUIT
+packetLen(0x0084, 2)
// Packet: 0x0085
-packetLen(0x0085, 10) // CZ_REQUEST_MOVE
+packetLen(0x0085, 10)
// Packet: 0x0086
-packetLen(0x0086, 16) // ZC_NOTIFY_MOVE
+packetLen(0x0086, 16)
// Packet: 0x0087
-packetLen(0x0087, 12) // ZC_NOTIFY_PLAYERMOVE
+packetLen(0x0087, 12)
// Packet: 0x0088
-packetLen(0x0088, 10) // ZC_STOPMOVE
+packetLen(0x0088, 10)
// Packet: 0x0089
-packetLen(0x0089, 11) // CZ_REQUEST_ACT
+packetLen(0x0089, 11)
// Packet: 0x008a
-packetLen(0x008a, 29) // ZC_NOTIFY_ACT
+packetLen(0x008a, 29)
// Packet: 0x008b
-packetLen(0x008b, 23) // ZC_NOTIFY_ACT_POSITION
+packetLen(0x008b, 23)
// Packet: 0x008c
packetLen(0x008c, 14)
// Packet: 0x008d
-packetLen(0x008d, -1) // ZC_NOTIFY_CHAT
+packetLen(0x008d, -1)
// Packet: 0x008e
-packetLen(0x008e, -1) // ZC_NOTIFY_PLAYERCHAT
+packetLen(0x008e, -1)
// Packet: 0x0090
-packetLen(0x0090, 7) // CZ_CONTACTNPC
+packetLen(0x0090, 7)
// Packet: 0x0091
-packetLen(0x0091, 22) // ZC_NPCACK_MAPMOVE
+packetLen(0x0091, 22)
// Packet: 0x0092
-packetLen(0x0092, 28) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0092, 28)
// Packet: 0x0093
-packetLen(0x0093, 2) // ZC_NPCACK_ENABLE
+packetLen(0x0093, 2)
// Packet: 0x0094
-packetLen(0x0094, 19) // CZ_REQNAME
+packetLen(0x0094, 19)
// Packet: 0x0095
-packetLen(0x0095, 30) // ZC_ACK_REQNAME
+packetLen(0x0095, 30)
// Packet: 0x0096
-packetLen(0x0096, -1) // CZ_WHISPER
+packetLen(0x0096, -1)
// Packet: 0x0097
-packetLen(0x0097, -1) // ZC_WHISPER
+packetLen(0x0097, -1)
// Packet: 0x0098
-packetLen(0x0098, 3) // ZC_ACK_WHISPER
+packetLen(0x0098, 3)
// Packet: 0x0099
-packetLen(0x0099, -1) // CZ_BROADCAST
+packetLen(0x0099, -1)
// Packet: 0x009a
-packetLen(0x009a, -1) // ZC_BROADCAST
+packetLen(0x009a, -1)
// Packet: 0x009b
-packetLen(0x009b, 34) // CZ_CHANGE_DIRECTION
+packetLen(0x009b, 34)
// Packet: 0x009c
-packetLen(0x009c, 9) // ZC_CHANGE_DIRECTION
+packetLen(0x009c, 9)
// Packet: 0x009d
-packetLen(0x009d, 19) // ZC_ITEM_ENTRY
+packetLen(0x009d, 19)
// Packet: 0x009e
-packetLen(0x009e, 19) // ZC_ITEM_FALL_ENTRY
+packetLen(0x009e, 19)
// Packet: 0x009f
-packetLen(0x009f, 20) // CZ_ITEM_PICKUP
+packetLen(0x009f, 20)
// Packet: 0x00a0
-packetLen(0x00a0, 33) // ZC_ITEM_PICKUP_ACK
+packetLen(0x00a0, 33)
// Packet: 0x00a1
-packetLen(0x00a1, 6) // ZC_ITEM_DISAPPEAR
+packetLen(0x00a1, 6)
// Packet: 0x00a2
-packetLen(0x00a2, 14) // CZ_ITEM_THROW
+packetLen(0x00a2, 14)
// Packet: 0x00a3
-packetLen(0x00a3, -1) // ZC_NORMAL_ITEMLIST
+packetLen(0x00a3, -1)
// Packet: 0x00a4
-packetLen(0x00a4, -1) // ZC_EQUIPMENT_ITEMLIST
+packetLen(0x00a4, -1)
// Packet: 0x00a5
-packetLen(0x00a5, -1) // ZC_STORE_NORMAL_ITEMLIST
+packetLen(0x00a5, -1)
// Packet: 0x00a6
-packetLen(0x00a6, -1) // ZC_STORE_EQUIPMENT_ITEMLIST
+packetLen(0x00a6, -1)
// Packet: 0x00a7
packetLen(0x00a7, 9)
// Packet: 0x00a8
-packetLen(0x00a8, 7) // ZC_USE_ITEM_ACK
+packetLen(0x00a8, 7)
// Packet: 0x00a9
-packetLen(0x00a9, 6) // CZ_REQ_WEAR_EQUIP
+packetLen(0x00a9, 6)
// Packet: 0x00aa
-packetLen(0x00aa, 9) // ZC_REQ_WEAR_EQUIP_ACK
+packetLen(0x00aa, 9)
// Packet: 0x00ab
-packetLen(0x00ab, 4) // CZ_REQ_TAKEOFF_EQUIP
+packetLen(0x00ab, 4)
// Packet: 0x00ac
-packetLen(0x00ac, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK
+packetLen(0x00ac, 7)
// Packet: 0x00ae
-packetLen(0x00ae, -1) // ZC_REQ_ITEM_EXPLANATION_ACK
+packetLen(0x00ae, -1)
// Packet: 0x00af
-packetLen(0x00af, 6) // ZC_ITEM_THROW_ACK
+packetLen(0x00af, 6)
// Packet: 0x00b0
-packetLen(0x00b0, 8) // ZC_PAR_CHANGE
+packetLen(0x00b0, 8)
// Packet: 0x00b1
-packetLen(0x00b1, 8) // ZC_LONGPAR_CHANGE
+packetLen(0x00b1, 8)
// Packet: 0x00b2
-packetLen(0x00b2, 3) // CZ_RESTART
+packetLen(0x00b2, 3)
// Packet: 0x00b3
-packetLen(0x00b3, 3) // ZC_RESTART_ACK
+packetLen(0x00b3, 3)
// Packet: 0x00b4
-packetLen(0x00b4, -1) // ZC_SAY_DIALOG
+packetLen(0x00b4, -1)
// Packet: 0x00b5
-packetLen(0x00b5, 6) // ZC_WAIT_DIALOG
+packetLen(0x00b5, 6)
// Packet: 0x00b6
-packetLen(0x00b6, 6) // ZC_CLOSE_DIALOG
+packetLen(0x00b6, 6)
// Packet: 0x00b7
-packetLen(0x00b7, -1) // ZC_MENU_LIST
+packetLen(0x00b7, -1)
// Packet: 0x00b8
-packetLen(0x00b8, 7) // CZ_CHOOSE_MENU
+packetLen(0x00b8, 7)
// Packet: 0x00b9
-packetLen(0x00b9, 6) // CZ_REQ_NEXT_SCRIPT
+packetLen(0x00b9, 6)
// Packet: 0x00ba
-packetLen(0x00ba, 2) // CZ_REQ_STATUS
+packetLen(0x00ba, 2)
// Packet: 0x00bb
-packetLen(0x00bb, 5) // CZ_STATUS_CHANGE
+packetLen(0x00bb, 5)
// Packet: 0x00bc
-packetLen(0x00bc, 6) // ZC_STATUS_CHANGE_ACK
+packetLen(0x00bc, 6)
// Packet: 0x00bd
-packetLen(0x00bd, 44) // ZC_STATUS
+packetLen(0x00bd, 44)
// Packet: 0x00be
-packetLen(0x00be, 5) // ZC_STATUS_CHANGE
+packetLen(0x00be, 5)
// Packet: 0x00bf
-packetLen(0x00bf, 3) // CZ_REQ_EMOTION
+packetLen(0x00bf, 3)
// Packet: 0x00c0
-packetLen(0x00c0, 7) // ZC_EMOTION
+packetLen(0x00c0, 7)
// Packet: 0x00c1
-packetLen(0x00c1, 2) // CZ_REQ_USER_COUNT
+packetLen(0x00c1, 2)
// Packet: 0x00c2
-packetLen(0x00c2, 6) // ZC_USER_COUNT
+packetLen(0x00c2, 6)
// Packet: 0x00c3
-packetLen(0x00c3, 8) // ZC_SPRITE_CHANGE
+packetLen(0x00c3, 8)
// Packet: 0x00c4
-packetLen(0x00c4, 6) // ZC_SELECT_DEALTYPE
+packetLen(0x00c4, 6)
// Packet: 0x00c5
-packetLen(0x00c5, 7) // CZ_ACK_SELECT_DEALTYPE
+packetLen(0x00c5, 7)
// Packet: 0x00c6
-packetLen(0x00c6, -1) // ZC_PC_PURCHASE_ITEMLIST
+packetLen(0x00c6, -1)
// Packet: 0x00c7
-packetLen(0x00c7, -1) // ZC_PC_SELL_ITEMLIST
+packetLen(0x00c7, -1)
// Packet: 0x00c8
-packetLen(0x00c8, -1) // CZ_PC_PURCHASE_ITEMLIST
+packetLen(0x00c8, -1)
// Packet: 0x00c9
-packetLen(0x00c9, -1) // CZ_PC_SELL_ITEMLIST
+packetLen(0x00c9, -1)
// Packet: 0x00ca
-packetLen(0x00ca, 3) // ZC_PC_PURCHASE_RESULT
+packetLen(0x00ca, 3)
// Packet: 0x00cb
-packetLen(0x00cb, 3) // ZC_PC_SELL_RESULT
+packetLen(0x00cb, 3)
// Packet: 0x00cc
-packetLen(0x00cc, 6) // CZ_DISCONNECT_CHARACTER
+packetLen(0x00cc, 6)
// Packet: 0x00cd
-packetLen(0x00cd, 3) // ZC_ACK_DISCONNECT_CHARACTER
+packetLen(0x00cd, 3)
// Packet: 0x00ce
-packetLen(0x00ce, 2) // CZ_DISCONNECT_ALL_CHARACTER
+packetLen(0x00ce, 2)
// Packet: 0x00cf
-packetLen(0x00cf, 27) // CZ_SETTING_WHISPER_PC
+packetLen(0x00cf, 27)
// Packet: 0x00d0
-packetLen(0x00d0, 3) // CZ_SETTING_WHISPER_STATE
+packetLen(0x00d0, 3)
// Packet: 0x00d1
-packetLen(0x00d1, 4) // ZC_SETTING_WHISPER_PC
+packetLen(0x00d1, 4)
// Packet: 0x00d2
-packetLen(0x00d2, 4) // ZC_SETTING_WHISPER_STATE
+packetLen(0x00d2, 4)
// Packet: 0x00d3
-packetLen(0x00d3, 2) // CZ_REQ_WHISPER_LIST
+packetLen(0x00d3, 2)
// Packet: 0x00d4
-packetLen(0x00d4, -1) // ZC_WHISPER_LIST
+packetLen(0x00d4, -1)
// Packet: 0x00d5
-packetLen(0x00d5, -1) // CZ_CREATE_CHATROOM
+packetLen(0x00d5, -1)
// Packet: 0x00d6
-packetLen(0x00d6, 3) // ZC_ACK_CREATE_CHATROOM
+packetLen(0x00d6, 3)
// Packet: 0x00d7
-packetLen(0x00d7, -1) // ZC_ROOM_NEWENTRY
+packetLen(0x00d7, -1)
// Packet: 0x00d8
-packetLen(0x00d8, 6) // ZC_DESTROY_ROOM
+packetLen(0x00d8, 6)
// Packet: 0x00d9
-packetLen(0x00d9, 14) // CZ_REQ_ENTER_ROOM
+packetLen(0x00d9, 14)
// Packet: 0x00da
-packetLen(0x00da, 3) // ZC_REFUSE_ENTER_ROOM
+packetLen(0x00da, 3)
// Packet: 0x00db
-packetLen(0x00db, -1) // ZC_ENTER_ROOM
+packetLen(0x00db, -1)
// Packet: 0x00dc
-packetLen(0x00dc, 28) // ZC_MEMBER_NEWENTRY
+packetLen(0x00dc, 28)
// Packet: 0x00dd
-packetLen(0x00dd, 29) // ZC_MEMBER_EXIT
+packetLen(0x00dd, 29)
// Packet: 0x00de
-packetLen(0x00de, -1) // CZ_CHANGE_CHATROOM
+packetLen(0x00de, -1)
// Packet: 0x00df
-packetLen(0x00df, -1) // ZC_CHANGE_CHATROOM
+packetLen(0x00df, -1)
// Packet: 0x00e0
-packetLen(0x00e0, 30) // CZ_REQ_ROLE_CHANGE
+packetLen(0x00e0, 30)
// Packet: 0x00e1
-packetLen(0x00e1, 30) // ZC_ROLE_CHANGE
+packetLen(0x00e1, 30)
// Packet: 0x00e2
-packetLen(0x00e2, 26) // CZ_REQ_EXPEL_MEMBER
+packetLen(0x00e2, 26)
// Packet: 0x00e3
-packetLen(0x00e3, 2) // CZ_EXIT_ROOM
+packetLen(0x00e3, 2)
// Packet: 0x00e4
-packetLen(0x00e4, 6) // CZ_REQ_EXCHANGE_ITEM
+packetLen(0x00e4, 6)
// Packet: 0x00e5
-packetLen(0x00e5, 26) // ZC_REQ_EXCHANGE_ITEM
+packetLen(0x00e5, 26)
// Packet: 0x00e6
-packetLen(0x00e6, 3) // CZ_ACK_EXCHANGE_ITEM
+packetLen(0x00e6, 3)
// Packet: 0x00e7
-packetLen(0x00e7, 3) // ZC_ACK_EXCHANGE_ITEM
+packetLen(0x00e7, 3)
// Packet: 0x00e8
-packetLen(0x00e8, 8) // CZ_ADD_EXCHANGE_ITEM
+packetLen(0x00e8, 8)
// Packet: 0x00e9
-packetLen(0x00e9, 29) // ZC_ADD_EXCHANGE_ITEM
+packetLen(0x00e9, 29)
// Packet: 0x00ea
-packetLen(0x00ea, 5) // ZC_ACK_ADD_EXCHANGE_ITEM
+packetLen(0x00ea, 5)
// Packet: 0x00eb
-packetLen(0x00eb, 2) // CZ_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00eb, 2)
// Packet: 0x00ec
-packetLen(0x00ec, 3) // ZC_CONCLUDE_EXCHANGE_ITEM
+packetLen(0x00ec, 3)
// Packet: 0x00ed
-packetLen(0x00ed, 2) // CZ_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ed, 2)
// Packet: 0x00ee
-packetLen(0x00ee, 2) // ZC_CANCEL_EXCHANGE_ITEM
+packetLen(0x00ee, 2)
// Packet: 0x00ef
-packetLen(0x00ef, 2) // CZ_EXEC_EXCHANGE_ITEM
+packetLen(0x00ef, 2)
// Packet: 0x00f0
-packetLen(0x00f0, 3) // ZC_EXEC_EXCHANGE_ITEM
+packetLen(0x00f0, 3)
// Packet: 0x00f1
-packetLen(0x00f1, 2) // ZC_EXCHANGEITEM_UNDO
+packetLen(0x00f1, 2)
// Packet: 0x00f2
-packetLen(0x00f2, 6) // ZC_NOTIFY_STOREITEM_COUNTINFO
+packetLen(0x00f2, 6)
// Packet: 0x00f3
-packetLen(0x00f3, -1) // CZ_REQUEST_CHAT
+packetLen(0x00f3, -1)
// Packet: 0x00f4
-packetLen(0x00f4, 31) // ZC_ADD_ITEM_TO_STORE
+packetLen(0x00f4, 31)
// Packet: 0x00f5
-packetLen(0x00f5, 11) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY
+packetLen(0x00f5, 11)
// Packet: 0x00f6
-packetLen(0x00f6, 8) // ZC_DELETE_ITEM_FROM_STORE
+packetLen(0x00f6, 8)
// Packet: 0x00f7
-packetLen(0x00f7, 17) // CZ_REQUEST_TIME
+packetLen(0x00f7, 17)
// Packet: 0x00f8
-packetLen(0x00f8, 2) // ZC_CLOSE_STORE
+packetLen(0x00f8, 2)
// Packet: 0x00f9
-packetLen(0x00f9, 26) // CZ_MAKE_GROUP
+packetLen(0x00f9, 26)
// Packet: 0x00fa
-packetLen(0x00fa, 3) // ZC_ACK_MAKE_GROUP
+packetLen(0x00fa, 3)
// Packet: 0x00fb
-packetLen(0x00fb, -1) // ZC_GROUP_LIST
+packetLen(0x00fb, -1)
// Packet: 0x00fc
-packetLen(0x00fc, 6) // CZ_REQ_JOIN_GROUP
+packetLen(0x00fc, 6)
// Packet: 0x00fd
-packetLen(0x00fd, 27) // ZC_ACK_REQ_JOIN_GROUP
+packetLen(0x00fd, 27)
// Packet: 0x00fe
-packetLen(0x00fe, 30) // ZC_REQ_JOIN_GROUP
+packetLen(0x00fe, 30)
// Packet: 0x00ff
-packetLen(0x00ff, 10) // CZ_JOIN_GROUP
+packetLen(0x00ff, 10)
// Packet: 0x0100
-packetLen(0x0100, 2) // CZ_REQ_LEAVE_GROUP
+packetLen(0x0100, 2)
// Packet: 0x0101
-packetLen(0x0101, 6) // ZC_GROUPINFO_CHANGE
+packetLen(0x0101, 6)
// Packet: 0x0102
-packetLen(0x0102, 6) // CZ_CHANGE_GROUPEXPOPTION
+packetLen(0x0102, 6)
// Packet: 0x0103
-packetLen(0x0103, 30) // CZ_REQ_EXPEL_GROUP_MEMBER
+packetLen(0x0103, 30)
// Packet: 0x0104
-packetLen(0x0104, 79) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0104, 79)
// Packet: 0x0105
-packetLen(0x0105, 31) // ZC_DELETE_MEMBER_FROM_GROUP
+packetLen(0x0105, 31)
// Packet: 0x0106
-packetLen(0x0106, 10) // ZC_NOTIFY_HP_TO_GROUPM
+packetLen(0x0106, 10)
// Packet: 0x0107
-packetLen(0x0107, 10) // ZC_NOTIFY_POSITION_TO_GROUPM
+packetLen(0x0107, 10)
// Packet: 0x0108
-packetLen(0x0108, -1) // CZ_REQUEST_CHAT_PARTY
+packetLen(0x0108, -1)
// Packet: 0x0109
-packetLen(0x0109, -1) // ZC_NOTIFY_CHAT_PARTY
+packetLen(0x0109, -1)
// Packet: 0x010a
-packetLen(0x010a, 6) // ZC_MVP_GETTING_ITEM
+packetLen(0x010a, 6)
// Packet: 0x010b
-packetLen(0x010b, 6) // ZC_MVP_GETTING_SPECIAL_EXP
+packetLen(0x010b, 6)
// Packet: 0x010c
-packetLen(0x010c, 6) // ZC_MVP
+packetLen(0x010c, 6)
// Packet: 0x010d
-packetLen(0x010d, 2) // ZC_THROW_MVPITEM
+packetLen(0x010d, 2)
// Packet: 0x010e
-packetLen(0x010e, 11) // ZC_SKILLINFO_UPDATE
+packetLen(0x010e, 11)
// Packet: 0x010f
-packetLen(0x010f, -1) // ZC_SKILLINFO_LIST
+packetLen(0x010f, -1)
// Packet: 0x0110
-packetLen(0x0110, 14) // ZC_ACK_TOUSESKILL
+packetLen(0x0110, 14)
// Packet: 0x0111
-packetLen(0x0111, 39) // ZC_ADD_SKILL
+packetLen(0x0111, 39)
// Packet: 0x0112
-packetLen(0x0112, 4) // CZ_UPGRADE_SKILLLEVEL
+packetLen(0x0112, 4)
// Packet: 0x0113
-packetLen(0x0113, 25) // CZ_USE_SKILL
+packetLen(0x0113, 25)
// Packet: 0x0114
-packetLen(0x0114, 31) // ZC_NOTIFY_SKILL
+packetLen(0x0114, 31)
// Packet: 0x0115
-packetLen(0x0115, 35) // ZC_NOTIFY_SKILL_POSITION
+packetLen(0x0115, 35)
// Packet: 0x0116
-packetLen(0x0116, 17) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0116, 17)
// Packet: 0x0117
-packetLen(0x0117, 18) // ZC_NOTIFY_GROUNDSKILL
+packetLen(0x0117, 18)
// Packet: 0x0118
-packetLen(0x0118, 2) // CZ_CANCEL_LOCKON
+packetLen(0x0118, 2)
// Packet: 0x0119
-packetLen(0x0119, 13) // ZC_STATE_CHANGE
+packetLen(0x0119, 13)
// Packet: 0x011a
-packetLen(0x011a, 15) // ZC_USE_SKILL
+packetLen(0x011a, 15)
// Packet: 0x011b
-packetLen(0x011b, 20) // CZ_SELECT_WARPPOINT
+packetLen(0x011b, 20)
// Packet: 0x011c
-packetLen(0x011c, 68) // ZC_WARPLIST
+packetLen(0x011c, 68)
// Packet: 0x011d
-packetLen(0x011d, 2) // CZ_REMEMBER_WARPPOINT
+packetLen(0x011d, 2)
// Packet: 0x011e
-packetLen(0x011e, 3) // ZC_ACK_REMEMBER_WARPPOINT
+packetLen(0x011e, 3)
// Packet: 0x011f
-packetLen(0x011f, 16) // ZC_SKILL_ENTRY
+packetLen(0x011f, 16)
// Packet: 0x0120
-packetLen(0x0120, 6) // ZC_SKILL_DISAPPEAR
+packetLen(0x0120, 6)
// Packet: 0x0121
-packetLen(0x0121, 14) // ZC_NOTIFY_CARTITEM_COUNTINFO
+packetLen(0x0121, 14)
// Packet: 0x0122
-packetLen(0x0122, -1) // ZC_CART_EQUIPMENT_ITEMLIST
+packetLen(0x0122, -1)
// Packet: 0x0123
-packetLen(0x0123, -1) // ZC_CART_NORMAL_ITEMLIST
+packetLen(0x0123, -1)
// Packet: 0x0124
-packetLen(0x0124, 31) // ZC_ADD_ITEM_TO_CART
+packetLen(0x0124, 31)
// Packet: 0x0125
-packetLen(0x0125, 8) // ZC_DELETE_ITEM_FROM_CART
+packetLen(0x0125, 8)
// Packet: 0x0126
-packetLen(0x0126, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_CART
+packetLen(0x0126, 8)
// Packet: 0x0127
-packetLen(0x0127, 8) // CZ_MOVE_ITEM_FROM_CART_TO_BODY
+packetLen(0x0127, 8)
// Packet: 0x0128
-packetLen(0x0128, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_CART
+packetLen(0x0128, 8)
// Packet: 0x0129
-packetLen(0x0129, 8) // CZ_MOVE_ITEM_FROM_CART_TO_STORE
+packetLen(0x0129, 8)
// Packet: 0x012a
-packetLen(0x012a, 2) // CZ_REQ_CARTOFF
+packetLen(0x012a, 2)
// Packet: 0x012b
-packetLen(0x012b, 2) // ZC_CARTOFF
+packetLen(0x012b, 2)
// Packet: 0x012c
-packetLen(0x012c, 3) // ZC_ACK_ADDITEM_TO_CART
+packetLen(0x012c, 3)
// Packet: 0x012d
-packetLen(0x012d, 4) // ZC_OPENSTORE
+packetLen(0x012d, 4)
// Packet: 0x012e
-packetLen(0x012e, 2) // CZ_REQ_CLOSESTORE
+packetLen(0x012e, 2)
// Packet: 0x012f
-packetLen(0x012f, -1) // CZ_REQ_OPENSTORE
+packetLen(0x012f, -1)
// Packet: 0x0130
-packetLen(0x0130, 6) // CZ_REQ_BUY_FROMMC
+packetLen(0x0130, 6)
// Packet: 0x0131
-packetLen(0x0131, 86) // ZC_STORE_ENTRY
+packetLen(0x0131, 86)
// Packet: 0x0132
-packetLen(0x0132, 6) // ZC_DISAPPEAR_ENTRY
+packetLen(0x0132, 6)
// Packet: 0x0133
-packetLen(0x0133, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0133, -1)
// Packet: 0x0134
-packetLen(0x0134, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC
+packetLen(0x0134, -1)
// Packet: 0x0135
-packetLen(0x0135, 7) // ZC_PC_PURCHASE_RESULT_FROMMC
+packetLen(0x0135, 7)
// Packet: 0x0136
-packetLen(0x0136, -1) // ZC_PC_PURCHASE_MYITEMLIST
+packetLen(0x0136, -1)
// Packet: 0x0137
-packetLen(0x0137, 6) // ZC_DELETEITEM_FROM_MCSTORE
+packetLen(0x0137, 6)
// Packet: 0x0138
-packetLen(0x0138, 3) // CZ_PKMODE_CHANGE
+packetLen(0x0138, 3)
// Packet: 0x0139
-packetLen(0x0139, 16) // ZC_ATTACK_FAILURE_FOR_DISTANCE
+packetLen(0x0139, 16)
// Packet: 0x013a
-packetLen(0x013a, 4) // ZC_ATTACK_RANGE
+packetLen(0x013a, 4)
// Packet: 0x013b
-packetLen(0x013b, 4) // ZC_ACTION_FAILURE
+packetLen(0x013b, 4)
// Packet: 0x013c
-packetLen(0x013c, 4) // ZC_EQUIP_ARROW
+packetLen(0x013c, 4)
// Packet: 0x013d
-packetLen(0x013d, 6) // ZC_RECOVERY
+packetLen(0x013d, 6)
// Packet: 0x013e
-packetLen(0x013e, 24) // ZC_USESKILL_ACK
+packetLen(0x013e, 24)
// Packet: 0x013f
-packetLen(0x013f, 26) // CZ_ITEM_CREATE
+packetLen(0x013f, 26)
// Packet: 0x0140
-packetLen(0x0140, 22) // CZ_MOVETO_MAP
+packetLen(0x0140, 22)
// Packet: 0x0141
-packetLen(0x0141, 14) // ZC_COUPLESTATUS
+packetLen(0x0141, 14)
// Packet: 0x0142
-packetLen(0x0142, 6) // ZC_OPEN_EDITDLG
+packetLen(0x0142, 6)
// Packet: 0x0143
-packetLen(0x0143, 10) // CZ_INPUT_EDITDLG
+packetLen(0x0143, 10)
// Packet: 0x0144
-packetLen(0x0144, 23) // ZC_COMPASS
+packetLen(0x0144, 23)
// Packet: 0x0145
-packetLen(0x0145, 19) // ZC_SHOW_IMAGE
+packetLen(0x0145, 19)
// Packet: 0x0146
-packetLen(0x0146, 6) // CZ_CLOSE_DIALOG
+packetLen(0x0146, 6)
// Packet: 0x0147
-packetLen(0x0147, 39) // ZC_AUTORUN_SKILL
+packetLen(0x0147, 39)
// Packet: 0x0148
-packetLen(0x0148, 8) // ZC_RESURRECTION
+packetLen(0x0148, 8)
// Packet: 0x0149
-packetLen(0x0149, 9) // CZ_REQ_GIVE_MANNER_POINT
+packetLen(0x0149, 9)
// Packet: 0x014a
-packetLen(0x014a, 6) // ZC_ACK_GIVE_MANNER_POINT
+packetLen(0x014a, 6)
// Packet: 0x014b
-packetLen(0x014b, 27) // ZC_NOTIFY_MANNER_POINT_GIVEN
+packetLen(0x014b, 27)
// Packet: 0x014c
-packetLen(0x014c, -1) // ZC_MYGUILD_BASIC_INFO
+packetLen(0x014c, -1)
// Packet: 0x014d
-packetLen(0x014d, 2) // CZ_REQ_GUILD_MENUINTERFACE
+packetLen(0x014d, 2)
// Packet: 0x014e
-packetLen(0x014e, 6) // ZC_ACK_GUILD_MENUINTERFACE
+packetLen(0x014e, 6)
// Packet: 0x014f
-packetLen(0x014f, 6) // CZ_REQ_GUILD_MENU
+packetLen(0x014f, 6)
// Packet: 0x0150
-packetLen(0x0150, 110) // ZC_GUILD_INFO
+packetLen(0x0150, 110)
// Packet: 0x0151
-packetLen(0x0151, 6) // CZ_REQ_GUILD_EMBLEM_IMG
+packetLen(0x0151, 6)
// Packet: 0x0152
-packetLen(0x0152, -1) // ZC_GUILD_EMBLEM_IMG
+packetLen(0x0152, -1)
// Packet: 0x0153
-packetLen(0x0153, -1) // CZ_REGISTER_GUILD_EMBLEM_IMG
+packetLen(0x0153, -1)
// Packet: 0x0154
-packetLen(0x0154, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0154, -1)
// Packet: 0x0155
-packetLen(0x0155, -1) // CZ_REQ_CHANGE_MEMBERPOS
+packetLen(0x0155, -1)
// Packet: 0x0156
-packetLen(0x0156, -1) // ZC_ACK_REQ_CHANGE_MEMBERS
+packetLen(0x0156, -1)
// Packet: 0x0157
-packetLen(0x0157, 6) // CZ_REQ_OPEN_MEMBER_INFO
+packetLen(0x0157, 6)
// Packet: 0x0159
-packetLen(0x0159, 54) // CZ_REQ_LEAVE_GUILD
+packetLen(0x0159, 54)
// Packet: 0x015a
-packetLen(0x015a, 66) // ZC_ACK_LEAVE_GUILD
+packetLen(0x015a, 66)
// Packet: 0x015b
-packetLen(0x015b, 54) // CZ_REQ_BAN_GUILD
+packetLen(0x015b, 54)
// Packet: 0x015c
-packetLen(0x015c, 90) // ZC_ACK_BAN_GUILD
+packetLen(0x015c, 90)
// Packet: 0x015d
-packetLen(0x015d, 42) // CZ_REQ_DISORGANIZE_GUILD
+packetLen(0x015d, 42)
// Packet: 0x015e
-packetLen(0x015e, 6) // ZC_ACK_DISORGANIZE_GUILD_RESULT
+packetLen(0x015e, 6)
// Packet: 0x015f
-packetLen(0x015f, 42) // ZC_ACK_DISORGANIZE_GUILD
+packetLen(0x015f, 42)
// Packet: 0x0160
-packetLen(0x0160, -1) // ZC_POSITION_INFO
+packetLen(0x0160, -1)
// Packet: 0x0161
-packetLen(0x0161, -1) // CZ_REG_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0161, -1)
// Packet: 0x0162
-packetLen(0x0162, -1) // ZC_GUILD_SKILLINFO
+packetLen(0x0162, -1)
// Packet: 0x0163
-packetLen(0x0163, -1) // ZC_BAN_LIST
+packetLen(0x0163, -1)
// Packet: 0x0164
-packetLen(0x0164, -1) // ZC_OTHER_GUILD_LIST
+packetLen(0x0164, -1)
// Packet: 0x0165
-packetLen(0x0165, 30) // CZ_REQ_MAKE_GUILD
+packetLen(0x0165, 30)
// Packet: 0x0166
-packetLen(0x0166, -1) // ZC_POSITION_ID_NAME_INFO
+packetLen(0x0166, -1)
// Packet: 0x0167
-packetLen(0x0167, 3) // ZC_RESULT_MAKE_GUILD
+packetLen(0x0167, 3)
// Packet: 0x0168
-packetLen(0x0168, 14) // CZ_REQ_JOIN_GUILD
+packetLen(0x0168, 14)
// Packet: 0x0169
-packetLen(0x0169, 3) // ZC_ACK_REQ_JOIN_GUILD
+packetLen(0x0169, 3)
// Packet: 0x016a
-packetLen(0x016a, 30) // ZC_REQ_JOIN_GUILD
+packetLen(0x016a, 30)
// Packet: 0x016b
-packetLen(0x016b, 10) // CZ_JOIN_GUILD
+packetLen(0x016b, 10)
// Packet: 0x016c
-packetLen(0x016c, 43) // ZC_UPDATE_GDID
+packetLen(0x016c, 43)
// Packet: 0x016d
-packetLen(0x016d, 14) // ZC_UPDATE_CHARSTAT
+packetLen(0x016d, 14)
// Packet: 0x016e
-packetLen(0x016e, 186) // CZ_GUILD_NOTICE
+packetLen(0x016e, 186)
// Packet: 0x016f
-packetLen(0x016f, 182) // ZC_GUILD_NOTICE
+packetLen(0x016f, 182)
// Packet: 0x0170
-packetLen(0x0170, 14) // CZ_REQ_ALLY_GUILD
+packetLen(0x0170, 14)
// Packet: 0x0171
-packetLen(0x0171, 30) // ZC_REQ_ALLY_GUILD
+packetLen(0x0171, 30)
// Packet: 0x0172
-packetLen(0x0172, 10) // CZ_ALLY_GUILD
+packetLen(0x0172, 10)
// Packet: 0x0173
-packetLen(0x0173, 3) // ZC_ACK_REQ_ALLY_GUILD
+packetLen(0x0173, 3)
// Packet: 0x0174
-packetLen(0x0174, -1) // ZC_ACK_CHANGE_GUILD_POSITIONINFO
+packetLen(0x0174, -1)
// Packet: 0x0175
-packetLen(0x0175, 6) // CZ_REQ_GUILD_MEMBER_INFO
+packetLen(0x0175, 6)
// Packet: 0x0176
-packetLen(0x0176, 106) // ZC_ACK_GUILD_MEMBER_INFO
+packetLen(0x0176, 106)
// Packet: 0x0177
-packetLen(0x0177, -1) // ZC_ITEMIDENTIFY_LIST
+packetLen(0x0177, -1)
// Packet: 0x0178
-packetLen(0x0178, 4) // CZ_REQ_ITEMIDENTIFY
+packetLen(0x0178, 4)
// Packet: 0x0179
-packetLen(0x0179, 5) // ZC_ACK_ITEMIDENTIFY
+packetLen(0x0179, 5)
// Packet: 0x017a
-packetLen(0x017a, 4) // CZ_REQ_ITEMCOMPOSITION_LIST
+packetLen(0x017a, 4)
// Packet: 0x017b
-packetLen(0x017b, -1) // ZC_ITEMCOMPOSITION_LIST
+packetLen(0x017b, -1)
// Packet: 0x017c
-packetLen(0x017c, 6) // CZ_REQ_ITEMCOMPOSITION
+packetLen(0x017c, 6)
// Packet: 0x017d
-packetLen(0x017d, 7) // ZC_ACK_ITEMCOMPOSITION
+packetLen(0x017d, 7)
// Packet: 0x017e
-packetLen(0x017e, -1) // CZ_GUILD_CHAT
+packetLen(0x017e, -1)
// Packet: 0x017f
-packetLen(0x017f, -1) // ZC_GUILD_CHAT
+packetLen(0x017f, -1)
// Packet: 0x0180
-packetLen(0x0180, 6) // CZ_REQ_HOSTILE_GUILD
+packetLen(0x0180, 6)
// Packet: 0x0181
-packetLen(0x0181, 3) // ZC_ACK_REQ_HOSTILE_GUILD
+packetLen(0x0181, 3)
// Packet: 0x0182
-packetLen(0x0182, 106) // ZC_MEMBER_ADD
+packetLen(0x0182, 106)
// Packet: 0x0183
-packetLen(0x0183, 10) // CZ_REQ_DELETE_RELATED_GUILD
+packetLen(0x0183, 10)
// Packet: 0x0184
-packetLen(0x0184, 10) // ZC_DELETE_RELATED_GUILD
+packetLen(0x0184, 10)
// Packet: 0x0185
-packetLen(0x0185, 34) // ZC_ADD_RELATED_GUILD
+packetLen(0x0185, 34)
// Packet: 0x0187
-packetLen(0x0187, 6) // CH_UNKNOWN_PING
+packetLen(0x0187, 6)
// Packet: 0x0188
-packetLen(0x0188, 8) // ZC_ACK_ITEMREFINING
+packetLen(0x0188, 8)
// Packet: 0x0189
-packetLen(0x0189, 4) // ZC_NOTIFY_MAPINFO
+packetLen(0x0189, 4)
// Packet: 0x018a
-packetLen(0x018a, 4) // CZ_REQ_DISCONNECT
+packetLen(0x018a, 4)
// Packet: 0x018b
-packetLen(0x018b, 4) // ZC_ACK_REQ_DISCONNECT
+packetLen(0x018b, 4)
// Packet: 0x018c
-packetLen(0x018c, 29) // ZC_MONSTER_INFO
+packetLen(0x018c, 29)
// Packet: 0x018d
-packetLen(0x018d, -1) // ZC_MAKABLEITEMLIST
+packetLen(0x018d, -1)
// Packet: 0x018e
-packetLen(0x018e, 18) // CZ_REQMAKINGITEM
+packetLen(0x018e, 18)
// Packet: 0x018f
-packetLen(0x018f, 8) // ZC_ACK_REQMAKINGITEM
+packetLen(0x018f, 8)
// Packet: 0x0190
-packetLen(0x0190, 23) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX
+packetLen(0x0190, 23)
// Packet: 0x0191
-packetLen(0x0191, 86) // ZC_TALKBOX_CHATCONTENTS
+#if PACKETVER >= 20190828
+packetLen(0x0191, 27)
+#elif PACKETVER >= 20190116
+packetLen(0x0191, 86)
+#endif
// Packet: 0x0192
-packetLen(0x0192, 24) // ZC_UPDATE_MAPINFO
+packetLen(0x0192, 24)
// Packet: 0x0193
-packetLen(0x0193, 2) // CZ_REQNAME_BYGID
+packetLen(0x0193, 2)
// Packet: 0x0194
-packetLen(0x0194, 30) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0194, 30)
// Packet: 0x0195
-packetLen(0x0195, 102) // ZC_ACK_REQNAMEALL
+packetLen(0x0195, 102)
// Packet: 0x0196
-packetLen(0x0196, 9) // ZC_MSG_STATE_CHANGE
+packetLen(0x0196, 9)
// Packet: 0x0197
-packetLen(0x0197, 4) // CZ_RESET
+packetLen(0x0197, 4)
// Packet: 0x0198
-packetLen(0x0198, 8) // CZ_CHANGE_MAPTYPE
+packetLen(0x0198, 8)
// Packet: 0x0199
-packetLen(0x0199, 4) // ZC_NOTIFY_MAPPROPERTY
+packetLen(0x0199, 4)
// Packet: 0x019a
-packetLen(0x019a, 14) // ZC_NOTIFY_RANKING
+packetLen(0x019a, 14)
// Packet: 0x019b
-packetLen(0x019b, 10) // ZC_NOTIFY_EFFECT
+packetLen(0x019b, 10)
// Packet: 0x019c
-packetLen(0x019c, -1) // CZ_LOCALBROADCAST
+packetLen(0x019c, -1)
// Packet: 0x019d
-packetLen(0x019d, 6) // CZ_CHANGE_EFFECTSTATE
+packetLen(0x019d, 6)
// Packet: 0x019e
-packetLen(0x019e, 2) // ZC_START_CAPTURE
+packetLen(0x019e, 2)
// Packet: 0x019f
-packetLen(0x019f, 6) // CZ_TRYCAPTURE_MONSTER
+packetLen(0x019f, 6)
// Packet: 0x01a0
-packetLen(0x01a0, 3) // ZC_TRYCAPTURE_MONSTER
+packetLen(0x01a0, 3)
// Packet: 0x01a1
-packetLen(0x01a1, 3) // CZ_COMMAND_PET
+packetLen(0x01a1, 3)
// Packet: 0x01a2
-packetLen(0x01a2, 37) // ZC_PROPERTY_PET
+packetLen(0x01a2, 37)
// Packet: 0x01a3
-packetLen(0x01a3, 7) // ZC_FEED_PET
+packetLen(0x01a3, 7)
// Packet: 0x01a4
-packetLen(0x01a4, 11) // ZC_CHANGESTATE_PET
+packetLen(0x01a4, 11)
// Packet: 0x01a5
-packetLen(0x01a5, 26) // CZ_RENAME_PET
+packetLen(0x01a5, 26)
// Packet: 0x01a6
-packetLen(0x01a6, -1) // ZC_PETEGG_LIST
+packetLen(0x01a6, -1)
// Packet: 0x01a7
-packetLen(0x01a7, 4) // CZ_SELECT_PETEGG
+packetLen(0x01a7, 4)
// Packet: 0x01a8
-packetLen(0x01a8, 4) // CZ_PETEGG_INFO
+packetLen(0x01a8, 4)
// Packet: 0x01a9
-packetLen(0x01a9, 6) // CZ_PET_ACT
+packetLen(0x01a9, 6)
// Packet: 0x01aa
-packetLen(0x01aa, 10) // ZC_PET_ACT
+packetLen(0x01aa, 10)
// Packet: 0x01ab
-packetLen(0x01ab, 12) // ZC_PAR_CHANGE_USER
+packetLen(0x01ab, 12)
// Packet: 0x01ac
-packetLen(0x01ac, 6) // ZC_SKILL_UPDATE
+packetLen(0x01ac, 6)
// Packet: 0x01ad
-packetLen(0x01ad, -1) // ZC_MAKINGARROW_LIST
+packetLen(0x01ad, -1)
// Packet: 0x01ae
-packetLen(0x01ae, 6) // CZ_REQ_MAKINGARROW
+packetLen(0x01ae, 6)
// Packet: 0x01af
-packetLen(0x01af, 4) // CZ_REQ_CHANGECART
+packetLen(0x01af, 4)
// Packet: 0x01b0
-packetLen(0x01b0, 11) // ZC_NPCSPRITE_CHANGE
+packetLen(0x01b0, 11)
// Packet: 0x01b1
-packetLen(0x01b1, 7) // ZC_SHOWDIGIT
+packetLen(0x01b1, 7)
// Packet: 0x01b2
-packetLen(0x01b2, -1) // CZ_REQ_OPENSTORE2
+packetLen(0x01b2, -1)
// Packet: 0x01b3
-packetLen(0x01b3, 67) // ZC_SHOW_IMAGE2
+packetLen(0x01b3, 67)
// Packet: 0x01b4
-packetLen(0x01b4, 12) // ZC_CHANGE_GUILD
+packetLen(0x01b4, 12)
// Packet: 0x01b5
-packetLen(0x01b5, 18) // SC_BILLING_INFO
+packetLen(0x01b5, 18)
// Packet: 0x01b6
-packetLen(0x01b6, 114) // ZC_GUILD_INFO2
+packetLen(0x01b6, 114)
// Packet: 0x01b7
-packetLen(0x01b7, 6) // CZ_GUILD_ZENY
+packetLen(0x01b7, 6)
// Packet: 0x01b8
-packetLen(0x01b8, 3) // ZC_GUILD_ZENY_ACK
+packetLen(0x01b8, 3)
// Packet: 0x01b9
-packetLen(0x01b9, 6) // ZC_DISPEL
+packetLen(0x01b9, 6)
// Packet: 0x01ba
-packetLen(0x01ba, 26) // CZ_REMOVE_AID
+packetLen(0x01ba, 26)
// Packet: 0x01bb
-packetLen(0x01bb, 26) // CZ_SHIFT
+packetLen(0x01bb, 26)
// Packet: 0x01bc
-packetLen(0x01bc, 26) // CZ_RECALL
+packetLen(0x01bc, 26)
// Packet: 0x01bd
-packetLen(0x01bd, 26) // CZ_RECALL_GID
+packetLen(0x01bd, 26)
// Packet: 0x01be
-packetLen(0x01be, 2) // AC_ASK_PNGAMEROOM
+packetLen(0x01be, 2)
// Packet: 0x01bf
-packetLen(0x01bf, 3) // CA_REPLY_PNGAMEROOM
+packetLen(0x01bf, 3)
// Packet: 0x01c0
-packetLen(0x01c0, 2) // CZ_REQ_REMAINTIME
+packetLen(0x01c0, 2)
// Packet: 0x01c1
-packetLen(0x01c1, 14) // ZC_REPLY_REMAINTIME
+packetLen(0x01c1, 14)
// Packet: 0x01c2
-packetLen(0x01c2, 10) // ZC_INFO_REMAINTIME
+packetLen(0x01c2, 10)
// Packet: 0x01c3
-packetLen(0x01c3, -1) // ZC_BROADCAST2
+packetLen(0x01c3, -1)
// Packet: 0x01c4
-packetLen(0x01c4, 32) // ZC_ADD_ITEM_TO_STORE2
+packetLen(0x01c4, 32)
// Packet: 0x01c5
-packetLen(0x01c5, 32) // ZC_ADD_ITEM_TO_CART2
+packetLen(0x01c5, 32)
// Packet: 0x01c6
-packetLen(0x01c6, 4) // CS_REQ_ENCRYPTION
+packetLen(0x01c6, 4)
// Packet: 0x01c7
-packetLen(0x01c7, 2) // SC_ACK_ENCRYPTION
+packetLen(0x01c7, 2)
// Packet: 0x01c8
-packetLen(0x01c8, 15) // ZC_USE_ITEM_ACK2
+packetLen(0x01c8, 15)
// Packet: 0x01c9
-packetLen(0x01c9, 97) // ZC_SKILL_ENTRY2
+packetLen(0x01c9, 97)
// Packet: 0x01ca
-packetLen(0x01ca, 3) // CZ_REQMAKINGHOMUN
+packetLen(0x01ca, 3)
// Packet: 0x01cb
-packetLen(0x01cb, 9) // CZ_MONSTER_TALK
+packetLen(0x01cb, 9)
// Packet: 0x01cc
-packetLen(0x01cc, 9) // ZC_MONSTER_TALK
+packetLen(0x01cc, 9)
// Packet: 0x01cd
-packetLen(0x01cd, 30) // ZC_AUTOSPELLLIST
+packetLen(0x01cd, 30)
// Packet: 0x01ce
-packetLen(0x01ce, 6) // CZ_SELECTAUTOSPELL
+packetLen(0x01ce, 6)
// Packet: 0x01cf
-packetLen(0x01cf, 28) // ZC_DEVOTIONLIST
+packetLen(0x01cf, 28)
// Packet: 0x01d0
-packetLen(0x01d0, 8) // ZC_SPIRITS
+packetLen(0x01d0, 8)
// Packet: 0x01d1
-packetLen(0x01d1, 14) // ZC_BLADESTOP
+packetLen(0x01d1, 14)
// Packet: 0x01d2
-packetLen(0x01d2, 10) // ZC_COMBODELAY
+packetLen(0x01d2, 10)
// Packet: 0x01d3
-packetLen(0x01d3, 35) // ZC_SOUND
+packetLen(0x01d3, 35)
// Packet: 0x01d4
-packetLen(0x01d4, 6) // ZC_OPEN_EDITDLGSTR
+packetLen(0x01d4, 6)
// Packet: 0x01d5
-packetLen(0x01d5, -1) // CZ_INPUT_EDITDLGSTR
+packetLen(0x01d5, -1)
// Packet: 0x01d6
-packetLen(0x01d6, 4) // ZC_NOTIFY_MAPPROPERTY2
+packetLen(0x01d6, 4)
// Packet: 0x01d7
-packetLen(0x01d7, 15) // ZC_SPRITE_CHANGE2
+packetLen(0x01d7, 15)
// Packet: 0x01d8
-packetLen(0x01d8, 58) // ZC_NOTIFY_STANDENTRY2
+packetLen(0x01d8, 58)
// Packet: 0x01d9
-packetLen(0x01d9, 57) // ZC_NOTIFY_NEWENTRY2
+packetLen(0x01d9, 57)
// Packet: 0x01da
-packetLen(0x01da, 64) // ZC_NOTIFY_MOVEENTRY2
+packetLen(0x01da, 64)
// Packet: 0x01db
-packetLen(0x01db, 2) // CA_REQ_HASH
+packetLen(0x01db, 2)
// Packet: 0x01dc
-packetLen(0x01dc, -1) // AC_ACK_HASH
+packetLen(0x01dc, -1)
// Packet: 0x01dd
-packetLen(0x01dd, 47) // CA_LOGIN2
+packetLen(0x01dd, 47)
// Packet: 0x01de
-packetLen(0x01de, 33) // ZC_NOTIFY_SKILL2
+packetLen(0x01de, 33)
// Packet: 0x01df
-packetLen(0x01df, 6) // CZ_REQ_ACCOUNTNAME
+packetLen(0x01df, 6)
// Packet: 0x01e0
-packetLen(0x01e0, 30) // ZC_ACK_ACCOUNTNAME
+packetLen(0x01e0, 30)
// Packet: 0x01e1
-packetLen(0x01e1, 8) // ZC_SPIRITS2
+packetLen(0x01e1, 8)
// Packet: 0x01e2
-packetLen(0x01e2, 34) // ZC_REQ_COUPLE
+packetLen(0x01e2, 34)
// Packet: 0x01e3
-packetLen(0x01e3, 14) // CZ_JOIN_COUPLE
+packetLen(0x01e3, 14)
// Packet: 0x01e4
-packetLen(0x01e4, 2) // ZC_START_COUPLE
+packetLen(0x01e4, 2)
// Packet: 0x01e5
-packetLen(0x01e5, 6) // CZ_REQ_JOIN_COUPLE
+packetLen(0x01e5, 6)
// Packet: 0x01e6
-packetLen(0x01e6, 26) // ZC_COUPLENAME
+packetLen(0x01e6, 26)
// Packet: 0x01e7
-packetLen(0x01e7, 2) // CZ_DORIDORI
+packetLen(0x01e7, 2)
// Packet: 0x01e8
-packetLen(0x01e8, 28) // CZ_MAKE_GROUP2
+packetLen(0x01e8, 28)
// Packet: 0x01e9
-packetLen(0x01e9, 81) // ZC_ADD_MEMBER_TO_GROUP2
+packetLen(0x01e9, 81)
// Packet: 0x01ea
-packetLen(0x01ea, 6) // ZC_CONGRATULATION
+packetLen(0x01ea, 6)
// Packet: 0x01eb
-packetLen(0x01eb, 10) // ZC_NOTIFY_POSITION_TO_GUILDM
+packetLen(0x01eb, 10)
// Packet: 0x01ec
-packetLen(0x01ec, 26) // ZC_GUILD_MEMBER_MAP_CHANGE
+packetLen(0x01ec, 26)
// Packet: 0x01ed
-packetLen(0x01ed, 2) // CZ_CHOPOKGI
+packetLen(0x01ed, 2)
// Packet: 0x01ee
-packetLen(0x01ee, -1) // ZC_NORMAL_ITEMLIST2
+packetLen(0x01ee, -1)
// Packet: 0x01ef
-packetLen(0x01ef, -1) // ZC_CART_NORMAL_ITEMLIST2
+packetLen(0x01ef, -1)
// Packet: 0x01f0
-packetLen(0x01f0, -1) // ZC_STORE_NORMAL_ITEMLIST2
+packetLen(0x01f0, -1)
// Packet: 0x01f1
-packetLen(0x01f1, -1) // AC_NOTIFY_ERROR
+packetLen(0x01f1, -1)
// Packet: 0x01f2
-packetLen(0x01f2, 20) // ZC_UPDATE_CHARSTAT2
+packetLen(0x01f2, 20)
// Packet: 0x01f3
-packetLen(0x01f3, 10) // ZC_NOTIFY_EFFECT2
+packetLen(0x01f3, 10)
// Packet: 0x01f4
-packetLen(0x01f4, 32) // ZC_REQ_EXCHANGE_ITEM2
+packetLen(0x01f4, 32)
// Packet: 0x01f5
-packetLen(0x01f5, 9) // ZC_ACK_EXCHANGE_ITEM2
+packetLen(0x01f5, 9)
// Packet: 0x01f6
-packetLen(0x01f6, 34) // ZC_REQ_BABY
+packetLen(0x01f6, 34)
// Packet: 0x01f7
-packetLen(0x01f7, 14) // CZ_JOIN_BABY
+packetLen(0x01f7, 14)
// Packet: 0x01f8
-packetLen(0x01f8, 2) // ZC_START_BABY
+packetLen(0x01f8, 2)
// Packet: 0x01f9
-packetLen(0x01f9, 6) // CZ_REQ_JOIN_BABY
+packetLen(0x01f9, 6)
// Packet: 0x01fa
-packetLen(0x01fa, 48) // CA_LOGIN3
+packetLen(0x01fa, 48)
// Packet: 0x01fb
-packetLen(0x01fb, 56) // CH_DELETE_CHAR2
+packetLen(0x01fb, 56)
// Packet: 0x01fc
-packetLen(0x01fc, -1) // ZC_REPAIRITEMLIST
+packetLen(0x01fc, -1)
// Packet: 0x01fd
-packetLen(0x01fd, 25) // CZ_REQ_ITEMREPAIR
+packetLen(0x01fd, 25)
// Packet: 0x01fe
-packetLen(0x01fe, 5) // ZC_ACK_ITEMREPAIR
+packetLen(0x01fe, 5)
// Packet: 0x01ff
-packetLen(0x01ff, 10) // ZC_HIGHJUMP
+packetLen(0x01ff, 10)
// Packet: 0x0200
-packetLen(0x0200, 26) // CA_CONNECT_INFO_CHANGED
+packetLen(0x0200, 26)
// Packet: 0x0201
-packetLen(0x0201, -1) // ZC_FRIENDS_LIST
+packetLen(0x0201, -1)
// Packet: 0x0202
-packetLen(0x0202, 26) // CZ_ADD_FRIENDS
+packetLen(0x0202, 26)
// Packet: 0x0203
-packetLen(0x0203, 10) // CZ_DELETE_FRIENDS
+packetLen(0x0203, 10)
// Packet: 0x0204
-packetLen(0x0204, 18) // CA_EXE_HASHCHECK
+packetLen(0x0204, 18)
// Packet: 0x0205
-packetLen(0x0205, 26) // ZC_DIVORCE
+packetLen(0x0205, 26)
// Packet: 0x0206
-packetLen(0x0206, 35) // ZC_FRIENDS_STATE
+packetLen(0x0206, 35)
// Packet: 0x0207
-packetLen(0x0207, 34) // ZC_REQ_ADD_FRIENDS
+packetLen(0x0207, 34)
// Packet: 0x0208
-packetLen(0x0208, 14) // CZ_ACK_REQ_ADD_FRIENDS
+packetLen(0x0208, 14)
// Packet: 0x0209
-packetLen(0x0209, 36) // ZC_ADD_FRIENDS_LIST
+packetLen(0x0209, 36)
// Packet: 0x020a
-packetLen(0x020a, 10) // ZC_DELETE_FRIENDS
+packetLen(0x020a, 10)
// Packet: 0x020d
-packetLen(0x020d, -1) // HC_BLOCK_CHARACTER
+packetLen(0x020d, -1)
// Packet: 0x020e
-packetLen(0x020e, 32) // ZC_STARSKILL
+packetLen(0x020e, 32)
// Packet: 0x0212
-packetLen(0x0212, 26) // CZ_REQ_GIVE_MANNER_BYNAME
+packetLen(0x0212, 26)
// Packet: 0x0213
-packetLen(0x0213, 26) // CZ_REQ_STATUS_GM
+packetLen(0x0213, 26)
// Packet: 0x0214
-packetLen(0x0214, 42) // ZC_ACK_STATUS_GM
+packetLen(0x0214, 42)
// Packet: 0x0215
-packetLen(0x0215, 6) // ZC_SKILLMSG
+packetLen(0x0215, 6)
// Packet: 0x0216
-packetLen(0x0216, 6) // ZC_BABYMSG
+packetLen(0x0216, 6)
// Packet: 0x0217
-packetLen(0x0217, 2) // CZ_BLACKSMITH_RANK
+packetLen(0x0217, 2)
// Packet: 0x0218
-packetLen(0x0218, 2) // CZ_ALCHEMIST_RANK
+packetLen(0x0218, 2)
// Packet: 0x0219
-packetLen(0x0219, 282) // ZC_BLACKSMITH_RANK
+packetLen(0x0219, 282)
// Packet: 0x021a
-packetLen(0x021a, 282) // ZC_ALCHEMIST_RANK
+packetLen(0x021a, 282)
// Packet: 0x021b
-packetLen(0x021b, 10) // ZC_BLACKSMITH_POINT
+packetLen(0x021b, 10)
// Packet: 0x021c
-packetLen(0x021c, 10) // ZC_ALCHEMIST_POINT
+packetLen(0x021c, 10)
// Packet: 0x021d
-packetLen(0x021d, 6) // CZ_LESSEFFECT
+packetLen(0x021d, 6)
// Packet: 0x021e
-packetLen(0x021e, 6) // ZC_LESSEFFECT
+packetLen(0x021e, 6)
// Packet: 0x021f
-packetLen(0x021f, 66) // ZC_NOTIFY_PKINFO
+packetLen(0x021f, 66)
// Packet: 0x0220
-packetLen(0x0220, 10) // ZC_NOTIFY_CRAZYKILLER
+packetLen(0x0220, 10)
// Packet: 0x0221
-packetLen(0x0221, -1) // ZC_NOTIFY_WEAPONITEMLIST
+packetLen(0x0221, -1)
// Packet: 0x0222
-packetLen(0x0222, 6) // CZ_REQ_WEAPONREFINE
+packetLen(0x0222, 6)
// Packet: 0x0223
-packetLen(0x0223, 10) // ZC_ACK_WEAPONREFINE
+packetLen(0x0223, 10)
// Packet: 0x0224
-packetLen(0x0224, 10) // ZC_TAEKWON_POINT
+packetLen(0x0224, 10)
// Packet: 0x0225
-packetLen(0x0225, 2) // CZ_TAEKWON_RANK
+packetLen(0x0225, 2)
// Packet: 0x0226
-packetLen(0x0226, 282) // ZC_TAEKWON_RANK
+packetLen(0x0226, 282)
// Packet: 0x0227
-packetLen(0x0227, 18) // ZC_GAME_GUARD
+packetLen(0x0227, 18)
// Packet: 0x0228
-packetLen(0x0228, 18) // CZ_ACK_GAME_GUARD
+packetLen(0x0228, 18)
// Packet: 0x0229
-packetLen(0x0229, 15) // ZC_STATE_CHANGE3
+packetLen(0x0229, 15)
// Packet: 0x022a
-packetLen(0x022a, 62) // ZC_NOTIFY_STANDENTRY3
+packetLen(0x022a, 62)
// Packet: 0x022b
-packetLen(0x022b, 61) // ZC_NOTIFY_NEWENTRY3
+packetLen(0x022b, 61)
// Packet: 0x022c
-packetLen(0x022c, 69) // ZC_NOTIFY_MOVEENTRY3
+packetLen(0x022c, 69)
// Packet: 0x022d
-packetLen(0x022d, 5) // CZ_COMMAND_MER
+packetLen(0x022d, 5)
// Packet: 0x022e
-packetLen(0x022e, 73) // ZC_PROPERTY_HOMUN
+packetLen(0x022e, 73)
// Packet: 0x022f
-packetLen(0x022f, 7) // ZC_FEED_MER
+packetLen(0x022f, 7)
// Packet: 0x0230
-packetLen(0x0230, 12) // ZC_CHANGESTATE_MER
+packetLen(0x0230, 12)
// Packet: 0x0231
-packetLen(0x0231, 26) // CZ_RENAME_MER
+packetLen(0x0231, 26)
// Packet: 0x0232
-packetLen(0x0232, 9) // CZ_REQUEST_MOVENPC
+packetLen(0x0232, 9)
// Packet: 0x0233
-packetLen(0x0233, 11) // CZ_REQUEST_ACTNPC
+packetLen(0x0233, 11)
// Packet: 0x0234
-packetLen(0x0234, 6) // CZ_REQUEST_MOVETOOWNER
+packetLen(0x0234, 6)
// Packet: 0x0235
-packetLen(0x0235, -1) // ZC_HOSKILLINFO_LIST
+packetLen(0x0235, -1)
// Packet: 0x0236
-packetLen(0x0236, 10) // ZC_KILLER_POINT
+packetLen(0x0236, 10)
// Packet: 0x0237
-packetLen(0x0237, 2) // CZ_KILLER_RANK
+packetLen(0x0237, 2)
// Packet: 0x0238
-packetLen(0x0238, 282) // ZC_KILLER_RANK
+packetLen(0x0238, 282)
// Packet: 0x0239
-packetLen(0x0239, 11) // ZC_HOSKILLINFO_UPDATE
+packetLen(0x0239, 11)
// Packet: 0x023a
-packetLen(0x023a, 4) // ZC_REQ_STORE_PASSWORD
+packetLen(0x023a, 4)
// Packet: 0x023b
-packetLen(0x023b, 36) // CZ_ACK_STORE_PASSWORD
+packetLen(0x023b, 36)
// Packet: 0x023c
-packetLen(0x023c, 6) // ZC_RESULT_STORE_PASSWORD
+packetLen(0x023c, 6)
// Packet: 0x023d
-packetLen(0x023d, 6) // AC_EVENT_RESULT
+packetLen(0x023d, 6)
// Packet: 0x023e
-packetLen(0x023e, 8) // HC_REQUEST_CHARACTER_PASSWORD
+packetLen(0x023e, 8)
// Packet: 0x023f
-packetLen(0x023f, 2) // CZ_MAIL_GET_LIST
+packetLen(0x023f, 2)
// Packet: 0x0240
-packetLen(0x0240, -1) // ZC_MAIL_REQ_GET_LIST
+packetLen(0x0240, -1)
// Packet: 0x0241
-packetLen(0x0241, 6) // CZ_MAIL_OPEN
+packetLen(0x0241, 6)
// Packet: 0x0242
-packetLen(0x0242, -1) // ZC_MAIL_REQ_OPEN
+packetLen(0x0242, -1)
// Packet: 0x0243
-packetLen(0x0243, 6) // CZ_MAIL_DELETE
+packetLen(0x0243, 6)
// Packet: 0x0244
-packetLen(0x0244, 6) // CZ_MAIL_GET_ITEM
+packetLen(0x0244, 6)
// Packet: 0x0245
-packetLen(0x0245, 3) // ZC_MAIL_REQ_GET_ITEM
+packetLen(0x0245, 3)
// Packet: 0x0246
-packetLen(0x0246, 4) // CZ_MAIL_RESET_ITEM
+packetLen(0x0246, 4)
// Packet: 0x0247
-packetLen(0x0247, 8) // CZ_MAIL_ADD_ITEM
+packetLen(0x0247, 8)
// Packet: 0x0248
-packetLen(0x0248, -1) // CZ_MAIL_SEND
+packetLen(0x0248, -1)
// Packet: 0x0249
-packetLen(0x0249, 3) // ZC_MAIL_REQ_SEND
+packetLen(0x0249, 3)
// Packet: 0x024a
-packetLen(0x024a, 70) // ZC_MAIL_RECEIVE
+packetLen(0x024a, 70)
// Packet: 0x024b
-packetLen(0x024b, 4) // CZ_AUCTION_CREATE
+packetLen(0x024b, 4)
// Packet: 0x024c
-packetLen(0x024c, 8) // CZ_AUCTION_ADD_ITEM
+packetLen(0x024c, 8)
// Packet: 0x024d
-packetLen(0x024d, 12) // CZ_AUCTION_ADD
+packetLen(0x024d, 12)
// Packet: 0x024e
-packetLen(0x024e, 6) // CZ_AUCTION_ADD_CANCEL
+packetLen(0x024e, 6)
// Packet: 0x024f
-packetLen(0x024f, 10) // CZ_AUCTION_BUY
+packetLen(0x024f, 10)
// Packet: 0x0250
-packetLen(0x0250, 3) // ZC_AUCTION_RESULT
+packetLen(0x0250, 3)
// Packet: 0x0251
-packetLen(0x0251, 34) // CZ_AUCTION_ITEM_SEARCH
+packetLen(0x0251, 34)
// Packet: 0x0252
-packetLen(0x0252, -1) // ZC_AUCTION_ITEM_REQ_SEARCH
+packetLen(0x0252, -1)
// Packet: 0x0253
-packetLen(0x0253, 3) // ZC_STARPLACE
+packetLen(0x0253, 3)
// Packet: 0x0254
-packetLen(0x0254, 3) // CZ_AGREE_STARPLACE
+packetLen(0x0254, 3)
// Packet: 0x0255
-packetLen(0x0255, 5) // ZC_ACK_MAIL_ADD_ITEM
+packetLen(0x0255, 5)
// Packet: 0x0256
-packetLen(0x0256, 5) // ZC_ACK_AUCTION_ADD_ITEM
+packetLen(0x0256, 5)
// Packet: 0x0257
-packetLen(0x0257, 8) // ZC_ACK_MAIL_DELETE
+packetLen(0x0257, 8)
// Packet: 0x0258
-packetLen(0x0258, 2) // CA_REQ_GAME_GUARD_CHECK
+packetLen(0x0258, 2)
// Packet: 0x0259
-packetLen(0x0259, 3) // AC_ACK_GAME_GUARD
+packetLen(0x0259, 3)
// Packet: 0x025a
-packetLen(0x025a, -1) // ZC_MAKINGITEM_LIST
+packetLen(0x025a, -1)
// Packet: 0x025b
-packetLen(0x025b, 8) // CZ_REQ_MAKINGITEM
+packetLen(0x025b, 8)
// Packet: 0x025c
-packetLen(0x025c, 4) // CZ_AUCTION_REQ_MY_INFO
+packetLen(0x025c, 4)
// Packet: 0x025d
-packetLen(0x025d, 6) // CZ_AUCTION_REQ_MY_SELL_STOP
+packetLen(0x025d, 6)
// Packet: 0x025e
-packetLen(0x025e, 4) // ZC_AUCTION_ACK_MY_SELL_STOP
+packetLen(0x025e, 4)
// Packet: 0x025f
-packetLen(0x025f, 6) // ZC_AUCTION_WINDOWS
+packetLen(0x025f, 6)
// Packet: 0x0260
-packetLen(0x0260, 6) // ZC_MAIL_WINDOWS
+packetLen(0x0260, 6)
// Packet: 0x0261
-packetLen(0x0261, 11) // AC_REQ_LOGIN_OLDEKEY
+packetLen(0x0261, 11)
// Packet: 0x0262
-packetLen(0x0262, 11) // AC_REQ_LOGIN_NEWEKEY
+packetLen(0x0262, 11)
// Packet: 0x0263
-packetLen(0x0263, 11) // AC_REQ_LOGIN_CARDPASS
+packetLen(0x0263, 11)
// Packet: 0x0264
-packetLen(0x0264, 20) // CA_ACK_LOGIN_OLDEKEY
+packetLen(0x0264, 20)
// Packet: 0x0265
-packetLen(0x0265, 20) // CA_ACK_LOGIN_NEWEKEY
+packetLen(0x0265, 20)
// Packet: 0x0266
-packetLen(0x0266, 30) // CA_ACK_LOGIN_CARDPASS
+packetLen(0x0266, 30)
// Packet: 0x0267
-packetLen(0x0267, 4) // AC_ACK_EKEY_FAIL_NOTEXIST
+packetLen(0x0267, 4)
// Packet: 0x0268
-packetLen(0x0268, 4) // AC_ACK_EKEY_FAIL_NOTUSESEKEY
+packetLen(0x0268, 4)
// Packet: 0x0269
-packetLen(0x0269, 4) // AC_ACK_EKEY_FAIL_NOTUSEDEKEY
+packetLen(0x0269, 4)
// Packet: 0x026a
-packetLen(0x026a, 4) // AC_ACK_EKEY_FAIL_AUTHREFUSE
+packetLen(0x026a, 4)
// Packet: 0x026b
-packetLen(0x026b, 4) // AC_ACK_EKEY_FAIL_INPUTEKEY
+packetLen(0x026b, 4)
// Packet: 0x026c
-packetLen(0x026c, 4) // AC_ACK_EKEY_FAIL_NOTICE
+packetLen(0x026c, 4)
// Packet: 0x026d
-packetLen(0x026d, 4) // AC_ACK_EKEY_FAIL_NEEDCARDPASS
+packetLen(0x026d, 4)
// Packet: 0x026f
-packetLen(0x026f, 2) // AC_ACK_FIRST_LOGIN
+packetLen(0x026f, 2)
// Packet: 0x0270
-packetLen(0x0270, 2) // AC_REQ_LOGIN_ACCOUNT_INFO
+packetLen(0x0270, 2)
// Packet: 0x0271
-packetLen(0x0271, 40) // CA_ACK_LOGIN_ACCOUNT_INFO
+packetLen(0x0271, 40)
// Packet: 0x0272
-packetLen(0x0272, 44) // AC_ACK_PT_ID_INFO
+packetLen(0x0272, 44)
// Packet: 0x0273
-packetLen(0x0273, 30) // CZ_REQ_MAIL_RETURN
+packetLen(0x0273, 30)
// Packet: 0x0274
-packetLen(0x0274, 8) // ZC_ACK_MAIL_RETURN
+packetLen(0x0274, 8)
// Packet: 0x0275
-packetLen(0x0275, 37) // CH_ENTER2
+packetLen(0x0275, 37)
// Packet: 0x0276
-packetLen(0x0276, -1) // AC_ACCEPT_LOGIN2
+packetLen(0x0276, -1)
// Packet: 0x0277
-packetLen(0x0277, 84) // CA_LOGIN_PCBANG
+packetLen(0x0277, 84)
// Packet: 0x0278
-packetLen(0x0278, 2) // ZC_NOTIFY_PCBANG
+packetLen(0x0278, 2)
// Packet: 0x0279
-packetLen(0x0279, 2) // CZ_HUNTINGLIST
+packetLen(0x0279, 2)
// Packet: 0x027a
-packetLen(0x027a, -1) // ZC_HUNTINGLIST
+packetLen(0x027a, -1)
// Packet: 0x027b
-packetLen(0x027b, 14) // ZC_PCBANG_EFFECT
+packetLen(0x027b, 14)
// Packet: 0x027c
-packetLen(0x027c, 60) // CA_LOGIN4
+packetLen(0x027c, 60)
// Packet: 0x027d
-packetLen(0x027d, 62) // ZC_PROPERTY_MERCE
+packetLen(0x027d, 62)
// Packet: 0x027e
-packetLen(0x027e, -1) // ZC_SHANDA_PROTECT
+packetLen(0x027e, -1)
// Packet: 0x027f
-packetLen(0x027f, 8) // CA_CLIENT_TYPE
+packetLen(0x027f, 8)
// Packet: 0x0280
-packetLen(0x0280, 12) // ZC_GANGSI_POINT
+packetLen(0x0280, 12)
// Packet: 0x0281
-packetLen(0x0281, 4) // CZ_GANGSI_RANK
+packetLen(0x0281, 4)
// Packet: 0x0282
-packetLen(0x0282, 284) // ZC_GANGSI_RANK
+packetLen(0x0282, 284)
// Packet: 0x0283
-packetLen(0x0283, 6) // ZC_AID
+packetLen(0x0283, 6)
// Packet: 0x0284
-packetLen(0x0284, 14) // ZC_NOTIFY_EFFECT3
+packetLen(0x0284, 14)
// Packet: 0x0285
-packetLen(0x0285, 6) // ZC_DEATH_QUESTION
+packetLen(0x0285, 6)
// Packet: 0x0286
-packetLen(0x0286, 4) // CZ_DEATH_QUESTION
+packetLen(0x0286, 4)
// Packet: 0x0287
-packetLen(0x0287, -1) // ZC_PC_CASH_POINT_ITEMLIST
+packetLen(0x0287, -1)
// Packet: 0x0288
-packetLen(0x0288, -1) // CZ_PC_BUY_CASH_POINT_ITEM
+packetLen(0x0288, -1)
// Packet: 0x0289
-packetLen(0x0289, 12) // ZC_PC_CASH_POINT_UPDATE
+packetLen(0x0289, 12)
// Packet: 0x028a
-packetLen(0x028a, 18) // ZC_NPC_SHOWEFST_UPDATE
+packetLen(0x028a, 18)
// Packet: 0x028b
-packetLen(0x028b, -1) // HC_CHARNOTBEENSELECTED
+packetLen(0x028b, -1)
// Packet: 0x028c
-packetLen(0x028c, 46) // CH_SELECT_CHAR_GOINGTOBEUSED
+packetLen(0x028c, 46)
// Packet: 0x028d
-packetLen(0x028d, 34) // CH_REQ_IS_VALID_CHARNAME
+packetLen(0x028d, 34)
// Packet: 0x028e
-packetLen(0x028e, 4) // HC_ACK_IS_VALID_CHARNAME
+packetLen(0x028e, 4)
// Packet: 0x028f
-packetLen(0x028f, 6) // CH_REQ_CHANGE_CHARNAME
+packetLen(0x028f, 6)
// Packet: 0x0290
-packetLen(0x0290, 4) // HC_ACK_CHANGE_CHARNAME
+packetLen(0x0290, 4)
// Packet: 0x0291
-packetLen(0x0291, 4) // ZC_MSG
+packetLen(0x0291, 4)
// Packet: 0x0292
-packetLen(0x0292, 2) // CZ_STANDING_RESURRECTION
+packetLen(0x0292, 2)
// Packet: 0x0293
-packetLen(0x0293, 70) // ZC_BOSS_INFO
+packetLen(0x0293, 70)
// Packet: 0x0294
-packetLen(0x0294, 10) // ZC_READ_BOOK
+packetLen(0x0294, 10)
// Packet: 0x0295
-packetLen(0x0295, -1) // ZC_EQUIPMENT_ITEMLIST2
+packetLen(0x0295, -1)
// Packet: 0x0296
-packetLen(0x0296, -1) // ZC_STORE_EQUIPMENT_ITEMLIST2
+packetLen(0x0296, -1)
// Packet: 0x0297
-packetLen(0x0297, -1) // ZC_CART_EQUIPMENT_ITEMLIST2
+packetLen(0x0297, -1)
// Packet: 0x0298
-packetLen(0x0298, 10) // ZC_CASH_TIME_COUNTER
+packetLen(0x0298, 10)
// Packet: 0x0299
-packetLen(0x0299, 8) // ZC_CASH_ITEM_DELETE
+packetLen(0x0299, 8)
// Packet: 0x029a
-packetLen(0x029a, 37) // ZC_ITEM_PICKUP_ACK2
+packetLen(0x029a, 37)
// Packet: 0x029b
-packetLen(0x029b, 80) // ZC_MER_INIT
+packetLen(0x029b, 80)
// Packet: 0x029c
-packetLen(0x029c, 66) // ZC_MER_PROPERTY
+packetLen(0x029c, 66)
// Packet: 0x029d
-packetLen(0x029d, -1) // ZC_MER_SKILLINFO_LIST
+packetLen(0x029d, -1)
// Packet: 0x029e
-packetLen(0x029e, 11) // ZC_MER_SKILLINFO_UPDATE
+packetLen(0x029e, 11)
// Packet: 0x029f
-packetLen(0x029f, 3) // CZ_MER_COMMAND
+packetLen(0x029f, 3)
// Packet: 0x02a2
-packetLen(0x02a2, 8) // ZC_MER_PAR_CHANGE
+packetLen(0x02a2, 8)
// Packet: 0x02a5
-packetLen(0x02a5, 8) // CZ_KSY_EVENT
+packetLen(0x02a5, 8)
// Packet: 0x02a6
-packetLen(0x02a6, -1) // ZC_HACKSH_CPX_MSG
+packetLen(0x02a6, -1)
// Packet: 0x02a7
-packetLen(0x02a7, -1) // CZ_HACKSH_CPX_MSG
+packetLen(0x02a7, -1)
// Packet: 0x02aa
-packetLen(0x02aa, 4) // ZC_REQ_CASH_PASSWORD
+packetLen(0x02aa, 4)
// Packet: 0x02ab
-packetLen(0x02ab, 36) // CZ_ACK_CASH_PASSWORD
+packetLen(0x02ab, 36)
// Packet: 0x02ac
-packetLen(0x02ac, 6) // ZC_RESULT_CASH_PASSWORD
+packetLen(0x02ac, 6)
// Packet: 0x02ad
-packetLen(0x02ad, 8) // AC_REQUEST_SECOND_PASSWORD
+packetLen(0x02ad, 8)
// Packet: 0x02b0
-packetLen(0x02b0, 85) // CA_LOGIN_HAN
+packetLen(0x02b0, 85)
// Packet: 0x02b1
-packetLen(0x02b1, -1) // ZC_ALL_QUEST_LIST
+packetLen(0x02b1, -1)
// Packet: 0x02b2
-packetLen(0x02b2, -1) // ZC_ALL_QUEST_MISSION
+packetLen(0x02b2, -1)
// Packet: 0x02b3
-packetLen(0x02b3, 107) // ZC_ADD_QUEST
+packetLen(0x02b3, 107)
// Packet: 0x02b4
-packetLen(0x02b4, 6) // ZC_DEL_QUEST
+packetLen(0x02b4, 6)
// Packet: 0x02b5
-packetLen(0x02b5, -1) // ZC_UPDATE_MISSION_HUNT
+packetLen(0x02b5, -1)
// Packet: 0x02b6
-packetLen(0x02b6, 7) // CZ_ACTIVE_QUEST
+packetLen(0x02b6, 7)
// Packet: 0x02b7
-packetLen(0x02b7, 7) // ZC_ACTIVE_QUEST
+packetLen(0x02b7, 7)
// Packet: 0x02b8
-packetLen(0x02b8, 32) // ZC_ITEM_PICKUP_PARTY
+packetLen(0x02b8, 32)
// Packet: 0x02b9
-packetLen(0x02b9, 191) // ZC_SHORTCUT_KEY_LIST
+packetLen(0x02b9, 191)
// Packet: 0x02ba
-packetLen(0x02ba, 11) // CZ_SHORTCUT_KEY_CHANGE
+packetLen(0x02ba, 11)
// Packet: 0x02bb
-packetLen(0x02bb, 8) // ZC_EQUIPITEM_DAMAGED
+packetLen(0x02bb, 8)
// Packet: 0x02bc
-packetLen(0x02bc, 6) // ZC_NOTIFY_PCBANG_PLAYING_TIME
+packetLen(0x02bc, 6)
// Packet: 0x02c1
-packetLen(0x02c1, -1) // ZC_NPC_CHAT
+packetLen(0x02c1, -1)
// Packet: 0x02c2
-packetLen(0x02c2, -1) // ZC_FORMATSTRING_MSG
+packetLen(0x02c2, -1)
// Packet: 0x02c4
-packetLen(0x02c4, 26) // CZ_PARTY_JOIN_REQ
+packetLen(0x02c4, 26)
// Packet: 0x02c5
-packetLen(0x02c5, 30) // ZC_PARTY_JOIN_REQ_ACK
+packetLen(0x02c5, 30)
// Packet: 0x02c6
-packetLen(0x02c6, 30) // ZC_PARTY_JOIN_REQ
+packetLen(0x02c6, 30)
// Packet: 0x02c7
-packetLen(0x02c7, 7) // CZ_PARTY_JOIN_REQ_ACK
+packetLen(0x02c7, 7)
// Packet: 0x02c8
-packetLen(0x02c8, 3) // CZ_PARTY_CONFIG
+packetLen(0x02c8, 3)
// Packet: 0x02c9
-packetLen(0x02c9, 3) // ZC_PARTY_CONFIG
+packetLen(0x02c9, 3)
// Packet: 0x02ca
-packetLen(0x02ca, 3) // HC_REFUSE_SELECTCHAR
+packetLen(0x02ca, 3)
// Packet: 0x02cb
-packetLen(0x02cb, 65) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_INFO
+packetLen(0x02cb, 65)
// Packet: 0x02cc
-packetLen(0x02cc, 4) // ZC_MEMORIALDUNGEON_SUBSCRIPTION_NOTIFY
+packetLen(0x02cc, 4)
// Packet: 0x02cd
-packetLen(0x02cd, 71) // ZC_MEMORIALDUNGEON_INFO
+packetLen(0x02cd, 71)
// Packet: 0x02ce
-packetLen(0x02ce, 10) // ZC_MEMORIALDUNGEON_NOTIFY
+packetLen(0x02ce, 10)
// Packet: 0x02cf
-packetLen(0x02cf, 6) // CZ_MEMORIALDUNGEON_COMMAND
+packetLen(0x02cf, 6)
// Packet: 0x02d0
-packetLen(0x02d0, -1) // ZC_EQUIPMENT_ITEMLIST3
+packetLen(0x02d0, -1)
// Packet: 0x02d1
-packetLen(0x02d1, -1) // ZC_STORE_EQUIPMENT_ITEMLIST3
+packetLen(0x02d1, -1)
// Packet: 0x02d2
-packetLen(0x02d2, -1) // ZC_CART_EQUIPMENT_ITEMLIST3
+packetLen(0x02d2, -1)
// Packet: 0x02d3
-packetLen(0x02d3, 4) // ZC_NOTIFY_BIND_ON_EQUIP
+packetLen(0x02d3, 4)
// Packet: 0x02d4
-packetLen(0x02d4, 39) // ZC_ITEM_PICKUP_ACK3
+packetLen(0x02d4, 39)
// Packet: 0x02d5
-packetLen(0x02d5, 2) // ZC_ISVR_DISCONNECT
+packetLen(0x02d5, 2)
// Packet: 0x02d6
-packetLen(0x02d6, 6) // CZ_EQUIPWIN_MICROSCOPE
+packetLen(0x02d6, 6)
// Packet: 0x02d7
-packetLen(0x02d7, -1) // ZC_EQUIPWIN_MICROSCOPE
+packetLen(0x02d7, -1)
// Packet: 0x02d8
-packetLen(0x02d8, 10) // CZ_CONFIG
+packetLen(0x02d8, 10)
// Packet: 0x02d9
-packetLen(0x02d9, 10) // ZC_CONFIG
+packetLen(0x02d9, 10)
// Packet: 0x02da
-packetLen(0x02da, 3) // ZC_CONFIG_NOTIFY
+packetLen(0x02da, 3)
// Packet: 0x02db
-packetLen(0x02db, -1) // CZ_BATTLEFIELD_CHAT
+packetLen(0x02db, -1)
// Packet: 0x02dc
-packetLen(0x02dc, -1) // ZC_BATTLEFIELD_CHAT
+packetLen(0x02dc, -1)
// Packet: 0x02dd
-packetLen(0x02dd, 32) // ZC_BATTLEFIELD_NOTIFY_CAMPINFO
+packetLen(0x02dd, 32)
// Packet: 0x02de
-packetLen(0x02de, 6) // ZC_BATTLEFIELD_NOTIFY_POINT
+packetLen(0x02de, 6)
// Packet: 0x02df
-packetLen(0x02df, 36) // ZC_BATTLEFIELD_NOTIFY_POSITION
+packetLen(0x02df, 36)
// Packet: 0x02e0
-packetLen(0x02e0, 34) // ZC_BATTLEFIELD_NOTIFY_HP
+packetLen(0x02e0, 34)
// Packet: 0x02e1
-packetLen(0x02e1, 33) // ZC_NOTIFY_ACT2
+packetLen(0x02e1, 33)
// Packet: 0x02e2
-packetLen(0x02e2, 20) // CZ_USE_ITEM_NEW_JAPEN
+packetLen(0x02e2, 20)
// Packet: 0x02e3
-packetLen(0x02e3, 22) // CZ_USE_SKILL_NEW_JAPEN
+packetLen(0x02e3, 22)
// Packet: 0x02e4
-packetLen(0x02e4, 11) // CZ_ITEM_PICKUP_NEW_JAPEN
+packetLen(0x02e4, 11)
// Packet: 0x02e5
-packetLen(0x02e5, 9) // CZ_REQUEST_MOVE_NEW_JAPEN
+packetLen(0x02e5, 9)
// Packet: 0x02e6
-packetLen(0x02e6, 6) // CZ_BOT_CHECK
+packetLen(0x02e6, 6)
// Packet: 0x02e7
-packetLen(0x02e7, -1) // ZC_MAPPROPERTY
+packetLen(0x02e7, -1)
// Packet: 0x02e8
-packetLen(0x02e8, -1) // ZC_NORMAL_ITEMLIST3
+packetLen(0x02e8, -1)
// Packet: 0x02e9
-packetLen(0x02e9, -1) // ZC_CART_NORMAL_ITEMLIST3
+packetLen(0x02e9, -1)
// Packet: 0x02ea
-packetLen(0x02ea, -1) // ZC_STORE_NORMAL_ITEMLIST3
+packetLen(0x02ea, -1)
// Packet: 0x02eb
-packetLen(0x02eb, 13) // ZC_ACCEPT_ENTER2
+packetLen(0x02eb, 13)
// Packet: 0x02ec
-packetLen(0x02ec, 71) // ZC_NOTIFY_MOVEENTRY4
+packetLen(0x02ec, 71)
// Packet: 0x02ed
-packetLen(0x02ed, 63) // ZC_NOTIFY_NEWENTRY4
+packetLen(0x02ed, 63)
// Packet: 0x02ee
-packetLen(0x02ee, 64) // ZC_NOTIFY_STANDENTRY4
+packetLen(0x02ee, 64)
// Packet: 0x02ef
-packetLen(0x02ef, 8) // ZC_NOTIFY_FONT
+packetLen(0x02ef, 8)
// Packet: 0x02f0
-packetLen(0x02f0, 10) // ZC_PROGRESS
+packetLen(0x02f0, 10)
// Packet: 0x02f1
-packetLen(0x02f1, 2) // CZ_PROGRESS
+packetLen(0x02f1, 2)
// Packet: 0x02f2
-packetLen(0x02f2, 2) // ZC_PROGRESS_CANCEL
+packetLen(0x02f2, 2)
// Packet: 0x02f3
-packetLen(0x02f3, -1) // CZ_IRMAIL_SEND
+packetLen(0x02f3, -1)
// Packet: 0x02f4
-packetLen(0x02f4, 3) // ZC_IRMAIL_SEND_RES
+packetLen(0x02f4, 3)
// Packet: 0x02f5
-packetLen(0x02f5, 7) // ZC_IRMAIL_NOTIFY
+packetLen(0x02f5, 7)
// Packet: 0x02f6
-packetLen(0x02f6, 7) // CZ_IRMAIL_LIST
+packetLen(0x02f6, 7)
// Packet: 0x035c
-packetLen(0x035c, 2) // CZ_OPEN_SIMPLE_CASHSHOP_ITEMLIST
+packetLen(0x035c, 2)
// Packet: 0x035d
-packetLen(0x035d, -1) // ZC_SIMPLE_CASHSHOP_POINT_ITEMLIST
+packetLen(0x035d, -1)
// Packet: 0x035e
-packetLen(0x035e, 2) // CZ_CLOSE_WINDOW
+packetLen(0x035e, 2)
// Packet: 0x035f
-packetLen(0x035f, 5) // CZ_REQUEST_MOVE2
+packetLen(0x035f, 5)
// Packet: 0x0360
-packetLen(0x0360, 6) // CZ_REQUEST_TIME2
+packetLen(0x0360, 6)
// Packet: 0x0361
-packetLen(0x0361, 5) // CZ_CHANGE_DIRECTION2
+packetLen(0x0361, 5)
// Packet: 0x0362
-packetLen(0x0362, 6) // CZ_ITEM_PICKUP2
+packetLen(0x0362, 6)
// Packet: 0x0363
-packetLen(0x0363, 6) // CZ_ITEM_THROW2
+packetLen(0x0363, 6)
// Packet: 0x0364
-packetLen(0x0364, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_STORE2
+packetLen(0x0364, 8)
// Packet: 0x0365
-packetLen(0x0365, 8) // CZ_MOVE_ITEM_FROM_STORE_TO_BODY2
+packetLen(0x0365, 8)
// Packet: 0x0366
-packetLen(0x0366, 10) // CZ_USE_SKILL_TOGROUND2
+packetLen(0x0366, 10)
// Packet: 0x0367
-packetLen(0x0367, 90) // CZ_USE_SKILL_TOGROUND_WITHTALKBOX2
+#if PACKETVER >= 20190828
+packetLen(0x0367, 31)
+#elif PACKETVER >= 20190116
+packetLen(0x0367, 90)
+#endif
// Packet: 0x0368
-packetLen(0x0368, 6) // CZ_REQNAME2
+packetLen(0x0368, 6)
// Packet: 0x0369
-packetLen(0x0369, 6) // CZ_REQNAME_BYGID2
+packetLen(0x0369, 6)
// Packet: 0x03dd
-packetLen(0x03dd, 18) // AHC_GAME_GUARD
+packetLen(0x03dd, 18)
// Packet: 0x03de
-packetLen(0x03de, 18) // CAH_ACK_GAME_GUARD
+packetLen(0x03de, 18)
// Packet: 0x0436
-packetLen(0x0436, 19) // CZ_ENTER2
+packetLen(0x0436, 19)
// Packet: 0x0437
-packetLen(0x0437, 7) // CZ_REQUEST_ACT2
+packetLen(0x0437, 7)
// Packet: 0x0438
-packetLen(0x0438, 10) // CZ_USE_SKILL2
+packetLen(0x0438, 10)
// Packet: 0x0439
-packetLen(0x0439, 8) // CZ_USE_ITEM2
+packetLen(0x0439, 8)
// Packet: 0x043d
-packetLen(0x043d, 8) // ZC_SKILL_POSTDELAY
+packetLen(0x043d, 8)
// Packet: 0x043e
-packetLen(0x043e, -1) // ZC_SKILL_POSTDELAY_LIST
+packetLen(0x043e, -1)
// Packet: 0x043f
-packetLen(0x043f, 25) // ZC_MSG_STATE_CHANGE2
+packetLen(0x043f, 25)
// Packet: 0x0440
-packetLen(0x0440, 10) // ZC_MILLENNIUMSHIELD
+packetLen(0x0440, 10)
// Packet: 0x0441
-packetLen(0x0441, 4) // ZC_SKILLINFO_DELETE
+packetLen(0x0441, 4)
// Packet: 0x0442
-packetLen(0x0442, -1) // ZC_SKILL_SELECT_REQUEST
+packetLen(0x0442, -1)
// Packet: 0x0443
-packetLen(0x0443, 8) // CZ_SKILL_SELECT_RESPONSE
+packetLen(0x0443, 8)
// Packet: 0x0444
-packetLen(0x0444, -1) // ZC_SIMPLE_CASH_POINT_ITEMLIST
+packetLen(0x0444, -1)
// Packet: 0x0445
-packetLen(0x0445, 12) // CZ_SIMPLE_BUY_CASH_POINT_ITEM
+packetLen(0x0445, 12)
// Packet: 0x0446
-packetLen(0x0446, 14) // ZC_QUEST_NOTIFY_EFFECT
+packetLen(0x0446, 14)
// Packet: 0x0447
-packetLen(0x0447, 2) // CZ_BLOCKING_PLAY_CANCEL
+packetLen(0x0447, 2)
// Packet: 0x0448
-packetLen(0x0448, -1) // HC_CHARACTER_LIST
+packetLen(0x0448, -1)
// Packet: 0x0449
-packetLen(0x0449, 4) // ZC_HACKSH_ERROR_MSG
+packetLen(0x0449, 4)
// Packet: 0x044a
-packetLen(0x044a, 6) // CZ_CLIENT_VERSION
+packetLen(0x044a, 6)
// Packet: 0x044b
-packetLen(0x044b, 2) // CZ_CLOSE_SIMPLECASH_SHOP
+packetLen(0x044b, 2)
// Packet: 0x07d7
-packetLen(0x07d7, 8) // CZ_GROUPINFO_CHANGE_V2
+packetLen(0x07d7, 8)
// Packet: 0x07d8
-packetLen(0x07d8, 8) // ZC_REQ_GROUPINFO_CHANGE_V2
+packetLen(0x07d8, 8)
// Packet: 0x07d9
-packetLen(0x07d9, 268) // ZC_SHORTCUT_KEY_LIST_V2
+packetLen(0x07d9, 268)
// Packet: 0x07da
-packetLen(0x07da, 6) // CZ_CHANGE_GROUP_MASTER
+packetLen(0x07da, 6)
// Packet: 0x07db
-packetLen(0x07db, 8) // ZC_HO_PAR_CHANGE
+packetLen(0x07db, 8)
// Packet: 0x07dc
-packetLen(0x07dc, 6) // CZ_SEEK_PARTY
+packetLen(0x07dc, 6)
// Packet: 0x07dd
-packetLen(0x07dd, 54) // ZC_SEEK_PARTY
+packetLen(0x07dd, 54)
// Packet: 0x07de
-packetLen(0x07de, 30) // CZ_SEEK_PARTY_MEMBER
+packetLen(0x07de, 30)
// Packet: 0x07df
-packetLen(0x07df, 54) // ZC_SEEK_PARTY_MEMBER
+packetLen(0x07df, 54)
// Packet: 0x07e0
-packetLen(0x07e0, 58) // ZC_ES_NOTI_MYINFO
+packetLen(0x07e0, 58)
// Packet: 0x07e1
-packetLen(0x07e1, 15) // ZC_SKILLINFO_UPDATE2
+packetLen(0x07e1, 15)
// Packet: 0x07e2
-packetLen(0x07e2, 8) // ZC_MSG_VALUE
+packetLen(0x07e2, 8)
// Packet: 0x07e3
-packetLen(0x07e3, 6) // ZC_ITEMLISTWIN_OPEN
+packetLen(0x07e3, 6)
// Packet: 0x07e4
-packetLen(0x07e4, -1) // CZ_ITEMLISTWIN_RES
+packetLen(0x07e4, -1)
// Packet: 0x07e5
-packetLen(0x07e5, 4) // CH_ENTER_CHECKBOT
+packetLen(0x07e5, 4)
// Packet: 0x07e6
-packetLen(0x07e6, 8) // ZC_MSG_SKILL
+packetLen(0x07e6, 8)
// Packet: 0x07e7
-packetLen(0x07e7, 32) // CH_CHECKBOT
+packetLen(0x07e7, 32)
// Packet: 0x07e8
-packetLen(0x07e8, -1) // HC_CHECKBOT
+packetLen(0x07e8, -1)
// Packet: 0x07e9
-packetLen(0x07e9, 5) // HC_CHECKBOT_RESULT
+packetLen(0x07e9, 5)
// Packet: 0x07ea
-packetLen(0x07ea, 2) // CZ_BATTLE_FIELD_LIST
+packetLen(0x07ea, 2)
// Packet: 0x07eb
-packetLen(0x07eb, -1) // ZC_BATTLE_FIELD_LIST
+packetLen(0x07eb, -1)
// Packet: 0x07ec
-packetLen(0x07ec, 8) // CZ_JOIN_BATTLE_FIELD
+packetLen(0x07ec, 8)
// Packet: 0x07ed
-packetLen(0x07ed, 10) // ZC_JOIN_BATTLE_FIELD
+packetLen(0x07ed, 10)
// Packet: 0x07ee
-packetLen(0x07ee, 6) // CZ_CANCEL_BATTLE_FIELD
+packetLen(0x07ee, 6)
// Packet: 0x07ef
-packetLen(0x07ef, 8) // ZC_CANCEL_BATTLE_FIELD
+packetLen(0x07ef, 8)
// Packet: 0x07f0
-packetLen(0x07f0, 6) // CZ_REQ_BATTLE_STATE_MONITOR
+packetLen(0x07f0, 6)
// Packet: 0x07f1
-packetLen(0x07f1, 18) // ZC_ACK_BATTLE_STATE_MONITOR
+packetLen(0x07f1, 18)
// Packet: 0x07f2
-packetLen(0x07f2, 8) // ZC_BATTLE_NOTI_START_STEP
+packetLen(0x07f2, 8)
// Packet: 0x07f3
-packetLen(0x07f3, 6) // ZC_BATTLE_JOIN_NOTI_DEFER
+packetLen(0x07f3, 6)
// Packet: 0x07f4
-packetLen(0x07f4, 3) // ZC_BATTLE_JOIN_DISABLE_STATE
+packetLen(0x07f4, 3)
// Packet: 0x07f5
-packetLen(0x07f5, 6) // CZ_GM_FULLSTRIP
+packetLen(0x07f5, 6)
// Packet: 0x07f6
-packetLen(0x07f6, 14) // ZC_NOTIFY_EXP
+packetLen(0x07f6, 14)
// Packet: 0x07f7
-packetLen(0x07f7, -1) // ZC_NOTIFY_MOVEENTRY7
+packetLen(0x07f7, -1)
// Packet: 0x07f8
-packetLen(0x07f8, -1) // ZC_NOTIFY_NEWENTRY5
+packetLen(0x07f8, -1)
// Packet: 0x07f9
-packetLen(0x07f9, -1) // ZC_NOTIFY_STANDENTRY5
+packetLen(0x07f9, -1)
// Packet: 0x07fa
-packetLen(0x07fa, 8) // ZC_DELETE_ITEM_FROM_BODY
+packetLen(0x07fa, 8)
// Packet: 0x07fb
-packetLen(0x07fb, 25) // ZC_USESKILL_ACK2
+packetLen(0x07fb, 25)
// Packet: 0x07fc
-packetLen(0x07fc, 10) // ZC_CHANGE_GROUP_MASTER
+packetLen(0x07fc, 10)
// Packet: 0x07fd
-packetLen(0x07fd, -1) // ZC_BROADCASTING_SPECIAL_ITEM_OBTAIN
+packetLen(0x07fd, -1)
// Packet: 0x07fe
-packetLen(0x07fe, 26) // ZC_PLAY_NPC_BGM
+packetLen(0x07fe, 26)
// Packet: 0x0800
-packetLen(0x0800, -1) // ZC_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0800, -1)
// Packet: 0x0801
-packetLen(0x0801, -1) // CZ_PC_PURCHASE_ITEMLIST_FROMMC2
+packetLen(0x0801, -1)
// Packet: 0x0802
-packetLen(0x0802, 18) // CZ_PARTY_BOOKING_REQ_REGISTER
+packetLen(0x0802, 18)
// Packet: 0x0803
-packetLen(0x0803, 4) // ZC_PARTY_BOOKING_ACK_REGISTER
+packetLen(0x0803, 4)
// Packet: 0x0804
-packetLen(0x0804, 14) // CZ_PARTY_BOOKING_REQ_SEARCH
+packetLen(0x0804, 14)
// Packet: 0x0805
-packetLen(0x0805, -1) // ZC_PARTY_BOOKING_ACK_SEARCH
+packetLen(0x0805, -1)
// Packet: 0x0806
-packetLen(0x0806, 2) // CZ_PARTY_BOOKING_REQ_DELETE
+packetLen(0x0806, 2)
// Packet: 0x0807
-packetLen(0x0807, 4) // ZC_PARTY_BOOKING_ACK_DELETE
+packetLen(0x0807, 4)
// Packet: 0x0808
-packetLen(0x0808, 14) // CZ_PARTY_BOOKING_REQ_UPDATE
+packetLen(0x0808, 14)
// Packet: 0x0809
-packetLen(0x0809, 50) // ZC_PARTY_BOOKING_NOTIFY_INSERT
+packetLen(0x0809, 50)
// Packet: 0x080a
-packetLen(0x080a, 18) // ZC_PARTY_BOOKING_NOTIFY_UPDATE
+packetLen(0x080a, 18)
// Packet: 0x080b
-packetLen(0x080b, 6) // ZC_PARTY_BOOKING_NOTIFY_DELETE
+packetLen(0x080b, 6)
// Packet: 0x080c
-packetLen(0x080c, 2) // CZ_SIMPLE_CASH_BTNSHOW
+packetLen(0x080c, 2)
// Packet: 0x080d
-packetLen(0x080d, 3) // ZC_SIMPLE_CASH_BTNSHOW
+packetLen(0x080d, 3)
// Packet: 0x080e
-packetLen(0x080e, 14) // ZC_NOTIFY_HP_TO_GROUPM_R2
+packetLen(0x080e, 14)
// Packet: 0x080f
-packetLen(0x080f, 30) // ZC_ADD_EXCHANGE_ITEM2
+packetLen(0x080f, 30)
// Packet: 0x0810
-packetLen(0x0810, 3) // ZC_OPEN_BUYING_STORE
+packetLen(0x0810, 3)
// Packet: 0x0811
-packetLen(0x0811, -1) // CZ_REQ_OPEN_BUYING_STORE
+packetLen(0x0811, -1)
// Packet: 0x0812
-packetLen(0x0812, 8) // ZC_FAILED_OPEN_BUYING_STORE_TO_BUYER
+packetLen(0x0812, 8)
// Packet: 0x0813
-packetLen(0x0813, -1) // ZC_MYITEMLIST_BUYING_STORE
+packetLen(0x0813, -1)
// Packet: 0x0814
-packetLen(0x0814, 86) // ZC_BUYING_STORE_ENTRY
+packetLen(0x0814, 86)
// Packet: 0x0815
-packetLen(0x0815, 2) // CZ_REQ_CLOSE_BUYING_STORE
+packetLen(0x0815, 2)
// Packet: 0x0816
-packetLen(0x0816, 6) // ZC_DISAPPEAR_BUYING_STORE_ENTRY
+packetLen(0x0816, 6)
// Packet: 0x0817
-packetLen(0x0817, 6) // CZ_REQ_CLICK_TO_BUYING_STORE
+packetLen(0x0817, 6)
// Packet: 0x0818
-packetLen(0x0818, -1) // ZC_ACK_ITEMLIST_BUYING_STORE
+packetLen(0x0818, -1)
// Packet: 0x0819
-packetLen(0x0819, -1) // CZ_REQ_TRADE_BUYING_STORE
+packetLen(0x0819, -1)
// Packet: 0x081a
-packetLen(0x081a, 4) // ZC_FAILED_TRADE_BUYING_STORE_TO_BUYER
+packetLen(0x081a, 4)
// Packet: 0x081b
-packetLen(0x081b, 12) // ZC_UPDATE_ITEM_FROM_BUYING_STORE
+packetLen(0x081b, 12)
// Packet: 0x081c
-packetLen(0x081c, 10) // ZC_ITEM_DELETE_BUYING_STORE
+packetLen(0x081c, 10)
// Packet: 0x081d
-packetLen(0x081d, 22) // ZC_EL_INIT
+packetLen(0x081d, 22)
// Packet: 0x081e
-packetLen(0x081e, 8) // ZC_EL_PAR_CHANGE
+packetLen(0x081e, 8)
// Packet: 0x081f
-packetLen(0x081f, -1) // ZC_BROADCAST4
+packetLen(0x081f, -1)
// Packet: 0x0820
-packetLen(0x0820, 11) // ZC_COSTUME_SPRITE_CHANGE
+packetLen(0x0820, 11)
// Packet: 0x0821
-packetLen(0x0821, 2) // AC_OTP_USER
+packetLen(0x0821, 2)
// Packet: 0x0822
-packetLen(0x0822, 9) // CA_OTP_AUTH_REQ
+packetLen(0x0822, 9)
// Packet: 0x0823
-packetLen(0x0823, -1) // AC_OTP_AUTH_ACK
+packetLen(0x0823, -1)
// Packet: 0x0824
-packetLen(0x0824, 8) // ZC_FAILED_TRADE_BUYING_STORE_TO_SELLER
+packetLen(0x0824, 8)
// Packet: 0x0825
-packetLen(0x0825, -1) // CA_SSO_LOGIN_REQ
+packetLen(0x0825, -1)
// Packet: 0x0827
-packetLen(0x0827, 6) // CH_DELETE_CHAR3_RESERVED
+packetLen(0x0827, 6)
// Packet: 0x0828
-packetLen(0x0828, 14) // HC_DELETE_CHAR3_RESERVED
+packetLen(0x0828, 14)
// Packet: 0x0829
-packetLen(0x0829, 12) // CH_DELETE_CHAR3
+packetLen(0x0829, 12)
// Packet: 0x082a
-packetLen(0x082a, 10) // HC_DELETE_CHAR3
+packetLen(0x082a, 10)
// Packet: 0x082b
-packetLen(0x082b, 6) // CH_DELETE_CHAR3_CANCEL
+packetLen(0x082b, 6)
// Packet: 0x082c
-packetLen(0x082c, 10) // HC_DELETE_CHAR3_CANCEL
+packetLen(0x082c, 10)
// Packet: 0x082d
-packetLen(0x082d, -1) // HC_ACCEPT_ENTER2
+packetLen(0x082d, -1)
// Packet: 0x0835
-packetLen(0x0835, -1) // CZ_SEARCH_STORE_INFO
+packetLen(0x0835, -1)
// Packet: 0x0836
-packetLen(0x0836, -1) // ZC_SEARCH_STORE_INFO_ACK
+packetLen(0x0836, -1)
// Packet: 0x0837
-packetLen(0x0837, 3) // ZC_SEARCH_STORE_INFO_FAILED
+packetLen(0x0837, 3)
// Packet: 0x0838
-packetLen(0x0838, 2) // CZ_SEARCH_STORE_INFO_NEXT_PAGE
+packetLen(0x0838, 2)
// Packet: 0x0839
-packetLen(0x0839, 66) // ZC_ACK_BAN_GUILD_SSO
+packetLen(0x0839, 66)
// Packet: 0x083a
-packetLen(0x083a, 5) // ZC_OPEN_SEARCH_STORE_INFO
+packetLen(0x083a, 5)
// Packet: 0x083b
-packetLen(0x083b, 2) // CZ_CLOSE_SEARCH_STORE_INFO
+packetLen(0x083b, 2)
// Packet: 0x083c
-packetLen(0x083c, 14) // CZ_SSILIST_ITEM_CLICK
+packetLen(0x083c, 14)
// Packet: 0x083d
-packetLen(0x083d, 6) // ZC_SSILIST_ITEM_CLICK_ACK
+packetLen(0x083d, 6)
// Packet: 0x083e
-packetLen(0x083e, 26) // AC_REFUSE_LOGIN2
+packetLen(0x083e, 26)
// Packet: 0x0840
-packetLen(0x0840, -1) // HC_NOTIFY_ACCESSIBLE_MAPNAME
+packetLen(0x0840, -1)
// Packet: 0x0841
-packetLen(0x0841, 4) // CH_SELECT_ACCESSIBLE_MAPNAME
+packetLen(0x0841, 4)
// Packet: 0x0842
-packetLen(0x0842, 6) // CZ_RECALL_SSO
+packetLen(0x0842, 6)
// Packet: 0x0843
-packetLen(0x0843, 6) // CZ_REMOVE_AID_SSO
+packetLen(0x0843, 6)
// Packet: 0x0844
-packetLen(0x0844, 2) // CZ_SE_CASHSHOP_OPEN
+packetLen(0x0844, 2)
// Packet: 0x0845
-packetLen(0x0845, 10) // ZC_SE_CASHSHOP_OPEN
+packetLen(0x0845, 10)
// Packet: 0x0846
-packetLen(0x0846, 4) // CZ_REQ_SE_CASH_TAB_CODE
+packetLen(0x0846, 4)
// Packet: 0x0847
-packetLen(0x0847, -1) // ZC_ACK_SE_CASH_ITEM_LIST
+packetLen(0x0847, -1)
// Packet: 0x0848
-packetLen(0x0848, -1) // CZ_SE_PC_BUY_CASHITEM_LIST
+packetLen(0x0848, -1)
// Packet: 0x0849
-packetLen(0x0849, 16) // ZC_SE_PC_BUY_CASHITEM_RESULT
+packetLen(0x0849, 16)
// Packet: 0x084a
-packetLen(0x084a, 2) // CZ_SE_CASHSHOP_CLOSE
+packetLen(0x084a, 2)
// Packet: 0x084b
-packetLen(0x084b, 21) // ZC_ITEM_FALL_ENTRY4
+packetLen(0x084b, 21)
// Packet: 0x084c
-packetLen(0x084c, 10) // CZ_MACRO_USE_SKILL
+packetLen(0x084c, 10)
// Packet: 0x084d
-packetLen(0x084d, 10) // CZ_MACRO_USE_SKILL_TOGROUND
+packetLen(0x084d, 10)
// Packet: 0x084e
-packetLen(0x084e, 5) // CZ_MACRO_REQUEST_MOVE
+packetLen(0x084e, 5)
// Packet: 0x084f
-packetLen(0x084f, 6) // CZ_MACRO_ITEM_PICKUP
+packetLen(0x084f, 6)
// Packet: 0x0850
-packetLen(0x0850, 7) // CZ_MACRO_REQUEST_ACT
+packetLen(0x0850, 7)
// Packet: 0x0851
-packetLen(0x0851, -1) // ZC_GPK_DYNCODE
+packetLen(0x0851, -1)
// Packet: 0x0852
-packetLen(0x0852, 2) // CZ_GPK_DYNCODE_RELOAD
+packetLen(0x0852, 2)
// Packet: 0x0853
-packetLen(0x0853, -1) // ZC_GPK_AUTH
+packetLen(0x0853, -1)
// Packet: 0x0854
-packetLen(0x0854, -1) // CZ_GPK_AUTH
+packetLen(0x0854, -1)
// Packet: 0x0855
-packetLen(0x0855, 6) // ZC_MACRO_ITEMPICKUP_FAIL
+packetLen(0x0855, 6)
// Packet: 0x0856
-packetLen(0x0856, -1) // ZC_NOTIFY_MOVEENTRY8
+packetLen(0x0856, -1)
// Packet: 0x0857
-packetLen(0x0857, -1) // ZC_NOTIFY_STANDENTRY7
+packetLen(0x0857, -1)
// Packet: 0x0858
-packetLen(0x0858, -1) // ZC_NOTIFY_NEWENTRY6
+packetLen(0x0858, -1)
// Packet: 0x0859
-packetLen(0x0859, -1) // ZC_EQUIPWIN_MICROSCOPE2
+packetLen(0x0859, -1)
// Packet: 0x085a
-packetLen(0x085a, 2) // ZC_REASSEMBLY_AUTH01
+packetLen(0x085a, 2)
// Packet: 0x085b
-packetLen(0x085b, 2) // ZC_REASSEMBLY_AUTH02
+packetLen(0x085b, 2)
// Packet: 0x085c
-packetLen(0x085c, 2) // ZC_REASSEMBLY_AUTH03
+packetLen(0x085c, 2)
// Packet: 0x085d
-packetLen(0x085d, 2) // ZC_REASSEMBLY_AUTH04
+packetLen(0x085d, 2)
// Packet: 0x085e
-packetLen(0x085e, 2) // ZC_REASSEMBLY_AUTH05
+packetLen(0x085e, 2)
// Packet: 0x085f
-packetLen(0x085f, 2) // ZC_REASSEMBLY_AUTH06
+packetLen(0x085f, 2)
// Packet: 0x0860
-packetLen(0x0860, 2) // ZC_REASSEMBLY_AUTH07
+packetLen(0x0860, 2)
// Packet: 0x0861
-packetLen(0x0861, 2) // ZC_REASSEMBLY_AUTH08
+packetLen(0x0861, 2)
// Packet: 0x0862
-packetLen(0x0862, 2) // ZC_REASSEMBLY_AUTH09
+packetLen(0x0862, 2)
// Packet: 0x0863
-packetLen(0x0863, 2) // ZC_REASSEMBLY_AUTH10
+packetLen(0x0863, 2)
// Packet: 0x0864
-packetLen(0x0864, 2) // ZC_REASSEMBLY_AUTH11
+packetLen(0x0864, 2)
// Packet: 0x0865
-packetLen(0x0865, 2) // ZC_REASSEMBLY_AUTH12
+packetLen(0x0865, 2)
// Packet: 0x0866
-packetLen(0x0866, 2) // ZC_REASSEMBLY_AUTH13
+packetLen(0x0866, 2)
// Packet: 0x0867
-packetLen(0x0867, 2) // ZC_REASSEMBLY_AUTH14
+packetLen(0x0867, 2)
// Packet: 0x0868
-packetLen(0x0868, 2) // ZC_REASSEMBLY_AUTH15
+packetLen(0x0868, 2)
// Packet: 0x0869
-packetLen(0x0869, 2) // ZC_REASSEMBLY_AUTH16
+packetLen(0x0869, 2)
// Packet: 0x086a
-packetLen(0x086a, 2) // ZC_REASSEMBLY_AUTH17
+packetLen(0x086a, 2)
// Packet: 0x086b
-packetLen(0x086b, 2) // ZC_REASSEMBLY_AUTH18
+packetLen(0x086b, 2)
// Packet: 0x086c
-packetLen(0x086c, 2) // ZC_REASSEMBLY_AUTH19
+packetLen(0x086c, 2)
// Packet: 0x086d
-packetLen(0x086d, 2) // ZC_REASSEMBLY_AUTH20
+packetLen(0x086d, 2)
// Packet: 0x086e
-packetLen(0x086e, 2) // ZC_REASSEMBLY_AUTH21
+packetLen(0x086e, 2)
// Packet: 0x086f
-packetLen(0x086f, 2) // ZC_REASSEMBLY_AUTH22
+packetLen(0x086f, 2)
// Packet: 0x0870
-packetLen(0x0870, 2) // ZC_REASSEMBLY_AUTH23
+packetLen(0x0870, 2)
// Packet: 0x0871
-packetLen(0x0871, 2) // ZC_REASSEMBLY_AUTH24
+packetLen(0x0871, 2)
// Packet: 0x0872
packetLen(0x0872, 2)
// Packet: 0x0873
-packetLen(0x0873, 2) // ZC_REASSEMBLY_AUTH26
+packetLen(0x0873, 2)
// Packet: 0x0874
-packetLen(0x0874, 2) // ZC_REASSEMBLY_AUTH27
+packetLen(0x0874, 2)
// Packet: 0x0875
-packetLen(0x0875, 2) // ZC_REASSEMBLY_AUTH28
+packetLen(0x0875, 2)
// Packet: 0x0876
-packetLen(0x0876, 2) // ZC_REASSEMBLY_AUTH29
+packetLen(0x0876, 2)
// Packet: 0x0877
-packetLen(0x0877, 2) // ZC_REASSEMBLY_AUTH30
+packetLen(0x0877, 2)
// Packet: 0x0878
-packetLen(0x0878, 2) // ZC_REASSEMBLY_AUTH31
+packetLen(0x0878, 2)
// Packet: 0x0879
-packetLen(0x0879, 2) // ZC_REASSEMBLY_AUTH32
+packetLen(0x0879, 2)
// Packet: 0x087a
-packetLen(0x087a, 2) // ZC_REASSEMBLY_AUTH33
+packetLen(0x087a, 2)
// Packet: 0x087b
-packetLen(0x087b, 2) // ZC_REASSEMBLY_AUTH34
+packetLen(0x087b, 2)
// Packet: 0x087c
-packetLen(0x087c, 2) // ZC_REASSEMBLY_AUTH35
+packetLen(0x087c, 2)
// Packet: 0x087d
-packetLen(0x087d, 2) // ZC_REASSEMBLY_AUTH36
+packetLen(0x087d, 2)
// Packet: 0x087e
-packetLen(0x087e, 2) // ZC_REASSEMBLY_AUTH37
+packetLen(0x087e, 2)
// Packet: 0x087f
-packetLen(0x087f, 2) // ZC_REASSEMBLY_AUTH38
+packetLen(0x087f, 2)
// Packet: 0x0880
-packetLen(0x0880, 2) // ZC_REASSEMBLY_AUTH39
+packetLen(0x0880, 2)
// Packet: 0x0881
-packetLen(0x0881, 2) // ZC_REASSEMBLY_AUTH40
+packetLen(0x0881, 2)
// Packet: 0x0882
-packetLen(0x0882, 2) // ZC_REASSEMBLY_AUTH41
+packetLen(0x0882, 2)
// Packet: 0x0883
-packetLen(0x0883, 2) // ZC_REASSEMBLY_AUTH42
+packetLen(0x0883, 2)
// Packet: 0x0884
-packetLen(0x0884, 2) // CZ_REASSEMBLY_AUTH01
+packetLen(0x0884, 2)
// Packet: 0x0885
-packetLen(0x0885, 2) // CZ_REASSEMBLY_AUTH02
+packetLen(0x0885, 2)
// Packet: 0x0886
-packetLen(0x0886, 2) // CZ_REASSEMBLY_AUTH03
+packetLen(0x0886, 2)
// Packet: 0x0887
-packetLen(0x0887, 2) // CZ_REASSEMBLY_AUTH04
+packetLen(0x0887, 2)
// Packet: 0x0888
-packetLen(0x0888, 2) // CZ_REASSEMBLY_AUTH05
+packetLen(0x0888, 2)
// Packet: 0x0889
-packetLen(0x0889, 2) // CZ_REASSEMBLY_AUTH06
+packetLen(0x0889, 2)
// Packet: 0x088a
-packetLen(0x088a, 2) // CZ_REASSEMBLY_AUTH07
+packetLen(0x088a, 2)
// Packet: 0x088b
-packetLen(0x088b, 2) // CZ_REASSEMBLY_AUTH08
+packetLen(0x088b, 2)
// Packet: 0x088c
-packetLen(0x088c, 2) // CZ_REASSEMBLY_AUTH09
+packetLen(0x088c, 2)
// Packet: 0x088d
-packetLen(0x088d, 2) // CZ_REASSEMBLY_AUTH10
+packetLen(0x088d, 2)
// Packet: 0x088e
-packetLen(0x088e, 2) // CZ_REASSEMBLY_AUTH11
+packetLen(0x088e, 2)
// Packet: 0x088f
-packetLen(0x088f, 2) // CZ_REASSEMBLY_AUTH12
+packetLen(0x088f, 2)
// Packet: 0x0890
-packetLen(0x0890, 2) // CZ_REASSEMBLY_AUTH13
+packetLen(0x0890, 2)
// Packet: 0x0891
-packetLen(0x0891, 2) // CZ_REASSEMBLY_AUTH14
+packetLen(0x0891, 2)
// Packet: 0x0892
-packetLen(0x0892, 2) // CZ_REASSEMBLY_AUTH15
+packetLen(0x0892, 2)
// Packet: 0x0893
-packetLen(0x0893, 2) // CZ_REASSEMBLY_AUTH16
+packetLen(0x0893, 2)
// Packet: 0x0894
-packetLen(0x0894, 2) // CZ_REASSEMBLY_AUTH17
+packetLen(0x0894, 2)
// Packet: 0x0895
-packetLen(0x0895, 2) // CZ_REASSEMBLY_AUTH18
+packetLen(0x0895, 2)
// Packet: 0x0896
-packetLen(0x0896, 2) // CZ_REASSEMBLY_AUTH19
+packetLen(0x0896, 2)
// Packet: 0x0897
-packetLen(0x0897, 2) // CZ_REASSEMBLY_AUTH20
+packetLen(0x0897, 2)
// Packet: 0x0898
-packetLen(0x0898, 2) // CZ_REASSEMBLY_AUTH21
+packetLen(0x0898, 2)
// Packet: 0x0899
-packetLen(0x0899, 2) // CZ_REASSEMBLY_AUTH22
+packetLen(0x0899, 2)
// Packet: 0x089a
-packetLen(0x089a, 2) // CZ_REASSEMBLY_AUTH23
+packetLen(0x089a, 2)
// Packet: 0x089b
-packetLen(0x089b, 2) // CZ_REASSEMBLY_AUTH24
+packetLen(0x089b, 2)
// Packet: 0x089c
-packetLen(0x089c, 2) // CZ_REASSEMBLY_AUTH25
+packetLen(0x089c, 2)
// Packet: 0x089d
-packetLen(0x089d, 2) // CZ_REASSEMBLY_AUTH26
+packetLen(0x089d, 2)
// Packet: 0x089e
-packetLen(0x089e, 2) // CZ_REASSEMBLY_AUTH27
+packetLen(0x089e, 2)
// Packet: 0x089f
-packetLen(0x089f, 2) // CZ_REASSEMBLY_AUTH28
+packetLen(0x089f, 2)
// Packet: 0x08a0
-packetLen(0x08a0, 2) // CZ_REASSEMBLY_AUTH29
+packetLen(0x08a0, 2)
// Packet: 0x08a1
-packetLen(0x08a1, 2) // CZ_REASSEMBLY_AUTH30
+packetLen(0x08a1, 2)
// Packet: 0x08a2
-packetLen(0x08a2, 2) // CZ_REASSEMBLY_AUTH31
+packetLen(0x08a2, 2)
// Packet: 0x08a3
-packetLen(0x08a3, 2) // CZ_REASSEMBLY_AUTH32
+packetLen(0x08a3, 2)
// Packet: 0x08a4
-packetLen(0x08a4, 2) // CZ_REASSEMBLY_AUTH33
+packetLen(0x08a4, 2)
// Packet: 0x08a5
-packetLen(0x08a5, 2) // CZ_REASSEMBLY_AUTH34
+packetLen(0x08a5, 2)
// Packet: 0x08a6
-packetLen(0x08a6, 2) // CZ_REASSEMBLY_AUTH35
+packetLen(0x08a6, 2)
// Packet: 0x08a7
-packetLen(0x08a7, 2) // CZ_REASSEMBLY_AUTH36
+packetLen(0x08a7, 2)
// Packet: 0x08a8
-packetLen(0x08a8, 2) // CZ_REASSEMBLY_AUTH37
+packetLen(0x08a8, 2)
// Packet: 0x08a9
-packetLen(0x08a9, 2) // CZ_REASSEMBLY_AUTH38
+packetLen(0x08a9, 2)
// Packet: 0x08aa
-packetLen(0x08aa, 2) // CZ_REASSEMBLY_AUTH39
+packetLen(0x08aa, 2)
// Packet: 0x08ab
-packetLen(0x08ab, 2) // CZ_REASSEMBLY_AUTH40
+packetLen(0x08ab, 2)
// Packet: 0x08ac
-packetLen(0x08ac, 2) // CZ_REASSEMBLY_AUTH41
+packetLen(0x08ac, 2)
// Packet: 0x08ad
-packetLen(0x08ad, 2) // CZ_REASSEMBLY_AUTH42
+packetLen(0x08ad, 2)
// Packet: 0x08af
-packetLen(0x08af, 10) // HC_WAITING_LOGIN
+packetLen(0x08af, 10)
// Packet: 0x08b0
-packetLen(0x08b0, 17) // CH_WAITING_LOGIN
+packetLen(0x08b0, 17)
// Packet: 0x08b1
-packetLen(0x08b1, -1) // ZC_MCSTORE_NOTMOVEITEM_LIST
+packetLen(0x08b1, -1)
// Packet: 0x08b2
-packetLen(0x08b2, -1) // AC_REALNAME_AUTH
+packetLen(0x08b2, -1)
// Packet: 0x08b3
-packetLen(0x08b3, -1) // ZC_SHOWSCRIPT
+packetLen(0x08b3, -1)
// Packet: 0x08b4
-packetLen(0x08b4, 2) // ZC_START_COLLECTION
+packetLen(0x08b4, 2)
// Packet: 0x08b5
-packetLen(0x08b5, 6) // CZ_TRYCOLLECTION
+packetLen(0x08b5, 6)
// Packet: 0x08b6
-packetLen(0x08b6, 3) // ZC_TRYCOLLECTION
+packetLen(0x08b6, 3)
// Packet: 0x08b8
-packetLen(0x08b8, 10) // CH_SECOND_PASSWD_ACK
+packetLen(0x08b8, 10)
// Packet: 0x08b9
-packetLen(0x08b9, 12) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x08b9, 12)
// Packet: 0x08ba
-packetLen(0x08ba, 10) // CH_MAKE_SECOND_PASSWD
+packetLen(0x08ba, 10)
// Packet: 0x08bb
-packetLen(0x08bb, 8) // HC_MAKE_SECOND_PASSWD
+packetLen(0x08bb, 8)
// Packet: 0x08bc
-packetLen(0x08bc, 10) // CH_DELETE_SECOND_PASSWD
+packetLen(0x08bc, 10)
// Packet: 0x08bd
-packetLen(0x08bd, 8) // HC_DELETE_SECOND_PASSWD
+packetLen(0x08bd, 8)
// Packet: 0x08be
-packetLen(0x08be, 14) // CH_EDIT_SECOND_PASSWD
+packetLen(0x08be, 14)
// Packet: 0x08bf
-packetLen(0x08bf, 8) // HC_EDIT_SECOND_PASSWD
+packetLen(0x08bf, 8)
// Packet: 0x08c0
-packetLen(0x08c0, -1) // ZC_ACK_SE_CASH_ITEM_LIST2
+packetLen(0x08c0, -1)
// Packet: 0x08c1
-packetLen(0x08c1, 2) // CZ_MACRO_START
+packetLen(0x08c1, 2)
// Packet: 0x08c2
-packetLen(0x08c2, 2) // CZ_MACRO_STOP
+packetLen(0x08c2, 2)
// Packet: 0x08c3
-packetLen(0x08c3, 10) // CH_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c3, 10)
// Packet: 0x08c4
-packetLen(0x08c4, 8) // HC_NOT_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c4, 8)
// Packet: 0x08c5
-packetLen(0x08c5, 6) // CH_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c5, 6)
// Packet: 0x08c6
-packetLen(0x08c6, 4) // HC_AVAILABLE_SECOND_PASSWD
+packetLen(0x08c6, 4)
// Packet: 0x08c7
-packetLen(0x08c7, -1) // ZC_SKILL_ENTRY3
+packetLen(0x08c7, -1)
// Packet: 0x08c8
-packetLen(0x08c8, 34) // ZC_NOTIFY_ACT3
+packetLen(0x08c8, 34)
// Packet: 0x08c9
-packetLen(0x08c9, 2) // CZ_REQ_SCHEDULER_CASHITEM
+packetLen(0x08c9, 2)
// Packet: 0x08ca
-packetLen(0x08ca, -1) // ZC_ACK_SCHEDULER_CASHITEM
+packetLen(0x08ca, -1)
// Packet: 0x08cb
-packetLen(0x08cb, -1) // ZC_PERSONAL_INFOMATION
+packetLen(0x08cb, -1)
// Packet: 0x08cc
-packetLen(0x08cc, 109) // CA_LOGIN5
+packetLen(0x08cc, 109)
// Packet: 0x08cd
-packetLen(0x08cd, 10) // ZC_STOPMOVE_FORCE
+packetLen(0x08cd, 10)
// Packet: 0x08ce
-packetLen(0x08ce, 2) // ZC_FAILED_GET_ITEM_FROM_ZONEDA
+packetLen(0x08ce, 2)
// Packet: 0x08cf
-packetLen(0x08cf, 10) // ZC_SPIRITS_ATTRIBUTE
+packetLen(0x08cf, 10)
// Packet: 0x08d0
-packetLen(0x08d0, 9) // ZC_REQ_WEAR_EQUIP_ACK2
+packetLen(0x08d0, 9)
// Packet: 0x08d1
-packetLen(0x08d1, 7) // ZC_REQ_TAKEOFF_EQUIP_ACK2
+packetLen(0x08d1, 7)
// Packet: 0x08d2
-packetLen(0x08d2, 10) // ZC_FASTMOVE
+packetLen(0x08d2, 10)
// Packet: 0x08d3
-packetLen(0x08d3, 10) // ZC_SE_CASHSHOP_UPDATE
+packetLen(0x08d3, 10)
// Packet: 0x08d4
-packetLen(0x08d4, 8) // CH_REQ_CHANGE_CHARACTER_SLOT
+packetLen(0x08d4, 8)
// Packet: 0x08d5
-packetLen(0x08d5, -1) // HC_ACK_CHANGE_CHARACTER_SLOT
+packetLen(0x08d5, -1)
// Packet: 0x08d6
-packetLen(0x08d6, 6) // ZC_CLEAR_DIALOG
+packetLen(0x08d6, 6)
// Packet: 0x08d7
-packetLen(0x08d7, 28) // CZ_REQ_ENTRY_QUEUE_APPLY
+packetLen(0x08d7, 28)
// Packet: 0x08d8
-packetLen(0x08d8, 27) // ZC_ACK_ENTRY_QUEUE_APPLY
+packetLen(0x08d8, 27)
// Packet: 0x08d9
-packetLen(0x08d9, 30) // ZC_NOTIFY_ENTRY_QUEUE_APPLY
+packetLen(0x08d9, 30)
// Packet: 0x08da
-packetLen(0x08da, 26) // CZ_REQ_ENTRY_QUEUE_CANCEL
+packetLen(0x08da, 26)
// Packet: 0x08db
-packetLen(0x08db, 27) // ZC_ACK_ENTRY_QUEUE_CANCEL
+packetLen(0x08db, 27)
// Packet: 0x08dc
-packetLen(0x08dc, 26) // ZC_NOTIFY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dc, 26)
// Packet: 0x08dd
-packetLen(0x08dd, 27) // CZ_REPLY_ENTRY_QUEUE_ADMISSION
+packetLen(0x08dd, 27)
// Packet: 0x08de
-packetLen(0x08de, 27) // ZC_REPLY_ACK_ENTRY_QUEUE_ADMISSION
+packetLen(0x08de, 27)
// Packet: 0x08df
-packetLen(0x08df, 50) // ZC_NOTIFY_LOBBY_ADMISSION
+packetLen(0x08df, 50)
// Packet: 0x08e0
-packetLen(0x08e0, 51) // CZ_REPLY_LOBBY_ADMISSION
+packetLen(0x08e0, 51)
// Packet: 0x08e1
-packetLen(0x08e1, 51) // ZC_REPLY_ACK_LOBBY_ADMISSION
+packetLen(0x08e1, 51)
// Packet: 0x08e2
-packetLen(0x08e2, 27) // ZC_NAVIGATION_ACTIVE
+packetLen(0x08e2, 27)
// Packet: 0x08e3
-packetLen(0x08e3, 157) // HC_UPDATE_CHARINFO
+packetLen(0x08e3, 157)
// Packet: 0x08e4
-packetLen(0x08e4, 6) // AC_SHUTDOWN_INFO
+packetLen(0x08e4, 6)
// Packet: 0x08fc
-packetLen(0x08fc, 30) // CH_REQ_CHANGE_CHARACTERNAME
+packetLen(0x08fc, 30)
// Packet: 0x08fd
-packetLen(0x08fd, 6) // CH_ACK_CHANGE_CHARACTERNAME
+packetLen(0x08fd, 6)
// Packet: 0x08fe
-packetLen(0x08fe, -1) // ZC_HUNTING_QUEST_INFO
+packetLen(0x08fe, -1)
// Packet: 0x08ff
-packetLen(0x08ff, 24) // ZC_EFST_SET_ENTER
+packetLen(0x08ff, 24)
// Packet: 0x0900
-packetLen(0x0900, -1) // ZC_INVENTORY_ITEMLIST_NORMAL
+packetLen(0x0900, -1)
// Packet: 0x0901
-packetLen(0x0901, -1) // ZC_INVENTORY_ITEMLIST_EQUIP
+packetLen(0x0901, -1)
// Packet: 0x0902
-packetLen(0x0902, -1) // ZC_CART_ITEMLIST_NORMAL
+packetLen(0x0902, -1)
// Packet: 0x0903
-packetLen(0x0903, -1) // ZC_CART_ITEMLIST_EQUIP
+packetLen(0x0903, -1)
// Packet: 0x0904
-packetLen(0x0904, -1) // ZC_STORE_ITEMLIST_NORMAL
+packetLen(0x0904, -1)
// Packet: 0x0905
-packetLen(0x0905, -1) // ZC_STORE_ITEMLIST_EQUIP
+packetLen(0x0905, -1)
// Packet: 0x0906
-packetLen(0x0906, -1) // ZC_MICROSCOPE
+packetLen(0x0906, -1)
// Packet: 0x0907
-packetLen(0x0907, 5) // CZ_INVENTORY_TAB
+packetLen(0x0907, 5)
// Packet: 0x0908
-packetLen(0x0908, 5) // ZC_INVENTORY_TAB
+packetLen(0x0908, 5)
// Packet: 0x090a
-packetLen(0x090a, 26) // CZ_REQ_ENTRY_QUEUE_RANKING
+packetLen(0x090a, 26)
// Packet: 0x090d
-packetLen(0x090d, -1) // ZC_PREMIUM_CAMPAIGN_INFO
+packetLen(0x090d, -1)
// Packet: 0x090e
-packetLen(0x090e, 2) // ZC_ENTRY_QUEUE_INIT
+packetLen(0x090e, 2)
// Packet: 0x090f
-packetLen(0x090f, -1) // ZC_NOTIFY_NEWENTRY7
+packetLen(0x090f, -1)
// Packet: 0x0910
-packetLen(0x0910, 10) // CZ_REQ_PARTY_NAME
+packetLen(0x0910, 10)
// Packet: 0x0911
-packetLen(0x0911, 30) // ZC_ACK_PARTY_NAME
+packetLen(0x0911, 30)
// Packet: 0x0912
-packetLen(0x0912, 10) // CZ_REQ_GUILD_NAME
+packetLen(0x0912, 10)
// Packet: 0x0913
-packetLen(0x0913, 30) // ZC_ACK_GUILD_NAME
+packetLen(0x0913, 30)
// Packet: 0x0914
-packetLen(0x0914, -1) // ZC_NOTIFY_MOVEENTRY9
+packetLen(0x0914, -1)
// Packet: 0x0915
-packetLen(0x0915, -1) // ZC_NOTIFY_STANDENTRY8
+packetLen(0x0915, -1)
// Packet: 0x0916
-packetLen(0x0916, 26) // CZ_REQ_JOIN_GUILD2
+packetLen(0x0916, 26)
// Packet: 0x0917
-packetLen(0x0917, 2) // ZC_REASSEMBLY_AUTH43
+packetLen(0x0917, 2)
// Packet: 0x0918
-packetLen(0x0918, 2) // ZC_REASSEMBLY_AUTH44
+packetLen(0x0918, 2)
// Packet: 0x0919
-packetLen(0x0919, 2) // ZC_REASSEMBLY_AUTH45
+packetLen(0x0919, 2)
// Packet: 0x091a
-packetLen(0x091a, 2) // ZC_REASSEMBLY_AUTH46
+packetLen(0x091a, 2)
// Packet: 0x091b
-packetLen(0x091b, 2) // ZC_PRNPC_STATE
+packetLen(0x091b, 2)
// Packet: 0x091c
-packetLen(0x091c, 2) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x091c, 2)
// Packet: 0x091d
-packetLen(0x091d, 2) // ZC_REASSEMBLY_AUTH49
+packetLen(0x091d, 2)
// Packet: 0x091e
-packetLen(0x091e, 2) // ZC_REASSEMBLY_AUTH50
+packetLen(0x091e, 2)
// Packet: 0x091f
-packetLen(0x091f, 2) // ZC_REASSEMBLY_AUTH51
+packetLen(0x091f, 2)
// Packet: 0x0920
-packetLen(0x0920, 2) // ZC_REASSEMBLY_AUTH52
+packetLen(0x0920, 2)
// Packet: 0x0921
-packetLen(0x0921, 2) // ZC_REASSEMBLY_AUTH53
+packetLen(0x0921, 2)
// Packet: 0x0922
-packetLen(0x0922, 2) // ZC_REASSEMBLY_AUTH54
+packetLen(0x0922, 2)
// Packet: 0x0923
-packetLen(0x0923, 2) // ZC_REASSEMBLY_AUTH55
+packetLen(0x0923, 2)
// Packet: 0x0924
-packetLen(0x0924, 2) // ZC_REASSEMBLY_AUTH56
+packetLen(0x0924, 2)
// Packet: 0x0925
-packetLen(0x0925, 2) // ZC_REASSEMBLY_AUTH57
+packetLen(0x0925, 2)
// Packet: 0x0926
-packetLen(0x0926, 2) // ZC_REASSEMBLY_AUTH58
+packetLen(0x0926, 2)
// Packet: 0x0927
-packetLen(0x0927, 2) // ZC_REASSEMBLY_AUTH59
+packetLen(0x0927, 2)
// Packet: 0x0928
-packetLen(0x0928, 2) // ZC_REASSEMBLY_AUTH60
+packetLen(0x0928, 2)
// Packet: 0x0929
-packetLen(0x0929, 2) // ZC_REASSEMBLY_AUTH61
+packetLen(0x0929, 2)
// Packet: 0x092a
-packetLen(0x092a, 2) // ZC_REASSEMBLY_AUTH62
+packetLen(0x092a, 2)
// Packet: 0x092b
-packetLen(0x092b, 2) // ZC_REASSEMBLY_AUTH63
+packetLen(0x092b, 2)
// Packet: 0x092c
-packetLen(0x092c, 2) // ZC_REASSEMBLY_AUTH64
+packetLen(0x092c, 2)
// Packet: 0x092d
-packetLen(0x092d, 2) // ZC_REASSEMBLY_AUTH65
+packetLen(0x092d, 2)
// Packet: 0x092e
-packetLen(0x092e, 2) // ZC_REASSEMBLY_AUTH66
+packetLen(0x092e, 2)
// Packet: 0x092f
-packetLen(0x092f, 2) // ZC_REASSEMBLY_AUTH67
+packetLen(0x092f, 2)
// Packet: 0x0930
-packetLen(0x0930, 2) // ZC_REASSEMBLY_AUTH68
+packetLen(0x0930, 2)
// Packet: 0x0931
-packetLen(0x0931, 2) // ZC_REASSEMBLY_AUTH69
+packetLen(0x0931, 2)
// Packet: 0x0932
-packetLen(0x0932, 2) // ZC_REASSEMBLY_AUTH70
+packetLen(0x0932, 2)
// Packet: 0x0933
-packetLen(0x0933, 2) // ZC_REASSEMBLY_AUTH71
+packetLen(0x0933, 2)
// Packet: 0x0934
-packetLen(0x0934, 2) // ZC_REASSEMBLY_AUTH72
+packetLen(0x0934, 2)
// Packet: 0x0935
-packetLen(0x0935, 2) // ZC_REASSEMBLY_AUTH73
+packetLen(0x0935, 2)
// Packet: 0x0936
-packetLen(0x0936, 2) // ZC_REASSEMBLY_AUTH74
+packetLen(0x0936, 2)
// Packet: 0x0937
-packetLen(0x0937, 2) // ZC_REASSEMBLY_AUTH75
+packetLen(0x0937, 2)
// Packet: 0x0938
-packetLen(0x0938, 2) // ZC_REASSEMBLY_AUTH76
+packetLen(0x0938, 2)
// Packet: 0x0939
-packetLen(0x0939, 2) // ZC_REASSEMBLY_AUTH77
+packetLen(0x0939, 2)
// Packet: 0x093a
-packetLen(0x093a, 2) // ZC_REASSEMBLY_AUTH78
+packetLen(0x093a, 2)
// Packet: 0x093b
-packetLen(0x093b, 2) // ZC_REASSEMBLY_AUTH79
+packetLen(0x093b, 2)
// Packet: 0x093c
-packetLen(0x093c, 2) // ZC_REASSEMBLY_AUTH80
+packetLen(0x093c, 2)
// Packet: 0x093d
-packetLen(0x093d, 2) // ZC_REASSEMBLY_AUTH81
+packetLen(0x093d, 2)
// Packet: 0x093e
-packetLen(0x093e, 2) // ZC_REASSEMBLY_AUTH82
+packetLen(0x093e, 2)
// Packet: 0x093f
-packetLen(0x093f, 2) // ZC_REASSEMBLY_AUTH83
+packetLen(0x093f, 2)
// Packet: 0x0940
-packetLen(0x0940, 2) // ZC_REASSEMBLY_AUTH84
+packetLen(0x0940, 2)
// Packet: 0x0941
-packetLen(0x0941, 2) // CZ_REASSEMBLY_AUTH43
+packetLen(0x0941, 2)
// Packet: 0x0942
-packetLen(0x0942, 2) // CZ_REASSEMBLY_AUTH44
+packetLen(0x0942, 2)
// Packet: 0x0943
-packetLen(0x0943, 2) // CZ_REASSEMBLY_AUTH45
+packetLen(0x0943, 2)
// Packet: 0x0944
-packetLen(0x0944, 2) // CZ_REASSEMBLY_AUTH46
+packetLen(0x0944, 2)
// Packet: 0x0945
-packetLen(0x0945, 2) // CZ_REASSEMBLY_AUTH47
+packetLen(0x0945, 2)
// Packet: 0x0946
-packetLen(0x0946, 2) // CZ_REASSEMBLY_AUTH48
+packetLen(0x0946, 2)
// Packet: 0x0947
-packetLen(0x0947, 2) // CZ_REASSEMBLY_AUTH49
+packetLen(0x0947, 2)
// Packet: 0x0948
-packetLen(0x0948, 2) // CZ_REASSEMBLY_AUTH50
+packetLen(0x0948, 2)
// Packet: 0x0949
-packetLen(0x0949, 2) // CZ_REASSEMBLY_AUTH51
+packetLen(0x0949, 2)
// Packet: 0x094a
-packetLen(0x094a, 2) // CZ_REASSEMBLY_AUTH52
+packetLen(0x094a, 2)
// Packet: 0x094b
-packetLen(0x094b, 2) // CZ_REASSEMBLY_AUTH53
+packetLen(0x094b, 2)
// Packet: 0x094c
-packetLen(0x094c, 2) // CZ_REASSEMBLY_AUTH54
+packetLen(0x094c, 2)
// Packet: 0x094d
-packetLen(0x094d, 2) // CZ_REASSEMBLY_AUTH55
+packetLen(0x094d, 2)
// Packet: 0x094e
-packetLen(0x094e, 2) // CZ_REASSEMBLY_AUTH56
+packetLen(0x094e, 2)
// Packet: 0x094f
-packetLen(0x094f, 2) // CZ_REASSEMBLY_AUTH57
+packetLen(0x094f, 2)
// Packet: 0x0950
-packetLen(0x0950, 2) // CZ_REASSEMBLY_AUTH58
+packetLen(0x0950, 2)
// Packet: 0x0951
-packetLen(0x0951, 2) // CZ_REASSEMBLY_AUTH59
+packetLen(0x0951, 2)
// Packet: 0x0952
-packetLen(0x0952, 2) // CZ_REASSEMBLY_AUTH60
+packetLen(0x0952, 2)
// Packet: 0x0953
-packetLen(0x0953, 2) // CZ_REASSEMBLY_AUTH61
+packetLen(0x0953, 2)
// Packet: 0x0954
-packetLen(0x0954, 2) // CZ_REASSEMBLY_AUTH62
+packetLen(0x0954, 2)
// Packet: 0x0955
-packetLen(0x0955, 2) // CZ_REASSEMBLY_AUTH63
+packetLen(0x0955, 2)
// Packet: 0x0956
-packetLen(0x0956, 2) // CZ_REASSEMBLY_AUTH64
+packetLen(0x0956, 2)
// Packet: 0x0957
-packetLen(0x0957, 2) // CZ_REASSEMBLY_AUTH65
+packetLen(0x0957, 2)
// Packet: 0x0958
-packetLen(0x0958, 2) // CZ_REASSEMBLY_AUTH66
+packetLen(0x0958, 2)
// Packet: 0x0959
-packetLen(0x0959, 2) // CZ_REASSEMBLY_AUTH67
+packetLen(0x0959, 2)
// Packet: 0x095a
-packetLen(0x095a, 2) // CZ_REASSEMBLY_AUTH68
+packetLen(0x095a, 2)
// Packet: 0x095b
-packetLen(0x095b, 2) // CZ_REASSEMBLY_AUTH69
+packetLen(0x095b, 2)
// Packet: 0x095c
-packetLen(0x095c, 2) // CZ_REASSEMBLY_AUTH70
+packetLen(0x095c, 2)
// Packet: 0x095d
-packetLen(0x095d, 2) // CZ_REASSEMBLY_AUTH71
+packetLen(0x095d, 2)
// Packet: 0x095e
-packetLen(0x095e, 2) // CZ_REASSEMBLY_AUTH72
+packetLen(0x095e, 2)
// Packet: 0x095f
-packetLen(0x095f, 2) // CZ_REASSEMBLY_AUTH73
+packetLen(0x095f, 2)
// Packet: 0x0960
-packetLen(0x0960, 2) // CZ_REASSEMBLY_AUTH74
+packetLen(0x0960, 2)
// Packet: 0x0961
-packetLen(0x0961, 2) // CZ_REASSEMBLY_AUTH75
+packetLen(0x0961, 2)
// Packet: 0x0962
-packetLen(0x0962, 2) // CZ_REASSEMBLY_AUTH76
+packetLen(0x0962, 2)
// Packet: 0x0963
-packetLen(0x0963, 2) // CZ_REASSEMBLY_AUTH77
+packetLen(0x0963, 2)
// Packet: 0x0964
-packetLen(0x0964, 2) // CZ_REASSEMBLY_AUTH78
+packetLen(0x0964, 2)
// Packet: 0x0965
-packetLen(0x0965, 2) // CZ_REASSEMBLY_AUTH79
+packetLen(0x0965, 2)
// Packet: 0x0966
-packetLen(0x0966, 2) // CZ_REASSEMBLY_AUTH80
+packetLen(0x0966, 2)
// Packet: 0x0967
-packetLen(0x0967, 2) // CZ_REASSEMBLY_AUTH81
+packetLen(0x0967, 2)
// Packet: 0x0968
-packetLen(0x0968, 2) // CZ_REASSEMBLY_AUTH82
+packetLen(0x0968, 2)
// Packet: 0x0969
-packetLen(0x0969, 2) // CZ_REASSEMBLY_AUTH83
+packetLen(0x0969, 2)
// Packet: 0x096a
-packetLen(0x096a, 2) // CZ_REASSEMBLY_AUTH84
+packetLen(0x096a, 2)
// Packet: 0x096b
-packetLen(0x096b, 4) // ZC_PRNPC_STATE
+packetLen(0x096b, 4)
// Packet: 0x096c
-packetLen(0x096c, 6) // ZC_PARTY_RECRUIT_CANCEL_VOLUNTEER_TO_PM
+packetLen(0x096c, 6)
// Packet: 0x096d
-packetLen(0x096d, -1) // ZC_MERGE_ITEM_OPEN
+packetLen(0x096d, -1)
// Packet: 0x096e
-packetLen(0x096e, -1) // CZ_REQ_MERGE_ITEM
+packetLen(0x096e, -1)
// Packet: 0x096f
-packetLen(0x096f, 7) // ZC_ACK_MERGE_ITEM
+packetLen(0x096f, 7)
// Packet: 0x0970
-packetLen(0x0970, 31) // CH_MAKE_CHAR_NOT_STATS
+packetLen(0x0970, 31)
// Packet: 0x0971
-packetLen(0x0971, 6) // ZC_PARTY_RECRUIT_REFUSE_VOLUNTEER_TO_PM
+packetLen(0x0971, 6)
// Packet: 0x0972
-packetLen(0x0972, -1) // ZC_SAY_DIALOG2
+packetLen(0x0972, -1)
// Packet: 0x0973
-packetLen(0x0973, 7) // ZC_WAIT_DIALOG2
+packetLen(0x0973, 7)
// Packet: 0x0974
-packetLen(0x0974, 2) // CZ_CANCEL_MERGE_ITEM
+packetLen(0x0974, 2)
// Packet: 0x0975
-packetLen(0x0975, -1) // ZC_STORE_ITEMLIST_NORMAL_V2
+packetLen(0x0975, -1)
// Packet: 0x0976
-packetLen(0x0976, -1) // ZC_STORE_ITEMLIST_EQUIP_V2
+packetLen(0x0976, -1)
// Packet: 0x0977
-packetLen(0x0977, 14) // ZC_HP_INFO
+packetLen(0x0977, 14)
// Packet: 0x0978
-packetLen(0x0978, 6) // CZ_REQ_BEFORE_WORLD_INFO
+packetLen(0x0978, 6)
// Packet: 0x0979
-packetLen(0x0979, 50) // ZC_ACK_BEFORE_WORLD_INFO
+packetLen(0x0979, 50)
// Packet: 0x097a
-packetLen(0x097a, -1) // ZC_ALL_QUEST_LIST2
+packetLen(0x097a, -1)
// Packet: 0x097b
-packetLen(0x097b, -1) // ZC_PERSONAL_INFOMATION2
+packetLen(0x097b, -1)
// Packet: 0x097c
-packetLen(0x097c, 4) // CZ_REQ_RANKING
+packetLen(0x097c, 4)
// Packet: 0x097d
-packetLen(0x097d, 288) // ZC_ACK_RANKING
+packetLen(0x097d, 288)
// Packet: 0x097e
-packetLen(0x097e, 12) // ZC_UPDATE_RANKING_POINT
+packetLen(0x097e, 12)
// Packet: 0x097f
-packetLen(0x097f, -1) // ZC_SELECTCART
+packetLen(0x097f, -1)
// Packet: 0x0980
-packetLen(0x0980, 7) // CZ_SELECTCART
+packetLen(0x0980, 7)
// Packet: 0x0981
-packetLen(0x0981, -1) // ZC_PERSONAL_INFOMATION_CHN
+packetLen(0x0981, -1)
// Packet: 0x0982
-packetLen(0x0982, 7) // ZC_FATIGUE_CHN
+packetLen(0x0982, 7)
// Packet: 0x0983
-packetLen(0x0983, 29) // ZC_MSG_STATE_CHANGE3
+packetLen(0x0983, 29)
// Packet: 0x0984
-packetLen(0x0984, 28) // ZC_EFST_SET_ENTER2
+packetLen(0x0984, 28)
// Packet: 0x0985
-packetLen(0x0985, -1) // ZC_SKILL_POSTDELAY_LIST2
+packetLen(0x0985, -1)
// Packet: 0x0986
-packetLen(0x0986, 10) // AC_SHUTDOWN_NOTIFY
+packetLen(0x0986, 10)
// Packet: 0x0987
-packetLen(0x0987, -1) // CA_LOGIN6
+packetLen(0x0987, -1)
// Packet: 0x0988
-packetLen(0x0988, 6) // ZC_NOTIFY_CLAN_CONNECTINFO
+packetLen(0x0988, 6)
// Packet: 0x0989
-packetLen(0x0989, 2) // ZC_ACK_CLAN_LEAVE
+packetLen(0x0989, 2)
// Packet: 0x098a
-packetLen(0x098a, -1) // ZC_CLANINFO
+packetLen(0x098a, -1)
// Packet: 0x098b
-packetLen(0x098b, 2) // AC_REQ_NEW_USER
+packetLen(0x098b, 2)
// Packet: 0x098c
-packetLen(0x098c, 4) // CA_ACK_NEW_USER
+packetLen(0x098c, 4)
// Packet: 0x098d
-packetLen(0x098d, -1) // CZ_CLAN_CHAT
+packetLen(0x098d, -1)
// Packet: 0x098e
-packetLen(0x098e, -1) // ZC_NOTIFY_CLAN_CHAT
+packetLen(0x098e, -1)
// Packet: 0x098f
-packetLen(0x098f, -1) // CH_DELETE_CHAR3_EXT
+packetLen(0x098f, -1)
// Packet: 0x0990
-packetLen(0x0990, 41) // ZC_ITEM_PICKUP_ACK_V5
+packetLen(0x0990, 41)
// Packet: 0x0991
-packetLen(0x0991, -1) // ZC_INVENTORY_ITEMLIST_NORMAL_V5
+packetLen(0x0991, -1)
// Packet: 0x0992
-packetLen(0x0992, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V5
+packetLen(0x0992, -1)
// Packet: 0x0993
-packetLen(0x0993, -1) // ZC_CART_ITEMLIST_NORMAL_V5
+packetLen(0x0993, -1)
// Packet: 0x0994
-packetLen(0x0994, -1) // ZC_CART_ITEMLIST_EQUIP_V5
+packetLen(0x0994, -1)
// Packet: 0x0995
-packetLen(0x0995, -1) // ZC_STORE_ITEMLIST_NORMAL_V5
+packetLen(0x0995, -1)
// Packet: 0x0996
-packetLen(0x0996, -1) // ZC_STORE_ITEMLIST_EQUIP_V5
+packetLen(0x0996, -1)
// Packet: 0x0997
-packetLen(0x0997, -1) // ZC_EQUIPWIN_MICROSCOPE_V5
+packetLen(0x0997, -1)
// Packet: 0x0998
-packetLen(0x0998, 8) // CZ_REQ_WEAR_EQUIP_V5
+packetLen(0x0998, 8)
// Packet: 0x0999
-packetLen(0x0999, 11) // ZC_ACK_WEAR_EQUIP_V5
+packetLen(0x0999, 11)
// Packet: 0x099a
-packetLen(0x099a, 9) // ZC_ACK_TAKEOFF_EQUIP_V5
+packetLen(0x099a, 9)
// Packet: 0x099b
-packetLen(0x099b, 8) // ZC_MAPPROPERTY_R2
+packetLen(0x099b, 8)
// Packet: 0x099c
-packetLen(0x099c, 6) // CH_REQ_CHARINFO_PER_PAGE
+packetLen(0x099c, 6)
// Packet: 0x099d
-packetLen(0x099d, -1) // HC_ACK_CHARINFO_PER_PAGE
+packetLen(0x099d, -1)
// Packet: 0x099e
-packetLen(0x099e, 12) // HC_QUEUE_ORDER
+packetLen(0x099e, 12)
// Packet: 0x099f
-packetLen(0x099f, -1) // ZC_SKILL_ENTRY4
+packetLen(0x099f, -1)
// Packet: 0x09a0
-packetLen(0x09a0, 6) // HC_CHARLIST_NOTIFY
+packetLen(0x09a0, 6)
// Packet: 0x09a1
-packetLen(0x09a1, 2) // CH_CHARLIST_REQ
+packetLen(0x09a1, 2)
// Packet: 0x09a2
-packetLen(0x09a2, 6) // AC_REQ_MOBILE_OTP
+packetLen(0x09a2, 6)
// Packet: 0x09a3
-packetLen(0x09a3, -1) // CA_ACK_MOBILE_OTP
+packetLen(0x09a3, -1)
// Packet: 0x09a4
-packetLen(0x09a4, 18) // ZC_DISPATCH_TIMING_INFO_CHN
+packetLen(0x09a4, 18)
// Packet: 0x09a5
-packetLen(0x09a5, 7) // AC_REFUSE_LOGIN3
+packetLen(0x09a5, 7)
// Packet: 0x09a6
-packetLen(0x09a6, 12) // ZC_BANKING_CHECK
+packetLen(0x09a6, 12)
// Packet: 0x09a7
-packetLen(0x09a7, 10) // CZ_REQ_BANKING_DEPOSIT
+packetLen(0x09a7, 10)
// Packet: 0x09a8
-packetLen(0x09a8, 16) // ZC_ACK_BANKING_DEPOSIT
+packetLen(0x09a8, 16)
// Packet: 0x09a9
-packetLen(0x09a9, 10) // CZ_REQ_BANKING_WITHDRAW
+packetLen(0x09a9, 10)
// Packet: 0x09aa
-packetLen(0x09aa, 16) // ZC_ACK_BANKING_WITHDRAW
+packetLen(0x09aa, 16)
// Packet: 0x09ab
-packetLen(0x09ab, 6) // CZ_REQ_BANKING_CHECK
+packetLen(0x09ab, 6)
// Packet: 0x09ac
-packetLen(0x09ac, -1) // CZ_REQ_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ac, -1)
// Packet: 0x09ad
-packetLen(0x09ad, 12) // ZC_ACK_CASH_BARGAIN_SALE_ITEM_INFO
+packetLen(0x09ad, 12)
// Packet: 0x09ae
-packetLen(0x09ae, 19) // CZ_REQ_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09ae, 19)
// Packet: 0x09af
-packetLen(0x09af, 4) // ZC_ACK_APPLY_BARGAIN_SALE_ITEM
+packetLen(0x09af, 4)
// Packet: 0x09b0
-packetLen(0x09b0, 10) // CZ_REQ_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b0, 10)
// Packet: 0x09b1
-packetLen(0x09b1, 4) // ZC_ACK_REMOVE_BARGAIN_SALE_ITEM
+packetLen(0x09b1, 4)
// Packet: 0x09b2
-packetLen(0x09b2, 10) // ZC_NOTIFY_BARGAIN_SALE_SELLING
+packetLen(0x09b2, 10)
// Packet: 0x09b3
-packetLen(0x09b3, 6) // ZC_NOTIFY_BARGAIN_SALE_CLOSE
+packetLen(0x09b3, 6)
// Packet: 0x09b4
-packetLen(0x09b4, 6) // CZ_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b4, 6)
// Packet: 0x09b5
-packetLen(0x09b5, 2) // ZC_OPEN_BARGAIN_SALE_TOOL
+packetLen(0x09b5, 2)
// Packet: 0x09b6
-packetLen(0x09b6, 6) // CZ_REQ_OPEN_BANKING
+packetLen(0x09b6, 6)
// Packet: 0x09b7
-packetLen(0x09b7, 4) // ZC_ACK_OPEN_BANKING
+packetLen(0x09b7, 4)
// Packet: 0x09b8
-packetLen(0x09b8, 6) // CZ_REQ_CLOSE_BANKING
+packetLen(0x09b8, 6)
// Packet: 0x09b9
-packetLen(0x09b9, 4) // ZC_ACK_CLOSE_BANKING
+packetLen(0x09b9, 4)
// Packet: 0x09ba
-packetLen(0x09ba, 2) // CZ_REQ_OPEN_GUILD_STORAGE
+packetLen(0x09ba, 2)
// Packet: 0x09bb
-packetLen(0x09bb, 6) // ZC_ACK_OPEN_GUILD_STORAGE
+packetLen(0x09bb, 6)
// Packet: 0x09bc
-packetLen(0x09bc, 6) // CZ_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bc, 6)
// Packet: 0x09bd
-packetLen(0x09bd, 2) // ZC_CLOSE_BARGAIN_SALE_TOOL
+packetLen(0x09bd, 2)
// Packet: 0x09be
-packetLen(0x09be, 2) // CZ_REQ_CLOSE_GUILD_STORAGE
+packetLen(0x09be, 2)
// Packet: 0x09bf
-packetLen(0x09bf, 4) // ZC_ACK_CLOSE_GUILD_STORAGE
+packetLen(0x09bf, 4)
// Packet: 0x09c1
-packetLen(0x09c1, 10) // ZC_C_MARKERINFO
+packetLen(0x09c1, 10)
// Packet: 0x09c2
-packetLen(0x09c2, -1) // HC_SECRETSCAN_DATA
+packetLen(0x09c2, -1)
// Packet: 0x09c3
-packetLen(0x09c3, 10) // CZ_REQ_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c3, 10)
// Packet: 0x09c4
-packetLen(0x09c4, 10) // ZC_ACK_COUNT_BARGAIN_SALE_ITEM
+packetLen(0x09c4, 10)
// Packet: 0x09c5
-packetLen(0x09c5, 1042) // CS_LOGIN_QUERY
+packetLen(0x09c5, 1042)
// Packet: 0x09c6
-packetLen(0x09c6, -1) // SC_LOGIN_ANSWER
+packetLen(0x09c6, -1)
// Packet: 0x09c7
-packetLen(0x09c7, 18) // SC_LOGIN_ERROR
+packetLen(0x09c7, 18)
// Packet: 0x09c8
-packetLen(0x09c8, -1) // CA_LOGIN_OTP
+packetLen(0x09c8, -1)
// Packet: 0x09c9
-packetLen(0x09c9, -1) // SC_SOCT
+packetLen(0x09c9, -1)
// Packet: 0x09ca
-packetLen(0x09ca, -1) // ZC_SKILL_ENTRY5
+packetLen(0x09ca, -1)
// Packet: 0x09cb
-packetLen(0x09cb, 17) // ZC_USE_SKILL2
+packetLen(0x09cb, 17)
// Packet: 0x09cc
-packetLen(0x09cc, -1) // ZC_SECRETSCAN_DATA
+packetLen(0x09cc, -1)
// Packet: 0x09cd
-packetLen(0x09cd, 8) // ZC_MSG_COLOR
+packetLen(0x09cd, 8)
// Packet: 0x09ce
-packetLen(0x09ce, 102) // CZ_ITEM_CREATE_EX
+packetLen(0x09ce, 102)
// Packet: 0x09cf
-packetLen(0x09cf, -1) // ZC_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09cf, -1)
// Packet: 0x09d0
-packetLen(0x09d0, -1) // CZ_NPROTECTGAMEGUARDCSAUTH
+packetLen(0x09d0, -1)
// Packet: 0x09d1
-packetLen(0x09d1, 14) // ZC_PROGRESS_ACTOR
+packetLen(0x09d1, 14)
// Packet: 0x09d2
-packetLen(0x09d2, -1) // ZC_GUILDSTORAGE_ITEMLIST_NORMAL_V5
+packetLen(0x09d2, -1)
// Packet: 0x09d3
-packetLen(0x09d3, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V5
+packetLen(0x09d3, -1)
// Packet: 0x09d4
-packetLen(0x09d4, 2) // CZ_NPC_TRADE_QUIT
+packetLen(0x09d4, 2)
// Packet: 0x09d5
-packetLen(0x09d5, -1) // ZC_NPC_MARKET_OPEN
+packetLen(0x09d5, -1)
// Packet: 0x09d6
-packetLen(0x09d6, -1) // CZ_NPC_MARKET_PURCHASE
+packetLen(0x09d6, -1)
// Packet: 0x09d7
-packetLen(0x09d7, -1) // ZC_NPC_MARKET_PURCHASE_RESULT
+packetLen(0x09d7, -1)
// Packet: 0x09d8
-packetLen(0x09d8, 2) // CZ_NPC_MARKET_CLOSE
+packetLen(0x09d8, 2)
// Packet: 0x09d9
-packetLen(0x09d9, 4) // CZ_REQ_GUILDSTORAGE_LOG
+packetLen(0x09d9, 4)
// Packet: 0x09da
-packetLen(0x09da, -1) // ZC_ACK_GUILDSTORAGE_LOG
+packetLen(0x09da, -1)
// Packet: 0x09db
-packetLen(0x09db, -1) // ZC_NOTIFY_MOVEENTRY10
+packetLen(0x09db, -1)
// Packet: 0x09dc
-packetLen(0x09dc, -1) // ZC_NOTIFY_NEWENTRY10
+packetLen(0x09dc, -1)
// Packet: 0x09dd
-packetLen(0x09dd, -1) // ZC_NOTIFY_STANDENTRY10
+packetLen(0x09dd, -1)
// Packet: 0x09de
-packetLen(0x09de, -1) // ZC_WHISPER02
+packetLen(0x09de, -1)
// Packet: 0x09df
-packetLen(0x09df, 7) // ZC_ACK_WHISPER02
+packetLen(0x09df, 7)
// Packet: 0x09e0
-packetLen(0x09e0, -1) // SC_LOGIN_ANSWER_WITH_ID
+packetLen(0x09e0, -1)
// Packet: 0x09e1
-packetLen(0x09e1, 8) // CZ_MOVE_ITEM_FROM_BODY_TO_GUILDSTORAGE
+packetLen(0x09e1, 8)
// Packet: 0x09e2
-packetLen(0x09e2, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_BODY
+packetLen(0x09e2, 8)
// Packet: 0x09e3
-packetLen(0x09e3, 8) // CZ_MOVE_ITEM_FROM_CART_TO_GUILDSTORAGE
+packetLen(0x09e3, 8)
// Packet: 0x09e4
-packetLen(0x09e4, 8) // CZ_MOVE_ITEM_FROM_GUILDSTORAGE_TO_CART
+packetLen(0x09e4, 8)
// Packet: 0x09e5
-packetLen(0x09e5, 18) // ZC_DELETEITEM_FROM_MCSTORE2
+packetLen(0x09e5, 18)
// Packet: 0x09e6
-packetLen(0x09e6, 24) // ZC_UPDATE_ITEM_FROM_BUYING_STORE2
+packetLen(0x09e6, 24)
// Packet: 0x09e7
-packetLen(0x09e7, 3) // ZC_NOTIFY_UNREAD_RODEX
+packetLen(0x09e7, 3)
// Packet: 0x09e8
-packetLen(0x09e8, 11) // CZ_OPEN_RODEXBOX
+packetLen(0x09e8, 11)
// Packet: 0x09e9
-packetLen(0x09e9, 2) // CZ_CLOSE_RODEXBOX
+packetLen(0x09e9, 2)
// Packet: 0x09ea
-packetLen(0x09ea, 11) // CZ_REQ_READ_RODEX
+packetLen(0x09ea, 11)
// Packet: 0x09eb
-packetLen(0x09eb, -1) // ZC_ACK_READ_RODEX
+packetLen(0x09eb, -1)
// Packet: 0x09ec
-packetLen(0x09ec, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x09ec, -1)
// Packet: 0x09ed
-packetLen(0x09ed, 3) // ZC_ACK_SEND_RODEX
+packetLen(0x09ed, 3)
// Packet: 0x09ee
-packetLen(0x09ee, 11) // CZ_REQ_NEXT_RODEX
+packetLen(0x09ee, 11)
// Packet: 0x09ef
-packetLen(0x09ef, 11) // CZ_REQ_REFRESH_RODEX
+packetLen(0x09ef, 11)
// Packet: 0x09f0
-packetLen(0x09f0, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x09f0, -1)
// Packet: 0x09f1
-packetLen(0x09f1, 11) // CZ_REQ_ZENY_FROM_RODEX
+packetLen(0x09f1, 11)
// Packet: 0x09f2
-packetLen(0x09f2, 12) // ZC_ACK_ZENY_FROM_RODEX
+packetLen(0x09f2, 12)
// Packet: 0x09f3
-packetLen(0x09f3, 11) // CZ_REQ_ITEM_FROM_RODEX
+packetLen(0x09f3, 11)
// Packet: 0x09f4
-packetLen(0x09f4, 12) // ZC_ACK_ITEM_FROM_RODEX
+packetLen(0x09f4, 12)
// Packet: 0x09f5
-packetLen(0x09f5, 11) // CZ_REQ_DELETE_RODEX
+packetLen(0x09f5, 11)
// Packet: 0x09f6
-packetLen(0x09f6, 11) // ZC_ACK_DELETE_RODEX
+packetLen(0x09f6, 11)
// Packet: 0x09f7
-packetLen(0x09f7, 77) // ZC_PROPERTY_HOMUN_2
+packetLen(0x09f7, 77)
// Packet: 0x09f8
-packetLen(0x09f8, -1) // ZC_ALL_QUEST_LIST3
+packetLen(0x09f8, -1)
// Packet: 0x09f9
-packetLen(0x09f9, 143) // ZC_ADD_QUEST_EX
+packetLen(0x09f9, 143)
// Packet: 0x09fa
-packetLen(0x09fa, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x09fa, -1)
// Packet: 0x09fb
-packetLen(0x09fb, -1) // CZ_PET_EVOLUTION
+packetLen(0x09fb, -1)
// Packet: 0x09fc
-packetLen(0x09fc, 6) // ZC_PET_EVOLUTION_RESULT
+packetLen(0x09fc, 6)
// Packet: 0x09fd
-packetLen(0x09fd, -1) // ZC_NOTIFY_MOVEENTRY11
+packetLen(0x09fd, -1)
// Packet: 0x09fe
-packetLen(0x09fe, -1) // ZC_NOTIFY_NEWENTRY11
+packetLen(0x09fe, -1)
// Packet: 0x09ff
-packetLen(0x09ff, -1) // ZC_NOTIFY_STANDENTRY11
+packetLen(0x09ff, -1)
// Packet: 0x0a00
-packetLen(0x0a00, 269) // ZC_SHORTCUT_KEY_LIST_V3
+packetLen(0x0a00, 269)
// Packet: 0x0a01
-packetLen(0x0a01, 3) // CZ_SHORTCUTKEYBAR_ROTATE
+packetLen(0x0a01, 3)
// Packet: 0x0a02
-packetLen(0x0a02, 4) // ZC_DRESSROOM_OPEN
+packetLen(0x0a02, 4)
// Packet: 0x0a03
-packetLen(0x0a03, 2) // CZ_REQ_CANCEL_WRITE_RODEX
+packetLen(0x0a03, 2)
// Packet: 0x0a04
-packetLen(0x0a04, 6) // CZ_REQ_ADD_ITEM_RODEX
+packetLen(0x0a04, 6)
// Packet: 0x0a05
-packetLen(0x0a05, 63) // ZC_ACK_ADD_ITEM_RODEX
+packetLen(0x0a05, 63)
// Packet: 0x0a06
-packetLen(0x0a06, 6) // CZ_REQ_REMOVE_RODEX_ITEM
+packetLen(0x0a06, 6)
// Packet: 0x0a07
-packetLen(0x0a07, 9) // ZC_ACK_REMOVE_RODEX_ITEM
+packetLen(0x0a07, 9)
// Packet: 0x0a08
-packetLen(0x0a08, 26) // CZ_REQ_OPEN_WRITE_RODEX
+packetLen(0x0a08, 26)
// Packet: 0x0a09
-packetLen(0x0a09, 55) // ZC_ADD_EXCHANGE_ITEM3
+packetLen(0x0a09, 55)
// Packet: 0x0a0a
-packetLen(0x0a0a, 57) // ZC_ADD_ITEM_TO_STORE3
+packetLen(0x0a0a, 57)
// Packet: 0x0a0b
-packetLen(0x0a0b, 57) // ZC_ADD_ITEM_TO_CART3
+packetLen(0x0a0b, 57)
// Packet: 0x0a0c
-packetLen(0x0a0c, 66) // ZC_ITEM_PICKUP_ACK_V6
+packetLen(0x0a0c, 66)
// Packet: 0x0a0d
-packetLen(0x0a0d, -1) // ZC_INVENTORY_ITEMLIST_EQUIP_V6
+packetLen(0x0a0d, -1)
// Packet: 0x0a0e
-packetLen(0x0a0e, 14) // ZC_BATTLEFIELD_NOTIFY_HP2
+packetLen(0x0a0e, 14)
// Packet: 0x0a0f
-packetLen(0x0a0f, -1) // ZC_CART_ITEMLIST_EQUIP_V6
+packetLen(0x0a0f, -1)
// Packet: 0x0a10
-packetLen(0x0a10, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0a10, -1)
// Packet: 0x0a11
-packetLen(0x0a11, -1) // ZC_GUILDSTORAGE_ITEMLIST_EQUIP_V6
+packetLen(0x0a11, -1)
// Packet: 0x0a12
-packetLen(0x0a12, 27) // ZC_ACK_OPEN_WRITE_RODEX
+packetLen(0x0a12, 27)
// Packet: 0x0a13
-packetLen(0x0a13, 26) // CZ_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a13, 26)
// Packet: 0x0a14
-packetLen(0x0a14, 10) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a14, 10)
// Packet: 0x0a15
-packetLen(0x0a15, 12) // ZC_GOLDPCCAFE_POINT
+packetLen(0x0a15, 12)
// Packet: 0x0a16
-packetLen(0x0a16, 26) // CZ_DYNAMICNPC_CREATE_REQUEST
+packetLen(0x0a16, 26)
// Packet: 0x0a17
-packetLen(0x0a17, 6) // ZC_DYNAMICNPC_CREATE_RESULT
+packetLen(0x0a17, 6)
// Packet: 0x0a18
-packetLen(0x0a18, 14) // ZC_ACCEPT_ENTER3
+packetLen(0x0a18, 14)
// Packet: 0x0a19
-packetLen(0x0a19, 2) // CZ_REQ_OPEN_ROULETTE
+packetLen(0x0a19, 2)
// Packet: 0x0a1a
-packetLen(0x0a1a, 25) // ZC_ACK_OPEN_ROULETTE
+packetLen(0x0a1a, 25)
// Packet: 0x0a1b
-packetLen(0x0a1b, 2) // CZ_REQ_ROULETTE_INFO
+packetLen(0x0a1b, 2)
// Packet: 0x0a1c
-packetLen(0x0a1c, -1) // ZC_ACK_ROULEITTE_INFO
+packetLen(0x0a1c, -1)
// Packet: 0x0a1d
-packetLen(0x0a1d, 2) // CZ_REQ_CLOSE_ROULETTE
+packetLen(0x0a1d, 2)
// Packet: 0x0a1e
-packetLen(0x0a1e, 3) // ZC_ACK_CLOSE_ROULETTE
+packetLen(0x0a1e, 3)
// Packet: 0x0a1f
-packetLen(0x0a1f, 2) // CZ_REQ_GENERATE_ROULETTE
+packetLen(0x0a1f, 2)
// Packet: 0x0a20
-packetLen(0x0a20, 23) // ZC_ACK_GENERATE_ROULETTE
+packetLen(0x0a20, 23)
// Packet: 0x0a21
-packetLen(0x0a21, 3) // CZ_RECV_ROULETTE_ITEM
+packetLen(0x0a21, 3)
// Packet: 0x0a22
-packetLen(0x0a22, 7) // ZC_RECV_ROULETTE_ITEM
+packetLen(0x0a22, 7)
// Packet: 0x0a23
-packetLen(0x0a23, -1) // ZC_ALL_ACH_LIST
+packetLen(0x0a23, -1)
// Packet: 0x0a24
-packetLen(0x0a24, 66) // ZC_ACH_UPDATE
+packetLen(0x0a24, 66)
// Packet: 0x0a25
-packetLen(0x0a25, 6) // CZ_REQ_ACH_REWARD
+packetLen(0x0a25, 6)
// Packet: 0x0a26
-packetLen(0x0a26, 7) // ZC_REQ_ACH_REWARD_ACK
+packetLen(0x0a26, 7)
// Packet: 0x0a27
-packetLen(0x0a27, 8) // ZC_RECOVERY2
+packetLen(0x0a27, 8)
// Packet: 0x0a28
-packetLen(0x0a28, 3) // ZC_ACK_OPENSTORE2
+packetLen(0x0a28, 3)
// Packet: 0x0a29
-packetLen(0x0a29, 6) // ZC_REQ_AU_BOT
+packetLen(0x0a29, 6)
// Packet: 0x0a2a
-packetLen(0x0a2a, 6) // CZ_ACK_AU_BOT
+packetLen(0x0a2a, 6)
// Packet: 0x0a2b
-packetLen(0x0a2b, 14) // ZC_SE_CASHSHOP_OPEN2
+packetLen(0x0a2b, 14)
// Packet: 0x0a2c
-packetLen(0x0a2c, 12) // ZC_SE_PC_BUY_TAIWANCASHITEM_RESULT
+packetLen(0x0a2c, 12)
// Packet: 0x0a2d
-packetLen(0x0a2d, -1) // ZC_EQUIPWIN_MICROSCOPE_V6
+packetLen(0x0a2d, -1)
// Packet: 0x0a2e
-packetLen(0x0a2e, 6) // CZ_REQ_CHANGE_TITLE
+packetLen(0x0a2e, 6)
// Packet: 0x0a2f
-packetLen(0x0a2f, 7) // ZC_ACK_CHANGE_TITLE
+packetLen(0x0a2f, 7)
// Packet: 0x0a30
-packetLen(0x0a30, 106) // ZC_ACK_REQNAMEALL2
+packetLen(0x0a30, 106)
// Packet: 0x0a31
-packetLen(0x0a31, -1) // ZC_RESULT_PACKAGE_ITEM_TEST
+packetLen(0x0a31, -1)
// Packet: 0x0a32
-packetLen(0x0a32, 2) // ZC_OPEN_RODEX_THROUGH_NPC_ONLY
+packetLen(0x0a32, 2)
// Packet: 0x0a33
-packetLen(0x0a33, 7) // ZC_UPDATE_ROULETTE_COIN
+packetLen(0x0a33, 7)
// Packet: 0x0a34
-packetLen(0x0a34, 6) // ZC_UPDATE_TAIWANCASH
+packetLen(0x0a34, 6)
// Packet: 0x0a35
-packetLen(0x0a35, 4) // CZ_REQ_ONECLICK_ITEMIDENTIFY
+packetLen(0x0a35, 4)
// Packet: 0x0a36
-packetLen(0x0a36, 7) // ZC_HP_INFO_TINY
+packetLen(0x0a36, 7)
// Packet: 0x0a37
-packetLen(0x0a37, 69) // ZC_ITEM_PICKUP_ACK_V7
+packetLen(0x0a37, 69)
// Packet: 0x0a38
-packetLen(0x0a38, 3) // ZC_OPEN_UI
+packetLen(0x0a38, 3)
// Packet: 0x0a39
-packetLen(0x0a39, 36) // CH_MAKE_CHAR
+packetLen(0x0a39, 36)
// Packet: 0x0a3a
packetLen(0x0a3a, 12)
// Packet: 0x0a3b
-packetLen(0x0a3b, -1) // ZC_CUSTOM_HAT_EFFECT
+packetLen(0x0a3b, -1)
// Packet: 0x0a3c
packetLen(0x0a3c, -1)
@@ -3775,37 +3787,37 @@ packetLen(0x0a3f, 11)
packetLen(0x0a40, 11)
// Packet: 0x0a41
-packetLen(0x0a41, 18) // ZC_AOE_EFFECT_SKILL
+packetLen(0x0a41, 18)
// Packet: 0x0a42
packetLen(0x0a42, 43)
// Packet: 0x0a43
-packetLen(0x0a43, 85) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0a43, 85)
// Packet: 0x0a44
-packetLen(0x0a44, -1) // ZC_GROUP_LIST
+packetLen(0x0a44, -1)
// Packet: 0x0a46
packetLen(0x0a46, 14)
// Packet: 0x0a47
-packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES
+packetLen(0x0a47, 3)
// Packet: 0x0a48
packetLen(0x0a48, 2)
// Packet: 0x0a49
-packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST
+packetLen(0x0a49, 22)
// Packet: 0x0a4a
-packetLen(0x0a4a, 6) // ZC_PRIVATE_AIRSHIP_RESPONSE
+packetLen(0x0a4a, 6)
// Packet: 0x0a4b
-packetLen(0x0a4b, 22) // ZC_AIRSHIP_MAPMOVE
+packetLen(0x0a4b, 22)
// Packet: 0x0a4c
-packetLen(0x0a4c, 28) // ZC_AIRSHIP_SERVERMOVE
+packetLen(0x0a4c, 28)
// Packet: 0x0a4d
packetLen(0x0a4d, -1)
@@ -3820,7 +3832,7 @@ packetLen(0x0a4f, -1)
packetLen(0x0a50, 4)
// Packet: 0x0a51
-packetLen(0x0a51, 34) // ZC_CHECK_RECEIVE_CHARACTER_NAME
+packetLen(0x0a51, 34)
// Packet: 0x0a52
packetLen(0x0a52, 20)
@@ -3859,7 +3871,7 @@ packetLen(0x0a5c, 18)
packetLen(0x0a5d, 6)
// Packet: 0x0a68
-packetLen(0x0a68, 3) // CZ_REQ_OPEN_UI
+packetLen(0x0a68, 3)
// Packet: 0x0a69
packetLen(0x0a69, 6)
@@ -3877,10 +3889,10 @@ packetLen(0x0a6c, 7)
packetLen(0x0a6d, -1)
// Packet: 0x0a6e
-packetLen(0x0a6e, -1) // CZ_REQ_SEND_RODEX
+packetLen(0x0a6e, -1)
// Packet: 0x0a6f
-packetLen(0x0a6f, -1) // ZC_FORMATSTRING_MSG_COLOR
+packetLen(0x0a6f, -1)
// Packet: 0x0a70
packetLen(0x0a70, 2)
@@ -3916,13 +3928,13 @@ packetLen(0x0a7b, -1)
packetLen(0x0a7c, -1)
// Packet: 0x0a7d
-packetLen(0x0a7d, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0a7d, -1)
// Packet: 0x0a7e
-packetLen(0x0a7e, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS_READY
+packetLen(0x0a7e, -1)
// Packet: 0x0a7f
-packetLen(0x0a7f, -1) // CZ_OFFLINE_STORE_CREATE
+packetLen(0x0a7f, -1)
// Packet: 0x0a80
packetLen(0x0a80, 6)
@@ -3937,7 +3949,7 @@ packetLen(0x0a82, 46)
packetLen(0x0a83, 46)
// Packet: 0x0a84
-packetLen(0x0a84, 94) // ZC_GUILD_INFO
+packetLen(0x0a84, 94)
// Packet: 0x0a85
packetLen(0x0a85, 82)
@@ -3952,10 +3964,10 @@ packetLen(0x0a87, -1)
packetLen(0x0a88, 2)
// Packet: 0x0a89
-packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE
+packetLen(0x0a89, 61)
// Packet: 0x0a8a
-packetLen(0x0a8a, 6) // ZC_OFFLINE_STORE_VANISH
+packetLen(0x0a8a, 6)
// Packet: 0x0a8b
packetLen(0x0a8b, 2)
@@ -3964,7 +3976,7 @@ packetLen(0x0a8b, 2)
packetLen(0x0a8c, 2)
// Packet: 0x0a8d
-packetLen(0x0a8d, -1) // ZC_OFFLINE_STORE_OWNER_ITEMS
+packetLen(0x0a8d, -1)
// Packet: 0x0a8e
packetLen(0x0a8e, 2)
@@ -3976,7 +3988,7 @@ packetLen(0x0a8f, 2)
packetLen(0x0a90, 3)
// Packet: 0x0a91
-packetLen(0x0a91, -1) // ZC_OFFLINE_STORE_ITEMS
+packetLen(0x0a91, -1)
// Packet: 0x0a92
packetLen(0x0a92, -1)
@@ -3991,28 +4003,28 @@ packetLen(0x0a94, 2)
packetLen(0x0a95, 4)
// Packet: 0x0a96
-packetLen(0x0a96, 61) // ZC_ADD_EXCHANGE_ITEM4
+packetLen(0x0a96, 61)
// Packet: 0x0a97
-packetLen(0x0a97, 8) // CZ_ALT_EQUIPMENT_ADD
+packetLen(0x0a97, 8)
// Packet: 0x0a98
-packetLen(0x0a98, 10) // ZC_ALT_EQUIPMENT_EQUIP
+packetLen(0x0a98, 10)
// Packet: 0x0a99
-packetLen(0x0a99, 4) // CZ_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a99, 4)
// Packet: 0x0a9a
-packetLen(0x0a9a, 10) // ZC_ALT_EQUIPMENT_REMOVE
+packetLen(0x0a9a, 10)
// Packet: 0x0a9b
-packetLen(0x0a9b, -1) // ZC_ALT_EQUIPMENT_ITEMS
+packetLen(0x0a9b, -1)
// Packet: 0x0a9c
-packetLen(0x0a9c, 2) // CZ_ALT_EQUIPMENT_SWITCH
+packetLen(0x0a9c, 2)
// Packet: 0x0a9d
-packetLen(0x0a9d, 4) // ZC_ALT_EQUIPMENT_SWITCH_ACK
+packetLen(0x0a9d, 4)
// Packet: 0x0a9e
packetLen(0x0a9e, 2)
@@ -4021,28 +4033,28 @@ packetLen(0x0a9e, 2)
packetLen(0x0a9f, 2)
// Packet: 0x0aa0
-packetLen(0x0aa0, 2) // ZC_REFINE_OPEN_WINDOW
+packetLen(0x0aa0, 2)
// Packet: 0x0aa1
-packetLen(0x0aa1, 4) // CZ_REFINE_ADD_ITEM
+packetLen(0x0aa1, 4)
// Packet: 0x0aa2
-packetLen(0x0aa2, -1) // ZC_REFINE_ADD_ITEM
+packetLen(0x0aa2, -1)
// Packet: 0x0aa3
-packetLen(0x0aa3, 9) // CZ_REFINE_ITEM_REQUEST
+packetLen(0x0aa3, 9)
// Packet: 0x0aa4
-packetLen(0x0aa4, 2) // CZ_REFINE_WINDOW_CLOSE
+packetLen(0x0aa4, 2)
// Packet: 0x0aa5
-packetLen(0x0aa5, -1) // ZC_MEMBERMGR_INFO
+packetLen(0x0aa5, -1)
// Packet: 0x0aa6
-packetLen(0x0aa6, 36) // ZC_MEMBER_ADD
+packetLen(0x0aa6, 36)
// Packet: 0x0aa7
-packetLen(0x0aa7, 6) // ZC_INVENTORY_MOVE_FAILED
+packetLen(0x0aa7, 6)
// Packet: 0x0aa8
packetLen(0x0aa8, 5)
@@ -4075,7 +4087,7 @@ packetLen(0x0ab0, 6)
packetLen(0x0ab1, 14)
// Packet: 0x0ab2
-packetLen(0x0ab2, 7) // ZC_GROUP_ISALIVE
+packetLen(0x0ab2, 7)
// Packet: 0x0ab3
packetLen(0x0ab3, 19)
@@ -4096,7 +4108,7 @@ packetLen(0x0ab7, 4)
packetLen(0x0ab8, 2)
// Packet: 0x0ab9
-packetLen(0x0ab9, 47) // ZC_ITEM_PREVIEW
+packetLen(0x0ab9, 47)
// Packet: 0x0aba
packetLen(0x0aba, 2)
@@ -4108,40 +4120,40 @@ packetLen(0x0abb, 2)
packetLen(0x0abc, -1)
// Packet: 0x0abd
-packetLen(0x0abd, 10) // ZC_PARTY_MEMBER_JOB_LEVEL
+packetLen(0x0abd, 10)
// Packet: 0x0abe
-packetLen(0x0abe, -1) // ZC_WARPLIST
+packetLen(0x0abe, -1)
// Packet: 0x0abf
packetLen(0x0abf, -1)
// Packet: 0x0ac0
-packetLen(0x0ac0, 26) // CZ_OPEN_RODEXBOX
+packetLen(0x0ac0, 26)
// Packet: 0x0ac1
-packetLen(0x0ac1, 26) // CZ_REQ_REFRESH_RODEX
+packetLen(0x0ac1, 26)
// Packet: 0x0ac2
-packetLen(0x0ac2, -1) // ZC_ACK_RODEX_LIST
+packetLen(0x0ac2, -1)
// Packet: 0x0ac3
packetLen(0x0ac3, 2)
// Packet: 0x0ac4
-packetLen(0x0ac4, -1) // AC_ACCEPT_LOGIN
+packetLen(0x0ac4, -1)
// Packet: 0x0ac5
-packetLen(0x0ac5, 156) // HC_NOTIFY_ZONESVR
+packetLen(0x0ac5, 156)
// Packet: 0x0ac6
packetLen(0x0ac6, 156)
// Packet: 0x0ac7
-packetLen(0x0ac7, 156) // ZC_NPCACK_SERVERMOVE
+packetLen(0x0ac7, 156)
// Packet: 0x0ac8
-packetLen(0x0ac8, 2) // ZC_UNKNOWN_CLEAN_ITEMS_LISTS
+packetLen(0x0ac8, 2)
// Packet: 0x0ac9
packetLen(0x0ac9, -1)
@@ -4150,10 +4162,10 @@ packetLen(0x0ac9, -1)
packetLen(0x0aca, 3)
// Packet: 0x0acb
-packetLen(0x0acb, 12) // ZC_PAR_CHANGE
+packetLen(0x0acb, 12)
// Packet: 0x0acc
-packetLen(0x0acc, 18) // ZC_NOTIFY_EXP
+packetLen(0x0acc, 18)
// Packet: 0x0acd
packetLen(0x0acd, 23)
@@ -4162,10 +4174,10 @@ packetLen(0x0acd, 23)
packetLen(0x0ace, 4)
// Packet: 0x0acf
-packetLen(0x0acf, 68) // CA_LOGIN_OTP
+packetLen(0x0acf, 68)
// Packet: 0x0ad0
-packetLen(0x0ad0, 11) // CA_OTP_CODE
+packetLen(0x0ad0, 11)
// Packet: 0x0ad1
packetLen(0x0ad1, -1)
@@ -4195,22 +4207,22 @@ packetLen(0x0ad8, 8)
packetLen(0x0ad9, -1)
// Packet: 0x0ada
-packetLen(0x0ada, 32) // ZC_REFINE_STATUS
+packetLen(0x0ada, 32)
// Packet: 0x0adb
packetLen(0x0adb, -1)
// Packet: 0x0adc
-packetLen(0x0adc, 6) // ZC_EQUIPWIN_OTHER
+packetLen(0x0adc, 6)
// Packet: 0x0add
-packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY
+packetLen(0x0add, 24)
// Packet: 0x0ade
-packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT
+packetLen(0x0ade, 6)
// Packet: 0x0adf
-packetLen(0x0adf, 58) // ZC_ACK_REQNAME
+packetLen(0x0adf, 58)
// Packet: 0x0ae0
packetLen(0x0ae0, 30)
@@ -4219,16 +4231,16 @@ packetLen(0x0ae0, 30)
packetLen(0x0ae1, 28)
// Packet: 0x0ae2
-packetLen(0x0ae2, 7) // ZC_OPEN_UI
+packetLen(0x0ae2, 7)
// Packet: 0x0ae3
-packetLen(0x0ae3, -1) // AC_LOGIN_OTP
+packetLen(0x0ae3, -1)
// Packet: 0x0ae4
-packetLen(0x0ae4, 89) // ZC_ADD_MEMBER_TO_GROUP
+packetLen(0x0ae4, 89)
// Packet: 0x0ae5
-packetLen(0x0ae5, -1) // ZC_GROUP_LIST
+packetLen(0x0ae5, -1)
// Packet: 0x0ae6
packetLen(0x0ae6, 10)
@@ -4240,7 +4252,7 @@ packetLen(0x0ae7, 38)
packetLen(0x0ae8, 2)
// Packet: 0x0ae9
-packetLen(0x0ae9, 13) // HC_SECOND_PASSWD_LOGIN
+packetLen(0x0ae9, 13)
// Packet: 0x0aec
packetLen(0x0aec, 2)
@@ -4252,10 +4264,10 @@ packetLen(0x0aed, 2)
packetLen(0x0aee, 2)
// Packet: 0x0aef
-packetLen(0x0aef, 2) // CZ_ATTENDANCE_REWARD_REQUEST
+packetLen(0x0aef, 2)
// Packet: 0x0af0
-packetLen(0x0af0, 10) // ZC_UI_ACTION
+packetLen(0x0af0, 10)
// Packet: 0x0af2
packetLen(0x0af2, 40)
@@ -4264,7 +4276,7 @@ packetLen(0x0af2, 40)
packetLen(0x0af3, -1)
// Packet: 0x0af4
-packetLen(0x0af4, 11) // CZ_USE_SKILL_TOGROUND
+packetLen(0x0af4, 11)
// Packet: 0x0af5
packetLen(0x0af5, 3)
@@ -4273,7 +4285,7 @@ packetLen(0x0af5, 3)
packetLen(0x0af6, 88)
// Packet: 0x0af7
-packetLen(0x0af7, 32) // ZC_ACK_REQNAME_BYGID
+packetLen(0x0af7, 32)
// Packet: 0x0af8
packetLen(0x0af8, 11)
@@ -4282,22 +4294,26 @@ packetLen(0x0af8, 11)
packetLen(0x0af9, 6)
// Packet: 0x0afa
+#if PACKETVER >= 20191204
+packetLen(0x0afa, 58)
+#elif PACKETVER >= 20190116
packetLen(0x0afa, 54)
+#endif
// Packet: 0x0afb
-packetLen(0x0afb, -1) // ZC_AUTOSPELLLIST
+packetLen(0x0afb, -1)
// Packet: 0x0afc
packetLen(0x0afc, 16)
// Packet: 0x0afd
-packetLen(0x0afd, -1) // ZC_GUILD_POSITION
+packetLen(0x0afd, -1)
// Packet: 0x0afe
-packetLen(0x0afe, -1) // ZC_UPDATE_MISSION_HUNT_EX
+packetLen(0x0afe, -1)
// Packet: 0x0aff
-packetLen(0x0aff, -1) // ZC_ALL_QUEST_LIST4
+packetLen(0x0aff, -1)
// Packet: 0x0b00
packetLen(0x0b00, 8)
@@ -4306,73 +4322,79 @@ packetLen(0x0b00, 8)
packetLen(0x0b01, 56)
// Packet: 0x0b02
-packetLen(0x0b02, 26) // AC_REFUSE_LOGIN4
+packetLen(0x0b02, 26)
// Packet: 0x0b03
-packetLen(0x0b03, -1) // ZC_EQUIPWIN_MICROSCOPE_V7
+packetLen(0x0b03, -1)
// Packet: 0x0b04
+#if PACKETVER >= 20190814
+packetLen(0x0b04, 90)
+#elif PACKETVER >= 20190605
+packetLen(0x0b04, 72)
+#elif PACKETVER >= 20190116
packetLen(0x0b04, 80)
+#endif
// Packet: 0x0b05
-packetLen(0x0b05, 63) // ZC_OFFLINE_STORE_VISIBLE
+packetLen(0x0b05, 63)
// Packet: 0x0b07
packetLen(0x0b07, -1)
// Packet: 0x0b08
-packetLen(0x0b08, -1) // ZC_INVENTORY_START
+packetLen(0x0b08, -1)
// Packet: 0x0b09
-packetLen(0x0b09, -1) // ZC_STORE_ITEMLIST_NORMAL_V6
+packetLen(0x0b09, -1)
// Packet: 0x0b0a
-packetLen(0x0b0a, -1) // ZC_STORE_ITEMLIST_EQUIP_V6
+packetLen(0x0b0a, -1)
// Packet: 0x0b0b
-packetLen(0x0b0b, 4) // ZC_INVENTORY_END
+packetLen(0x0b0b, 4)
// Packet: 0x0b0c
-packetLen(0x0b0c, 155) // ZC_ADD_QUEST_EX
+packetLen(0x0b0c, 155)
// Packet: 0x0b0d
-packetLen(0x0b0d, 10) // ZC_REMOVE_EFFECT
+packetLen(0x0b0d, 10)
// Packet: 0x0b0e
-packetLen(0x0b0e, -1) // ZC_NPC_BARTER_OPEN
+packetLen(0x0b0e, -1)
// Packet: 0x0b0f
-packetLen(0x0b0f, -1) // CZ_NPC_BARTER_PURCHASE
+packetLen(0x0b0f, -1)
// Packet: 0x0b10
-packetLen(0x0b10, 10) // CZ_START_USE_SKILL
+packetLen(0x0b10, 10)
// Packet: 0x0b11
-packetLen(0x0b11, 4) // CZ_STOP_USE_SKILL
+packetLen(0x0b11, 4)
// Packet: 0x0b12
-packetLen(0x0b12, 2) // CZ_NPC_BARTER_CLOSE
+packetLen(0x0b12, 2)
// Packet: 0x0b13
-packetLen(0x0b13, 48) // ZC_ITEM_PREVIEW
+packetLen(0x0b13, 48)
// Packet: 0x0b14
-packetLen(0x0b14, 2) // CZ_INVENTORY_EXPAND
+packetLen(0x0b14, 2)
// Packet: 0x0b15
-packetLen(0x0b15, 7) // ZC_ACK_INVENTORY_EXPAND
+packetLen(0x0b15, 7)
// Packet: 0x0b16
-packetLen(0x0b16, 2) // CZ_INVENTORY_EXPAND_CONFIRMED
+packetLen(0x0b16, 2)
// Packet: 0x0b17
-packetLen(0x0b17, 3) // ZC_ACK_INVENTORY_EXPAND_RESULT
+packetLen(0x0b17, 3)
// Packet: 0x0b18
-packetLen(0x0b18, 4) // ZC_INVENTORY_EXPANSION_INFO
+packetLen(0x0b18, 4)
// Packet: 0x0b19
-packetLen(0x0b19, 2) // CZ_INVENTORY_EXPAND_REJECTED
+packetLen(0x0b19, 2)
// Packet: 0x0b1a
packetLen(0x0b1a, 29)
@@ -4382,5 +4404,486 @@ packetLen(0x0b1a, 29)
packetLen(0x0b1b, 2)
#endif
+// Packet: 0x0b1c
+#if PACKETVER >= 20190220
+packetLen(0x0b1c, 2)
+#endif
+
+// Packet: 0x0b1d
+#if PACKETVER >= 20190220
+packetLen(0x0b1d, 2)
+#endif
+
+// Packet: 0x0b1e
+#if PACKETVER >= 20190626
+packetLen(0x0b1e, 14)
+#elif PACKETVER >= 20190313
+packetLen(0x0b1e, 10)
+#endif
+
+// Packet: 0x0b1f
+#if PACKETVER >= 20190626
+packetLen(0x0b1f, 14)
+#elif 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 >= 20190515
+// removed
+#elif 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 >= 20190515
+packetLen(0x0b28, 3)
+#elif PACKETVER >= 20190502
+packetLen(0x0b28, 22)
+#elif PACKETVER >= 20190424
+packetLen(0x0b28, -1)
+#endif
+
+// Packet: 0x0b29
+#if PACKETVER >= 20190605
+// removed
+#elif PACKETVER >= 20190502
+packetLen(0x0b29, 6)
+#elif PACKETVER >= 20190424
+packetLen(0x0b29, 3)
+#endif
+
+// Packet: 0x0b2a
+#if PACKETVER >= 20190605
+// removed
+#elif PACKETVER >= 20190529
+packetLen(0x0b2a, 40)
+#elif PACKETVER >= 20190502
+packetLen(0x0b2a, 6)
+#endif
+
+// Packet: 0x0b2b
+#if PACKETVER >= 20190515
+packetLen(0x0b2b, 11)
+#endif
+
+// Packet: 0x0b2c
+#if PACKETVER >= 20190515
+packetLen(0x0b2c, 3)
+#endif
+
+// Packet: 0x0b2d
+#if PACKETVER >= 20190515
+packetLen(0x0b2d, 11)
+#endif
+
+// Packet: 0x0b2e
+#if PACKETVER >= 20190515
+packetLen(0x0b2e, 4)
+#endif
+
+// Packet: 0x0b2f
+#if PACKETVER >= 20190529
+packetLen(0x0b2f, 73)
+#endif
+
+// Packet: 0x0b30
+#if PACKETVER >= 20190529
+packetLen(0x0b30, -1)
+#endif
+
+// Packet: 0x0b31
+#if PACKETVER >= 20190626
+packetLen(0x0b31, 17)
+#endif
+
+// Packet: 0x0b32
+#if PACKETVER >= 20190626
+packetLen(0x0b32, -1)
+#endif
+
+// Packet: 0x0b33
+#if PACKETVER >= 20190626
+packetLen(0x0b33, 17)
+#endif
+
+// Packet: 0x0b34
+#if PACKETVER >= 20190724
+packetLen(0x0b34, 50)
+#elif PACKETVER >= 20190626
+packetLen(0x0b34, 26)
+#endif
+
+// Packet: 0x0b35
+#if PACKETVER >= 20190709
+packetLen(0x0b35, 3)
+#endif
+
+// Packet: 0x0b36
+#if PACKETVER >= 20190709
+packetLen(0x0b36, -1)
+#endif
+
+// Packet: 0x0b37
+#if PACKETVER >= 20190724
+packetLen(0x0b37, -1)
+#endif
+
+// Packet: 0x0b38
+#if PACKETVER >= 20191008
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b38, -1)
+#endif
+
+// Packet: 0x0b39
+#if PACKETVER >= 20190724
+packetLen(0x0b39, -1)
+#endif
+
+// Packet: 0x0b3a
+#if PACKETVER >= 20191008
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b3a, 4)
+#endif
+
+// Packet: 0x0b3b
+#if PACKETVER >= 20191008
+// removed
+#elif PACKETVER >= 20190724
+packetLen(0x0b3b, 4)
+#endif
+
+// Packet: 0x0b3c
+#if PACKETVER >= 20190724
+packetLen(0x0b3c, 4)
+#endif
+
+// Packet: 0x0b3d
+#if PACKETVER >= 20190724
+packetLen(0x0b3d, -1)
+#endif
+
+// Packet: 0x0b3e
+#if PACKETVER >= 20190724
+packetLen(0x0b3e, -1)
+#endif
+
+// Packet: 0x0b3f
+#if PACKETVER >= 20191224
+packetLen(0x0b3f, 64)
+#elif PACKETVER >= 20191008
+packetLen(0x0b3f, 63)
+#elif PACKETVER >= 20190724
+packetLen(0x0b3f, 64)
+#endif
+
+// Packet: 0x0b40
+#if PACKETVER >= 20190724
+packetLen(0x0b40, -1)
+#endif
+
+// Packet: 0x0b41
+#if PACKETVER >= 20191224
+packetLen(0x0b41, 70)
+#elif PACKETVER >= 20191008
+packetLen(0x0b41, 69)
+#elif PACKETVER >= 20190724
+packetLen(0x0b41, 41)
+#endif
+
+// Packet: 0x0b42
+#if PACKETVER >= 20191224
+packetLen(0x0b42, 62)
+#elif PACKETVER >= 20191008
+packetLen(0x0b42, 61)
+#elif PACKETVER >= 20190724
+packetLen(0x0b42, 30)
+#endif
+
+// Packet: 0x0b43
+#if PACKETVER >= 20191224
+packetLen(0x0b43, 48)
+#elif PACKETVER >= 20190724
+packetLen(0x0b43, 47)
+#endif
+
+// Packet: 0x0b44
+#if PACKETVER >= 20191224
+packetLen(0x0b44, 58)
+#elif PACKETVER >= 20191008
+packetLen(0x0b44, 57)
+#elif PACKETVER >= 20190724
+packetLen(0x0b44, 32)
+#endif
+
+// Packet: 0x0b45
+#if PACKETVER >= 20191224
+packetLen(0x0b45, 58)
+#elif PACKETVER >= 20191008
+packetLen(0x0b45, 57)
+#elif PACKETVER >= 20190724
+packetLen(0x0b45, 32)
+#endif
+
+// Packet: 0x0b46
+#if PACKETVER >= 20190724
+packetLen(0x0b46, 10)
+#endif
+
+// Packet: 0x0b47
+#if PACKETVER >= 20190724
+packetLen(0x0b47, 14)
+#endif
+
+// Packet: 0x0b48
+#if PACKETVER >= 20190724
+packetLen(0x0b48, 18)
+#endif
+
+// Packet: 0x0b49
+#if PACKETVER >= 20190724
+packetLen(0x0b49, 4)
+#endif
+
+// Packet: 0x0b4a
+#if PACKETVER >= 20190724
+packetLen(0x0b4a, 6)
+#endif
+
+// Packet: 0x0b4b
+#if PACKETVER >= 20190724
+packetLen(0x0b4b, 4)
+#endif
+
+// Packet: 0x0b4c
+#if PACKETVER >= 20190724
+packetLen(0x0b4c, 2)
+#endif
+
+// Packet: 0x0b4d
+#if PACKETVER >= 20190814
+packetLen(0x0b4d, -1)
+#elif PACKETVER >= 20190724
+packetLen(0x0b4d, 6)
+#endif
+
+// Packet: 0x0b4e
+#if PACKETVER >= 20190814
+packetLen(0x0b4e, -1)
+#endif
+
+// Packet: 0x0b4f
+#if PACKETVER >= 20190814
+packetLen(0x0b4f, 2)
+#endif
+
+// Packet: 0x0b50
+#if PACKETVER >= 20190814
+packetLen(0x0b50, 2)
+#endif
+
+// Packet: 0x0b51
+#if PACKETVER >= 20190814
+packetLen(0x0b51, 2)
+#endif
+
+// Packet: 0x0b52
+#if PACKETVER >= 20190814
+packetLen(0x0b52, 2)
+#endif
+
+// Packet: 0x0b53
+#if PACKETVER >= 20190814
+packetLen(0x0b53, 52)
+#endif
+
+// Packet: 0x0b54
+#if PACKETVER >= 20190814
+packetLen(0x0b54, 8)
+#endif
+
+// Packet: 0x0b55
+#if PACKETVER >= 20190828
+packetLen(0x0b55, -1)
+#endif
+
+// Packet: 0x0b56
+#if PACKETVER >= 20190828
+packetLen(0x0b56, -1)
+#endif
+
+// Packet: 0x0b57
+#if PACKETVER >= 20190828
+packetLen(0x0b57, -1)
+#endif
+
+// Packet: 0x0b58
+#if PACKETVER >= 20190828
+packetLen(0x0b58, 2)
+#endif
+
+// Packet: 0x0b59
+#if PACKETVER >= 20191008
+packetLen(0x0b59, 4)
+#elif PACKETVER >= 20190918
+packetLen(0x0b59, 2)
+#endif
+
+// Packet: 0x0b5a
+#if PACKETVER >= 20191008
+packetLen(0x0b5a, -1)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5a, 4)
+#endif
+
+// Packet: 0x0b5b
+#if PACKETVER >= 20191008
+packetLen(0x0b5b, 14)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5b, -1)
+#endif
+
+// Packet: 0x0b5c
+#if PACKETVER >= 20191008
+packetLen(0x0b5c, 2)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5c, 10)
+#endif
+
+// Packet: 0x0b5d
+#if PACKETVER >= 20191008
+packetLen(0x0b5d, 10)
+#elif PACKETVER >= 20190918
+packetLen(0x0b5d, 2)
+#endif
+
+// Packet: 0x0b5e
+#if PACKETVER >= 20191008
+packetLen(0x0b5e, 33)
+#endif
+
+// Packet: 0x0b5f
+#if PACKETVER >= 20191023
+packetLen(0x0b5f, -1)
+#endif
+
+// Packet: 0x0b60
+#if PACKETVER >= 20191023
+packetLen(0x0b60, -1)
+#endif
+
+// Packet: 0x0b61
+#if PACKETVER >= 20191023
+packetLen(0x0b61, -1)
+#endif
+
+// Packet: 0x0b62
+#if PACKETVER >= 20191106
+packetLen(0x0b62, -1)
+#endif
+
+// Packet: 0x0b63
+#if PACKETVER >= 20191106
+packetLen(0x0b63, -1)
+#endif
+
+// Packet: 0x0b64
+#if PACKETVER >= 20191106
+packetLen(0x0b64, -1)
+#endif
+
+// Packet: 0x0b65
+#if PACKETVER >= 20191106
+packetLen(0x0b65, -1)
+#endif
+
+// Packet: 0x0b66
+#if PACKETVER >= 20191224
+packetLen(0x0b66, 26)
+#elif PACKETVER >= 20191106
+packetLen(0x0b66, 25)
+#endif
+
+// Packet: 0x0b67
+#if PACKETVER >= 20191224
+packetLen(0x0b67, 33)
+#elif PACKETVER >= 20191106
+packetLen(0x0b67, 32)
+#endif
+
+// Packet: 0x0b68
+#if PACKETVER >= 20191127
+packetLen(0x0b68, 12)
+#endif
+
+// Packet: 0x0b69
+#if PACKETVER >= 20191127
+packetLen(0x0b69, 18)
+#endif
+
+// Packet: 0x0b6a
+#if PACKETVER >= 20191204
+packetLen(0x0b6a, -1)
+#endif
+
+// Packet: 0x0b6b
+#if PACKETVER >= 20191224
+packetLen(0x0b6b, 14)
+#endif
+
+// Packet: 0x0b6c
+#if PACKETVER >= 20191224
+packetLen(0x0b6c, 12)
+#endif
+
+// Packet: 0x0b6d
+#if PACKETVER >= 20191224
+packetLen(0x0b6d, 6)
+#endif
+
+// Packet: 0x0b6e
+#if PACKETVER >= 20191224
+packetLen(0x0b6e, 14)
+#endif
+
#endif /* COMMON_PACKETS2019_LEN_ZERO_H */
diff --git a/src/common/packets/packets2020_len_main.h b/src/common/packets/packets2020_len_main.h
new file mode 100644
index 000000000..d3adf8405
--- /dev/null
+++ b/src/common/packets/packets2020_len_main.h
@@ -0,0 +1,4659 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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_PACKETS2020_LEN_MAIN_H
+#define COMMON_PACKETS2020_LEN_MAIN_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// Packet: 0x0065
+packetLen(0x0065, 17)
+
+// Packet: 0x0066
+packetLen(0x0066, 3)
+
+// Packet: 0x0067
+packetLen(0x0067, 37)
+
+// Packet: 0x0068
+packetLen(0x0068, 46)
+
+// Packet: 0x0069
+packetLen(0x0069, -1)
+
+// Packet: 0x006a
+packetLen(0x006a, 23)
+
+// Packet: 0x006b
+packetLen(0x006b, -1)
+
+// Packet: 0x006c
+packetLen(0x006c, 3)
+
+// Packet: 0x006d
+packetLen(0x006d, 157)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+packetLen(0x0072, 22)
+
+// Packet: 0x0073
+packetLen(0x0073, 11)
+
+// Packet: 0x0074
+packetLen(0x0074, 3)
+
+// Packet: 0x0075
+packetLen(0x0075, -1)
+
+// Packet: 0x0076
+packetLen(0x0076, 9)
+
+// Packet: 0x0077
+packetLen(0x0077, 5)
+
+// Packet: 0x0078
+packetLen(0x0078, 55)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 44)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+packetLen(0x007e, 46)
+
+// Packet: 0x007f
+packetLen(0x007f, 6)
+
+// Packet: 0x0080
+packetLen(0x0080, 7)
+
+// Packet: 0x0081
+packetLen(0x0081, 3)
+
+// Packet: 0x0082
+packetLen(0x0082, 2)
+
+// Packet: 0x0083
+packetLen(0x0083, 2)
+
+// Packet: 0x0084
+packetLen(0x0084, 2)
+
+// Packet: 0x0085
+packetLen(0x0085, 10)
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+packetLen(0x0089, 11)
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// Packet: 0x008e
+packetLen(0x008e, -1)
+
+// Packet: 0x0090
+packetLen(0x0090, 7)
+
+// Packet: 0x0091
+packetLen(0x0091, 22)
+
+// Packet: 0x0092
+packetLen(0x0092, 28)
+
+// Packet: 0x0093
+packetLen(0x0093, 2)
+
+// Packet: 0x0094
+packetLen(0x0094, 19)
+
+// Packet: 0x0095
+packetLen(0x0095, 30)
+
+// Packet: 0x0096
+packetLen(0x0096, -1)
+
+// Packet: 0x0097
+packetLen(0x0097, -1)
+
+// Packet: 0x0098
+packetLen(0x0098, 3)
+
+// Packet: 0x0099
+packetLen(0x0099, -1)
+
+// Packet: 0x009a
+packetLen(0x009a, -1)
+
+// Packet: 0x009b
+packetLen(0x009b, 34)
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 19)
+
+// Packet: 0x009e
+packetLen(0x009e, 19)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 33)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14)
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9)
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4)
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7)
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1)
+
+// Packet: 0x00af
+packetLen(0x00af, 6)
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8)
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8)
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3)
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3)
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1)
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6)
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6)
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1)
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7)
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6)
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2)
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5)
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6)
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44)
+
+// Packet: 0x00be
+packetLen(0x00be, 5)
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3)
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7)
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2)
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6)
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8)
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6)
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7)
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1)
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1)
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1)
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1)
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3)
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3)
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6)
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3)
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2)
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27)
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3)
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4)
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4)
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2)
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1)
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1)
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3)
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1)
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6)
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14)
+
+// Packet: 0x00da
+packetLen(0x00da, 3)
+
+// Packet: 0x00db
+packetLen(0x00db, -1)
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28)
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29)
+
+// Packet: 0x00de
+packetLen(0x00de, -1)
+
+// Packet: 0x00df
+packetLen(0x00df, -1)
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30)
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30)
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26)
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2)
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6)
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26)
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3)
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3)
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8)
+
+// Packet: 0x00e9
+packetLen(0x00e9, 29)
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5)
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2)
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3)
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2)
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2)
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2)
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3)
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2)
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6)
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1)
+
+// Packet: 0x00f4
+packetLen(0x00f4, 31)
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11)
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17)
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2)
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26)
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3)
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1)
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6)
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27)
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30)
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10)
+
+// Packet: 0x0100
+packetLen(0x0100, 2)
+
+// Packet: 0x0101
+packetLen(0x0101, 6)
+
+// Packet: 0x0102
+packetLen(0x0102, 6)
+
+// Packet: 0x0103
+packetLen(0x0103, 30)
+
+// Packet: 0x0104
+packetLen(0x0104, 79)
+
+// Packet: 0x0105
+packetLen(0x0105, 31)
+
+// Packet: 0x0106
+packetLen(0x0106, 10)
+
+// Packet: 0x0107
+packetLen(0x0107, 10)
+
+// Packet: 0x0108
+packetLen(0x0108, -1)
+
+// Packet: 0x0109
+packetLen(0x0109, -1)
+
+// Packet: 0x010a
+packetLen(0x010a, 6)
+
+// Packet: 0x010b
+packetLen(0x010b, 6)
+
+// Packet: 0x010c
+packetLen(0x010c, 6)
+
+// Packet: 0x010d
+packetLen(0x010d, 2)
+
+// Packet: 0x010e
+packetLen(0x010e, 11)
+
+// Packet: 0x010f
+packetLen(0x010f, -1)
+
+// Packet: 0x0110
+packetLen(0x0110, 14)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+packetLen(0x0113, 25)
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 17)
+
+// Packet: 0x0117
+packetLen(0x0117, 18)
+
+// Packet: 0x0118
+packetLen(0x0118, 2)
+
+// Packet: 0x0119
+packetLen(0x0119, 13)
+
+// Packet: 0x011a
+packetLen(0x011a, 15)
+
+// Packet: 0x011b
+packetLen(0x011b, 20)
+
+// Packet: 0x011c
+packetLen(0x011c, 68)
+
+// Packet: 0x011d
+packetLen(0x011d, 2)
+
+// Packet: 0x011e
+packetLen(0x011e, 3)
+
+// Packet: 0x011f
+packetLen(0x011f, 16)
+
+// Packet: 0x0120
+packetLen(0x0120, 6)
+
+// Packet: 0x0121
+packetLen(0x0121, 14)
+
+// Packet: 0x0122
+packetLen(0x0122, -1)
+
+// Packet: 0x0123
+packetLen(0x0123, -1)
+
+// Packet: 0x0124
+packetLen(0x0124, 31)
+
+// Packet: 0x0125
+packetLen(0x0125, 8)
+
+// Packet: 0x0126
+packetLen(0x0126, 8)
+
+// Packet: 0x0127
+packetLen(0x0127, 8)
+
+// Packet: 0x0128
+packetLen(0x0128, 8)
+
+// Packet: 0x0129
+packetLen(0x0129, 8)
+
+// Packet: 0x012a
+packetLen(0x012a, 2)
+
+// Packet: 0x012b
+packetLen(0x012b, 2)
+
+// Packet: 0x012c
+packetLen(0x012c, 3)
+
+// Packet: 0x012d
+packetLen(0x012d, 4)
+
+// Packet: 0x012e
+packetLen(0x012e, 2)
+
+// Packet: 0x012f
+packetLen(0x012f, -1)
+
+// Packet: 0x0130
+packetLen(0x0130, 6)
+
+// Packet: 0x0131
+packetLen(0x0131, 86)
+
+// Packet: 0x0132
+packetLen(0x0132, 6)
+
+// Packet: 0x0133
+packetLen(0x0133, -1)
+
+// Packet: 0x0134
+packetLen(0x0134, -1)
+
+// Packet: 0x0135
+packetLen(0x0135, 7)
+
+// Packet: 0x0136
+packetLen(0x0136, -1)
+
+// Packet: 0x0137
+packetLen(0x0137, 6)
+
+// Packet: 0x0138
+packetLen(0x0138, 3)
+
+// Packet: 0x0139
+packetLen(0x0139, 16)
+
+// Packet: 0x013a
+packetLen(0x013a, 4)
+
+// Packet: 0x013b
+packetLen(0x013b, 4)
+
+// Packet: 0x013c
+packetLen(0x013c, 4)
+
+// Packet: 0x013d
+packetLen(0x013d, 6)
+
+// Packet: 0x013e
+packetLen(0x013e, 24)
+
+// Packet: 0x013f
+packetLen(0x013f, 26)
+
+// Packet: 0x0140
+packetLen(0x0140, 22)
+
+// Packet: 0x0141
+packetLen(0x0141, 14)
+
+// Packet: 0x0142
+packetLen(0x0142, 6)
+
+// Packet: 0x0143
+packetLen(0x0143, 10)
+
+// Packet: 0x0144
+packetLen(0x0144, 23)
+
+// Packet: 0x0145
+packetLen(0x0145, 19)
+
+// Packet: 0x0146
+packetLen(0x0146, 6)
+
+// Packet: 0x0147
+packetLen(0x0147, 39)
+
+// Packet: 0x0148
+packetLen(0x0148, 8)
+
+// Packet: 0x0149
+packetLen(0x0149, 9)
+
+// Packet: 0x014a
+packetLen(0x014a, 6)
+
+// Packet: 0x014b
+packetLen(0x014b, 27)
+
+// Packet: 0x014c
+packetLen(0x014c, -1)
+
+// Packet: 0x014d
+packetLen(0x014d, 2)
+
+// Packet: 0x014e
+packetLen(0x014e, 6)
+
+// Packet: 0x014f
+packetLen(0x014f, 6)
+
+// Packet: 0x0150
+packetLen(0x0150, 110)
+
+// Packet: 0x0151
+packetLen(0x0151, 6)
+
+// Packet: 0x0152
+packetLen(0x0152, -1)
+
+// Packet: 0x0153
+packetLen(0x0153, -1)
+
+// Packet: 0x0154
+packetLen(0x0154, -1)
+
+// Packet: 0x0155
+packetLen(0x0155, -1)
+
+// Packet: 0x0156
+packetLen(0x0156, -1)
+
+// Packet: 0x0157
+packetLen(0x0157, 6)
+
+// Packet: 0x0159
+packetLen(0x0159, 54)
+
+// Packet: 0x015a
+packetLen(0x015a, 66)
+
+// Packet: 0x015b
+packetLen(0x015b, 54)
+
+// Packet: 0x015c
+packetLen(0x015c, 90)
+
+// Packet: 0x015d
+packetLen(0x015d, 42)
+
+// Packet: 0x015e
+packetLen(0x015e, 6)
+
+// Packet: 0x015f
+packetLen(0x015f, 42)
+
+// Packet: 0x0160
+packetLen(0x0160, -1)
+
+// Packet: 0x0161
+packetLen(0x0161, -1)
+
+// Packet: 0x0162
+packetLen(0x0162, -1)
+
+// Packet: 0x0163
+packetLen(0x0163, -1)
+
+// Packet: 0x0164
+packetLen(0x0164, -1)
+
+// Packet: 0x0165
+packetLen(0x0165, 30)
+
+// Packet: 0x0166
+packetLen(0x0166, -1)
+
+// Packet: 0x0167
+packetLen(0x0167, 3)
+
+// Packet: 0x0168
+packetLen(0x0168, 14)
+
+// Packet: 0x0169
+packetLen(0x0169, 3)
+
+// Packet: 0x016a
+packetLen(0x016a, 30)
+
+// Packet: 0x016b
+packetLen(0x016b, 10)
+
+// Packet: 0x016c
+packetLen(0x016c, 43)
+
+// Packet: 0x016d
+packetLen(0x016d, 14)
+
+// Packet: 0x016e
+packetLen(0x016e, 186)
+
+// Packet: 0x016f
+packetLen(0x016f, 182)
+
+// Packet: 0x0170
+packetLen(0x0170, 14)
+
+// Packet: 0x0171
+packetLen(0x0171, 30)
+
+// Packet: 0x0172
+packetLen(0x0172, 10)
+
+// Packet: 0x0173
+packetLen(0x0173, 3)
+
+// Packet: 0x0174
+packetLen(0x0174, -1)
+
+// Packet: 0x0175
+packetLen(0x0175, 6)
+
+// Packet: 0x0176
+packetLen(0x0176, 106)
+
+// Packet: 0x0177
+packetLen(0x0177, -1)
+
+// Packet: 0x0178
+packetLen(0x0178, 4)
+
+// Packet: 0x0179
+packetLen(0x0179, 5)
+
+// Packet: 0x017a
+packetLen(0x017a, 4)
+
+// Packet: 0x017b
+packetLen(0x017b, -1)
+
+// Packet: 0x017c
+packetLen(0x017c, 6)
+
+// Packet: 0x017d
+packetLen(0x017d, 7)
+
+// Packet: 0x017e
+packetLen(0x017e, -1)
+
+// Packet: 0x017f
+packetLen(0x017f, -1)
+
+// Packet: 0x0180
+packetLen(0x0180, 6)
+
+// Packet: 0x0181
+packetLen(0x0181, 3)
+
+// Packet: 0x0182
+packetLen(0x0182, 106)
+
+// Packet: 0x0183
+packetLen(0x0183, 10)
+
+// Packet: 0x0184
+packetLen(0x0184, 10)
+
+// Packet: 0x0185
+packetLen(0x0185, 34)
+
+// Packet: 0x0187
+packetLen(0x0187, 6)
+
+// Packet: 0x0188
+packetLen(0x0188, 8)
+
+// Packet: 0x0189
+packetLen(0x0189, 4)
+
+// Packet: 0x018a
+packetLen(0x018a, 4)
+
+// Packet: 0x018b
+packetLen(0x018b, 4)
+
+// Packet: 0x018c
+packetLen(0x018c, 29)
+
+// Packet: 0x018d
+packetLen(0x018d, -1)
+
+// Packet: 0x018e
+packetLen(0x018e, 18)
+
+// Packet: 0x018f
+packetLen(0x018f, 8)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 27)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 2)
+
+// Packet: 0x0194
+packetLen(0x0194, 30)
+
+// Packet: 0x0195
+packetLen(0x0195, 102)
+
+// Packet: 0x0196
+packetLen(0x0196, 9)
+
+// Packet: 0x0197
+packetLen(0x0197, 4)
+
+// Packet: 0x0198
+packetLen(0x0198, 8)
+
+// Packet: 0x0199
+packetLen(0x0199, 4)
+
+// Packet: 0x019a
+packetLen(0x019a, 14)
+
+// Packet: 0x019b
+packetLen(0x019b, 10)
+
+// Packet: 0x019c
+packetLen(0x019c, -1)
+
+// Packet: 0x019d
+packetLen(0x019d, 6)
+
+// Packet: 0x019e
+packetLen(0x019e, 2)
+
+// Packet: 0x019f
+packetLen(0x019f, 6)
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3)
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3)
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 7)
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11)
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26)
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1)
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4)
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4)
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6)
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10)
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12)
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6)
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1)
+
+// Packet: 0x01ae
+packetLen(0x01ae, 6)
+
+// Packet: 0x01af
+packetLen(0x01af, 4)
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11)
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7)
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1)
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67)
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12)
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18)
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114)
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6)
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3)
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6)
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26)
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26)
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26)
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26)
+
+// Packet: 0x01be
+packetLen(0x01be, 2)
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3)
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2)
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14)
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10)
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1)
+
+// Packet: 0x01c4
+packetLen(0x01c4, 32)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 32)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 15)
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97)
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3)
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9)
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9)
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30)
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6)
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28)
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8)
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14)
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10)
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35)
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6)
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1)
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4)
+
+// Packet: 0x01d7
+packetLen(0x01d7, 15)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 58)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 57)
+
+// Packet: 0x01da
+packetLen(0x01da, 64)
+
+// Packet: 0x01db
+packetLen(0x01db, 2)
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1)
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47)
+
+// Packet: 0x01de
+packetLen(0x01de, 33)
+
+// Packet: 0x01df
+packetLen(0x01df, 6)
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30)
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8)
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34)
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14)
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2)
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6)
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26)
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2)
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28)
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81)
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6)
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10)
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26)
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2)
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1)
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1)
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1)
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1)
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20)
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10)
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32)
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9)
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34)
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14)
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2)
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6)
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48)
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56)
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1)
+
+// Packet: 0x01fd
+packetLen(0x01fd, 25)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+packetLen(0x0202, 26)
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 35)
+
+// Packet: 0x0207
+packetLen(0x0207, 34)
+
+// Packet: 0x0208
+packetLen(0x0208, 14)
+
+// Packet: 0x0209
+packetLen(0x0209, 36)
+
+// Packet: 0x020a
+packetLen(0x020a, 10)
+
+// Packet: 0x020d
+packetLen(0x020d, -1)
+
+// Packet: 0x020e
+packetLen(0x020e, 32)
+
+// Packet: 0x0212
+packetLen(0x0212, 26)
+
+// Packet: 0x0213
+packetLen(0x0213, 26)
+
+// Packet: 0x0214
+packetLen(0x0214, 42)
+
+// Packet: 0x0215
+packetLen(0x0215, 6)
+
+// Packet: 0x0216
+packetLen(0x0216, 6)
+
+// Packet: 0x0217
+packetLen(0x0217, 2)
+
+// Packet: 0x0218
+packetLen(0x0218, 2)
+
+// Packet: 0x0219
+packetLen(0x0219, 282)
+
+// Packet: 0x021a
+packetLen(0x021a, 282)
+
+// Packet: 0x021b
+packetLen(0x021b, 10)
+
+// Packet: 0x021c
+packetLen(0x021c, 10)
+
+// Packet: 0x021d
+packetLen(0x021d, 6)
+
+// Packet: 0x021e
+packetLen(0x021e, 6)
+
+// Packet: 0x021f
+packetLen(0x021f, 66)
+
+// Packet: 0x0220
+packetLen(0x0220, 10)
+
+// Packet: 0x0221
+packetLen(0x0221, -1)
+
+// Packet: 0x0222
+packetLen(0x0222, 6)
+
+// Packet: 0x0223
+packetLen(0x0223, 10)
+
+// Packet: 0x0224
+packetLen(0x0224, 10)
+
+// Packet: 0x0225
+packetLen(0x0225, 2)
+
+// Packet: 0x0226
+packetLen(0x0226, 282)
+
+// Packet: 0x0227
+packetLen(0x0227, 18)
+
+// Packet: 0x0228
+packetLen(0x0228, 18)
+
+// Packet: 0x0229
+packetLen(0x0229, 15)
+
+// Packet: 0x022a
+packetLen(0x022a, 62)
+
+// Packet: 0x022b
+packetLen(0x022b, 61)
+
+// Packet: 0x022c
+packetLen(0x022c, 69)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 73)
+
+// Packet: 0x022f
+packetLen(0x022f, 7)
+
+// Packet: 0x0230
+packetLen(0x0230, 12)
+
+// Packet: 0x0231
+packetLen(0x0231, 26)
+
+// Packet: 0x0232
+packetLen(0x0232, 9)
+
+// Packet: 0x0233
+packetLen(0x0233, 11)
+
+// Packet: 0x0234
+packetLen(0x0234, 6)
+
+// Packet: 0x0235
+packetLen(0x0235, -1)
+
+// Packet: 0x0236
+packetLen(0x0236, 10)
+
+// Packet: 0x0237
+packetLen(0x0237, 2)
+
+// Packet: 0x0238
+packetLen(0x0238, 282)
+
+// Packet: 0x0239
+packetLen(0x0239, 11)
+
+// Packet: 0x023a
+packetLen(0x023a, 4)
+
+// Packet: 0x023b
+packetLen(0x023b, 36)
+
+// Packet: 0x023c
+packetLen(0x023c, 6)
+
+// Packet: 0x023d
+packetLen(0x023d, 6)
+
+// Packet: 0x023e
+packetLen(0x023e, 8)
+
+// Packet: 0x023f
+packetLen(0x023f, 2)
+
+// Packet: 0x0240
+packetLen(0x0240, -1)
+
+// Packet: 0x0241
+packetLen(0x0241, 6)
+
+// Packet: 0x0242
+packetLen(0x0242, -1)
+
+// Packet: 0x0243
+packetLen(0x0243, 6)
+
+// Packet: 0x0244
+packetLen(0x0244, 6)
+
+// Packet: 0x0245
+packetLen(0x0245, 3)
+
+// Packet: 0x0246
+packetLen(0x0246, 4)
+
+// Packet: 0x0247
+packetLen(0x0247, 8)
+
+// Packet: 0x0248
+packetLen(0x0248, -1)
+
+// Packet: 0x0249
+packetLen(0x0249, 3)
+
+// Packet: 0x024a
+packetLen(0x024a, 70)
+
+// Packet: 0x024b
+packetLen(0x024b, 4)
+
+// Packet: 0x024c
+packetLen(0x024c, 8)
+
+// Packet: 0x024d
+packetLen(0x024d, 12)
+
+// Packet: 0x024e
+packetLen(0x024e, 6)
+
+// Packet: 0x024f
+packetLen(0x024f, 10)
+
+// Packet: 0x0250
+packetLen(0x0250, 3)
+
+// Packet: 0x0251
+packetLen(0x0251, 34)
+
+// Packet: 0x0252
+packetLen(0x0252, -1)
+
+// Packet: 0x0253
+packetLen(0x0253, 3)
+
+// Packet: 0x0254
+packetLen(0x0254, 3)
+
+// Packet: 0x0255
+packetLen(0x0255, 5)
+
+// Packet: 0x0256
+packetLen(0x0256, 5)
+
+// Packet: 0x0257
+packetLen(0x0257, 8)
+
+// Packet: 0x0258
+packetLen(0x0258, 2)
+
+// Packet: 0x0259
+packetLen(0x0259, 3)
+
+// Packet: 0x025a
+packetLen(0x025a, -1)
+
+// Packet: 0x025b
+packetLen(0x025b, 8)
+
+// Packet: 0x025c
+packetLen(0x025c, 4)
+
+// Packet: 0x025d
+packetLen(0x025d, 6)
+
+// Packet: 0x025e
+packetLen(0x025e, 4)
+
+// Packet: 0x025f
+packetLen(0x025f, 6)
+
+// Packet: 0x0260
+packetLen(0x0260, 6)
+
+// Packet: 0x0261
+packetLen(0x0261, 11)
+
+// Packet: 0x0262
+packetLen(0x0262, 11)
+
+// Packet: 0x0263
+packetLen(0x0263, 11)
+
+// Packet: 0x0264
+packetLen(0x0264, 20)
+
+// Packet: 0x0265
+packetLen(0x0265, 20)
+
+// Packet: 0x0266
+packetLen(0x0266, 30)
+
+// Packet: 0x0267
+packetLen(0x0267, 4)
+
+// Packet: 0x0268
+packetLen(0x0268, 4)
+
+// Packet: 0x0269
+packetLen(0x0269, 4)
+
+// Packet: 0x026a
+packetLen(0x026a, 4)
+
+// Packet: 0x026b
+packetLen(0x026b, 4)
+
+// Packet: 0x026c
+packetLen(0x026c, 4)
+
+// Packet: 0x026d
+packetLen(0x026d, 4)
+
+// Packet: 0x026f
+packetLen(0x026f, 2)
+
+// Packet: 0x0270
+packetLen(0x0270, 2)
+
+// Packet: 0x0271
+packetLen(0x0271, 40)
+
+// Packet: 0x0272
+packetLen(0x0272, 44)
+
+// Packet: 0x0273
+packetLen(0x0273, 30)
+
+// Packet: 0x0274
+packetLen(0x0274, 8)
+
+// Packet: 0x0275
+packetLen(0x0275, 37)
+
+// Packet: 0x0276
+packetLen(0x0276, -1)
+
+// Packet: 0x0277
+packetLen(0x0277, 84)
+
+// Packet: 0x0278
+packetLen(0x0278, 2)
+
+// Packet: 0x0279
+packetLen(0x0279, 2)
+
+// Packet: 0x027a
+packetLen(0x027a, -1)
+
+// Packet: 0x027b
+packetLen(0x027b, 14)
+
+// Packet: 0x027c
+packetLen(0x027c, 60)
+
+// Packet: 0x027d
+packetLen(0x027d, 62)
+
+// Packet: 0x027e
+packetLen(0x027e, -1)
+
+// Packet: 0x027f
+packetLen(0x027f, 8)
+
+// Packet: 0x0280
+packetLen(0x0280, 12)
+
+// Packet: 0x0281
+packetLen(0x0281, 4)
+
+// Packet: 0x0282
+packetLen(0x0282, 284)
+
+// Packet: 0x0283
+packetLen(0x0283, 6)
+
+// Packet: 0x0284
+packetLen(0x0284, 14)
+
+// Packet: 0x0285
+packetLen(0x0285, 6)
+
+// Packet: 0x0286
+packetLen(0x0286, 4)
+
+// Packet: 0x0287
+packetLen(0x0287, -1)
+
+// Packet: 0x0288
+packetLen(0x0288, -1)
+
+// Packet: 0x0289
+packetLen(0x0289, 12)
+
+// Packet: 0x028a
+packetLen(0x028a, 18)
+
+// Packet: 0x028b
+packetLen(0x028b, -1)
+
+// Packet: 0x028c
+packetLen(0x028c, 46)
+
+// Packet: 0x028d
+packetLen(0x028d, 34)
+
+// Packet: 0x028e
+packetLen(0x028e, 4)
+
+// Packet: 0x028f
+packetLen(0x028f, 6)
+
+// Packet: 0x0290
+packetLen(0x0290, 4)
+
+// Packet: 0x0291
+packetLen(0x0291, 4)
+
+// Packet: 0x0292
+packetLen(0x0292, 2)
+
+// Packet: 0x0293
+packetLen(0x0293, 70)
+
+// Packet: 0x0294
+packetLen(0x0294, 10)
+
+// Packet: 0x0295
+packetLen(0x0295, -1)
+
+// Packet: 0x0296
+packetLen(0x0296, -1)
+
+// Packet: 0x0297
+packetLen(0x0297, -1)
+
+// Packet: 0x0298
+packetLen(0x0298, 10)
+
+// Packet: 0x0299
+packetLen(0x0299, 8)
+
+// Packet: 0x029a
+packetLen(0x029a, 37)
+
+// Packet: 0x029b
+packetLen(0x029b, 80)
+
+// Packet: 0x029c
+packetLen(0x029c, 66)
+
+// Packet: 0x029d
+packetLen(0x029d, -1)
+
+// Packet: 0x029e
+packetLen(0x029e, 11)
+
+// Packet: 0x029f
+packetLen(0x029f, 3)
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8)
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8)
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1)
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1)
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4)
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36)
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6)
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8)
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85)
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1)
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1)
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107)
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6)
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1)
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7)
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7)
+
+// Packet: 0x02b8
+packetLen(0x02b8, 32)
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191)
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11)
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8)
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6)
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1)
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1)
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26)
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30)
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30)
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7)
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3)
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3)
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3)
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65)
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4)
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71)
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10)
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6)
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1)
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1)
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1)
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4)
+
+// Packet: 0x02d4
+packetLen(0x02d4, 39)
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2)
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6)
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1)
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10)
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10)
+
+// Packet: 0x02da
+packetLen(0x02da, 3)
+
+// Packet: 0x02db
+packetLen(0x02db, -1)
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1)
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32)
+
+// Packet: 0x02de
+packetLen(0x02de, 6)
+
+// Packet: 0x02df
+packetLen(0x02df, 36)
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34)
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33)
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20)
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22)
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11)
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9)
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6)
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1)
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1)
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1)
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1)
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13)
+
+// Packet: 0x02ec
+packetLen(0x02ec, 71)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 63)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 64)
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10)
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2)
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2)
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1)
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3)
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7)
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7)
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+packetLen(0x035f, 5)
+
+// Packet: 0x0360
+packetLen(0x0360, 6)
+
+// Packet: 0x0361
+packetLen(0x0361, 5)
+
+// Packet: 0x0362
+packetLen(0x0362, 6)
+
+// Packet: 0x0363
+packetLen(0x0363, 6)
+
+// Packet: 0x0364
+packetLen(0x0364, 8)
+
+// Packet: 0x0365
+packetLen(0x0365, 8)
+
+// Packet: 0x0366
+packetLen(0x0366, 10)
+
+// Packet: 0x0367
+packetLen(0x0367, 31)
+
+// Packet: 0x0368
+packetLen(0x0368, 6)
+
+// Packet: 0x0369
+packetLen(0x0369, 6)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+packetLen(0x0436, 19)
+
+// Packet: 0x0437
+packetLen(0x0437, 7)
+
+// Packet: 0x0438
+packetLen(0x0438, 10)
+
+// Packet: 0x0439
+packetLen(0x0439, 8)
+
+// Packet: 0x043d
+packetLen(0x043d, 8)
+
+// Packet: 0x043e
+packetLen(0x043e, -1)
+
+// Packet: 0x043f
+packetLen(0x043f, 25)
+
+// Packet: 0x0440
+packetLen(0x0440, 10)
+
+// Packet: 0x0441
+packetLen(0x0441, 4)
+
+// Packet: 0x0442
+packetLen(0x0442, -1)
+
+// Packet: 0x0443
+packetLen(0x0443, 8)
+
+// Packet: 0x0444
+packetLen(0x0444, -1)
+
+// Packet: 0x0445
+packetLen(0x0445, 12)
+
+// Packet: 0x0446
+packetLen(0x0446, 14)
+
+// Packet: 0x0447
+packetLen(0x0447, 2)
+
+// Packet: 0x0448
+packetLen(0x0448, -1)
+
+// Packet: 0x0449
+packetLen(0x0449, 4)
+
+// Packet: 0x044a
+packetLen(0x044a, 6)
+
+// Packet: 0x044b
+packetLen(0x044b, 2)
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8)
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8)
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268)
+
+// Packet: 0x07da
+packetLen(0x07da, 6)
+
+// Packet: 0x07db
+packetLen(0x07db, 8)
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6)
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54)
+
+// Packet: 0x07de
+packetLen(0x07de, 30)
+
+// Packet: 0x07df
+packetLen(0x07df, 54)
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58)
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15)
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8)
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6)
+
+// Packet: 0x07e4
+packetLen(0x07e4, -1)
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4)
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8)
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32)
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1)
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5)
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2)
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1)
+
+// Packet: 0x07ec
+packetLen(0x07ec, 8)
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10)
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6)
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8)
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6)
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18)
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8)
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6)
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3)
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6)
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14)
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1)
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1)
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1)
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8)
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25)
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10)
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1)
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26)
+
+// Packet: 0x0800
+packetLen(0x0800, -1)
+
+// Packet: 0x0801
+packetLen(0x0801, -1)
+
+// Packet: 0x0802
+packetLen(0x0802, 18)
+
+// Packet: 0x0803
+packetLen(0x0803, 4)
+
+// Packet: 0x0804
+packetLen(0x0804, 14)
+
+// Packet: 0x0805
+packetLen(0x0805, -1)
+
+// Packet: 0x0806
+packetLen(0x0806, 2)
+
+// Packet: 0x0807
+packetLen(0x0807, 4)
+
+// Packet: 0x0808
+packetLen(0x0808, 14)
+
+// Packet: 0x0809
+packetLen(0x0809, 50)
+
+// Packet: 0x080a
+packetLen(0x080a, 18)
+
+// Packet: 0x080b
+packetLen(0x080b, 6)
+
+// Packet: 0x080c
+packetLen(0x080c, 2)
+
+// Packet: 0x080d
+packetLen(0x080d, 3)
+
+// Packet: 0x080e
+packetLen(0x080e, 14)
+
+// Packet: 0x080f
+packetLen(0x080f, 30)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+packetLen(0x0811, -1)
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+packetLen(0x0815, 2)
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+packetLen(0x0817, 6)
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+packetLen(0x0819, -1)
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 12)
+
+// Packet: 0x081c
+packetLen(0x081c, 10)
+
+// Packet: 0x081d
+packetLen(0x081d, 22)
+
+// Packet: 0x081e
+packetLen(0x081e, 8)
+
+// Packet: 0x081f
+packetLen(0x081f, -1)
+
+// Packet: 0x0820
+packetLen(0x0820, 11)
+
+// Packet: 0x0821
+packetLen(0x0821, 2)
+
+// Packet: 0x0822
+packetLen(0x0822, 9)
+
+// Packet: 0x0823
+packetLen(0x0823, -1)
+
+// Packet: 0x0824
+packetLen(0x0824, 8)
+
+// Packet: 0x0825
+packetLen(0x0825, -1)
+
+// Packet: 0x0827
+packetLen(0x0827, 6)
+
+// Packet: 0x0828
+packetLen(0x0828, 14)
+
+// Packet: 0x0829
+packetLen(0x0829, 12)
+
+// Packet: 0x082a
+packetLen(0x082a, 10)
+
+// Packet: 0x082b
+packetLen(0x082b, 6)
+
+// Packet: 0x082c
+packetLen(0x082c, 10)
+
+// Packet: 0x082d
+packetLen(0x082d, -1)
+
+// Packet: 0x0835
+packetLen(0x0835, -1)
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+packetLen(0x0838, 2)
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+packetLen(0x083c, 14)
+
+// Packet: 0x083d
+packetLen(0x083d, 6)
+
+// Packet: 0x083e
+packetLen(0x083e, 26)
+
+// Packet: 0x0840
+packetLen(0x0840, -1)
+
+// Packet: 0x0841
+packetLen(0x0841, 4)
+
+// Packet: 0x0842
+packetLen(0x0842, 6)
+
+// Packet: 0x0843
+packetLen(0x0843, 6)
+
+// Packet: 0x0844
+packetLen(0x0844, 2)
+
+// Packet: 0x0845
+packetLen(0x0845, 10)
+
+// Packet: 0x0846
+packetLen(0x0846, 4)
+
+// Packet: 0x0847
+packetLen(0x0847, -1)
+
+// Packet: 0x0848
+packetLen(0x0848, -1)
+
+// Packet: 0x0849
+packetLen(0x0849, 16)
+
+// Packet: 0x084a
+packetLen(0x084a, 2)
+
+// Packet: 0x084b
+packetLen(0x084b, 21)
+
+// Packet: 0x084c
+packetLen(0x084c, 10)
+
+// Packet: 0x084d
+packetLen(0x084d, 10)
+
+// Packet: 0x084e
+packetLen(0x084e, 5)
+
+// Packet: 0x084f
+packetLen(0x084f, 6)
+
+// Packet: 0x0850
+packetLen(0x0850, 7)
+
+// Packet: 0x0851
+packetLen(0x0851, -1)
+
+// Packet: 0x0852
+packetLen(0x0852, 2)
+
+// Packet: 0x0853
+packetLen(0x0853, -1)
+
+// Packet: 0x0854
+packetLen(0x0854, -1)
+
+// Packet: 0x0855
+packetLen(0x0855, 6)
+
+// Packet: 0x0856
+packetLen(0x0856, -1)
+
+// Packet: 0x0857
+packetLen(0x0857, -1)
+
+// Packet: 0x0858
+packetLen(0x0858, -1)
+
+// Packet: 0x0859
+packetLen(0x0859, -1)
+
+// Packet: 0x085a
+packetLen(0x085a, 2)
+
+// Packet: 0x085b
+packetLen(0x085b, 2)
+
+// Packet: 0x085c
+packetLen(0x085c, 2)
+
+// Packet: 0x085d
+packetLen(0x085d, 2)
+
+// Packet: 0x085e
+packetLen(0x085e, 2)
+
+// Packet: 0x085f
+packetLen(0x085f, 2)
+
+// Packet: 0x0860
+packetLen(0x0860, 2)
+
+// Packet: 0x0861
+packetLen(0x0861, 2)
+
+// Packet: 0x0862
+packetLen(0x0862, 2)
+
+// Packet: 0x0863
+packetLen(0x0863, 2)
+
+// Packet: 0x0864
+packetLen(0x0864, 2)
+
+// Packet: 0x0865
+packetLen(0x0865, 2)
+
+// Packet: 0x0866
+packetLen(0x0866, 2)
+
+// Packet: 0x0867
+packetLen(0x0867, 2)
+
+// Packet: 0x0868
+packetLen(0x0868, 2)
+
+// Packet: 0x0869
+packetLen(0x0869, 2)
+
+// Packet: 0x086a
+packetLen(0x086a, 2)
+
+// Packet: 0x086b
+packetLen(0x086b, 2)
+
+// Packet: 0x086c
+packetLen(0x086c, 2)
+
+// Packet: 0x086d
+packetLen(0x086d, 2)
+
+// Packet: 0x086e
+packetLen(0x086e, 2)
+
+// Packet: 0x086f
+packetLen(0x086f, 2)
+
+// Packet: 0x0870
+packetLen(0x0870, 2)
+
+// Packet: 0x0871
+packetLen(0x0871, 2)
+
+// Packet: 0x0872
+packetLen(0x0872, 2)
+
+// Packet: 0x0873
+packetLen(0x0873, 2)
+
+// Packet: 0x0874
+packetLen(0x0874, 2)
+
+// Packet: 0x0875
+packetLen(0x0875, 2)
+
+// Packet: 0x0876
+packetLen(0x0876, 2)
+
+// Packet: 0x0877
+packetLen(0x0877, 2)
+
+// Packet: 0x0878
+packetLen(0x0878, 2)
+
+// Packet: 0x0879
+packetLen(0x0879, 2)
+
+// Packet: 0x087a
+packetLen(0x087a, 2)
+
+// Packet: 0x087b
+packetLen(0x087b, 2)
+
+// Packet: 0x087c
+packetLen(0x087c, 2)
+
+// Packet: 0x087d
+packetLen(0x087d, 2)
+
+// Packet: 0x087e
+packetLen(0x087e, 2)
+
+// Packet: 0x087f
+packetLen(0x087f, 2)
+
+// Packet: 0x0880
+packetLen(0x0880, 2)
+
+// Packet: 0x0881
+packetLen(0x0881, 2)
+
+// Packet: 0x0882
+packetLen(0x0882, 2)
+
+// Packet: 0x0883
+packetLen(0x0883, 2)
+
+// Packet: 0x0884
+packetLen(0x0884, 2)
+
+// Packet: 0x0885
+packetLen(0x0885, 2)
+
+// Packet: 0x0886
+packetLen(0x0886, 2)
+
+// Packet: 0x0887
+packetLen(0x0887, 2)
+
+// Packet: 0x0888
+packetLen(0x0888, 2)
+
+// Packet: 0x0889
+packetLen(0x0889, 2)
+
+// Packet: 0x088a
+packetLen(0x088a, 2)
+
+// Packet: 0x088b
+packetLen(0x088b, 2)
+
+// Packet: 0x088c
+packetLen(0x088c, 2)
+
+// Packet: 0x088d
+packetLen(0x088d, 2)
+
+// Packet: 0x088e
+packetLen(0x088e, 2)
+
+// Packet: 0x088f
+packetLen(0x088f, 2)
+
+// Packet: 0x0890
+packetLen(0x0890, 2)
+
+// Packet: 0x0891
+packetLen(0x0891, 2)
+
+// Packet: 0x0892
+packetLen(0x0892, 2)
+
+// Packet: 0x0893
+packetLen(0x0893, 2)
+
+// Packet: 0x0894
+packetLen(0x0894, 2)
+
+// Packet: 0x0895
+packetLen(0x0895, 2)
+
+// Packet: 0x0896
+packetLen(0x0896, 2)
+
+// Packet: 0x0897
+packetLen(0x0897, 2)
+
+// Packet: 0x0898
+packetLen(0x0898, 2)
+
+// Packet: 0x0899
+packetLen(0x0899, 2)
+
+// Packet: 0x089a
+packetLen(0x089a, 2)
+
+// Packet: 0x089b
+packetLen(0x089b, 2)
+
+// Packet: 0x089c
+packetLen(0x089c, 2)
+
+// Packet: 0x089d
+packetLen(0x089d, 2)
+
+// Packet: 0x089e
+packetLen(0x089e, 2)
+
+// Packet: 0x089f
+packetLen(0x089f, 2)
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2)
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2)
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2)
+
+// Packet: 0x08a3
+packetLen(0x08a3, 2)
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2)
+
+// Packet: 0x08a5
+packetLen(0x08a5, 2)
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2)
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2)
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2)
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2)
+
+// Packet: 0x08aa
+packetLen(0x08aa, 2)
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2)
+
+// Packet: 0x08ac
+packetLen(0x08ac, 2)
+
+// Packet: 0x08ad
+packetLen(0x08ad, 2)
+
+// Packet: 0x08af
+packetLen(0x08af, 10)
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17)
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1)
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1)
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1)
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2)
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6)
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3)
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10)
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12)
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10)
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8)
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10)
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8)
+
+// Packet: 0x08be
+packetLen(0x08be, 14)
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8)
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1)
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2)
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2)
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10)
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8)
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6)
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4)
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1)
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34)
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2)
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1)
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1)
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109)
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10)
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2)
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10)
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9)
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7)
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10)
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10)
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8)
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1)
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6)
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28)
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27)
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30)
+
+// Packet: 0x08da
+packetLen(0x08da, 26)
+
+// Packet: 0x08db
+packetLen(0x08db, 27)
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26)
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27)
+
+// Packet: 0x08de
+packetLen(0x08de, 27)
+
+// Packet: 0x08df
+packetLen(0x08df, 50)
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51)
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51)
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27)
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157)
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6)
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30)
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6)
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1)
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24)
+
+// Packet: 0x0900
+packetLen(0x0900, -1)
+
+// Packet: 0x0901
+packetLen(0x0901, -1)
+
+// Packet: 0x0902
+packetLen(0x0902, -1)
+
+// Packet: 0x0903
+packetLen(0x0903, -1)
+
+// Packet: 0x0904
+packetLen(0x0904, -1)
+
+// Packet: 0x0905
+packetLen(0x0905, -1)
+
+// Packet: 0x0906
+packetLen(0x0906, -1)
+
+// Packet: 0x0907
+packetLen(0x0907, 5)
+
+// Packet: 0x0908
+packetLen(0x0908, 5)
+
+// Packet: 0x090a
+packetLen(0x090a, 26)
+
+// Packet: 0x090d
+packetLen(0x090d, -1)
+
+// Packet: 0x090e
+packetLen(0x090e, 2)
+
+// Packet: 0x090f
+packetLen(0x090f, -1)
+
+// Packet: 0x0910
+packetLen(0x0910, 10)
+
+// Packet: 0x0911
+packetLen(0x0911, 30)
+
+// Packet: 0x0912
+packetLen(0x0912, 10)
+
+// Packet: 0x0913
+packetLen(0x0913, 30)
+
+// Packet: 0x0914
+packetLen(0x0914, -1)
+
+// Packet: 0x0915
+packetLen(0x0915, -1)
+
+// Packet: 0x0916
+packetLen(0x0916, 26)
+
+// Packet: 0x0917
+packetLen(0x0917, 2)
+
+// Packet: 0x0918
+packetLen(0x0918, 2)
+
+// Packet: 0x0919
+packetLen(0x0919, 2)
+
+// Packet: 0x091a
+packetLen(0x091a, 2)
+
+// Packet: 0x091b
+packetLen(0x091b, 2)
+
+// Packet: 0x091c
+packetLen(0x091c, 2)
+
+// Packet: 0x091d
+packetLen(0x091d, 2)
+
+// Packet: 0x091e
+packetLen(0x091e, 2)
+
+// Packet: 0x091f
+packetLen(0x091f, 2)
+
+// Packet: 0x0920
+packetLen(0x0920, 2)
+
+// Packet: 0x0921
+packetLen(0x0921, 2)
+
+// Packet: 0x0922
+packetLen(0x0922, 2)
+
+// Packet: 0x0923
+packetLen(0x0923, 2)
+
+// Packet: 0x0924
+packetLen(0x0924, 2)
+
+// Packet: 0x0925
+packetLen(0x0925, 2)
+
+// Packet: 0x0926
+packetLen(0x0926, 2)
+
+// Packet: 0x0927
+packetLen(0x0927, 2)
+
+// Packet: 0x0928
+packetLen(0x0928, 2)
+
+// Packet: 0x0929
+packetLen(0x0929, 2)
+
+// Packet: 0x092a
+packetLen(0x092a, 2)
+
+// Packet: 0x092b
+packetLen(0x092b, 2)
+
+// Packet: 0x092c
+packetLen(0x092c, 2)
+
+// Packet: 0x092d
+packetLen(0x092d, 2)
+
+// Packet: 0x092e
+packetLen(0x092e, 2)
+
+// Packet: 0x092f
+packetLen(0x092f, 2)
+
+// Packet: 0x0930
+packetLen(0x0930, 2)
+
+// Packet: 0x0931
+packetLen(0x0931, 2)
+
+// Packet: 0x0932
+packetLen(0x0932, 2)
+
+// Packet: 0x0933
+packetLen(0x0933, 2)
+
+// Packet: 0x0934
+packetLen(0x0934, 2)
+
+// Packet: 0x0935
+packetLen(0x0935, 2)
+
+// Packet: 0x0936
+packetLen(0x0936, 2)
+
+// Packet: 0x0937
+packetLen(0x0937, 2)
+
+// Packet: 0x0938
+packetLen(0x0938, 2)
+
+// Packet: 0x0939
+packetLen(0x0939, 2)
+
+// Packet: 0x093a
+packetLen(0x093a, 2)
+
+// Packet: 0x093b
+packetLen(0x093b, 2)
+
+// Packet: 0x093c
+packetLen(0x093c, 2)
+
+// Packet: 0x093d
+packetLen(0x093d, 2)
+
+// Packet: 0x093e
+packetLen(0x093e, 2)
+
+// Packet: 0x093f
+packetLen(0x093f, 2)
+
+// Packet: 0x0940
+packetLen(0x0940, 2)
+
+// Packet: 0x0941
+packetLen(0x0941, 2)
+
+// Packet: 0x0942
+packetLen(0x0942, 2)
+
+// Packet: 0x0943
+packetLen(0x0943, 2)
+
+// Packet: 0x0944
+packetLen(0x0944, 2)
+
+// Packet: 0x0945
+packetLen(0x0945, 2)
+
+// Packet: 0x0946
+packetLen(0x0946, 2)
+
+// Packet: 0x0947
+packetLen(0x0947, 2)
+
+// Packet: 0x0948
+packetLen(0x0948, 2)
+
+// Packet: 0x0949
+packetLen(0x0949, 2)
+
+// Packet: 0x094a
+packetLen(0x094a, 2)
+
+// Packet: 0x094b
+packetLen(0x094b, 2)
+
+// Packet: 0x094c
+packetLen(0x094c, 2)
+
+// Packet: 0x094d
+packetLen(0x094d, 2)
+
+// Packet: 0x094e
+packetLen(0x094e, 2)
+
+// Packet: 0x094f
+packetLen(0x094f, 2)
+
+// Packet: 0x0950
+packetLen(0x0950, 2)
+
+// Packet: 0x0951
+packetLen(0x0951, 2)
+
+// Packet: 0x0952
+packetLen(0x0952, 2)
+
+// Packet: 0x0953
+packetLen(0x0953, 2)
+
+// Packet: 0x0954
+packetLen(0x0954, 2)
+
+// Packet: 0x0955
+packetLen(0x0955, 2)
+
+// Packet: 0x0956
+packetLen(0x0956, 2)
+
+// Packet: 0x0957
+packetLen(0x0957, 2)
+
+// Packet: 0x0958
+packetLen(0x0958, 2)
+
+// Packet: 0x0959
+packetLen(0x0959, 2)
+
+// Packet: 0x095a
+packetLen(0x095a, 2)
+
+// Packet: 0x095b
+packetLen(0x095b, 2)
+
+// Packet: 0x095c
+packetLen(0x095c, 2)
+
+// Packet: 0x095d
+packetLen(0x095d, 2)
+
+// Packet: 0x095e
+packetLen(0x095e, 2)
+
+// Packet: 0x095f
+packetLen(0x095f, 2)
+
+// Packet: 0x0960
+packetLen(0x0960, 2)
+
+// Packet: 0x0961
+packetLen(0x0961, 2)
+
+// Packet: 0x0962
+packetLen(0x0962, 2)
+
+// Packet: 0x0963
+packetLen(0x0963, 2)
+
+// Packet: 0x0964
+packetLen(0x0964, 2)
+
+// Packet: 0x0965
+packetLen(0x0965, 2)
+
+// Packet: 0x0966
+packetLen(0x0966, 2)
+
+// Packet: 0x0967
+packetLen(0x0967, 2)
+
+// Packet: 0x0968
+packetLen(0x0968, 2)
+
+// Packet: 0x0969
+packetLen(0x0969, 2)
+
+// Packet: 0x096a
+packetLen(0x096a, 2)
+
+// Packet: 0x096b
+packetLen(0x096b, 4)
+
+// Packet: 0x096c
+packetLen(0x096c, 6)
+
+// Packet: 0x096d
+packetLen(0x096d, -1)
+
+// Packet: 0x096e
+packetLen(0x096e, -1)
+
+// Packet: 0x096f
+packetLen(0x096f, 7)
+
+// Packet: 0x0970
+packetLen(0x0970, 31)
+
+// Packet: 0x0971
+packetLen(0x0971, 6)
+
+// Packet: 0x0972
+packetLen(0x0972, -1)
+
+// Packet: 0x0973
+packetLen(0x0973, 7)
+
+// Packet: 0x0974
+packetLen(0x0974, 2)
+
+// Packet: 0x0975
+packetLen(0x0975, -1)
+
+// Packet: 0x0976
+packetLen(0x0976, -1)
+
+// Packet: 0x0977
+packetLen(0x0977, 14)
+
+// Packet: 0x0978
+packetLen(0x0978, 6)
+
+// Packet: 0x0979
+packetLen(0x0979, 50)
+
+// Packet: 0x097a
+packetLen(0x097a, -1)
+
+// Packet: 0x097b
+packetLen(0x097b, -1)
+
+// Packet: 0x097c
+packetLen(0x097c, 4)
+
+// Packet: 0x097d
+packetLen(0x097d, 288)
+
+// Packet: 0x097e
+packetLen(0x097e, 12)
+
+// Packet: 0x097f
+packetLen(0x097f, -1)
+
+// Packet: 0x0980
+packetLen(0x0980, 7)
+
+// Packet: 0x0981
+packetLen(0x0981, -1)
+
+// Packet: 0x0982
+packetLen(0x0982, 7)
+
+// Packet: 0x0983
+packetLen(0x0983, 29)
+
+// Packet: 0x0984
+packetLen(0x0984, 28)
+
+// Packet: 0x0985
+packetLen(0x0985, -1)
+
+// Packet: 0x0986
+packetLen(0x0986, 10)
+
+// Packet: 0x0987
+packetLen(0x0987, -1)
+
+// Packet: 0x0988
+packetLen(0x0988, 6)
+
+// Packet: 0x0989
+packetLen(0x0989, 2)
+
+// Packet: 0x098a
+packetLen(0x098a, -1)
+
+// Packet: 0x098b
+packetLen(0x098b, 2)
+
+// Packet: 0x098c
+packetLen(0x098c, 4)
+
+// Packet: 0x098d
+packetLen(0x098d, -1)
+
+// Packet: 0x098e
+packetLen(0x098e, -1)
+
+// Packet: 0x098f
+packetLen(0x098f, -1)
+
+// Packet: 0x0990
+packetLen(0x0990, 41)
+
+// Packet: 0x0991
+packetLen(0x0991, -1)
+
+// Packet: 0x0992
+packetLen(0x0992, -1)
+
+// Packet: 0x0993
+packetLen(0x0993, -1)
+
+// Packet: 0x0994
+packetLen(0x0994, -1)
+
+// Packet: 0x0995
+packetLen(0x0995, -1)
+
+// Packet: 0x0996
+packetLen(0x0996, -1)
+
+// Packet: 0x0997
+packetLen(0x0997, -1)
+
+// Packet: 0x0998
+packetLen(0x0998, 8)
+
+// Packet: 0x0999
+packetLen(0x0999, 11)
+
+// Packet: 0x099a
+packetLen(0x099a, 9)
+
+// Packet: 0x099b
+packetLen(0x099b, 8)
+
+// Packet: 0x099c
+packetLen(0x099c, 6)
+
+// Packet: 0x099d
+packetLen(0x099d, -1)
+
+// Packet: 0x099e
+packetLen(0x099e, 12)
+
+// Packet: 0x099f
+packetLen(0x099f, -1)
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6)
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2)
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6)
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1)
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18)
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7)
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12)
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10)
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16)
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10)
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16)
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6)
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1)
+
+// Packet: 0x09ad
+packetLen(0x09ad, 12)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 19)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 10)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 10)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 6)
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6)
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2)
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6)
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4)
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6)
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4)
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2)
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6)
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6)
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2)
+
+// Packet: 0x09be
+packetLen(0x09be, 2)
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4)
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10)
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1)
+
+// Packet: 0x09c3
+packetLen(0x09c3, 10)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 10)
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042)
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1)
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18)
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1)
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1)
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1)
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17)
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1)
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8)
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102)
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1)
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1)
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14)
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1)
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1)
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2)
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1)
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1)
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1)
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2)
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4)
+
+// Packet: 0x09da
+packetLen(0x09da, -1)
+
+// Packet: 0x09db
+packetLen(0x09db, -1)
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1)
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1)
+
+// Packet: 0x09de
+packetLen(0x09de, -1)
+
+// Packet: 0x09df
+packetLen(0x09df, 7)
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1)
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8)
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8)
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8)
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8)
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18)
+
+// Packet: 0x09e6
+packetLen(0x09e6, 24)
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3)
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11)
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2)
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11)
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1)
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1)
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3)
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11)
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11)
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1)
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11)
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12)
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11)
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12)
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11)
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11)
+
+// Packet: 0x09f7
+packetLen(0x09f7, 77)
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1)
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143)
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1)
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1)
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6)
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1)
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1)
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1)
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269)
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3)
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4)
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2)
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6)
+
+// Packet: 0x0a05
+packetLen(0x0a05, 63)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 55)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 57)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 57)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 66)
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1)
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14)
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1)
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1)
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1)
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27)
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26)
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10)
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12)
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26)
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6)
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14)
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2)
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 25)
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2)
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1)
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2)
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3)
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2)
+
+// Packet: 0x0a20
+packetLen(0x0a20, 23)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 7)
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1)
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66)
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6)
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7)
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8)
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3)
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6)
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6)
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14)
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12)
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1)
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6)
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7)
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106)
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1)
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2)
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7)
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6)
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4)
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7)
+
+// Packet: 0x0a37
+packetLen(0x0a37, 69)
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3)
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36)
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1)
+
+// 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)
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85)
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1)
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3)
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+packetLen(0x0a49, 22)
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// 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)
+
+// 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)
+
+// 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)
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1)
+
+// 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)
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1)
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1)
+
+// 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)
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+packetLen(0x0a89, 61)
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6)
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1)
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1)
+
+// 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)
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8)
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10)
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4)
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10)
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1)
+
+// 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)
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4)
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1)
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 9)
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2)
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1)
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36)
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6)
+
+// 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)
+
+// 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)
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10)
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1)
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26)
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26)
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1)
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1)
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156)
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156)
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2)
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12)
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18)
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68)
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11)
+
+// 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, 32)
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6)
+
+// Packet: 0x0add
+packetLen(0x0add, 24)
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6)
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58)
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7)
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1)
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89)
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1)
+
+// Packet: 0x0ae6
+packetLen(0x0ae6, 10)
+
+// Packet: 0x0ae7
+packetLen(0x0ae7, 38)
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+packetLen(0x0ae9, 13)
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+packetLen(0x0aef, 2)
+
+// Packet: 0x0af0
+packetLen(0x0af0, 10)
+
+// Packet: 0x0af2
+packetLen(0x0af2, 40)
+
+// Packet: 0x0af3
+packetLen(0x0af3, -1)
+
+// Packet: 0x0af4
+packetLen(0x0af4, 11)
+
+// Packet: 0x0af5
+packetLen(0x0af5, 3)
+
+// Packet: 0x0af6
+packetLen(0x0af6, 88)
+
+// Packet: 0x0af7
+packetLen(0x0af7, 32)
+
+// Packet: 0x0af8
+packetLen(0x0af8, 11)
+
+// Packet: 0x0af9
+packetLen(0x0af9, 6)
+
+// Packet: 0x0afa
+packetLen(0x0afa, 58)
+
+// Packet: 0x0afb
+packetLen(0x0afb, -1)
+
+// Packet: 0x0afc
+packetLen(0x0afc, 16)
+
+// Packet: 0x0afd
+packetLen(0x0afd, -1)
+
+// Packet: 0x0afe
+packetLen(0x0afe, -1)
+
+// Packet: 0x0aff
+packetLen(0x0aff, -1)
+
+// Packet: 0x0b00
+packetLen(0x0b00, 8)
+
+// Packet: 0x0b01
+packetLen(0x0b01, 56)
+
+// Packet: 0x0b02
+packetLen(0x0b02, 26)
+
+// Packet: 0x0b03
+packetLen(0x0b03, -1)
+
+// Packet: 0x0b04
+packetLen(0x0b04, 90)
+
+// Packet: 0x0b05
+packetLen(0x0b05, 63)
+
+// Packet: 0x0b07
+packetLen(0x0b07, -1)
+
+// Packet: 0x0b08
+packetLen(0x0b08, -1)
+
+// Packet: 0x0b09
+packetLen(0x0b09, -1)
+
+// Packet: 0x0b0a
+packetLen(0x0b0a, -1)
+
+// Packet: 0x0b0b
+packetLen(0x0b0b, 4)
+
+// Packet: 0x0b0c
+packetLen(0x0b0c, 155)
+
+// Packet: 0x0b0d
+packetLen(0x0b0d, 10)
+
+// Packet: 0x0b0e
+packetLen(0x0b0e, -1)
+
+// Packet: 0x0b0f
+packetLen(0x0b0f, -1)
+
+// Packet: 0x0b10
+packetLen(0x0b10, 10)
+
+// Packet: 0x0b11
+packetLen(0x0b11, 4)
+
+// Packet: 0x0b12
+packetLen(0x0b12, 2)
+
+// Packet: 0x0b13
+packetLen(0x0b13, 48)
+
+// Packet: 0x0b14
+packetLen(0x0b14, 2)
+
+// Packet: 0x0b15
+packetLen(0x0b15, 7)
+
+// Packet: 0x0b16
+packetLen(0x0b16, 2)
+
+// Packet: 0x0b17
+packetLen(0x0b17, 3)
+
+// Packet: 0x0b18
+packetLen(0x0b18, 4)
+
+// Packet: 0x0b19
+packetLen(0x0b19, 2)
+
+// Packet: 0x0b1a
+packetLen(0x0b1a, 29)
+
+// Packet: 0x0b1b
+packetLen(0x0b1b, 2)
+
+// Packet: 0x0b1c
+packetLen(0x0b1c, 2)
+
+// Packet: 0x0b1d
+packetLen(0x0b1d, 2)
+
+// Packet: 0x0b1e
+packetLen(0x0b1e, 14)
+
+// Packet: 0x0b1f
+packetLen(0x0b1f, 14)
+
+// Packet: 0x0b20
+packetLen(0x0b20, 271)
+
+// Packet: 0x0b21
+packetLen(0x0b21, 13)
+
+// Packet: 0x0b22
+packetLen(0x0b22, 5)
+
+// Packet: 0x0b23
+packetLen(0x0b23, 6)
+
+// Packet: 0x0b24
+packetLen(0x0b24, 6)
+
+// Packet: 0x0b25
+packetLen(0x0b25, 6)
+
+// Packet: 0x0b27
+packetLen(0x0b27, -1)
+
+// Packet: 0x0b28
+packetLen(0x0b28, 3)
+
+// Packet: 0x0b2b
+packetLen(0x0b2b, 11)
+
+// Packet: 0x0b2c
+packetLen(0x0b2c, 3)
+
+// Packet: 0x0b2d
+packetLen(0x0b2d, 11)
+
+// Packet: 0x0b2e
+packetLen(0x0b2e, 4)
+
+// Packet: 0x0b2f
+packetLen(0x0b2f, 73)
+
+// Packet: 0x0b30
+packetLen(0x0b30, -1)
+
+// Packet: 0x0b31
+packetLen(0x0b31, 17)
+
+// Packet: 0x0b32
+packetLen(0x0b32, -1)
+
+// Packet: 0x0b33
+packetLen(0x0b33, 17)
+
+// Packet: 0x0b34
+packetLen(0x0b34, 50)
+
+// Packet: 0x0b35
+packetLen(0x0b35, 3)
+
+// Packet: 0x0b36
+packetLen(0x0b36, -1)
+
+// Packet: 0x0b37
+packetLen(0x0b37, -1)
+
+// Packet: 0x0b39
+packetLen(0x0b39, -1)
+
+// Packet: 0x0b3c
+packetLen(0x0b3c, 4)
+
+// Packet: 0x0b3d
+packetLen(0x0b3d, -1)
+
+// Packet: 0x0b3e
+packetLen(0x0b3e, -1)
+
+// Packet: 0x0b3f
+packetLen(0x0b3f, 64)
+
+// Packet: 0x0b40
+packetLen(0x0b40, -1)
+
+// Packet: 0x0b41
+packetLen(0x0b41, 70)
+
+// Packet: 0x0b42
+packetLen(0x0b42, 62)
+
+// Packet: 0x0b43
+packetLen(0x0b43, 48)
+
+// Packet: 0x0b44
+packetLen(0x0b44, 58)
+
+// Packet: 0x0b45
+packetLen(0x0b45, 58)
+
+// Packet: 0x0b46
+packetLen(0x0b46, 10)
+
+// Packet: 0x0b47
+packetLen(0x0b47, 14)
+
+// Packet: 0x0b48
+packetLen(0x0b48, 18)
+
+// Packet: 0x0b49
+packetLen(0x0b49, 4)
+
+// Packet: 0x0b4a
+packetLen(0x0b4a, 6)
+
+// Packet: 0x0b4b
+packetLen(0x0b4b, 4)
+
+// Packet: 0x0b4c
+packetLen(0x0b4c, 2)
+
+// Packet: 0x0b4d
+packetLen(0x0b4d, -1)
+
+// Packet: 0x0b4e
+packetLen(0x0b4e, -1)
+
+// Packet: 0x0b4f
+packetLen(0x0b4f, 2)
+
+// Packet: 0x0b50
+packetLen(0x0b50, 2)
+
+// Packet: 0x0b51
+packetLen(0x0b51, 2)
+
+// Packet: 0x0b52
+packetLen(0x0b52, 2)
+
+// Packet: 0x0b53
+packetLen(0x0b53, 52)
+
+// Packet: 0x0b54
+packetLen(0x0b54, 8)
+
+// Packet: 0x0b55
+packetLen(0x0b55, -1)
+
+// Packet: 0x0b56
+packetLen(0x0b56, -1)
+
+// Packet: 0x0b57
+packetLen(0x0b57, -1)
+
+// Packet: 0x0b58
+packetLen(0x0b58, 2)
+
+// Packet: 0x0b59
+packetLen(0x0b59, 4)
+
+// Packet: 0x0b5a
+packetLen(0x0b5a, -1)
+
+// Packet: 0x0b5b
+packetLen(0x0b5b, 14)
+
+// Packet: 0x0b5c
+packetLen(0x0b5c, 2)
+
+// Packet: 0x0b5d
+packetLen(0x0b5d, 10)
+
+// Packet: 0x0b5e
+packetLen(0x0b5e, 33)
+
+// Packet: 0x0b5f
+packetLen(0x0b5f, -1)
+
+// Packet: 0x0b60
+packetLen(0x0b60, -1)
+
+// Packet: 0x0b61
+packetLen(0x0b61, -1)
+
+// Packet: 0x0b62
+packetLen(0x0b62, -1)
+
+// Packet: 0x0b63
+packetLen(0x0b63, -1)
+
+// Packet: 0x0b64
+packetLen(0x0b64, -1)
+
+// Packet: 0x0b65
+packetLen(0x0b65, -1)
+
+// Packet: 0x0b66
+packetLen(0x0b66, 26)
+
+// Packet: 0x0b67
+packetLen(0x0b67, 33)
+
+// Packet: 0x0b68
+packetLen(0x0b68, 12)
+
+// Packet: 0x0b69
+packetLen(0x0b69, 18)
+
+// Packet: 0x0b6a
+packetLen(0x0b6a, -1)
+
+// Packet: 0x0b6b
+packetLen(0x0b6b, 14)
+
+// Packet: 0x0b6c
+packetLen(0x0b6c, 12)
+
+// Packet: 0x0b6d
+packetLen(0x0b6d, 6)
+
+// Packet: 0x0b6e
+packetLen(0x0b6e, 14)
+
+// Packet: 0x0b6f
+#if PACKETVER >= 20200122
+packetLen(0x0b6f, 177)
+#endif
+
+// Packet: 0x0b70
+#if PACKETVER >= 20200318
+packetLen(0x0b70, -1)
+#elif PACKETVER >= 20200122
+packetLen(0x0b70, 8)
+#endif
+
+// Packet: 0x0b71
+#if PACKETVER >= 20200122
+packetLen(0x0b71, 177)
+#endif
+
+// Packet: 0x0b72
+#if PACKETVER >= 20200318
+packetLen(0x0b72, -1)
+#elif PACKETVER >= 20200122
+packetLen(0x0b72, 4)
+#endif
+
+// Packet: 0x0b73
+#if PACKETVER >= 20200212
+packetLen(0x0b73, 8)
+#endif
+
+// Packet: 0x0b74
+#if PACKETVER >= 20200304
+packetLen(0x0b74, 1026)
+#endif
+
+// Packet: 0x0b75
+#if PACKETVER >= 20200304
+packetLen(0x0b75, 1026)
+#endif
+
+// Packet: 0x0b76
+#if PACKETVER >= 20200401
+packetLen(0x0b76, 77)
+#endif
+
+
+#endif /* COMMON_PACKETS2020_LEN_MAIN_H */
diff --git a/src/common/packets/packets2020_len_re.h b/src/common/packets/packets2020_len_re.h
new file mode 100644
index 000000000..2c21b1c67
--- /dev/null
+++ b/src/common/packets/packets2020_len_re.h
@@ -0,0 +1,4656 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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_PACKETS2020_LEN_RE_H
+#define COMMON_PACKETS2020_LEN_RE_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// Packet: 0x0065
+packetLen(0x0065, 17)
+
+// Packet: 0x0066
+packetLen(0x0066, 3)
+
+// Packet: 0x0067
+packetLen(0x0067, 37)
+
+// Packet: 0x0068
+packetLen(0x0068, 46)
+
+// Packet: 0x0069
+packetLen(0x0069, -1)
+
+// Packet: 0x006a
+packetLen(0x006a, 23)
+
+// Packet: 0x006b
+packetLen(0x006b, -1)
+
+// Packet: 0x006c
+packetLen(0x006c, 3)
+
+// Packet: 0x006d
+packetLen(0x006d, 157)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+packetLen(0x0072, 22)
+
+// Packet: 0x0073
+packetLen(0x0073, 11)
+
+// Packet: 0x0074
+packetLen(0x0074, 3)
+
+// Packet: 0x0075
+packetLen(0x0075, -1)
+
+// Packet: 0x0076
+packetLen(0x0076, 9)
+
+// Packet: 0x0077
+packetLen(0x0077, 5)
+
+// Packet: 0x0078
+packetLen(0x0078, 55)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 44)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+packetLen(0x007e, 46)
+
+// Packet: 0x007f
+packetLen(0x007f, 6)
+
+// Packet: 0x0080
+packetLen(0x0080, 7)
+
+// Packet: 0x0081
+packetLen(0x0081, 3)
+
+// Packet: 0x0082
+packetLen(0x0082, 2)
+
+// Packet: 0x0083
+packetLen(0x0083, 2)
+
+// Packet: 0x0084
+packetLen(0x0084, 2)
+
+// Packet: 0x0085
+packetLen(0x0085, 10)
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+packetLen(0x0089, 11)
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// Packet: 0x008e
+packetLen(0x008e, -1)
+
+// Packet: 0x0090
+packetLen(0x0090, 7)
+
+// Packet: 0x0091
+packetLen(0x0091, 22)
+
+// Packet: 0x0092
+packetLen(0x0092, 28)
+
+// Packet: 0x0093
+packetLen(0x0093, 2)
+
+// Packet: 0x0094
+packetLen(0x0094, 19)
+
+// Packet: 0x0095
+packetLen(0x0095, 30)
+
+// Packet: 0x0096
+packetLen(0x0096, -1)
+
+// Packet: 0x0097
+packetLen(0x0097, -1)
+
+// Packet: 0x0098
+packetLen(0x0098, 3)
+
+// Packet: 0x0099
+packetLen(0x0099, -1)
+
+// Packet: 0x009a
+packetLen(0x009a, -1)
+
+// Packet: 0x009b
+packetLen(0x009b, 34)
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 19)
+
+// Packet: 0x009e
+packetLen(0x009e, 19)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 33)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14)
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9)
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4)
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7)
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1)
+
+// Packet: 0x00af
+packetLen(0x00af, 6)
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8)
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8)
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3)
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3)
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1)
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6)
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6)
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1)
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7)
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6)
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2)
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5)
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6)
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44)
+
+// Packet: 0x00be
+packetLen(0x00be, 5)
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3)
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7)
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2)
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6)
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8)
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6)
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7)
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1)
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1)
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1)
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1)
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3)
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3)
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6)
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3)
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2)
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27)
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3)
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4)
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4)
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2)
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1)
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1)
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3)
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1)
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6)
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14)
+
+// Packet: 0x00da
+packetLen(0x00da, 3)
+
+// Packet: 0x00db
+packetLen(0x00db, -1)
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28)
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29)
+
+// Packet: 0x00de
+packetLen(0x00de, -1)
+
+// Packet: 0x00df
+packetLen(0x00df, -1)
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30)
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30)
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26)
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2)
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6)
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26)
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3)
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3)
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8)
+
+// Packet: 0x00e9
+packetLen(0x00e9, 29)
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5)
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2)
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3)
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2)
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2)
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2)
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3)
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2)
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6)
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1)
+
+// Packet: 0x00f4
+packetLen(0x00f4, 31)
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11)
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17)
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2)
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26)
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3)
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1)
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6)
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27)
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30)
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10)
+
+// Packet: 0x0100
+packetLen(0x0100, 2)
+
+// Packet: 0x0101
+packetLen(0x0101, 6)
+
+// Packet: 0x0102
+packetLen(0x0102, 6)
+
+// Packet: 0x0103
+packetLen(0x0103, 30)
+
+// Packet: 0x0104
+packetLen(0x0104, 79)
+
+// Packet: 0x0105
+packetLen(0x0105, 31)
+
+// Packet: 0x0106
+packetLen(0x0106, 10)
+
+// Packet: 0x0107
+packetLen(0x0107, 10)
+
+// Packet: 0x0108
+packetLen(0x0108, -1)
+
+// Packet: 0x0109
+packetLen(0x0109, -1)
+
+// Packet: 0x010a
+packetLen(0x010a, 6)
+
+// Packet: 0x010b
+packetLen(0x010b, 6)
+
+// Packet: 0x010c
+packetLen(0x010c, 6)
+
+// Packet: 0x010d
+packetLen(0x010d, 2)
+
+// Packet: 0x010e
+packetLen(0x010e, 11)
+
+// Packet: 0x010f
+packetLen(0x010f, -1)
+
+// Packet: 0x0110
+packetLen(0x0110, 14)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+packetLen(0x0113, 25)
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 17)
+
+// Packet: 0x0117
+packetLen(0x0117, 18)
+
+// Packet: 0x0118
+packetLen(0x0118, 2)
+
+// Packet: 0x0119
+packetLen(0x0119, 13)
+
+// Packet: 0x011a
+packetLen(0x011a, 15)
+
+// Packet: 0x011b
+packetLen(0x011b, 20)
+
+// Packet: 0x011c
+packetLen(0x011c, 68)
+
+// Packet: 0x011d
+packetLen(0x011d, 2)
+
+// Packet: 0x011e
+packetLen(0x011e, 3)
+
+// Packet: 0x011f
+packetLen(0x011f, 16)
+
+// Packet: 0x0120
+packetLen(0x0120, 6)
+
+// Packet: 0x0121
+packetLen(0x0121, 14)
+
+// Packet: 0x0122
+packetLen(0x0122, -1)
+
+// Packet: 0x0123
+packetLen(0x0123, -1)
+
+// Packet: 0x0124
+packetLen(0x0124, 31)
+
+// Packet: 0x0125
+packetLen(0x0125, 8)
+
+// Packet: 0x0126
+packetLen(0x0126, 8)
+
+// Packet: 0x0127
+packetLen(0x0127, 8)
+
+// Packet: 0x0128
+packetLen(0x0128, 8)
+
+// Packet: 0x0129
+packetLen(0x0129, 8)
+
+// Packet: 0x012a
+packetLen(0x012a, 2)
+
+// Packet: 0x012b
+packetLen(0x012b, 2)
+
+// Packet: 0x012c
+packetLen(0x012c, 3)
+
+// Packet: 0x012d
+packetLen(0x012d, 4)
+
+// Packet: 0x012e
+packetLen(0x012e, 2)
+
+// Packet: 0x012f
+packetLen(0x012f, -1)
+
+// Packet: 0x0130
+packetLen(0x0130, 6)
+
+// Packet: 0x0131
+packetLen(0x0131, 86)
+
+// Packet: 0x0132
+packetLen(0x0132, 6)
+
+// Packet: 0x0133
+packetLen(0x0133, -1)
+
+// Packet: 0x0134
+packetLen(0x0134, -1)
+
+// Packet: 0x0135
+packetLen(0x0135, 7)
+
+// Packet: 0x0136
+packetLen(0x0136, -1)
+
+// Packet: 0x0137
+packetLen(0x0137, 6)
+
+// Packet: 0x0138
+packetLen(0x0138, 3)
+
+// Packet: 0x0139
+packetLen(0x0139, 16)
+
+// Packet: 0x013a
+packetLen(0x013a, 4)
+
+// Packet: 0x013b
+packetLen(0x013b, 4)
+
+// Packet: 0x013c
+packetLen(0x013c, 4)
+
+// Packet: 0x013d
+packetLen(0x013d, 6)
+
+// Packet: 0x013e
+packetLen(0x013e, 24)
+
+// Packet: 0x013f
+packetLen(0x013f, 26)
+
+// Packet: 0x0140
+packetLen(0x0140, 22)
+
+// Packet: 0x0141
+packetLen(0x0141, 14)
+
+// Packet: 0x0142
+packetLen(0x0142, 6)
+
+// Packet: 0x0143
+packetLen(0x0143, 10)
+
+// Packet: 0x0144
+packetLen(0x0144, 23)
+
+// Packet: 0x0145
+packetLen(0x0145, 19)
+
+// Packet: 0x0146
+packetLen(0x0146, 6)
+
+// Packet: 0x0147
+packetLen(0x0147, 39)
+
+// Packet: 0x0148
+packetLen(0x0148, 8)
+
+// Packet: 0x0149
+packetLen(0x0149, 9)
+
+// Packet: 0x014a
+packetLen(0x014a, 6)
+
+// Packet: 0x014b
+packetLen(0x014b, 27)
+
+// Packet: 0x014c
+packetLen(0x014c, -1)
+
+// Packet: 0x014d
+packetLen(0x014d, 2)
+
+// Packet: 0x014e
+packetLen(0x014e, 6)
+
+// Packet: 0x014f
+packetLen(0x014f, 6)
+
+// Packet: 0x0150
+packetLen(0x0150, 110)
+
+// Packet: 0x0151
+packetLen(0x0151, 6)
+
+// Packet: 0x0152
+packetLen(0x0152, -1)
+
+// Packet: 0x0153
+packetLen(0x0153, -1)
+
+// Packet: 0x0154
+packetLen(0x0154, -1)
+
+// Packet: 0x0155
+packetLen(0x0155, -1)
+
+// Packet: 0x0156
+packetLen(0x0156, -1)
+
+// Packet: 0x0157
+packetLen(0x0157, 6)
+
+// Packet: 0x0159
+packetLen(0x0159, 54)
+
+// Packet: 0x015a
+packetLen(0x015a, 66)
+
+// Packet: 0x015b
+packetLen(0x015b, 54)
+
+// Packet: 0x015c
+packetLen(0x015c, 90)
+
+// Packet: 0x015d
+packetLen(0x015d, 42)
+
+// Packet: 0x015e
+packetLen(0x015e, 6)
+
+// Packet: 0x015f
+packetLen(0x015f, 42)
+
+// Packet: 0x0160
+packetLen(0x0160, -1)
+
+// Packet: 0x0161
+packetLen(0x0161, -1)
+
+// Packet: 0x0162
+packetLen(0x0162, -1)
+
+// Packet: 0x0163
+packetLen(0x0163, -1)
+
+// Packet: 0x0164
+packetLen(0x0164, -1)
+
+// Packet: 0x0165
+packetLen(0x0165, 30)
+
+// Packet: 0x0166
+packetLen(0x0166, -1)
+
+// Packet: 0x0167
+packetLen(0x0167, 3)
+
+// Packet: 0x0168
+packetLen(0x0168, 14)
+
+// Packet: 0x0169
+packetLen(0x0169, 3)
+
+// Packet: 0x016a
+packetLen(0x016a, 30)
+
+// Packet: 0x016b
+packetLen(0x016b, 10)
+
+// Packet: 0x016c
+packetLen(0x016c, 43)
+
+// Packet: 0x016d
+packetLen(0x016d, 14)
+
+// Packet: 0x016e
+packetLen(0x016e, 186)
+
+// Packet: 0x016f
+packetLen(0x016f, 182)
+
+// Packet: 0x0170
+packetLen(0x0170, 14)
+
+// Packet: 0x0171
+packetLen(0x0171, 30)
+
+// Packet: 0x0172
+packetLen(0x0172, 10)
+
+// Packet: 0x0173
+packetLen(0x0173, 3)
+
+// Packet: 0x0174
+packetLen(0x0174, -1)
+
+// Packet: 0x0175
+packetLen(0x0175, 6)
+
+// Packet: 0x0176
+packetLen(0x0176, 106)
+
+// Packet: 0x0177
+packetLen(0x0177, -1)
+
+// Packet: 0x0178
+packetLen(0x0178, 4)
+
+// Packet: 0x0179
+packetLen(0x0179, 5)
+
+// Packet: 0x017a
+packetLen(0x017a, 4)
+
+// Packet: 0x017b
+packetLen(0x017b, -1)
+
+// Packet: 0x017c
+packetLen(0x017c, 6)
+
+// Packet: 0x017d
+packetLen(0x017d, 7)
+
+// Packet: 0x017e
+packetLen(0x017e, -1)
+
+// Packet: 0x017f
+packetLen(0x017f, -1)
+
+// Packet: 0x0180
+packetLen(0x0180, 6)
+
+// Packet: 0x0181
+packetLen(0x0181, 3)
+
+// Packet: 0x0182
+packetLen(0x0182, 106)
+
+// Packet: 0x0183
+packetLen(0x0183, 10)
+
+// Packet: 0x0184
+packetLen(0x0184, 10)
+
+// Packet: 0x0185
+packetLen(0x0185, 34)
+
+// Packet: 0x0187
+packetLen(0x0187, 6)
+
+// Packet: 0x0188
+packetLen(0x0188, 8)
+
+// Packet: 0x0189
+packetLen(0x0189, 4)
+
+// Packet: 0x018a
+packetLen(0x018a, 4)
+
+// Packet: 0x018b
+packetLen(0x018b, 4)
+
+// Packet: 0x018c
+packetLen(0x018c, 29)
+
+// Packet: 0x018d
+packetLen(0x018d, -1)
+
+// Packet: 0x018e
+packetLen(0x018e, 18)
+
+// Packet: 0x018f
+packetLen(0x018f, 8)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 27)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 2)
+
+// Packet: 0x0194
+packetLen(0x0194, 30)
+
+// Packet: 0x0195
+packetLen(0x0195, 102)
+
+// Packet: 0x0196
+packetLen(0x0196, 9)
+
+// Packet: 0x0197
+packetLen(0x0197, 4)
+
+// Packet: 0x0198
+packetLen(0x0198, 8)
+
+// Packet: 0x0199
+packetLen(0x0199, 4)
+
+// Packet: 0x019a
+packetLen(0x019a, 14)
+
+// Packet: 0x019b
+packetLen(0x019b, 10)
+
+// Packet: 0x019c
+packetLen(0x019c, -1)
+
+// Packet: 0x019d
+packetLen(0x019d, 6)
+
+// Packet: 0x019e
+packetLen(0x019e, 2)
+
+// Packet: 0x019f
+packetLen(0x019f, 6)
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3)
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3)
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 7)
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11)
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26)
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1)
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4)
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4)
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6)
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10)
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12)
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6)
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1)
+
+// Packet: 0x01ae
+packetLen(0x01ae, 6)
+
+// Packet: 0x01af
+packetLen(0x01af, 4)
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11)
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7)
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1)
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67)
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12)
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18)
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114)
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6)
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3)
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6)
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26)
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26)
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26)
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26)
+
+// Packet: 0x01be
+packetLen(0x01be, 2)
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3)
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2)
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14)
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10)
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1)
+
+// Packet: 0x01c4
+packetLen(0x01c4, 32)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 32)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 15)
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97)
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3)
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9)
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9)
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30)
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6)
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28)
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8)
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14)
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10)
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35)
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6)
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1)
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4)
+
+// Packet: 0x01d7
+packetLen(0x01d7, 15)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 58)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 57)
+
+// Packet: 0x01da
+packetLen(0x01da, 64)
+
+// Packet: 0x01db
+packetLen(0x01db, 2)
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1)
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47)
+
+// Packet: 0x01de
+packetLen(0x01de, 33)
+
+// Packet: 0x01df
+packetLen(0x01df, 6)
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30)
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8)
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34)
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14)
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2)
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6)
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26)
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2)
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28)
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81)
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6)
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10)
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26)
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2)
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1)
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1)
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1)
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1)
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20)
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10)
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32)
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9)
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34)
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14)
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2)
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6)
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48)
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56)
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1)
+
+// Packet: 0x01fd
+packetLen(0x01fd, 25)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+packetLen(0x0202, 26)
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 35)
+
+// Packet: 0x0207
+packetLen(0x0207, 34)
+
+// Packet: 0x0208
+packetLen(0x0208, 14)
+
+// Packet: 0x0209
+packetLen(0x0209, 36)
+
+// Packet: 0x020a
+packetLen(0x020a, 10)
+
+// Packet: 0x020d
+packetLen(0x020d, -1)
+
+// Packet: 0x020e
+packetLen(0x020e, 32)
+
+// Packet: 0x020f
+packetLen(0x020f, 10)
+
+// Packet: 0x0210
+packetLen(0x0210, 22)
+
+// Packet: 0x0212
+packetLen(0x0212, 26)
+
+// Packet: 0x0213
+packetLen(0x0213, 26)
+
+// Packet: 0x0214
+packetLen(0x0214, 42)
+
+// Packet: 0x0215
+packetLen(0x0215, 6)
+
+// Packet: 0x0216
+packetLen(0x0216, 6)
+
+// Packet: 0x0217
+packetLen(0x0217, 2)
+
+// Packet: 0x0218
+packetLen(0x0218, 2)
+
+// Packet: 0x0219
+packetLen(0x0219, 282)
+
+// Packet: 0x021a
+packetLen(0x021a, 282)
+
+// Packet: 0x021b
+packetLen(0x021b, 10)
+
+// Packet: 0x021c
+packetLen(0x021c, 10)
+
+// Packet: 0x021d
+packetLen(0x021d, 6)
+
+// Packet: 0x021e
+packetLen(0x021e, 6)
+
+// Packet: 0x021f
+packetLen(0x021f, 66)
+
+// Packet: 0x0220
+packetLen(0x0220, 10)
+
+// Packet: 0x0221
+packetLen(0x0221, -1)
+
+// Packet: 0x0222
+packetLen(0x0222, 6)
+
+// Packet: 0x0223
+packetLen(0x0223, 10)
+
+// Packet: 0x0224
+packetLen(0x0224, 10)
+
+// Packet: 0x0225
+packetLen(0x0225, 2)
+
+// Packet: 0x0226
+packetLen(0x0226, 282)
+
+// Packet: 0x0227
+packetLen(0x0227, 18)
+
+// Packet: 0x0228
+packetLen(0x0228, 18)
+
+// Packet: 0x0229
+packetLen(0x0229, 15)
+
+// Packet: 0x022a
+packetLen(0x022a, 62)
+
+// Packet: 0x022b
+packetLen(0x022b, 61)
+
+// Packet: 0x022c
+packetLen(0x022c, 69)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 73)
+
+// Packet: 0x022f
+packetLen(0x022f, 7)
+
+// Packet: 0x0230
+packetLen(0x0230, 12)
+
+// Packet: 0x0231
+packetLen(0x0231, 26)
+
+// Packet: 0x0232
+packetLen(0x0232, 9)
+
+// Packet: 0x0233
+packetLen(0x0233, 11)
+
+// Packet: 0x0234
+packetLen(0x0234, 6)
+
+// Packet: 0x0235
+packetLen(0x0235, -1)
+
+// Packet: 0x0236
+packetLen(0x0236, 10)
+
+// Packet: 0x0237
+packetLen(0x0237, 2)
+
+// Packet: 0x0238
+packetLen(0x0238, 282)
+
+// Packet: 0x0239
+packetLen(0x0239, 11)
+
+// Packet: 0x023a
+packetLen(0x023a, 4)
+
+// Packet: 0x023b
+packetLen(0x023b, 36)
+
+// Packet: 0x023c
+packetLen(0x023c, 6)
+
+// Packet: 0x023d
+packetLen(0x023d, 6)
+
+// Packet: 0x023e
+packetLen(0x023e, 8)
+
+// Packet: 0x023f
+packetLen(0x023f, 2)
+
+// Packet: 0x0240
+packetLen(0x0240, -1)
+
+// Packet: 0x0241
+packetLen(0x0241, 6)
+
+// Packet: 0x0242
+packetLen(0x0242, -1)
+
+// Packet: 0x0243
+packetLen(0x0243, 6)
+
+// Packet: 0x0244
+packetLen(0x0244, 6)
+
+// Packet: 0x0245
+packetLen(0x0245, 3)
+
+// Packet: 0x0246
+packetLen(0x0246, 4)
+
+// Packet: 0x0247
+packetLen(0x0247, 8)
+
+// Packet: 0x0248
+packetLen(0x0248, -1)
+
+// Packet: 0x0249
+packetLen(0x0249, 3)
+
+// Packet: 0x024a
+packetLen(0x024a, 70)
+
+// Packet: 0x024b
+packetLen(0x024b, 4)
+
+// Packet: 0x024c
+packetLen(0x024c, 8)
+
+// Packet: 0x024d
+packetLen(0x024d, 12)
+
+// Packet: 0x024e
+packetLen(0x024e, 6)
+
+// Packet: 0x024f
+packetLen(0x024f, 10)
+
+// Packet: 0x0250
+packetLen(0x0250, 3)
+
+// Packet: 0x0251
+packetLen(0x0251, 34)
+
+// Packet: 0x0252
+packetLen(0x0252, -1)
+
+// Packet: 0x0253
+packetLen(0x0253, 3)
+
+// Packet: 0x0254
+packetLen(0x0254, 3)
+
+// Packet: 0x0255
+packetLen(0x0255, 5)
+
+// Packet: 0x0256
+packetLen(0x0256, 5)
+
+// Packet: 0x0257
+packetLen(0x0257, 8)
+
+// Packet: 0x0258
+packetLen(0x0258, 2)
+
+// Packet: 0x0259
+packetLen(0x0259, 3)
+
+// Packet: 0x025a
+packetLen(0x025a, -1)
+
+// Packet: 0x025b
+packetLen(0x025b, 8)
+
+// Packet: 0x025c
+packetLen(0x025c, 4)
+
+// Packet: 0x025d
+packetLen(0x025d, 6)
+
+// Packet: 0x025e
+packetLen(0x025e, 4)
+
+// Packet: 0x025f
+packetLen(0x025f, 6)
+
+// Packet: 0x0260
+packetLen(0x0260, 6)
+
+// Packet: 0x0261
+packetLen(0x0261, 11)
+
+// Packet: 0x0262
+packetLen(0x0262, 11)
+
+// Packet: 0x0263
+packetLen(0x0263, 11)
+
+// Packet: 0x0264
+packetLen(0x0264, 20)
+
+// Packet: 0x0265
+packetLen(0x0265, 20)
+
+// Packet: 0x0266
+packetLen(0x0266, 30)
+
+// Packet: 0x0267
+packetLen(0x0267, 4)
+
+// Packet: 0x0268
+packetLen(0x0268, 4)
+
+// Packet: 0x0269
+packetLen(0x0269, 4)
+
+// Packet: 0x026a
+packetLen(0x026a, 4)
+
+// Packet: 0x026b
+packetLen(0x026b, 4)
+
+// Packet: 0x026c
+packetLen(0x026c, 4)
+
+// Packet: 0x026d
+packetLen(0x026d, 4)
+
+// Packet: 0x026f
+packetLen(0x026f, 2)
+
+// Packet: 0x0270
+packetLen(0x0270, 2)
+
+// Packet: 0x0271
+packetLen(0x0271, 40)
+
+// Packet: 0x0272
+packetLen(0x0272, 44)
+
+// Packet: 0x0273
+packetLen(0x0273, 30)
+
+// Packet: 0x0274
+packetLen(0x0274, 8)
+
+// Packet: 0x0275
+packetLen(0x0275, 37)
+
+// Packet: 0x0276
+packetLen(0x0276, -1)
+
+// Packet: 0x0277
+packetLen(0x0277, 84)
+
+// Packet: 0x0278
+packetLen(0x0278, 2)
+
+// Packet: 0x0279
+packetLen(0x0279, 2)
+
+// Packet: 0x027a
+packetLen(0x027a, -1)
+
+// Packet: 0x027b
+packetLen(0x027b, 14)
+
+// Packet: 0x027c
+packetLen(0x027c, 60)
+
+// Packet: 0x027d
+packetLen(0x027d, 62)
+
+// Packet: 0x027e
+packetLen(0x027e, -1)
+
+// Packet: 0x027f
+packetLen(0x027f, 8)
+
+// Packet: 0x0280
+packetLen(0x0280, 12)
+
+// Packet: 0x0281
+packetLen(0x0281, 4)
+
+// Packet: 0x0282
+packetLen(0x0282, 284)
+
+// Packet: 0x0283
+packetLen(0x0283, 6)
+
+// Packet: 0x0284
+packetLen(0x0284, 14)
+
+// Packet: 0x0285
+packetLen(0x0285, 6)
+
+// Packet: 0x0286
+packetLen(0x0286, 4)
+
+// Packet: 0x0287
+packetLen(0x0287, -1)
+
+// Packet: 0x0288
+packetLen(0x0288, -1)
+
+// Packet: 0x0289
+packetLen(0x0289, 12)
+
+// Packet: 0x028a
+packetLen(0x028a, 18)
+
+// Packet: 0x028b
+packetLen(0x028b, -1)
+
+// Packet: 0x028c
+packetLen(0x028c, 46)
+
+// Packet: 0x028d
+packetLen(0x028d, 34)
+
+// Packet: 0x028e
+packetLen(0x028e, 4)
+
+// Packet: 0x028f
+packetLen(0x028f, 6)
+
+// Packet: 0x0290
+packetLen(0x0290, 4)
+
+// Packet: 0x0291
+packetLen(0x0291, 4)
+
+// Packet: 0x0292
+packetLen(0x0292, 2)
+
+// Packet: 0x0293
+packetLen(0x0293, 70)
+
+// Packet: 0x0294
+packetLen(0x0294, 10)
+
+// Packet: 0x0295
+packetLen(0x0295, -1)
+
+// Packet: 0x0296
+packetLen(0x0296, -1)
+
+// Packet: 0x0297
+packetLen(0x0297, -1)
+
+// Packet: 0x0298
+packetLen(0x0298, 10)
+
+// Packet: 0x0299
+packetLen(0x0299, 8)
+
+// Packet: 0x029a
+packetLen(0x029a, 37)
+
+// Packet: 0x029b
+packetLen(0x029b, 80)
+
+// Packet: 0x029c
+packetLen(0x029c, 66)
+
+// Packet: 0x029d
+packetLen(0x029d, -1)
+
+// Packet: 0x029e
+packetLen(0x029e, 11)
+
+// Packet: 0x029f
+packetLen(0x029f, 3)
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8)
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8)
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1)
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1)
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4)
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36)
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6)
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8)
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85)
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1)
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1)
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107)
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6)
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1)
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7)
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7)
+
+// Packet: 0x02b8
+packetLen(0x02b8, 32)
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191)
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11)
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8)
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6)
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1)
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1)
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26)
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30)
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30)
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7)
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3)
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3)
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3)
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65)
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4)
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71)
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10)
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6)
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1)
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1)
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1)
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4)
+
+// Packet: 0x02d4
+packetLen(0x02d4, 39)
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2)
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6)
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1)
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10)
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10)
+
+// Packet: 0x02da
+packetLen(0x02da, 3)
+
+// Packet: 0x02db
+packetLen(0x02db, -1)
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1)
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32)
+
+// Packet: 0x02de
+packetLen(0x02de, 6)
+
+// Packet: 0x02df
+packetLen(0x02df, 36)
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34)
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33)
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20)
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22)
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11)
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9)
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6)
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1)
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1)
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1)
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1)
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13)
+
+// Packet: 0x02ec
+packetLen(0x02ec, 71)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 63)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 64)
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10)
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2)
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2)
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1)
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3)
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7)
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7)
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+packetLen(0x035f, 5)
+
+// Packet: 0x0360
+packetLen(0x0360, 6)
+
+// Packet: 0x0361
+packetLen(0x0361, 5)
+
+// Packet: 0x0362
+packetLen(0x0362, 6)
+
+// Packet: 0x0363
+packetLen(0x0363, 6)
+
+// Packet: 0x0364
+packetLen(0x0364, 8)
+
+// Packet: 0x0365
+packetLen(0x0365, 8)
+
+// Packet: 0x0366
+packetLen(0x0366, 10)
+
+// Packet: 0x0367
+packetLen(0x0367, 31)
+
+// Packet: 0x0368
+packetLen(0x0368, 6)
+
+// Packet: 0x0369
+packetLen(0x0369, 6)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+packetLen(0x0436, 19)
+
+// Packet: 0x0437
+packetLen(0x0437, 7)
+
+// Packet: 0x0438
+packetLen(0x0438, 10)
+
+// Packet: 0x0439
+packetLen(0x0439, 8)
+
+// Packet: 0x043d
+packetLen(0x043d, 8)
+
+// Packet: 0x043e
+packetLen(0x043e, -1)
+
+// Packet: 0x043f
+packetLen(0x043f, 25)
+
+// Packet: 0x0440
+packetLen(0x0440, 10)
+
+// Packet: 0x0441
+packetLen(0x0441, 4)
+
+// Packet: 0x0442
+packetLen(0x0442, -1)
+
+// Packet: 0x0443
+packetLen(0x0443, 8)
+
+// Packet: 0x0444
+packetLen(0x0444, -1)
+
+// Packet: 0x0445
+packetLen(0x0445, 12)
+
+// Packet: 0x0446
+packetLen(0x0446, 14)
+
+// Packet: 0x0447
+packetLen(0x0447, 2)
+
+// Packet: 0x0448
+packetLen(0x0448, -1)
+
+// Packet: 0x0449
+packetLen(0x0449, 4)
+
+// Packet: 0x044a
+packetLen(0x044a, 6)
+
+// Packet: 0x044b
+packetLen(0x044b, 2)
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8)
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8)
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268)
+
+// Packet: 0x07da
+packetLen(0x07da, 6)
+
+// Packet: 0x07db
+packetLen(0x07db, 8)
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6)
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54)
+
+// Packet: 0x07de
+packetLen(0x07de, 30)
+
+// Packet: 0x07df
+packetLen(0x07df, 54)
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58)
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15)
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8)
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6)
+
+// Packet: 0x07e4
+packetLen(0x07e4, -1)
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4)
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8)
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32)
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1)
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5)
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2)
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1)
+
+// Packet: 0x07ec
+packetLen(0x07ec, 8)
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10)
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6)
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8)
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6)
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18)
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8)
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6)
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3)
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6)
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14)
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1)
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1)
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1)
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8)
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25)
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10)
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1)
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26)
+
+// Packet: 0x0800
+packetLen(0x0800, -1)
+
+// Packet: 0x0801
+packetLen(0x0801, -1)
+
+// Packet: 0x0802
+packetLen(0x0802, 18)
+
+// Packet: 0x0803
+packetLen(0x0803, 4)
+
+// Packet: 0x0804
+packetLen(0x0804, 14)
+
+// Packet: 0x0805
+packetLen(0x0805, -1)
+
+// Packet: 0x0806
+packetLen(0x0806, 2)
+
+// Packet: 0x0807
+packetLen(0x0807, 4)
+
+// Packet: 0x0808
+packetLen(0x0808, 14)
+
+// Packet: 0x0809
+packetLen(0x0809, 50)
+
+// Packet: 0x080a
+packetLen(0x080a, 18)
+
+// Packet: 0x080b
+packetLen(0x080b, 6)
+
+// Packet: 0x080c
+packetLen(0x080c, 2)
+
+// Packet: 0x080d
+packetLen(0x080d, 3)
+
+// Packet: 0x080e
+packetLen(0x080e, 14)
+
+// Packet: 0x080f
+packetLen(0x080f, 30)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+packetLen(0x0811, -1)
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+packetLen(0x0815, 2)
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+packetLen(0x0817, 6)
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+packetLen(0x0819, -1)
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 12)
+
+// Packet: 0x081c
+packetLen(0x081c, 10)
+
+// Packet: 0x081d
+packetLen(0x081d, 22)
+
+// Packet: 0x081e
+packetLen(0x081e, 8)
+
+// Packet: 0x081f
+packetLen(0x081f, -1)
+
+// Packet: 0x0820
+packetLen(0x0820, 11)
+
+// Packet: 0x0821
+packetLen(0x0821, 2)
+
+// Packet: 0x0822
+packetLen(0x0822, 9)
+
+// Packet: 0x0823
+packetLen(0x0823, -1)
+
+// Packet: 0x0824
+packetLen(0x0824, 8)
+
+// Packet: 0x0825
+packetLen(0x0825, -1)
+
+// Packet: 0x0827
+packetLen(0x0827, 6)
+
+// Packet: 0x0828
+packetLen(0x0828, 14)
+
+// Packet: 0x0829
+packetLen(0x0829, 12)
+
+// Packet: 0x082a
+packetLen(0x082a, 10)
+
+// Packet: 0x082b
+packetLen(0x082b, 6)
+
+// Packet: 0x082c
+packetLen(0x082c, 10)
+
+// Packet: 0x082d
+packetLen(0x082d, -1)
+
+// Packet: 0x0835
+packetLen(0x0835, -1)
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+packetLen(0x0838, 2)
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+packetLen(0x083c, 14)
+
+// Packet: 0x083d
+packetLen(0x083d, 6)
+
+// Packet: 0x083e
+packetLen(0x083e, 26)
+
+// Packet: 0x0840
+packetLen(0x0840, -1)
+
+// Packet: 0x0841
+packetLen(0x0841, 4)
+
+// Packet: 0x0842
+packetLen(0x0842, 6)
+
+// Packet: 0x0843
+packetLen(0x0843, 6)
+
+// Packet: 0x0844
+packetLen(0x0844, 2)
+
+// Packet: 0x0845
+packetLen(0x0845, 10)
+
+// Packet: 0x0846
+packetLen(0x0846, 4)
+
+// Packet: 0x0847
+packetLen(0x0847, -1)
+
+// Packet: 0x0848
+packetLen(0x0848, -1)
+
+// Packet: 0x0849
+packetLen(0x0849, 16)
+
+// Packet: 0x084a
+packetLen(0x084a, 2)
+
+// Packet: 0x084b
+packetLen(0x084b, 21)
+
+// Packet: 0x084c
+packetLen(0x084c, 10)
+
+// Packet: 0x084d
+packetLen(0x084d, 10)
+
+// Packet: 0x084e
+packetLen(0x084e, 5)
+
+// Packet: 0x084f
+packetLen(0x084f, 6)
+
+// Packet: 0x0850
+packetLen(0x0850, 7)
+
+// Packet: 0x0851
+packetLen(0x0851, -1)
+
+// Packet: 0x0852
+packetLen(0x0852, 2)
+
+// Packet: 0x0853
+packetLen(0x0853, -1)
+
+// Packet: 0x0854
+packetLen(0x0854, -1)
+
+// Packet: 0x0855
+packetLen(0x0855, 6)
+
+// Packet: 0x0856
+packetLen(0x0856, -1)
+
+// Packet: 0x0857
+packetLen(0x0857, -1)
+
+// Packet: 0x0858
+packetLen(0x0858, -1)
+
+// Packet: 0x0859
+packetLen(0x0859, -1)
+
+// Packet: 0x085a
+packetLen(0x085a, 2)
+
+// Packet: 0x085b
+packetLen(0x085b, 2)
+
+// Packet: 0x085c
+packetLen(0x085c, 2)
+
+// Packet: 0x085d
+packetLen(0x085d, 2)
+
+// Packet: 0x085e
+packetLen(0x085e, 2)
+
+// Packet: 0x085f
+packetLen(0x085f, 2)
+
+// Packet: 0x0860
+packetLen(0x0860, 2)
+
+// Packet: 0x0861
+packetLen(0x0861, 2)
+
+// Packet: 0x0862
+packetLen(0x0862, 2)
+
+// Packet: 0x0863
+packetLen(0x0863, 2)
+
+// Packet: 0x0864
+packetLen(0x0864, 2)
+
+// Packet: 0x0865
+packetLen(0x0865, 2)
+
+// Packet: 0x0866
+packetLen(0x0866, 2)
+
+// Packet: 0x0867
+packetLen(0x0867, 2)
+
+// Packet: 0x0868
+packetLen(0x0868, 2)
+
+// Packet: 0x0869
+packetLen(0x0869, 2)
+
+// Packet: 0x086a
+packetLen(0x086a, 2)
+
+// Packet: 0x086b
+packetLen(0x086b, 2)
+
+// Packet: 0x086c
+packetLen(0x086c, 2)
+
+// Packet: 0x086d
+packetLen(0x086d, 2)
+
+// Packet: 0x086e
+packetLen(0x086e, 2)
+
+// Packet: 0x086f
+packetLen(0x086f, 2)
+
+// Packet: 0x0870
+packetLen(0x0870, 2)
+
+// Packet: 0x0871
+packetLen(0x0871, 2)
+
+// Packet: 0x0872
+packetLen(0x0872, 2)
+
+// Packet: 0x0873
+packetLen(0x0873, 2)
+
+// Packet: 0x0874
+packetLen(0x0874, 2)
+
+// Packet: 0x0875
+packetLen(0x0875, 2)
+
+// Packet: 0x0876
+packetLen(0x0876, 2)
+
+// Packet: 0x0877
+packetLen(0x0877, 2)
+
+// Packet: 0x0878
+packetLen(0x0878, 2)
+
+// Packet: 0x0879
+packetLen(0x0879, 2)
+
+// Packet: 0x087a
+packetLen(0x087a, 2)
+
+// Packet: 0x087b
+packetLen(0x087b, 2)
+
+// Packet: 0x087c
+packetLen(0x087c, 2)
+
+// Packet: 0x087d
+packetLen(0x087d, 2)
+
+// Packet: 0x087e
+packetLen(0x087e, 2)
+
+// Packet: 0x087f
+packetLen(0x087f, 2)
+
+// Packet: 0x0880
+packetLen(0x0880, 2)
+
+// Packet: 0x0881
+packetLen(0x0881, 2)
+
+// Packet: 0x0882
+packetLen(0x0882, 2)
+
+// Packet: 0x0883
+packetLen(0x0883, 2)
+
+// Packet: 0x0884
+packetLen(0x0884, 2)
+
+// Packet: 0x0885
+packetLen(0x0885, 2)
+
+// Packet: 0x0886
+packetLen(0x0886, 2)
+
+// Packet: 0x0887
+packetLen(0x0887, 2)
+
+// Packet: 0x0888
+packetLen(0x0888, 2)
+
+// Packet: 0x0889
+packetLen(0x0889, 2)
+
+// Packet: 0x088a
+packetLen(0x088a, 2)
+
+// Packet: 0x088b
+packetLen(0x088b, 2)
+
+// Packet: 0x088c
+packetLen(0x088c, 2)
+
+// Packet: 0x088d
+packetLen(0x088d, 2)
+
+// Packet: 0x088e
+packetLen(0x088e, 2)
+
+// Packet: 0x088f
+packetLen(0x088f, 2)
+
+// Packet: 0x0890
+packetLen(0x0890, 2)
+
+// Packet: 0x0891
+packetLen(0x0891, 2)
+
+// Packet: 0x0892
+packetLen(0x0892, 2)
+
+// Packet: 0x0893
+packetLen(0x0893, 2)
+
+// Packet: 0x0894
+packetLen(0x0894, 2)
+
+// Packet: 0x0895
+packetLen(0x0895, 2)
+
+// Packet: 0x0896
+packetLen(0x0896, 2)
+
+// Packet: 0x0897
+packetLen(0x0897, 2)
+
+// Packet: 0x0898
+packetLen(0x0898, 2)
+
+// Packet: 0x0899
+packetLen(0x0899, 2)
+
+// Packet: 0x089a
+packetLen(0x089a, 2)
+
+// Packet: 0x089b
+packetLen(0x089b, 2)
+
+// Packet: 0x089c
+packetLen(0x089c, 2)
+
+// Packet: 0x089d
+packetLen(0x089d, 2)
+
+// Packet: 0x089e
+packetLen(0x089e, 2)
+
+// Packet: 0x089f
+packetLen(0x089f, 2)
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2)
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2)
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2)
+
+// Packet: 0x08a3
+packetLen(0x08a3, 2)
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2)
+
+// Packet: 0x08a5
+packetLen(0x08a5, 2)
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2)
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2)
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2)
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2)
+
+// Packet: 0x08aa
+packetLen(0x08aa, 2)
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2)
+
+// Packet: 0x08ac
+packetLen(0x08ac, 2)
+
+// Packet: 0x08ad
+packetLen(0x08ad, 2)
+
+// Packet: 0x08af
+packetLen(0x08af, 10)
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17)
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1)
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1)
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1)
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2)
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6)
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3)
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10)
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12)
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10)
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8)
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10)
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8)
+
+// Packet: 0x08be
+packetLen(0x08be, 14)
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8)
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1)
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2)
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2)
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10)
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8)
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6)
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4)
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1)
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34)
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2)
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1)
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1)
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109)
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10)
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2)
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10)
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9)
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7)
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10)
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10)
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8)
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1)
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6)
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28)
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27)
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30)
+
+// Packet: 0x08da
+packetLen(0x08da, 26)
+
+// Packet: 0x08db
+packetLen(0x08db, 27)
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26)
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27)
+
+// Packet: 0x08de
+packetLen(0x08de, 27)
+
+// Packet: 0x08df
+packetLen(0x08df, 50)
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51)
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51)
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27)
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157)
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6)
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30)
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6)
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1)
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24)
+
+// Packet: 0x0900
+packetLen(0x0900, -1)
+
+// Packet: 0x0901
+packetLen(0x0901, -1)
+
+// Packet: 0x0902
+packetLen(0x0902, -1)
+
+// Packet: 0x0903
+packetLen(0x0903, -1)
+
+// Packet: 0x0904
+packetLen(0x0904, -1)
+
+// Packet: 0x0905
+packetLen(0x0905, -1)
+
+// Packet: 0x0906
+packetLen(0x0906, -1)
+
+// Packet: 0x0907
+packetLen(0x0907, 5)
+
+// Packet: 0x0908
+packetLen(0x0908, 5)
+
+// Packet: 0x090a
+packetLen(0x090a, 26)
+
+// Packet: 0x090d
+packetLen(0x090d, -1)
+
+// Packet: 0x090e
+packetLen(0x090e, 2)
+
+// Packet: 0x090f
+packetLen(0x090f, -1)
+
+// Packet: 0x0910
+packetLen(0x0910, 10)
+
+// Packet: 0x0911
+packetLen(0x0911, 30)
+
+// Packet: 0x0912
+packetLen(0x0912, 10)
+
+// Packet: 0x0913
+packetLen(0x0913, 30)
+
+// Packet: 0x0914
+packetLen(0x0914, -1)
+
+// Packet: 0x0915
+packetLen(0x0915, -1)
+
+// Packet: 0x0916
+packetLen(0x0916, 26)
+
+// Packet: 0x0917
+packetLen(0x0917, 2)
+
+// Packet: 0x0918
+packetLen(0x0918, 2)
+
+// Packet: 0x0919
+packetLen(0x0919, 2)
+
+// Packet: 0x091a
+packetLen(0x091a, 2)
+
+// Packet: 0x091b
+packetLen(0x091b, 2)
+
+// Packet: 0x091c
+packetLen(0x091c, 2)
+
+// Packet: 0x091d
+packetLen(0x091d, 2)
+
+// Packet: 0x091e
+packetLen(0x091e, 2)
+
+// Packet: 0x091f
+packetLen(0x091f, 2)
+
+// Packet: 0x0920
+packetLen(0x0920, 2)
+
+// Packet: 0x0921
+packetLen(0x0921, 2)
+
+// Packet: 0x0922
+packetLen(0x0922, 2)
+
+// Packet: 0x0923
+packetLen(0x0923, 2)
+
+// Packet: 0x0924
+packetLen(0x0924, 2)
+
+// Packet: 0x0925
+packetLen(0x0925, 2)
+
+// Packet: 0x0926
+packetLen(0x0926, 2)
+
+// Packet: 0x0927
+packetLen(0x0927, 2)
+
+// Packet: 0x0928
+packetLen(0x0928, 2)
+
+// Packet: 0x0929
+packetLen(0x0929, 2)
+
+// Packet: 0x092a
+packetLen(0x092a, 2)
+
+// Packet: 0x092b
+packetLen(0x092b, 2)
+
+// Packet: 0x092c
+packetLen(0x092c, 2)
+
+// Packet: 0x092d
+packetLen(0x092d, 2)
+
+// Packet: 0x092e
+packetLen(0x092e, 2)
+
+// Packet: 0x092f
+packetLen(0x092f, 2)
+
+// Packet: 0x0930
+packetLen(0x0930, 2)
+
+// Packet: 0x0931
+packetLen(0x0931, 2)
+
+// Packet: 0x0932
+packetLen(0x0932, 2)
+
+// Packet: 0x0933
+packetLen(0x0933, 2)
+
+// Packet: 0x0934
+packetLen(0x0934, 2)
+
+// Packet: 0x0935
+packetLen(0x0935, 2)
+
+// Packet: 0x0936
+packetLen(0x0936, 2)
+
+// Packet: 0x0937
+packetLen(0x0937, 2)
+
+// Packet: 0x0938
+packetLen(0x0938, 2)
+
+// Packet: 0x0939
+packetLen(0x0939, 2)
+
+// Packet: 0x093a
+packetLen(0x093a, 2)
+
+// Packet: 0x093b
+packetLen(0x093b, 2)
+
+// Packet: 0x093c
+packetLen(0x093c, 2)
+
+// Packet: 0x093d
+packetLen(0x093d, 2)
+
+// Packet: 0x093e
+packetLen(0x093e, 2)
+
+// Packet: 0x093f
+packetLen(0x093f, 2)
+
+// Packet: 0x0940
+packetLen(0x0940, 2)
+
+// Packet: 0x0941
+packetLen(0x0941, 2)
+
+// Packet: 0x0942
+packetLen(0x0942, 2)
+
+// Packet: 0x0943
+packetLen(0x0943, 2)
+
+// Packet: 0x0944
+packetLen(0x0944, 2)
+
+// Packet: 0x0945
+packetLen(0x0945, 2)
+
+// Packet: 0x0946
+packetLen(0x0946, 2)
+
+// Packet: 0x0947
+packetLen(0x0947, 2)
+
+// Packet: 0x0948
+packetLen(0x0948, 2)
+
+// Packet: 0x0949
+packetLen(0x0949, 2)
+
+// Packet: 0x094a
+packetLen(0x094a, 2)
+
+// Packet: 0x094b
+packetLen(0x094b, 2)
+
+// Packet: 0x094c
+packetLen(0x094c, 2)
+
+// Packet: 0x094d
+packetLen(0x094d, 2)
+
+// Packet: 0x094e
+packetLen(0x094e, 2)
+
+// Packet: 0x094f
+packetLen(0x094f, 2)
+
+// Packet: 0x0950
+packetLen(0x0950, 2)
+
+// Packet: 0x0951
+packetLen(0x0951, 2)
+
+// Packet: 0x0952
+packetLen(0x0952, 2)
+
+// Packet: 0x0953
+packetLen(0x0953, 2)
+
+// Packet: 0x0954
+packetLen(0x0954, 2)
+
+// Packet: 0x0955
+packetLen(0x0955, 2)
+
+// Packet: 0x0956
+packetLen(0x0956, 2)
+
+// Packet: 0x0957
+packetLen(0x0957, 2)
+
+// Packet: 0x0958
+packetLen(0x0958, 2)
+
+// Packet: 0x0959
+packetLen(0x0959, 2)
+
+// Packet: 0x095a
+packetLen(0x095a, 2)
+
+// Packet: 0x095b
+packetLen(0x095b, 2)
+
+// Packet: 0x095c
+packetLen(0x095c, 2)
+
+// Packet: 0x095d
+packetLen(0x095d, 2)
+
+// Packet: 0x095e
+packetLen(0x095e, 2)
+
+// Packet: 0x095f
+packetLen(0x095f, 2)
+
+// Packet: 0x0960
+packetLen(0x0960, 2)
+
+// Packet: 0x0961
+packetLen(0x0961, 2)
+
+// Packet: 0x0962
+packetLen(0x0962, 2)
+
+// Packet: 0x0963
+packetLen(0x0963, 2)
+
+// Packet: 0x0964
+packetLen(0x0964, 2)
+
+// Packet: 0x0965
+packetLen(0x0965, 2)
+
+// Packet: 0x0966
+packetLen(0x0966, 2)
+
+// Packet: 0x0967
+packetLen(0x0967, 2)
+
+// Packet: 0x0968
+packetLen(0x0968, 2)
+
+// Packet: 0x0969
+packetLen(0x0969, 2)
+
+// Packet: 0x096a
+packetLen(0x096a, 2)
+
+// Packet: 0x096b
+packetLen(0x096b, 4)
+
+// Packet: 0x096c
+packetLen(0x096c, 6)
+
+// Packet: 0x096d
+packetLen(0x096d, -1)
+
+// Packet: 0x096e
+packetLen(0x096e, -1)
+
+// Packet: 0x096f
+packetLen(0x096f, 7)
+
+// Packet: 0x0970
+packetLen(0x0970, 31)
+
+// Packet: 0x0971
+packetLen(0x0971, 6)
+
+// Packet: 0x0972
+packetLen(0x0972, -1)
+
+// Packet: 0x0973
+packetLen(0x0973, 7)
+
+// Packet: 0x0974
+packetLen(0x0974, 2)
+
+// Packet: 0x0975
+packetLen(0x0975, -1)
+
+// Packet: 0x0976
+packetLen(0x0976, -1)
+
+// Packet: 0x0977
+packetLen(0x0977, 14)
+
+// Packet: 0x0978
+packetLen(0x0978, 6)
+
+// Packet: 0x0979
+packetLen(0x0979, 50)
+
+// Packet: 0x097a
+packetLen(0x097a, -1)
+
+// Packet: 0x097b
+packetLen(0x097b, -1)
+
+// Packet: 0x097c
+packetLen(0x097c, 4)
+
+// Packet: 0x097d
+packetLen(0x097d, 288)
+
+// Packet: 0x097e
+packetLen(0x097e, 12)
+
+// Packet: 0x097f
+packetLen(0x097f, -1)
+
+// Packet: 0x0980
+packetLen(0x0980, 7)
+
+// Packet: 0x0981
+packetLen(0x0981, -1)
+
+// Packet: 0x0982
+packetLen(0x0982, 7)
+
+// Packet: 0x0983
+packetLen(0x0983, 29)
+
+// Packet: 0x0984
+packetLen(0x0984, 28)
+
+// Packet: 0x0985
+packetLen(0x0985, -1)
+
+// Packet: 0x0986
+packetLen(0x0986, 10)
+
+// Packet: 0x0987
+packetLen(0x0987, -1)
+
+// Packet: 0x0988
+packetLen(0x0988, 6)
+
+// Packet: 0x0989
+packetLen(0x0989, 2)
+
+// Packet: 0x098a
+packetLen(0x098a, -1)
+
+// Packet: 0x098b
+packetLen(0x098b, 2)
+
+// Packet: 0x098c
+packetLen(0x098c, 4)
+
+// Packet: 0x098d
+packetLen(0x098d, -1)
+
+// Packet: 0x098e
+packetLen(0x098e, -1)
+
+// Packet: 0x098f
+packetLen(0x098f, -1)
+
+// Packet: 0x0990
+packetLen(0x0990, 41)
+
+// Packet: 0x0991
+packetLen(0x0991, -1)
+
+// Packet: 0x0992
+packetLen(0x0992, -1)
+
+// Packet: 0x0993
+packetLen(0x0993, -1)
+
+// Packet: 0x0994
+packetLen(0x0994, -1)
+
+// Packet: 0x0995
+packetLen(0x0995, -1)
+
+// Packet: 0x0996
+packetLen(0x0996, -1)
+
+// Packet: 0x0997
+packetLen(0x0997, -1)
+
+// Packet: 0x0998
+packetLen(0x0998, 8)
+
+// Packet: 0x0999
+packetLen(0x0999, 11)
+
+// Packet: 0x099a
+packetLen(0x099a, 9)
+
+// Packet: 0x099b
+packetLen(0x099b, 8)
+
+// Packet: 0x099c
+packetLen(0x099c, 6)
+
+// Packet: 0x099d
+packetLen(0x099d, -1)
+
+// Packet: 0x099e
+packetLen(0x099e, 12)
+
+// Packet: 0x099f
+packetLen(0x099f, -1)
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6)
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2)
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6)
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1)
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18)
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7)
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12)
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10)
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16)
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10)
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16)
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6)
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1)
+
+// Packet: 0x09ad
+packetLen(0x09ad, 12)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 19)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 10)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 10)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 6)
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6)
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2)
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6)
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4)
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6)
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4)
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2)
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6)
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6)
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2)
+
+// Packet: 0x09be
+packetLen(0x09be, 2)
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4)
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10)
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1)
+
+// Packet: 0x09c3
+packetLen(0x09c3, 10)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 10)
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042)
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1)
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18)
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1)
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1)
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1)
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17)
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1)
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8)
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102)
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1)
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1)
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14)
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1)
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1)
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2)
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1)
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1)
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1)
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2)
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4)
+
+// Packet: 0x09da
+packetLen(0x09da, -1)
+
+// Packet: 0x09db
+packetLen(0x09db, -1)
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1)
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1)
+
+// Packet: 0x09de
+packetLen(0x09de, -1)
+
+// Packet: 0x09df
+packetLen(0x09df, 7)
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1)
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8)
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8)
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8)
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8)
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18)
+
+// Packet: 0x09e6
+packetLen(0x09e6, 24)
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3)
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11)
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2)
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11)
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1)
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1)
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3)
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11)
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11)
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1)
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11)
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12)
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11)
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12)
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11)
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11)
+
+// Packet: 0x09f7
+packetLen(0x09f7, 77)
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1)
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143)
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1)
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1)
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6)
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1)
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1)
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1)
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269)
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3)
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4)
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2)
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6)
+
+// Packet: 0x0a05
+packetLen(0x0a05, 63)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 55)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 57)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 57)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 66)
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1)
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14)
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1)
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1)
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1)
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27)
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26)
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10)
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12)
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26)
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6)
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14)
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2)
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 25)
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2)
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1)
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2)
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3)
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2)
+
+// Packet: 0x0a20
+packetLen(0x0a20, 23)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 7)
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1)
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66)
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6)
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7)
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8)
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3)
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6)
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6)
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14)
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12)
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1)
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6)
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7)
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106)
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1)
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2)
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7)
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6)
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4)
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7)
+
+// Packet: 0x0a37
+packetLen(0x0a37, 69)
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3)
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36)
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1)
+
+// 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)
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85)
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1)
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3)
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+packetLen(0x0a49, 22)
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// 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)
+
+// 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)
+
+// 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)
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1)
+
+// 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)
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1)
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1)
+
+// 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)
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+packetLen(0x0a89, 61)
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6)
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1)
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1)
+
+// 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)
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8)
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10)
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4)
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10)
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1)
+
+// 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)
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4)
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1)
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 9)
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2)
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1)
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36)
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6)
+
+// 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)
+
+// 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)
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10)
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1)
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26)
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26)
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1)
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1)
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156)
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156)
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2)
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12)
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18)
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68)
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11)
+
+// 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, 32)
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6)
+
+// Packet: 0x0add
+packetLen(0x0add, 24)
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6)
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58)
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7)
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1)
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89)
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1)
+
+// Packet: 0x0ae6
+packetLen(0x0ae6, 10)
+
+// Packet: 0x0ae7
+packetLen(0x0ae7, 38)
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+packetLen(0x0ae9, 13)
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+packetLen(0x0aef, 2)
+
+// Packet: 0x0af0
+packetLen(0x0af0, 10)
+
+// Packet: 0x0af2
+packetLen(0x0af2, 40)
+
+// Packet: 0x0af3
+packetLen(0x0af3, -1)
+
+// Packet: 0x0af4
+packetLen(0x0af4, 11)
+
+// Packet: 0x0af5
+packetLen(0x0af5, 3)
+
+// Packet: 0x0af6
+packetLen(0x0af6, 88)
+
+// Packet: 0x0af7
+packetLen(0x0af7, 32)
+
+// Packet: 0x0af8
+packetLen(0x0af8, 11)
+
+// Packet: 0x0af9
+packetLen(0x0af9, 6)
+
+// Packet: 0x0afa
+packetLen(0x0afa, 58)
+
+// Packet: 0x0afb
+packetLen(0x0afb, -1)
+
+// Packet: 0x0afc
+packetLen(0x0afc, 16)
+
+// Packet: 0x0afd
+packetLen(0x0afd, -1)
+
+// Packet: 0x0afe
+packetLen(0x0afe, -1)
+
+// Packet: 0x0aff
+packetLen(0x0aff, -1)
+
+// Packet: 0x0b00
+packetLen(0x0b00, 8)
+
+// Packet: 0x0b01
+packetLen(0x0b01, 56)
+
+// Packet: 0x0b02
+packetLen(0x0b02, 26)
+
+// Packet: 0x0b03
+packetLen(0x0b03, -1)
+
+// Packet: 0x0b04
+packetLen(0x0b04, 90)
+
+// Packet: 0x0b05
+packetLen(0x0b05, 63)
+
+// Packet: 0x0b07
+packetLen(0x0b07, -1)
+
+// Packet: 0x0b08
+packetLen(0x0b08, -1)
+
+// Packet: 0x0b09
+packetLen(0x0b09, -1)
+
+// Packet: 0x0b0a
+packetLen(0x0b0a, -1)
+
+// Packet: 0x0b0b
+packetLen(0x0b0b, 4)
+
+// Packet: 0x0b0c
+packetLen(0x0b0c, 155)
+
+// Packet: 0x0b0d
+packetLen(0x0b0d, 10)
+
+// Packet: 0x0b0e
+packetLen(0x0b0e, -1)
+
+// Packet: 0x0b0f
+packetLen(0x0b0f, -1)
+
+// Packet: 0x0b10
+packetLen(0x0b10, 10)
+
+// Packet: 0x0b11
+packetLen(0x0b11, 4)
+
+// Packet: 0x0b12
+packetLen(0x0b12, 2)
+
+// Packet: 0x0b13
+packetLen(0x0b13, 48)
+
+// Packet: 0x0b14
+packetLen(0x0b14, 2)
+
+// Packet: 0x0b15
+packetLen(0x0b15, 7)
+
+// Packet: 0x0b16
+packetLen(0x0b16, 2)
+
+// Packet: 0x0b17
+packetLen(0x0b17, 3)
+
+// Packet: 0x0b18
+packetLen(0x0b18, 4)
+
+// Packet: 0x0b19
+packetLen(0x0b19, 2)
+
+// Packet: 0x0b1a
+packetLen(0x0b1a, 29)
+
+// Packet: 0x0b1b
+packetLen(0x0b1b, 2)
+
+// Packet: 0x0b1c
+packetLen(0x0b1c, 2)
+
+// Packet: 0x0b1d
+packetLen(0x0b1d, 2)
+
+// Packet: 0x0b1e
+packetLen(0x0b1e, 14)
+
+// Packet: 0x0b1f
+packetLen(0x0b1f, 14)
+
+// Packet: 0x0b20
+packetLen(0x0b20, 271)
+
+// Packet: 0x0b21
+packetLen(0x0b21, 13)
+
+// Packet: 0x0b22
+packetLen(0x0b22, 5)
+
+// Packet: 0x0b23
+packetLen(0x0b23, 6)
+
+// Packet: 0x0b24
+packetLen(0x0b24, 6)
+
+// Packet: 0x0b25
+packetLen(0x0b25, 6)
+
+// Packet: 0x0b27
+packetLen(0x0b27, -1)
+
+// Packet: 0x0b28
+packetLen(0x0b28, 3)
+
+// Packet: 0x0b2b
+packetLen(0x0b2b, 11)
+
+// Packet: 0x0b2c
+packetLen(0x0b2c, 3)
+
+// Packet: 0x0b2d
+packetLen(0x0b2d, 11)
+
+// Packet: 0x0b2e
+packetLen(0x0b2e, 4)
+
+// Packet: 0x0b2f
+packetLen(0x0b2f, 73)
+
+// Packet: 0x0b30
+packetLen(0x0b30, -1)
+
+// Packet: 0x0b31
+packetLen(0x0b31, 17)
+
+// Packet: 0x0b32
+packetLen(0x0b32, -1)
+
+// Packet: 0x0b33
+packetLen(0x0b33, 17)
+
+// Packet: 0x0b34
+packetLen(0x0b34, 50)
+
+// Packet: 0x0b35
+packetLen(0x0b35, 3)
+
+// Packet: 0x0b36
+packetLen(0x0b36, -1)
+
+// Packet: 0x0b37
+packetLen(0x0b37, -1)
+
+// Packet: 0x0b39
+packetLen(0x0b39, -1)
+
+// Packet: 0x0b3c
+packetLen(0x0b3c, 4)
+
+// Packet: 0x0b3d
+packetLen(0x0b3d, -1)
+
+// Packet: 0x0b3e
+packetLen(0x0b3e, -1)
+
+// Packet: 0x0b3f
+packetLen(0x0b3f, 64)
+
+// Packet: 0x0b40
+packetLen(0x0b40, -1)
+
+// Packet: 0x0b41
+packetLen(0x0b41, 70)
+
+// Packet: 0x0b42
+packetLen(0x0b42, 62)
+
+// Packet: 0x0b43
+packetLen(0x0b43, 48)
+
+// Packet: 0x0b44
+packetLen(0x0b44, 58)
+
+// Packet: 0x0b45
+packetLen(0x0b45, 58)
+
+// Packet: 0x0b46
+packetLen(0x0b46, 10)
+
+// Packet: 0x0b47
+packetLen(0x0b47, 14)
+
+// Packet: 0x0b48
+packetLen(0x0b48, 18)
+
+// Packet: 0x0b49
+packetLen(0x0b49, 4)
+
+// Packet: 0x0b4a
+packetLen(0x0b4a, 6)
+
+// Packet: 0x0b4b
+packetLen(0x0b4b, 4)
+
+// Packet: 0x0b4c
+packetLen(0x0b4c, 2)
+
+// Packet: 0x0b4d
+packetLen(0x0b4d, -1)
+
+// Packet: 0x0b4e
+packetLen(0x0b4e, -1)
+
+// Packet: 0x0b4f
+packetLen(0x0b4f, 2)
+
+// Packet: 0x0b50
+packetLen(0x0b50, 2)
+
+// Packet: 0x0b51
+packetLen(0x0b51, 2)
+
+// Packet: 0x0b52
+packetLen(0x0b52, 2)
+
+// Packet: 0x0b53
+packetLen(0x0b53, 52)
+
+// Packet: 0x0b54
+packetLen(0x0b54, 8)
+
+// Packet: 0x0b55
+packetLen(0x0b55, -1)
+
+// Packet: 0x0b56
+packetLen(0x0b56, -1)
+
+// Packet: 0x0b57
+packetLen(0x0b57, -1)
+
+// Packet: 0x0b58
+packetLen(0x0b58, 2)
+
+// Packet: 0x0b59
+packetLen(0x0b59, 4)
+
+// Packet: 0x0b5a
+packetLen(0x0b5a, -1)
+
+// Packet: 0x0b5b
+packetLen(0x0b5b, 14)
+
+// Packet: 0x0b5c
+packetLen(0x0b5c, 2)
+
+// Packet: 0x0b5d
+packetLen(0x0b5d, 10)
+
+// Packet: 0x0b5e
+packetLen(0x0b5e, 33)
+
+// Packet: 0x0b5f
+packetLen(0x0b5f, -1)
+
+// Packet: 0x0b60
+packetLen(0x0b60, -1)
+
+// Packet: 0x0b61
+packetLen(0x0b61, -1)
+
+// Packet: 0x0b62
+packetLen(0x0b62, -1)
+
+// Packet: 0x0b63
+packetLen(0x0b63, -1)
+
+// Packet: 0x0b64
+packetLen(0x0b64, -1)
+
+// Packet: 0x0b65
+packetLen(0x0b65, -1)
+
+// Packet: 0x0b66
+packetLen(0x0b66, 26)
+
+// Packet: 0x0b67
+packetLen(0x0b67, 33)
+
+// Packet: 0x0b68
+packetLen(0x0b68, 12)
+
+// Packet: 0x0b69
+packetLen(0x0b69, 18)
+
+// Packet: 0x0b6a
+packetLen(0x0b6a, -1)
+
+// Packet: 0x0b6b
+packetLen(0x0b6b, 14)
+
+// Packet: 0x0b6c
+packetLen(0x0b6c, 12)
+
+// Packet: 0x0b6d
+packetLen(0x0b6d, 6)
+
+// Packet: 0x0b6e
+packetLen(0x0b6e, 14)
+
+// Packet: 0x0b6f
+#if PACKETVER >= 20200122
+packetLen(0x0b6f, 177)
+#endif
+
+// Packet: 0x0b70
+#if PACKETVER >= 20200122
+packetLen(0x0b70, 8)
+#endif
+
+// Packet: 0x0b71
+#if PACKETVER >= 20200122
+packetLen(0x0b71, 177)
+#endif
+
+// Packet: 0x0b72
+#if PACKETVER >= 20200122
+packetLen(0x0b72, 4)
+#endif
+
+// Packet: 0x0b73
+#if PACKETVER >= 20200212
+packetLen(0x0b73, 8)
+#endif
+
+// Packet: 0x0b74
+#if PACKETVER >= 20200304
+packetLen(0x0b74, 1026)
+#endif
+
+// Packet: 0x0b75
+#if PACKETVER >= 20200304
+packetLen(0x0b75, 1026)
+#endif
+
+
+#endif /* COMMON_PACKETS2020_LEN_RE_H */
diff --git a/src/common/packets/packets2020_len_zero.h b/src/common/packets/packets2020_len_zero.h
new file mode 100644
index 000000000..888d7999b
--- /dev/null
+++ b/src/common/packets/packets2020_len_zero.h
@@ -0,0 +1,4659 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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_PACKETS2020_LEN_ZERO_H
+#define COMMON_PACKETS2020_LEN_ZERO_H
+
+/* This file is autogenerated, please do not commit manual changes */
+
+// Packet: 0x0064
+packetLen(0x0064, 55)
+
+// Packet: 0x0065
+packetLen(0x0065, 17)
+
+// Packet: 0x0066
+packetLen(0x0066, 3)
+
+// Packet: 0x0067
+packetLen(0x0067, 37)
+
+// Packet: 0x0068
+packetLen(0x0068, 46)
+
+// Packet: 0x0069
+packetLen(0x0069, -1)
+
+// Packet: 0x006a
+packetLen(0x006a, 23)
+
+// Packet: 0x006b
+packetLen(0x006b, -1)
+
+// Packet: 0x006c
+packetLen(0x006c, 3)
+
+// Packet: 0x006d
+packetLen(0x006d, 157)
+
+// Packet: 0x006e
+packetLen(0x006e, 3)
+
+// Packet: 0x006f
+packetLen(0x006f, 2)
+
+// Packet: 0x0070
+packetLen(0x0070, 3)
+
+// Packet: 0x0071
+packetLen(0x0071, 28)
+
+// Packet: 0x0072
+packetLen(0x0072, 22)
+
+// Packet: 0x0073
+packetLen(0x0073, 11)
+
+// Packet: 0x0074
+packetLen(0x0074, 3)
+
+// Packet: 0x0075
+packetLen(0x0075, -1)
+
+// Packet: 0x0076
+packetLen(0x0076, 9)
+
+// Packet: 0x0077
+packetLen(0x0077, 5)
+
+// Packet: 0x0078
+packetLen(0x0078, 55)
+
+// Packet: 0x0079
+packetLen(0x0079, 53)
+
+// Packet: 0x007a
+packetLen(0x007a, 58)
+
+// Packet: 0x007b
+packetLen(0x007b, 60)
+
+// Packet: 0x007c
+packetLen(0x007c, 44)
+
+// Packet: 0x007d
+packetLen(0x007d, 2)
+
+// Packet: 0x007e
+packetLen(0x007e, 46)
+
+// Packet: 0x007f
+packetLen(0x007f, 6)
+
+// Packet: 0x0080
+packetLen(0x0080, 7)
+
+// Packet: 0x0081
+packetLen(0x0081, 3)
+
+// Packet: 0x0082
+packetLen(0x0082, 2)
+
+// Packet: 0x0083
+packetLen(0x0083, 2)
+
+// Packet: 0x0084
+packetLen(0x0084, 2)
+
+// Packet: 0x0085
+packetLen(0x0085, 10)
+
+// Packet: 0x0086
+packetLen(0x0086, 16)
+
+// Packet: 0x0087
+packetLen(0x0087, 12)
+
+// Packet: 0x0088
+packetLen(0x0088, 10)
+
+// Packet: 0x0089
+packetLen(0x0089, 11)
+
+// Packet: 0x008a
+packetLen(0x008a, 29)
+
+// Packet: 0x008b
+packetLen(0x008b, 23)
+
+// Packet: 0x008c
+packetLen(0x008c, 14)
+
+// Packet: 0x008d
+packetLen(0x008d, -1)
+
+// Packet: 0x008e
+packetLen(0x008e, -1)
+
+// Packet: 0x0090
+packetLen(0x0090, 7)
+
+// Packet: 0x0091
+packetLen(0x0091, 22)
+
+// Packet: 0x0092
+packetLen(0x0092, 28)
+
+// Packet: 0x0093
+packetLen(0x0093, 2)
+
+// Packet: 0x0094
+packetLen(0x0094, 19)
+
+// Packet: 0x0095
+packetLen(0x0095, 30)
+
+// Packet: 0x0096
+packetLen(0x0096, -1)
+
+// Packet: 0x0097
+packetLen(0x0097, -1)
+
+// Packet: 0x0098
+packetLen(0x0098, 3)
+
+// Packet: 0x0099
+packetLen(0x0099, -1)
+
+// Packet: 0x009a
+packetLen(0x009a, -1)
+
+// Packet: 0x009b
+packetLen(0x009b, 34)
+
+// Packet: 0x009c
+packetLen(0x009c, 9)
+
+// Packet: 0x009d
+packetLen(0x009d, 19)
+
+// Packet: 0x009e
+packetLen(0x009e, 19)
+
+// Packet: 0x009f
+packetLen(0x009f, 20)
+
+// Packet: 0x00a0
+packetLen(0x00a0, 33)
+
+// Packet: 0x00a1
+packetLen(0x00a1, 6)
+
+// Packet: 0x00a2
+packetLen(0x00a2, 14)
+
+// Packet: 0x00a3
+packetLen(0x00a3, -1)
+
+// Packet: 0x00a4
+packetLen(0x00a4, -1)
+
+// Packet: 0x00a5
+packetLen(0x00a5, -1)
+
+// Packet: 0x00a6
+packetLen(0x00a6, -1)
+
+// Packet: 0x00a7
+packetLen(0x00a7, 9)
+
+// Packet: 0x00a8
+packetLen(0x00a8, 7)
+
+// Packet: 0x00a9
+packetLen(0x00a9, 6)
+
+// Packet: 0x00aa
+packetLen(0x00aa, 9)
+
+// Packet: 0x00ab
+packetLen(0x00ab, 4)
+
+// Packet: 0x00ac
+packetLen(0x00ac, 7)
+
+// Packet: 0x00ae
+packetLen(0x00ae, -1)
+
+// Packet: 0x00af
+packetLen(0x00af, 6)
+
+// Packet: 0x00b0
+packetLen(0x00b0, 8)
+
+// Packet: 0x00b1
+packetLen(0x00b1, 8)
+
+// Packet: 0x00b2
+packetLen(0x00b2, 3)
+
+// Packet: 0x00b3
+packetLen(0x00b3, 3)
+
+// Packet: 0x00b4
+packetLen(0x00b4, -1)
+
+// Packet: 0x00b5
+packetLen(0x00b5, 6)
+
+// Packet: 0x00b6
+packetLen(0x00b6, 6)
+
+// Packet: 0x00b7
+packetLen(0x00b7, -1)
+
+// Packet: 0x00b8
+packetLen(0x00b8, 7)
+
+// Packet: 0x00b9
+packetLen(0x00b9, 6)
+
+// Packet: 0x00ba
+packetLen(0x00ba, 2)
+
+// Packet: 0x00bb
+packetLen(0x00bb, 5)
+
+// Packet: 0x00bc
+packetLen(0x00bc, 6)
+
+// Packet: 0x00bd
+packetLen(0x00bd, 44)
+
+// Packet: 0x00be
+packetLen(0x00be, 5)
+
+// Packet: 0x00bf
+packetLen(0x00bf, 3)
+
+// Packet: 0x00c0
+packetLen(0x00c0, 7)
+
+// Packet: 0x00c1
+packetLen(0x00c1, 2)
+
+// Packet: 0x00c2
+packetLen(0x00c2, 6)
+
+// Packet: 0x00c3
+packetLen(0x00c3, 8)
+
+// Packet: 0x00c4
+packetLen(0x00c4, 6)
+
+// Packet: 0x00c5
+packetLen(0x00c5, 7)
+
+// Packet: 0x00c6
+packetLen(0x00c6, -1)
+
+// Packet: 0x00c7
+packetLen(0x00c7, -1)
+
+// Packet: 0x00c8
+packetLen(0x00c8, -1)
+
+// Packet: 0x00c9
+packetLen(0x00c9, -1)
+
+// Packet: 0x00ca
+packetLen(0x00ca, 3)
+
+// Packet: 0x00cb
+packetLen(0x00cb, 3)
+
+// Packet: 0x00cc
+packetLen(0x00cc, 6)
+
+// Packet: 0x00cd
+packetLen(0x00cd, 3)
+
+// Packet: 0x00ce
+packetLen(0x00ce, 2)
+
+// Packet: 0x00cf
+packetLen(0x00cf, 27)
+
+// Packet: 0x00d0
+packetLen(0x00d0, 3)
+
+// Packet: 0x00d1
+packetLen(0x00d1, 4)
+
+// Packet: 0x00d2
+packetLen(0x00d2, 4)
+
+// Packet: 0x00d3
+packetLen(0x00d3, 2)
+
+// Packet: 0x00d4
+packetLen(0x00d4, -1)
+
+// Packet: 0x00d5
+packetLen(0x00d5, -1)
+
+// Packet: 0x00d6
+packetLen(0x00d6, 3)
+
+// Packet: 0x00d7
+packetLen(0x00d7, -1)
+
+// Packet: 0x00d8
+packetLen(0x00d8, 6)
+
+// Packet: 0x00d9
+packetLen(0x00d9, 14)
+
+// Packet: 0x00da
+packetLen(0x00da, 3)
+
+// Packet: 0x00db
+packetLen(0x00db, -1)
+
+// Packet: 0x00dc
+packetLen(0x00dc, 28)
+
+// Packet: 0x00dd
+packetLen(0x00dd, 29)
+
+// Packet: 0x00de
+packetLen(0x00de, -1)
+
+// Packet: 0x00df
+packetLen(0x00df, -1)
+
+// Packet: 0x00e0
+packetLen(0x00e0, 30)
+
+// Packet: 0x00e1
+packetLen(0x00e1, 30)
+
+// Packet: 0x00e2
+packetLen(0x00e2, 26)
+
+// Packet: 0x00e3
+packetLen(0x00e3, 2)
+
+// Packet: 0x00e4
+packetLen(0x00e4, 6)
+
+// Packet: 0x00e5
+packetLen(0x00e5, 26)
+
+// Packet: 0x00e6
+packetLen(0x00e6, 3)
+
+// Packet: 0x00e7
+packetLen(0x00e7, 3)
+
+// Packet: 0x00e8
+packetLen(0x00e8, 8)
+
+// Packet: 0x00e9
+packetLen(0x00e9, 29)
+
+// Packet: 0x00ea
+packetLen(0x00ea, 5)
+
+// Packet: 0x00eb
+packetLen(0x00eb, 2)
+
+// Packet: 0x00ec
+packetLen(0x00ec, 3)
+
+// Packet: 0x00ed
+packetLen(0x00ed, 2)
+
+// Packet: 0x00ee
+packetLen(0x00ee, 2)
+
+// Packet: 0x00ef
+packetLen(0x00ef, 2)
+
+// Packet: 0x00f0
+packetLen(0x00f0, 3)
+
+// Packet: 0x00f1
+packetLen(0x00f1, 2)
+
+// Packet: 0x00f2
+packetLen(0x00f2, 6)
+
+// Packet: 0x00f3
+packetLen(0x00f3, -1)
+
+// Packet: 0x00f4
+packetLen(0x00f4, 31)
+
+// Packet: 0x00f5
+packetLen(0x00f5, 11)
+
+// Packet: 0x00f6
+packetLen(0x00f6, 8)
+
+// Packet: 0x00f7
+packetLen(0x00f7, 17)
+
+// Packet: 0x00f8
+packetLen(0x00f8, 2)
+
+// Packet: 0x00f9
+packetLen(0x00f9, 26)
+
+// Packet: 0x00fa
+packetLen(0x00fa, 3)
+
+// Packet: 0x00fb
+packetLen(0x00fb, -1)
+
+// Packet: 0x00fc
+packetLen(0x00fc, 6)
+
+// Packet: 0x00fd
+packetLen(0x00fd, 27)
+
+// Packet: 0x00fe
+packetLen(0x00fe, 30)
+
+// Packet: 0x00ff
+packetLen(0x00ff, 10)
+
+// Packet: 0x0100
+packetLen(0x0100, 2)
+
+// Packet: 0x0101
+packetLen(0x0101, 6)
+
+// Packet: 0x0102
+packetLen(0x0102, 6)
+
+// Packet: 0x0103
+packetLen(0x0103, 30)
+
+// Packet: 0x0104
+packetLen(0x0104, 79)
+
+// Packet: 0x0105
+packetLen(0x0105, 31)
+
+// Packet: 0x0106
+packetLen(0x0106, 10)
+
+// Packet: 0x0107
+packetLen(0x0107, 10)
+
+// Packet: 0x0108
+packetLen(0x0108, -1)
+
+// Packet: 0x0109
+packetLen(0x0109, -1)
+
+// Packet: 0x010a
+packetLen(0x010a, 6)
+
+// Packet: 0x010b
+packetLen(0x010b, 6)
+
+// Packet: 0x010c
+packetLen(0x010c, 6)
+
+// Packet: 0x010d
+packetLen(0x010d, 2)
+
+// Packet: 0x010e
+packetLen(0x010e, 11)
+
+// Packet: 0x010f
+packetLen(0x010f, -1)
+
+// Packet: 0x0110
+packetLen(0x0110, 14)
+
+// Packet: 0x0111
+packetLen(0x0111, 39)
+
+// Packet: 0x0112
+packetLen(0x0112, 4)
+
+// Packet: 0x0113
+packetLen(0x0113, 25)
+
+// Packet: 0x0114
+packetLen(0x0114, 31)
+
+// Packet: 0x0115
+packetLen(0x0115, 35)
+
+// Packet: 0x0116
+packetLen(0x0116, 17)
+
+// Packet: 0x0117
+packetLen(0x0117, 18)
+
+// Packet: 0x0118
+packetLen(0x0118, 2)
+
+// Packet: 0x0119
+packetLen(0x0119, 13)
+
+// Packet: 0x011a
+packetLen(0x011a, 15)
+
+// Packet: 0x011b
+packetLen(0x011b, 20)
+
+// Packet: 0x011c
+packetLen(0x011c, 68)
+
+// Packet: 0x011d
+packetLen(0x011d, 2)
+
+// Packet: 0x011e
+packetLen(0x011e, 3)
+
+// Packet: 0x011f
+packetLen(0x011f, 16)
+
+// Packet: 0x0120
+packetLen(0x0120, 6)
+
+// Packet: 0x0121
+packetLen(0x0121, 14)
+
+// Packet: 0x0122
+packetLen(0x0122, -1)
+
+// Packet: 0x0123
+packetLen(0x0123, -1)
+
+// Packet: 0x0124
+packetLen(0x0124, 31)
+
+// Packet: 0x0125
+packetLen(0x0125, 8)
+
+// Packet: 0x0126
+packetLen(0x0126, 8)
+
+// Packet: 0x0127
+packetLen(0x0127, 8)
+
+// Packet: 0x0128
+packetLen(0x0128, 8)
+
+// Packet: 0x0129
+packetLen(0x0129, 8)
+
+// Packet: 0x012a
+packetLen(0x012a, 2)
+
+// Packet: 0x012b
+packetLen(0x012b, 2)
+
+// Packet: 0x012c
+packetLen(0x012c, 3)
+
+// Packet: 0x012d
+packetLen(0x012d, 4)
+
+// Packet: 0x012e
+packetLen(0x012e, 2)
+
+// Packet: 0x012f
+packetLen(0x012f, -1)
+
+// Packet: 0x0130
+packetLen(0x0130, 6)
+
+// Packet: 0x0131
+packetLen(0x0131, 86)
+
+// Packet: 0x0132
+packetLen(0x0132, 6)
+
+// Packet: 0x0133
+packetLen(0x0133, -1)
+
+// Packet: 0x0134
+packetLen(0x0134, -1)
+
+// Packet: 0x0135
+packetLen(0x0135, 7)
+
+// Packet: 0x0136
+packetLen(0x0136, -1)
+
+// Packet: 0x0137
+packetLen(0x0137, 6)
+
+// Packet: 0x0138
+packetLen(0x0138, 3)
+
+// Packet: 0x0139
+packetLen(0x0139, 16)
+
+// Packet: 0x013a
+packetLen(0x013a, 4)
+
+// Packet: 0x013b
+packetLen(0x013b, 4)
+
+// Packet: 0x013c
+packetLen(0x013c, 4)
+
+// Packet: 0x013d
+packetLen(0x013d, 6)
+
+// Packet: 0x013e
+packetLen(0x013e, 24)
+
+// Packet: 0x013f
+packetLen(0x013f, 26)
+
+// Packet: 0x0140
+packetLen(0x0140, 22)
+
+// Packet: 0x0141
+packetLen(0x0141, 14)
+
+// Packet: 0x0142
+packetLen(0x0142, 6)
+
+// Packet: 0x0143
+packetLen(0x0143, 10)
+
+// Packet: 0x0144
+packetLen(0x0144, 23)
+
+// Packet: 0x0145
+packetLen(0x0145, 19)
+
+// Packet: 0x0146
+packetLen(0x0146, 6)
+
+// Packet: 0x0147
+packetLen(0x0147, 39)
+
+// Packet: 0x0148
+packetLen(0x0148, 8)
+
+// Packet: 0x0149
+packetLen(0x0149, 9)
+
+// Packet: 0x014a
+packetLen(0x014a, 6)
+
+// Packet: 0x014b
+packetLen(0x014b, 27)
+
+// Packet: 0x014c
+packetLen(0x014c, -1)
+
+// Packet: 0x014d
+packetLen(0x014d, 2)
+
+// Packet: 0x014e
+packetLen(0x014e, 6)
+
+// Packet: 0x014f
+packetLen(0x014f, 6)
+
+// Packet: 0x0150
+packetLen(0x0150, 110)
+
+// Packet: 0x0151
+packetLen(0x0151, 6)
+
+// Packet: 0x0152
+packetLen(0x0152, -1)
+
+// Packet: 0x0153
+packetLen(0x0153, -1)
+
+// Packet: 0x0154
+packetLen(0x0154, -1)
+
+// Packet: 0x0155
+packetLen(0x0155, -1)
+
+// Packet: 0x0156
+packetLen(0x0156, -1)
+
+// Packet: 0x0157
+packetLen(0x0157, 6)
+
+// Packet: 0x0159
+packetLen(0x0159, 54)
+
+// Packet: 0x015a
+packetLen(0x015a, 66)
+
+// Packet: 0x015b
+packetLen(0x015b, 54)
+
+// Packet: 0x015c
+packetLen(0x015c, 90)
+
+// Packet: 0x015d
+packetLen(0x015d, 42)
+
+// Packet: 0x015e
+packetLen(0x015e, 6)
+
+// Packet: 0x015f
+packetLen(0x015f, 42)
+
+// Packet: 0x0160
+packetLen(0x0160, -1)
+
+// Packet: 0x0161
+packetLen(0x0161, -1)
+
+// Packet: 0x0162
+packetLen(0x0162, -1)
+
+// Packet: 0x0163
+packetLen(0x0163, -1)
+
+// Packet: 0x0164
+packetLen(0x0164, -1)
+
+// Packet: 0x0165
+packetLen(0x0165, 30)
+
+// Packet: 0x0166
+packetLen(0x0166, -1)
+
+// Packet: 0x0167
+packetLen(0x0167, 3)
+
+// Packet: 0x0168
+packetLen(0x0168, 14)
+
+// Packet: 0x0169
+packetLen(0x0169, 3)
+
+// Packet: 0x016a
+packetLen(0x016a, 30)
+
+// Packet: 0x016b
+packetLen(0x016b, 10)
+
+// Packet: 0x016c
+packetLen(0x016c, 43)
+
+// Packet: 0x016d
+packetLen(0x016d, 14)
+
+// Packet: 0x016e
+packetLen(0x016e, 186)
+
+// Packet: 0x016f
+packetLen(0x016f, 182)
+
+// Packet: 0x0170
+packetLen(0x0170, 14)
+
+// Packet: 0x0171
+packetLen(0x0171, 30)
+
+// Packet: 0x0172
+packetLen(0x0172, 10)
+
+// Packet: 0x0173
+packetLen(0x0173, 3)
+
+// Packet: 0x0174
+packetLen(0x0174, -1)
+
+// Packet: 0x0175
+packetLen(0x0175, 6)
+
+// Packet: 0x0176
+packetLen(0x0176, 106)
+
+// Packet: 0x0177
+packetLen(0x0177, -1)
+
+// Packet: 0x0178
+packetLen(0x0178, 4)
+
+// Packet: 0x0179
+packetLen(0x0179, 5)
+
+// Packet: 0x017a
+packetLen(0x017a, 4)
+
+// Packet: 0x017b
+packetLen(0x017b, -1)
+
+// Packet: 0x017c
+packetLen(0x017c, 6)
+
+// Packet: 0x017d
+packetLen(0x017d, 7)
+
+// Packet: 0x017e
+packetLen(0x017e, -1)
+
+// Packet: 0x017f
+packetLen(0x017f, -1)
+
+// Packet: 0x0180
+packetLen(0x0180, 6)
+
+// Packet: 0x0181
+packetLen(0x0181, 3)
+
+// Packet: 0x0182
+packetLen(0x0182, 106)
+
+// Packet: 0x0183
+packetLen(0x0183, 10)
+
+// Packet: 0x0184
+packetLen(0x0184, 10)
+
+// Packet: 0x0185
+packetLen(0x0185, 34)
+
+// Packet: 0x0187
+packetLen(0x0187, 6)
+
+// Packet: 0x0188
+packetLen(0x0188, 8)
+
+// Packet: 0x0189
+packetLen(0x0189, 4)
+
+// Packet: 0x018a
+packetLen(0x018a, 4)
+
+// Packet: 0x018b
+packetLen(0x018b, 4)
+
+// Packet: 0x018c
+packetLen(0x018c, 29)
+
+// Packet: 0x018d
+packetLen(0x018d, -1)
+
+// Packet: 0x018e
+packetLen(0x018e, 18)
+
+// Packet: 0x018f
+packetLen(0x018f, 8)
+
+// Packet: 0x0190
+packetLen(0x0190, 23)
+
+// Packet: 0x0191
+packetLen(0x0191, 27)
+
+// Packet: 0x0192
+packetLen(0x0192, 24)
+
+// Packet: 0x0193
+packetLen(0x0193, 2)
+
+// Packet: 0x0194
+packetLen(0x0194, 30)
+
+// Packet: 0x0195
+packetLen(0x0195, 102)
+
+// Packet: 0x0196
+packetLen(0x0196, 9)
+
+// Packet: 0x0197
+packetLen(0x0197, 4)
+
+// Packet: 0x0198
+packetLen(0x0198, 8)
+
+// Packet: 0x0199
+packetLen(0x0199, 4)
+
+// Packet: 0x019a
+packetLen(0x019a, 14)
+
+// Packet: 0x019b
+packetLen(0x019b, 10)
+
+// Packet: 0x019c
+packetLen(0x019c, -1)
+
+// Packet: 0x019d
+packetLen(0x019d, 6)
+
+// Packet: 0x019e
+packetLen(0x019e, 2)
+
+// Packet: 0x019f
+packetLen(0x019f, 6)
+
+// Packet: 0x01a0
+packetLen(0x01a0, 3)
+
+// Packet: 0x01a1
+packetLen(0x01a1, 3)
+
+// Packet: 0x01a2
+packetLen(0x01a2, 37)
+
+// Packet: 0x01a3
+packetLen(0x01a3, 7)
+
+// Packet: 0x01a4
+packetLen(0x01a4, 11)
+
+// Packet: 0x01a5
+packetLen(0x01a5, 26)
+
+// Packet: 0x01a6
+packetLen(0x01a6, -1)
+
+// Packet: 0x01a7
+packetLen(0x01a7, 4)
+
+// Packet: 0x01a8
+packetLen(0x01a8, 4)
+
+// Packet: 0x01a9
+packetLen(0x01a9, 6)
+
+// Packet: 0x01aa
+packetLen(0x01aa, 10)
+
+// Packet: 0x01ab
+packetLen(0x01ab, 12)
+
+// Packet: 0x01ac
+packetLen(0x01ac, 6)
+
+// Packet: 0x01ad
+packetLen(0x01ad, -1)
+
+// Packet: 0x01ae
+packetLen(0x01ae, 6)
+
+// Packet: 0x01af
+packetLen(0x01af, 4)
+
+// Packet: 0x01b0
+packetLen(0x01b0, 11)
+
+// Packet: 0x01b1
+packetLen(0x01b1, 7)
+
+// Packet: 0x01b2
+packetLen(0x01b2, -1)
+
+// Packet: 0x01b3
+packetLen(0x01b3, 67)
+
+// Packet: 0x01b4
+packetLen(0x01b4, 12)
+
+// Packet: 0x01b5
+packetLen(0x01b5, 18)
+
+// Packet: 0x01b6
+packetLen(0x01b6, 114)
+
+// Packet: 0x01b7
+packetLen(0x01b7, 6)
+
+// Packet: 0x01b8
+packetLen(0x01b8, 3)
+
+// Packet: 0x01b9
+packetLen(0x01b9, 6)
+
+// Packet: 0x01ba
+packetLen(0x01ba, 26)
+
+// Packet: 0x01bb
+packetLen(0x01bb, 26)
+
+// Packet: 0x01bc
+packetLen(0x01bc, 26)
+
+// Packet: 0x01bd
+packetLen(0x01bd, 26)
+
+// Packet: 0x01be
+packetLen(0x01be, 2)
+
+// Packet: 0x01bf
+packetLen(0x01bf, 3)
+
+// Packet: 0x01c0
+packetLen(0x01c0, 2)
+
+// Packet: 0x01c1
+packetLen(0x01c1, 14)
+
+// Packet: 0x01c2
+packetLen(0x01c2, 10)
+
+// Packet: 0x01c3
+packetLen(0x01c3, -1)
+
+// Packet: 0x01c4
+packetLen(0x01c4, 32)
+
+// Packet: 0x01c5
+packetLen(0x01c5, 32)
+
+// Packet: 0x01c6
+packetLen(0x01c6, 4)
+
+// Packet: 0x01c7
+packetLen(0x01c7, 2)
+
+// Packet: 0x01c8
+packetLen(0x01c8, 15)
+
+// Packet: 0x01c9
+packetLen(0x01c9, 97)
+
+// Packet: 0x01ca
+packetLen(0x01ca, 3)
+
+// Packet: 0x01cb
+packetLen(0x01cb, 9)
+
+// Packet: 0x01cc
+packetLen(0x01cc, 9)
+
+// Packet: 0x01cd
+packetLen(0x01cd, 30)
+
+// Packet: 0x01ce
+packetLen(0x01ce, 6)
+
+// Packet: 0x01cf
+packetLen(0x01cf, 28)
+
+// Packet: 0x01d0
+packetLen(0x01d0, 8)
+
+// Packet: 0x01d1
+packetLen(0x01d1, 14)
+
+// Packet: 0x01d2
+packetLen(0x01d2, 10)
+
+// Packet: 0x01d3
+packetLen(0x01d3, 35)
+
+// Packet: 0x01d4
+packetLen(0x01d4, 6)
+
+// Packet: 0x01d5
+packetLen(0x01d5, -1)
+
+// Packet: 0x01d6
+packetLen(0x01d6, 4)
+
+// Packet: 0x01d7
+packetLen(0x01d7, 15)
+
+// Packet: 0x01d8
+packetLen(0x01d8, 58)
+
+// Packet: 0x01d9
+packetLen(0x01d9, 57)
+
+// Packet: 0x01da
+packetLen(0x01da, 64)
+
+// Packet: 0x01db
+packetLen(0x01db, 2)
+
+// Packet: 0x01dc
+packetLen(0x01dc, -1)
+
+// Packet: 0x01dd
+packetLen(0x01dd, 47)
+
+// Packet: 0x01de
+packetLen(0x01de, 33)
+
+// Packet: 0x01df
+packetLen(0x01df, 6)
+
+// Packet: 0x01e0
+packetLen(0x01e0, 30)
+
+// Packet: 0x01e1
+packetLen(0x01e1, 8)
+
+// Packet: 0x01e2
+packetLen(0x01e2, 34)
+
+// Packet: 0x01e3
+packetLen(0x01e3, 14)
+
+// Packet: 0x01e4
+packetLen(0x01e4, 2)
+
+// Packet: 0x01e5
+packetLen(0x01e5, 6)
+
+// Packet: 0x01e6
+packetLen(0x01e6, 26)
+
+// Packet: 0x01e7
+packetLen(0x01e7, 2)
+
+// Packet: 0x01e8
+packetLen(0x01e8, 28)
+
+// Packet: 0x01e9
+packetLen(0x01e9, 81)
+
+// Packet: 0x01ea
+packetLen(0x01ea, 6)
+
+// Packet: 0x01eb
+packetLen(0x01eb, 10)
+
+// Packet: 0x01ec
+packetLen(0x01ec, 26)
+
+// Packet: 0x01ed
+packetLen(0x01ed, 2)
+
+// Packet: 0x01ee
+packetLen(0x01ee, -1)
+
+// Packet: 0x01ef
+packetLen(0x01ef, -1)
+
+// Packet: 0x01f0
+packetLen(0x01f0, -1)
+
+// Packet: 0x01f1
+packetLen(0x01f1, -1)
+
+// Packet: 0x01f2
+packetLen(0x01f2, 20)
+
+// Packet: 0x01f3
+packetLen(0x01f3, 10)
+
+// Packet: 0x01f4
+packetLen(0x01f4, 32)
+
+// Packet: 0x01f5
+packetLen(0x01f5, 9)
+
+// Packet: 0x01f6
+packetLen(0x01f6, 34)
+
+// Packet: 0x01f7
+packetLen(0x01f7, 14)
+
+// Packet: 0x01f8
+packetLen(0x01f8, 2)
+
+// Packet: 0x01f9
+packetLen(0x01f9, 6)
+
+// Packet: 0x01fa
+packetLen(0x01fa, 48)
+
+// Packet: 0x01fb
+packetLen(0x01fb, 56)
+
+// Packet: 0x01fc
+packetLen(0x01fc, -1)
+
+// Packet: 0x01fd
+packetLen(0x01fd, 25)
+
+// Packet: 0x01fe
+packetLen(0x01fe, 5)
+
+// Packet: 0x01ff
+packetLen(0x01ff, 10)
+
+// Packet: 0x0200
+packetLen(0x0200, 26)
+
+// Packet: 0x0201
+packetLen(0x0201, -1)
+
+// Packet: 0x0202
+packetLen(0x0202, 26)
+
+// Packet: 0x0203
+packetLen(0x0203, 10)
+
+// Packet: 0x0204
+packetLen(0x0204, 18)
+
+// Packet: 0x0205
+packetLen(0x0205, 26)
+
+// Packet: 0x0206
+packetLen(0x0206, 35)
+
+// Packet: 0x0207
+packetLen(0x0207, 34)
+
+// Packet: 0x0208
+packetLen(0x0208, 14)
+
+// Packet: 0x0209
+packetLen(0x0209, 36)
+
+// Packet: 0x020a
+packetLen(0x020a, 10)
+
+// Packet: 0x020d
+packetLen(0x020d, -1)
+
+// Packet: 0x020e
+packetLen(0x020e, 32)
+
+// Packet: 0x0212
+packetLen(0x0212, 26)
+
+// Packet: 0x0213
+packetLen(0x0213, 26)
+
+// Packet: 0x0214
+packetLen(0x0214, 42)
+
+// Packet: 0x0215
+packetLen(0x0215, 6)
+
+// Packet: 0x0216
+packetLen(0x0216, 6)
+
+// Packet: 0x0217
+packetLen(0x0217, 2)
+
+// Packet: 0x0218
+packetLen(0x0218, 2)
+
+// Packet: 0x0219
+packetLen(0x0219, 282)
+
+// Packet: 0x021a
+packetLen(0x021a, 282)
+
+// Packet: 0x021b
+packetLen(0x021b, 10)
+
+// Packet: 0x021c
+packetLen(0x021c, 10)
+
+// Packet: 0x021d
+packetLen(0x021d, 6)
+
+// Packet: 0x021e
+packetLen(0x021e, 6)
+
+// Packet: 0x021f
+packetLen(0x021f, 66)
+
+// Packet: 0x0220
+packetLen(0x0220, 10)
+
+// Packet: 0x0221
+packetLen(0x0221, -1)
+
+// Packet: 0x0222
+packetLen(0x0222, 6)
+
+// Packet: 0x0223
+packetLen(0x0223, 10)
+
+// Packet: 0x0224
+packetLen(0x0224, 10)
+
+// Packet: 0x0225
+packetLen(0x0225, 2)
+
+// Packet: 0x0226
+packetLen(0x0226, 282)
+
+// Packet: 0x0227
+packetLen(0x0227, 18)
+
+// Packet: 0x0228
+packetLen(0x0228, 18)
+
+// Packet: 0x0229
+packetLen(0x0229, 15)
+
+// Packet: 0x022a
+packetLen(0x022a, 62)
+
+// Packet: 0x022b
+packetLen(0x022b, 61)
+
+// Packet: 0x022c
+packetLen(0x022c, 69)
+
+// Packet: 0x022d
+packetLen(0x022d, 5)
+
+// Packet: 0x022e
+packetLen(0x022e, 73)
+
+// Packet: 0x022f
+packetLen(0x022f, 7)
+
+// Packet: 0x0230
+packetLen(0x0230, 12)
+
+// Packet: 0x0231
+packetLen(0x0231, 26)
+
+// Packet: 0x0232
+packetLen(0x0232, 9)
+
+// Packet: 0x0233
+packetLen(0x0233, 11)
+
+// Packet: 0x0234
+packetLen(0x0234, 6)
+
+// Packet: 0x0235
+packetLen(0x0235, -1)
+
+// Packet: 0x0236
+packetLen(0x0236, 10)
+
+// Packet: 0x0237
+packetLen(0x0237, 2)
+
+// Packet: 0x0238
+packetLen(0x0238, 282)
+
+// Packet: 0x0239
+packetLen(0x0239, 11)
+
+// Packet: 0x023a
+packetLen(0x023a, 4)
+
+// Packet: 0x023b
+packetLen(0x023b, 36)
+
+// Packet: 0x023c
+packetLen(0x023c, 6)
+
+// Packet: 0x023d
+packetLen(0x023d, 6)
+
+// Packet: 0x023e
+packetLen(0x023e, 8)
+
+// Packet: 0x023f
+packetLen(0x023f, 2)
+
+// Packet: 0x0240
+packetLen(0x0240, -1)
+
+// Packet: 0x0241
+packetLen(0x0241, 6)
+
+// Packet: 0x0242
+packetLen(0x0242, -1)
+
+// Packet: 0x0243
+packetLen(0x0243, 6)
+
+// Packet: 0x0244
+packetLen(0x0244, 6)
+
+// Packet: 0x0245
+packetLen(0x0245, 3)
+
+// Packet: 0x0246
+packetLen(0x0246, 4)
+
+// Packet: 0x0247
+packetLen(0x0247, 8)
+
+// Packet: 0x0248
+packetLen(0x0248, -1)
+
+// Packet: 0x0249
+packetLen(0x0249, 3)
+
+// Packet: 0x024a
+packetLen(0x024a, 70)
+
+// Packet: 0x024b
+packetLen(0x024b, 4)
+
+// Packet: 0x024c
+packetLen(0x024c, 8)
+
+// Packet: 0x024d
+packetLen(0x024d, 12)
+
+// Packet: 0x024e
+packetLen(0x024e, 6)
+
+// Packet: 0x024f
+packetLen(0x024f, 10)
+
+// Packet: 0x0250
+packetLen(0x0250, 3)
+
+// Packet: 0x0251
+packetLen(0x0251, 34)
+
+// Packet: 0x0252
+packetLen(0x0252, -1)
+
+// Packet: 0x0253
+packetLen(0x0253, 3)
+
+// Packet: 0x0254
+packetLen(0x0254, 3)
+
+// Packet: 0x0255
+packetLen(0x0255, 5)
+
+// Packet: 0x0256
+packetLen(0x0256, 5)
+
+// Packet: 0x0257
+packetLen(0x0257, 8)
+
+// Packet: 0x0258
+packetLen(0x0258, 2)
+
+// Packet: 0x0259
+packetLen(0x0259, 3)
+
+// Packet: 0x025a
+packetLen(0x025a, -1)
+
+// Packet: 0x025b
+packetLen(0x025b, 8)
+
+// Packet: 0x025c
+packetLen(0x025c, 4)
+
+// Packet: 0x025d
+packetLen(0x025d, 6)
+
+// Packet: 0x025e
+packetLen(0x025e, 4)
+
+// Packet: 0x025f
+packetLen(0x025f, 6)
+
+// Packet: 0x0260
+packetLen(0x0260, 6)
+
+// Packet: 0x0261
+packetLen(0x0261, 11)
+
+// Packet: 0x0262
+packetLen(0x0262, 11)
+
+// Packet: 0x0263
+packetLen(0x0263, 11)
+
+// Packet: 0x0264
+packetLen(0x0264, 20)
+
+// Packet: 0x0265
+packetLen(0x0265, 20)
+
+// Packet: 0x0266
+packetLen(0x0266, 30)
+
+// Packet: 0x0267
+packetLen(0x0267, 4)
+
+// Packet: 0x0268
+packetLen(0x0268, 4)
+
+// Packet: 0x0269
+packetLen(0x0269, 4)
+
+// Packet: 0x026a
+packetLen(0x026a, 4)
+
+// Packet: 0x026b
+packetLen(0x026b, 4)
+
+// Packet: 0x026c
+packetLen(0x026c, 4)
+
+// Packet: 0x026d
+packetLen(0x026d, 4)
+
+// Packet: 0x026f
+packetLen(0x026f, 2)
+
+// Packet: 0x0270
+packetLen(0x0270, 2)
+
+// Packet: 0x0271
+packetLen(0x0271, 40)
+
+// Packet: 0x0272
+packetLen(0x0272, 44)
+
+// Packet: 0x0273
+packetLen(0x0273, 30)
+
+// Packet: 0x0274
+packetLen(0x0274, 8)
+
+// Packet: 0x0275
+packetLen(0x0275, 37)
+
+// Packet: 0x0276
+packetLen(0x0276, -1)
+
+// Packet: 0x0277
+packetLen(0x0277, 84)
+
+// Packet: 0x0278
+packetLen(0x0278, 2)
+
+// Packet: 0x0279
+packetLen(0x0279, 2)
+
+// Packet: 0x027a
+packetLen(0x027a, -1)
+
+// Packet: 0x027b
+packetLen(0x027b, 14)
+
+// Packet: 0x027c
+packetLen(0x027c, 60)
+
+// Packet: 0x027d
+packetLen(0x027d, 62)
+
+// Packet: 0x027e
+packetLen(0x027e, -1)
+
+// Packet: 0x027f
+packetLen(0x027f, 8)
+
+// Packet: 0x0280
+packetLen(0x0280, 12)
+
+// Packet: 0x0281
+packetLen(0x0281, 4)
+
+// Packet: 0x0282
+packetLen(0x0282, 284)
+
+// Packet: 0x0283
+packetLen(0x0283, 6)
+
+// Packet: 0x0284
+packetLen(0x0284, 14)
+
+// Packet: 0x0285
+packetLen(0x0285, 6)
+
+// Packet: 0x0286
+packetLen(0x0286, 4)
+
+// Packet: 0x0287
+packetLen(0x0287, -1)
+
+// Packet: 0x0288
+packetLen(0x0288, -1)
+
+// Packet: 0x0289
+packetLen(0x0289, 12)
+
+// Packet: 0x028a
+packetLen(0x028a, 18)
+
+// Packet: 0x028b
+packetLen(0x028b, -1)
+
+// Packet: 0x028c
+packetLen(0x028c, 46)
+
+// Packet: 0x028d
+packetLen(0x028d, 34)
+
+// Packet: 0x028e
+packetLen(0x028e, 4)
+
+// Packet: 0x028f
+packetLen(0x028f, 6)
+
+// Packet: 0x0290
+packetLen(0x0290, 4)
+
+// Packet: 0x0291
+packetLen(0x0291, 4)
+
+// Packet: 0x0292
+packetLen(0x0292, 2)
+
+// Packet: 0x0293
+packetLen(0x0293, 70)
+
+// Packet: 0x0294
+packetLen(0x0294, 10)
+
+// Packet: 0x0295
+packetLen(0x0295, -1)
+
+// Packet: 0x0296
+packetLen(0x0296, -1)
+
+// Packet: 0x0297
+packetLen(0x0297, -1)
+
+// Packet: 0x0298
+packetLen(0x0298, 10)
+
+// Packet: 0x0299
+packetLen(0x0299, 8)
+
+// Packet: 0x029a
+packetLen(0x029a, 37)
+
+// Packet: 0x029b
+packetLen(0x029b, 80)
+
+// Packet: 0x029c
+packetLen(0x029c, 66)
+
+// Packet: 0x029d
+packetLen(0x029d, -1)
+
+// Packet: 0x029e
+packetLen(0x029e, 11)
+
+// Packet: 0x029f
+packetLen(0x029f, 3)
+
+// Packet: 0x02a2
+packetLen(0x02a2, 8)
+
+// Packet: 0x02a5
+packetLen(0x02a5, 8)
+
+// Packet: 0x02a6
+packetLen(0x02a6, -1)
+
+// Packet: 0x02a7
+packetLen(0x02a7, -1)
+
+// Packet: 0x02aa
+packetLen(0x02aa, 4)
+
+// Packet: 0x02ab
+packetLen(0x02ab, 36)
+
+// Packet: 0x02ac
+packetLen(0x02ac, 6)
+
+// Packet: 0x02ad
+packetLen(0x02ad, 8)
+
+// Packet: 0x02b0
+packetLen(0x02b0, 85)
+
+// Packet: 0x02b1
+packetLen(0x02b1, -1)
+
+// Packet: 0x02b2
+packetLen(0x02b2, -1)
+
+// Packet: 0x02b3
+packetLen(0x02b3, 107)
+
+// Packet: 0x02b4
+packetLen(0x02b4, 6)
+
+// Packet: 0x02b5
+packetLen(0x02b5, -1)
+
+// Packet: 0x02b6
+packetLen(0x02b6, 7)
+
+// Packet: 0x02b7
+packetLen(0x02b7, 7)
+
+// Packet: 0x02b8
+packetLen(0x02b8, 32)
+
+// Packet: 0x02b9
+packetLen(0x02b9, 191)
+
+// Packet: 0x02ba
+packetLen(0x02ba, 11)
+
+// Packet: 0x02bb
+packetLen(0x02bb, 8)
+
+// Packet: 0x02bc
+packetLen(0x02bc, 6)
+
+// Packet: 0x02c1
+packetLen(0x02c1, -1)
+
+// Packet: 0x02c2
+packetLen(0x02c2, -1)
+
+// Packet: 0x02c4
+packetLen(0x02c4, 26)
+
+// Packet: 0x02c5
+packetLen(0x02c5, 30)
+
+// Packet: 0x02c6
+packetLen(0x02c6, 30)
+
+// Packet: 0x02c7
+packetLen(0x02c7, 7)
+
+// Packet: 0x02c8
+packetLen(0x02c8, 3)
+
+// Packet: 0x02c9
+packetLen(0x02c9, 3)
+
+// Packet: 0x02ca
+packetLen(0x02ca, 3)
+
+// Packet: 0x02cb
+packetLen(0x02cb, 65)
+
+// Packet: 0x02cc
+packetLen(0x02cc, 4)
+
+// Packet: 0x02cd
+packetLen(0x02cd, 71)
+
+// Packet: 0x02ce
+packetLen(0x02ce, 10)
+
+// Packet: 0x02cf
+packetLen(0x02cf, 6)
+
+// Packet: 0x02d0
+packetLen(0x02d0, -1)
+
+// Packet: 0x02d1
+packetLen(0x02d1, -1)
+
+// Packet: 0x02d2
+packetLen(0x02d2, -1)
+
+// Packet: 0x02d3
+packetLen(0x02d3, 4)
+
+// Packet: 0x02d4
+packetLen(0x02d4, 39)
+
+// Packet: 0x02d5
+packetLen(0x02d5, 2)
+
+// Packet: 0x02d6
+packetLen(0x02d6, 6)
+
+// Packet: 0x02d7
+packetLen(0x02d7, -1)
+
+// Packet: 0x02d8
+packetLen(0x02d8, 10)
+
+// Packet: 0x02d9
+packetLen(0x02d9, 10)
+
+// Packet: 0x02da
+packetLen(0x02da, 3)
+
+// Packet: 0x02db
+packetLen(0x02db, -1)
+
+// Packet: 0x02dc
+packetLen(0x02dc, -1)
+
+// Packet: 0x02dd
+packetLen(0x02dd, 32)
+
+// Packet: 0x02de
+packetLen(0x02de, 6)
+
+// Packet: 0x02df
+packetLen(0x02df, 36)
+
+// Packet: 0x02e0
+packetLen(0x02e0, 34)
+
+// Packet: 0x02e1
+packetLen(0x02e1, 33)
+
+// Packet: 0x02e2
+packetLen(0x02e2, 20)
+
+// Packet: 0x02e3
+packetLen(0x02e3, 22)
+
+// Packet: 0x02e4
+packetLen(0x02e4, 11)
+
+// Packet: 0x02e5
+packetLen(0x02e5, 9)
+
+// Packet: 0x02e6
+packetLen(0x02e6, 6)
+
+// Packet: 0x02e7
+packetLen(0x02e7, -1)
+
+// Packet: 0x02e8
+packetLen(0x02e8, -1)
+
+// Packet: 0x02e9
+packetLen(0x02e9, -1)
+
+// Packet: 0x02ea
+packetLen(0x02ea, -1)
+
+// Packet: 0x02eb
+packetLen(0x02eb, 13)
+
+// Packet: 0x02ec
+packetLen(0x02ec, 71)
+
+// Packet: 0x02ed
+packetLen(0x02ed, 63)
+
+// Packet: 0x02ee
+packetLen(0x02ee, 64)
+
+// Packet: 0x02ef
+packetLen(0x02ef, 8)
+
+// Packet: 0x02f0
+packetLen(0x02f0, 10)
+
+// Packet: 0x02f1
+packetLen(0x02f1, 2)
+
+// Packet: 0x02f2
+packetLen(0x02f2, 2)
+
+// Packet: 0x02f3
+packetLen(0x02f3, -1)
+
+// Packet: 0x02f4
+packetLen(0x02f4, 3)
+
+// Packet: 0x02f5
+packetLen(0x02f5, 7)
+
+// Packet: 0x02f6
+packetLen(0x02f6, 7)
+
+// Packet: 0x035c
+packetLen(0x035c, 2)
+
+// Packet: 0x035d
+packetLen(0x035d, -1)
+
+// Packet: 0x035e
+packetLen(0x035e, 2)
+
+// Packet: 0x035f
+packetLen(0x035f, 5)
+
+// Packet: 0x0360
+packetLen(0x0360, 6)
+
+// Packet: 0x0361
+packetLen(0x0361, 5)
+
+// Packet: 0x0362
+packetLen(0x0362, 6)
+
+// Packet: 0x0363
+packetLen(0x0363, 6)
+
+// Packet: 0x0364
+packetLen(0x0364, 8)
+
+// Packet: 0x0365
+packetLen(0x0365, 8)
+
+// Packet: 0x0366
+packetLen(0x0366, 10)
+
+// Packet: 0x0367
+packetLen(0x0367, 31)
+
+// Packet: 0x0368
+packetLen(0x0368, 6)
+
+// Packet: 0x0369
+packetLen(0x0369, 6)
+
+// Packet: 0x03dd
+packetLen(0x03dd, 18)
+
+// Packet: 0x03de
+packetLen(0x03de, 18)
+
+// Packet: 0x0436
+packetLen(0x0436, 19)
+
+// Packet: 0x0437
+packetLen(0x0437, 7)
+
+// Packet: 0x0438
+packetLen(0x0438, 10)
+
+// Packet: 0x0439
+packetLen(0x0439, 8)
+
+// Packet: 0x043d
+packetLen(0x043d, 8)
+
+// Packet: 0x043e
+packetLen(0x043e, -1)
+
+// Packet: 0x043f
+packetLen(0x043f, 25)
+
+// Packet: 0x0440
+packetLen(0x0440, 10)
+
+// Packet: 0x0441
+packetLen(0x0441, 4)
+
+// Packet: 0x0442
+packetLen(0x0442, -1)
+
+// Packet: 0x0443
+packetLen(0x0443, 8)
+
+// Packet: 0x0444
+packetLen(0x0444, -1)
+
+// Packet: 0x0445
+packetLen(0x0445, 12)
+
+// Packet: 0x0446
+packetLen(0x0446, 14)
+
+// Packet: 0x0447
+packetLen(0x0447, 2)
+
+// Packet: 0x0448
+packetLen(0x0448, -1)
+
+// Packet: 0x0449
+packetLen(0x0449, 4)
+
+// Packet: 0x044a
+packetLen(0x044a, 6)
+
+// Packet: 0x044b
+packetLen(0x044b, 2)
+
+// Packet: 0x07d7
+packetLen(0x07d7, 8)
+
+// Packet: 0x07d8
+packetLen(0x07d8, 8)
+
+// Packet: 0x07d9
+packetLen(0x07d9, 268)
+
+// Packet: 0x07da
+packetLen(0x07da, 6)
+
+// Packet: 0x07db
+packetLen(0x07db, 8)
+
+// Packet: 0x07dc
+packetLen(0x07dc, 6)
+
+// Packet: 0x07dd
+packetLen(0x07dd, 54)
+
+// Packet: 0x07de
+packetLen(0x07de, 30)
+
+// Packet: 0x07df
+packetLen(0x07df, 54)
+
+// Packet: 0x07e0
+packetLen(0x07e0, 58)
+
+// Packet: 0x07e1
+packetLen(0x07e1, 15)
+
+// Packet: 0x07e2
+packetLen(0x07e2, 8)
+
+// Packet: 0x07e3
+packetLen(0x07e3, 6)
+
+// Packet: 0x07e4
+packetLen(0x07e4, -1)
+
+// Packet: 0x07e5
+packetLen(0x07e5, 4)
+
+// Packet: 0x07e6
+packetLen(0x07e6, 8)
+
+// Packet: 0x07e7
+packetLen(0x07e7, 32)
+
+// Packet: 0x07e8
+packetLen(0x07e8, -1)
+
+// Packet: 0x07e9
+packetLen(0x07e9, 5)
+
+// Packet: 0x07ea
+packetLen(0x07ea, 2)
+
+// Packet: 0x07eb
+packetLen(0x07eb, -1)
+
+// Packet: 0x07ec
+packetLen(0x07ec, 8)
+
+// Packet: 0x07ed
+packetLen(0x07ed, 10)
+
+// Packet: 0x07ee
+packetLen(0x07ee, 6)
+
+// Packet: 0x07ef
+packetLen(0x07ef, 8)
+
+// Packet: 0x07f0
+packetLen(0x07f0, 6)
+
+// Packet: 0x07f1
+packetLen(0x07f1, 18)
+
+// Packet: 0x07f2
+packetLen(0x07f2, 8)
+
+// Packet: 0x07f3
+packetLen(0x07f3, 6)
+
+// Packet: 0x07f4
+packetLen(0x07f4, 3)
+
+// Packet: 0x07f5
+packetLen(0x07f5, 6)
+
+// Packet: 0x07f6
+packetLen(0x07f6, 14)
+
+// Packet: 0x07f7
+packetLen(0x07f7, -1)
+
+// Packet: 0x07f8
+packetLen(0x07f8, -1)
+
+// Packet: 0x07f9
+packetLen(0x07f9, -1)
+
+// Packet: 0x07fa
+packetLen(0x07fa, 8)
+
+// Packet: 0x07fb
+packetLen(0x07fb, 25)
+
+// Packet: 0x07fc
+packetLen(0x07fc, 10)
+
+// Packet: 0x07fd
+packetLen(0x07fd, -1)
+
+// Packet: 0x07fe
+packetLen(0x07fe, 26)
+
+// Packet: 0x0800
+packetLen(0x0800, -1)
+
+// Packet: 0x0801
+packetLen(0x0801, -1)
+
+// Packet: 0x0802
+packetLen(0x0802, 18)
+
+// Packet: 0x0803
+packetLen(0x0803, 4)
+
+// Packet: 0x0804
+packetLen(0x0804, 14)
+
+// Packet: 0x0805
+packetLen(0x0805, -1)
+
+// Packet: 0x0806
+packetLen(0x0806, 2)
+
+// Packet: 0x0807
+packetLen(0x0807, 4)
+
+// Packet: 0x0808
+packetLen(0x0808, 14)
+
+// Packet: 0x0809
+packetLen(0x0809, 50)
+
+// Packet: 0x080a
+packetLen(0x080a, 18)
+
+// Packet: 0x080b
+packetLen(0x080b, 6)
+
+// Packet: 0x080c
+packetLen(0x080c, 2)
+
+// Packet: 0x080d
+packetLen(0x080d, 3)
+
+// Packet: 0x080e
+packetLen(0x080e, 14)
+
+// Packet: 0x080f
+packetLen(0x080f, 30)
+
+// Packet: 0x0810
+packetLen(0x0810, 3)
+
+// Packet: 0x0811
+packetLen(0x0811, -1)
+
+// Packet: 0x0812
+packetLen(0x0812, 8)
+
+// Packet: 0x0813
+packetLen(0x0813, -1)
+
+// Packet: 0x0814
+packetLen(0x0814, 86)
+
+// Packet: 0x0815
+packetLen(0x0815, 2)
+
+// Packet: 0x0816
+packetLen(0x0816, 6)
+
+// Packet: 0x0817
+packetLen(0x0817, 6)
+
+// Packet: 0x0818
+packetLen(0x0818, -1)
+
+// Packet: 0x0819
+packetLen(0x0819, -1)
+
+// Packet: 0x081a
+packetLen(0x081a, 4)
+
+// Packet: 0x081b
+packetLen(0x081b, 12)
+
+// Packet: 0x081c
+packetLen(0x081c, 10)
+
+// Packet: 0x081d
+packetLen(0x081d, 22)
+
+// Packet: 0x081e
+packetLen(0x081e, 8)
+
+// Packet: 0x081f
+packetLen(0x081f, -1)
+
+// Packet: 0x0820
+packetLen(0x0820, 11)
+
+// Packet: 0x0821
+packetLen(0x0821, 2)
+
+// Packet: 0x0822
+packetLen(0x0822, 9)
+
+// Packet: 0x0823
+packetLen(0x0823, -1)
+
+// Packet: 0x0824
+packetLen(0x0824, 8)
+
+// Packet: 0x0825
+packetLen(0x0825, -1)
+
+// Packet: 0x0827
+packetLen(0x0827, 6)
+
+// Packet: 0x0828
+packetLen(0x0828, 14)
+
+// Packet: 0x0829
+packetLen(0x0829, 12)
+
+// Packet: 0x082a
+packetLen(0x082a, 10)
+
+// Packet: 0x082b
+packetLen(0x082b, 6)
+
+// Packet: 0x082c
+packetLen(0x082c, 10)
+
+// Packet: 0x082d
+packetLen(0x082d, -1)
+
+// Packet: 0x0835
+packetLen(0x0835, -1)
+
+// Packet: 0x0836
+packetLen(0x0836, -1)
+
+// Packet: 0x0837
+packetLen(0x0837, 3)
+
+// Packet: 0x0838
+packetLen(0x0838, 2)
+
+// Packet: 0x0839
+packetLen(0x0839, 66)
+
+// Packet: 0x083a
+packetLen(0x083a, 5)
+
+// Packet: 0x083b
+packetLen(0x083b, 2)
+
+// Packet: 0x083c
+packetLen(0x083c, 14)
+
+// Packet: 0x083d
+packetLen(0x083d, 6)
+
+// Packet: 0x083e
+packetLen(0x083e, 26)
+
+// Packet: 0x0840
+packetLen(0x0840, -1)
+
+// Packet: 0x0841
+packetLen(0x0841, 4)
+
+// Packet: 0x0842
+packetLen(0x0842, 6)
+
+// Packet: 0x0843
+packetLen(0x0843, 6)
+
+// Packet: 0x0844
+packetLen(0x0844, 2)
+
+// Packet: 0x0845
+packetLen(0x0845, 10)
+
+// Packet: 0x0846
+packetLen(0x0846, 4)
+
+// Packet: 0x0847
+packetLen(0x0847, -1)
+
+// Packet: 0x0848
+packetLen(0x0848, -1)
+
+// Packet: 0x0849
+packetLen(0x0849, 16)
+
+// Packet: 0x084a
+packetLen(0x084a, 2)
+
+// Packet: 0x084b
+packetLen(0x084b, 21)
+
+// Packet: 0x084c
+packetLen(0x084c, 10)
+
+// Packet: 0x084d
+packetLen(0x084d, 10)
+
+// Packet: 0x084e
+packetLen(0x084e, 5)
+
+// Packet: 0x084f
+packetLen(0x084f, 6)
+
+// Packet: 0x0850
+packetLen(0x0850, 7)
+
+// Packet: 0x0851
+packetLen(0x0851, -1)
+
+// Packet: 0x0852
+packetLen(0x0852, 2)
+
+// Packet: 0x0853
+packetLen(0x0853, -1)
+
+// Packet: 0x0854
+packetLen(0x0854, -1)
+
+// Packet: 0x0855
+packetLen(0x0855, 6)
+
+// Packet: 0x0856
+packetLen(0x0856, -1)
+
+// Packet: 0x0857
+packetLen(0x0857, -1)
+
+// Packet: 0x0858
+packetLen(0x0858, -1)
+
+// Packet: 0x0859
+packetLen(0x0859, -1)
+
+// Packet: 0x085a
+packetLen(0x085a, 2)
+
+// Packet: 0x085b
+packetLen(0x085b, 2)
+
+// Packet: 0x085c
+packetLen(0x085c, 2)
+
+// Packet: 0x085d
+packetLen(0x085d, 2)
+
+// Packet: 0x085e
+packetLen(0x085e, 2)
+
+// Packet: 0x085f
+packetLen(0x085f, 2)
+
+// Packet: 0x0860
+packetLen(0x0860, 2)
+
+// Packet: 0x0861
+packetLen(0x0861, 2)
+
+// Packet: 0x0862
+packetLen(0x0862, 2)
+
+// Packet: 0x0863
+packetLen(0x0863, 2)
+
+// Packet: 0x0864
+packetLen(0x0864, 2)
+
+// Packet: 0x0865
+packetLen(0x0865, 2)
+
+// Packet: 0x0866
+packetLen(0x0866, 2)
+
+// Packet: 0x0867
+packetLen(0x0867, 2)
+
+// Packet: 0x0868
+packetLen(0x0868, 2)
+
+// Packet: 0x0869
+packetLen(0x0869, 2)
+
+// Packet: 0x086a
+packetLen(0x086a, 2)
+
+// Packet: 0x086b
+packetLen(0x086b, 2)
+
+// Packet: 0x086c
+packetLen(0x086c, 2)
+
+// Packet: 0x086d
+packetLen(0x086d, 2)
+
+// Packet: 0x086e
+packetLen(0x086e, 2)
+
+// Packet: 0x086f
+packetLen(0x086f, 2)
+
+// Packet: 0x0870
+packetLen(0x0870, 2)
+
+// Packet: 0x0871
+packetLen(0x0871, 2)
+
+// Packet: 0x0872
+packetLen(0x0872, 2)
+
+// Packet: 0x0873
+packetLen(0x0873, 2)
+
+// Packet: 0x0874
+packetLen(0x0874, 2)
+
+// Packet: 0x0875
+packetLen(0x0875, 2)
+
+// Packet: 0x0876
+packetLen(0x0876, 2)
+
+// Packet: 0x0877
+packetLen(0x0877, 2)
+
+// Packet: 0x0878
+packetLen(0x0878, 2)
+
+// Packet: 0x0879
+packetLen(0x0879, 2)
+
+// Packet: 0x087a
+packetLen(0x087a, 2)
+
+// Packet: 0x087b
+packetLen(0x087b, 2)
+
+// Packet: 0x087c
+packetLen(0x087c, 2)
+
+// Packet: 0x087d
+packetLen(0x087d, 2)
+
+// Packet: 0x087e
+packetLen(0x087e, 2)
+
+// Packet: 0x087f
+packetLen(0x087f, 2)
+
+// Packet: 0x0880
+packetLen(0x0880, 2)
+
+// Packet: 0x0881
+packetLen(0x0881, 2)
+
+// Packet: 0x0882
+packetLen(0x0882, 2)
+
+// Packet: 0x0883
+packetLen(0x0883, 2)
+
+// Packet: 0x0884
+packetLen(0x0884, 2)
+
+// Packet: 0x0885
+packetLen(0x0885, 2)
+
+// Packet: 0x0886
+packetLen(0x0886, 2)
+
+// Packet: 0x0887
+packetLen(0x0887, 2)
+
+// Packet: 0x0888
+packetLen(0x0888, 2)
+
+// Packet: 0x0889
+packetLen(0x0889, 2)
+
+// Packet: 0x088a
+packetLen(0x088a, 2)
+
+// Packet: 0x088b
+packetLen(0x088b, 2)
+
+// Packet: 0x088c
+packetLen(0x088c, 2)
+
+// Packet: 0x088d
+packetLen(0x088d, 2)
+
+// Packet: 0x088e
+packetLen(0x088e, 2)
+
+// Packet: 0x088f
+packetLen(0x088f, 2)
+
+// Packet: 0x0890
+packetLen(0x0890, 2)
+
+// Packet: 0x0891
+packetLen(0x0891, 2)
+
+// Packet: 0x0892
+packetLen(0x0892, 2)
+
+// Packet: 0x0893
+packetLen(0x0893, 2)
+
+// Packet: 0x0894
+packetLen(0x0894, 2)
+
+// Packet: 0x0895
+packetLen(0x0895, 2)
+
+// Packet: 0x0896
+packetLen(0x0896, 2)
+
+// Packet: 0x0897
+packetLen(0x0897, 2)
+
+// Packet: 0x0898
+packetLen(0x0898, 2)
+
+// Packet: 0x0899
+packetLen(0x0899, 2)
+
+// Packet: 0x089a
+packetLen(0x089a, 2)
+
+// Packet: 0x089b
+packetLen(0x089b, 2)
+
+// Packet: 0x089c
+packetLen(0x089c, 2)
+
+// Packet: 0x089d
+packetLen(0x089d, 2)
+
+// Packet: 0x089e
+packetLen(0x089e, 2)
+
+// Packet: 0x089f
+packetLen(0x089f, 2)
+
+// Packet: 0x08a0
+packetLen(0x08a0, 2)
+
+// Packet: 0x08a1
+packetLen(0x08a1, 2)
+
+// Packet: 0x08a2
+packetLen(0x08a2, 2)
+
+// Packet: 0x08a3
+packetLen(0x08a3, 2)
+
+// Packet: 0x08a4
+packetLen(0x08a4, 2)
+
+// Packet: 0x08a5
+packetLen(0x08a5, 2)
+
+// Packet: 0x08a6
+packetLen(0x08a6, 2)
+
+// Packet: 0x08a7
+packetLen(0x08a7, 2)
+
+// Packet: 0x08a8
+packetLen(0x08a8, 2)
+
+// Packet: 0x08a9
+packetLen(0x08a9, 2)
+
+// Packet: 0x08aa
+packetLen(0x08aa, 2)
+
+// Packet: 0x08ab
+packetLen(0x08ab, 2)
+
+// Packet: 0x08ac
+packetLen(0x08ac, 2)
+
+// Packet: 0x08ad
+packetLen(0x08ad, 2)
+
+// Packet: 0x08af
+packetLen(0x08af, 10)
+
+// Packet: 0x08b0
+packetLen(0x08b0, 17)
+
+// Packet: 0x08b1
+packetLen(0x08b1, -1)
+
+// Packet: 0x08b2
+packetLen(0x08b2, -1)
+
+// Packet: 0x08b3
+packetLen(0x08b3, -1)
+
+// Packet: 0x08b4
+packetLen(0x08b4, 2)
+
+// Packet: 0x08b5
+packetLen(0x08b5, 6)
+
+// Packet: 0x08b6
+packetLen(0x08b6, 3)
+
+// Packet: 0x08b8
+packetLen(0x08b8, 10)
+
+// Packet: 0x08b9
+packetLen(0x08b9, 12)
+
+// Packet: 0x08ba
+packetLen(0x08ba, 10)
+
+// Packet: 0x08bb
+packetLen(0x08bb, 8)
+
+// Packet: 0x08bc
+packetLen(0x08bc, 10)
+
+// Packet: 0x08bd
+packetLen(0x08bd, 8)
+
+// Packet: 0x08be
+packetLen(0x08be, 14)
+
+// Packet: 0x08bf
+packetLen(0x08bf, 8)
+
+// Packet: 0x08c0
+packetLen(0x08c0, -1)
+
+// Packet: 0x08c1
+packetLen(0x08c1, 2)
+
+// Packet: 0x08c2
+packetLen(0x08c2, 2)
+
+// Packet: 0x08c3
+packetLen(0x08c3, 10)
+
+// Packet: 0x08c4
+packetLen(0x08c4, 8)
+
+// Packet: 0x08c5
+packetLen(0x08c5, 6)
+
+// Packet: 0x08c6
+packetLen(0x08c6, 4)
+
+// Packet: 0x08c7
+packetLen(0x08c7, -1)
+
+// Packet: 0x08c8
+packetLen(0x08c8, 34)
+
+// Packet: 0x08c9
+packetLen(0x08c9, 2)
+
+// Packet: 0x08ca
+packetLen(0x08ca, -1)
+
+// Packet: 0x08cb
+packetLen(0x08cb, -1)
+
+// Packet: 0x08cc
+packetLen(0x08cc, 109)
+
+// Packet: 0x08cd
+packetLen(0x08cd, 10)
+
+// Packet: 0x08ce
+packetLen(0x08ce, 2)
+
+// Packet: 0x08cf
+packetLen(0x08cf, 10)
+
+// Packet: 0x08d0
+packetLen(0x08d0, 9)
+
+// Packet: 0x08d1
+packetLen(0x08d1, 7)
+
+// Packet: 0x08d2
+packetLen(0x08d2, 10)
+
+// Packet: 0x08d3
+packetLen(0x08d3, 10)
+
+// Packet: 0x08d4
+packetLen(0x08d4, 8)
+
+// Packet: 0x08d5
+packetLen(0x08d5, -1)
+
+// Packet: 0x08d6
+packetLen(0x08d6, 6)
+
+// Packet: 0x08d7
+packetLen(0x08d7, 28)
+
+// Packet: 0x08d8
+packetLen(0x08d8, 27)
+
+// Packet: 0x08d9
+packetLen(0x08d9, 30)
+
+// Packet: 0x08da
+packetLen(0x08da, 26)
+
+// Packet: 0x08db
+packetLen(0x08db, 27)
+
+// Packet: 0x08dc
+packetLen(0x08dc, 26)
+
+// Packet: 0x08dd
+packetLen(0x08dd, 27)
+
+// Packet: 0x08de
+packetLen(0x08de, 27)
+
+// Packet: 0x08df
+packetLen(0x08df, 50)
+
+// Packet: 0x08e0
+packetLen(0x08e0, 51)
+
+// Packet: 0x08e1
+packetLen(0x08e1, 51)
+
+// Packet: 0x08e2
+packetLen(0x08e2, 27)
+
+// Packet: 0x08e3
+packetLen(0x08e3, 157)
+
+// Packet: 0x08e4
+packetLen(0x08e4, 6)
+
+// Packet: 0x08fc
+packetLen(0x08fc, 30)
+
+// Packet: 0x08fd
+packetLen(0x08fd, 6)
+
+// Packet: 0x08fe
+packetLen(0x08fe, -1)
+
+// Packet: 0x08ff
+packetLen(0x08ff, 24)
+
+// Packet: 0x0900
+packetLen(0x0900, -1)
+
+// Packet: 0x0901
+packetLen(0x0901, -1)
+
+// Packet: 0x0902
+packetLen(0x0902, -1)
+
+// Packet: 0x0903
+packetLen(0x0903, -1)
+
+// Packet: 0x0904
+packetLen(0x0904, -1)
+
+// Packet: 0x0905
+packetLen(0x0905, -1)
+
+// Packet: 0x0906
+packetLen(0x0906, -1)
+
+// Packet: 0x0907
+packetLen(0x0907, 5)
+
+// Packet: 0x0908
+packetLen(0x0908, 5)
+
+// Packet: 0x090a
+packetLen(0x090a, 26)
+
+// Packet: 0x090d
+packetLen(0x090d, -1)
+
+// Packet: 0x090e
+packetLen(0x090e, 2)
+
+// Packet: 0x090f
+packetLen(0x090f, -1)
+
+// Packet: 0x0910
+packetLen(0x0910, 10)
+
+// Packet: 0x0911
+packetLen(0x0911, 30)
+
+// Packet: 0x0912
+packetLen(0x0912, 10)
+
+// Packet: 0x0913
+packetLen(0x0913, 30)
+
+// Packet: 0x0914
+packetLen(0x0914, -1)
+
+// Packet: 0x0915
+packetLen(0x0915, -1)
+
+// Packet: 0x0916
+packetLen(0x0916, 26)
+
+// Packet: 0x0917
+packetLen(0x0917, 2)
+
+// Packet: 0x0918
+packetLen(0x0918, 2)
+
+// Packet: 0x0919
+packetLen(0x0919, 2)
+
+// Packet: 0x091a
+packetLen(0x091a, 2)
+
+// Packet: 0x091b
+packetLen(0x091b, 2)
+
+// Packet: 0x091c
+packetLen(0x091c, 2)
+
+// Packet: 0x091d
+packetLen(0x091d, 2)
+
+// Packet: 0x091e
+packetLen(0x091e, 2)
+
+// Packet: 0x091f
+packetLen(0x091f, 2)
+
+// Packet: 0x0920
+packetLen(0x0920, 2)
+
+// Packet: 0x0921
+packetLen(0x0921, 2)
+
+// Packet: 0x0922
+packetLen(0x0922, 2)
+
+// Packet: 0x0923
+packetLen(0x0923, 2)
+
+// Packet: 0x0924
+packetLen(0x0924, 2)
+
+// Packet: 0x0925
+packetLen(0x0925, 2)
+
+// Packet: 0x0926
+packetLen(0x0926, 2)
+
+// Packet: 0x0927
+packetLen(0x0927, 2)
+
+// Packet: 0x0928
+packetLen(0x0928, 2)
+
+// Packet: 0x0929
+packetLen(0x0929, 2)
+
+// Packet: 0x092a
+packetLen(0x092a, 2)
+
+// Packet: 0x092b
+packetLen(0x092b, 2)
+
+// Packet: 0x092c
+packetLen(0x092c, 2)
+
+// Packet: 0x092d
+packetLen(0x092d, 2)
+
+// Packet: 0x092e
+packetLen(0x092e, 2)
+
+// Packet: 0x092f
+packetLen(0x092f, 2)
+
+// Packet: 0x0930
+packetLen(0x0930, 2)
+
+// Packet: 0x0931
+packetLen(0x0931, 2)
+
+// Packet: 0x0932
+packetLen(0x0932, 2)
+
+// Packet: 0x0933
+packetLen(0x0933, 2)
+
+// Packet: 0x0934
+packetLen(0x0934, 2)
+
+// Packet: 0x0935
+packetLen(0x0935, 2)
+
+// Packet: 0x0936
+packetLen(0x0936, 2)
+
+// Packet: 0x0937
+packetLen(0x0937, 2)
+
+// Packet: 0x0938
+packetLen(0x0938, 2)
+
+// Packet: 0x0939
+packetLen(0x0939, 2)
+
+// Packet: 0x093a
+packetLen(0x093a, 2)
+
+// Packet: 0x093b
+packetLen(0x093b, 2)
+
+// Packet: 0x093c
+packetLen(0x093c, 2)
+
+// Packet: 0x093d
+packetLen(0x093d, 2)
+
+// Packet: 0x093e
+packetLen(0x093e, 2)
+
+// Packet: 0x093f
+packetLen(0x093f, 2)
+
+// Packet: 0x0940
+packetLen(0x0940, 2)
+
+// Packet: 0x0941
+packetLen(0x0941, 2)
+
+// Packet: 0x0942
+packetLen(0x0942, 2)
+
+// Packet: 0x0943
+packetLen(0x0943, 2)
+
+// Packet: 0x0944
+packetLen(0x0944, 2)
+
+// Packet: 0x0945
+packetLen(0x0945, 2)
+
+// Packet: 0x0946
+packetLen(0x0946, 2)
+
+// Packet: 0x0947
+packetLen(0x0947, 2)
+
+// Packet: 0x0948
+packetLen(0x0948, 2)
+
+// Packet: 0x0949
+packetLen(0x0949, 2)
+
+// Packet: 0x094a
+packetLen(0x094a, 2)
+
+// Packet: 0x094b
+packetLen(0x094b, 2)
+
+// Packet: 0x094c
+packetLen(0x094c, 2)
+
+// Packet: 0x094d
+packetLen(0x094d, 2)
+
+// Packet: 0x094e
+packetLen(0x094e, 2)
+
+// Packet: 0x094f
+packetLen(0x094f, 2)
+
+// Packet: 0x0950
+packetLen(0x0950, 2)
+
+// Packet: 0x0951
+packetLen(0x0951, 2)
+
+// Packet: 0x0952
+packetLen(0x0952, 2)
+
+// Packet: 0x0953
+packetLen(0x0953, 2)
+
+// Packet: 0x0954
+packetLen(0x0954, 2)
+
+// Packet: 0x0955
+packetLen(0x0955, 2)
+
+// Packet: 0x0956
+packetLen(0x0956, 2)
+
+// Packet: 0x0957
+packetLen(0x0957, 2)
+
+// Packet: 0x0958
+packetLen(0x0958, 2)
+
+// Packet: 0x0959
+packetLen(0x0959, 2)
+
+// Packet: 0x095a
+packetLen(0x095a, 2)
+
+// Packet: 0x095b
+packetLen(0x095b, 2)
+
+// Packet: 0x095c
+packetLen(0x095c, 2)
+
+// Packet: 0x095d
+packetLen(0x095d, 2)
+
+// Packet: 0x095e
+packetLen(0x095e, 2)
+
+// Packet: 0x095f
+packetLen(0x095f, 2)
+
+// Packet: 0x0960
+packetLen(0x0960, 2)
+
+// Packet: 0x0961
+packetLen(0x0961, 2)
+
+// Packet: 0x0962
+packetLen(0x0962, 2)
+
+// Packet: 0x0963
+packetLen(0x0963, 2)
+
+// Packet: 0x0964
+packetLen(0x0964, 2)
+
+// Packet: 0x0965
+packetLen(0x0965, 2)
+
+// Packet: 0x0966
+packetLen(0x0966, 2)
+
+// Packet: 0x0967
+packetLen(0x0967, 2)
+
+// Packet: 0x0968
+packetLen(0x0968, 2)
+
+// Packet: 0x0969
+packetLen(0x0969, 2)
+
+// Packet: 0x096a
+packetLen(0x096a, 2)
+
+// Packet: 0x096b
+packetLen(0x096b, 4)
+
+// Packet: 0x096c
+packetLen(0x096c, 6)
+
+// Packet: 0x096d
+packetLen(0x096d, -1)
+
+// Packet: 0x096e
+packetLen(0x096e, -1)
+
+// Packet: 0x096f
+packetLen(0x096f, 7)
+
+// Packet: 0x0970
+packetLen(0x0970, 31)
+
+// Packet: 0x0971
+packetLen(0x0971, 6)
+
+// Packet: 0x0972
+packetLen(0x0972, -1)
+
+// Packet: 0x0973
+packetLen(0x0973, 7)
+
+// Packet: 0x0974
+packetLen(0x0974, 2)
+
+// Packet: 0x0975
+packetLen(0x0975, -1)
+
+// Packet: 0x0976
+packetLen(0x0976, -1)
+
+// Packet: 0x0977
+packetLen(0x0977, 14)
+
+// Packet: 0x0978
+packetLen(0x0978, 6)
+
+// Packet: 0x0979
+packetLen(0x0979, 50)
+
+// Packet: 0x097a
+packetLen(0x097a, -1)
+
+// Packet: 0x097b
+packetLen(0x097b, -1)
+
+// Packet: 0x097c
+packetLen(0x097c, 4)
+
+// Packet: 0x097d
+packetLen(0x097d, 288)
+
+// Packet: 0x097e
+packetLen(0x097e, 12)
+
+// Packet: 0x097f
+packetLen(0x097f, -1)
+
+// Packet: 0x0980
+packetLen(0x0980, 7)
+
+// Packet: 0x0981
+packetLen(0x0981, -1)
+
+// Packet: 0x0982
+packetLen(0x0982, 7)
+
+// Packet: 0x0983
+packetLen(0x0983, 29)
+
+// Packet: 0x0984
+packetLen(0x0984, 28)
+
+// Packet: 0x0985
+packetLen(0x0985, -1)
+
+// Packet: 0x0986
+packetLen(0x0986, 10)
+
+// Packet: 0x0987
+packetLen(0x0987, -1)
+
+// Packet: 0x0988
+packetLen(0x0988, 6)
+
+// Packet: 0x0989
+packetLen(0x0989, 2)
+
+// Packet: 0x098a
+packetLen(0x098a, -1)
+
+// Packet: 0x098b
+packetLen(0x098b, 2)
+
+// Packet: 0x098c
+packetLen(0x098c, 4)
+
+// Packet: 0x098d
+packetLen(0x098d, -1)
+
+// Packet: 0x098e
+packetLen(0x098e, -1)
+
+// Packet: 0x098f
+packetLen(0x098f, -1)
+
+// Packet: 0x0990
+packetLen(0x0990, 41)
+
+// Packet: 0x0991
+packetLen(0x0991, -1)
+
+// Packet: 0x0992
+packetLen(0x0992, -1)
+
+// Packet: 0x0993
+packetLen(0x0993, -1)
+
+// Packet: 0x0994
+packetLen(0x0994, -1)
+
+// Packet: 0x0995
+packetLen(0x0995, -1)
+
+// Packet: 0x0996
+packetLen(0x0996, -1)
+
+// Packet: 0x0997
+packetLen(0x0997, -1)
+
+// Packet: 0x0998
+packetLen(0x0998, 8)
+
+// Packet: 0x0999
+packetLen(0x0999, 11)
+
+// Packet: 0x099a
+packetLen(0x099a, 9)
+
+// Packet: 0x099b
+packetLen(0x099b, 8)
+
+// Packet: 0x099c
+packetLen(0x099c, 6)
+
+// Packet: 0x099d
+packetLen(0x099d, -1)
+
+// Packet: 0x099e
+packetLen(0x099e, 12)
+
+// Packet: 0x099f
+packetLen(0x099f, -1)
+
+// Packet: 0x09a0
+packetLen(0x09a0, 6)
+
+// Packet: 0x09a1
+packetLen(0x09a1, 2)
+
+// Packet: 0x09a2
+packetLen(0x09a2, 6)
+
+// Packet: 0x09a3
+packetLen(0x09a3, -1)
+
+// Packet: 0x09a4
+packetLen(0x09a4, 18)
+
+// Packet: 0x09a5
+packetLen(0x09a5, 7)
+
+// Packet: 0x09a6
+packetLen(0x09a6, 12)
+
+// Packet: 0x09a7
+packetLen(0x09a7, 10)
+
+// Packet: 0x09a8
+packetLen(0x09a8, 16)
+
+// Packet: 0x09a9
+packetLen(0x09a9, 10)
+
+// Packet: 0x09aa
+packetLen(0x09aa, 16)
+
+// Packet: 0x09ab
+packetLen(0x09ab, 6)
+
+// Packet: 0x09ac
+packetLen(0x09ac, -1)
+
+// Packet: 0x09ad
+packetLen(0x09ad, 12)
+
+// Packet: 0x09ae
+packetLen(0x09ae, 19)
+
+// Packet: 0x09af
+packetLen(0x09af, 4)
+
+// Packet: 0x09b0
+packetLen(0x09b0, 10)
+
+// Packet: 0x09b1
+packetLen(0x09b1, 4)
+
+// Packet: 0x09b2
+packetLen(0x09b2, 10)
+
+// Packet: 0x09b3
+packetLen(0x09b3, 6)
+
+// Packet: 0x09b4
+packetLen(0x09b4, 6)
+
+// Packet: 0x09b5
+packetLen(0x09b5, 2)
+
+// Packet: 0x09b6
+packetLen(0x09b6, 6)
+
+// Packet: 0x09b7
+packetLen(0x09b7, 4)
+
+// Packet: 0x09b8
+packetLen(0x09b8, 6)
+
+// Packet: 0x09b9
+packetLen(0x09b9, 4)
+
+// Packet: 0x09ba
+packetLen(0x09ba, 2)
+
+// Packet: 0x09bb
+packetLen(0x09bb, 6)
+
+// Packet: 0x09bc
+packetLen(0x09bc, 6)
+
+// Packet: 0x09bd
+packetLen(0x09bd, 2)
+
+// Packet: 0x09be
+packetLen(0x09be, 2)
+
+// Packet: 0x09bf
+packetLen(0x09bf, 4)
+
+// Packet: 0x09c1
+packetLen(0x09c1, 10)
+
+// Packet: 0x09c2
+packetLen(0x09c2, -1)
+
+// Packet: 0x09c3
+packetLen(0x09c3, 10)
+
+// Packet: 0x09c4
+packetLen(0x09c4, 10)
+
+// Packet: 0x09c5
+packetLen(0x09c5, 1042)
+
+// Packet: 0x09c6
+packetLen(0x09c6, -1)
+
+// Packet: 0x09c7
+packetLen(0x09c7, 18)
+
+// Packet: 0x09c8
+packetLen(0x09c8, -1)
+
+// Packet: 0x09c9
+packetLen(0x09c9, -1)
+
+// Packet: 0x09ca
+packetLen(0x09ca, -1)
+
+// Packet: 0x09cb
+packetLen(0x09cb, 17)
+
+// Packet: 0x09cc
+packetLen(0x09cc, -1)
+
+// Packet: 0x09cd
+packetLen(0x09cd, 8)
+
+// Packet: 0x09ce
+packetLen(0x09ce, 102)
+
+// Packet: 0x09cf
+packetLen(0x09cf, -1)
+
+// Packet: 0x09d0
+packetLen(0x09d0, -1)
+
+// Packet: 0x09d1
+packetLen(0x09d1, 14)
+
+// Packet: 0x09d2
+packetLen(0x09d2, -1)
+
+// Packet: 0x09d3
+packetLen(0x09d3, -1)
+
+// Packet: 0x09d4
+packetLen(0x09d4, 2)
+
+// Packet: 0x09d5
+packetLen(0x09d5, -1)
+
+// Packet: 0x09d6
+packetLen(0x09d6, -1)
+
+// Packet: 0x09d7
+packetLen(0x09d7, -1)
+
+// Packet: 0x09d8
+packetLen(0x09d8, 2)
+
+// Packet: 0x09d9
+packetLen(0x09d9, 4)
+
+// Packet: 0x09da
+packetLen(0x09da, -1)
+
+// Packet: 0x09db
+packetLen(0x09db, -1)
+
+// Packet: 0x09dc
+packetLen(0x09dc, -1)
+
+// Packet: 0x09dd
+packetLen(0x09dd, -1)
+
+// Packet: 0x09de
+packetLen(0x09de, -1)
+
+// Packet: 0x09df
+packetLen(0x09df, 7)
+
+// Packet: 0x09e0
+packetLen(0x09e0, -1)
+
+// Packet: 0x09e1
+packetLen(0x09e1, 8)
+
+// Packet: 0x09e2
+packetLen(0x09e2, 8)
+
+// Packet: 0x09e3
+packetLen(0x09e3, 8)
+
+// Packet: 0x09e4
+packetLen(0x09e4, 8)
+
+// Packet: 0x09e5
+packetLen(0x09e5, 18)
+
+// Packet: 0x09e6
+packetLen(0x09e6, 24)
+
+// Packet: 0x09e7
+packetLen(0x09e7, 3)
+
+// Packet: 0x09e8
+packetLen(0x09e8, 11)
+
+// Packet: 0x09e9
+packetLen(0x09e9, 2)
+
+// Packet: 0x09ea
+packetLen(0x09ea, 11)
+
+// Packet: 0x09eb
+packetLen(0x09eb, -1)
+
+// Packet: 0x09ec
+packetLen(0x09ec, -1)
+
+// Packet: 0x09ed
+packetLen(0x09ed, 3)
+
+// Packet: 0x09ee
+packetLen(0x09ee, 11)
+
+// Packet: 0x09ef
+packetLen(0x09ef, 11)
+
+// Packet: 0x09f0
+packetLen(0x09f0, -1)
+
+// Packet: 0x09f1
+packetLen(0x09f1, 11)
+
+// Packet: 0x09f2
+packetLen(0x09f2, 12)
+
+// Packet: 0x09f3
+packetLen(0x09f3, 11)
+
+// Packet: 0x09f4
+packetLen(0x09f4, 12)
+
+// Packet: 0x09f5
+packetLen(0x09f5, 11)
+
+// Packet: 0x09f6
+packetLen(0x09f6, 11)
+
+// Packet: 0x09f7
+packetLen(0x09f7, 77)
+
+// Packet: 0x09f8
+packetLen(0x09f8, -1)
+
+// Packet: 0x09f9
+packetLen(0x09f9, 143)
+
+// Packet: 0x09fa
+packetLen(0x09fa, -1)
+
+// Packet: 0x09fb
+packetLen(0x09fb, -1)
+
+// Packet: 0x09fc
+packetLen(0x09fc, 6)
+
+// Packet: 0x09fd
+packetLen(0x09fd, -1)
+
+// Packet: 0x09fe
+packetLen(0x09fe, -1)
+
+// Packet: 0x09ff
+packetLen(0x09ff, -1)
+
+// Packet: 0x0a00
+packetLen(0x0a00, 269)
+
+// Packet: 0x0a01
+packetLen(0x0a01, 3)
+
+// Packet: 0x0a02
+packetLen(0x0a02, 4)
+
+// Packet: 0x0a03
+packetLen(0x0a03, 2)
+
+// Packet: 0x0a04
+packetLen(0x0a04, 6)
+
+// Packet: 0x0a05
+packetLen(0x0a05, 63)
+
+// Packet: 0x0a06
+packetLen(0x0a06, 6)
+
+// Packet: 0x0a07
+packetLen(0x0a07, 9)
+
+// Packet: 0x0a08
+packetLen(0x0a08, 26)
+
+// Packet: 0x0a09
+packetLen(0x0a09, 55)
+
+// Packet: 0x0a0a
+packetLen(0x0a0a, 57)
+
+// Packet: 0x0a0b
+packetLen(0x0a0b, 57)
+
+// Packet: 0x0a0c
+packetLen(0x0a0c, 66)
+
+// Packet: 0x0a0d
+packetLen(0x0a0d, -1)
+
+// Packet: 0x0a0e
+packetLen(0x0a0e, 14)
+
+// Packet: 0x0a0f
+packetLen(0x0a0f, -1)
+
+// Packet: 0x0a10
+packetLen(0x0a10, -1)
+
+// Packet: 0x0a11
+packetLen(0x0a11, -1)
+
+// Packet: 0x0a12
+packetLen(0x0a12, 27)
+
+// Packet: 0x0a13
+packetLen(0x0a13, 26)
+
+// Packet: 0x0a14
+packetLen(0x0a14, 10)
+
+// Packet: 0x0a15
+packetLen(0x0a15, 12)
+
+// Packet: 0x0a16
+packetLen(0x0a16, 26)
+
+// Packet: 0x0a17
+packetLen(0x0a17, 6)
+
+// Packet: 0x0a18
+packetLen(0x0a18, 14)
+
+// Packet: 0x0a19
+packetLen(0x0a19, 2)
+
+// Packet: 0x0a1a
+packetLen(0x0a1a, 25)
+
+// Packet: 0x0a1b
+packetLen(0x0a1b, 2)
+
+// Packet: 0x0a1c
+packetLen(0x0a1c, -1)
+
+// Packet: 0x0a1d
+packetLen(0x0a1d, 2)
+
+// Packet: 0x0a1e
+packetLen(0x0a1e, 3)
+
+// Packet: 0x0a1f
+packetLen(0x0a1f, 2)
+
+// Packet: 0x0a20
+packetLen(0x0a20, 23)
+
+// Packet: 0x0a21
+packetLen(0x0a21, 3)
+
+// Packet: 0x0a22
+packetLen(0x0a22, 7)
+
+// Packet: 0x0a23
+packetLen(0x0a23, -1)
+
+// Packet: 0x0a24
+packetLen(0x0a24, 66)
+
+// Packet: 0x0a25
+packetLen(0x0a25, 6)
+
+// Packet: 0x0a26
+packetLen(0x0a26, 7)
+
+// Packet: 0x0a27
+packetLen(0x0a27, 8)
+
+// Packet: 0x0a28
+packetLen(0x0a28, 3)
+
+// Packet: 0x0a29
+packetLen(0x0a29, 6)
+
+// Packet: 0x0a2a
+packetLen(0x0a2a, 6)
+
+// Packet: 0x0a2b
+packetLen(0x0a2b, 14)
+
+// Packet: 0x0a2c
+packetLen(0x0a2c, 12)
+
+// Packet: 0x0a2d
+packetLen(0x0a2d, -1)
+
+// Packet: 0x0a2e
+packetLen(0x0a2e, 6)
+
+// Packet: 0x0a2f
+packetLen(0x0a2f, 7)
+
+// Packet: 0x0a30
+packetLen(0x0a30, 106)
+
+// Packet: 0x0a31
+packetLen(0x0a31, -1)
+
+// Packet: 0x0a32
+packetLen(0x0a32, 2)
+
+// Packet: 0x0a33
+packetLen(0x0a33, 7)
+
+// Packet: 0x0a34
+packetLen(0x0a34, 6)
+
+// Packet: 0x0a35
+packetLen(0x0a35, 4)
+
+// Packet: 0x0a36
+packetLen(0x0a36, 7)
+
+// Packet: 0x0a37
+packetLen(0x0a37, 69)
+
+// Packet: 0x0a38
+packetLen(0x0a38, 3)
+
+// Packet: 0x0a39
+packetLen(0x0a39, 36)
+
+// Packet: 0x0a3a
+packetLen(0x0a3a, 12)
+
+// Packet: 0x0a3b
+packetLen(0x0a3b, -1)
+
+// 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)
+
+// Packet: 0x0a42
+packetLen(0x0a42, 43)
+
+// Packet: 0x0a43
+packetLen(0x0a43, 85)
+
+// Packet: 0x0a44
+packetLen(0x0a44, -1)
+
+// Packet: 0x0a46
+packetLen(0x0a46, 14)
+
+// Packet: 0x0a47
+packetLen(0x0a47, 3)
+
+// Packet: 0x0a48
+packetLen(0x0a48, 2)
+
+// Packet: 0x0a49
+packetLen(0x0a49, 22)
+
+// Packet: 0x0a4a
+packetLen(0x0a4a, 6)
+
+// Packet: 0x0a4b
+packetLen(0x0a4b, 22)
+
+// Packet: 0x0a4c
+packetLen(0x0a4c, 28)
+
+// 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)
+
+// 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)
+
+// 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)
+
+// Packet: 0x0a6f
+packetLen(0x0a6f, -1)
+
+// 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)
+
+// Packet: 0x0a7e
+packetLen(0x0a7e, -1)
+
+// Packet: 0x0a7f
+packetLen(0x0a7f, -1)
+
+// 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)
+
+// Packet: 0x0a85
+packetLen(0x0a85, 82)
+
+// Packet: 0x0a86
+packetLen(0x0a86, -1)
+
+// Packet: 0x0a87
+packetLen(0x0a87, -1)
+
+// Packet: 0x0a88
+packetLen(0x0a88, 2)
+
+// Packet: 0x0a89
+packetLen(0x0a89, 61)
+
+// Packet: 0x0a8a
+packetLen(0x0a8a, 6)
+
+// Packet: 0x0a8b
+packetLen(0x0a8b, 2)
+
+// Packet: 0x0a8c
+packetLen(0x0a8c, 2)
+
+// Packet: 0x0a8d
+packetLen(0x0a8d, -1)
+
+// Packet: 0x0a8e
+packetLen(0x0a8e, 2)
+
+// Packet: 0x0a8f
+packetLen(0x0a8f, 2)
+
+// Packet: 0x0a90
+packetLen(0x0a90, 3)
+
+// Packet: 0x0a91
+packetLen(0x0a91, -1)
+
+// 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)
+
+// Packet: 0x0a97
+packetLen(0x0a97, 8)
+
+// Packet: 0x0a98
+packetLen(0x0a98, 10)
+
+// Packet: 0x0a99
+packetLen(0x0a99, 4)
+
+// Packet: 0x0a9a
+packetLen(0x0a9a, 10)
+
+// Packet: 0x0a9b
+packetLen(0x0a9b, -1)
+
+// 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)
+
+// Packet: 0x0aa1
+packetLen(0x0aa1, 4)
+
+// Packet: 0x0aa2
+packetLen(0x0aa2, -1)
+
+// Packet: 0x0aa3
+packetLen(0x0aa3, 9)
+
+// Packet: 0x0aa4
+packetLen(0x0aa4, 2)
+
+// Packet: 0x0aa5
+packetLen(0x0aa5, -1)
+
+// Packet: 0x0aa6
+packetLen(0x0aa6, 36)
+
+// Packet: 0x0aa7
+packetLen(0x0aa7, 6)
+
+// 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)
+
+// 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)
+
+// Packet: 0x0aba
+packetLen(0x0aba, 2)
+
+// Packet: 0x0abb
+packetLen(0x0abb, 2)
+
+// Packet: 0x0abc
+packetLen(0x0abc, -1)
+
+// Packet: 0x0abd
+packetLen(0x0abd, 10)
+
+// Packet: 0x0abe
+packetLen(0x0abe, -1)
+
+// Packet: 0x0abf
+packetLen(0x0abf, -1)
+
+// Packet: 0x0ac0
+packetLen(0x0ac0, 26)
+
+// Packet: 0x0ac1
+packetLen(0x0ac1, 26)
+
+// Packet: 0x0ac2
+packetLen(0x0ac2, -1)
+
+// Packet: 0x0ac3
+packetLen(0x0ac3, 2)
+
+// Packet: 0x0ac4
+packetLen(0x0ac4, -1)
+
+// Packet: 0x0ac5
+packetLen(0x0ac5, 156)
+
+// Packet: 0x0ac6
+packetLen(0x0ac6, 156)
+
+// Packet: 0x0ac7
+packetLen(0x0ac7, 156)
+
+// Packet: 0x0ac8
+packetLen(0x0ac8, 2)
+
+// Packet: 0x0ac9
+packetLen(0x0ac9, -1)
+
+// Packet: 0x0aca
+packetLen(0x0aca, 3)
+
+// Packet: 0x0acb
+packetLen(0x0acb, 12)
+
+// Packet: 0x0acc
+packetLen(0x0acc, 18)
+
+// Packet: 0x0acd
+packetLen(0x0acd, 23)
+
+// Packet: 0x0ace
+packetLen(0x0ace, 4)
+
+// Packet: 0x0acf
+packetLen(0x0acf, 68)
+
+// Packet: 0x0ad0
+packetLen(0x0ad0, 11)
+
+// 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, 32)
+
+// Packet: 0x0adb
+packetLen(0x0adb, -1)
+
+// Packet: 0x0adc
+packetLen(0x0adc, 6)
+
+// Packet: 0x0add
+packetLen(0x0add, 24)
+
+// Packet: 0x0ade
+packetLen(0x0ade, 6)
+
+// Packet: 0x0adf
+packetLen(0x0adf, 58)
+
+// Packet: 0x0ae0
+packetLen(0x0ae0, 30)
+
+// Packet: 0x0ae1
+packetLen(0x0ae1, 28)
+
+// Packet: 0x0ae2
+packetLen(0x0ae2, 7)
+
+// Packet: 0x0ae3
+packetLen(0x0ae3, -1)
+
+// Packet: 0x0ae4
+packetLen(0x0ae4, 89)
+
+// Packet: 0x0ae5
+packetLen(0x0ae5, -1)
+
+// Packet: 0x0ae6
+packetLen(0x0ae6, 10)
+
+// Packet: 0x0ae7
+packetLen(0x0ae7, 38)
+
+// Packet: 0x0ae8
+packetLen(0x0ae8, 2)
+
+// Packet: 0x0ae9
+packetLen(0x0ae9, 13)
+
+// Packet: 0x0aec
+packetLen(0x0aec, 2)
+
+// Packet: 0x0aed
+packetLen(0x0aed, 2)
+
+// Packet: 0x0aee
+packetLen(0x0aee, 2)
+
+// Packet: 0x0aef
+packetLen(0x0aef, 2)
+
+// Packet: 0x0af0
+packetLen(0x0af0, 10)
+
+// Packet: 0x0af2
+packetLen(0x0af2, 40)
+
+// Packet: 0x0af3
+packetLen(0x0af3, -1)
+
+// Packet: 0x0af4
+packetLen(0x0af4, 11)
+
+// Packet: 0x0af5
+packetLen(0x0af5, 3)
+
+// Packet: 0x0af6
+packetLen(0x0af6, 88)
+
+// Packet: 0x0af7
+packetLen(0x0af7, 32)
+
+// Packet: 0x0af8
+packetLen(0x0af8, 11)
+
+// Packet: 0x0af9
+packetLen(0x0af9, 6)
+
+// Packet: 0x0afa
+packetLen(0x0afa, 58)
+
+// Packet: 0x0afb
+packetLen(0x0afb, -1)
+
+// Packet: 0x0afc
+packetLen(0x0afc, 16)
+
+// Packet: 0x0afd
+packetLen(0x0afd, -1)
+
+// Packet: 0x0afe
+packetLen(0x0afe, -1)
+
+// Packet: 0x0aff
+packetLen(0x0aff, -1)
+
+// Packet: 0x0b00
+packetLen(0x0b00, 8)
+
+// Packet: 0x0b01
+packetLen(0x0b01, 56)
+
+// Packet: 0x0b02
+packetLen(0x0b02, 26)
+
+// Packet: 0x0b03
+packetLen(0x0b03, -1)
+
+// Packet: 0x0b04
+packetLen(0x0b04, 90)
+
+// Packet: 0x0b05
+packetLen(0x0b05, 63)
+
+// Packet: 0x0b07
+packetLen(0x0b07, -1)
+
+// Packet: 0x0b08
+packetLen(0x0b08, -1)
+
+// Packet: 0x0b09
+packetLen(0x0b09, -1)
+
+// Packet: 0x0b0a
+packetLen(0x0b0a, -1)
+
+// Packet: 0x0b0b
+packetLen(0x0b0b, 4)
+
+// Packet: 0x0b0c
+packetLen(0x0b0c, 155)
+
+// Packet: 0x0b0d
+packetLen(0x0b0d, 10)
+
+// Packet: 0x0b0e
+packetLen(0x0b0e, -1)
+
+// Packet: 0x0b0f
+packetLen(0x0b0f, -1)
+
+// Packet: 0x0b10
+packetLen(0x0b10, 10)
+
+// Packet: 0x0b11
+packetLen(0x0b11, 4)
+
+// Packet: 0x0b12
+packetLen(0x0b12, 2)
+
+// Packet: 0x0b13
+packetLen(0x0b13, 48)
+
+// Packet: 0x0b14
+packetLen(0x0b14, 2)
+
+// Packet: 0x0b15
+packetLen(0x0b15, 7)
+
+// Packet: 0x0b16
+packetLen(0x0b16, 2)
+
+// Packet: 0x0b17
+packetLen(0x0b17, 3)
+
+// Packet: 0x0b18
+packetLen(0x0b18, 4)
+
+// Packet: 0x0b19
+packetLen(0x0b19, 2)
+
+// Packet: 0x0b1a
+packetLen(0x0b1a, 29)
+
+// Packet: 0x0b1b
+packetLen(0x0b1b, 2)
+
+// Packet: 0x0b1c
+packetLen(0x0b1c, 2)
+
+// Packet: 0x0b1d
+packetLen(0x0b1d, 2)
+
+// Packet: 0x0b1e
+packetLen(0x0b1e, 14)
+
+// Packet: 0x0b1f
+packetLen(0x0b1f, 14)
+
+// Packet: 0x0b20
+packetLen(0x0b20, 271)
+
+// Packet: 0x0b21
+packetLen(0x0b21, 13)
+
+// Packet: 0x0b22
+packetLen(0x0b22, 5)
+
+// Packet: 0x0b23
+packetLen(0x0b23, 6)
+
+// Packet: 0x0b24
+packetLen(0x0b24, 6)
+
+// Packet: 0x0b25
+packetLen(0x0b25, 6)
+
+// Packet: 0x0b27
+packetLen(0x0b27, -1)
+
+// Packet: 0x0b28
+packetLen(0x0b28, 3)
+
+// Packet: 0x0b2b
+packetLen(0x0b2b, 11)
+
+// Packet: 0x0b2c
+packetLen(0x0b2c, 3)
+
+// Packet: 0x0b2d
+packetLen(0x0b2d, 11)
+
+// Packet: 0x0b2e
+packetLen(0x0b2e, 4)
+
+// Packet: 0x0b2f
+packetLen(0x0b2f, 73)
+
+// Packet: 0x0b30
+packetLen(0x0b30, -1)
+
+// Packet: 0x0b31
+packetLen(0x0b31, 17)
+
+// Packet: 0x0b32
+packetLen(0x0b32, -1)
+
+// Packet: 0x0b33
+packetLen(0x0b33, 17)
+
+// Packet: 0x0b34
+packetLen(0x0b34, 50)
+
+// Packet: 0x0b35
+packetLen(0x0b35, 3)
+
+// Packet: 0x0b36
+packetLen(0x0b36, -1)
+
+// Packet: 0x0b37
+packetLen(0x0b37, -1)
+
+// Packet: 0x0b39
+packetLen(0x0b39, -1)
+
+// Packet: 0x0b3c
+packetLen(0x0b3c, 4)
+
+// Packet: 0x0b3d
+packetLen(0x0b3d, -1)
+
+// Packet: 0x0b3e
+packetLen(0x0b3e, -1)
+
+// Packet: 0x0b3f
+packetLen(0x0b3f, 64)
+
+// Packet: 0x0b40
+packetLen(0x0b40, -1)
+
+// Packet: 0x0b41
+packetLen(0x0b41, 70)
+
+// Packet: 0x0b42
+packetLen(0x0b42, 62)
+
+// Packet: 0x0b43
+packetLen(0x0b43, 48)
+
+// Packet: 0x0b44
+packetLen(0x0b44, 58)
+
+// Packet: 0x0b45
+packetLen(0x0b45, 58)
+
+// Packet: 0x0b46
+packetLen(0x0b46, 10)
+
+// Packet: 0x0b47
+packetLen(0x0b47, 14)
+
+// Packet: 0x0b48
+packetLen(0x0b48, 18)
+
+// Packet: 0x0b49
+packetLen(0x0b49, 4)
+
+// Packet: 0x0b4a
+packetLen(0x0b4a, 6)
+
+// Packet: 0x0b4b
+packetLen(0x0b4b, 4)
+
+// Packet: 0x0b4c
+packetLen(0x0b4c, 2)
+
+// Packet: 0x0b4d
+packetLen(0x0b4d, -1)
+
+// Packet: 0x0b4e
+packetLen(0x0b4e, -1)
+
+// Packet: 0x0b4f
+packetLen(0x0b4f, 2)
+
+// Packet: 0x0b50
+packetLen(0x0b50, 2)
+
+// Packet: 0x0b51
+packetLen(0x0b51, 2)
+
+// Packet: 0x0b52
+packetLen(0x0b52, 2)
+
+// Packet: 0x0b53
+packetLen(0x0b53, 52)
+
+// Packet: 0x0b54
+packetLen(0x0b54, 8)
+
+// Packet: 0x0b55
+packetLen(0x0b55, -1)
+
+// Packet: 0x0b56
+packetLen(0x0b56, -1)
+
+// Packet: 0x0b57
+packetLen(0x0b57, -1)
+
+// Packet: 0x0b58
+packetLen(0x0b58, 2)
+
+// Packet: 0x0b59
+packetLen(0x0b59, 4)
+
+// Packet: 0x0b5a
+packetLen(0x0b5a, -1)
+
+// Packet: 0x0b5b
+packetLen(0x0b5b, 14)
+
+// Packet: 0x0b5c
+packetLen(0x0b5c, 2)
+
+// Packet: 0x0b5d
+packetLen(0x0b5d, 10)
+
+// Packet: 0x0b5e
+packetLen(0x0b5e, 33)
+
+// Packet: 0x0b5f
+packetLen(0x0b5f, -1)
+
+// Packet: 0x0b60
+packetLen(0x0b60, -1)
+
+// Packet: 0x0b61
+packetLen(0x0b61, -1)
+
+// Packet: 0x0b62
+packetLen(0x0b62, -1)
+
+// Packet: 0x0b63
+packetLen(0x0b63, -1)
+
+// Packet: 0x0b64
+packetLen(0x0b64, -1)
+
+// Packet: 0x0b65
+packetLen(0x0b65, -1)
+
+// Packet: 0x0b66
+packetLen(0x0b66, 26)
+
+// Packet: 0x0b67
+packetLen(0x0b67, 33)
+
+// Packet: 0x0b68
+packetLen(0x0b68, 12)
+
+// Packet: 0x0b69
+packetLen(0x0b69, 18)
+
+// Packet: 0x0b6a
+packetLen(0x0b6a, -1)
+
+// Packet: 0x0b6b
+packetLen(0x0b6b, 14)
+
+// Packet: 0x0b6c
+packetLen(0x0b6c, 12)
+
+// Packet: 0x0b6d
+packetLen(0x0b6d, 6)
+
+// Packet: 0x0b6e
+packetLen(0x0b6e, 14)
+
+// Packet: 0x0b6f
+#if PACKETVER >= 20200129
+packetLen(0x0b6f, 177)
+#endif
+
+// Packet: 0x0b70
+#if PACKETVER >= 20200401
+packetLen(0x0b70, -1)
+#elif PACKETVER >= 20200129
+packetLen(0x0b70, 8)
+#endif
+
+// Packet: 0x0b71
+#if PACKETVER >= 20200129
+packetLen(0x0b71, 177)
+#endif
+
+// Packet: 0x0b72
+#if PACKETVER >= 20200401
+packetLen(0x0b72, -1)
+#elif PACKETVER >= 20200129
+packetLen(0x0b72, 4)
+#endif
+
+// Packet: 0x0b73
+#if PACKETVER >= 20200212
+packetLen(0x0b73, 8)
+#endif
+
+// Packet: 0x0b74
+#if PACKETVER >= 20200304
+packetLen(0x0b74, 1026)
+#endif
+
+// Packet: 0x0b75
+#if PACKETVER >= 20200304
+packetLen(0x0b75, 1026)
+#endif
+
+// Packet: 0x0b76
+#if PACKETVER >= 20200401
+packetLen(0x0b76, 77)
+#endif
+
+
+#endif /* COMMON_PACKETS2020_LEN_ZERO_H */
diff --git a/src/common/packets/packets_len_ad.h b/src/common/packets/packets_len_ad.h
index adfe65a76..60382a8b8 100644
--- a/src/common/packets/packets_len_ad.h
+++ b/src/common/packets/packets_len_ad.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2019-2020 Hercules Dev Team
+ * Copyright (C) 2019-2020 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/common/packets/packets_len_main.h b/src/common/packets/packets_len_main.h
index 49711994d..365b0af6f 100644
--- a/src/common/packets/packets_len_main.h
+++ b/src/common/packets/packets_len_main.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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,7 +24,9 @@
/* This file is autogenerated, please do not commit manual changes */
-#if PACKETVER >= 20190000
+#if PACKETVER >= 20200000
+#include "common/packets/packets2020_len_main.h"
+#elif PACKETVER >= 20190000
#include "common/packets/packets2019_len_main.h"
#elif PACKETVER >= 20180000
#include "common/packets/packets2018_len_main.h"
diff --git a/src/common/packets/packets_len_re.h b/src/common/packets/packets_len_re.h
index 506a1ef80..302381722 100644
--- a/src/common/packets/packets_len_re.h
+++ b/src/common/packets/packets_len_re.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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,7 +24,9 @@
/* This file is autogenerated, please do not commit manual changes */
-#if PACKETVER >= 20190000
+#if PACKETVER >= 20200000
+#include "common/packets/packets2020_len_re.h"
+#elif PACKETVER >= 20190000
#include "common/packets/packets2019_len_re.h"
#elif PACKETVER >= 20180000
#include "common/packets/packets2018_len_re.h"
diff --git a/src/common/packets/packets_len_sak.h b/src/common/packets/packets_len_sak.h
index e359ae1d2..1a39b2fcf 100644
--- a/src/common/packets/packets_len_sak.h
+++ b/src/common/packets/packets_len_sak.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2019-2020 Hercules Dev Team
+ * Copyright (C) 2019-2020 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/common/packets/packets_len_zero.h b/src/common/packets/packets_len_zero.h
index 10295cac2..c07f89e3f 100644
--- a/src/common/packets/packets_len_zero.h
+++ b/src/common/packets/packets_len_zero.h
@@ -2,8 +2,8 @@
* 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)
+ * Copyright (C) 2018-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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,7 +24,9 @@
/* This file is autogenerated, please do not commit manual changes */
-#if PACKETVER >= 20190000
+#if PACKETVER >= 20200000
+#include "common/packets/packets2020_len_zero.h"
+#elif PACKETVER >= 20190000
#include "common/packets/packets2019_len_zero.h"
#elif PACKETVER >= 20180000
#include "common/packets/packets2018_len_zero.h"
diff --git a/src/common/packets_len.h b/src/common/packets_len.h
index 02f63ae0d..f0ec0273f 100644
--- a/src/common/packets_len.h
+++ b/src/common/packets_len.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
+ * Copyright (C) 2012-2020 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/src/common/packetsstatic_len.h b/src/common/packetsstatic_len.h
index 730516c27..79aad47bc 100644
--- a/src/common/packetsstatic_len.h
+++ b/src/common/packetsstatic_len.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-2020 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,6 +32,10 @@
#define DEFINE_PACKET_ID(name, id) \
enum { HEADER_##name = id };
+#define CHECK_PACKET_HEADER(name, id) \
+ STATIC_ASSERT((int32)(PACKET_LEN_##id) == -1 || sizeof(struct PACKET_##name) == \
+ (size_t)PACKET_LEN_##id, "Wrong size PACKET_"#name); \
+
#define packetLen(id, len) PACKET_LEN_##id = (len),
enum packet_lengths {
#include "common/packets_len.h"
diff --git a/src/common/random.c b/src/common/random.c
index 9bbe4f86c..263c541b9 100644
--- a/src/common/random.c
+++ b/src/common/random.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/random.h b/src/common/random.h
index 70f019678..acfa36166 100644
--- a/src/common/random.h
+++ b/src/common/random.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/showmsg.c b/src/common/showmsg.c
index 32d1e7610..11ba80158 100644
--- a/src/common/showmsg.c
+++ b/src/common/showmsg.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/showmsg.h b/src/common/showmsg.h
index ace155ee8..e5bca564e 100644
--- a/src/common/showmsg.h
+++ b/src/common/showmsg.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/socket.c b/src/common/socket.c
index 95d8bf578..74d54dde8 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -79,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.
@@ -462,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)
@@ -490,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;
@@ -648,9 +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;
}
@@ -733,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;
@@ -1505,7 +1506,7 @@ static bool socket_config_read(const char *filename, bool imported)
// 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))
@@ -1714,7 +1715,7 @@ static void socket_init(void)
// 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:
@@ -1855,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 ) {
@@ -1864,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);
@@ -2143,6 +2144,8 @@ void socket_defaults(void)
{
sockt = &sockt_s;
+ sockt->SOCKET_CONF_FILENAME = "conf/common/socket.conf";
+
sockt->fd_max = 0;
/* */
sockt->stall_time = 60;
@@ -2177,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;
diff --git a/src/common/socket.h b/src/common/socket.h
index 5e4251989..5bb0762a8 100644
--- a/src/common/socket.h
+++ b/src/common/socket.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -130,6 +130,7 @@ struct socket_data {
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,6 +179,7 @@ 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
@@ -212,6 +214,7 @@ struct socket_interface {
/* */
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/spinlock.h b/src/common/spinlock.h
index 97818ef82..f011d703e 100644
--- a/src/common/spinlock.h
+++ b/src/common/spinlock.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
- * Copyright (C) rAthena Project (www.rathena.org)
+ * Copyright (C) 2012-2020 Hercules Dev Team
+ * Copyright (C) rAthena Project (www.rathena.org)
*
* 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/common/sql.c b/src/common/sql.c
index 0b5b7fa07..bd00619eb 100644
--- a/src/common/sql.c
+++ b/src/common/sql.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -94,6 +94,9 @@ static struct Sql *Sql_Malloc(void)
{
my_bool reconnect = 1;
mysql_options(&self->handle, MYSQL_OPT_RECONNECT, &reconnect);
+#ifdef WIN32
+ mysql_optionsv(&self->handle, MYSQL_PLUGIN_DIR, MARIADB_PLUGINDIR);
+#endif
}
return self;
}
diff --git a/src/common/sql.h b/src/common/sql.h
index 147b56c0c..73e437957 100644
--- a/src/common/sql.h
+++ b/src/common/sql.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/strlib.c b/src/common/strlib.c
index ddb1eb78a..deccbc119 100644
--- a/src/common/strlib.c
+++ b/src/common/strlib.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/strlib.h b/src/common/strlib.h
index 006bbd14b..3aabc7287 100644
--- a/src/common/strlib.h
+++ b/src/common/strlib.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/sysinfo.c b/src/common/sysinfo.c
index b8cb2a90a..9791c8369 100644
--- a/src/common/sysinfo.c
+++ b/src/common/sysinfo.c
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2015 Hercules Dev Team
- * Copyright (C) Athena Dev Teams
+ * Copyright (C) 2013-2020 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
@@ -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/common/sysinfo.h b/src/common/sysinfo.h
index 2a391bfa4..d81a1c6e8 100644
--- a/src/common/sysinfo.h
+++ b/src/common/sysinfo.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2015 Hercules Dev Team
- * Copyright (C) Athena Dev Teams
+ * Copyright (C) 2013-2020 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
diff --git a/src/common/thread.c b/src/common/thread.c
index 605153011..1b7e351e3 100644
--- a/src/common/thread.c
+++ b/src/common/thread.c
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
- * Copyright (C) rAthena Project (www.rathena.org)
+ * Copyright (C) 2012-2020 Hercules Dev Team
+ * Copyright (C) rAthena Project (www.rathena.org)
*
* 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/common/thread.h b/src/common/thread.h
index 3f1b8d022..1aba44c15 100644
--- a/src/common/thread.h
+++ b/src/common/thread.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2018 Hercules Dev Team
- * Copyright (C) rAthena Project (www.rathena.org)
+ * Copyright (C) 2012-2020 Hercules Dev Team
+ * Copyright (C) rAthena Project (www.rathena.org)
*
* 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/common/timer.c b/src/common/timer.c
index d5f9c83d1..107bfc54e 100644
--- a/src/common/timer.c
+++ b/src/common/timer.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/timer.h b/src/common/timer.h
index 85edd611b..6f60ea804 100644
--- a/src/common/timer.h
+++ b/src/common/timer.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/common/utils.c b/src/common/utils.c
index d4c838b56..084080df7 100644
--- a/src/common/utils.c
+++ b/src/common/utils.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -128,11 +128,11 @@ static char *checkpath(char *path, const char *srcpath)
return path;
}
-void findfile(const char *p, const char *pat, void (func)(const char *))
+void findfile(const char *p, const char *pat, void (func)(const char *, void *context), void *context)
{
WIN32_FIND_DATAA FindFileData;
HANDLE hFind;
- char tmppath[MAX_PATH+1];
+ char tmppath[MAX_DIR_PATH + 1];
const char *path = (p ==NULL)? "." : p;
const char *pattern = (pat==NULL)? "" : pat;
@@ -155,21 +155,37 @@ void findfile(const char *p, const char *pat, void (func)(const char *))
sprintf(tmppath,"%s%c%s",path,PATHSEP,FindFileData.cFileName);
if (strstr(FindFileData.cFileName, pattern)) {
- func( tmppath );
+ func(tmppath, context);
}
- if( FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
- {
- findfile(tmppath, pat, func);
+ if ((FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0) {
+ findfile(tmppath, pat, func, context);
}
}while (FindNextFileA(hFind, &FindFileData) != 0);
FindClose(hFind);
}
return;
}
-#else
-#define MAX_DIR_PATH 2048
+/**
+ * Checks if the passed path points to a file.
+ *
+ * @param path The path which should be checked.
+ * @return true if the passed path points to a file, otherwise false.
+ *
+ **/
+bool is_file(const char *path)
+{
+ nullpo_retr(false, path);
+
+ char path_tmp[MAX_DIR_PATH + 1];
+
+ checkpath(path_tmp, path);
+
+ return ((GetFileAttributesA(path_tmp) & FILE_ATTRIBUTE_DIRECTORY) == 0);
+}
+
+#else
static char *checkpath(char *path, const char *srcpath)
{
@@ -190,7 +206,7 @@ static char *checkpath(char *path, const char *srcpath)
return path;
}
-void findfile(const char *p, const char *pat, void (func)(const char *))
+void findfile(const char *p, const char *pat, void (func)(const char *, void *context), void *context)
{
DIR* dir; ///< pointer to the scanned directory.
struct dirent* entry; ///< pointer to one directory entry.
@@ -220,7 +236,7 @@ void findfile(const char *p, const char *pat, void (func)(const char *))
// check if the pattern matches.
if (strstr(entry->d_name, pattern)) {
- func( tmppath );
+ func(tmppath, context);
}
// check if it is a directory.
if (stat(tmppath, &dir_stat) == -1) {
@@ -230,12 +246,33 @@ void findfile(const char *p, const char *pat, void (func)(const char *))
// is this a directory?
if (S_ISDIR(dir_stat.st_mode)) {
// decent recursively
- findfile(tmppath, pat, func);
+ findfile(tmppath, pat, func, context);
}
}//end while
closedir(dir);
}
+
+/**
+ * Checks if the passed path points to a file.
+ *
+ * @param path The path which should be checked.
+ * @return true if the passed path points to a file, otherwise false.
+ *
+ **/
+bool is_file(const char *path)
+{
+ nullpo_retr(false, path);
+
+ char path_tmp[MAX_DIR_PATH + 1];
+
+ checkpath(path_tmp, path);
+
+ struct stat path_stat;
+
+ return (stat(path_tmp, &path_stat) == 0 && S_ISREG(path_stat.st_mode));
+}
+
#endif
bool exists(const char *filename)
diff --git a/src/common/utils.h b/src/common/utils.h
index f564dcf29..3e0d73e40 100644
--- a/src/common/utils.h
+++ b/src/common/utils.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -31,6 +31,14 @@
/* [HCache] 1-byte key to ensure our method is the latest, we can modify to ensure the method matches */
#define HCACHE_KEY 'k'
+#ifndef MAX_DIR_PATH
+#ifdef WIN32
+#define MAX_DIR_PATH MAX_PATH
+#else
+#define MAX_DIR_PATH 2048
+#endif
+#endif
+
//Caps values to min/max
#define cap_value(a, min, max) (((a) >= (max)) ? (max) : ((a) <= (min)) ? (min) : (a))
@@ -39,7 +47,8 @@
void WriteDump(FILE* fp, const void* buffer, size_t length);
void ShowDump(const void* buffer, size_t length);
-void findfile(const char *p, const char *pat, void (func)(const char*));
+void findfile(const char *p, const char *pat, void (func)(const char *, void *), void *context);
+bool is_file(const char *path);
bool exists(const char* filename);
/// calculates the value of A / B, in percent (rounded down)
diff --git a/src/common/winapi.h b/src/common/winapi.h
index 5dc46d615..e9a42fd65 100644
--- a/src/common/winapi.h
+++ b/src/common/winapi.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/config/classes/general.h b/src/config/classes/general.h
index ad42fefb4..d1a8b0a16 100644
--- a/src/config/classes/general.h
+++ b/src/config/classes/general.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/config/const.h b/src/config/const.h
index 4767b5721..45e98e3f8 100644
--- a/src/config/const.h
+++ b/src/config/const.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -49,10 +49,13 @@
/**
* Path within the /db folder to (non-)renewal specific db files
**/
+#define DBPATH_RE "re/"
+#define DBPATH_PRE "pre-re/"
+
#ifdef RENEWAL
- #define DBPATH "re/"
+ #define DBPATH DBPATH_RE
#else
- #define DBPATH "pre-re/"
+ #define DBPATH DBPATH_PRE
#endif
/**
diff --git a/src/config/core.h b/src/config/core.h
index a22d47324..b091e6dee 100644
--- a/src/config/core.h
+++ b/src/config/core.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/config/renewal.h b/src/config/renewal.h
index 6c45abc0e..3163a4134 100644
--- a/src/config/renewal.h
+++ b/src/config/renewal.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/config/secure.h b/src/config/secure.h
index f262852e4..fd05b4a49 100644
--- a/src/config/secure.h
+++ b/src/config/secure.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/HPMlogin.c b/src/login/HPMlogin.c
index 304db5501..ac891f515 100644
--- a/src/login/HPMlogin.c
+++ b/src/login/HPMlogin.c
@@ -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-2020 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/src/login/HPMlogin.h b/src/login/HPMlogin.h
index e16edb6b8..1530b9fdc 100644
--- a/src/login/HPMlogin.h
+++ b/src/login/HPMlogin.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-2020 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/src/login/Makefile.in b/src/login/Makefile.in
index 5e0a04a81..7252eea04 100644
--- a/src/login/Makefile.in
+++ b/src/login/Makefile.in
@@ -1,8 +1,8 @@
# 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
+# Copyright (C) 2012-2020 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
@@ -36,6 +36,19 @@ LIBCONFIG_OBJ = $(addprefix $(LIBCONFIG_D)/, libconfig.o grammar.o scanctx.o \
LIBCONFIG_H = $(addprefix $(LIBCONFIG_D)/, libconfig.h grammar.h parsectx.h \
scanctx.h scanner.h strbuf.h wincompat.h)
+ifeq (@USE_LIBBACKTRACE@,yes)
+ LIBBACKTRACE_D = $(THIRDPARTY_D)/libbacktrace
+ LIBBACKTRACE_OBJ = $(addprefix $(LIBBACKTRACE_D)/, atomic.o backtrace.o \
+ dwarf.o @LIBBACKTRACE_FORMAT_FILE@ fileline.o mmapio.o mmap.o posix.o print.o \
+ simple.o sort.o state.o)
+ LIBBACKTRACE_H = $(addprefix $(LIBBACKTRACE_D)/, backtrace.h \
+ backtrace-supported.h config.h filenames.h internal.h)
+else
+ LIBBACKTRACE_D =
+ LIBBACKTRACE_OBJ =
+ LIBBACKTRACE_H =
+endif
+
MT19937AR_D = $(THIRDPARTY_D)/mt19937ar
MT19937AR_OBJ = $(MT19937AR_D)/mt19937ar.o
MT19937AR_H = $(MT19937AR_D)/mt19937ar.h
@@ -47,7 +60,7 @@ LOGIN_PH = lclif.p.h
HAVE_MYSQL=@HAVE_MYSQL@
ifeq ($(HAVE_MYSQL),yes)
- LOGIN_SERVER_SQL_DEPENDS=$(LOGIN_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(SYSINFO_INC)
+ LOGIN_SERVER_SQL_DEPENDS=$(LOGIN_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) $(SYSINFO_INC)
else
LOGIN_SERVER_SQL_DEPENDS=needs_mysql
endif
@@ -86,7 +99,7 @@ help:
Makefile: Makefile.in
@$(MAKE) -C ../.. src/login/Makefile
-$(SYSINFO_INC): $(LOGIN_C) $(LOGIN_PH) $(LOGIN_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H)
+$(SYSINFO_INC): $(LOGIN_C) $(LOGIN_PH) $(LOGIN_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H)
@echo " MAKE $@"
@$(MAKE) -C ../.. sysinfo
@@ -107,7 +120,7 @@ login-server: ../../login-server@EXEEXT@
../../login-server@EXEEXT@: $(LOGIN_SERVER_SQL_DEPENDS) Makefile
@echo " LD $(notdir $@)"
@$(CC) @STATIC@ @LDFLAGS@ -o ../../login-server@EXEEXT@ $(LOGIN_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
- $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) @LIBS@ @MYSQL_LIBS@
# missing object files
$(COMMON_D)/obj_all/common.a:
@@ -126,10 +139,14 @@ $(LIBCONFIG_OBJ):
@echo " MAKE $@"
@$(MAKE) -C $(LIBCONFIG_D)
+$(LIBBACKTRACE_OBJ):
+ @echo " MAKE $@"
+ @$(MAKE) -C $(LIBBACKTRACE_D)
+
.SECONDEXPANSION:
# login object files
-obj_sql/%.o: %.c $$(filter %.p.h, $(LOGIN_PH)) $(LOGIN_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | obj_sql
+obj_sql/%.o: %.c $$(filter %.p.h, $(LOGIN_PH)) $(LOGIN_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H) | obj_sql
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
diff --git a/src/login/account.c b/src/login/account.c
index 783cf85ea..3632c257a 100644
--- a/src/login/account.c
+++ b/src/login/account.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/account.h b/src/login/account.h
index 312bb85c5..712b91ed6 100644
--- a/src/login/account.h
+++ b/src/login/account.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/ipban.c b/src/login/ipban.c
index 32ee1a19b..e5bf853d6 100644
--- a/src/login/ipban.c
+++ b/src/login/ipban.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/ipban.h b/src/login/ipban.h
index ac502b50d..87b48135f 100644
--- a/src/login/ipban.h
+++ b/src/login/ipban.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/lclif.c b/src/login/lclif.c
index 97871922d..f99011de9 100644
--- a/src/login/lclif.c
+++ b/src/login/lclif.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016 Hercules Dev Team
+ * Copyright (C) 2016-2020 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/src/login/lclif.h b/src/login/lclif.h
index 26c061367..2abcb8455 100644
--- a/src/login/lclif.h
+++ b/src/login/lclif.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016 Hercules Dev Team
+ * Copyright (C) 2016-2020 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/src/login/lclif.p.h b/src/login/lclif.p.h
index cc9805ea8..72abe34ae 100644
--- a/src/login/lclif.p.h
+++ b/src/login/lclif.p.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016 Hercules Dev Team
+ * Copyright (C) 2016-2020 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/src/login/login.c b/src/login/login.c
index 580f79ebb..4201a8b4e 100644
--- a/src/login/login.c
+++ b/src/login/login.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/login.h b/src/login/login.h
index 7f74057c6..0f5a87b9e 100644
--- a/src/login/login.h
+++ b/src/login/login.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/loginlog.c b/src/login/loginlog.c
index 19f269ab5..2589c9a1c 100644
--- a/src/login/loginlog.c
+++ b/src/login/loginlog.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/loginlog.h b/src/login/loginlog.h
index 0fcbae568..eb683da53 100644
--- a/src/login/loginlog.h
+++ b/src/login/loginlog.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/login/packets_ac_struct.h b/src/login/packets_ac_struct.h
index c9fb04f26..bdd31308a 100644
--- a/src/login/packets_ac_struct.h
+++ b/src/login/packets_ac_struct.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016-2018 Hercules Dev Team
+ * Copyright (C) 2016-2020 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/src/login/packets_ca_struct.h b/src/login/packets_ca_struct.h
index 0828c7293..6b9360086 100644
--- a/src/login/packets_ca_struct.h
+++ b/src/login/packets_ca_struct.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016-2018 Hercules Dev Team
+ * Copyright (C) 2016-2020 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/src/map/HPMmap.c b/src/map/HPMmap.c
index 6eff37df8..42c7b3c5f 100644
--- a/src/map/HPMmap.c
+++ b/src/map/HPMmap.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-2020 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
@@ -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/HPMmap.h b/src/map/HPMmap.h
index a9d2a454e..52ab36cce 100644
--- a/src/map/HPMmap.h
+++ b/src/map/HPMmap.h
@@ -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-2020 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/src/map/Makefile.in b/src/map/Makefile.in
index 3705fda0e..75093662f 100644
--- a/src/map/Makefile.in
+++ b/src/map/Makefile.in
@@ -1,8 +1,8 @@
# 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
+# Copyright (C) 2012-2020 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
@@ -36,6 +36,19 @@ LIBCONFIG_OBJ = $(addprefix $(LIBCONFIG_D)/, libconfig.o grammar.o scanctx.o \
LIBCONFIG_H = $(addprefix $(LIBCONFIG_D)/, libconfig.h grammar.h parsectx.h \
scanctx.h scanner.h strbuf.h wincompat.h)
+ifeq (@USE_LIBBACKTRACE@,yes)
+ LIBBACKTRACE_D = $(THIRDPARTY_D)/libbacktrace
+ LIBBACKTRACE_OBJ = $(addprefix $(LIBBACKTRACE_D)/, atomic.o backtrace.o \
+ dwarf.o @LIBBACKTRACE_FORMAT_FILE@ fileline.o mmapio.o mmap.o posix.o print.o \
+ simple.o sort.o state.o)
+ LIBBACKTRACE_H = $(addprefix $(LIBBACKTRACE_D)/, backtrace.h \
+ backtrace-supported.h config.h filenames.h internal.h)
+else
+ LIBBACKTRACE_D =
+ LIBBACKTRACE_OBJ =
+ LIBBACKTRACE_H =
+endif
+
MT19937AR_D = $(THIRDPARTY_D)/mt19937ar
MT19937AR_OBJ = $(MT19937AR_D)/mt19937ar.o
MT19937AR_H = $(MT19937AR_D)/mt19937ar.h
@@ -44,8 +57,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,13 +67,13 @@ 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)
- MAP_SERVER_SQL_DEPENDS=$(MAP_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(SYSINFO_INC)
+ MAP_SERVER_SQL_DEPENDS=$(MAP_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) $(SYSINFO_INC)
else
MAP_SERVER_SQL_DEPENDS=needs_mysql
endif
@@ -99,7 +112,7 @@ help:
Makefile: Makefile.in
@$(MAKE) -C ../.. src/map/Makefile
-$(SYSINFO_INC): $(MAP_C) $(MAP_PH) $(MAP_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H)
+$(SYSINFO_INC): $(MAP_C) $(MAP_PH) $(MAP_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H)
@echo " MAKE $@"
@$(MAKE) -C ../.. sysinfo
@@ -120,7 +133,7 @@ map-server: ../../map-server@EXEEXT@
../../map-server@EXEEXT@: $(MAP_SERVER_SQL_DEPENDS) Makefile
@echo " LD $(notdir $@)"
@$(CC) @STATIC@ @LDFLAGS@ -o ../../map-server@EXEEXT@ $(MAP_OBJ) $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
- $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) @LIBS@ @MYSQL_LIBS@
# missing object files
$(COMMON_D)/obj_all/common.a:
@@ -139,10 +152,14 @@ $(LIBCONFIG_OBJ):
@echo " MAKE $@"
@$(MAKE) -C $(LIBCONFIG_D)
+$(LIBBACKTRACE_OBJ):
+ @echo " MAKE $@"
+ @$(MAKE) -C $(LIBBACKTRACE_D)
+
.SECONDEXPANSION:
# map object files
-obj_sql/%.o: %.c $$(filter %.p.h, $(MAP_PH)) $(MAP_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | obj_sql
+obj_sql/%.o: %.c $$(filter %.p.h, $(MAP_PH)) $(MAP_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H) | obj_sql
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
diff --git a/src/map/achievement.c b/src/map/achievement.c
index 057ea29c3..e6a9ae3be 100644
--- a/src/map/achievement.c
+++ b/src/map/achievement.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
-* Copyright (C) 2017 Hercules Dev Team
+* Copyright (C) 2017-2020 Hercules Dev Team
* Copyright (C) Smokexyz
* Copyright (C) Dastgir
*
@@ -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;
@@ -1045,10 +1051,10 @@ static void achievement_get_rewards_items(struct map_session_data *sd, const str
if (!itemdb->isstackable(it.nameid)) {
it.amount = 1;
for (int j = 0; j < total; ++j)
- pc->additem(sd, &it, 1, LOG_TYPE_SCRIPT);
+ pc->additem(sd, &it, 1, LOG_TYPE_ACHIEVEMENT);
} else {
it.amount = total;
- pc->additem(sd, &it, total, LOG_TYPE_SCRIPT);
+ pc->additem(sd, &it, total, LOG_TYPE_ACHIEVEMENT);
}
}
}
@@ -1093,7 +1099,8 @@ static bool achievement_get_rewards(struct map_session_data *sd, const struct ac
*/
static void achievement_readdb_ranks(void)
{
- const char *filename = "db/achievement_rank_db.conf";
+ char filename[256];
+ libconfig->format_db_path("achievement_rank_db.conf", filename, sizeof(filename));
struct config_t ar_conf = { 0 };
struct config_setting_t *ardb = NULL, *conf = NULL;
int entry = 0;
@@ -1771,7 +1778,8 @@ static void achievement_readdb_additional_fields(const struct config_setting_t *
*/
static void achievement_readb(void)
{
- const char *filename = "db/"DBPATH"achievement_db.conf";
+ char filename[256];
+ libconfig->format_db_path(DBPATH"achievement_db.conf", filename, sizeof(filename));
struct config_t ach_conf = { 0 };
struct config_setting_t *achdb = NULL, *conf = NULL;
int entry = 0, count = 0;
diff --git a/src/map/achievement.h b/src/map/achievement.h
index de5eaa060..dd80f7a23 100644
--- a/src/map/achievement.h
+++ b/src/map/achievement.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
-* Copyright (C) 2018 Hercules Dev Team
+* Copyright (C) 2018-2020 Hercules Dev Team
* Copyright (C) Smokexyz
*
* Hercules is free software: you can redistribute it and/or modify
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 87be6ab1b..91ddc3ef9 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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"
@@ -510,7 +511,7 @@ ACMD(where)
return false;
}
- pl_sd = map->nick2sd(atcmd_player_name);
+ pl_sd = map->nick2sd(atcmd_player_name, true);
if (pl_sd == NULL ||
strncmp(pl_sd->status.name, atcmd_player_name, NAME_LENGTH) != 0 ||
(pc_has_permission(pl_sd, PC_PERM_HIDE_SESSION) && pc_get_group_level(pl_sd) > pc_get_group_level(sd) && !pc_has_permission(sd, PC_PERM_WHO_DISPLAY_AID))
@@ -547,7 +548,7 @@ ACMD(jumpto)
return false;
}
- if ((pl_sd=map->nick2sd(message)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
+ if ((pl_sd=map->nick2sd(message, true)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -868,9 +869,14 @@ 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 (!pc_has_permission(sd, PC_PERM_BYPASS_NOSTORAGE) && (map->list[sd->bl.m].flag.nostorage & 1)) { // mapflag nostorage already defined? can't open :c
+ clif->message(fd, msg_fd(fd, 1161)); // You currently cannot open your storage.
+ return false;
+ }
+
if (storage->open(sd) == 1) { //Already open.
clif->message(fd, msg_fd(fd,250)); // You have already opened your storage. Close it first.
return false;
@@ -891,7 +897,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) {
@@ -904,6 +910,11 @@ ACMD(guildstorage)
return false;
}
+ if (!pc_has_permission(sd, PC_PERM_BYPASS_NOSTORAGE) && (map->list[sd->bl.m].flag.nogstorage & 1)) { // mapflag nogstorage already defined? can't open :c
+ clif->message(fd, msg_fd(fd, 1161)); // You currently cannot open your storage. (there is no other messages...)
+ return false;
+ }
+
if( gstorage->open(sd) ) {
clif->message(fd, msg_fd(fd,1201)); // Your guild's storage has already been opened by another member, try again later.
return false;
@@ -1096,8 +1107,10 @@ ACMD(kami)
sscanf(message, "%199[^\n]", atcmd_output);
if (stristr(info->command, "l") != NULL)
clif->broadcast(&sd->bl, atcmd_output, (int)strlen(atcmd_output) + 1, BC_DEFAULT, ALL_SAMEMAP);
+ else if (info->command[4] == 'b' || info->command[4] == 'B')
+ clif->broadcast(NULL, atcmd_output, (int)strlen(atcmd_output) + 1, BC_BLUE, ALL_CLIENT);
else
- intif->broadcast(atcmd_output, (int)strlen(atcmd_output) + 1, (*(info->command + 4) == 'b' || *(info->command + 4) == 'B') ? BC_BLUE : BC_YELLOW);
+ clif->broadcast(NULL, atcmd_output, (int)strlen(atcmd_output) + 1, BC_YELLOW, ALL_CLIENT);
} else {
if(!*message || (sscanf(message, "%10u %199[^\n]", &color, atcmd_output) < 2)) {
clif->message(fd, msg_fd(fd,981)); // Please enter color and message (usage: @kamic <color> <message>).
@@ -1108,7 +1121,7 @@ ACMD(kami)
clif->message(fd, msg_fd(fd,982)); // Invalid color.
return false;
}
- intif->broadcast2(atcmd_output, (int)strlen(atcmd_output) + 1, color, 0x190, 12, 0, 0);
+ clif->broadcast2(NULL, atcmd_output, (int)strlen(atcmd_output) + 1, color, 0x190, 12, 0, 0, ALL_CLIENT);
}
return true;
}
@@ -1270,20 +1283,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>).
@@ -1319,20 +1332,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;
@@ -2215,59 +2228,100 @@ 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) {
- 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
+ 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>).
+#if PACKETVER > 20100707
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1515), -3); // %d: Refine All Equip (Shadow)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1514), -2); // %d: Refine All Equip (Costume)
+ clif->message(fd, atcmd_output);
+#endif
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1513), -1); // %d: Refine All Equip (General)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 997), EQP_HEAD_LOW); // %d: Headgear (Low)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 998), EQP_HAND_R); // Hand (Right)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 999), EQP_GARMENT); // %d: Garment
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1000), EQP_ACC_L); // Accessory (Left)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1001), EQP_ARMOR); // %d: Body Armor
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1002), EQP_HAND_L); // Hand (Left)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,998), EQP_HAND_R); // %d: Right Hand
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1003), EQP_SHOES); // %d: Shoes
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,999), EQP_GARMENT); // %d: Garment
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1004), EQP_ACC_R); // Accessory (Right)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1000), EQP_ACC_L); // %d: Left Accessory
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1005), EQP_HEAD_TOP); // %d: Headgear (Top)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1001), EQP_ARMOR); // %d: Body Armor
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1006), EQP_HEAD_MID); // %d: Headgear (Mid)
+#if PACKETVER > 20100707
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1503), EQP_COSTUME_HEAD_TOP); // %d: Costume Headgear (Top)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1002), EQP_HAND_L); // %d: Left Hand
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1504), EQP_COSTUME_HEAD_MID); // %d: Costume Headgear (Mid)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1003), EQP_SHOES); // %d: Shoes
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1505), EQP_COSTUME_HEAD_LOW); // %d: Costume Headgear (Low)
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1004), EQP_ACC_R); // %d: Right Accessory
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1506), EQP_COSTUME_GARMENT); // %d: Costume Garment
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1005), EQP_HEAD_TOP); // %d: Top Headgear
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1507), EQP_SHADOW_ARMOR); // %d: Shadow Armor
clif->message(fd, atcmd_output);
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1006), EQP_HEAD_MID); // %d: Mid Headgear
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1508), EQP_SHADOW_WEAPON); // %d: Shadow Weapon
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1509), EQP_SHADOW_SHIELD); // %d: Shadow Shield
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1510), EQP_SHADOW_SHOES); // %d: Shadow Shoes
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1511), EQP_SHADOW_ACC_R); // %d: Shadow Accessory (Right)
+ clif->message(fd, atcmd_output);
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1512), EQP_SHADOW_ACC_L); // %d: Shadow Accessory (Left)
+ clif->message(fd, atcmd_output);
+#endif
clif->message(fd, atcmd_output);
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++) {
int idx = sd->equip_index[j];
if (idx < 0)
continue;
- if(j == EQI_AMMO) continue; /* can't equip ammo */
- if(j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == idx)
+ if (j == EQI_AMMO)
+ continue; /* can't equip ammo */
+ if (j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == idx)
+ continue;
+ if (j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == idx)
+ continue;
+ if (j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == idx || sd->equip_index[EQI_HEAD_LOW] == idx))
continue;
- if(j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == idx)
+ if (j == EQI_COSTUME_MID && sd->equip_index[EQI_COSTUME_LOW] == idx)
continue;
- if(j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == idx || sd->equip_index[EQI_HEAD_LOW] == idx))
+ if (j == EQI_COSTUME_TOP && (sd->equip_index[EQI_COSTUME_MID] == idx || sd->equip_index[EQI_COSTUME_LOW] == idx))
continue;
- if(position && !(sd->status.inventory[idx].equip & position))
+ if (position == -3 && !itemdb_is_shadowequip(sd->status.inventory[idx].equip))
+ continue;
+ else if (position == -2 && !itemdb_is_costumeequip(sd->status.inventory[idx].equip))
+ continue;
+ else if (position == -1 && (itemdb_is_costumeequip(sd->status.inventory[idx].equip) || itemdb_is_shadowequip(sd->status.inventory[idx].equip)))
+ continue;
+ else 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;
- pc->unequipitem(sd, idx, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
+ pc->unequipitem(sd, idx, PCUNEQUIPITEM_RECALC | PCUNEQUIPITEM_FORCE);
clif->refine(fd, 0, idx, sd->status.inventory[idx].refine);
clif->delitem(sd, idx, 1, DELITEM_MATERIALCHANGE);
clif->additem(sd, idx, 1, 0);
@@ -2278,11 +2332,11 @@ ACMD(refine)
}
if (count == 0)
- clif->message(fd, msg_fd(fd,166)); // No item has been refined.
+ clif->message(fd, msg_fd(fd, 166)); // No item has been refined.
else if (count == 1)
- clif->message(fd, msg_fd(fd,167)); // 1 item has been refined.
+ clif->message(fd, msg_fd(fd, 167)); // 1 item has been refined.
else {
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,168), count); // %d items have been refined.
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 168), count); // %d items have been refined.
clif->message(fd, atcmd_output);
}
@@ -2423,7 +2477,7 @@ ACMD(displaystatus)
if( flag == 0 )
clif->sc_end(&sd->bl,sd->bl.id,AREA,type);
else
- clif->status_change(&sd->bl, type, flag, tick, val1, val2, val3);
+ clif->status_change(&sd->bl, type, BL_PC, flag, tick, val1, val2, val3);
return true;
}
@@ -2690,42 +2744,49 @@ ACMD(guildlevelup)
return true;
}
-/*==========================================
+/**
+ * Creates a pet egg in the character's inventory.
*
- *------------------------------------------*/
+ * @code{.herc}
+ * @makeegg <pet>
+ * @endcode
+ *
+ **/
ACMD(makeegg)
{
- struct item_data *item_data;
- int id, pet_id;
-
- if (!*message) {
- clif->message(fd, msg_fd(fd,1015)); // Please enter a monster/egg name/ID (usage: @makeegg <pet>).
+ if (*message == '\0') {
+ clif->message(fd, msg_fd(fd, 1015)); // Please enter a monster/egg name/ID (usage: @makeegg <pet>).
return false;
}
- if ((item_data = itemdb->search_name(message)) != NULL) // for egg name
+ struct item_data *item_data = itemdb->search_name(message);
+ int id;
+
+ if (item_data != NULL) { // Egg name.
id = item_data->nameid;
- else
- if ((id = mob->db_searchname(message)) != 0) // for monster name
- ;
- else
- id = atoi(message);
+ } else {
+ id = mob->db_searchname(message); // Monster name.
+
+ if (id == 0)
+ id = atoi(message); // Egg/monster ID.
+ }
+
+ int pet_id = pet->search_petDB_index(id, PET_CLASS);
- pet_id = pet->search_petDB_index(id, PET_CLASS);
- if (pet_id < 0)
+ if (pet_id == INDEX_NOT_FOUND)
pet_id = pet->search_petDB_index(id, PET_EGG);
- if (pet_id >= 0) {
- sd->catch_target_class = pet->db[pet_id].class_;
- intif->create_pet(
- sd->status.account_id, sd->status.char_id,
- 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 {
- clif->message(fd, msg_fd(fd,180)); // The monster/egg name/id doesn't exist.
+
+ if (pet_id == INDEX_NOT_FOUND) {
+ clif->message(fd, msg_fd(fd, 180)); // The monster/egg name/ID doesn't exist.
return false;
}
+ sd->catch_target_class = pet->db[pet_id].class_;
+ intif->create_pet(sd->status.account_id, sd->status.char_id, 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, PET_HUNGER_STUFFED,
+ 0, 1,pet->db[pet_id].jname);
+
return true;
}
@@ -2744,72 +2805,90 @@ ACMD(hatch)
return true;
}
-/*==========================================
+/**
+ * Sets a pet's intimacy value.
*
- *------------------------------------------*/
+ * @code{.herc}
+ * @petfriendly <0-1000>
+ * @endcode
+ *
+ **/
ACMD(petfriendly)
{
- int friendly;
- struct pet_data *pd;
-
- if (!*message || (friendly = atoi(message)) < 0) {
- clif->message(fd, msg_fd(fd,1016)); // Please enter a valid value (usage: @petfriendly <0-1000>).
+ if (*message == '\0' || (atoi(message) == 0 && isdigit(*message) == 0)) {
+ clif->message(fd, msg_fd(fd, 1016)); // Please enter a valid value (usage: @petfriendly <0-1000>).
return false;
}
- pd = sd->pd;
- if (!pd) {
- clif->message(fd, msg_fd(fd,184)); // Sorry, but you have no pet.
+ int friendly = atoi(message);
+
+ if (friendly < PET_INTIMACY_NONE || friendly > PET_INTIMACY_MAX) {
+ clif->message(fd, msg_fd(fd, 1016)); // Please enter a valid value (usage: @petfriendly <0-1000>).
return false;
}
- if (friendly < 0 || friendly > 1000)
- {
- clif->message(fd, msg_fd(fd,37)); // An invalid number was specified.
+ struct pet_data *pd = sd->pd;
+
+ if (sd->status.pet_id == 0 || pd == NULL) {
+ clif->message(fd, msg_fd(fd, 184)); // Sorry, but you have no pet.
return false;
}
- if (friendly == pd->pet.intimate) {
- clif->message(fd, msg_fd(fd,183)); // Pet intimacy is already at maximum.
+ if (friendly == pd->pet.intimate && friendly == PET_INTIMACY_MAX) {
+ clif->message(fd, msg_fd(fd, 183)); // Pet intimacy is already at maximum.
return false;
}
- pet->set_intimate(pd, friendly);
- clif->send_petstatus(sd);
- clif->message(fd, msg_fd(fd,182)); // Pet intimacy changed.
+ if (friendly != pd->pet.intimate) { // No need to update the pet's status if intimacy value won't change.
+ pet->set_intimate(pd, friendly);
+ clif->send_petstatus(sd);
+ }
+
+ clif->message(fd, msg_fd(fd, 182)); // Pet intimacy changed. (Send message regardless of value has changed or not.)
+
return true;
}
-/*==========================================
+/**
+ * Sets a pet's hunger value.
*
- *------------------------------------------*/
+ * @code{.herc}
+ * @pethungry <0-100>
+ * @endcode
+ *
+ **/
ACMD(pethungry)
{
- int hungry;
- struct pet_data *pd;
-
- if (!*message || (hungry = atoi(message)) < 0) {
- clif->message(fd, msg_fd(fd,1017)); // Please enter a valid number (usage: @pethungry <0-100>).
+ if (*message == '\0' || (atoi(message) == 0 && isdigit(*message) == 0)) {
+ clif->message(fd, msg_fd(fd, 1017)); // Please enter a valid number (usage: @pethungry <0-100>).
return false;
}
- pd = sd->pd;
- if (!sd->status.pet_id || !pd) {
- clif->message(fd, msg_fd(fd,184)); // Sorry, but you have no pet.
+ int hungry = atoi(message);
+
+ if (hungry < PET_HUNGER_STARVING || hungry > PET_HUNGER_STUFFED) {
+ clif->message(fd, msg_fd(fd, 1017)); // Please enter a valid number (usage: @pethungry <0-100>).
return false;
}
- if (hungry < 0 || hungry > 100) {
- clif->message(fd, msg_fd(fd,37)); // An invalid number was specified.
+
+ struct pet_data *pd = sd->pd;
+
+ if (sd->status.pet_id == 0 || pd == NULL) {
+ clif->message(fd, msg_fd(fd, 184)); // Sorry, but you have no pet.
return false;
}
- if (hungry == pd->pet.hungry) {
- clif->message(fd, msg_fd(fd,186)); // Pet hunger is already at maximum.
+
+ if (hungry == pd->pet.hungry && hungry == PET_HUNGER_STUFFED) {
+ clif->message(fd, msg_fd(fd, 186)); // Pet hunger is already at maximum.
return false;
}
- pd->pet.hungry = hungry;
- clif->send_petstatus(sd);
- clif->message(fd, msg_fd(fd,185)); // Pet hunger changed.
+ if (hungry != pd->pet.hungry) { // No need to update the pet's status if hunger value won't change.
+ pd->pet.hungry = hungry;
+ clif->send_petstatus(sd);
+ }
+
+ clif->message(fd, msg_fd(fd, 185)); // Pet hunger changed. (Send message regardless of value has changed or not.)
return true;
}
@@ -2850,7 +2929,7 @@ ACMD(recall)
return false;
}
- if ((pl_sd=map->nick2sd(message)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
+ if ((pl_sd=map->nick2sd(message, true)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -3175,7 +3254,7 @@ ACMD(kick)
return false;
}
- if ((pl_sd=map->nick2sd(message)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
+ if ((pl_sd=map->nick2sd(message, true)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -3505,7 +3584,7 @@ ACMD(idsearch)
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,77), item_name); // Search results for '%s' (name: id):
clif->message(fd, atcmd_output);
- match = itemdb->search_name_array(item_array, MAX_SEARCH, item_name, 0);
+ match = itemdb->search_name_array(item_array, MAX_SEARCH, item_name, IT_SEARCH_NAME_PARTIAL);
if (match > MAX_SEARCH) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,269), MAX_SEARCH, match);
clif->message(fd, atcmd_output);
@@ -4069,16 +4148,36 @@ ACMD(mapinfo)
for (i = 0; i < map->list[m_id].npc_num;) {
struct npc_data *nd = map->list[m_id].npc[i];
switch(nd->dir) {
- case 0: strcpy(direction, msg_fd(fd,1101)); break; // North
- case 1: strcpy(direction, msg_fd(fd,1102)); break; // North West
- case 2: strcpy(direction, msg_fd(fd,1103)); break; // West
- case 3: strcpy(direction, msg_fd(fd,1104)); break; // South West
- case 4: strcpy(direction, msg_fd(fd,1105)); break; // South
- case 5: strcpy(direction, msg_fd(fd,1106)); break; // South East
- case 6: strcpy(direction, msg_fd(fd,1107)); break; // East
- case 7: strcpy(direction, msg_fd(fd,1108)); break; // North East
- case 9: strcpy(direction, msg_fd(fd,1109)); break; // North
- default: strcpy(direction, msg_fd(fd,1110)); break; // Unknown
+ case UNIT_DIR_NORTH:
+ strcpy(direction, msg_fd(fd, 1101)); // North
+ break;
+ case UNIT_DIR_NORTHWEST:
+ strcpy(direction, msg_fd(fd, 1102)); // North West
+ break;
+ case UNIT_DIR_WEST:
+ strcpy(direction, msg_fd(fd, 1103)); // West
+ break;
+ case UNIT_DIR_SOUTHWEST:
+ strcpy(direction, msg_fd(fd, 1104)); // South West
+ break;
+ case UNIT_DIR_SOUTH:
+ strcpy(direction, msg_fd(fd, 1105)); // South
+ break;
+ case UNIT_DIR_SOUTHEAST:
+ strcpy(direction, msg_fd(fd, 1106)); // South East
+ break;
+ case UNIT_DIR_EAST:
+ strcpy(direction, msg_fd(fd, 1107)); // East
+ break;
+ case UNIT_DIR_NORTHEAST:
+ strcpy(direction, msg_fd(fd, 1108)); // North East
+ break;
+ case 9: // is this actually used? [skyleo]
+ strcpy(direction, msg_fd(fd, 1109)); // North
+ break;
+ default:
+ strcpy(direction, msg_fd(fd, 1110)); // Unknown
+ break;
}
if(strcmp(nd->name,nd->exname) == 0)
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1111), // NPC %d: %s | Direction: %s | Sprite: %d | Location: %d %d
@@ -4158,12 +4257,19 @@ ACMD(mount_peco)
return true;
}
if ((sd->job & MAPID_THIRDMASK) == MAPID_MECHANIC) {
+ int mtype = MADO_ROBOT;
+ if (!*message)
+ sscanf(message, "%d", &mtype);
+ if (mtype < MADO_ROBOT || mtype >= MADO_MAX) {
+ clif->message(fd, msg_fd(fd, 173)); // Please enter a valid madogear type.
+ return false;
+ }
if (!pc_ismadogear(sd)) {
clif->message(sd->fd,msg_fd(fd,1123)); // You have mounted your Mado Gear.
- pc->setmadogear(sd, true);
+ pc->setmadogear(sd, true, (enum mado_type)mtype);
} else {
clif->message(sd->fd,msg_fd(fd,1124)); // You have released your Mado Gear.
- pc->setmadogear(sd, false);
+ pc->setmadogear(sd, false, (enum mado_type)mtype);
}
return true;
}
@@ -4310,7 +4416,7 @@ ACMD(nuke)
return false;
}
- if ((pl_sd = map->nick2sd(atcmd_player_name)) != NULL) {
+ if ((pl_sd = map->nick2sd(atcmd_player_name, true)) != NULL) {
if (pc_get_group_level(sd) >= pc_get_group_level(pl_sd)) { // you can kill only lower or same GM level
skill->castend_nodamage_id(&pl_sd->bl, &pl_sd->bl, NPC_SELFDESTRUCTION, 99, timer->gettick(), 0);
clif->message(fd, msg_fd(fd,109)); // Player has been nuked!
@@ -4429,27 +4535,90 @@ ACMD(loadnpc)
return true;
}
+/**
+ * Unloads a specific NPC.
+ *
+ * @code{.herc}
+ * @unloadnpc <NPC_name> {<flag>}
+ * @endcode
+ *
+ **/
ACMD(unloadnpc)
{
- struct npc_data *nd;
- char NPCname[NAME_LENGTH+1];
+ char npc_name[NAME_LENGTH + 1] = {'\0'};
+ int flag = 1;
- memset(NPCname, '\0', sizeof(NPCname));
+ if (*message == '\0' || sscanf(message, "%24s %1d", npc_name, &flag) < 1) {
+ clif->message(fd, msg_fd(fd, 1133)); /// Please enter a NPC name (Usage: @unloadnpc <NPC_name> {<flag>}).
+ return false;
+ }
+
+ struct npc_data *nd = npc->name2id(npc_name);
+
+ if (nd == NULL) {
+ clif->message(fd, msg_fd(fd, 111)); /// This NPC doesn't exist.
+ return false;
+ }
+
+ npc->unload_duplicates(nd, (flag != 0));
+ npc->unload(nd, true, (flag != 0));
+ npc->read_event_script();
+ clif->message(fd, msg_fd(fd, 112)); /// Npc Disabled.
+ return true;
+}
+
+/**
+ * Unloads a script file and reloads it.
+ * Note: Be aware that some changes made by NPC are not reverted on unload. See doc/atcommands.txt for details.
+ *
+ * @code{.herc}
+ * @reloadnpc <path> {<flag>}
+ * @endcode
+ *
+ **/
+ACMD(reloadnpc)
+{
+ char format[20];
+
+ snprintf(format, sizeof(format), "%%%ds %%1d", MAX_DIR_PATH);
- if (!*message || sscanf(message, "%24[^\n]", NPCname) < 1) {
- clif->message(fd, msg_fd(fd,1133)); // Please enter a NPC name (usage: @npcoff <NPC_name>).
+ char file_path[MAX_DIR_PATH + 1] = {'\0'};
+ int flag = 1;
+
+ if (*message == '\0' || (sscanf(message, format, file_path, &flag) < 1)) {
+ clif->message(fd, msg_fd(fd, 1516)); /// Usage: @reloadnpc <path> {<flag>}
return false;
}
- if ((nd = npc->name2id(NPCname)) == NULL) {
- clif->message(fd, msg_fd(fd,111)); // This NPC doesn't exist.
+ if (!exists(file_path)) {
+ clif->message(fd, msg_fd(fd, 1387)); /// File not found.
return false;
}
- npc->unload_duplicates(nd);
- npc->unload(nd,true);
+ if (!is_file(file_path)) {
+ clif->message(fd, msg_fd(fd, 1518)); /// Not a file.
+ return false;
+ }
+
+ FILE *fp = fopen(file_path, "r");
+
+ if (fp == NULL) {
+ clif->message(fd, msg_fd(fd, 1519)); /// Can't open file.
+ return false;
+ }
+
+ fclose(fp);
+
+ if (!npc->unloadfile(file_path, (flag != 0))) {
+ clif->message(fd, msg_fd(fd, 1517)); /// Script could not be unloaded.
+ return false;
+ }
+
+ clif->message(fd, msg_fd(fd, 1386)); /// File unloaded. Be aware that...
+ npc->addsrcfile(file_path);
+ npc->parsesrcfile(file_path, true);
npc->read_event_script();
- clif->message(fd, msg_fd(fd,112)); // Npc Disabled.
+ clif->message(fd, msg_fd(fd, 262)); /// Script loaded.
return true;
}
@@ -4598,7 +4767,7 @@ ACMD(jail)
return false;
}
- if ((pl_sd = map->nick2sd(atcmd_player_name)) == NULL) {
+ if ((pl_sd = map->nick2sd(atcmd_player_name, true)) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -4650,7 +4819,7 @@ ACMD(unjail)
return false;
}
- if ((pl_sd = map->nick2sd(atcmd_player_name)) == NULL) {
+ if ((pl_sd = map->nick2sd(atcmd_player_name, true)) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -4729,7 +4898,7 @@ ACMD(jailfor)
return false;
}
- if ((pl_sd = map->nick2sd(atcmd_player_name)) == NULL) {
+ if ((pl_sd = map->nick2sd(atcmd_player_name, true)) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -5041,7 +5210,7 @@ ACMD(broadcast)
}
safesnprintf(atcmd_output, sizeof(atcmd_output), "%s: %s", sd->status.name, message);
- intif->broadcast(atcmd_output, (int)strlen(atcmd_output) + 1, BC_DEFAULT);
+ clif->broadcast(NULL, atcmd_output, (int)strlen(atcmd_output) + 1, BC_DEFAULT, ALL_CLIENT);
return true;
}
@@ -5260,7 +5429,7 @@ ACMD(follow)
return true;
}
- if ((pl_sd = map->nick2sd(message)) == NULL) {
+ if ((pl_sd = map->nick2sd(message, true)) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -5277,18 +5446,49 @@ 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 type = -1;
+
+ 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;
+ }
+ }
+
+ int count = 0, count_skipped = 0;
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);
+ if (sd->status.inventory[i].amount > 0) {
+ 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);
+
+ int amount = sd->status.inventory[i].amount;
+ if (pc->dropitem(sd, i, amount) != 0)
+ count += amount;
+ else
+ count_skipped += amount;
+ }
}
}
+
+ sprintf(atcmd_output, msg_fd(fd, 1502), count, count_skipped); // %d items are dropped (%d skipped)!
+ clif->message(fd, atcmd_output);
return true;
}
@@ -5400,7 +5600,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;
}
@@ -5485,7 +5685,7 @@ ACMD(useskill)
if (!strcmp(target,"self"))
pl_sd = sd; //quick keyword
- else if ((pl_sd = map->nick2sd(target)) == NULL) {
+ else if ((pl_sd = map->nick2sd(target, true)) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -5496,6 +5696,8 @@ ACMD(useskill)
return false;
}
+ pc->autocast_clear(sd);
+
if (skill_id >= HM_SKILLBASE && skill_id < HM_SKILLBASE+MAX_HOMUNSKILL
&& sd->hd && homun_alive(sd->hd)) // (If used with @useskill, put the homunc as dest)
bl = &sd->hd->bl;
@@ -5553,7 +5755,7 @@ ACMD(skilltree)
return false;
}
- if ( (pl_sd = map->nick2sd(target)) == NULL ) {
+ if ( (pl_sd = map->nick2sd(target, true)) == NULL ) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -5599,9 +5801,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);
@@ -5623,7 +5825,7 @@ ACMD(marry)
return false;
}
- if ((pl_sd = map->nick2sd(player_name)) == NULL) {
+ if ((pl_sd = map->nick2sd(player_name, true)) == NULL) {
clif->message(fd, msg_fd(fd,3));
return false;
}
@@ -5753,7 +5955,7 @@ ACMD(changegm)
return false;
}
- if ((pl_sd=map->nick2sd(message)) == NULL || pl_sd->status.guild_id != sd->status.guild_id) {
+ if ((pl_sd=map->nick2sd(message, true)) == NULL || pl_sd->status.guild_id != sd->status.guild_id) {
clif->message(fd, msg_fd(fd,1184)); // Target character must be online and be a guild member.
return false;
}
@@ -5774,7 +5976,7 @@ ACMD(changeleader)
return false;
}
- if (party->changeleader(sd, map->nick2sd(message)))
+ if (party->changeleader(sd, map->nick2sd(message, true)))
return true;
return false;
}
@@ -6238,7 +6440,7 @@ ACMD(mobsearch)
}
if (mob_id == atoi(mob_name)) {
strcpy(mob_name,mob->db(mob_id)->jname); // DEFAULT_MOB_JNAME
- //strcpy(mob_name,mob_db(mob_id)->name); // DEFAULT_MOB_NAME
+ //strcpy(mob_name,mob->db(mob_id)->name); // DEFAULT_MOB_NAME
}
snprintf(atcmd_output, sizeof atcmd_output, msg_fd(fd,1220), mob_name, mapindex_id2name(sd->mapindex)); // Mob Search... %s %s
@@ -6459,47 +6661,52 @@ ACMD(reset)
/*==========================================
*
*------------------------------------------*/
+
+/**
+ * Spawns mobs which treats the invoking as its master.
+ *
+ * @code{.herc}
+ * @summon <monster name/ID> {<duration>}
+ * @endcode
+ *
+ **/
ACMD(summon)
{
- char name[NAME_LENGTH];
- int mob_id = 0;
+ char name[NAME_LENGTH + 1] = {'\0'};
int duration = 0;
- struct mob_data *md;
- int64 tick=timer->gettick();
- if (!*message || sscanf(message, "%23s %12d", name, &duration) < 1)
- {
- clif->message(fd, msg_fd(fd,1225)); // Please enter a monster name (usage: @summon <monster name> {duration}).
+ if (*message == '\0' || sscanf(message, "%24s %12d", name, &duration) < 1) {
+ clif->message(fd, msg_fd(fd, 1225)); /// Please enter a monster name (usage: @summon <monster name> {duration}).
return false;
}
- if (duration < 1)
- duration =1;
- else if (duration > 60)
- duration =60;
+ int mob_id = atoi(name);
- if ((mob_id = atoi(name)) == 0)
+ if (mob_id == 0)
mob_id = mob->db_searchname(name);
- if(mob_id == 0 || mob->db_checkid(mob_id) == 0)
- {
- clif->message(fd, msg_fd(fd,40)); // Invalid monster ID or name.
+
+ if (mob_id == 0 || mob->db_checkid(mob_id) == 0) {
+ clif->message(fd, msg_fd(fd, 40)); /// Invalid monster ID or name.
return false;
}
- md = mob->once_spawn_sub(&sd->bl, sd->bl.m, -1, -1, DEFAULT_MOB_JNAME, mob_id, "", SZ_SMALL, AI_NONE);
+ struct mob_data *md = mob->once_spawn_sub(&sd->bl, sd->bl.m, -1, -1, DEFAULT_MOB_JNAME, mob_id, "",
+ SZ_SMALL, AI_NONE, 0);
- if(!md)
+ if (md == NULL)
return false;
md->master_id = sd->bl.id;
md->special_state.ai = AI_ATTACK;
- md->deletetimer = timer->add(tick+(duration*60000),mob->timer_delete,md->bl.id,0);
- clif->specialeffect(&md->bl,344,AREA);
- mob->spawn(md);
- sc_start4(NULL,&md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000);
- clif->skill_poseffect(&sd->bl,AM_CALLHOMUN,1,md->bl.x,md->bl.y,tick);
- clif->message(fd, msg_fd(fd,39)); // All monster summoned!
+ const int64 tick = timer->gettick();
+
+ md->deletetimer = timer->add(tick + (int64)cap_value(duration, 1, 60) * 60000, mob->timer_delete, md->bl.id, 0);
+ clif->specialeffect(&md->bl, 344, AREA);
+ mob->spawn(md);
+ sc_start4(NULL, &md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000);
+ clif->skill_poseffect(&sd->bl, AM_CALLHOMUN, 1, md->bl.x, md->bl.y, tick);
+ clif->message(fd, msg_fd(fd, 39)); /// All monster summoned!
return true;
}
@@ -6540,7 +6747,7 @@ ACMD(trade)
return false;
}
- if ((pl_sd = map->nick2sd(message)) == NULL) {
+ if ((pl_sd = map->nick2sd(message, true)) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -6584,7 +6791,7 @@ ACMD(unmute)
return false;
}
- if ((pl_sd = map->nick2sd(message)) == NULL) {
+ if ((pl_sd = map->nick2sd(message, true)) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -6639,6 +6846,18 @@ ACMD(changesex)
return true;
}
+ACMD(changecharsex)
+{
+ int i;
+
+ pc->resetskill(sd, PCRESETSKILL_CHSEX);
+ // to avoid any problem with equipment and invalid sex, equipment is unequipped.
+ for (i=0; i<EQI_MAX; i++)
+ if (sd->equip_index[i] >= 0) pc->unequipitem(sd, sd->equip_index[i], PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
+ chrif->changesex(sd, false);
+ return true;
+}
+
/*================================================
* @mute - Mutes a player for a set amount of time
*------------------------------------------------*/
@@ -6652,7 +6871,7 @@ ACMD(mute)
return false;
}
- if ((pl_sd = map->nick2sd(atcmd_player_name)) == NULL) {
+ if ((pl_sd = map->nick2sd(atcmd_player_name, true)) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -6684,6 +6903,9 @@ ACMD(mute)
*------------------------------------------*/
ACMD(refresh)
{
+ if (sd->npc_id > 0)
+ return false;
+
clif->refresh(sd);
return true;
}
@@ -6695,29 +6917,41 @@ ACMD(refreshall)
iter = mapit_getallusers();
for (iter_sd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); iter_sd = BL_UCAST(BL_PC, mapit->next(iter)))
- clif->refresh(iter_sd);
+ if (iter_sd->npc_id <= 0)
+ clif->refresh(iter_sd);
mapit->free(iter);
return true;
}
/*==========================================
- * @identify
+ * @identify / @identifyall
* => GM's magnifier.
*------------------------------------------*/
ACMD(identify)
{
int num = 0;
+ bool identifyall = (strcmpi(info->command, "identifyall") == 0);
- for (int i = 0; i < sd->status.inventorySize; i++) {
- if(sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify!=1){
- num++;
+ if (!identifyall) {
+ for (int i = 0; i < sd->status.inventorySize; i++) {
+ if (sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify != 1) {
+ num++;
+ }
}
- }
- if (num > 0) {
- clif->item_identify_list(sd);
} else {
- clif->message(fd,msg_fd(fd,1238)); // There are no items to appraise.
+ for (int i = 0; i < sd->status.inventorySize; i++) {
+ if (sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify != 1) {
+ skill->identify(sd, i);
+ num++;
+ }
+ }
}
+
+ if (num == 0)
+ clif->message(fd,msg_fd(fd,1238)); // There are no items to appraise.
+ else if (!identifyall)
+ clif->item_identify_list(sd);
+
return true;
}
@@ -6934,7 +7168,7 @@ ACMD(showmobs)
if (mob_id == atoi(mob_name)) {
strcpy(mob_name,mob->db(mob_id)->jname); // DEFAULT_MOB_JNAME
- //strcpy(mob_name,mob_db(mob_id)->name); // DEFAULT_MOB_NAME
+ //strcpy(mob_name,mob->db(mob_id)->name); // DEFAULT_MOB_NAME
}
snprintf(atcmd_output, sizeof atcmd_output, msg_fd(fd,1252), // Mob Search... %s %s
@@ -7315,7 +7549,7 @@ ACMD(iteminfo)
return false;
}
if ((item_array[0] = itemdb->exists(atoi(message))) == NULL)
- count = itemdb->search_name_array(item_array, MAX_SEARCH, message, 0);
+ count = itemdb->search_name_array(item_array, MAX_SEARCH, message, IT_SEARCH_NAME_PARTIAL);
if (!count) {
clif->message(fd, msg_fd(fd,19)); // Invalid item ID or name.
@@ -7366,7 +7600,7 @@ ACMD(whodrops)
return false;
}
if ((item_array[0] = itemdb->exists(atoi(message))) == NULL)
- count = itemdb->search_name_array(item_array, MAX_SEARCH, message, 0);
+ count = itemdb->search_name_array(item_array, MAX_SEARCH, message, IT_SEARCH_NAME_PARTIAL);
if (!count) {
clif->message(fd, msg_fd(fd,19)); // Invalid item ID or name.
@@ -7658,39 +7892,61 @@ ACMD(monsterignore)
return true;
}
-/*==========================================
- * @fakename
- * => Gives your character a fake name. [Valaris]
- *------------------------------------------*/
+
+/**
+ * Temporarily changes the character's name to the specified string.
+ *
+ * @code{.herc}
+ * @fakename {<options>} {<fake_name>}
+ * @endcode
+ *
+ **/
ACMD(fakename)
{
- if (!*message)
- {
- if (sd->fakename[0])
- {
+ if (*message == '\0') {
+ if (sd->fakename[0] != '\0') {
sd->fakename[0] = '\0';
- clif->charnameack(0, &sd->bl);
- if( sd->disguise )
- clif->charnameack(sd->fd, &sd->bl);
- clif->message(sd->fd, msg_fd(fd,1307)); // Returned to real name.
+ sd->fakename_options = FAKENAME_OPTION_NONE;
+ clif->blname_ack(0, &sd->bl);
+
+ if (sd->disguise != 0) // Another packet should be sent so the client updates the name for sd.
+ clif->blname_ack(sd->fd, &sd->bl);
+
+ clif->message(sd->fd, msg_fd(fd, 1307)); // Returned to real name.
return true;
}
- clif->message(sd->fd, msg_fd(fd,1308)); // You must enter a name.
+ clif->message(sd->fd, msg_fd(fd, 1308)); // You must enter a name.
return false;
}
- if (strlen(message) < 2)
- {
- clif->message(sd->fd, msg_fd(fd,1309)); // Fake name must be at least two characters.
+ int options = FAKENAME_OPTION_NONE;
+ char buf[NAME_LENGTH] = {'\0'};
+ const char *fake_name = NULL;
+
+ if (sscanf(message, "%d %23[^\n]", &options, buf) == 2) {
+ fake_name = buf;
+ } else {
+ options = FAKENAME_OPTION_NONE;
+ fake_name = message;
+ }
+
+ if (strlen(fake_name) < 2) {
+ clif->message(sd->fd, msg_fd(fd, 1309)); // Fake name must be at least two characters.
return false;
}
- safestrncpy(sd->fakename, message, sizeof(sd->fakename));
- clif->charnameack(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->message(sd->fd, msg_fd(fd,1310)); // Fake name enabled.
+ if (options < FAKENAME_OPTION_NONE)
+ options = FAKENAME_OPTION_NONE;
+
+ safestrncpy(sd->fakename, fake_name, sizeof(sd->fakename));
+ sd->fakename_options = options;
+ clif->blname_ack(0, &sd->bl);
+
+ if (sd->disguise != 0) // Another packet should be sent so the client updates the name for sd.
+ clif->blname_ack(sd->fd, &sd->bl);
+
+ clif->message(sd->fd, msg_fd(fd, 1310)); // Fake name enabled.
return true;
}
@@ -7731,6 +7987,7 @@ ACMD(mapflag)
CHECKFLAG(nodrop); CHECKFLAG(novending); CHECKFLAG(loadevent);
CHECKFLAG(nochat); CHECKFLAG(partylock); CHECKFLAG(guildlock); CHECKFLAG(src4instance);
CHECKFLAG(notomb); CHECKFLAG(nocashshop); CHECKFLAG(noviewid); CHECKFLAG(town);
+ CHECKFLAG(nostorage); CHECKFLAG(nogstorage);
clif->message(sd->fd," ");
clif->message(sd->fd,msg_fd(fd,1312)); // Usage: "@mapflag monster_noteleport 1" (0=Off | 1=On)
clif->message(sd->fd,msg_fd(fd,1313)); // Type "@mapflag available" to list the available mapflags.
@@ -7772,7 +8029,7 @@ ACMD(mapflag)
SETFLAG(nomvploot); SETFLAG(nightenabled); SETFLAG(nodrop); SETFLAG(novending);
SETFLAG(loadevent); SETFLAG(nochat); SETFLAG(partylock); SETFLAG(guildlock);
SETFLAG(src4instance); SETFLAG(notomb); SETFLAG(nocashshop); SETFLAG(noviewid);
- SETFLAG(town);
+ SETFLAG(town); SETFLAG(nostorage); SETFLAG(nogstorage);
clif->message(sd->fd, msg_fd(fd, 1314)); // Invalid flag name or flag.
@@ -7785,7 +8042,7 @@ ACMD(mapflag)
clif->message(sd->fd, "nozenypenalty, notrade, noskill, nowarp, nowarpto, noicewall, snow, clouds, clouds2,");
clif->message(sd->fd, "fog, fireworks, sakura, leaves, nobaseexp, nojobexp, nomobloot,");
clif->message(sd->fd, "nomvploot, nightenabled, nodrop, novending, loadevent, nochat, partylock,");
- clif->message(sd->fd, "guildlock, src4instance, notomb, nocashshop, noviewid");
+ clif->message(sd->fd, "guildlock, src4instance, notomb, nocashshop, noviewid, nostorage, nogstorage");
#undef CHECKFLAG
#undef SETFLAG
@@ -7846,7 +8103,7 @@ ACMD(showdelay)
ACMD(invite)
{
unsigned int did = sd->duel_group;
- struct map_session_data *target_sd = map->nick2sd(message);
+ struct map_session_data *target_sd = map->nick2sd(message, true);
if (did == 0)
{
@@ -7903,10 +8160,11 @@ ACMD(duel)
return false;
}
- if (!duel->checktime(sd)) {
+ int64 diff = duel->difftime(sd);
+ if (diff > 0) {
char output[CHAT_SIZE_MAX];
- // "Duel: You can take part in duel only one time per %d minutes."
- sprintf(output, msg_fd(fd,356), battle_config.duel_time_interval);
+ // "Duel: You can take part in duel again after %d secconds."
+ sprintf(output, msg_fd(fd,356), (int)diff);
clif->message(fd, output);
return false;
}
@@ -7919,7 +8177,7 @@ ACMD(duel)
}
duel->create(sd, maxpl);
} else {
- struct map_session_data *target_sd = map->nick2sd(message);
+ struct map_session_data *target_sd = map->nick2sd(message, true);
if (target_sd != NULL) {
unsigned int newduel;
if ((newduel = duel->create(sd, 2)) != -1) {
@@ -7956,10 +8214,11 @@ ACMD(leave)
ACMD(accept)
{
- if (!duel->checktime(sd)) {
+ int64 diff = duel->difftime(sd);
+ if (diff > 0) {
char output[CHAT_SIZE_MAX];
- // "Duel: You can take part in duel only one time per %d minutes."
- sprintf(output, msg_fd(fd,356), battle_config.duel_time_interval);
+ // "Duel: You can take part in duel again after %d seconds."
+ sprintf(output, msg_fd(fd,356), (int)diff);
clif->message(fd, output);
return false;
}
@@ -8064,7 +8323,7 @@ ACMD(clone)
return false;
}
- if ((pl_sd=map->nick2sd(message)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
+ if ((pl_sd=map->nick2sd(message, true)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
clif->message(fd, msg_fd(fd,3)); // Character not found.
return false;
}
@@ -8138,7 +8397,7 @@ ACMD(request)
}
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,278), message); // (@request): %s
- intif->wis_message_to_gm(sd->status.name, PC_PERM_RECEIVE_REQUESTS, atcmd_output);
+ pc->wis_message_to_gm(sd->status.name, PC_PERM_RECEIVE_REQUESTS, atcmd_output);
clif_disp_onlyself(sd, atcmd_output);
clif->message(sd->fd,msg_fd(fd,279)); // @request sent.
return true;
@@ -8155,6 +8414,15 @@ ACMD(feelreset)
return true;
}
+// Reset hatred targets [Wolfie]
+ACMD(hatereset)
+{
+ pc->resethate(sd);
+ clif->message(fd, msg_fd(fd, 979)); // Reset 'Hatred' targets.
+
+ return true;
+}
+
/*==========================================
* AUCTION SYSTEM
*------------------------------------------*/
@@ -8853,19 +9121,54 @@ ACMD(addperm)
return true;
}
+/**
+ * Unloads a script file.
+ * Note: Be aware that some changes made by NPC are not reverted on unload. See doc/atcommands.txt for details.
+ *
+ * @code{.herc}
+ * @unloadnpcfile <path> {<flag>}
+ * @endcode
+ *
+ **/
ACMD(unloadnpcfile)
{
- if (!*message) {
- clif->message(fd, msg_fd(fd,1385)); // Usage: @unloadnpcfile <file name>
+ char format[20];
+
+ snprintf(format, sizeof(format), "%%%ds %%1d", MAX_DIR_PATH);
+
+ char file_path[MAX_DIR_PATH + 1] = {'\0'};
+ int flag = 1;
+
+ if (*message == '\0' || (sscanf(message, format, file_path, &flag) < 1)) {
+ clif->message(fd, msg_fd(fd, 1385)); /// Usage: @unloadnpcfile <path> {<flag>}
return false;
}
- if (npc->unloadfile(message)) {
- clif->message(fd, msg_fd(fd,1386)); // File unloaded. Be aware that mapflags and monsters spawned directly are not removed.
- } else {
- clif->message(fd, msg_fd(fd,1387)); // File not found.
+ if (!exists(file_path)) {
+ clif->message(fd, msg_fd(fd, 1387)); /// File not found.
+ return false;
+ }
+
+ if (!is_file(file_path)) {
+ clif->message(fd, msg_fd(fd, 1518)); /// Not a file.
return false;
}
+
+ FILE *fp = fopen(file_path, "r");
+
+ if (fp == NULL) {
+ clif->message(fd, msg_fd(fd, 1519)); /// Can't open file.
+ return false;
+ }
+
+ fclose(fp);
+
+ if (!npc->unloadfile(file_path, (flag != 0))) {
+ clif->message(fd, msg_fd(fd, 1517)); /// Script could not be unloaded.
+ return false;
+ }
+
+ clif->message(fd, msg_fd(fd, 1386)); /// File unloaded. Be aware that...
return true;
}
@@ -9182,7 +9485,7 @@ ACMD(channel)
return false;
}
- if (sub4[0] == '\0' || (pl_sd = map->nick2sd(sub4)) == NULL) {
+ if (sub4[0] == '\0' || (pl_sd = map->nick2sd(sub4, true)) == NULL) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1434), sub4);// Player '%s' was not found
clif->message(fd, atcmd_output);
return false;
@@ -9229,7 +9532,7 @@ ACMD(channel)
clif->message(fd, atcmd_output);
return false;
}
- if (sub4[0] == '\0' || (pl_sd = map->nick2sd(sub4)) == NULL) {
+ if (sub4[0] == '\0' || (pl_sd = map->nick2sd(sub4, true)) == NULL) {
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1434), sub4);// Player '%s' was not found
clif->message(fd, atcmd_output);
return false;
@@ -9803,6 +10106,22 @@ ACMD(camerainfo)
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
**/
@@ -9972,10 +10291,12 @@ static void atcommand_basecommands(void)
ACMD_DEF(clearweather),
ACMD_DEF(uptime),
ACMD_DEF(changesex),
+ ACMD_DEF(changecharsex),
ACMD_DEF(mute),
ACMD_DEF(refresh),
ACMD_DEF(refreshall),
ACMD_DEF(identify),
+ ACMD_DEF2("identifyall", identify),
ACMD_DEF(misceffect),
ACMD_DEF(mobsearch),
ACMD_DEF(cleanmap),
@@ -10038,6 +10359,7 @@ static void atcommand_basecommands(void)
ACMD_DEF(homshuffle),
ACMD_DEF(showmobs),
ACMD_DEF(feelreset),
+ ACMD_DEF(hatereset),
ACMD_DEF(auction),
ACMD_DEF(mail),
ACMD_DEF2("noks", ksprotection),
@@ -10065,6 +10387,7 @@ static void atcommand_basecommands(void)
ACMD_DEF(addperm),
ACMD_DEF2("rmvperm", addperm),
ACMD_DEF(unloadnpcfile),
+ ACMD_DEF(reloadnpc),
ACMD_DEF(cart),
ACMD_DEF(cashmount),
ACMD_DEF(join),
@@ -10086,6 +10409,7 @@ static void atcommand_basecommands(void)
ACMD_DEF(reloadclans),
ACMD_DEF(setzone),
ACMD_DEF(camerainfo),
+ ACMD_DEF(refineryui),
};
int i;
@@ -10304,7 +10628,7 @@ static bool atcommand_exec(const int fd, struct map_session_data *sd, const char
return true;
}
- ssd = map->nick2sd(charname);
+ ssd = map->nick2sd(charname, true);
if (ssd == NULL) {
sprintf(output, msg_fd(fd,1389), command); // %s failed. Player not found.
clif->message(fd, output);
@@ -10716,6 +11040,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..f3a5155ab 100644
--- a/src/map/atcommand.h
+++ b/src/map/atcommand.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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 1520
#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))
@@ -52,6 +54,16 @@ typedef enum {
COMMAND_CHARCOMMAND = 2,
} AtCommandType;
+/** @fakename display option flags **/
+enum fakename_option_flag {
+ FAKENAME_OPTION_NONE = 0x00,
+ FAKENAME_OPTION_SHOW_PARTYNAME = 0x01,
+ FAKENAME_OPTION_SHOW_GUILDNAME = 0x02,
+ FAKENAME_OPTION_SHOW_GUILDPOSITION = 0x04,
+ FAKENAME_OPTION_SHOW_CLANPOSITION = 0x08,
+ FAKENAME_OPTION_SHOW_TITLE = 0x10
+};
+
/**
* Typedef
**/
@@ -90,6 +102,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 6fa46a7c7..40c645cf7 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -3231,12 +3231,11 @@ static int64 battle_calc_damage(struct block_list *src, struct block_list *bl, s
if (!damage) return 0;
if( (sce = sc->data[SC_LIGHTNINGWALK]) && flag&BF_LONG && rnd()%100 < sce->val1 ) {
- int dx[8]={0,-1,-1,-1,0,1,1,1};
- int dy[8]={1,1,0,-1,-1,-1,0,1};
- uint8 dir = map->calc_dir(bl, src->x, src->y);
- if( unit->movepos(bl, src->x-dx[dir], src->y-dy[dir], 1, 1) ) {
- clif->slide(bl,src->x-dx[dir],src->y-dy[dir]);
- unit->setdir(bl, dir);
+ enum unit_dir dir = map->calc_dir(bl, src->x, src->y);
+ Assert_ret(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
+ if (unit->movepos(bl, src->x - dirx[dir], src->y - diry[dir], 1, 1)) {
+ clif->slide(bl, src->x - dirx[dir], src->y - diry[dir]);
+ unit->set_dir(bl, dir);
}
d->dmg_lv = ATK_DEF;
status_change_end(bl, SC_LIGHTNINGWALK, INVALID_TIMER);
@@ -3467,11 +3466,6 @@ static int64 battle_calc_gvg_damage(struct block_list *src, struct block_list *b
case NC_SELFDESTRUCTION:
break;
default:
- /* Uncomment if you want god-mode Emperiums at 100 defense. [Kisuka]
- if (md && md->guardian_data) {
- damage -= damage * (md->guardian_data->castle->defense/100) * battle_config.castle_defense_rate/100;
- }
- */
break;
}
return damage;
@@ -4343,7 +4337,7 @@ static struct Damage battle_calc_misc_attack(struct block_list *src, struct bloc
}
break;
}
-
+
battle->reflect_trap(target, src, &md, skill_id);
return md;
@@ -4666,13 +4660,17 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
{
short cri = sstatus->cri;
if (sd != NULL) {
+ // Racial crit bonuses are affected by katar's crit bonus.
+ if (battle_config.show_katar_crit_bonus && sd->weapontype == W_KATAR)
+ cri += sd->critaddrace[tstatus->race] * 2;
+ else
+ cri += sd->critaddrace[tstatus->race];
+
// if show_katar_crit_bonus is enabled, it already done the calculation in status.c
if (!battle_config.show_katar_crit_bonus && sd->weapontype == W_KATAR) {
cri <<= 1;
}
- cri+= sd->critaddrace[tstatus->race];
-
if (flag.arrow) {
cri += sd->bonus.arrow_cri;
}
@@ -4978,6 +4976,7 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
switch (sd->weapontype) {
case W_BOW:
case W_REVOLVER:
+ case W_RIFLE:
case W_GATLING:
case W_SHOTGUN:
case W_GRENADE:
@@ -5858,10 +5857,10 @@ static void battle_reflect_damage(struct block_list *target, struct block_list *
if( wd->flag & BF_SHORT ) {
if( !is_boss(src) ) {
if( sc->data[SC_DEATHBOUND] && skill_id != WS_CARTTERMINATION ) {
- uint8 dir = map->calc_dir(target,src->x,src->y),
- t_dir = unit->getdir(target);
+ enum unit_dir dir = map->calc_dir(target, src->x, src->y);
+ enum unit_dir t_dir = unit->getdir(target);
- if( !map->check_dir(dir,t_dir) ) {
+ if (map->check_dir(dir, t_dir) == 0) {
int64 rd1 = damage * sc->data[SC_DEATHBOUND]->val2 / 100; // Amplify damage.
trdamage += rdamage = rd1 - (damage = rd1 * 30 / 100); // not normalized as intended.
@@ -5929,21 +5928,21 @@ static void battle_reflect_damage(struct block_list *target, struct block_list *
delay += 100;/* gradual increase so the numbers don't clip in the client */
}
if( sc->data[SC_LG_REFLECTDAMAGE] && rnd()%100 < (30 + 10*sc->data[SC_LG_REFLECTDAMAGE]->val1) ) {
- bool change = false;
-
NORMALIZE_RDAMAGE(damage * sc->data[SC_LG_REFLECTDAMAGE]->val2 / 100);
trdamage -= rdamage;/* wont count towards total */
- if( sd && !sd->state.autocast ) {
- change = true;
- sd->state.autocast = 1;
+ enum autocast_type ac_type;
+
+ if (sd != NULL) {
+ ac_type = sd->autocast.type;
+ sd->autocast.type = AUTOCAST_TEMP;
}
map->foreachinshootrange(battle->damage_area,target,skill->get_splash(LG_REFLECTDAMAGE,1),BL_CHAR,tick,target,delay,wd->dmotion,rdamage,status_get_race(target));
- if( change )
- sd->state.autocast = 0;
+ if (sd != NULL)
+ sd->autocast.type = ac_type;
delay += 150;/* gradual increase so the numbers don't clip in the client */
@@ -6133,7 +6132,7 @@ static int battle_damage_area(struct block_list *bl, va_list ap)
else
status_fix_damage(src,bl,damage,0);
clif->damage(bl,bl,amotion,dmotion,damage,1,BDT_ENDURE,0);
- if (src->type != BL_PC || !BL_UCCAST(BL_PC, src)->state.autocast)
+ if (src->type != BL_PC || BL_UCCAST(BL_PC, src)->autocast.type != AUTOCAST_TEMP)
skill->additional_effect(src, bl, CR_REFLECTSHIELD, 1, BF_WEAPON|BF_SHORT|BF_NORMAL,ATK_DEF,tick);
map->freeblock_unlock();
}
@@ -6229,10 +6228,10 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_
status_change_end(src, SC_CLOAKINGEXCEED, INVALID_TIMER);
}
if( tsc && tsc->data[SC_AUTOCOUNTER] && status->check_skilluse(target, src, KN_AUTOCOUNTER, 1) ) {
- uint8 dir = map->calc_dir(target,src->x,src->y);
- int t_dir = unit->getdir(target);
+ enum unit_dir dir = map->calc_dir(target, src->x, src->y);
+ enum unit_dir t_dir = unit->getdir(target);
int dist = distance_bl(src, target);
- if(dist <= 0 || (!map->check_dir(dir,t_dir) && dist <= tstatus->rhw.range+1)) {
+ if(dist <= 0 || (map->check_dir(dir, t_dir) == 0 && dist <= tstatus->rhw.range + 1)) {
uint16 skill_lv = tsc->data[SC_AUTOCOUNTER]->val1;
clif->skillcastcancel(target); //Remove the casting bar. [Skotlex]
clif->damage(src, target, sstatus->amotion, 1, 0, 1, BDT_NORMAL, 0); //Display MISS.
@@ -6321,6 +6320,18 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_
if (sd && sd->state.arrow_atk) //Consume arrow.
battle->consume_ammo(sd, 0, 0);
+ if (target->type == BL_MOB) {
+ struct mob_data *md = BL_CAST(BL_MOB, target);
+ if (md != NULL) {
+ if (md->db->dmg_taken_rate != 100) {
+ if (wd.damage > 0)
+ wd.damage = apply_percentrate64(wd.damage, md->db->dmg_taken_rate, 100);
+ if (wd.damage2 > 0)
+ wd.damage2 = apply_percentrate64(wd.damage2, md->db->dmg_taken_rate, 100);
+ }
+ }
+ }
+
damage = wd.damage + wd.damage2;
if( damage > 0 && src != target ) {
if( sc && sc->data[SC_DUPLELIGHT] && (wd.flag&BF_SHORT) && rnd()%100 <= 10+2*sc->data[SC_DUPLELIGHT]->val1 ){
@@ -6361,7 +6372,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)
) {
@@ -6445,12 +6456,12 @@ static enum damage_lv battle_weapon_attack(struct block_list *src, struct block_
}
}
- sd->state.autocast = 1;
+ sd->autocast.type = AUTOCAST_TEMP;
skill->consume_requirement(sd,r_skill,r_lv,3);
skill->castend_type(type, src, target, r_skill, r_lv, tick, flag);
- sd->state.autocast = 0;
+ sd->autocast.type = AUTOCAST_NONE;
sd->ud.canact_tick = tick + skill->delay_fix(src, r_skill, r_lv);
- clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, r_skill, r_lv), 0, 0, 1);
+ clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, r_skill, r_lv), 0, 0, 1);
}
}
@@ -6589,10 +6600,6 @@ static int battle_check_target(struct block_list *src, struct block_list *target
m = target->m;
- if (flag & BCT_ENEMY && (map->getcell(m, src, src->x, src->y, CELL_CHKBASILICA) || map->getcell(m, src, target->x, target->y, CELL_CHKBASILICA))) {
- return -1;
- }
-
//t_bl/s_bl hold the 'master' of the attack, while src/target are the actual
//objects involved.
if( (t_bl = battle->get_master(target)) == NULL )
@@ -6601,6 +6608,11 @@ static int battle_check_target(struct block_list *src, struct block_list *target
if( (s_bl = battle->get_master(src)) == NULL )
s_bl = src;
+ if ((flag & BCT_ENEMY) != 0 && (status_get_mode(s_bl) & MD_BOSS) == 0 && (map->getcell(m, src, src->x, src->y, CELL_CHKBASILICA) != 0
+ || map->getcell(m, src, target->x, target->y, CELL_CHKBASILICA) != 0)) {
+ return -1;
+ }
+
if (s_bl->type == BL_PC) {
const struct map_session_data *s_sd = BL_UCCAST(BL_PC, s_bl);
switch (t_bl->type) {
@@ -7004,7 +7016,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, },
@@ -7072,16 +7085,15 @@ static const struct battle_data {
{ "guild_emperium_check", &battle_config.guild_emperium_check, 1, 0, 1, },
{ "guild_exp_limit", &battle_config.guild_exp_limit, 50, 0, 99, },
{ "player_invincible_time", &battle_config.pc_invincible_time, 5000, 0, INT_MAX, },
+ { "pet_catch_rate_official_formula", &battle_config.pet_catch_rate_official_formula, 1, 0, 1, },
{ "pet_catch_rate", &battle_config.pet_catch_rate, 100, 0, INT_MAX, },
{ "pet_rename", &battle_config.pet_rename, 0, 0, 1, },
{ "pet_friendly_rate", &battle_config.pet_friendly_rate, 100, 0, INT_MAX, },
{ "pet_hungry_delay_rate", &battle_config.pet_hungry_delay_rate, 100, 10, INT_MAX, },
- { "pet_hungry_friendly_decrease", &battle_config.pet_hungry_friendly_decrease, 5, 0, INT_MAX, },
{ "pet_status_support", &battle_config.pet_status_support, 0, 0, 1, },
{ "pet_attack_support", &battle_config.pet_attack_support, 0, 0, 1, },
{ "pet_damage_support", &battle_config.pet_damage_support, 0, 0, 1, },
{ "pet_support_min_friendly", &battle_config.pet_support_min_friendly, 900, 0, 950, },
- { "pet_equip_min_friendly", &battle_config.pet_equip_min_friendly, 900, 0, 950, },
{ "pet_support_rate", &battle_config.pet_support_rate, 100, 0, INT_MAX, },
{ "pet_attack_exp_to_master", &battle_config.pet_attack_exp_to_master, 0, 0, 1, },
{ "pet_attack_exp_rate", &battle_config.pet_attack_exp_rate, 100, 0, INT_MAX, },
@@ -7175,7 +7187,6 @@ static const struct battle_data {
{ "skill_removetrap_type", &battle_config.skill_removetrap_type, 0, 0, 1, },
{ "disp_experience", &battle_config.disp_experience, 0, 0, 1, },
{ "disp_zeny", &battle_config.disp_zeny, 0, 0, 1, },
- { "castle_defense_rate", &battle_config.castle_defense_rate, 100, 0, 100, },
{ "bone_drop", &battle_config.bone_drop, 0, 0, 2, },
{ "buyer_name", &battle_config.buyer_name, 1, 0, 1, },
{ "skill_wall_check", &battle_config.skill_wall_check, 1, 0, 1, },
@@ -7308,6 +7319,7 @@ static const struct battle_data {
{ "mob_remove_delay", &battle_config.mob_remove_delay, 60000, 1000, INT_MAX, },
{ "mob_active_time", &battle_config.mob_active_time, 0, 0, INT_MAX, },
{ "boss_active_time", &battle_config.boss_active_time, 0, 0, INT_MAX, },
+ { "slave_chase_masters_chasetarget", &battle_config.slave_chase_masters_chasetarget, 1, 0, 1, },
{ "sg_miracle_skill_duration", &battle_config.sg_miracle_skill_duration, 3600000, 0, INT_MAX, },
{ "hvan_explosion_intimate", &battle_config.hvan_explosion_intimate, 45000, 0, 100000, },
{ "quest_exp_rate", &battle_config.quest_exp_rate, 100, 0, INT_MAX, },
@@ -7413,6 +7425,30 @@ static const struct battle_data {
{ "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, },
+ { "autoloot_adjust", &battle_config.autoloot_adjust, 0, 0, 1, },
+ { "hom_bonus_exp_from_master", &battle_config.hom_bonus_exp_from_master, 10, 0, 100, },
};
static bool battle_set_value_sub(int index, int value)
@@ -7538,6 +7574,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");
@@ -7567,6 +7615,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];
diff --git a/src/map/battle.h b/src/map/battle.h
index d2fd92450..bb907d5b9 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -103,8 +103,8 @@ enum e_battle_check_target { //New definitions [Skotlex]
enum battle_dmg_type {
BDT_NORMAL = 0, // Normal attack
//BDT_PICKUP = 1, // Pick up item
- //BDT_SITDOWN = 2, // Sit down
- //BDT_STANDUP = 3, // Stand up
+ BDT_SITDOWN = 2, // Sit down
+ BDT_STANDUP = 3, // Stand up
BDT_ENDURE = 4, // Damage (endure)
BDT_SPLASH = 5, // Splash
BDT_SKILL = 6, // Skill
@@ -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]
@@ -211,16 +212,15 @@ struct Battle_Config {
int guild_aura;
int pc_invincible_time;
+ int pet_catch_rate_official_formula;
int pet_catch_rate;
int pet_rename;
int pet_friendly_rate;
int pet_hungry_delay_rate;
- int pet_hungry_friendly_decrease;
int pet_status_support;
int pet_attack_support;
int pet_damage_support;
int pet_support_min_friendly; //[Skotlex]
- int pet_equip_min_friendly;
int pet_support_rate;
int pet_attack_exp_to_master;
int pet_attack_exp_rate;
@@ -341,7 +341,6 @@ struct Battle_Config {
int skill_removetrap_type;
int disp_experience;
int disp_zeny;
- int castle_defense_rate;
int backstab_bow_penalty;
int hp_rate;
int sp_rate;
@@ -404,6 +403,7 @@ struct Battle_Config {
int mob_remove_delay; // Dynamic Mobs - delay before removing mobs from a map [Skotlex]
int mob_active_time; //Duration through which mobs execute their Hard AI after players leave their area of sight.
int boss_active_time;
+ int slave_chase_masters_chasetarget;
int show_hp_sp_drain, show_hp_sp_gain; //[Skotlex]
int show_katar_crit_bonus;
@@ -477,6 +477,7 @@ struct Battle_Config {
int client_emblem_max_blank_percent;
int hom_max_level;
int hom_S_max_level;
+ int hom_bonus_exp_from_master;
// [BattleGround Settings]
int bg_update_interval;
@@ -576,6 +577,36 @@ struct Battle_Config {
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;
+
+ int autoloot_adjust;
};
/* criteria for battle_config.idletime_critera */
diff --git a/src/map/battleground.c b/src/map/battleground.c
index c2772a2b9..7a9d54266 100644
--- a/src/map/battleground.c
+++ b/src/map/battleground.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -169,13 +169,13 @@ static int bg_team_leave(struct map_session_data *sd, enum bg_team_leave_type fl
switch (flag) {
default:
case BGTL_QUIT:
- sprintf(output, "Server : %s has quit the game...", sd->status.name);
+ sprintf(output, msg_txt(464), sd->status.name); // Server : %s has quit the game...
break;
case BGTL_LEFT:
- sprintf(output, "Server : %s is leaving the battlefield...", sd->status.name);
+ sprintf(output, msg_txt(454), sd->status.name); // Server : %s is leaving the battlefield...
break;
case BGTL_AFK:
- sprintf(output, "Server : %s has been afk-kicked from the battlefield...", sd->status.name);
+ sprintf(output, msg_txt(455), sd->status.name); // Server : %s has been afk-kicked from the battlefield...
break;
}
clif->bg_message(bgd, 0, "Server", output);
@@ -860,9 +860,9 @@ static enum BATTLEGROUNDS_QUEUE_ACK bg_canqueue(struct map_session_data *sd, str
if ( ( tick = pc_readglobalreg(sd, script->add_variable(bg->gdelay_var)) ) && tsec < tick ) {
char response[100];
if( (tick-tsec) > 60 )
- sprintf(response, "You are a deserter! Wait %u minute(s) before you can apply again", (tick - tsec) / 60);
+ sprintf(response, msg_sd(sd, 456), (tick - tsec) / 60); // You are a deserter! Wait %u minute(s) before you can apply again
else
- sprintf(response, "You are a deserter! Wait %u seconds before you can apply again", (tick - tsec));
+ sprintf(response, msg_sd(sd, 457), (tick - tsec)); // You are a deserter! Wait %u seconds before you can apply again
clif->messagecolor_self(sd->fd, COLOR_RED, response);
return BGQA_FAIL_DESERTER;
}
@@ -870,9 +870,9 @@ static enum BATTLEGROUNDS_QUEUE_ACK bg_canqueue(struct map_session_data *sd, str
if ( ( tick = pc_readglobalreg(sd, script->add_variable(arena->delay_var)) ) && tsec < tick ) {
char response[100];
if( (tick-tsec) > 60 )
- sprintf(response, "You can't reapply to this arena so fast. Apply to the different arena or wait %u minute(s)", (tick - tsec) / 60);
+ sprintf(response, msg_sd(sd, 458), (tick - tsec) / 60); // You can't reapply to this arena so fast. Apply to the different arena or wait %u minute(s)
else
- sprintf(response, "You can't reapply to this arena so fast. Apply to the different arena or wait %u seconds", (tick - tsec));
+ sprintf(response, msg_sd(sd, 459), (tick - tsec)); // You can't reapply to this arena so fast. Apply to the different arena or wait %u seconds
clif->messagecolor_self(sd->fd, COLOR_RED, response);
return BGQA_FAIL_COOLDOWN;
}
@@ -894,9 +894,9 @@ static enum BATTLEGROUNDS_QUEUE_ACK bg_canqueue(struct map_session_data *sd, str
if ( count < arena->min_team_players ) {
char response[121];
if( count != sd->guild->connect_member && sd->guild->connect_member >= arena->min_team_players )
- sprintf(response, "Can't apply: not enough members in your team/guild that have not entered the queue in individual mode, minimum is %d", arena->min_team_players);
+ sprintf(response, msg_sd(sd, 460), arena->min_team_players); // Can't apply: not enough members in your team/guild that have not entered the queue in individual mode, minimum is %d
else
- sprintf(response, "Can't apply: not enough members in your team/guild, minimum is %d", arena->min_team_players);
+ sprintf(response, msg_sd(sd, 461), arena->min_team_players); // Can't apply: not enough members in your team/guild, minimum is %d
clif->messagecolor_self(sd->fd, COLOR_RED, response);
return BGQA_FAIL_TEAM_COUNT;
}
@@ -926,9 +926,9 @@ static enum BATTLEGROUNDS_QUEUE_ACK bg_canqueue(struct map_session_data *sd, str
if( count < arena->min_team_players ) {
char response[121];
if( count != p->party.count && p->party.count >= arena->min_team_players )
- sprintf(response, "Can't apply: not enough members in your team/party that have not entered the queue in individual mode, minimum is %d", arena->min_team_players);
+ sprintf(response, msg_sd(sd, 462), arena->min_team_players); // Can't apply: not enough members in your team/party that have not entered the queue in individual mode, minimum is %d
else
- sprintf(response, "Can't apply: not enough members in your team/party, minimum is %d",arena->min_team_players);
+ sprintf(response, msg_sd(sd, 463), arena->min_team_players); // Can't apply: not enough members in your team/party, minimum is %d
clif->messagecolor_self(sd->fd, COLOR_RED, response);
return BGQA_FAIL_TEAM_COUNT;
}
diff --git a/src/map/battleground.h b/src/map/battleground.h
index 4f6e5507e..b567dddd4 100644
--- a/src/map/battleground.h
+++ b/src/map/battleground.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/buyingstore.c b/src/map/buyingstore.c
index df622e4ab..2c2fc13ae 100644
--- a/src/map/buyingstore.c
+++ b/src/map/buyingstore.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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/buyingstore.h b/src/map/buyingstore.h
index 63762f321..a35167fbc 100644
--- a/src/map/buyingstore.h
+++ b/src/map/buyingstore.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/channel.c b/src/map/channel.c
index e27e9fb0b..43e903fc9 100644
--- a/src/map/channel.c
+++ b/src/map/channel.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-2020 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
@@ -324,7 +324,7 @@ static void channel_join_sub(struct channel_data *chan, struct map_session_data
if (!stealth && (chan->options&HCS_OPT_ANNOUNCE_JOIN)) {
char message[60];
- sprintf(message, "#%s '%s' joined",chan->name,sd->status.name);
+ sprintf(message, msg_txt(897), chan->name, sd->status.name); // #%s '%s' joined
clif->channel_msg(chan,sd,message);
}
@@ -442,7 +442,7 @@ static void channel_leave(struct channel_data *chan, struct map_session_data *sd
channel->delete(chan);
} else if (!channel->config->closing && (chan->options & HCS_OPT_ANNOUNCE_JOIN)) {
char message[60];
- sprintf(message, "#%s '%s' left",chan->name,sd->status.name);
+ sprintf(message, msg_txt(898), chan->name, sd->status.name); // #%s '%s' left
clif->channel_msg(chan,sd,message);
}
diff --git a/src/map/channel.h b/src/map/channel.h
index c56227c66..8f91b0777 100644
--- a/src/map/channel.h
+++ b/src/map/channel.h
@@ -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-2020 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/src/map/chat.c b/src/map/chat.c
index d9b642219..097fbdca4 100644
--- a/src/map/chat.c
+++ b/src/map/chat.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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/chat.h b/src/map/chat.h
index 9bea51a82..6c571c62e 100644
--- a/src/map/chat.h
+++ b/src/map/chat.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/chrif.c b/src/map/chrif.c
index a3277d4c2..b131907e0 100644
--- a/src/map/chrif.c
+++ b/src/map/chrif.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -1226,6 +1226,7 @@ static bool chrif_save_scdata(struct map_session_data *sd)
} else {
data.tick = INFINITE_DURATION;
}
+ data.total_tick = sc->data[i]->total_tick;
data.type = i;
data.val1 = sc->data[i]->val1;
data.val2 = sc->data[i]->val2;
@@ -1273,8 +1274,8 @@ static bool chrif_load_scdata(int fd)
for (i = 0; i < count; i++) {
const struct status_change_data *data = RFIFOP(fd,14 + i*sizeof(struct status_change_data));
- status->change_start(NULL, &sd->bl, (sc_type)data->type, 10000, data->val1, data->val2, data->val3, data->val4,
- data->tick, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_LOADED|SCFLAG_FIXEDRATE);
+ status->change_start_sub(NULL, &sd->bl, (sc_type)data->type, 10000, data->val1, data->val2, data->val3, data->val4,
+ data->tick, data->total_tick, SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_LOADED|SCFLAG_FIXEDRATE);
}
pc->scdata_received(sd);
diff --git a/src/map/chrif.h b/src/map/chrif.h
index 78910d24b..e2e82c6cb 100644
--- a/src/map/chrif.h
+++ b/src/map/chrif.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/clan.c b/src/map/clan.c
index 3d5c70eb1..041ba1d6d 100644
--- a/src/map/clan.c
+++ b/src/map/clan.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2017 Hercules Dev Team
+ * Copyright (C) 2017-2020 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/src/map/clan.h b/src/map/clan.h
index 15ed52680..95ea8565c 100644
--- a/src/map/clan.h
+++ b/src/map/clan.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2017 Hercules Dev Team
+ * Copyright (C) 2017-2020 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/src/map/clif.c b/src/map/clif.c
index 86b130e88..496a8beda 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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"
@@ -90,9 +92,6 @@ static struct packet_itemlist_equip itemlist_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;
-#endif
// temporart buffer for send big packets
char packet_buf[0xffff];
//#define DUMP_UNKNOWN_PACKET
@@ -430,8 +429,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;
@@ -439,11 +443,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;
@@ -1587,7 +1586,8 @@ static bool clif_spawn(struct block_list *bl)
if (sd->bg_id != 0 && map->list[sd->bl.m].flag.battleground)
clif->sendbgemblem_area(sd);
for (i = 0; i < sd->sc_display_count; i++) {
- clif->sc_continue(&sd->bl, sd->bl.id,AREA,status->dbs->IconChangeTable[sd->sc_display[i]->type],sd->sc_display[i]->val1,sd->sc_display[i]->val2,sd->sc_display[i]->val3);
+ clif->sc_continue(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(sd->sc_display[i]->type), sd->sc_display[i]->val1, sd->sc_display[i]->val2, sd->sc_display[i]->val3);
+
}
if (sd->charm_type != CHARM_TYPE_NONE && sd->charm_count > 0)
clif->spiritcharm(sd);
@@ -1613,7 +1613,7 @@ static bool clif_spawn(struct block_list *bl)
else if (nd->size == SZ_MEDIUM)
clif->specialeffect(&nd->bl,421,AREA);
if (nd->clan_id > 0)
- clif->sc_load(&nd->bl, nd->bl.id, AREA, status->dbs->IconChangeTable[SC_CLAN_INFO], 0, nd->clan_id, 0);
+ clif->sc_load(&nd->bl, nd->bl.id, AREA, status->get_sc_icon(SC_CLAN_INFO), 0, nd->clan_id, 0);
}
break;
case BL_PET:
@@ -1647,7 +1647,9 @@ static void clif_hominfo(struct map_session_data *sd, struct homun_data *hd, int
p.level = hd->homunculus.level;
p.hunger = hd->homunculus.hunger;
p.intimacy = hd->homunculus.intimacy / 100;
+#if !(PACKETVER_MAIN_NUM >= 20190619 || PACKETVER_RE_NUM >= 20190605 || PACKETVER_ZERO_NUM >= 20190626)
p.itemId = 0; // equip id
+#endif
#ifdef RENEWAL
p.atk2 = cap_value(hstatus->rhw.atk2, 0, INT16_MAX);
#else
@@ -2177,6 +2179,9 @@ static void clif_selllist(struct map_session_data *sd)
if( !itemdb_cansell(&sd->status.inventory[i], pc_get_group_level(sd)) )
continue;
+ if (sd->status.inventory[i].favorite != 0)
+ continue; // Cannot Sell Favorite item
+
if( sd->status.inventory[i].expire_time )
continue; // Cannot Sell Rental Items
@@ -2934,22 +2939,22 @@ static void clif_inventoryStart(struct map_session_data *sd, enum inventory_type
nullpo_retv(sd);
nullpo_retv(name);
- char buf[sizeof(struct ZC_INVENTORY_START) + 24];
+ char buf[sizeof(struct PACKET_ZC_INVENTORY_START) + 24];
memset(buf, 0, sizeof(buf));
- struct ZC_INVENTORY_START *p = (struct ZC_INVENTORY_START *)buf;
- p->packetType = 0xb08;
+ struct PACKET_ZC_INVENTORY_START *p = (struct PACKET_ZC_INVENTORY_START *)buf;
+ p->packetType = HEADER_ZC_INVENTORY_START;
#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);
+ int strLen = (int)safestrnlen(name, 24) + 1;
if (strLen > 24)
strLen = 24;
- const int len = sizeof(struct ZC_INVENTORY_START) + strLen;
+ const int len = sizeof(struct PACKET_ZC_INVENTORY_START) + strLen;
p->packetLength = len;
safestrncpy(p->name, name, strLen);
#else
- const int len = sizeof(struct ZC_INVENTORY_START);
+ const int len = sizeof(struct PACKET_ZC_INVENTORY_START);
safestrncpy(p->name, name, NAME_LENGTH);
#endif
clif->send(p, len, &sd->bl, SELF);
@@ -2961,8 +2966,8 @@ static void clif_inventoryEnd(struct map_session_data *sd, enum inventory_type t
#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
nullpo_retv(sd);
- struct ZC_INVENTORY_END p;
- p.packetType = 0xb0b;
+ struct PACKET_ZC_INVENTORY_END p;
+ p.packetType = HEADER_ZC_INVENTORY_END;
#if PACKETVER_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
p.invType = type;
#endif
@@ -2976,28 +2981,21 @@ static void clif_storageItems(struct map_session_data *sd, enum inventory_type t
nullpo_retv(sd);
nullpo_retv(items);
- int i = 0;
- struct item_data *id;
-
- do {
- int normal = 0, equip = 0, k = 0;
-
- for( ; i < items_length && k < 500; i++, k++ ) {
-
- if( items[i].nameid <= 0 )
- continue;
+ int normal_count = 0, equip_count = 0;
+ for (int i = 0; i < items_length; ++i) {
+ if (items[i].nameid == 0)
+ continue;
- id = itemdb->search(items[i].nameid);
+ struct item_data *itd = itemdb->search(items[i].nameid);
- 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);
- }
+ 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 ) {
- storelist_normal.PacketType = storageListNormalType;
- storelist_normal.PacketLength = ( sizeof( storelist_normal ) - sizeof( storelist_normal.list ) ) + (sizeof(struct NORMALITEM_INFO) * normal);
+ 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;
@@ -3007,11 +3005,12 @@ static void clif_storageItems(struct map_session_data *sd, enum inventory_type t
#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_RE_NUM >= 20180912 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
storelist_equip.invType = type;
@@ -3021,10 +3020,39 @@ static void clif_storageItems(struct map_session_data *sd, enum inventory_type t
#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)
@@ -3849,7 +3877,7 @@ static void clif_arrowequip(struct map_session_data *sd, int val)
nullpo_retv(sd);
#if PACKETVER >= 20121128
- clif->status_change(&sd->bl, SI_CLIENT_ONLY_EQUIP_ARROW, 1, INVALID_TIMER, 0, 0, 0);
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_CLIENT_ONLY_EQUIP_ARROW), status->get_sc_relevant_bl_types(SC_CLIENT_ONLY_EQUIP_ARROW), 1, INVALID_TIMER, 0, 0, 0);
#endif
fd=sd->fd;
WFIFOHEAD(fd, packet_len(0x013c));
@@ -3884,20 +3912,16 @@ static void clif_arrow_fail(struct map_session_data *sd, int type)
/// 01ad <packet len>.W { <name id>.W }*
static void clif_arrow_create_list(struct map_session_data *sd)
{
- int i, c;
- int fd;
- int len;
- struct PACKET_ZC_MAKINGARROW_LIST *p;
-
nullpo_retv(sd);
- fd = sd->fd;
- len = MAX_SKILL_ARROW_DB * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ int fd = sd->fd;
+ int len = MAX_SKILL_ARROW_DB * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
WFIFOHEAD(fd, len);
- p = WFIFOP(fd, 0);
- p->packetType = 0x1ad;
+ struct PACKET_ZC_MAKINGARROW_LIST *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_MAKINGARROW_LIST;
- for (i = 0, c = 0; i < MAX_SKILL_ARROW_DB; i++) {
+ int c = 0;
+ for (int i = 0; i < MAX_SKILL_ARROW_DB; i++) {
int j;
if (skill->dbs->arrow_db[i].nameid > 0
&& (j = pc->search_inventory(sd, skill->dbs->arrow_db[i].nameid)) != INDEX_NOT_FOUND
@@ -3928,17 +3952,16 @@ static void clif_arrow_create_list(struct map_session_data *sd)
/// 1 = success
static void clif_statusupack(struct map_session_data *sd, int type, int ok, int val)
{
- int fd;
-
nullpo_retv(sd);
+ int fd = sd->fd;
- fd=sd->fd;
- WFIFOHEAD(fd,packet_len(0xbc));
- WFIFOW(fd,0)=0xbc;
- WFIFOW(fd,2)=type;
- WFIFOB(fd,4)=ok;
- WFIFOB(fd,5)=cap_value(val,0,UINT8_MAX);
- WFIFOSET(fd,packet_len(0xbc));
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_STATUS_CHANGE_ACK));
+ struct PACKET_ZC_STATUS_CHANGE_ACK *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_STATUS_CHANGE_ACK;
+ p->sp = type;
+ p->ok = ok;
+ p->value = cap_value(val, 0, UINT8_MAX);
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_STATUS_CHANGE_ACK));
}
/// Notifies the client about the result of a request to equip an item (ZC_REQ_WEAR_EQUIP_ACK).
@@ -4012,51 +4035,58 @@ static void clif_misceffect(struct block_list *bl, int type)
/// 0229 <id>.L <body state>.W <health state>.W <effect state>.L <pk mode>.B (ZC_STATE_CHANGE3)
static void clif_changeoption(struct block_list *bl)
{
- unsigned char buf[32];
- struct status_change *sc;
- struct map_session_data* sd;
-
nullpo_retv(bl);
- if ( !(sc = status->get_sc(bl)) && bl->type != BL_NPC ) return; //How can an option change if there's no sc?
+ struct status_change *sc = status->get_sc(bl);
- sd = BL_CAST(BL_PC, bl);
+ if (sc == NULL && bl->type != BL_NPC) // How can an option change if there's no sc?
+ return;
-#if PACKETVER >= 7
- WBUFW(buf,0) = 0x229;
- WBUFL(buf,2) = bl->id;
- WBUFW(buf,6) = (sc) ? sc->opt1 : 0;
- WBUFW(buf,8) = (sc) ? sc->opt2 : 0;
- WBUFL(buf,10) = (sc != NULL) ? sc->option : ((bl->type == BL_NPC) ? BL_UCCAST(BL_NPC, bl)->option : 0);
- WBUFB(buf,14) = (sd)? sd->status.karma : 0;
+ struct map_session_data *sd = BL_CAST(BL_PC, bl);
+ struct PACKET_ZC_STATE_CHANGE p;
+ p.packetType = HEADER_ZC_STATE_CHANGE;
+ p.AID = bl->id;
+ p.bodyState = (sc != NULL) ? sc->opt1 : 0;
+ p.healthState = (sc != NULL) ? sc->opt2 : 0;
+ p.effectState = (sc != NULL) ? sc->option : BL_UCCAST(BL_NPC, bl)->option;
+ p.isPKModeON = (sd != NULL) ? sd->status.karma : 0;
if (clif->isdisguised(bl)) {
- clif->send(buf,packet_len(0x229),bl,AREA_WOS);
- WBUFL(buf,2) = -bl->id;
- clif->send(buf,packet_len(0x229),bl,SELF);
- WBUFL(buf,2) = bl->id;
- WBUFL(buf,10) = OPTION_INVISIBLE;
- clif->send(buf,packet_len(0x229),bl,SELF);
+ clif->send(&p, sizeof(p), bl, AREA_WOS);
+ p.AID = -bl->id;
+ clif->send(&p, sizeof(p), bl, SELF);
+ p.AID = bl->id;
+ p.effectState = OPTION_INVISIBLE;
+ clif->send(&p, sizeof(p), bl, SELF);
} else {
- clif->send(buf,packet_len(0x229),bl,AREA);
+ clif->send(&p, sizeof(p), bl, AREA);
}
-#else
- WBUFW(buf,0) = 0x119;
- WBUFL(buf,2) = bl->id;
- WBUFW(buf,6) = (sc) ? sc->opt1 : 0;
- WBUFW(buf,8) = (sc) ? sc->opt2 : 0;
- WBUFL(buf,10) = (sc != NULL) ? sc->option : ((bl->type == BL_NPC) ? BL_UCCAST(BL_NPC, bl)->option : 0);
- WBUFB(buf,12) = (sd)? sd->status.karma : 0;
+}
+
+static void clif_changeoption_target(struct block_list *bl, struct block_list *target_bl, enum send_target target)
+{
+ nullpo_retv(bl);
+ nullpo_retv(target_bl);
+
+ struct status_change *sc = status->get_sc(bl);
+
+ if (sc == NULL && bl->type != BL_NPC) // How can an option change if there's no sc?
+ return;
+
+ struct map_session_data *sd = BL_CAST(BL_PC, bl);
+ struct PACKET_ZC_STATE_CHANGE p;
+ p.packetType = HEADER_ZC_STATE_CHANGE;
+ p.AID = bl->id;
+ p.bodyState = (sc != NULL) ? sc->opt1 : 0;
+ p.healthState = (sc != NULL) ? sc->opt2 : 0;
+ p.effectState = (sc != NULL) ? sc->option : BL_UCCAST(BL_NPC, bl)->option;
+ p.isPKModeON = (sd != NULL) ? sd->status.karma : 0;
if (clif->isdisguised(bl)) {
- clif->send(buf,packet_len(0x119),bl,AREA_WOS);
- WBUFL(buf,2) = -bl->id;
- clif->send(buf,packet_len(0x119),bl,SELF);
- WBUFL(buf,2) = bl->id;
- WBUFW(buf,10) = OPTION_INVISIBLE;
- clif->send(buf,packet_len(0x119),bl,SELF);
- } else {
- clif->send(buf,packet_len(0x119),bl,AREA);
+ p.AID = -bl->id;
+ clif->send(&p, sizeof(p), target_bl, target);
+ p.AID = bl->id;
+ p.effectState = OPTION_INVISIBLE;
}
-#endif
+ clif->send(&p, sizeof(p), target_bl, target);
}
/// Displays status change effects on NPCs/monsters (ZC_NPC_SHOWEFST_UPDATE).
@@ -4318,22 +4348,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).
@@ -4654,7 +4687,7 @@ static void clif_getareachar_pc(struct map_session_data *sd, struct map_session_
clif->charm_single(sd->fd, dstsd);
for( i = 0; i < dstsd->sc_display_count; i++ ) {
- clif->sc_continue(&sd->bl,dstsd->bl.id,SELF,status->dbs->IconChangeTable[dstsd->sc_display[i]->type],dstsd->sc_display[i]->val1,dstsd->sc_display[i]->val2,dstsd->sc_display[i]->val3);
+ clif->sc_continue(&sd->bl, dstsd->bl.id, SELF, status->get_sc_icon(dstsd->sc_display[i]->type), dstsd->sc_display[i]->val1, dstsd->sc_display[i]->val2, dstsd->sc_display[i]->val3);
}
if( (sd->status.party_id && dstsd->status.party_id == sd->status.party_id) || //Party-mate, or hpdisp setting.
(sd->bg_id && sd->bg_id == dstsd->bg_id) || //BattleGround
@@ -4735,7 +4768,7 @@ static void clif_getareachar_unit(struct map_session_data *sd, struct block_list
else if (nd->size == SZ_MEDIUM)
clif->specialeffect_single(bl,421,sd->fd);
if (nd->clan_id > 0)
- clif->sc_load(&nd->bl, nd->bl.id, AREA, status->dbs->IconChangeTable[SC_CLAN_INFO], 0, nd->clan_id, 0);
+ clif->sc_load(&nd->bl, nd->bl.id, AREA, status->get_sc_icon(SC_CLAN_INFO), 0, nd->clan_id, 0);
}
break;
case BL_MOB:
@@ -4767,9 +4800,9 @@ static void clif_getareachar_unit(struct map_session_data *sd, struct block_list
//Modifies the type of damage according to status changes [Skotlex]
//Aegis data specifies that: 4 endure against single hit sources, 9 against multi-hit.
-static inline int clif_calc_delay(int type, int div, int damage, int delay)
+static inline enum battle_dmg_type clif_calc_delay(enum battle_dmg_type type, int div, int damage, int delay)
{
- return ( delay == 0 && damage > 0 ) ? ( div > 1 ? 9 : 4 ) : type;
+ return ( delay == 0 && damage > 0 ) ? ( div > 1 ? BDT_MULTIENDURE : BDT_ENDURE ) : type;
}
/*==========================================
@@ -4800,7 +4833,7 @@ static int clif_calc_walkdelay(struct block_list *bl, int delay, int type, int d
/// 08c8 <src ID>.L <dst ID>.L <server tick>.L <src speed>.L <dst speed>.L <damage>.L <IsSPDamage>.B <div>.W <type>.B <damage2>.L (ZC_NOTIFY_ACT2)
/// type: @see enum battle_dmg_type
/// for BDT_NORMAL: [ damage: total damage, div: amount of hits, damage2: assassin dual-wield damage ]
-static int clif_damage(struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, unsigned char type, int64 in_damage2)
+static int clif_damage(struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, enum battle_dmg_type type, int64 in_damage2)
{
struct packet_damage p;
struct status_change *sc;
@@ -4870,7 +4903,7 @@ static int clif_damage(struct block_list *src, struct block_list *dst, int sdela
}
if(src == dst) {
- unit->setdir(src,unit->getdir(src));
+ unit->set_dir(src, unit->getdir(src));
}
//Return adjusted can't walk delay for further processing.
@@ -5041,9 +5074,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;
@@ -5052,7 +5084,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;
@@ -5230,58 +5262,79 @@ static int clif_insight(struct block_list *bl, va_list ap)
return 0;
}
+static void clif_playerSkillToPacket(struct map_session_data *sd, struct SKILLDATA *skillData, int skillId, int idx, bool newSkill)
+{
+ nullpo_retv(sd);
+ nullpo_retv(skillData);
+ Assert_retv(idx >= 0 && idx < MAX_SKILL_DB);
+
+ int skill_lv = sd->status.skill[idx].lv;
+ skillData->id = skillId;
+ skillData->inf = skill->get_inf(skillId);
+ skillData->level = skill_lv;
+ if (skill_lv > 0) {
+ skillData->sp = skill->get_sp(skillId, skill_lv);
+ skillData->range2 = skill->get_range2(&sd->bl, skillId, skill_lv);
+ } else {
+ skillData->sp = 0;
+ skillData->range2 = 0;
+ }
+#if PACKETVER_RE_NUM >= 20190807 || PACKETVER_ZERO_NUM >= 20190918
+ if (newSkill)
+ skillData->level2 = 0;
+ else
+ skillData->level2 = skill_lv;
+#else
+ safestrncpy(skillData->name, skill->get_name(skillId), NAME_LENGTH);
+#endif
+ if (sd->status.skill[idx].flag == SKILL_FLAG_PERMANENT)
+ skillData->upFlag = (skill_lv < skill->tree_get_max(skillId, sd->status.class)) ? 1 : 0;
+ else
+ skillData->upFlag = 0;
+}
+
/// Updates whole skill tree (ZC_SKILLINFO_LIST).
/// 010f <packet len>.W { <skill id>.W <type>.L <level>.W <sp cost>.W <attack range>.W <skill name>.24B <upgradable>.B }*
static void clif_skillinfoblock(struct map_session_data *sd)
{
- int fd;
- int i,len,id;
-
nullpo_retv(sd);
- fd=sd->fd;
- if (!fd) return;
+ int fd = sd->fd;
+ if (!fd)
+ return;
- WFIFOHEAD(fd, MAX_SKILL_DB * 37 + 4);
- WFIFOW(fd,0) = 0x10f;
- for ( i = 0, len = 4; i < MAX_SKILL_DB; i++) {
- if( (id = sd->status.skill[i].id) != 0 ) {
- int level;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_SKILLINFO_LIST) + MAX_SKILL_DB * sizeof(struct SKILLDATA));
+ struct PACKET_ZC_SKILLINFO_LIST *p = WFIFOP(fd, 0);
+
+ p->packetType = HEADER_ZC_SKILLINFO_LIST;
+ int skillIndex = 0;
+ int len = sizeof(struct PACKET_ZC_SKILLINFO_LIST);
+ int i;
+ for (i = 0; i < MAX_SKILL_DB; i++) {
+ int id = sd->status.skill[i].id;
+ if (id != 0) {
// workaround for bugreport:5348
- if (len + 37 > 8192)
+ if (len + sizeof(struct SKILLDATA) > 8192)
break;
- WFIFOW(fd, len) = id;
- WFIFOL(fd, len + 2) = skill->get_inf(id);
- level = sd->status.skill[i].lv;
- WFIFOW(fd, len + 6) = level;
- if (level) {
- WFIFOW(fd, len + 8) = skill->get_sp(id, level);
- WFIFOW(fd, len + 10)= skill->get_range2(&sd->bl, id, level);
- }
- else {
- WFIFOW(fd, len + 8) = 0;
- WFIFOW(fd, len + 10)= 0;
- }
- safestrncpy(WFIFOP(fd,len+12), skill->get_name(id), NAME_LENGTH);
- if(sd->status.skill[i].flag == SKILL_FLAG_PERMANENT)
- WFIFOB(fd,len+36) = (sd->status.skill[i].lv < skill->tree_get_max(id, sd->status.class))? 1:0;
- else
- WFIFOB(fd,len+36) = 0;
- len += 37;
+ clif->playerSkillToPacket(sd, &p->skills[skillIndex], id, i, false);
+ len += sizeof(struct SKILLDATA);
+ skillIndex++;
}
}
- WFIFOW(fd,2)=len;
- WFIFOSET(fd,len);
+ p->packetLength = len;
+ WFIFOSET(fd, len);
// workaround for bugreport:5348; send the remaining skills one by one to bypass packet size limit
- for ( ; i < MAX_SKILL_DB; i++) {
- if( (id = sd->status.skill[i].id) != 0 ) {
+ for (; i < MAX_SKILL_DB; i++) {
+ int id = sd->status.skill[i].id;
+ if (id != 0) {
clif->addskill(sd, id);
clif->skillinfo(sd, id, 0);
}
}
}
+
/**
* Server tells client 'sd' to add skill of id 'id' to it's skill tree (e.g. with Ice Falcion item)
**/
@@ -5290,36 +5343,21 @@ static void clif_skillinfoblock(struct map_session_data *sd)
/// 0111 <skill id>.W <type>.L <level>.W <sp cost>.W <attack range>.W <skill name>.24B <upgradable>.B
static void clif_addskill(struct map_session_data *sd, int id)
{
- int fd, skill_lv, idx = skill->get_index(id);
-
nullpo_retv(sd);
- fd = sd->fd;
- if (!fd) return;
+ int fd = sd->fd;
+ if (!fd)
+ return;
+ int idx = skill->get_index(id);
if (sd->status.skill[idx].id <= 0)
return;
- skill_lv = sd->status.skill[idx].lv;
-
- WFIFOHEAD(fd, packet_len(0x111));
- WFIFOW(fd,0) = 0x111;
- WFIFOW(fd,2) = id;
- WFIFOL(fd,4) = skill->get_inf(id);
- WFIFOW(fd,8) = skill_lv;
- if (skill_lv > 0) {
- WFIFOW(fd,10) = skill->get_sp(id, skill_lv);
- WFIFOW(fd,12) = skill->get_range2(&sd->bl, id, skill_lv);
- } else {
- WFIFOW(fd,10) = 0;
- WFIFOW(fd,12) = 0;
- }
- safestrncpy(WFIFOP(fd,14), skill->get_name(id), NAME_LENGTH);
- if (sd->status.skill[idx].flag == SKILL_FLAG_PERMANENT)
- WFIFOB(fd,38) = (skill_lv < skill->tree_get_max(id, sd->status.class))? 1:0;
- else
- WFIFOB(fd,38) = 0;
- WFIFOSET(fd,packet_len(0x111));
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ADD_SKILL));
+ struct PACKET_ZC_ADD_SKILL *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ADD_SKILL;
+ clif->playerSkillToPacket(sd, &p->skill, id, idx, true);
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ADD_SKILL));
}
/// Deletes a skill from the skill tree (ZC_SKILLINFO_DELETE).
@@ -5372,32 +5410,34 @@ static void clif_skillup(struct map_session_data *sd, uint16 skill_id, int skill
/// 07e1 <skill id>.W <type>.L <level>.W <sp cost>.W <attack range>.W <upgradable>.B
static void clif_skillinfo(struct map_session_data *sd, int skill_id, int inf)
{
+ nullpo_retv(sd);
+
const int fd = sd->fd;
int idx = skill->get_index(skill_id);
- int skill_lv;
-
- nullpo_retv(sd);
Assert_retv(idx >= 0 && idx < MAX_SKILL_DB);
- skill_lv = sd->status.skill[idx].lv;
-
- WFIFOHEAD(fd,packet_len(0x7e1));
- WFIFOW(fd,0) = 0x7e1;
- WFIFOW(fd,2) = skill_id;
- WFIFOL(fd,4) = inf?inf:skill->get_inf(skill_id);
- WFIFOW(fd,8) = skill_lv;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_SKILLINFO_UPDATE2));
+ struct PACKET_ZC_SKILLINFO_UPDATE2 *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_SKILLINFO_UPDATE2;
+ int skill_lv = sd->status.skill[idx].lv;
+ p->id = skill_id;
+ p->inf = skill->get_inf(skill_id);
+ p->level = skill_lv;
if (skill_lv > 0) {
- WFIFOW(fd,10) = skill->get_sp(skill_id, skill_lv);
- WFIFOW(fd,12) = skill->get_range2(&sd->bl, skill_id, skill_lv);
+ p->sp = skill->get_sp(skill_id, skill_lv);
+ p->range2 = skill->get_range2(&sd->bl, skill_id, skill_lv);
} else {
- WFIFOW(fd,10) = 0;
- WFIFOW(fd,12) = 0;
+ p->sp = 0;
+ p->range2 = 0;
}
+#if PACKETVER_RE_NUM >= 20190807 || PACKETVER_ZERO_NUM >= 20190918
+ p->level2 = skill_lv;
+#endif
if (sd->status.skill[idx].flag == SKILL_FLAG_PERMANENT)
- WFIFOB(fd,14) = (skill_lv < skill->tree_get_max(skill_id, sd->status.class))? 1:0;
+ p->upFlag = (skill_lv < skill->tree_get_max(skill_id, sd->status.class)) ? 1 : 0;
else
- WFIFOB(fd,14) = 0;
- WFIFOSET(fd,packet_len(0x7e1));
+ p->upFlag = 0;
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_SKILLINFO_UPDATE2));
}
/// Notifies clients in area, that an object is about to use a skill.
@@ -5432,7 +5472,7 @@ static void clif_useskill(struct block_list *bl, int src_id, int dst_id, int dst
#if PACKETVER_MAIN_NUM >= 20091124 || PACKETVER_RE_NUM >= 20091124 || defined(PACKETVER_ZERO)
p.disposable = 0;
#endif
-#if PACKETVER_ZERO_NUM >= 20190130
+#if PACKETVER_MAIN_NUM >= 20181212 || PACKETVER_RE_NUM >= 20181212 || PACKETVER_ZERO_NUM >= 20190130
p.unknown = 0;
#endif
@@ -5544,7 +5584,7 @@ static void clif_skill_cooldown(struct map_session_data *sd, uint16 skill_id, un
/// Skill attack effect and damage.
/// 0114 <skill id>.W <src id>.L <dst id>.L <tick>.L <src delay>.L <dst delay>.L <damage>.W <level>.W <div>.W <type>.B (ZC_NOTIFY_SKILL)
/// 01de <skill id>.W <src id>.L <dst id>.L <tick>.L <src delay>.L <dst delay>.L <damage>.L <level>.W <div>.W <type>.B (ZC_NOTIFY_SKILL2)
-static int clif_skill_damage(struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 in_damage, int div, uint16 skill_id, uint16 skill_lv, int type)
+static int clif_skill_damage(struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 in_damage, int div, uint16 skill_id, uint16 skill_lv, enum battle_dmg_type type)
{
unsigned char buf[64];
struct status_change *sc;
@@ -5646,7 +5686,7 @@ static int clif_skill_damage(struct block_list *src, struct block_list *dst, int
/// Ground skill attack effect and damage (ZC_NOTIFY_SKILL_POSITION).
/// 0115 <skill id>.W <src id>.L <dst id>.L <tick>.L <src delay>.L <dst delay>.L <x>.W <y>.W <damage>.W <level>.W <div>.W <type>.B
#if 0
-static int clif_skill_damage2(struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int damage, int div, uint16 skill_id, uint16 skill_lv, int type)
+static int clif_skill_damage2(struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int damage, int div, uint16 skill_id, uint16 skill_lv, enum battle_dmg_type type)
{
unsigned char buf[64];
struct status_change *sc;
@@ -5870,7 +5910,7 @@ static void clif_skill_estimation(struct map_session_data *sd, struct block_list
{
struct status_data *dstatus;
unsigned char buf[64];
- int i;//, fix;
+ int i, fix;
nullpo_retv(sd);
nullpo_retv(dst);
@@ -5892,9 +5932,9 @@ static void clif_skill_estimation(struct map_session_data *sd, struct block_list
+ ((battle_config.estimation_type&2) ? dstatus->mdef2 : 0);
WBUFW(buf,18) = dstatus->def_ele;
for(i=0;i<9;i++) {
- WBUFB(buf,20+i)= (unsigned char)battle->attr_ratio(i+1,dstatus->def_ele, dstatus->ele_lv);
+ // WBUFB(buf,20+i)= (unsigned char)battle->attr_ratio(i+1,dstatus->def_ele, dstatus->ele_lv);
// The following caps negative attributes to 0 since the client displays them as 255-fix. [Skotlex]
- //WBUFB(buf,20+i)= (unsigned char)((fix=battle->attr_ratio(i+1,dstatus->def_ele, dstatus->ele_lv))<0?0:fix);
+ WBUFB(buf,20+i)= (unsigned char)((fix=battle->attr_ratio(i+1,dstatus->def_ele, dstatus->ele_lv))<0?0:fix);
}
clif->send(buf,packet_len(0x18c),&sd->bl,sd->status.party_id>0?PARTY_SAMEMAP:SELF);
@@ -5969,7 +6009,7 @@ static void clif_cooking_list(struct map_session_data *sd, int trigger, uint16 s
len = sizeof(struct PACKET_ZC_MAKINGITEM_LIST) + MAX_SKILL_PRODUCE_DB * sizeof(struct PACKET_ZC_MAKINGITEM_LIST_sub);
WFIFOHEAD(fd, len);
p = WFIFOP(fd, 0);
- p->packetType = 0x25a;
+ p->packetType = HEADER_ZC_MAKINGITEM_LIST;
p->makeItem = list_type; // list type
c = 0;
@@ -6012,7 +6052,7 @@ static void clif_cooking_list(struct map_session_data *sd, int trigger, uint16 s
}
}
-static void clif_status_change_notick(struct block_list *bl, int type, int flag, int tick, int val1, int val2, int val3)
+static void clif_status_change_notick(struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_tick, int val1, int val2, int val3)
{
struct packet_sc_notick p;
struct map_session_data *sd;
@@ -6022,7 +6062,7 @@ static void clif_status_change_notick(struct block_list *bl, int type, int flag,
if (type == SI_BLANK) //It shows nothing on the client...
return;
- if (!(status->type2relevant_bl_types(type)&bl->type)) // only send status changes that actually matter to the client
+ if (!(relevant_bl & bl->type)) // only send status changes that actually matter to the client
return;
sd = BL_CAST(BL_PC, bl);
@@ -6041,7 +6081,7 @@ static void clif_status_change_notick(struct block_list *bl, int type, int flag,
/// 08ff <id>.L <index>.W <remain msec>.L { <val>.L }*3 (PACKETVER >= 20111108)
/// 0983 <index>.W <id>.L <state>.B <total msec>.L <remain msec>.L { <val>.L }*3 (PACKETVER >= 20120618)
/// 0984 <id>.L <index>.W <total msec>.L <remain msec>.L { <val>.L }*3 (PACKETVER >= 20120618)
-static void clif_status_change(struct block_list *bl, int type, int flag, int tick, int val1, int val2, int val3)
+static void clif_status_change_sub(struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_tick, int val1, int val2, int val3)
{
struct packet_status_change p;
struct map_session_data *sd;
@@ -6051,7 +6091,7 @@ static void clif_status_change(struct block_list *bl, int type, int flag, int ti
nullpo_retv(bl);
- if (!(status->type2relevant_bl_types(type)&bl->type)) // only send status changes that actually matter to the client
+ if (!(relevant_bl & bl->type)) // only send status changes that actually matter to the client
return;
if ( tick < 0 )
@@ -6065,7 +6105,7 @@ static void clif_status_change(struct block_list *bl, int type, int flag, int ti
p.state = (unsigned char)flag;
#if PACKETVER >= 20120618
- p.Total = tick; /* at this stage remain and total are the same value I believe */
+ p.Total = total_tick;
#endif
#if PACKETVER >= 20090121
p.Left = tick;
@@ -6076,6 +6116,13 @@ static void clif_status_change(struct block_list *bl, int type, int flag, int ti
clif->send(&p,sizeof(p), bl, (sd && sd->status.option&OPTION_INVISIBLE) ? SELF : AREA);
}
+/// Notifies clients of a status change.
+/// @see clif_status_change_sub
+static void clif_status_change(struct block_list *bl, int type, int relevant_bl, int flag, int total_tick, int val1, int val2, int val3)
+{
+ clif->status_change_sub(bl, type, relevant_bl, flag, total_tick, total_tick, val1, val2, val3);
+}
+
/// Send message (modified by [Yor]) (ZC_NOTIFY_PLAYERCHAT).
/// 008e <packet len>.W <message>.?B
static void clif_displaymessage(const int fd, const char *mes)
@@ -6429,7 +6476,7 @@ static void clif_wis_message(int fd, const char *nick, const char *mes, int mes_
safestrncpy(WFIFOP(fd,28), mes, mes_len + 1);
WFIFOSET(fd,WFIFOW(fd,2));
#else
- ssd = map->nick2sd(nick);
+ ssd = map->nick2sd(nick, false);
WFIFOHEAD(fd, mes_len + NAME_LENGTH + 9);
WFIFOW(fd,0) = 0x97;
@@ -6710,21 +6757,28 @@ static void clif_item_refine_list(struct map_session_data *sd)
/// 0147 <skill id>.W <type>.L <level>.W <sp cost>.W <atk range>.W <skill name>.24B <upgradeable>.B
static void clif_item_skill(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv)
{
- int fd;
-
nullpo_retv(sd);
- fd=sd->fd;
- WFIFOHEAD(fd,packet_len(0x147));
- WFIFOW(fd, 0)=0x147;
- WFIFOW(fd, 2)=skill_id;
- WFIFOL(fd, 4)=skill->get_inf(skill_id);
- WFIFOW(fd, 8)=skill_lv;
- WFIFOW(fd,10)=skill->get_sp(skill_id,skill_lv);
- WFIFOW(fd,12)=skill->get_range2(&sd->bl, skill_id,skill_lv);
- safestrncpy(WFIFOP(fd,14),skill->get_name(skill_id),NAME_LENGTH);
- WFIFOB(fd,38)=0;
- WFIFOSET(fd,packet_len(0x147));
+ int fd = sd->fd;
+
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_AUTORUN_SKILL));
+
+ struct PACKET_ZC_AUTORUN_SKILL *p = WFIFOP(fd, 0);
+ int type = skill->get_inf(skill_id);
+
+ if (sd->autocast.itemskill_cast_on_self && sd->autocast.type == AUTOCAST_ITEM)
+ type = INF_SELF_SKILL;
+
+ p->packetType = HEADER_ZC_AUTORUN_SKILL;
+ p->skill_id = skill_id;
+ p->skill_type = type;
+ p->skill_lv = skill_lv;
+ p->skill_sp = skill->get_sp(skill_id, skill_lv);
+ p->skill_range = skill->get_range2(&sd->bl, skill_id, skill_lv);
+ safestrncpy(p->skill_name, skill->get_name(skill_id), NAME_LENGTH);
+ p->up_flag = 0;
+
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_AUTORUN_SKILL));
}
/// Adds an item to character's cart.
@@ -7130,7 +7184,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
}
@@ -7141,14 +7195,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 ? 0 : 1;
- 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.
@@ -7738,17 +7795,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);
}
@@ -8064,6 +8131,54 @@ static void clif_guild_allianceinfo(struct map_session_data *sd)
WFIFOSET(fd,WFIFOW(fd,2));
}
+static void clif_guild_castlelist(struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190717 || PACKETVER_ZERO_NUM >= 20190814
+ nullpo_retv(sd);
+
+ struct guild *g = sd->guild;
+ if (g == NULL)
+ return;
+
+ int castle_count = guild->checkcastles(g);
+ if (castle_count > 0) {
+ int len = sizeof(struct PACKET_ZC_GUILD_CASTLE_LIST) + castle_count;
+ struct PACKET_ZC_GUILD_CASTLE_LIST *p = aMalloc(len);
+ p->packetType = HEADER_ZC_GUILD_CASTLE_LIST;
+ p->packetLength = len;
+
+ int i = 0;
+ struct DBIterator *iter = db_iterator(guild->castle_db);
+ for (struct guild_castle *gc = dbi_first(iter); dbi_exists(iter); gc = dbi_next(iter)) {
+ if (gc->guild_id == g->guild_id) {
+ p->castle_list[i] = gc->castle_id;
+ ++i;
+ }
+ }
+ dbi_destroy(iter);
+
+ clif->send(p, len, &sd->bl, SELF);
+ aFree(p);
+ }
+#endif
+}
+
+static void clif_guild_castleinfo(struct map_session_data *sd, struct guild_castle *gc)
+{
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190717 || PACKETVER_ZERO_NUM >= 20190814
+
+ nullpo_retv(sd);
+ nullpo_retv(gc);
+
+ struct PACKET_ZC_CASTLE_INFO p = { 0 };
+ p.packetType = HEADER_ZC_CASTLE_INFO;
+ p.castle_id = gc->castle_id;
+ p.economy = gc->economy;
+ p.defense = gc->defense;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+
/// Guild member manager information (ZC_MEMBERMGR_INFO).
/// 0154 <packet len>.W { <account>.L <char id>.L <hair style>.W <hair color>.W <gender>.W <class>.W <level>.W <contrib exp>.L <state>.L <position>.L <memo>.50B <name>.24B }*
/// state:
@@ -8396,6 +8511,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
@@ -8407,42 +8523,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).
@@ -8644,14 +8762,14 @@ static void clif_emotion(struct block_list *bl, int type)
/// 0191 <id>.L <contents>.80B
static void clif_talkiebox(struct block_list *bl, const char *talkie)
{
- unsigned char buf[MESSAGE_SIZE+6];
nullpo_retv(bl);
nullpo_retv(talkie);
+ struct PACKET_ZC_TALKBOX_CHATCONTENTS p;
- WBUFW(buf,0) = 0x191;
- WBUFL(buf,2) = bl->id;
- safestrncpy(WBUFP(buf,6),talkie,MESSAGE_SIZE);
- clif->send(buf,packet_len(0x191),bl,AREA);
+ p.PacketType = HEADER_ZC_TALKBOX_CHATCONTENTS;
+ p.aid = bl->id;
+ safestrncpy(&p.message[0], talkie, TALKBOX_MESSAGE_SIZE);
+ clif->send(&p, sizeof(struct PACKET_ZC_TALKBOX_CHATCONTENTS), bl, AREA);
}
/// Displays wedding effect centered on an object (ZC_CONGRATULATION).
@@ -8986,21 +9104,44 @@ static void clif_specialeffect_single(struct block_list *bl, int type, int fd)
/// @see doc/effect_list.txt
/// num data:
/// effect-dependent value
-static void clif_specialeffect_value(struct block_list *bl, int effect_id, int num, send_target target)
-{
- uint8 buf[14];
-
- WBUFW(buf,0) = 0x284;
- WBUFL(buf,2) = bl->id;
- WBUFL(buf,6) = effect_id;
- WBUFL(buf,10) = num;
+static void clif_specialeffect_value(struct block_list *bl, int effect_id, uint64 num, send_target target)
+{
+#if PACKETVER_MAIN_NUM >= 20060911 || PACKETVER_AD_NUM >= 20060911 || PACKETVER_SAK_NUM >= 20060911 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO)
+ struct PACKET_ZC_NOTIFY_EFFECT3 packet;
+ packet.packetType = HEADER_ZC_NOTIFY_EFFECT3;
+ packet.aid = bl->id;
+ packet.effectId = effect_id;
+#if PACKETVER >= 20191127
+ packet.num = num;
+#else
+ packet.num = (uint32)num;
+#endif
- clif->send(buf, packet_len(0x284), bl, target);
+ clif->send(&packet, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3), bl, target);
if (clif->isdisguised(bl)) {
- WBUFL(buf,2) = -bl->id;
- clif->send(buf, packet_len(0x284), bl, SELF);
+ packet.aid = -bl->id;
+ clif->send(&packet, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3), bl, SELF);
}
+#endif
+}
+
+static void clif_specialeffect_value_single(struct block_list *bl, int effect_id, uint64 num, int fd)
+{
+#if PACKETVER_MAIN_NUM >= 20060911 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3));
+
+ struct PACKET_ZC_NOTIFY_EFFECT3 *packet = WFIFOP(fd, 0);
+ packet->packetType = HEADER_ZC_NOTIFY_EFFECT3;
+ packet->aid = bl->id;
+ packet->effectId = effect_id;
+#if PACKETVER >= 20191127
+ packet->num = num;
+#else
+ packet->num = (uint32)num;
+#endif
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_NOTIFY_EFFECT3));
+#endif
}
/// Remove special effects (ZC_REMOVE_EFFECT).
@@ -9214,6 +9355,8 @@ static void clif_refresh(struct map_session_data *sd)
mail->clear(sd);
+ clif->loadConfirm(sd);
+
if (clif->isdisguised(&sd->bl)) {/* refresh-da */
short disguise = sd->disguise;
pc->disguise(sd, -1);
@@ -9223,202 +9366,488 @@ 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 a character's name on client.
+ *
+ * @code
+ * 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)
+ * @endcode
+ *
+ * @param fd The incoming file descriptor.
+ * @param bl The related character's block list.
+ *
+ **/
+static void clif_pcname_ack(int fd, struct block_list *bl)
+{
+ nullpo_retv(bl);
+ Assert_retv(bl->type == BL_PC);
+
+ struct PACKET_ZC_ACK_REQNAMEALL packet = {0};
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
+ packet.gid = bl->id;
+
+ const struct map_session_data *ssd = BL_UCCAST(BL_PC, bl);
+
+ if (ssd->fd == fd && ssd->disguise != -1) // Requesting your own "shadow" name.
+ packet.gid = -bl->id;
+
+ if (ssd->fakename[0] != '\0')
+ memcpy(packet.name, ssd->fakename, NAME_LENGTH);
+ else
+ memcpy(packet.name, ssd->status.name, NAME_LENGTH);
+
+ const struct party_data *p = NULL;
+
+ if (ssd->status.party_id != 0)
+ p = party->search(ssd->status.party_id);
+
+ const struct guild *g = NULL;
+ int pos_idx = INDEX_NOT_FOUND;
+
+ if (ssd->status.guild_id != 0 && (g = ssd->guild) != NULL) {
+ int i;
+ int acc_id = ssd->status.account_id;
+ int chr_id = ssd->status.char_id;
+
+ ARR_FIND(0, g->max_member, i, g->member[i].account_id == acc_id && g->member[i].char_id == chr_id);
+
+ if (i < g->max_member)
+ pos_idx = g->member[i].position;
+ }
+
+ if (battle_config.display_party_name == 0 && g == NULL)
+ p = NULL; // Do not display party name, unless the character is also in a guild.
+
+ if (p != NULL) {
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_PARTYNAME) != 0)
+ || ssd->fakename[0] == '\0') {
+ memcpy(packet.party_name, p->party.name, NAME_LENGTH);
+ }
+ }
+
+ if (g != NULL && pos_idx >= 0 && pos_idx < MAX_GUILDPOSITION) {
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_GUILDNAME) != 0)
+ || ssd->fakename[0] == '\0') {
+ memcpy(packet.guild_name, g->name,NAME_LENGTH);
+ }
+
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_GUILDPOSITION) != 0)
+ || ssd->fakename[0] == '\0') {
+ memcpy(packet.position_name, g->position[pos_idx].name, NAME_LENGTH);
+ }
+ } else if (ssd->status.clan_id != 0) {
+ struct clan *c = clan->search(ssd->status.clan_id);
+
+ if (c != 0) {
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_CLANPOSITION) != 0)
+ || ssd->fakename[0] == '\0') {
+ memcpy(packet.position_name, c->name, NAME_LENGTH);
+ }
+ }
+ }
+
+#if PACKETVER_MAIN_NUM >= 20150225 || PACKETVER_RE_NUM >= 20141126 || defined(PACKETVER_ZERO) // Title system.
+ if (ssd->status.title_id > 0) {
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_TITLE) != 0)
+ || ssd->fakename[0] == '\0') {
+ packet.title_id = ssd->status.title_id;
+ }
+ }
+#endif
+
+ 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_charnameack(int fd, struct block_list *bl)
+static void clif_homname_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_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
+
+ 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_mername_ack(int fd, struct block_list *bl)
+{
nullpo_retv(bl);
+ Assert_retv(bl->type == BL_MER);
- packet.packet_id = reqName;
+ 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
- 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;
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
- if (ssd->fakename[0] != '\0' || ssd->status.guild_id > 0 || ssd->status.party_id > 0 || ssd->status.title_id > 0) {
- packet.packet_id = reqNameAllType;
- }
+/// 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);
- //Requesting your own "shadow" name. [Skotlex]
- if (ssd->fd == fd && ssd->disguise != -1) {
- packet.gid = -bl->id;
- }
+ 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
- if (ssd->fakename[0] != '\0') {
- memcpy(packet.name, ssd->fakename, NAME_LENGTH);
- break;
- }
+ clif->send_selforarea(fd, bl, &packet, sizeof(struct PACKET_ZC_ACK_REQNAME_TITLE));
+}
-#if PACKETVER >= 20150503
- // Title System [Dastgir/Hercules]
- if (ssd->status.title_id > 0) {
- packet.title_id = ssd->status.title_id;
- }
+/// 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
- 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_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);
- 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_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));
+}
- if (p == NULL && g == NULL)
- break;
+/// 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);
- if (p != NULL) {
- memcpy(packet.party_name, p->party.name, NAME_LENGTH);
- }
+ struct PACKET_ZC_ACK_REQNAME_TITLE packet = { 0 };
+ packet.packet_id = HEADER_ZC_ACK_REQNAME_TITLE;
+ packet.gid = bl->id;
+ const struct mob_data *md = BL_UCCAST(BL_MOB, bl);
+ memcpy(packet.name, md->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 (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, 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);
+ Assert_retv(0);
+}
+
+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;
}
}
-//Used to update when a char leaves a party/guild. [Skotlex]
-//Needed because when you send a 0x95 packet, the client will not remove the cached party/guild info that is not sent.
+/**
+ * Updates a character's name on client when leaving a party/guild.
+ *
+ * @code
+ * 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)
+ * @endcode
+ *
+ * @param ssd The related character.
+ *
+ **/
static void clif_charnameupdate(struct map_session_data *ssd)
{
- int ps = -1;
+ nullpo_retv(ssd);
+
+ struct PACKET_ZC_ACK_REQNAMEALL packet = {0};
+ packet.packet_id = HEADER_ZC_ACK_REQNAMEALL;
+ packet.gid = ssd->bl.id;
+
+ if (ssd->fakename[0] != '\0')
+ memcpy(packet.name, ssd->fakename, NAME_LENGTH);
+ else
+ memcpy(packet.name, ssd->status.name, NAME_LENGTH);
+
struct party_data *p = NULL;
- struct guild *g = NULL;
- struct packet_reqnameall_ack packet = { 0 };
- nullpo_retv(ssd);
+ if (ssd->status.party_id != 0)
+ p = party->search(ssd->status.party_id);
- if (ssd->fakename[0])
- return; //No need to update as the party/guild was not displayed anyway.
+ struct guild *g = NULL;
+ int pos_idx = INDEX_NOT_FOUND;
- packet.packet_id = reqNameAllType;
- packet.gid = ssd->bl.id;
+ if (ssd->status.guild_id != 0 && (g = ssd->guild) != NULL) {
+ int i;
+ int acc_id = ssd->status.account_id;
+ int chr_id = ssd->status.char_id;
- memcpy(packet.name, ssd->status.name, NAME_LENGTH);
+ ARR_FIND(0, g->max_member, i, g->member[i].account_id == acc_id && g->member[i].char_id == chr_id);
- if (!battle_config.display_party_name) {
- if (ssd->status.party_id > 0 && ssd->status.guild_id > 0 && (g = ssd->guild) != NULL)
- p = party->search(ssd->status.party_id);
- } else {
- if (ssd->status.party_id > 0)
- p = party->search(ssd->status.party_id);
+ if (i < g->max_member)
+ pos_idx = g->member[i].position;
}
- if (ssd->status.guild_id > 0 && (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 == 0 && g == NULL)
+ p = NULL; // Do not display party name, unless the character is also in a guild.
+
+ if (p != NULL) {
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_PARTYNAME) != 0)
+ || ssd->fakename[0] == '\0') {
+ memcpy(packet.party_name, p->party.name, NAME_LENGTH);
+ }
}
- if (p != NULL)
- memcpy(packet.party_name, p->party.name, NAME_LENGTH);
+ if (g != NULL && pos_idx >= 0 && pos_idx < MAX_GUILDPOSITION) {
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_GUILDNAME) != 0)
+ || ssd->fakename[0] == '\0') {
+ memcpy(packet.guild_name, g->name,NAME_LENGTH);
+ }
+
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_GUILDPOSITION) != 0)
+ || ssd->fakename[0] == '\0') {
+ memcpy(packet.position_name, g->position[pos_idx].name, NAME_LENGTH);
+ }
+ } else if (ssd->status.clan_id != 0) {
+ struct clan *c = clan->search(ssd->status.clan_id);
- 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);
+ if (c != 0) {
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_CLANPOSITION) != 0)
+ || ssd->fakename[0] == '\0') {
+ memcpy(packet.position_name, c->name, NAME_LENGTH);
+ }
+ }
}
-#if PACKETVER >= 20150503
- // Achievement System [Dastgir/Hercules]
+#if PACKETVER_MAIN_NUM >= 20150225 || PACKETVER_RE_NUM >= 20141126 || defined(PACKETVER_ZERO) // Title system.
if (ssd->status.title_id > 0) {
- packet.title_id = ssd->status.title_id;
+ if ((ssd->fakename[0] != '\0' && (ssd->fakename_options & FAKENAME_OPTION_SHOW_TITLE) != 0)
+ || ssd->fakename[0] == '\0') {
+ packet.title_id = ssd->status.title_id;
+ }
}
#endif
- // Update nearby clients
- clif->send(&packet, sizeof(packet), &ssd->bl, AREA);
+ clif->send(&packet, sizeof(packet), &ssd->bl, AREA); // Update nearby clients.
}
/// Taekwon Jump (TK_HIGHJUMP) effect (ZC_HIGHJUMP).
@@ -10161,55 +10590,123 @@ static void clif_parse_WantToConnection(int fd, struct map_session_data *sd)
chrif->authreq(sd,false);
}
+/**
+ * Notification from the client, that it has finished map loading and is about to display player's character. (CZ_NOTIFY_ACTORINIT)
+ *
+ * @code
+ * 007d
+ * @endcode
+ *
+ * @param fd The incoming file descriptor.
+ * @param sd The related character.
+ *
+ **/
static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-/// Notification from the client, that it has finished map loading and is about to display player's character (CZ_NOTIFY_ACTORINIT).
-/// 007d
static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
{
- bool first_time = false;
-
- if(sd->bl.prev != NULL)
+ if (sd->bl.prev != NULL)
return;
- if (!sd->state.active) { //Character loading is not complete yet!
- //Let pc->reg_received reinvoke this when ready.
+ if (sd->state.active == 0) { // Character loading is not complete yet! Let pc->reg_received reinvoke this when ready.
sd->state.connect_new = 0;
return;
}
- if (sd->state.rewarp) { //Rewarp player.
+ if (sd->state.rewarp != 0) { // Rewarp character.
sd->state.rewarp = 0;
clif->changemap(sd, sd->bl.m, sd->bl.x, sd->bl.y);
return;
}
sd->state.warping = 0;
- sd->state.dialog = 0;/* reset when warping, client dialog will go missing */
+ sd->state.dialog = 0; // Reset when warping. Client dialog will go missing.
- // Character Looks
+ // Character looks.
#if PACKETVER < 4
clif->changelook(&sd->bl, LOOK_WEAPON, sd->status.look.weapon);
clif->changelook(&sd->bl, LOOK_SHIELD, sd->status.look.shield);
#else
- clif->changelook(&sd->bl,LOOK_WEAPON,0);
+ clif->changelook(&sd->bl, LOOK_WEAPON, 0);
#endif
- if(sd->vd.cloth_color)
- clif->refreshlook(&sd->bl,sd->bl.id,LOOK_CLOTHES_COLOR,sd->vd.cloth_color,SELF);
+ if (sd->vd.cloth_color != 0)
+ clif->refreshlook(&sd->bl, sd->bl.id, LOOK_CLOTHES_COLOR, sd->vd.cloth_color, SELF);
- if (sd->vd.body_style)
- clif->refreshlook(&sd->bl,sd->bl.id,LOOK_BODY2,sd->vd.body_style,SELF);
+ if (sd->vd.body_style != 0)
+ clif->refreshlook(&sd->bl, sd->bl.id, LOOK_BODY2, sd->vd.body_style, SELF);
- // Send character inventory to the client.
- // call this before pc->checkitem() so that the client isn't called to delete a non-existent item.
+ /**
+ * Send character inventory to the client.
+ * Call this before pc->checkitem() so that the client isn't called to delete a non-existent items.
+ *
+ **/
clif->inventoryList(sd);
// Send the cart inventory, counts & weight to the client.
- if(pc_iscarton(sd)) {
+ if (pc_iscarton(sd)) {
clif->cartList(sd);
clif->updatestatus(sd, SP_CARTINFO);
}
+ /**
+ * In official servers, an item's unequip script is executed when entering a zone where the item is restricted,
+ * even if the item won't be unequipped.
+ *
+ **/
+ if (map->list[sd->bl.m].zone != NULL && map->list[sd->bl.m].zone->disabled_items_count != 0) {
+ struct map_zone_data *zone = map->list[sd->bl.m].zone;
+ int dis_items_cnt = zone->disabled_items_count;
+ int handled_equip = 0x00000000;
+
+ for (int i = 0; i < EQI_MAX; i++) {
+ if (sd->equip_index[i] == INDEX_NOT_FOUND)
+ continue;
+
+ int inv_idx = sd->equip_index[i];
+ struct item_data *equip_data = sd->inventory_data[inv_idx];
+
+ if (equip_data == NULL)
+ continue;
+
+ if ((handled_equip & equip_data->equip) != 0)
+ continue; // Equipment takes multiple slots and was already handled.
+
+ handled_equip |= equip_data->equip;
+
+ if (equip_data->unequip_script != NULL) {
+ int idx;
+
+ ARR_FIND(0, dis_items_cnt, idx, zone->disabled_items[idx] == equip_data->nameid);
+
+ if (idx < dis_items_cnt)
+ script->run_item_unequip_script(sd, equip_data, npc->fake_nd->bl.id);
+ }
+
+ if (inv_idx != sd->equip_index[i])
+ continue; // Unequip script execution corrupted the inventory index.
+
+ struct item *equip = &sd->status.inventory[inv_idx];
+
+ if (equip != NULL && !itemdb_isspecial(equip->card[0])) {
+ for (int slot = 0; slot < equip_data->slot; slot++) {
+ if (equip->card[slot] == 0)
+ continue;
+
+ struct item_data *card_data = itemdb->exists(equip->card[slot]);
+
+ if (card_data != NULL && card_data->unequip_script != NULL) {
+ int idx;
+
+ ARR_FIND(0, dis_items_cnt, idx, zone->disabled_items[idx] == card_data->nameid);
+
+ if (idx < dis_items_cnt)
+ script->run_item_unequip_script(sd, card_data, npc->fake_nd->bl.id);
+ }
+ }
+ }
+ }
+ }
+
// Check for and delete unavailable/disabled items.
pc->checkitem(sd);
@@ -10217,317 +10714,330 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd)
clif->updatestatus(sd, SP_WEIGHT);
clif->updatestatus(sd, SP_MAXWEIGHT);
- // guild
- // (needs to go before clif_spawn() to show guild emblems correctly)
- if(sd->status.guild_id)
- guild->send_memberinfoshort(sd,1);
+ // Send character's guild info to the client. Call this before clif->spawn() to show guild emblems correctly.
+ if (sd->status.guild_id != 0)
+ guild->send_memberinfoshort(sd, 1);
- if(battle_config.pc_invincible_time > 0) {
- pc->setinvincibletimer(sd,battle_config.pc_invincible_time);
- }
+ if (battle_config.pc_invincible_time > 0)
+ pc->setinvincibletimer(sd, battle_config.pc_invincible_time);
- if( map->list[sd->bl.m].users++ == 0 && battle_config.dynamic_mobs )
+ if (map->list[sd->bl.m].users++ == 0 && battle_config.dynamic_mobs != 0)
map->spawnmobs(sd->bl.m);
- if( map->list[sd->bl.m].instance_id >= 0 ) {
+ if (map->list[sd->bl.m].instance_id >= 0) {
instance->list[map->list[sd->bl.m].instance_id].users++;
instance->check_idle(map->list[sd->bl.m].instance_id);
}
- if( pc_has_permission(sd,PC_PERM_VIEW_HPMETER) ) {
+ if (pc_has_permission(sd, PC_PERM_VIEW_HPMETER)) {
map->list[sd->bl.m].hpmeter_visible++;
sd->state.hpmeter_visible = 1;
}
- if (!pc_isinvisible(sd)) { // increment the number of pvp players on the map
+ if (!pc_isinvisible(sd)) // Increment the number of pvp players on the map.
map->list[sd->bl.m].users_pvp++;
- }
-
- sd->state.debug_remove_map = 0; // temporary state to track double remove_map's [FlavioJS]
-
- // reset the callshop flag if the player changes map
- sd->state.callshop = 0;
- map->addblock(&sd->bl);
- clif->spawn(&sd->bl);
+ sd->state.debug_remove_map = 0; // Temporary state to track double calls of unit->remove_map(). [FlavioJS]
+ sd->state.callshop = 0; // Reset the callshop flag if the character changes map.
+ map->addblock(&sd->bl); // Add the character to the map.
+ clif->spawn(&sd->bl); // Spawn character client side.
- // Party
- // (needs to go after clif_spawn() to show hp bars correctly)
- if(sd->status.party_id) {
+ // Send character's party info to the client. Call this after clif->spawn() to show HP bars correctly.
+ if (sd->status.party_id != 0) {
party->send_movemap(sd);
- clif->party_hp(sd); // Show hp after displacement [LuzZza]
+ clif->party_hp(sd); // Show HP after displacement. [LuzZza]
}
- if( sd->bg_id ) clif->bg_hp(sd); // BattleGround System
+ if (sd->bg_id != 0)
+ clif->bg_hp(sd); // BattleGround system.
+
+ if (map->list[sd->bl.m].flag.pvp != 0 && !pc_isinvisible(sd)) {
+ if (battle_config.pk_mode == 0) { // Remove PVP stuff for pk_mode. [Valaris]
+ if (map->list[sd->bl.m].flag.pvp_nocalcrank == 0)
+ sd->pvp_timer = timer->add(timer->gettick() + 200, pc->calc_pvprank_timer, sd->bl.id, 0);
- if (map->list[sd->bl.m].flag.pvp && !pc_isinvisible(sd)) {
- if(!battle_config.pk_mode) { // remove pvp stuff for pk_mode [Valaris]
- if (!map->list[sd->bl.m].flag.pvp_nocalcrank)
- sd->pvp_timer = timer->add(timer->gettick()+200, pc->calc_pvprank_timer, sd->bl.id, 0);
sd->pvp_rank = 0;
sd->pvp_lastusers = 0;
sd->pvp_point = 5;
sd->pvp_won = 0;
sd->pvp_lost = 0;
}
+
clif->map_property(sd, MAPPROPERTY_FREEPVPZONE);
- } else
- // set flag, if it's a duel [LuzZza]
- if(sd->duel_group)
+ } else if(sd->duel_group != 0) { // Set flag, if it's a duel. [LuzZza]
clif->map_property(sd, MAPPROPERTY_FREEPVPZONE);
+ }
- if (map->list[sd->bl.m].flag.gvg_dungeon)
+ if (map->list[sd->bl.m].flag.gvg_dungeon != 0)
clif->map_property(sd, MAPPROPERTY_FREEPVPZONE); //TODO: Figure out the real packet to send here.
- if( map_flag_gvg2(sd->bl.m) )
+ if (map_flag_gvg2(sd->bl.m))
clif->map_property(sd, MAPPROPERTY_AGITZONE);
- // info about nearby objects
- // must use foreachinarea (CIRCULAR_AREA interferes with foreachinrange)
- map->foreachinarea(clif->getareachar, sd->bl.m, sd->bl.x-AREA_SIZE, sd->bl.y-AREA_SIZE, sd->bl.x+AREA_SIZE, sd->bl.y+AREA_SIZE, BL_ALL, sd);
+ // Info about nearby objects. Must use map->foreachinarea(). (CIRCULAR_AREA interferes with map->foreachinrange().)
+ map->foreachinarea(clif->getareachar, sd->bl.m, sd->bl.x - AREA_SIZE, sd->bl.y - AREA_SIZE,
+ sd->bl.x + AREA_SIZE, sd->bl.y + AREA_SIZE, BL_ALL, sd);
- // pet
- if( sd->pd ) {
- if( battle_config.pet_no_gvg && map_flag_gvg2(sd->bl.m) ) { //Return the pet to egg. [Skotlex]
- clif->message(sd->fd, msg_sd(sd,866)); // "Pets are not allowed in Guild Wars."
- pet->menu(sd, 3); //Option 3 is return to egg.
+ // Spawn pet.
+ if (sd->pd != NULL) {
+ if (battle_config.pet_no_gvg != 0 && map_flag_gvg2(sd->bl.m)) { // Return the pet to egg. [Skotlex]
+ clif->message(sd->fd, msg_sd(sd, 866)); // "Pets are not allowed in Guild Wars."
+ pet->menu(sd, 3); // Option 3 is return to egg.
} else {
map->addblock(&sd->pd->bl);
clif->spawn(&sd->pd->bl);
- clif->send_petdata(sd,sd->pd,0,0);
+ clif->send_petdata(sd,sd->pd, 0, 0);
clif->send_petstatus(sd);
- //skill->unit_move(&sd->pd->bl,timer->gettick(),1);
}
}
- //homunculus [blackhole89]
- if( homun_alive(sd->hd) ) {
+ // Spawn homunculus. [blackhole89]
+ if (homun_alive(sd->hd)) {
map->addblock(&sd->hd->bl);
clif->spawn(&sd->hd->bl);
- clif->send_homdata(sd,SP_ACK,0);
- clif->hominfo(sd,sd->hd,1);
- clif->hominfo(sd,sd->hd,0); //for some reason, at least older clients want this sent twice
+ clif->send_homdata(sd, SP_ACK, 0);
+ clif->hominfo(sd,sd->hd, 1);
+ clif->hominfo(sd,sd->hd, 0); // For some reason, at least older clients want this sent twice.
clif->homskillinfoblock(sd);
- if( battle_config.hom_setting&0x8 )
- status_calc_bl(&sd->hd->bl, SCB_SPEED); //Homunc mimic their master's speed on each map change
- if( !(battle_config.hom_setting&0x2) )
- skill->unit_move(&sd->hd->bl,timer->gettick(),1); // apply land skills immediately
+
+ if ((battle_config.hom_setting & 0x8) != 0)
+ status_calc_bl(&sd->hd->bl, SCB_SPEED); // Homunculi mimic their master's speed on each map change.
+
+ if ((battle_config.hom_setting & 0x2) == 0)
+ skill->unit_move(&sd->hd->bl, timer->gettick(), 1); // Apply land skills immediately.
}
- if( sd->md ) {
+ // Spawn mercenary.
+ if (sd->md != NULL) {
map->addblock(&sd->md->bl);
clif->spawn(&sd->md->bl);
clif->mercenary_info(sd);
clif->mercenary_skillblock(sd);
- status_calc_bl(&sd->md->bl, SCB_SPEED); // Mercenary mimic their master's speed on each map change
+ status_calc_bl(&sd->md->bl, SCB_SPEED); // Mercenaries mimic their master's speed on each map change.
}
- if( sd->ed ) {
+ // Spawn elemental.
+ if (sd->ed != NULL) {
map->addblock(&sd->ed->bl);
clif->spawn(&sd->ed->bl);
clif->elemental_info(sd);
- clif->elemental_updatestatus(sd,SP_HP);
- clif->hpmeter_single(sd->fd,sd->ed->bl.id,sd->ed->battle_status.hp,sd->ed->battle_status.max_hp);
- clif->elemental_updatestatus(sd,SP_SP);
- status_calc_bl(&sd->ed->bl, SCB_SPEED); //Elemental mimic their master's speed on each map change
+ clif->elemental_updatestatus(sd, SP_HP);
+ clif->hpmeter_single(sd->fd, sd->ed->bl.id, sd->ed->battle_status.hp, sd->ed->battle_status.max_hp);
+ clif->elemental_updatestatus(sd, SP_SP);
+ status_calc_bl(&sd->ed->bl, SCB_SPEED); // Elementals mimic their master's speed on each map change.
}
- if(sd->state.connect_new) {
- int lv;
+ bool first_time = false;
+
+ if (sd->state.connect_new != 0) {
first_time = true;
sd->state.connect_new = 0;
clif->skillinfoblock(sd);
- clif->hotkeys(sd);
- clif->updatestatus(sd,SP_BASEEXP);
- clif->updatestatus(sd,SP_NEXTBASEEXP);
- clif->updatestatus(sd,SP_JOBEXP);
- clif->updatestatus(sd,SP_NEXTJOBEXP);
- clif->updatestatus(sd,SP_SKILLPOINT);
+ clif->hotkeysAll(sd);
+ clif->updatestatus(sd, SP_BASEEXP);
+ clif->updatestatus(sd, SP_NEXTBASEEXP);
+ clif->updatestatus(sd, SP_JOBEXP);
+ clif->updatestatus(sd, SP_NEXTJOBEXP);
+ clif->updatestatus(sd, SP_SKILLPOINT);
clif->initialstatus(sd);
- if (pc_isfalcon(sd))
- clif->status_change(&sd->bl, SI_FALCON, 1, 0, 0, 0, 0);
- if (pc_isridingpeco(sd) || pc_isridingdragon(sd))
- clif->status_change(&sd->bl, SI_RIDING, 1, 0, 0, 0, 0);
- else if (pc_isridingwug(sd))
- clif->status_change(&sd->bl, SI_WUGRIDER, 1, 0, 0, 0, 0);
+ if (pc_isfalcon(sd)) {
+ int sc_icn = status->get_sc_icon(SC_FALCON);
+ int sc_typ = status->get_sc_relevant_bl_types(SC_FALCON);
+ clif->status_change(&sd->bl, sc_icn, sc_typ, 1, 0, 0, 0, 0);
+ }
- if(sd->status.manner < 0)
- sc_start(NULL,&sd->bl,SC_NOCHAT,100,0,0);
+ if (pc_isridingpeco(sd) || pc_isridingdragon(sd)) {
+ int sc_icn = status->get_sc_icon(SC_RIDING);
+ int sc_typ = status->get_sc_relevant_bl_types(SC_RIDING);
+ clif->status_change(&sd->bl, sc_icn, sc_typ, 1, 0, 0, 0, 0);
+ } else if (pc_isridingwug(sd)) {
+ int sc_icn = status->get_sc_icon(SC_WUGRIDER);
+ int sc_typ = status->get_sc_relevant_bl_types(SC_WUGRIDER);
+ clif->status_change(&sd->bl, sc_icn, sc_typ, 1, 0, 0, 0, 0);
+ }
- //Auron reported that This skill only triggers when you logon on the map o.O [Skotlex]
- if ((lv = pc->checkskill(sd,SG_KNOWLEDGE)) > 0) {
- int i;
- for (i = 0; i < MAX_PC_FEELHATE; i++) {
+ if (sd->status.manner < 0)
+ sc_start(NULL, &sd->bl, SC_NOCHAT, 100, 0, 0);
+
+ int lv = pc->checkskill(sd,SG_KNOWLEDGE);
+
+ // Auron reported that this skill only triggers when you logon on the map. [Skotlex]
+ if (lv > 0) {
+ for (int i = 0; i < MAX_PC_FEELHATE; i++) {
if (sd->bl.m == sd->feel_map[i].m) {
- sc_start(NULL,&sd->bl, SC_KNOWLEDGE, 100, lv, skill->get_time(SG_KNOWLEDGE, lv));
+ sc_start(NULL, &sd->bl, SC_KNOWLEDGE, 100, lv, skill->get_time(SG_KNOWLEDGE, lv));
break;
}
}
}
- if(sd->pd && sd->pd->pet.intimate > 900)
- clif->pet_emotion(sd->pd,(sd->pd->pet.class_ - 100)*100 + 50 + pet->hungry_val(sd->pd));
+ if (sd->pd != NULL && sd->pd->pet.intimate > PET_INTIMACY_LOYAL)
+ clif->pet_emotion(sd->pd, (sd->pd->pet.class_ - 100) * 100 + 50 + pet->hungry_val(sd->pd));
- if(homun_alive(sd->hd))
+ if (homun_alive(sd->hd))
homun->init_timers(sd->hd);
- if (map->night_flag && map->list[sd->bl.m].flag.nightenabled) {
+ if (map->night_flag != 0 && map->list[sd->bl.m].flag.nightenabled != 0) {
+ int sc_icn = status->get_sc_icon(SC_SKE);
+ int sc_typ = status->get_sc_relevant_bl_types(SC_SKE);
+
sd->state.night = 1;
- clif->status_change(&sd->bl, SI_SKE, 1, 0, 0, 0, 0);
+ clif->status_change(&sd->bl, sc_icn, sc_typ, 1, 0, 0, 0, 0);
}
- // Notify everyone that this char logged in [Skotlex].
+ // Notify everyone that this character logged in. [Skotlex]
map->foreachpc(clif->friendslist_toggle_sub, sd->status.account_id, sd->status.char_id, 1);
- //Login Event
+ // Run OnPCLoginEvent labels.
npc->script_event(sd, NPCE_LOGIN);
} else {
- //For some reason the client "loses" these on warp/map-change.
- clif->updatestatus(sd,SP_STR);
- clif->updatestatus(sd,SP_AGI);
- clif->updatestatus(sd,SP_VIT);
- clif->updatestatus(sd,SP_INT);
- clif->updatestatus(sd,SP_DEX);
- clif->updatestatus(sd,SP_LUK);
-
- if (sd->state.warp_clean) {
- // abort currently running script
+ // For some reason the client "loses" these on warp/map-change.
+ clif->updatestatus(sd, SP_STR);
+ clif->updatestatus(sd, SP_AGI);
+ clif->updatestatus(sd, SP_VIT);
+ clif->updatestatus(sd, SP_INT);
+ clif->updatestatus(sd, SP_DEX);
+ clif->updatestatus(sd, SP_LUK);
+
+ if (sd->state.warp_clean != 0) { // Abort currently running script.
sd->state.using_fake_npc = 0;
sd->state.menu_or_input = 0;
sd->npc_menu = 0;
- if(sd->npc_id)
+
+ if (sd->npc_id != 0)
npc->event_dequeue(sd);
} else {
sd->state.warp_clean = 1;
}
- if( sd->guild && ( battle_config.guild_notice_changemap == 2 || ( battle_config.guild_notice_changemap == 1 && sd->state.changemap ) ) )
- clif->guild_notice(sd,sd->guild);
+
+ if (sd->guild != NULL && ((battle_config.guild_notice_changemap == 1 && sd->state.changemap != 0)
+ || battle_config.guild_notice_changemap == 2)) {
+ clif->guild_notice(sd, sd->guild);
+ }
}
- if( sd->state.changemap ) {// restore information that gets lost on map-change
+ if (sd->state.changemap != 0) { // Restore information that gets lost on map-change.
#if PACKETVER >= 20070918
clif->partyinvitationstate(sd);
clif->equpcheckbox(sd);
#endif
#if PACKETVER_MAIN_NUM >= 20171025 || PACKETVER_RE_NUM >= 20170920
- if (sd->hd != NULL)
- clif->zc_config(sd, CZ_CONFIG_HOMUNCULUS_AUTOFEEDING, sd->hd->homunculus.autofeed);
- else
- clif->zc_config(sd, CZ_CONFIG_HOMUNCULUS_AUTOFEEDING, false);
+ if (sd->hd != NULL)
+ clif->zc_config(sd, CZ_CONFIG_HOMUNCULUS_AUTOFEEDING, sd->hd->homunculus.autofeed);
+ else
+ clif->zc_config(sd, CZ_CONFIG_HOMUNCULUS_AUTOFEEDING, false);
#endif
- if( (battle_config.bg_flee_penalty != 100 || battle_config.gvg_flee_penalty != 100)
- && (map_flag_gvg2(sd->state.pmap) || map_flag_gvg2(sd->bl.m)
- || map->list[sd->state.pmap].flag.battleground || map->list[sd->bl.m].flag.battleground) )
- status_calc_bl(&sd->bl, SCB_FLEE); //Refresh flee penalty
- if( map->night_flag && map->list[sd->bl.m].flag.nightenabled ) {
- //Display night.
- if( !sd->state.night ) {
+ bool flee_penalty = (battle_config.bg_flee_penalty != 100 || battle_config.gvg_flee_penalty != 100);
+ bool is_gvg = (map_flag_gvg2(sd->state.pmap) || map_flag_gvg2(sd->bl.m));
+ bool is_bg = (map->list[sd->state.pmap].flag.battleground != 0 || map->list[sd->bl.m].flag.battleground != 0);
+
+ if (flee_penalty && (is_gvg || is_bg))
+ status_calc_bl(&sd->bl, SCB_FLEE); // Refresh flee penalty.
+
+ if (map->night_flag != 0 && map->list[sd->bl.m].flag.nightenabled != 0) {
+ if (sd->state.night == 0) { // Display night.
+ int sc_icn = status->get_sc_icon(SC_SKE);
+ int sc_typ = status->get_sc_relevant_bl_types(SC_SKE);
+
sd->state.night = 1;
- clif->status_change(&sd->bl, SI_SKE, 1, 0, 0, 0, 0);
+ clif->status_change(&sd->bl, sc_icn, sc_typ, 1, 0, 0, 0, 0);
}
- } else if( sd->state.night ) { //Clear night display.
+ } else if (sd->state.night != 0) { // Clear night display.
sd->state.night = 0;
- clif->sc_end(&sd->bl, sd->bl.id, SELF, SI_SKE);
+ clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SKE));
}
- if( map->list[sd->bl.m].flag.battleground ) {
- clif->map_type(sd, MAPTYPE_BATTLEFIELD); // Battleground Mode
- if( map->list[sd->bl.m].flag.battleground == 2 )
+ if (map->list[sd->bl.m].flag.battleground != 0) {
+ clif->map_type(sd, MAPTYPE_BATTLEFIELD); // Battleground mode.
+
+ if (map->list[sd->bl.m].flag.battleground == 2)
clif->bg_updatescore_single(sd);
}
- if( map->list[sd->bl.m].flag.allowks && !map_flag_ks(sd->bl.m) ) {
+ if (map->list[sd->bl.m].flag.allowks != 0 && !map_flag_ks(sd->bl.m)) {
char output[128];
- sprintf(output, "[ Kill Steal Protection Disabled. KS is allowed in this map ]");
+
+ sprintf(output, "%s", msg_sd(sd, 893)); // [ Kill Steal Protection Disabled. KS is allowed in this map ]
clif->broadcast(&sd->bl, output, (int)strlen(output) + 1, BC_BLUE, SELF);
}
- map->iwall_get(sd); // Updates Walls Info on this Map to Client
- status_calc_pc(sd, SCO_NONE);/* some conditions are map-dependent so we must recalculate */
+ map->iwall_get(sd); // Updates walls info on this map to client.
+ status_calc_pc(sd, SCO_NONE); // Some conditions are map-dependent so we must recalculate.
sd->state.changemap = false;
- if (channel->config->local && channel->config->local_autojoin) {
+ if (channel->config->local && channel->config->local_autojoin)
channel->map_join(sd);
- }
- if (channel->config->irc && channel->config->irc_autojoin) {
+
+ if (channel->config->irc && channel->config->irc_autojoin)
channel->irc_join(sd);
- }
}
mail->clear(sd);
+ clif->maptypeproperty2(&sd->bl, SELF);
- clif->maptypeproperty2(&sd->bl,SELF);
-
- /* Guild Aura Init */
- if( sd->state.gmaster_flag ) {
- guild->aura_refresh(sd,GD_LEADERSHIP,guild->checkskill(sd->guild,GD_LEADERSHIP));
- guild->aura_refresh(sd,GD_GLORYWOUNDS,guild->checkskill(sd->guild,GD_GLORYWOUNDS));
- guild->aura_refresh(sd,GD_SOULCOLD,guild->checkskill(sd->guild,GD_SOULCOLD));
- guild->aura_refresh(sd,GD_HAWKEYES,guild->checkskill(sd->guild,GD_HAWKEYES));
+ // Init guild aura.
+ if (sd->state.gmaster_flag != 0) {
+ guild->aura_refresh(sd, GD_LEADERSHIP, guild->checkskill(sd->guild, GD_LEADERSHIP));
+ guild->aura_refresh(sd, GD_GLORYWOUNDS, guild->checkskill(sd->guild, GD_GLORYWOUNDS));
+ guild->aura_refresh(sd, GD_SOULCOLD, guild->checkskill(sd->guild, GD_SOULCOLD));
+ guild->aura_refresh(sd, GD_HAWKEYES, guild->checkskill(sd->guild, GD_HAWKEYES));
}
- if( sd->state.vending ) { /* show we have a vending */
- clif->openvending(sd,sd->bl.id,sd->vending);
- clif->showvendingboard(&sd->bl,sd->message,0);
+ if (sd->state.vending != 0) { // Character is vending.
+ clif->openvending(sd, sd->bl.id, sd->vending);
+ clif->showvendingboard(&sd->bl, sd->message, 0);
}
- if(map->list[sd->bl.m].flag.loadevent) // Lance
+ if (map->list[sd->bl.m].flag.loadevent != 0) // Run OnPCLoadMapEvent labels. [Lance]
npc->script_event(sd, NPCE_LOADMAP);
- if (pc->checkskill(sd, SG_DEVIL) && !pc->nextjobexp(sd)) //blindness [Komurka]
- clif->sc_end(&sd->bl, sd->bl.id, SELF, SI_DEVIL1);
+ if (pc->checkskill(sd, SG_DEVIL) > 0 && pc->nextjobexp(sd) == 0) // Blindness. [Komurka]
+ clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_DEVIL1));
- if (sd->sc.opt2) //Client loses these on warp.
+ if (sd->sc.opt2 != 0) // Client loses these on warp.
clif->changeoption(&sd->bl);
- if( sd->sc.data[SC_MONSTER_TRANSFORM] && battle_config.mon_trans_disable_in_gvg && map_flag_gvg2(sd->bl.m) ){
+ if (sd->sc.data[SC_MONSTER_TRANSFORM] != NULL && battle_config.mon_trans_disable_in_gvg != 0
+ && map_flag_gvg2(sd->bl.m)) {
status_change_end(&sd->bl, SC_MONSTER_TRANSFORM, INVALID_TIMER);
- clif->message(sd->fd, msg_sd(sd,1488)); // Transforming into monster is not allowed in Guild Wars.
+ clif->message(sd->fd, msg_sd(sd, 1488)); // Transforming into monster is not allowed in Guild Wars.
}
clif->weather_check(sd);
- // This should be displayed last
- if( sd->guild && first_time )
+ // This should be displayed last.
+ if (sd->guild != NULL && first_time)
clif->guild_notice(sd, sd->guild);
- // For automatic triggering of NPCs after map loading (so you don't need to walk 1 step first)
- if (map->getcell(sd->bl.m, &sd->bl, sd->bl.x, sd->bl.y, CELL_CHKNPC))
- npc->touch_areanpc(sd,sd->bl.m,sd->bl.x,sd->bl.y);
+ // For automatic triggering of NPCs after map loading. (So you don't need to walk 1 step first.)
+ if (map->getcell(sd->bl.m, &sd->bl, sd->bl.x, sd->bl.y, CELL_CHKNPC) != 0)
+ npc->touch_areanpc(sd, sd->bl.m, sd->bl.x, sd->bl.y);
else
npc->untouch_areanpc(sd, sd->bl.m, sd->bl.x, sd->bl.y);
- /* it broke at some point (e.g. during a crash), so we make it visibly dead again. */
- if( !sd->status.hp && !pc_isdead(sd) && status->isdead(&sd->bl) )
+ // It broke at some point (e.g. during a crash), so we make it visibly dead again.
+ if (sd->status.hp == 0 && !pc_isdead(sd) && status->isdead(&sd->bl) != 0)
pc_setdead(sd);
- // If player is dead, and is spawned (such as @refresh) send death packet. [Valaris]
- if(pc_isdead(sd))
+ // Send death packet, if character is dead and is spawned (such as @refresh). [Valaris]
+ if (pc_isdead(sd)) {
clif->clearunit_area(&sd->bl, CLR_DEAD);
- else {
+ } else {
skill->usave_trigger(sd);
+
if (battle_config.player_warp_keep_direction == 1)
clif->changed_dir(&sd->bl, SELF); // Visually updates player facing direction
}
- // Trigger skill effects if you appear standing on them
- if(!battle_config.pc_invincible_time)
- skill->unit_move(&sd->bl,timer->gettick(),1);
+ // Trigger skill effects if you appear standing on them.
+ if (battle_config.pc_invincible_time == 0)
+ skill->unit_move(&sd->bl, timer->gettick(), 1);
- // 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); // NPC quest/event icon check. [Kisuka]
#endif
}
@@ -10558,53 +11068,105 @@ static void clif_parse_TickSend(int fd, struct map_session_data *sd)
clif->notify_time(sd, timer->gettick());
}
+static void clif_hotkeysAll_send(struct map_session_data *sd)
+{
+#ifdef HOTKEY_SAVING
+ clif->hotkeys(sd, 0);
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+ // send second tab only if data exists
+ for (int i = MAX_HOTKEYS; i < MAX_HOTKEYS * 2; i++) {
+ if (sd->status.hotkeys[i].type != 0 || sd->status.hotkeys[i].id != 0 || sd->status.hotkeys[i].lv != 0) {
+ clif->hotkeys(sd, 1);
+ return;
+ }
+ }
+#endif
+#endif
+}
+
/// Sends hotkey bar.
/// 02b9 { <is skill>.B <id>.L <count>.W }*27 (ZC_SHORTCUT_KEY_LIST)
/// 07d9 { <is skill>.B <id>.L <count>.W }*36 (ZC_SHORTCUT_KEY_LIST_V2, PACKETVER >= 20090603)
/// 07d9 { <is skill>.B <id>.L <count>.W }*38 (ZC_SHORTCUT_KEY_LIST_V2, PACKETVER >= 20090617)
/// 0a00 <rotate>.B { <is skill>.B <id>.L <count>.W }*38 (ZC_SHORTCUT_KEY_LIST_V3, PACKETVER >= 20141022)
-static void clif_hotkeys_send(struct map_session_data *sd)
+static void clif_hotkeys_send(struct map_session_data *sd, int tab)
{
#ifdef HOTKEY_SAVING
- struct packet_hotkey p;
- int i;
nullpo_retv(sd);
- p.PacketType = hotkeyType;
-#if PACKETVER >= 20141022
- p.Rotate = sd->status.hotkey_rowshift;
+ struct PACKET_ZC_SHORTCUT_KEY_LIST p;
+ p.packetType = HEADER_ZC_SHORTCUT_KEY_LIST;
+#if PACKETVER_MAIN_NUM >= 20141022 || PACKETVER_RE_NUM >= 20141015 || defined(PACKETVER_ZERO)
+ if (tab == 0)
+ p.rotate = sd->status.hotkey_rowshift;
+ else
+ p.rotate = sd->status.hotkey_rowshift2;
+#endif
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+ p.tab = tab;
#endif
- for(i = 0; i < ARRAYLENGTH(p.hotkey); i++) {
- p.hotkey[i].isSkill = sd->status.hotkeys[i].type;
- p.hotkey[i].ID = sd->status.hotkeys[i].id;
- p.hotkey[i].count = sd->status.hotkeys[i].lv;
+ const int offset = tab * MAX_HOTKEYS;
+ for (int i = 0; i < MAX_HOTKEYS_PACKET; i++) {
+ p.hotkey[i].isSkill = sd->status.hotkeys[i + offset].type;
+ p.hotkey[i].id = sd->status.hotkeys[i + offset].id;
+ p.hotkey[i].count = sd->status.hotkeys[i + offset].lv;
}
- clif->send(&p, sizeof(p), &sd->bl, SELF);
+ clif->send(&p, sizeof(struct PACKET_ZC_SHORTCUT_KEY_LIST), &sd->bl, SELF);
+#endif
+}
+
+static void clif_parse_HotkeyRowShift1(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_HotkeyRowShift1(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20140129 || PACKETVER_RE_NUM >= 20140129 || defined(PACKETVER_ZERO)
+ const struct PACKET_CZ_SHORTCUTKEYBAR_ROTATE1 *p = RFIFOP(fd, 0);
+ sd->status.hotkey_rowshift = p->rowshift;
#endif
}
-static void clif_parse_HotkeyRowShift(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-static void clif_parse_HotkeyRowShift(int fd, struct map_session_data *sd)
+static void clif_parse_HotkeyRowShift2(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_HotkeyRowShift2(int fd, struct map_session_data *sd)
{
- int cmd = RFIFOW(fd, 0);
- sd->status.hotkey_rowshift = RFIFOB(fd, packet_db[cmd].pos[0]);
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+ const struct PACKET_CZ_SHORTCUTKEYBAR_ROTATE2 *p = RFIFOP(fd, 0);
+ if (p->tab == 0)
+ sd->status.hotkey_rowshift = p->rowshift;
+ else
+ sd->status.hotkey_rowshift2 = p->rowshift;
+#endif
}
-static void clif_parse_Hotkey(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-/// Request to update a position on the hotkey bar (CZ_SHORTCUT_KEY_CHANGE).
+static void clif_parse_Hotkey1(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+/// Request to update a position on the hotkey bar (CZ_SHORTCUT_KEY_CHANGE1).
/// 02ba <index>.W <is skill>.B <id>.L <count>.W
-static void clif_parse_Hotkey(int fd, struct map_session_data *sd)
+static void clif_parse_Hotkey1(int fd, struct map_session_data *sd)
{
#ifdef HOTKEY_SAVING
- unsigned short idx;
- int cmd;
+#if PACKETVER_MAIN_NUM >= 20070618 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) || PACKETVER_AD_NUM >= 20070618 || PACKETVER_SAK_NUM >= 20070618
+ const struct PACKET_CZ_SHORTCUT_KEY_CHANGE1 *p = RFIFOP(fd, 0);
+ const unsigned short idx = p->index;
+ Assert_retv(idx < MAX_HOTKEYS);
- cmd = RFIFOW(fd, 0);
- idx = RFIFOW(fd, packet_db[cmd].pos[0]);
- if (idx >= MAX_HOTKEYS) return;
+ sd->status.hotkeys[idx].type = p->hotkey.isSkill;
+ sd->status.hotkeys[idx].id = p->hotkey.id;
+ sd->status.hotkeys[idx].lv = p->hotkey.count;
+#endif
+#endif
+}
+
+static void clif_parse_Hotkey2(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+/// Request to update a position on the hotkey bar (CZ_SHORTCUT_KEY_CHANGE2).
+static void clif_parse_Hotkey2(int fd, struct map_session_data *sd)
+{
+#ifdef HOTKEY_SAVING
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+ const struct PACKET_CZ_SHORTCUT_KEY_CHANGE2 *p = RFIFOP(fd, 0);
+ const unsigned short idx = p->index + p->tab * MAX_HOTKEYS;
+ Assert_retv(idx < MAX_HOTKEYS_DB);
- sd->status.hotkeys[idx].type = RFIFOB(fd, packet_db[cmd].pos[1]);
- sd->status.hotkeys[idx].id = RFIFOL(fd, packet_db[cmd].pos[2]);
- sd->status.hotkeys[idx].lv = RFIFOW(fd, packet_db[cmd].pos[3]);
+ sd->status.hotkeys[idx].type = p->hotkey.isSkill;
+ sd->status.hotkeys[idx].id = p->hotkey.id;
+ sd->status.hotkeys[idx].lv = p->hotkey.count;
+#endif
#endif
}
@@ -10667,9 +11229,13 @@ static void clif_parse_progressbar(int fd, struct map_session_data *sd) __attrib
/// 02f1
static void clif_parse_progressbar(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int npc_id = sd->progressbar.npc_id;
+ Assert_retv(npc_id != 0);
- if( timer->gettick() < sd->progressbar.timeout && sd->st )
+ if (timer->gettick() < sd->progressbar.timeout && sd->st)
sd->st->state = END;
sd->progressbar.timeout = sd->state.workinprogress = sd->progressbar.npc_id = 0;
@@ -10694,7 +11260,7 @@ static void clif_parse_WalkToXY(int fd, struct map_session_data *sd)
; //You CAN walk on this OPT1 value.
/*else if( sd->progressbar.npc_id )
clif->progressbar_abort(sd);*/
- else if (pc_cant_act(sd))
+ else if (pc_cant_act(sd) || pc_isvending(sd))
return;
if(sd->sc.data[SC_RUN] || sd->sc.data[SC_WUGDASH])
@@ -10707,7 +11273,7 @@ static void clif_parse_WalkToXY(int fd, struct map_session_data *sd)
//Set last idle time... [Skotlex]
pc->update_idle_time(sd, BCIDLE_WALK);
- unit->walktoxy(&sd->bl, x, y, 4);
+ unit->walk_toxy(&sd->bl, x, y, 4);
}
/// Notification about the result of a disconnect request (ZC_ACK_REQ_DISCONNECT).
@@ -10739,8 +11305,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);
}
@@ -10772,18 +11340,18 @@ static void clif_parse_GetCharNameRequest(int fd, struct map_session_data *sd)
sc = status->get_sc(bl);
if (sc && sc->option&OPTION_INVISIBLE && !clif->isdisguised(bl) &&
bl->type != BL_NPC && //Skip hidden NPCs which can be seen using Maya Purple
- pc_get_group_level(sd) < battle_config.hack_info_GM_level
+ !pc_has_permission(sd, PC_PERM_RECEIVE_HACK_INFO)
) {
char gm_msg[256];
sprintf(gm_msg, "Hack on NameRequest: character '%s' (account: %d) requested the name of an invisible target (id: %d).\n", sd->status.name, sd->status.account_id, id);
ShowWarning(gm_msg);
// information is sent to all online GMs
- intif->wis_message_to_gm(map->wisp_server_name, battle_config.hack_info_GM_level, gm_msg);
+ pc->wis_message_to_gm(map->wisp_server_name, PC_PERM_RECEIVE_HACK_INFO, gm_msg);
return;
}
#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)
{
@@ -10852,7 +11420,10 @@ static void clif_parse_GlobalMessage(int fd, struct map_session_data *sd)
timer->settick(sd->fontcolor_tid, td->tick+5000);
}
- color = channel->config->colors[sd->fontcolor - 1];
+ int fontColor = sd->fontcolor - 1;
+ if (fontColor < 0 || fontColor >= channel->config->colors_count)
+ fontColor = 0;
+ color = channel->config->colors[fontColor];
WFIFOHEAD(fd, outlen + 12);
WFIFOW(fd,0) = 0x2C1;
WFIFOW(fd,2) = outlen + 12;
@@ -10920,15 +11491,7 @@ static void clif_parse_MapMove(int fd, struct map_session_data *sd)
/// 0 = straight
/// 1 = turned CW
/// 2 = turned CCW
-/// dir:
-/// 0 = north
-/// 1 = northwest
-/// 2 = west
-/// 3 = southwest
-/// 4 = south
-/// 5 = southeast
-/// 6 = east
-/// 7 = northeast
+/// dir: @see enum unit_dir
static void clif_changed_dir(struct block_list *bl, enum send_target target)
{
unsigned char buf[64];
@@ -11053,14 +11616,16 @@ static void clif_parse_ActionRequest_sub(struct map_session_data *sd, int action
{
struct npc_data *nd = map->id2nd(target_id);
if (nd != NULL) {
- npc->click(sd, nd);
+ if (sd->block_action.npc == 0) { // *pcblock script command
+ npc->click(sd, nd);
+ }
return;
}
- if( pc_cant_act(sd) || pc_issit(sd) || sd->sc.option&OPTION_HIDE )
+ if (pc_cant_act(sd) || pc_issit(sd) || sd->sc.option&OPTION_HIDE || pc_isvending(sd))
return;
- if( sd->sc.option&OPTION_COSTUME )
+ if (sd->sc.option & OPTION_COSTUME)
return;
if (!battle_config.sdelay_attack_enable && pc->checkskill(sd, SA_FREECAST) <= 0 && (skill->get_inf2(sd->ud.skill_id) & (INF2_FREE_CAST_REDUCED | INF2_FREE_CAST_NORMAL)) == 0) {
@@ -11238,8 +11803,8 @@ static void clif_parse_WisMessage(int fd, struct map_session_data *sd)
script->set_var(sd,output,(char *) split_data[i]);
}
- sprintf(output, "%s::OnWhisperGlobal", nd->exname);
- npc->event(sd,output,0); // Calls the NPC label
+ safesnprintf(output, 255, "%s::OnWhisperGlobal", nd->exname);
+ npc->event(sd,output, 0); // Calls the NPC label
return;
}
@@ -11263,15 +11828,11 @@ static void clif_parse_WisMessage(int fd, struct map_session_data *sd)
}
// searching destination character
- dstsd = map->nick2sd(target);
+ dstsd = map->nick2sd(target, false);
- if (dstsd == NULL || strcmp(dstsd->status.name, target) != 0) {
- // player is not on this map-server
- // At this point, don't send wisp/page if it's not exactly the same name, because (example)
- // if there are 'Test' player on an other map-server and 'test' player on this map-server,
- // and if we ask for 'Test', we must not contact 'test' player
- // so, we send information to inter-server, which is the only one which decide (and copy correct name).
- intif->wis_message(sd, target, message, (int)strlen(message));
+ if (dstsd == NULL) {
+ // Character not found (or found through partial match).
+ clif->wis_end(sd->fd, 1);
return;
}
@@ -11287,7 +11848,7 @@ static void clif_parse_WisMessage(int fd, struct map_session_data *sd)
// if player is autotrading
if (dstsd->state.autotrade) {
char output[256];
- sprintf(output, "%s is in autotrade mode and cannot receive whispered messages.", dstsd->status.name);
+ sprintf(output, msg_fd(fd, 894), dstsd->status.name); // %s is in autotrade mode and cannot receive whispered messages.
clif->wis_message(fd, map->wisp_server_name, output, (int)strlen(output));
return;
}
@@ -11318,7 +11879,7 @@ static void clif_parse_Broadcast(int fd, struct map_session_data *sd)
char command[sizeof commandname + 2 + CHAT_SIZE_MAX] = ""; // '@' command + ' ' + message + NUL
int len = (int)RFIFOW(fd,2) - 4;
- if (len < 0)
+ if (len <= 0)
return;
sprintf(command, "%c%s ", atcommand->at_symbol, commandname);
@@ -11418,6 +11979,9 @@ static void clif_parse_UseItem(int fd, struct map_session_data *sd)
{
int n;
+ if (pc_isvending(sd))
+ return;
+
if (pc_isdead(sd)) {
clif->clearunit_area(&sd->bl, CLR_DEAD);
return;
@@ -11443,15 +12007,17 @@ static void clif_parse_EquipItem(int fd, struct map_session_data *sd) __attribut
static void clif_parse_EquipItem(int fd, struct map_session_data *sd)
{
const struct packet_equip_item *p = RP2PTR(fd);
- int index = 0;
- if(pc_isdead(sd)) {
+ if (pc_isvending(sd))
+ return;
+
+ if (pc_isdead(sd)) {
clif->clearunit_area(&sd->bl,CLR_DEAD);
return;
}
- index = p->index - 2;
- if (index >= sd->status.inventorySize)
+ int index = p->index - 2;
+ if (index < 0 || index >= sd->status.inventorySize)
return; //Out of bounds check.
if( sd->npc_id ) {
@@ -11462,15 +12028,15 @@ static void clif_parse_EquipItem(int fd, struct map_session_data *sd)
else if ( pc_cant_act2(sd) || sd->state.prerefining )
return;
- if(!sd->status.inventory[index].identify) {
- clif->equipitemack(sd, index, 0, EIA_FAIL);// fail
+ if (!sd->status.inventory[index].identify) {
+ clif->equipitemack(sd, index, 0, EIA_FAIL); // fail
return;
}
- if(!sd->inventory_data[index])
+ if (!sd->inventory_data[index])
return;
- if(sd->inventory_data[index]->type == IT_PETARMOR){
+ if (sd->inventory_data[index]->type == IT_PETARMOR) {
pet->equipitem(sd, index);
return;
}
@@ -11478,7 +12044,7 @@ static void clif_parse_EquipItem(int fd, struct map_session_data *sd)
pc->update_idle_time(sd, BCIDLE_USEITEM);
//Client doesn't send the position for ammo.
- if(sd->inventory_data[index]->type == IT_AMMO)
+ if (sd->inventory_data[index]->type == IT_AMMO)
pc->equipitem(sd, index, EQP_AMMO);
else
pc->equipitem(sd, index, p->wearLocation);
@@ -11491,6 +12057,9 @@ static void clif_parse_UnequipItem(int fd, struct map_session_data *sd)
{
int index;
+ if (pc_isvending(sd))
+ return;
+
if(pc_isdead(sd)) {
clif->clearunit_area(&sd->bl,CLR_DEAD);
return;
@@ -11524,7 +12093,7 @@ static void clif_parse_NpcClicked(int fd, struct map_session_data *sd)
clif->clearunit_area(&sd->bl,CLR_DEAD);
return;
}
- if (sd->npc_id || sd->state.workinprogress & 2) {
+ if (sd->npc_id > 0 || (sd->state.workinprogress & 2) == 2 || sd->block_action.npc == 1) { // *pcblock script command
#if PACKETVER >= 20110308
clif->msgtable(sd, MSG_BUSY);
#else
@@ -11532,7 +12101,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) {
@@ -11563,7 +12132,7 @@ static void clif_parse_NpcBuySellSelected(int fd, struct map_session_data *sd) _
/// 1 = sell
static void clif_parse_NpcBuySellSelected(int fd, struct map_session_data *sd)
{
- if (sd->state.trading)
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
return;
npc->buysellsel(sd, RFIFOL(fd,2), RFIFOB(fd,6));
}
@@ -11599,9 +12168,12 @@ static void clif_parse_NpcBuyListSend(int fd, struct map_session_data *sd) __att
/// 00c8 <packet len>.W { <amount>.W <name id>.W }*
static void clif_parse_NpcBuyListSend(int fd, struct map_session_data *sd)
{
- int n = ((int)RFIFOW(fd, 2) - sizeof(struct PACKET_CZ_PC_PURCHASE_ITEMLIST)) / sizeof(struct PACKET_CZ_PC_PURCHASE_ITEMLIST_sub);
- int result;
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_PC_PURCHASE_ITEMLIST *p = RFIFOP(fd, 0);
+ int n = ((int)p->packetLength - sizeof(struct PACKET_CZ_PC_PURCHASE_ITEMLIST)) / sizeof(struct PACKET_CZ_PC_PURCHASE_ITEMLIST_sub);
+ int result;
Assert_retv(n >= 0);
@@ -11659,7 +12231,7 @@ static void clif_parse_NpcSellListSend(int fd, struct map_session_data *sd)
Assert_retv(n >= 0);
- if (sd->state.trading || !sd->npc_shopid) {
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd) || !sd->npc_shopid) {
fail = 1;
} else {
struct itemlist item_list = { 0 };
@@ -11694,6 +12266,9 @@ static void clif_parse_CreateChatRoom(int fd, struct map_session_data *sd) __att
/// 1 = public
static void clif_parse_CreateChatRoom(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int len = (int)RFIFOW(fd, 2) - 15;
int limit;
bool pub;
@@ -11710,6 +12285,9 @@ static void clif_parse_CreateChatRoom(int fd, struct map_session_data *sd)
password = RFIFOP(fd, 7); //not zero-terminated
title = RFIFOP(fd, 15); // not zero-terminated
+ if (limit < 0)
+ return;
+
if (pc_ismuted(&sd->sc, MANNER_NOROOM))
return;
if(battle_config.basic_skill_check && !pc->check_basicskill(sd, 4)) {
@@ -11736,6 +12314,9 @@ static void clif_parse_ChatAddMember(int fd, struct map_session_data *sd) __attr
/// 00d9 <chat ID>.L <passwd>.8B
static void clif_parse_ChatAddMember(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int chatid = RFIFOL(fd,2);
const char *password = RFIFOP(fd,6); // not zero-terminated
@@ -11750,6 +12331,9 @@ static void clif_parse_ChatRoomStatusChange(int fd, struct map_session_data *sd)
/// 1 = public
static void clif_parse_ChatRoomStatusChange(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int len = (int)RFIFOW(fd, 2) - 15;
int limit;
bool pub;
@@ -11762,6 +12346,8 @@ static void clif_parse_ChatRoomStatusChange(int fd, struct map_session_data *sd)
return;
limit = RFIFOW(fd, 4);
+ if (limit < 0)
+ return;
pub = (RFIFOB(fd, 6) != 0);
password = RFIFOP(fd, 7); // not zero-terminated
title = RFIFOP(fd, 15); // not zero-terminated
@@ -11780,6 +12366,9 @@ static void clif_parse_ChangeChatOwner(int fd, struct map_session_data *sd) __at
/// 1 = normal
static void clif_parse_ChangeChatOwner(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
chat->change_owner(sd, RFIFOP(fd,6)); // non null terminated
}
@@ -11788,6 +12377,9 @@ static void clif_parse_KickFromChat(int fd, struct map_session_data *sd) __attri
/// 00e2 <name>.24B
static void clif_parse_KickFromChat(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
chat->kick(sd, RFIFOP(fd,2)); // non null terminated
}
@@ -11796,6 +12388,9 @@ static void clif_parse_ChatLeave(int fd, struct map_session_data *sd) __attribut
/// 00e3
static void clif_parse_ChatLeave(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
chat->leave(sd, false);
}
@@ -11820,9 +12415,10 @@ static void clif_parse_TradeRequest(int fd, struct map_session_data *sd) __attri
/// 00e4 <account id>.L
static void clif_parse_TradeRequest(int fd, struct map_session_data *sd)
{
- struct map_session_data *t_sd;
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
- t_sd = map->id2sd(RFIFOL(fd,2));
+ struct map_session_data *t_sd = map->id2sd(RFIFOL(fd, 2));
if (sd->chat_id == 0 && pc_cant_act(sd))
return; //You can trade while in a chatroom.
@@ -11849,6 +12445,9 @@ static void clif_parse_TradeAck(int fd, struct map_session_data *sd) __attribute
/// 4 = rejected
static void clif_parse_TradeAck(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
trade->ack(sd,RFIFOB(fd,2));
}
@@ -11857,6 +12456,9 @@ static void clif_parse_TradeAddItem(int fd, struct map_session_data *sd) __attri
/// 00e8 <index>.W <amount>.L
static void clif_parse_TradeAddItem(int fd, struct map_session_data *sd)
{
+ if (!sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
short index = RFIFOW(fd,2);
int amount = RFIFOL(fd,4);
@@ -11871,6 +12473,8 @@ static void clif_parse_TradeOk(int fd, struct map_session_data *sd) __attribute_
/// 00eb
static void clif_parse_TradeOk(int fd, struct map_session_data *sd)
{
+ if (pc_isdead(sd) || pc_isvending(sd))
+ return;
trade->ok(sd);
}
@@ -11879,6 +12483,9 @@ static void clif_parse_TradeCancel(int fd, struct map_session_data *sd) __attrib
/// 00ed
static void clif_parse_TradeCancel(int fd, struct map_session_data *sd)
{
+ if (pc_isdead(sd) || pc_isvending(sd))
+ return;
+
trade->cancel(sd);
}
@@ -11887,6 +12494,9 @@ static void clif_parse_TradeCommit(int fd, struct map_session_data *sd) __attrib
/// 00ef
static void clif_parse_TradeCommit(int fd, struct map_session_data *sd)
{
+ if (pc_isdead(sd) || pc_isvending(sd))
+ return;
+
trade->commit(sd);
}
@@ -11904,7 +12514,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;
@@ -11919,6 +12529,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));
@@ -11942,6 +12554,42 @@ static void clif_parse_RemoveOption(int fd, struct map_session_data *sd)
}
}
+static void clif_parse_reqGearOff(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_reqGearOff(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190703 || PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190709
+ const struct PACKET_CZ_REQ_MOUNTOFF *p = RFIFOP(fd, 0);
+ switch (p->action) {
+ case REMOVE_MOUNT_DRAGON:
+ if (pc_isridingdragon(sd))
+ pc->setoption(sd, sd->sc.option &~ OPTION_DRAGON);
+ break;
+ case REMOVE_MOUNT_MADO:
+ if (pc_ismadogear(sd))
+ pc->setoption(sd, sd->sc.option &~ OPTION_MADOGEAR);
+ break;
+ case REMOVE_MOUNT_PECO:
+ if (pc_isridingpeco(sd))
+ pc->setoption(sd, sd->sc.option &~ OPTION_RIDING);
+ break;
+ case REMOVE_MOUNT_FALCON:
+ if (pc_isfalcon(sd))
+ pc->setoption(sd, sd->sc.option &~ OPTION_FALCON);
+ break;
+ case REMOVE_MOUNT_CART:
+ // this packet exists in clients with only new carts [4144]
+ if (sd->sc.data[SC_PUSH_CART])
+ pc->setcart(sd, 0);
+ break;
+ case REMOVE_MOUNT_0:
+ case REMOVE_MOUNT_2:
+ default:
+ ShowError("Unknown action in remove mount packet: %d\n", p->action);
+ break;
+ }
+#endif
+}
+
static void clif_parse_ChangeCart(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
/// Request to change cart's visual look (CZ_REQ_CHANGECART).
/// 01af <num>.W
@@ -12139,6 +12787,14 @@ static void clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill
{
int64 tick = timer->gettick();
+ /**
+ * According to Skotlex' comment below, the client sometimes passes 0 for the skill level.
+ * Even though this seems to only affect guild skills, sd->autocast.skill_lv is used
+ * for the auto-cast data validation if skill_lv is 0.
+ *
+ **/
+ skill->validate_autocast_data(sd, skill_id, (skill_lv == 0) ? sd->autocast.skill_lv : skill_lv);
+
if (skill_lv < 1)
skill_lv = 1; //No clue, I have seen the client do this with guild skills :/ [Skotlex]
@@ -12192,7 +12848,7 @@ static void clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill
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) {
+ if (sd->autocast.type == AUTOCAST_NONE) {
clif->skill_fail(sd, skill_id, USESKILL_FAIL_SKILLINTERVAL, 0, 0);
return;
}
@@ -12210,16 +12866,16 @@ static void clif_useSkillToIdReal(int fd, struct map_session_data *sd, int skill
} 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)
- skill_lv = sd->skillitemlv;
+ if (sd->autocast.type != AUTOCAST_NONE) {
+ if (skill_lv != sd->autocast.skill_lv)
+ skill_lv = sd->autocast.skill_lv;
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;
}
- sd->skillitem = sd->skillitemlv = 0;
+ pc->autocast_clear(sd);
if (skill_id >= GD_SKILLBASE && skill_id < GD_MAX) {
if (sd->state.gmaster_flag)
@@ -12280,6 +12936,16 @@ static void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, uin
int64 tick = timer->gettick();
nullpo_retv(sd);
+
+ /**
+ * When using clif_item_skill() to initiate the execution of ground skills,
+ * the client sometimes passes 0 for the skill level in packet 0x0af4.
+ * In that case sd->autocast.skill_lv is used for the auto-cast data validation,
+ * since clif_item_skill() is only used for auto-cast skills.
+ *
+ **/
+ skill->validate_autocast_data(sd, skill_id, (skill_lv == 0) ? sd->autocast.skill_lv : skill_lv);
+
if( !(skill->get_inf(skill_id)&INF_GROUND_SKILL) )
return; //Using a target skill on the ground? WRONG.
@@ -12313,14 +12979,14 @@ static void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, uin
return;
}
//You can't use Graffiti/TalkieBox AND have a vending open, so this is safe.
- safestrncpy(sd->message, RFIFOP(fd,skillmoreinfo), MESSAGE_SIZE);
+ safestrncpy(sd->message, RFIFOP(fd, skillmoreinfo), TALKBOX_MESSAGE_SIZE);
}
if( sd->ud.skilltimer != INVALID_TIMER )
return;
if( DIFF_TICK(tick, sd->ud.canact_tick) < 0 ) {
- if( sd->skillitem != skill_id ) {
+ if (sd->autocast.type == AUTOCAST_NONE) {
clif->skill_fail(sd, skill_id, USESKILL_FAIL_SKILLINTERVAL, 0, 0);
return;
}
@@ -12341,13 +13007,13 @@ static void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, uin
pc->delinvincibletimer(sd);
- if( sd->skillitem == skill_id ) {
- if( skill_lv != sd->skillitemlv )
- skill_lv = sd->skillitemlv;
+ if (sd->autocast.type != AUTOCAST_NONE) {
+ if (skill_lv != sd->autocast.skill_lv)
+ skill_lv = sd->autocast.skill_lv;
unit->skilluse_pos(&sd->bl, x, y, skill_id, skill_lv);
} else {
int lv;
- sd->skillitem = sd->skillitemlv = 0;
+ pc->autocast_clear(sd);
if( (lv = pc->checkskill(sd, skill_id)) > 0 ) {
if( skill_lv > lv )
skill_lv = lv;
@@ -12418,8 +13084,15 @@ static void clif_parse_UseSkillMap(int fd, struct map_session_data *sd)
return;
}
+ /**
+ * Since no skill level was passed use 0 to notify skill_validate_autocast_data() of this special case.
+ *
+ **/
+ skill->validate_autocast_data(sd, skill_id, 0);
+
pc->delinvincibletimer(sd);
skill->castend_map(sd,skill_id,map_name);
+ pc->autocast_clear(sd);
}
static void clif_parse_RequestMemo(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -12447,7 +13120,7 @@ static void clif_parse_ProduceMix(int fd, struct map_session_data *sd)
default:
return;
}
- if (pc_istrading(sd)) {
+ if (pc_istrading(sd) || pc_isdead(sd) || pc_isvending(sd)) {
//Make it fail to avoid shop exploits where you sell something different than you see.
clif->skill_fail(sd, sd->ud.skill_id, USESKILL_FAIL_LEVEL, 0, 0);
clif_menuskill_clear(sd);
@@ -12478,7 +13151,7 @@ static void clif_parse_Cooking(int fd, struct map_session_data *sd)
if (type == 6 && sd->menuskill_id != GN_MIX_COOKING && sd->menuskill_id != GN_S_PHARMACY)
return;
- if (pc_istrading(sd)) {
+ if (pc_istrading(sd) || pc_isdead(sd) || pc_isvending(sd)) {
//Make it fail to avoid shop exploits where you sell something different than you see.
clif->skill_fail(sd, sd->ud.skill_id, USESKILL_FAIL_LEVEL, 0, 0);
clif_menuskill_clear(sd);
@@ -12498,7 +13171,7 @@ static void clif_parse_RepairItem(int fd, struct map_session_data *sd)
if (sd->menuskill_id != BS_REPAIRWEAPON)
return;
- if (pc_istrading(sd)) {
+ if (pc_istrading(sd) || pc_isdead(sd) || pc_isvending(sd)) {
//Make it fail to avoid shop exploits where you sell something different than you see.
clif->skill_fail(sd, sd->ud.skill_id, USESKILL_FAIL_LEVEL, 0, 0);
clif_menuskill_clear(sd);
@@ -12513,19 +13186,17 @@ static void clif_parse_WeaponRefine(int fd, struct map_session_data *sd) __attri
/// 0222 <index>.L
static void clif_parse_WeaponRefine(int fd, struct map_session_data *sd)
{
- int idx;
-
sd->state.prerefining = 0;
if (sd->menuskill_id != WS_WEAPONREFINE) //Packet exploit?
return;
- if (pc_istrading(sd)) {
+ if (pc_istrading(sd) || pc_isdead(sd) || pc_isvending(sd)) {
//Make it fail to avoid shop exploits where you sell something different than you see.
clif->skill_fail(sd, sd->ud.skill_id, USESKILL_FAIL_LEVEL, 0, 0);
clif_menuskill_clear(sd);
return;
}
- idx = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[0]);
+ int idx = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[0]);
skill->weaponrefine(sd, idx-2);
clif_menuskill_clear(sd);
}
@@ -12540,6 +13211,9 @@ static void clif_parse_NpcSelectMenu(int fd, struct map_session_data *sd) __attr
/// overflows to choice%256.
static void clif_parse_NpcSelectMenu(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int npc_id = RFIFOL(fd,2);
uint8 select = RFIFOB(fd,6);
@@ -12565,6 +13239,9 @@ static void clif_parse_NpcNextClicked(int fd, struct map_session_data *sd) __att
/// 00b9 <npc id>.L
static void clif_parse_NpcNextClicked(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
npc->scriptcont(sd,RFIFOL(fd,2), false);
}
@@ -12573,13 +13250,25 @@ static void clif_parse_NpcAmountInput(int fd, struct map_session_data *sd) __att
/// 0143 <npc id>.L <value>.L
static void clif_parse_NpcAmountInput(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
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);
}
@@ -12588,6 +13277,9 @@ static void clif_parse_NpcStringInput(int fd, struct map_session_data *sd) __att
/// 01d5 <packet len>.W <npc id>.L <string>.?B
static void clif_parse_NpcStringInput(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int len = RFIFOW(fd, 2);
// [4144] can't confirm exact client version. At least >= correct for 20150513
#if PACKETVER >= 20151029
@@ -12615,6 +13307,8 @@ static void clif_parse_NpcCloseClicked(int fd, struct map_session_data *sd)
{
if (!sd->npc_id) //Avoid parsing anything when the script was done with. [Skotlex]
return;
+ if (sd->state.trading || pc_isvending(sd))
+ return;
sd->state.dialog = 0;
npc->scriptcont(sd, RFIFOL(fd,2), true);
}
@@ -12626,6 +13320,9 @@ static void clif_parse_ItemIdentify(int fd, struct map_session_data *sd) __attri
/// -1 = cancel
static void clif_parse_ItemIdentify(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
short idx = RFIFOW(fd,2);
if (sd->menuskill_id != MC_IDENTIFY)
@@ -12644,6 +13341,9 @@ static void clif_parse_ItemIdentify(int fd, struct map_session_data *sd)
/// 0A35 <index>.W
static void clif_parse_OneClick_ItemIdentify(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int cmd = RFIFOW(fd,0);
short idx = RFIFOW(fd, packet_db[cmd].pos[0]) - 2;
int n;
@@ -12651,7 +13351,7 @@ static void clif_parse_OneClick_ItemIdentify(int fd, struct map_session_data *sd
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 &&
+ if ((n = pc->have_magnifier(sd)) != INDEX_NOT_FOUND &&
pc->delitem(sd, n, 1, 0, DELITEM_NORMAL, LOG_TYPE_CONSUME) == 0)
skill->identify(sd, idx);
}
@@ -12662,7 +13362,7 @@ static void clif_parse_SelectArrow(int fd, struct map_session_data *sd) __attrib
static void clif_parse_SelectArrow(int fd, struct map_session_data *sd)
{
int itemId;
- if (pc_istrading(sd)) {
+ if (pc_istrading(sd) || pc_isdead(sd) || pc_isvending(sd)) {
//Make it fail to avoid shop exploits where you sell something different than you see.
clif->skill_fail(sd, sd->ud.skill_id, USESKILL_FAIL_LEVEL, 0, 0);
clif_menuskill_clear(sd);
@@ -12699,6 +13399,9 @@ static void clif_parse_AutoSpell(int fd, struct map_session_data *sd) __attribut
/// 01ce <skill id>.L
static void clif_parse_AutoSpell(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
uint16 skill_id = RFIFOL(fd,2);
sd->state.workinprogress = 0;
@@ -12718,6 +13421,9 @@ static void clif_parse_UseCard(int fd, struct map_session_data *sd) __attribute_
/// 017a <card index>.W
static void clif_parse_UseCard(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
clif->use_card(sd,RFIFOW(fd,2)-2);
}
@@ -12726,6 +13432,9 @@ static void clif_parse_InsertCard(int fd, struct map_session_data *sd) __attribu
/// 017c <card index>.W <equip index>.W
static void clif_parse_InsertCard(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
pc->insert_card(sd,RFIFOW(fd,2)-2,RFIFOW(fd,4)-2);
}
@@ -12751,6 +13460,9 @@ static void clif_parse_ResetChar(int fd, struct map_session_data *sd) __attribut
/// 1 = skill
static void clif_parse_ResetChar(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
char cmd[15];
if( RFIFOW(fd,2) )
@@ -12793,7 +13505,7 @@ 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;
@@ -12814,6 +13526,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;
@@ -12830,7 +13545,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;
@@ -12846,7 +13561,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;
@@ -12933,6 +13648,9 @@ static void clif_parse_CreateParty(int fd, struct map_session_data *sd) __attrib
/// 01e8 <party name>.24B <item pickup rule>.B <item share rule>.B (CZ_MAKE_GROUP2)
static void clif_parse_CreateParty(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
char name[NAME_LENGTH];
safestrncpy(name, RFIFOP(fd,2), NAME_LENGTH);
@@ -12953,6 +13671,9 @@ static void clif_parse_CreateParty(int fd, struct map_session_data *sd)
static void clif_parse_CreateParty2(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_CreateParty2(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
char name[NAME_LENGTH];
int item1 = RFIFOB(fd,26);
int item2 = RFIFOB(fd,27);
@@ -12978,6 +13699,9 @@ static void clif_parse_PartyInvite(int fd, struct map_session_data *sd) __attrib
/// 02c4 <char name>.24B (CZ_PARTY_JOIN_REQ)
static void clif_parse_PartyInvite(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
struct map_session_data *t_sd;
if(map->list[sd->bl.m].flag.partylock) {
@@ -12999,6 +13723,9 @@ static void clif_parse_PartyInvite(int fd, struct map_session_data *sd)
static void clif_parse_PartyInvite2(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_PartyInvite2(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
struct map_session_data *t_sd;
char name[NAME_LENGTH];
@@ -13010,7 +13737,7 @@ static void clif_parse_PartyInvite2(int fd, struct map_session_data *sd)
return;
}
- t_sd = map->nick2sd(name);
+ t_sd = map->nick2sd(name, true);
if(t_sd && t_sd->state.noask) { // @noask [LuzZza]
clif->noask_sub(sd, t_sd, 1);
@@ -13029,13 +13756,23 @@ static void clif_parse_ReplyPartyInvite(int fd, struct map_session_data *sd) __a
/// 1 = accept
static void clif_parse_ReplyPartyInvite(int fd, struct map_session_data *sd)
{
- party->reply_invite(sd,RFIFOL(fd,2),RFIFOL(fd,6));
+ if (pc_istrading(sd) || pc_isvending(sd)) {
+ party->reply_invite(sd, RFIFOL(fd, 2), 0);
+ return;
+ }
+
+ party->reply_invite(sd, RFIFOL(fd, 2), RFIFOL(fd, 6));
}
static void clif_parse_ReplyPartyInvite2(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_ReplyPartyInvite2(int fd, struct map_session_data *sd)
{
- party->reply_invite(sd,RFIFOL(fd,2),RFIFOB(fd,6));
+ if (pc_istrading(sd) || pc_isvending(sd)) {
+ party->reply_invite(sd, RFIFOL(fd, 2), 0);
+ return;
+ }
+
+ party->reply_invite(sd, RFIFOL(fd, 2), RFIFOB(fd, 6));
}
static void clif_parse_LeaveParty(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -13043,7 +13780,10 @@ static void clif_parse_LeaveParty(int fd, struct map_session_data *sd) __attribu
/// 0100
static void clif_parse_LeaveParty(int fd, struct map_session_data *sd)
{
- if(map->list[sd->bl.m].flag.partylock) {
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
+ if (map->list[sd->bl.m].flag.partylock) {
// Party locked.
clif->message(fd, msg_fd(fd,227)); // Party modification is disabled in this map.
return;
@@ -13056,12 +13796,15 @@ static void clif_parse_RemovePartyMember(int fd, struct map_session_data *sd) __
/// 0103 <account id>.L <char name>.24B
static void clif_parse_RemovePartyMember(int fd, struct map_session_data *sd)
{
- if(map->list[sd->bl.m].flag.partylock) {
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
+ if (map->list[sd->bl.m].flag.partylock) {
// Party locked.
clif->message(fd, msg_fd(fd,227)); // Party modification is disabled in this map.
return;
}
- party->removemember(sd, RFIFOL(fd,2), RFIFOP(fd,6));
+ party->removemember(sd, RFIFOL(fd, 2), RFIFOP(fd, 6));
}
static void clif_parse_PartyChangeOption(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -13070,6 +13813,9 @@ static void clif_parse_PartyChangeOption(int fd, struct map_session_data *sd) __
/// 07d7 <exp share rule>.L <item pickup rule>.B <item share rule>.B (CZ_GROUPINFO_CHANGE_V2)
static void clif_parse_PartyChangeOption(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
struct party_data *p;
int i;
@@ -13122,6 +13868,9 @@ static void clif_parse_PartyChangeLeader(int fd, struct map_session_data *sd) __
/// 07da <account id>.L
static void clif_parse_PartyChangeLeader(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
party->changeleader(sd, map->id2sd(RFIFOL(fd,2)));
}
@@ -13134,6 +13883,9 @@ static void clif_parse_PartyBookingRegisterReq(int fd, struct map_session_data *
static void clif_parse_PartyBookingRegisterReq(int fd, struct map_session_data *sd)
{
#ifndef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
short level = RFIFOW(fd,2);
short mapid = RFIFOW(fd,4);
short job[PARTY_BOOKING_JOBS];
@@ -13176,6 +13928,9 @@ static void clif_parse_PartyBookingSearchReq(int fd, struct map_session_data *sd
static void clif_parse_PartyBookingSearchReq(int fd, struct map_session_data *sd)
{
#ifndef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
short level = RFIFOW(fd,2);
short mapid = RFIFOW(fd,4);
short job = RFIFOW(fd,6);
@@ -13227,7 +13982,10 @@ static void clif_parse_PartyBookingDeleteReq(int fd, struct map_session_data *sd
static void clif_parse_PartyBookingDeleteReq(int fd, struct map_session_data *sd)
{
#ifndef PARTY_RECRUIT
- if(party->booking_delete(sd))
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
+ if (party->booking_delete(sd))
clif->PartyBookingDeleteAck(sd, 0);
#else
return;
@@ -13263,11 +14021,13 @@ static void clif_parse_PartyBookingUpdateReq(int fd, struct map_session_data *sd
static void clif_parse_PartyBookingUpdateReq(int fd, struct map_session_data *sd)
{
#ifndef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
short job[PARTY_BOOKING_JOBS];
- int i;
- for(i=0; i<PARTY_BOOKING_JOBS; i++)
- job[i] = RFIFOW(fd,2+i*2);
+ for (int i = 0; i < PARTY_BOOKING_JOBS; i++)
+ job[i] = RFIFOW(fd, 2 + i * 2);
party->booking_update(sd, job);
#else
@@ -13280,8 +14040,11 @@ static void clif_parse_PartyBookingUpdateReq(int fd, struct map_session_data *sd
static void clif_PartyBookingInsertNotify(struct map_session_data *sd, struct party_booking_ad_info *pb_ad)
{
#ifndef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
int i;
- uint8 buf[38+PARTY_BOOKING_JOBS*2];
+ uint8 buf[38 + PARTY_BOOKING_JOBS * 2];
nullpo_retv(sd);
if(pb_ad == NULL) return;
@@ -13348,7 +14111,10 @@ static void clif_parse_PartyRecruitRegisterReq(int fd, struct map_session_data *
static void clif_parse_PartyRecruitRegisterReq(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
- short level = RFIFOW(fd,2);
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
+ short level = RFIFOW(fd, 2);
const char *notice = RFIFOP(fd, 4);
party->recruit_register(sd, level, notice);
@@ -13419,6 +14185,9 @@ static void clif_parse_PartyRecruitSearchReq(int fd, struct map_session_data *sd
static void clif_parse_PartyRecruitSearchReq(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
short level = RFIFOW(fd, 2);
short mapid = RFIFOW(fd, 4);
unsigned long lastindex = RFIFOL(fd, 6);
@@ -13436,7 +14205,10 @@ static void clif_parse_PartyRecruitDeleteReq(int fd, struct map_session_data *sd
static void clif_parse_PartyRecruitDeleteReq(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
- if(party->booking_delete(sd))
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
+ if (party->booking_delete(sd))
clif->PartyRecruitDeleteAck(sd, 0);
#else
return;
@@ -13472,6 +14244,9 @@ static void clif_parse_PartyRecruitUpdateReq(int fd, struct map_session_data *sd
static void clif_parse_PartyRecruitUpdateReq(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
const char *notice = RFIFOP(fd, 2);
party->recruit_update(sd, notice);
@@ -13545,6 +14320,9 @@ static void clif_parse_PartyBookingAddFilteringList(int fd, struct map_session_d
static void clif_parse_PartyBookingAddFilteringList(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
int index = RFIFOL(fd, 2);
clif->PartyBookingAddFilteringList(index, sd);
@@ -13559,6 +14337,9 @@ static void clif_parse_PartyBookingSubFilteringList(int fd, struct map_session_d
static void clif_parse_PartyBookingSubFilteringList(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
int gid = RFIFOL(fd, 2);
clif->PartyBookingSubFilteringList(gid, sd);
@@ -13573,6 +14354,9 @@ static void clif_parse_PartyBookingReqVolunteer(int fd, struct map_session_data
static void clif_parse_PartyBookingReqVolunteer(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
int index = RFIFOL(fd, 2);
clif->PartyBookingVolunteerInfo(index, sd);
@@ -13649,6 +14433,9 @@ static void clif_parse_PartyBookingRefuseVolunteer(int fd, struct map_session_da
static void clif_parse_PartyBookingRefuseVolunteer(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
unsigned int aid = RFIFOL(fd, 2);
clif->PartyBookingRefuseVolunteer(aid, sd);
@@ -13678,6 +14465,9 @@ static void clif_parse_PartyBookingCancelVolunteer(int fd, struct map_session_da
static void clif_parse_PartyBookingCancelVolunteer(int fd, struct map_session_data *sd)
{
#ifdef PARTY_RECRUIT
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
int index = RFIFOL(fd, 2);
clif->PartyBookingCancelVolunteer(index, sd);
@@ -13753,6 +14543,9 @@ static void clif_parse_CloseVending(int fd, struct map_session_data *sd) __attri
/// 012e
static void clif_parse_CloseVending(int fd, struct map_session_data *sd)
{
+ if (sd->npc_id || sd->state.buyingstore || sd->state.trading)
+ return;
+
vending->close(sd);
}
@@ -13761,6 +14554,9 @@ static void clif_parse_VendingListReq(int fd, struct map_session_data *sd) __att
/// 0130 <account id>.L
static void clif_parse_VendingListReq(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isdead(sd))
+ return;
+
if( sd->npc_id ) {// using an NPC
return;
}
@@ -13772,6 +14568,9 @@ static void clif_parse_PurchaseReq(int fd, struct map_session_data *sd) __attrib
/// 0134 <packet len>.W <account id>.L { <amount>.W <index>.W }*
static void clif_parse_PurchaseReq(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int len = (int)RFIFOW(fd, 2) - 8;
int id;
const uint8 *data;
@@ -13793,6 +14592,9 @@ static void clif_parse_PurchaseReq2(int fd, struct map_session_data *sd) __attri
/// 0801 <packet len>.W <account id>.L <unique id>.L { <amount>.W <index>.W }*
static void clif_parse_PurchaseReq2(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int len = (int)RFIFOW(fd, 2) - 12;
int aid;
int uid;
@@ -13819,25 +14621,25 @@ static void clif_parse_OpenVending(int fd, struct map_session_data *sd) __attrib
/// 1 = open
static void clif_parse_OpenVending(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isdead(sd) || sd->state.vending || sd->state.buyingstore)
+ return;
+
int len = (int)RFIFOW(fd, 2) - 85;
- const char *message;
- bool flag;
- const uint8 *data;
if (len < 0)
return;
- message = RFIFOP(fd,4);
- flag = (RFIFOB(fd,84) != 0) ? true : false;
- data = RFIFOP(fd,85);
+ const char *message = RFIFOP(fd, 4);
+ bool flag = (RFIFOB(fd, 84) != 0) ? true : false;
+ const uint8 *data = RFIFOP(fd, 85);
- if( !flag )
+ if (!flag)
sd->state.prevend = sd->state.workinprogress = 0;
- if(pc_ismuted(&sd->sc, MANNER_NOROOM))
+ if (pc_ismuted(&sd->sc, MANNER_NOROOM))
return;
- if( map->list[sd->bl.m].flag.novending ) {
- clif->message (sd->fd, msg_sd(sd,276)); // "You can't open a shop on this map"
+ if (map->list[sd->bl.m].flag.novending) {
+ clif->message (sd->fd, msg_sd(sd, 276)); // "You can't open a shop on this map"
return;
}
if (map->getcell(sd->bl.m, &sd->bl, sd->bl.x, sd->bl.y, CELL_CHKNOVENDING)) {
@@ -13856,11 +14658,14 @@ static void clif_parse_CreateGuild(int fd, struct map_session_data *sd) __attrib
/// 0165 <char id>.L <guild name>.24B
static void clif_parse_CreateGuild(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
char name[NAME_LENGTH];
safestrncpy(name, RFIFOP(fd,6), NAME_LENGTH);
- if(map->list[sd->bl.m].flag.guildlock) {
- clif->message(fd, msg_fd(fd,228)); // Guild modification is disabled in this map.
+ if (map->list[sd->bl.m].flag.guildlock) {
+ clif->message(fd, msg_fd(fd, 228)); // Guild modification is disabled in this map.
return;
}
@@ -13895,6 +14700,7 @@ static void clif_parse_GuildRequestInfo(int fd, struct map_session_data *sd)
case 0: // Basic Information Guild, hostile alliance information
clif->guild_basicinfo(sd);
clif->guild_allianceinfo(sd);
+ clif->guild_castlelist(sd);
break;
case 1: // Members list, list job title
clif->guild_positionnamelist(sd);
@@ -13921,6 +14727,9 @@ static void clif_parse_GuildChangePositionInfo(int fd, struct map_session_data *
/// 0161 <packet len>.W { <position id>.L <mode>.L <ranking>.L <pay rate>.L <name>.24B }*
static void clif_parse_GuildChangePositionInfo(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int i;
int count = (RFIFOW(fd, 2) - 4) / 40;
@@ -13938,6 +14747,9 @@ static void clif_parse_GuildChangeMemberPosition(int fd, struct map_session_data
/// 0155 <packet len>.W { <account id>.L <char id>.L <position id>.L }*
static void clif_parse_GuildChangeMemberPosition(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int i;
int len = RFIFOW(fd, 2);
int count = (len - 4) / 12;
@@ -14103,10 +14915,13 @@ static void clif_parse_GuildChangeEmblem(int fd, struct map_session_data *sd) __
/// 0153 <packet len>.W <emblem data>.?B
static void clif_parse_GuildChangeEmblem(int fd, struct map_session_data *sd)
{
- unsigned int emblem_len = RFIFOW(fd,2)-4;
- const uint8* emblem = RFIFOP(fd,4);
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
- if( !emblem_len || !sd->state.gmaster_flag )
+ unsigned int emblem_len = RFIFOW(fd, 2) - 4;
+ const uint8* emblem = RFIFOP(fd, 4);
+
+ if (!emblem_len || !sd->state.gmaster_flag)
return;
if (!clif->validate_emblem(emblem, emblem_len)) {
@@ -14123,7 +14938,10 @@ static void clif_parse_GuildChangeNotice(int fd, struct map_session_data *sd) __
/// 016e <guild id>.L <msg1>.60B <msg2>.120B
static void clif_parse_GuildChangeNotice(int fd, struct map_session_data *sd)
{
- int guild_id = RFIFOL(fd,2);
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ int guild_id = RFIFOL(fd, 2);
char *msg1 = NULL, *msg2 = NULL;
if (!sd->state.gmaster_flag)
@@ -14175,6 +14993,9 @@ static void clif_parse_GuildInvite(int fd, struct map_session_data *sd) __attrib
/// 0168 <account id>.L <inviter account id>.L <inviter char id>.L
static void clif_parse_GuildInvite(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct map_session_data *t_sd = map->id2sd(RFIFOL(fd,2));
if (!clif_sub_guild_invite(fd, sd, t_sd))
@@ -14190,7 +15011,7 @@ static void clif_parse_GuildInvite2(int fd, struct map_session_data *sd)
struct map_session_data *t_sd = NULL;
safestrncpy(nick, RFIFOP(fd, 2), NAME_LENGTH);
- t_sd = map->nick2sd(nick);
+ t_sd = map->nick2sd(nick, true);
clif_sub_guild_invite(fd, sd, t_sd);
}
@@ -14203,7 +15024,7 @@ static void clif_parse_GuildReplyInvite(int fd, struct map_session_data *sd) __a
/// 1 = accept
static void clif_parse_GuildReplyInvite(int fd, struct map_session_data *sd)
{
- guild->reply_invite(sd,RFIFOL(fd,2),RFIFOL(fd,6));
+ guild->reply_invite(sd, RFIFOL(fd, 2), RFIFOL(fd, 6));
}
static void clif_parse_GuildLeave(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -14211,16 +15032,19 @@ static void clif_parse_GuildLeave(int fd, struct map_session_data *sd) __attribu
/// 0159 <guild id>.L <account id>.L <char id>.L <reason>.40B
static void clif_parse_GuildLeave(int fd, struct map_session_data *sd)
{
- if(map->list[sd->bl.m].flag.guildlock) {
- clif->message(fd, msg_fd(fd,228)); // Guild modification is disabled in this map.
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ if (map->list[sd->bl.m].flag.guildlock) {
+ clif->message(fd, msg_fd(fd, 228)); // Guild modification is disabled in this map.
return;
}
- if( sd->bg_id ) {
- clif->message(fd, msg_fd(fd,870)); //"You can't leave battleground guilds."
+ if (sd->bg_id) {
+ clif->message(fd, msg_fd(fd, 870)); //"You can't leave battleground guilds."
return;
}
- guild->leave(sd,RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOP(fd,14));
+ guild->leave(sd, RFIFOL(fd, 2), RFIFOL(fd, 6), RFIFOL(fd, 10), RFIFOP(fd, 14));
}
static void clif_parse_GuildExpulsion(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -14228,11 +15052,14 @@ static void clif_parse_GuildExpulsion(int fd, struct map_session_data *sd) __att
/// 015b <guild id>.L <account id>.L <char id>.L <reason>.40B
static void clif_parse_GuildExpulsion(int fd, struct map_session_data *sd)
{
- if( map->list[sd->bl.m].flag.guildlock || sd->bg_id ) {
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ if (map->list[sd->bl.m].flag.guildlock || sd->bg_id) {
clif->message(fd, msg_fd(fd,228)); // Guild modification is disabled in this map.
return;
}
- guild->expulsion(sd, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOP(fd,14));
+ guild->expulsion(sd, RFIFOL(fd, 2), RFIFOL(fd, 6), RFIFOL(fd, 10), RFIFOP(fd, 14));
}
/**
@@ -14265,6 +15092,9 @@ static void clif_parse_GuildRequestAlliance(int fd, struct map_session_data *sd)
/// 0170 <account id>.L <inviter account id>.L <inviter char id>.L
static void clif_parse_GuildRequestAlliance(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct map_session_data *t_sd;
if(!sd->state.gmaster_flag)
@@ -14305,6 +15135,9 @@ static void clif_parse_GuildDelAlliance(int fd, struct map_session_data *sd) __a
/// 1 = Enemy
static void clif_parse_GuildDelAlliance(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
if(!sd->state.gmaster_flag)
return;
@@ -14320,6 +15153,9 @@ static void clif_parse_GuildOpposition(int fd, struct map_session_data *sd) __at
/// 0180 <account id>.L
static void clif_parse_GuildOpposition(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct map_session_data *t_sd;
if(!sd->state.gmaster_flag)
@@ -14349,6 +15185,9 @@ static void clif_parse_GuildBreak(int fd, struct map_session_data *sd) __attribu
/// field name and size is same as the one in CH_DELETE_CHAR.
static void clif_parse_GuildBreak(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
char key[40];
if( map->list[sd->bl.m].flag.guildlock ) {
clif->message(fd, msg_fd(fd,228)); // Guild modification is disabled in this map.
@@ -14372,7 +15211,10 @@ static void clif_parse_PetMenu(int fd, struct map_session_data *sd) __attribute_
/// 4 = unequip accessory
static void clif_parse_PetMenu(int fd, struct map_session_data *sd)
{
- pet->menu(sd,RFIFOB(fd,2));
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ pet->menu(sd, RFIFOB(fd, 2));
}
static void clif_parse_CatchPet(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -14380,7 +15222,10 @@ static void clif_parse_CatchPet(int fd, struct map_session_data *sd) __attribute
/// 019f <id>.L
static void clif_parse_CatchPet(int fd, struct map_session_data *sd)
{
- pet->catch_process2(sd,RFIFOL(fd,2));
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ pet->catch_process2(sd, RFIFOL(fd, 2));
}
static void clif_parse_SelectEgg(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -14388,10 +15233,13 @@ static void clif_parse_SelectEgg(int fd, struct map_session_data *sd) __attribut
/// 01a7 <index>.W
static void clif_parse_SelectEgg(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
if (sd->menuskill_id != SA_TAMINGMONSTER || sd->menuskill_val != -1) {
return;
}
- pet->select_egg(sd,RFIFOW(fd,2)-2);
+ pet->select_egg(sd, RFIFOW(fd, 2) - 2);
clif_menuskill_clear(sd);
}
@@ -14431,58 +15279,74 @@ static void clif_parse_ChangePetName(int fd, struct map_session_data *sd) __attr
/// 01a5 <name>.24B
static void clif_parse_ChangePetName(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
pet->change_name(sd, RFIFOP(fd,2));
}
+/**
+ * Request to evolve the pet. (CZ_PET_EVOLUTION)
+ *
+ * @code
+ * 09fb <Length>.W <EvolvedPetEggID>.W {<index>.W <amount>.W}*items
+ * @endcode
+ *
+ * @param fd The incoming file descriptor.
+ * @param sd The related character.
+ *
+ **/
static void clif_parse_pet_evolution(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-/// Request to Evolve the pet (CZ_PET_EVOLUTION) [Dastgir/Hercules]
-/// 09fb <Length>.W <EvolvedPetEggID>.W {<index>.W <amount>.W}*items
static void clif_parse_pet_evolution(int fd, struct map_session_data *sd)
{
- const struct PACKET_CZ_PET_EVOLUTION *p = RP2PTR(fd);
- int i = 0, idx, petIndex;
-
- Assert_retv(p->PacketLength >= (uint16)sizeof(struct PACKET_CZ_PET_EVOLUTION));
+ if (sd->state.trading != 0 || pc_isdead(sd) || pc_isvending(sd))
+ return;
- if (sd->status.pet_id == 0) {
+ if (sd->pd == NULL || sd->status.pet_id == 0) { // No pet.
clif->petEvolutionResult(fd, PET_EVOL_NO_CALLPET);
return;
}
- 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]));
+ int inv_index;
- if (idx == sd->status.inventorySize) {
+ ARR_FIND(0, sd->status.inventorySize, inv_index, sd->status.inventory[inv_index].card[0] == CARD0_PET
+ && sd->status.pet_id == MakeDWord(sd->status.inventory[inv_index].card[1],
+ sd->status.inventory[inv_index].card[2]));
+
+ if (inv_index == sd->status.inventorySize) { // No pet egg.
clif->petEvolutionResult(fd, PET_EVOL_NO_PETEGG);
return;
}
- // Not Loyal Yet
- if (sd->pd == NULL || sd->pd->pet.intimate < 900) {
+ if (sd->pd->pet.intimate < PET_INTIMACY_LOYAL) { // Pet isn't loyal.
clif->petEvolutionResult(fd, PET_EVOL_RG_FAMILIAR);
return;
}
- ARR_FIND(0, MAX_PET_DB, petIndex, pet->db[petIndex].class_ == sd->pd->pet.class_);
+ int pet_index;
+
+ ARR_FIND(0, MAX_PET_DB, pet_index, pet->db[pet_index].class_ == sd->pd->pet.class_);
- if (petIndex == MAX_PET_DB) {
- // Which error?
- clif->petEvolutionResult(fd, PET_EVOL_UNKNOWN);
+ if (pet_index == MAX_PET_DB) {
+ clif->petEvolutionResult(fd, PET_EVOL_UNKNOWN); // Which error?
return;
}
+ const struct PACKET_CZ_PET_EVOLUTION *p = RP2PTR(fd);
+
+ Assert_retv(p->PacketLength >= (uint16)sizeof(struct PACKET_CZ_PET_EVOLUTION));
+
// Client side validation is not done as it is insecure.
- for (i = 0; i < VECTOR_LENGTH(pet->db[petIndex].evolve_data); i++) {
- struct pet_evolve_data *ped = &VECTOR_INDEX(pet->db[petIndex].evolve_data, i);
- if (ped->petEggId == p->EvolvedPetEggID) {
- int j;
- int pet_id;
+ for (int i = 0; i < VECTOR_LENGTH(pet->db[pet_index].evolve_data); i++) {
+ struct pet_evolve_data *ped = &VECTOR_INDEX(pet->db[pet_index].evolve_data, i);
+ if (ped->petEggId == p->EvolvedPetEggID) {
if (VECTOR_LENGTH(ped->items) == 0) {
clif->petEvolutionResult(fd, PET_EVOL_NO_RECIPE);
return;
}
- for (j = 0; j < VECTOR_LENGTH(ped->items); j++) {
+
+ for (int j = 0; j < VECTOR_LENGTH(ped->items); j++) {
struct itemlist_entry *list = &VECTOR_INDEX(ped->items, j);
int n = pc->search_inventory(sd, list->id);
@@ -14492,7 +15356,7 @@ static void clif_parse_pet_evolution(int fd, struct map_session_data *sd)
}
}
- for (j = 0; j < VECTOR_LENGTH(ped->items); j++) {
+ for (int j = 0; j < VECTOR_LENGTH(ped->items); j++) {
struct itemlist_entry *list = &VECTOR_INDEX(ped->items, j);
int n = pc->search_inventory(sd, list->id);
@@ -14502,27 +15366,26 @@ static void clif_parse_pet_evolution(int fd, struct map_session_data *sd)
}
}
- // Return to Egg
- pet->return_egg(sd, sd->pd);
+ pet->return_egg(sd, sd->pd); // Return pet to egg.
- if (pc->delitem(sd, idx, 1, 0, DELITEM_NORMAL, LOG_TYPE_EGG) == 1) {
+ if (pc->delitem(sd, inv_index, 1, 0, DELITEM_NORMAL, LOG_TYPE_EGG) == 1) {
clif->petEvolutionResult(fd, PET_EVOL_NO_PETEGG);
return;
}
- pet_id = pet->search_petDB_index(ped->petEggId, PET_EGG);
+ int pet_id = pet->search_petDB_index(ped->petEggId, PET_EGG);
+
if (pet_id >= 0) {
sd->catch_target_class = pet->db[pet_id].class_;
-
- intif->create_pet(
- sd->status.account_id, sd->status.char_id,
- 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);
+ intif->create_pet(sd->status.account_id, sd->status.char_id, 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, PET_HUNGER_STUFFED,
+ 0, 1, pet->db[pet_id].jname);
clif->petEvolutionResult(fd, PET_EVOL_SUCCESS);
} else {
clif->petEvolutionResult(fd, PET_EVOL_UNKNOWN);
}
+
return;
}
}
@@ -14593,8 +15456,8 @@ static void clif_parse_GMKick(int fd, struct map_session_data *sd)
clif->GM_kickack(sd, 0);
return;
}
- npc->unload_duplicates(nd);
- npc->unload(nd,true);
+ npc->unload_duplicates(nd, true);
+ npc->unload(nd, true, true);
npc->read_event_script();
}
break;
@@ -14627,7 +15490,7 @@ static void clif_parse_GMShift(int fd, struct map_session_data *sd)
{
// FIXME: remove is supposed to receive account name for clients prior 20100803RE
char player_name[NAME_LENGTH];
- char command[NAME_LENGTH+8];
+ char command[NAME_LENGTH + 20];
safestrncpy(player_name, RFIFOP(fd,2), NAME_LENGTH);
@@ -14646,7 +15509,7 @@ static void clif_parse_GMRemove2(int fd, struct map_session_data *sd)
account_id = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[0]);
if( (pl_sd = map->id2sd(account_id)) != NULL ) {
- char command[NAME_LENGTH+8];
+ char command[NAME_LENGTH + 20];
sprintf(command, "%cjumpto %s", atcommand->at_symbol, pl_sd->status.name);
atcommand->exec(fd, sd, command, true);
}
@@ -14683,7 +15546,7 @@ static void clif_parse_GMRecall2(int fd, struct map_session_data *sd)
account_id = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[0]);
if( (pl_sd = map->id2sd(account_id)) != NULL ) {
- char command[NAME_LENGTH+8];
+ char command[NAME_LENGTH + 20];
sprintf(command, "%crecall %s", atcommand->at_symbol, pl_sd->status.name);
atcommand->exec(fd, sd, command, true);
}
@@ -14714,7 +15577,7 @@ static void clif_parse_GM_Monster_Item(int fd, struct map_session_data *sd)
safestrncpy(item_monster_name, p->str, sizeof(item_monster_name));
- if ( (count=itemdb->search_name_array(item_array, 10, item_monster_name, 1)) > 0 ) {
+ if ( (count=itemdb->search_name_array(item_array, 10, item_monster_name, IT_SEARCH_NAME_EXACT)) > 0 ) {
for(i = 0; i < count; i++) {
if( !item_array[i] )
continue;
@@ -15014,6 +15877,9 @@ static void clif_parse_NoviceDoriDori(int fd, struct map_session_data *sd) __att
/// 01e7
static void clif_parse_NoviceDoriDori(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
if (sd->state.doridori) return;
switch (sd->job & MAPID_UPPERMASK) {
@@ -15040,6 +15906,9 @@ static void clif_parse_NoviceExplosionSpirits(int fd, struct map_session_data *s
/// "Help me out~ Please~ T_T"
static void clif_parse_NoviceExplosionSpirits(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
/* [Ind/Hercules] */
/* game client is currently broken on this (not sure the packetver range) */
/* it sends the request when the criteria doesn't match (and of course we let it fail) */
@@ -15183,13 +16052,16 @@ static void clif_parse_FriendsListAdd(int fd, struct map_session_data *sd) __att
/// 0202 <name>.24B
static void clif_parse_FriendsListAdd(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct map_session_data *f_sd;
int i;
char nick[NAME_LENGTH];
safestrncpy(nick, RFIFOP(fd,2), NAME_LENGTH);
- f_sd = map->nick2sd(nick);
+ f_sd = map->nick2sd(nick, true);
// ensure that the request player's friend list is not full
ARR_FIND(0, MAX_FRIENDS, i, sd->status.friends[i].char_id == 0);
@@ -15304,6 +16176,9 @@ static void clif_parse_FriendsListRemove(int fd, struct map_session_data *sd) __
/// 0203 <account id>.L <char id>.L
static void clif_parse_FriendsListRemove(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct map_session_data *f_sd = NULL;
int account_id, char_id;
int i, j;
@@ -15393,60 +16268,98 @@ static void clif_parse_PVPInfo(int fd, struct map_session_data *sd)
/// Ranking list
/// ranking pointlist { <name>.24B <point>.L }*10
-static void clif_ranklist_sub(unsigned char *buf, enum fame_list_type type)
+static void clif_ranklist_sub(struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type)
{
- const char* name;
- struct fame_list* list;
- int i;
+#if !(PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190724)
+ nullpo_retv(ranks);
- nullpo_retv(buf);
- switch( type ) {
+ struct fame_list* list;
+ switch (type) {
case RANKTYPE_BLACKSMITH: list = pc->smith_fame_list; break;
case RANKTYPE_ALCHEMIST: list = pc->chemist_fame_list; break;
case RANKTYPE_TAEKWON: list = pc->taekwon_fame_list; break;
default: return; // Unsupported
}
+ int i;
// Packet size limits this list to 10 elements. [Skotlex]
- for( i = 0; i < 10 && i < MAX_FAME_LIST; i++ ) {
- if( list[i].id > 0 ) {
- if( strcmp(list[i].name, "-") == 0 && (name = map->charid2nick(list[i].id)) != NULL ) {
- strncpy(WBUFP(buf, 24 * i), name, NAME_LENGTH);
+ for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) {
+ if (list[i].id > 0) {
+ const char* name;
+ if (strcmp(list[i].name, "-") == 0 && (name = map->charid2nick(list[i].id)) != NULL) {
+ strncpy(ranks->names[i].name, name, NAME_LENGTH);
} else {
- strncpy(WBUFP(buf, 24 * i), list[i].name, NAME_LENGTH);
+ strncpy(ranks->names[i].name, list[i].name, NAME_LENGTH);
}
} else {
- strncpy(WBUFP(buf, 24 * i), "None", 5);
+ strncpy(ranks->names[i].name, "None", 5);
}
- WBUFL(buf, 24 * 10 + i * 4) = list[i].fame; //points
+ ranks->points[i].points = list[i].fame; //points
}
- for( ;i < 10; i++ ) { // In case the MAX is less than 10.
- strncpy(WBUFP(buf, 24 * i), "Unavailable", 12);
- WBUFL(buf, 24 * 10 + i * 4) = 0;
+ for (;i < 10; i++) { // In case the MAX is less than 10.
+ strncpy(ranks->names[i].name, "Unavailable", 12);
+ ranks->points[i].points = 0;
}
+#endif
+}
+
+static void clif_ranklist_sub2(uint32 *chars, uint32 *points, enum fame_list_type type)
+{
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190724
+ nullpo_retv(chars);
+ nullpo_retv(points);
+
+ struct fame_list* list;
+ switch (type) {
+ case RANKTYPE_BLACKSMITH: list = pc->smith_fame_list; break;
+ case RANKTYPE_ALCHEMIST: list = pc->chemist_fame_list; break;
+ case RANKTYPE_TAEKWON: list = pc->taekwon_fame_list; break;
+ default: return; // Unsupported
+ }
+
+ int i;
+ // Packet size limits this list to 10 elements. [Skotlex]
+ for (i = 0; i < 10 && i < MAX_FAME_LIST; i++) {
+ if (list[i].id > 0) {
+ chars[i] = list[i].id;
+ } else {
+ chars[i] = 0;
+ }
+ points[i] = list[i].fame; //points
+ }
+ for (;i < 10; i++) { // In case the MAX is less than 10.
+ chars[i] = 0;
+ points[i] = 0;
+ }
+#endif
}
/// 097d <RankingType>.W {<CharName>.24B <point>L}*10 <mypoint>L (ZC_ACK_RANKING)
static void clif_ranklist(struct map_session_data *sd, enum fame_list_type type)
{
-#if PACKETVER >= 20120502
- int fd;
- int len = packet_len(0x97d);
-
+#if PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO)
nullpo_retv(sd);
- fd = sd->fd;
- WFIFOHEAD(fd, len);
- WFIFOW(fd, 0) = 0x97d;
- WFIFOW(fd, 2) = type;
- clif_ranklist_sub(WFIFOP(fd,4), type);
+ int fd = sd->fd;
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_ACK_RANKING));
+ struct PACKET_ZC_ACK_RANKING *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_ACK_RANKING;
+ p->rankType = type;
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190724
+PRAGMA_GCC9(GCC diagnostic push)
+PRAGMA_GCC9(GCC diagnostic ignored "-Waddress-of-packed-member")
+ clif->ranklist_sub2(p->chars, p->points, type);
+PRAGMA_GCC9(GCC diagnostic pop)
+#else
+ clif->ranklist_sub(&p->ranks, type);
+#endif
if (pc->famelist_type(sd->job) == type) {
- WFIFOL(fd, 284) = sd->status.fame; //mypoint
+ p->myPoints = sd->status.fame; //mypoint
} else {
- WFIFOL(fd, 284) = 0; //mypoint
+ p->myPoints = 0; //mypoint
}
- WFIFOSET(fd, len);
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_ACK_RANKING));
#endif
}
@@ -15496,14 +16409,16 @@ static void clif_update_rankingpoint(struct map_session_data *sd, enum fame_list
/// 0219 { <name>.24B }*10 { <point>.L }*10
static void clif_blacksmith(struct map_session_data *sd)
{
+#if !(PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO))
int fd;
nullpo_retv(sd);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x219));
WFIFOW(fd,0) = 0x219;
- clif_ranklist_sub(WFIFOP(fd, 2), RANKTYPE_BLACKSMITH);
+ clif->ranklist_sub(WFIFOP(fd, 2), RANKTYPE_BLACKSMITH);
WFIFOSET(fd, packet_len(0x219));
+#endif
}
static void clif_parse_Blacksmith(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -15533,14 +16448,16 @@ static void clif_fame_blacksmith(struct map_session_data *sd, int points)
/// 021a { <name>.24B }*10 { <point>.L }*10
static void clif_alchemist(struct map_session_data *sd)
{
+#if !(PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO))
int fd;
nullpo_retv(sd);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x21a));
WFIFOW(fd,0) = 0x21a;
- clif_ranklist_sub(WFIFOP(fd,2), RANKTYPE_ALCHEMIST);
+ clif->ranklist_sub(WFIFOP(fd,2), RANKTYPE_ALCHEMIST);
WFIFOSET(fd, packet_len(0x21a));
+#endif
}
static void clif_parse_Alchemist(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -15570,14 +16487,16 @@ static void clif_fame_alchemist(struct map_session_data *sd, int points)
/// 0226 { <name>.24B }*10 { <point>.L }*10
static void clif_taekwon(struct map_session_data *sd)
{
+#if !(PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO))
int fd;
nullpo_retv(sd);
fd = sd->fd;
WFIFOHEAD(fd,packet_len(0x226));
WFIFOW(fd,0) = 0x226;
- clif_ranklist_sub(WFIFOP(fd,2), RANKTYPE_TAEKWON);
+ clif->ranklist_sub(WFIFOP(fd,2), RANKTYPE_TAEKWON);
WFIFOSET(fd, packet_len(0x226));
+#endif
}
static void clif_parse_Taekwon(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -15637,6 +16556,9 @@ static void clif_parse_FeelSaveOk(int fd, struct map_session_data *sd) __attribu
/// 2 = star
static void clif_parse_FeelSaveOk(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int i;
if (sd->menuskill_id != SG_FEEL)
return;
@@ -15661,6 +16583,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);
@@ -15677,6 +16600,9 @@ static void clif_parse_ChangeHomunculusName(int fd, struct map_session_data *sd)
/// 0231 <name>.24B
static void clif_parse_ChangeHomunculusName(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
homun->change_name(sd, RFIFOP(fd,2));
}
@@ -15685,6 +16611,9 @@ static void clif_parse_HomMoveToMaster(int fd, struct map_session_data *sd) __at
/// 0234 <id>.L
static void clif_parse_HomMoveToMaster(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int id = RFIFOL(fd,2); // Mercenary or Homunculus
struct block_list *bl = NULL;
struct unit_data *ud = NULL;
@@ -15698,7 +16627,7 @@ static void clif_parse_HomMoveToMaster(int fd, struct map_session_data *sd)
unit->calc_pos(bl, sd->bl.x, sd->bl.y, sd->ud.dir);
ud = unit->bl2ud(bl);
- unit->walktoxy(bl, ud->to_x, ud->to_y, 4);
+ unit->walk_toxy(bl, ud->to_x, ud->to_y, 4);
}
static void clif_parse_HomMoveTo(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -15706,6 +16635,9 @@ static void clif_parse_HomMoveTo(int fd, struct map_session_data *sd) __attribut
/// 0232 <id>.L <position data>.3B
static void clif_parse_HomMoveTo(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int id = RFIFOL(fd,2); // Mercenary or Homunculus
struct block_list *bl = NULL;
short x, y;
@@ -15719,7 +16651,7 @@ static void clif_parse_HomMoveTo(int fd, struct map_session_data *sd)
else
return;
- unit->walktoxy(bl, x, y, 4);
+ unit->walk_toxy(bl, x, y, 4);
}
static void clif_parse_HomAttack(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
@@ -15729,6 +16661,9 @@ static void clif_parse_HomAttack(int fd, struct map_session_data *sd) __attribut
/// always 0
static void clif_parse_HomAttack(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct block_list *bl = NULL;
int id = RFIFOL(fd,2),
target_id = RFIFOL(fd,6),
@@ -15755,6 +16690,9 @@ static void clif_parse_HomMenu(int fd, struct map_session_data *sd) __attribute_
/// 2 = delete
static void clif_parse_HomMenu(int fd, struct map_session_data *sd)
{ //[orn]
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int cmd;
cmd = RFIFOW(fd,0);
@@ -15770,7 +16708,16 @@ static void clif_parse_AutoRevive(int fd, struct map_session_data *sd) __attribu
/// 0292
static void clif_parse_AutoRevive(int fd, struct map_session_data *sd)
{
- int item_position = pc->search_inventory(sd, ITEMID_TOKEN_OF_SIEGFRIED);
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
+ if (!pc_isdead(sd))
+ return;
+
+ if (sd->sc.data[SC_HELLPOWER]) //Cannot res while under the effect of SC_HELLPOWER.
+ return;
+
+ int item_position = pc->have_item_chain(sd, ECC_SIEGFRIED);
int hpsp = 100;
if (item_position == INDEX_NOT_FOUND) {
@@ -15780,18 +16727,15 @@ static void clif_parse_AutoRevive(int fd, struct map_session_data *sd)
return;
}
- if (sd->sc.data[SC_HELLPOWER]) //Cannot res while under the effect of SC_HELLPOWER.
- return;
-
if (!status->revive(&sd->bl, hpsp, hpsp))
return;
if (item_position == INDEX_NOT_FOUND)
- status_change_end(&sd->bl,SC_LIGHT_OF_REGENE,INVALID_TIMER);
+ status_change_end(&sd->bl, SC_LIGHT_OF_REGENE, INVALID_TIMER);
else
pc->delitem(sd, item_position, 1, 0, DELITEM_SKILLUSE, LOG_TYPE_CONSUME);
- clif->skill_nodamage(&sd->bl,&sd->bl,ALL_RESURRECTION,4,1);
+ clif->skill_nodamage(&sd->bl, &sd->bl, ALL_RESURRECTION, 4, 1);
}
/// Information about character's status values (ZC_ACK_STATUS_GM).
@@ -15841,6 +16785,9 @@ static void clif_parse_Check(int fd, struct map_session_data *sd) __attribute__(
/// 0213 <char name>.24B
static void clif_parse_Check(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isvending(sd))
+ return;
+
char charname[NAME_LENGTH];
struct map_session_data* pl_sd;
@@ -15849,7 +16796,7 @@ static void clif_parse_Check(int fd, struct map_session_data *sd)
safestrncpy(charname, RFIFOP(fd,packet_db[RFIFOW(fd,0)].pos[0]), sizeof(charname));
- if( ( pl_sd = map->nick2sd(charname) ) == NULL || pc_get_group_level(sd) < pc_get_group_level(pl_sd) ) {
+ if ((pl_sd = map->nick2sd(charname, true)) == NULL || pc_get_group_level(sd) < pc_get_group_level(pl_sd)) {
return;
}
@@ -15993,7 +16940,7 @@ static void clif_Mail_refreshinbox(struct map_session_data *sd)
if( md->full ) {// TODO: is this official?
char output[100];
- sprintf(output, "Inbox is full (Max %d). Delete some mails.", MAIL_MAX_INBOX);
+ sprintf(output, msg_sd(sd, 511), MAIL_MAX_INBOX); // Inbox is full (Max %d). Delete some mails.
clif_disp_onlyself(sd, output);
}
}
@@ -16003,6 +16950,9 @@ static void clif_parse_Mail_refreshinbox(int fd, struct map_session_data *sd) __
/// 023f
static void clif_parse_Mail_refreshinbox(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct mail_data* md = &sd->mail.inbox;
if( md->amount < MAIL_MAX_INBOX && (md->full || sd->mail.changed) )
@@ -16086,6 +17036,9 @@ static void clif_parse_Mail_read(int fd, struct map_session_data *sd) __attribut
/// 0241 <mail id>.L
static void clif_parse_Mail_read(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int mail_id = RFIFOL(fd,2);
if( mail_id <= 0 )
@@ -16101,6 +17054,9 @@ static void clif_parse_Mail_getattach(int fd, struct map_session_data *sd) __att
/// 0244 <mail id>.L
static void clif_parse_Mail_getattach(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int mail_id = RFIFOL(fd,2);
int i;
@@ -16118,7 +17074,7 @@ static void clif_parse_Mail_getattach(int fd, struct map_session_data *sd)
if( sd->mail.inbox.msg[i].zeny < 1 && (sd->mail.inbox.msg[i].item.nameid < 1 || sd->mail.inbox.msg[i].item.amount < 1) )
return;
- if( sd->mail.inbox.msg[i].zeny + sd->status.zeny > MAX_ZENY ) {
+ if( sd->mail.inbox.msg[i].zeny > MAX_ZENY - sd->status.zeny ) {
clif->mail_getattachment(fd, 1);
return;
}
@@ -16169,6 +17125,9 @@ static void clif_parse_Mail_delete(int fd, struct map_session_data *sd) __attrib
/// 0243 <mail id>.L
static void clif_parse_Mail_delete(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int mail_id = RFIFOL(fd,2);
int i;
@@ -16200,6 +17159,9 @@ static void clif_parse_Mail_return(int fd, struct map_session_data *sd) __attrib
/// 0273 <mail id>.L <receive name>.24B
static void clif_parse_Mail_return(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int mail_id = RFIFOL(fd,2);
int i;
@@ -16224,6 +17186,9 @@ static void clif_parse_Mail_setattach(int fd, struct map_session_data *sd) __att
/// 0247 <index>.W <amount>.L
static void clif_parse_Mail_setattach(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int idx = RFIFOW(fd,2);
int amount = RFIFOL(fd,4);
unsigned char flag;
@@ -16246,6 +17211,9 @@ static void clif_parse_Mail_winopen(int fd, struct map_session_data *sd) __attri
/// 2 = remove zeny
static void clif_parse_Mail_winopen(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int flag = RFIFOW(fd,2);
if (flag == 0 || flag == 1)
@@ -16260,6 +17228,9 @@ static void clif_parse_Mail_send(int fd, struct map_session_data *sd) __attribut
static void clif_parse_Mail_send(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct mail_message msg;
int body_len;
int len = RFIFOW(fd, 2);
@@ -16336,7 +17307,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 )
@@ -16416,7 +17387,10 @@ static void clif_parse_Auction_cancelreg(int fd, struct map_session_data *sd) __
/// ? = junk, uninitialized value (ex. when switching between list filters)
static void clif_parse_Auction_cancelreg(int fd, struct map_session_data *sd)
{
- if( sd->auction.amount > 0 )
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ if (sd->auction.amount > 0)
clif->additem(sd, sd->auction.index, sd->auction.amount, 0);
sd->auction.amount = 0;
@@ -16427,8 +17401,11 @@ static void clif_parse_Auction_setitem(int fd, struct map_session_data *sd) __at
/// 024c <index>.W <count>.L
static void clif_parse_Auction_setitem(int fd, struct map_session_data *sd)
{
- int idx = RFIFOW(fd,2) - 2;
- int amount = RFIFOL(fd,4); // Always 1
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ int idx = RFIFOW(fd, 2) - 2;
+ int amount = RFIFOL(fd, 4); // Always 1
struct item_data *item;
if( !battle_config.feature_auction )
@@ -16506,6 +17483,9 @@ static void clif_parse_Auction_register(int fd, struct map_session_data *sd) __a
/// 024d <now money>.L <max money>.L <delete hour>.W
static void clif_parse_Auction_register(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct auction_data auction;
struct item_data *item;
@@ -16601,7 +17581,10 @@ static void clif_parse_Auction_cancel(int fd, struct map_session_data *sd) __att
/// 024e <auction id>.L
static void clif_parse_Auction_cancel(int fd, struct map_session_data *sd)
{
- unsigned int auction_id = RFIFOL(fd,2);
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ unsigned int auction_id = RFIFOL(fd, 2);
intif->Auction_cancel(sd->status.char_id, auction_id);
}
@@ -16611,6 +17594,9 @@ static void clif_parse_Auction_close(int fd, struct map_session_data *sd) __attr
/// 025d <auction id>.L
static void clif_parse_Auction_close(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
unsigned int auction_id = RFIFOL(fd,2);
intif->Auction_close(sd->status.char_id, auction_id);
@@ -16621,8 +17607,11 @@ static void clif_parse_Auction_bid(int fd, struct map_session_data *sd) __attrib
/// 024f <auction id>.L <money>.L
static void clif_parse_Auction_bid(int fd, struct map_session_data *sd)
{
- unsigned int auction_id = RFIFOL(fd,2);
- int bid = RFIFOL(fd,6);
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ unsigned int auction_id = RFIFOL(fd, 2);
+ int bid = RFIFOL(fd, 6);
if( !pc_can_give_items(sd) ) { //They aren't supposed to give zeny [Inkfish]
clif->message(sd->fd, msg_sd(sd,246)); // Your GM level doesn't authorize you to perform this action.
@@ -16653,9 +17642,12 @@ static void clif_parse_Auction_search(int fd, struct map_session_data *sd) __att
/// 5 = auction id search
static void clif_parse_Auction_search(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
char search_text[NAME_LENGTH];
- short type = RFIFOW(fd,2), page = RFIFOW(fd,32);
- int price = RFIFOL(fd,4); // FIXME: bug #5071
+ short type = RFIFOW(fd, 2), page = RFIFOW(fd, 32);
+ int price = RFIFOL(fd, 4); // FIXME: bug #5071
if( !battle_config.feature_auction )
return;
@@ -16674,7 +17666,10 @@ static void clif_parse_Auction_buysell(int fd, struct map_session_data *sd) __at
/// 1 = buy (own bids)
static void clif_parse_Auction_buysell(int fd, struct map_session_data *sd)
{
- short type = RFIFOW(fd,2) + 6;
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ short type = RFIFOW(fd, 2) + 6;
if( !battle_config.feature_auction )
return;
@@ -16784,6 +17779,9 @@ static void clif_parse_cashshop_buy(int fd, struct map_session_data *sd) __attri
/// 0288 <packet len>.W <kafra points>.L <count>.W { <amount>.W <name id>.W }.4B*count (PACKETVER >= 20100803)
static void clif_parse_cashshop_buy(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int fail = 0;
const struct PACKET_CZ_PC_BUY_CASH_POINT_ITEM *p = RFIFOP(fd, 0);
@@ -16876,6 +17874,9 @@ static void clif_parse_Adopt_request(int fd, struct map_session_data *sd) __attr
/// 01f9 <account id>.L
static void clif_parse_Adopt_request(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct map_session_data *tsd = map->id2sd(RFIFOL(fd,2)), *p_sd = map->charid2sd(sd->status.partner_id);
if( pc->can_Adopt(sd, p_sd, tsd) ) {
@@ -16892,6 +17893,9 @@ static void clif_parse_Adopt_reply(int fd, struct map_session_data *sd) __attrib
/// 1 = accepted
static void clif_parse_Adopt_reply(int fd, struct map_session_data *sd)
{
+ if (pc_isdead(sd))
+ return;
+
int p1_id = RFIFOL(fd,2);
int p2_id = RFIFOL(fd,6);
int result = RFIFOL(fd,10);
@@ -16959,6 +17963,9 @@ static void clif_parse_ViewPlayerEquip(int fd, struct map_session_data *sd) __at
/// 02d6 <account id>.L
static void clif_parse_ViewPlayerEquip(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int charid = RFIFOL(fd, 2);
struct map_session_data* tsd = map->id2sd(charid);
@@ -16986,6 +17993,9 @@ static void clif_parse_cz_config(int fd, struct map_session_data *sd) __attribut
/// 1 = enabled
static void clif_parse_cz_config(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
enum CZ_CONFIG type = RFIFOL(fd, 2);
int flag = RFIFOL(fd, 6);
@@ -17009,6 +18019,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;
@@ -17024,7 +18037,14 @@ static void clif_parse_PartyTick(int fd, struct map_session_data *sd) __attribut
static void clif_parse_PartyTick(int fd, struct map_session_data *sd)
{
const struct PACKET_CZ_PARTY_CONFIG *const p = RFIFOP(fd, 0);
- sd->status.allow_party = p->refuseInvite ? false : true;
+ 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);
}
@@ -17291,6 +18311,9 @@ static void clif_parse_questStateAck(int fd, struct map_session_data *sd) __attr
/// 02b6 <quest id>.L <active>.B
static void clif_parse_questStateAck(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
quest->update_status(sd, RFIFOL(fd,2), RFIFOB(fd,6)?Q_ACTIVE:Q_INACTIVE);
}
@@ -17510,6 +18533,9 @@ static void clif_parse_mercenary_action(int fd, struct map_session_data *sd) __a
/// 2 = delete
static void clif_parse_mercenary_action(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int option = RFIFOB(fd,2);
if (sd->md == NULL)
return;
@@ -17978,6 +19004,9 @@ static void clif_parse_ItemListWindowSelected(int fd, struct map_session_data *s
/// S 07e4 <length>.w <option>.l <val>.l {<index>.w <amount>.w).4b*
static void clif_parse_ItemListWindowSelected(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int n = ((int)RFIFOW(fd, 2) - 12) / 4;
int type = RFIFOL(fd,4);
int flag = RFIFOL(fd,8); // Button clicked: 0 = Cancel, 1 = OK
@@ -18107,6 +19136,9 @@ static void clif_parse_ReqOpenBuyingStore(int fd, struct map_session_data *sd) _
/// 1 = open
static void clif_parse_ReqOpenBuyingStore(int fd, struct map_session_data *sd)
{
+ if (pc_istrading(sd) || pc_isdead(sd))
+ return;
+
const unsigned int blocksize = sizeof(struct PACKET_CZ_REQ_OPEN_BUYING_STORE_sub);
const struct PACKET_CZ_REQ_OPEN_BUYING_STORE_sub *itemlist;
char storename[MESSAGE_SIZE];
@@ -18270,6 +19302,9 @@ static void clif_buyingstore_disappear_entry_single(struct map_session_data *sd,
/// 0817 <account id>.L
static void clif_parse_ReqClickBuyingStore(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int account_id;
account_id = RFIFOL(fd,packet_db[RFIFOW(fd,0)].pos[0]);
@@ -18314,6 +19349,9 @@ static void clif_parse_ReqTradeBuyingStore(int fd, struct map_session_data *sd)
/// 0819 <packet len>.W <account id>.L <store id>.L { <index>.W <name id>.W <amount>.W }*
static void clif_parse_ReqTradeBuyingStore(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const unsigned int blocksize = sizeof(struct PACKET_CZ_REQ_TRADE_BUYING_STORE_sub);
const struct PACKET_CZ_REQ_TRADE_BUYING_STORE_sub *itemlist;
int account_id;
@@ -18452,6 +19490,9 @@ static void clif_parse_SearchStoreInfo(int fd, struct map_session_data *sd) __at
/// cannot be searched.
static void clif_parse_SearchStoreInfo(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const unsigned int blocksize = sizeof(struct PACKET_CZ_SEARCH_STORE_INFO_item);
const struct PACKET_CZ_SEARCH_STORE_INFO_item* itemlist;
const struct PACKET_CZ_SEARCH_STORE_INFO_item* cardlist;
@@ -18580,6 +19621,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
@@ -18599,6 +19641,9 @@ static void clif_parse_SearchStoreInfoNextPage(int fd, struct map_session_data *
/// 0838
static void clif_parse_SearchStoreInfoNextPage(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
searchstore->next(sd);
}
@@ -18637,6 +19682,9 @@ static void clif_parse_SearchStoreInfoListItemClick(int fd, struct map_session_d
/// 083c <account id>.L <store id>.L <nameid>.W
static void clif_parse_SearchStoreInfoListItemClick(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_SSILIST_ITEM_CLICK *p = RFIFOP(fd, 0);
searchstore->click(sd, p->AID, p->storeId, p->itemId);
}
@@ -18686,27 +19734,30 @@ static void clif_parse_debug(int fd, struct map_session_data *sd)
*------------------------------------------*/
static int clif_elementalconverter_list(struct map_session_data *sd)
{
- int i,c,view,fd;
-
nullpo_ret(sd);
/// Main client packet processing function
- fd=sd->fd;
- WFIFOHEAD(fd, MAX_SKILL_PRODUCE_DB *2+4);
- WFIFOW(fd, 0)=0x1ad;
+ int fd = sd->fd;
+ int len = MAX_SKILL_ARROW_DB * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ WFIFOHEAD(fd, len);
+ struct PACKET_ZC_MAKINGARROW_LIST *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_MAKINGARROW_LIST;
- for(i=0,c=0;i<MAX_SKILL_PRODUCE_DB;i++){
- if( skill->can_produce_mix(sd,skill->dbs->produce_db[i].nameid,23, 1) ){
- if((view = itemdb_viewid(skill->dbs->produce_db[i].nameid)) > 0)
- WFIFOW(fd,c*2+ 4)= view;
+ int c = 0;
+ for (int i = 0; i < MAX_SKILL_PRODUCE_DB; i++) {
+ if (skill->can_produce_mix(sd,skill->dbs->produce_db[i].nameid,23, 1) ) {
+ int view = itemdb_viewid(skill->dbs->produce_db[i].nameid);
+ if (view > 0)
+ p->items[c].itemId = view;
else
- WFIFOW(fd,c*2+ 4)= skill->dbs->produce_db[i].nameid;
+ p->items[c].itemId = skill->dbs->produce_db[i].nameid;
c++;
}
}
- WFIFOW(fd,2) = c*2+4;
- WFIFOSET(fd, WFIFOW(fd,2));
if (c > 0) {
+ len = c * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ p->packetLength = len;
+ WFIFOSET(fd, len);
sd->menuskill_id = SA_CREATECON;
sd->menuskill_val = c;
}
@@ -18737,33 +19788,33 @@ static void clif_millenniumshield(struct block_list *bl, short shields)
*------------------------------------------*/
static int clif_spellbook_list(struct map_session_data *sd)
{
- int i, c;
- int fd;
-
nullpo_ret(sd);
- fd = sd->fd;
- WFIFOHEAD(fd, 8 * 8 + 8);
- WFIFOW(fd,0) = 0x1ad;
+ int fd = sd->fd;
+ int len = MAX_SKILL_ARROW_DB * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ WFIFOHEAD(fd, len);
+ struct PACKET_ZC_MAKINGARROW_LIST *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_MAKINGARROW_LIST;
- for (i = 0, c = 0; i < sd->status.inventorySize; i ++ )
+ int c = 0;
+ for (int i = 0; i < sd->status.inventorySize; i ++ )
{
- if( itemdb_is_spellbook(sd->status.inventory[i].nameid) )
+ if (itemdb_is_spellbook(sd->status.inventory[i].nameid))
{
- WFIFOW(fd, c * 2 + 4) = sd->status.inventory[i].nameid;
+ p->items[c].itemId = sd->status.inventory[i].nameid;
c++;
}
}
- if( c > 0 )
+ if (c > 0)
{
- WFIFOW(fd,2) = c * 2 + 4;
- WFIFOSET(fd, WFIFOW(fd, 2));
+ len = c * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ p->packetLength = len;
+ WFIFOSET(fd, len);
sd->menuskill_id = WL_READING_SB;
sd->menuskill_val = c;
- }
- else{
- status_change_end(&sd->bl,SC_STOP,INVALID_TIMER);
+ } else {
+ status_change_end(&sd->bl, SC_STOP, INVALID_TIMER);
clif->skill_fail(sd, WL_READING_SB, USESKILL_FAIL_SPELLBOOK, 0, 0);
}
@@ -18778,17 +19829,18 @@ static int clif_spellbook_list(struct map_session_data *sd)
static int clif_magicdecoy_list(struct map_session_data *sd, uint16 skill_lv, short x, short y)
{
int i, c;
- int fd;
nullpo_ret(sd);
- fd = sd->fd;
- WFIFOHEAD(fd, 8 * 8 + 8);
- WFIFOW(fd,0) = 0x1ad; // This is the official packet. [pakpil]
+ int fd = sd->fd;
+ int len = MAX_SKILL_ARROW_DB * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ WFIFOHEAD(fd, len);
+ struct PACKET_ZC_MAKINGARROW_LIST *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_MAKINGARROW_LIST;
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;
+ if (itemdb_is_element(sd->status.inventory[i].nameid)) {
+ p->items[c].itemId = sd->status.inventory[i].nameid;
c ++;
}
}
@@ -18797,8 +19849,10 @@ static int clif_magicdecoy_list(struct map_session_data *sd, uint16 skill_lv, sh
sd->menuskill_val = skill_lv;
sd->sc.comet_x = x;
sd->sc.comet_y = y;
- WFIFOW(fd,2) = c * 2 + 4;
- WFIFOSET(fd, WFIFOW(fd, 2));
+
+ len = c * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ p->packetLength = len;
+ WFIFOSET(fd, len);
} else {
clif->skill_fail(sd, NC_MAGICDECOY, USESKILL_FAIL_LEVEL, 0, 0);
return 0;
@@ -18815,25 +19869,28 @@ static int clif_magicdecoy_list(struct map_session_data *sd, uint16 skill_lv, sh
static int clif_poison_list(struct map_session_data *sd, uint16 skill_lv)
{
int i, c;
- int fd;
nullpo_ret(sd);
- fd = sd->fd;
- WFIFOHEAD(fd, 8 * 8 + 8);
- WFIFOW(fd,0) = 0x1ad; // This is the official packet. [pakpil]
+ int fd = sd->fd;
+ int len = MAX_SKILL_ARROW_DB * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ WFIFOHEAD(fd, len);
+ struct PACKET_ZC_MAKINGARROW_LIST *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_MAKINGARROW_LIST;
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;
+ p->items[c].itemId = sd->status.inventory[i].nameid;
c ++;
}
}
- if( c > 0 ) {
+ if (c > 0) {
sd->menuskill_id = GC_POISONINGWEAPON;
sd->menuskill_val = skill_lv;
- WFIFOW(fd,2) = c * 2 + 4;
- WFIFOSET(fd, WFIFOW(fd, 2));
+
+ len = c * sizeof(struct PACKET_ZC_MAKINGARROW_LIST_sub) + sizeof(struct PACKET_ZC_MAKINGARROW_LIST);
+ p->packetLength = len;
+ WFIFOSET(fd, len);
} else {
clif->skill_fail(sd, GC_POISONINGWEAPON, USESKILL_FAIL_GUILLONTINE_POISON, 0, 0);
return 0;
@@ -18911,11 +19968,13 @@ static void clif_parse_SkillSelectMenu(int fd, struct map_session_data *sd) __at
*------------------------------------------*/
static void clif_parse_SkillSelectMenu(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
- if( sd->menuskill_id != SC_AUTOSHADOWSPELL )
+ 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;
@@ -18958,9 +20017,8 @@ static void clif_parse_MoveItem(int fd, struct map_session_data *sd)
int index;
/* can't move while dead. */
- if(pc_isdead(sd)) {
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
return;
- }
index = RFIFOW(fd,2)-2;
@@ -18983,7 +20041,8 @@ static void clif_cashshop_db(void)
{
struct config_t cashshop_conf;
struct config_setting_t *cashshop = NULL, *cats = NULL;
- const char *config_filename = "db/cashshop_db.conf"; // FIXME hardcoded name
+ char config_filename[256];
+ libconfig->format_db_path("cashshop_db.conf", config_filename, sizeof(config_filename));
int i, item_count_t = 0;
for( i = 0; i < CASHSHOP_TAB_MAX; i++ ) {
CREATE(clif->cs.data[i], struct hCSData *, 1);
@@ -19108,31 +20167,69 @@ static void clif_parse_dull(int fd, struct map_session_data *sd)
return;
}
-static void clif_parse_CashShopOpen(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-static void clif_parse_CashShopOpen(int fd, struct map_session_data *sd)
+static void clif_parse_cashShopOpen1(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_cashShopOpen1(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
if (map->list[sd->bl.m].flag.nocashshop) {
- clif->messagecolor_self(fd, COLOR_RED, msg_fd(fd,1489)); //Cash Shop is disabled in this map
+ clif->messagecolor_self(fd, COLOR_RED, msg_fd(fd, 1489)); //Cash Shop is disabled in this map
return;
}
- WFIFOHEAD(fd, 10);
- WFIFOW(fd, 0) = 0x845;
- WFIFOL(fd, 2) = sd->cashPoints; //[Ryuuzaki] - switched positions to reflect proper values
- WFIFOL(fd, 6) = sd->kafraPoints;
- WFIFOSET(fd, 10);
+ clif->cashShopOpen(fd, sd, 0);
+}
+
+static void clif_parse_cashShopLimitedReq(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_cashShopLimitedReq(int fd, struct map_session_data *sd)
+{
}
-static void clif_parse_CashShopClose(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-static void clif_parse_CashShopClose(int fd, struct map_session_data *sd)
+static void clif_parse_cashShopOpen2(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_cashShopOpen2(int fd, struct map_session_data *sd)
+{
+ if (sd->state.trading != 0 || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ if (map->list[sd->bl.m].flag.nocashshop != 0) {
+ clif->messagecolor_self(fd, COLOR_RED, msg_fd(fd, 1489)); //Cash Shop is disabled in this map
+ return;
+ }
+
+#if PACKETVER >= 20191224
+ const struct PACKET_CZ_SE_CASHSHOP_OPEN2 *p = RFIFOP(fd, 0);
+ clif->cashShopOpen(fd, sd, p->tab);
+#endif
+}
+
+static void clif_cashShopOpen(int fd, struct map_session_data *sd, int tab)
+{
+#if PACKETVER_MAIN_NUM >= 20101123 || PACKETVER_RE_NUM >= 20120328 || defined(PACKETVER_ZERO)
+ WFIFOHEAD(fd, sizeof(struct PACKET_ZC_SE_CASHSHOP_OPEN));
+ struct PACKET_ZC_SE_CASHSHOP_OPEN *p = WFIFOP(fd, 0);
+ p->packetType = HEADER_ZC_SE_CASHSHOP_OPEN;
+ p->cashPoints = sd->cashPoints; //[Ryuuzaki] - switched positions to reflect proper values
+ p->kafraPoints = sd->kafraPoints;
+#if PACKETVER_MAIN_NUM >= 20200129 || PACKETVER_RE_NUM >= 20200205 || PACKETVER_ZERO_NUM >= 20191224
+ p->tab = tab;
+#endif
+ WFIFOSET(fd, sizeof(struct PACKET_ZC_SE_CASHSHOP_OPEN));
+#endif
+}
+
+static void clif_parse_cashShopClose(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_cashShopClose(int fd, struct map_session_data *sd)
{
/* TODO apply some state tracking */
}
-static void clif_parse_CashShopSchedule(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-static void clif_parse_CashShopSchedule(int fd, struct map_session_data *sd)
+static void clif_parse_cashShopSchedule(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_cashShopSchedule(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
clif->cashShopSchedule(fd, sd);
}
@@ -19167,9 +20264,12 @@ void clif_cashShopSchedule(int fd, struct map_session_data *sd)
}
/// R 0848 <len>.W <limit>.W <kafra pay>.L (<item id>.L <amount>.L <tab>.W)*
-static void clif_parse_CashShopBuy(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
-static void clif_parse_CashShopBuy(int fd, struct map_session_data *sd)
+static void clif_parse_cashShopBuy(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_cashShopBuy(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int len = RFIFOW(fd, 2);
unsigned short limit, i, j;
unsigned int kafra_pay;
@@ -19224,7 +20324,7 @@ static void clif_parse_CashShopBuy(int fd, struct map_session_data *sd)
ret = pc->paycash(sd, clif->cs.data[tab][j]->price * qty, kafra_pay);// [Ryuuzaki] //changed Kafrapoints calculation. [Normynator]
if (ret < 0) {
- ShowError("clif_parse_CashShopBuy: The return from pc->paycash was negative which is not allowed.\n");
+ ShowError("clif_parse_cashShopBuy: The return from pc->paycash was negative which is not allowed.\n");
break; //This should never happen.
}
kafra_pay = ret;
@@ -19264,24 +20364,35 @@ 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_parse_CashShopReqTab(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+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)
+static void clif_parse_cashShopReqTab(int fd, struct map_session_data *sd)
{
// [4144] packet exists only in 2011 and was dropped after
#if PACKETVER >= 20110222 && PACKETVER < 20120000
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
short tab = RFIFOW(fd, 2);
int j;
@@ -19350,15 +20461,18 @@ static void clif_status_change2(struct block_list *bl, int tid, enum send_target
static void clif_partytickack(struct map_session_data *sd, bool flag)
{
+#if PACKETVER_MAIN_NUM >= 20070911 || defined(PACKETVER_RE) || PACKETVER_AD_NUM >= 20070911 || PACKETVER_SAK_NUM >= 20070904 || defined(PACKETVER_ZERO)
nullpo_retv(sd);
- WFIFOHEAD(sd->fd, packet_len(0x2c9));
- WFIFOW(sd->fd, 0) = 0x2c9;
- WFIFOB(sd->fd, 2) = flag;
- WFIFOSET(sd->fd, packet_len(0x2c9));
+ WFIFOHEAD(sd->fd, sizeof(struct PACKET_ZC_PARTY_CONFIG));
+ struct PACKET_ZC_PARTY_CONFIG *p = WFIFOP(sd->fd, 0);
+ p->packetType = HEADER_ZC_PARTY_CONFIG;
+ p->denyPartyInvites = flag;
+ WFIFOSET(sd->fd, sizeof(struct PACKET_ZC_PARTY_CONFIG));
+#endif
}
-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];
@@ -19379,7 +20493,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
}
@@ -19436,6 +20550,9 @@ static void clif_bgqueue_notice_delete(struct map_session_data *sd, enum BATTLEG
static void clif_parse_bgqueue_register(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_bgqueue_register(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct packet_bgqueue_register *p = RP2PTR(fd);
struct bg_arena *arena = NULL;
if( !bg->queue_on ) return; /* temp, until feature is complete */
@@ -19476,6 +20593,9 @@ static void clif_bgqueue_update_info(struct map_session_data *sd, unsigned char
static void clif_parse_bgqueue_checkstate(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_bgqueue_checkstate(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct packet_bgqueue_checkstate *p = RP2PTR(fd);
if (sd->bg_queue.arena && sd->bg_queue.type) {
@@ -19488,6 +20608,9 @@ static void clif_parse_bgqueue_checkstate(int fd, struct map_session_data *sd)
static void clif_parse_bgqueue_revoke_req(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_bgqueue_revoke_req(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct packet_bgqueue_revoke_req *p = RP2PTR(fd);
if( sd->bg_queue.arena )
@@ -19499,6 +20622,9 @@ static void clif_parse_bgqueue_revoke_req(int fd, struct map_session_data *sd)
static void clif_parse_bgqueue_battlebegin_ack(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_bgqueue_battlebegin_ack(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct packet_bgqueue_battlebegin_ack *p = RP2PTR(fd);
struct bg_arena *arena;
@@ -19563,7 +20689,11 @@ static void clif_package_item_announce(struct map_session_data *sd, int nameid,
nullpo_retv(sd);
p.PacketType = package_item_announceType;
- p.PacketLength = 11 + NAME_LENGTH;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ p.PacketLength = 7 + 4 + 4 + NAME_LENGTH;
+#else
+ p.PacketLength = 7 + 2 + 2 + NAME_LENGTH;
+#endif
p.type = 0x0;
p.ItemID = nameid;
p.len = NAME_LENGTH;
@@ -19571,7 +20701,7 @@ static void clif_package_item_announce(struct map_session_data *sd, int nameid,
p.unknown = 0x2; // some strange byte, IDA shows.. BYTE3(BoxItemIDLength) = 2;
p.BoxItemID = containerid;
- clif->send(&p,sizeof(p), &sd->bl, ALL_CLIENT);
+ clif->send(&p, p.PacketLength, &sd->bl, ALL_CLIENT);
}
/* Made Possible Thanks to Yommy! */
@@ -19589,12 +20719,13 @@ static void clif_item_drop_announce(struct map_session_data *sd, int nameid, cha
if (monsterName == NULL) {
// message: MSG_BROADCASTING_SPECIAL_ITEM_OBTAIN2
p.type = 0x2;
+ p.PacketLength -= NAME_LENGTH;
} else {
// message: MSG_BROADCASTING_SPECIAL_ITEM_OBTAIN
p.type = 0x1;
safestrncpy(p.monsterName, monsterName, sizeof(p.monsterName));
}
- clif->send(&p, sizeof(p), &sd->bl, ALL_CLIENT);
+ clif->send(&p, p.PacketLength, &sd->bl, ALL_CLIENT);
}
/* [Ind/Hercules] special thanks to Yommy~! */
@@ -19654,6 +20785,9 @@ static void clif_cart_additem_ack(struct map_session_data *sd, int flag)
static void clif_parse_BankDeposit(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_BankDeposit(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct packet_banking_deposit_req *p = RP2PTR(fd);
int money;
@@ -19670,6 +20804,9 @@ static void clif_parse_BankDeposit(int fd, struct map_session_data *sd)
static void clif_parse_BankWithdraw(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_BankWithdraw(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct packet_banking_withdraw_req *p = RP2PTR(fd);
int money;
@@ -19687,6 +20824,9 @@ static void clif_parse_BankCheck(int fd, struct map_session_data *sd) __attribut
static void clif_parse_BankCheck(int fd, struct map_session_data *sd)
{
#if PACKETVER >= 20130320
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct packet_banking_check p;
p.PacketType = banking_checkType;
@@ -19753,7 +20893,7 @@ static void clif_show_modifiers(struct map_session_data *sd)
if( sd->status.mod_exp != 100 || sd->status.mod_drop != 100 || sd->status.mod_death != 100 ) {
char output[128];
- snprintf(output,128,"Base EXP : %d%% | Base Drop: %d%% | Base Death Penalty: %d%%",
+ snprintf(output,128, msg_sd(sd, 896), // Base EXP : %d%% | Base Drop: %d%% | Base Death Penalty: %d%%
sd->status.mod_exp,sd->status.mod_drop,sd->status.mod_death);
clif->broadcast2(&sd->bl, output, (int)strlen(output) + 1, 0xffbc90, 0x190, 12, 0, 0, SELF);
}
@@ -19818,7 +20958,7 @@ static int clif_delay_damage_sub(int tid, int64 tick, int id, intptr_t data)
*
* @return clif->calc_walkdelay used in further processing
**/
-static int clif_delay_damage(int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, unsigned char type)
+static int clif_delay_damage(int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, enum battle_dmg_type type)
{
struct cdelayed_damage *dd;
struct status_change *sc;
@@ -19930,40 +21070,43 @@ 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)
+static void clif_npc_market_purchase_ack(struct map_session_data *sd, const struct itemlist *item_list, enum market_buy_result response)
{
-#if PACKETVER >= 20131223
- unsigned short c = 0;
-
+#if PACKETVER_MAIN_NUM >= 20131120 || PACKETVER_RE_NUM >= 20130911 || defined(PACKETVER_ZERO)
nullpo_retv(sd);
nullpo_retv(item_list);
- npcmarket_result.PacketType = npcmarketresultackType;
- npcmarket_result.result = response == 0 ? 1 : 0;/* find other values */
+ struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT *p = (struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT *)packet_buf;
+ p->PacketType = HEADER_ZC_NPC_MARKET_PURCHASE_RESULT;
+ p->result = response;
- if (npcmarket_result.result) {
+ unsigned short c = 0;
+ if (response == MARKET_BUY_RESULT_SUCCESS) {
+ int vectorLen = VECTOR_LENGTH(*item_list);
+ int maxCount = (sizeof(packet_buf) - sizeof(struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT)) / sizeof(struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT_sub);
+ if (maxCount > vectorLen)
+ maxCount = vectorLen;
struct npc_data *nd = map->id2nd(sd->npc_shopid);
struct npc_item_list *shop = nd->u.scr.shop->item;
unsigned short shop_size = nd->u.scr.shop->items;
- int i;
- for (i = 0; i < VECTOR_LENGTH(*item_list); i++) {
+ for (int i = 0; i < maxCount; i++) {
const struct itemlist_entry *entry = &VECTOR_INDEX(*item_list, i);
int j;
- npcmarket_result.list[i].ITID = entry->id;
- npcmarket_result.list[i].qty = entry->amount;
+ p->list[i].ITID = entry->id;
+ p->list[i].qty = entry->amount;
- ARR_FIND( 0, shop_size, j, entry->id == shop[j].nameid);
+ ARR_FIND(0, shop_size, j, entry->id == shop[j].nameid);
- npcmarket_result.list[i].price = (j != shop_size) ? shop[j].value : 0;
+ p->list[i].price = (j != shop_size) ? shop[j].value : 0;
c++;
}
}
- npcmarket_result.PacketLength = 5 + ( sizeof(npcmarket_result.list[0]) * c );;
+ p->PacketLength = sizeof(struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT) + (sizeof(struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT_sub) * c);
- clif->send(&npcmarket_result,npcmarket_result.PacketLength,&sd->bl,SELF);
+ clif->send(p, p->PacketLength, &sd->bl, SELF);
#endif
}
@@ -19971,8 +21114,10 @@ static void clif_parse_NPCMarketPurchase(int fd, struct map_session_data *sd) __
static void clif_parse_NPCMarketPurchase(int fd, struct map_session_data *sd)
{
#if PACKETVER >= 20131223
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct packet_npc_market_purchase *p = RP2PTR(fd);
- int response = 0, i;
int count = (p->PacketLength - 4) / sizeof p->list[0];
struct itemlist item_list;
@@ -19981,7 +21126,7 @@ static void clif_parse_NPCMarketPurchase(int fd, struct map_session_data *sd)
VECTOR_INIT(item_list);
VECTOR_ENSURE(item_list, count, 1);
- for (i = 0; i < count; i++) {
+ for (int i = 0; i < count; i++) {
struct itemlist_entry entry = { 0 };
entry.id = p->list[i].ITID;
@@ -19990,7 +21135,7 @@ static void clif_parse_NPCMarketPurchase(int fd, struct map_session_data *sd)
VECTOR_PUSH(item_list, entry);
}
- response = npc->market_buylist(sd, &item_list);
+ enum market_buy_result response = npc->market_buylist(sd, &item_list);
clif->npc_market_purchase_ack(sd, &item_list, response);
VECTOR_CLEAR(item_list);
@@ -20015,6 +21160,9 @@ static void clif_parse_RouletteOpen(int fd, struct map_session_data *sd) __attri
static void clif_parse_RouletteOpen(int fd, struct map_session_data *sd)
{
#if PACKETVER >= 20140612
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct packet_roulette_open_ack p;
if( !battle_config.feature_roulette ) {
@@ -20040,6 +21188,9 @@ static void clif_parse_RouletteInfo(int fd, struct map_session_data *sd) __attri
static void clif_parse_RouletteInfo(int fd, struct map_session_data *sd)
{
#if PACKETVER >= 20140612
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
struct packet_roulette_info_ack p;
unsigned short i, j, count = 0;
@@ -20085,6 +21236,9 @@ static void clif_parse_RouletteClose(int fd, struct map_session_data *sd)
static void clif_parse_RouletteGenerate(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
static void clif_parse_RouletteGenerate(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
unsigned char result = GENERATE_ROULETTE_SUCCESS;
short stage = sd->roulette.stage;
@@ -20144,6 +21298,8 @@ static void clif_parse_RouletteRecvItem(int fd, struct map_session_data *sd) __a
static void clif_parse_RouletteRecvItem(int fd, struct map_session_data *sd)
{
#if PACKETVER >= 20140612
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
struct packet_roulette_itemrecv_ack p;
if( !battle_config.feature_roulette ) {
@@ -20193,7 +21349,8 @@ static bool clif_parse_roulette_db(void)
{
struct config_t roulette_conf;
struct config_setting_t *roulette = NULL, *levels = NULL;
- const char *config_filename = "db/roulette_db.conf"; // FIXME hardcoded name
+ char config_filename[256];
+ libconfig->format_db_path("roulette_db.conf", config_filename, sizeof(config_filename));
int i, j, item_count_t = 0;
for( i = 0; i < MAX_ROULETTE_LEVEL; i++ ) {
@@ -20301,20 +21458,34 @@ static void clif_roulette_generate_ack(struct map_session_data *sd, enum GENERAT
#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 < sd->status.inventorySize; 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)
@@ -20325,17 +21496,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++;
@@ -20343,12 +21515,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
}
@@ -20364,35 +21538,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 >= sd->status.inventorySize || 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);
+ 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 >= 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;
@@ -20410,43 +21591,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, 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
}
@@ -20871,6 +22038,9 @@ static void clif_achievement_send_update(int fd, struct map_session_data *sd, co
static void clif_parse_achievement_get_reward(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_achievement_get_reward(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int ach_id = RFIFOL(fd, 2);
const struct achievement_data *ad = NULL;
struct achievement *ach = NULL;
@@ -20913,6 +22083,9 @@ static void clif_achievement_reward_ack(int fd, struct map_session_data *sd, con
static void clif_parse_change_title(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_change_title(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
int title_id = RFIFOL(fd, 2);
if (title_id == sd->status.title_id) { // Same Title
@@ -20947,8 +22120,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
@@ -20960,6 +22133,9 @@ static void clif_change_title_ack(int fd, struct map_session_data *sd, int title
static void clif_parse_rodex_open_write_mail(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_open_write_mail(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_OPEN_WRITE_MAIL *rPacket = RFIFOP(fd, 0);
int8 result = (rodex->isenabled() == true && sd->npc_id == 0) ? 1 : 0;
@@ -20985,6 +22161,9 @@ static void clif_rodex_open_write_mail(int fd, const char *receiver_name, int8 r
static void clif_parse_rodex_add_item(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_add_item(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_ADD_ITEM_TO_MAIL *rPacket = RFIFOP(fd, 0);
int16 idx = rPacket->index - 2;
@@ -21038,6 +22217,9 @@ static void clif_rodex_add_item_result(struct map_session_data *sd, int16 idx, i
static void clif_parse_rodex_remove_item(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_remove_item(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_REMOVE_ITEM_MAIL *rPacket = RFIFOP(fd, 0);
int16 idx = rPacket->index - 2;
@@ -21110,6 +22292,9 @@ static void clif_rodex_checkname_result(struct map_session_data *sd, int char_id
static void clif_parse_rodex_send_mail(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_send_mail(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_SEND_MAIL *rPacket = RFIFOP(fd, 0);
int8 result;
@@ -21340,6 +22525,9 @@ static void clif_rodex_send_refresh(int fd, struct map_session_data *sd, int8 op
static void clif_parse_rodex_next_maillist(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_next_maillist(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_NEXT_MAIL_LIST *packet = RFIFOP(fd, 0);
rodex->next_page(sd, packet->opentype, packet->Lower_MailID);
@@ -21348,6 +22536,9 @@ static void clif_parse_rodex_next_maillist(int fd, struct map_session_data *sd)
static void clif_parse_rodex_read_mail(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_read_mail(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_READ_MAIL *rPacket = RFIFOP(fd, 0);
rodex->read_mail(sd, rPacket->MailID);
@@ -21417,6 +22608,9 @@ static void clif_rodex_read_mail(struct map_session_data *sd, int8 opentype, str
static void clif_parse_rodex_delete_mail(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_delete_mail(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_DELETE_MAIL *rPacket = RFIFOP(fd, 0);
rodex->delete_mail(sd, rPacket->MailID);
@@ -21444,6 +22638,9 @@ static void clif_rodex_delete_mail(struct map_session_data *sd, int8 opentype, i
static void clif_parse_rodex_request_zeny(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_request_zeny(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_ZENY_FROM_MAIL *rPacket = RFIFOP(fd, 0);
rodex->get_zeny(sd, rPacket->opentype, rPacket->MailID);
@@ -21472,6 +22669,9 @@ static void clif_rodex_request_zeny(struct map_session_data *sd, int8 opentype,
static void clif_parse_rodex_request_items(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_request_items(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_ITEM_FROM_MAIL *rPacket = RFIFOP(fd, 0);
rodex->get_items(sd, rPacket->opentype, rPacket->MailID);
@@ -21511,6 +22711,9 @@ static void clif_rodex_icon(int fd, bool show)
static void clif_parse_rodex_refresh_maillist(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_refresh_maillist(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_REFRESH_MAIL_LIST *packet = RFIFOP(fd, 0);
#if PACKETVER >= 20170419
rodex->refresh(sd, RODEX_OPENTYPE_UNSET, packet->Upper_MailID);
@@ -21522,6 +22725,9 @@ static void clif_parse_rodex_refresh_maillist(int fd, struct map_session_data *s
static void clif_parse_rodex_open_mailbox(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_open_mailbox(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_REQ_OPEN_MAIL *packet = RFIFOP(fd, 0);
#if PACKETVER >= 20170419
rodex->open(sd, RODEX_OPENTYPE_UNSET, packet->char_Upper_MailID);
@@ -21534,6 +22740,9 @@ static void clif_parse_rodex_open_mailbox(int fd, struct map_session_data *sd)
static void clif_parse_rodex_close_mailbox(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_close_mailbox(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
rodex->clean(sd, 0);
intif->rodex_checkhasnew(sd);
}
@@ -21541,6 +22750,9 @@ static void clif_parse_rodex_close_mailbox(int fd, struct map_session_data *sd)
static void clif_parse_rodex_cancel_write_mail(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_rodex_cancel_write_mail(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
rodex->clean(sd, 1);
}
@@ -21574,53 +22786,47 @@ static void clif_skill_scale(struct block_list *bl, int src_id, int x, int y, ui
/// 0A3B <Length>.W <AID>.L <Status>.B { <HatEffectId>.W }
static void clif_hat_effect(struct block_list *bl, struct block_list *tbl, enum send_target target)
{
-#if PACKETVER >= 20150422
- unsigned char *buf;
- int len, i;
- struct map_session_data *sd;
-
+#if PACKETVER_MAIN_NUM >= 20150507 || PACKETVER_RE_NUM >= 20150429 || defined(PACKETVER_ZERO)
nullpo_retv(bl);
-
- sd = BL_CAST(BL_PC, bl);
-
+ struct map_session_data *sd = BL_CAST(BL_PC, bl);
nullpo_retv(sd);
- len = 9 + VECTOR_LENGTH(sd->hatEffectId) * 2;
-
- buf = (unsigned char*)aMalloc(len);
+ const int len = sizeof(struct PACKET_ZC_HAT_EFFECT) + VECTOR_LENGTH(sd->hatEffectId) * 2;
+ struct PACKET_ZC_HAT_EFFECT *p = aMalloc(len);
- WBUFW(buf, 0) = 0xa3b;
- WBUFW(buf, 2) = len;
- WBUFL(buf, 4) = bl->id;
- WBUFB(buf, 8) = 1;
+ p->packetType = HEADER_ZC_HAT_EFFECT;
+ p->packetLength = len;
+ p->aid = bl->id;
+ p->status = 1;
- for( i = 0; i < VECTOR_LENGTH(sd->hatEffectId); i++ ){
- WBUFW(buf, 9 + i * 2) = VECTOR_INDEX(sd->hatEffectId, i);
+ for (int i = 0; i < VECTOR_LENGTH(sd->hatEffectId); i++) {
+ p->effects[i] = VECTOR_INDEX(sd->hatEffectId, i);
}
if (tbl != NULL) {
- clif->send(buf, len, tbl, target);
+ clif->send(p, len, tbl, target);
} else {
- clif->send(buf, len, bl, target);
+ clif->send(p, len, bl, target);
}
-
- aFree(buf);
+ aFree(p);
#endif
}
static void clif_hat_effect_single(struct block_list *bl, uint16 effectId, bool enable){
-#if PACKETVER >= 20150422
- unsigned char buf[13];
-
+#if PACKETVER_MAIN_NUM >= 20150507 || PACKETVER_RE_NUM >= 20150429 || defined(PACKETVER_ZERO)
nullpo_retv(bl);
- WBUFW(buf,0) = 0xa3b;
- WBUFW(buf,2) = 13;
- WBUFL(buf,4) = bl->id;
- WBUFB(buf,8) = enable;
- WBUFL(buf,9) = effectId;
+ const int len = sizeof(struct PACKET_ZC_HAT_EFFECT) + 2;
+ struct PACKET_ZC_HAT_EFFECT *p = aMalloc(len);
- clif_send(buf, 13, bl, AREA);
+ p->packetType = HEADER_ZC_HAT_EFFECT;
+ p->packetLength = len;
+ p->aid = bl->id;
+ p->status = enable;
+ p->effects[0] = effectId;
+
+ clif->send(p, len, bl, AREA);
+ aFree(p);
#endif
}
@@ -21628,7 +22834,8 @@ static bool clif_parse_attendance_db(void)
{
struct config_t attendance_conf;
struct config_setting_t *attendance = NULL, *it = NULL;
- const char *config_filename = "db/attendance_db.conf"; // FIXME hardcoded name
+ char config_filename[256];
+ libconfig->format_db_path("attendance_db.conf", config_filename, sizeof(config_filename));
int i = 0;
if (!libconfig->load_file(&attendance_conf, config_filename))
@@ -21705,8 +22912,10 @@ static time_t clif_attendance_getendtime(void)
static void clif_parse_open_ui_request(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_open_ui_request(int fd, struct map_session_data *sd)
{
- const struct PACKET_CZ_OPEN_UI *p = RP2PTR(fd);
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+ const struct PACKET_CZ_OPEN_UI *p = RP2PTR(fd);
clif->open_ui(sd, p->UIType);
}
@@ -21729,6 +22938,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)) {
@@ -21765,6 +22986,8 @@ static void clif_parse_attendance_reward_request(int fd, struct map_session_data
static void clif_parse_attendance_reward_request(int fd, struct map_session_data *sd)
{
#if PACKETVER_RE_NUM >= 20180307 || PACKETVER_MAIN_NUM >= 20180404 || PACKETVER_ZERO_NUM >= 20180411
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
struct rodex_message msg = { 0 };
struct attendance_entry *entry;
@@ -21815,6 +23038,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)
@@ -21835,6 +23069,9 @@ static void clif_parse_private_airship_request(int fd, struct map_session_data *
static void clif_parse_private_airship_request(int fd, struct map_session_data *sd)
{
#if PACKETVER_RE_NUM >= 20180321 || PACKETVER_MAIN_NUM >= 20180620 || defined(PACKETVER_ZERO)
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
char evname[EVENT_NAME_LENGTH];
struct event_data *ev = NULL;
const struct PACKET_CZ_PRIVATE_AIRSHIP_REQUEST *p = RP2PTR(fd);
@@ -21873,162 +23110,26 @@ 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)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
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;
}
@@ -22036,46 +23137,36 @@ static void clif_parse_cz_req_style_change(int fd, struct map_session_data *sd)
static void clif_parse_cz_req_style_change2(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
static void clif_parse_cz_req_style_change2(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
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)
@@ -22111,6 +23202,9 @@ static void clif_parse_changeDress(int fd, struct map_session_data *sd) __attrib
/// 0ae8 <packet len>.W
static void clif_parse_changeDress(int fd, struct map_session_data *sd)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const char commandname[] = "changedress";
char command[sizeof commandname + 3] = ""; // '@' command + ' ' + NUL
@@ -22135,6 +23229,9 @@ static void clif_party_dead_notification(struct map_session_data *sd)
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)
{
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_MEMORIALDUNGEON_COMMAND *p = RP2PTR(fd);
switch (p->command) {
@@ -22175,6 +23272,9 @@ static void clif_parse_cameraInfo(int fd, struct map_session_data *sd) __attribu
static void clif_parse_cameraInfo(int fd, struct map_session_data *sd)
{
#if PACKETVER >= 20160525
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
const struct PACKET_CZ_CAMERA_INFO *const p = RFIFOP(fd, 0);
char command[100];
if (p->action == 1) {
@@ -22263,6 +23363,9 @@ static void clif_parse_NPCBarterPurchase(int fd, struct map_session_data *sd) __
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
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
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;
@@ -22289,6 +23392,121 @@ static void clif_parse_NPCBarterPurchase(int fd, struct map_session_data *sd)
#endif
}
+static void clif_parse_npc_expanded_barter_closed(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_npc_expanded_barter_closed(int fd, struct map_session_data *sd)
+{
+}
+
+#if PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106 || PACKETVER_ZERO_NUM >= 20191127
+#define NEXT_EXPANDED_BARTER_ITEM(var, count) \
+ var = (struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub *)((char*)item + \
+ sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub) - \
+ sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2) + \
+ count * sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2))
+#endif
+
+static void clif_npc_expanded_barter_open(struct map_session_data *sd, struct npc_data *nd)
+{
+#if PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106 || PACKETVER_ZERO_NUM >= 20191127
+ 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 items_count = 0;
+ int currencies_count = 0;
+ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN *packet = (struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN*)&packet_buf[0];
+ STATIC_ASSERT(sizeof(packet_buf) > sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN), "packet_buf size too small");
+ int buf_left = sizeof(packet_buf) - sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN);
+ packet->packetType = HEADER_ZC_NPC_EXPANDED_BARTER_OPEN;
+ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub *item = &packet->items[0];
+
+ // Workaround for fix Visual Studio bug (error C2233)
+ // Here should be sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub)
+ const int ptr_size = sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub) -
+ sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2);
+ for (int i = 0; i < shop_size && buf_left >= ptr_size; i++) {
+ if (shop[i].nameid) {
+ struct item_data *id = itemdb->exists(shop[i].nameid);
+ if (id == NULL)
+ continue;
+
+ item->nameid = shop[i].nameid;
+ item->type = itemtype(id->type);
+ item->amount = shop[i].qty;
+ item->weight = id->weight * 10;
+ item->index = i;
+ item->zeny = shop[i].value;
+ item->currency_count = 0;
+ buf_left -= ptr_size;
+ items_count ++;
+ int count = shop[i].value2;
+ if (buf_left < sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2) * count) {
+ NEXT_EXPANDED_BARTER_ITEM(item, 0);
+ break;
+ }
+ for (int j = 0; j < count; j ++) {
+ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 *packet_currency = &item->currencies[j];
+ struct npc_barter_currency *currency = &shop[i].currency[j];
+ struct item_data *id2 = itemdb->exists(currency->nameid);
+ if (id2 == NULL)
+ continue;
+ packet_currency->nameid = currency->nameid;
+ if (currency->refine == -1)
+ packet_currency->refine_level = 0;
+ else
+ packet_currency->refine_level = currency->refine;
+ packet_currency->amount = currency->amount;
+ packet_currency->type = itemtype(id2->type);
+ currencies_count ++;
+ item->currency_count ++;
+ }
+ NEXT_EXPANDED_BARTER_ITEM(item, item->currency_count);
+ }
+ }
+
+ packet->items_count = items_count;
+ packet->packetLength = sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN) +
+ ptr_size * items_count +
+ sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2) * currencies_count;
+ clif->send(packet, packet->packetLength, &sd->bl, SELF);
+#endif
+}
+
+#undef NEXT_EXPANDED_BARTER_ITEM
+
+static void clif_parse_npc_expanded_barter_purchase(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_npc_expanded_barter_purchase(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190904 || PACKETVER_RE_NUM >= 20190904 || PACKETVER_ZERO_NUM >= 20190828
+ if (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ const struct PACKET_CZ_NPC_EXPANDED_BARTER_PURCHASE *const p = RP2PTR(fd);
+ int count = (p->packetLength - sizeof(struct PACKET_CZ_NPC_EXPANDED_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 = -1;
+ entry.shopIndex = p->list[i].shopIndex;
+ VECTOR_PUSH(item_list, entry);
+ }
+
+ int response = npc->expanded_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)
{
@@ -22297,6 +23515,337 @@ static void clif_parse_clientVersion(int fd, struct map_session_data *sd)
#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 >= 20190227 || PACKETVER_RE_NUM >= 20190220 || PACKETVER_ZERO_NUM >= 20190220
+ 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 (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ 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 (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ 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 (sd->state.trading || pc_isdead(sd) || pc_isvending(sd))
+ return;
+
+ 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
+}
+
+static void clif_parse_GuildCastleTeleportRequest(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
+static void clif_parse_GuildCastleTeleportRequest(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190522 || PACKETVER_ZERO_NUM >= 20190515
+ const struct PACKET_CZ_CASTLE_TELEPORT_REQUEST *p = RFIFO2PTR(fd);
+ struct guild *g = sd->guild;
+
+ if (g == NULL)
+ return;
+
+ struct guild_castle *gc = guild->castle_search(p->castle_id);
+ if (gc == NULL)
+ return;
+ if (gc->enable_client_warp == false)
+ return;
+ if (gc->guild_id != g->guild_id)
+ return;
+
+ if (map->list[sd->bl.m].flag.gvg_castle == 1)
+ return;
+
+ int zeny = gc->client_warp.zeny;
+ if (gc->siege_type == SIEGE_TYPE_FE && map->agit_flag == 1) {
+ zeny = gc->client_warp.zeny_siege;
+ } else if (gc->siege_type == SIEGE_TYPE_SE && map->agit2_flag == 1) {
+ zeny = gc->client_warp.zeny_siege;
+ } else if (gc->siege_type == SIEGE_TYPE_TE) {
+ clif->guild_castleteleport_res(sd, SIEGE_TP_INVALID_MODE);
+ return;
+ }
+
+ if (sd->status.zeny < zeny) {
+ clif->guild_castleteleport_res(sd, SIEGE_TP_NOT_ENOUGH_ZENY);
+ return;
+ }
+ sd->status.zeny -= zeny;
+ clif->updatestatus(sd, SP_ZENY);
+ pc->setpos(sd, gc->mapindex, gc->client_warp.x, gc->client_warp.y, CLR_OUTSIGHT);
+#endif
+}
+
+static void clif_guild_castleteleport_res(struct map_session_data *sd, enum siege_teleport_result result)
+{
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190717 || PACKETVER_ZERO_NUM >= 20190814
+
+ nullpo_retv(sd);
+
+ struct PACKET_ZC_CASTLE_TELEPORT_RESPONSE p = { 0 };
+ p.packetType = HEADER_ZC_CASTLE_TELEPORT_RESPONSE;
+ p.result = (int16)result;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+#endif
+}
+static void clif_parse_GuildCastleInfoRequest(int fd, struct map_session_data *sd) __attribute__((nonnull(2)));
+static void clif_parse_GuildCastleInfoRequest(int fd, struct map_session_data *sd)
+{
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190522 || PACKETVER_ZERO_NUM >= 20190515
+ const struct PACKET_CZ_CASTLE_INFO_REQUEST *p = RFIFO2PTR(fd);
+ struct guild *g = sd->guild;
+
+ if (g == NULL)
+ return;
+
+ struct guild_castle *gc = guild->castle_search(p->castle_id);
+ if (gc == NULL)
+ return;
+ if (gc->guild_id != g->guild_id)
+ return;
+ clif->guild_castleinfo(sd, gc);
+#endif
+}
+
+static bool clif_lapineDdukDdak_open(struct map_session_data *sd, int item_id)
+{
+#if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+ nullpo_retr(false, sd);
+ nullpo_retr(false, itemdb->exists(item_id));
+ struct PACKET_ZC_LAPINEDDUKDDAK_OPEN p;
+
+ p.packetType = HEADER_ZC_LAPINEDDUKDDAK_OPEN;
+ p.itemId = item_id;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+
+ sd->state.lapine_ui = 1;
+ return true;
+#else
+ return false;
+#endif // PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+}
+
+static bool clif_lapineDdukDdak_result(struct map_session_data *sd, enum lapineddukddak_result result)
+{
+#if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+ nullpo_retr(false, sd);
+ struct PACKET_ZC_LAPINEDDUKDDAK_RESULT p;
+
+ p.packetType = HEADER_ZC_LAPINEDDUKDDAK_RESULT;
+ p.result = result;
+ clif->send(&p, sizeof(p), &sd->bl, SELF);
+ return true;
+#else
+ return false;
+#endif // PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+}
+
+static void clif_parse_lapineDdukDdak_ack(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_lapineDdukDdak_ack(int fd, struct map_session_data *sd)
+{
+#if PACKETVER >= 20160302
+ const struct PACKET_CZ_LAPINEDDUKDDAK_ACK *p = RP2PTR(fd);
+ struct item_data *it = itemdb->exists(p->itemId);
+
+ if (it == NULL || it->lapineddukddak == NULL)
+ return;
+ if (pc_cant_act(sd))
+ return;
+ if (pc->search_inventory(sd, it->nameid) == INDEX_NOT_FOUND)
+ return;
+
+ if (((p->packetLength - sizeof(struct PACKET_CZ_LAPINEDDUKDDAK_ACK)) / sizeof(struct PACKET_CZ_LAPINEDDUKDDAK_ACK_sub)) != it->lapineddukddak->NeedCount)
+ return;
+
+ for (int i = 0; i < it->lapineddukddak->NeedCount; ++i) {
+ int16 idx = p->items[i].index - 2;
+ Assert_retv(idx >= 0 && idx < sd->status.inventorySize);
+
+ struct item itr = sd->status.inventory[idx];
+ int j = 0;
+ for (j = 0; j < VECTOR_LENGTH(it->lapineddukddak->SourceItems); ++j) {
+ if (itr.nameid == VECTOR_INDEX(it->lapineddukddak->SourceItems, j).id) {
+ // Validate that the amount sent in the packet is matching the database
+ if (p->items[i].count != VECTOR_INDEX(it->lapineddukddak->SourceItems, j).amount) {
+ clif->lapineDdukDdak_result(sd, LAPINEDDKUKDDAK_INSUFFICIENT_AMOUNT);
+ return;
+ }
+
+ // Validate that the player have enough of the item
+ if (itr.amount < VECTOR_INDEX(it->lapineddukddak->SourceItems, j).amount) {
+ clif->lapineDdukDdak_result(sd, LAPINEDDKUKDDAK_INSUFFICIENT_AMOUNT);
+ return;
+ }
+
+ // Validate refine rate requirement
+ if ((itemdb_type(itr.nameid) == IT_ARMOR || itemdb_type(itr.nameid) == IT_WEAPON)
+ && (itr.refine < it->lapineddukddak->NeedRefineMin || itr.refine > it->lapineddukddak->NeedRefineMax))
+ return;
+
+ // All requirements are met, move to the next one
+ break;
+ }
+ }
+ // The item is not in sources list
+ if (j == VECTOR_LENGTH(it->lapineddukddak->SourceItems)) {
+ clif->lapineDdukDdak_result(sd, LAPINEDDKUKDDAK_INVALID_ITEM);
+ return;
+ }
+ }
+
+ for (int i = 0; i < it->lapineddukddak->NeedCount; ++i)
+ pc->delitem(sd, p->items[i].index - 2, p->items[i].count, 0, DELITEM_NORMAL, LOG_TYPE_SCRIPT);
+ if (it->lapineddukddak->script != NULL)
+ script->run_item_lapineddukddak_script(sd, it, npc->fake_nd->bl.id);
+ clif->lapineDdukDdak_result(sd, LAPINEDDKUKDDAK_SUCCESS);
+ return;
+#endif // PACKETVER >= 20160302
+}
+
+static void clif_parse_lapineDdukDdak_close(int fd, struct map_session_data *sd) __attribute__((nonnull (2)));
+static void clif_parse_lapineDdukDdak_close(int fd, struct map_session_data *sd)
+{
+#if PACKETVER >= 20160504
+ sd->state.lapine_ui = 0;
+#endif // PACKETVER >= 20160504
+}
+
/*==========================================
* Main client packet processing function
*------------------------------------------*/
@@ -22538,9 +24087,9 @@ static void packetdb_loaddb(void)
static void clif_bc_ready(void)
{
if( battle_config.display_status_timers )
- clif->status_change = clif_status_change;
+ clif->status_change_sub = clif_status_change_sub;
else
- clif->status_change = clif_status_change_notick;
+ clif->status_change_sub = clif_status_change_notick;
switch( battle_config.packet_obfuscation ) {
case 0:
@@ -22578,6 +24127,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;
}
@@ -22734,9 +24289,12 @@ void clif_defaults(void)
clif->fame_alchemist = clif_fame_alchemist;
clif->fame_taekwon = clif_fame_taekwon;
clif->ranklist = clif_ranklist;
+ clif->ranklist_sub = clif_ranklist_sub;
+ clif->ranklist_sub2 = clif_ranklist_sub2;
clif->pRanklist = clif_parse_ranklist;
clif->update_rankingpoint = clif_update_rankingpoint;
clif->hotkeys = clif_hotkeys_send;
+ clif->hotkeysAll = clif_hotkeysAll_send;
clif->insight = clif_insight;
clif->outsight = clif_outsight;
clif->skillcastcancel = clif_skillcastcancel;
@@ -22749,6 +24307,7 @@ void clif_defaults(void)
clif->autospell = clif_autospell;
clif->combo_delay = clif_combo_delay;
clif->status_change = clif_status_change;
+ clif->status_change_sub = clif_status_change_sub;
clif->insert_card = clif_insert_card;
clif->inventoryList = clif_inventoryList;
clif->inventoryItems = clif_inventoryItems;
@@ -22775,7 +24334,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;
@@ -22829,6 +24400,7 @@ void clif_defaults(void)
/* visual effects client-side */
clif->misceffect = clif_misceffect;
clif->changeoption = clif_changeoption;
+ clif->changeoption_target = clif_changeoption_target;
clif->changeoption2 = clif_changeoption2;
clif->emotion = clif_emotion;
clif->talkiebox = clif_talkiebox;
@@ -22854,6 +24426,7 @@ void clif_defaults(void)
clif->specialeffect = clif_specialeffect;
clif->specialeffect_single = clif_specialeffect_single;
clif->specialeffect_value = clif_specialeffect_value;
+ clif->specialeffect_value_single = clif_specialeffect_value_single;
clif->removeSpecialEffect = clif_removeSpecialEffect;
clif->removeSpecialEffect_single = clif_removeSpecialEffect_single;
clif->millenniumshield = clif_millenniumshield;
@@ -22873,6 +24446,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;
@@ -22935,6 +24509,7 @@ void clif_defaults(void)
clif->skillinfo = clif_skillinfo;
clif->addskill = clif_addskill;
clif->deleteskill = clif_deleteskill;
+ clif->playerSkillToPacket = clif_playerSkillToPacket;
/* party-specific */
clif->party_created = clif_party_created;
clif->party_member_info = clif_party_member_info;
@@ -22958,6 +24533,8 @@ void clif_defaults(void)
clif->guild_masterormember = clif_guild_masterormember;
clif->guild_basicinfo = clif_guild_basicinfo;
clif->guild_allianceinfo = clif_guild_allianceinfo;
+ clif->guild_castlelist = clif_guild_castlelist;
+ clif->guild_castleinfo = clif_guild_castleinfo;
clif->guild_memberlist = clif_guild_memberlist;
clif->guild_skillinfo = clif_guild_skillinfo;
clif->guild_send_onlineinfo = clif_guild_send_onlineinfo;
@@ -23135,11 +24712,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;
/* */
@@ -23161,7 +24740,8 @@ void clif_defaults(void)
clif->pWantToConnection = clif_parse_WantToConnection;
clif->pLoadEndAck = clif_parse_LoadEndAck;
clif->pTickSend = clif_parse_TickSend;
- clif->pHotkey = clif_parse_Hotkey;
+ clif->pHotkey1 = clif_parse_Hotkey1;
+ clif->pHotkey2 = clif_parse_Hotkey2;
clif->pProgressbar = clif_parse_progressbar;
clif->pWalkToXY = clif_parse_WalkToXY;
clif->pQuitGame = clif_parse_QuitGame;
@@ -23370,11 +24950,15 @@ void clif_defaults(void)
clif->pBGQueueRevokeReq = clif_parse_bgqueue_revoke_req;
clif->pBGQueueBattleBeginAck = clif_parse_bgqueue_battlebegin_ack;
/* RagExe Cash Shop [Ind/Hercules] */
- clif->pCashShopOpen = clif_parse_CashShopOpen;
- clif->pCashShopClose = clif_parse_CashShopClose;
- clif->pCashShopReqTab = clif_parse_CashShopReqTab;
- clif->pCashShopSchedule = clif_parse_CashShopSchedule;
- clif->pCashShopBuy = clif_parse_CashShopBuy;
+ clif->pCashShopOpen1 = clif_parse_cashShopOpen1;
+ clif->pCashShopOpen2 = clif_parse_cashShopOpen2;
+ clif->pCashShopLimitedReq = clif_parse_cashShopLimitedReq;
+ clif->pCashShopClose = clif_parse_cashShopClose;
+ clif->pCashShopReqTab = clif_parse_cashShopReqTab;
+ clif->pCashShopSchedule = clif_parse_cashShopSchedule;
+ clif->pCashShopBuy = clif_parse_cashShopBuy;
+ clif->cashShopBuyAck = clif_cashShopBuyAck;
+ clif->cashShopOpen = clif_cashShopOpen;
/* */
clif->pPartyTick = clif_parse_PartyTick;
clif->pGuildInvite2 = clif_parse_GuildInvite2;
@@ -23403,7 +24987,8 @@ void clif_defaults(void)
clif->pNPCMarketPurchase = clif_parse_NPCMarketPurchase;
/* */
clif->add_item_options = clif_add_item_options;
- clif->pHotkeyRowShift = clif_parse_HotkeyRowShift;
+ clif->pHotkeyRowShift1 = clif_parse_HotkeyRowShift1;
+ clif->pHotkeyRowShift2 = clif_parse_HotkeyRowShift2;
clif->dressroom_open = clif_dressroom_open;
clif->pOneClick_ItemIdentify = clif_parse_OneClick_ItemIdentify;
/* Achievements [Smokexyz/Hercules] */
@@ -23459,15 +25044,9 @@ 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;
@@ -23486,5 +25065,29 @@ void clif_defaults(void)
clif->npc_barter_open = clif_npc_barter_open;
clif->pNPCBarterClosed = clif_parse_NPCBarterClosed;
clif->pNPCBarterPurchase = clif_parse_NPCBarterPurchase;
+ clif->npc_expanded_barter_open = clif_npc_expanded_barter_open;
+ clif->pNPCExpandedBarterPurchase = clif_parse_npc_expanded_barter_purchase;
+ clif->pNPCExpandedBarterClosed = clif_parse_npc_expanded_barter_closed;
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;
+ clif->pGuildCastleTeleportRequest = clif_parse_GuildCastleTeleportRequest;
+ clif->pGuildCastleInfoRequest = clif_parse_GuildCastleInfoRequest;
+ clif->guild_castleteleport_res = clif_guild_castleteleport_res;
+ clif->lapineDdukDdak_open = clif_lapineDdukDdak_open;
+ clif->lapineDdukDdak_result = clif_lapineDdukDdak_result;
+ clif->plapineDdukDdak_ack = clif_parse_lapineDdukDdak_ack;
+ clif->plapineDdukDdak_close = clif_parse_lapineDdukDdak_close;
+ clif->pReqGearOff = clif_parse_reqGearOff;
}
diff --git a/src/map/clif.h b/src/map/clif.h
index a7573b56e..25ac65af5 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -55,7 +55,11 @@ struct skill_unit;
struct unit_data;
struct view_data;
struct achievement_data; // map/achievement.h
+struct s_refine_requirement;
+struct PACKET_ZC_ACK_RANKING_sub;
+struct SKILLDATA;
+enum battle_dmg_type;
enum clif_messages;
enum rodex_add_item;
enum rodex_get_zeny;
@@ -71,10 +75,6 @@ enum rodex_get_items;
#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 +82,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
**/
@@ -409,23 +414,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 {
@@ -558,7 +566,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,
};
@@ -625,6 +633,13 @@ enum inventory_type {
INVTYPE_GUILD_STORAGE = 3,
};
+/** Guild Teleport Results */
+enum siege_teleport_result {
+ SIEGE_TP_SUCCESS = 0x0,
+ SIEGE_TP_NOT_ENOUGH_ZENY = 0x1,
+ SIEGE_TP_INVALID_MODE = 0x2
+};
+
/**
* Structures
**/
@@ -655,16 +670,6 @@ struct attendance_entry {
int qty;
};
-/* Stylist data [Asheraf/Hercules]*/
-struct stylist_data_entry {
- int16 id;
- int32 zeny;
- int itemid;
- int boxid;
- bool allow_doram;
-};
-VECTOR_DECL(struct stylist_data_entry) stylist_data[MAX_STYLIST_TYPE];
-
struct barter_itemlist_entry {
int addId;
int addAmount;
@@ -702,6 +707,42 @@ enum expand_inventory_result {
EXPAND_INVENTORY_RESULT_MAX_SIZE = 4
};
+#if PACKETVER_RE_NUM >= 20190807 || PACKETVER_ZERO_NUM >= 20190814
+enum market_buy_result {
+ MARKET_BUY_RESULT_ERROR = 0xffff, // -1
+ MARKET_BUY_RESULT_SUCCESS = 0,
+ MARKET_BUY_RESULT_NO_ZENY = 1,
+ MARKET_BUY_RESULT_OVER_WEIGHT = 2,
+ MARKET_BUY_RESULT_OUT_OF_SPACE = 3,
+ MARKET_BUY_RESULT_AMOUNT_TOO_BIG = 9
+};
+#else
+enum market_buy_result {
+ MARKET_BUY_RESULT_ERROR = 0,
+ MARKET_BUY_RESULT_SUCCESS = 1,
+ MARKET_BUY_RESULT_NO_ZENY = 0,
+ MARKET_BUY_RESULT_OVER_WEIGHT = 0,
+ MARKET_BUY_RESULT_OUT_OF_SPACE = 0,
+ MARKET_BUY_RESULT_AMOUNT_TOO_BIG = 0
+};
+#endif
+
+enum lapineddukddak_result {
+ LAPINEDDKUKDDAK_SUCCESS = 0,
+ LAPINEDDKUKDDAK_INSUFFICIENT_AMOUNT = 5,
+ LAPINEDDKUKDDAK_INVALID_ITEM = 7,
+};
+
+enum removeGear_flag {
+ REMOVE_MOUNT_0 = 0, // unused
+ REMOVE_MOUNT_DRAGON = 1,
+ REMOVE_MOUNT_2 = 2, // unused
+ REMOVE_MOUNT_MADO = 3,
+ REMOVE_MOUNT_PECO = 4,
+ REMOVE_MOUNT_FALCON = 5,
+ REMOVE_MOUNT_CART = 6,
+};
+
/**
* Clif.c Interface
**/
@@ -844,7 +885,7 @@ struct clif_interface {
void (*scriptclear) (struct map_session_data *sd, int npcid);
/* client-user-interface-related */
void (*viewpoint) (struct map_session_data *sd, int npc_id, int type, int x, int y, int id, int color);
- int (*damage) (struct block_list* src, struct block_list* dst, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2);
+ int (*damage) (struct block_list* src, struct block_list* dst, int sdelay, int ddelay, int64 damage, short div, enum battle_dmg_type type, int64 damage2);
void (*sitting) (struct block_list* bl);
void (*standing) (struct block_list* bl);
void (*arrow_create_list) (struct map_session_data *sd);
@@ -854,9 +895,12 @@ struct clif_interface {
void (*fame_alchemist) (struct map_session_data *sd, int points);
void (*fame_taekwon) (struct map_session_data *sd, int points);
void (*ranklist) (struct map_session_data *sd, enum fame_list_type type);
+ void (*ranklist_sub) (struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type);
+ void (*ranklist_sub2) (uint32 *chars, uint32 *points, enum fame_list_type type);
void (*update_rankingpoint) (struct map_session_data *sd, enum fame_list_type type, int points);
void (*pRanklist) (int fd, struct map_session_data *sd);
- void (*hotkeys) (struct map_session_data *sd);
+ void (*hotkeys) (struct map_session_data *sd, int tab);
+ void (*hotkeysAll) (struct map_session_data *sd);
int (*insight) (struct block_list *bl,va_list ap);
int (*outsight) (struct block_list *bl,va_list ap);
void (*skillcastcancel) (struct block_list* bl);
@@ -868,7 +912,8 @@ struct clif_interface {
void (*cooking_list) (struct map_session_data *sd, int trigger, uint16 skill_id, int qty, int list_type);
void (*autospell) (struct map_session_data *sd,uint16 skill_lv);
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 (*status_change) (struct block_list *bl, int relevant_bl, int type, int flag, int total_tick, int val1, int val2, int val3);
+ void (*status_change_sub) (struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_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 (*inventoryItems) (struct map_session_data *sd, enum inventory_type type);
@@ -895,7 +940,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);
@@ -949,13 +1006,14 @@ struct clif_interface {
/* visual effects client-side */
void (*misceffect) (struct block_list* bl,int type);
void (*changeoption) (struct block_list* bl);
+ void (*changeoption_target) (struct block_list *bl, struct block_list *target_bl, enum send_target target);
void (*changeoption2) (struct block_list* bl);
void (*emotion) (struct block_list *bl,int type);
void (*talkiebox) (struct block_list* bl, const char* talkie);
void (*wedding_effect) (struct block_list *bl);
void (*divorced) (struct map_session_data* sd, const char* name);
void (*callpartner) (struct map_session_data *sd);
- int (*skill_damage) (struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 damage, int div, uint16 skill_id, uint16 skill_lv, int type);
+ int (*skill_damage) (struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 damage, int div, uint16 skill_id, uint16 skill_lv, enum battle_dmg_type type);
int (*skill_nodamage) (struct block_list *src,struct block_list *dst,uint16 skill_id,int heal,int fail);
void (*skill_poseffect) (struct block_list *src, uint16 skill_id, int val, int x, int y, int64 tick);
void (*skill_estimation) (struct map_session_data *sd,struct block_list *dst);
@@ -973,7 +1031,8 @@ struct clif_interface {
void (*weather) (int16 m);
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 (*specialeffect_value) (struct block_list* bl, int effect_id, uint64 num, send_target target);
+ void (*specialeffect_value_single) (struct block_list *bl, int effect_id, uint64 num, int fd);
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 );
@@ -993,6 +1052,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);
@@ -1021,7 +1081,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);
@@ -1056,6 +1116,7 @@ struct clif_interface {
void (*skillinfo) (struct map_session_data *sd,int skill_id, int inf);
void (*addskill) (struct map_session_data *sd, int id);
void (*deleteskill) (struct map_session_data *sd, int id);
+ void (*playerSkillToPacket) (struct map_session_data *sd, struct SKILLDATA *skillData, int skillId, int idx, bool newSkill);
/* party-specific */
void (*party_created) (struct map_session_data *sd,int result);
void (*party_member_info) (struct party_data *p, struct map_session_data *sd);
@@ -1079,6 +1140,8 @@ struct clif_interface {
void (*guild_masterormember) (struct map_session_data *sd);
void (*guild_basicinfo) (struct map_session_data *sd);
void (*guild_allianceinfo) (struct map_session_data *sd);
+ void (*guild_castlelist) (struct map_session_data *sd);
+ void (*guild_castleinfo) (struct map_session_data *sd, struct guild_castle *gc);
void (*guild_memberlist) (struct map_session_data *sd);
void (*guild_skillinfo) (struct map_session_data* sd);
void (*guild_send_onlineinfo) (struct map_session_data *sd); //[LuzZza]
@@ -1248,19 +1311,21 @@ struct clif_interface {
/* */
void (*notify_bounditem) (struct map_session_data *sd, unsigned short index);
/* */
- int (*delay_damage) (int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, unsigned char type);
+ int (*delay_damage) (int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, enum battle_dmg_type type);
int (*delay_damage_sub) (int tid, int64 tick, int id, intptr_t data);
/* NPC Market */
void (*npc_market_open) (struct map_session_data *sd, struct npc_data *nd);
- void (*npc_market_purchase_ack) (struct map_session_data *sd, const struct itemlist *item_list, unsigned char response);
+ void (*npc_market_purchase_ack) (struct map_session_data *sd, const struct itemlist *item_list, enum market_buy_result response);
/* */
bool (*parse_roulette_db) (void);
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);
@@ -1278,7 +1343,8 @@ struct clif_interface {
void (*pWantToConnection) (int fd, struct map_session_data *sd);
void (*pLoadEndAck) (int fd,struct map_session_data *sd);
void (*pTickSend) (int fd, struct map_session_data *sd);
- void (*pHotkey) (int fd, struct map_session_data *sd);
+ void (*pHotkey1) (int fd, struct map_session_data *sd);
+ void (*pHotkey2) (int fd, struct map_session_data *sd);
void (*pProgressbar) (int fd, struct map_session_data * sd);
void (*pWalkToXY) (int fd, struct map_session_data *sd);
void (*pQuitGame) (int fd, struct map_session_data *sd);
@@ -1483,13 +1549,17 @@ struct clif_interface {
void (*pBGQueueRevokeReq) (int fd, struct map_session_data *sd);
void (*pBGQueueBattleBeginAck) (int fd, struct map_session_data *sd);
/* RagExe Cash Shop [Ind/Hercules] */
- void (*pCashShopOpen) (int fd, struct map_session_data *sd);
+ void (*pCashShopOpen1) (int fd, struct map_session_data *sd);
+ void (*pCashShopOpen2) (int fd, struct map_session_data *sd);
+ void (*pCashShopLimitedReq) (int fd, struct map_session_data *sd);
void (*pCashShopClose) (int fd, struct map_session_data *sd);
void (*pCashShopReqTab) (int fd, struct map_session_data *sd);
void (*pCashShopSchedule) (int fd, struct map_session_data *sd);
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);
+ void (*cashShopOpen) (int fd, struct map_session_data *sd, int tab);
/* Group Search System Update */
void (*pPartyBookingAddFilter) (int fd, struct map_session_data *sd);
void (*pPartyBookingSubFilter) (int fd, struct map_session_data *sd);
@@ -1515,7 +1585,8 @@ struct clif_interface {
void (*pNPCMarketPurchase) (int fd, struct map_session_data *sd);
/* */
int (*add_item_options) (struct ItemOptions *buf, const struct item *it);
- void (*pHotkeyRowShift) (int fd, struct map_session_data *sd);
+ void (*pHotkeyRowShift1) (int fd, struct map_session_data *sd);
+ void (*pHotkeyRowShift2) (int fd, struct map_session_data *sd);
void (*dressroom_open) (struct map_session_data *sd, int view);
void (*pOneClick_ItemIdentify) (int fd,struct map_session_data *sd);
/* Cart Deco */
@@ -1576,15 +1647,9 @@ 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);
@@ -1599,7 +1664,31 @@ struct clif_interface {
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 (*pNPCExpandedBarterClosed) (int fd, struct map_session_data *sd);
+ void (*pNPCExpandedBarterPurchase) (int fd, struct map_session_data *sd);
+ void (*npc_expanded_barter_open) (struct map_session_data *sd, struct npc_data *nd);
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);
+ void (*pGuildCastleTeleportRequest) (int fd, struct map_session_data *sd);
+ void (*pGuildCastleInfoRequest) (int fd, struct map_session_data *sd);
+ void (*guild_castleteleport_res) (struct map_session_data *sd, enum siege_teleport_result result);
+ bool (*lapineDdukDdak_open) (struct map_session_data *sd, int item_id);
+ bool (*lapineDdukDdak_result) (struct map_session_data *sd, enum lapineddukddak_result result);
+ void (*plapineDdukDdak_ack) (int fd, struct map_session_data *sd);
+ void (*plapineDdukDdak_close) (int fd, struct map_session_data *sd);
+ void (*pReqGearOff) (int fd, struct map_session_data *sd);
};
#ifdef HERCULES_CORE
diff --git a/src/map/constants.inc b/src/map/constants.inc
deleted file mode 100644
index 355e2a825..000000000
--- a/src/map/constants.inc
+++ /dev/null
@@ -1,1029 +0,0 @@
- script->constdb_comment("Status Icons");
-
- script->set_constant("SI_BLANK", SI_BLANK, false, false);
-
- script->set_constant("SI_PROVOKE", SI_PROVOKE, false, false);
- script->set_constant("SI_ENDURE", SI_ENDURE, false, false);
- script->set_constant("SI_TWOHANDQUICKEN", SI_TWOHANDQUICKEN, false, false);
- script->set_constant("SI_CONCENTRATION", SI_CONCENTRATION, false, false);
- script->set_constant("SI_HIDING", SI_HIDING, false, false);
- script->set_constant("SI_CLOAKING", SI_CLOAKING, false, false);
- script->set_constant("SI_ENCHANTPOISON", SI_ENCHANTPOISON, false, false);
- script->set_constant("SI_POISONREACT", SI_POISONREACT, false, false);
- script->set_constant("SI_QUAGMIRE", SI_QUAGMIRE, false, false);
- script->set_constant("SI_ANGELUS", SI_ANGELUS, false, false);
- script->set_constant("SI_BLESSING", SI_BLESSING, false, false);
- script->set_constant("SI_CRUCIS", SI_CRUCIS, false, false);
- script->set_constant("SI_INC_AGI", SI_INC_AGI, false, false);
- script->set_constant("SI_DEC_AGI", SI_DEC_AGI, false, false);
- script->set_constant("SI_SLOWPOISON", SI_SLOWPOISON, false, false);
- script->set_constant("SI_IMPOSITIO", SI_IMPOSITIO, false, false);
- script->set_constant("SI_SUFFRAGIUM", SI_SUFFRAGIUM, false, false);
- script->set_constant("SI_ASPERSIO", SI_ASPERSIO, false, false);
- script->set_constant("SI_BENEDICTIO", SI_BENEDICTIO, false, false);
- script->set_constant("SI_KYRIE", SI_KYRIE, false, false);
- script->set_constant("SI_MAGNIFICAT", SI_MAGNIFICAT, false, false);
- script->set_constant("SI_GLORIA", SI_GLORIA, false, false);
- script->set_constant("SI_LEXAETERNA", SI_LEXAETERNA, false, false);
- script->set_constant("SI_ADRENALINE", SI_ADRENALINE, false, false);
- script->set_constant("SI_WEAPONPERFECT", SI_WEAPONPERFECT, false, false);
- script->set_constant("SI_OVERTHRUST", SI_OVERTHRUST, false, false);
- script->set_constant("SI_MAXIMIZE", SI_MAXIMIZE, false, false);
- script->set_constant("SI_RIDING", SI_RIDING, false, false);
- script->set_constant("SI_FALCON", SI_FALCON, false, false);
- script->set_constant("SI_TRICKDEAD", SI_TRICKDEAD, false, false);
- script->set_constant("SI_SHOUT", SI_SHOUT, false, false);
- script->set_constant("SI_ENERGYCOAT", SI_ENERGYCOAT, false, false);
- script->set_constant("SI_BROKENARMOR", SI_BROKENARMOR, false, false);
- script->set_constant("SI_BROKENWEAPON", SI_BROKENWEAPON, false, false);
- script->set_constant("SI_ILLUSION", SI_ILLUSION, false, false);
- script->set_constant("SI_WEIGHTOVER50", SI_WEIGHTOVER50, false, false);
- script->set_constant("SI_WEIGHTOVER90", SI_WEIGHTOVER90, false, false);
- script->set_constant("SI_ATTHASTE_POTION1", SI_ATTHASTE_POTION1, false, false);
- script->set_constant("SI_ATTHASTE_POTION2", SI_ATTHASTE_POTION2, false, false);
- script->set_constant("SI_ATTHASTE_POTION3", SI_ATTHASTE_POTION3, false, false);
- script->set_constant("SI_ATTHASTE_INFINITY", SI_ATTHASTE_INFINITY, false, false);
- script->set_constant("SI_MOVHASTE_POTION", SI_MOVHASTE_POTION, false, false);
- script->set_constant("SI_MOVHASTE_INFINITY", SI_MOVHASTE_INFINITY, false, false);
- //script->set_constant("SI_AUTOCOUNTER", SI_AUTOCOUNTER, false, false);
- //script->set_constant("SI_SPLASHER", SI_SPLASHER, false, false);
- script->set_constant("SI_ANKLESNARE", SI_ANKLESNARE, false, false);
- script->set_constant("SI_POSTDELAY", SI_POSTDELAY, false, false);
- //script->set_constant("SI_NOACTION", SI_NOACTION, false, false);
- //script->set_constant("SI_IMPOSSIBLEPICKUP", SI_IMPOSSIBLEPICKUP, false, false);
- //script->set_constant("SI_BARRIER", SI_BARRIER, false, false);
-
- script->set_constant("SI_NOEQUIPWEAPON", SI_NOEQUIPWEAPON, false, false);
- script->set_constant("SI_NOEQUIPSHIELD", SI_NOEQUIPSHIELD, false, false);
- script->set_constant("SI_NOEQUIPARMOR", SI_NOEQUIPARMOR, false, false);
- script->set_constant("SI_NOEQUIPHELM", SI_NOEQUIPHELM, false, false);
- script->set_constant("SI_PROTECTWEAPON", SI_PROTECTWEAPON, false, false);
- script->set_constant("SI_PROTECTSHIELD", SI_PROTECTSHIELD, false, false);
- script->set_constant("SI_PROTECTARMOR", SI_PROTECTARMOR, false, false);
- script->set_constant("SI_PROTECTHELM", SI_PROTECTHELM, false, false);
- script->set_constant("SI_AUTOGUARD", SI_AUTOGUARD, false, false);
- script->set_constant("SI_REFLECTSHIELD", SI_REFLECTSHIELD, false, false);
- //script->set_constant("SI_DEVOTION", SI_DEVOTION, false, false);
- script->set_constant("SI_PROVIDENCE", SI_PROVIDENCE, false, false);
- script->set_constant("SI_DEFENDER", SI_DEFENDER, false, false);
- //script->set_constant("SI_MAGICROD", SI_MAGICROD, false, false);
- //script->set_constant("SI_WEAPONPROPERTY", SI_WEAPONPROPERTY, false, false);
- script->set_constant("SI_AUTOSPELL", SI_AUTOSPELL, false, false);
- //script->set_constant("SI_SPECIALZONE", SI_SPECIALZONE, false, false);
- //script->set_constant("SI_MASK", SI_MASK, false, false);
- script->set_constant("SI_SPEARQUICKEN", SI_SPEARQUICKEN, false, false);
- //script->set_constant("SI_BDPLAYING", SI_BDPLAYING, false, false);
- //script->set_constant("SI_WHISTLE", SI_WHISTLE, false, false);
- //script->set_constant("SI_ASSASSINCROSS", SI_ASSASSINCROSS, false, false);
- //script->set_constant("SI_POEMBRAGI", SI_POEMBRAGI, false, false);
- //script->set_constant("SI_APPLEIDUN", SI_APPLEIDUN, false, false);
- //script->set_constant("SI_HUMMING", SI_HUMMING, false, false);
- //script->set_constant("SI_DONTFORGETME", SI_DONTFORGETME, false, false);
- //script->set_constant("SI_FORTUNEKISS", SI_FORTUNEKISS, false, false);
- //script->set_constant("SI_SERVICEFORYOU", SI_SERVICEFORYOU, false, false);
- //script->set_constant("SI_RICHMANKIM", SI_RICHMANKIM, false, false);
- //script->set_constant("SI_ETERNALCHAOS", SI_ETERNALCHAOS, false, false);
- //script->set_constant("SI_DRUMBATTLEFIELD", SI_DRUMBATTLEFIELD, false, false);
- //script->set_constant("SI_RINGNIBELUNGEN", SI_RINGNIBELUNGEN, false, false);
- //script->set_constant("SI_ROKISWEIL", SI_ROKISWEIL, false, false);
- //script->set_constant("SI_INTOABYSS", SI_INTOABYSS, false, false);
- //script->set_constant("SI_SIEGFRIED", SI_SIEGFRIED, false, false);
- //script->set_constant("SI_BLADESTOP", SI_BLADESTOP, false, false);
- script->set_constant("SI_EXPLOSIONSPIRITS", SI_EXPLOSIONSPIRITS, false, false);
- script->set_constant("SI_STEELBODY", SI_STEELBODY, false, false);
- script->set_constant("SI_EXTREMITYFIST", SI_EXTREMITYFIST, false, false);
- //script->set_constant("SI_COMBOATTACK", SI_COMBOATTACK, false, false);
- script->set_constant("SI_PROPERTYFIRE", SI_PROPERTYFIRE, false, false);
- script->set_constant("SI_PROPERTYWATER", SI_PROPERTYWATER, false, false);
- script->set_constant("SI_PROPERTYWIND", SI_PROPERTYWIND, false, false);
- script->set_constant("SI_PROPERTYGROUND", SI_PROPERTYGROUND, false, false);
- //script->set_constant("SI_MAGICATTACK", SI_MAGICATTACK, false, false);
- script->set_constant("SI_STOP", SI_STOP, false, false);
- //script->set_constant("SI_WEAPONBRAKER", SI_WEAPONBRAKER, false, false);
- script->set_constant("SI_PROPERTYUNDEAD", SI_PROPERTYUNDEAD, false, false);
- //script->set_constant("SI_POWERUP", SI_POWERUP, false, false);
- //script->set_constant("SI_AGIUP", SI_AGIUP, false, false);
-
- //script->set_constant("SI_SIEGEMODE", SI_SIEGEMODE, false, false);
- //script->set_constant("SI_INVISIBLE", SI_INVISIBLE, false, false);
- //script->set_constant("SI_STATUSONE", SI_STATUSONE, false, false);
- script->set_constant("SI_AURABLADE", SI_AURABLADE, false, false);
- script->set_constant("SI_PARRYING", SI_PARRYING, false, false);
- script->set_constant("SI_LKCONCENTRATION", SI_LKCONCENTRATION, false, false);
- script->set_constant("SI_TENSIONRELAX", SI_TENSIONRELAX, false, false);
- script->set_constant("SI_BERSERK", SI_BERSERK, false, false);
- //script->set_constant("SI_SACRIFICE", SI_SACRIFICE, false, false);
- //script->set_constant("SI_GOSPEL", SI_GOSPEL, false, false);
- script->set_constant("SI_ASSUMPTIO", SI_ASSUMPTIO, false, false);
- //script->set_constant("SI_BASILICA", SI_BASILICA, false, false);
- script->set_constant("SI_GROUNDMAGIC", SI_GROUNDMAGIC, false, false);
- script->set_constant("SI_MAGICPOWER", SI_MAGICPOWER, false, false);
- script->set_constant("SI_EDP", SI_EDP, false, false);
- script->set_constant("SI_TRUESIGHT", SI_TRUESIGHT, false, false);
- script->set_constant("SI_WINDWALK", SI_WINDWALK, false, false);
- script->set_constant("SI_MELTDOWN", SI_MELTDOWN, false, false);
- script->set_constant("SI_CARTBOOST", SI_CARTBOOST, false, false);
- //script->set_constant("SI_CHASEWALK", SI_CHASEWALK, false, false);
- script->set_constant("SI_SWORDREJECT", SI_SWORDREJECT, false, false);
- script->set_constant("SI_MARIONETTE_MASTER", SI_MARIONETTE_MASTER, false, false);
- script->set_constant("SI_MARIONETTE", SI_MARIONETTE, false, false);
- script->set_constant("SI_MOON", SI_MOON, false, false);
- script->set_constant("SI_BLOODING", SI_BLOODING, false, false);
- script->set_constant("SI_JOINTBEAT", SI_JOINTBEAT, false, false);
- //script->set_constant("SI_MINDBREAKER", SI_MINDBREAKER, false, false);
- //script->set_constant("SI_MEMORIZE", SI_MEMORIZE, false, false);
- //script->set_constant("SI_FOGWALL", SI_FOGWALL, false, false);
- //script->set_constant("SI_SPIDERWEB", SI_SPIDERWEB, false, false);
- script->set_constant("SI_PROTECTEXP", SI_PROTECTEXP, false, false);
- //script->set_constant("SI_SUB_WEAPONPROPERTY", SI_SUB_WEAPONPROPERTY, false, false);
- script->set_constant("SI_AUTOBERSERK", SI_AUTOBERSERK, false, false);
- script->set_constant("SI_RUN", SI_RUN, false, false);
- script->set_constant("SI_TING", SI_TING, false, false);
- script->set_constant("SI_STORMKICK_ON", SI_STORMKICK_ON, false, false);
- script->set_constant("SI_STORMKICK_READY", SI_STORMKICK_READY, false, false);
- script->set_constant("SI_DOWNKICK_ON", SI_DOWNKICK_ON, false, false);
- script->set_constant("SI_DOWNKICK_READY", SI_DOWNKICK_READY, false, false);
- script->set_constant("SI_TURNKICK_ON", SI_TURNKICK_ON, false, false);
- script->set_constant("SI_TURNKICK_READY", SI_TURNKICK_READY, false, false);
- script->set_constant("SI_COUNTER_ON", SI_COUNTER_ON, false, false);
- script->set_constant("SI_COUNTER_READY", SI_COUNTER_READY, false, false);
- script->set_constant("SI_DODGE_ON", SI_DODGE_ON, false, false);
- script->set_constant("SI_DODGE_READY", SI_DODGE_READY, false, false);
- script->set_constant("SI_STRUP", SI_STRUP, false, false);
- script->set_constant("SI_PROPERTYDARK", SI_PROPERTYDARK, false, false);
- script->set_constant("SI_ADRENALINE2", SI_ADRENALINE2, false, false);
- script->set_constant("SI_PROPERTYTELEKINESIS", SI_PROPERTYTELEKINESIS, false, false);
- script->set_constant("SI_SOULLINK", SI_SOULLINK, false, false);
-
- script->set_constant("SI_PLUSATTACKPOWER", SI_PLUSATTACKPOWER, false, false);
- script->set_constant("SI_PLUSMAGICPOWER", SI_PLUSMAGICPOWER, false, false);
- script->set_constant("SI_DEVIL1", SI_DEVIL1, false, false);
- script->set_constant("SI_KAITE", SI_KAITE, false, false);
- //script->set_constant("SI_SWOO", SI_SWOO, false, false);
- //script->set_constant("SI_STAR2", SI_STAR2, false, false);
- script->set_constant("SI_KAIZEL", SI_KAIZEL, false, false);
- script->set_constant("SI_KAAHI", SI_KAAHI, false, false);
- script->set_constant("SI_KAUPE", SI_KAUPE, false, false);
- script->set_constant("SI_SMA_READY", SI_SMA_READY, false, false);
- script->set_constant("SI_SKE", SI_SKE, false, false);
- script->set_constant("SI_ONEHANDQUICKEN", SI_ONEHANDQUICKEN, false, false);
- //script->set_constant("SI_FRIEND", SI_FRIEND, false, false);
- //script->set_constant("SI_FRIENDUP", SI_FRIENDUP, false, false);
- //script->set_constant("SI_SG_WARM", SI_SG_WARM, false, false);
- script->set_constant("SI_SG_SUN_WARM", SI_SG_SUN_WARM, false, false);
- //script->set_constant("SI_SG_MOON_WARM", SI_SG_MOON_WARM, false, false);
- //script->set_constant("SI_SG_STAR_WARM", SI_SG_STAR_WARM, false, false);
- //script->set_constant("SI_EMOTION", SI_EMOTION, false, false);
- script->set_constant("SI_SUN_COMFORT", SI_SUN_COMFORT, false, false);
- script->set_constant("SI_MOON_COMFORT", SI_MOON_COMFORT, false, false);
- script->set_constant("SI_STAR_COMFORT", SI_STAR_COMFORT, false, false);
- //script->set_constant("SI_EXPUP", SI_EXPUP, false, false);
- //script->set_constant("SI_GDSKILL_BATTLEORDER", SI_GDSKILL_BATTLEORDER, false, false);
- //script->set_constant("SI_GDSKILL_REGENERATION", SI_GDSKILL_REGENERATION, false, false);
- //script->set_constant("SI_GDSKILL_POSTDELAY", SI_GDSKILL_POSTDELAY, false, false);
- //script->set_constant("SI_RESISTHANDICAP", SI_RESISTHANDICAP, false, false);
- //script->set_constant("SI_MAXHPPERCENT", SI_MAXHPPERCENT, false, false);
- //script->set_constant("SI_MAXSPPERCENT", SI_MAXSPPERCENT, false, false);
- //script->set_constant("SI_DEFENCE", SI_DEFENCE, false, false);
- //script->set_constant("SI_SLOWDOWN", SI_SLOWDOWN, false, false);
- script->set_constant("SI_PRESERVE", SI_PRESERVE, false, false);
- script->set_constant("SI_INCSTR", SI_INCSTR, false, false);
- //script->set_constant("SI_NOT_EXTREMITYFIST", SI_NOT_EXTREMITYFIST, false, false);
- script->set_constant("SI_CLAIRVOYANCE", SI_CLAIRVOYANCE, false, false);
- script->set_constant("SI_MOVESLOW_POTION", SI_MOVESLOW_POTION, false, false);
- script->set_constant("SI_DOUBLECASTING", SI_DOUBLECASTING, false, false);
- //script->set_constant("SI_GRAVITATION", SI_GRAVITATION, false, false);
- script->set_constant("SI_OVERTHRUSTMAX", SI_OVERTHRUSTMAX, false, false);
- //script->set_constant("SI_LONGING", SI_LONGING, false, false);
- //script->set_constant("SI_HERMODE", SI_HERMODE, false, false);
- script->set_constant("SI_TAROTCARD", SI_TAROTCARD, false, false);
- //script->set_constant("SI_HLIF_AVOID", SI_HLIF_AVOID, false, false);
- //script->set_constant("SI_HFLI_FLEET", SI_HFLI_FLEET, false, false);
- //script->set_constant("SI_HFLI_SPEED", SI_HFLI_SPEED, false, false);
- //script->set_constant("SI_HLIF_CHANGE", SI_HLIF_CHANGE, false, false);
- //script->set_constant("SI_HAMI_BLOODLUST", SI_HAMI_BLOODLUST, false, false);
- script->set_constant("SI_CR_SHRINK", SI_CR_SHRINK, false, false);
- script->set_constant("SI_WZ_SIGHTBLASTER", SI_WZ_SIGHTBLASTER, false, false);
- script->set_constant("SI_DC_WINKCHARM", SI_DC_WINKCHARM, false, false);
-
- script->set_constant("SI_RG_CCONFINE_M", SI_RG_CCONFINE_M, false, false);
- script->set_constant("SI_RG_CCONFINE_S", SI_RG_CCONFINE_S, false, false);
- //script->set_constant("SI_DISABLEMOVE", SI_DISABLEMOVE, false, false);
- script->set_constant("SI_GS_MADNESSCANCEL", SI_GS_MADNESSCANCEL, false, false);
- script->set_constant("SI_GS_GATLINGFEVER", SI_GS_GATLINGFEVER, false, false);
- script->set_constant("SI_EARTHSCROLL", SI_EARTHSCROLL, false, false);
- script->set_constant("SI_NJ_UTSUSEMI", SI_NJ_UTSUSEMI, false, false);
- script->set_constant("SI_NJ_BUNSINJYUTSU", SI_NJ_BUNSINJYUTSU, false, false);
- script->set_constant("SI_NJ_NEN", SI_NJ_NEN, false, false);
- script->set_constant("SI_GS_ADJUSTMENT", SI_GS_ADJUSTMENT, false, false);
- script->set_constant("SI_GS_ACCURACY", SI_GS_ACCURACY, false, false);
- script->set_constant("SI_NJ_SUITON", SI_NJ_SUITON, false, false);
- //script->set_constant("SI_PET", SI_PET, false, false);
- //script->set_constant("SI_MENTAL", SI_MENTAL, false, false);
- //script->set_constant("SI_EXPMEMORY", SI_EXPMEMORY, false, false);
- //script->set_constant("SI_PERFORMANCE", SI_PERFORMANCE, false, false);
- //script->set_constant("SI_GAIN", SI_GAIN, false, false);
- //script->set_constant("SI_GRIFFON", SI_GRIFFON, false, false);
- //script->set_constant("SI_DRIFT", SI_DRIFT, false, false);
- //script->set_constant("SI_WALLSHIFT", SI_WALLSHIFT, false, false);
- //script->set_constant("SI_REINCARNATION", SI_REINCARNATION, false, false);
- //script->set_constant("SI_PATTACK", SI_PATTACK, false, false);
- //script->set_constant("SI_PSPEED", SI_PSPEED, false, false);
- //script->set_constant("SI_PDEFENSE", SI_PDEFENSE, false, false);
- //script->set_constant("SI_PCRITICAL", SI_PCRITICAL, false, false);
- //script->set_constant("SI_RANKING", SI_RANKING, false, false);
- //script->set_constant("SI_PTRIPLE", SI_PTRIPLE, false, false);
- //script->set_constant("SI_DENERGY", SI_DENERGY, false, false);
- //script->set_constant("SI_WAVE1", SI_WAVE1, false, false);
- //script->set_constant("SI_WAVE2", SI_WAVE2, false, false);
- //script->set_constant("SI_WAVE3", SI_WAVE3, false, false);
- //script->set_constant("SI_WAVE4", SI_WAVE4, false, false);
- //script->set_constant("SI_DAURA", SI_DAURA, false, false);
- //script->set_constant("SI_DFREEZER", SI_DFREEZER, false, false);
- //script->set_constant("SI_DPUNISH", SI_DPUNISH, false, false);
- //script->set_constant("SI_DBARRIER", SI_DBARRIER, false, false);
- //script->set_constant("SI_DWARNING", SI_DWARNING, false, false);
- //script->set_constant("SI_MOUSEWHEEL", SI_MOUSEWHEEL, false, false);
- //script->set_constant("SI_DGAUGE", SI_DGAUGE, false, false);
- //script->set_constant("SI_DACCEL", SI_DACCEL, false, false);
- //script->set_constant("SI_DBLOCK", SI_DBLOCK, false, false);
- script->set_constant("SI_FOOD_STR", SI_FOOD_STR, false, false);
- script->set_constant("SI_FOOD_AGI", SI_FOOD_AGI, false, false);
- script->set_constant("SI_FOOD_VIT", SI_FOOD_VIT, false, false);
- script->set_constant("SI_FOOD_DEX", SI_FOOD_DEX, false, false);
- script->set_constant("SI_FOOD_INT", SI_FOOD_INT, false, false);
- script->set_constant("SI_FOOD_LUK", SI_FOOD_LUK, false, false);
- script->set_constant("SI_FOOD_BASICAVOIDANCE", SI_FOOD_BASICAVOIDANCE, false, false);
- script->set_constant("SI_FOOD_BASICHIT", SI_FOOD_BASICHIT, false, false);
- script->set_constant("SI_FOOD_CRITICALSUCCESSVALUE", SI_FOOD_CRITICALSUCCESSVALUE, false, false);
-
- script->set_constant("SI_CASH_PLUSEXP", SI_CASH_PLUSEXP, false, false);
- script->set_constant("SI_CASH_DEATHPENALTY", SI_CASH_DEATHPENALTY, false, false);
- script->set_constant("SI_CASH_RECEIVEITEM", SI_CASH_RECEIVEITEM, false, false);
- script->set_constant("SI_CASH_BOSS_ALARM", SI_CASH_BOSS_ALARM, false, false);
- //script->set_constant("SI_DA_ENERGY", SI_DA_ENERGY, false, false);
- //script->set_constant("SI_DA_FIRSTSLOT", SI_DA_FIRSTSLOT, false, false);
- //script->set_constant("SI_DA_HEADDEF", SI_DA_HEADDEF, false, false);
- //script->set_constant("SI_DA_SPACE", SI_DA_SPACE, false, false);
- //script->set_constant("SI_DA_TRANSFORM", SI_DA_TRANSFORM, false, false);
- //script->set_constant("SI_DA_ITEMREBUILD", SI_DA_ITEMREBUILD, false, false);
- //script->set_constant("SI_DA_ILLUSION", SI_DA_ILLUSION, false, false);
- //script->set_constant("SI_DA_DARKPOWER", SI_DA_DARKPOWER, false, false);
- //script->set_constant("SI_DA_EARPLUG", SI_DA_EARPLUG, false, false);
- //script->set_constant("SI_DA_CONTRACT", SI_DA_CONTRACT, false, false);
- //script->set_constant("SI_DA_BLACK", SI_DA_BLACK, false, false);
- //script->set_constant("SI_DA_MAGICCART", SI_DA_MAGICCART, false, false);
- //script->set_constant("SI_CRYSTAL", SI_CRYSTAL, false, false);
- //script->set_constant("SI_DA_REBUILD", SI_DA_REBUILD, false, false);
- //script->set_constant("SI_DA_EDARKNESS", SI_DA_EDARKNESS, false, false);
- //script->set_constant("SI_DA_EGUARDIAN", SI_DA_EGUARDIAN, false, false);
- //script->set_constant("SI_DA_TIMEOUT", SI_DA_TIMEOUT, false, false);
- script->set_constant("SI_FOOD_STR_CASH", SI_FOOD_STR_CASH, false, false);
- script->set_constant("SI_FOOD_AGI_CASH", SI_FOOD_AGI_CASH, false, false);
- script->set_constant("SI_FOOD_VIT_CASH", SI_FOOD_VIT_CASH, false, false);
- script->set_constant("SI_FOOD_DEX_CASH", SI_FOOD_DEX_CASH, false, false);
- script->set_constant("SI_FOOD_INT_CASH", SI_FOOD_INT_CASH, false, false);
- script->set_constant("SI_FOOD_LUK_CASH", SI_FOOD_LUK_CASH, false, false);
- script->set_constant("SI_MER_FLEE", SI_MER_FLEE, false, false);
- script->set_constant("SI_MER_ATK", SI_MER_ATK, false, false);
- script->set_constant("SI_MER_HP", SI_MER_HP, false, false);
- script->set_constant("SI_MER_SP", SI_MER_SP, false, false);
- script->set_constant("SI_MER_HIT", SI_MER_HIT, false, false);
- script->set_constant("SI_SLOWCAST", SI_SLOWCAST, false, false);
- //script->set_constant("SI_MAGICMIRROR", SI_MAGICMIRROR, false, false);
- //script->set_constant("SI_STONESKIN", SI_STONESKIN, false, false);
- //script->set_constant("SI_ANTIMAGIC", SI_ANTIMAGIC, false, false);
- script->set_constant("SI_CRITICALWOUND", SI_CRITICALWOUND, false, false);
- //script->set_constant("SI_NPC_DEFENDER", SI_NPC_DEFENDER, false, false);
- //script->set_constant("SI_NOACTION_WAIT", SI_NOACTION_WAIT, false, false);
- script->set_constant("SI_MOVHASTE_HORSE", SI_MOVHASTE_HORSE, false, false);
- script->set_constant("SI_PROTECT_DEF", SI_PROTECT_DEF, false, false);
- script->set_constant("SI_PROTECT_MDEF", SI_PROTECT_MDEF, false, false);
- script->set_constant("SI_HEALPLUS", SI_HEALPLUS, false, false);
- script->set_constant("SI_S_LIFEPOTION", SI_S_LIFEPOTION, false, false);
- script->set_constant("SI_L_LIFEPOTION", SI_L_LIFEPOTION, false, false);
- script->set_constant("SI_CRITICALPERCENT", SI_CRITICALPERCENT, false, false);
- script->set_constant("SI_PLUSAVOIDVALUE", SI_PLUSAVOIDVALUE, false, false);
- script->set_constant("SI_ATKER_ASPD", SI_ATKER_ASPD, false, false);
- script->set_constant("SI_TARGET_ASPD", SI_TARGET_ASPD, false, false);
- script->set_constant("SI_ATKER_MOVESPEED", SI_ATKER_MOVESPEED, false, false);
-
- script->set_constant("SI_ATKER_BLOOD", SI_ATKER_BLOOD, false, false);
- script->set_constant("SI_TARGET_BLOOD", SI_TARGET_BLOOD, false, false);
- script->set_constant("SI_ARMOR_PROPERTY", SI_ARMOR_PROPERTY, false, false);
- //script->set_constant("SI_REUSE_LIMIT_A", SI_REUSE_LIMIT_A, false, false);
- script->set_constant("SI_HELLPOWER", SI_HELLPOWER, false, false);
- script->set_constant("SI_STEAMPACK", SI_STEAMPACK, false, false);
- //script->set_constant("SI_REUSE_LIMIT_B", SI_REUSE_LIMIT_B, false, false);
- //script->set_constant("SI_REUSE_LIMIT_C", SI_REUSE_LIMIT_C, false, false);
- //script->set_constant("SI_REUSE_LIMIT_D", SI_REUSE_LIMIT_D, false, false);
- //script->set_constant("SI_REUSE_LIMIT_E", SI_REUSE_LIMIT_E, false, false);
- //script->set_constant("SI_REUSE_LIMIT_F", SI_REUSE_LIMIT_F, false, false);
- script->set_constant("SI_INVINCIBLE", SI_INVINCIBLE, false, false);
- script->set_constant("SI_CASH_PLUSONLYJOBEXP", SI_CASH_PLUSONLYJOBEXP, false, false);
- script->set_constant("SI_PARTYFLEE", SI_PARTYFLEE, false, false);
- script->set_constant("SI_ANGEL_PROTECT", SI_ANGEL_PROTECT, false, false);
- //script->set_constant("SI_ENDURE_MDEF", SI_ENDURE_MDEF, false, false);
- script->set_constant("SI_ENCHANTBLADE", SI_ENCHANTBLADE, false, false);
- script->set_constant("SI_DEATHBOUND", SI_DEATHBOUND, false, false);
- script->set_constant("SI_REFRESH", SI_REFRESH, false, false);
- script->set_constant("SI_GIANTGROWTH", SI_GIANTGROWTH, false, false);
- script->set_constant("SI_STONEHARDSKIN", SI_STONEHARDSKIN, false, false);
- script->set_constant("SI_VITALITYACTIVATION", SI_VITALITYACTIVATION, false, false);
- script->set_constant("SI_FIGHTINGSPIRIT", SI_FIGHTINGSPIRIT, false, false);
- script->set_constant("SI_ABUNDANCE", SI_ABUNDANCE, false, false);
- script->set_constant("SI_REUSE_MILLENNIUMSHIELD", SI_REUSE_MILLENNIUMSHIELD, false, false);
- script->set_constant("SI_REUSE_CRUSHSTRIKE", SI_REUSE_CRUSHSTRIKE, false, false);
- script->set_constant("SI_REUSE_REFRESH", SI_REUSE_REFRESH, false, false);
- script->set_constant("SI_REUSE_STORMBLAST", SI_REUSE_STORMBLAST, false, false);
- script->set_constant("SI_VENOMIMPRESS", SI_VENOMIMPRESS, false, false);
- script->set_constant("SI_EPICLESIS", SI_EPICLESIS, false, false);
- script->set_constant("SI_ORATIO", SI_ORATIO, false, false);
- script->set_constant("SI_LAUDAAGNUS", SI_LAUDAAGNUS, false, false);
- script->set_constant("SI_LAUDARAMUS", SI_LAUDARAMUS, false, false);
- script->set_constant("SI_CLOAKINGEXCEED", SI_CLOAKINGEXCEED, false, false);
- script->set_constant("SI_HALLUCINATIONWALK", SI_HALLUCINATIONWALK, false, false);
- script->set_constant("SI_HALLUCINATIONWALK_POSTDELAY", SI_HALLUCINATIONWALK_POSTDELAY, false, false);
- script->set_constant("SI_RENOVATIO", SI_RENOVATIO, false, false);
- script->set_constant("SI_WEAPONBLOCKING", SI_WEAPONBLOCKING, false, false);
- script->set_constant("SI_WEAPONBLOCKING_POSTDELAY", SI_WEAPONBLOCKING_POSTDELAY, false, false);
- script->set_constant("SI_ROLLINGCUTTER", SI_ROLLINGCUTTER, false, false);
- script->set_constant("SI_EXPIATIO", SI_EXPIATIO, false, false);
- script->set_constant("SI_POISONINGWEAPON", SI_POISONINGWEAPON, false, false);
- script->set_constant("SI_TOXIN", SI_TOXIN, false, false);
- script->set_constant("SI_PARALYSE", SI_PARALYSE, false, false);
- script->set_constant("SI_VENOMBLEED", SI_VENOMBLEED, false, false);
- script->set_constant("SI_MAGICMUSHROOM", SI_MAGICMUSHROOM, false, false);
- script->set_constant("SI_DEATHHURT", SI_DEATHHURT, false, false);
- script->set_constant("SI_PYREXIA", SI_PYREXIA, false, false);
- script->set_constant("SI_OBLIVIONCURSE", SI_OBLIVIONCURSE, false, false);
- script->set_constant("SI_LEECHESEND", SI_LEECHESEND, false, false);
-
- script->set_constant("SI_DUPLELIGHT", SI_DUPLELIGHT, false, false);
- script->set_constant("SI_FROSTMISTY", SI_FROSTMISTY, false, false);
- script->set_constant("SI_FEARBREEZE", SI_FEARBREEZE, false, false);
- script->set_constant("SI_ELECTRICSHOCKER", SI_ELECTRICSHOCKER, false, false);
- script->set_constant("SI_MARSHOFABYSS", SI_MARSHOFABYSS, false, false);
- script->set_constant("SI_RECOGNIZEDSPELL", SI_RECOGNIZEDSPELL, false, false);
- script->set_constant("SI_STASIS", SI_STASIS, false, false);
- script->set_constant("SI_WUGRIDER", SI_WUGRIDER, false, false);
- script->set_constant("SI_WUGDASH", SI_WUGDASH, false, false);
- script->set_constant("SI_WUGBITE", SI_WUGBITE, false, false);
- script->set_constant("SI_CAMOUFLAGE", SI_CAMOUFLAGE, false, false);
- script->set_constant("SI_ACCELERATION", SI_ACCELERATION, false, false);
- script->set_constant("SI_HOVERING", SI_HOVERING, false, false);
- script->set_constant("SI_SPHERE_1", SI_SPHERE_1, false, false);
- script->set_constant("SI_SPHERE_2", SI_SPHERE_2, false, false);
- script->set_constant("SI_SPHERE_3", SI_SPHERE_3, false, false);
- script->set_constant("SI_SPHERE_4", SI_SPHERE_4, false, false);
- script->set_constant("SI_SPHERE_5", SI_SPHERE_5, false, false);
- script->set_constant("SI_MVPCARD_TAOGUNKA", SI_MVPCARD_TAOGUNKA, false, false);
- script->set_constant("SI_MVPCARD_MISTRESS", SI_MVPCARD_MISTRESS, false, false);
- script->set_constant("SI_MVPCARD_ORCHERO", SI_MVPCARD_ORCHERO, false, false);
- script->set_constant("SI_MVPCARD_ORCLORD", SI_MVPCARD_ORCLORD, false, false);
- script->set_constant("SI_OVERHEAT_LIMITPOINT", SI_OVERHEAT_LIMITPOINT, false, false);
- script->set_constant("SI_OVERHEAT", SI_OVERHEAT, false, false);
- script->set_constant("SI_SHAPESHIFT", SI_SHAPESHIFT, false, false);
- script->set_constant("SI_INFRAREDSCAN", SI_INFRAREDSCAN, false, false);
- script->set_constant("SI_MAGNETICFIELD", SI_MAGNETICFIELD, false, false);
- script->set_constant("SI_NEUTRALBARRIER", SI_NEUTRALBARRIER, false, false);
- script->set_constant("SI_NEUTRALBARRIER_MASTER", SI_NEUTRALBARRIER_MASTER, false, false);
- script->set_constant("SI_STEALTHFIELD", SI_STEALTHFIELD, false, false);
- script->set_constant("SI_STEALTHFIELD_MASTER", SI_STEALTHFIELD_MASTER, false, false);
- script->set_constant("SI_MANU_ATK", SI_MANU_ATK, false, false);
- script->set_constant("SI_MANU_DEF", SI_MANU_DEF, false, false);
- script->set_constant("SI_SPL_ATK", SI_SPL_ATK, false, false);
- script->set_constant("SI_SPL_DEF", SI_SPL_DEF, false, false);
- script->set_constant("SI_REPRODUCE", SI_REPRODUCE, false, false);
- script->set_constant("SI_MANU_MATK", SI_MANU_MATK, false, false);
- script->set_constant("SI_SPL_MATK", SI_SPL_MATK, false, false);
- script->set_constant("SI_STR_SCROLL", SI_STR_SCROLL, false, false);
- script->set_constant("SI_INT_SCROLL", SI_INT_SCROLL, false, false);
- script->set_constant("SI_LG_REFLECTDAMAGE", SI_LG_REFLECTDAMAGE, false, false);
- script->set_constant("SI_FORCEOFVANGUARD", SI_FORCEOFVANGUARD, false, false);
- script->set_constant("SI_BUCHEDENOEL", SI_BUCHEDENOEL, false, false);
- script->set_constant("SI_AUTOSHADOWSPELL", SI_AUTOSHADOWSPELL, false, false);
- script->set_constant("SI_SHADOWFORM", SI_SHADOWFORM, false, false);
- script->set_constant("SI_RAID", SI_RAID, false, false);
- script->set_constant("SI_SHIELDSPELL_DEF", SI_SHIELDSPELL_DEF, false, false);
- script->set_constant("SI_SHIELDSPELL_MDEF", SI_SHIELDSPELL_MDEF, false, false);
- script->set_constant("SI_SHIELDSPELL_REF", SI_SHIELDSPELL_REF, false, false);
- script->set_constant("SI_BODYPAINT", SI_BODYPAINT, false, false);
-
- script->set_constant("SI_EXEEDBREAK", SI_EXEEDBREAK, false, false);
- script->set_constant("SI_ADORAMUS", SI_ADORAMUS, false, false);
- script->set_constant("SI_PRESTIGE", SI_PRESTIGE, false, false);
- script->set_constant("SI_INVISIBILITY", SI_INVISIBILITY, false, false);
- script->set_constant("SI_DEADLYINFECT", SI_DEADLYINFECT, false, false);
- script->set_constant("SI_BANDING", SI_BANDING, false, false);
- script->set_constant("SI_EARTHDRIVE", SI_EARTHDRIVE, false, false);
- script->set_constant("SI_INSPIRATION", SI_INSPIRATION, false, false);
- script->set_constant("SI_ENERVATION", SI_ENERVATION, false, false);
- script->set_constant("SI_GROOMY", SI_GROOMY, false, false);
- script->set_constant("SI_RAISINGDRAGON", SI_RAISINGDRAGON, false, false);
- script->set_constant("SI_IGNORANCE", SI_IGNORANCE, false, false);
- script->set_constant("SI_LAZINESS", SI_LAZINESS, false, false);
- script->set_constant("SI_LIGHTNINGWALK", SI_LIGHTNINGWALK, false, false);
- script->set_constant("SI_ACARAJE", SI_ACARAJE, false, false);
- script->set_constant("SI_UNLUCKY", SI_UNLUCKY, false, false);
- script->set_constant("SI_CURSEDCIRCLE_ATKER", SI_CURSEDCIRCLE_ATKER, false, false);
- script->set_constant("SI_CURSEDCIRCLE_TARGET", SI_CURSEDCIRCLE_TARGET, false, false);
- script->set_constant("SI_WEAKNESS", SI_WEAKNESS, false, false);
- script->set_constant("SI_CRESCENTELBOW", SI_CRESCENTELBOW, false, false);
- script->set_constant("SI_NOEQUIPACCESSARY", SI_NOEQUIPACCESSARY, false, false);
- script->set_constant("SI_STRIPACCESSARY", SI_STRIPACCESSARY, false, false);
- script->set_constant("SI_MANHOLE", SI_MANHOLE, false, false);
- script->set_constant("SI_POPECOOKIE", SI_POPECOOKIE, false, false);
- script->set_constant("SI_FALLENEMPIRE", SI_FALLENEMPIRE, false, false);
- script->set_constant("SI_GENTLETOUCH_ENERGYGAIN", SI_GENTLETOUCH_ENERGYGAIN, false, false);
- script->set_constant("SI_GENTLETOUCH_CHANGE", SI_GENTLETOUCH_CHANGE, false, false);
- script->set_constant("SI_GENTLETOUCH_REVITALIZE", SI_GENTLETOUCH_REVITALIZE, false, false);
- script->set_constant("SI_BLOODYLUST", SI_BLOODYLUST, false, false);
- script->set_constant("SI_SWINGDANCE", SI_SWINGDANCE, false, false);
- script->set_constant("SI_SYMPHONYOFLOVERS", SI_SYMPHONYOFLOVERS, false, false);
- script->set_constant("SI_PROPERTYWALK", SI_PROPERTYWALK, false, false);
- script->set_constant("SI_SPELLFIST", SI_SPELLFIST, false, false);
- script->set_constant("SI_NETHERWORLD", SI_NETHERWORLD, false, false);
- script->set_constant("SI_SIREN", SI_SIREN, false, false);
- script->set_constant("SI_DEEPSLEEP", SI_DEEPSLEEP, false, false);
- script->set_constant("SI_SIRCLEOFNATURE", SI_SIRCLEOFNATURE, false, false);
- script->set_constant("SI_COLD", SI_COLD, false, false);
- script->set_constant("SI_GLOOMYDAY", SI_GLOOMYDAY, false, false);
- script->set_constant("SI_SONG_OF_MANA", SI_SONG_OF_MANA, false, false);
- script->set_constant("SI_CLOUDKILL", SI_CLOUDKILL, false, false);
- script->set_constant("SI_DANCEWITHWUG", SI_DANCEWITHWUG, false, false);
- script->set_constant("SI_RUSHWINDMILL", SI_RUSHWINDMILL, false, false);
- script->set_constant("SI_ECHOSONG", SI_ECHOSONG, false, false);
- script->set_constant("SI_HARMONIZE", SI_HARMONIZE, false, false);
- script->set_constant("SI_STRIKING", SI_STRIKING, false, false);
- //script->set_constant("SI_WARMER", SI_WARMER, false, false);
- script->set_constant("SI_MOONLITSERENADE", SI_MOONLITSERENADE, false, false);
- script->set_constant("SI_SATURDAYNIGHTFEVER", SI_SATURDAYNIGHTFEVER, false, false);
- script->set_constant("SI_SITDOWN_FORCE", SI_SITDOWN_FORCE, false, false);
-
- script->set_constant("SI_ANALYZE", SI_ANALYZE, false, false);
- script->set_constant("SI_LERADSDEW", SI_LERADSDEW, false, false);
- script->set_constant("SI_MELODYOFSINK", SI_MELODYOFSINK, false, false);
- script->set_constant("SI_WARCRYOFBEYOND", SI_WARCRYOFBEYOND, false, false);
- script->set_constant("SI_UNLIMITEDHUMMINGVOICE", SI_UNLIMITEDHUMMINGVOICE, false, false);
- script->set_constant("SI_SPELLBOOK1", SI_SPELLBOOK1, false, false);
- script->set_constant("SI_SPELLBOOK2", SI_SPELLBOOK2, false, false);
- script->set_constant("SI_SPELLBOOK3", SI_SPELLBOOK3, false, false);
- script->set_constant("SI_FREEZE_SP", SI_FREEZE_SP, false, false);
- script->set_constant("SI_GN_TRAINING_SWORD", SI_GN_TRAINING_SWORD, false, false);
- script->set_constant("SI_GN_REMODELING_CART", SI_GN_REMODELING_CART, false, false);
- script->set_constant("SI_CARTSBOOST", SI_CARTSBOOST, false, false);
- script->set_constant("SI_FIXEDCASTINGTM_REDUCE", SI_FIXEDCASTINGTM_REDUCE, false, false);
- script->set_constant("SI_THORNTRAP", SI_THORNTRAP, false, false);
- script->set_constant("SI_BLOODSUCKER", SI_BLOODSUCKER, false, false);
- script->set_constant("SI_SPORE_EXPLOSION", SI_SPORE_EXPLOSION, false, false);
- script->set_constant("SI_DEMONIC_FIRE", SI_DEMONIC_FIRE, false, false);
- script->set_constant("SI_FIRE_EXPANSION_SMOKE_POWDER", SI_FIRE_EXPANSION_SMOKE_POWDER, false, false);
- script->set_constant("SI_FIRE_EXPANSION_TEAR_GAS", SI_FIRE_EXPANSION_TEAR_GAS, false, false);
- script->set_constant("SI_BLOCKING_PLAY", SI_BLOCKING_PLAY, false, false);
- script->set_constant("SI_MANDRAGORA", SI_MANDRAGORA, false, false);
- script->set_constant("SI_ACTIVATE", SI_ACTIVATE, false, false);
- script->set_constant("SI_SECRAMENT", SI_SECRAMENT, false, false);
- script->set_constant("SI_ASSUMPTIO2", SI_ASSUMPTIO2, false, false);
- script->set_constant("SI_TK_SEVENWIND", SI_TK_SEVENWIND, false, false);
- script->set_constant("SI_LIMIT_ODINS_RECALL", SI_LIMIT_ODINS_RECALL, false, false);
- script->set_constant("SI_STOMACHACHE", SI_STOMACHACHE, false, false);
- script->set_constant("SI_MYSTERIOUS_POWDER", SI_MYSTERIOUS_POWDER, false, false);
- script->set_constant("SI_MELON_BOMB", SI_MELON_BOMB, false, false);
- script->set_constant("SI_BANANA_BOMB_SITDOWN_POSTDELAY", SI_BANANA_BOMB_SITDOWN_POSTDELAY, false, false);
- script->set_constant("SI_PROMOTE_HEALTH_RESERCH", SI_PROMOTE_HEALTH_RESERCH, false, false);
- script->set_constant("SI_ENERGY_DRINK_RESERCH", SI_ENERGY_DRINK_RESERCH, false, false);
- script->set_constant("SI_EXTRACT_WHITE_POTION_Z", SI_EXTRACT_WHITE_POTION_Z, false, false);
- script->set_constant("SI_VITATA_500", SI_VITATA_500, false, false);
- script->set_constant("SI_EXTRACT_SALAMINE_JUICE", SI_EXTRACT_SALAMINE_JUICE, false, false);
- script->set_constant("SI_BOOST500", SI_BOOST500, false, false);
- script->set_constant("SI_FULL_SWING_K", SI_FULL_SWING_K, false, false);
- script->set_constant("SI_MANA_PLUS", SI_MANA_PLUS, false, false);
- script->set_constant("SI_MUSTLE_M", SI_MUSTLE_M, false, false);
- script->set_constant("SI_LIFE_FORCE_F", SI_LIFE_FORCE_F, false, false);
- script->set_constant("SI_VACUUM_EXTREME", SI_VACUUM_EXTREME, false, false);
- script->set_constant("SI_SAVAGE_STEAK", SI_SAVAGE_STEAK, false, false);
- script->set_constant("SI_COCKTAIL_WARG_BLOOD", SI_COCKTAIL_WARG_BLOOD, false, false);
- script->set_constant("SI_MINOR_BBQ", SI_MINOR_BBQ, false, false);
- script->set_constant("SI_SIROMA_ICE_TEA", SI_SIROMA_ICE_TEA, false, false);
- script->set_constant("SI_DROCERA_HERB_STEAMED", SI_DROCERA_HERB_STEAMED, false, false);
- script->set_constant("SI_PUTTI_TAILS_NOODLES", SI_PUTTI_TAILS_NOODLES, false, false);
- script->set_constant("SI_BANANA_BOMB", SI_BANANA_BOMB, false, false);
- script->set_constant("SI_SUMMON_AGNI", SI_SUMMON_AGNI, false, false);
- script->set_constant("SI_SPELLBOOK4", SI_SPELLBOOK4, false, false);
-
- script->set_constant("SI_SPELLBOOK5", SI_SPELLBOOK5, false, false);
- script->set_constant("SI_SPELLBOOK6", SI_SPELLBOOK6, false, false);
- script->set_constant("SI_SPELLBOOK7", SI_SPELLBOOK7, false, false);
- script->set_constant("SI_ELEMENTAL_AGGRESSIVE", SI_ELEMENTAL_AGGRESSIVE, false, false);
- script->set_constant("SI_RETURN_TO_ELDICASTES", SI_RETURN_TO_ELDICASTES, false, false);
- script->set_constant("SI_BANDING_DEFENCE", SI_BANDING_DEFENCE, false, false);
- script->set_constant("SI_SKELSCROLL", SI_SKELSCROLL, false, false);
- script->set_constant("SI_DISTRUCTIONSCROLL", SI_DISTRUCTIONSCROLL, false, false);
- script->set_constant("SI_ROYALSCROLL", SI_ROYALSCROLL, false, false);
- script->set_constant("SI_IMMUNITYSCROLL", SI_IMMUNITYSCROLL, false, false);
- script->set_constant("SI_MYSTICSCROLL", SI_MYSTICSCROLL, false, false);
- script->set_constant("SI_BATTLESCROLL", SI_BATTLESCROLL, false, false);
- script->set_constant("SI_ARMORSCROLL", SI_ARMORSCROLL, false, false);
- script->set_constant("SI_FREYJASCROLL", SI_FREYJASCROLL, false, false);
- script->set_constant("SI_SOULSCROLL", SI_SOULSCROLL, false, false);
- script->set_constant("SI_CIRCLE_OF_FIRE", SI_CIRCLE_OF_FIRE, false, false);
- script->set_constant("SI_CIRCLE_OF_FIRE_OPTION", SI_CIRCLE_OF_FIRE_OPTION, false, false);
- script->set_constant("SI_FIRE_CLOAK", SI_FIRE_CLOAK, false, false);
- script->set_constant("SI_FIRE_CLOAK_OPTION", SI_FIRE_CLOAK_OPTION, false, false);
- script->set_constant("SI_WATER_SCREEN", SI_WATER_SCREEN, false, false);
- script->set_constant("SI_WATER_SCREEN_OPTION", SI_WATER_SCREEN_OPTION, false, false);
- script->set_constant("SI_WATER_DROP", SI_WATER_DROP, false, false);
- script->set_constant("SI_WATER_DROP_OPTION", SI_WATER_DROP_OPTION, false, false);
- script->set_constant("SI_WIND_STEP", SI_WIND_STEP, false, false);
- script->set_constant("SI_WIND_STEP_OPTION", SI_WIND_STEP_OPTION, false, false);
- script->set_constant("SI_WIND_CURTAIN", SI_WIND_CURTAIN, false, false);
- script->set_constant("SI_WIND_CURTAIN_OPTION", SI_WIND_CURTAIN_OPTION, false, false);
- script->set_constant("SI_WATER_BARRIER", SI_WATER_BARRIER, false, false);
- script->set_constant("SI_ZEPHYR", SI_ZEPHYR, false, false);
- script->set_constant("SI_SOLID_SKIN", SI_SOLID_SKIN, false, false);
- script->set_constant("SI_SOLID_SKIN_OPTION", SI_SOLID_SKIN_OPTION, false, false);
- script->set_constant("SI_STONE_SHIELD", SI_STONE_SHIELD, false, false);
- script->set_constant("SI_STONE_SHIELD_OPTION", SI_STONE_SHIELD_OPTION, false, false);
- script->set_constant("SI_POWER_OF_GAIA", SI_POWER_OF_GAIA, false, false);
- //script->set_constant("SI_EL_WAIT", SI_EL_WAIT, false, false);
- //script->set_constant("SI_EL_PASSIVE", SI_EL_PASSIVE, false, false);
- //script->set_constant("SI_EL_DEFENSIVE", SI_EL_DEFENSIVE, false, false);
- //script->set_constant("SI_EL_OFFENSIVE", SI_EL_OFFENSIVE, false, false);
- //script->set_constant("SI_EL_COST", SI_EL_COST, false, false);
- script->set_constant("SI_PYROTECHNIC", SI_PYROTECHNIC, false, false);
- script->set_constant("SI_PYROTECHNIC_OPTION", SI_PYROTECHNIC_OPTION, false, false);
- script->set_constant("SI_HEATER", SI_HEATER, false, false);
- script->set_constant("SI_HEATER_OPTION", SI_HEATER_OPTION, false, false);
- script->set_constant("SI_TROPIC", SI_TROPIC, false, false);
- script->set_constant("SI_TROPIC_OPTION", SI_TROPIC_OPTION, false, false);
- script->set_constant("SI_AQUAPLAY", SI_AQUAPLAY, false, false);
- script->set_constant("SI_AQUAPLAY_OPTION", SI_AQUAPLAY_OPTION, false, false);
- script->set_constant("SI_COOLER", SI_COOLER, false, false);
- script->set_constant("SI_COOLER_OPTION", SI_COOLER_OPTION, false, false);
- script->set_constant("SI_CHILLY_AIR", SI_CHILLY_AIR, false, false);
-
- script->set_constant("SI_CHILLY_AIR_OPTION", SI_CHILLY_AIR_OPTION, false, false);
- script->set_constant("SI_GUST", SI_GUST, false, false);
- script->set_constant("SI_GUST_OPTION", SI_GUST_OPTION, false, false);
- script->set_constant("SI_BLAST", SI_BLAST, false, false);
- script->set_constant("SI_BLAST_OPTION", SI_BLAST_OPTION, false, false);
- script->set_constant("SI_WILD_STORM", SI_WILD_STORM, false, false);
- script->set_constant("SI_WILD_STORM_OPTION", SI_WILD_STORM_OPTION, false, false);
- script->set_constant("SI_PETROLOGY", SI_PETROLOGY, false, false);
- script->set_constant("SI_PETROLOGY_OPTION", SI_PETROLOGY_OPTION, false, false);
- script->set_constant("SI_CURSED_SOIL", SI_CURSED_SOIL, false, false);
- script->set_constant("SI_CURSED_SOIL_OPTION", SI_CURSED_SOIL_OPTION, false, false);
- script->set_constant("SI_UPHEAVAL", SI_UPHEAVAL, false, false);
- script->set_constant("SI_UPHEAVAL_OPTION", SI_UPHEAVAL_OPTION, false, false);
- script->set_constant("SI_TIDAL_WEAPON", SI_TIDAL_WEAPON, false, false);
- script->set_constant("SI_TIDAL_WEAPON_OPTION", SI_TIDAL_WEAPON_OPTION, false, false);
- script->set_constant("SI_ROCK_CRUSHER", SI_ROCK_CRUSHER, false, false);
- script->set_constant("SI_ROCK_CRUSHER_ATK", SI_ROCK_CRUSHER_ATK, false, false);
- script->set_constant("SI_FIRE_INSIGNIA", SI_FIRE_INSIGNIA, false, false);
- script->set_constant("SI_WATER_INSIGNIA", SI_WATER_INSIGNIA, false, false);
- script->set_constant("SI_WIND_INSIGNIA", SI_WIND_INSIGNIA, false, false);
- script->set_constant("SI_EARTH_INSIGNIA", SI_EARTH_INSIGNIA, false, false);
- script->set_constant("SI_EQUIPED_FLOOR", SI_EQUIPED_FLOOR, false, false);
- script->set_constant("SI_GUARDIAN_RECALL", SI_GUARDIAN_RECALL, false, false);
- script->set_constant("SI_MORA_BUFF", SI_MORA_BUFF, false, false);
- script->set_constant("SI_REUSE_LIMIT_G", SI_REUSE_LIMIT_G, false, false);
- script->set_constant("SI_REUSE_LIMIT_H", SI_REUSE_LIMIT_H, false, false);
- script->set_constant("SI_NEEDLE_OF_PARALYZE", SI_NEEDLE_OF_PARALYZE, false, false);
- script->set_constant("SI_PAIN_KILLER", SI_PAIN_KILLER, false, false);
- script->set_constant("SI_G_LIFEPOTION", SI_G_LIFEPOTION, false, false);
- script->set_constant("SI_VITALIZE_POTION", SI_VITALIZE_POTION, false, false);
- script->set_constant("SI_LIGHT_OF_REGENE", SI_LIGHT_OF_REGENE, false, false);
- script->set_constant("SI_OVERED_BOOST", SI_OVERED_BOOST, false, false);
- script->set_constant("SI_SILENT_BREEZE", SI_SILENT_BREEZE, false, false);
- script->set_constant("SI_ODINS_POWER", SI_ODINS_POWER, false, false);
- script->set_constant("SI_STYLE_CHANGE", SI_STYLE_CHANGE, false, false);
- script->set_constant("SI_SONIC_CLAW_POSTDELAY", SI_SONIC_CLAW_POSTDELAY, false, false);
- // 586
- // 587
- // 588
- // 589
- // 590
- // 591
- // 592
- // 593
- // 594
- // 595
- script->set_constant("SI_SILVERVEIN_RUSH_POSTDELAY", SI_SILVERVEIN_RUSH_POSTDELAY, false, false);
- script->set_constant("SI_MIDNIGHT_FRENZY_POSTDELAY", SI_MIDNIGHT_FRENZY_POSTDELAY, false, false);
- script->set_constant("SI_GOLDENE_FERSE", SI_GOLDENE_FERSE, false, false);
- script->set_constant("SI_ANGRIFFS_MODUS", SI_ANGRIFFS_MODUS, false, false);
-
- script->set_constant("SI_TINDER_BREAKER", SI_TINDER_BREAKER, false, false);
- script->set_constant("SI_TINDER_BREAKER_POSTDELAY", SI_TINDER_BREAKER_POSTDELAY, false, false);
- script->set_constant("SI_CBC", SI_CBC, false, false);
- script->set_constant("SI_CBC_POSTDELAY", SI_CBC_POSTDELAY, false, false);
- script->set_constant("SI_EQC", SI_EQC, false, false);
- script->set_constant("SI_MAGMA_FLOW", SI_MAGMA_FLOW, false, false);
- script->set_constant("SI_GRANITIC_ARMOR", SI_GRANITIC_ARMOR, false, false);
- script->set_constant("SI_PYROCLASTIC", SI_PYROCLASTIC, false, false);
- script->set_constant("SI_VOLCANIC_ASH", SI_VOLCANIC_ASH, false, false);
- script->set_constant("SI_SPIRITS_SAVEINFO1", SI_SPIRITS_SAVEINFO1, false, false);
- script->set_constant("SI_SPIRITS_SAVEINFO2", SI_SPIRITS_SAVEINFO2, false, false);
- script->set_constant("SI_MAGIC_CANDY", SI_MAGIC_CANDY, false, false);
- script->set_constant("SI_SEARCH_STORE_INFO", SI_SEARCH_STORE_INFO, false, false);
- script->set_constant("SI_ALL_RIDING", SI_ALL_RIDING, false, false);
- script->set_constant("SI_ALL_RIDING_REUSE_LIMIT", SI_ALL_RIDING_REUSE_LIMIT, false, false);
- script->set_constant("SI_MACRO", SI_MACRO, false, false);
- script->set_constant("SI_MACRO_POSTDELAY", SI_MACRO_POSTDELAY, false, false);
- script->set_constant("SI_BEER_BOTTLE_CAP", SI_BEER_BOTTLE_CAP, false, false);
- script->set_constant("SI_OVERLAPEXPUP", SI_OVERLAPEXPUP, false, false);
- script->set_constant("SI_PC_IZ_DUN05", SI_PC_IZ_DUN05, false, false);
- script->set_constant("SI_CRUSHSTRIKE", SI_CRUSHSTRIKE, false, false);
- script->set_constant("SI_MONSTER_TRANSFORM", SI_MONSTER_TRANSFORM, false, false);
- script->set_constant("SI_SIT", SI_SIT, false, false);
- script->set_constant("SI_ONAIR", SI_ONAIR, false, false);
- script->set_constant("SI_MTF_ASPD", SI_MTF_ASPD, false, false);
- script->set_constant("SI_MTF_RANGEATK", SI_MTF_RANGEATK, false, false);
- script->set_constant("SI_MTF_MATK", SI_MTF_MATK, false, false);
- script->set_constant("SI_MTF_MLEATKED", SI_MTF_MLEATKED, false, false);
- script->set_constant("SI_MTF_CRIDAMAGE", SI_MTF_CRIDAMAGE, false, false);
- script->set_constant("SI_REUSE_LIMIT_MTF", SI_REUSE_LIMIT_MTF, false, false);
- script->set_constant("SI_MACRO_PERMIT", SI_MACRO_PERMIT, false, false);
- script->set_constant("SI_MACRO_PLAY", SI_MACRO_PLAY, false, false);
- script->set_constant("SI_SKF_CAST", SI_SKF_CAST, false, false);
- script->set_constant("SI_SKF_ASPD", SI_SKF_ASPD, false, false);
- script->set_constant("SI_SKF_ATK", SI_SKF_ATK, false, false);
- script->set_constant("SI_SKF_MATK", SI_SKF_MATK, false, false);
- script->set_constant("SI_REWARD_PLUSONLYJOBEXP", SI_REWARD_PLUSONLYJOBEXP, false, false);
- script->set_constant("SI_HANDICAPSTATE_NORECOVER", SI_HANDICAPSTATE_NORECOVER, false, false);
- script->set_constant("SI_SET_NUM_DEF", SI_SET_NUM_DEF, false, false);
- script->set_constant("SI_SET_NUM_MDEF", SI_SET_NUM_MDEF, false, false);
- script->set_constant("SI_SET_PER_DEF", SI_SET_PER_DEF, false, false);
- script->set_constant("SI_SET_PER_MDEF", SI_SET_PER_MDEF, false, false);
- script->set_constant("SI_PARTYBOOKING_SEARCH_DEALY", SI_PARTYBOOKING_SEARCH_DEALY, false, false);
- script->set_constant("SI_PARTYBOOKING_REGISTER_DEALY", SI_PARTYBOOKING_REGISTER_DEALY, false, false);
- script->set_constant("SI_PERIOD_TIME_CHECK_DETECT_SKILL", SI_PERIOD_TIME_CHECK_DETECT_SKILL, false, false);
- script->set_constant("SI_KO_JYUMONJIKIRI", SI_KO_JYUMONJIKIRI, false, false);
- script->set_constant("SI_MEIKYOUSISUI", SI_MEIKYOUSISUI, false, false);
- script->set_constant("SI_ATTHASTE_CASH", SI_ATTHASTE_CASH, false, false);
- script->set_constant("SI_EQUIPPED_DIVINE_ARMOR", SI_EQUIPPED_DIVINE_ARMOR, false, false);
- script->set_constant("SI_EQUIPPED_HOLY_ARMOR", SI_EQUIPPED_HOLY_ARMOR, false, false);
-
- script->set_constant("SI_2011RWC", SI_2011RWC, false, false);
- script->set_constant("SI_KYOUGAKU", SI_KYOUGAKU, false, false);
- script->set_constant("SI_IZAYOI", SI_IZAYOI, false, false);
- script->set_constant("SI_ZENKAI", SI_ZENKAI, false, false);
- script->set_constant("SI_KG_KAGEHUMI", SI_KG_KAGEHUMI, false, false);
- script->set_constant("SI_KYOMU", SI_KYOMU, false, false);
- script->set_constant("SI_KAGEMUSYA", SI_KAGEMUSYA, false, false);
- script->set_constant("SI_ZANGETSU", SI_ZANGETSU, false, false);
- script->set_constant("SI_PHI_DEMON", SI_PHI_DEMON, false, false);
- script->set_constant("SI_GENSOU", SI_GENSOU, false, false);
- script->set_constant("SI_AKAITSUKI", SI_AKAITSUKI, false, false);
- script->set_constant("SI_TETANY", SI_TETANY, false, false);
- script->set_constant("SI_GM_BATTLE", SI_GM_BATTLE, false, false);
- script->set_constant("SI_GM_BATTLE2", SI_GM_BATTLE2, false, false);
- script->set_constant("SI_2011RWC_SCROLL", SI_2011RWC_SCROLL, false, false);
- script->set_constant("SI_ACTIVE_MONSTER_TRANSFORM", SI_ACTIVE_MONSTER_TRANSFORM, false, false);
- script->set_constant("SI_MYSTICPOWDER", SI_MYSTICPOWDER, false, false);
- script->set_constant("SI_ECLAGE_RECALL", SI_ECLAGE_RECALL, false, false);
- script->set_constant("SI_ENTRY_QUEUE_APPLY_DELAY", SI_ENTRY_QUEUE_APPLY_DELAY, false, false);
- script->set_constant("SI_REUSE_LIMIT_ECL", SI_REUSE_LIMIT_ECL, false, false);
- script->set_constant("SI_M_LIFEPOTION", SI_M_LIFEPOTION, false, false);
- script->set_constant("SI_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT", SI_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT, false, false);
- script->set_constant("SI_UNKNOWN_NAME", SI_UNKNOWN_NAME, false, false);
- script->set_constant("SI_ON_PUSH_CART", SI_ON_PUSH_CART, false, false);
- script->set_constant("SI_HAT_EFFECT", SI_HAT_EFFECT, false, false);
- script->set_constant("SI_FLOWER_LEAF", SI_FLOWER_LEAF, false, false);
- script->set_constant("SI_RAY_OF_PROTECTION", SI_RAY_OF_PROTECTION, false, false);
- script->set_constant("SI_GLASTHEIM_ATK", SI_GLASTHEIM_ATK, false, false);
- script->set_constant("SI_GLASTHEIM_DEF", SI_GLASTHEIM_DEF, false, false);
- script->set_constant("SI_GLASTHEIM_HEAL", SI_GLASTHEIM_HEAL, false, false);
- script->set_constant("SI_GLASTHEIM_HIDDEN", SI_GLASTHEIM_HIDDEN, false, false);
- script->set_constant("SI_GLASTHEIM_STATE", SI_GLASTHEIM_STATE, false, false);
- script->set_constant("SI_GLASTHEIM_ITEMDEF", SI_GLASTHEIM_ITEMDEF, false, false);
- script->set_constant("SI_GLASTHEIM_HPSP", SI_GLASTHEIM_HPSP, false, false);
- script->set_constant("SI_HOMUN_SKILL_POSTDELAY", SI_HOMUN_SKILL_POSTDELAY, false, false);
- script->set_constant("SI_ALMIGHTY", SI_ALMIGHTY, false, false);
- script->set_constant("SI_GVG_GIANT", SI_GVG_GIANT, false, false);
- script->set_constant("SI_GVG_GOLEM", SI_GVG_GOLEM, false, false);
- script->set_constant("SI_GVG_STUN", SI_GVG_STUN, false, false);
- script->set_constant("SI_GVG_STONE", SI_GVG_STONE, false, false);
- script->set_constant("SI_GVG_FREEZ", SI_GVG_FREEZ, false, false);
- script->set_constant("SI_GVG_SLEEP", SI_GVG_SLEEP, false, false);
- script->set_constant("SI_GVG_CURSE", SI_GVG_CURSE, false, false);
- script->set_constant("SI_GVG_SILENCE", SI_GVG_SILENCE, false, false);
- script->set_constant("SI_GVG_BLIND", SI_GVG_BLIND, false, false);
- script->set_constant("SI_CLIENT_ONLY_EQUIP_ARROW", SI_CLIENT_ONLY_EQUIP_ARROW, false, false);
- script->set_constant("SI_CLAN_INFO", SI_CLAN_INFO, false, false);
- script->set_constant("SI_JP_EVENT01", SI_JP_EVENT01, false, false);
- script->set_constant("SI_JP_EVENT02", SI_JP_EVENT02, false, false);
- script->set_constant("SI_JP_EVENT03", SI_JP_EVENT03, false, false);
-
- script->set_constant("SI_JP_EVENT04", SI_JP_EVENT04, false, false);
- script->set_constant("SI_TELEPORT_FIXEDCASTINGDELAY", SI_TELEPORT_FIXEDCASTINGDELAY, false, false);
- script->set_constant("SI_GEFFEN_MAGIC1", SI_GEFFEN_MAGIC1, false, false);
- script->set_constant("SI_GEFFEN_MAGIC2", SI_GEFFEN_MAGIC2, false, false);
- script->set_constant("SI_GEFFEN_MAGIC3", SI_GEFFEN_MAGIC3, false, false);
- script->set_constant("SI_QUEST_BUFF1", SI_QUEST_BUFF1, false, false);
- script->set_constant("SI_QUEST_BUFF2", SI_QUEST_BUFF2, false, false);
- script->set_constant("SI_QUEST_BUFF3", SI_QUEST_BUFF3, false, false);
- script->set_constant("SI_REUSE_LIMIT_RECALL", SI_REUSE_LIMIT_RECALL, false, false);
- script->set_constant("SI_SAVEPOSITION", SI_SAVEPOSITION, false, false);
- script->set_constant("SI_HANDICAPSTATE_ICEEXPLO", SI_HANDICAPSTATE_ICEEXPLO, false, false);
- script->set_constant("SI_FENRIR_CARD", SI_FENRIR_CARD, false, false);
- script->set_constant("SI_REUSE_LIMIT_ASPD_POTION", SI_REUSE_LIMIT_ASPD_POTION, false, false);
- script->set_constant("SI_MAXPAIN", SI_MAXPAIN, false, false);
- script->set_constant("SI_PC_STOP", SI_PC_STOP, false, false);
- script->set_constant("SI_FRIGG_SONG", SI_FRIGG_SONG, false, false);
- script->set_constant("SI_OFFERTORIUM", SI_OFFERTORIUM, false, false);
- script->set_constant("SI_TELEKINESIS_INTENSE", SI_TELEKINESIS_INTENSE, false, false);
- script->set_constant("SI_MOONSTAR", SI_MOONSTAR, false, false);
- script->set_constant("SI_STRANGELIGHTS", SI_STRANGELIGHTS, false, false);
- script->set_constant("SI_FULL_THROTTLE", SI_FULL_THROTTLE, false, false);
- script->set_constant("SI_REBOUND", SI_REBOUND, false, false);
- script->set_constant("SI_UNLIMIT", SI_UNLIMIT, false, false);
- script->set_constant("SI_KINGS_GRACE", SI_KINGS_GRACE, false, false);
- script->set_constant("SI_ITEM_ATKMAX", SI_ITEM_ATKMAX, false, false);
- script->set_constant("SI_ITEM_ATKMIN", SI_ITEM_ATKMIN, false, false);
- script->set_constant("SI_ITEM_MATKMAX", SI_ITEM_MATKMAX, false, false);
- script->set_constant("SI_ITEM_MATKMIN", SI_ITEM_MATKMIN, false, false);
- script->set_constant("SI_SUPER_STAR", SI_SUPER_STAR, false, false);
- script->set_constant("SI_HIGH_RANKER", SI_HIGH_RANKER, false, false);
- script->set_constant("SI_DARKCROW", SI_DARKCROW, false, false);
- script->set_constant("SI_2013_VALENTINE1", SI_2013_VALENTINE1, false, false);
- script->set_constant("SI_2013_VALENTINE2", SI_2013_VALENTINE2, false, false);
- script->set_constant("SI_2013_VALENTINE3", SI_2013_VALENTINE3, false, false);
- script->set_constant("SI_ILLUSIONDOPING", SI_ILLUSIONDOPING, false, false);
- //script->set_constant("SI_WIDEWEB", SI_WIDEWEB, false, false);
- script->set_constant("SI_CHILL", SI_CHILL, false, false);
- script->set_constant("SI_BURNT", SI_BURNT, false, false);
- //script->set_constant("SI_PCCAFE_PLAY_TIME", SI_PCCAFE_PLAY_TIME, false, false);
- //script->set_constant("SI_TWISTED_TIME", SI_TWISTED_TIME, false, false);
- script->set_constant("SI_FLASHCOMBO", SI_FLASHCOMBO, false, false);
- //script->set_constant("SI_JITTER_BUFF1", SI_JITTER_BUFF1, false, false);
- //script->set_constant("SI_JITTER_BUFF2", SI_JITTER_BUFF2, false, false);
- //script->set_constant("SI_JITTER_BUFF3", SI_JITTER_BUFF3, false, false);
- //script->set_constant("SI_JITTER_BUFF4", SI_JITTER_BUFF4, false, false);
- //script->set_constant("SI_JITTER_BUFF5", SI_JITTER_BUFF5, false, false);
- //script->set_constant("SI_JITTER_BUFF6", SI_JITTER_BUFF6, false, false);
- //script->set_constant("SI_JITTER_BUFF7", SI_JITTER_BUFF7, false, false);
- //script->set_constant("SI_JITTER_BUFF8", SI_JITTER_BUFF8, false, false);
- //script->set_constant("SI_JITTER_BUFF9", SI_JITTER_BUFF9, false, false);
-
- //script->set_constant("SI_JITTER_BUFF10", SI_JITTER_BUFF10, false, false);
- script->set_constant("SI_CUP_OF_BOZA", SI_CUP_OF_BOZA, false, false);
- script->set_constant("SI_B_TRAP", SI_B_TRAP, false, false);
- script->set_constant("SI_E_CHAIN", SI_E_CHAIN, false, false);
- script->set_constant("SI_E_QD_SHOT_READY", SI_E_QD_SHOT_READY, false, false);
- script->set_constant("SI_C_MARKER", SI_C_MARKER, false, false);
- script->set_constant("SI_H_MINE", SI_H_MINE, false, false);
- script->set_constant("SI_H_MINE_SPLASH", SI_H_MINE_SPLASH, false, false);
- script->set_constant("SI_P_ALTER", SI_P_ALTER, false, false);
- script->set_constant("SI_HEAT_BARREL", SI_HEAT_BARREL, false, false);
- script->set_constant("SI_ANTI_M_BLAST", SI_ANTI_M_BLAST, false, false);
- script->set_constant("SI_SLUGSHOT", SI_SLUGSHOT, false, false);
- script->set_constant("SI_SWORDCLAN", SI_SWORDCLAN, false, false);
- script->set_constant("SI_ARCWANDCLAN", SI_ARCWANDCLAN, false, false);
- script->set_constant("SI_GOLDENMACECLAN", SI_GOLDENMACECLAN, false, false);
- script->set_constant("SI_CROSSBOWCLAN", SI_CROSSBOWCLAN, false, false);
- script->set_constant("SI_PACKING_ENVELOPE1", SI_PACKING_ENVELOPE1, false, false);
- script->set_constant("SI_PACKING_ENVELOPE2", SI_PACKING_ENVELOPE2, false, false);
- script->set_constant("SI_PACKING_ENVELOPE3", SI_PACKING_ENVELOPE3, false, false);
- script->set_constant("SI_PACKING_ENVELOPE4", SI_PACKING_ENVELOPE4, false, false);
- script->set_constant("SI_PACKING_ENVELOPE5", SI_PACKING_ENVELOPE5, false, false);
- script->set_constant("SI_PACKING_ENVELOPE6", SI_PACKING_ENVELOPE6, false, false);
- script->set_constant("SI_PACKING_ENVELOPE7", SI_PACKING_ENVELOPE7, false, false);
- script->set_constant("SI_PACKING_ENVELOPE8", SI_PACKING_ENVELOPE8, false, false);
- script->set_constant("SI_PACKING_ENVELOPE9", SI_PACKING_ENVELOPE9, false, false);
- script->set_constant("SI_PACKING_ENVELOPE10", SI_PACKING_ENVELOPE10, false, false);
- script->set_constant("SI_GLASTHEIM_TRANS", SI_GLASTHEIM_TRANS, false, false);
- //script->set_constant("SI_ZONGZI_POUCH_TRANS", SI_ZONGZI_POUCH_TRANS, false, false);
- script->set_constant("SI_HEAT_BARREL_AFTER", SI_HEAT_BARREL_AFTER, false, false);
- script->set_constant("SI_DECORATION_OF_MUSIC", SI_DECORATION_OF_MUSIC, false, false);
- //script->set_constant("SI_OVERSEAEXPUP", SI_OVERSEAEXPUP, false, false);
- //script->set_constant("SI_CLOWN_N_GYPSY_CARD", SI_CLOWN_N_GYPSY_CARD, false, false);
- //script->set_constant("SI_OPEN_NPC_MARKET", SI_OPEN_NPC_MARKET, false, false);
- //script->set_constant("SI_BEEF_RIB_STEW", SI_BEEF_RIB_STEW, false, false);
- //script->set_constant("SI_PORK_RIB_STEW", SI_PORK_RIB_STEW, false, false);
- //script->set_constant("SI_CHUSEOK_MONDAY", SI_CHUSEOK_MONDAY, false, false);
- //script->set_constant("SI_CHUSEOK_TUESDAY", SI_CHUSEOK_TUESDAY, false, false);
- //script->set_constant("SI_CHUSEOK_WEDNESDAY", SI_CHUSEOK_WEDNESDAY, false, false);
- //script->set_constant("SI_CHUSEOK_THURSDAY", SI_CHUSEOK_THURSDAY, false, false);
- //script->set_constant("SI_CHUSEOK_FRIDAY", SI_CHUSEOK_FRIDAY, false, false);
- //script->set_constant("SI_CHUSEOK_WEEKEND", SI_CHUSEOK_WEEKEND, false, false);
- //script->set_constant("SI_ALL_LIGHTGUARD", SI_ALL_LIGHTGUARD, false, false);
- //script->set_constant("SI_ALL_LIGHTGUARD_COOL_TIME", SI_ALL_LIGHTGUARD_COOL_TIME, false, false);
- script->set_constant("SI_MTF_MHP", SI_MTF_MHP, false, false);
- script->set_constant("SI_MTF_MSP", SI_MTF_MSP, false, false);
- script->set_constant("SI_MTF_PUMPKIN", SI_MTF_PUMPKIN, false, false);
- script->set_constant("SI_MTF_HITFLEE", SI_MTF_HITFLEE, false, false);
- //script->set_constant("SI_MTF_CRIDAMAGE2", SI_MTF_CRIDAMAGE2, false, false);
- //script->set_constant("SI_MTF_SPDRAIN", SI_MTF_SPDRAIN, false, false);
- //script->set_constant("SI_ACUO_MINT_GUM", SI_ACUO_MINT_GUM, false, false);
-
- //script->set_constant("SI_S_HEALPOTION", SI_S_HEALPOTION, false, false);
- //script->set_constant("SI_REUSE_LIMIT_S_HEAL_POTION", SI_REUSE_LIMIT_S_HEAL_POTION, false, false);
- //script->set_constant("SI_PLAYTIME_STATISTICS", SI_PLAYTIME_STATISTICS, false, false);
- //script->set_constant("SI_GN_CHANGEMATERIAL_OPERATOR", SI_GN_CHANGEMATERIAL_OPERATOR, false, false);
- //script->set_constant("SI_GN_MIX_COOKING_OPERATOR", SI_GN_MIX_COOKING_OPERATOR, false, false);
- //script->set_constant("SI_GN_MAKEBOMB_OPERATOR", SI_GN_MAKEBOMB_OPERATOR, false, false);
- //script->set_constant("SI_GN_S_PHARMACY_OPERATOR", SI_GN_S_PHARMACY_OPERATOR, false, false);
- //script->set_constant("SI_SO_EL_ANALYSIS_DISASSEMBLY_OPERATOR", SI_SO_EL_ANALYSIS_DISASSEMBLY_OPERATOR, false, false);
- //script->set_constant("SI_SO_EL_ANALYSIS_COMBINATION_OPERATOR", SI_SO_EL_ANALYSIS_COMBINATION_OPERATOR, false, false);
- //script->set_constant("SI_NC_MAGICDECOY_OPERATOR", SI_NC_MAGICDECOY_OPERATOR, false, false);
- //script->set_constant("SI_GUILD_STORAGE", SI_GUILD_STORAGE, false, false);
- //script->set_constant("SI_GC_POISONINGWEAPON_OPERATOR", SI_GC_POISONINGWEAPON_OPERATOR, false, false);
- //script->set_constant("SI_WS_WEAPONREFINE_OPERATOR", SI_WS_WEAPONREFINE_OPERATOR, false, false);
- //script->set_constant("SI_BS_REPAIRWEAPON_OPERATOR", SI_BS_REPAIRWEAPON_OPERATOR, false, false);
- //script->set_constant("SI_GET_MAILBOX", SI_GET_MAILBOX, false, false);
- //script->set_constant("SI_JUMPINGCLAN", SI_JUMPINGCLAN, false, false);
- //script->set_constant("SI_JP_OTP", SI_JP_OTP, false, false);
- //script->set_constant("SI_HANDICAPTOLERANCE_LEVELGAP", SI_HANDICAPTOLERANCE_LEVELGAP, false, false);
- //script->set_constant("SI_MTF_RANGEATK2", SI_MTF_RANGEATK2, false, false);
- //script->set_constant("SI_MTF_ASPD2", SI_MTF_ASPD2, false, false);
- //script->set_constant("SI_MTF_MATK2", SI_MTF_MATK2, false, false);
- //script->set_constant("SI_SHOW_NPCHPBAR", SI_SHOW_NPCHPBAR, false, false);
- script->set_constant("SI_FLOWERSMOKE", SI_FLOWERSMOKE, false, false);
- script->set_constant("SI_FSTONE", SI_FSTONE, false, false);
- //script->set_constant("SI_DAILYSENDMAILCNT", SI_DAILYSENDMAILCNT, false, false);
- //script->set_constant("SI_QSCARABA", SI_QSCARABA, false, false);
- script->set_constant("SI_LJOSALFAR", SI_LJOSALFAR, false, false);
- //script->set_constant("SI_PAD_READER_KNIGHT", SI_PAD_READER_KNIGHT, false, false);
- //script->set_constant("SI_PAD_READER_CRUSADER", SI_PAD_READER_CRUSADER, false, false);
- //script->set_constant("SI_PAD_READER_BLACKSMITH", SI_PAD_READER_BLACKSMITH, false, false);
- //script->set_constant("SI_PAD_READER_ALCHEMIST", SI_PAD_READER_ALCHEMIST, false, false);
- //script->set_constant("SI_PAD_READER_ASSASSIN", SI_PAD_READER_ASSASSIN, false, false);
- //script->set_constant("SI_PAD_READER_ROGUE", SI_PAD_READER_ROGUE, false, false);
- //script->set_constant("SI_PAD_READER_WIZARD", SI_PAD_READER_WIZARD, false, false);
- //script->set_constant("SI_PAD_READER_SAGE", SI_PAD_READER_SAGE, false, false);
- //script->set_constant("SI_PAD_READER_PRIEST", SI_PAD_READER_PRIEST, false, false);
- //script->set_constant("SI_PAD_READER_MONK", SI_PAD_READER_MONK, false, false);
- //script->set_constant("SI_PAD_READER_HUNTER", SI_PAD_READER_HUNTER, false, false);
- //script->set_constant("SI_PAD_READER_BARD", SI_PAD_READER_BARD, false, false);
- //script->set_constant("SI_PAD_READER_DANCER", SI_PAD_READER_DANCER, false, false);
- //script->set_constant("SI_PAD_READER_TAEKWON", SI_PAD_READER_TAEKWON, false, false);
- //script->set_constant("SI_PAD_READER_NINJA", SI_PAD_READER_NINJA, false, false);
- //script->set_constant("SI_PAD_READER_GUNSLINGER", SI_PAD_READER_GUNSLINGER, false, false);
- //script->set_constant("SI_PAD_READER_SUPERNOVICE", SI_PAD_READER_SUPERNOVICE, false, false);
- //script->set_constant("SI_ESSENCE_OF_TIME", SI_ESSENCE_OF_TIME, false, false);
- //script->set_constant("SI_MINIGAME_ROULETTE", SI_MINIGAME_ROULETTE, false, false);
- //script->set_constant("SI_MINIGAME_GOLD_POINT", SI_MINIGAME_GOLD_POINT, false, false);
- //script->set_constant("SI_MINIGAME_SILVER_POINT", SI_MINIGAME_SILVER_POINT, false, false);
- //script->set_constant("SI_MINIGAME_BRONZE_POINT", SI_MINIGAME_BRONZE_POINT, false, false);
- script->set_constant("SI_HAPPINESS_STAR", SI_HAPPINESS_STAR, false, false);
-
- //script->set_constant("SI_SUMMEREVENT01", SI_SUMMEREVENT01, false, false);
- //script->set_constant("SI_SUMMEREVENT02", SI_SUMMEREVENT02, false, false);
- //script->set_constant("SI_SUMMEREVENT03", SI_SUMMEREVENT03, false, false);
- //script->set_constant("SI_SUMMEREVENT04", SI_SUMMEREVENT04, false, false);
- //script->set_constant("SI_SUMMEREVENT05", SI_SUMMEREVENT05, false, false);
- //script->set_constant("SI_MINIGAME_ROULETTE_BONUS_ITEM", SI_MINIGAME_ROULETTE_BONUS_ITEM, false, false);
- //script->set_constant("SI_DRESS_UP", SI_DRESS_UP, false, false);
- script->set_constant("SI_MAPLE_FALLS", SI_MAPLE_FALLS, false, false);
- //script->set_constant("SI_ALL_NIFLHEIM_RECALL", SI_ALL_NIFLHEIM_RECALL, false, false);
- // 859
- //script->set_constant("SI_MTF_MARIONETTE", SI_MTF_MARIONETTE, false, false);
- //script->set_constant("SI_MTF_LUDE", SI_MTF_LUDE, false, false);
- //script->set_constant("SI_MTF_CRUISER", SI_MTF_CRUISER, false, false);
- script->set_constant("SI_MERMAID_LONGING", SI_MERMAID_LONGING, false, false);
- script->set_constant("SI_MAGICAL_FEATHER", SI_MAGICAL_FEATHER, false, false);
- //script->set_constant("SI_DRACULA_CARD", SI_DRACULA_CARD, false, false);
- // 866
- //script->set_constant("SI_LIMIT_POWER_BOOSTER", SI_LIMIT_POWER_BOOSTER, false, false);
- // 868
- // 869
- // 870
- // 871
- script->set_constant("SI_TIME_ACCESSORY", SI_TIME_ACCESSORY, false, false);
- //script->set_constant("SI_EP16_DEF", SI_EP16_DEF, false, false);
- //script->set_constant("SI_NORMAL_ATKED_SP", SI_NORMAL_ATKED_SP, false, false);
- //script->set_constant("SI_BODYSTATE_STONECURSE", SI_BODYSTATE_STONECURSE, false, false);
- //script->set_constant("SI_BODYSTATE_FREEZING", SI_BODYSTATE_FREEZING, false, false);
- //script->set_constant("SI_BODYSTATE_STUN", SI_BODYSTATE_STUN, false, false);
- //script->set_constant("SI_BODYSTATE_SLEEP", SI_BODYSTATE_SLEEP, false, false);
- //script->set_constant("SI_BODYSTATE_UNDEAD", SI_BODYSTATE_UNDEAD, false, false);
- //script->set_constant("SI_BODYSTATE_STONECURSE_ING", SI_BODYSTATE_STONECURSE_ING, false, false);
- //script->set_constant("SI_BODYSTATE_BURNNING", SI_BODYSTATE_BURNNING, false, false);
- //script->set_constant("SI_BODYSTATE_IMPRISON", SI_BODYSTATE_IMPRISON, false, false);
- //script->set_constant("SI_HEALTHSTATE_POISON", SI_HEALTHSTATE_POISON, false, false);
- //script->set_constant("SI_HEALTHSTATE_CURSE", SI_HEALTHSTATE_CURSE, false, false);
- //script->set_constant("SI_HEALTHSTATE_SILENCE", SI_HEALTHSTATE_SILENCE, false, false);
- //script->set_constant("SI_HEALTHSTATE_CONFUSION", SI_HEALTHSTATE_CONFUSION, false, false);
- //script->set_constant("SI_HEALTHSTATE_BLIND", SI_HEALTHSTATE_BLIND, false, false);
- //script->set_constant("SI_HEALTHSTATE_ANGELUS", SI_HEALTHSTATE_ANGELUS, false, false);
- //script->set_constant("SI_HEALTHSTATE_BLOODING", SI_HEALTHSTATE_BLOODING, false, false);
- //script->set_constant("SI_HEALTHSTATE_HEAVYPOISON", SI_HEALTHSTATE_HEAVYPOISON, false, false);
- //script->set_constant("SI_HEALTHSTATE_FEAR", SI_HEALTHSTATE_FEAR, false, false);
- //script->set_constant("SI_CHERRY_BLOSSOM_CAKE", SI_CHERRY_BLOSSOM_CAKE, false, false);
- script->set_constant("SI_SU_STOOP", SI_SU_STOOP, false, false);
- script->set_constant("SI_CATNIPPOWDER", SI_CATNIPPOWDER, false, false);
- script->set_constant("SI_BLOSSOM_FLUTTERING", SI_BLOSSOM_FLUTTERING, false, false);
- script->set_constant("SI_SV_ROOTTWIST", SI_SV_ROOTTWIST, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_NOTHING", SI_ATTACK_PROPERTY_NOTHING, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_WATER", SI_ATTACK_PROPERTY_WATER, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_GROUND", SI_ATTACK_PROPERTY_GROUND, false, false);
-
- //script->set_constant("SI_ATTACK_PROPERTY_FIRE", SI_ATTACK_PROPERTY_FIRE, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_WIND", SI_ATTACK_PROPERTY_WIND, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_POISON", SI_ATTACK_PROPERTY_POISON, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_SAINT", SI_ATTACK_PROPERTY_SAINT, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_DARKNESS", SI_ATTACK_PROPERTY_DARKNESS, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_TELEKINESIS", SI_ATTACK_PROPERTY_TELEKINESIS, false, false);
- //script->set_constant("SI_ATTACK_PROPERTY_UNDEAD", SI_ATTACK_PROPERTY_UNDEAD, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_NOTHING", SI_RESIST_PROPERTY_NOTHING, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_WATER", SI_RESIST_PROPERTY_WATER, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_GROUND", SI_RESIST_PROPERTY_GROUND, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_FIRE", SI_RESIST_PROPERTY_FIRE, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_WIND", SI_RESIST_PROPERTY_WIND, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_POISON", SI_RESIST_PROPERTY_POISON, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_SAINT", SI_RESIST_PROPERTY_SAINT, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_DARKNESS", SI_RESIST_PROPERTY_DARKNESS, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_TELEKINESIS", SI_RESIST_PROPERTY_TELEKINESIS, false, false);
- //script->set_constant("SI_RESIST_PROPERTY_UNDEAD", SI_RESIST_PROPERTY_UNDEAD, false, false);
- script->set_constant("SI_BITESCAR", SI_BITESCAR, false, false);
- script->set_constant("SI_ARCLOUSEDASH", SI_ARCLOUSEDASH, false, false);
- script->set_constant("SI_TUNAPARTY", SI_TUNAPARTY, false, false);
- script->set_constant("SI_SHRIMP", SI_SHRIMP, false, false);
- script->set_constant("SI_FRESHSHRIMP", SI_FRESHSHRIMP, false, false);
- //script->set_constant("SI_PERIOD_RECEIVEITEM", SI_PERIOD_RECEIVEITEM, false, false);
- //script->set_constant("SI_PERIOD_PLUSEXP", SI_PERIOD_PLUSEXP, false, false);
- //script->set_constant("SI_PERIOD_PLUSJOBEXP", SI_PERIOD_PLUSJOBEXP, false, false);
- //script->set_constant("SI_RUNEHELM", SI_RUNEHELM, false, false);
- //script->set_constant("SI_HELM_VERKANA", SI_HELM_VERKANA, false, false);
- //script->set_constant("SI_HELM_RHYDO", SI_HELM_RHYDO, false, false);
- //script->set_constant("SI_HELM_TURISUS", SI_HELM_TURISUS, false, false);
- //script->set_constant("SI_HELM_HAGALAS", SI_HELM_HAGALAS, false, false);
- //script->set_constant("SI_HELM_ISIA", SI_HELM_ISIA, false, false);
- //script->set_constant("SI_HELM_ASIR", SI_HELM_ASIR, false, false);
- //script->set_constant("SI_HELM_URJ", SI_HELM_URJ, false, false);
- script->set_constant("SI_SUHIDE", SI_SUHIDE, false, false);
- // 934
- //script->set_constant("SI_DORAM_BUF_01", SI_DORAM_BUF_01, false, false);
- //script->set_constant("SI_DORAM_BUF_02", SI_DORAM_BUF_02, false, false);
- script->set_constant("SI_SPRITEMABLE", SI_SPRITEMABLE, false, false);
- //script->set_constant("SI_AID_PERIOD_RECEIVEITEM", SI_AID_PERIOD_RECEIVEITEM, false, false);
- //script->set_constant("SI_AID_PERIOD_PLUSEXP", SI_AID_PERIOD_PLUSEXP, false, false);
- //script->set_constant("SI_AID_PERIOD_PLUSJOBEXP", SI_AID_PERIOD_PLUSJOBEXP, false, false);
- //script->set_constant("SI_AID_PERIOD_DEADPENALTY", SI_AID_PERIOD_DEADPENALTY, false, false);
- //script->set_constant("SI_AID_PERIOD_ADDSTOREITEMCOUNT", SI_AID_PERIOD_ADDSTOREITEMCOUNT, false, false);
- // 943
- // 944
- // 945
- // 946
- // 947
- // 948
- // 949
- //script->set_constant("SI_HISS", SI_HISS, false, false);
- // 951
- //script->set_constant("SI_NYANGGRASS", SI_NYANGGRASS, false, false);
- //script->set_constant("SI_CHATTERING", SI_CHATTERING, false, false);
- // 954
- // 955
- // 956
- // 957
- // 958
- // 959
- // 960
- //script->set_constant("SI_GROOMING", SI_GROOMING, false, false);
- //script->set_constant("SI_PROTECTIONOFSHRIMP", SI_PROTECTIONOFSHRIMP, false, false);
- //script->set_constant("SI_EP16_2_BUFF_SS", SI_EP16_2_BUFF_SS, false, false);
- //script->set_constant("SI_EP16_2_BUFF_SC", SI_EP16_2_BUFF_SC, false, false);
- //script->set_constant("SI_EP16_2_BUFF_AC", SI_EP16_2_BUFF_AC, false, false);
- //script->set_constant("SI_GS_MAGICAL_BULLET", SI_GS_MAGICAL_BULLET, false, false);
- // 967
- // 968
- // 969
- // 970
- // 971
- // 972
- // 973
- // 974
- // 975
- //script->set_constant("SI_FALLEN_ANGEL", SI_FALLEN_ANGEL, false, false);
- // 977
- // 978
- //script->set_constant("SI_BLAZE_BEAD", SI_BLAZE_BEAD, false, false);
- //script->set_constant("SI_FROZEN_BEAD", SI_FROZEN_BEAD, false, false);
- //script->set_constant("SI_BREEZE_BEAD", SI_BREEZE_BEAD, false, false);
- // 982
- //script->set_constant("SI_AID_PERIOD_RECEIVEITEM_2ND", SI_AID_PERIOD_RECEIVEITEM_2ND, false, false);
- //script->set_constant("SI_AID_PERIOD_PLUSEXP_2ND", SI_AID_PERIOD_PLUSEXP_2ND, false, false);
- //script->set_constant("SI_AID_PERIOD_PLUSJOBEXP_2ND", SI_AID_PERIOD_PLUSJOBEXP_2ND, false, false);
- //script->set_constant("SI_PRONTERA_JP", SI_PRONTERA_JP, false, false);
- // 987
- //script->set_constant("SI_GLOOM_CARD", SI_GLOOM_CARD, false, false);
- //script->set_constant("SI_PHARAOH_CARD", SI_PHARAOH_CARD, false, false);
- //script->set_constant("SI_KIEL_CARD", SI_KIEL_CARD, false, false);
- // 991
- //script->set_constant("SI_CHEERUP", SI_CHEERUP, false, false);
- // 993
- // 994
- //script->set_constant("SI_S_MANAPOTION", SI_S_MANAPOTION, false, false);
- //script->set_constant("SI_M_DEFSCROLL", SI_M_DEFSCROLL, false, false);
- // 997
- // 998
- // 999
- //script->set_constant("SI_AS_RAGGED_GOLEM_CARD", SI_AS_RAGGED_GOLEM_CARD, false, false);
- //script->set_constant("SI_LHZ_DUN_N1", SI_LHZ_DUN_N1, false, false);
- //script->set_constant("SI_LHZ_DUN_N2", SI_LHZ_DUN_N2, false, false);
- //script->set_constant("SI_LHZ_DUN_N3", SI_LHZ_DUN_N3, false, false);
- //script->set_constant("SI_LHZ_DUN_N4", SI_LHZ_DUN_N4, false, false);
-
- script->set_constant("SI_MAX", SI_MAX, false, false);
diff --git a/src/map/date.c b/src/map/date.c
index 8060db458..9db7155ab 100644
--- a/src/map/date.c
+++ b/src/map/date.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/date.h b/src/map/date.h
index c5fe56d5f..1673b8c6d 100644
--- a/src/map/date.h
+++ b/src/map/date.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/duel.c b/src/map/duel.c
index c2c24e37b..c66fd6fc2 100644
--- a/src/map/duel.c
+++ b/src/map/duel.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -41,27 +41,12 @@ struct duel_interface *duel;
*------------------------------------------*/
static void duel_savetime(struct map_session_data *sd)
{
- time_t clock;
- struct tm *t;
-
- time(&clock);
- t = localtime(&clock);
-
- pc_setglobalreg(sd, script->add_variable("PC_LAST_DUEL_TIME"), t->tm_mday*24*60 + t->tm_hour*60 + t->tm_min);
+ pc_setglobalreg(sd, script->add_variable("PC_LAST_DUEL_TIME"), (int)time(NULL));
}
-static int duel_checktime(struct map_session_data *sd)
+static int64 duel_difftime(struct map_session_data *sd)
{
- int diff;
- time_t clock;
- struct tm *t;
-
- time(&clock);
- t = localtime(&clock);
-
- diff = t->tm_mday*24*60 + t->tm_hour*60 + t->tm_min - pc_readglobalreg(sd, script->add_variable("PC_LAST_DUEL_TIME") );
-
- return !(diff >= 0 && diff < battle_config.duel_time_interval);
+ return (pc_readglobalreg(sd, script->add_variable("PC_LAST_DUEL_TIME")) + battle_config.duel_time_interval - (int)time(NULL));
}
static int duel_showinfo_sub(struct map_session_data *sd, va_list va)
@@ -233,7 +218,7 @@ void duel_defaults(void)
duel->reject = duel_reject;
duel->leave = duel_leave;
duel->showinfo = duel_showinfo;
- duel->checktime = duel_checktime;
+ duel->difftime = duel_difftime;
duel->init = do_init_duel;
duel->final = do_final_duel;
diff --git a/src/map/duel.h b/src/map/duel.h
index facb09ff9..1620ca891 100644
--- a/src/map/duel.h
+++ b/src/map/duel.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -52,7 +52,7 @@ struct duel_interface {
void (*reject) (const unsigned int did, struct map_session_data* sd);
void (*leave) (const unsigned int did, struct map_session_data* sd);
void (*showinfo) (const unsigned int did, struct map_session_data* sd);
- int (*checktime) (struct map_session_data* sd);
+ int64 (*difftime) (struct map_session_data* sd);
void (*init) (bool minimal);
void (*final) (void);
diff --git a/src/map/elemental.c b/src/map/elemental.c
index b7bd5c090..f176bb9e2 100644
--- a/src/map/elemental.c
+++ b/src/map/elemental.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -788,8 +788,8 @@ static int elemental_ai_sub_timer(struct elemental_data *ed, struct map_session_
return 0; //Already walking to him
if( DIFF_TICK(tick, ed->ud.canmove_tick) < 0 )
return 0; //Can't move yet.
- if( map->search_freecell(&ed->bl, sd->bl.m, &x, &y, MIN_ELEDISTANCE, MIN_ELEDISTANCE, 1)
- && unit->walktoxy(&ed->bl, x, y, 0) )
+ if (map->search_freecell(&ed->bl, sd->bl.m, &x, &y, MIN_ELEDISTANCE, MIN_ELEDISTANCE, 1) != 0
+ && unit->walk_toxy(&ed->bl, x, y, 0) == 0)
return 0;
}
diff --git a/src/map/elemental.h b/src/map/elemental.h
index 0c6b4ec27..71c991268 100644
--- a/src/map/elemental.h
+++ b/src/map/elemental.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/guild.c b/src/map/guild.c
index 0517887d3..f344878e1 100644
--- a/src/map/guild.c
+++ b/src/map/guild.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -38,6 +38,7 @@
#include "map/storage.h"
#include "common/HPM.h"
#include "common/cbasetypes.h"
+#include "common/conf.h"
#include "common/ers.h"
#include "common/memmgr.h"
#include "common/mapindex.h"
@@ -147,26 +148,126 @@ static int guild_check_skill_require(struct guild *g, int id)
return 1;
}
-static bool guild_read_castledb(char *str[], int columns, int current)
-{// <castle id>,<map name>,<castle name>,<castle event>[,<reserved/unused switch flag>]
- struct guild_castle *gc;
- int index;
+static bool guild_read_castledb_libconfig(void)
+{
+ struct config_t castle_conf;
+ struct config_setting_t *castle_db = NULL, *it = NULL;
+ char config_filename[256];
+ libconfig->format_db_path("castle_db.conf", config_filename, sizeof(config_filename));
+ int i = 0;
+
+ if (libconfig->load_file(&castle_conf, config_filename) == 0)
+ return false;
- nullpo_retr(false, str);
- index = mapindex->name2id(str[1]);
- if (map->mapindex2mapid(index) < 0) // Map not found or on another map-server
+ if ((castle_db = libconfig->setting_get_member(castle_conf.root, "castle_db")) == NULL) {
+ libconfig->destroy(&castle_conf);
+ ShowError("guild_read_castledb_libconfig: can't read %s\n", config_filename);
return false;
+ }
+
+ while ((it = libconfig->setting_get_elem(castle_db, i++)) != NULL) {
+ guild->read_castledb_libconfig_sub(it, i - 1, config_filename);
+ }
+
+ libconfig->destroy(&castle_conf);
+ ShowStatus("Done reading '"CL_WHITE"%u"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", db_size(guild->castle_db), config_filename);
+ return true;
+}
+
+static bool guild_read_castledb_libconfig_sub(struct config_setting_t *it, int idx, const char *source)
+{
+ nullpo_ret(it);
+ nullpo_ret(source);
+ struct guild_castle *gc = NULL;
+ const char *name = NULL;
+ int i32 = 0;
CREATE(gc, struct guild_castle, 1);
- gc->castle_id = atoi(str[0]);
+
+ if (libconfig->setting_lookup_int(it, "CastleID", &i32) == CONFIG_FALSE) {
+ aFree(gc);
+ ShowWarning("guild_read_castledb_libconfig_sub: Invalid or missing CastleID (%d) in \"%s\", entry #%d, skipping.\n", i32, source, idx);
+ return false;
+ }
+ gc->castle_id = i32;
+
+ if (libconfig->setting_lookup_string(it, "MapName", &name) == CONFIG_FALSE) {
+ aFree(gc);
+ ShowWarning("guild_read_castledb_libconfig_sub: Invalid or missing MapName in \"%s\", entry #%d, skipping.\n", source, idx);
+ return false;
+ }
+ int index = mapindex->name2id(name);
+ if (map->mapindex2mapid(index) < 0) {
+ aFree(gc);
+ ShowWarning("guild_read_castledb_libconfig_sub: Invalid MapName (%s) in \"%s\", entry #%d, skipping.\n", name, source, idx);
+ return false;
+ }
gc->mapindex = index;
- safestrncpy(gc->castle_name, str[2], sizeof(gc->castle_name));
- safestrncpy(gc->castle_event, str[3], sizeof(gc->castle_event));
- idb_put(guild->castle_db,gc->castle_id,gc);
+ if (libconfig->setting_lookup_string(it, "CastleName", &name) == CONFIG_FALSE) {
+ aFree(gc);
+ ShowWarning("guild_read_castledb_libconfig_sub: Invalid CastleName in \"%s\", entry #%d, skipping.\n", source, idx);
+ return false;
+ }
+ safestrncpy(gc->castle_name, name, sizeof(gc->castle_name));
- //intif->guild_castle_info(gc->castle_id);
+ if (libconfig->setting_lookup_string(it, "OnGuildBreakEventName", &name) == CONFIG_FALSE){
+ aFree(gc);
+ ShowWarning("guild_read_castledb_libconfig_sub: Invalid OnGuildBreakEventName in \"%s\", entry #%d, skipping.\n", source, idx);
+ return false;
+ }
+ safestrncpy(gc->castle_event, name, sizeof(gc->castle_event));
+ if (itemdb->lookup_const(it, "SiegeType", &i32) && (i32 >= SIEGE_TYPE_MAX || i32 < 0)) {
+ ShowWarning("guild_read_castledb_libconfig_sub: Invalid SiegeType in \"%s\", entry #%d, defaulting to SIEGE_TYPE_FE.\n", source, idx);
+ gc->siege_type = SIEGE_TYPE_FE;
+ } else {
+ gc->siege_type = i32;
+ }
+
+ libconfig->setting_lookup_bool_real(it, "EnableClientWarp", &gc->enable_client_warp);
+ if (gc->enable_client_warp == true) {
+ struct config_setting_t *wd = libconfig->setting_get_member(it, "ClientWarp");
+ guild->read_castledb_libconfig_sub_warp(wd, source, gc);
+ }
+ idb_put(guild->castle_db, gc->castle_id, gc);
+ return true;
+}
+
+static bool guild_read_castledb_libconfig_sub_warp(struct config_setting_t *wd, const char *source, struct guild_castle *gc)
+{
+ nullpo_retr(false, wd);
+ nullpo_retr(false, gc);
+ nullpo_retr(false, source);
+
+ int64 i64 = 0;
+ struct config_setting_t *it = libconfig->setting_get_member(wd, "Position");
+ if (config_setting_is_list(it)) {
+ int m = map->mapindex2mapid(gc->mapindex);
+
+ gc->client_warp.x = libconfig->setting_get_int_elem(it, 0);
+ gc->client_warp.y = libconfig->setting_get_int_elem(it, 1);
+ if (gc->client_warp.x < 0 || gc->client_warp.x >= map->list[m].xs || gc->client_warp.y < 0 || gc->client_warp.y >= map->list[m].ys) {
+ ShowWarning("guild_read_castledb_libconfig_sub_warp: Invalid Position in \"%s\", for castle (%d).\n", source, gc->castle_id);
+ return false;
+ }
+ } else {
+ ShowWarning("guild_read_castledb_libconfig_sub_warp: Invalid format for Position in \"%s\", for castle (%d).\n", source, gc->castle_id);
+ return false;
+ }
+
+ if (libconfig->setting_lookup_int64(wd, "ZenyCost", &i64)) {
+ if (i64 > MAX_ZENY) {
+ ShowWarning("guild_read_castledb_libconfig_sub_warp: ZenyCost is too big in \"%s\", for castle (%d), capping to MAX_ZENY.\n", source, gc->castle_id);
+ }
+ gc->client_warp.zeny = cap_value((int)i64, 0, MAX_ZENY);
+ }
+ if (libconfig->setting_lookup_int64(wd, "ZenyCostSiegeTime", &i64)) {
+ if (i64 > MAX_ZENY) {
+ ShowWarning("guild_read_castledb_libconfig_sub_warp: ZenyCostSiegeTime is too big in \"%s\", for castle (%d), capping to MAX_ZENY.\n", source, gc->castle_id);
+ }
+ gc->client_warp.zeny_siege = cap_value((int)i64, 0, MAX_ZENY);
+ }
return true;
}
@@ -177,7 +278,7 @@ static struct guild *guild_search(int guild_id)
}
/// lookup: guild name -> guild*
-static struct guild *guild_searchname(char *str)
+static struct guild *guild_searchname(const char *str)
{
struct guild* g;
struct DBIterator *iter = db_iterator(guild->db);
@@ -465,6 +566,7 @@ static int guild_check_member(const struct guild *g)
if (i == INDEX_NOT_FOUND) {
sd->status.guild_id=0;
sd->guild_emblem_id=0;
+ sd->guild = NULL;
ShowWarning("guild: check_member %d[%s] is not member\n",sd->status.account_id,sd->status.name);
}
}
@@ -481,8 +583,11 @@ static int guild_recv_noinfo(int guild_id)
iter = mapit_getallusers();
for (sd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); sd = BL_UCAST(BL_PC, mapit->next(iter))) {
- if( sd->status.guild_id == guild_id )
+ if (sd->status.guild_id == guild_id) {
sd->status.guild_id = 0; // erase guild
+ sd->guild_emblem_id = 0;
+ sd->guild = NULL;
+ }
}
mapit->free(iter);
@@ -554,7 +659,7 @@ static int guild_recv_info(const struct guild *sg)
before=*sg;
//Perform the check on the user because the first load
guild->check_member(sg);
- if ((sd = map->nick2sd(sg->master)) != NULL) {
+ if ((sd = map->nick2sd(sg->master, false)) != NULL) {
//If the guild master is online the first time the guild_info is received,
//that means he was the first to join, so apply guild skill blocking here.
if( battle_config.guild_skill_relog_delay == 1)
@@ -772,6 +877,8 @@ static void guild_member_joined(struct map_session_data *sd)
i = guild->getindex(g, sd->status.account_id, sd->status.char_id);
if (i == INDEX_NOT_FOUND) {
sd->status.guild_id = 0;
+ sd->guild_emblem_id = 0;
+ sd->guild = NULL;
} else {
g->member[i].sd = sd;
sd->guild = g;
@@ -1086,13 +1193,14 @@ static int guild_recv_memberinfoshort(int guild_id, int account_id, int char_id,
*---------------------------------------------------*/
static int guild_send_message(struct map_session_data *sd, const char *mes)
{
- int len = (int)strlen(mes);
nullpo_ret(sd);
- if (sd->status.guild_id == 0)
+ if (sd->status.guild_id == 0 || sd->guild == NULL)
return 0;
- intif->guild_message(sd->status.guild_id, sd->status.account_id, mes, len);
- guild->recv_message(sd->status.guild_id, sd->status.account_id, mes, len);
+
+ int len = (int)strlen(mes);
+
+ clif->guild_message(sd->guild, sd->status.account_id, mes, len);
// Chat logging type 'G' / Guild Chat
logs->chat(LOG_CHAT_GUILD, sd->status.guild_id, sd->status.char_id, sd->status.account_id, mapindex_id2name(sd->mapindex), sd->bl.x, sd->bl.y, NULL, mes);
@@ -1101,18 +1209,6 @@ static int guild_send_message(struct map_session_data *sd, const char *mes)
}
/*====================================================
- * Guild receive a message, will be displayed to whole member
- *---------------------------------------------------*/
-static int guild_recv_message(int guild_id, int account_id, const char *mes, int len)
-{
- struct guild *g;
- if( (g=guild->search(guild_id))==NULL)
- return 0;
- clif->guild_message(g,account_id,mes,len);
- return 0;
-}
-
-/*====================================================
* Member changing position in guild
*---------------------------------------------------*/
static int guild_change_memberposition(int guild_id, int account_id, int char_id, short idx)
@@ -1899,7 +1995,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) {
@@ -1907,7 +2003,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
@@ -2321,8 +2417,7 @@ static void do_init_guild(bool minimal)
guild->infoevent_db = idb_alloc(DB_OPT_BASE);
guild->expcache_ers = ers_new(sizeof(struct guild_expcache),"guild.c::expcache_ers",ERS_OPT_NONE);
- sv->readdb(map->db_path, "castle_db.txt", ',', 4, 5, -1, guild->read_castledb);
-
+ guild->read_castledb_libconfig();
sv->readdb(map->db_path, "guild_skill_tree.txt", ',', 2+MAX_GUILD_SKILL_REQUIRE*2, 2+MAX_GUILD_SKILL_REQUIRE*2, -1, guild->read_guildskill_tree_db); //guild skill tree [Komurka]
timer->add_func_list(guild->payexp_timer,"guild_payexp_timer");
@@ -2430,7 +2525,6 @@ void guild_defaults(void)
guild->change_emblem = guild_change_emblem;
guild->emblem_changed = guild_emblem_changed;
guild->send_message = guild_send_message;
- guild->recv_message = guild_recv_message;
guild->send_dot_remove = guild_send_dot_remove;
guild->skillupack = guild_skillupack;
guild->dobreak = guild_break;
@@ -2457,7 +2551,9 @@ void guild_defaults(void)
guild->payexp_timer = guild_payexp_timer;
guild->sd_check = guild_sd_check;
guild->read_guildskill_tree_db = guild_read_guildskill_tree_db;
- guild->read_castledb = guild_read_castledb;
+ guild->read_castledb_libconfig = guild_read_castledb_libconfig;
+ guild->read_castledb_libconfig_sub = guild_read_castledb_libconfig_sub;
+ guild->read_castledb_libconfig_sub_warp = guild_read_castledb_libconfig_sub_warp;
guild->payexp_timer_sub = guild_payexp_timer_sub;
guild->send_xy_timer_sub = guild_send_xy_timer_sub;
guild->send_xy_timer = guild_send_xy_timer;
diff --git a/src/map/guild.h b/src/map/guild.h
index 396cbda86..82582a864 100644
--- a/src/map/guild.h
+++ b/src/map/guild.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -91,7 +91,7 @@ struct guild_interface {
bool (*isallied) (int guild_id, int guild_id2); //Checks alliance based on guild Ids. [Skotlex]
/* */
struct guild *(*search) (int guild_id);
- struct guild *(*searchname) (char *str);
+ struct guild *(*searchname) (const char *str);
struct guild_castle *(*castle_search) (int gcid);
/* */
struct guild_castle *(*mapname2gc) (const char* mapname);
@@ -136,7 +136,6 @@ struct guild_interface {
int (*change_emblem) (struct map_session_data *sd,int len,const char *data);
int (*emblem_changed) (int len,int guild_id,int emblem_id,const char *data);
int (*send_message) (struct map_session_data *sd, const char *mes);
- int (*recv_message) (int guild_id,int account_id,const char *mes,int len);
int (*send_dot_remove) (struct map_session_data *sd);
int (*skillupack) (int guild_id,uint16 skill_id,int account_id);
int (*dobreak) (struct map_session_data *sd, const char *name);
@@ -165,7 +164,9 @@ struct guild_interface {
int (*payexp_timer) (int tid, int64 tick, int id, intptr_t data);
struct map_session_data *(*sd_check) (int guild_id, int account_id, int char_id);
bool (*read_guildskill_tree_db) (char* split[], int columns, int current);
- bool (*read_castledb) (char* str[], int columns, int current);
+ bool (*read_castledb_libconfig) (void);
+ bool (*read_castledb_libconfig_sub) (struct config_setting_t *it, int idx, const char *source);
+ bool (*read_castledb_libconfig_sub_warp) (struct config_setting_t *wd, const char *source, struct guild_castle *gc);
int (*payexp_timer_sub) (union DBKey key, struct DBData *data, va_list ap);
int (*send_xy_timer_sub) (union DBKey key, struct DBData *data, va_list ap);
int (*send_xy_timer) (int tid, int64 tick, int id, intptr_t data);
diff --git a/src/map/homunculus.c b/src/map/homunculus.c
index aa3bb5360..65c457283 100644
--- a/src/map/homunculus.c
+++ b/src/map/homunculus.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -172,26 +172,26 @@ static int homunculus_dead(struct homun_data *hd)
}
//Vaporize a character's homun. If flag, HP needs to be 80% or above.
-static int homunculus_vaporize(struct map_session_data *sd, enum homun_state flag)
+static int homunculus_vaporize(struct map_session_data *sd, enum homun_state state, bool force)
{
struct homun_data *hd;
nullpo_ret(sd);
hd = sd->hd;
- if (!hd || hd->homunculus.vaporize != HOM_ST_ACTIVE)
+ if (hd == NULL || hd->bl.prev == NULL || hd->homunculus.vaporize != HOM_ST_ACTIVE)
return 0;
if (status->isdead(&hd->bl))
return 0; //Can't vaporize a dead homun.
- if (flag == HOM_ST_REST && get_percentage(hd->battle_status.hp, hd->battle_status.max_hp) < 80)
+ if (!force && get_percentage(hd->battle_status.hp, hd->battle_status.max_hp) < 80)
return 0;
hd->regen.state.block = 3; //Block regen while vaporized.
//Delete timers when vaporized.
homun->hunger_timer_delete(hd);
- hd->homunculus.vaporize = flag;
+ hd->homunculus.vaporize = state;
if(battle_config.hom_setting&0x40)
memset(hd->blockskill, 0, sizeof(hd->blockskill));
clif->hominfo(sd, sd->hd, 0);
@@ -258,7 +258,7 @@ static int homunculus_calc_skilltree(struct homun_data *hd, int flag_evolve)
for( i = 0; i < MAX_SKILL_TREE && ( id = homun->dbs->skill_tree[c][i].id ) > 0; i++ ) {
if( hd->homunculus.hskill[ id - HM_SKILLBASE ].id )
continue; //Skill already known.
- j = ( flag_evolve ) ? 10 : hd->homunculus.intimacy;
+ j = ( flag_evolve ) ? 1000 : hd->homunculus.intimacy;
if( j < homun->dbs->skill_tree[c][i].intimacylv )
continue;
if(!battle_config.skillfree) {
@@ -401,7 +401,7 @@ static bool homunculus_levelup(struct homun_data *hd)
if ( battle_config.homunculus_show_growth ) {
char output[256] ;
sprintf(output,
- "Growth: hp:%d sp:%d str(%.2f) agi(%.2f) vit(%.2f) int(%.2f) dex(%.2f) luk(%.2f) ",
+ msg_sd(hd->master, 892), // Growth: hp:%d sp:%d str(%.2f) agi(%.2f) vit(%.2f) int(%.2f) dex(%.2f) luk(%.2f)
growth_max_hp, growth_max_sp,
growth_str/10.0, growth_agi/10.0, growth_vit/10.0,
growth_int/10.0, growth_dex/10.0, growth_luk/10.0);
@@ -525,6 +525,21 @@ static bool homunculus_mutate(struct homun_data *hd, int homun_id)
return true;
}
+static int homunculus_gainexp_real(struct homun_data *hd, unsigned int exp)
+{
+ nullpo_ret(hd);
+ nullpo_ret(hd->master);
+
+ hd->homunculus.exp += exp;
+
+ if (hd->master->state.showexp && hd->exp_next > 0) {
+ char output[256];
+ sprintf(output, msg_fd(hd->master->fd, 449), exp, ((float)exp / (float)hd->exp_next * (float)100));
+ clif_disp_onlyself(hd->master, output);
+ }
+ return 1;
+}
+
static int homunculus_gainexp(struct homun_data *hd, unsigned int exp)
{
enum homun_type htype;
@@ -550,10 +565,10 @@ static int homunculus_gainexp(struct homun_data *hd, unsigned int exp)
break;
}
- hd->homunculus.exp += exp;
+ homun->gainexp_real(hd, exp);
- if(hd->homunculus.exp < hd->exp_next) {
- clif->hominfo(hd->master,hd,0);
+ if (hd->homunculus.exp < hd->exp_next) {
+ clif->hominfo(hd->master, hd, 0);
return 0;
}
@@ -779,7 +794,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;
@@ -820,7 +835,7 @@ static int homunculus_db_search(int key, int type)
* @param hom The homunculus source data.
* @retval false in case of errors.
*/
-static bool homunculus_create(struct map_session_data *sd, const struct s_homunculus *hom)
+static bool homunculus_create(struct map_session_data *sd, const struct s_homunculus *hom, bool is_new)
{
struct homun_data *hd;
int i = 0;
@@ -864,7 +879,9 @@ static bool homunculus_create(struct map_session_data *sd, const struct s_homunc
map->addiddb(&hd->bl);
status_calc_homunculus(hd,SCO_FIRST);
- status_percent_heal(&hd->bl, 100, 100);
+ if (is_new) {
+ status_percent_heal(&hd->bl, 100, 100);
+ }
hd->hungry_timer = INVALID_TIMER;
return true;
@@ -921,6 +938,7 @@ static bool homunculus_recv_data(int account_id, const struct s_homunculus *sh,
{
struct map_session_data *sd;
struct homun_data *hd;
+ bool is_new = false;
nullpo_retr(false, sh);
@@ -936,15 +954,17 @@ static bool homunculus_recv_data(int account_id, const struct s_homunculus *sh,
if (sd->status.char_id != sh->char_id && sd->status.hom_id != sh->hom_id)
return false;
- if (sd->status.hom_id == 0) //Hom just created.
+ if (sd->status.hom_id == 0) { // Hom just created.
sd->status.hom_id = sh->hom_id;
+ is_new = true;
+ }
if (sd->hd != NULL) {
//uh? Overwrite the data.
memcpy(&sd->hd->homunculus, sh, sizeof sd->hd->homunculus);
sd->hd->homunculus.char_id = sd->status.char_id; // Correct char id if necessary.
} else {
- homun->create(sd, sh);
+ homun->create(sd, sh, is_new);
}
hd = sd->hd;
@@ -1306,7 +1326,7 @@ static bool homunculus_read_skill_db_sub(char *split[], int columns, int current
homun->dbs->skill_tree[classid][j].need[k].lv = atoi(split[3+k*2+minJobLevelPresent+1]);
}
- homun->dbs->skill_tree[classid][j].intimacylv = atoi(split[13+minJobLevelPresent]);
+ homun->dbs->skill_tree[classid][j].intimacylv = atoi(split[13+minJobLevelPresent]) * 100;
return true;
}
@@ -1369,7 +1389,7 @@ static void homunculus_exp_db_read(void)
homun->dbs->exptable[MAX_LEVEL - 1] = 0;
}
fclose(fp);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' levels in '"CL_WHITE"%s"CL_RESET"'.\n", j, filename[i]);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' levels in '"CL_WHITE"%s/%s"CL_RESET"'.\n", j, map->db_path, filename[i]);
}
}
@@ -1433,6 +1453,7 @@ void homunculus_defaults(void)
homun->evolve = homunculus_evolve;
homun->mutate = homunculus_mutate;
homun->gainexp = homunculus_gainexp;
+ homun->gainexp_real = homunculus_gainexp_real;
homun->add_intimacy = homunculus_add_intimacy;
homun->consume_intimacy = homunculus_consume_intimacy;
homun->healed = homunculus_healed;
diff --git a/src/map/homunculus.h b/src/map/homunculus.h
index 745c7cd84..c12629f46 100644
--- a/src/map/homunculus.h
+++ b/src/map/homunculus.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -133,7 +133,7 @@ struct homun_skill_tree_entry {
short id;
unsigned char max;
unsigned char joblv;
- short intimacylv;
+ int intimacylv;
struct {
short id;
unsigned char lv;
@@ -167,7 +167,7 @@ struct homunculus_interface {
enum homun_type (*class2type) (int class_);
void (*damaged) (struct homun_data *hd);
int (*dead) (struct homun_data *hd);
- int (*vaporize) (struct map_session_data *sd, enum homun_state flag);
+ int (*vaporize) (struct map_session_data *sd, enum homun_state state, bool force);
int (*delete) (struct homun_data *hd, int emote);
int (*checkskill) (struct homun_data *hd, uint16 skill_id);
int (*calc_skilltree) (struct homun_data *hd, int flag_evolve);
@@ -178,6 +178,7 @@ struct homunculus_interface {
bool (*evolve) (struct homun_data *hd);
bool (*mutate) (struct homun_data *hd, int homun_id);
int (*gainexp) (struct homun_data *hd, unsigned int exp);
+ int (*gainexp_real) (struct homun_data *hd, unsigned int exp);
unsigned int (*add_intimacy) (struct homun_data * hd, unsigned int value);
unsigned int (*consume_intimacy) (struct homun_data *hd, unsigned int value);
void (*healed) (struct homun_data *hd);
@@ -189,7 +190,7 @@ struct homunculus_interface {
int (*change_name) (struct map_session_data *sd, const char *name);
bool (*change_name_ack) (struct map_session_data *sd, const char *name, int flag);
int (*db_search) (int key,int type);
- bool (*create) (struct map_session_data *sd, const struct s_homunculus *hom);
+ bool (*create) (struct map_session_data *sd, const struct s_homunculus *hom, bool is_new);
void (*init_timers) (struct homun_data * hd);
bool (*call) (struct map_session_data *sd);
bool (*recv_data) (int account_id, const struct s_homunculus *sh, int flag);
diff --git a/src/map/instance.c b/src/map/instance.c
index 1e83b0b76..1104b7e88 100644
--- a/src/map/instance.c
+++ b/src/map/instance.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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;
@@ -453,7 +446,7 @@ static int instance_cleanup_sub(struct block_list *bl, va_list ap)
map->quit(BL_UCAST(BL_PC, bl));
break;
case BL_NPC:
- npc->unload(BL_UCAST(BL_NPC, bl), true);
+ npc->unload(BL_UCAST(BL_NPC, bl), true, true);
break;
case BL_MOB:
unit->free(bl,CLR_OUTSIGHT);
@@ -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++ ) {
diff --git a/src/map/instance.h b/src/map/instance.h
index 91928bf40..8206902c1 100644
--- a/src/map/instance.h
+++ b/src/map/instance.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/intif.c b/src/map/intif.c
index 8028d4474..a420b7204 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -153,158 +153,6 @@ static int intif_rename(struct map_session_data *sd, int type, const char *name)
return 0;
}
-// GM Send a message
-static int intif_broadcast(const char *mes, int len, int type)
-{
- int lp = (type&BC_COLOR_MASK) ? 4 : 0;
-
- nullpo_ret(mes);
- Assert_ret(len < 32000);
- // Send to the local players
- clif->broadcast(NULL, mes, len, type, ALL_CLIENT);
-
- if (intif->CheckForCharServer())
- return 0;
-
- if (chrif->other_mapserver_count < 1)
- return 0; //No need to send.
-
- WFIFOHEAD(inter_fd, 16 + lp + len);
- WFIFOW(inter_fd,0) = 0x3000;
- WFIFOW(inter_fd,2) = 16 + lp + len;
- WFIFOL(inter_fd,4) = 0xFF000000; // 0xFF000000 color signals standard broadcast
- WFIFOW(inter_fd,8) = 0; // fontType not used with standard broadcast
- WFIFOW(inter_fd,10) = 0; // fontSize not used with standard broadcast
- WFIFOW(inter_fd,12) = 0; // fontAlign not used with standard broadcast
- WFIFOW(inter_fd,14) = 0; // fontY not used with standard broadcast
- if (type&BC_BLUE)
- WFIFOL(inter_fd,16) = 0x65756c62; //If there's "blue" at the beginning of the message, game client will display it in blue instead of yellow.
- else if (type&BC_WOE)
- WFIFOL(inter_fd,16) = 0x73737373; //If there's "ssss", game client will recognize message as 'WoE broadcast'.
- memcpy(WFIFOP(inter_fd,16 + lp), mes, len);
- WFIFOSET(inter_fd, WFIFOW(inter_fd,2));
- return 0;
-}
-
-static int intif_broadcast2(const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY)
-{
- nullpo_ret(mes);
- Assert_ret(len < 32000);
- // Send to the local players
- clif->broadcast2(NULL, mes, len, fontColor, fontType, fontSize, fontAlign, fontY, ALL_CLIENT);
-
- if (intif->CheckForCharServer())
- return 0;
-
- if (chrif->other_mapserver_count < 1)
- return 0; //No need to send.
-
- WFIFOHEAD(inter_fd, 16 + len);
- WFIFOW(inter_fd,0) = 0x3000;
- WFIFOW(inter_fd,2) = 16 + len;
- WFIFOL(inter_fd,4) = fontColor;
- WFIFOW(inter_fd,8) = fontType;
- WFIFOW(inter_fd,10) = fontSize;
- WFIFOW(inter_fd,12) = fontAlign;
- WFIFOW(inter_fd,14) = fontY;
- memcpy(WFIFOP(inter_fd,16), mes, len);
- WFIFOSET(inter_fd, WFIFOW(inter_fd,2));
- return 0;
-}
-
-/// send a message using the main chat system
-/// <sd> the source of message
-/// <message> the message that was sent
-static int intif_main_message(struct map_session_data *sd, const char *message)
-{
- char output[256];
-
- nullpo_ret(sd);
- nullpo_ret(message);
-
- // format the message for main broadcasting
- snprintf( output, sizeof(output), msg_txt(386), sd->status.name, message );
-
- // send the message using the inter-server broadcast service
- intif->broadcast2(output, (int)strlen(output) + 1, 0xFE000000, 0, 0, 0, 0);
-
- // log the chat message
- logs->chat( LOG_CHAT_MAINCHAT, 0, sd->status.char_id, sd->status.account_id, mapindex_id2name(sd->mapindex), sd->bl.x, sd->bl.y, NULL, message );
-
- return 0;
-}
-
-// The transmission of Wisp/Page to inter-server (player not found on this server)
-static int intif_wis_message(struct map_session_data *sd, const char *nick, const char *mes, int mes_len)
-{
- if (intif->CheckForCharServer())
- return 0;
- nullpo_ret(sd);
- nullpo_ret(nick);
- nullpo_ret(mes);
-
- if (chrif->other_mapserver_count < 1) {
- //Character not found.
- clif->wis_end(sd->fd, 1);
- return 0;
- }
-
- WFIFOHEAD(inter_fd,mes_len + 52);
- WFIFOW(inter_fd,0) = 0x3001;
- WFIFOW(inter_fd,2) = mes_len + 52;
- memcpy(WFIFOP(inter_fd,4), sd->status.name, NAME_LENGTH);
- memcpy(WFIFOP(inter_fd,4+NAME_LENGTH), nick, NAME_LENGTH);
- memcpy(WFIFOP(inter_fd,4+2*NAME_LENGTH), mes, mes_len);
- WFIFOSET(inter_fd, WFIFOW(inter_fd,2));
-
- if (battle_config.etc_log)
- ShowInfo("intif_wis_message from %s to %s (message: '%s')\n", sd->status.name, nick, mes);
-
- return 0;
-}
-
-// The reply of Wisp/page
-static int intif_wis_replay(int id, int flag)
-{
- if (intif->CheckForCharServer())
- return 0;
- WFIFOHEAD(inter_fd,7);
- WFIFOW(inter_fd,0) = 0x3002;
- WFIFOL(inter_fd,2) = id;
- WFIFOB(inter_fd,6) = flag; // flag: 0: success to send whisper, 1: target character is not logged in?, 2: ignored by target
- WFIFOSET(inter_fd,7);
-
- if (battle_config.etc_log)
- ShowInfo("intif_wis_replay: id: %d, flag:%d\n", id, flag);
-
- return 0;
-}
-
-// The transmission of GM only Wisp/Page from server to inter-server
-static int intif_wis_message_to_gm(char *wisp_name, int permission, char *mes)
-{
- int mes_len;
- if (intif->CheckForCharServer())
- return 0;
- nullpo_ret(wisp_name);
- nullpo_ret(mes);
- mes_len = (int)strlen(mes) + 1; // + null
- Assert_ret(mes_len > 0 && mes_len <= INT16_MAX - 32);
-
- WFIFOHEAD(inter_fd, mes_len + 32);
- WFIFOW(inter_fd,0) = 0x3003;
- WFIFOW(inter_fd,2) = mes_len + 32;
- memcpy(WFIFOP(inter_fd,4), wisp_name, NAME_LENGTH);
- WFIFOL(inter_fd,4+NAME_LENGTH) = permission;
- memcpy(WFIFOP(inter_fd,8+NAME_LENGTH), mes, mes_len);
- WFIFOSET(inter_fd, WFIFOW(inter_fd,2));
-
- if (battle_config.etc_log)
- ShowNotice("intif_wis_message_to_gm: from: '%s', required permission: %d, message: '%s'.\n", wisp_name, permission, mes);
-
- return 0;
-}
-
//Request for saving registry values.
static int intif_saveregistry(struct map_session_data *sd)
{
@@ -714,27 +562,6 @@ static int intif_break_party(int party_id)
return 0;
}
-// Sending party chat
-static int intif_party_message(int party_id, int account_id, const char *mes, int len)
-{
- if (intif->CheckForCharServer())
- return 0;
-
- if (chrif->other_mapserver_count < 1)
- return 0; //No need to send.
-
- nullpo_ret(mes);
- Assert_ret(len > 0 && len < 32000);
- WFIFOHEAD(inter_fd,len + 12);
- WFIFOW(inter_fd,0)=0x3027;
- WFIFOW(inter_fd,2)=len+12;
- WFIFOL(inter_fd,4)=party_id;
- WFIFOL(inter_fd,8)=account_id;
- memcpy(WFIFOP(inter_fd,12),mes,len);
- WFIFOSET(inter_fd,len+12);
- return 0;
-}
-
// Request a new leader for party
static int intif_party_leaderchange(int party_id, int account_id, int char_id)
{
@@ -931,28 +758,6 @@ static int intif_guild_break(int guild_id)
return 0;
}
-// Send a guild message
-static int intif_guild_message(int guild_id, int account_id, const char *mes, int len)
-{
- if (intif->CheckForCharServer())
- return 0;
-
- if (chrif->other_mapserver_count < 1)
- return 0; //No need to send.
-
- nullpo_ret(mes);
- Assert_ret(len > 0 && len < 32000);
- WFIFOHEAD(inter_fd, len + 12);
- WFIFOW(inter_fd,0)=0x3037;
- WFIFOW(inter_fd,2)=len+12;
- WFIFOL(inter_fd,4)=guild_id;
- WFIFOL(inter_fd,8)=account_id;
- memcpy(WFIFOP(inter_fd,12),mes,len);
- WFIFOSET(inter_fd,len+12);
-
- return 0;
-}
-
/**
* Requests to change a basic guild information, it is parsed via mapif_parse_GuildBasicInfoChange
* To see the information types that can be changed see mmo.h::guild_basic_info
@@ -1166,98 +971,6 @@ static int intif_homunculus_requestdelete(int homun_id)
//-----------------------------------------------------------------
// Packets receive from inter server
-// Wisp/Page reception // rewritten by [Yor]
-static void intif_parse_WisMessage(int fd)
-{
- struct map_session_data* sd;
- const char *wisp_source;
- char name[NAME_LENGTH];
- int id, i;
-
- id=RFIFOL(fd,4);
-
- safestrncpy(name, RFIFOP(fd,32), NAME_LENGTH);
- sd = map->nick2sd(name);
- if(sd == NULL || strcmp(sd->status.name, name) != 0) {
- //Not found
- intif_wis_replay(id,1);
- return;
- }
- if(sd->state.ignoreAll) {
- intif_wis_replay(id, 2);
- return;
- }
- wisp_source = RFIFOP(fd,8); // speed up [Yor]
- for(i=0; i < MAX_IGNORE_LIST &&
- sd->ignore[i].name[0] != '\0' &&
- strcmp(sd->ignore[i].name, wisp_source) != 0
- ; i++);
-
- if (i < MAX_IGNORE_LIST && sd->ignore[i].name[0] != '\0') {
- //Ignored
- intif_wis_replay(id, 2);
- return;
- }
- //Success to send whisper.
- clif->wis_message(sd->fd, wisp_source, RFIFOP(fd,56),RFIFOW(fd,2)-57);
- intif_wis_replay(id,0); // success
-}
-
-// Wisp/page transmission result reception
-static void intif_parse_WisEnd(int fd)
-{
- struct map_session_data* sd;
- const char *playername = RFIFOP(fd, 2);
-
- if (battle_config.etc_log)
- ShowInfo("intif_parse_wisend: player: %s, flag: %d\n", playername, RFIFOB(fd,26)); // flag: 0: success to send whisper, 1: target character is not logged in?, 2: ignored by target
- sd = map->nick2sd(playername);
- if (sd != NULL)
- clif->wis_end(sd->fd, RFIFOB(fd,26));
-
- return;
-}
-
-static int intif_parse_WisToGM_sub(struct map_session_data *sd, va_list va)
-{
- int permission = va_arg(va, int);
- char *wisp_name;
- char *message;
- int len;
-
- nullpo_ret(sd);
- if (!pc_has_permission(sd, permission))
- return 0;
- wisp_name = va_arg(va, char*);
- message = va_arg(va, char*);
- len = va_arg(va, int);
- clif->wis_message(sd->fd, wisp_name, message, len);
- return 1;
-}
-
-// Received wisp message from map-server via char-server for ALL gm
-// 0x3003/0x3803 <packet_len>.w <wispname>.24B <permission>.l <message>.?B
-static void intif_parse_WisToGM(int fd)
-{
- int permission, mes_len;
- char Wisp_name[NAME_LENGTH];
- char mbuf[255] = { 0 };
- char *message;
-
- mes_len = RFIFOW(fd,2) - 33; // Length not including the NUL terminator
- Assert_retv(mes_len > 0 && mes_len < 32000);
- message = (mes_len >= 255 ? aMalloc(mes_len + 1) : mbuf);
-
- permission = RFIFOL(fd,28);
- safestrncpy(Wisp_name, RFIFOP(fd,4), NAME_LENGTH);
- safestrncpy(message, RFIFOP(fd,32), mes_len + 1);
- // information is sent to all online GM
- map->foreachpc(intif->pWisToGM_sub, permission, Wisp_name, message, mes_len);
-
- if (message != mbuf)
- aFree(message);
-}
-
// Request player registre
static void intif_parse_Registers(int fd)
{
@@ -1464,12 +1177,6 @@ static void intif_parse_PartyMove(int fd)
party->recv_movemap(RFIFOL(fd,2),RFIFOL(fd,6),RFIFOL(fd,10),RFIFOW(fd,14),RFIFOB(fd,16),RFIFOW(fd,17));
}
-// ACK party messages
-static void intif_parse_PartyMessage(int fd)
-{
- party->recv_message(RFIFOL(fd,4), RFIFOL(fd,8), RFIFOP(fd,12), RFIFOW(fd,2)-12);
-}
-
// ACK guild creation
static void intif_parse_GuildCreated(int fd)
{
@@ -1507,7 +1214,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),RFIFOL(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
@@ -1619,12 +1326,6 @@ static void intif_parse_GuildEmblem(int fd)
guild->emblem_changed(RFIFOW(fd,2)-12, RFIFOL(fd,4), RFIFOL(fd,8), RFIFOP(fd,12));
}
-// ACK guild message
-static void intif_parse_GuildMessage(int fd)
-{
- guild->recv_message(RFIFOL(fd,4), RFIFOL(fd,8), RFIFOP(fd,12), RFIFOW(fd,2)-12);
-}
-
// Reply guild castle data request
static void intif_parse_GuildCastleDataLoad(int fd)
{
@@ -2754,16 +2455,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;
}
@@ -2855,6 +2561,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.
@@ -2881,15 +2616,6 @@ static int intif_parse(int fd)
}
// Processing branch
switch(cmd){
- case 0x3800:
- if (RFIFOL(fd,4) == 0xFF000000) //Normal announce.
- clif->broadcast(NULL, RFIFOP(fd,16), packet_len-16, BC_DEFAULT, ALL_CLIENT);
- else //Color announce.
- clif->broadcast2(NULL, RFIFOP(fd,16), packet_len-16, RFIFOL(fd,4), RFIFOW(fd,8), RFIFOW(fd,10), RFIFOW(fd,12), RFIFOW(fd,14), ALL_CLIENT);
- break;
- case 0x3801: intif->pWisMessage(fd); break;
- case 0x3802: intif->pWisEnd(fd); break;
- case 0x3803: intif->pWisToGM(fd); break;
case 0x3804: intif->pRegisters(fd); break;
case 0x3805: intif->pAccountStorage(fd); break;
case 0x3806: intif->pChangeNameOk(fd); break;
@@ -2905,14 +2631,12 @@ static int intif_parse(int fd)
case 0x3824: intif->pPartyMemberWithdraw(fd); break;
case 0x3825: intif->pPartyMove(fd); break;
case 0x3826: intif->pPartyBroken(fd); break;
- case 0x3827: intif->pPartyMessage(fd); break;
case 0x3830: intif->pGuildCreated(fd); break;
case 0x3831: intif->pGuildInfo(fd); break;
case 0x3832: intif->pGuildMemberAdded(fd); break;
case 0x3834: intif->pGuildMemberWithdraw(fd); break;
case 0x3835: intif->pGuildMemberInfoShort(fd); break;
case 0x3836: intif->pGuildBroken(fd); break;
- case 0x3837: intif->pGuildMessage(fd); break;
case 0x3839: intif->pGuildBasicInfoChanged(fd); break;
case 0x383a: intif->pGuildMemberInfoChanged(fd); break;
case 0x383b: intif->pGuildPosition(fd); break;
@@ -2972,6 +2696,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;
@@ -2992,16 +2718,16 @@ static int intif_parse(int fd)
void intif_defaults(void)
{
const int packet_len_table [INTIF_PACKET_LEN_TABLE_SIZE] = {
- -1,-1,27,-1, -1,-1,37,-1, 7, 0, 0, 0, 0, 0, 0, 0, //0x3800-0x380f
+ 0, 0, 0, 0, -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,25, 7,-1, 0,-1,-1,-1, 14,67,186,-1, //0x3830
+ 39,-1,15,15, 14,19, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, //0x3820
+ 10,-1,15, 0, 79,25, 7, 0, 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]
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, 0, 0, 0, 0, 0, 0, 0, //0x3890 Homunculus [albator] / RoDEX [KirieZ]
+ -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;
@@ -3012,11 +2738,6 @@ void intif_defaults(void)
/* funcs */
intif->parse = intif_parse;
intif->create_pet = intif_create_pet;
- intif->broadcast = intif_broadcast;
- intif->broadcast2 = intif_broadcast2;
- intif->main_message = intif_main_message;
- intif->wis_message = intif_wis_message;
- intif->wis_message_to_gm = intif_wis_message_to_gm;
intif->saveregistry = intif_saveregistry;
intif->request_registry = intif_request_registry;
intif->request_account_storage = intif_request_account_storage;
@@ -3030,7 +2751,6 @@ void intif_defaults(void)
intif->party_leave = intif_party_leave;
intif->party_changemap = intif_party_changemap;
intif->break_party = intif_break_party;
- intif->party_message = intif_party_message;
intif->party_leaderchange = intif_party_leaderchange;
intif->guild_create = intif_guild_create;
intif->guild_request_info = intif_guild_request_info;
@@ -3038,7 +2758,6 @@ void intif_defaults(void)
intif->guild_leave = intif_guild_leave;
intif->guild_memberinfoshort = intif_guild_memberinfoshort;
intif->guild_break = intif_guild_break;
- intif->guild_message = intif_guild_message;
intif->guild_change_gm = intif_guild_change_gm;
intif->guild_change_basicinfo = intif_guild_change_basicinfo;
intif->guild_change_memberinfo = intif_guild_change_memberinfo;
@@ -3102,10 +2821,6 @@ void intif_defaults(void)
intif->achievements_request = intif_achievements_request;
intif->achievements_save = intif_achievements_save;
/* parse functions */
- intif->pWisMessage = intif_parse_WisMessage;
- intif->pWisEnd = intif_parse_WisEnd;
- intif->pWisToGM_sub = intif_parse_WisToGM_sub;
- intif->pWisToGM = intif_parse_WisToGM;
intif->pRegisters = intif_parse_Registers;
intif->pChangeNameOk = intif_parse_ChangeNameOk;
intif->pMessageToFD = intif_parse_MessageToFD;
@@ -3120,14 +2835,12 @@ void intif_defaults(void)
intif->pPartyMemberWithdraw = intif_parse_PartyMemberWithdraw;
intif->pPartyMove = intif_parse_PartyMove;
intif->pPartyBroken = intif_parse_PartyBroken;
- intif->pPartyMessage = intif_parse_PartyMessage;
intif->pGuildCreated = intif_parse_GuildCreated;
intif->pGuildInfo = intif_parse_GuildInfo;
intif->pGuildMemberAdded = intif_parse_GuildMemberAdded;
intif->pGuildMemberWithdraw = intif_parse_GuildMemberWithdraw;
intif->pGuildMemberInfoShort = intif_parse_GuildMemberInfoShort;
intif->pGuildBroken = intif_parse_GuildBroken;
- intif->pGuildMessage = intif_parse_GuildMessage;
intif->pGuildBasicInfoChanged = intif_parse_GuildBasicInfoChanged;
intif->pGuildMemberInfoChanged = intif_parse_GuildMemberInfoChanged;
intif->pGuildPosition = intif_parse_GuildPosition;
@@ -3171,6 +2884,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 425ab1d18..c397eda7d 100644
--- a/src/map/intif.h
+++ b/src/map/intif.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -60,11 +60,6 @@ struct intif_interface {
int (*parse) (int fd);
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);
- int (*main_message) (struct map_session_data* sd, const char* message);
- int (*wis_message) (struct map_session_data *sd, const char *nick, const char *mes, int mes_len);
- int (*wis_message_to_gm) (char *Wisp_name, int permission, char *mes);
int (*saveregistry) (struct map_session_data *sd);
int (*request_registry) (struct map_session_data *sd, int flag);
void (*request_account_storage) (const struct map_session_data *sd);
@@ -78,7 +73,6 @@ struct intif_interface {
int (*party_leave) (int party_id,int account_id, int char_id);
int (*party_changemap) (struct map_session_data *sd, int online);
int (*break_party) (int party_id);
- int (*party_message) (int party_id, int account_id, const char *mes,int len);
int (*party_leaderchange) (int party_id,int account_id,int char_id);
int (*guild_create) (const char *name, const struct guild_member *master);
int (*guild_request_info) (int guild_id);
@@ -86,7 +80,6 @@ struct intif_interface {
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, 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);
int (*guild_change_basicinfo) (int guild_id, int type, const void *data, int len);
int (*guild_change_memberinfo) (int guild_id, int account_id, int char_id, int type, const void *data, int len);
@@ -135,9 +128,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);
@@ -149,10 +144,6 @@ struct intif_interface {
void(*achievements_request) (struct map_session_data *sd);
void(*achievements_save) (struct map_session_data *sd);
/* */
- void (*pWisMessage) (int fd);
- void (*pWisEnd) (int fd);
- int (*pWisToGM_sub) (struct map_session_data* sd,va_list va);
- void (*pWisToGM) (int fd);
void (*pRegisters) (int fd);
void (*pAccountStorage) (int fd);
void (*pChangeNameOk) (int fd);
@@ -167,14 +158,12 @@ struct intif_interface {
void (*pPartyMemberWithdraw) (int fd);
void (*pPartyMove) (int fd);
void (*pPartyBroken) (int fd);
- void (*pPartyMessage) (int fd);
void (*pGuildCreated) (int fd);
void (*pGuildInfo) (int fd);
void (*pGuildMemberAdded) (int fd);
void (*pGuildMemberWithdraw) (int fd);
void (*pGuildMemberInfoShort) (int fd);
void (*pGuildBroken) (int fd);
- void (*pGuildMessage) (int fd);
void (*pGuildBasicInfoChanged) (int fd);
void (*pGuildMemberInfoChanged) (int fd);
void (*pGuildPosition) (int fd);
diff --git a/src/map/irc-bot.c b/src/map/irc-bot.c
index 996107fea..bc9cb6ad1 100644
--- a/src/map/irc-bot.c
+++ b/src/map/irc-bot.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-2020 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
@@ -396,7 +396,7 @@ static void irc_userjoin(int fd, char *cmd, char *source, char *target, char *ms
ircbot->parse_source(source,source_nick,source_ident,source_host);
if( ircbot->channel ) {
- snprintf(send_string, 150, "[ #%s ] User IRC.%s joined the channel.",ircbot->channel->name,source_nick);
+ snprintf(send_string, 150, msg_txt(468), ircbot->channel->name, source_nick); // [ #%s ] User IRC.%s joined the channel.
clif->channel_msg2(ircbot->channel,send_string);
}
}
@@ -414,9 +414,9 @@ static void irc_userleave(int fd, char *cmd, char *source, char *target, char *m
if( ircbot->channel ) {
if (!strcmpi(cmd, "QUIT"))
- snprintf(send_string, 150, "[ #%s ] User IRC.%s left the channel. [Quit: %s]",ircbot->channel->name,source_nick,msg);
+ snprintf(send_string, 150, msg_txt(465), ircbot->channel->name, source_nick, msg); // [ #%s ] User IRC.%s left the channel. [Quit: %s]
else
- snprintf(send_string, 150, "[ #%s ] User IRC.%s left the channel. [%s]",ircbot->channel->name,source_nick,msg);
+ snprintf(send_string, 150, msg_txt(466), ircbot->channel->name, source_nick, msg); // [ #%s ] User IRC.%s left the channel. [%s]
clif->channel_msg2(ircbot->channel,send_string);
}
}
@@ -433,7 +433,7 @@ static void irc_usernick(int fd, char *cmd, char *source, char *target, char *ms
ircbot->parse_source(source,source_nick,source_ident,source_host);
if( ircbot->channel ) {
- snprintf(send_string, 150, "[ #%s ] User IRC.%s is now known as IRC.%s",ircbot->channel->name,source_nick,msg);
+ snprintf(send_string, 150, msg_txt(467), ircbot->channel->name, source_nick, msg); // [ #%s ] User IRC.%s is now known as IRC.%s
clif->channel_msg2(ircbot->channel,send_string);
}
}
diff --git a/src/map/irc-bot.h b/src/map/irc-bot.h
index 54f462e35..66880f427 100644
--- a/src/map/irc-bot.h
+++ b/src/map/irc-bot.h
@@ -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-2020 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/src/map/itemdb.c b/src/map/itemdb.c
index 03f0fdc06..2b8200c06 100644
--- a/src/map/itemdb.c
+++ b/src/map/itemdb.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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"
@@ -116,73 +117,105 @@ static struct item_data *itemdb_name2id(const char *str)
*/
static int itemdb_searchname_array_sub(union DBKey key, struct DBData data, va_list ap)
{
- struct item_data *item = DB->data2ptr(&data);
- char *str;
- str=va_arg(ap,char *);
+ struct item_data *itd = DB->data2ptr(&data);
+ const char *str = va_arg(ap, const char *);
+ enum item_name_search_flag flag = va_arg(ap, enum item_name_search_flag);
+
nullpo_ret(str);
- if (item == &itemdb->dummy)
+
+ if (itd == &itemdb->dummy)
return 1; //Invalid item.
- if(stristr(item->jname,str))
- return 0;
- if(battle_config.case_sensitive_aegisnames && strstr(item->name,str))
- return 0;
- if(!battle_config.case_sensitive_aegisnames && stristr(item->name,str))
+
+ if (
+ (flag == IT_SEARCH_NAME_PARTIAL
+ && (stristr(itd->jname, str) != NULL
+ || (battle_config.case_sensitive_aegisnames && strstr(itd->name, str))
+ || (!battle_config.case_sensitive_aegisnames && stristr(itd->name, str))
+ ))
+ || (flag == IT_SEARCH_NAME_EXACT
+ && (strcmp(itd->jname, str) == 0
+ || (battle_config.case_sensitive_aegisnames && strcmp(itd->name, str) == 0)
+ || (!battle_config.case_sensitive_aegisnames && strcasecmp(itd->name, str) == 0)
+ ))
+ ) {
+
return 0;
- return strcmpi(item->jname,str);
+ } else {
+ return 1;
+ }
}
-/*==========================================
- * Founds up to N matches. Returns number of matches [Skotlex]
- * search flag :
- * 0 - approximate match
- * 1 - exact match
- *------------------------------------------*/
-static int itemdb_searchname_array(struct item_data **data, int size, const char *str, int flag)
+/**
+ * Finds up to passed size matches
+ * @param data array of struct item_data for returning the results in
+ * @param size size of the array
+ * @param str string used in this search
+ * @param flag search mode refer to enum item_name_search_flag for possible values
+ * @return returns all found matches in the database which could be bigger than size
+ **/
+static int itemdb_searchname_array(struct item_data **data, const int size, const char *str, enum item_name_search_flag flag)
{
- struct item_data* item;
- int i;
- int count=0;
-
nullpo_ret(data);
nullpo_ret(str);
- // Search in the array
- for( i = 0; i < ARRAYLENGTH(itemdb->array); ++i )
- {
- item = itemdb->array[i];
- if( item == NULL )
+ Assert_ret(flag >= IT_SEARCH_NAME_PARTIAL && flag < IT_SEARCH_NAME_MAX);
+ Assert_ret(size > 0);
+
+ int
+ results_count = 0,
+ length = 0;
+
+ // Search in array
+ for (int i = 0; i < ARRAYLENGTH(itemdb->array); ++i) {
+ struct item_data *itd = itemdb->array[i];
+
+ if (itd == NULL)
continue;
- if(
- (!flag
- && (stristr(item->jname,str)
- || (battle_config.case_sensitive_aegisnames && strstr(item->name,str))
- || (!battle_config.case_sensitive_aegisnames && stristr(item->name,str))
- ))
- || (flag
- && (strcmp(item->jname,str) == 0
- || (battle_config.case_sensitive_aegisnames && strcmp(item->name,str) == 0)
- || (!battle_config.case_sensitive_aegisnames && strcasecmp(item->name,str) == 0)
- ))
- ) {
- if( count < size )
- data[count] = item;
- ++count;
+ if (
+ (flag == IT_SEARCH_NAME_PARTIAL
+ && (stristr(itd->jname, str) != NULL
+ || (battle_config.case_sensitive_aegisnames && strstr(itd->name, str))
+ || (!battle_config.case_sensitive_aegisnames && stristr(itd->name, str))
+ ))
+ || (flag == IT_SEARCH_NAME_EXACT
+ && (strcmp(itd->jname, str) == 0
+ || (battle_config.case_sensitive_aegisnames && strcmp(itd->name, str) == 0)
+ || (!battle_config.case_sensitive_aegisnames && strcasecmp(itd->name, str) == 0)
+ ))
+ ) {
+ if (length < size) {
+ data[length] = itd;
+ ++length;
+ }
+
+ ++results_count;
}
}
- // search in the db
- if( count < size )
- {
- struct DBData *db_data[MAX_SEARCH];
- int db_count = 0;
- size -= count;
- db_count = itemdb->other->getall(itemdb->other, (struct DBData**)&db_data, size, itemdb->searchname_array_sub, str);
- for (i = 0; i < db_count; i++)
- data[count++] = DB->data2ptr(db_data[i]);
- count += db_count;
+ // Search in dbmap
+ int dbmap_size = size - length;
+ if (dbmap_size > 0) {
+ struct DBData **dbmap_data = NULL;
+ int dbmap_count = 0;
+ CREATE(dbmap_data, struct DBData *, dbmap_size);
+
+ dbmap_count = itemdb->other->getall(itemdb->other, dbmap_data, dbmap_size, itemdb->searchname_array_sub, str, flag);
+ dbmap_size = min(dbmap_count, dbmap_size);
+
+ for (int i = 0; i < dbmap_size; ++i) {
+ data[length] = DB->data2ptr(dbmap_data[i]);
+ ++length;
+ }
+
+ results_count += dbmap_count;
+ aFree(dbmap_data);
+ } else { // We got all matches we can return, so we only need to count now.
+ results_count += itemdb->other->getall(itemdb->other, NULL, 0, itemdb->searchname_array_sub, str, flag);
}
- return count;
+
+ return results_count;
}
+
/* [Ind/Hercules] */
static int itemdb_chain_item(unsigned short chain_id, int *rate)
{
@@ -813,11 +846,8 @@ static void itemdb_read_groups(void)
{
struct config_t item_group_conf;
struct config_setting_t *itg = NULL, *it = NULL;
-#ifdef RENEWAL
- const char *config_filename = "db/re/item_group.conf"; // FIXME hardcoded name
-#else
- const char *config_filename = "db/pre-re/item_group.conf"; // FIXME hardcoded name
-#endif
+ char config_filename[256];
+ libconfig->format_db_path(DBPATH"item_group.conf", config_filename, sizeof(config_filename));
const char *itname;
int i = 0, count = 0, c;
unsigned int *gsize = NULL;
@@ -1111,11 +1141,8 @@ static void itemdb_read_packages(void)
{
struct config_t item_packages_conf;
struct config_setting_t *itg = NULL, *it = NULL, *t = NULL;
-#ifdef RENEWAL
- const char *config_filename = "db/re/item_packages.conf"; // FIXME hardcoded name
-#else
- const char *config_filename = "db/pre-re/item_packages.conf"; // FIXME hardcoded name
-#endif
+ char config_filename[256];
+ libconfig->format_db_path(DBPATH"item_packages.conf", config_filename, sizeof(config_filename));
const char *itname;
int i = 0, count = 0, c = 0, highest_gcount = 0;
unsigned int *must = NULL, *random = NULL, *rgroup = NULL, **rgroups = NULL;
@@ -1360,7 +1387,8 @@ static void itemdb_read_options(void)
struct config_t item_options_db;
struct config_setting_t *ito = NULL, *conf = NULL;
int index = 0, count = 0;
- const char *filepath = "db/item_options.conf";
+ char filepath[256];
+ libconfig->format_db_path("item_options.conf", filepath, sizeof(filepath));
VECTOR_DECL(int) duplicate_id;
if (!libconfig->load_file(&item_options_db, filepath))
@@ -1461,11 +1489,8 @@ static void itemdb_read_chains(void)
{
struct config_t item_chain_conf;
struct config_setting_t *itc = NULL;
-#ifdef RENEWAL
- const char *config_filename = "db/re/item_chain.conf"; // FIXME hardcoded name
-#else
- const char *config_filename = "db/pre-re/item_chain.conf"; // FIXME hardcoded name
-#endif
+ char config_filename[256];
+ libconfig->format_db_path(DBPATH"item_chain.conf", config_filename, sizeof(config_filename));
int i = 0, count = 0;
if (!libconfig->load_file(&item_chain_conf, config_filename))
@@ -1522,141 +1547,112 @@ static void itemdb_read_chains(void)
else
itemdb->chain_cache[ECC_ORE] = i;
+ if (!script->get_constant("ITMCHAIN_SIEGFRIED", &i))
+ ShowWarning("itemdb_read_chains: failed to find 'ITMCHAIN_SIEGFRIED' chain to link to cache!\n");
+ else
+ itemdb->chain_cache[ECC_SIEGFRIED] = i;
+
+ if (!script->get_constant("ITMCHAIN_NEO_INSURANCE", &i))
+ ShowWarning("itemdb_read_chains: failed to find 'ITMCHAIN_NEO_INSURANCE' chain to link to cache!\n");
+ else
+ itemdb->chain_cache[ECC_NEO_INSURANCE] = i;
+
ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, config_filename);
}
-/**
- * @return: amount of retrieved entries.
- **/
-static int itemdb_combo_split_atoi(char *str, int *val)
+static bool itemdb_read_combodb_libconfig(void)
{
- int i;
-
- nullpo_ret(val);
+ struct config_t combo_conf;
+ char filepath[256];
+ safesnprintf(filepath, sizeof(filepath), "%s/%s/%s", map->db_path, DBPATH, "item_combo_db.conf");
- for (i=0; i<MAX_ITEMS_PER_COMBO; i++) {
- if (!str) break;
+ if (libconfig->load_file(&combo_conf, filepath) == CONFIG_FALSE) {
+ ShowError("itemdb_read_combodb_libconfig: can't read %s\n", filepath);
+ return false;
+ }
- val[i] = atoi(str);
- str = strchr(str,':');
- if (str)
- *str++=0;
+ struct config_setting_t *combo_db = NULL;
+ if ((combo_db = libconfig->setting_get_member(combo_conf.root, "combo_db")) == NULL) {
+ ShowError("itemdb_read_combodb_libconfig: can't read %s\n", filepath);
+ return false;
}
- if( i == 0 ) //No data found.
- return 0;
+ int i = 0;
+ int count = 0;
+ struct config_setting_t *it = NULL;
- return i;
+ while ((it = libconfig->setting_get_elem(combo_db, i++)) != NULL) {
+ if (itemdb->read_combodb_libconfig_sub(it, i - 1, filepath))
+ ++count;
+ }
+
+ libconfig->destroy(&combo_conf);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
+ return true;
}
-/**
- * <combo{:combo{:combo:{..}}}>,<{ script }>
- **/
-static void itemdb_read_combos(void)
+
+static bool itemdb_read_combodb_libconfig_sub(struct config_setting_t *it, int idx, const char *source)
{
- uint32 lines = 0, count = 0;
- char line[1024];
- char filepath[256];
- FILE* fp;
+ nullpo_retr(false, it);
+ nullpo_retr(false, source);
- safesnprintf(filepath, 256, "%s/%s", map->db_path, DBPATH"item_combo_db.txt");
+ struct config_setting_t *t = NULL;
- if ((fp = fopen(filepath, "r")) == NULL) {
- ShowError("itemdb_read_combos: File not found \"%s\".\n", filepath);
- return;
+ if ((t = libconfig->setting_get_member(it, "Items")) == NULL) {
+ ShowWarning("itemdb_read_combodb_libconfig_sub: invalid item list for combo (%d), in (%s), skipping..\n", idx, source);
+ return false;
}
- // process rows one by one
- while(fgets(line, sizeof(line), fp)) {
- char *str[2], *p;
-
- lines++;
-
- if (line[0] == '/' && line[1] == '/')
- continue;
-
- memset(str, 0, sizeof(str));
+ if (!config_setting_is_array(t)) {
+ ShowWarning("itemdb_read_combodb_libconfig_sub: the combo (%d) item list must be an array, in (%s), skipping..\n", idx, source);
+ return false;
+ }
- p = line;
- p = trim(p);
- if (*p == '\0')
- continue;// empty line
+ int len = libconfig->setting_length(t);
+ if (len > MAX_ITEMS_PER_COMBO) {
+ ShowWarning("itemdb_read_combodb_libconfig_sub: the size of combo (%d) item list is too big (%d, max = %d), in (%s), skipping..\n", idx, len, MAX_ITEMS_PER_COMBO, source);
+ return false;
+ }
- if (!strchr(p,',')) {
- /* is there even a single column? */
- ShowError("itemdb_read_combos: Insufficient columns in line %u of \"%s\", skipping.\n", lines, filepath);
- continue;
- }
+ struct item_combo *combo = NULL;
+ RECREATE(itemdb->combos, struct item_combo *, ++itemdb->combo_count);
+ CREATE(combo, struct item_combo, 1);
- str[0] = p;
- p = strchr(p,',');
- *p = '\0';
- p++;
+ combo->id = itemdb->combo_count - 1;
+ combo->count = len;
- str[1] = p;
- p = strchr(p,',');
- p++;
+ for (int i = 0; i < len; i++) {
+ struct item_data *item = NULL;
+ const char *name = libconfig->setting_get_string_elem(t, i);
- if (str[1][0] != '{') {
- ShowError("itemdb_read_combos(#1): Invalid format (Script column) in line %u of \"%s\", skipping.\n", lines, filepath);
- continue;
+ if ((item = itemdb->name2id(name)) == NULL) {
+ ShowWarning("itemdb_read_combodb_libconfig_sub: unknown item '%s', in (%s), skipping..\n", name, source);
+ --itemdb->combo_count;
+ aFree(combo);
+ return false;
}
+ combo->nameid[i] = item->nameid;
+ }
- /* no ending key anywhere (missing \}\) */
- if ( str[1][strlen(str[1])-1] != '}' ) {
- ShowError("itemdb_read_combos(#2): Invalid format (Script column) in line %u of \"%s\", skipping.\n", lines, filepath);
- continue;
- } else {
- int items[MAX_ITEMS_PER_COMBO];
- int v = 0, retcount = 0;
- struct item_combo *combo = NULL;
-
- if((retcount = itemdb->combo_split_atoi(str[0], items)) < 2) {
- ShowError("itemdb_read_combos: line %u of \"%s\" doesn't have enough items to make for a combo (min:2), skipping.\n", lines, filepath);
- continue;
- }
-
- /* validate */
- for(v = 0; v < retcount; v++) {
- if( !itemdb->exists(items[v]) ) {
- ShowError("itemdb_read_combos: line %u of \"%s\" contains unknown item ID %d, skipping.\n", lines, filepath, items[v]);
- break;
- }
- }
- /* failed at some item */
- if( v < retcount )
- continue;
-
- RECREATE(itemdb->combos, struct item_combo*, ++itemdb->combo_count);
-
- CREATE(combo, struct item_combo, 1);
-
- combo->count = retcount;
- combo->script = script->parse(str[1], filepath, lines, 0, NULL);
- combo->id = itemdb->combo_count - 1;
- /* populate ->nameid field */
- for( v = 0; v < retcount; v++ ) {
- combo->nameid[v] = items[v];
- }
-
- itemdb->combos[itemdb->combo_count - 1] = combo;
+ const char *str = NULL;
+ if (libconfig->setting_lookup_string(it, "Script", &str) == CONFIG_TRUE) {
+ combo->script = *str ? script->parse(str, source, -idx, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
+ } else {
+ ShowWarning("itemdb_read_combodb_libconfig_sub: invalid script for combo (%d) in (%s), skipping..\n", idx, source);
+ --itemdb->combo_count;
+ aFree(combo);
+ return false;
+ }
- /* populate the items to refer to this combo */
- for( v = 0; v < retcount; v++ ) {
- struct item_data * it;
- int index;
+ itemdb->combos[combo->id] = combo;
- it = itemdb->exists(items[v]);
- index = it->combos_count;
- RECREATE(it->combos, struct item_combo*, ++it->combos_count);
- it->combos[index] = combo;
- }
- }
- count++;
+ /* populate the items to refer to this combo */
+ for (int i = 0; i < len; i++) {
+ struct item_data *item = itemdb->exists(combo->nameid[i]);
+ RECREATE(item->combos, struct item_combo *, ++item->combos_count);
+ item->combos[item->combos_count - 1] = combo;
}
- fclose(fp);
- ShowStatus("Done reading '"CL_WHITE"%"PRIu32""CL_RESET"' entries in '"CL_WHITE"item_combo_db"CL_RESET"'.\n", count);
-
- return;
+ return true;
}
/*======================================
@@ -1720,6 +1716,14 @@ static int itemdb_validate_entry(struct item_data *entry, int n, const char *sou
script->free_code(entry->unequip_script);
entry->unequip_script = NULL;
}
+ if (entry->rental_start_script != NULL) {
+ script->free_code(entry->rental_start_script);
+ entry->rental_start_script = NULL;
+ }
+ if (entry->rental_end_script != NULL) {
+ script->free_code(entry->rental_end_script);
+ entry->rental_end_script = NULL;
+ }
return 0;
#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
}
@@ -1750,6 +1754,14 @@ static int itemdb_validate_entry(struct item_data *entry, int n, const char *sou
script->free_code(entry->unequip_script);
entry->unequip_script = NULL;
}
+ if (entry->rental_start_script != NULL) {
+ script->free_code(entry->rental_start_script);
+ entry->rental_start_script = NULL;
+ }
+ if (entry->rental_end_script != NULL) {
+ script->free_code(entry->rental_end_script);
+ entry->rental_end_script = NULL;
+ }
return 0;
}
}
@@ -1877,7 +1889,14 @@ static int itemdb_validate_entry(struct item_data *entry, int n, const char *sou
script->free_code(item->unequip_script);
item->unequip_script = NULL;
}
-
+ if (item->rental_start_script != NULL && item->rental_start_script != entry->rental_start_script) { // Don't free if it's inheriting the same script
+ script->free_code(item->rental_start_script);
+ item->rental_start_script = NULL;
+ }
+ if (item->rental_end_script != NULL && item->rental_end_script != entry->rental_end_script) { // Don't free if it's inheriting the same script
+ script->free_code(item->rental_end_script);
+ item->rental_end_script = NULL;
+ }
*item = *entry;
return item->nameid;
}
@@ -1993,6 +2012,8 @@ static int itemdb_readdb_libconfig_sub(struct config_setting_t *it, int n, const
* ">
* OnEquipScript: <" OnEquip Script ">
* OnUnequipScript: <" OnUnequip Script ">
+ * OnRentalStartScript: <" on renting script ">
+ * OnRentalEndScript: <" on renting end script ">
* Inherit: inherit or override
*/
if( !itemdb->lookup_const(it, "Id", &i32) ) {
@@ -2270,6 +2291,12 @@ static int itemdb_readdb_libconfig_sub(struct config_setting_t *it, int n, const
if( libconfig->setting_lookup_string(it, "OnUnequipScript", &str) )
id.unequip_script = *str ? script->parse(str, source, -id.nameid, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
+ if (libconfig->setting_lookup_string(it, "OnRentalStartScript", &str) != CONFIG_FALSE)
+ id.rental_start_script = (*str != '\0') ? script->parse(str, source, -id.nameid, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
+
+ if (libconfig->setting_lookup_string(it, "OnRentalEndScript", &str) != CONFIG_FALSE)
+ id.rental_end_script = (*str != '\0') ? script->parse(str, source, -id.nameid, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
+
return itemdb->validate_entry(&id, n, source);
}
@@ -2406,7 +2433,7 @@ static int itemdb_readdb_libconfig(const char *filename)
}
db_destroy(duplicate_db);
libconfig->destroy(&item_db_conf);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filename);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
return count;
}
@@ -2421,6 +2448,98 @@ static uint64 itemdb_unique_id(struct map_session_data *sd)
return ((uint64)sd->status.char_id << 32) | sd->status.uniqueitem_counter++;
}
+static bool itemdb_read_libconfig_lapineddukddak(void)
+{
+ struct config_t item_lapineddukddak;
+ struct config_setting_t *it = NULL;
+ char filepath[256];
+
+ int i = 0;
+ int count = 0;
+
+ safesnprintf(filepath, sizeof(filepath), "%s/%s", map->db_path, DBPATH"item_lapineddukddak.conf");
+ if (libconfig->load_file(&item_lapineddukddak, filepath) == CONFIG_FALSE)
+ return false;
+
+ while ((it = libconfig->setting_get_elem(item_lapineddukddak.root, i++)) != NULL) {
+ if (itemdb->read_libconfig_lapineddukddak_sub(it, filepath))
+ ++count;
+ }
+
+ libconfig->destroy(&item_lapineddukddak);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
+ return true;
+}
+
+static bool itemdb_read_libconfig_lapineddukddak_sub(struct config_setting_t *it, const char *source)
+{
+ nullpo_retr(false, it);
+ nullpo_retr(false, source);
+
+ struct item_data *data = NULL;
+ const char *name = config_setting_name(it);
+ const char *str = NULL;
+ int i32 = 0;
+
+ if ((data = itemdb->name2id(name)) == NULL) {
+ ShowWarning("itemdb_read_libconfig_lapineddukddak_sub: unknown item '%s', skipping..\n", name);
+ return false;
+ }
+
+ data->lapineddukddak = aCalloc(1, sizeof(struct item_lapineddukddak));
+ if (libconfig->setting_lookup_int(it, "NeedCount", &i32) == CONFIG_TRUE)
+ data->lapineddukddak->NeedCount = (int16)i32;
+
+ if (libconfig->setting_lookup_int(it, "NeedRefineMin", &i32) == CONFIG_TRUE)
+ data->lapineddukddak->NeedRefineMin = (int8)i32;
+
+ if (libconfig->setting_lookup_int(it, "NeedRefineMax", &i32) == CONFIG_TRUE)
+ data->lapineddukddak->NeedRefineMax = (int8)i32;
+
+ struct config_setting_t *sources = libconfig->setting_get_member(it, "SourceItems");
+ itemdb->read_libconfig_lapineddukddak_sub_sources(sources, data);
+
+ if (libconfig->setting_lookup_string(it, "Script", &str) == CONFIG_TRUE)
+ data->lapineddukddak->script = *str ? script->parse(str, source, -data->nameid, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
+ return true;
+}
+
+static bool itemdb_read_libconfig_lapineddukddak_sub_sources(struct config_setting_t *sources, struct item_data *data)
+{
+ nullpo_retr(false, data);
+ nullpo_retr(false, data->lapineddukddak);
+
+ int i = 0;
+ struct config_setting_t *entry = NULL;
+
+ if (sources == NULL || !config_setting_is_group(sources))
+ return false;
+
+ VECTOR_INIT(data->lapineddukddak->SourceItems);
+ while ((entry = libconfig->setting_get_elem(sources, i++)) != NULL) {
+ struct item_data *edata = NULL;
+ struct itemlist_entry item = { 0 };
+ const char *name = config_setting_name(entry);
+ int i32 = 0;
+
+ if ((edata = itemdb->name2id(name)) == NULL) {
+ ShowWarning("itemdb_read_libconfig_lapineddukddak_sub: unknown item '%s', skipping..\n", name);
+ continue;
+ }
+ item.id = edata->nameid;
+
+ if ((i32 = libconfig->setting_get_int(entry)) == CONFIG_TRUE && (i32 <= 0 || i32 > MAX_AMOUNT)) {
+ ShowWarning("itemdb_read_libconfig_lapineddukddak_sub: invalid amount (%d) for source item '%s', skipping..\n", i32, name);
+ continue;
+ }
+ item.amount = i32;
+
+ VECTOR_ENSURE(data->lapineddukddak->SourceItems, 1, 1);
+ VECTOR_PUSH(data->lapineddukddak->SourceItems, item);
+ }
+ return true;
+}
+
/**
* Reads all item-related databases.
*/
@@ -2448,17 +2567,18 @@ static void itemdb_read(bool minimal)
itemdb->other->foreach(itemdb->other, itemdb->addname_sub);
+ itemdb->read_options();
+
if (minimal)
return;
itemdb->name_constants();
- itemdb->read_combos();
+ itemdb->read_combodb_libconfig();
itemdb->read_groups();
itemdb->read_chains();
itemdb->read_packages();
- itemdb->read_options();
- clif->stylist_read_db_libconfig();
+ itemdb->read_libconfig_lapineddukddak();
}
/**
@@ -2513,8 +2633,18 @@ static void destroy_item_data(struct item_data *self, int free_self)
script->free_code(self->equip_script);
if( self->unequip_script )
script->free_code(self->unequip_script);
+ if (self->rental_start_script != NULL)
+ script->free_code(self->rental_start_script);
+ if (self->rental_end_script != NULL)
+ script->free_code(self->rental_end_script);
if( self->combos )
aFree(self->combos);
+ if (self->lapineddukddak != NULL) {
+ if (self->lapineddukddak->script != NULL)
+ script->free_code(self->lapineddukddak->script);
+ VECTOR_CLEAR(self->lapineddukddak->SourceItems);
+ aFree(self->lapineddukddak);
+ }
HPM->data_store_destroy(&self->hdata);
#if defined(DEBUG)
// trash item
@@ -2707,7 +2837,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)
@@ -2717,7 +2846,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)
@@ -2801,8 +2929,8 @@ void itemdb_defaults(void)
itemdb->isrestricted = itemdb_isrestricted;
itemdb->isidentified = itemdb_isidentified;
itemdb->isidentified2 = itemdb_isidentified2;
- itemdb->combo_split_atoi = itemdb_combo_split_atoi;
- itemdb->read_combos = itemdb_read_combos;
+ itemdb->read_combodb_libconfig = itemdb_read_combodb_libconfig;
+ itemdb->read_combodb_libconfig_sub = itemdb_read_combodb_libconfig_sub;
itemdb->gendercheck = itemdb_gendercheck;
itemdb->validate_entry = itemdb_validate_entry;
itemdb->readdb_options_additional_fields = itemdb_readdb_options_additional_fields;
@@ -2821,4 +2949,7 @@ void itemdb_defaults(void)
itemdb->lookup_const = itemdb_lookup_const;
itemdb->lookup_const_mask = itemdb_lookup_const_mask;
itemdb->addname_sub = itemdb_addname_sub;
+ itemdb->read_libconfig_lapineddukddak = itemdb_read_libconfig_lapineddukddak;
+ itemdb->read_libconfig_lapineddukddak_sub = itemdb_read_libconfig_lapineddukddak_sub;
+ itemdb->read_libconfig_lapineddukddak_sub_sources = itemdb_read_libconfig_lapineddukddak_sub_sources;
}
diff --git a/src/map/itemdb.h b/src/map/itemdb.h
index 315787993..5f0790b10 100644
--- a/src/map/itemdb.h
+++ b/src/map/itemdb.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -39,7 +39,7 @@ struct hplugin_data_store;
#ifndef MAX_ITEM_ID
#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
-#define MAX_ITEM_ID 0x20000
+#define MAX_ITEM_ID INT32_MAX
#else
#define MAX_ITEM_ID 0xFFFF
#endif
@@ -95,6 +95,8 @@ enum item_itemid {
ITEMID_ALOEBERA = 606,
ITEMID_SPECTACLES = 611,
ITEMID_POISON_BOTTLE = 678,
+ ITEMID_EARTH_SCROLL_1_3 = 686,
+ ITEMID_EARTH_SCROLL_1_5 = 687,
ITEMID_EMPTY_BOTTLE = 713,
ITEMID_EMPERIUM = 714,
ITEMID_YELLOW_GEMSTONE = 715,
@@ -130,6 +132,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,
@@ -138,7 +141,6 @@ enum item_itemid {
ITEMID_COATING_BOTTLE = 7139,
ITEMID_FRAGMENT_OF_CRYSTAL = 7321,
ITEMID_SKULL_ = 7420,
- ITEMID_TOKEN_OF_SIEGFRIED = 7621,
ITEMID_SPECIAL_ALLOY_TRAP = 7940,
ITEMID_CATNIP_FRUIT = 11602,
ITEMID_RED_POUCH_OF_SURPRISE = 12024,
@@ -358,6 +360,8 @@ enum geneticist_item_list {
//
enum e_chain_cache {
ECC_ORE,
+ ECC_SIEGFRIED,
+ ECC_NEO_INSURANCE,
/* */
ECC_MAX,
};
@@ -411,6 +415,16 @@ enum ItemOptionTypes {
IT_OPT_MAX
};
+/**
+ * Item name search flags
+ **/
+
+enum item_name_search_flag {
+ IT_SEARCH_NAME_PARTIAL,
+ IT_SEARCH_NAME_EXACT,
+ IT_SEARCH_NAME_MAX,
+};
+
/** Convenience item list (entry) used in various functions */
struct itemlist_entry {
int id; ///< Item ID or (inventory) index
@@ -481,6 +495,14 @@ struct itemdb_option {
struct script_code *script;
};
+struct item_lapineddukddak {
+ int16 NeedCount;
+ int8 NeedRefineMin;
+ int8 NeedRefineMax;
+ VECTOR_DECL(struct itemlist_entry) SourceItems;
+ struct script_code *script;
+};
+
struct item_data {
int nameid;
char name[ITEM_NAME_LENGTH],jname[ITEM_NAME_LENGTH];
@@ -515,12 +537,15 @@ struct item_data {
struct script_code *script; ///< Default script for everything.
struct script_code *equip_script; ///< Script executed once when equipping.
struct script_code *unequip_script; ///< Script executed once when unequipping.
+ struct script_code *rental_start_script; ///< Script executed once this item get rented
+ struct script_code *rental_end_script; ///< Script executed once this item rent ends
struct {
unsigned available : 1;
unsigned no_refine : 1; // [celest]
unsigned delay_consume : 1; ///< Signifies items that are not consumed immediately upon double-click [Skotlex]
unsigned trade_restriction : 9; ///< Item trade restrictions mask (@see enum ItemTradeRestrictions)
- unsigned autoequip: 1;
+ unsigned autoequip : 1;
+ unsigned auto_favorite : 1;
unsigned buyingstore : 1;
unsigned bindonequip : 1;
unsigned keepafteruse : 1;
@@ -547,6 +572,7 @@ struct item_data {
/* TODO add a pointer to some sort of (struct extra) and gather all the not-common vals into it to save memory */
struct item_group *group;
struct item_package *package;
+ struct item_lapineddukddak *lapineddukddak;
struct hplugin_data_store *hdata; ///< HPM Plugin Data Store
};
@@ -631,7 +657,7 @@ struct itemdb_interface {
/* */
struct item_data* (*name2id) (const char *str);
struct item_data* (*search_name) (const char *name);
- int (*search_name_array) (struct item_data** data, int size, const char *str, int flag);
+ int (*search_name_array) (struct item_data **data, const int size, const char *str, enum item_name_search_flag flag);
struct item_data* (*load)(int nameid);
struct item_data* (*search)(int nameid);
struct item_data* (*exists) (int nameid);
@@ -664,8 +690,8 @@ struct itemdb_interface {
int (*isrestricted) (struct item *item, int gmlv, int gmlv2, int(*func)(struct item_data *, int, int));
int (*isidentified) (int nameid);
int (*isidentified2) (struct item_data *data);
- int (*combo_split_atoi) (char *str, int *val);
- void (*read_combos) (void);
+ bool (*read_combodb_libconfig) (void);
+ bool (*read_combodb_libconfig_sub) (struct config_setting_t *it, int idx, const char *source);
int (*gendercheck) (struct item_data *id);
int (*validate_entry) (struct item_data *entry, int n, const char *source);
void (*readdb_options_additional_fields) (struct itemdb_option *ito, struct config_setting_t *t, const char *source);
@@ -684,6 +710,9 @@ struct itemdb_interface {
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);
+ bool (*read_libconfig_lapineddukddak) (void);
+ bool (*read_libconfig_lapineddukddak_sub) (struct config_setting_t *it, const char *source);
+ bool (*read_libconfig_lapineddukddak_sub_sources) (struct config_setting_t *sources, struct item_data *data);
};
#ifdef HERCULES_CORE
diff --git a/src/map/log.c b/src/map/log.c
index efb7fefbc..61679089b 100644
--- a/src/map/log.c
+++ b/src/map/log.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -48,7 +48,7 @@ static char log_picktype2char(e_log_pick_type type)
switch( type ) {
case LOG_TYPE_TRADE: return 'T'; // (T)rade
case LOG_TYPE_VENDING: return 'V'; // (V)ending
- case LOG_TYPE_PICKDROP_PLAYER: return 'P'; // (P)player
+ case LOG_TYPE_PICKDROP_PLAYER: return 'P'; // (P)layer
case LOG_TYPE_PICKDROP_MONSTER: return 'M'; // (M)onster
case LOG_TYPE_NPC: return 'S'; // NPC (S)hop
case LOG_TYPE_SCRIPT: return 'N'; // (N)PC Script
@@ -75,6 +75,7 @@ static char log_picktype2char(e_log_pick_type type)
case LOG_TYPE_SKILL: return '1'; // Skill
case LOG_TYPE_REFINE: return '2'; // Refine
case LOG_TYPE_OTHER: return 'X'; // Other
+ case LOG_TYPE_ACHIEVEMENT: return '3'; // Achievement
}
// should not get here, fallback
@@ -106,7 +107,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 +124,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;
@@ -511,7 +512,7 @@ static void log_sql_final(void)
/**
* Initializes logs->config variables
*/
-void log_set_defaults(void)
+static void log_set_defaults(void)
{
memset(&logs->config, 0, sizeof(logs->config));
@@ -540,7 +541,7 @@ void log_set_defaults(void)
*
* @retval false in case of error.
*/
-bool log_config_read_database(const char *filename, struct config_t *config, bool imported)
+static bool log_config_read_database(const char *filename, struct config_t *config, bool imported)
{
struct config_setting_t *setting = NULL;
@@ -596,7 +597,7 @@ bool log_config_read_database(const char *filename, struct config_t *config, boo
*
* @retval false in case of error.
*/
-bool log_config_read_filter_item(const char *filename, struct config_t *config, bool imported)
+static bool log_config_read_filter_item(const char *filename, struct config_t *config, bool imported)
{
struct config_setting_t *setting = NULL;
@@ -625,7 +626,7 @@ bool log_config_read_filter_item(const char *filename, struct config_t *config,
*
* @retval false in case of error.
*/
-bool log_config_read_filter_chat(const char *filename, struct config_t *config, bool imported)
+static bool log_config_read_filter_chat(const char *filename, struct config_t *config, bool imported)
{
struct config_setting_t *setting = NULL;
@@ -651,7 +652,7 @@ bool log_config_read_filter_chat(const char *filename, struct config_t *config,
*
* @retval false in case of error.
*/
-bool log_config_read_filter(const char *filename, struct config_t *config, bool imported)
+static bool log_config_read_filter(const char *filename, struct config_t *config, bool imported)
{
bool retval = true;
@@ -674,7 +675,7 @@ bool log_config_read_filter(const char *filename, struct config_t *config, bool
*
* @retval false in case of error.
*/
-bool log_config_read(const char *filename, bool imported)
+static bool log_config_read(const char *filename, bool imported)
{
struct config_t config;
struct config_setting_t *setting = NULL;
@@ -755,7 +756,7 @@ bool log_config_read(const char *filename, bool imported)
return retval;
}
-void log_config_complete(void)
+static void log_config_complete(void)
{
if( logs->config.sql_logs ) {
logs->pick_sub = log_pick_sub_sql;
diff --git a/src/map/log.h b/src/map/log.h
index db802575d..3f9a80e36 100644
--- a/src/map/log.h
+++ b/src/map/log.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -87,9 +87,9 @@ typedef enum e_log_pick_type {
LOG_TYPE_QUEST = 0x02000000,
LOG_TYPE_SKILL = 0x04000000,
LOG_TYPE_REFINE = 0x08000000,
+ LOG_TYPE_LOOT = 0x10000000,
+ LOG_TYPE_ACHIEVEMENT = 0x20000000,
- // combinations
- LOG_TYPE_LOOT = LOG_TYPE_PICKDROP_MONSTER|LOG_TYPE_CONSUME,
// all
LOG_TYPE_ALL = 0xFFFFFFFF,
} e_log_pick_type;
@@ -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 0a4b91e34..a1176e8fc 100644
--- a/src/map/mail.c
+++ b/src/map/mail.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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/mail.h b/src/map/mail.h
index 9aeb46120..6281890c0 100644
--- a/src/map/mail.h
+++ b/src/map/mail.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/map.c b/src/map/map.c
index 440634467..760960c78 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -45,7 +45,6 @@
#include "map/mapreg.h"
#include "map/mercenary.h"
#include "map/mob.h"
-#include "map/npc.h"
#include "map/npc.h" // npc_setcells(), npc_unsetcells()
#include "map/party.h"
#include "map/path.h"
@@ -56,7 +55,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"
@@ -530,10 +531,12 @@ static struct skill_unit *map_find_skill_unit_oncell(struct block_list *target,
return NULL;
}
-/** @name Functions for block_list search and manipulation
+/**
+ * @name Functions for block_list search and manipulation
+ *
+ * @{
*/
-/* @{ */
/**
* Applies func to every block_list in bl_list starting with bl_list[blockcount].
* Sets bl_list_count back to blockcount.
@@ -637,9 +640,12 @@ static int map_foreachinmap(int (*func)(struct block_list*, va_list), int16 m, i
static int map_forcountinmap(int (*func)(struct block_list*, va_list), int16 m, int count, int type, ...)
{
- int returnCount;
+ int returnCount = 0;
va_list ap;
+ if (m < 0)
+ return returnCount;
+
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);
@@ -1664,7 +1670,7 @@ static int map_search_freecell(struct block_list *src, int16 m, int16 *x, int16
*------------------------------------------*/
static bool map_closest_freecell(int16 m, const struct block_list *bl, int16 *x, int16 *y, int type, int flag)
{
- uint8 dir = 6;
+ enum unit_dir dir = UNIT_DIR_EAST;
int16 tx;
int16 ty;
int costrange = 10;
@@ -1683,7 +1689,7 @@ static bool map_closest_freecell(int16 m, const struct block_list *bl, int16 *x,
short dy = diry[dir];
//Linear search
- if(dir%2 == 0 && costrange%MOVE_COST == 0) {
+ if (!unit_is_diagonal_dir(dir) && (costrange % MOVE_COST) == 0) {
tx = *x+dx*(costrange/MOVE_COST);
ty = *y+dy*(costrange/MOVE_COST);
if (!map->count_oncell(m, tx, ty, type, flag) && map->getcell(m, bl, tx, ty, CELL_CHKPASS)) {
@@ -1693,7 +1699,7 @@ static bool map_closest_freecell(int16 m, const struct block_list *bl, int16 *x,
}
}
//Full diagonal search
- else if(dir%2 == 1 && costrange%MOVE_DIAGONAL_COST == 0) {
+ else if (unit_is_diagonal_dir(dir) && (costrange % MOVE_DIAGONAL_COST) == 0) {
tx = *x+dx*(costrange/MOVE_DIAGONAL_COST);
ty = *y+dy*(costrange/MOVE_DIAGONAL_COST);
if (!map->count_oncell(m, tx, ty, type, flag) && map->getcell(m, bl, tx, ty, CELL_CHKPASS)) {
@@ -1703,16 +1709,24 @@ static bool map_closest_freecell(int16 m, const struct block_list *bl, int16 *x,
}
}
//One cell diagonal, rest linear (TODO: Find a better algorithm for this)
- else if(dir%2 == 1 && costrange%MOVE_COST == 4) {
- tx = *x+dx*((dir%4==3)?(costrange/MOVE_COST):1);
- ty = *y+dy*((dir%4==1)?(costrange/MOVE_COST):1);
+ else if (unit_is_diagonal_dir(dir) && (costrange % MOVE_COST) == 4) {
+ tx = *x + dx;
+ ty = *y + dy;
+ if (unit_is_dir_or_opposite(dir, UNIT_DIR_SOUTHWEST))
+ tx *= costrange / MOVE_COST;
+ if (unit_is_dir_or_opposite(dir, UNIT_DIR_NORTHWEST))
+ ty *= costrange / MOVE_COST;
if (!map->count_oncell(m, tx, ty, type, flag) && map->getcell(m, bl, tx, ty, CELL_CHKPASS)) {
*x = tx;
*y = ty;
return true;
}
- tx = *x+dx*((dir%4==1)?(costrange/MOVE_COST):1);
- ty = *y+dy*((dir%4==3)?(costrange/MOVE_COST):1);
+ tx = *x + dx;
+ ty = *y + dy;
+ if (unit_is_dir_or_opposite(dir, UNIT_DIR_NORTHWEST))
+ tx *= costrange / MOVE_COST;
+ if (unit_is_dir_or_opposite(dir, UNIT_DIR_SOUTHWEST))
+ ty *= costrange / MOVE_COST;
if (!map->count_oncell(m, tx, ty, type, flag) && map->getcell(m, bl, tx, ty, CELL_CHKPASS)) {
*x = tx;
*y = ty;
@@ -1721,17 +1735,17 @@ static bool map_closest_freecell(int16 m, const struct block_list *bl, int16 *x,
}
//Get next direction
- if (dir == 5) {
+ if (dir == UNIT_DIR_SOUTHEAST) {
//Diagonal search complete, repeat with higher cost range
if(costrange == 14) costrange += 6;
else if(costrange == 28 || costrange >= 38) costrange += 2;
else costrange += 4;
- dir = 6;
- } else if (dir == 4) {
+ dir = UNIT_DIR_EAST;
+ } else if (dir == UNIT_DIR_SOUTH) {
//Linear search complete, switch to diagonal directions
- dir = 7;
+ dir = UNIT_DIR_NORTHEAST;
} else {
- dir = (dir+2)%8;
+ dir = unit_get_ccw90_dir(dir);
}
}
@@ -2266,30 +2280,25 @@ static struct map_session_data *map_charid2sd(int charid)
* (without sensitive case if necessary)
* return map_session_data pointer or NULL
*------------------------------------------*/
-static struct map_session_data *map_nick2sd(const char *nick)
+static struct map_session_data *map_nick2sd(const char *nick, bool allow_partial)
{
- struct map_session_data* sd;
- struct map_session_data* found_sd;
- struct s_mapiterator* iter;
- size_t nicklen;
- int qty = 0;
-
- if( nick == NULL )
+ if (nick == NULL)
return NULL;
- nicklen = strlen(nick);
- iter = mapit_getallusers();
+ struct s_mapiterator *iter = mapit_getallusers();
+ struct map_session_data *found_sd = NULL;
- found_sd = NULL;
- for (sd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); sd = BL_UCAST(BL_PC, mapit->next(iter))) {
- if( battle_config.partial_name_scan )
- {// partial name search
- if( strnicmp(sd->status.name, nick, nicklen) == 0 )
- {
+ if (battle_config.partial_name_scan && allow_partial) {
+ int nicklen = (int)strlen(nick);
+ int qty = 0;
+
+ // partial name search
+ for (struct map_session_data *sd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); sd = BL_UCAST(BL_PC, mapit->next(iter))) {
+ if (strnicmp(sd->status.name, nick, nicklen) == 0) {
found_sd = sd;
- if( strcmp(sd->status.name, nick) == 0 )
- {// Perfect Match
+ if (strcmp(sd->status.name, nick) == 0) {
+ // Perfect Match
qty = 1;
break;
}
@@ -2297,17 +2306,20 @@ static struct map_session_data *map_nick2sd(const char *nick)
qty++;
}
}
- else if( strcasecmp(sd->status.name, nick) == 0 )
- {// exact search only
- found_sd = sd;
- break;
+
+ if (qty != 1)
+ found_sd = NULL;
+ } else {
+ // exact search only
+ for (struct map_session_data *sd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); sd = BL_UCAST(BL_PC, mapit->next(iter))) {
+ if (strcasecmp(sd->status.name, nick) == 0) {
+ found_sd = sd;
+ break;
+ }
}
}
mapit->free(iter);
- if( battle_config.partial_name_scan && qty != 1 )
- found_sd = NULL;
-
return found_sd;
}
@@ -2841,63 +2853,70 @@ static int map_mapname2ipport(unsigned short name, uint32 *ip, uint16 *port)
return 0;
}
-/*==========================================
+/**
* Checks if both dirs point in the same direction.
- *------------------------------------------*/
-static int map_check_dir(int s_dir, int t_dir)
+ * @param s_dir: direction source is facing
+ * @param t_dir: direction target is facing
+ * @return 0: success(both face the same direction), 1: failure
+ **/
+static int map_check_dir(enum unit_dir s_dir, enum unit_dir t_dir)
{
- if(s_dir == t_dir)
+ if (s_dir == t_dir || ((t_dir + UNIT_DIR_MAX - 1) % UNIT_DIR_MAX) == s_dir
+ || ((t_dir + UNIT_DIR_MAX + 1) % UNIT_DIR_MAX) == s_dir)
return 0;
- switch(s_dir) {
- case 0: if(t_dir == 7 || t_dir == 1 || t_dir == 0) return 0; break;
- case 1: if(t_dir == 0 || t_dir == 2 || t_dir == 1) return 0; break;
- case 2: if(t_dir == 1 || t_dir == 3 || t_dir == 2) return 0; break;
- case 3: if(t_dir == 2 || t_dir == 4 || t_dir == 3) return 0; break;
- case 4: if(t_dir == 3 || t_dir == 5 || t_dir == 4) return 0; break;
- case 5: if(t_dir == 4 || t_dir == 6 || t_dir == 5) return 0; break;
- case 6: if(t_dir == 5 || t_dir == 7 || t_dir == 6) return 0; break;
- case 7: if(t_dir == 6 || t_dir == 0 || t_dir == 7) return 0; break;
- }
return 1;
}
-/*==========================================
+/**
* Returns the direction of the given cell, relative to 'src'
- *------------------------------------------*/
-static uint8 map_calc_dir(struct block_list *src, int16 x, int16 y)
+ * @param src: object to put in relation between coordinates
+ * @param x: x-coordinate of cell
+ * @param y: y-coordinate of cell
+ * @return the direction of the given cell, relative to 'src'
+ **/
+static enum unit_dir map_calc_dir(const struct block_list *src, int16 x, int16 y)
{
- uint8 dir = 0;
- int dx, dy;
-
- nullpo_ret(src);
+ nullpo_retr(UNIT_DIR_NORTH, src);
+ enum unit_dir dir = UNIT_DIR_NORTH;
- dx = x-src->x;
- dy = y-src->y;
+ int dx = x - src->x;
+ int dy = y - src->y;
if (dx == 0 && dy == 0) {
// both are standing on the same spot.
// aegis-style, makes knockback default to the left.
// athena-style, makes knockback default to behind 'src'.
- dir = (battle_config.knockback_left ? 6 : unit->getdir(src));
- } else if (dx >= 0 && dy >=0) {
- // upper-right
- if( dx*2 < dy || dx == 0 ) dir = 0; // up
- else if( dx > dy*2+1 || dy == 0 ) dir = 6; // right
- else dir = 7; // up-right
+ if (battle_config.knockback_left != 0)
+ dir = UNIT_DIR_EAST;
+ else
+ dir = unit->getdir(src);
+ } else if (dx >= 0 && dy >= 0) {
+ if (dx * 2 < dy || dx == 0)
+ dir = UNIT_DIR_NORTH;
+ else if (dx > dy * 2 + 1 || dy == 0)
+ dir = UNIT_DIR_EAST;
+ else
+ dir = UNIT_DIR_NORTHEAST;
} else if (dx >= 0 && dy <= 0) {
- // lower-right
- if( dx*2 < -dy || dx == 0 ) dir = 4; // down
- else if( dx > -dy*2+1 || dy == 0 ) dir = 6; // right
- else dir = 5; // down-right
+ if (dx * 2 < -dy || dx == 0)
+ dir = UNIT_DIR_SOUTH;
+ else if (dx > -dy * 2 + 1 || dy == 0)
+ dir = UNIT_DIR_EAST;
+ else
+ dir = UNIT_DIR_SOUTHEAST;
} else if (dx <= 0 && dy <= 0) {
- // lower-left
- if( dx*2 > dy || dx == 0 ) dir = 4; // down
- else if( dx < dy*2-1 || dy == 0 ) dir = 2; // left
- else dir = 3; // down-left
+ if (dx * 2 > dy || dx == 0 )
+ dir = UNIT_DIR_SOUTH;
+ else if (dx < dy * 2 + 1 || dy == 0)
+ dir = UNIT_DIR_WEST;
+ else
+ dir = UNIT_DIR_SOUTHWEST;
} else {
- // upper-left
- if( -dx*2 < dy || dx == 0 ) dir = 0; // up
- else if( -dx > dy*2+1 || dy == 0) dir = 2; // left
- else dir = 1; // up-left
+ if (-dx * 2 < dy || dx == 0 )
+ dir = UNIT_DIR_NORTH;
+ else if (-dx > dy * 2 + 1 || dy == 0)
+ dir = UNIT_DIR_WEST;
+ else
+ dir = UNIT_DIR_NORTHWEST;
}
return dir;
}
@@ -2925,11 +2944,11 @@ static int map_random_dir(struct block_list *bl, int16 *x, int16 *y)
if (dist < 1) dist =1;
do {
- int j = 1 + 2*(rnd()%4); //Pick a random diagonal direction
+ enum unit_dir dir = unit_get_rnd_diagonal_dir();
short segment = 1+(rnd()%dist); //Pick a random interval from the whole vector in that direction
- xi = bl->x + segment*dirx[j];
+ xi = bl->x + segment * dirx[dir];
segment = (short)sqrt((float)(dist2 - segment*segment)); //The complement of the previously picked segment
- yi = bl->y + segment*diry[j];
+ yi = bl->y + segment * diry[dir];
} while ((map->getcell(bl->m, bl, xi, yi, CELL_CHKNOPASS) || !path->search(NULL, bl, bl->m, bl->x, bl->y, xi, yi, 1, CELL_CHKNOREACH))
&& (++i)<100);
@@ -3587,23 +3606,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);
@@ -3612,98 +3635,44 @@ 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)
@@ -3794,7 +3763,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);
}
}
@@ -3822,8 +3792,29 @@ static int map_waterheight(char *mapname)
// read & convert fn
rsw = grfio_read(fn);
if (rsw) {
+ if (memcmp(rsw, "GRSW", 4) != 0) {
+ ShowWarning("Failed to find water level for %s (%s)\n", mapname, fn);
+ aFree(rsw);
+ return NO_WATER;
+ }
+ int major_version = rsw[4];
+ int minor_version = rsw[5];
+ if (major_version > 2 || (major_version == 2 && minor_version > 2)) {
+ ShowWarning("Failed to find water level for %s (%s)\n", mapname, fn);
+ aFree(rsw);
+ return NO_WATER;
+ }
+ if (major_version < 1 || (major_version == 1 && minor_version <= 4)) {
+ ShowWarning("Failed to find water level for %s (%s)\n", mapname, fn);
+ aFree(rsw);
+ return NO_WATER;
+ }
+ int offset = 166;
+ if (major_version == 2 && minor_version >= 2) {
+ offset = 167;
+ }
//Load water height from file
- int wh = (int) *(float*)(rsw+166);
+ int wh = (int)*(float*)(rsw + offset);
aFree(rsw);
return wh;
}
@@ -4107,6 +4098,7 @@ static bool map_config_read_database(const char *filename, struct config_t *conf
return false;
}
libconfig->setting_lookup_mutable_string(setting, "db_path", map->db_path, sizeof(map->db_path));
+ libconfig->set_db_path(map->db_path);
libconfig->setting_lookup_int(setting, "save_settings", &map->save_settings);
if (libconfig->setting_lookup_int(setting, "autosave_time", &map->autosave_interval) == CONFIG_TRUE) {
@@ -4483,6 +4475,7 @@ static bool inter_config_read_database_names(const char *filename, const struct
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));
+ libconfig->setting_lookup_mutable_string(setting, "npc_expanded_barter_data_db", map->npc_expanded_barter_data_db, sizeof(map->npc_expanded_barter_data_db));
if (!mapreg->config_read(filename, setting, imported))
retval = false;
@@ -5429,6 +5422,32 @@ static bool map_zone_mf_cache(int m, char *flag, char *params)
else if( map->list[m].flag.nocashshop )
map_zone_mf_cache_add(m,"nocashshop");
}
+ } else if (strcmpi(flag, "nostorage") == 0) {
+ if (!state) {
+ if (map->list[m].flag.nostorage != 0) {
+ sprintf(rflag, "nostorage\t%d", map->list[m].flag.nostorage);
+ map_zone_mf_cache_add(m, rflag);
+ }
+ }
+ if (sscanf(params, "%d", &state) == 1) {
+ if (state != map->list[m].flag.nostorage) {
+ sprintf(rflag, "nostorage\t%d", state);
+ map_zone_mf_cache_add(m, rflag);
+ }
+ }
+ } else if (strcmpi(flag, "nogstorage") == 0) {
+ if (!state) {
+ if (map->list[m].flag.nogstorage != 0) {
+ sprintf(rflag, "nogstorage\t%d", map->list[m].flag.nogstorage);
+ map_zone_mf_cache_add(m, rflag);
+ }
+ }
+ if (sscanf(params, "%d", &state) == 1) {
+ if (state != map->list[m].flag.nogstorage) {
+ sprintf(rflag, "nogstorage\t%d", state);
+ map_zone_mf_cache_add(m, rflag);
+ }
+ }
}
return false;
@@ -5600,12 +5619,8 @@ static void read_map_zone_db(void)
{
struct config_t map_zone_db;
struct config_setting_t *zones = NULL;
- /* TODO: #ifndef required for re/pre-re */
-#ifdef RENEWAL
- const char *config_filename = "db/re/map_zone_db.conf"; // FIXME hardcoded name
-#else
- const char *config_filename = "db/pre-re/map_zone_db.conf"; // FIXME hardcoded name
-#endif
+ char config_filename[256];
+ libconfig->format_db_path(DBPATH"map_zone_db.conf", config_filename, sizeof(config_filename));
if (!libconfig->load_file(&map_zone_db, config_filename))
return;
@@ -6030,28 +6045,34 @@ 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);
+
+ 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)) {
+ return false;
+ }
- VECTOR_ENSURE(map->list[m].qi_data, 1, 1);
- VECTOR_PUSH(map->list[m].qi_data, *qi);
+ 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;
}
@@ -6098,7 +6119,7 @@ static int cleanup_sub(struct block_list *bl, va_list ap)
map->quit(BL_UCAST(BL_PC, bl));
break;
case BL_NPC:
- npc->unload(BL_UCAST(BL_NPC, bl), false);
+ npc->unload(BL_UCAST(BL_NPC, bl), false, true);
break;
case BL_MOB:
unit->free(bl,CLR_OUTSIGHT);
@@ -6192,6 +6213,7 @@ int do_final(void)
atcommand->final_msg();
skill->final();
status->final();
+ refine->final();
unit->final();
bg->final();
duel->final();
@@ -6200,6 +6222,7 @@ int do_final(void)
vending->final();
rodex->final();
achievement->final();
+ stylist->final();
HPM_map_do_final();
@@ -6327,6 +6350,7 @@ static CPCMD(gm_position)
map->cpsd->bl.x = x;
map->cpsd->bl.y = y;
map->cpsd->bl.m = m;
+ map->cpsd->mapindex = map_id2index(m);
}
static CPCMD(gm_use)
{
@@ -6355,6 +6379,8 @@ static void map_cp_defaults(void)
map->cpsd->bl.x = mapindex->default_x;
map->cpsd->bl.y = mapindex->default_y;
map->cpsd->bl.m = map->mapname2mapid(mapindex->default_map);
+ Assert_retv(map->cpsd->bl.m >= 0);
+ map->cpsd->mapindex = map_id2index(map->cpsd->bl.m);
console->input->addCommand("gm:info",CPCMD_A(gm_position));
console->input->addCommand("gm:use",CPCMD_A(gm_use));
@@ -6407,6 +6433,8 @@ static void map_load_defaults(void)
achievement_defaults();
npc_chat_defaults();
rodex_defaults();
+ stylist_defaults();
+ refine_defaults();
}
/**
* --run-once handler
@@ -6711,6 +6739,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);
@@ -6721,6 +6750,7 @@ int do_init(int argc, char *argv[])
elemental->init(minimal);
quest->init(minimal);
achievement->init(minimal);
+ stylist->init(minimal);
npc->init(minimal);
unit->init(minimal);
bg->init(minimal);
@@ -6747,6 +6777,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 */
+ npc->expanded_barter_fromsql(); /* after OnInit */
if (battle_config.pk_mode)
ShowNotice("Server is running on '"CL_WHITE"PK Mode"CL_RESET"'.\n");
@@ -6792,6 +6823,7 @@ void map_defaults(void)
map->extra_scripts_count = 0;
sprintf(map->db_path ,"db");
+ libconfig->set_db_path(map->db_path);
sprintf(map->help_txt ,"conf/help.txt");
sprintf(map->charhelp_txt ,"conf/charhelp.txt");
@@ -6853,7 +6885,10 @@ void map_defaults(void)
map->bl_list_size = 0;
//all in a big chunk, respects order
+PRAGMA_GCC9(GCC diagnostic push)
+PRAGMA_GCC9(GCC diagnostic ignored "-Warray-bounds")
memset(ZEROED_BLOCK_POS(map), 0, ZEROED_BLOCK_SIZE(map));
+PRAGMA_GCC9(GCC diagnostic pop)
map->cpsd = NULL;
map->list = NULL;
diff --git a/src/map/map.h b/src/map/map.h
index 6c09746a6..64736a6f5 100644
--- a/src/map/map.h
+++ b/src/map/map.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -27,6 +27,7 @@
#include "common/db.h"
#include "common/mapindex.h"
#include "common/mmo.h"
+#include "map/unitdefines.h" // enum unit_dir
#include <stdio.h>
#include <stdarg.h>
@@ -45,42 +46,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 +309,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 +327,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 };
/**
@@ -751,16 +683,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;
@@ -787,41 +709,6 @@ struct map_drop_list {
int drop_per;
};
-struct questinfo_qreq {
- int id;
- int state;
-};
-
-struct questinfo_itemreq {
- int nameid;
- int min;
- int max;
-};
-
-struct questinfo {
- struct npc_data *nd;
- 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 map_data {
char name[MAP_NAME_LENGTH];
uint16 index; // The map index used by the mapindex* functions.
@@ -902,6 +789,8 @@ struct map_data {
unsigned noautoloot : 1;
unsigned pairship_startable : 1;
unsigned pairship_endable : 1;
+ unsigned nostorage : 2;
+ unsigned nogstorage : 2;
uint32 noviewid; ///< noviewid (bitmask - @see enum equip_pos)
} flag;
struct point save;
@@ -959,8 +848,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;
@@ -1171,6 +1060,7 @@ struct map_interface {
char autotrade_data_db[32];
char npc_market_data_db[32];
char npc_barter_data_db[32];
+ char npc_expanded_barter_data_db[32];
char default_codepage[32];
char default_lang_str[64];
@@ -1323,15 +1213,15 @@ END_ZEROED_BLOCK;
void (*addiddb) (struct block_list *bl);
void (*deliddb) (struct block_list *bl);
/* */
- struct map_session_data * (*nick2sd) (const char *nick);
+ struct map_session_data * (*nick2sd) (const char *nick, bool allow_partial);
struct mob_data * (*getmob_boss) (int16 m);
struct mob_data * (*id2boss) (int id);
uint32 (*race_id2mask) (int race);
// reload config file looking only for npcs
void (*reloadnpc) (bool clear);
- int (*check_dir) (int s_dir,int t_dir);
- uint8 (*calc_dir) (struct block_list *src,int16 x,int16 y);
+ int (*check_dir) (enum unit_dir s_dir, enum unit_dir t_dir);
+ enum unit_dir (*calc_dir) (const struct block_list *src, int16 x, int16 y);
int (*random_dir) (struct block_list *bl, short *x, short *y); // [Skotlex]
int (*cleanup_sub) (struct block_list *bl, va_list ap);
@@ -1394,7 +1284,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..8a363e2d4
--- /dev/null
+++ b/src/map/mapdefines.h
@@ -0,0 +1,119 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2012-2020 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
+
+#include "common/mmo.h" // packet versions
+
+#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
+
+#ifndef MAX_MOB_LIST_PER_MAP
+#ifdef RENEWAL
+#define MAX_MOB_LIST_PER_MAP 100
+#else
+#define MAX_MOB_LIST_PER_MAP 115
+#endif
+#endif
+
+#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 Vending text prompts
+#define MESSAGE_SIZE (79 + 1)
+// Max size for inputs to Graffiti, Talkie Box text prompts
+#if PACKETVER_MAIN_NUM >= 20190904 || PACKETVER_RE_NUM >= 20190904 || PACKETVER_ZERO_NUM >= 20190828
+#define TALKBOX_MESSAGE_SIZE 21
+#else
+#define TALKBOX_MESSAGE_SIZE (79 + 1)
+#endif
+// 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/mapreg.h b/src/map/mapreg.h
index 4a9fd9e97..b3b89e1b2 100644
--- a/src/map/mapreg.h
+++ b/src/map/mapreg.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/mapreg_sql.c b/src/map/mapreg_sql.c
index 516be56cb..741505e17 100644
--- a/src/map/mapreg_sql.c
+++ b/src/map/mapreg_sql.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/mercenary.c b/src/map/mercenary.c
index 918701c9d..00fdcae9f 100644
--- a/src/map/mercenary.c
+++ b/src/map/mercenary.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/mercenary.h b/src/map/mercenary.h
index 65e8d5338..bd28729c5 100644
--- a/src/map/mercenary.h
+++ b/src/map/mercenary.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/messages.h b/src/map/messages.h
index 5bfd476a2..adf5bc7e0 100644
--- a/src/map/messages.h
+++ b/src/map/messages.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2012-2016 Hercules Dev Team
- * Copyright (C) Athena Dev Teams
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/messages_ad.h b/src/map/messages_ad.h
index e0a4e5c98..9a3ada406 100644
--- a/src/map/messages_ad.h
+++ b/src/map/messages_ad.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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 1ce77451e..9f5a17662 100644
--- a/src/map/messages_main.h
+++ b/src/map/messages_main.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20190109
+Latest version: 20200304
*/
enum clif_messages {
@@ -632,9 +632,11 @@ Fire
Wind
*/
MSG_WIND = 0x76,
-/*20031028 to latest
+/*20031028 to 20191023
같은종류의 장비아이템은 한번에 한개만 살 수 있습니다.
Please avoid buying 2 of the same items at one time.
+20191030 to latest
+같은 종류의 장비 아이템은 한 번에 한 개만 살 수 있습니다.
*/
MSG_EQUIPITEM_OLNY_ONE = 0x77,
/*20031028 to latest
@@ -759,7 +761,7 @@ Congratulations! You are the MVP! Your reward item is
MSG_YOU_RECEIVE_MVP_ITEM = 0x8f,
/*20031028 to latest
!!
-!!
+!
*/
MSG_YOU_RECEIVE_MVP_ITEM2 = 0x90,
/*20031028 to latest
@@ -1238,9 +1240,11 @@ Cart Items [Alt+W]
Basic Information
*/
MSG_BASICINFOWND = 0xee,
-/*20031028 to latest
+/*20031028 to 20191204
이무기로는 이스킬을 사용할수 없습니다.
The skill cannot be used with this weapon.
+20191211 to latest
+현재 무기로는 스킬을 사용할 수 없습니다.
*/
MSG_USESKILL_FAIL_NOT_SUITABLE_WEAPON = 0xef,
/*20031028 to latest
@@ -4013,7 +4017,6 @@ Mouse wheel skills for F7 and F8 are Disabled.[/q2 OFF]
MSG_EXPLAIN_QUICKSPELL2 = 0x302,
/*20040112 to latest
/q3 : /quickspell (/q1) + /quickspell2 (/q2)
-/q3: /quickspell (/q1) + /quickspell2 (/q2)
*/
MSG_EXPLAIN_QUICKSPELL3 = 0x303,
#endif
@@ -5264,7 +5267,7 @@ High Wizard
MSG_WIZARD_H = 0x3da,
/*20050613 to latest
White Smith
-WhiteSmith
+MasterSmith
*/
MSG_BLACKSMITH_H = 0x3db,
/*20050613 to latest
@@ -7082,7 +7085,6 @@ Quest List
#if PACKETVER >= 20070807
/*20070807 to latest
RO SHOP
-RO Shop
*/
MSG_RO_SHOP = 0x526,
#endif
@@ -7261,9 +7263,11 @@ The Memorial Dungeon's entry time limit expired; it has been destroyed.
The Memorial Dungeon has been removed.
*/
MSG_MEMORIAL_DUN_DESTROY_REQUEST = 0x544,
-/*20070918 to latest
+/*20070918 to 20191218
메모리얼 던전에 시스템 오류가 발생하였습니다. 정상적인 게임 진행을 위해 재접속을 해주십시오.
A system error has occurred in the Memorial Dungeon. Please relog in to the game to continue playing.
+20191224 to latest
+메모리얼 던전에 통신 장애가 발생하였습니다. 정상적인 게임 진행을 위해 잠시 후, 재접속을 해주십시오.
*/
MSG_MEMORIAL_DUN_ERROR = 0x545,
/*20070918 to latest
@@ -10960,7 +10964,6 @@ ITEM
MSG_MACRO_SKILL = 0x775,
/*20110228 to 20110228
Next attack time :
-Next attack time:
20110308 to latest
TACTIC
20130807 to 20130814
@@ -10977,6 +10980,7 @@ TACTIC
MSG_MACRO_ETC = 0x777,
/*20110228 to 20110228
When invited to a party
+When invited to the party
20110308 to latest
COMBAT
20130807 to 20130814
@@ -11021,7 +11025,6 @@ ATTACK
MSG_MACRO_ATTACK = 0x77d,
/*20110308 to latest
Next attack time :
-Next attack time:
20130807 to 20130814
ATTACK
*/
@@ -11030,11 +11033,11 @@ ATTACK
When died
20130807 to 20130814
Next attack time :
-Next attack time:
*/
MSG_MACRO_WHEN_DIED = 0x77f,
/*20110308 to latest
When invited to a party
+When invited to the party
20130807 to 20130814
When died
*/
@@ -11043,6 +11046,7 @@ When died
Pickup Item
20130807 to 20130814
When invited to a party
+When invited to the party
*/
MSG_MACRO_PICKUP_ITEM = 0x781,
/*20110308 to latest
@@ -11072,7 +11076,6 @@ Any work in progress (NPC dialog, manufacturing ...) quit and try again.
ExMacro_SaveData%d
20110412 to latest
SaveData_ExMacro%d
-SaveData_ExMacro %d
20130807 to 20130814
몬스터 사냥을 통해 얻을 수 있는 Job경험치가 %d분간 %.2f배로 증가합니다.
Monster Job hunting experience that you can get through the doubling of %d is %.2f minutes.
@@ -11083,7 +11086,6 @@ Monster Job hunting experience that you can get through the doubling of %d is %.
Settings for [%s] are stored in.
20130807 to 20130814
SaveData_ExMacro%d
-SaveData_ExMacro %d
*/
MSG_MACRO_SAVE_DATA2 = 0x786,
#endif
@@ -11351,57 +11353,44 @@ Current location of the shop and chat room creation is disabled.
MSG_REPLAY_ELAPSEDTIME = 0x7a3,
/*20110816 to latest
Speed : X 1/4
-Speed: X 1/4
20130807 to 20130814
Elapsed time: %d:%d:%d / %d:%d:%d
*/
MSG_REPLAY_SPEED1_4 = 0x7a4,
/*20110816 to latest
Speed : X 1/2
-Speed: X 1/2
20130807 to 20130814
Speed : X 1/4
-Speed: X 1/4
*/
MSG_REPLAY_SPEED1_2 = 0x7a5,
/*20110816 to latest
Speed : X 1
-Speed: X 1
20130807 to 20130814
Speed : X 1/2
-Speed: X 1/2
*/
MSG_REPLAY_SPEED1 = 0x7a6,
/*20110816 to latest
Speed : X 2
-Speed: X 2
20130807 to 20130814
Speed : X 1
-Speed: X 1
*/
MSG_REPLAY_SPEED2 = 0x7a7,
/*20110816 to latest
Speed : X 4
-Speed: X 4
20130807 to 20130814
Speed : X 2
-Speed: X 2
*/
MSG_REPLAY_SPEED4 = 0x7a8,
/*20110816 to latest
Speed : X 8
-Speed: X 8
20130807 to 20130814
Speed : X 4
-Speed: X 4
*/
MSG_REPLAY_SPEED8 = 0x7a9,
/*20110816 to latest
Speed : X 16
-Speed: X 16
20130807 to 20130814
Speed : X 8
-Speed: X 8
*/
MSG_REPLAY_SPEED16 = 0x7aa,
/*20110816 to latest
@@ -11409,12 +11398,10 @@ Speed : 알수없음
Speed: Unknown
20130807 to 20130814
Speed : X 16
-Speed: X 16
*/
MSG_REPLAY_SPEEDUNKNOWN = 0x7ab,
/*20110816 to latest
Service Info : %s
-Service Info: %s
20130807 to 20130814
Speed : 알수없음
Speed: Unknown
@@ -11422,25 +11409,20 @@ Speed: Unknown
MSG_REPLAY_CHRVICEINFO = 0x7ac,
/*20110816 to latest
Character Name : %s
-Character Name: %s
20130807 to 20130814
Service Info : %s
-Service Info: %s
*/
MSG_REPLAY_CHARACTERNAME = 0x7ad,
/*20110816 to latest
Map Name : %s
-Map Name: %s
20130807 to 20130814
Character Name : %s
-Character Name: %s
*/
MSG_REPLAY_MAPNAME = 0x7ae,
/*20110816 to latest
Record Time: %d-%01d-%01d %d: %02d: %02d
20130807 to 20130814
Map Name : %s
-Map Name: %s
*/
MSG_REPLAY_RECORDTIME = 0x7af,
/*20110816 to latest
@@ -11523,20 +11505,24 @@ Stop
MSG_REPLAY_START2 = 0x7bb,
/*20110816 to latest
Open Option
+Open Options
20130807 to 20130814
Input FileName -> Start
*/
MSG_REPLAY_OPENOPTION = 0x7bc,
/*20110816 to latest
Close Option
+Close Options
20130807 to 20130814
Open Option
+Open Options
*/
MSG_REPLAY_CLOSEOPION = 0x7bd,
/*20110816 to latest
End
20130807 to 20130814
Close Option
+Close Options
*/
MSG_REPLAY_END = 0x7be,
/*20110816 to latest
@@ -11601,6 +11587,7 @@ The same file exists already.
MSG_REPLAY_RECORDSTART = 0x7c6,
/*20110816 to latest
is Saved.
+Recording saved
20130807 to 20130814
Record Start
*/
@@ -11609,17 +11596,16 @@ Record Start
#if PACKETVER >= 20110823
/*20110823 to latest
Weight : %3d / %3d
-Weight: %3d / %3d
20130807 to 20130814
is Saved.
+Recording saved
*/
MSG_WEIGHT = 0x7c8,
/*20110823 to latest
Total : %s C
-Total: %s C
+Total: %s EUR
20130807 to 20130814
Weight : %3d / %3d
-Weight: %3d / %3d
*/
MSG_TOTAL = 0x7c9,
/*20110823 to latest
@@ -11627,7 +11613,7 @@ Weight: %3d / %3d
[Shuriken] must be equipped.
20130807 to 20130814
Total : %s C
-Total: %s C
+Total: %s EUR
*/
MSG_FAIL_NEED_EQUIPPED_SYURIKEN = 0x7ca,
#endif
@@ -11647,7 +11633,6 @@ Base Lv. %d
MSG__BASIC_MSG_JOB = 0x7cc,
/*20110831 to latest
Zeny : %s
-Zeny: %s
20130807 to 20130814
Job Lv. %d
*/
@@ -11656,7 +11641,6 @@ Job Lv. %d
Trilinear
20130807 to 20130814
Zeny : %s
-Zeny: %s
*/
MSG_GRAPHIC_MSG_TRILINEAR = 0x7ce,
/*20110831 to latest
@@ -11679,6 +11663,7 @@ skill
MSG_GRAPHIC_MSG_ITEM = 0x7d1,
/*20110831 to latest
NoCtrl
+Ctrl
20130807 to 20130814
item
*/
@@ -11688,10 +11673,12 @@ item
More
20130807 to 20130814
NoCtrl
+Ctrl
*/
MSG_GRAPHIC_MSG_BATTLE = 0x7d3,
/*20110831 to latest
(Character/Total Slot)
+(Characters/Total slots)
20130807 to 20130814
전장
More
@@ -11702,6 +11689,7 @@ Premium Service
VIP Service
20130807 to 20130814
(Character/Total Slot)
+(Characters/Total slots)
*/
MSG_CHARACTER_MSG_PREMIUMSERVICE = 0x7d5,
/*20110831 to latest
@@ -13040,6 +13028,7 @@ Move
Combining items will be only one kind at a time.
20120320 to latest
Make Character
+Create Character
20130807 to 20130814
이름변경
Rename
@@ -13052,6 +13041,7 @@ You cannot have more than 30,000 stacked items.
http://ro.game.gnjoy.com/
20130807 to 20130814
Make Character
+Create Character
*/
MSG_UAE_URL = 0x877,
#endif
@@ -13371,7 +13361,6 @@ Change to Default UI
MSG_NAVIGATION_HELP = 0x89d,
/*20120417 to latest
ALL
-All
20130807 to 20130814
도움말
Help
@@ -13381,7 +13370,6 @@ Help
Map
20130807 to 20130814
ALL
-All
*/
MSG_NAVIGATION_MAP = 0x89f,
/*20120417 to latest
@@ -15516,7 +15504,7 @@ You entered more than 1 Billion Zeny, the price will be set to 1 Billion Zeny.
ErrorCode : %d, ErrorValue : %d
20130612 to latest
ErrorCategory : %d, ErrorCode : %d (%d,%d,%d,%d)
-ErrorCategory: %d, ErrorCode: %d (%d,%d,%d,%d)
+ErrorCode : %d, ErrorValue : %d
20130807 to 20130814
AuthTicket is Not Vaild
AuthTicket is Not Valid
@@ -15531,7 +15519,7 @@ AuthTicket is Not Valid
%d%% ( Basic 100%% + Premium %d%% + Internet cafe %d%% + %s Server %d%% )
20130807 to 20130814
ErrorCategory : %d, ErrorCode : %d (%d,%d,%d,%d)
-ErrorCategory: %d, ErrorCode: %d (%d,%d,%d,%d)
+ErrorCode : %d, ErrorValue : %d
*/
MSG_BASIC_EXP_MSG_INDONESIA = 0x9a6,
/*20130618 to 20130925
@@ -15564,7 +15552,6 @@ The price of^0000FF %s^000000
MSG_WARNING_PRICE1 = 0x9a9,
/*20130626 to latest
100000000
-1000000000
20130807 to 20130814
%s 의 가격이
The price of^0000FF %s^000000
@@ -15575,7 +15562,6 @@ The price of^0000FF %s^000000
is over ^FF0000%d^0000FF Billion^000000 Zeny and
20130807 to 20130814
100000000
-1000000000
*/
MSG_WARNING_PRICE3 = 0x9ab,
/*20130626 to latest
@@ -16352,7 +16338,7 @@ You can not open the mail.
MSG_FAILED_TO_WRITE_MAIL = 0xa2c,
/*20140416 to latest
You are currently joined in CLan !!
-You are currently joined in Clan !!
+You currently belong to a clan.
*/
MSG_JOINED_IN_CLAN = 0xa2d,
/*20140416 to latest
@@ -16423,17 +16409,14 @@ The recipient's name does not exist.
#if PACKETVER >= 20140430
/*20140430 to latest
E X P : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-EXP : %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_EXPMSG = 0xa38,
/*20140430 to latest
DROP : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-DROP : %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_DROPMSG = 0xa39,
/*20140430 to latest
DEATH : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-DEATH: %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_DEATHMSG = 0xa3a,
#endif
@@ -16684,7 +16667,6 @@ Adventure
%s GD
20141001 to latest
%s
-%s
*/
MSG_CASH_GEDARE_MONEY = 0xa5f,
/*20140723 to 20140723
@@ -16925,17 +16907,14 @@ Please empty at least 5 amount of possession in item window.
MSG_NOT_ENOUGH_SPACE_IN_ITEM_BODY = 0xa85,
/*20140917 to latest
E X P : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-EXP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_EXPMSG = 0xa86,
/*20140917 to latest
DROP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-DROP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_DROPMSG = 0xa87,
/*20140917 to latest
DEATH : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-DEATH : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_DEATHMSG = 0xa88,
/*20140917 to latest
@@ -17381,12 +17360,10 @@ Withdraw
MSG_ID_AD7 = 0xad7,
/*20150304 to latest
1 z UP
-1z UP
*/
MSG_ID_AD8 = 0xad8,
/*20150304 to latest
1 z Down
-1z Down
*/
MSG_ID_AD9 = 0xad9,
/*20150304 to latest
@@ -17561,17 +17538,14 @@ Send Mail
#if PACKETVER >= 20150729
/*20150729 to latest
E X P : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
-E X P: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AF9 = 0xaf9,
/*20150729 to latest
DROP : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
-DROP : %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AFA = 0xafa,
/*20150729 to latest
DEATH : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
-DEATH: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AFB = 0xafb,
#endif
@@ -17581,6 +17555,7 @@ DEATH: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
Name with this tag cannot be used.
20181002 to latest
해당 내용은 이름으로 사용하실 수 없습니다.
+You cannot use the tag as a name.
*/
MSG_ID_AFC = 0xafc,
#endif
@@ -17803,7 +17778,6 @@ SNS통신
TWITTER
20160824 to latest
Twitter
-TWITTER
*/
MSG_ID_B1D = 0xb1d,
/*20160224 to latest
@@ -18167,7 +18141,6 @@ The [%s] is not present, the default AI will be used instead.
%.1f%% ( Premium %.1f%% + %s %.1f%%)
20160706 to latest
%.1f%% ( Basic 100.0%% + Premium %.1f%% + %s %.1f%%)
-%.1f%% ( Basic 100.0%% + Premium %.1f%% + %s %.1f%%)
*/
MSG_ID_B62 = 0xb62,
#endif
@@ -18784,10 +18757,12 @@ Weight limit has reached toover 70%. Or less then 10 invenrory space.
MSG_ID_BCE = 0xbce,
/*20161123 to latest
C
+EUR
*/
MSG_ID_BCF = 0xbcf,
/*20161123 to latest
C
+EUR
*/
MSG_ID_BD0 = 0xbd0,
/*20161123 to latest
@@ -19041,10 +19016,12 @@ SP
MSG_ID_BFD = 0xbfd,
/*20161228 to latest
Lv
+Lv.
*/
MSG_ID_BFE = 0xbfe,
/*20161228 to latest
Lv
+Lv.
*/
MSG_ID_BFF = 0xbff,
/*20161228 to latest
@@ -19057,6 +19034,7 @@ Exp
MSG_ID_C01 = 0xc01,
/*20161228 to latest
Play Replay Flie
+Start replay
*/
MSG_ID_C02 = 0xc02,
/*20161228 to latest
@@ -19073,14 +19051,17 @@ Basicinfo
MSG_ID_C05 = 0xc05,
/*20161228 to latest
Equip
+Equipment
*/
MSG_ID_C06 = 0xc06,
/*20161228 to latest
Item
+Items
*/
MSG_ID_C07 = 0xc07,
/*20161228 to latest
Skill
+Skills
*/
MSG_ID_C08 = 0xc08,
/*20161228 to latest
@@ -19093,10 +19074,12 @@ Party
MSG_ID_C0A = 0xc0a,
/*20161228 to latest
Chatting
+Chat
*/
MSG_ID_C0B = 0xc0b,
/*20161228 to latest
Shortcut
+Hotkeys
*/
MSG_ID_C0C = 0xc0c,
/*20161228 to latest
@@ -19105,15 +19088,16 @@ Status
MSG_ID_C0D = 0xc0d,
/*20161228 to latest
ALL
-All
*/
MSG_ID_C0E = 0xc0e,
/*20161228 to latest
User Defined File Name
+Custom file name
*/
MSG_ID_C0F = 0xc0f,
/*20161228 to latest
Repeated File Check
+Check file
*/
MSG_ID_C10 = 0xc10,
/*20161228 to latest
@@ -19122,10 +19106,12 @@ on
MSG_ID_C11 = 0xc11,
/*20161228 to latest
<Basic Skin>
+<Basic>
*/
MSG_ID_C12 = 0xc12,
/*20161228 to latest
Select Skin
+Choose skin
*/
MSG_ID_C13 = 0xc13,
#endif
@@ -19675,6 +19661,7 @@ Loading the mailbox.
MSG_ID_C76 = 0xc76,
/*20170315 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_C77 = 0xc77,
/*20170315 to latest
@@ -19939,6 +19926,7 @@ BOX
#if PACKETVER >= 20170628
/*20170628 to latest
다시하기
+File abusing detected. Please restart the client with clean files.
*/
MSG_ID_CA9 = 0xca9,
/*20170628 to 20170809
@@ -20097,6 +20085,7 @@ map
MSG_ID_CCC = 0xccc,
/*20170809 to latest
변조된 파일이 발견되었습니다. 게임을 다시 실행시켜주세요.
+File abusing detected. Please restart the client with clean files.
*/
MSG_ID_CCD = 0xccd,
#endif
@@ -20260,9 +20249,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
@@ -20389,6 +20380,7 @@ TokenAgency 서버 연결 실패
MSG_ID_D0D = 0xd0d,
/*20171025 to latest
삭제
+Delete
*/
MSG_ID_D0E = 0xd0e,
/*20171025 to latest
@@ -20452,92 +20444,143 @@ MOTP 입력 시간이 초과되었습니다. 처음부터 다시 로그인해주
모험가 중개소 등록
*/
MSG_ID_D1C = 0xd1c,
-/*20171108 to latest
+/*20171108 to 20191120
모집 중단
+20191127 to latest
+모험가 중개소 등록하기
*/
MSG_ID_D1D = 0xd1d,
-/*20171108 to latest
+/*20171108 to 20191120
모험가 중개소 설정
+20191127 to latest
+모집 중단
*/
MSG_ID_D1E = 0xd1e,
-/*20171108 to latest
+/*20171108 to 20191120
전 지역
+20191127 to latest
+메모
+Note
*/
MSG_ID_D1F = 0xd1f,
-/*20171108 to latest
+/*20171108 to 20191120
직접기재
+20191127 to latest
+퀘스트
+Quest
*/
MSG_ID_D20 = 0xd20,
-/*20171108 to latest
+/*20171108 to 20191120
검사계열
+20191127 to latest
+필드
*/
MSG_ID_D21 = 0xd21,
-/*20171108 to latest
+/*20171108 to 20191120
법사계열
+20191127 to latest
+던전
+Dungeon
*/
MSG_ID_D22 = 0xd22,
-/*20171108 to latest
+/*20171108 to 20191120
궁수계열
+20191127 to latest
+MD
*/
MSG_ID_D23 = 0xd23,
-/*20171108 to latest
+/*20171108 to 20191120
복사계열
+20191127 to latest
+낙원단
*/
MSG_ID_D24 = 0xd24,
-/*20171108 to latest
+/*20171108 to 20191120
상인계열
+20191127 to latest
+기타
+Other
*/
MSG_ID_D25 = 0xd25,
-/*20171108 to latest
+/*20171108 to 20191120
도둑계열
+20191127 to latest
+검색
+Search
*/
MSG_ID_D26 = 0xd26,
-/*20171108 to latest
+/*20171108 to 20191120
태권계열
+20191127 to latest
+초기화
*/
MSG_ID_D27 = 0xd27,
-/*20171108 to latest
+/*20171108 to 20191120
닌자계열
+20191127 to latest
+파티가입신청
*/
MSG_ID_D28 = 0xd28,
-/*20171108 to latest
+/*20171108 to 20191120
건슬링거계열
+20191127 to latest
+목적
*/
MSG_ID_D29 = 0xd29,
-/*20171108 to latest
+/*20171108 to 20191120
도람족계열
+20191127 to latest
+※욕설, 현거래등 운영 규칙에 위배되는 목적으로 사용 시 처벌 받을 수 있습니다.
*/
MSG_ID_D2A = 0xd2a,
-/*20171108 to latest
+/*20171108 to 20191120
지역명
+20191127 to latest
+등록하기
+Register
*/
MSG_ID_D2B = 0xd2b,
-/*20171108 to latest
+/*20171108 to 20191120
지역명 검색
+20191127 to latest
+사용할 수 없는 단어가 포함되어 있습니다.
*/
MSG_ID_D2C = 0xd2c,
-/*20171108 to latest
+/*20171108 to 20191120
가입 요청하기
+20191127 to latest
+파티가입
*/
MSG_ID_D2D = 0xd2d,
-/*20171108 to latest
+/*20171108 to 20191120
신고하기
+20191127 to latest
+1:1대화
*/
MSG_ID_D2E = 0xd2e,
-/*20171108 to latest
+/*20171108 to 20191120
파티 모집 중단
+20191127 to latest
+모집 중지
*/
MSG_ID_D2F = 0xd2f,
-/*20171108 to latest
+/*20171108 to 20191120
지역명을 입력해주세요.
+20191127 to latest
+수정하기
*/
MSG_ID_D30 = 0xd30,
-/*20171108 to latest
+/*20171108 to 20191120
지역
+20191127 to latest
+전체
+All
*/
MSG_ID_D31 = 0xd31,
-/*20171108 to latest
+/*20171108 to 20191120
전 직업
+20191127 to latest
+[%s] 님이 파티가입을 신청했습니다.
*/
MSG_ID_D32 = 0xd32,
/*20171108 to latest
@@ -20579,6 +20622,7 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D3B = 0xd3b,
/*20171108 to latest
태권
+Taekwon
*/
MSG_ID_D3C = 0xd3c,
#endif
@@ -20621,10 +20665,12 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D42 = 0xd42,
/*20171115 to latest
차단 리스트가 없습니다
+Ignore-list is empty
*/
MSG_ID_D43 = 0xd43,
/*20171115 to latest
-차단 리스트-
+Characters in ignore-list:
*/
MSG_ID_D44 = 0xd44,
/*20171115 to latest
@@ -20707,12 +20753,17 @@ Password
회원가입
*/
MSG_ID_D56 = 0xd56,
-/*20171122 to latest
+/*20171122 to 20191120
노비스계열
+20191127 to latest
+파티장
+Leader
*/
MSG_ID_D57 = 0xd57,
-/*20171122 to latest
+/*20171122 to 20191120
슈퍼노비스계열
+20191127 to latest
+파티에 가입할 수 있는 레벨이 아닙니다.
*/
MSG_ID_D58 = 0xd58,
/*20171122 to latest
@@ -20725,12 +20776,16 @@ Password
MSG_ID_D5A = 0xd5a,
/*20171122 to 20180328
직업을 한 개 이상 선택해주세요.
-20180404 to latest
+20180404 to 20191120
모집을 희망하는 파티원의 직업을 한 개 이상 선택해 주세요.
+20191127 to latest
+검색내용입력
*/
MSG_ID_D5B = 0xd5b,
-/*20171122 to latest
+/*20171122 to 20191127
지역명을 두 글자 이상 입력해주세요.
+20191204 to latest
+탱커
*/
MSG_ID_D5C = 0xd5c,
/*20171122 to latest
@@ -20821,8 +20876,10 @@ Password
불량 단어가 포함된 이름은 검색할 수 없습니다.
*/
MSG_ID_D71 = 0xd71,
-/*20171213 to latest
+/*20171213 to 20191127
파티 마스터가 요청을 받을 수 없는 맵에 있습니다.
+20191204 to latest
+파티 마스터가 요청을 받을 수 없는 상태입니다.
*/
MSG_ID_D72 = 0xd72,
/*20171213 to latest
@@ -20831,8 +20888,10 @@ Password
MSG_ID_D73 = 0xd73,
/*20171213 to 20180328
님의 파티요청입니다.
-20180404 to latest
+20180404 to 20191127
님의 파티 가입 요청입니다.
+20191204 to latest
+딜러
*/
MSG_ID_D74 = 0xd74,
#endif
@@ -20991,6 +21050,7 @@ This is not the current attendance check event
MSG_ID_D93 = 0xd93,
/*20180207 to latest
개인 상납 경험치가 max에 도달하여, 더 이상 길드 경험치를 누적할 수 없습니다.
+
*/
MSG_ID_D94 = 0xd94,
#endif
@@ -21043,10 +21103,13 @@ Enter 4 english words and 2 chinese words
MSG_ID_D9D = 0xd9d,
/*20180404 to latest
50% 이상의 값을 입력할 수 없습니다.
+The guild tax rate can't be set to more than 50%.
*/
MSG_ID_D9E = 0xd9e,
-/*20180404 to latest
+/*20180404 to 20191204
파티 가입 요청을 보냈습니다.
+20191211 to latest
+파티가 모험가 중개소에 등록되어, 파티장을 변경 할 수 없습니다.
*/
MSG_ID_D9F = 0xd9f,
/*20180404 to latest
@@ -21061,8 +21124,10 @@ Enter 4 english words and 2 chinese words
거절
*/
MSG_ID_DA2 = 0xda2,
-/*20180404 to latest
+/*20180404 to 20191127
설정 권한은 파티장에게 있습니다.
+20191204 to latest
+힐러
*/
MSG_ID_DA3 = 0xda3,
/*20180404 to latest
@@ -21121,8 +21186,10 @@ Enter 4 english words and 2 chinese words
파티 가입 요청
*/
MSG_ID_DB1 = 0xdb1,
-/*20180404 to latest
+/*20180404 to 20191120
파티장이 아닌 경우, 모험가 중개소에 파티를 등록할 수 없습니다.
+20191127 to latest
+파티장이 아닌 경우 모험가 중개소에 파티를 등록할 수 없습니다.
*/
MSG_ID_DB2 = 0xdb2,
/*20180404 to 20180404
@@ -21133,8 +21200,11 @@ Enter 4 english words and 2 chinese words
MSG_ID_DB3 = 0xdb3,
#endif
#if PACKETVER >= 20180418
-/*20180418 to latest
+/*20180418 to 20191127
존재하지 않는 파티 글입니다.
+20191204 to latest
+보조
+Support
*/
MSG_ID_DB4 = 0xdb4,
/*20180418 to 20180418
@@ -21175,16 +21245,20 @@ Zoom Out 기능을 해제합니다 (Off)
파티장인 경우, 가입 요청을 할 수 없습니다.
*/
MSG_ID_DBB = 0xdbb,
-/*20180418 to latest
+/*20180418 to 20191211
모험가 중개소에 등록 중입니다. 잠시만 기다려 주세요.
+20191218 to latest
+파티 가입 최대 레벨은 최소 레벨 설정보다 높아야 합니다.
*/
MSG_ID_DBC = 0xdbc,
/*20180418 to latest
더 이상 직업을 선택할 수 없습니다.
*/
MSG_ID_DBD = 0xdbd,
-/*20180418 to latest
+/*20180418 to 20191120
게임 중 해당 유저의 가입 요청을 받지 않습니다.
+20191127 to latest
+게임 중 해당 유저의 가입 요청을 받지 않습니다.(클라이언트 종료 전까지 유효)
*/
MSG_ID_DBE = 0xdbe,
#endif
@@ -21265,20 +21339,24 @@ Emblem 테두리를 그려주지 않습니다
#if PACKETVER >= 20180718
/*20180718 to latest
E X P : %.1f%% ( basic 100.0%% %s %.1f%%)
+EXP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DCF = 0xdcf,
/*20180718 to latest
DROP : %.1f%% ( basic 100.0%% %s %.1f%%)
+DROP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DD0 = 0xdd0,
/*20180718 to latest
DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
+DEATH: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DD1 = 0xdd1,
#endif
#if PACKETVER >= 20180829
/*20180829 to latest
영문이나 러시아어 단독으로만 사용이 가능합니다.
+Forbidden symbols in character name.
*/
MSG_ID_DD2 = 0xdd2,
/*20180829 to latest
@@ -21287,28 +21365,34 @@ you must have an AccessTicket to login
MSG_ID_DD3 = 0xdd3,
/*20180829 to latest
창고를 불러오는 중입니다.
+Loading....
*/
MSG_ID_DD4 = 0xdd4,
/*20180829 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_DD5 = 0xdd5,
#endif
#if PACKETVER >= 20181002
/*20181002 to latest
삭제
+Delete
*/
MSG_ID_DD6 = 0xdd6,
/*20181002 to latest
답장
+Reply
*/
MSG_ID_DD7 = 0xdd7,
/*20181002 to latest
전송
+Send
*/
MSG_ID_DD8 = 0xdd8,
/*20181002 to latest
이름확인
+Name Check
*/
MSG_ID_DD9 = 0xdd9,
/*20181002 to latest
@@ -21451,6 +21535,7 @@ PvP
#if PACKETVER >= 20190109
/*20190109 to latest
Capture Monster
+Taming monster
*/
MSG_ID_DF5 = 0xdf5,
/*20190109 to latest
@@ -21459,6 +21544,7 @@ message
MSG_ID_DF6 = 0xdf6,
/*20190109 to latest
TITLE
+Header
*/
MSG_ID_DF7 = 0xdf7,
/*20190109 to latest
@@ -21466,6 +21552,1066 @@ TITLE
*/
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
+#if PACKETVER >= 20190508
+/*20190508 to latest
+자유이동권
+*/
+ MSG_ID_E1A = 0xe1a,
+/*20190508 to latest
+%d시간 이용, %s %d개
+*/
+ MSG_ID_E1B = 0xe1b,
+/*20190508 to latest
+자유이용권 사용중
+*/
+ MSG_ID_E1C = 0xe1c,
+/*20190508 to latest
+특성 스테이터스
+*/
+ MSG_ID_E1D = 0xe1d,
+/*20190508 to latest
+파워 파라메터
+^cc0000물리 공격력, 특성 공격력^ffffff 증가
+*/
+ MSG_ID_E1E = 0xe1e,
+/*20190508 to latest
+스테미나 파라메터
+^cc0000물리 저항력^ffffff 증가
+*/
+ MSG_ID_E1F = 0xe1f,
+/*20190508 to latest
+위즈덤 파라메터
+^cc0000마법 저항력^ffffff 증가
+*/
+ MSG_ID_E20 = 0xe20,
+/*20190508 to latest
+스펠 파라메터
+^cc0000마법 공격력, 마법 공격력^ffffff 증가
+*/
+ MSG_ID_E21 = 0xe21,
+/*20190508 to latest
+컨센트레이션 파라메터
+^cc0000명중률, 회피율, 특성 물리/마법 공격력^ffffff 증가
+*/
+ MSG_ID_E22 = 0xe22,
+/*20190508 to latest
+크리에이티브 파라메터
+^cc0000특성 힐 회복량, 크리티컬 데미지 비율^ffffff 증가
+*/
+ MSG_ID_E23 = 0xe23,
+/*20190508 to latest
+특성 물리 공격력
+*/
+ MSG_ID_E24 = 0xe24,
+/*20190508 to latest
+특성 마법 공격력
+*/
+ MSG_ID_E25 = 0xe25,
+/*20190508 to latest
+물리 저항력
+*/
+ MSG_ID_E26 = 0xe26,
+/*20190508 to latest
+마법 저항력
+*/
+ MSG_ID_E27 = 0xe27,
+/*20190508 to latest
+특성 힐 회복량
+*/
+ MSG_ID_E28 = 0xe28,
+/*20190508 to latest
+크리티컬 데미지 비율
+*/
+ MSG_ID_E29 = 0xe29,
+/*20190508 to latest
+특성 파라메터 레벨업에 사용되는 포인트
+*/
+ MSG_ID_E2A = 0xe2a,
+/*20190508 to latest
+J.Lv
+*/
+ MSG_ID_E2B = 0xe2b,
+/*20190508 to latest
+AP
+*/
+ MSG_ID_E2C = 0xe2c,
+#endif
+#if PACKETVER >= 20190522
+/*20190522 to latest
+영지로 이동
+*/
+ MSG_ID_E2D = 0xe2d,
+/*20190522 to latest
+상업도/방어도 확인
+*/
+ MSG_ID_E2E = 0xe2e,
+/*20190522 to 20190605
+관리영지 "%s"(으)로 이동하시겠습니까?
+(1회 이동 시 마다 1,000제니가 소모됩니다.
+공성전 시간에는 제니의 소모가 100배로 증가합니다.)
+20190619 to 20190619
+관리영지 "%s"(으)로 이동하시겠습니까?
+이동 시 마다 %d제니가 소모됩니다.
+20190703 to latest
+관리영지 "%s"(으)로 이동하시겠습니까?
+이동 시 마다 %d제니가 소모됩니다.
+(공성전 시간에는 %d제니가 소모됩니다.)
+*/
+ MSG_ID_E2F = 0xe2f,
+/*20190522 to latest
+
+관리영지 "%s"
+
+방어도: %d / %d
+상업도: %d / %d
+*/
+ MSG_ID_E30 = 0xe30,
+/*20190522 to 20190717
+공성 영지 내에서는 다른 공성 영지로 이동 할 수 없습니다.
+20190717 to latest
+공성 영지에서는 사용할 수 없는 기능입니다.
+*/
+ MSG_ID_E31 = 0xe31,
+#endif
+#if PACKETVER >= 20190619
+/*20190619 to latest
+기본 기능 스킬을 습득하지 않은 캐릭터입니다.
+*/
+ MSG_ID_E32 = 0xe32,
+#endif
+#if PACKETVER >= 20190703
+/*20190703 to latest
+접속하신 IP는 라그나로크 제로 이용이 불가능합니다.
+고객센터 또는 홈페이지로 문의해 주십시오.
+*/
+ MSG_ID_E33 = 0xe33,
+#endif
+#if PACKETVER >= 20190717
+/*20190717 to latest
+탑승/장착 해제
+*/
+ MSG_ID_E34 = 0xe34,
+/*20190717 to latest
+가져오기
+*/
+ MSG_ID_E35 = 0xe35,
+/*20190717 to latest
+직전 노점에 등록된 아이템 정보를 가져옵니다.
+*/
+ MSG_ID_E36 = 0xe36,
+/*20190717 to latest
+서버 이슈로 인해 로그인이 제한되고 있습니다.
+*/
+ MSG_ID_E37 = 0xe37,
+/*20190717 to latest
+메시지
+*/
+ MSG_ID_E38 = 0xe38,
+/*20190717 to latest
++18 이상만 플레이가 가능합니다.
+*/
+ MSG_ID_E39 = 0xe39,
+/*20190717 to latest
+3시간 이상의 게임 플레이를 권장하지 않습니다.
+*/
+ MSG_ID_E3A = 0xe3a,
+/*20190717 to latest
+AP가 부족합니다.
+*/
+ MSG_ID_E3B = 0xe3b,
+#endif
+#if PACKETVER >= 20190731
+/*20190731 to latest
+제련도가 높아서 조합할 수 없습니다.
+*/
+ MSG_ID_E3C = 0xe3c,
+/*20190731 to latest
+제련도가 조합에 필요한 요구치보다 높습니다.
+*/
+ MSG_ID_E3D = 0xe3d,
+/*20190731 to 20191107
+'카드가 끼워져있거나 인챈트 되어 있습니다.
+20191113 to latest
+카드가 끼워져있거나 인챈트 되어 있습니다.
+*/
+ MSG_ID_E3E = 0xe3e,
+/*20190731 to latest
+∞
+?
+*/
+ MSG_ID_E3F = 0xe3f,
+/*20190731 to latest
+Z
+*/
+ MSG_ID_E40 = 0xe40,
+/*20190731 to latest
+Total : %s Zeny
+*/
+ MSG_ID_E41 = 0xe41,
+#endif
+#if PACKETVER >= 20190821
+/*20190821 to latest
+계정한정판매 등록창
+Limited Account Registration Window
+*/
+ MSG_ID_E42 = 0xe42,
+/*20190821 to latest
+아이템 DB명
+Item DB Name
+*/
+ MSG_ID_E43 = 0xe43,
+/*20190821 to latest
+아이템 DB번호
+Item DB Number
+*/
+ MSG_ID_E44 = 0xe44,
+/*20190821 to latest
+판매 갯수
+Number of Sale
+*/
+ MSG_ID_E45 = 0xe45,
+/*20190821 to latest
+판매 시작시간
+Sale Start Time
+*/
+ MSG_ID_E46 = 0xe46,
+/*20190821 to latest
+판매 종료시간
+Sale end time
+*/
+ MSG_ID_E47 = 0xe47,
+/*20190821 to latest
+계정 한정
+Account only
+*/
+ MSG_ID_E48 = 0xe48,
+/*20190821 to latest
+판매기간 : %d월 %d일 %d시 %d분
+Sale period:% d month% d day% d hours% d
+*/
+ MSG_ID_E49 = 0xe49,
+/*20190821 to 20191002
+구입가능 %d개
+% D available
+20191016 to latest
+계정당 구매가능
+*/
+ MSG_ID_E4A = 0xe4a,
+/*20190821 to latest
+%d개 한정
+limited to% d
+*/
+ MSG_ID_E4B = 0xe4b,
+/*20190821 to latest
+>> ItemName : %s / 수량 : %d / 판매기간 : %d월:%d일:%d시:%d분 ~ %d월:%d일:%d시:%d분
+>> ItemName:% s / Quantity:% d / Sales Period:% d Month:% d Day:% d Hour:% d Minute ~% d Month:% d Day:% d Hour:% d Minute
+*/
+ MSG_ID_E4C = 0xe4c,
+/*20190821 to latest
+Sold Out
+*/
+ MSG_ID_E4D = 0xe4d,
+/*20190821 to latest
+[%s]은(는) 현재 소환할 수 없는 지역에 있습니다.
+% s] is currently in a region that cannot be summoned.
+*/
+ MSG_ID_E4E = 0xe4e,
+/*20190821 to latest
+~ %d월 %d일 %d시 %d분
+% d min% d days% d days
+*/
+ MSG_ID_E4F = 0xe4f,
+/*20190821 to latest
+상품을 더이상 추가할 수 없습니다
+Can't add any more items
+*/
+ MSG_ID_E50 = 0xe50,
+#endif
+#if PACKETVER >= 20190828
+/*20190828 to latest
+장착 중인 아이템은 교환할 수 없습니다. 장착을 해제한 뒤 시도해 주시길 바랍니다.
+The item being mounted cannot be exchanged. Please unmount it and try again.
+*/
+ MSG_ID_E51 = 0xe51,
+#endif
+#if PACKETVER >= 20190904
+/*20190904 to latest
+길드 창고 이용 중엔 캐릭터 선택창으로 이동 할 수 없습니다.
+You can not move to the character selection window while using the Guild Warehouse.
+*/
+ MSG_ID_E52 = 0xe52,
+/*20190904 to latest
+아이템 태그가 포함되어 있어 사용할 수 없습니다.
+Item tag is included and cannot be used.
+*/
+ MSG_ID_E53 = 0xe53,
+/*20190904 to latest
+Monster
+*/
+ MSG_ID_E54 = 0xe54,
+/*20190904 to latest
+Unknown
+*/
+ MSG_ID_E55 = 0xe55,
+/*20190904 to latest
+Undead
+*/
+ MSG_ID_E56 = 0xe56,
+/*20190904 to latest
+Animal
+*/
+ MSG_ID_E57 = 0xe57,
+/*20190904 to latest
+Plant
+*/
+ MSG_ID_E58 = 0xe58,
+/*20190904 to latest
+Insect
+*/
+ MSG_ID_E59 = 0xe59,
+/*20190904 to latest
+Marine
+*/
+ MSG_ID_E5A = 0xe5a,
+/*20190904 to latest
+Devil
+*/
+ MSG_ID_E5B = 0xe5b,
+/*20190904 to latest
+Human
+*/
+ MSG_ID_E5C = 0xe5c,
+/*20190904 to latest
+Angel
+*/
+ MSG_ID_E5D = 0xe5d,
+/*20190904 to latest
+Dragon
+*/
+ MSG_ID_E5E = 0xe5e,
+#endif
+#if PACKETVER >= 20190918
+/*20190918 to latest
+Balance: %s %c
+*/
+ MSG_ID_E5F = 0xe5f,
+/*20190918 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %s캐시가 차감됩니다.
+Do you really want to purchase this item? %s Money will be deducted from your total balance.
+*/
+ MSG_ID_E60 = 0xe60,
+/*20190918 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %s캐시, 무료 %s캐시가 차감됩니다.
+Do you really want to purchase this item? %s Money and %s Free Points will be deducted from your total balance.
+*/
+ MSG_ID_E61 = 0xe61,
+/*20190918 to 20190918
+[%s]의 호출이 거부되었습니다.
+20190925 to latest
+호출이 거부되었습니다.
+*/
+ MSG_ID_E62 = 0xe62,
+/*20190918 to latest
+구매 한도액은 소지액을 초과할 수 없습니다.
+*/
+ MSG_ID_E63 = 0xe63,
+/*20190918 to latest
+노점을 여는데 실패하였습니다. 구매노점 개설을 닫아주시기 바랍니다.
+*/
+ MSG_ID_E64 = 0xe64,
+#endif
+#if PACKETVER >= 20191002
+/*20191002 to latest
+판매 노점 아이템 리스트가 저장되었습니다.
+*/
+ MSG_ID_E65 = 0xe65,
+/*20191002 to latest
+구매 노점 아이템 리스트가 저장되었습니다.
+*/
+ MSG_ID_E66 = 0xe66,
+/*20191002 to latest
+VTC 인증에 실패하였습니다.
+*/
+ MSG_ID_E67 = 0xe67,
+#endif
+#if PACKETVER >= 20191016
+/*20191016 to latest
+물물교환 중에는 장비를 착용할 수 없습니다.
+*/
+ MSG_ID_E68 = 0xe68,
+/*20191016 to latest
+교환하려는 품목
+*/
+ MSG_ID_E69 = 0xe69,
+/*20191016 to latest
+ 1차, 2차, 3차 직업 스킬 %d개를 더 올려 주십시오.
+*/
+ MSG_ID_E6A = 0xe6a,
+#endif
+#if PACKETVER >= 20191030
+/*20191030 to latest
+같은 아이템은 %d개까지 소유할 수 있습니다.
+*/
+ MSG_ID_E6B = 0xe6b,
+/*20191030 to latest
+같은 아이템은 한 번에 %d개까지 교환할 수 있습니다.
+*/
+ MSG_ID_E6C = 0xe6c,
+/*20191030 to latest
+해당 로덱스는 "%s"서버에서 열 수 있습니다.
+*/
+ MSG_ID_E6D = 0xe6d,
+/*20191030 to latest
+[공지]편지함의 모든 메일을 삭제하시겠습니까 ?
+(해당 "%s"서버의 메일만 삭제됩니다.)
+*/
+ MSG_ID_E6E = 0xe6e,
+/*20191030 to latest
+[공지]편지함의 모든 첨부 물품을 받으시겠습니까?
+(해당 "%s"서버의 메일의 물품만 받으실 수 있습니다.)
+*/
+ MSG_ID_E6F = 0xe6f,
+/*20191030 to latest
+해당 메일은 "%s"서버에서만 삭제 가능합니다.
+*/
+ MSG_ID_E70 = 0xe70,
+/*20191030 to latest
+해당 메일은 "%s"서버에서만 물품 받기가 가능합니다.
+*/
+ MSG_ID_E71 = 0xe71,
+/*20191030 to latest
+해당 메일은 "%s"서버에서만 내용읽기가 가능합니다.
+*/
+ MSG_ID_E72 = 0xe72,
+/*20191030 to latest
+합계 : %d z
+*/
+ MSG_ID_E73 = 0xe73,
+/*20191030 to latest
+메세지
+*/
+ MSG_ID_E74 = 0xe74,
+#endif
+#if PACKETVER >= 20191106
+/*20191106 to latest
+구매상점 개설 중에는 개인상점의 물건을 구입할 수 없습니다.
+*/
+ MSG_ID_E75 = 0xe75,
+#endif
+#if PACKETVER >= 20191113
+/*20191113 to latest
+등급강화가 성공적으로 되었습니다.
+*/
+ MSG_ID_E76 = 0xe76,
+/*20191113 to latest
+등급강화가 실패하였습니다.
+*/
+ MSG_ID_E77 = 0xe77,
+/*20191113 to latest
+등급 수치가 하향 조정 되었습니다.
+*/
+ MSG_ID_E78 = 0xe78,
+/*20191113 to latest
+장비가 파괴되었습니다.
+*/
+ MSG_ID_E79 = 0xe79,
+/*20191113 to latest
+장비가 보호되었습니다.
+*/
+ MSG_ID_E7A = 0xe7a,
+/*20191113 to latest
+재료가 선택되지 않았습니다.
+*/
+ MSG_ID_E7B = 0xe7b,
+/*20191113 to latest
+재료가 부족합니다.
+*/
+ MSG_ID_E7C = 0xe7c,
+/*20191113 to latest
+소지 금액이 부족합니다.
+*/
+ MSG_ID_E7D = 0xe7d,
+/*20191113 to latest
+아이템 공간이 부족합니다.
+*/
+ MSG_ID_E7E = 0xe7e,
+/*20191113 to latest
+장비가 보호되고 있습니다.
+*/
+ MSG_ID_E7F = 0xe7f,
+/*20191113 to latest
+장비가 파괴될 수 있습니다.
+*/
+ MSG_ID_E80 = 0xe80,
+/*20191113 to latest
+등급강화 실패 시 등급이 내려갑니다.
+*/
+ MSG_ID_E81 = 0xe81,
+/*20191113 to latest
+등급강화 중에는 로덱스를 사용할 수 없습니다. 로덱스를 강제 종료하였습니다.
+*/
+ MSG_ID_E82 = 0xe82,
+/*20191113 to latest
+등급강화 중에는 로덱스를 사용할 수 없습니다.
+*/
+ MSG_ID_E83 = 0xe83,
+/*20191113 to latest
+등급강화 중에는 은행을 사용할 수 없습니다. 은행을 강제 종료하였습니다.
+*/
+ MSG_ID_E84 = 0xe84,
+/*20191113 to latest
+등급강화 중에는 은행을 사용할 수 없습니다.
+*/
+ MSG_ID_E85 = 0xe85,
+/*20191113 to latest
+[%s] 님이 등급강화를 성공하여, [%s등급 %s] 아이템을 획득하였습니다.
+*/
+ MSG_ID_E86 = 0xe86,
+/*20191113 to latest
+[%s] 님이 [%s등급 %s] 아이템의 등급강화에 실패하였습니다.
+*/
+ MSG_ID_E87 = 0xe87,
+/*20191113 to latest
+등급 강화가 불가능한 장비입니다.
+*/
+ MSG_ID_E88 = 0xe88,
+/*20191113 to latest
+체인지 메테리얼
+*/
+ MSG_ID_E89 = 0xe89,
+/*20191113 to latest
+가나다 정렬
+*/
+ MSG_ID_E8A = 0xe8a,
+/*20191113 to 20191224
+기본 결과물은 %s %d개 이나, 낮은 확률로 최대 %d개까지 생성될 수 있습니다.
+20200108 to latest
+※[%s] %d~%d개 제작
+*/
+ MSG_ID_E8B = 0xe8b,
+/*20191113 to latest
+성공 %d%%
+*/
+ MSG_ID_E8C = 0xe8c,
+/*20191113 to latest
+아이템 태그는 소지한 아이템만 태그할 수 있습니다.
+*/
+ MSG_ID_E8D = 0xe8d,
+#endif
+#if PACKETVER >= 20191127
+/*20191127 to latest
+공격력 및 특성 공격력이 증가되었습니다.
+*/
+ MSG_ID_E8E = 0xe8e,
+/*20191127 to latest
+강인한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E8F = 0xe8f,
+/*20191127 to latest
+HP 및 물리 저항력이 증가되었습니다.
+*/
+ MSG_ID_E90 = 0xe90,
+/*20191127 to latest
+굳건한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E91 = 0xe91,
+/*20191127 to latest
+공격 속도 및 유도 공격 확률이 증가되었습니다.
+*/
+ MSG_ID_E92 = 0xe92,
+/*20191127 to latest
+신실한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E93 = 0xe93,
+/*20191127 to latest
+POW, CRT 및 CON 이 증가되었습니다.
+*/
+ MSG_ID_E94 = 0xe94,
+/*20191127 to latest
+베네딕툼 효과가 해제되었습니다.
+*/
+ MSG_ID_E95 = 0xe95,
+/*20191127 to latest
+SPL, WIS 및 CRT 가 증가되었습니다.
+*/
+ MSG_ID_E96 = 0xe96,
+/*20191127 to latest
+렐리지오 효과가 해제되었습니다.
+*/
+ MSG_ID_E97 = 0xe97,
+/*20191127 to latest
+특성 공격력 및 특성 마법 공격력이 증가되었습니다.
+*/
+ MSG_ID_E98 = 0xe98,
+/*20191127 to latest
+콤페텐티아 효과가 해제되었습니다.
+*/
+ MSG_ID_E99 = 0xe99,
+/*20191127 to latest
+크리티컬 데미지 비율이 증가되었습니다.
+*/
+ MSG_ID_E9A = 0xe9a,
+/*20191127 to latest
+프레센스 아치에스 효과가 해제되었습니다.
+*/
+ MSG_ID_E9B = 0xe9b,
+/*20191127 to latest
+물리 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_E9C = 0xe9c,
+/*20191127 to latest
+아르구투스 텔룸 효과가 해제되었습니다.
+*/
+ MSG_ID_E9D = 0xe9d,
+/*20191127 to latest
+마법 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_E9E = 0xe9e,
+/*20191127 to latest
+아르구투스 비타 효과가 해제되었습니다.
+*/
+ MSG_ID_E9F = 0xe9f,
+/*20191127 to latest
+Num: %d/%d Weight: %d/%d
+*/
+ MSG_ID_EA0 = 0xea0,
+#endif
+#if PACKETVER >= 20191204
+/*20191204 to latest
+서번트 웨폰 효과가 해제되었습니다.
+*/
+ MSG_ID_EA1 = 0xea1,
+/*20191204 to latest
+챠징 피어스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA2 = 0xea2,
+/*20191204 to latest
+비고르 효과가 해제되었습니다.
+*/
+ MSG_ID_EA3 = 0xea3,
+/*20191204 to latest
+공격력이 증가하고, 방어력이 감소되었습니다.
+*/
+ MSG_ID_EA4 = 0xea4,
+/*20191204 to latest
+어택 스탠스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA5 = 0xea5,
+/*20191204 to latest
+방어력이 증가하고, 공격력이 감소되었습니다.
+*/
+ MSG_ID_EA6 = 0xea6,
+/*20191204 to latest
+가드 스탠스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA7 = 0xea7,
+/*20191204 to latest
+배리어가 부여되었습니다.
+*/
+ MSG_ID_EA8 = 0xea8,
+/*20191204 to latest
+가디언 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EA9 = 0xea9,
+/*20191204 to latest
+헌신 효과로 받는 데미지가 감소되었습니다.
+*/
+ MSG_ID_EAA = 0xeaa,
+/*20191204 to latest
+리바운드 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EAB = 0xeab,
+/*20191204 to latest
+성속성 마법 데미지와 암/불사속성 내성이 증가되었습니다.
+*/
+ MSG_ID_EAC = 0xeac,
+/*20191204 to latest
+홀리 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EAD = 0xead,
+/*20191204 to latest
+즉시 부활 효과가 부여되었습니다.
+*/
+ MSG_ID_EAE = 0xeae,
+/*20191204 to latest
+얼티메이트 세크리파이스 효과가 해제되었습니다.
+*/
+ MSG_ID_EAF = 0xeaf,
+/*20191204 to latest
+특정 스킬의 효능이 변경되었습니다.
+*/
+ MSG_ID_EB0 = 0xeb0,
+/*20191204 to latest
+클라이막스 효과가 해제되었습니다.
+*/
+ MSG_ID_EB1 = 0xeb1,
+/*20191204 to latest
+특정 스킬의 효능이 변경되었습니다.
+*/
+ MSG_ID_EB2 = 0xeb2,
+/*20191204 to latest
+쉐도우 익시드 효과가 해제되었습니다.
+*/
+ MSG_ID_EB3 = 0xeb3,
+/*20191204 to latest
+물리 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_EB4 = 0xeb4,
+/*20191204 to latest
+포텐트 베넘 효과가 해제되었습니다.
+*/
+ MSG_ID_EB5 = 0xeb5,
+/*20191204 to latest
+매 공격 시, 일정 확률로 대상이 받는 데미지를 증가시킵니다.
+*/
+ MSG_ID_EB6 = 0xeb6,
+/*20191204 to latest
+인챈팅 쉐도우 효과가 해제되었습니다.
+*/
+ MSG_ID_EB7 = 0xeb7,
+#endif
+#if PACKETVER >= 20191211
+/*20191211 to latest
+토벌 카운트 On
+*/
+ MSG_ID_EB8 = 0xeb8,
+/*20191211 to latest
+토벌 카운트 Off
+*/
+ MSG_ID_EB9 = 0xeb9,
+/*20191211 to latest
+대상의 AP가 최대치입니다
+*/
+ MSG_ID_EBA = 0xeba,
+/*20191211 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %d캐시가 차감됩니다.
+*/
+ MSG_ID_EBB = 0xebb,
+/*20191211 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %d캐시, 무료 %d캐시가 차감됩니다.
+*/
+ MSG_ID_EBC = 0xebc,
+#endif
+#if PACKETVER >= 20191218
+/*20191218 to latest
+서번트 웨폰 %d개가 필요합니다.
+*/
+ MSG_ID_EBD = 0xebd,
+/*20191218 to latest
+https://member.gnjoy.com.tw/billing.aspx
+*/
+ MSG_ID_EBE = 0xebe,
+#endif
+#if PACKETVER >= 20200108
+/*20200108 to latest
+역순 정렬
+*/
+ MSG_ID_EBF = 0xebf,
+/*20200108 to latest
+검색 내용 입력
+*/
+ MSG_ID_EC0 = 0xec0,
+/*20200108 to latest
+검색
+Search
+*/
+ MSG_ID_EC1 = 0xec1,
+#endif
+#if PACKETVER >= 20200122
+/*20200122 to latest
+리서치 리포트 상태가 됩니다.
+*/
+ MSG_ID_EC2 = 0xec2,
+/*20200122 to latest
+리서치 리포트 상태가 해제됩니다.
+*/
+ MSG_ID_EC3 = 0xec3,
+/*20200122 to latest
+제조에 성공 했습니다.
+*/
+ MSG_ID_EC4 = 0xec4,
+/*20200122 to latest
+제조에 실패 했습니다.
+*/
+ MSG_ID_EC5 = 0xec5,
+/*20200122 to latest
+쉐도우 장비가 파괴 및 해제에서 보호됩니다.
+*/
+ MSG_ID_EC6 = 0xec6,
+/*20200122 to latest
+풀 쉐도우 프로텍션이 해제됩니다.
+*/
+ MSG_ID_EC7 = 0xec7,
+/*20200122 to latest
+식물형, 무형 몬스터에게 주는 데미지가 증가합니다.
+*/
+ MSG_ID_EC8 = 0xec8,
+/*20200122 to latest
+지옥 나무의 가루효과가 사라집니다.
+*/
+ MSG_ID_EC9 = 0xec9,
+#endif
+#if PACKETVER >= 20200129
+/*20200129 to latest
+공격 장치가 활성화되었습니다.
+*/
+ MSG_ID_ECA = 0xeca,
+/*20200129 to latest
+공격 장치가 해제되었습니다.
+*/
+ MSG_ID_ECB = 0xecb,
+/*20200129 to latest
+물리 방어력 및 물리 저항력이 증가되었습니다.
+*/
+ MSG_ID_ECC = 0xecc,
+/*20200129 to latest
+방어 장치가 해제되었습니다.
+*/
+ MSG_ID_ECD = 0xecd,
+/*20200129 to latest
+검색
+Search
+*/
+ MSG_ID_ECE = 0xece,
+#endif
+#if PACKETVER >= 20200212
+/*20200212 to latest
+합주를 혼자 사용할 수 있습니다.
+*/
+ MSG_ID_ECF = 0xecf,
+/*20200212 to latest
+크바시르의 지혜가 사라집니다.
+*/
+ MSG_ID_ED0 = 0xed0,
+/*20200212 to latest
+미스틱 심포니의 효과가 부여됩니다.
+*/
+ MSG_ID_ED1 = 0xed1,
+/*20200212 to latest
+미스틱 심포니의 효과가 사라집니다.
+*/
+ MSG_ID_ED2 = 0xed2,
+/*20200212 to latest
+마법 저항력이 감소했습니다.
+*/
+ MSG_ID_ED3 = 0xed3,
+/*20200212 to latest
+게페니아 녹턴의 효과가 해제 되었습니다.
+*/
+ MSG_ID_ED4 = 0xed4,
+/*20200212 to latest
+물리 저항력이 감소했습니다.
+*/
+ MSG_ID_ED5 = 0xed5,
+/*20200212 to latest
+마인워커 랩소디 상태가 해제되었습니다.
+*/
+ MSG_ID_ED6 = 0xed6,
+/*20200212 to latest
+물리 저항력이 증가했습니다.
+*/
+ MSG_ID_ED7 = 0xed7,
+/*20200212 to latest
+뮤지컬 인터루드 상태가 해제되었습니다.
+*/
+ MSG_ID_ED8 = 0xed8,
+/*20200212 to latest
+특성 마법 공격력과 이동 속도가 증가합니다.
+*/
+ MSG_ID_ED9 = 0xed9,
+/*20200212 to latest
+저녁 노을의 세레나데 효과가 해제되었습니다.
+*/
+ MSG_ID_EDA = 0xeda,
+/*20200212 to latest
+특성 물리 공격력과 이동 속도가 증가합니다.
+*/
+ MSG_ID_EDB = 0xedb,
+/*20200212 to latest
+ 프론테라의 행진곡 효과가 해제되었습니다.
+*/
+ MSG_ID_EDC = 0xedc,
+/*20200212 to latest
+바람의 분노가 시전자에게 흘러 들어옵니다.
+*/
+ MSG_ID_EDD = 0xedd,
+/*20200212 to latest
+캘러미티 가일 상태가 해제되었습니다.
+*/
+ MSG_ID_EDE = 0xede,
+/*20200212 to latest
+바람에 의해 약점과 모습이 드러납니다.
+*/
+ MSG_ID_EDF = 0xedf,
+/*20200212 to latest
+윈드 사인 효과가 사라집니다.
+*/
+ MSG_ID_EE0 = 0xee0,
+#endif
+#if PACKETVER >= 20200304
+/*20200304 to latest
+E X P : %.1f%% ( basic 100.0%% %s %.1f%%)
+EXP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE1 = 0xee1,
+/*20200304 to latest
+DROP : %.1f%% ( basic 100.0%% %s %.1f%%)
+DROP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE2 = 0xee2,
+/*20200304 to latest
+DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
+DEATH: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE3 = 0xee3,
+#endif
};
#endif /* MAP_MESSAGES_MAIN_H */
diff --git a/src/map/messages_re.h b/src/map/messages_re.h
index af66a8464..e32f6b275 100644
--- a/src/map/messages_re.h
+++ b/src/map/messages_re.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20190109
+Latest version: 20200304
*/
enum clif_messages {
@@ -625,9 +625,11 @@ Fire
Wind
*/
MSG_WIND = 0x76,
-/*20080827 to latest
+/*20080827 to 20191023
같은종류의 장비아이템은 한번에 한개만 살 수 있습니다.
Please avoid buying 2 of the same items at one time.
+20191030 to latest
+같은 종류의 장비 아이템은 한 번에 한 개만 살 수 있습니다.
*/
MSG_EQUIPITEM_OLNY_ONE = 0x77,
/*20080827 to latest
@@ -752,7 +754,7 @@ Congratulations! You are the MVP! Your reward item is
MSG_YOU_RECEIVE_MVP_ITEM = 0x8f,
/*20080827 to latest
!!
-!!
+!
*/
MSG_YOU_RECEIVE_MVP_ITEM2 = 0x90,
/*20080827 to latest
@@ -1229,9 +1231,11 @@ Cart Items [Alt+W]
Basic Information
*/
MSG_BASICINFOWND = 0xee,
-/*20080827 to latest
+/*20080827 to 20191204
이무기로는 이스킬을 사용할수 없습니다.
The skill cannot be used with this weapon.
+20191211 to latest
+현재 무기로는 스킬을 사용할 수 없습니다.
*/
MSG_USESKILL_FAIL_NOT_SUITABLE_WEAPON = 0xef,
/*20080827 to latest
@@ -3914,7 +3918,6 @@ Mouse wheel skills for F7 and F8 are Disabled.[/q2 OFF]
MSG_EXPLAIN_QUICKSPELL2 = 0x302,
/*20080827 to latest
/q3 : /quickspell (/q1) + /quickspell2 (/q2)
-/q3: /quickspell (/q1) + /quickspell2 (/q2)
*/
MSG_EXPLAIN_QUICKSPELL3 = 0x303,
/*20080827 to latest
@@ -4967,7 +4970,7 @@ High Wizard
MSG_WIZARD_H = 0x3da,
/*20080827 to latest
White Smith
-WhiteSmith
+MasterSmith
*/
MSG_BLACKSMITH_H = 0x3db,
/*20080827 to latest
@@ -6623,7 +6626,6 @@ Quest List
MSG_QUESTWIN = 0x525,
/*20080827 to latest
RO SHOP
-RO Shop
*/
MSG_RO_SHOP = 0x526,
/*20080827 to latest
@@ -6778,9 +6780,11 @@ The Memorial Dungeon's entry time limit expired; it has been destroyed.
The Memorial Dungeon has been removed.
*/
MSG_MEMORIAL_DUN_DESTROY_REQUEST = 0x544,
-/*20080827 to latest
+/*20080827 to 20191218
메모리얼 던전에 시스템 오류가 발생하였습니다. 정상적인 게임 진행을 위해 재접속을 해주십시오.
A system error has occurred in the Memorial Dungeon. Please relog in to the game to continue playing.
+20191224 to latest
+메모리얼 던전에 통신 장애가 발생하였습니다. 정상적인 게임 진행을 위해 잠시 후, 재접속을 해주십시오.
*/
MSG_MEMORIAL_DUN_ERROR = 0x545,
/*20080827 to latest
@@ -10434,7 +10438,6 @@ ITEM
MSG_MACRO_SKILL = 0x775,
/*20110228 to 20110228
Next attack time :
-Next attack time:
20110308 to latest
TACTIC
20130807 to 20130814
@@ -10451,6 +10454,7 @@ TACTIC
MSG_MACRO_ETC = 0x777,
/*20110228 to 20110228
When invited to a party
+When invited to the party
20110308 to latest
COMBAT
20130807 to 20130814
@@ -10495,7 +10499,6 @@ ATTACK
MSG_MACRO_ATTACK = 0x77d,
/*20110308 to latest
Next attack time :
-Next attack time:
20130807 to 20130814
ATTACK
*/
@@ -10504,11 +10507,11 @@ ATTACK
When died
20130807 to 20130814
Next attack time :
-Next attack time:
*/
MSG_MACRO_WHEN_DIED = 0x77f,
/*20110308 to latest
When invited to a party
+When invited to the party
20130807 to 20130814
When died
*/
@@ -10517,6 +10520,7 @@ When died
Pickup Item
20130807 to 20130814
When invited to a party
+When invited to the party
*/
MSG_MACRO_PICKUP_ITEM = 0x781,
/*20110308 to latest
@@ -10546,7 +10550,6 @@ Any work in progress (NPC dialog, manufacturing ...) quit and try again.
ExMacro_SaveData%d
20110412 to latest
SaveData_ExMacro%d
-SaveData_ExMacro %d
20130807 to 20130814
몬스터 사냥을 통해 얻을 수 있는 Job경험치가 %d분간 %.2f배로 증가합니다.
Monster Job hunting experience that you can get through the doubling of %d is %.2f minutes.
@@ -10557,7 +10560,6 @@ Monster Job hunting experience that you can get through the doubling of %d is %.
Settings for [%s] are stored in.
20130807 to 20130814
SaveData_ExMacro%d
-SaveData_ExMacro %d
*/
MSG_MACRO_SAVE_DATA2 = 0x786,
#endif
@@ -10825,57 +10827,44 @@ Current location of the shop and chat room creation is disabled.
MSG_REPLAY_ELAPSEDTIME = 0x7a3,
/*20110816 to latest
Speed : X 1/4
-Speed: X 1/4
20130807 to 20130814
Elapsed time: %d:%d:%d / %d:%d:%d
*/
MSG_REPLAY_SPEED1_4 = 0x7a4,
/*20110816 to latest
Speed : X 1/2
-Speed: X 1/2
20130807 to 20130814
Speed : X 1/4
-Speed: X 1/4
*/
MSG_REPLAY_SPEED1_2 = 0x7a5,
/*20110816 to latest
Speed : X 1
-Speed: X 1
20130807 to 20130814
Speed : X 1/2
-Speed: X 1/2
*/
MSG_REPLAY_SPEED1 = 0x7a6,
/*20110816 to latest
Speed : X 2
-Speed: X 2
20130807 to 20130814
Speed : X 1
-Speed: X 1
*/
MSG_REPLAY_SPEED2 = 0x7a7,
/*20110816 to latest
Speed : X 4
-Speed: X 4
20130807 to 20130814
Speed : X 2
-Speed: X 2
*/
MSG_REPLAY_SPEED4 = 0x7a8,
/*20110816 to latest
Speed : X 8
-Speed: X 8
20130807 to 20130814
Speed : X 4
-Speed: X 4
*/
MSG_REPLAY_SPEED8 = 0x7a9,
/*20110816 to latest
Speed : X 16
-Speed: X 16
20130807 to 20130814
Speed : X 8
-Speed: X 8
*/
MSG_REPLAY_SPEED16 = 0x7aa,
/*20110816 to latest
@@ -10883,12 +10872,10 @@ Speed : 알수없음
Speed: Unknown
20130807 to 20130814
Speed : X 16
-Speed: X 16
*/
MSG_REPLAY_SPEEDUNKNOWN = 0x7ab,
/*20110816 to latest
Service Info : %s
-Service Info: %s
20130807 to 20130814
Speed : 알수없음
Speed: Unknown
@@ -10896,25 +10883,20 @@ Speed: Unknown
MSG_REPLAY_CHRVICEINFO = 0x7ac,
/*20110816 to latest
Character Name : %s
-Character Name: %s
20130807 to 20130814
Service Info : %s
-Service Info: %s
*/
MSG_REPLAY_CHARACTERNAME = 0x7ad,
/*20110816 to latest
Map Name : %s
-Map Name: %s
20130807 to 20130814
Character Name : %s
-Character Name: %s
*/
MSG_REPLAY_MAPNAME = 0x7ae,
/*20110816 to latest
Record Time: %d-%01d-%01d %d: %02d: %02d
20130807 to 20130814
Map Name : %s
-Map Name: %s
*/
MSG_REPLAY_RECORDTIME = 0x7af,
/*20110816 to latest
@@ -10997,20 +10979,24 @@ Stop
MSG_REPLAY_START2 = 0x7bb,
/*20110816 to latest
Open Option
+Open Options
20130807 to 20130814
Input FileName -> Start
*/
MSG_REPLAY_OPENOPTION = 0x7bc,
/*20110816 to latest
Close Option
+Close Options
20130807 to 20130814
Open Option
+Open Options
*/
MSG_REPLAY_CLOSEOPION = 0x7bd,
/*20110816 to latest
End
20130807 to 20130814
Close Option
+Close Options
*/
MSG_REPLAY_END = 0x7be,
/*20110816 to latest
@@ -11075,6 +11061,7 @@ The same file exists already.
MSG_REPLAY_RECORDSTART = 0x7c6,
/*20110816 to latest
is Saved.
+Recording saved
20130807 to 20130814
Record Start
*/
@@ -11083,17 +11070,16 @@ Record Start
#if PACKETVER >= 20110823
/*20110823 to latest
Weight : %3d / %3d
-Weight: %3d / %3d
20130807 to 20130814
is Saved.
+Recording saved
*/
MSG_WEIGHT = 0x7c8,
/*20110823 to latest
Total : %s C
-Total: %s C
+Total: %s EUR
20130807 to 20130814
Weight : %3d / %3d
-Weight: %3d / %3d
*/
MSG_TOTAL = 0x7c9,
/*20110823 to latest
@@ -11101,7 +11087,7 @@ Weight: %3d / %3d
[Shuriken] must be equipped.
20130807 to 20130814
Total : %s C
-Total: %s C
+Total: %s EUR
*/
MSG_FAIL_NEED_EQUIPPED_SYURIKEN = 0x7ca,
#endif
@@ -11121,7 +11107,6 @@ Base Lv. %d
MSG__BASIC_MSG_JOB = 0x7cc,
/*20110831 to latest
Zeny : %s
-Zeny: %s
20130807 to 20130814
Job Lv. %d
*/
@@ -11130,7 +11115,6 @@ Job Lv. %d
Trilinear
20130807 to 20130814
Zeny : %s
-Zeny: %s
*/
MSG_GRAPHIC_MSG_TRILINEAR = 0x7ce,
/*20110831 to latest
@@ -11153,6 +11137,7 @@ skill
MSG_GRAPHIC_MSG_ITEM = 0x7d1,
/*20110831 to latest
NoCtrl
+Ctrl
20130807 to 20130814
item
*/
@@ -11162,10 +11147,12 @@ item
More
20130807 to 20130814
NoCtrl
+Ctrl
*/
MSG_GRAPHIC_MSG_BATTLE = 0x7d3,
/*20110831 to latest
(Character/Total Slot)
+(Characters/Total slots)
20130807 to 20130814
전장
More
@@ -11176,6 +11163,7 @@ Premium Service
VIP Service
20130807 to 20130814
(Character/Total Slot)
+(Characters/Total slots)
*/
MSG_CHARACTER_MSG_PREMIUMSERVICE = 0x7d5,
/*20110831 to latest
@@ -12514,6 +12502,7 @@ Move
Combining items will be only one kind at a time.
20120320 to latest
Make Character
+Create Character
20130807 to 20130814
이름변경
Rename
@@ -12526,6 +12515,7 @@ You cannot have more than 30,000 stacked items.
http://ro.game.gnjoy.com/
20130807 to 20130814
Make Character
+Create Character
*/
MSG_UAE_URL = 0x877,
#endif
@@ -12847,7 +12837,6 @@ Change to Default UI
MSG_NAVIGATION_HELP = 0x89d,
/*20120417 to latest
ALL
-All
20130807 to 20130814
도움말
Help
@@ -12857,7 +12846,6 @@ Help
Map
20130807 to 20130814
ALL
-All
*/
MSG_NAVIGATION_MAP = 0x89f,
/*20120417 to latest
@@ -14992,7 +14980,7 @@ You entered more than 1 Billion Zeny, the price will be set to 1 Billion Zeny.
ErrorCode : %d, ErrorValue : %d
20130612 to latest
ErrorCategory : %d, ErrorCode : %d (%d,%d,%d,%d)
-ErrorCategory: %d, ErrorCode: %d (%d,%d,%d,%d)
+ErrorCode : %d, ErrorValue : %d
20130807 to 20130814
AuthTicket is Not Vaild
AuthTicket is Not Valid
@@ -15007,7 +14995,7 @@ AuthTicket is Not Valid
%d%% ( Basic 100%% + Premium %d%% + Internet cafe %d%% + %s Server %d%% )
20130807 to 20130814
ErrorCategory : %d, ErrorCode : %d (%d,%d,%d,%d)
-ErrorCategory: %d, ErrorCode: %d (%d,%d,%d,%d)
+ErrorCode : %d, ErrorValue : %d
*/
MSG_BASIC_EXP_MSG_INDONESIA = 0x9a6,
/*20130618 to 20130925
@@ -15040,7 +15028,6 @@ The price of^0000FF %s^000000
MSG_WARNING_PRICE1 = 0x9a9,
/*20130626 to latest
100000000
-1000000000
20130807 to 20130814
%s 의 가격이
The price of^0000FF %s^000000
@@ -15051,7 +15038,6 @@ The price of^0000FF %s^000000
is over ^FF0000%d^0000FF Billion^000000 Zeny and
20130807 to 20130814
100000000
-1000000000
*/
MSG_WARNING_PRICE3 = 0x9ab,
/*20130626 to latest
@@ -15828,7 +15814,7 @@ You can not open the mail.
MSG_FAILED_TO_WRITE_MAIL = 0xa2c,
/*20140416 to latest
You are currently joined in CLan !!
-You are currently joined in Clan !!
+You currently belong to a clan.
*/
MSG_JOINED_IN_CLAN = 0xa2d,
/*20140416 to latest
@@ -15899,17 +15885,14 @@ The recipient's name does not exist.
#if PACKETVER >= 20140430
/*20140430 to latest
E X P : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-EXP : %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_EXPMSG = 0xa38,
/*20140430 to latest
DROP : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-DROP : %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_DROPMSG = 0xa39,
/*20140430 to latest
DEATH : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-DEATH: %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_DEATHMSG = 0xa3a,
#endif
@@ -16160,7 +16143,6 @@ Adventure
%s GD
20141001 to latest
%s
-%s
*/
MSG_CASH_GEDARE_MONEY = 0xa5f,
/*20140723 to 20140723
@@ -16401,17 +16383,14 @@ Please empty at least 5 amount of possession in item window.
MSG_NOT_ENOUGH_SPACE_IN_ITEM_BODY = 0xa85,
/*20140917 to latest
E X P : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-EXP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_EXPMSG = 0xa86,
/*20140917 to latest
DROP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-DROP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_DROPMSG = 0xa87,
/*20140917 to latest
DEATH : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-DEATH : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_DEATHMSG = 0xa88,
/*20140917 to latest
@@ -16857,12 +16836,10 @@ Withdraw
MSG_ID_AD7 = 0xad7,
/*20150304 to latest
1 z UP
-1z UP
*/
MSG_ID_AD8 = 0xad8,
/*20150304 to latest
1 z Down
-1z Down
*/
MSG_ID_AD9 = 0xad9,
/*20150304 to latest
@@ -17037,17 +17014,14 @@ Send Mail
#if PACKETVER >= 20150729
/*20150729 to latest
E X P : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
-E X P: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AF9 = 0xaf9,
/*20150729 to latest
DROP : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
-DROP : %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AFA = 0xafa,
/*20150729 to latest
DEATH : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
-DEATH: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AFB = 0xafb,
#endif
@@ -17057,6 +17031,7 @@ DEATH: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
Name with this tag cannot be used.
20181002 to latest
해당 내용은 이름으로 사용하실 수 없습니다.
+You cannot use the tag as a name.
*/
MSG_ID_AFC = 0xafc,
#endif
@@ -17279,7 +17254,6 @@ SNS통신
TWITTER
20160824 to latest
Twitter
-TWITTER
*/
MSG_ID_B1D = 0xb1d,
/*20160224 to latest
@@ -17643,7 +17617,6 @@ The [%s] is not present, the default AI will be used instead.
%.1f%% ( Premium %.1f%% + %s %.1f%%)
20160706 to latest
%.1f%% ( Basic 100.0%% + Premium %.1f%% + %s %.1f%%)
-%.1f%% ( Basic 100.0%% + Premium %.1f%% + %s %.1f%%)
*/
MSG_ID_B62 = 0xb62,
#endif
@@ -18265,10 +18238,12 @@ Weight limit has reached toover 70%. Or less then 10 invenrory space.
MSG_ID_BCE = 0xbce,
/*20161123 to latest
C
+EUR
*/
MSG_ID_BCF = 0xbcf,
/*20161123 to latest
C
+EUR
*/
MSG_ID_BD0 = 0xbd0,
/*20161123 to latest
@@ -18522,10 +18497,12 @@ SP
MSG_ID_BFD = 0xbfd,
/*20161228 to latest
Lv
+Lv.
*/
MSG_ID_BFE = 0xbfe,
/*20161228 to latest
Lv
+Lv.
*/
MSG_ID_BFF = 0xbff,
/*20161228 to latest
@@ -18538,6 +18515,7 @@ Exp
MSG_ID_C01 = 0xc01,
/*20161228 to latest
Play Replay Flie
+Start replay
*/
MSG_ID_C02 = 0xc02,
/*20161228 to latest
@@ -18554,14 +18532,17 @@ Basicinfo
MSG_ID_C05 = 0xc05,
/*20161228 to latest
Equip
+Equipment
*/
MSG_ID_C06 = 0xc06,
/*20161228 to latest
Item
+Items
*/
MSG_ID_C07 = 0xc07,
/*20161228 to latest
Skill
+Skills
*/
MSG_ID_C08 = 0xc08,
/*20161228 to latest
@@ -18574,10 +18555,12 @@ Party
MSG_ID_C0A = 0xc0a,
/*20161228 to latest
Chatting
+Chat
*/
MSG_ID_C0B = 0xc0b,
/*20161228 to latest
Shortcut
+Hotkeys
*/
MSG_ID_C0C = 0xc0c,
/*20161228 to latest
@@ -18586,15 +18569,16 @@ Status
MSG_ID_C0D = 0xc0d,
/*20161228 to latest
ALL
-All
*/
MSG_ID_C0E = 0xc0e,
/*20161228 to latest
User Defined File Name
+Custom file name
*/
MSG_ID_C0F = 0xc0f,
/*20161228 to latest
Repeated File Check
+Check file
*/
MSG_ID_C10 = 0xc10,
/*20161228 to latest
@@ -18603,10 +18587,12 @@ on
MSG_ID_C11 = 0xc11,
/*20161228 to latest
<Basic Skin>
+<Basic>
*/
MSG_ID_C12 = 0xc12,
/*20161228 to latest
Select Skin
+Choose skin
*/
MSG_ID_C13 = 0xc13,
#endif
@@ -19156,6 +19142,7 @@ Loading the mailbox.
MSG_ID_C76 = 0xc76,
/*20170315 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_C77 = 0xc77,
/*20170315 to latest
@@ -19418,6 +19405,7 @@ BOX
#if PACKETVER >= 20170628
/*20170628 to latest
다시하기
+File abusing detected. Please restart the client with clean files.
*/
MSG_ID_CA9 = 0xca9,
/*20170628 to 20170809
@@ -19576,6 +19564,7 @@ map
MSG_ID_CCC = 0xccc,
/*20170809 to latest
변조된 파일이 발견되었습니다. 게임을 다시 실행시켜주세요.
+File abusing detected. Please restart the client with clean files.
*/
MSG_ID_CCD = 0xccd,
#endif
@@ -19739,9 +19728,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
@@ -19868,6 +19859,7 @@ TokenAgency 서버 연결 실패
MSG_ID_D0D = 0xd0d,
/*20171025 to latest
삭제
+Delete
*/
MSG_ID_D0E = 0xd0e,
/*20171025 to latest
@@ -19931,92 +19923,143 @@ MOTP 입력 시간이 초과되었습니다. 처음부터 다시 로그인해주
모험가 중개소 등록
*/
MSG_ID_D1C = 0xd1c,
-/*20171108 to latest
+/*20171108 to 20191120
모집 중단
+20191127 to latest
+모험가 중개소 등록하기
*/
MSG_ID_D1D = 0xd1d,
-/*20171108 to latest
+/*20171108 to 20191120
모험가 중개소 설정
+20191127 to latest
+모집 중단
*/
MSG_ID_D1E = 0xd1e,
-/*20171108 to latest
+/*20171108 to 20191120
전 지역
+20191127 to latest
+메모
+Note
*/
MSG_ID_D1F = 0xd1f,
-/*20171108 to latest
+/*20171108 to 20191120
직접기재
+20191127 to latest
+퀘스트
+Quest
*/
MSG_ID_D20 = 0xd20,
-/*20171108 to latest
+/*20171108 to 20191120
검사계열
+20191127 to latest
+필드
*/
MSG_ID_D21 = 0xd21,
-/*20171108 to latest
+/*20171108 to 20191120
법사계열
+20191127 to latest
+던전
+Dungeon
*/
MSG_ID_D22 = 0xd22,
-/*20171108 to latest
+/*20171108 to 20191120
궁수계열
+20191127 to latest
+MD
*/
MSG_ID_D23 = 0xd23,
-/*20171108 to latest
+/*20171108 to 20191120
복사계열
+20191127 to latest
+낙원단
*/
MSG_ID_D24 = 0xd24,
-/*20171108 to latest
+/*20171108 to 20191120
상인계열
+20191127 to latest
+기타
+Other
*/
MSG_ID_D25 = 0xd25,
-/*20171108 to latest
+/*20171108 to 20191120
도둑계열
+20191127 to latest
+검색
+Search
*/
MSG_ID_D26 = 0xd26,
-/*20171108 to latest
+/*20171108 to 20191120
태권계열
+20191127 to latest
+초기화
*/
MSG_ID_D27 = 0xd27,
-/*20171108 to latest
+/*20171108 to 20191120
닌자계열
+20191127 to latest
+파티가입신청
*/
MSG_ID_D28 = 0xd28,
-/*20171108 to latest
+/*20171108 to 20191120
건슬링거계열
+20191127 to latest
+목적
*/
MSG_ID_D29 = 0xd29,
-/*20171108 to latest
+/*20171108 to 20191120
도람족계열
+20191127 to latest
+※욕설, 현거래등 운영 규칙에 위배되는 목적으로 사용 시 처벌 받을 수 있습니다.
*/
MSG_ID_D2A = 0xd2a,
-/*20171108 to latest
+/*20171108 to 20191120
지역명
+20191127 to latest
+등록하기
+Register
*/
MSG_ID_D2B = 0xd2b,
-/*20171108 to latest
+/*20171108 to 20191120
지역명 검색
+20191127 to latest
+사용할 수 없는 단어가 포함되어 있습니다.
*/
MSG_ID_D2C = 0xd2c,
-/*20171108 to latest
+/*20171108 to 20191120
가입 요청하기
+20191127 to latest
+파티가입
*/
MSG_ID_D2D = 0xd2d,
-/*20171108 to latest
+/*20171108 to 20191120
신고하기
+20191127 to latest
+1:1대화
*/
MSG_ID_D2E = 0xd2e,
-/*20171108 to latest
+/*20171108 to 20191120
파티 모집 중단
+20191127 to latest
+모집 중지
*/
MSG_ID_D2F = 0xd2f,
-/*20171108 to latest
+/*20171108 to 20191120
지역명을 입력해주세요.
+20191127 to latest
+수정하기
*/
MSG_ID_D30 = 0xd30,
-/*20171108 to latest
+/*20171108 to 20191120
지역
+20191127 to latest
+전체
+All
*/
MSG_ID_D31 = 0xd31,
-/*20171108 to latest
+/*20171108 to 20191120
전 직업
+20191127 to latest
+[%s] 님이 파티가입을 신청했습니다.
*/
MSG_ID_D32 = 0xd32,
/*20171108 to latest
@@ -20058,6 +20101,7 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D3B = 0xd3b,
/*20171108 to latest
태권
+Taekwon
*/
MSG_ID_D3C = 0xd3c,
/*20171108 to 20171115
@@ -20100,10 +20144,12 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D42 = 0xd42,
/*20171115 to latest
차단 리스트가 없습니다
+Ignore-list is empty
*/
MSG_ID_D43 = 0xd43,
/*20171115 to latest
-차단 리스트-
+Characters in ignore-list:
*/
MSG_ID_D44 = 0xd44,
/*20171115 to latest
@@ -20186,12 +20232,17 @@ Password
회원가입
*/
MSG_ID_D56 = 0xd56,
-/*20171122 to latest
+/*20171122 to 20191120
노비스계열
+20191127 to latest
+파티장
+Leader
*/
MSG_ID_D57 = 0xd57,
-/*20171122 to latest
+/*20171122 to 20191120
슈퍼노비스계열
+20191127 to latest
+파티에 가입할 수 있는 레벨이 아닙니다.
*/
MSG_ID_D58 = 0xd58,
/*20171122 to latest
@@ -20204,12 +20255,16 @@ Password
MSG_ID_D5A = 0xd5a,
/*20171122 to 20180328
직업을 한 개 이상 선택해주세요.
-20180404 to latest
+20180404 to 20191120
모집을 희망하는 파티원의 직업을 한 개 이상 선택해 주세요.
+20191127 to latest
+검색내용입력
*/
MSG_ID_D5B = 0xd5b,
-/*20171122 to latest
+/*20171122 to 20191127
지역명을 두 글자 이상 입력해주세요.
+20191204 to latest
+탱커
*/
MSG_ID_D5C = 0xd5c,
/*20171122 to latest
@@ -20300,8 +20355,10 @@ Password
불량 단어가 포함된 이름은 검색할 수 없습니다.
*/
MSG_ID_D71 = 0xd71,
-/*20171213 to latest
+/*20171213 to 20191127
파티 마스터가 요청을 받을 수 없는 맵에 있습니다.
+20191204 to latest
+파티 마스터가 요청을 받을 수 없는 상태입니다.
*/
MSG_ID_D72 = 0xd72,
/*20171213 to latest
@@ -20310,8 +20367,10 @@ Password
MSG_ID_D73 = 0xd73,
/*20171213 to 20180328
님의 파티요청입니다.
-20180404 to latest
+20180404 to 20191127
님의 파티 가입 요청입니다.
+20191204 to latest
+딜러
*/
MSG_ID_D74 = 0xd74,
#endif
@@ -20470,6 +20529,7 @@ This is not the current attendance check event
MSG_ID_D93 = 0xd93,
/*20180207 to latest
개인 상납 경험치가 max에 도달하여, 더 이상 길드 경험치를 누적할 수 없습니다.
+
*/
MSG_ID_D94 = 0xd94,
#endif
@@ -20522,10 +20582,13 @@ Enter 4 english words and 2 chinese words
MSG_ID_D9D = 0xd9d,
/*20180404 to latest
50% 이상의 값을 입력할 수 없습니다.
+The guild tax rate can't be set to more than 50%.
*/
MSG_ID_D9E = 0xd9e,
-/*20180404 to latest
+/*20180404 to 20191204
파티 가입 요청을 보냈습니다.
+20191211 to latest
+파티가 모험가 중개소에 등록되어, 파티장을 변경 할 수 없습니다.
*/
MSG_ID_D9F = 0xd9f,
/*20180404 to latest
@@ -20540,8 +20603,10 @@ Enter 4 english words and 2 chinese words
거절
*/
MSG_ID_DA2 = 0xda2,
-/*20180404 to latest
+/*20180404 to 20191127
설정 권한은 파티장에게 있습니다.
+20191204 to latest
+힐러
*/
MSG_ID_DA3 = 0xda3,
/*20180404 to latest
@@ -20600,8 +20665,10 @@ Enter 4 english words and 2 chinese words
파티 가입 요청
*/
MSG_ID_DB1 = 0xdb1,
-/*20180404 to latest
+/*20180404 to 20191120
파티장이 아닌 경우, 모험가 중개소에 파티를 등록할 수 없습니다.
+20191127 to latest
+파티장이 아닌 경우 모험가 중개소에 파티를 등록할 수 없습니다.
*/
MSG_ID_DB2 = 0xdb2,
/*20180404 to 20180404
@@ -20612,8 +20679,11 @@ Enter 4 english words and 2 chinese words
MSG_ID_DB3 = 0xdb3,
#endif
#if PACKETVER >= 20180418
-/*20180418 to latest
+/*20180418 to 20191127
존재하지 않는 파티 글입니다.
+20191204 to latest
+보조
+Support
*/
MSG_ID_DB4 = 0xdb4,
/*20180418 to 20180418
@@ -20654,16 +20724,20 @@ Zoom Out 기능을 해제합니다 (Off)
파티장인 경우, 가입 요청을 할 수 없습니다.
*/
MSG_ID_DBB = 0xdbb,
-/*20180418 to latest
+/*20180418 to 20191204
모험가 중개소에 등록 중입니다. 잠시만 기다려 주세요.
+20191211 to latest
+파티 가입 최대 레벨은 최소 레벨 설정보다 높아야 합니다.
*/
MSG_ID_DBC = 0xdbc,
/*20180418 to latest
더 이상 직업을 선택할 수 없습니다.
*/
MSG_ID_DBD = 0xdbd,
-/*20180418 to latest
+/*20180418 to 20191120
게임 중 해당 유저의 가입 요청을 받지 않습니다.
+20191127 to latest
+게임 중 해당 유저의 가입 요청을 받지 않습니다.(클라이언트 종료 전까지 유효)
*/
MSG_ID_DBE = 0xdbe,
#endif
@@ -20744,20 +20818,24 @@ Emblem 테두리를 그려주지 않습니다
#if PACKETVER >= 20180718
/*20180718 to latest
E X P : %.1f%% ( basic 100.0%% %s %.1f%%)
+EXP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DCF = 0xdcf,
/*20180718 to latest
DROP : %.1f%% ( basic 100.0%% %s %.1f%%)
+DROP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DD0 = 0xdd0,
/*20180718 to latest
DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
+DEATH: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DD1 = 0xdd1,
#endif
#if PACKETVER >= 20180829
/*20180829 to latest
영문이나 러시아어 단독으로만 사용이 가능합니다.
+Forbidden symbols in character name.
*/
MSG_ID_DD2 = 0xdd2,
/*20180829 to latest
@@ -20766,28 +20844,34 @@ you must have an AccessTicket to login
MSG_ID_DD3 = 0xdd3,
/*20180829 to latest
창고를 불러오는 중입니다.
+Loading....
*/
MSG_ID_DD4 = 0xdd4,
/*20180829 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_DD5 = 0xdd5,
#endif
#if PACKETVER >= 20180919
/*20180919 to latest
삭제
+Delete
*/
MSG_ID_DD6 = 0xdd6,
/*20180919 to latest
답장
+Reply
*/
MSG_ID_DD7 = 0xdd7,
/*20180919 to latest
전송
+Send
*/
MSG_ID_DD8 = 0xdd8,
/*20180919 to latest
이름확인
+Name Check
*/
MSG_ID_DD9 = 0xdd9,
/*20180919 to latest
@@ -20930,6 +21014,7 @@ PvP
#if PACKETVER >= 20190109
/*20190109 to latest
Capture Monster
+Taming monster
*/
MSG_ID_DF5 = 0xdf5,
/*20190109 to latest
@@ -20938,6 +21023,7 @@ message
MSG_ID_DF6 = 0xdf6,
/*20190109 to latest
TITLE
+Header
*/
MSG_ID_DF7 = 0xdf7,
/*20190109 to latest
@@ -20945,6 +21031,1064 @@ TITLE
*/
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
+#if PACKETVER >= 20190508
+/*20190508 to latest
+자유이동권
+*/
+ MSG_ID_E1A = 0xe1a,
+/*20190508 to latest
+%d시간 이용, %s %d개
+*/
+ MSG_ID_E1B = 0xe1b,
+/*20190508 to latest
+자유이용권 사용중
+*/
+ MSG_ID_E1C = 0xe1c,
+/*20190508 to latest
+특성 스테이터스
+*/
+ MSG_ID_E1D = 0xe1d,
+/*20190508 to latest
+파워 파라메터
+^cc0000물리 공격력, 특성 공격력^ffffff 증가
+*/
+ MSG_ID_E1E = 0xe1e,
+/*20190508 to latest
+스테미나 파라메터
+^cc0000물리 저항력^ffffff 증가
+*/
+ MSG_ID_E1F = 0xe1f,
+/*20190508 to latest
+위즈덤 파라메터
+^cc0000마법 저항력^ffffff 증가
+*/
+ MSG_ID_E20 = 0xe20,
+/*20190508 to latest
+스펠 파라메터
+^cc0000마법 공격력, 마법 공격력^ffffff 증가
+*/
+ MSG_ID_E21 = 0xe21,
+/*20190508 to latest
+컨센트레이션 파라메터
+^cc0000명중률, 회피율, 특성 물리/마법 공격력^ffffff 증가
+*/
+ MSG_ID_E22 = 0xe22,
+/*20190508 to latest
+크리에이티브 파라메터
+^cc0000특성 힐 회복량, 크리티컬 데미지 비율^ffffff 증가
+*/
+ MSG_ID_E23 = 0xe23,
+/*20190508 to latest
+특성 물리 공격력
+*/
+ MSG_ID_E24 = 0xe24,
+/*20190508 to latest
+특성 마법 공격력
+*/
+ MSG_ID_E25 = 0xe25,
+/*20190508 to latest
+물리 저항력
+*/
+ MSG_ID_E26 = 0xe26,
+/*20190508 to latest
+마법 저항력
+*/
+ MSG_ID_E27 = 0xe27,
+/*20190508 to latest
+특성 힐 회복량
+*/
+ MSG_ID_E28 = 0xe28,
+/*20190508 to latest
+크리티컬 데미지 비율
+*/
+ MSG_ID_E29 = 0xe29,
+/*20190508 to latest
+특성 파라메터 레벨업에 사용되는 포인트
+*/
+ MSG_ID_E2A = 0xe2a,
+/*20190508 to latest
+J.Lv
+*/
+ MSG_ID_E2B = 0xe2b,
+/*20190508 to latest
+AP
+*/
+ MSG_ID_E2C = 0xe2c,
+#endif
+#if PACKETVER >= 20190522
+/*20190522 to latest
+영지로 이동
+*/
+ MSG_ID_E2D = 0xe2d,
+/*20190522 to latest
+상업도/방어도 확인
+*/
+ MSG_ID_E2E = 0xe2e,
+/*20190522 to 20190605
+관리영지 "%s"(으)로 이동하시겠습니까?
+(1회 이동 시 마다 1,000제니가 소모됩니다.
+공성전 시간에는 제니의 소모가 100배로 증가합니다.)
+20190619 to 20190626
+관리영지 "%s"(으)로 이동하시겠습니까?
+이동 시 마다 %d제니가 소모됩니다.
+20190703 to latest
+관리영지 "%s"(으)로 이동하시겠습니까?
+이동 시 마다 %d제니가 소모됩니다.
+(공성전 시간에는 %d제니가 소모됩니다.)
+*/
+ MSG_ID_E2F = 0xe2f,
+/*20190522 to latest
+
+관리영지 "%s"
+
+방어도: %d / %d
+상업도: %d / %d
+*/
+ MSG_ID_E30 = 0xe30,
+/*20190522 to 20190703
+공성 영지 내에서는 다른 공성 영지로 이동 할 수 없습니다.
+20190717 to latest
+공성 영지에서는 사용할 수 없는 기능입니다.
+*/
+ MSG_ID_E31 = 0xe31,
+#endif
+#if PACKETVER >= 20190619
+/*20190619 to latest
+기본 기능 스킬을 습득하지 않은 캐릭터입니다.
+*/
+ MSG_ID_E32 = 0xe32,
+#endif
+#if PACKETVER >= 20190703
+/*20190703 to latest
+접속하신 IP는 라그나로크 제로 이용이 불가능합니다.
+고객센터 또는 홈페이지로 문의해 주십시오.
+*/
+ MSG_ID_E33 = 0xe33,
+#endif
+#if PACKETVER >= 20190717
+/*20190717 to latest
+탑승/장착 해제
+*/
+ MSG_ID_E34 = 0xe34,
+/*20190717 to latest
+가져오기
+*/
+ MSG_ID_E35 = 0xe35,
+/*20190717 to latest
+직전 노점에 등록된 아이템 정보를 가져옵니다.
+*/
+ MSG_ID_E36 = 0xe36,
+/*20190717 to latest
+서버 이슈로 인해 로그인이 제한되고 있습니다.
+*/
+ MSG_ID_E37 = 0xe37,
+/*20190717 to latest
+메시지
+*/
+ MSG_ID_E38 = 0xe38,
+/*20190717 to latest
++18 이상만 플레이가 가능합니다.
+*/
+ MSG_ID_E39 = 0xe39,
+/*20190717 to latest
+3시간 이상의 게임 플레이를 권장하지 않습니다.
+*/
+ MSG_ID_E3A = 0xe3a,
+/*20190717 to latest
+AP가 부족합니다.
+*/
+ MSG_ID_E3B = 0xe3b,
+#endif
+#if PACKETVER >= 20190731
+/*20190731 to latest
+제련도가 높아서 조합할 수 없습니다.
+*/
+ MSG_ID_E3C = 0xe3c,
+/*20190731 to latest
+제련도가 조합에 필요한 요구치보다 높습니다.
+*/
+ MSG_ID_E3D = 0xe3d,
+/*20190731 to 20191107
+'카드가 끼워져있거나 인챈트 되어 있습니다.
+20191113 to latest
+카드가 끼워져있거나 인챈트 되어 있습니다.
+*/
+ MSG_ID_E3E = 0xe3e,
+/*20190731 to latest
+∞
+?
+*/
+ MSG_ID_E3F = 0xe3f,
+/*20190731 to latest
+Z
+*/
+ MSG_ID_E40 = 0xe40,
+/*20190731 to latest
+Total : %s Zeny
+*/
+ MSG_ID_E41 = 0xe41,
+#endif
+#if PACKETVER >= 20190821
+/*20190821 to latest
+계정한정판매 등록창
+Limited Account Registration Window
+*/
+ MSG_ID_E42 = 0xe42,
+/*20190821 to latest
+아이템 DB명
+Item DB Name
+*/
+ MSG_ID_E43 = 0xe43,
+/*20190821 to latest
+아이템 DB번호
+Item DB Number
+*/
+ MSG_ID_E44 = 0xe44,
+/*20190821 to latest
+판매 갯수
+Number of Sale
+*/
+ MSG_ID_E45 = 0xe45,
+/*20190821 to latest
+판매 시작시간
+Sale Start Time
+*/
+ MSG_ID_E46 = 0xe46,
+/*20190821 to latest
+판매 종료시간
+Sale end time
+*/
+ MSG_ID_E47 = 0xe47,
+/*20190821 to latest
+계정 한정
+Account only
+*/
+ MSG_ID_E48 = 0xe48,
+/*20190821 to latest
+판매기간 : %d월 %d일 %d시 %d분
+Sale period:% d month% d day% d hours% d
+*/
+ MSG_ID_E49 = 0xe49,
+/*20190821 to 20191002
+구입가능 %d개
+% D available
+20191016 to latest
+계정당 구매가능
+*/
+ MSG_ID_E4A = 0xe4a,
+/*20190821 to latest
+%d개 한정
+limited to% d
+*/
+ MSG_ID_E4B = 0xe4b,
+/*20190821 to latest
+>> ItemName : %s / 수량 : %d / 판매기간 : %d월:%d일:%d시:%d분 ~ %d월:%d일:%d시:%d분
+>> ItemName:% s / Quantity:% d / Sales Period:% d Month:% d Day:% d Hour:% d Minute ~% d Month:% d Day:% d Hour:% d Minute
+*/
+ MSG_ID_E4C = 0xe4c,
+/*20190821 to latest
+Sold Out
+*/
+ MSG_ID_E4D = 0xe4d,
+/*20190821 to latest
+[%s]은(는) 현재 소환할 수 없는 지역에 있습니다.
+% s] is currently in a region that cannot be summoned.
+*/
+ MSG_ID_E4E = 0xe4e,
+/*20190821 to latest
+~ %d월 %d일 %d시 %d분
+% d min% d days% d days
+*/
+ MSG_ID_E4F = 0xe4f,
+/*20190821 to latest
+상품을 더이상 추가할 수 없습니다
+Can't add any more items
+*/
+ MSG_ID_E50 = 0xe50,
+#endif
+#if PACKETVER >= 20190828
+/*20190828 to latest
+장착 중인 아이템은 교환할 수 없습니다. 장착을 해제한 뒤 시도해 주시길 바랍니다.
+The item being mounted cannot be exchanged. Please unmount it and try again.
+*/
+ MSG_ID_E51 = 0xe51,
+#endif
+#if PACKETVER >= 20190904
+/*20190904 to latest
+길드 창고 이용 중엔 캐릭터 선택창으로 이동 할 수 없습니다.
+You can not move to the character selection window while using the Guild Warehouse.
+*/
+ MSG_ID_E52 = 0xe52,
+/*20190904 to latest
+아이템 태그가 포함되어 있어 사용할 수 없습니다.
+Item tag is included and cannot be used.
+*/
+ MSG_ID_E53 = 0xe53,
+/*20190904 to latest
+Monster
+*/
+ MSG_ID_E54 = 0xe54,
+/*20190904 to latest
+Unknown
+*/
+ MSG_ID_E55 = 0xe55,
+/*20190904 to latest
+Undead
+*/
+ MSG_ID_E56 = 0xe56,
+/*20190904 to latest
+Animal
+*/
+ MSG_ID_E57 = 0xe57,
+/*20190904 to latest
+Plant
+*/
+ MSG_ID_E58 = 0xe58,
+/*20190904 to latest
+Insect
+*/
+ MSG_ID_E59 = 0xe59,
+/*20190904 to latest
+Marine
+*/
+ MSG_ID_E5A = 0xe5a,
+/*20190904 to latest
+Devil
+*/
+ MSG_ID_E5B = 0xe5b,
+/*20190904 to latest
+Human
+*/
+ MSG_ID_E5C = 0xe5c,
+/*20190904 to latest
+Angel
+*/
+ MSG_ID_E5D = 0xe5d,
+/*20190904 to latest
+Dragon
+*/
+ MSG_ID_E5E = 0xe5e,
+#endif
+#if PACKETVER >= 20190918
+/*20190918 to latest
+Balance: %s %c
+*/
+ MSG_ID_E5F = 0xe5f,
+/*20190918 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %s캐시가 차감됩니다.
+Do you really want to purchase this item? %s Money will be deducted from your total balance.
+*/
+ MSG_ID_E60 = 0xe60,
+/*20190918 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %s캐시, 무료 %s캐시가 차감됩니다.
+Do you really want to purchase this item? %s Money and %s Free Points will be deducted from your total balance.
+*/
+ MSG_ID_E61 = 0xe61,
+/*20190918 to latest
+호출이 거부되었습니다.
+*/
+ MSG_ID_E62 = 0xe62,
+/*20190918 to latest
+구매 한도액은 소지액을 초과할 수 없습니다.
+*/
+ MSG_ID_E63 = 0xe63,
+/*20190918 to latest
+노점을 여는데 실패하였습니다. 구매노점 개설을 닫아주시기 바랍니다.
+*/
+ MSG_ID_E64 = 0xe64,
+#endif
+#if PACKETVER >= 20191002
+/*20191002 to latest
+판매 노점 아이템 리스트가 저장되었습니다.
+*/
+ MSG_ID_E65 = 0xe65,
+/*20191002 to latest
+구매 노점 아이템 리스트가 저장되었습니다.
+*/
+ MSG_ID_E66 = 0xe66,
+/*20191002 to latest
+VTC 인증에 실패하였습니다.
+*/
+ MSG_ID_E67 = 0xe67,
+#endif
+#if PACKETVER >= 20191016
+/*20191016 to latest
+물물교환 중에는 장비를 착용할 수 없습니다.
+*/
+ MSG_ID_E68 = 0xe68,
+/*20191016 to latest
+교환하려는 품목
+*/
+ MSG_ID_E69 = 0xe69,
+/*20191016 to latest
+ 1차, 2차, 3차 직업 스킬 %d개를 더 올려 주십시오.
+*/
+ MSG_ID_E6A = 0xe6a,
+#endif
+#if PACKETVER >= 20191030
+/*20191030 to latest
+같은 아이템은 %d개까지 소유할 수 있습니다.
+*/
+ MSG_ID_E6B = 0xe6b,
+/*20191030 to latest
+같은 아이템은 한 번에 %d개까지 교환할 수 있습니다.
+*/
+ MSG_ID_E6C = 0xe6c,
+/*20191030 to latest
+해당 로덱스는 "%s"서버에서 열 수 있습니다.
+*/
+ MSG_ID_E6D = 0xe6d,
+/*20191030 to latest
+[공지]편지함의 모든 메일을 삭제하시겠습니까 ?
+(해당 "%s"서버의 메일만 삭제됩니다.)
+*/
+ MSG_ID_E6E = 0xe6e,
+/*20191030 to latest
+[공지]편지함의 모든 첨부 물품을 받으시겠습니까?
+(해당 "%s"서버의 메일의 물품만 받으실 수 있습니다.)
+*/
+ MSG_ID_E6F = 0xe6f,
+/*20191030 to latest
+해당 메일은 "%s"서버에서만 삭제 가능합니다.
+*/
+ MSG_ID_E70 = 0xe70,
+/*20191030 to latest
+해당 메일은 "%s"서버에서만 물품 받기가 가능합니다.
+*/
+ MSG_ID_E71 = 0xe71,
+/*20191030 to latest
+해당 메일은 "%s"서버에서만 내용읽기가 가능합니다.
+*/
+ MSG_ID_E72 = 0xe72,
+/*20191030 to latest
+합계 : %d z
+*/
+ MSG_ID_E73 = 0xe73,
+/*20191030 to latest
+메세지
+*/
+ MSG_ID_E74 = 0xe74,
+#endif
+#if PACKETVER >= 20191106
+/*20191106 to latest
+구매상점 개설 중에는 개인상점의 물건을 구입할 수 없습니다.
+*/
+ MSG_ID_E75 = 0xe75,
+#endif
+#if PACKETVER >= 20191113
+/*20191113 to latest
+등급강화가 성공적으로 되었습니다.
+*/
+ MSG_ID_E76 = 0xe76,
+/*20191113 to latest
+등급강화가 실패하였습니다.
+*/
+ MSG_ID_E77 = 0xe77,
+/*20191113 to latest
+등급 수치가 하향 조정 되었습니다.
+*/
+ MSG_ID_E78 = 0xe78,
+/*20191113 to latest
+장비가 파괴되었습니다.
+*/
+ MSG_ID_E79 = 0xe79,
+/*20191113 to latest
+장비가 보호되었습니다.
+*/
+ MSG_ID_E7A = 0xe7a,
+/*20191113 to latest
+재료가 선택되지 않았습니다.
+*/
+ MSG_ID_E7B = 0xe7b,
+/*20191113 to latest
+재료가 부족합니다.
+*/
+ MSG_ID_E7C = 0xe7c,
+/*20191113 to latest
+소지 금액이 부족합니다.
+*/
+ MSG_ID_E7D = 0xe7d,
+/*20191113 to latest
+아이템 공간이 부족합니다.
+*/
+ MSG_ID_E7E = 0xe7e,
+/*20191113 to latest
+장비가 보호되고 있습니다.
+*/
+ MSG_ID_E7F = 0xe7f,
+/*20191113 to latest
+장비가 파괴될 수 있습니다.
+*/
+ MSG_ID_E80 = 0xe80,
+/*20191113 to latest
+등급강화 실패 시 등급이 내려갑니다.
+*/
+ MSG_ID_E81 = 0xe81,
+/*20191113 to latest
+등급강화 중에는 로덱스를 사용할 수 없습니다. 로덱스를 강제 종료하였습니다.
+*/
+ MSG_ID_E82 = 0xe82,
+/*20191113 to latest
+등급강화 중에는 로덱스를 사용할 수 없습니다.
+*/
+ MSG_ID_E83 = 0xe83,
+/*20191113 to latest
+등급강화 중에는 은행을 사용할 수 없습니다. 은행을 강제 종료하였습니다.
+*/
+ MSG_ID_E84 = 0xe84,
+/*20191113 to latest
+등급강화 중에는 은행을 사용할 수 없습니다.
+*/
+ MSG_ID_E85 = 0xe85,
+/*20191113 to latest
+[%s] 님이 등급강화를 성공하여, [%s등급 %s] 아이템을 획득하였습니다.
+*/
+ MSG_ID_E86 = 0xe86,
+/*20191113 to latest
+[%s] 님이 [%s등급 %s] 아이템의 등급강화에 실패하였습니다.
+*/
+ MSG_ID_E87 = 0xe87,
+/*20191113 to latest
+등급 강화가 불가능한 장비입니다.
+*/
+ MSG_ID_E88 = 0xe88,
+/*20191113 to latest
+체인지 메테리얼
+*/
+ MSG_ID_E89 = 0xe89,
+/*20191113 to latest
+가나다 정렬
+*/
+ MSG_ID_E8A = 0xe8a,
+/*20191113 to 20191224
+기본 결과물은 %s %d개 이나, 낮은 확률로 최대 %d개까지 생성될 수 있습니다.
+20200108 to latest
+※[%s] %d~%d개 제작
+*/
+ MSG_ID_E8B = 0xe8b,
+/*20191113 to latest
+성공 %d%%
+*/
+ MSG_ID_E8C = 0xe8c,
+/*20191113 to latest
+아이템 태그는 소지한 아이템만 태그할 수 있습니다.
+*/
+ MSG_ID_E8D = 0xe8d,
+#endif
+#if PACKETVER >= 20191127
+/*20191127 to latest
+공격력 및 특성 공격력이 증가되었습니다.
+*/
+ MSG_ID_E8E = 0xe8e,
+/*20191127 to latest
+강인한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E8F = 0xe8f,
+/*20191127 to latest
+HP 및 물리 저항력이 증가되었습니다.
+*/
+ MSG_ID_E90 = 0xe90,
+/*20191127 to latest
+굳건한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E91 = 0xe91,
+/*20191127 to latest
+공격 속도 및 유도 공격 확률이 증가되었습니다.
+*/
+ MSG_ID_E92 = 0xe92,
+/*20191127 to latest
+신실한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E93 = 0xe93,
+/*20191127 to latest
+POW, CRT 및 CON 이 증가되었습니다.
+*/
+ MSG_ID_E94 = 0xe94,
+/*20191127 to latest
+베네딕툼 효과가 해제되었습니다.
+*/
+ MSG_ID_E95 = 0xe95,
+/*20191127 to latest
+SPL, WIS 및 CRT 가 증가되었습니다.
+*/
+ MSG_ID_E96 = 0xe96,
+/*20191127 to latest
+렐리지오 효과가 해제되었습니다.
+*/
+ MSG_ID_E97 = 0xe97,
+/*20191127 to latest
+특성 공격력 및 특성 마법 공격력이 증가되었습니다.
+*/
+ MSG_ID_E98 = 0xe98,
+/*20191127 to latest
+콤페텐티아 효과가 해제되었습니다.
+*/
+ MSG_ID_E99 = 0xe99,
+/*20191127 to latest
+크리티컬 데미지 비율이 증가되었습니다.
+*/
+ MSG_ID_E9A = 0xe9a,
+/*20191127 to latest
+프레센스 아치에스 효과가 해제되었습니다.
+*/
+ MSG_ID_E9B = 0xe9b,
+/*20191127 to latest
+물리 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_E9C = 0xe9c,
+/*20191127 to latest
+아르구투스 텔룸 효과가 해제되었습니다.
+*/
+ MSG_ID_E9D = 0xe9d,
+/*20191127 to latest
+마법 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_E9E = 0xe9e,
+/*20191127 to latest
+아르구투스 비타 효과가 해제되었습니다.
+*/
+ MSG_ID_E9F = 0xe9f,
+/*20191127 to latest
+Num: %d/%d Weight: %d/%d
+*/
+ MSG_ID_EA0 = 0xea0,
+#endif
+#if PACKETVER >= 20191204
+/*20191204 to latest
+서번트 웨폰 효과가 해제되었습니다.
+*/
+ MSG_ID_EA1 = 0xea1,
+/*20191204 to latest
+챠징 피어스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA2 = 0xea2,
+/*20191204 to latest
+비고르 효과가 해제되었습니다.
+*/
+ MSG_ID_EA3 = 0xea3,
+/*20191204 to latest
+공격력이 증가하고, 방어력이 감소되었습니다.
+*/
+ MSG_ID_EA4 = 0xea4,
+/*20191204 to latest
+어택 스탠스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA5 = 0xea5,
+/*20191204 to latest
+방어력이 증가하고, 공격력이 감소되었습니다.
+*/
+ MSG_ID_EA6 = 0xea6,
+/*20191204 to latest
+가드 스탠스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA7 = 0xea7,
+/*20191204 to latest
+배리어가 부여되었습니다.
+*/
+ MSG_ID_EA8 = 0xea8,
+/*20191204 to latest
+가디언 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EA9 = 0xea9,
+/*20191204 to latest
+헌신 효과로 받는 데미지가 감소되었습니다.
+*/
+ MSG_ID_EAA = 0xeaa,
+/*20191204 to latest
+리바운드 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EAB = 0xeab,
+/*20191204 to latest
+성속성 마법 데미지와 암/불사속성 내성이 증가되었습니다.
+*/
+ MSG_ID_EAC = 0xeac,
+/*20191204 to latest
+홀리 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EAD = 0xead,
+/*20191204 to latest
+즉시 부활 효과가 부여되었습니다.
+*/
+ MSG_ID_EAE = 0xeae,
+/*20191204 to latest
+얼티메이트 세크리파이스 효과가 해제되었습니다.
+*/
+ MSG_ID_EAF = 0xeaf,
+/*20191204 to latest
+특정 스킬의 효능이 변경되었습니다.
+*/
+ MSG_ID_EB0 = 0xeb0,
+/*20191204 to latest
+클라이막스 효과가 해제되었습니다.
+*/
+ MSG_ID_EB1 = 0xeb1,
+/*20191204 to latest
+특정 스킬의 효능이 변경되었습니다.
+*/
+ MSG_ID_EB2 = 0xeb2,
+/*20191204 to latest
+쉐도우 익시드 효과가 해제되었습니다.
+*/
+ MSG_ID_EB3 = 0xeb3,
+/*20191204 to latest
+물리 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_EB4 = 0xeb4,
+/*20191204 to latest
+포텐트 베넘 효과가 해제되었습니다.
+*/
+ MSG_ID_EB5 = 0xeb5,
+/*20191204 to latest
+매 공격 시, 일정 확률로 대상이 받는 데미지를 증가시킵니다.
+*/
+ MSG_ID_EB6 = 0xeb6,
+/*20191204 to latest
+인챈팅 쉐도우 효과가 해제되었습니다.
+*/
+ MSG_ID_EB7 = 0xeb7,
+#endif
+#if PACKETVER >= 20191211
+/*20191211 to latest
+토벌 카운트 On
+*/
+ MSG_ID_EB8 = 0xeb8,
+/*20191211 to latest
+토벌 카운트 Off
+*/
+ MSG_ID_EB9 = 0xeb9,
+/*20191211 to latest
+대상의 AP가 최대치입니다
+*/
+ MSG_ID_EBA = 0xeba,
+/*20191211 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %d캐시가 차감됩니다.
+*/
+ MSG_ID_EBB = 0xebb,
+/*20191211 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %d캐시, 무료 %d캐시가 차감됩니다.
+*/
+ MSG_ID_EBC = 0xebc,
+#endif
+#if PACKETVER >= 20191218
+/*20191218 to latest
+서번트 웨폰 %d개가 필요합니다.
+*/
+ MSG_ID_EBD = 0xebd,
+/*20191218 to latest
+https://member.gnjoy.com.tw/billing.aspx
+*/
+ MSG_ID_EBE = 0xebe,
+#endif
+#if PACKETVER >= 20200108
+/*20200108 to latest
+역순 정렬
+*/
+ MSG_ID_EBF = 0xebf,
+/*20200108 to latest
+검색 내용 입력
+*/
+ MSG_ID_EC0 = 0xec0,
+/*20200108 to latest
+검색
+Search
+*/
+ MSG_ID_EC1 = 0xec1,
+#endif
+#if PACKETVER >= 20200122
+/*20200122 to latest
+리서치 리포트 상태가 됩니다.
+*/
+ MSG_ID_EC2 = 0xec2,
+/*20200122 to latest
+리서치 리포트 상태가 해제됩니다.
+*/
+ MSG_ID_EC3 = 0xec3,
+/*20200122 to latest
+제조에 성공 했습니다.
+*/
+ MSG_ID_EC4 = 0xec4,
+/*20200122 to latest
+제조에 실패 했습니다.
+*/
+ MSG_ID_EC5 = 0xec5,
+/*20200122 to latest
+쉐도우 장비가 파괴 및 해제에서 보호됩니다.
+*/
+ MSG_ID_EC6 = 0xec6,
+/*20200122 to latest
+풀 쉐도우 프로텍션이 해제됩니다.
+*/
+ MSG_ID_EC7 = 0xec7,
+/*20200122 to latest
+식물형, 무형 몬스터에게 주는 데미지가 증가합니다.
+*/
+ MSG_ID_EC8 = 0xec8,
+/*20200122 to latest
+지옥 나무의 가루효과가 사라집니다.
+*/
+ MSG_ID_EC9 = 0xec9,
+#endif
+#if PACKETVER >= 20200205
+/*20200205 to latest
+공격 장치가 활성화되었습니다.
+*/
+ MSG_ID_ECA = 0xeca,
+/*20200205 to latest
+공격 장치가 해제되었습니다.
+*/
+ MSG_ID_ECB = 0xecb,
+/*20200205 to latest
+물리 방어력 및 물리 저항력이 증가되었습니다.
+*/
+ MSG_ID_ECC = 0xecc,
+/*20200205 to latest
+방어 장치가 해제되었습니다.
+*/
+ MSG_ID_ECD = 0xecd,
+/*20200205 to latest
+검색
+Search
+*/
+ MSG_ID_ECE = 0xece,
+#endif
+#if PACKETVER >= 20200212
+/*20200212 to latest
+합주를 혼자 사용할 수 있습니다.
+*/
+ MSG_ID_ECF = 0xecf,
+/*20200212 to latest
+크바시르의 지혜가 사라집니다.
+*/
+ MSG_ID_ED0 = 0xed0,
+/*20200212 to latest
+미스틱 심포니의 효과가 부여됩니다.
+*/
+ MSG_ID_ED1 = 0xed1,
+/*20200212 to latest
+미스틱 심포니의 효과가 사라집니다.
+*/
+ MSG_ID_ED2 = 0xed2,
+/*20200212 to latest
+마법 저항력이 감소했습니다.
+*/
+ MSG_ID_ED3 = 0xed3,
+/*20200212 to latest
+게페니아 녹턴의 효과가 해제 되었습니다.
+*/
+ MSG_ID_ED4 = 0xed4,
+/*20200212 to latest
+물리 저항력이 감소했습니다.
+*/
+ MSG_ID_ED5 = 0xed5,
+/*20200212 to latest
+마인워커 랩소디 상태가 해제되었습니다.
+*/
+ MSG_ID_ED6 = 0xed6,
+/*20200212 to latest
+물리 저항력이 증가했습니다.
+*/
+ MSG_ID_ED7 = 0xed7,
+/*20200212 to latest
+뮤지컬 인터루드 상태가 해제되었습니다.
+*/
+ MSG_ID_ED8 = 0xed8,
+/*20200212 to latest
+특성 마법 공격력과 이동 속도가 증가합니다.
+*/
+ MSG_ID_ED9 = 0xed9,
+/*20200212 to latest
+저녁 노을의 세레나데 효과가 해제되었습니다.
+*/
+ MSG_ID_EDA = 0xeda,
+/*20200212 to latest
+특성 물리 공격력과 이동 속도가 증가합니다.
+*/
+ MSG_ID_EDB = 0xedb,
+/*20200212 to latest
+ 프론테라의 행진곡 효과가 해제되었습니다.
+*/
+ MSG_ID_EDC = 0xedc,
+/*20200212 to latest
+바람의 분노가 시전자에게 흘러 들어옵니다.
+*/
+ MSG_ID_EDD = 0xedd,
+/*20200212 to latest
+캘러미티 가일 상태가 해제되었습니다.
+*/
+ MSG_ID_EDE = 0xede,
+/*20200212 to latest
+바람에 의해 약점과 모습이 드러납니다.
+*/
+ MSG_ID_EDF = 0xedf,
+/*20200212 to latest
+윈드 사인 효과가 사라집니다.
+*/
+ MSG_ID_EE0 = 0xee0,
+#endif
+#if PACKETVER >= 20200304
+/*20200304 to latest
+E X P : %.1f%% ( basic 100.0%% %s %.1f%%)
+EXP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE1 = 0xee1,
+/*20200304 to latest
+DROP : %.1f%% ( basic 100.0%% %s %.1f%%)
+DROP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE2 = 0xee2,
+/*20200304 to latest
+DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
+DEATH: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE3 = 0xee3,
+#endif
};
#endif /* MAP_MESSAGES_RE_H */
diff --git a/src/map/messages_sak.h b/src/map/messages_sak.h
index 2c7bfd661..723f1f1f4 100644
--- a/src/map/messages_sak.h
+++ b/src/map/messages_sak.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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 0b679a2c1..babe9384c 100644
--- a/src/map/messages_zero.h
+++ b/src/map/messages_zero.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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,7 +24,7 @@
/* This file is autogenerated, please do not commit manual changes
-Latest version: 20190130
+Latest version: 20200304
*/
enum clif_messages {
@@ -625,9 +625,11 @@ Fire
Wind
*/
MSG_WIND = 0x76,
-/*20171018 to latest
+/*20171018 to 20191008
같은종류의 장비아이템은 한번에 한개만 살 수 있습니다.
Please avoid buying 2 of the same items at one time.
+20191023 to latest
+같은 종류의 장비 아이템은 한 번에 한 개만 살 수 있습니다.
*/
MSG_EQUIPITEM_OLNY_ONE = 0x77,
/*20171018 to latest
@@ -752,7 +754,7 @@ Congratulations! You are the MVP! Your reward item is
MSG_YOU_RECEIVE_MVP_ITEM = 0x8f,
/*20171018 to latest
!!
-!!
+!
*/
MSG_YOU_RECEIVE_MVP_ITEM2 = 0x90,
/*20171018 to latest
@@ -1225,9 +1227,11 @@ Cart Items [Alt+W]
Basic Information
*/
MSG_BASICINFOWND = 0xee,
-/*20171018 to latest
+/*20171018 to 20191204
이무기로는 이스킬을 사용할수 없습니다.
The skill cannot be used with this weapon.
+20191211 to latest
+현재 무기로는 스킬을 사용할 수 없습니다.
*/
MSG_USESKILL_FAIL_NOT_SUITABLE_WEAPON = 0xef,
/*20171018 to latest
@@ -3902,7 +3906,6 @@ Mouse wheel skills for F7 and F8 are Disabled.[/q2 OFF]
MSG_EXPLAIN_QUICKSPELL2 = 0x302,
/*20171018 to latest
/q3 : /quickspell (/q1) + /quickspell2 (/q2)
-/q3: /quickspell (/q1) + /quickspell2 (/q2)
*/
MSG_EXPLAIN_QUICKSPELL3 = 0x303,
/*20171018 to latest
@@ -4955,7 +4958,7 @@ High Wizard
MSG_WIZARD_H = 0x3da,
/*20171018 to latest
White Smith
-WhiteSmith
+MasterSmith
*/
MSG_BLACKSMITH_H = 0x3db,
/*20171018 to latest
@@ -6577,7 +6580,6 @@ Quest List
MSG_QUESTWIN = 0x525,
/*20171018 to latest
RO SHOP
-RO Shop
*/
MSG_RO_SHOP = 0x526,
/*20171018 to latest
@@ -6732,9 +6734,11 @@ The Memorial Dungeon's entry time limit expired; it has been destroyed.
The Memorial Dungeon has been removed.
*/
MSG_MEMORIAL_DUN_DESTROY_REQUEST = 0x544,
-/*20171018 to latest
+/*20171018 to 20191224
메모리얼 던전에 시스템 오류가 발생하였습니다. 정상적인 게임 진행을 위해 재접속을 해주십시오.
A system error has occurred in the Memorial Dungeon. Please relog in to the game to continue playing.
+20200115 to latest
+메모리얼 던전에 통신 장애가 발생하였습니다. 정상적인 게임 진행을 위해 잠시 후, 재접속을 해주십시오.
*/
MSG_MEMORIAL_DUN_ERROR = 0x545,
/*20171018 to latest
@@ -9558,7 +9562,6 @@ ATTACK
MSG_MACRO_ATTACK = 0x77d,
/*20171018 to latest
Next attack time :
-Next attack time:
*/
MSG_MACRO_NEXT_ATK_TIME = 0x77e,
/*20171018 to latest
@@ -9567,6 +9570,7 @@ When died
MSG_MACRO_WHEN_DIED = 0x77f,
/*20171018 to latest
When invited to a party
+When invited to the party
*/
MSG_MACRO_WHEN_INVITED_PARTY = 0x780,
/*20171018 to latest
@@ -9589,7 +9593,6 @@ Monster Job hunting experience that you can get through the doubling of %d is %.
MSG_PLUSONLYJOBEXP2 = 0x784,
/*20171018 to latest
SaveData_ExMacro%d
-SaveData_ExMacro %d
*/
MSG_MACRO_SAVE = 0x785,
/*20171018 to latest
@@ -9745,37 +9748,30 @@ Elapsed time: %d:%d:%d / %d:%d:%d
MSG_REPLAY_ELAPSEDTIME = 0x7a3,
/*20171018 to latest
Speed : X 1/4
-Speed: X 1/4
*/
MSG_REPLAY_SPEED1_4 = 0x7a4,
/*20171018 to latest
Speed : X 1/2
-Speed: X 1/2
*/
MSG_REPLAY_SPEED1_2 = 0x7a5,
/*20171018 to latest
Speed : X 1
-Speed: X 1
*/
MSG_REPLAY_SPEED1 = 0x7a6,
/*20171018 to latest
Speed : X 2
-Speed: X 2
*/
MSG_REPLAY_SPEED2 = 0x7a7,
/*20171018 to latest
Speed : X 4
-Speed: X 4
*/
MSG_REPLAY_SPEED4 = 0x7a8,
/*20171018 to latest
Speed : X 8
-Speed: X 8
*/
MSG_REPLAY_SPEED8 = 0x7a9,
/*20171018 to latest
Speed : X 16
-Speed: X 16
*/
MSG_REPLAY_SPEED16 = 0x7aa,
/*20171018 to latest
@@ -9785,17 +9781,14 @@ Speed: Unknown
MSG_REPLAY_SPEEDUNKNOWN = 0x7ab,
/*20171018 to latest
Service Info : %s
-Service Info: %s
*/
MSG_REPLAY_CHRVICEINFO = 0x7ac,
/*20171018 to latest
Character Name : %s
-Character Name: %s
*/
MSG_REPLAY_CHARACTERNAME = 0x7ad,
/*20171018 to latest
Map Name : %s
-Map Name: %s
*/
MSG_REPLAY_MAPNAME = 0x7ae,
/*20171018 to latest
@@ -9855,10 +9848,12 @@ Input FileName -> Start
MSG_REPLAY_START2 = 0x7bb,
/*20171018 to latest
Open Option
+Open Options
*/
MSG_REPLAY_OPENOPTION = 0x7bc,
/*20171018 to latest
Close Option
+Close Options
*/
MSG_REPLAY_CLOSEOPION = 0x7bd,
/*20171018 to latest
@@ -9905,16 +9900,16 @@ Record Start
MSG_REPLAY_RECORDSTART = 0x7c6,
/*20171018 to latest
is Saved.
+Recording saved
*/
MSG_REPLAY_RECORDEND = 0x7c7,
/*20171018 to latest
Weight : %3d / %3d
-Weight: %3d / %3d
*/
MSG_WEIGHT = 0x7c8,
/*20171018 to latest
Total : %s C
-Total: %s C
+Total: %s EUR
*/
MSG_TOTAL = 0x7c9,
/*20171018 to latest
@@ -9932,7 +9927,6 @@ Job Lv. %d
MSG__BASIC_MSG_JOB = 0x7cc,
/*20171018 to latest
Zeny : %s
-Zeny: %s
*/
MSG_BASIC_MSG_ZENY = 0x7cd,
/*20171018 to latest
@@ -9953,6 +9947,7 @@ item
MSG_GRAPHIC_MSG_ITEM = 0x7d1,
/*20171018 to latest
NoCtrl
+Ctrl
*/
MSG_GRAPHIC_MSG_NOCTRL = 0x7d2,
/*20171018 to latest
@@ -9962,6 +9957,7 @@ More
MSG_GRAPHIC_MSG_BATTLE = 0x7d3,
/*20171018 to latest
(Character/Total Slot)
+(Characters/Total slots)
*/
MSG_CHARACTER_MSG_CHARACTERTOTALSLOT = 0x7d4,
/*20171018 to latest
@@ -10761,6 +10757,7 @@ Rename
MSG_CHANGE_CHARACTER_NAME = 0x875,
/*20171018 to latest
Make Character
+Create Character
*/
MSG_MSG_MAKECHARCTER = 0x876,
/*20171018 to latest
@@ -10958,7 +10955,6 @@ Help
MSG_NAVIGATION_HELP = 0x89d,
/*20171018 to latest
ALL
-All
*/
MSG_NAVIGATION_ALL = 0x89e,
/*20171018 to latest
@@ -12223,7 +12219,7 @@ AuthTicket is Not Valid
MSG_NOT_VALID_AUTH_TICKET = 0x9a4,
/*20171018 to latest
ErrorCategory : %d, ErrorCode : %d (%d,%d,%d,%d)
-ErrorCategory: %d, ErrorCode: %d (%d,%d,%d,%d)
+ErrorCode : %d, ErrorValue : %d
*/
MSG_STEAMAGENCY_ERROR = 0x9a5,
/*20171018 to latest
@@ -12248,7 +12244,6 @@ The price of^0000FF %s^000000
MSG_WARNING_PRICE1 = 0x9a9,
/*20171018 to latest
100000000
-1000000000
*/
MSG_WARNING_PRICE2 = 0x9aa,
/*20171018 to latest
@@ -12897,7 +12892,7 @@ You can not open the mail.
MSG_FAILED_TO_WRITE_MAIL = 0xa2c,
/*20171018 to latest
You are currently joined in CLan !!
-You are currently joined in Clan !!
+You currently belong to a clan.
*/
MSG_JOINED_IN_CLAN = 0xa2d,
/*20171018 to latest
@@ -12952,17 +12947,14 @@ The recipient's name does not exist.
MSG_FAILE_MAIL_RECIEVER_INFO = 0xa37,
/*20171018 to latest
E X P : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-EXP : %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_EXPMSG = 0xa38,
/*20171018 to latest
DROP : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-DROP : %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_DROPMSG = 0xa39,
/*20171018 to latest
DEATH : %.1f%% ( basic %.1f%% premium %.1f%% + %s %.1f%%)
-DEATH: %.1f%% (Basic %.1f%% Premium %.1f%% + %s %.1f%%)
*/
MSG_TAIWAN_PERSONALINFO_DEATHMSG = 0xa3a,
/*20171018 to latest
@@ -13146,7 +13138,6 @@ Cracker is low.
MSG_CASH_GEDARE_FAIL_MONEY = 0xa5e,
/*20171018 to latest
%s
-%s
*/
MSG_CASH_GEDARE_MONEY = 0xa5f,
/*20171018 to latest
@@ -13341,17 +13332,14 @@ Please empty at least 5 amount of possession in item window.
MSG_NOT_ENOUGH_SPACE_IN_ITEM_BODY = 0xa85,
/*20171018 to latest
E X P : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-EXP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_EXPMSG = 0xa86,
/*20171018 to latest
DROP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-DROP : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_DROPMSG = 0xa87,
/*20171018 to latest
DEATH : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%%)
-DEATH : %.1f%% ( basic 100.0%% pccafe %.1f%% + %s %.1f%% )
*/
MSG_JPN_PERSONALINFO_DEATHMSG = 0xa88,
/*20171018 to latest
@@ -13758,12 +13746,10 @@ Withdraw
MSG_ID_AD7 = 0xad7,
/*20171018 to latest
1 z UP
-1z UP
*/
MSG_ID_AD8 = 0xad8,
/*20171018 to latest
1 z Down
-1z Down
*/
MSG_ID_AD9 = 0xad9,
/*20171018 to latest
@@ -13920,17 +13906,14 @@ Send Mail
MSG_ID_AF8 = 0xaf8,
/*20171018 to latest
E X P : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
-E X P: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AF9 = 0xaf9,
/*20171018 to latest
DROP : %.1f%% ( basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
-DROP : %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
*/
MSG_ID_AFA = 0xafa,
/*20171018 to latest
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 20180928
@@ -13938,6 +13921,7 @@ DEATH: %.1f%% (Basic 100.0%% VIP Bonus %.1f%% + %s %.1f%%)
Name with this tag cannot be used.
20181010 to latest
해당 내용은 이름으로 사용하실 수 없습니다.
+You cannot use the tag as a name.
*/
MSG_ID_AFC = 0xafc,
/*20171018 to latest
@@ -14105,7 +14089,6 @@ Screenshots are not attached
MSG_ID_B1C = 0xb1c,
/*20171018 to latest
Twitter
-TWITTER
*/
MSG_ID_B1D = 0xb1d,
/*20171018 to latest
@@ -14443,7 +14426,6 @@ The [%s] is not present, the default AI will be used instead.
MSG_ID_B61 = 0xb61,
/*20171018 to latest
%.1f%% ( Basic 100.0%% + Premium %.1f%% + %s %.1f%%)
-%.1f%% ( Basic 100.0%% + Premium %.1f%% + %s %.1f%%)
*/
MSG_ID_B62 = 0xb62,
/*20171018 to latest
@@ -15004,10 +14986,12 @@ Weight limit has reached toover 70%. Or less then 10 invenrory space.
MSG_ID_BCE = 0xbce,
/*20171018 to latest
C
+EUR
*/
MSG_ID_BCF = 0xbcf,
/*20171018 to latest
C
+EUR
*/
MSG_ID_BD0 = 0xbd0,
/*20171018 to latest
@@ -15239,10 +15223,12 @@ SP
MSG_ID_BFD = 0xbfd,
/*20171018 to latest
Lv
+Lv.
*/
MSG_ID_BFE = 0xbfe,
/*20171018 to latest
Lv
+Lv.
*/
MSG_ID_BFF = 0xbff,
/*20171018 to latest
@@ -15255,6 +15241,7 @@ Exp
MSG_ID_C01 = 0xc01,
/*20171018 to latest
Play Replay Flie
+Start replay
*/
MSG_ID_C02 = 0xc02,
/*20171018 to latest
@@ -15271,14 +15258,17 @@ Basicinfo
MSG_ID_C05 = 0xc05,
/*20171018 to latest
Equip
+Equipment
*/
MSG_ID_C06 = 0xc06,
/*20171018 to latest
Item
+Items
*/
MSG_ID_C07 = 0xc07,
/*20171018 to latest
Skill
+Skills
*/
MSG_ID_C08 = 0xc08,
/*20171018 to latest
@@ -15291,10 +15281,12 @@ Party
MSG_ID_C0A = 0xc0a,
/*20171018 to latest
Chatting
+Chat
*/
MSG_ID_C0B = 0xc0b,
/*20171018 to latest
Shortcut
+Hotkeys
*/
MSG_ID_C0C = 0xc0c,
/*20171018 to latest
@@ -15303,15 +15295,16 @@ Status
MSG_ID_C0D = 0xc0d,
/*20171018 to latest
ALL
-All
*/
MSG_ID_C0E = 0xc0e,
/*20171018 to latest
User Defined File Name
+Custom file name
*/
MSG_ID_C0F = 0xc0f,
/*20171018 to latest
Repeated File Check
+Check file
*/
MSG_ID_C10 = 0xc10,
/*20171018 to latest
@@ -15320,10 +15313,12 @@ on
MSG_ID_C11 = 0xc11,
/*20171018 to latest
<Basic Skin>
+<Basic>
*/
MSG_ID_C12 = 0xc12,
/*20171018 to latest
Select Skin
+Choose skin
*/
MSG_ID_C13 = 0xc13,
/*20171018 to latest
@@ -15836,6 +15831,7 @@ Loading the mailbox.
MSG_ID_C76 = 0xc76,
/*20171018 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_C77 = 0xc77,
/*20171018 to latest
@@ -16055,6 +16051,7 @@ BOX
MSG_ID_CA8 = 0xca8,
/*20171018 to latest
다시하기
+File abusing detected. Please restart the client with clean files.
*/
MSG_ID_CA9 = 0xca9,
/*20171018 to latest
@@ -16201,6 +16198,7 @@ map
MSG_ID_CCC = 0xccc,
/*20171018 to latest
변조된 파일이 발견되었습니다. 게임을 다시 실행시켜주세요.
+File abusing detected. Please restart the client with clean files.
*/
MSG_ID_CCD = 0xccd,
/*20171018 to latest
@@ -16356,9 +16354,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
@@ -16480,6 +16480,7 @@ TokenAgency 서버 연결 실패
MSG_ID_D0D = 0xd0d,
/*20171023 to latest
삭제
+Delete
*/
MSG_ID_D0E = 0xd0e,
/*20171023 to latest
@@ -16545,92 +16546,143 @@ MOTP 입력 시간이 초과되었습니다. 처음부터 다시 로그인해주
모험가 중개소 등록
*/
MSG_ID_D1C = 0xd1c,
-/*20171031 to latest
+/*20171031 to 20191113
모집 중단
+20191127 to latest
+모험가 중개소 등록하기
*/
MSG_ID_D1D = 0xd1d,
-/*20171031 to latest
+/*20171031 to 20191113
모험가 중개소 설정
+20191127 to latest
+모집 중단
*/
MSG_ID_D1E = 0xd1e,
-/*20171031 to latest
+/*20171031 to 20191113
전 지역
+20191127 to latest
+메모
+Note
*/
MSG_ID_D1F = 0xd1f,
-/*20171031 to latest
+/*20171031 to 20191113
직접기재
+20191127 to latest
+퀘스트
+Quest
*/
MSG_ID_D20 = 0xd20,
-/*20171031 to latest
+/*20171031 to 20191113
검사계열
+20191127 to latest
+필드
*/
MSG_ID_D21 = 0xd21,
-/*20171031 to latest
+/*20171031 to 20191113
법사계열
+20191127 to latest
+던전
+Dungeon
*/
MSG_ID_D22 = 0xd22,
-/*20171031 to latest
+/*20171031 to 20191113
궁수계열
+20191127 to latest
+MD
*/
MSG_ID_D23 = 0xd23,
-/*20171031 to latest
+/*20171031 to 20191113
복사계열
+20191127 to latest
+낙원단
*/
MSG_ID_D24 = 0xd24,
-/*20171031 to latest
+/*20171031 to 20191113
상인계열
+20191127 to latest
+기타
+Other
*/
MSG_ID_D25 = 0xd25,
-/*20171031 to latest
+/*20171031 to 20191113
도둑계열
+20191127 to latest
+검색
+Search
*/
MSG_ID_D26 = 0xd26,
-/*20171031 to latest
+/*20171031 to 20191113
태권계열
+20191127 to latest
+초기화
*/
MSG_ID_D27 = 0xd27,
-/*20171031 to latest
+/*20171031 to 20191113
닌자계열
+20191127 to latest
+파티가입신청
*/
MSG_ID_D28 = 0xd28,
-/*20171031 to latest
+/*20171031 to 20191113
건슬링거계열
+20191127 to latest
+목적
*/
MSG_ID_D29 = 0xd29,
-/*20171031 to latest
+/*20171031 to 20191113
도람족계열
+20191127 to latest
+※욕설, 현거래등 운영 규칙에 위배되는 목적으로 사용 시 처벌 받을 수 있습니다.
*/
MSG_ID_D2A = 0xd2a,
-/*20171031 to latest
+/*20171031 to 20191113
지역명
+20191127 to latest
+등록하기
+Register
*/
MSG_ID_D2B = 0xd2b,
-/*20171031 to latest
+/*20171031 to 20191113
지역명 검색
+20191127 to latest
+사용할 수 없는 단어가 포함되어 있습니다.
*/
MSG_ID_D2C = 0xd2c,
-/*20171031 to latest
+/*20171031 to 20191113
가입 요청하기
+20191127 to latest
+파티가입
*/
MSG_ID_D2D = 0xd2d,
-/*20171031 to latest
+/*20171031 to 20191113
신고하기
+20191127 to latest
+1:1대화
*/
MSG_ID_D2E = 0xd2e,
-/*20171031 to latest
+/*20171031 to 20191113
파티 모집 중단
+20191127 to latest
+모집 중지
*/
MSG_ID_D2F = 0xd2f,
-/*20171031 to latest
+/*20171031 to 20191113
지역명을 입력해주세요.
+20191127 to latest
+수정하기
*/
MSG_ID_D30 = 0xd30,
-/*20171031 to latest
+/*20171031 to 20191113
지역
+20191127 to latest
+전체
+All
*/
MSG_ID_D31 = 0xd31,
-/*20171031 to latest
+/*20171031 to 20191113
전 직업
+20191127 to latest
+[%s] 님이 파티가입을 신청했습니다.
*/
MSG_ID_D32 = 0xd32,
#endif
@@ -16674,6 +16726,7 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D3B = 0xd3b,
/*20171109 to latest
태권
+Taekwon
*/
MSG_ID_D3C = 0xd3c,
/*20171109 to 20171117
@@ -16714,10 +16767,12 @@ NPC가 있는 맵의 랜덤 좌표로 이동 됩니다.
MSG_ID_D42 = 0xd42,
/*20171109 to latest
차단 리스트가 없습니다
+Ignore-list is empty
*/
MSG_ID_D43 = 0xd43,
/*20171109 to latest
-차단 리스트-
+Characters in ignore-list:
*/
MSG_ID_D44 = 0xd44,
#endif
@@ -16802,12 +16857,17 @@ Password
회원가입
*/
MSG_ID_D56 = 0xd56,
-/*20171115 to latest
+/*20171115 to 20191113
노비스계열
+20191127 to latest
+파티장
+Leader
*/
MSG_ID_D57 = 0xd57,
-/*20171115 to latest
+/*20171115 to 20191113
슈퍼노비스계열
+20191127 to latest
+파티에 가입할 수 있는 레벨이 아닙니다.
*/
MSG_ID_D58 = 0xd58,
/*20171115 to latest
@@ -16820,12 +16880,16 @@ Password
MSG_ID_D5A = 0xd5a,
/*20171115 to 20180321
직업을 한 개 이상 선택해주세요.
-20180328 to latest
+20180328 to 20191113
모집을 희망하는 파티원의 직업을 한 개 이상 선택해 주세요.
+20191127 to latest
+검색내용입력
*/
MSG_ID_D5B = 0xd5b,
-/*20171115 to latest
+/*20171115 to 20191127
지역명을 두 글자 이상 입력해주세요.
+20191204 to latest
+탱커
*/
MSG_ID_D5C = 0xd5c,
/*20171115 to latest
@@ -16924,8 +16988,10 @@ Password
불량 단어가 포함된 이름은 검색할 수 없습니다.
*/
MSG_ID_D71 = 0xd71,
-/*20171213 to latest
+/*20171213 to 20191127
파티 마스터가 요청을 받을 수 없는 맵에 있습니다.
+20191204 to latest
+파티 마스터가 요청을 받을 수 없는 상태입니다.
*/
MSG_ID_D72 = 0xd72,
/*20171213 to latest
@@ -16934,8 +17000,10 @@ Password
MSG_ID_D73 = 0xd73,
/*20171213 to 20180321
님의 파티요청입니다.
-20180328 to latest
+20180328 to 20191127
님의 파티 가입 요청입니다.
+20191204 to latest
+딜러
*/
MSG_ID_D74 = 0xd74,
/*20171213 to latest
@@ -17094,6 +17162,7 @@ This is not the current attendance check event
MSG_ID_D93 = 0xd93,
/*20180207 to latest
개인 상납 경험치가 max에 도달하여, 더 이상 길드 경험치를 누적할 수 없습니다.
+
*/
MSG_ID_D94 = 0xd94,
#endif
@@ -17144,10 +17213,13 @@ Enter 4 english words and 2 chinese words
MSG_ID_D9D = 0xd9d,
/*20180328 to latest
50% 이상의 값을 입력할 수 없습니다.
+The guild tax rate can't be set to more than 50%.
*/
MSG_ID_D9E = 0xd9e,
-/*20180328 to latest
+/*20180328 to 20191204
파티 가입 요청을 보냈습니다.
+20191211 to latest
+파티가 모험가 중개소에 등록되어, 파티장을 변경 할 수 없습니다.
*/
MSG_ID_D9F = 0xd9f,
/*20180328 to latest
@@ -17162,8 +17234,10 @@ Enter 4 english words and 2 chinese words
거절
*/
MSG_ID_DA2 = 0xda2,
-/*20180328 to latest
+/*20180328 to 20191127
설정 권한은 파티장에게 있습니다.
+20191204 to latest
+힐러
*/
MSG_ID_DA3 = 0xda3,
/*20180328 to latest
@@ -17224,16 +17298,21 @@ Enter 4 english words and 2 chinese words
파티 가입 요청
*/
MSG_ID_DB1 = 0xdb1,
-/*20180411 to latest
+/*20180411 to 20191113
파티장이 아닌 경우, 모험가 중개소에 파티를 등록할 수 없습니다.
+20191127 to latest
+파티장이 아닌 경우 모험가 중개소에 파티를 등록할 수 없습니다.
*/
MSG_ID_DB2 = 0xdb2,
/*20180411 to latest
파티 모집을 중단할 수 없습니다.
*/
MSG_ID_DB3 = 0xdb3,
-/*20180411 to latest
+/*20180411 to 20191127
존재하지 않는 파티 글입니다.
+20191204 to latest
+보조
+Support
*/
MSG_ID_DB4 = 0xdb4,
#endif
@@ -17266,16 +17345,20 @@ Zoom Out 기능을 해제합니다 (Off)
파티장인 경우, 가입 요청을 할 수 없습니다.
*/
MSG_ID_DBB = 0xdbb,
-/*20180425 to latest
+/*20180425 to 20191211
모험가 중개소에 등록 중입니다. 잠시만 기다려 주세요.
+20191224 to latest
+파티 가입 최대 레벨은 최소 레벨 설정보다 높아야 합니다.
*/
MSG_ID_DBC = 0xdbc,
/*20180425 to latest
더 이상 직업을 선택할 수 없습니다.
*/
MSG_ID_DBD = 0xdbd,
-/*20180425 to latest
+/*20180425 to 20191113
게임 중 해당 유저의 가입 요청을 받지 않습니다.
+20191127 to latest
+게임 중 해당 유저의 가입 요청을 받지 않습니다.(클라이언트 종료 전까지 유효)
*/
MSG_ID_DBE = 0xdbe,
/*20180425 to latest
@@ -17354,14 +17437,17 @@ Emblem 테두리를 그려주지 않습니다
#if PACKETVER >= 20180711
/*20180711 to latest
E X P : %.1f%% ( basic 100.0%% %s %.1f%%)
+EXP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DCF = 0xdcf,
/*20180711 to latest
DROP : %.1f%% ( basic 100.0%% %s %.1f%%)
+DROP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DD0 = 0xdd0,
/*20180711 to latest
DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
+DEATH: %.1f%% (basic: 100.0%%, %s: %.1f%%)
*/
MSG_ID_DD1 = 0xdd1,
#endif
@@ -17370,6 +17456,7 @@ DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
'
20180808 to latest
영문이나 러시아어 단독으로만 사용이 가능합니다.
+Forbidden symbols in character name.
*/
MSG_ID_DD2 = 0xdd2,
/*20180725 to 20180801
@@ -17382,30 +17469,36 @@ you must have an AccessTicket to login
--
20180905 to latest
창고를 불러오는 중입니다.
+Loading....
*/
MSG_ID_DD4 = 0xdd4,
#endif
#if PACKETVER >= 20180905
/*20180905 to latest
NOW LOADING..
+Loading...
*/
MSG_ID_DD5 = 0xdd5,
#endif
#if PACKETVER >= 20180919
/*20180919 to latest
삭제
+Delete
*/
MSG_ID_DD6 = 0xdd6,
/*20180919 to latest
답장
+Reply
*/
MSG_ID_DD7 = 0xdd7,
/*20180919 to latest
전송
+Send
*/
MSG_ID_DD8 = 0xdd8,
/*20180919 to latest
이름확인
+Name Check
*/
MSG_ID_DD9 = 0xdd9,
/*20180919 to latest
@@ -17532,6 +17625,7 @@ PvP
#if PACKETVER >= 20181226
/*20181226 to latest
Capture Monster
+Taming monster
*/
MSG_ID_DF5 = 0xdf5,
/*20181226 to latest
@@ -17542,6 +17636,7 @@ message
#if PACKETVER >= 20190116
/*20190116 to latest
TITLE
+Header
*/
MSG_ID_DF7 = 0xdf7,
/*20190116 to latest
@@ -17555,6 +17650,1057 @@ TITLE
*/
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
+#if PACKETVER >= 20190515
+/*20190515 to latest
+영지로 이동
+*/
+ MSG_ID_E2D = 0xe2d,
+/*20190515 to latest
+상업도/방어도 확인
+*/
+ MSG_ID_E2E = 0xe2e,
+/*20190515 to 20190605
+관리영지 "%s"(으)로 이동하시겠습니까?
+(1회 이동 시 마다 1,000제니가 소모됩니다.
+공성전 시간에는 제니의 소모가 100배로 증가합니다.)
+20190626 to latest
+관리영지 "%s"(으)로 이동하시겠습니까?
+이동 시 마다 %d제니가 소모됩니다.
+(공성전 시간에는 %d제니가 소모됩니다.)
+*/
+ MSG_ID_E2F = 0xe2f,
+/*20190515 to latest
+
+관리영지 "%s"
+
+방어도: %d / %d
+상업도: %d / %d
+*/
+ MSG_ID_E30 = 0xe30,
+/*20190515 to 20190717
+공성 영지 내에서는 다른 공성 영지로 이동 할 수 없습니다.
+20190724 to latest
+공성 영지에서는 사용할 수 없는 기능입니다.
+*/
+ MSG_ID_E31 = 0xe31,
+#endif
+#if PACKETVER >= 20190626
+/*20190626 to latest
+기본 기능 스킬을 습득하지 않은 캐릭터입니다.
+*/
+ MSG_ID_E32 = 0xe32,
+/*20190626 to latest
+접속하신 IP는 라그나로크 제로 이용이 불가능합니다.
+고객센터 또는 홈페이지로 문의해 주십시오.
+*/
+ MSG_ID_E33 = 0xe33,
+#endif
+#if PACKETVER >= 20190709
+/*20190709 to latest
+탑승/장착 해제
+*/
+ MSG_ID_E34 = 0xe34,
+/*20190709 to latest
+가져오기
+*/
+ MSG_ID_E35 = 0xe35,
+/*20190709 to latest
+직전 노점에 등록된 아이템 정보를 가져옵니다.
+*/
+ MSG_ID_E36 = 0xe36,
+/*20190709 to latest
+서버 이슈로 인해 로그인이 제한되고 있습니다.
+*/
+ MSG_ID_E37 = 0xe37,
+/*20190709 to latest
+메시지
+*/
+ MSG_ID_E38 = 0xe38,
+/*20190709 to latest
++18 이상만 플레이가 가능합니다.
+*/
+ MSG_ID_E39 = 0xe39,
+/*20190709 to latest
+3시간 이상의 게임 플레이를 권장하지 않습니다.
+*/
+ MSG_ID_E3A = 0xe3a,
+/*20190709 to latest
+AP가 부족합니다.
+*/
+ MSG_ID_E3B = 0xe3b,
+#endif
+#if PACKETVER >= 20190724
+/*20190724 to latest
+제련도가 높아서 조합할 수 없습니다.
+*/
+ MSG_ID_E3C = 0xe3c,
+/*20190724 to latest
+제련도가 조합에 필요한 요구치보다 높습니다.
+*/
+ MSG_ID_E3D = 0xe3d,
+/*20190724 to 20191106
+'카드가 끼워져있거나 인챈트 되어 있습니다.
+20191113 to latest
+카드가 끼워져있거나 인챈트 되어 있습니다.
+*/
+ MSG_ID_E3E = 0xe3e,
+#endif
+#if PACKETVER >= 20190814
+/*20190814 to latest
+∞
+?
+*/
+ MSG_ID_E3F = 0xe3f,
+/*20190814 to latest
+Z
+*/
+ MSG_ID_E40 = 0xe40,
+/*20190814 to latest
+Total : %s Zeny
+*/
+ MSG_ID_E41 = 0xe41,
+/*20190814 to latest
+계정한정판매 등록창
+Limited Account Registration Window
+*/
+ MSG_ID_E42 = 0xe42,
+/*20190814 to latest
+아이템 DB명
+Item DB Name
+*/
+ MSG_ID_E43 = 0xe43,
+/*20190814 to latest
+아이템 DB번호
+Item DB Number
+*/
+ MSG_ID_E44 = 0xe44,
+/*20190814 to latest
+판매 갯수
+Number of Sale
+*/
+ MSG_ID_E45 = 0xe45,
+/*20190814 to latest
+판매 시작시간
+Sale Start Time
+*/
+ MSG_ID_E46 = 0xe46,
+/*20190814 to latest
+판매 종료시간
+Sale end time
+*/
+ MSG_ID_E47 = 0xe47,
+/*20190814 to latest
+계정 한정
+Account only
+*/
+ MSG_ID_E48 = 0xe48,
+/*20190814 to 20190814
+판매기간 : %d월 %d일 ~ %d월 %d일
+20190828 to latest
+판매기간 : %d월 %d일 %d시 %d분
+Sale period:% d month% d day% d hours% d
+*/
+ MSG_ID_E49 = 0xe49,
+/*20190814 to 20190925
+구입가능 %d개
+% D available
+20191008 to latest
+계정당 구매가능
+*/
+ MSG_ID_E4A = 0xe4a,
+/*20190814 to latest
+%d개 한정
+limited to% d
+*/
+ MSG_ID_E4B = 0xe4b,
+/*20190814 to latest
+>> ItemName : %s / 수량 : %d / 판매기간 : %d월:%d일:%d시:%d분 ~ %d월:%d일:%d시:%d분
+>> ItemName:% s / Quantity:% d / Sales Period:% d Month:% d Day:% d Hour:% d Minute ~% d Month:% d Day:% d Hour:% d Minute
+*/
+ MSG_ID_E4C = 0xe4c,
+/*20190814 to latest
+Sold Out
+*/
+ MSG_ID_E4D = 0xe4d,
+/*20190814 to latest
+[%s]은(는) 현재 소환할 수 없는 지역에 있습니다.
+% s] is currently in a region that cannot be summoned.
+*/
+ MSG_ID_E4E = 0xe4e,
+#endif
+#if PACKETVER >= 20190828
+/*20190828 to latest
+~ %d월 %d일 %d시 %d분
+% d min% d days% d days
+*/
+ MSG_ID_E4F = 0xe4f,
+/*20190828 to latest
+상품을 더이상 추가할 수 없습니다
+Can't add any more items
+*/
+ MSG_ID_E50 = 0xe50,
+/*20190828 to latest
+장착 중인 아이템은 교환할 수 없습니다. 장착을 해제한 뒤 시도해 주시길 바랍니다.
+The item being mounted cannot be exchanged. Please unmount it and try again.
+*/
+ MSG_ID_E51 = 0xe51,
+#endif
+#if PACKETVER >= 20190911
+/*20190911 to latest
+길드 창고 이용 중엔 캐릭터 선택창으로 이동 할 수 없습니다.
+You can not move to the character selection window while using the Guild Warehouse.
+*/
+ MSG_ID_E52 = 0xe52,
+/*20190911 to latest
+아이템 태그가 포함되어 있어 사용할 수 없습니다.
+Item tag is included and cannot be used.
+*/
+ MSG_ID_E53 = 0xe53,
+/*20190911 to latest
+Monster
+*/
+ MSG_ID_E54 = 0xe54,
+/*20190911 to latest
+Unknown
+*/
+ MSG_ID_E55 = 0xe55,
+/*20190911 to latest
+Undead
+*/
+ MSG_ID_E56 = 0xe56,
+/*20190911 to latest
+Animal
+*/
+ MSG_ID_E57 = 0xe57,
+/*20190911 to latest
+Plant
+*/
+ MSG_ID_E58 = 0xe58,
+/*20190911 to latest
+Insect
+*/
+ MSG_ID_E59 = 0xe59,
+/*20190911 to latest
+Marine
+*/
+ MSG_ID_E5A = 0xe5a,
+/*20190911 to latest
+Devil
+*/
+ MSG_ID_E5B = 0xe5b,
+/*20190911 to latest
+Human
+*/
+ MSG_ID_E5C = 0xe5c,
+/*20190911 to latest
+Angel
+*/
+ MSG_ID_E5D = 0xe5d,
+/*20190911 to latest
+Dragon
+*/
+ MSG_ID_E5E = 0xe5e,
+/*20190911 to latest
+Balance: %s %c
+*/
+ MSG_ID_E5F = 0xe5f,
+/*20190911 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %s캐시가 차감됩니다.
+Do you really want to purchase this item? %s Money will be deducted from your total balance.
+*/
+ MSG_ID_E60 = 0xe60,
+/*20190911 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %s캐시, 무료 %s캐시가 차감됩니다.
+Do you really want to purchase this item? %s Money and %s Free Points will be deducted from your total balance.
+*/
+ MSG_ID_E61 = 0xe61,
+/*20190911 to latest
+호출이 거부되었습니다.
+20190918 to 20190918
+[%s]의 호출이 거부되었습니다.
+*/
+ MSG_ID_E62 = 0xe62,
+#endif
+#if PACKETVER >= 20190918
+/*20190918 to latest
+구매 한도액은 소지액을 초과할 수 없습니다.
+*/
+ MSG_ID_E63 = 0xe63,
+/*20190918 to latest
+노점을 여는데 실패하였습니다. 구매노점 개설을 닫아주시기 바랍니다.
+*/
+ MSG_ID_E64 = 0xe64,
+#endif
+#if PACKETVER >= 20190925
+/*20190925 to latest
+판매 노점 아이템 리스트가 저장되었습니다.
+*/
+ MSG_ID_E65 = 0xe65,
+/*20190925 to latest
+구매 노점 아이템 리스트가 저장되었습니다.
+*/
+ MSG_ID_E66 = 0xe66,
+#endif
+#if PACKETVER >= 20191008
+/*20191008 to latest
+VTC 인증에 실패하였습니다.
+*/
+ MSG_ID_E67 = 0xe67,
+/*20191008 to latest
+물물교환 중에는 장비를 착용할 수 없습니다.
+*/
+ MSG_ID_E68 = 0xe68,
+/*20191008 to latest
+교환하려는 품목
+*/
+ MSG_ID_E69 = 0xe69,
+/*20191008 to latest
+ 1차, 2차, 3차 직업 스킬 %d개를 더 올려 주십시오.
+*/
+ MSG_ID_E6A = 0xe6a,
+#endif
+#if PACKETVER >= 20191023
+/*20191023 to latest
+같은 아이템은 %d개까지 소유할 수 있습니다.
+*/
+ MSG_ID_E6B = 0xe6b,
+/*20191023 to latest
+같은 아이템은 한 번에 %d개까지 교환할 수 있습니다.
+*/
+ MSG_ID_E6C = 0xe6c,
+/*20191023 to latest
+해당 로덱스는 "%s"서버에서 열 수 있습니다.
+*/
+ MSG_ID_E6D = 0xe6d,
+/*20191023 to latest
+[공지]편지함의 모든 메일을 삭제하시겠습니까 ?
+(해당 "%s"서버의 메일만 삭제됩니다.)
+*/
+ MSG_ID_E6E = 0xe6e,
+/*20191023 to latest
+[공지]편지함의 모든 첨부 물품을 받으시겠습니까?
+(해당 "%s"서버의 메일의 물품만 받으실 수 있습니다.)
+*/
+ MSG_ID_E6F = 0xe6f,
+/*20191023 to latest
+해당 메일은 "%s"서버에서만 삭제 가능합니다.
+*/
+ MSG_ID_E70 = 0xe70,
+/*20191023 to latest
+해당 메일은 "%s"서버에서만 물품 받기가 가능합니다.
+*/
+ MSG_ID_E71 = 0xe71,
+/*20191023 to latest
+해당 메일은 "%s"서버에서만 내용읽기가 가능합니다.
+*/
+ MSG_ID_E72 = 0xe72,
+#endif
+#if PACKETVER >= 20191106
+/*20191106 to latest
+합계 : %d z
+*/
+ MSG_ID_E73 = 0xe73,
+/*20191106 to latest
+메세지
+*/
+ MSG_ID_E74 = 0xe74,
+/*20191106 to latest
+구매상점 개설 중에는 개인상점의 물건을 구입할 수 없습니다.
+*/
+ MSG_ID_E75 = 0xe75,
+#endif
+#if PACKETVER >= 20191113
+/*20191113 to latest
+등급강화가 성공적으로 되었습니다.
+*/
+ MSG_ID_E76 = 0xe76,
+/*20191113 to latest
+등급강화가 실패하였습니다.
+*/
+ MSG_ID_E77 = 0xe77,
+/*20191113 to latest
+등급 수치가 하향 조정 되었습니다.
+*/
+ MSG_ID_E78 = 0xe78,
+/*20191113 to latest
+장비가 파괴되었습니다.
+*/
+ MSG_ID_E79 = 0xe79,
+/*20191113 to latest
+장비가 보호되었습니다.
+*/
+ MSG_ID_E7A = 0xe7a,
+/*20191113 to latest
+재료가 선택되지 않았습니다.
+*/
+ MSG_ID_E7B = 0xe7b,
+/*20191113 to latest
+재료가 부족합니다.
+*/
+ MSG_ID_E7C = 0xe7c,
+/*20191113 to latest
+소지 금액이 부족합니다.
+*/
+ MSG_ID_E7D = 0xe7d,
+/*20191113 to latest
+아이템 공간이 부족합니다.
+*/
+ MSG_ID_E7E = 0xe7e,
+/*20191113 to latest
+장비가 보호되고 있습니다.
+*/
+ MSG_ID_E7F = 0xe7f,
+/*20191113 to latest
+장비가 파괴될 수 있습니다.
+*/
+ MSG_ID_E80 = 0xe80,
+/*20191113 to latest
+등급강화 실패 시 등급이 내려갑니다.
+*/
+ MSG_ID_E81 = 0xe81,
+/*20191113 to latest
+등급강화 중에는 로덱스를 사용할 수 없습니다. 로덱스를 강제 종료하였습니다.
+*/
+ MSG_ID_E82 = 0xe82,
+/*20191113 to latest
+등급강화 중에는 로덱스를 사용할 수 없습니다.
+*/
+ MSG_ID_E83 = 0xe83,
+/*20191113 to latest
+등급강화 중에는 은행을 사용할 수 없습니다. 은행을 강제 종료하였습니다.
+*/
+ MSG_ID_E84 = 0xe84,
+/*20191113 to latest
+등급강화 중에는 은행을 사용할 수 없습니다.
+*/
+ MSG_ID_E85 = 0xe85,
+/*20191113 to latest
+[%s] 님이 등급강화를 성공하여, [%s등급 %s] 아이템을 획득하였습니다.
+*/
+ MSG_ID_E86 = 0xe86,
+/*20191113 to latest
+[%s] 님이 [%s등급 %s] 아이템의 등급강화에 실패하였습니다.
+*/
+ MSG_ID_E87 = 0xe87,
+/*20191113 to latest
+등급 강화가 불가능한 장비입니다.
+*/
+ MSG_ID_E88 = 0xe88,
+/*20191113 to latest
+체인지 메테리얼
+*/
+ MSG_ID_E89 = 0xe89,
+/*20191113 to latest
+가나다 정렬
+*/
+ MSG_ID_E8A = 0xe8a,
+/*20191113 to 20191224
+기본 결과물은 %s %d개 이나, 낮은 확률로 최대 %d개까지 생성될 수 있습니다.
+20200115 to latest
+※[%s] %d~%d개 제작
+*/
+ MSG_ID_E8B = 0xe8b,
+/*20191113 to latest
+성공 %d%%
+*/
+ MSG_ID_E8C = 0xe8c,
+/*20191113 to latest
+아이템 태그는 소지한 아이템만 태그할 수 있습니다.
+*/
+ MSG_ID_E8D = 0xe8d,
+#endif
+#if PACKETVER >= 20191127
+/*20191127 to latest
+공격력 및 특성 공격력이 증가되었습니다.
+*/
+ MSG_ID_E8E = 0xe8e,
+/*20191127 to latest
+강인한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E8F = 0xe8f,
+/*20191127 to latest
+HP 및 물리 저항력이 증가되었습니다.
+*/
+ MSG_ID_E90 = 0xe90,
+/*20191127 to latest
+굳건한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E91 = 0xe91,
+/*20191127 to latest
+공격 속도 및 유도 공격 확률이 증가되었습니다.
+*/
+ MSG_ID_E92 = 0xe92,
+/*20191127 to latest
+신실한 신념 효과가 해제되었습니다.
+*/
+ MSG_ID_E93 = 0xe93,
+/*20191127 to latest
+POW, CRT 및 CON 이 증가되었습니다.
+*/
+ MSG_ID_E94 = 0xe94,
+/*20191127 to latest
+베네딕툼 효과가 해제되었습니다.
+*/
+ MSG_ID_E95 = 0xe95,
+/*20191127 to latest
+SPL, WIS 및 CRT 가 증가되었습니다.
+*/
+ MSG_ID_E96 = 0xe96,
+/*20191127 to latest
+렐리지오 효과가 해제되었습니다.
+*/
+ MSG_ID_E97 = 0xe97,
+/*20191127 to latest
+특성 공격력 및 특성 마법 공격력이 증가되었습니다.
+*/
+ MSG_ID_E98 = 0xe98,
+/*20191127 to latest
+콤페텐티아 효과가 해제되었습니다.
+*/
+ MSG_ID_E99 = 0xe99,
+/*20191127 to latest
+크리티컬 데미지 비율이 증가되었습니다.
+*/
+ MSG_ID_E9A = 0xe9a,
+/*20191127 to latest
+프레센스 아치에스 효과가 해제되었습니다.
+*/
+ MSG_ID_E9B = 0xe9b,
+/*20191127 to latest
+물리 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_E9C = 0xe9c,
+/*20191127 to latest
+아르구투스 텔룸 효과가 해제되었습니다.
+*/
+ MSG_ID_E9D = 0xe9d,
+/*20191127 to latest
+마법 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_E9E = 0xe9e,
+/*20191127 to latest
+아르구투스 비타 효과가 해제되었습니다.
+*/
+ MSG_ID_E9F = 0xe9f,
+/*20191127 to latest
+Num: %d/%d Weight: %d/%d
+*/
+ MSG_ID_EA0 = 0xea0,
+#endif
+#if PACKETVER >= 20191204
+/*20191204 to latest
+서번트 웨폰 효과가 해제되었습니다.
+*/
+ MSG_ID_EA1 = 0xea1,
+/*20191204 to latest
+챠징 피어스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA2 = 0xea2,
+/*20191204 to latest
+비고르 효과가 해제되었습니다.
+*/
+ MSG_ID_EA3 = 0xea3,
+/*20191204 to latest
+공격력이 증가하고, 방어력이 감소되었습니다.
+*/
+ MSG_ID_EA4 = 0xea4,
+/*20191204 to latest
+어택 스탠스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA5 = 0xea5,
+/*20191204 to latest
+방어력이 증가하고, 공격력이 감소되었습니다.
+*/
+ MSG_ID_EA6 = 0xea6,
+/*20191204 to latest
+가드 스탠스 효과가 해제되었습니다.
+*/
+ MSG_ID_EA7 = 0xea7,
+/*20191204 to latest
+배리어가 부여되었습니다.
+*/
+ MSG_ID_EA8 = 0xea8,
+/*20191204 to latest
+가디언 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EA9 = 0xea9,
+/*20191204 to latest
+헌신 효과로 받는 데미지가 감소되었습니다.
+*/
+ MSG_ID_EAA = 0xeaa,
+/*20191204 to latest
+리바운드 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EAB = 0xeab,
+/*20191204 to latest
+성속성 마법 데미지와 암/불사속성 내성이 증가되었습니다.
+*/
+ MSG_ID_EAC = 0xeac,
+/*20191204 to latest
+홀리 쉴드 효과가 해제되었습니다.
+*/
+ MSG_ID_EAD = 0xead,
+/*20191204 to latest
+즉시 부활 효과가 부여되었습니다.
+*/
+ MSG_ID_EAE = 0xeae,
+/*20191204 to latest
+얼티메이트 세크리파이스 효과가 해제되었습니다.
+*/
+ MSG_ID_EAF = 0xeaf,
+/*20191204 to latest
+특정 스킬의 효능이 변경되었습니다.
+*/
+ MSG_ID_EB0 = 0xeb0,
+/*20191204 to latest
+클라이막스 효과가 해제되었습니다.
+*/
+ MSG_ID_EB1 = 0xeb1,
+/*20191204 to latest
+특정 스킬의 효능이 변경되었습니다.
+*/
+ MSG_ID_EB2 = 0xeb2,
+/*20191204 to latest
+쉐도우 익시드 효과가 해제되었습니다.
+*/
+ MSG_ID_EB3 = 0xeb3,
+/*20191204 to latest
+물리 저항력 무시 효과가 부여되었습니다.
+*/
+ MSG_ID_EB4 = 0xeb4,
+/*20191204 to latest
+포텐트 베넘 효과가 해제되었습니다.
+*/
+ MSG_ID_EB5 = 0xeb5,
+/*20191204 to latest
+매 공격 시, 일정 확률로 대상이 받는 데미지를 증가시킵니다.
+*/
+ MSG_ID_EB6 = 0xeb6,
+/*20191204 to latest
+인챈팅 쉐도우 효과가 해제되었습니다.
+*/
+ MSG_ID_EB7 = 0xeb7,
+/*20191204 to latest
+토벌 카운트 On
+*/
+ MSG_ID_EB8 = 0xeb8,
+/*20191204 to latest
+토벌 카운트 Off
+*/
+ MSG_ID_EB9 = 0xeb9,
+#endif
+#if PACKETVER >= 20191211
+/*20191211 to latest
+대상의 AP가 최대치입니다
+*/
+ MSG_ID_EBA = 0xeba,
+/*20191211 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 %d캐시가 차감됩니다.
+*/
+ MSG_ID_EBB = 0xebb,
+/*20191211 to latest
+ ^ff0000본 아이템을 구매 후 7일 이내에는 청약 철회가 가능합니다. 다만, 7일이 지났거나 아이템을 개봉하시면 청약 철회 대상에서 제외 됩니다.또한 구매시 사용된 무료캐시는 청약철회시 반환되지 않습니다.일부(이벤트) 아이템의 경우 이벤트 종료 시 삭제될 수 있으며, 아이템 설명 내 기재된 삭제기간을 확인해 주시기 바랍니다.^000000 정말로 아이템을 구매하시겠습니까? 구매하실 경우 일반 %d캐시, 무료 %d캐시가 차감됩니다.
+*/
+ MSG_ID_EBC = 0xebc,
+#endif
+#if PACKETVER >= 20191224
+/*20191224 to latest
+서번트 웨폰 %d개가 필요합니다.
+*/
+ MSG_ID_EBD = 0xebd,
+/*20191224 to latest
+https://member.gnjoy.com.tw/billing.aspx
+*/
+ MSG_ID_EBE = 0xebe,
+#endif
+#if PACKETVER >= 20200115
+/*20200115 to latest
+역순 정렬
+*/
+ MSG_ID_EBF = 0xebf,
+/*20200115 to latest
+검색 내용 입력
+*/
+ MSG_ID_EC0 = 0xec0,
+/*20200115 to latest
+검색
+Search
+*/
+ MSG_ID_EC1 = 0xec1,
+/*20200115 to latest
+리서치 리포트 상태가 됩니다.
+*/
+ MSG_ID_EC2 = 0xec2,
+/*20200115 to latest
+리서치 리포트 상태가 해제됩니다.
+*/
+ MSG_ID_EC3 = 0xec3,
+/*20200115 to latest
+제조에 성공 했습니다.
+*/
+ MSG_ID_EC4 = 0xec4,
+/*20200115 to latest
+제조에 실패 했습니다.
+*/
+ MSG_ID_EC5 = 0xec5,
+/*20200115 to latest
+쉐도우 장비가 파괴 및 해제에서 보호됩니다.
+*/
+ MSG_ID_EC6 = 0xec6,
+/*20200115 to latest
+풀 쉐도우 프로텍션이 해제됩니다.
+*/
+ MSG_ID_EC7 = 0xec7,
+/*20200115 to latest
+식물형, 무형 몬스터에게 주는 데미지가 증가합니다.
+*/
+ MSG_ID_EC8 = 0xec8,
+/*20200115 to latest
+지옥 나무의 가루효과가 사라집니다.
+*/
+ MSG_ID_EC9 = 0xec9,
+#endif
+#if PACKETVER >= 20200129
+/*20200129 to latest
+공격 장치가 활성화되었습니다.
+*/
+ MSG_ID_ECA = 0xeca,
+/*20200129 to latest
+공격 장치가 해제되었습니다.
+*/
+ MSG_ID_ECB = 0xecb,
+/*20200129 to latest
+물리 방어력 및 물리 저항력이 증가되었습니다.
+*/
+ MSG_ID_ECC = 0xecc,
+/*20200129 to latest
+방어 장치가 해제되었습니다.
+*/
+ MSG_ID_ECD = 0xecd,
+#endif
+#if PACKETVER >= 20200212
+/*20200212 to latest
+검색
+Search
+*/
+ MSG_ID_ECE = 0xece,
+/*20200212 to latest
+합주를 혼자 사용할 수 있습니다.
+*/
+ MSG_ID_ECF = 0xecf,
+/*20200212 to latest
+크바시르의 지혜가 사라집니다.
+*/
+ MSG_ID_ED0 = 0xed0,
+/*20200212 to latest
+미스틱 심포니의 효과가 부여됩니다.
+*/
+ MSG_ID_ED1 = 0xed1,
+/*20200212 to latest
+미스틱 심포니의 효과가 사라집니다.
+*/
+ MSG_ID_ED2 = 0xed2,
+/*20200212 to latest
+마법 저항력이 감소했습니다.
+*/
+ MSG_ID_ED3 = 0xed3,
+/*20200212 to latest
+게페니아 녹턴의 효과가 해제 되었습니다.
+*/
+ MSG_ID_ED4 = 0xed4,
+/*20200212 to latest
+물리 저항력이 감소했습니다.
+*/
+ MSG_ID_ED5 = 0xed5,
+/*20200212 to latest
+마인워커 랩소디 상태가 해제되었습니다.
+*/
+ MSG_ID_ED6 = 0xed6,
+/*20200212 to latest
+물리 저항력이 증가했습니다.
+*/
+ MSG_ID_ED7 = 0xed7,
+/*20200212 to latest
+뮤지컬 인터루드 상태가 해제되었습니다.
+*/
+ MSG_ID_ED8 = 0xed8,
+/*20200212 to latest
+특성 마법 공격력과 이동 속도가 증가합니다.
+*/
+ MSG_ID_ED9 = 0xed9,
+/*20200212 to latest
+저녁 노을의 세레나데 효과가 해제되었습니다.
+*/
+ MSG_ID_EDA = 0xeda,
+/*20200212 to latest
+특성 물리 공격력과 이동 속도가 증가합니다.
+*/
+ MSG_ID_EDB = 0xedb,
+/*20200212 to latest
+ 프론테라의 행진곡 효과가 해제되었습니다.
+*/
+ MSG_ID_EDC = 0xedc,
+/*20200212 to latest
+바람의 분노가 시전자에게 흘러 들어옵니다.
+*/
+ MSG_ID_EDD = 0xedd,
+/*20200212 to latest
+캘러미티 가일 상태가 해제되었습니다.
+*/
+ MSG_ID_EDE = 0xede,
+/*20200212 to latest
+바람에 의해 약점과 모습이 드러납니다.
+*/
+ MSG_ID_EDF = 0xedf,
+/*20200212 to latest
+윈드 사인 효과가 사라집니다.
+*/
+ MSG_ID_EE0 = 0xee0,
+#endif
+#if PACKETVER >= 20200304
+/*20200304 to latest
+E X P : %.1f%% ( basic 100.0%% %s %.1f%%)
+EXP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE1 = 0xee1,
+/*20200304 to latest
+DROP : %.1f%% ( basic 100.0%% %s %.1f%%)
+DROP: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE2 = 0xee2,
+/*20200304 to latest
+DEATH : %.1f%% ( basic 100.0%% %s %.1f%%)
+DEATH: %.1f%% (basic: 100.0%%, %s: %.1f%%)
+*/
+ MSG_ID_EE3 = 0xee3,
+#endif
};
#endif /* MAP_MESSAGES_ZERO_H */
diff --git a/src/map/mob.c b/src/map/mob.c
index d82e49bcc..51a32abd9 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -239,6 +239,14 @@ static void mvptomb_destroy(struct mob_data *md)
m = nd->bl.m;
+ struct s_mapiterator *iter = mapit_geteachpc();
+ for (struct map_session_data *sd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); sd = BL_UCAST(BL_PC, mapit->next(iter))) {
+ if (sd->npc_id == nd->bl.id) {
+ sd->state.npc_unloaded = 1;
+ }
+ }
+ mapit->free(iter);
+
clif->clearunit_area(&nd->bl,CLR_OUTSIGHT);
map->delblock(&nd->bl);
@@ -329,15 +337,23 @@ static int mob_parse_dataset(struct spawn_data *data)
return 1;
}
-/*==========================================
- * Generates the basic mob data using the spawn_data provided.
- *------------------------------------------*/
-static struct mob_data *mob_spawn_dataset(struct spawn_data *data)
+
+/**
+ * Generates basic mob data by using the passed spawn data.
+ *
+ * @param data The mobs spawn data.
+ * @param npc_id If spawned by NPC script, this holds the ID of the invoking NPC.
+ * @return The generated mob data, later used to spawn the mob.
+ *
+ **/
+static struct mob_data *mob_spawn_dataset(struct spawn_data *data, int npc_id)
{
- struct mob_data *md = NULL;
nullpo_retr(NULL, data);
- CREATE(md, struct mob_data, 1);
- md->bl.id= npc->get_new_npc_id();
+
+ struct mob_data *md = (struct mob_data *)aCalloc(1, sizeof(struct mob_data));
+
+ memcpy(md->name, data->name, NAME_LENGTH);
+ md->bl.id = npc->get_new_npc_id();
md->bl.type = BL_MOB;
md->bl.m = data->m;
md->bl.x = data->x;
@@ -345,24 +361,29 @@ static struct mob_data *mob_spawn_dataset(struct spawn_data *data)
md->class_ = data->class_;
md->state.boss = data->state.boss;
md->db = mob->db(md->class_);
+ md->npc_id = npc_id;
+ md->spawn_timer = INVALID_TIMER;
+ md->deletetimer = INVALID_TIMER;
+ md->skill_idx = -1;
+
if (data->level > 0 && data->level <= MAX_LEVEL)
md->level = data->level;
- memcpy(md->name, data->name, NAME_LENGTH);
- if (data->state.ai)
+
+ if (data->state.ai > 0)
md->special_state.ai = data->state.ai;
- if (data->state.size)
+
+ if (data->state.size > 0)
md->special_state.size = data->state.size;
- if (data->eventname[0] && strlen(data->eventname) >= 4)
+
+ if (data->eventname[0] != '\0' && strlen(data->eventname) >= 4)
memcpy(md->npc_event, data->eventname, 50);
- if(md->db->status.mode&MD_LOOTER)
- md->lootitem = (struct item *)aCalloc(LOOTITEM_SIZE,sizeof(struct item));
- md->spawn_timer = INVALID_TIMER;
- md->deletetimer = INVALID_TIMER;
- md->skill_idx = -1;
+
+ if ((md->db->status.mode & MD_LOOTER) == MD_LOOTER)
+ md->lootitem = (struct item *)aCalloc(LOOTITEM_SIZE, sizeof(struct item));
+
status->set_viewdata(&md->bl, md->class_);
status->change_init(&md->bl);
unit->dataset(&md->bl);
-
map->addiddb(&md->bl);
return md;
}
@@ -471,7 +492,7 @@ static bool mob_ksprotected(struct block_list *src, struct block_list *target)
// Message to KS
if( DIFF_TICK(sd->ks_floodprotect_tick, tick) <= 0 )
{
- sprintf(output, "[KS Warning!! - Owner : %s]", pl_sd->status.name);
+ sprintf(output, msg_sd(sd, 890), pl_sd->status.name); // [KS Warning!! - Owner : %s]
clif_disp_onlyself(sd, output);
sd->ks_floodprotect_tick = tick + 2000;
@@ -480,7 +501,7 @@ static bool mob_ksprotected(struct block_list *src, struct block_list *target)
// Message to Owner
if( DIFF_TICK(pl_sd->ks_floodprotect_tick, tick) <= 0 )
{
- sprintf(output, "[Watch out! %s is trying to KS you!]", sd->status.name);
+ sprintf(output, msg_sd(pl_sd, 891), sd->status.name); // [Watch out! %s is trying to KS you!]
clif_disp_onlyself(pl_sd, output);
pl_sd->ks_floodprotect_tick = tick + 2000;
@@ -495,7 +516,24 @@ static bool mob_ksprotected(struct block_list *src, struct block_list *target)
return false;
}
-static struct mob_data *mob_once_spawn_sub(struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai)
+/**
+ * Prepares a mob's spawn data.
+ *
+ * @param bl The invoking character's block list.
+ * @param m The ID of the map where the mob should be spawned.
+ * @param x The x coordinate where the mob should be spawned.
+ * @param y The y coordinate where the mob should be spawned.
+ * @param mobname The mob's display name.
+ * @param class_ The mob's ID in database.
+ * @param event The name of the event which should be executed when the mob is killed.
+ * @param size The mob's size.
+ * @param ai The mob's AI.
+ * @param npc_id If spawned by NPC script, this holds the ID of the invoking NPC.
+ * @return The mob data generated by mob->spawn_dataset().
+ *
+ **/
+static struct mob_data *mob_once_spawn_sub(struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_,
+ const char *event, unsigned int size, unsigned int ai, int npc_id)
{
struct spawn_data data;
@@ -513,76 +551,100 @@ static struct mob_data *mob_once_spawn_sub(struct block_list *bl, int16 m, int16
else
strcpy(data.name, DEFAULT_MOB_JNAME);
- if (event)
+ if (event != NULL)
safestrncpy(data.eventname, event, sizeof(data.eventname));
- // Locate spot next to player.
- if (bl && (x < 0 || y < 0))
+ /** Locate spot next to player. **/
+ if (bl != NULL && (x < 0 || y < 0))
map->search_freecell(bl, m, &x, &y, 1, 1, 0);
- // if none found, pick random position on map
+ /** If none found, pick random position on map. **/
if (x <= 0 || x >= map->list[m].xs || y <= 0 || y >= map->list[m].ys)
map->search_freecell(NULL, m, &x, &y, -1, -1, 1);
data.x = x;
data.y = y;
- if (!mob->parse_dataset(&data))
+ if (mob->parse_dataset(&data) == 0)
return NULL;
- return mob->spawn_dataset(&data);
+ return mob->spawn_dataset(&data, npc_id);
}
-/*==========================================
- * Spawn a single mob on the specified coordinates.
- *------------------------------------------*/
-static int mob_once_spawn(struct map_session_data *sd, int16 m, int16 x, int16 y, const char *mobname, int class_, int amount, const char *event, unsigned int size, unsigned int ai)
+/**
+ * Spawns a given amount of mobs.
+ *
+ * @param sd The invoking character.
+ * @param m The ID of the map where the mob should be spawned.
+ * @param x The x coordinate where the mob should be spawned.
+ * @param y The y coordinate where the mob should be spawned.
+ * @param mobname The mob's display name.
+ * @param class_ The mob's ID in database.
+ * @param amount The amount of mobs to spawn.
+ * @param event The name of the event which should be executed when the mob is killed.
+ * @param size The mob's size.
+ * @param ai The mob's AI.
+ * @return The last spawned mob's GID, or 0 if spawning failed.
+ *
+ **/
+static int mob_once_spawn(struct map_session_data *sd, int16 m, int16 x, int16 y, const char *mobname, int class_,
+ int amount, const char *event, unsigned int size, unsigned int ai)
{
- struct mob_data* md = NULL;
- int count, lv;
bool no_guardian_data = false;
- if( ai && ai&0x200 ) {
+ if (ai > 0 && (ai & 0x200) == 0x200) {
no_guardian_data = true;
- ai &=~ 0x200;
+ ai &= ~0x200;
}
if (m < 0 || amount <= 0)
- return 0; // invalid input
+ return 0;
- lv = (sd) ? sd->status.base_level : 255;
+ struct mob_data *md = NULL;
+
+ for (int i = 0; i < amount; i++) {
+ int mob_id = class_;
+
+ if (mob_id < 0) {
+ mob_id = mob->get_random_id(-class_ - 1, (battle_config.random_monster_checklv == 1) ? 3 : 1,
+ (sd != NULL) ? sd->status.base_level : 255);
+ }
- for (count = 0; count < amount; count++) {
- int c = (class_ >= 0) ? class_ : mob->get_random_id(-class_ - 1, (battle_config.random_monster_checklv) ? 3 : 1, lv);
- md = mob->once_spawn_sub((sd) ? &sd->bl : NULL, m, x, y, mobname, c, event, size, ai);
+ md = mob->once_spawn_sub((sd != NULL) ? &sd->bl : NULL, m, x, y, mobname, mob_id, event, size, ai,
+ (sd != NULL) ? sd->npc_id : 0);
- if (!md)
+ if (md == NULL)
continue;
if (class_ == MOBID_EMPELIUM && !no_guardian_data) {
- struct guild_castle* gc = guild->mapindex2gc(map_id2index(m));
- struct guild* g = (gc) ? guild->search(gc->guild_id) : NULL;
- if( gc ) {
+ struct guild_castle *gc = guild->mapindex2gc(map_id2index(m));
+
+ if (gc != NULL) {
+ struct guild *g = guild->search(gc->guild_id);
+
md->guardian_data = (struct guardian_data*)aCalloc(1, sizeof(struct guardian_data));
md->guardian_data->castle = gc;
md->guardian_data->number = MAX_GUARDIANS;
- if( g )
+
+ if (g != NULL)
md->guardian_data->g = g;
- else if( gc->guild_id ) //Guild not yet available, retry in 5.
- timer->add(timer->gettick()+5000,mob->spawn_guardian_sub,md->bl.id,gc->guild_id);
+ else if (gc->guild_id > 0) /// Guild not yet available, retry in 5s.
+ timer->add(timer->gettick() + 5000, mob->spawn_guardian_sub, md->bl.id,
+ gc->guild_id);
}
- } // end addition [Valaris]
+ }
mob->spawn(md);
- if (class_ < 0 && battle_config.dead_branch_active) {
- //Behold Aegis's masterful decisions yet again...
- //"I understand the "Aggressive" part, but the "Can Move" and "Can Attack" is just stupid" - Poki#3
- sc_start4(NULL, &md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE|MD_CANATTACK|MD_CANMOVE|MD_ANGRY, 0, 60000);
+ if (class_ < 0 && battle_config.dead_branch_active == 1) {
+ /// Behold Aegis' masterful decisions yet again...
+ /// "I understand the "Aggressive" part, but the "Can Move" and "Can Attack" is just stupid" [Poki]
+ sc_start4(NULL, &md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE|MD_CANATTACK|MD_CANMOVE|MD_ANGRY,
+ 0, 60000);
}
}
- return (md) ? md->bl.id : 0; // id of last spawned mob
+ return (md != NULL) ? md->bl.id : 0; /// ID of last spawned mob.
}
/*==========================================
@@ -641,196 +703,236 @@ static int mob_once_spawn_area(struct map_session_data *sd, int16 m, int16 x0, i
}
/**
- * Sets a guardian's guild data and liberates castle if couldn't retrieve guild data
- * @param data (int)guild_id
- * @retval Always 0
+ * Sets a guardian's guild data and liberates castle if couldn't retrieve guild data.
+ * Required because the guild data may not be available at guardian spawn time.
+ *
+ * @param tid Required parameter for timer functions. Unused inside the function.
+ * @param tick Required parameter for timer functions. Unused inside the function.
+ * @param id The guardian mob's GID.
+ * @param data The guild ID.
+ * @return 1 on success, 0 on failure.
+ *
* @author Skotlex
+ *
**/
static int mob_spawn_guardian_sub(int tid, int64 tick, int id, intptr_t data)
{
- //Needed because the guild data may not be available at guardian spawn time.
- struct block_list* bl = map->id2bl(id);
- struct mob_data* md;
- struct guild* g;
+ struct block_list *bl = map->id2bl(id);
- if( bl == NULL ) //It is possible mob was already removed from map when the castle has no owner. [Skotlex]
+ if (bl == NULL || bl->type != BL_MOB) /// It is possible mob was already removed from map when the castle has no owner. [Skotlex]
return 0;
- Assert_ret(bl->type == BL_MOB);
- md = BL_UCAST(BL_MOB, bl);
+ struct mob_data *md = BL_UCAST(BL_MOB, bl);
+
+ if (md->guardian_data == NULL)
+ return 0;
- nullpo_ret(md->guardian_data);
- g = guild->search((int)data);
+ struct guild *g = guild->search((int)data);
- if( g == NULL ) { //Liberate castle, if the guild is not found this is an error! [Skotlex]
+ if (g == NULL) { /// Liberate castle, if the guild is not found this is an error! [Skotlex]
ShowError("mob_spawn_guardian_sub: Couldn't load guild %d!\n", (int)data);
- //Not sure this is the best way, but otherwise we'd be invoking this for ALL guardians spawned later on.
- if (md->class_ == MOBID_EMPELIUM && md->guardian_data) {
+
+ /// Not sure this is the best way, but otherwise we'd be invoking this for ALL guardians spawned later on.
+ if (md->class_ == MOBID_EMPELIUM) {
md->guardian_data->g = NULL;
- if( md->guardian_data->castle->guild_id ) {//Free castle up.
- ShowNotice("Clearing ownership of castle %d (%s)\n", md->guardian_data->castle->castle_id, md->guardian_data->castle->castle_name);
+
+ if (md->guardian_data->castle->guild_id > 0) { /// Free castle up.
+ ShowNotice("mob_spawn_guardian_sub: Clearing ownership of castle %d (%s).\n",
+ md->guardian_data->castle->castle_id,
+ md->guardian_data->castle->castle_name);
guild->castledatasave(md->guardian_data->castle->castle_id, 1, 0);
}
} else {
- if( md->guardian_data && md->guardian_data->number >= 0 && md->guardian_data->number < MAX_GUARDIANS
- && md->guardian_data->castle->guardian[md->guardian_data->number].visible )
- guild->castledatasave(md->guardian_data->castle->castle_id, 10+md->guardian_data->number,0);
+ if (md->guardian_data->number >= 0 && md->guardian_data->number < MAX_GUARDIANS &&
+ md->guardian_data->castle->guardian[md->guardian_data->number].visible == 1)
+ guild->castledatasave(md->guardian_data->castle->castle_id,
+ 10 + md->guardian_data->number, 0);
- unit->free(&md->bl,CLR_OUTSIGHT); // Remove guardian.
+ unit->free(&md->bl, CLR_OUTSIGHT); /// Remove guardian.
}
+
return 0;
}
- if( guild->checkskill(g,GD_GUARDUP) )
- status_calc_mob(md, SCO_NONE); // Give bonuses.
+ if (guild->checkskill(g, GD_GUARDUP) > 0)
+ status_calc_mob(md, SCO_NONE); /// Give bonuses.
- return 0;
+ return 1;
}
-/*==========================================
- * Summoning Guardians [Valaris]
- *------------------------------------------*/
-static int mob_spawn_guardian(const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index)
+/**
+ * Summons a castle guardian mob.
+ *
+ * @param mapname The name of the map where the guardian should be spawned.
+ * @param x The x coordinate where the guardian should be spawned.
+ * @param y The y coordinate where the guardian should be spawned.
+ * @param mobname The guardian's display name.
+ * @param class_ The guardian's mob ID in database.
+ * @param event The name of the event which should be executed when the guardian is killed.
+ * @param guardian The guardian's index.
+ * @param has_index If false, the guardian will be temporarily.
+ * @param npc_id If spawned by NPC script, this holds the ID of the invoking NPC.
+ * @return The spawned guardian's GID, or 0 if spawning failed.
+ *
+ * @author Valaris
+ *
+ **/
+static int mob_spawn_guardian(const char *mapname, short x, short y, const char *mobname, int class_, const char *event,
+ int guardian, bool has_index, int npc_id)
{
- struct mob_data *md=NULL;
- struct spawn_data data;
- struct guild *g=NULL;
- struct guild_castle *gc;
- int16 m;
-
nullpo_ret(mapname);
nullpo_ret(mobname);
nullpo_ret(event);
- memset(&data, 0, sizeof(struct spawn_data));
- data.num = 1;
-
- m=map->mapname2mapid(mapname);
+ const int map_id = map->mapname2mapid(mapname);
- if(m<0)
- {
+ if (map_id == INDEX_NOT_FOUND) {
ShowWarning("mob_spawn_guardian: Map [%s] not found.\n", mapname);
return 0;
}
- data.m = m;
- data.num = 1;
- if(class_<=0) {
- class_ = mob->get_random_id(-class_-1, 1, 99);
- if (!class_) return 0;
+
+ if ((x <= 0 || y <= 0) && map->search_freecell(NULL, map_id, &x, &y, -1, -1, 1) == 0) {
+ ShowWarning("mob_spawn_guardian: Couldn't locate a spawn cell for guardian class %d (index %d) on castle map %s.\n",
+ class_, guardian, mapname);
+ return 0;
}
- data.class_ = class_;
+ if (class_ <= 0 && (class_ = mob->get_random_id(-class_ - 1, 1, 99)) == 0)
+ return 0;
- if( !has_index ) {
+ if (!has_index) {
guardian = -1;
- } else if( guardian < 0 || guardian >= MAX_GUARDIANS ) {
- ShowError("mob_spawn_guardian: Invalid guardian index %d for guardian %d (castle map %s)\n", guardian, class_, map->list[m].name);
+ } else if (guardian < 0 || guardian >= MAX_GUARDIANS) {
+ ShowError("mob_spawn_guardian: Invalid guardian index %d for guardian %d on castle map %s.\n",
+ guardian, class_, mapname);
return 0;
}
- if((x<=0 || y<=0) && !map->search_freecell(NULL, m, &x, &y, -1,-1, 1)) {
- ShowWarning("mob_spawn_guardian: Couldn't locate a spawn cell for guardian class %d (index %d) at castle map %s\n",class_, guardian, map->list[m].name);
- return 0;
- }
+ struct spawn_data data;
+
+ memset(&data, 0, sizeof(struct spawn_data));
+ data.num = 1;
+ data.m = map_id;
+ data.class_ = class_;
data.x = x;
data.y = y;
safestrncpy(data.name, mobname, sizeof(data.name));
safestrncpy(data.eventname, event, sizeof(data.eventname));
- if (!mob->parse_dataset(&data))
+
+ if (mob->parse_dataset(&data) == 0)
return 0;
- gc=guild->mapname2gc(map->list[m].name);
+ struct guild_castle *gc = guild->mapname2gc(mapname);
+
if (gc == NULL) {
- ShowError("mob_spawn_guardian: No castle set at map %s\n", map->list[m].name);
+ ShowError("mob_spawn_guardian: No castle set on map %s.\n", mapname);
return 0;
}
- if (!gc->guild_id)
- ShowWarning("mob_spawn_guardian: Spawning guardian %d on a castle with no guild (castle map %s)\n", class_, map->list[m].name);
+
+ struct guild *g = NULL;
+
+ if (gc->guild_id == 0)
+ ShowWarning("mob_spawn_guardian: Spawning guardian %d on a castle map %s with no guild.\n",
+ class_, mapname);
else
g = guild->search(gc->guild_id);
- if( has_index && gc->guardian[guardian].id ) {
- //Check if guardian already exists, refuse to spawn if so.
- struct block_list *bl2 = map->id2bl(gc->guardian[guardian].id); // TODO: Why does this not use map->id2md?
- struct mob_data *md2 = BL_CAST(BL_MOB, bl2);
- if (md2 != NULL && md2->guardian_data != NULL && md2->guardian_data->number == guardian) {
- ShowError("mob_spawn_guardian: Attempted to spawn guardian in position %d which already has a guardian (castle map %s)\n", guardian, map->list[m].name);
+ if (has_index && gc->guardian[guardian].id != 0) { /// Check if guardian already exists, refuse to spawn if so.
+ struct mob_data *md = map->id2md(gc->guardian[guardian].id);
+
+ if (md != NULL && md->guardian_data != NULL && md->guardian_data->number == guardian) {
+ ShowError("mob_spawn_guardian: Attempted to spawn guardian in position %d which already has a guardian on castle map %s.\n",
+ guardian, mapname);
return 0;
}
}
- md = mob->spawn_dataset(&data);
+ struct mob_data *md = mob->spawn_dataset(&data, npc_id);
+
md->guardian_data = (struct guardian_data*)aCalloc(1, sizeof(struct guardian_data));
md->guardian_data->number = guardian;
md->guardian_data->castle = gc;
- if( has_index )
- {// permanent guardian
+
+ if (has_index) { /// Permanent guardian.
gc->guardian[guardian].id = md->bl.id;
- }
- else
- {// temporary guardian
+ } else { /// Temporary guardian.
int i;
+
ARR_FIND(0, gc->temp_guardians_max, i, gc->temp_guardians[i] == 0);
- if( i == gc->temp_guardians_max )
- {
+
+ if (i == gc->temp_guardians_max) {
++(gc->temp_guardians_max);
RECREATE(gc->temp_guardians, int, gc->temp_guardians_max);
}
+
gc->temp_guardians[i] = md->bl.id;
}
- if( g )
+
+ if (g != NULL)
md->guardian_data->g = g;
- else if( gc->guild_id )
- timer->add(timer->gettick()+5000,mob->spawn_guardian_sub,md->bl.id,gc->guild_id);
- mob->spawn(md);
+ else if (gc->guild_id > 0)
+ timer->add(timer->gettick() + 5000, mob->spawn_guardian_sub, md->bl.id, gc->guild_id);
+ mob->spawn(md);
return md->bl.id;
}
-/*==========================================
- * Summoning BattleGround [Zephyrus]
- *------------------------------------------*/
-static int mob_spawn_bg(const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id)
+/**
+ * Spawn a mob with allegiance to the given battle group.
+ *
+ * @param mapname The name of the map where the mob should be spawned.
+ * @param x The x coordinate where the mob should be spawned.
+ * @param y The y coordinate where the mob should be spawned.
+ * @param mobname The mob's display name.
+ * @param class_ The mob's mob ID in database.
+ * @param event The name of the event which should be executed when the mob is killed.
+ * @param bg_id The battle group ID.
+ * @param npc_id If spawned by NPC script, this holds the ID of the invoking NPC.
+ * @return The spawned mob's GID, or 0 if spawning failed.
+ *
+ * @author Zephyrus
+ *
+ **/
+static int mob_spawn_bg(const char *mapname, short x, short y, const char *mobname, int class_, const char *event,
+ unsigned int bg_id, int npc_id)
{
- struct mob_data *md = NULL;
- struct spawn_data data;
- int16 m;
-
nullpo_ret(mapname);
nullpo_ret(mobname);
nullpo_ret(event);
- if( (m = map->mapname2mapid(mapname)) < 0 ) {
+ const int map_id = map->mapname2mapid(mapname);
+
+ if (map_id == INDEX_NOT_FOUND) {
ShowWarning("mob_spawn_bg: Map [%s] not found.\n", mapname);
return 0;
}
- memset(&data, 0, sizeof(struct spawn_data));
- data.m = m;
- data.num = 1;
- if( class_ <= 0 )
- {
- class_ = mob->get_random_id(-class_-1,1,99);
- if( !class_ ) return 0;
+ if ((x <= 0 || y <= 0) && map->search_freecell(NULL, map_id, &x, &y, -1, -1, 1) == 0) {
+ ShowWarning("mob_spawn_bg: Couldn't locate a spawn cell for guardian class %d (bg_id %u) on map %s.\n", class_, bg_id, mapname);
+ return 0;
}
- data.class_ = class_;
- if( (x <= 0 || y <= 0) && !map->search_freecell(NULL, m, &x, &y, -1,-1, 1) ) {
- ShowWarning("mob_spawn_bg: Couldn't locate a spawn cell for guardian class %d (bg_id %u) at map %s\n", class_, bg_id, map->list[m].name);
+ if (class_ <= 0 && (class_ = mob->get_random_id(-class_ - 1, 1, 99)) == 0)
return 0;
- }
+ struct spawn_data data;
+
+ memset(&data, 0, sizeof(struct spawn_data));
+ data.num = 1;
+ data.m = map_id;
+ data.class_ = class_;
data.x = x;
data.y = y;
safestrncpy(data.name, mobname, sizeof(data.name));
safestrncpy(data.eventname, event, sizeof(data.eventname));
- if( !mob->parse_dataset(&data) )
+
+ if (mob->parse_dataset(&data) == 0)
return 0;
- md = mob->spawn_dataset(&data);
- mob->spawn(md);
- md->bg_id = bg_id; // BG Team ID
+ struct mob_data *md = mob->spawn_dataset(&data, npc_id);
+ mob->spawn(md);
+ md->bg_id = bg_id;
return md->bl.id;
}
@@ -1165,13 +1267,15 @@ static int mob_ai_sub_hard_activesearch(struct block_list *bl, va_list ap)
battle->check_range(&md->bl,bl,md->db->range2)
) { //Pick closest target?
#ifdef ACTIVEPATHSEARCH
- struct walkpath_data wpd;
- if (!path->search(&wpd, &md->bl, md->bl.m, md->bl.x, md->bl.y, bl->x, bl->y, 0, CELL_CHKNOPASS)) // Count walk path cells
- return 0;
- //Standing monsters use range2, walking monsters use range3
- if ((md->ud.walktimer == INVALID_TIMER && wpd.path_len > md->db->range2)
- || (md->ud.walktimer != INVALID_TIMER && wpd.path_len > md->db->range3))
- return 0;
+ struct walkpath_data wpd;
+ bool is_standing = (md->ud.walktimer == INVALID_TIMER);
+ if (!path->search(&wpd, &md->bl, md->bl.m, md->bl.x, md->bl.y, bl->x, bl->y, 0, CELL_CHKNOPASS) // Count walk path cells
+ || (is_standing && wpd.path_len > md->db->range2) //Standing monsters use range2, walking monsters use range3
+ || (!is_standing && wpd.path_len > md->db->range3)) {
+ if (!check_distance_bl(&md->bl, bl, md->status.rhw.range)
+ || !path->search_long(NULL, &md->bl, md->bl.m, md->bl.x, md->bl.y, bl->x, bl->y, CELL_CHKWALL))
+ return 0;
+ }
#endif
(*target) = bl;
md->target_id=bl->id;
@@ -1289,6 +1393,27 @@ static int mob_warpchase_sub(struct block_list *bl, va_list ap)
}
return 0;
}
+
+/**
+ * Checks if a monster is currently involved in battle,
+ * may it be due to aggression or being attacked.
+ * @param bl: monster's bl
+ * @return true if in battle, false otherwise
+ */
+static bool mob_is_in_battle_state(const struct mob_data *md)
+{
+ nullpo_retr(false, md);
+ switch (md->state.skillstate) {
+ case MSS_BERSERK:
+ case MSS_ANGRY:
+ case MSS_RUSH:
+ case MSS_FOLLOW:
+ return true;
+ default:
+ return false;
+ }
+}
+
/*==========================================
* Processing of slave monsters
*------------------------------------------*/
@@ -1333,8 +1458,11 @@ static int mob_ai_sub_hard_slavemob(struct mob_data *md, int64 tick)
) {
short x = bl->x, y = bl->y;
mob_stop_attack(md);
- if(map->search_freecell(&md->bl, bl->m, &x, &y, MOB_SLAVEDISTANCE, MOB_SLAVEDISTANCE, 1)
- && unit->walktoxy(&md->bl, x, y, 0))
+ const struct mob_data *m_md = BL_CCAST(BL_MOB, bl); // Can be NULL due to master being BL_PC
+ // If master is BL_MOB and in battle, lock & chase to master's target instead, unless configured not to.
+ if ((battle_config.slave_chase_masters_chasetarget == 0 || (m_md != NULL && !mob->is_in_battle_state(m_md)))
+ && map->search_freecell(&md->bl, bl->m, &x, &y, MOB_SLAVEDISTANCE, MOB_SLAVEDISTANCE, 1)
+ && unit->walk_toxy(&md->bl, x, y, 0) == 0)
return 1;
}
} else if (bl->m != md->bl.m && map_flag_gvg(md->bl.m)) {
@@ -1345,26 +1473,28 @@ static int mob_ai_sub_hard_slavemob(struct mob_data *md, int64 tick)
//Avoid attempting to lock the master's target too often to avoid unnecessary overload. [Skotlex]
if (DIFF_TICK(md->last_linktime, tick) < MIN_MOBLINKTIME && !md->target_id) {
- struct unit_data *ud = unit->bl2ud(bl);
+ struct unit_data *ud = unit->bl2ud(bl);
+ struct mob_data *m_md = BL_CAST(BL_MOB, bl); // Can be NULL due to master being BL_PC
+ nullpo_retr(0, ud);
md->last_linktime = tick;
-
- if (ud) {
- struct block_list *tbl=NULL;
- if (ud->target && ud->state.attack_continue)
- tbl=map->id2bl(ud->target);
- else if (ud->skilltarget) {
- tbl = map->id2bl(ud->skilltarget);
- //Required check as skilltarget is not always an enemy. [Skotlex]
- if (tbl && battle->check_target(&md->bl, tbl, BCT_ENEMY) <= 0)
- tbl = NULL;
- }
- if (tbl && status->check_skilluse(&md->bl, tbl, 0, 0)) {
- md->target_id=tbl->id;
- md->min_chase=md->db->range3+distance_bl(&md->bl, tbl);
- if(md->min_chase>MAX_MINCHASE)
- md->min_chase=MAX_MINCHASE;
- return 1;
- }
+ struct block_list *tbl = NULL;
+
+ if (battle_config.slave_chase_masters_chasetarget == 1 && m_md != NULL && m_md->target_id != 0) { // possibly chasing something
+ tbl = map->id2bl(m_md->target_id);
+ } else if (ud->target != 0 && ud->state.attack_continue != 0) {
+ tbl = map->id2bl(ud->target);
+ } else if (ud->skilltarget != 0) {
+ tbl = map->id2bl(ud->skilltarget);
+ //Required check as skilltarget is not always an enemy. [Skotlex]
+ if (tbl != NULL && battle->check_target(&md->bl, tbl, BCT_ENEMY) <= 0)
+ tbl = NULL;
+ }
+ if (tbl != NULL && status->check_skilluse(&md->bl, tbl, 0, 0) != 0) {
+ md->target_id = tbl->id;
+ md->min_chase = md->db->range3 + distance_bl(&md->bl, tbl);
+ if (md->min_chase > MAX_MINCHASE)
+ md->min_chase = MAX_MINCHASE;
+ return 1;
}
}
return 0;
@@ -1414,7 +1544,7 @@ static int mob_unlocktarget(struct mob_data *md, int64 tick)
unit->set_target(&md->ud, 0);
}
if(battle_config.official_cell_stack_limit && map->count_oncell(md->bl.m, md->bl.x, md->bl.y, BL_CHAR|BL_NPC, 0x1 | 0x2) > battle_config.official_cell_stack_limit) {
- unit->walktoxy(&md->bl, md->bl.x, md->bl.y, 8);
+ unit->walk_toxy(&md->bl, md->bl.x, md->bl.y, 8);
}
return 0;
@@ -1446,9 +1576,9 @@ static int mob_randomwalk(struct mob_data *md, int64 tick)
x+=md->bl.x;
y+=md->bl.y;
- if (((x != md->bl.x) || (y != md->bl.y)) && map->getcell(md->bl.m, &md->bl, x, y, CELL_CHKPASS) && unit->walktoxy(&md->bl, x, y, 8)) {
+ if ((x != md->bl.x || y != md->bl.y) && map->getcell(md->bl.m, &md->bl, x, y, CELL_CHKPASS) != 0
+ && unit->walk_toxy(&md->bl, x, y, 8) == 0)
break;
- }
}
if(i==retrycount){
md->move_fail_count++;
@@ -1900,15 +2030,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;
@@ -2162,6 +2330,14 @@ static void mob_log_damage(struct mob_data *md, struct block_list *src, int dama
md->dmglog[minpos].flag= flag;
md->dmglog[minpos].dmg = damage;
}
+#if (PACKETVER >= 20120404 && PACKETVER < 20131223)
+ // Show HP bar to all chars who hit the mob (fixes TF_STEAL not showing HP bar right away but only when target leaves/re-enters sight range)
+ if (battle_config.show_monster_hp_bar != 0 && (md->status.mode & MD_BOSS) == 0) {
+ struct map_session_data *sd = map->charid2sd(char_id);
+ if (sd != NULL && check_distance_bl(&md->bl, &sd->bl, AREA_SIZE)) // check if in range
+ clif->monster_hp_bar(md, sd);
+ }
+#endif
}
return;
}
@@ -2196,7 +2372,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
@@ -2521,7 +2697,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) {
@@ -2532,13 +2708,13 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
// Announce first, or else ditem will be freed. [Lance]
// By popular demand, use base drop rate for autoloot code. [Skotlex]
- mob->item_drop(md, dlist, ditem, 0, md->db->dropitem[i].p, homkillonly);
+ mob->item_drop(md, dlist, ditem, 0, battle_config.autoloot_adjust ? drop_rate : md->db->dropitem[i].p, homkillonly);
}
// 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);
}
}
@@ -2570,7 +2746,7 @@ static int mob_dead(struct mob_data *md, struct block_list *src, int type)
continue;
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);
}
}
@@ -2629,10 +2805,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;
@@ -2644,6 +2817,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++) {
@@ -2663,6 +2837,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;
@@ -2796,7 +2972,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)
@@ -2921,7 +3097,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;
}
@@ -2933,7 +3109,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)
@@ -3018,18 +3194,25 @@ static int mob_countslave(struct block_list *bl)
return map->foreachinmap(mob->countslave_sub, bl->m, BL_MOB,bl->id);
}
-/*==========================================
- * Summons amount slaves contained in the value[5] array using round-robin. [adapted by Skotlex]
- *------------------------------------------*/
+/**
+ * Summons amount slaves contained in the value[5] array using round-robin.
+ *
+ * @param md2 The mob which summons the slaves.
+ * @param value Array with slave mob IDs.
+ * @param amount The amount of slaves to spawn.
+ * @param skill_id The Id of the skill which summons the slaves.
+ * @return 1 on success, 0 on failure.
+ *
+ * @author Skotlex
+ *
+ **/
static int mob_summonslave(struct mob_data *md2, int *value, int amount, uint16 skill_id)
{
- struct mob_data *md;
- struct spawn_data data;
- int count = 0,k=0,hp_rate=0;
-
nullpo_ret(md2);
nullpo_ret(value);
+ struct spawn_data data;
+
memset(&data, 0, sizeof(struct spawn_data));
data.m = md2->bl.m;
data.x = md2->bl.x;
@@ -3038,31 +3221,42 @@ static int mob_summonslave(struct mob_data *md2, int *value, int amount, uint16
data.state.size = md2->special_state.size;
data.state.ai = md2->special_state.ai;
- if(mob->db_checkid(value[0]) == 0)
+ if (mob->db_checkid(value[0]) == 0)
return 0;
- /**
- * Flags this monster is able to summon; saves a worth amount of memory upon deletion
- **/
- md2->can_summon = 1;
- while(count < 5 && mob->db_checkid(value[count])) count++;
- if(count < 1) return 0;
- if (amount > 0 && amount < count) { //Do not start on 0, pick some random sub subset [Skotlex]
- k = rnd()%count;
- amount+=k; //Increase final value by same amount to preserve total number to summon.
+ md2->can_summon = 1; /// Flags this monster is able to summon; saves a worth amount of memory upon deletion.
+
+ int count = 0;
+
+ while (count < 5 && mob->db_checkid(value[count]) != 0)
+ count++;
+
+ if (count < 1)
+ return 0;
+
+ int k = 0;
+
+ if (amount > 0 && amount < count) { /// Do not start on 0, pick some random sub subset. [Skotlex]
+ k = rnd() % count;
+ amount += k; /// Increase final value by same amount to preserve total number to summon.
}
- if (!battle_config.monster_class_change_recover &&
- (skill_id == NPC_TRANSFORMATION || skill_id == NPC_METAMORPHOSIS))
+ int hp_rate = 0;
+
+ if ((skill_id == NPC_TRANSFORMATION || skill_id == NPC_METAMORPHOSIS) &&
+ battle_config.monster_class_change_recover == 0)
hp_rate = get_percentage(md2->status.hp, md2->status.max_hp);
- for(;k<amount;k++) {
- short x,y;
- data.class_ = value[k%count]; //Summon slaves in round-robin fashion. [Skotlex]
+ for (; k < amount; k++) {
+ data.class_ = value[k % count]; /// Summon slaves in round-robin fashion. [Skotlex]
+
if (mob->db_checkid(data.class_) == 0)
continue;
- if (map->search_freecell(&md2->bl, 0, &x, &y, MOB_SLAVEDISTANCE, MOB_SLAVEDISTANCE, 0)) {
+ short x;
+ short y;
+
+ if (map->search_freecell(&md2->bl, 0, &x, &y, MOB_SLAVEDISTANCE, MOB_SLAVEDISTANCE, 0) != 0) {
data.x = x;
data.y = y;
} else {
@@ -3070,49 +3264,52 @@ static int mob_summonslave(struct mob_data *md2, int *value, int amount, uint16
data.y = md2->bl.y;
}
- //These two need to be loaded from the db for each slave.
if (battle_config.override_mob_names == 1)
strcpy(data.name, DEFAULT_MOB_NAME);
else
strcpy(data.name, DEFAULT_MOB_JNAME);
- if (!mob->parse_dataset(&data))
+ if (mob->parse_dataset(&data) == 0)
continue;
- md= mob->spawn_dataset(&data);
- if(skill_id == NPC_SUMMONSLAVE){
- md->master_id=md2->bl.id;
+ struct mob_data *md = mob->spawn_dataset(&data, 0);
+
+ if (skill_id == NPC_SUMMONSLAVE) {
+ md->master_id = md2->bl.id;
md->special_state.ai = md2->special_state.ai;
}
+
mob->spawn(md);
- if (hp_rate) //Scale HP
- md->status.hp = md->status.max_hp*hp_rate/100;
+ if (hp_rate > 0) /// Scale HP.
+ md->status.hp = md->status.max_hp * hp_rate / 100;
- //Inherit the aggressive mode of the master.
- if (battle_config.slaves_inherit_mode && md->master_id) {
+ /** Inherit the aggressive mode of the master. **/
+ if (battle_config.slaves_inherit_mode > 0 && md->master_id > 0) {
switch (battle_config.slaves_inherit_mode) {
- case 1: //Always aggressive
- if (!(md->status.mode&MD_AGGRESSIVE))
- sc_start4(NULL, &md->bl, SC_MODECHANGE, 100,1,0, MD_AGGRESSIVE, 0, 0);
+ case 1: /// Always aggressive.
+ if ((md->status.mode & MD_AGGRESSIVE) == 0)
+ sc_start4(NULL, &md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 0);
+
break;
- case 2: //Always passive
- if (md->status.mode&MD_AGGRESSIVE)
- sc_start4(NULL, &md->bl, SC_MODECHANGE, 100,1,0, 0, MD_AGGRESSIVE, 0);
+ case 2: /// Always passive.
+ if ((md->status.mode & MD_AGGRESSIVE) == MD_AGGRESSIVE)
+ sc_start4(NULL, &md->bl, SC_MODECHANGE, 100, 1, 0, 0, MD_AGGRESSIVE, 0);
+
break;
- default: //Copy master.
- if (md2->status.mode&MD_AGGRESSIVE)
- sc_start4(NULL, &md->bl, SC_MODECHANGE, 100,1,0, MD_AGGRESSIVE, 0, 0);
+ default: /// Copy master.
+ if ((md2->status.mode & MD_AGGRESSIVE) == MD_AGGRESSIVE)
+ sc_start4(NULL, &md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 0);
else
- sc_start4(NULL, &md->bl, SC_MODECHANGE, 100,1,0, 0, MD_AGGRESSIVE, 0);
+ sc_start4(NULL, &md->bl, SC_MODECHANGE, 100, 1, 0, 0, MD_AGGRESSIVE, 0);
break;
}
}
- clif->skill_nodamage(&md->bl,&md->bl,skill_id,amount,1);
+ clif->skill_nodamage(&md->bl, &md->bl, skill_id, amount, 1);
}
- return 0;
+ return 1;
}
/*==========================================
@@ -3506,211 +3703,239 @@ static int mob_is_clone(int class_)
return class_;
}
-//Flag values:
-//&1: Set special AI (fight mobs, not players)
-//If mode is not passed, a default aggressive mode is used.
-//If master_id is passed, clone is attached to him.
-//Returns: ID of newly crafted copy.
-static int mob_clone_spawn(struct map_session_data *sd, int16 m, int16 x, int16 y, const char *event, int master_id, uint32 mode, int flag, unsigned int duration)
+/**
+ * Spawns a mob which is a clone of another character.
+ *
+ * @param sd The character which should be cloned.
+ * @param m The ID of the map where the clone should be spawned.
+ * @param x The x coordinate where the clone should be spawned.
+ * @param y The y coordinate where the clone should be spawned.
+ * @param event The name of the event which should be executed when the clone is killed.
+ * @param master_id If passed, the clone will be attached to this account ID.
+ * @param mode The clone's mob mode(s). (Defaults to MD_CANMOVE|MD_AGGRESSIVE|MD_ASSIST|MD_CANATTACK.)
+ * @param flag 0 - target characters; 1 - target mobs.
+ * @param duration How long the clone will live before it is auto-removed. (ms)
+ * @return The spawned clone's GID, or 0 if spawning failed.
+ *
+ **/
+static int mob_clone_spawn(struct map_session_data *sd, int16 m, int16 x, int16 y, const char *event, int master_id,
+ uint32 mode, int flag, unsigned int duration)
{
- int class_;
- int i,j,h,inf, fd;
- struct mob_data *md;
- struct mob_skill *ms;
- struct mob_db* db;
- struct status_data *mstatus;
-
nullpo_ret(sd);
- if(pc_isdead(sd) && master_id && flag&1)
+ if (pc_isdead(sd) && master_id != 0 && flag == 1)
return 0;
- ARR_FIND( MOB_CLONE_START, MOB_CLONE_END, class_, mob->db_data[class_] == NULL );
- if(class_ < 0 || class_ >= MOB_CLONE_END)
+ int class_;
+
+ ARR_FIND(MOB_CLONE_START, MOB_CLONE_END, class_, mob->db_data[class_] == NULL);
+
+ if (class_ < 0 || class_ >= MOB_CLONE_END)
return 0;
- db = mob->db_data[class_]=(struct mob_db*)aCalloc(1, sizeof(struct mob_db));
- mstatus = &db->status;
- strcpy(db->sprite,sd->status.name);
- strcpy(db->name,sd->status.name);
- strcpy(db->jname,sd->status.name);
- db->lv=status->get_lv(&sd->bl);
+ mob->db_data[class_] = (struct mob_db*)aCalloc(1, sizeof(struct mob_db));
+
+ struct mob_db *db = mob->db_data[class_];
+ struct status_data *mstatus = &db->status;
+
+ strcpy(db->sprite, sd->status.name);
+ strcpy(db->name, sd->status.name);
+ strcpy(db->jname, sd->status.name);
+ db->lv = status->get_lv(&sd->bl);
+ db->dmg_taken_rate = 100;
memcpy(mstatus, &sd->base_status, sizeof(struct status_data));
- mstatus->rhw.atk2= mstatus->dex + mstatus->rhw.atk + mstatus->rhw.atk2; //Max ATK
- mstatus->rhw.atk = mstatus->dex; //Min ATK
- if (mstatus->lhw.atk) {
- mstatus->lhw.atk2= mstatus->dex + mstatus->lhw.atk + mstatus->lhw.atk2; //Max ATK
- mstatus->lhw.atk = mstatus->dex; //Min ATK
+ mstatus->rhw.atk2 = mstatus->dex + mstatus->rhw.atk + mstatus->rhw.atk2; /// Max ATK.
+ mstatus->rhw.atk = mstatus->dex; /// Min ATK.
+
+ if (mstatus->lhw.atk > 0) {
+ mstatus->lhw.atk2 = mstatus->dex + mstatus->lhw.atk + mstatus->lhw.atk2; /// Max ATK.
+ mstatus->lhw.atk = mstatus->dex; /// Min ATK.
}
- if (mode != MD_NONE) //User provided mode.
+
+ if (mode != MD_NONE) /// User provided mode.
mstatus->mode = mode;
- else if (flag&1) //Friendly Character, remove looting.
+ else if (flag == 1) /// Friendly Character, remove looting.
mstatus->mode &= ~MD_LOOTER;
+
mstatus->hp = mstatus->max_hp;
mstatus->sp = mstatus->max_sp;
memcpy(&db->vd, &sd->vd, sizeof(struct view_data));
- db->base_exp=1;
- db->job_exp=1;
- db->range2=AREA_SIZE; //Let them have the same view-range as players.
- db->range3=AREA_SIZE; //Min chase of a screen.
- db->option=sd->sc.option;
+ db->base_exp = 1;
+ db->job_exp = 1;
+ db->range2 = AREA_SIZE; /// Let them have the same view-range as players.
+ db->range3 = AREA_SIZE; /// Min chase of a screen.
+ db->option = sd->sc.option;
- //Skill copy [Skotlex]
- ms = &db->skill[0];
+ const int fd = sd->fd;
- /**
- * We temporarily disable sd's fd so it doesn't receive the messages from skill_check_condition_castbegin
- **/
- fd = sd->fd;
- sd->fd = 0;
-
- //Go Backwards to give better priority to advanced skills.
- for (i=0,j = MAX_SKILL_TREE-1;j>=0 && i< MAX_MOBSKILL ;j--) {
- int idx = pc->skill_tree[pc->class2idx(sd->status.class)][j].idx;
- int skill_id = pc->skill_tree[pc->class2idx(sd->status.class)][j].id;
- if (!skill_id || sd->status.skill[idx].lv < 1 ||
- (skill->dbs->db[idx].inf2&(INF2_WEDDING_SKILL|INF2_GUILD_SKILL))
- )
+ sd->fd = 0; /// Temporarily disable sd's fd so it doesn't receive the messages from skill_check_condition_castbegin.
+
+ struct mob_skill *mob_skills = &db->skill[0];
+
+ /// Go Backwards to give better priority to advanced skills.
+ for (int i = 0, j = MAX_SKILL_TREE - 1; j >= 0 && i < MAX_MOBSKILL; j--) {
+ const int idx = pc->skill_tree[pc->class2idx(sd->status.class)][j].idx;
+ const int skill_id = pc->skill_tree[pc->class2idx(sd->status.class)][j].id;
+
+ if (skill_id == 0 || sd->status.skill[idx].lv < 1 ||
+ (skill->dbs->db[idx].inf2 & (INF2_WEDDING_SKILL | INF2_GUILD_SKILL)) > 0)
continue;
- for(h = 0; h < map->list[sd->bl.m].zone->disabled_skills_count; h++) {
- if( skill_id == map->list[sd->bl.m].zone->disabled_skills[h]->nameid && map->list[sd->bl.m].zone->disabled_skills[h]->subtype == MZS_CLONE ) {
+
+ int h;
+
+ for (h = 0; h < map->list[sd->bl.m].zone->disabled_skills_count; h++) {
+ if (skill_id == map->list[sd->bl.m].zone->disabled_skills[h]->nameid &&
+ map->list[sd->bl.m].zone->disabled_skills[h]->subtype == MZS_CLONE)
break;
- }
}
- if( h < map->list[sd->bl.m].zone->disabled_skills_count )
+
+ if (h < map->list[sd->bl.m].zone->disabled_skills_count)
continue;
- //Normal aggressive mob, disable skills that cannot help them fight
- //against players (those with flags UF_NOMOB and UF_NOPC are specific
- //to always aid players!) [Skotlex]
- if (!(flag&1) &&
- skill->get_unit_id(skill_id, 0) &&
- skill->get_unit_flag(skill_id)&(UF_NOMOB|UF_NOPC))
+
+ /// Normal aggressive mob. Disable skills that cannot help fighting against players. (Those with flags UF_NOMOB and UF_NOPC are specific to always aid players!) [Skotlex]
+ if (flag == 0 && skill->get_unit_id(skill_id, 0) != 0 &&
+ (skill->get_unit_flag(skill_id) & (UF_NOMOB | UF_NOPC)) > 0)
continue;
- /**
- * The clone should be able to cast the skill (e.g. have the required weapon) bugreport:5299)
- **/
- if( !skill->check_condition_castbegin(sd,skill_id,sd->status.skill[idx].lv) )
+
+ /// The clone should be able to cast the skill. (E.g. have the required weapon.) [bugreport:5299]
+ if (skill->check_condition_castbegin(sd, skill_id, sd->status.skill[idx].lv) == 0)
continue;
- memset (&ms[i], 0, sizeof(struct mob_skill));
- ms[i].skill_id = skill_id;
- ms[i].skill_lv = sd->status.skill[idx].lv;
- ms[i].state = MSS_ANY;
- ms[i].permillage = 500*battle_config.mob_skill_rate/100; //Default chance of all skills: 5%
- ms[i].emotion = -1;
- ms[i].cancel = 0;
- ms[i].casttime = skill->cast_fix(&sd->bl,skill_id, ms[i].skill_lv);
- ms[i].delay = 5000+skill->delay_fix(&sd->bl,skill_id, ms[i].skill_lv);
-
- inf = skill->dbs->db[idx].inf;
- if (inf&INF_ATTACK_SKILL) {
- ms[i].target = MST_TARGET;
- ms[i].cond1 = MSC_ALWAYS;
- if (skill->get_range(skill_id, ms[i].skill_lv) > 3)
- ms[i].state = MSS_ANYTARGET;
+ memset(&mob_skills[i], 0, sizeof(struct mob_skill));
+ mob_skills[i].skill_id = skill_id;
+ mob_skills[i].skill_lv = sd->status.skill[idx].lv;
+ mob_skills[i].state = MSS_ANY;
+ mob_skills[i].permillage = 500 * battle_config.mob_skill_rate / 100; /// Default chance of all skills: 5%
+ mob_skills[i].emotion = -1;
+ mob_skills[i].cancel = 0;
+ mob_skills[i].casttime = skill->cast_fix(&sd->bl, skill_id, mob_skills[i].skill_lv);
+ mob_skills[i].delay = 5000 + skill->delay_fix(&sd->bl, skill_id, mob_skills[i].skill_lv);
+
+ const int inf = skill->dbs->db[idx].inf;
+
+ if ((inf & INF_ATTACK_SKILL) == INF_ATTACK_SKILL) {
+ mob_skills[i].target = MST_TARGET;
+ mob_skills[i].cond1 = MSC_ALWAYS;
+
+ if (skill->get_range(skill_id, mob_skills[i].skill_lv) > 3)
+ mob_skills[i].state = MSS_ANYTARGET;
else
- ms[i].state = MSS_BERSERK;
- } else if(inf&INF_GROUND_SKILL) {
- if (skill->get_inf2(skill_id)&INF2_TRAP) { //Traps!
- ms[i].state = MSS_IDLE;
- ms[i].target = MST_AROUND2;
- ms[i].delay = 60000;
- } else if (skill->get_unit_target(skill_id) == BCT_ENEMY) { //Target Enemy
- ms[i].state = MSS_ANYTARGET;
- ms[i].target = MST_TARGET;
- ms[i].cond1 = MSC_ALWAYS;
- } else { //Target allies
- ms[i].target = MST_FRIEND;
- ms[i].cond1 = MSC_FRIENDHPLTMAXRATE;
- ms[i].cond2 = 95;
+ mob_skills[i].state = MSS_BERSERK;
+ } else if ((inf & INF_GROUND_SKILL) == INF_GROUND_SKILL) {
+ if ((skill->get_inf2(skill_id) & INF2_TRAP) == INF2_TRAP) { /// Traps!
+ mob_skills[i].state = MSS_IDLE;
+ mob_skills[i].target = MST_AROUND2;
+ mob_skills[i].delay = 60000;
+ } else if (skill->get_unit_target(skill_id) == BCT_ENEMY) { /// Target Enemy.
+ mob_skills[i].state = MSS_ANYTARGET;
+ mob_skills[i].target = MST_TARGET;
+ mob_skills[i].cond1 = MSC_ALWAYS;
+ } else { /// Target allies.
+ mob_skills[i].target = MST_FRIEND;
+ mob_skills[i].cond1 = MSC_FRIENDHPLTMAXRATE;
+ mob_skills[i].cond2 = 95;
}
- } else if (inf&INF_SELF_SKILL) {
- if (skill->get_inf2(skill_id)&INF2_NO_TARGET_SELF) { //auto-select target skill.
- ms[i].target = MST_TARGET;
- ms[i].cond1 = MSC_ALWAYS;
- if (skill->get_range(skill_id, ms[i].skill_lv) > 3) {
- ms[i].state = MSS_ANYTARGET;
- } else {
- ms[i].state = MSS_BERSERK;
- }
- } else { //Self skill
- ms[i].target = MST_SELF;
- ms[i].cond1 = MSC_MYHPLTMAXRATE;
- ms[i].cond2 = 90;
- ms[i].permillage = 2000;
- //Delay: Remove the stock 5 secs and add half of the support time.
- ms[i].delay += -5000 +(skill->get_time(skill_id, ms[i].skill_lv) + skill->get_time2(skill_id, ms[i].skill_lv))/2;
- if (ms[i].delay < 5000)
- ms[i].delay = 5000; //With a minimum of 5 secs.
+ } else if ((inf & INF_SELF_SKILL) == INF_SELF_SKILL) {
+ if ((skill->get_inf2(skill_id) & INF2_NO_TARGET_SELF) == INF2_NO_TARGET_SELF) { /// Auto-select target skill.
+ mob_skills[i].target = MST_TARGET;
+ mob_skills[i].cond1 = MSC_ALWAYS;
+
+ if (skill->get_range(skill_id, mob_skills[i].skill_lv) > 3)
+ mob_skills[i].state = MSS_ANYTARGET;
+ else
+ mob_skills[i].state = MSS_BERSERK;
+ } else { /// Self skill.
+ mob_skills[i].target = MST_SELF;
+ mob_skills[i].cond1 = MSC_MYHPLTMAXRATE;
+ mob_skills[i].cond2 = 90;
+ mob_skills[i].permillage = 2000;
+
+ const int time1 = skill->get_time(skill_id, mob_skills[i].skill_lv);
+ const int time2 = skill->get_time2(skill_id, mob_skills[i].skill_lv);
+
+ /** Delay: Remove the stock 5 secs and add half of the support time. **/
+ mob_skills[i].delay += -5000 + (time1 + time2) / 2;
+
+ if (mob_skills[i].delay < 5000)
+ mob_skills[i].delay = 5000; /// With a minimum of 5 seconds.
}
- } else if (inf&INF_SUPPORT_SKILL) {
- ms[i].target = MST_FRIEND;
- ms[i].cond1 = MSC_FRIENDHPLTMAXRATE;
- ms[i].cond2 = 90;
+ } else if ((inf & INF_SUPPORT_SKILL) == INF_SUPPORT_SKILL) {
+ mob_skills[i].target = MST_FRIEND;
+ mob_skills[i].cond1 = MSC_FRIENDHPLTMAXRATE;
+ mob_skills[i].cond2 = 90;
+
if (skill_id == AL_HEAL)
- ms[i].permillage = 5000; //Higher skill rate usage for heal.
+ mob_skills[i].permillage = 5000; /// Higher skill rate usage for heal.
else if (skill_id == ALL_RESURRECTION)
- ms[i].cond2 = 1;
- //Delay: Remove the stock 5 secs and add half of the support time.
- ms[i].delay += -5000 +(skill->get_time(skill_id, ms[i].skill_lv) + skill->get_time2(skill_id, ms[i].skill_lv))/2;
- if (ms[i].delay < 2000)
- ms[i].delay = 2000; //With a minimum of 2 secs.
-
- if (i+1 < MAX_MOBSKILL) { //duplicate this so it also triggers on self.
- memcpy(&ms[i+1], &ms[i], sizeof(struct mob_skill));
+ mob_skills[i].cond2 = 1;
+
+ const int time1 = skill->get_time(skill_id, mob_skills[i].skill_lv);
+ const int time2 = skill->get_time2(skill_id, mob_skills[i].skill_lv);
+
+ /** Delay: Remove the stock 5 secs and add half of the support time. **/
+ mob_skills[i].delay += -5000 + (time1 + time2) / 2;
+
+ if (mob_skills[i].delay < 2000)
+ mob_skills[i].delay = 2000; /// With a minimum of 2 seconds.
+
+ if (i + 1 < MAX_MOBSKILL) { /// Duplicate this so it also triggers on self.
+ memcpy(&mob_skills[i + 1], &mob_skills[i], sizeof(struct mob_skill));
db->maxskill = ++i;
- ms[i].target = MST_SELF;
- ms[i].cond1 = MSC_MYHPLTMAXRATE;
+ mob_skills[i].target = MST_SELF;
+ mob_skills[i].cond1 = MSC_MYHPLTMAXRATE;
}
} else {
- switch (skill_id) { //Certain Special skills that are passive, and thus, never triggered.
- case MO_TRIPLEATTACK:
- case TF_DOUBLE:
- case GS_CHAINACTION:
- ms[i].state = MSS_BERSERK;
- ms[i].target = MST_TARGET;
- ms[i].cond1 = MSC_ALWAYS;
- ms[i].permillage = skill_id==MO_TRIPLEATTACK?(3000-ms[i].skill_lv*100):(ms[i].skill_lv*500);
- ms[i].delay -= 5000; //Remove the added delay as these could trigger on "all hits".
- break;
- default: //Untreated Skill
- continue;
+ switch (skill_id) { /// Certain special skills that are passive, and thus, never triggered.
+ case MO_TRIPLEATTACK:
+ FALLTHROUGH
+ case TF_DOUBLE:
+ FALLTHROUGH
+ case GS_CHAINACTION:
+ mob_skills[i].state = MSS_BERSERK;
+ mob_skills[i].target = MST_TARGET;
+ mob_skills[i].cond1 = MSC_ALWAYS;
+
+ if (skill_id == MO_TRIPLEATTACK)
+ mob_skills[i].permillage = 3000 - mob_skills[i].skill_lv * 100;
+ else
+ mob_skills[i].permillage = mob_skills[i].skill_lv * 500;
+
+ mob_skills[i].delay -= 5000; /// Remove the added delay as these could trigger on "all hits".
+ break;
+ default: /// Untreated skill.
+ continue;
}
}
- if (battle_config.mob_skill_rate!= 100)
- ms[i].permillage = ms[i].permillage*battle_config.mob_skill_rate/100;
- if (battle_config.mob_skill_delay != 100)
- ms[i].delay = ms[i].delay*battle_config.mob_skill_delay/100;
+ mob_skills[i].permillage *= battle_config.mob_skill_rate / 100;
+ mob_skills[i].delay *= battle_config.mob_skill_delay / 100;
db->maxskill = ++i;
}
- /**
- * We grant the session it's fd value back.
- **/
- sd->fd = fd;
+ sd->fd = fd; /// We grant the session it's fd value back.
- //Finally, spawn it.
- md = mob->once_spawn_sub(&sd->bl, m, x, y, DEFAULT_MOB_NAME, class_, event, SZ_SMALL, AI_NONE);
- if (!md) return 0; //Failed?
+ /// Finally spawn it.
+ struct mob_data *md = mob->once_spawn_sub(&sd->bl, m, x, y, DEFAULT_MOB_NAME, class_, event, SZ_SMALL, AI_NONE, 0);
+
+ if (md == NULL)
+ return 0; /// Failed?
md->special_state.clone = 1;
- if (master_id || flag || duration) { //Further manipulate crafted char.
- if (flag&1) //Friendly Character
- md->special_state.ai = AI_ATTACK;
- if (master_id) //Attach to Master
- md->master_id = master_id;
- if (duration) //Auto Delete after a while.
- {
- if( md->deletetimer != INVALID_TIMER )
- timer->delete(md->deletetimer, mob->timer_delete);
- md->deletetimer = timer->add(timer->gettick() + duration, mob->timer_delete, md->bl.id, 0);
- }
+ if (flag == 1) /// Friendly character.
+ md->special_state.ai = AI_ATTACK;
+
+ if (master_id != 0) /// Attach to master.
+ md->master_id = master_id;
+
+ if (duration > 0) { /// Auto delete after a while.
+ if (md->deletetimer != INVALID_TIMER)
+ timer->delete(md->deletetimer, mob->timer_delete);
+
+ md->deletetimer = timer->add(timer->gettick() + duration, mob->timer_delete, md->bl.id, 0);
}
mob->spawn(md);
-
return md->bl.id;
}
@@ -3861,6 +4086,210 @@ 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)
+{
+ char filepath[256];
+ libconfig->format_db_path("option_drop_groups.conf", filepath, sizeof(filepath));
+
+ 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
@@ -3892,6 +4321,54 @@ static void mob_read_db_stats_sub(struct mob_db *entry, struct config_setting_t
}
/**
+ * Processes the view data for a mob_db entry.
+ *
+ * @param[in,out] entry The destination mob_db entry, already initialized
+ * (mob_id, status.mode are expected to be already set).
+ * @param[in] t The libconfig entry.
+ */
+static void mob_read_db_viewdata_sub(struct mob_db *entry, struct config_setting_t *t)
+{
+ nullpo_retv(entry);
+ nullpo_retv(t);
+
+ struct config_setting_t *it;
+ int i32;
+
+ if ((it = libconfig->setting_get_member(t, "SpriteId")) != NULL)
+ entry->vd.class = libconfig->setting_get_int(it);
+ if ((it = libconfig->setting_get_member(t, "WeaponId")) != NULL)
+ entry->vd.weapon = libconfig->setting_get_int(it);
+ if ((it = libconfig->setting_get_member(t, "ShieldId")) != NULL)
+ entry->vd.shield = libconfig->setting_get_int(it);
+ if ((it = libconfig->setting_get_member(t, "RobeId")) != NULL)
+ entry->vd.robe = libconfig->setting_get_int(it);
+ if ((it = libconfig->setting_get_member(t, "HeadTopId")) != NULL)
+ entry->vd.head_top = libconfig->setting_get_int(it);
+ if ((it = libconfig->setting_get_member(t, "HeadMidId")) != NULL)
+ entry->vd.head_mid = libconfig->setting_get_int(it);
+ if ((it = libconfig->setting_get_member(t, "HeadLowId")) != NULL)
+ entry->vd.head_bottom = libconfig->setting_get_int(it);
+
+ if ((it = libconfig->setting_get_member(t, "HairStyleId")) != NULL)
+ entry->vd.hair_style = libconfig->setting_get_int(it);
+ else
+ entry->vd.hair_style = 1;
+
+ if ((it = libconfig->setting_get_member(t, "BodyStyleId")) != NULL)
+ entry->vd.body_style = libconfig->setting_get_int(it);
+ if ((it = libconfig->setting_get_member(t, "HairColorId")) != NULL)
+ entry->vd.hair_color = libconfig->setting_get_uint16(it);
+ if ((it = libconfig->setting_get_member(t, "BodyColorId")) != NULL)
+ entry->vd.cloth_color = libconfig->setting_get_uint16(it);
+ if (mob->lookup_const(t, "Gender", &i32) && i32 >= 0) {
+ entry->vd.sex = (char)i32;
+ }
+ if ((it = libconfig->setting_get_member(t, "Options")) != NULL)
+ entry->option = libconfig->setting_get_int(it) &~ (OPTION_HIDE | OPTION_CLOAK | OPTION_INVISIBLE);
+}
+
+/**
* Processes the mode for a mob_db entry.
*
* @param[in] entry The destination mob_db entry, already initialized.
@@ -3941,6 +4418,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
@@ -3965,9 +4487,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++;
@@ -3981,6 +4512,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) {
@@ -4024,9 +4556,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++;
@@ -4034,6 +4575,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++;
@@ -4295,14 +4837,33 @@ static int mob_read_db_sub(struct config_setting_t *mobt, int n, const char *sou
* AttackMotion: attack motion
* DamageMotion: damage motion
* MvpExp: mvp experience
+ * DamageTakenRate: damage taken rate
* MvpDrops: {
* AegisName: chance
* ...
* }
* Drops: {
* AegisName: chance
+ * // or
+ * AegisName: (chance, "Option Drop Group")
* ...
* }
+ * DamageTakenRate: damage taken rate
+ * ViewData: {
+ * SpriteId: sprite id
+ * WeaponId: weapon id
+ * ShieldId: shield id
+ * RobeId: garment id
+ * HeadTopId: top headgear id
+ * HeadMidId: middle headgear id
+ * HeadLowId: lower headgear id
+ * HairStyleId: hair style id
+ * BodyStyleId: clothes id
+ * HairColorId: hair color id
+ * BodyColorId: clothes color id
+ * Gender: gender
+ * Options: options
+ * }
*/
if (!libconfig->setting_lookup_int(mobt, "Id", &i32)) {
@@ -4526,6 +5087,18 @@ static int mob_read_db_sub(struct config_setting_t *mobt, int n, const char *sou
}
}
+ if (mob->lookup_const(mobt, "DamageTakenRate", &i32) && i32 >= 0) {
+ md.dmg_taken_rate = cap_value(i32, 1, INT_MAX);
+ } else if (!inherit) {
+ md.dmg_taken_rate = 100;
+ }
+
+ if ((t = libconfig->setting_get_member(mobt, "ViewData"))) {
+ if (config_setting_is_group(t)) {
+ mob->read_db_viewdata_sub(&md, t);
+ }
+ }
+
mob->read_db_additional_fields(&md, mobt, n, source);
return mob->db_validate_entry(&md, n, source);
@@ -4641,7 +5214,7 @@ static int mob_read_libconfig(const char *filename, bool ignore_missing)
}
}
libconfig->destroy(&mob_db_conf);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filename);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
return count;
}
@@ -4661,46 +5234,15 @@ static void mob_name_constants(void)
#endif // ENABLE_CASE_CHECK
}
-/*==========================================
- * MOB display graphic change data reading
- *------------------------------------------*/
-static bool mob_readdb_mobavail(char *str[], int columns, int current)
+static void mob_mobavail_removal_notice(void)
{
- int class_, view_class;
-
- nullpo_retr(false, str);
- class_=atoi(str[0]);
-
- if(mob->db(class_) == mob->dummy) {
- // invalid class (probably undefined in db)
- ShowWarning("mob_readdb_mobavail: Unknown mob id %d.\n", class_);
- return false;
- }
-
- view_class = atoi(str[1]);
+ char filepath[256];
- memset(&mob->db_data[class_]->vd, 0, sizeof(struct view_data));
- mob->db_data[class_]->vd.class = view_class;
+ safesnprintf(filepath, sizeof(filepath), "%s/mob_avail.txt", map->db_path);
- //Player sprites
- if (pc->db_checkid(view_class) && columns == 12) {
- mob->db_data[class_]->vd.sex=atoi(str[2]);
- mob->db_data[class_]->vd.hair_style=atoi(str[3]);
- mob->db_data[class_]->vd.hair_color=atoi(str[4]);
- mob->db_data[class_]->vd.weapon=atoi(str[5]);
- mob->db_data[class_]->vd.shield=atoi(str[6]);
- mob->db_data[class_]->vd.head_top=atoi(str[7]);
- mob->db_data[class_]->vd.head_mid=atoi(str[8]);
- mob->db_data[class_]->vd.head_bottom=atoi(str[9]);
- mob->db_data[class_]->option=atoi(str[10])&~(OPTION_HIDE|OPTION_CLOAK|OPTION_INVISIBLE);
- mob->db_data[class_]->vd.cloth_color=atoi(str[11]); // Monster player dye option - Valaris
+ if (exists(filepath)) {
+ ShowError("mob_mobavail_removal_notice: the usage of mob_avail.txt is no longer supported, move your data using tools/mobavailconverter.py and delete the database file to suspend this message.\n");
}
- else if(columns==3)
- mob->db_data[class_]->vd.head_bottom=atoi(str[2]); // mob equipment [Valaris]
- else if( columns != 2 )
- return false;
-
- return true;
}
/*==========================================
@@ -4764,7 +5306,7 @@ static int mob_read_randommonster(void)
summon[i].qty = 1;
}
fclose(fp);
- ShowStatus("Done reading '"CL_WHITE"%u"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n",count,mobfile[i]);
+ ShowStatus("Done reading '"CL_WHITE"%u"CL_RESET"' entries in '"CL_WHITE"%s/%s"CL_RESET"'.\n",count, map->db_path, mobfile[i]);
}
return 0;
}
@@ -4881,7 +5423,7 @@ static void mob_readchatdb(void)
count++;
}
fclose(fp);
- ShowStatus("Done reading '"CL_WHITE"%"PRIu32""CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, arc);
+ ShowStatus("Done reading '"CL_WHITE"%"PRIu32""CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
}
/*==========================================
@@ -5208,15 +5750,17 @@ static bool mob_readdb_itemratio(char *str[], int columns, int current)
static void mob_load(bool minimal)
{
if (minimal) {
- // Only read the mob db in minimal mode
+ // Only read the mob db and option drops in minimal mode
+ mob->read_optdrops_db();
mob->readdb();
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();
- sv->readdb(map->db_path, "mob_avail.txt", ',', 2, 12, -1, mob->readdb_mobavail);
+ mob->mobavail_removal_notice();
mob->read_randommonster();
sv->readdb(map->db_path, DBPATH"mob_race2_db.txt", ',', 2, 20, -1, mob->readdb_race2);
}
@@ -5234,6 +5778,29 @@ static int mob_final_ratio_sub(union DBKey key, struct DBData *data, va_list ap)
return 0;
}
+static int mob_reload_sub_mob(struct mob_data *md, va_list args)
+{
+ nullpo_ret(md);
+ md->db = mob_db(md->class_);
+
+ status_calc_mob(md, SCO_FIRST);
+
+ // If the view data was not overwritten manually
+ if (md->vd != NULL) {
+ // Get the new view data from the mob database
+ md->vd = mob_get_viewdata(md->class_);
+
+ // If they are spawned right now
+ if (md->bl.prev != NULL) {
+ // Respawn all mobs on client side so that they are displayed correctly(if their view id changed)
+ clif->clearunit_area(&md->bl, CLR_OUTSIGHT);
+ clif->spawn(&md->bl);
+ }
+ }
+
+ return 0;
+}
+
static void mob_reload(void)
{
int i;
@@ -5254,7 +5821,10 @@ 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);
+ map->foreachmob(mob->reload_sub_mob);
}
/**
@@ -5309,6 +5879,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.
*------------------------------------------*/
@@ -5327,6 +5913,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)
@@ -5394,6 +5981,7 @@ void mob_defaults(void)
/* */
mob->reload = mob_reload;
+ mob->reload_sub_mob = mob_reload_sub_mob;
mob->init = do_init_mob;
mob->final = do_final_mob;
/* */
@@ -5433,6 +6021,7 @@ void mob_defaults(void)
mob->ai_sub_hard_bg_ally = mob_ai_sub_hard_bg_ally;
mob->ai_sub_hard_lootsearch = mob_ai_sub_hard_lootsearch;
mob->warpchase_sub = mob_warpchase_sub;
+ mob->is_in_battle_state = mob_is_in_battle_state;
mob->ai_sub_hard_slavemob = mob_ai_sub_hard_slavemob;
mob->unlocktarget = mob_unlocktarget;
mob->randomwalk = mob_randomwalk;
@@ -5443,6 +6032,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;
@@ -5476,6 +6066,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;
@@ -5486,9 +6080,11 @@ 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->read_db_viewdata_sub = mob_read_db_viewdata_sub;
mob->name_constants = mob_name_constants;
- mob->readdb_mobavail = mob_readdb_mobavail;
+ mob->mobavail_removal_notice = mob_mobavail_removal_notice;
mob->read_randommonster = mob_read_randommonster;
mob->parse_row_chatdb = mob_parse_row_chatdb;
mob->readchatdb = mob_readchatdb;
@@ -5501,6 +6097,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 cdfc07c7d..4cfddc2cd 100644
--- a/src/map/mob.h
+++ b/src/map/mob.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -35,12 +35,11 @@ struct hplugin_data_store;
// Change this to increase the table size in your mob_db to accommodate a larger mob database.
// Be sure to note that IDs 4001 to 4048 are reserved for advanced/baby/expanded classes.
// Notice that the last 1000 entries are used for player clones, so always set this to desired value +1000
-#define MAX_MOB_DB 5000
+#define MAX_MOB_DB 22000
//The number of drops all mobs have and the max drop-slot that the steal skill will attempt to steal from.
#define MAX_MOB_DROP 10
#define MAX_MVP_DROP 3
-#define MAX_STEAL_DROP 7
//Min time between AI executions
#define MIN_MOBTHINKTIME 100
@@ -152,6 +151,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,13 +198,14 @@ 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;
int summonper[MAX_RANDOMMONSTER];
int maxskill;
+ int dmg_taken_rate;
struct mob_skill skill[MAX_MOBSKILL];
struct spawn_info spawn[10];
struct hplugin_data_store *hdata; ///< HPM Plugin Data Store
@@ -205,6 +244,7 @@ struct mob_data {
unsigned int dmg;
unsigned int flag : 2; //0: Normal. 1: Homunc exp. 2: Pet exp
} dmglog[DAMAGELOG_SIZE];
+ int dmg_taken_rate;
struct spawn_data *spawn; //Spawn data.
int spawn_timer; //Required for Convex Mirror
struct item *lootitem;
@@ -215,6 +255,7 @@ struct mob_data {
int areanpc_id; //Required in OnTouchNPC (to avoid multiple area touchs)
unsigned int bg_id; // BattleGround System
int clan_id; // Clan System
+ int npc_id; // NPC ID if spawned with monster/areamonster/guardian/bg_monster/atcommand("@monster xy") (Used to kill mob on NPC unload.)
int64 next_walktime, last_thinktime, last_linktime, last_pcneartime, dmgtick;
short move_fail_count;
@@ -436,6 +477,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];
@@ -446,6 +490,7 @@ struct mob_interface {
int (*init) (bool mimimal);
int (*final) (void);
void (*reload) (void);
+ int (*reload_sub_mob) (struct mob_data *md, va_list args);
/* */
struct mob_db* (*db) (int index);
struct mob_chat* (*chat) (short id);
@@ -463,14 +508,14 @@ struct mob_interface {
int (*db_checkid) (const int id);
struct view_data* (*get_viewdata) (int class_);
int (*parse_dataset) (struct spawn_data *data);
- struct mob_data* (*spawn_dataset) (struct spawn_data *data);
+ struct mob_data* (*spawn_dataset) (struct spawn_data *data, int npc_id);
int (*get_random_id) (int type, int flag, int lv);
bool (*ksprotected) (struct block_list *src, struct block_list *target);
- struct mob_data* (*once_spawn_sub) (struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai);
+ struct mob_data* (*once_spawn_sub) (struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai, int npc_id);
int (*once_spawn) (struct map_session_data *sd, int16 m, int16 x, int16 y, const char *mobname, int class_, int amount, const char *event, unsigned int size, unsigned int ai);
int (*once_spawn_area) (struct map_session_data *sd, int16 m, int16 x0, int16 y0, int16 x1, int16 y1, const char *mobname, int class_, int amount, const char *event, unsigned int size, unsigned int ai);
- int (*spawn_guardian) (const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index);
- int (*spawn_bg) (const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id);
+ int (*spawn_guardian) (const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index, int npc_id);
+ int (*spawn_bg) (const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id, int npc_id);
int (*can_reach) (struct mob_data *md, struct block_list *bl, int range, int state);
int (*linksearch) (struct block_list *bl, va_list ap);
int (*delayspawn) (int tid, int64 tick, int id, intptr_t data);
@@ -484,6 +529,7 @@ struct mob_interface {
int (*ai_sub_hard_bg_ally) (struct block_list *bl, va_list ap);
int (*ai_sub_hard_lootsearch) (struct block_list *bl, va_list ap);
int (*warpchase_sub) (struct block_list *bl, va_list ap);
+ bool (*is_in_battle_state) (const struct mob_data *md);
int (*ai_sub_hard_slavemob) (struct mob_data *md, int64 tick);
int (*unlocktarget) (struct mob_data *md, int64 tick);
int (*randomwalk) (struct mob_data *md, int64 tick);
@@ -494,7 +540,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 +574,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,9 +588,11 @@ 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 (*read_db_viewdata_sub) (struct mob_db *entry, struct config_setting_t *t);
void (*name_constants) (void);
- bool (*readdb_mobavail) (char *str[], int columns, int current);
+ void (*mobavail_removal_notice) (void);
int (*read_randommonster) (void);
bool (*parse_row_chatdb) (char **str, const char *source, int line, int *last_msg_id);
void (*readchatdb) (void);
@@ -552,6 +605,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 61341744d..40ec380ee 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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"
@@ -1257,6 +1258,9 @@ static void run_tomb(struct map_session_data *sd, struct npc_data *nd)
char time[10];
nullpo_retv(nd);
+
+ sd->npc_id = nd->bl.id;
+
strftime(time, sizeof(time), "%H:%M", localtime(&nd->u.tomb.kill_time));
// TODO: Find exact color?
@@ -1331,49 +1335,68 @@ static int npc_click(struct map_session_data *sd, struct npc_data *nd)
return 0;
}
-/*==========================================
+/**
+ * Validates a character's script related data and (re-)runs the script if validation was successful.
*
- *------------------------------------------*/
+ * Is called when:
+ * - The Next/Close button was clicked.
+ * - A menu option was selected.
+ * - A value was entered by input() script command.
+ * - A progress bar has reached 100%.
+ * - The character timed out because of idling.
+ *
+ * @param sd The character's session data.
+ * @param id The NPC ID.
+ * @param closing Whether the script is closing, or not.
+ * @return 0 on success, otherwise 1.
+ *
+**/
static int npc_scriptcont(struct map_session_data *sd, int id, bool closing)
{
- struct block_list *target = map->id2bl(id);
nullpo_retr(1, sd);
- if( id != sd->npc_id ){
- struct npc_data *nd_sd = map->id2nd(sd->npc_id);
- struct npc_data *nd = BL_CAST(BL_NPC, target);
- ShowDebug("npc_scriptcont: %s (sd->npc_id=%d) is not %s (id=%d).\n",
- nd_sd?(char*)nd_sd->name:"'Unknown NPC'", (int)sd->npc_id,
- nd?(char*)nd->name:"'Unknown NPC'", (int)id);
- return 1;
+ struct block_list *target = map->id2bl(id);
+
+#ifdef SECURE_NPCTIMEOUT
+ if (sd->npc_idle_timer != INVALID_TIMER) { /// Not yet timed out.
+#endif
+ if (id != sd->npc_id) {
+ struct npc_data *nd_sd = map->id2nd(sd->npc_id);
+ struct npc_data *nd = BL_CAST(BL_NPC, target);
+
+ ShowDebug("npc_scriptcont: %s (sd->npc_id=%d) is not %s (id=%d).\n",
+ (nd_sd != NULL) ? nd_sd->name : "'Unknown NPC'", sd->npc_id,
+ (nd != NULL) ? nd->name : "'Unknown NPC'", id);
+
+ return 1;
+ }
+#ifdef SECURE_NPCTIMEOUT
}
+#endif
- if(id != npc->fake_nd->bl.id) { // Not item script
- if ((npc->checknear(sd,target)) == NULL){
- ShowWarning("npc_scriptcont: failed npc->checknear test.\n");
+ if (id != npc->fake_nd->bl.id) { /// Not an item script.
+ if (sd->state.npc_unloaded != 0) {
+ sd->state.npc_unloaded = 0;
+ } else if (npc->checknear(sd, target) == NULL) {
+ ShowWarning("npc_scriptcont: Failed npc->checknear test.\n");
return 1;
}
}
- /**
- * For the Secure NPC Timeout option (check config/Secure.h) [RR]
- **/
+
#ifdef SECURE_NPCTIMEOUT
- /**
- * Update the last NPC iteration
- **/
- sd->npc_idle_tick = timer->gettick();
+ sd->npc_idle_tick = timer->gettick(); /// Update the last NPC iteration.
#endif
- /**
- * WPE can get to this point with a progressbar; we deny it.
- **/
- if( sd->progressbar.npc_id && DIFF_TICK(sd->progressbar.timeout,timer->gettick()) > 0 )
+ /// WPE can get to this point with a progressbar; we deny it.
+ if (sd->progressbar.npc_id != 0 && DIFF_TICK(sd->progressbar.timeout, timer->gettick()) > 0)
return 1;
- if( !sd->st )
+ if (sd->st == NULL) {
+ sd->npc_id = 0;
return 1;
+ }
- if( closing && sd->st->state == CLOSE )
+ if (closing && sd->st->state == CLOSE)
sd->st->state = END;
script->run_main(sd->st);
@@ -1449,7 +1472,11 @@ 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 && nd->u.scr.shop->type != NST_BARTER) {
+ 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 &&
+ nd->u.scr.shop->type != NST_EXPANDED_BARTER) {
shop = nd->u.scr.shop->item;
shop_size = nd->u.scr.shop->items;
} else {
@@ -1615,7 +1642,7 @@ static void npc_market_tosql(struct npc_data *nd, int index)
{
nullpo_retv(nd);
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')",
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "REPLACE INTO `%s` VALUES ('%s','%d','%d')",
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);
}
@@ -1708,7 +1735,9 @@ 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')",
+ if (item->qty == -1)
+ return;
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "REPLACE INTO `%s` VALUES ('%s', '%d', '%d', '%u', '%d')",
map->npc_barter_data_db, nd->exname, item->nameid, item->qty, item->value, item->value2)) {
Sql_ShowDebug(map->mysql_handle);
}
@@ -1745,6 +1774,179 @@ static void npc_barter_delfromsql(struct npc_data *nd, int index)
}
}
+
+/**
+ * Loads persistent NPC Expanded Barter Data from SQL
+ **/
+static void npc_expanded_barter_fromsql(void)
+{
+ struct SqlStmt *stmt = SQL->StmtMalloc(map->mysql_handle);
+ char name[NAME_LENGTH + 1];
+ int itemid;
+ int amount;
+ int zeny;
+ StringBuf buf;
+
+ StrBuf->Init(&buf);
+ StrBuf->AppendStr(&buf, "SELECT `name`, `itemId`, `amount`, `zeny`");
+ for (int k = 1; k < 11; k ++) {
+ StrBuf->Printf(&buf, ", `currencyId%d`, `currencyAmount%d`, `currencyRefine%d`", k, k, k);
+ }
+ StrBuf->Printf(&buf, " FROM `%s`", map->npc_expanded_barter_data_db);
+
+ if (SQL_ERROR == SQL->StmtPrepareStr(stmt, StrBuf->Value(&buf))
+ || SQL_ERROR == SQL->StmtExecute(stmt)
+ ) {
+ SqlStmt_ShowDebug(stmt);
+ SQL->StmtFree(stmt);
+ StrBuf->Destroy(&buf);
+ return;
+ }
+
+ struct npc_barter_currency tempCurrency[10];
+ 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_UINT32, &zeny, sizeof zeny, NULL, NULL);
+ for (int k = 0; k < 10; k ++) {
+ SQL->StmtBindColumn(stmt, k * 3 + 4, SQLDT_INT, &tempCurrency[k].nameid, sizeof tempCurrency[k].nameid, NULL, NULL);
+ SQL->StmtBindColumn(stmt, k * 3 + 5, SQLDT_INT, &tempCurrency[k].amount, sizeof tempCurrency[k].amount, NULL, NULL);
+ SQL->StmtBindColumn(stmt, k * 3 + 6, SQLDT_INT, &tempCurrency[k].refine, sizeof tempCurrency[k].refine, NULL, NULL);
+ }
+
+ while (SQL_SUCCESS == SQL->StmtNextRow(stmt)) {
+ struct npc_data *nd = NULL;
+ unsigned short i;
+
+ if ((nd = npc->name2id(name)) == NULL) {
+ ShowError("npc_expanded_barter_fromsql: NPC '%s' not found! skipping...\n",name);
+ npc->expanded_barter_delfromsql_sub(name, INT_MAX, 0, 0, NULL);
+ continue;
+ } else if (nd->subtype != SCRIPT || nd->u.scr.shop == NULL || nd->u.scr.shop->items == 0 || nd->u.scr.shop->type != NST_EXPANDED_BARTER) {
+ ShowError("npc_expanded_barter_fromsql: NPC '%s' is not proper for barter, skipping...\n",name);
+ npc->expanded_barter_delfromsql_sub(name, INT_MAX, 0, 0, NULL);
+ 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 == zeny) {
+ int count = nd->u.scr.shop->item[i].value2;
+ if (count > 10)
+ count = 10;
+ int curIndex;
+ for (curIndex = 0; curIndex < count; curIndex ++) {
+ struct npc_barter_currency *currency = &nd->u.scr.shop->item[i].currency[curIndex];
+ struct npc_barter_currency *currency2 = &tempCurrency[curIndex];
+ if (currency->nameid != currency2->nameid ||
+ currency->amount != currency2->amount ||
+ currency->refine != currency2->refine) {
+ break;
+ }
+ }
+ if (curIndex == count) {
+ item->qty = amount;
+ break;
+ }
+ }
+ }
+
+ if (i == nd->u.scr.shop->items) {
+ ShowError("npc_expanded_barter_fromsql: NPC '%s' does not sell item %d (qty %d), deleting...\n", name, itemid, amount);
+ npc->expanded_barter_delfromsql_sub(name, itemid, zeny, 10, &tempCurrency[0]);
+ continue;
+ }
+ }
+ SQL->StmtFree(stmt);
+ StrBuf->Destroy(&buf);
+}
+
+/**
+ * Saves persistent NPC Expanded Barter Data into SQL
+ **/
+static void npc_expanded_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 (item->qty == -1)
+ return;
+
+ npc->expanded_barter_delfromsql(nd, index);
+
+ StringBuf buf;
+ StrBuf->Init(&buf);
+ StrBuf->Printf(&buf, "INSERT INTO `%s` VALUES ('%s', '%d', '%d', '%u'", map->npc_expanded_barter_data_db, nd->exname, item->nameid, item->qty, item->value);
+ int currencyCount = item->value2;
+ if (currencyCount > 10)
+ currencyCount = 10;
+ int k;
+ for (k = 0; k < currencyCount; k++) {
+ struct npc_barter_currency *currency = &item->currency[k];
+ StrBuf->Printf(&buf, ", '%d', '%d', '%d'", currency->nameid, currency->amount, currency->refine);
+ }
+ for (; k < 10; k ++) {
+ StrBuf->Printf(&buf, ", '0', '0', '0'");
+ }
+ StrBuf->AppendStr(&buf, ")");
+
+ if (SQL_ERROR == SQL->QueryStr(map->mysql_handle, StrBuf->Value(&buf))) {
+ Sql_ShowDebug(map->mysql_handle);
+ }
+ StrBuf->Destroy(&buf);
+}
+
+/**
+ * Removes persistent NPC Expanded Barter Data from SQL
+ */
+static void npc_expanded_barter_delfromsql_sub(const char *npcname, int itemId, int zeny, int currencyCount, struct npc_barter_currency* currency)
+{
+ if (itemId == INT_MAX) {
+ if (SQL_ERROR == SQL->Query(map->mysql_handle, "DELETE FROM `%s` WHERE `name`='%s'", map->npc_expanded_barter_data_db, npcname))
+ Sql_ShowDebug(map->mysql_handle);
+ } else {
+ StringBuf buf;
+
+ StrBuf->Init(&buf);
+ StrBuf->Printf(&buf, "DELETE FROM `%s` WHERE `name`='%s' AND `itemId`='%d' AND `zeny`='%d'",
+ map->npc_expanded_barter_data_db, npcname, itemId, zeny);
+ int k = 0;
+ if (currencyCount > 10)
+ currencyCount = 10;
+ for (k = 0; k < currencyCount; k++) {
+ struct npc_barter_currency *currency1 = &currency[k];
+ StrBuf->Printf(&buf, " AND currencyId%d='%d' and currencyAmount%d='%d' and currencyRefine%d='%d'",
+ k + 1, currency1->nameid, k + 1, currency1->amount, k + 1, currency1->refine);
+ }
+ for (; k < 10; k ++) {
+ StrBuf->Printf(&buf, " AND currencyId%d='0' and currencyAmount%d='0' and currencyRefine%d='0'",
+ k + 1, k + 1, k + 1);
+ }
+ StrBuf->AppendStr(&buf, " LIMIT 1");
+
+ if (SQL_ERROR == SQL->QueryStr(map->mysql_handle, StrBuf->Value(&buf))) {
+ Sql_ShowDebug(map->mysql_handle);
+ }
+ StrBuf->Destroy(&buf);
+ }
+}
+
+
+/**
+ * Removes persistent NPC Expanded Barter Data from SQL
+ **/
+static void npc_expanded_barter_delfromsql(struct npc_data *nd, int index)
+{
+ nullpo_retv(nd);
+ if (index == INT_MAX) {
+ npc->expanded_barter_delfromsql_sub(nd->exname, INT_MAX, 0, 0, NULL);
+ } 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->expanded_barter_delfromsql_sub(nd->exname, item->nameid, item->value, item->value2, &item->currency[0]);
+ }
+}
+
/**
* Judges whether to allow and spawn a trader's window.
**/
@@ -1780,6 +1982,9 @@ static bool npc_trader_open(struct map_session_data *sd, struct npc_data *nd)
case NST_BARTER:
clif->npc_barter_open(sd, nd);
break;
+ case NST_EXPANDED_BARTER:
+ clif->npc_expanded_barter_open(sd, nd);
+ break;
default:
clif->cashshop_show(sd,nd);
break;
@@ -1906,7 +2111,11 @@ 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 && nd->u.scr.shop->type != NST_BARTER) {
+ 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 &&
+ nd->u.scr.shop->type != NST_EXPANDED_BARTER) {
shop = nd->u.scr.shop->item;
shop_size = nd->u.scr.shop->items;
} else {
@@ -2114,7 +2323,7 @@ static int npc_buylist(struct map_session_data *sd, struct itemlist *item_list)
/**
* Processes incoming npc market purchase list
**/
-static int npc_market_buylist(struct map_session_data *sd, struct itemlist *item_list)
+static enum market_buy_result npc_market_buylist(struct map_session_data *sd, struct itemlist *item_list)
{
struct npc_data* nd;
struct npc_item_list *shop = NULL;
@@ -2128,7 +2337,7 @@ static int npc_market_buylist(struct map_session_data *sd, struct itemlist *item
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_MARKET)
- return 1;
+ return MARKET_BUY_RESULT_ERROR;
shop = nd->u.scr.shop->item;
shop_size = nd->u.scr.shop->items;
@@ -2148,18 +2357,18 @@ static int npc_market_buylist(struct map_session_data *sd, struct itemlist *item
entry->id == itemdb_viewid(shop[j].nameid) //item_avail replacement
);
if (j == shop_size) /* TODO find official response for this */
- return 1; // no such item in shop
+ return MARKET_BUY_RESULT_ERROR; // no such item in shop
entry->id = shop[j].nameid; //item_avail replacement
if (entry->amount > (int)shop[j].qty)
- return 1;
+ return MARKET_BUY_RESULT_AMOUNT_TOO_BIG;
value = shop[j].value;
npc_market_qty[i] = j;
if (!itemdb->exists(entry->id)) /* TODO find official response for this */
- return 1; // item no longer in itemdb
+ return MARKET_BUY_RESULT_ERROR; // item no longer in itemdb
if (!itemdb->isstackable(entry->id) && entry->amount > 1) {
//Exploit? You can't buy more than 1 of equipment types o.O
@@ -2183,13 +2392,13 @@ static int npc_market_buylist(struct map_session_data *sd, struct itemlist *item
}
if (z > sd->status.zeny) /* TODO find official response for this */
- return 1; // Not enough Zeny
+ return MARKET_BUY_RESULT_NO_ZENY; // Not enough Zeny
if( w + sd->weight > sd->max_weight ) /* TODO find official response for this */
- return 1; // Too heavy
+ return MARKET_BUY_RESULT_OVER_WEIGHT; // Too heavy
if( pc->inventoryblank(sd) < new_ ) /* TODO find official response for this */
- return 1; // Not enough space to store items
+ return MARKET_BUY_RESULT_OUT_OF_SPACE; // Not enough space to store items
pc->payzeny(sd,(int)z,LOG_TYPE_NPC, NULL);
@@ -2199,7 +2408,7 @@ static int npc_market_buylist(struct map_session_data *sd, struct itemlist *item
j = npc_market_qty[i];
if (entry->amount > (int)shop[j].qty) /* wohoo someone tampered with the packet. */
- return 1;
+ return MARKET_BUY_RESULT_AMOUNT_TOO_BIG;
shop[j].qty -= entry->amount;
@@ -2217,7 +2426,7 @@ static int npc_market_buylist(struct map_session_data *sd, struct itemlist *item
}
}
- return 0;
+ return MARKET_BUY_RESULT_SUCCESS;
}
/**
@@ -2254,6 +2463,9 @@ static int npc_barter_buylist(struct map_session_data *sd, struct barteritemlist
if (n < 0 || n >= sd->status.inventorySize)
return 11; // wrong inventory index
+ if (entry->addAmount <= 0)
+ return 14; // not enough item amount in inventory
+
int removeId = sd->status.inventory[n].nameid;
const int j = entry->shopIndex;
if (j < 0 || j >= shop_size)
@@ -2347,6 +2559,152 @@ static int npc_barter_buylist(struct map_session_data *sd, struct barteritemlist
return 12;
}
+
+/**
+ * Processes incoming npc expanded barter purchase list
+ **/
+static int npc_expanded_barter_buylist(struct map_session_data *sd, struct barteritemlist *item_list)
+{
+ nullpo_retr(1, sd);
+ nullpo_retr(1, item_list);
+
+ struct npc_data* 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_EXPANDED_BARTER) {
+ return 11;
+ }
+
+ struct npc_item_list *shop = nd->u.scr.shop->item;
+ unsigned short shop_size = nd->u.scr.shop->items;
+ int w = 0;
+ int new_ = 0;
+ int64 z = 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);
+
+ if (entry->addAmount <= 0)
+ return 14; // not enough item amount in inventory
+
+ 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
+ entry->addId = shop[j].nameid; // item_avail replacement
+ if (!itemdb->exists(entry->addId))
+ return 13; // item no longer in itemdb
+
+ if ((int)shop[j].qty != -1 && entry->addAmount > (int)shop[j].qty)
+ return 14; // not enough item amount in shop
+
+ int currencyCount = shop[j].value2;
+ for (int currencyIndex = 0; currencyIndex < currencyCount; currencyIndex ++) {
+ struct npc_barter_currency *currency = &shop[j].currency[currencyIndex];
+ const int currencyItemId = currency->nameid;
+ const int currencyRefine = currency->refine;
+ int removeAmount = currency->amount * entry->addAmount;
+ if (removeAmount <= 0)
+ continue;
+ for (int n = 0; n < sd->status.inventorySize && removeAmount > 0; ++n) {
+ // check item id and existing amount
+ if (sd->status.inventory[n].nameid == currencyItemId && sd->status.inventory[n].amount > 0) {
+ // check item refine level
+ if (currencyRefine != -1 && sd->status.inventory[n].refine != currencyRefine)
+ continue;
+ if (sd->status.inventory[n].amount >= removeAmount) {
+ items[n] += removeAmount;
+ removeAmount = 0;
+ w -= itemdb_weight(currencyItemId) * removeAmount;
+ break;
+ } else {
+ items[n] += sd->status.inventory[n].amount;
+ removeAmount -= sd->status.inventory[n].amount;
+ w -= itemdb_weight(currencyItemId) * sd->status.inventory[n].amount;
+ }
+ }
+ if (items[n] > sd->status.inventory[n].amount)
+ return 14; // not enough item amount in inventory
+ }
+ if (removeAmount != 0) {
+ 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;
+ }
+
+ z += (int64)shop[j].value * entry->addAmount;
+ w += itemdb_weight(entry->addId) * entry->addAmount;
+ }
+
+ if (z > sd->status.zeny)
+ return 3; // Not enough Zeny
+
+ if ((int64)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
+ }
+ }
+
+ pc->payzeny(sd, (int)z, LOG_TYPE_NPC, NULL);
+
+ 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->expanded_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)
{
@@ -2593,120 +2951,193 @@ static int npc_unload_ev_label(union DBKey key, struct DBData *data, va_list ap)
return 0;
}
-//Chk if npc matches src_id, then unload.
-//Sub-function used to find duplicates.
+/**
+ * Unloads a NPC if it's a duplicate of the passed one.
+ *
+ * @param nd The NPC to check.
+ * @param args List of arguments.
+ * @return Always 0.
+ *
+ **/
static int npc_unload_dup_sub(struct npc_data *nd, va_list args)
{
- int src_id;
-
nullpo_ret(nd);
- src_id = va_arg(args, int);
+
+ const int src_id = va_arg(args, int);
+ const int unload_mobs = va_arg(args, int);
+
if (nd->src_id == src_id)
- npc->unload(nd, true);
+ npc->unload(nd, true, (unload_mobs == 1));
+
return 0;
}
-//Removes all npcs that are duplicates of the passed one. [Skotlex]
-static void npc_unload_duplicates(struct npc_data *nd)
+/**
+ * Unloads all NPCs which are duplicates of the passed one.
+ *
+ * @param nd The source NPC.
+ * @param unload_mobs If true, mobs spawned by duplicates will be removed.
+ *
+ * @author Skotlex
+ *
+ **/
+static void npc_unload_duplicates(struct npc_data *nd, bool unload_mobs)
{
nullpo_retv(nd);
- map->foreachnpc(npc->unload_dup_sub,nd->bl.id);
+
+ map->foreachnpc(npc->unload_dup_sub, nd->bl.id, unload_mobs);
+}
+
+/**
+ * Removes a mob, which was spawned by a NPC (monster/areamonster/guardian/bg_monster/atcommand("@monster xy")).
+ *
+ * @param md The mob to remove.
+ * @param args List of arguments.
+ * @return 1 on success, 0 on failure.
+ *
+ * @author Kenpachi
+ *
+ **/
+static int npc_unload_mob(struct mob_data *md, va_list args)
+{
+ nullpo_ret(md);
+
+ const int npc_id = va_arg(args, int);
+
+ if (md->npc_id == npc_id) {
+ md->state.npc_killmonster = 1;
+ status_kill(&md->bl);
+ return 1;
+ }
+
+ return 0;
}
-//Removes an npc from map and db.
-//Single is to free name (for duplicates).
-static int npc_unload(struct npc_data *nd, bool single)
+/**
+ * Removes a NPC from map and database.
+ *
+ * @param nd The NPC which should be removed.
+ * @param single If true, names are freed. (For duplicates.)
+ * @param unload_mobs If true, mobs spawned by the NPC will be removed.
+ * @return Always 0.
+ *
+ **/
+static int npc_unload(struct npc_data *nd, bool single, bool unload_mobs)
{
nullpo_ret(nd);
- if( nd->ud && nd->ud != &npc->base_ud ) {
+ if (nd->ud != NULL && nd->ud != &npc->base_ud)
skill->clear_unitgroup(&nd->bl);
- }
npc->remove_map(nd);
map->deliddb(&nd->bl);
- if( single )
+
+ if (single)
strdb_remove(npc->name_db, nd->exname);
- if (nd->chat_id) // remove npc chatroom object and kick users
+ if (nd->chat_id != 0) /// Remove NPC chatroom object and kick users.
chat->delete_npc_chat(nd);
- npc_chat->finalize(nd); // deallocate npc PCRE data structures
+ npc_chat->finalize(nd); /// Deallocate NPC PCRE data structures.
if (single && nd->path != NULL) {
npc->releasepathreference(nd->path);
nd->path = NULL;
}
- if( single && nd->bl.m != -1 )
- map->remove_questinfo(nd->bl.m,nd);
+ if (single && nd->bl.m != INDEX_NOT_FOUND)
+ map->remove_questinfo(nd->bl.m, nd);
- if (nd->src_id == 0 && ( nd->subtype == SHOP || nd->subtype == CASHSHOP)) {
- //src check for duplicate shops [Orcao]
- aFree(nd->u.shop.shop_item);
+ npc->questinfo_clear(nd);
+
+ if (nd->src_id == 0 && (nd->subtype == SHOP || nd->subtype == CASHSHOP)) {
+ aFree(nd->u.shop.shop_item); /// src check for duplicate shops. [Orcao]
} else if (nd->subtype == SCRIPT) {
- struct s_mapiterator *iter;
- struct map_session_data *sd = NULL;
+ char evname[EVENT_NAME_LENGTH];
+
+ snprintf(evname, ARRAYLENGTH(evname), "%s::OnNPCUnload", nd->exname);
+
+ struct event_data *ev = strdb_get(npc->ev_db, evname);
+
+ if (ev != NULL)
+ script->run_npc(nd->u.scr.script, ev->pos, 0, nd->bl.id); /// Run OnNPCUnload.
- if( single ) {
- npc->ev_db->foreach(npc->ev_db,npc->unload_ev,nd->exname); //Clean up all events related
- npc->ev_label_db->foreach(npc->ev_label_db,npc->unload_ev_label,nd);
+ if (single) {
+ npc->ev_db->foreach(npc->ev_db, npc->unload_ev, nd->exname); /// Clean up all related events.
+ npc->ev_label_db->foreach(npc->ev_label_db, npc->unload_ev_label, nd);
}
- iter = mapit_geteachpc();
- for (sd = BL_UCAST(BL_PC, mapit->first(iter)); mapit->exists(iter); sd = BL_UCAST(BL_PC, mapit->next(iter))) {
- if (sd->npc_timer_id != INVALID_TIMER ) {
+ struct s_mapiterator *iter = mapit_geteachpc();
+ struct map_session_data *sd = BL_UCAST(BL_PC, mapit->first(iter));
+
+ for (; mapit->exists(iter); sd = BL_UCAST(BL_PC, mapit->next(iter))) {
+ if (sd->npc_timer_id != INVALID_TIMER) {
const struct TimerData *td = timer->get(sd->npc_timer_id);
- if( td && td->id != nd->bl.id )
+ if (td != NULL && td->id != nd->bl.id)
continue;
- if( td && td->data )
+ if (td != NULL && td->data != 0)
ers_free(npc->timer_event_ers, (void*)td->data);
+
timer->delete(sd->npc_timer_id, npc->timerevent);
sd->npc_timer_id = INVALID_TIMER;
}
}
+
mapit->free(iter);
if (nd->u.scr.timerid != INVALID_TIMER) {
- const struct TimerData *td;
- td = timer->get(nd->u.scr.timerid);
- if (td && td->data)
+ const struct TimerData *td = timer->get(nd->u.scr.timerid);
+
+ if (td != NULL && td->data != 0)
ers_free(npc->timer_event_ers, (void*)td->data);
+
timer->delete(nd->u.scr.timerid, npc->timerevent);
}
- if (nd->u.scr.timer_event)
+
+ if (nd->u.scr.timer_event != NULL)
aFree(nd->u.scr.timer_event);
+
if (nd->src_id == 0) {
- if(nd->u.scr.script) {
+ if (nd->u.scr.script != NULL) {
script->free_code(nd->u.scr.script);
nd->u.scr.script = NULL;
}
- if (nd->u.scr.label_list) {
+
+ if (nd->u.scr.label_list != NULL) {
aFree(nd->u.scr.label_list);
nd->u.scr.label_list = NULL;
nd->u.scr.label_list_num = 0;
}
- if(nd->u.scr.shop) {
- if(nd->u.scr.shop->item)
+
+ if (nd->u.scr.shop != NULL) {
+ if (nd->u.scr.shop->item != NULL) {
+ for (int i = 0; i < nd->u.scr.shop->items; i ++) {
+ if (nd->u.scr.shop->item[i].currency != NULL)
+ aFree(nd->u.scr.shop->item[i].currency);
+ }
aFree(nd->u.scr.shop->item);
+ }
+
aFree(nd->u.scr.shop);
}
}
- if( nd->u.scr.guild_id )
+
+ if (nd->u.scr.guild_id > 0)
guild->flag_remove(nd);
}
- if( nd->ud && nd->ud != &npc->base_ud ) {
+ if (nd->ud != NULL && nd->ud != &npc->base_ud) {
aFree(nd->ud);
nd->ud = NULL;
}
- HPM->data_store_destroy(&nd->hdata);
+ if (unload_mobs)
+ map->foreachmob(npc->unload_mob, nd->bl.id);
+ HPM->data_store_destroy(&nd->hdata);
aFree(nd);
-
return 0;
}
@@ -2961,7 +3392,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, int class_)
+static struct npc_data *npc_create_npc(enum npc_subtype subtype, int m, int x, int y, enum unit_dir dir, int class_)
{
struct npc_data *nd;
@@ -2978,6 +3409,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;
}
@@ -3911,7 +4343,7 @@ 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.
@@ -4082,18 +4514,23 @@ static const char *npc_parse_function(const char *w1, const char *w2, const char
return end;
}
-/*==========================================
- * Parse Mob 1 - Parse mob list into each map
- * Parse Mob 2 - Actually Spawns Mob
- * [Wizputer]
- *------------------------------------------*/
+/**
+ * Spawns a mob by using the passed spawn data. (Permanent mob spawns.)
+ * npc_parse_mob() - Parses mob list into each map.
+ * npc_parse_mob2() - Actually spawns mob.
+ *
+ * @param mobspawn The mobs spawn data.
+ *
+ * @author Wizputer
+ *
+ **/
static void npc_parse_mob2(struct spawn_data *mobspawn)
{
- int i;
-
nullpo_retv(mobspawn);
- for( i = mobspawn->active; i < mobspawn->num; ++i ) {
- struct mob_data* md = mob->spawn_dataset(mobspawn);
+
+ for (int i = mobspawn->active; i < mobspawn->num; ++i) {
+ struct mob_data *md = mob->spawn_dataset(mobspawn, 0);
+
md->spawn = mobspawn;
md->spawn->active++;
mob->spawn(md);
@@ -4365,8 +4802,7 @@ static const char *npc_parse_mapflag(const char *w1, const char *w2, const char
if (!strcmpi(w3, "nosave")) {
char savemap[32];
int savex, savey;
- if (state == 0)
- ; //Map flag disabled.
+ if (state == 0); //Map flag disabled.
else if (w4 && !strcmpi(w4, "SavePoint")) {
map->list[m].save.map = 0;
map->list[m].save.x = -1;
@@ -4659,7 +5095,8 @@ static const char *npc_parse_mapflag(const char *w1, const char *w2, const char
}
}
- if( modifier[0] == '\0' ) {
+ if (state == 0); //Map flag disabled.
+ else if (modifier[0] == '\0') {
ShowWarning("npc_parse_mapflag: Missing 5th param for 'adjust_unit_duration' flag! removing flag from %s in file '%s', line '%d'.\n", map->list[m].name, filepath, strline(buffer,start-buffer));
if (retval) *retval = EXIT_FAILURE;
} else if( !( skill_id = skill->name2id(skill_name) ) || !skill->get_unit_id( skill->name2id(skill_name), 0) ) {
@@ -4718,7 +5155,8 @@ static const char *npc_parse_mapflag(const char *w1, const char *w2, const char
}
}
- if( modifier[0] == '\0' ) {
+ if (state == 0); //Map flag disabled.
+ else if (modifier[0] == '\0') {
ShowWarning("npc_parse_mapflag: Missing 5th param for 'adjust_skill_damage' flag! removing flag from %s in file '%s', line '%d'.\n", map->list[m].name, filepath, strline(buffer,start-buffer));
if (retval) *retval = EXIT_FAILURE;
} else if( !( skill_id = skill->name2id(skill_name) ) ) {
@@ -4794,6 +5232,10 @@ static const char *npc_parse_mapflag(const char *w1, const char *w2, const char
map->list[m].flag.pairship_startable = (state) ? 1 : 0;
} else if (!strcmpi(w3, "pairship_endable")) {
map->list[m].flag.pairship_endable = (state) ? 1 : 0;
+ } else if (!strcmpi(w3, "nostorage")) {
+ map->list[m].flag.nostorage = (state) ? cap_value(atoi(w4), 1, 3) : 0;
+ } else if (!strcmpi(w3, "nogstorage")) {
+ map->list[m].flag.nogstorage = (state) ? cap_value(atoi(w4), 1, 3) : 0;
} else {
npc->parse_unknown_mapflag(mapname, w3, w4, start, buffer, filepath, retval);
}
@@ -5145,128 +5587,143 @@ static void npc_process_files(int npc_min)
npc->npc_id - npc_min, npc->npc_warp, npc->npc_shop, npc->npc_script, npc->npc_mob, npc->npc_cache_mob, npc->npc_delay_mob);
}
-//Clear then reload npcs files
+/**
+ * Clears and then reloads all NPC files.
+ *
+ * @return Always 0.
+ *
+ **/
static int npc_reload(void)
{
- int npc_new_min = npc->npc_id;
- struct s_mapiterator* iter;
- struct block_list* bl;
-
- if (map->retval == EXIT_FAILURE)
- map->retval = EXIT_SUCCESS; // Clear return status in case something failed before.
-
- /* clear guild flag cache */
- guild->flags_clear();
+ if (map->retval == EXIT_FAILURE) /// Clear return status in case something failed before.
+ map->retval = EXIT_SUCCESS;
+ guild->flags_clear(); /// Clear guild flag cache.
npc->path_db->clear(npc->path_db, npc->path_db_clear_sub);
-
db_clear(npc->name_db);
db_clear(npc->ev_db);
npc->ev_label_db->clear(npc->ev_label_db, npc->ev_label_db_clear_sub);
-
npc->npc_last_npd = NULL;
npc->npc_last_path = NULL;
npc->npc_last_ref = NULL;
+
+ const int npc_new_min = npc->npc_id;
+ struct s_mapiterator *iter = mapit_geteachiddb();
- //Remove all npcs/mobs. [Skotlex]
- iter = mapit_geteachiddb();
- for (bl = mapit->first(iter); mapit->exists(iter); bl = mapit->next(iter)) {
- switch(bl->type) {
- case BL_NPC:
- if( bl->id != npc->fake_nd->bl.id )// don't remove fake_nd
- npc->unload(BL_UCAST(BL_NPC, bl), false);
- break;
- case BL_MOB:
- unit->free(bl,CLR_OUTSIGHT);
- break;
+ /** Remove all NPCs/mobs. [Skotlex] **/
+ for (struct block_list *bl = mapit->first(iter); mapit->exists(iter); bl = mapit->next(iter)) {
+ switch (bl->type) {
+ case BL_NPC:
+ if (bl->id != npc->fake_nd->bl.id) /// Don't remove fake_nd.
+ npc->unload(BL_UCAST(BL_NPC, bl), false, false);
+
+ break;
+ case BL_MOB:
+ unit->free(bl, CLR_OUTSIGHT);
+ break;
+ default:
+ break;
}
}
+
mapit->free(iter);
- if(battle_config.dynamic_mobs) {// dynamic check by [random]
- int16 m;
- for (m = 0; m < map->count; m++) {
- int16 i;
- for (i = 0; i < MAX_MOB_LIST_PER_MAP; i++) {
+ if (battle_config.dynamic_mobs) { /// Dynamic check. [random]
+ for (int m = 0; m < map->count; m++) {
+ for (int i = 0; i < MAX_MOB_LIST_PER_MAP; i++) {
if (map->list[m].moblist[i] != NULL) {
aFree(map->list[m].moblist[i]);
map->list[m].moblist[i] = NULL;
}
- if( map->list[m].mob_delete_timer != INVALID_TIMER )
- { // Mobs were removed anyway,so delete the timer [Inkfish]
+
+ if (map->list[m].mob_delete_timer != INVALID_TIMER) { /// Mobs were removed anyway, so delete the timer. [Inkfish]
timer->delete(map->list[m].mob_delete_timer, map->removemobs_timer);
map->list[m].mob_delete_timer = INVALID_TIMER;
}
}
+
if (map->list[m].npc_num > 0)
- ShowWarning("npc_reload: %d npcs weren't removed at map %s!\n", map->list[m].npc_num, map->list[m].name);
+ ShowWarning("npc_reload: %d NPCs weren't removed from map %s!\n",
+ map->list[m].npc_num, map->list[m].name);
}
}
- // clear mob spawn lookup index
mob->clear_spawninfo();
-
- npc->npc_warp = npc->npc_shop = npc->npc_script = 0;
- npc->npc_mob = npc->npc_cache_mob = npc->npc_delay_mob = 0;
-
- // reset mapflags
+ npc->npc_warp = 0;
+ npc->npc_shop = 0;
+ npc->npc_script = 0;
+ npc->npc_mob = 0;
+ npc->npc_cache_mob = 0;
+ npc->npc_delay_mob = 0;
map->zone_reload();
map->flags_init();
-
- // Reprocess npc files and reload constants
itemdb->name_constants();
clan->set_constants();
- npc_process_files( npc_new_min );
-
+ npc_process_files(npc_new_min);
instance->reload();
-
map->zone_init();
-
- npc->motd = npc->name2id("HerculesMOTD"); /* [Ind/Hercules] */
-
- //Re-read the NPC Script Events cache.
+ npc->motd = npc->name2id("HerculesMOTD"); /// [Ind/Hercules]
npc->read_event_script();
- // Execute main initialisation events
- // The correct initialisation order is:
- // OnInit -> OnInterIfInit -> OnInterIfInitOnce -> OnAgitInit -> OnAgitInit2
- npc->event_do_oninit( true );
+ /**
+ * Execute main initialization events
+ * The correct initialization order is:
+ * 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() ) {
- ShowStatus("Event '"CL_WHITE"OnInterIfInit"CL_RESET"' executed with '"CL_WHITE"%d"CL_RESET"' NPCs.\n", npc->event_doall("OnInterIfInit"));
- ShowStatus("Event '"CL_WHITE"OnInterIfInitOnce"CL_RESET"' executed with '"CL_WHITE"%d"CL_RESET"' NPCs.\n", npc->event_doall("OnInterIfInitOnce"));
- }
- // Refresh guild castle flags on both woe setups
- // These events are only executed after receiving castle information from char-server
+ npc->expanded_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() == 0) {
+ ShowStatus("Event '"CL_WHITE"OnInterIfInit"CL_RESET"' executed with '"CL_WHITE"%d"CL_RESET"' NPCs.\n",
+ npc->event_doall("OnInterIfInit"));
+ ShowStatus("Event '"CL_WHITE"OnInterIfInitOnce"CL_RESET"' executed with '"CL_WHITE"%d"CL_RESET"' NPCs.\n",
+ npc->event_doall("OnInterIfInitOnce"));
+ }
+
+ /*
+ * Refresh guild castle flags on both WoE setups.
+ * These events are only executed after receiving castle information from char-server.
+ */
npc->event_doall("OnAgitInit");
npc->event_doall("OnAgitInit2");
return 0;
}
-//Unload all npc in the given file
-static bool npc_unloadfile(const char *filepath)
+/**
+ * Unloads all NPCs in the given file.
+ *
+ * @param filepath Path to the file which should be unloaded.
+ * @param unload_mobs If true, mobs spawned by NPCs in the file will be removed.
+ * @return true if at least one NPC was unloaded, otherwise false.
+ *
+ **/
+static bool npc_unloadfile(const char *filepath, bool unload_mobs)
{
+ nullpo_retr(false, filepath);
+
struct DBIterator *iter = db_iterator(npc->name_db);
- struct npc_data* nd = NULL;
bool found = false;
- nullpo_retr(false, filepath);
-
- for( nd = dbi_first(iter); dbi_exists(iter); nd = dbi_next(iter) ) {
- if( nd->path && strcasecmp(nd->path,filepath) == 0 ) { // FIXME: This can break in case-sensitive file systems
+ for (struct npc_data *nd = dbi_first(iter); dbi_exists(iter); nd = dbi_next(iter)) {
+ if (nd->path != NULL && strcasecmp(nd->path, filepath) == 0) { // FIXME: This can break in case-sensitive file systems.
found = true;
- npc->unload_duplicates(nd);/* unload any npcs which could duplicate this but be in a different file */
- npc->unload(nd, true);
+ npc->unload_duplicates(nd, unload_mobs); /// Unload any NPC which could duplicate this but be in a different file.
+ npc->unload(nd, true, unload_mobs);
}
}
dbi_destroy(iter);
- if( found ) /* refresh event cache */
+ if (found) /// Refresh event cache.
npc->read_event_script();
return found;
@@ -5331,6 +5788,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
*------------------------------------------*/
@@ -5487,6 +5956,7 @@ void npc_defaults(void)
npc->unload_ev_label = npc_unload_ev_label;
npc->unload_dup_sub = npc_unload_dup_sub;
npc->unload_duplicates = npc_unload_duplicates;
+ npc->unload_mob = npc_unload_mob;
npc->unload = npc_unload;
npc->clearsrcfile = npc_clearsrcfile;
npc->addsrcfile = npc_addsrcfile;
@@ -5540,6 +6010,7 @@ void npc_defaults(void)
npc->trader_update = npc_trader_update;
npc->market_buylist = npc_market_buylist;
npc->barter_buylist = npc_barter_buylist;
+ npc->expanded_barter_buylist = npc_expanded_barter_buylist;
npc->trader_open = npc_trader_open;
npc->market_fromsql = npc_market_fromsql;
npc->market_tosql = npc_market_tosql;
@@ -5549,6 +6020,11 @@ void npc_defaults(void)
npc->barter_tosql = npc_barter_tosql;
npc->barter_delfromsql = npc_barter_delfromsql;
npc->barter_delfromsql_sub = npc_barter_delfromsql_sub;
+ npc->expanded_barter_fromsql = npc_expanded_barter_fromsql;
+ npc->expanded_barter_tosql = npc_expanded_barter_tosql;
+ npc->expanded_barter_delfromsql = npc_expanded_barter_delfromsql;
+ npc->expanded_barter_delfromsql_sub = npc_expanded_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 0eb8befd1..1585a2bc8 100644
--- a/src/map/npc.h
+++ b/src/map/npc.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -34,6 +34,8 @@ struct hplugin_data_store;
struct itemlist; // map/itemdb.h
struct view_data;
+enum market_buy_result;
+
enum npc_parse_options {
NPO_NONE = 0x0,
NPO_ONINIT = 0x1,
@@ -46,6 +48,7 @@ enum npc_shop_types {
NST_MARKET, /* official npc market type */
NST_CUSTOM,
NST_BARTER, /* official npc barter type */
+ NST_EXPANDED_BARTER, /* official npc expanded barter type */
/* */
NST_MAX,
};
@@ -58,17 +61,25 @@ struct npc_label_list {
int pos;
};
+struct npc_barter_currency {
+ int nameid;
+ int refine;
+ int amount;
+};
+
struct npc_item_list {
int nameid;
unsigned int value; // price or barter currency item id
- int value2; // barter currency item amount
- unsigned int qty;
+ int value2; // barter currency item amount / expanded barter currency size
+ int qty;
+ struct npc_barter_currency *currency;
};
struct npc_shop_data {
unsigned char type;/* what am i */
struct npc_item_list *item;/* list */
unsigned int items;/* total */
+ int shop_last_index; // only for NST_EXPANDED_BARTER
};
struct npc_parse;
struct npc_data {
@@ -84,7 +95,7 @@ struct npc_data {
int chat_id;
int touching_id;
int64 next_walktime;
- uint8 dir;
+ enum unit_dir dir;
uint8 area_size;
int clan_id;
@@ -129,6 +140,7 @@ struct npc_data {
int spawn_timer;
} tomb;
} u;
+ VECTOR_DECL(struct questinfo) qi_data;
struct hplugin_data_store *hdata; ///< HPM Plugin Data Store
};
@@ -148,7 +160,7 @@ enum actor_classes {
#define MAX_NPC_CLASS 1000
// New NPC range
#define MAX_NPC_CLASS2_START 10001
-#define MAX_NPC_CLASS2_END 10310
+#define MAX_NPC_CLASS2_END 10344
//Script NPC events.
enum npce_event {
@@ -258,8 +270,9 @@ struct npc_interface {
int (*unload_ev) (union DBKey key, struct DBData *data, va_list ap);
int (*unload_ev_label) (union DBKey key, struct DBData *data, va_list ap);
int (*unload_dup_sub) (struct npc_data *nd, va_list args);
- void (*unload_duplicates) (struct npc_data *nd);
- int (*unload) (struct npc_data *nd, bool single);
+ void (*unload_duplicates) (struct npc_data *nd, bool unload_mobs);
+ int (*unload_mob) (struct mob_data *md, va_list args);
+ int (*unload) (struct npc_data *nd, bool single, bool unload_mobs);
void (*clearsrcfile) (void);
void (*addsrcfile) (const char *name);
void (*delsrcfile) (const char *name);
@@ -268,7 +281,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, int class_);
+ struct npc_data *(*create_npc) (enum npc_subtype subtype, int m, int x, int y, enum unit_dir 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);
@@ -301,7 +314,7 @@ struct npc_interface {
int (*path_db_clear_sub) (union DBKey key, struct DBData *data, va_list args);
int (*ev_label_db_clear_sub) (union DBKey key, struct DBData *data, va_list args);
int (*reload) (void);
- bool (*unloadfile) (const char *filepath);
+ bool (*unloadfile) (const char *filepath, bool unload_mobs);
void (*do_clear_npc) (void);
void (*debug_warps_sub) (struct npc_data *nd);
void (*debug_warps) (void);
@@ -309,8 +322,9 @@ struct npc_interface {
void (*trader_count_funds) (struct npc_data *nd, struct map_session_data *sd);
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);
+ enum market_buy_result (*market_buylist) (struct map_session_data *sd, struct itemlist *item_list);
int (*barter_buylist) (struct map_session_data *sd, struct barteritemlist *item_list);
+ int (*expanded_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, int index);
@@ -320,8 +334,13 @@ struct npc_interface {
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);
+ void (*expanded_barter_fromsql) (void);
+ void (*expanded_barter_tosql) (struct npc_data *nd, int index);
+ void (*expanded_barter_delfromsql) (struct npc_data *nd, int index);
+ void (*expanded_barter_delfromsql_sub) (const char *npcname, int itemId, int zeny, int currencyCount, struct npc_barter_currency* currency);
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/npc_chat.c b/src/map/npc_chat.c
index 92393122e..0ca84cff4 100644
--- a/src/map/npc_chat.c
+++ b/src/map/npc_chat.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/packets.h b/src/map/packets.h
index 50784f09a..1e6dc71bc 100644
--- a/src/map/packets.h
+++ b/src/map/packets.h
@@ -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-2020 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
@@ -589,7 +589,6 @@ packet(0x96e,clif->ackmergeitems);
#if PACKETVER >= 20070227
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);
@@ -599,6 +598,10 @@ packet(0x96e,clif->ackmergeitems);
packet(0x02db,clif->pBattleChat,2,4);
#endif
+#if PACKETVER_MAIN_NUM >= 20070618 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) || PACKETVER_AD_NUM >= 20070618 || PACKETVER_SAK_NUM >= 20070618
+ packet(0x02ba,clif->pHotkey1);
+#endif
+
//2008-01-02aSakexe
#if PACKETVER >= 20080102
packet(0x01df,clif->pGMReqAccountName,2);
@@ -723,6 +726,11 @@ packet(0x96e,clif->ackmergeitems);
packet(0x0843,clif->pGMRemove2,2);
#endif
+// all versions
+#if PACKETVER >= 20100824
+ packet(0x0844,clif->pCashShopOpen1);
+#endif
+
//2010-11-24aRagexeRE
#if PACKETVER >= 20101124
packet(0x0288,clif->pcashshop_buy,4,8);
@@ -773,7 +781,6 @@ packet(0x96e,clif->ackmergeitems);
//2011-07-18aRagexe (Thanks to Yommy!)
#if PACKETVER >= 20110718
// shuffle packets not added
- 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);
@@ -1664,10 +1671,8 @@ packet(0x96e,clif->ackmergeitems);
// changed packet sizes
#endif
-// 2014-01-29bRagexeRE
-#if PACKETVER >= 20140129
-// new packets
- packet(0x0a01,clif->pHotkeyRowShift,2); // CZ_SHORTCUTKEYBAR_ROTATE
+#if PACKETVER_MAIN_NUM >= 20140129 || PACKETVER_RE_NUM >= 20140129 || defined(PACKETVER_ZERO)
+ packet(0x0a01,clif->pHotkeyRowShift1); // CZ_SHORTCUTKEYBAR_ROTATE
#endif
// 2014-02-12aRagexeRE
@@ -1777,8 +1782,10 @@ packet(0x96e,clif->ackmergeitems);
#if PACKETVER >= 20151104
// new packets
packet(0x0a46,clif->pReqStyleChange);
+ packet(0x0a48,clif->pStyleClose);
#endif
+
// 2016-03-23aRagexeRE
#if PACKETVER >= 20160323
// new packets
@@ -1793,11 +1800,30 @@ packet(0x96e,clif->ackmergeitems);
// changed packet sizes
#endif
+#if PACKETVER >= 20160302
+ packet(0x0a4f,clif->plapineDdukDdak_ack);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20160504 || PACKETVER_RE_NUM >= 20160504 || defined(PACKETVER_ZERO)
+ packet(0x0a70,clif->plapineDdukDdak_close);
+#endif
+
// all 2016-05-25
#if PACKETVER >= 20160525
packet(0x0a77,clif->pCameraInfo); // CZ_CAMERA_INFO
#endif
+// all 20160622+
+#if PACKETVER >= 20160622
+ packet(0x0a88,clif->pResetCooldown);
+#endif
+
+#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
@@ -1931,4 +1957,39 @@ packet(0x96e,clif->ackmergeitems);
packet(0x0b12,clif->pNPCBarterClosed);
#endif
+#if PACKETVER_MAIN_NUM >= 20190227 || PACKETVER_RE_NUM >= 20190220 || PACKETVER_ZERO_NUM >= 20190220
+ packet(0x0b1c,clif->pPing);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+ packet(0x0b21,clif->pHotkey2);
+ packet(0x0b22,clif->pHotkeyRowShift2); // CZ_SHORTCUTKEYBAR_ROTATE
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190522 || PACKETVER_ZERO_NUM >= 20190515
+ packet(0x0b28,clif->pGuildCastleTeleportRequest);
+ packet(0x0b2c,clif->pGuildCastleInfoRequest);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190703 || PACKETVER_RE_NUM >= 20190703
+ packet(0x0b35,clif->pReqGearOff);
+#endif
+
+#if PACKETVER_ZERO_NUM >= 20190709
+ packet(0x0b35,clif->pReqGearOff);
+#endif
+
+#if PACKETVER >= 20190724
+ packet(0x0b4c,clif->pCashShopLimitedReq);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190904 || PACKETVER_RE_NUM >= 20190904 || PACKETVER_ZERO_NUM >= 20190828
+ packet(0x0b57,clif->pNPCExpandedBarterPurchase);
+ packet(0x0b58,clif->pNPCExpandedBarterClosed);
+#endif
+
+#if PACKETVER >= 20191224
+ packet(0x0b6d,clif->pCashShopOpen2);
+#endif
+
#endif /* MAP_PACKETS_H */
diff --git a/src/map/packets_keys_main.h b/src/map/packets_keys_main.h
index 017e1d45a..e3a89827c 100644
--- a/src/map/packets_keys_main.h
+++ b/src/map/packets_keys_main.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -37,7 +37,7 @@
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
+// 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, 2019-05-08cRagexe, 2019-05-08dRagexeRE, 2019-05-08eRagexeRE, 2019-05-22bRagexe, 2019-05-22bRagexeRE, 2019-05-22cRagexe, 2019-05-22cRagexeRE, 2019-05-23aRagexe, 2019-05-29aRagexe, 2019-05-29bRagexeRE, 2019-05-29cRagexe, 2019-05-29cRagexeRE, 2019-05-30aRagexe, 2019-05-30aRagexeRE, 2019-06-05JRagexeRE, 2019-06-05KRagexe, 2019-06-05LRagexeRE, 2019-06-05fRagexe, 2019-06-05hRagexeRE, 2019-06-19bRagexe, 2019-06-19cRagexeRE, 2019-06-19eRagexe, 2019-06-19hRagexe, 2019-06-26bRagexeRE, 2019-07-03aRagexe, 2019-07-03bRagexeRE, 2019-07-17aRagexe, 2019-07-17cRagexeRE, 2019-07-17dRagexe, 2019-07-17dRagexeRE, 2019-07-24aRagexe, 2019-07-24bRagexeRE, 2019-07-31bRagexe, 2019-07-31bRagexeRE, 2019-08-02aRagexe, 2019-08-02aRagexeRE, 2019-08-07aRagexe, 2019-08-07dRagexeRE, 2019-08-21aRagexe, 2019-08-21cRagexeRE, 2019-08-21dRagexeRE, 2019-08-28aRagexe, 2019-08-28aRagexeRE, 2019-09-04aRagexe, 2019-09-04bRagexe, 2019-09-04bRagexeRE, 2019-09-18bRagexe, 2019-09-18cRagexeRE, 2019-09-25aRagexe, 2019-09-25aRagexeRE, 2019-09-25bRagexe, 2019-09-25bRagexeRE, 2019-10-02bRagexeRE, 2019-10-02cRagexe, 2019-10-02dRagexe, 2019-10-02dRagexeRE, 2019-10-02dRagexeRE_2, 2019-10-16fRagexe, 2019-10-16fRagexeRE, 2019-10-16gRagexe, 2019-10-16gRagexeRE, 2019-10-18aRagexe, 2019-10-23aRagexe, 2019-10-23aRagexeRE, 2019-10-30bRagexeRE, 2019-10-30cRagexe, 2019-11-06aRagexe, 2019-11-06bRagexeRE, 2019-11-07aRagexe, 2019-11-07aRagexeRE, 2019-11-13cRagexe, 2019-11-13eRagexe, 2019-11-13eRagexeRE, 2019-11-20aRagexe, 2019-11-20cRagexeRE, 2019-11-20dRagexe, 2019-11-27aRagexe, 2019-11-27aRagexeRE, 2019-11-27bRagexe, 2019-12-04aRagexe, 2019-12-04aRagexeRE, 2019-12-04bRagexe, 2019-12-04bRagexeRE, 2019-12-04cRagexeRE, 2019-12-11aRagexe, 2019-12-11fRagexeRE, 2019-12-18bRagexe, 2019-12-18bRagexeRE, 2019-12-24aRagexe, 2019-12-24aRagexeRE, 2019-12-24bRagexe, 2019-12-24bRagexeRE, 2020-01-08aRagexe, 2020-01-08bRagexeRE, 2020-01-22cRagexe, 2020-01-22cRagexeRE, 2020-01-29bRagexe, 2020-01-30aRagexe, 2020-02-05aRagexe, 2020-02-05aRagexeRE, 2020-02-06aRagexe, 2020-02-12aRagexe, 2020-02-12aRagexeRE, 2020-02-19dRagexe, 2020-02-19eRagexeRE, 2020-03-04aRagexe, 2020-03-04aRagexeRE, 2020-03-18bRagexe, 2020-04-01bRagexe
#if PACKETVER == 20101123 || \
PACKETVER == 20101124 || \
PACKETVER == 20101125 || \
@@ -135,7 +135,63 @@
PACKETVER == 20181226 || \
PACKETVER == 20190109 || \
PACKETVER == 20190116 || \
- PACKETVER >= 20190123
+ 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 || \
+ PACKETVER == 20190508 || \
+ PACKETVER == 20190522 || \
+ PACKETVER == 20190523 || \
+ PACKETVER == 20190529 || \
+ PACKETVER == 20190530 || \
+ PACKETVER == 20190605 || \
+ PACKETVER == 20190619 || \
+ PACKETVER == 20190626 || \
+ PACKETVER == 20190703 || \
+ PACKETVER == 20190717 || \
+ PACKETVER == 20190724 || \
+ PACKETVER == 20190731 || \
+ PACKETVER == 20190802 || \
+ PACKETVER == 20190807 || \
+ PACKETVER == 20190821 || \
+ PACKETVER == 20190828 || \
+ PACKETVER == 20190904 || \
+ PACKETVER == 20190918 || \
+ PACKETVER == 20190925 || \
+ PACKETVER == 20191002 || \
+ PACKETVER == 20191016 || \
+ PACKETVER == 20191018 || \
+ PACKETVER == 20191023 || \
+ PACKETVER == 20191030 || \
+ PACKETVER == 20191106 || \
+ PACKETVER == 20191107 || \
+ PACKETVER == 20191113 || \
+ PACKETVER == 20191120 || \
+ PACKETVER == 20191127 || \
+ PACKETVER == 20191204 || \
+ PACKETVER == 20191211 || \
+ PACKETVER == 20191218 || \
+ PACKETVER == 20191224 || \
+ PACKETVER == 20200108 || \
+ PACKETVER == 20200122 || \
+ PACKETVER == 20200129 || \
+ PACKETVER == 20200130 || \
+ PACKETVER == 20200205 || \
+ PACKETVER == 20200206 || \
+ PACKETVER == 20200212 || \
+ PACKETVER == 20200219 || \
+ PACKETVER == 20200304 || \
+ PACKETVER == 20200318 || \
+ PACKETVER >= 20200401
packetKeys(0x00000000,0x00000000,0x00000000);
#endif
diff --git a/src/map/packets_keys_zero.h b/src/map/packets_keys_zero.h
index 10b52ae5b..f189032d3 100644
--- a/src/map/packets_keys_zero.h
+++ b/src/map/packets_keys_zero.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -30,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, 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
+// 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, 2019-05-08_2aRagexe_zero, 2019-05-08aRagexe_zero, 2019-05-15aRagexe_zero, 2019-05-29aRagexe_zero, 2019-05-30aRagexe_zero, 2019-06-05_2aRagexe_zero, 2019-06-26_2aRagexe_zero, 2019-06-26_3aRagexe_zero, 2019-07-09aRagexe_zero, 2019-07-10_3aRagexe_zero, 2019-07-17aRagexe_zero, 2019-07-24aRagexe_zero, 2019-08-14_3aRagexe_zero, 2019-08-28_2aRagexe_zero, 2019-08-28_3aRagexe_zero, 2019-09-11aRagexe_zero, 2019-09-18_2aRagexe_zero, 2019-09-18aRagexe_zero, 2019-09-25_3aRagexe_zero, 2019-09-25_5aRagexe_zero, 2019-10-08_2aRagexe_zero, 2019-10-23_2aRagexe_zero, 2019-11-06aRagexe_zero, 2019-11-13aRagexe_zero, 2019-11-27_2aRagexe_zero, 2019-11-27aRagexe_zero, 2019-12-04aRagexe_zero, 2019-12-11_2aRagexe_zero, 2019-12-24_4aRagexe_zero, 2019-12-24_5aRagexe_zero, 2020-01-15_2aRagexe_zero, 2020-01-15aRagexe_zero, 2020-01-29_2aRagexe_zero, 2020-01-29aRagexe_zero, 2020-02-12aRagexe_zero, 2020-02-26aRagexe_zero, 2020-02-26bRagexe_zero, 2020-03-04aRagexe_zero, 2020-03-18_2aRagexe_zero, 2020-04-01_2aRagexe_zero
#if PACKETVER == 20171018 || \
PACKETVER == 20171019 || \
PACKETVER == 20171023 || \
@@ -71,7 +71,46 @@
PACKETVER == 20181226 || \
PACKETVER == 20190116 || \
PACKETVER == 20190117 || \
- PACKETVER >= 20190130
+ PACKETVER == 20190130 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190410 || \
+ PACKETVER == 20190424 || \
+ PACKETVER == 20190502 || \
+ PACKETVER == 20190508 || \
+ PACKETVER == 20190515 || \
+ PACKETVER == 20190529 || \
+ PACKETVER == 20190530 || \
+ PACKETVER == 20190605 || \
+ PACKETVER == 20190626 || \
+ PACKETVER == 20190709 || \
+ PACKETVER == 20190710 || \
+ PACKETVER == 20190717 || \
+ PACKETVER == 20190724 || \
+ PACKETVER == 20190814 || \
+ PACKETVER == 20190828 || \
+ PACKETVER == 20190911 || \
+ PACKETVER == 20190918 || \
+ PACKETVER == 20190925 || \
+ PACKETVER == 20191008 || \
+ PACKETVER == 20191023 || \
+ PACKETVER == 20191106 || \
+ PACKETVER == 20191113 || \
+ PACKETVER == 20191127 || \
+ PACKETVER == 20191204 || \
+ PACKETVER == 20191211 || \
+ PACKETVER == 20191224 || \
+ PACKETVER == 20200115 || \
+ PACKETVER == 20200129 || \
+ PACKETVER == 20200212 || \
+ PACKETVER == 20200226 || \
+ PACKETVER == 20200304 || \
+ PACKETVER == 20200318 || \
+ PACKETVER >= 20200401
packetKeys(0x00000000,0x00000000,0x00000000);
#endif
diff --git a/src/map/packets_shuffle_main.h b/src/map/packets_shuffle_main.h
index eb6870da0..beedc950f 100644
--- a/src/map/packets_shuffle_main.h
+++ b/src/map/packets_shuffle_main.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -9727,7 +9727,7 @@
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
+// 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, 2019-05-08cRagexe, 2019-05-22bRagexe, 2019-05-22cRagexe, 2019-05-23aRagexe, 2019-05-29aRagexe, 2019-05-29cRagexe, 2019-05-30aRagexe, 2019-06-05fRagexe, 2019-06-05KRagexe, 2019-06-19bRagexe, 2019-06-19eRagexe, 2019-06-19hRagexe, 2019-07-03aRagexe, 2019-07-17aRagexe, 2019-07-17dRagexe, 2019-07-24aRagexe, 2019-07-31bRagexe, 2019-08-02aRagexe, 2019-08-07aRagexe, 2019-08-21aRagexe, 2019-08-28aRagexe
#if PACKETVER == 20181121 || \
PACKETVER == 20181128 || \
PACKETVER == 20181205 || \
@@ -9736,7 +9736,33 @@
PACKETVER == 20181226 || \
PACKETVER == 20190109 || \
PACKETVER == 20190116 || \
- PACKETVER >= 20190123
+ PACKETVER == 20190123 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190228 || \
+ PACKETVER == 20190306 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190320 || \
+ PACKETVER == 20190322 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190417 || \
+ PACKETVER == 20190418 || \
+ PACKETVER == 20190508 || \
+ PACKETVER == 20190522 || \
+ PACKETVER == 20190523 || \
+ PACKETVER == 20190529 || \
+ PACKETVER == 20190530 || \
+ PACKETVER == 20190605 || \
+ PACKETVER == 20190619 || \
+ PACKETVER == 20190703 || \
+ PACKETVER == 20190717 || \
+ PACKETVER == 20190724 || \
+ PACKETVER == 20190731 || \
+ PACKETVER == 20190802 || \
+ PACKETVER == 20190807 || \
+ PACKETVER == 20190821 || \
+ PACKETVER >= 20190828
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
@@ -9768,5 +9794,65 @@
packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
#endif
+// 2019-09-04aRagexe, 2019-09-04bRagexe, 2019-09-18bRagexe, 2019-09-25aRagexe, 2019-09-25bRagexe, 2019-10-02cRagexe, 2019-10-02dRagexe, 2019-10-16fRagexe, 2019-10-16gRagexe, 2019-10-18aRagexe, 2019-10-23aRagexe, 2019-10-30cRagexe, 2019-11-06aRagexe, 2019-11-07aRagexe, 2019-11-13cRagexe, 2019-11-13eRagexe, 2019-11-20aRagexe, 2019-11-20dRagexe, 2019-11-27aRagexe, 2019-11-27bRagexe, 2019-12-04aRagexe, 2019-12-04bRagexe, 2019-12-11aRagexe, 2019-12-18bRagexe, 2019-12-24aRagexe, 2019-12-24bRagexe, 2020-01-08aRagexe, 2020-01-22cRagexe, 2020-01-29bRagexe, 2020-01-30aRagexe, 2020-02-05aRagexe, 2020-02-06aRagexe, 2020-02-12aRagexe, 2020-02-19dRagexe, 2020-03-04aRagexe, 2020-03-18bRagexe, 2020-04-01bRagexe
+#if PACKETVER == 20190904 || \
+ PACKETVER == 20190918 || \
+ PACKETVER == 20190925 || \
+ PACKETVER == 20191002 || \
+ PACKETVER == 20191016 || \
+ PACKETVER == 20191018 || \
+ PACKETVER == 20191023 || \
+ PACKETVER == 20191030 || \
+ PACKETVER == 20191106 || \
+ PACKETVER == 20191107 || \
+ PACKETVER == 20191113 || \
+ PACKETVER == 20191120 || \
+ PACKETVER == 20191127 || \
+ PACKETVER == 20191204 || \
+ PACKETVER == 20191211 || \
+ PACKETVER == 20191218 || \
+ PACKETVER == 20191224 || \
+ PACKETVER == 20200108 || \
+ PACKETVER == 20200122 || \
+ PACKETVER == 20200129 || \
+ PACKETVER == 20200130 || \
+ PACKETVER == 20200205 || \
+ PACKETVER == 20200206 || \
+ PACKETVER == 20200212 || \
+ PACKETVER == 20200219 || \
+ PACKETVER == 20200304 || \
+ PACKETVER == 20200318 || \
+ PACKETVER == 20200401
+ 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 // 31
+ 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
+
#endif /* MAP_PACKETS_SHUFFLE_MAIN_H */
diff --git a/src/map/packets_shuffle_re.h b/src/map/packets_shuffle_re.h
index 8d6131560..490d517fd 100644
--- a/src/map/packets_shuffle_re.h
+++ b/src/map/packets_shuffle_re.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -9663,7 +9663,7 @@
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
+// 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, 2019-05-08dRagexeRE, 2019-05-08eRagexeRE, 2019-05-22bRagexeRE, 2019-05-22cRagexeRE, 2019-05-29bRagexeRE, 2019-05-29cRagexeRE, 2019-05-30aRagexeRE, 2019-06-05hRagexeRE, 2019-06-05JRagexeRE, 2019-06-05LRagexeRE, 2019-06-19cRagexeRE, 2019-06-26bRagexeRE, 2019-07-03bRagexeRE, 2019-07-17cRagexeRE, 2019-07-17dRagexeRE, 2019-07-24bRagexeRE, 2019-07-31bRagexeRE, 2019-08-02aRagexeRE, 2019-08-07dRagexeRE, 2019-08-21cRagexeRE, 2019-08-21dRagexeRE, 2019-08-28aRagexeRE
#if PACKETVER == 20180704 || \
PACKETVER == 20180711 || \
PACKETVER == 20180718 || \
@@ -9686,7 +9686,33 @@
PACKETVER == 20181226 || \
PACKETVER == 20190109 || \
PACKETVER == 20190116 || \
- PACKETVER >= 20190123
+ PACKETVER == 20190123 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190228 || \
+ PACKETVER == 20190306 || \
+ PACKETVER == 20190320 || \
+ PACKETVER == 20190322 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190417 || \
+ PACKETVER == 20190418 || \
+ PACKETVER == 20190508 || \
+ PACKETVER == 20190522 || \
+ PACKETVER == 20190529 || \
+ PACKETVER == 20190530 || \
+ PACKETVER == 20190605 || \
+ PACKETVER == 20190619 || \
+ PACKETVER == 20190626 || \
+ PACKETVER == 20190703 || \
+ PACKETVER == 20190717 || \
+ PACKETVER == 20190724 || \
+ PACKETVER == 20190731 || \
+ PACKETVER == 20190802 || \
+ PACKETVER == 20190807 || \
+ PACKETVER == 20190821 || \
+ PACKETVER >= 20190828
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
@@ -9718,5 +9744,59 @@
packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
#endif
+// 2019-09-04bRagexeRE, 2019-09-18cRagexeRE, 2019-09-25aRagexeRE, 2019-09-25bRagexeRE, 2019-10-02bRagexeRE, 2019-10-02dRagexeRE, 2019-10-02dRagexeRE_2, 2019-10-16fRagexeRE, 2019-10-16gRagexeRE, 2019-10-23aRagexeRE, 2019-10-30bRagexeRE, 2019-11-06bRagexeRE, 2019-11-07aRagexeRE, 2019-11-13eRagexeRE, 2019-11-20cRagexeRE, 2019-11-27aRagexeRE, 2019-12-04aRagexeRE, 2019-12-04bRagexeRE, 2019-12-04cRagexeRE, 2019-12-11fRagexeRE, 2019-12-18bRagexeRE, 2019-12-24aRagexeRE, 2019-12-24bRagexeRE, 2020-01-08bRagexeRE, 2020-01-22cRagexeRE, 2020-02-05aRagexeRE, 2020-02-12aRagexeRE, 2020-02-19eRagexeRE, 2020-03-04aRagexeRE
+#if PACKETVER == 20190904 || \
+ PACKETVER == 20190918 || \
+ PACKETVER == 20190925 || \
+ PACKETVER == 20191002 || \
+ PACKETVER == 20191016 || \
+ PACKETVER == 20191023 || \
+ PACKETVER == 20191030 || \
+ PACKETVER == 20191106 || \
+ PACKETVER == 20191107 || \
+ PACKETVER == 20191113 || \
+ PACKETVER == 20191120 || \
+ PACKETVER == 20191127 || \
+ PACKETVER == 20191204 || \
+ PACKETVER == 20191211 || \
+ PACKETVER == 20191218 || \
+ PACKETVER == 20191224 || \
+ PACKETVER == 20200108 || \
+ PACKETVER == 20200122 || \
+ PACKETVER == 20200205 || \
+ PACKETVER == 20200212 || \
+ PACKETVER == 20200219 || \
+ PACKETVER == 20200304
+ 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 // 31
+ 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
+
#endif /* MAP_PACKETS_SHUFFLE_RE_H */
diff --git a/src/map/packets_shuffle_zero.h b/src/map/packets_shuffle_zero.h
index 4e1a78c3e..15936f854 100644
--- a/src/map/packets_shuffle_zero.h
+++ b/src/map/packets_shuffle_zero.h
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-2019 Hercules Dev Team
- * Copyright (C) 2018-2019 Andrei Karas (4144)
+ * Copyright (C) 2013-2020 Hercules Dev Team
+ * Copyright (C) 2018-2020 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
@@ -742,7 +742,7 @@
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
+// 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, 2019-05-08_2aRagexe_zero, 2019-05-08aRagexe_zero, 2019-05-15aRagexe_zero, 2019-05-29aRagexe_zero, 2019-05-30aRagexe_zero, 2019-06-05_2aRagexe_zero, 2019-06-26_2aRagexe_zero, 2019-06-26_3aRagexe_zero, 2019-07-09aRagexe_zero, 2019-07-10_3aRagexe_zero, 2019-07-17aRagexe_zero, 2019-07-24aRagexe_zero, 2019-08-14_3aRagexe_zero
#if PACKETVER == 20181114 || \
PACKETVER == 20181120 || \
PACKETVER == 20181128 || \
@@ -751,7 +751,27 @@
PACKETVER == 20181226 || \
PACKETVER == 20190116 || \
PACKETVER == 20190117 || \
- PACKETVER >= 20190130
+ PACKETVER == 20190130 || \
+ PACKETVER == 20190213 || \
+ PACKETVER == 20190220 || \
+ PACKETVER == 20190227 || \
+ PACKETVER == 20190313 || \
+ PACKETVER == 20190327 || \
+ PACKETVER == 20190403 || \
+ PACKETVER == 20190410 || \
+ PACKETVER == 20190424 || \
+ PACKETVER == 20190502 || \
+ PACKETVER == 20190508 || \
+ PACKETVER == 20190515 || \
+ PACKETVER == 20190529 || \
+ PACKETVER == 20190530 || \
+ PACKETVER == 20190605 || \
+ PACKETVER == 20190626 || \
+ PACKETVER == 20190709 || \
+ PACKETVER == 20190710 || \
+ PACKETVER == 20190717 || \
+ PACKETVER == 20190724 || \
+ PACKETVER >= 20190814
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
@@ -783,5 +803,56 @@
packet(0x083c,clif->pSearchStoreInfoListItemClick,2,6,10); // CZ_SSILIST_ITEM_CLICK // 14
#endif
+// 2019-08-28_2aRagexe_zero, 2019-08-28_3aRagexe_zero, 2019-09-11aRagexe_zero, 2019-09-18_2aRagexe_zero, 2019-09-18aRagexe_zero, 2019-09-25_3aRagexe_zero, 2019-09-25_5aRagexe_zero, 2019-10-08_2aRagexe_zero, 2019-10-23_2aRagexe_zero, 2019-11-06aRagexe_zero, 2019-11-13aRagexe_zero, 2019-11-27_2aRagexe_zero, 2019-11-27aRagexe_zero, 2019-12-04aRagexe_zero, 2019-12-11_2aRagexe_zero, 2019-12-24_4aRagexe_zero, 2019-12-24_5aRagexe_zero, 2020-01-15_2aRagexe_zero, 2020-01-15aRagexe_zero, 2020-01-29_2aRagexe_zero, 2020-01-29aRagexe_zero, 2020-02-12aRagexe_zero, 2020-02-26aRagexe_zero, 2020-02-26bRagexe_zero, 2020-03-04aRagexe_zero, 2020-03-18_2aRagexe_zero, 2020-04-01_2aRagexe_zero
+#if PACKETVER == 20190828 || \
+ PACKETVER == 20190911 || \
+ PACKETVER == 20190918 || \
+ PACKETVER == 20190925 || \
+ PACKETVER == 20191008 || \
+ PACKETVER == 20191023 || \
+ PACKETVER == 20191106 || \
+ PACKETVER == 20191113 || \
+ PACKETVER == 20191127 || \
+ PACKETVER == 20191204 || \
+ PACKETVER == 20191211 || \
+ PACKETVER == 20191224 || \
+ PACKETVER == 20200115 || \
+ PACKETVER == 20200129 || \
+ PACKETVER == 20200212 || \
+ PACKETVER == 20200226 || \
+ PACKETVER == 20200304 || \
+ PACKETVER == 20200318 || \
+ PACKETVER == 20200401
+ 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 // 31
+ 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
+
#endif /* MAP_PACKETS_SHUFFLE_ZERO_H */
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index 2339935ec..ca2fb8aef 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.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-2020 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
@@ -39,13 +39,6 @@ enum packet_headers {
banking_checkType = 0x9a6,
cart_additem_ackType = 0x12c,
sc_notickType = 0x196,
-#if PACKETVER >= 20141022
- hotkeyType = 0xa00,
-#elif PACKETVER >= 20090603
- hotkeyType = 0x7d9,
-#else
- hotkeyType = 0x2b9,
-#endif
#if PACKETVER >= 20150226
cartaddType = 0xa0b,
#elif PACKETVER >= 5
@@ -307,7 +300,6 @@ enum packet_headers {
notifybindonequip = 0x2d3,
monsterhpType = 0x977,
maptypeproperty2Type = 0x99b,
- npcmarketresultackType = 0x9d7,
#if PACKETVER >= 20131223 // version probably can be 20131030 [4144]
wisendType = 0x9df,
#else
@@ -418,11 +410,6 @@ enum packet_headers {
buyingStoreUpdateItemType = 0x81b,
#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
@@ -1196,7 +1183,8 @@ struct ZC_STORE_ITEMLIST_NORMAL {
struct NORMALITEM_INFO list[MAX_ITEMLIST];
} __attribute__((packed));
-struct ZC_INVENTORY_START {
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+struct PACKET_ZC_INVENTORY_START {
int16 packetType;
#if PACKETVER_RE_NUM >= 20180919 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
int16 packetLength;
@@ -1210,14 +1198,19 @@ struct ZC_INVENTORY_START {
char name[NAME_LENGTH];
#endif
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_INVENTORY_START, 0x0b08);
+#endif // PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
-struct ZC_INVENTORY_END {
+#if PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
+struct PACKET_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));
+DEFINE_PACKET_HEADER(ZC_INVENTORY_END, 0x0b0b);
+#endif // PACKETVER_RE_NUM >= 20180829 || PACKETVER_ZERO_NUM >= 20180919 || PACKETVER_MAIN_NUM >= 20181002
struct ZC_STORE_ITEMLIST_EQUIP {
int16 PacketType;
@@ -1374,22 +1367,6 @@ struct packet_npc_market_purchase {
} list[]; // Note: We assume this should be <= MAX_INVENTORY (since you can't hold more than MAX_INVENTORY items thus cant buy that many at once).
} __attribute__((packed));
-struct packet_npc_market_result_ack {
- int16 PacketType;
- int16 PacketLength;
- uint8 result;
- struct {
-#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));
-
#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 {
@@ -1428,21 +1405,90 @@ struct packet_party_leader_changed {
uint32 new_leader_aid;
} __attribute__((packed));
-struct packet_hotkey {
#ifdef HOTKEY_SAVING
- int16 PacketType;
-#if PACKETVER >= 20141022
- int8 Rotate;
+struct hotkey_data {
+ int8 isSkill; // 0: Item, 1:Skill
+ uint32 id; // Item/Skill ID
+ int16 count; // Item Quantity/Skill Level
+} __attribute__((packed));
+
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+#define MAX_HOTKEYS_PACKET 38
+struct PACKET_ZC_SHORTCUT_KEY_LIST {
+ int16 packetType;
+ int8 rotate;
+ int16 tab;
+ struct hotkey_data hotkey[MAX_HOTKEYS_PACKET];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SHORTCUT_KEY_LIST, 0x0b20);
+#elif PACKETVER_MAIN_NUM >= 20141022 || PACKETVER_RE_NUM >= 20141015 || defined(PACKETVER_ZERO)
+#define MAX_HOTKEYS_PACKET 38
+struct PACKET_ZC_SHORTCUT_KEY_LIST {
+ int16 packetType;
+ int8 rotate;
+ struct hotkey_data hotkey[MAX_HOTKEYS_PACKET];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SHORTCUT_KEY_LIST, 0x0a00);
+#elif PACKETVER_MAIN_NUM >= 20090617 || PACKETVER_RE_NUM >= 20090617 || PACKETVER_SAK_NUM >= 20090617
+#define MAX_HOTKEYS_PACKET 38
+struct PACKET_ZC_SHORTCUT_KEY_LIST {
+ int16 packetType;
+ struct hotkey_data hotkey[MAX_HOTKEYS_PACKET];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SHORTCUT_KEY_LIST, 0x07d9);
+#elif PACKETVER_MAIN_NUM >= 20090603 || PACKETVER_RE_NUM >= 20090603 || PACKETVER_SAK_NUM >= 20090603
+#define MAX_HOTKEYS_PACKET 36
+struct PACKET_ZC_SHORTCUT_KEY_LIST {
+ int16 packetType;
+ struct hotkey_data hotkey[MAX_HOTKEYS_PACKET];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SHORTCUT_KEY_LIST, 0x07d9);
+#elif PACKETVER_MAIN_NUM >= 20070711 || PACKETVER_RE_NUM >= 20080827 || PACKETVER_AD_NUM >= 20070711 || PACKETVER_SAK_NUM >= 20070628
+#define MAX_HOTKEYS_PACKET 27
+struct PACKET_ZC_SHORTCUT_KEY_LIST {
+ int16 packetType;
+ struct hotkey_data hotkey[MAX_HOTKEYS_PACKET];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SHORTCUT_KEY_LIST, 0x02b9);
#endif
- struct {
- int8 isSkill; // 0: Item, 1:Skill
- uint32 ID; // Item/Skill ID
- int16 count; // Item Quantity/Skill Level
- } hotkey[MAX_HOTKEYS];
-#else // not HOTKEY_SAVING
- UNAVAILABLE_STRUCT;
-#endif // HOTKEY_SAVING
+
+#if PACKETVER_MAIN_NUM >= 20070618 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO) || PACKETVER_AD_NUM >= 20070618 || PACKETVER_SAK_NUM >= 20070618
+struct PACKET_CZ_SHORTCUT_KEY_CHANGE1 {
+ int16 packetType;
+ uint16 index;
+ struct hotkey_data hotkey;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_SHORTCUT_KEY_CHANGE1, 0x02ba);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+struct PACKET_CZ_SHORTCUT_KEY_CHANGE2 {
+ int16 packetType;
+ uint16 tab;
+ uint16 index;
+ struct hotkey_data hotkey;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_SHORTCUT_KEY_CHANGE2, 0x0b21);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20140129 || PACKETVER_RE_NUM >= 20140129 || defined(PACKETVER_ZERO)
+struct PACKET_CZ_SHORTCUTKEYBAR_ROTATE1 {
+ int16 packetType;
+ uint8 rowshift;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_SHORTCUTKEYBAR_ROTATE1, 0x0a01);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190508 || PACKETVER_ZERO_NUM >= 20190605
+struct PACKET_CZ_SHORTCUTKEYBAR_ROTATE2 {
+ int16 packetType;
+ uint16 tab;
+ uint8 rowshift;
} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_SHORTCUTKEYBAR_ROTATE2, 0x0b22);
+#endif
+
+#endif // HOTKEY_SAVING
/**
* MISSION_HUNT_INFO (PACKETVER >= 20141022)
@@ -2269,7 +2315,35 @@ struct PACKET_ZC_ACK_WEAPONREFINE {
#endif
} __attribute__((packed));
-#if PACKETVER_MAIN_NUM >= 20131230 || PACKETVER_RE_NUM >= 20131230 || defined(PACKETVER_ZERO)
+#if PACKETVER_MAIN_NUM >= 20190619 || PACKETVER_RE_NUM >= 20190605 || PACKETVER_ZERO_NUM >= 20190626
+// PACKET_ZC_PROPERTY_HOMUN3
+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;
+ uint16 atk2;
+ uint16 matk;
+ uint16 hit;
+ uint16 crit;
+ uint16 def;
+ uint16 mdef;
+ uint16 flee;
+ uint16 amotion;
+ uint32 hp;
+ uint32 maxHp;
+ uint16 sp;
+ uint16 maxSp;
+ uint32 exp;
+ uint32 expNext;
+ uint16 skillPoints;
+ uint16 range;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_PROPERTY_HOMUN, 0x0b2f);
+#elif PACKETVER_MAIN_NUM >= 20131230 || PACKETVER_RE_NUM >= 20131230 || defined(PACKETVER_ZERO)
// PACKET_ZC_PROPERTY_HOMUN2
struct PACKET_ZC_PROPERTY_HOMUN {
int16 packetType;
@@ -2594,6 +2668,7 @@ struct PACKET_ZC_MAKINGARROW_LIST {
int16 packetLength;
struct PACKET_ZC_MAKINGARROW_LIST_sub items[];
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_MAKINGARROW_LIST, 0x01ad);
struct PACKET_ZC_REPAIRITEMLIST_sub {
int16 index;
@@ -2640,13 +2715,10 @@ struct PACKET_ZC_MAKINGITEM_LIST_sub {
struct PACKET_ZC_MAKINGITEM_LIST {
int16 packetType;
int16 packetLength;
-#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
- uint32 makeItem;
-#else
uint16 makeItem;
-#endif
struct PACKET_ZC_MAKINGITEM_LIST_sub items[];
} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_MAKINGITEM_LIST, 0x025a);
struct PACKET_ZC_PC_CASH_POINT_ITEMLIST_sub {
uint32 price;
@@ -2787,17 +2859,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;
@@ -3111,7 +3212,7 @@ struct PACKET_CZ_NPC_BARTER_PURCHASE {
DEFINE_PACKET_HEADER(CZ_NPC_BARTER_PURCHASE, 0x0b0f);
#endif
-#if PACKETVER_ZERO_NUM >= 20190130
+#if PACKETVER_MAIN_NUM >= 20181212 || PACKETVER_RE_NUM >= 20181212 || PACKETVER_ZERO_NUM >= 20190130
struct PACKET_ZC_USESKILL_ACK {
int16 packetType;
uint32 srcId;
@@ -3160,6 +3261,636 @@ struct PACKET_CZ_CLIENT_VERSION {
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 >= 20190227 || PACKETVER_RE_NUM >= 20190220 || PACKETVER_ZERO_NUM >= 20190220
+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
+
+struct PACKET_ZC_ACK_RANKING_name {
+ char name[NAME_LENGTH];
+} __attribute__((packed));
+
+struct PACKET_ZC_ACK_RANKING_points {
+ uint32 points;
+} __attribute__((packed));
+
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190724
+struct PACKET_ZC_ACK_RANKING_sub {
+ char name[NAME_LENGTH];
+ uint32 points;
+} __attribute__((packed));
+
+struct PACKET_ZC_ACK_RANKING {
+ int16 packetType;
+ int16 rankType;
+ uint32 chars[10];
+ uint32 points[10];
+ uint32 myPoints;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_ACK_RANKING, 0x0af6);
+#elif PACKETVER_MAIN_NUM >= 20130605 || PACKETVER_RE_NUM >= 20130529 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_ACK_RANKING_sub {
+ struct PACKET_ZC_ACK_RANKING_name names[10];
+ struct PACKET_ZC_ACK_RANKING_points points[10];
+} __attribute__((packed));
+
+struct PACKET_ZC_ACK_RANKING {
+ int16 packetType;
+ int16 rankType;
+ struct PACKET_ZC_ACK_RANKING_sub ranks;
+ uint32 myPoints;
+} __attribute__((packed));
+
+DEFINE_PACKET_HEADER(ZC_ACK_RANKING, 0x097d);
+#else
+struct PACKET_ZC_ACK_RANKING_sub {
+ struct PACKET_ZC_ACK_RANKING_name names[10];
+ struct PACKET_ZC_ACK_RANKING_points points[10];
+} __attribute__((packed));
+#endif
+
+struct PACKET_ZC_STATUS_CHANGE_ACK {
+ int16 packetType;
+ uint16 sp;
+ uint8 ok;
+ uint8 value;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_STATUS_CHANGE_ACK, 0x00bc);
+
+#if PACKETVER_MAIN_NUM >= 20150507 || PACKETVER_RE_NUM >= 20150429 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_HAT_EFFECT {
+ int16 packetType;
+ int16 packetLength;
+ uint32 aid;
+ int8 status;
+ uint16 effects[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_HAT_EFFECT, 0x0a3b);
+#endif
+
+// [4144] this struct updated not in all packets in client
+#if PACKETVER_RE_NUM >= 20190807 || PACKETVER_ZERO_NUM >= 20190918
+struct SKILLDATA {
+ uint16 id;
+ int inf;
+ uint16 level;
+ uint16 sp;
+ uint16 range2;
+ uint8 upFlag;
+ uint16 level2;
+} __attribute__((packed));
+#else
+struct SKILLDATA {
+ uint16 id;
+ int inf;
+ uint16 level;
+ uint16 sp;
+ uint16 range2;
+ char name[NAME_LENGTH];
+ uint8 upFlag;
+} __attribute__((packed));
+#endif
+
+struct PACKET_ZC_ADD_SKILL {
+ int16 packetType;
+ struct SKILLDATA skill;
+} __attribute__((packed));
+#if PACKETVER_RE_NUM >= 20190807 || PACKETVER_ZERO_NUM >= 20190918
+DEFINE_PACKET_HEADER(ZC_ADD_SKILL, 0x0b31);
+#else
+DEFINE_PACKET_HEADER(ZC_ADD_SKILL, 0x0111);
+#endif
+
+struct PACKET_ZC_SKILLINFO_LIST {
+ int16 packetType;
+ int16 packetLength;
+ struct SKILLDATA skills[];
+} __attribute__((packed));
+#if PACKETVER_RE_NUM >= 20190807 || PACKETVER_ZERO_NUM >= 20190918
+DEFINE_PACKET_HEADER(ZC_SKILLINFO_LIST, 0x0b32);
+#else
+DEFINE_PACKET_HEADER(ZC_SKILLINFO_LIST, 0x010f);
+#endif
+
+#if PACKETVER_RE_NUM >= 20190807 || PACKETVER_ZERO_NUM >= 20190918
+struct PACKET_ZC_SKILLINFO_UPDATE2 {
+ int16 packetType;
+ uint16 id;
+ int inf;
+ uint16 level;
+ uint16 sp;
+ uint16 range2;
+ uint8 upFlag;
+ uint16 level2;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SKILLINFO_UPDATE2, 0x0b33);
+#else
+struct PACKET_ZC_SKILLINFO_UPDATE2 {
+ int16 packetType;
+ uint16 id;
+ int inf;
+ uint16 level;
+ uint16 sp;
+ uint16 range2;
+ uint8 upFlag;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SKILLINFO_UPDATE2, 0x07e1);
+#endif
+
+struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 ITID;
+#else
+ uint16 ITID;
+#endif
+ uint16 qty;
+ uint32 price;
+} __attribute__((packed));
+
+#if PACKETVER_MAIN_NUM >= 20190807 || PACKETVER_RE_NUM >= 20190807 || PACKETVER_ZERO_NUM >= 20190814
+struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT {
+ int16 PacketType;
+ int16 PacketLength;
+ uint16 result;
+ struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT_sub list[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_NPC_MARKET_PURCHASE_RESULT, 0x0b4e);
+#elif PACKETVER_MAIN_NUM >= 20131120 || PACKETVER_RE_NUM >= 20130911 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT {
+ int16 PacketType;
+ int16 PacketLength;
+ uint8 result;
+ struct PACKET_ZC_NPC_MARKET_PURCHASE_RESULT_sub list[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_NPC_MARKET_PURCHASE_RESULT, 0x09d7);
+#endif
+
+struct PACKET_ZC_TALKBOX_CHATCONTENTS {
+ int16 PacketType;
+ uint32 aid;
+ char message[TALKBOX_MESSAGE_SIZE];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_TALKBOX_CHATCONTENTS, 0x0191);
+
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190717 || PACKETVER_ZERO_NUM >= 20190814
+struct PACKET_ZC_GUILD_CASTLE_LIST {
+ int16 packetType;
+ int16 packetLength;
+ int8 castle_list[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_GUILD_CASTLE_LIST, 0x0b27);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190522 || PACKETVER_ZERO_NUM >= 20190515
+struct PACKET_CZ_CASTLE_TELEPORT_REQUEST {
+ int16 packetType;
+ int8 castle_id;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_CASTLE_TELEPORT_REQUEST, 0x0b28);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190717 || PACKETVER_ZERO_NUM >= 20190814
+struct PACKET_ZC_CASTLE_TELEPORT_RESPONSE {
+ int16 packetType;
+ int16 result;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_CASTLE_TELEPORT_RESPONSE, 0x0b2e);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190731 || PACKETVER_RE_NUM >= 20190717 || PACKETVER_ZERO_NUM >= 20190814
+struct PACKET_ZC_CASTLE_INFO {
+ int16 packetType;
+ int8 castle_id;
+ int32 economy;
+ int32 defense;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_CASTLE_INFO, 0x0b2d);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190522 || PACKETVER_RE_NUM >= 20190522 || PACKETVER_ZERO_NUM >= 20190515
+struct PACKET_CZ_CASTLE_INFO_REQUEST {
+ int16 packetType;
+ int8 castle_id;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_CASTLE_INFO_REQUEST, 0x0b2c);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_LAPINEDDUKDDAK_OPEN {
+ int16 packetType;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ int32 itemId;
+#else
+ int16 itemId;
+#endif
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_LAPINEDDUKDDAK_OPEN, 0x0a4e);
+#endif // PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+
+#if PACKETVER_MAIN_NUM >= 20160504 || PACKETVER_RE_NUM >= 20160504 || defined(PACKETVER_ZERO)
+struct PACKET_CZ_LAPINEDDUKDDAK_CLOSE {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_LAPINEDDUKDDAK_CLOSE, 0x0a70);
+#endif // PACKETVER_MAIN_NUM >= 20160504 || PACKETVER_RE_NUM >= 20160504 || defined(PACKETVER_ZERO)
+
+#if PACKETVER >= 20160302
+struct PACKET_CZ_LAPINEDDUKDDAK_ACK_sub {
+ int16 index;
+ int16 count;
+} __attribute__((packed));
+
+struct PACKET_CZ_LAPINEDDUKDDAK_ACK {
+ int16 packetType;
+ int16 packetLength;
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ int32 itemId;
+#else
+ int16 itemId;
+#endif
+ struct PACKET_CZ_LAPINEDDUKDDAK_ACK_sub items[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_LAPINEDDUKDDAK_ACK, 0x0a4f);
+#endif // PACKETVER >= 20160302
+
+#if PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_LAPINEDDUKDDAK_RESULT {
+ int16 packetType;
+ int16 result;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_LAPINEDDUKDDAK_RESULT, 0x0a50);
+#endif // PACKETVER_MAIN_NUM >= 20160601 || PACKETVER_RE_NUM >= 20160525 || defined(PACKETVER_ZERO)
+
+#if PACKETVER_MAIN_NUM >= 20190703 || PACKETVER_RE_NUM >= 20190703 || PACKETVER_ZERO_NUM >= 20190709
+struct PACKET_CZ_REQ_MOUNTOFF {
+ int16 packetType;
+ uint8 action;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_REQ_MOUNTOFF, 0x0b35);
+#endif
+
+// in 3 clients from same version
+#if PACKETVER >= 20191127
+struct PACKET_ZC_NOTIFY_EFFECT3 {
+ int16 packetType;
+ uint32 aid;
+ uint32 effectId;
+ uint64 num;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_NOTIFY_EFFECT3, 0x0b69);
+#elif PACKETVER_MAIN_NUM >= 20060911 || PACKETVER_AD_NUM >= 20060911 || PACKETVER_SAK_NUM >= 20060911 || defined(PACKETVER_RE) || defined(PACKETVER_ZERO)
+struct PACKET_ZC_NOTIFY_EFFECT3 {
+ int16 packetType;
+ uint32 aid;
+ uint32 effectId;
+ uint32 num;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_NOTIFY_EFFECT3, 0x0284);
+#endif
+
+#if PACKETVER >= 20100824
+struct PACKET_CZ_SE_CASHSHOP_OPEN1 {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_SE_CASHSHOP_OPEN1, 0x0844);
+#endif
+
+#if PACKETVER >= 20191224
+struct PACKET_CZ_SE_CASHSHOP_OPEN2 {
+ int16 packetType;
+ uint32 tab;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_SE_CASHSHOP_OPEN2, 0x0b6d);
+#endif
+
+#if PACKETVER >= 20190724
+struct PACKET_CZ_SE_CASHSHOP_LIMITED_REQ {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_SE_CASHSHOP_LIMITED_REQ, 0x0b4c);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20200129 || PACKETVER_RE_NUM >= 20200205 || PACKETVER_ZERO_NUM >= 20191224
+struct PACKET_ZC_SE_CASHSHOP_OPEN {
+ int16 packetType;
+ uint32 cashPoints;
+ uint32 kafraPoints;
+ uint32 tab;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SE_CASHSHOP_OPEN, 0x0b6e);
+// for ragexeRE in some version this packet unused [4144]
+#elif PACKETVER_MAIN_NUM >= 20101123 || PACKETVER_RE_NUM >= 20120328 || defined(PACKETVER_ZERO)
+struct PACKET_ZC_SE_CASHSHOP_OPEN {
+ int16 packetType;
+ uint32 cashPoints;
+ uint32 kafraPoints;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_SE_CASHSHOP_OPEN, 0x0845);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190904 || PACKETVER_RE_NUM >= 20190904 || PACKETVER_ZERO_NUM >= 20190828
+struct PACKET_CZ_NPC_EXPANDED_BARTER_CLOSE {
+ int16 packetType;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_NPC_EXPANDED_BARTER_CLOSE, 0x0b58);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106 || PACKETVER_ZERO_NUM >= 20191127
+struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 nameid;
+#else
+ uint16 nameid;
+#endif
+ uint16 refine_level;
+ uint32 amount;
+ uint16 type;
+} __attribute__((packed));
+
+struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 nameid;
+#else
+ uint16 nameid;
+#endif
+ uint16 type;
+ uint32 amount;
+ uint32 weight;
+ uint32 index;
+ uint32 zeny;
+ uint32 currency_count;
+ // Workaround for fix Visual Studio bug (error C2233). Here should be currencies[]
+ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2 currencies[1];
+} __attribute__((packed));
+
+// Workaround check for Visual Studio bug (error C2233)
+STATIC_ASSERT(sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2[1]) ==
+ sizeof(struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub2),
+ "Wrong PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub size");
+
+struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN {
+ int16 packetType;
+ int16 packetLength;
+ int32 items_count;
+ struct PACKET_ZC_NPC_EXPANDED_BARTER_OPEN_sub items[];
+} __attribute__((packed));
+
+DEFINE_PACKET_HEADER(ZC_NPC_EXPANDED_BARTER_OPEN, 0x0b56);
+#endif
+
+#if PACKETVER_MAIN_NUM >= 20190904 || PACKETVER_RE_NUM >= 20190904 || PACKETVER_ZERO_NUM >= 20190828
+struct PACKET_CZ_NPC_EXPANDED_BARTER_PURCHASE_sub {
+#if PACKETVER_MAIN_NUM >= 20181121 || PACKETVER_RE_NUM >= 20180704 || PACKETVER_ZERO_NUM >= 20181114
+ uint32 itemId;
+#else
+ uint16 itemId;
+#endif
+ uint32 shopIndex;
+ uint32 amount;
+} __attribute__((packed));
+
+struct PACKET_CZ_NPC_EXPANDED_BARTER_PURCHASE {
+ int16 packetType;
+ int16 packetLength;
+ struct PACKET_CZ_NPC_EXPANDED_BARTER_PURCHASE_sub list[];
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(CZ_NPC_EXPANDED_BARTER_PURCHASE, 0x0b57);
+#endif
+
+#if PACKETVER >= 7
+struct PACKET_ZC_STATE_CHANGE {
+ int16 packetType;
+ uint32 AID;
+ int16 bodyState;
+ int16 healthState;
+ int32 effectState;
+ int8 isPKModeON;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_STATE_CHANGE, 0x0229);
+#else
+struct PACKET_ZC_STATE_CHANGE {
+ int16 PacketType;
+ uint32 AID;
+ int16 bodyState;
+ int16 healthState;
+ int16 effectState;
+ int8 isPKModeON;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_STATE_CHANGE, 0x0119);
+#endif
+
+struct PACKET_ZC_AUTORUN_SKILL {
+ int16 packetType;
+ uint16 skill_id;
+ uint32 skill_type;
+ uint16 skill_lv;
+ uint16 skill_sp;
+ uint16 skill_range;
+ char skill_name[NAME_LENGTH];
+ char up_flag;
+} __attribute__((packed));
+DEFINE_PACKET_HEADER(ZC_AUTORUN_SKILL, 0x0147);
+
#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..7d7f69620 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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;
@@ -689,6 +695,7 @@ static int party_broken(int party_id)
if( p->data[i].sd!=NULL ) {
clif->party_withdraw(p,p->data[i].sd,p->party.member[i].account_id,p->party.member[i].name,0x10);
p->data[i].sd->status.party_id=0;
+ clif->charnameupdate(p->data[i].sd);
}
}
@@ -880,17 +887,20 @@ static int party_send_logout(struct map_session_data *sd)
static int party_send_message(struct map_session_data *sd, const char *mes)
{
- int len;
-
nullpo_ret(sd);
nullpo_ret(mes);
- len = (int)strlen(mes);
-
if (sd->status.party_id == 0)
return 0;
- intif->party_message(sd->status.party_id, sd->status.account_id, mes, len);
- party->recv_message(sd->status.party_id, sd->status.account_id, mes, len);
+
+ struct party_data *p = party->search(sd->status.party_id);
+
+ if (p == NULL)
+ return 0;
+
+ int len = (int)strlen(mes);
+
+ clif->party_message(p, sd->status.account_id, mes, len);
// Chat logging type 'P' / Party Chat
logs->chat(LOG_CHAT_PARTY, sd->status.party_id, sd->status.char_id, sd->status.account_id, mapindex_id2name(sd->mapindex), sd->bl.x, sd->bl.y, NULL, mes);
@@ -898,15 +908,6 @@ static int party_send_message(struct map_session_data *sd, const char *mes)
return 0;
}
-static int party_recv_message(int party_id, int account_id, const char *mes, int len)
-{
- struct party_data *p;
- if( (p=party->search(party_id))==NULL)
- return 0;
- clif->party_message(p,account_id,mes,len);
- return 0;
-}
-
static int party_skill_check(struct map_session_data *sd, int party_id, uint16 skill_id, uint16 skill_lv)
{
struct party_data *p;
@@ -1526,7 +1527,6 @@ void party_defaults(void)
party->send_levelup = party_send_levelup;
party->send_logout = party_send_logout;
party->send_message = party_send_message;
- party->recv_message = party_recv_message;
party->skill_check = party_skill_check;
party->send_xy_clear = party_send_xy_clear;
party->exp_share = party_exp_share;
diff --git a/src/map/party.h b/src/map/party.h
index 28e16dff7..c2306b7a8 100644
--- a/src/map/party.h
+++ b/src/map/party.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -118,7 +118,6 @@ struct party_interface {
void (*send_levelup) (struct map_session_data *sd);
int (*send_logout) (struct map_session_data *sd);
int (*send_message) (struct map_session_data *sd, const char *mes);
- int (*recv_message) (int party_id,int account_id,const char *mes,int len);
int (*skill_check) (struct map_session_data *sd, int party_id, uint16 skill_id, uint16 skill_lv);
int (*send_xy_clear) (struct party_data *p);
int (*exp_share) (struct party_data *p,struct block_list *src,unsigned int base_exp,unsigned int job_exp,int zeny);
diff --git a/src/map/path.c b/src/map/path.c
index 16d9b0563..f271e8219 100644
--- a/src/map/path.c
+++ b/src/map/path.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/path.h b/src/map/path.h
index 7791a46cf..04072e303 100644
--- a/src/map/path.h
+++ b/src/map/path.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/pc.c b/src/map/pc.c
index ea18715bb..90282209b 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -565,72 +565,8 @@ static int pc_inventory_rental_clear(struct map_session_data *sd)
/* assumes i is valid (from default areas where it is called, it is) */
static void pc_rental_expire(struct map_session_data *sd, int i)
{
- int nameid;
-
nullpo_retv(sd);
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 */
- switch( nameid ) {
- case ITEMID_BOARDING_HALTER:
- status_change_end(&sd->bl,SC_ALL_RIDING,INVALID_TIMER);
- break;
- case ITEMID_LOVE_ANGEL:
- if( sd->status.font == 1 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- case ITEMID_SQUIRREL:
- if( sd->status.font == 2 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- case ITEMID_GOGO:
- if( sd->status.font == 3 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- case ITEMID_PICTURE_DIARY:
- if( sd->status.font == 4 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- case ITEMID_MINI_HEART:
- if( sd->status.font == 5 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- case ITEMID_NEWCOMER:
- if( sd->status.font == 6 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- case ITEMID_KID:
- if( sd->status.font == 7 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- case ITEMID_MAGIC_CASTLE:
- if( sd->status.font == 8 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- case ITEMID_BULGING_HEAD:
- if( sd->status.font == 9 ) {
- sd->status.font = 0;
- clif->font(sd);
- }
- break;
- }
clif->rental_expired(sd->fd, i, sd->status.inventory[i].nameid);
pc->delitem(sd, i, sd->status.inventory[i].amount, 0, DELITEM_NORMAL, LOG_TYPE_RENTAL);
@@ -1062,20 +998,23 @@ static bool pc_adoption(struct map_session_data *p1_sd, struct map_session_data
return false; // Job Change Fail
}
-/*=================================================
- * Checks if the player can equip the item at index n in inventory.
- * Returns 0 (no) or 1 (yes).
- *------------------------------------------------*/
+/**
+ * Checks if a character can equip an item.
+ *
+ * @param sd The related character.
+ * @param n The item's inventory index.
+ * @retval 0 Character can't equip the item.
+ * @retval 1 Character can equip the item.
+ *
+ **/
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];
+ struct item_data *item = sd->inventory_data[n];
- if(item == NULL)
+ if (item == NULL)
return 0;
#if PACKETVER <= 20100707
@@ -1083,31 +1022,34 @@ static int pc_isequip(struct map_session_data *sd, int n)
return 0;
#endif
- if(pc_has_permission(sd, PC_PERM_USE_ALL_EQUIPMENT))
+ if (pc_has_permission(sd, PC_PERM_USE_ALL_EQUIPMENT))
return 1;
- if (item->elv && sd->status.base_level < item->elv) {
+ if (item->elv != 0 && sd->status.base_level < item->elv) {
#if PACKETVER >= 20100525
clif->msgtable(sd, MSG_CANNOT_EQUIP_ITEM_LEVEL);
#endif
return 0;
}
- if (item->elvmax && sd->status.base_level > item->elvmax) {
+
+ if (item->elvmax != 0 && sd->status.base_level > item->elvmax) {
#if PACKETVER >= 20100525
clif->msgtable(sd, MSG_CANNOT_EQUIP_ITEM_LEVEL);
#endif
return 0;
}
- if(item->sex != 2 && sd->status.sex != item->sex)
+
+ if (item->sex != SEX_SERVER && sd->status.sex != item->sex)
return 0;
- if ( item->equip & EQP_AMMO ) {
- if (sd->state.active && !pc_iscarton(sd) && (sd->job & MAPID_THIRDMASK) == MAPID_GENETIC) { // check if sc data is already loaded.
+ if ((item->equip & EQP_AMMO) != 0) {
+ if (sd->state.active != 0 && !pc_iscarton(sd) && (sd->job & MAPID_THIRDMASK) == MAPID_GENETIC) { // Check if sc data is already loaded.
#if PACKETVER_RE_NUM >= 20090529 || PACKETVER_MAIN_NUM >= 20090603 || defined(PACKETVER_ZERO)
clif->msgtable(sd, MSG_USESKILL_FAIL_CART);
#endif
return 0;
}
+
if (!pc_ismadogear(sd) && (sd->job & MAPID_THIRDMASK) == MAPID_MECHANIC) {
#if PACKETVER_RE_NUM >= 20090226 || PACKETVER_MAIN_NUM >= 20090304 || defined(PACKETVER_ZERO)
clif->msgtable(sd, MSG_USESKILL_FAIL_MADOGEAR);
@@ -1115,76 +1057,85 @@ static int pc_isequip(struct map_session_data *sd, int n)
return 0;
}
}
- if (sd->sc.count) {
- if(item->equip & EQP_ARMS && item->type == IT_WEAPON && sd->sc.data[SC_NOEQUIPWEAPON]) // Also works with left-hand weapons [DracoRPG]
+ if ((battle_config.unequip_restricted_equipment & 1) != 0) {
+ for (int i = 0; i < map->list[sd->bl.m].zone->disabled_items_count; i++)
+ if (map->list[sd->bl.m].zone->disabled_items[i] == item->nameid)
+ return 0;
+ }
+
+ if ((battle_config.unequip_restricted_equipment & 2) != 0 && !itemdb_isspecial(sd->status.inventory[n].card[0])) {
+ for (int slot = 0; slot < item->slot; slot++)
+ for (int i = 0; i < map->list[sd->bl.m].zone->disabled_items_count; i++)
+ if (map->list[sd->bl.m].zone->disabled_items[i] == sd->status.inventory[n].card[slot])
+ return 0;
+ }
+
+ if (sd->sc.count != 0) {
+ if ((item->equip & EQP_ARMS) != 0 && item->type == IT_WEAPON && sd->sc.data[SC_NOEQUIPWEAPON] != NULL) // Also works with left-hand weapons. [DracoRPG]
return 0;
- if(item->equip & EQP_SHIELD && item->type == IT_ARMOR && sd->sc.data[SC_NOEQUIPSHIELD])
+
+ if ((item->equip & EQP_SHIELD) != 0 && item->type == IT_ARMOR && sd->sc.data[SC_NOEQUIPSHIELD] != NULL)
return 0;
- if(item->equip & EQP_ARMOR && sd->sc.data[SC_NOEQUIPARMOR])
+
+ if ((item->equip & EQP_ARMOR) != 0 && sd->sc.data[SC_NOEQUIPARMOR] != NULL)
return 0;
- if(item->equip & EQP_HEAD_TOP && sd->sc.data[SC_NOEQUIPHELM])
+
+ if ((item->equip & EQP_HEAD_TOP) != 0 && sd->sc.data[SC_NOEQUIPHELM] != NULL)
return 0;
- if(item->equip & EQP_ACC && sd->sc.data[SC__STRIPACCESSARY])
+
+ if ((item->equip & EQP_ACC) != 0 && sd->sc.data[SC__STRIPACCESSARY] != NULL)
return 0;
- if(item->equip && sd->sc.data[SC_KYOUGAKU])
+
+ if (item->equip != 0 && sd->sc.data[SC_KYOUGAKU] != NULL)
return 0;
- if (sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_SUPERNOVICE) {
- //Spirit of Super Novice equip bonuses. [Skotlex]
- if (sd->status.base_level > 90 && item->equip & EQP_HELM)
- return 1; //Can equip all helms
-
- if (sd->status.base_level > 96 && item->equip & EQP_ARMS && item->type == IT_WEAPON)
- switch (item->subtype) { //In weapons, the look determines type of weapon.
- case W_DAGGER: //Level 4 Knives are equippable.. this means all knives, I'd guess?
- case W_1HSWORD: //All 1H swords
- case W_1HAXE: //All 1H Axes
- case W_MACE: //All 1H Maces
- case W_STAFF: //All 1H Staves
+ if (sd->sc.data[SC_SOULLINK] != NULL && sd->sc.data[SC_SOULLINK]->val2 == SL_SUPERNOVICE) { // Spirit of Super Novice equip bonuses. [Skotlex]
+ if (sd->status.base_level > 90 && (item->equip & EQP_HELM) != 0)
+ return 1; // Can equip all helms.
+
+ if (sd->status.base_level > 96 && (item->equip & EQP_ARMS) != 0 && item->type == IT_WEAPON) {
+ switch (item->subtype) { // In weapons, the look determines type of weapon.
+ case W_DAGGER: // Level 4 Knives are equippable.. this means all knives, I'd guess?
+ case W_1HSWORD: // All 1H swords.
+ case W_1HAXE: // All 1H axes.
+ case W_MACE: // All 1H maces.
+ case W_STAFF: // All 1H staffs.
return 1;
}
+ }
}
}
- //Not equipable by class. [Skotlex]
- if (((1ULL<<(sd->job & MAPID_BASEMASK)) & item->class_base[(sd->job & JOBL_2_1) != 0 ? 1 : ((sd->job & JOBL_2_2) != 0 ? 2 : 0)]) == 0)
+
+ uint64 mask_job = 1ULL << (sd->job & MAPID_BASEMASK);
+ uint64 mask_item = item->class_base[((sd->job & JOBL_2_1) != 0) ? 1 : (((sd->job & JOBL_2_2) != 0) ? 2 : 0)];
+
+ if ((mask_job & mask_item) == 0) // Not equipable by class. [Skotlex]
return 0;
- //Not usable by upper class. [Inkfish]
- while( 1 ) {
+
+ // Not usable by upper class. [Inkfish]
+ while (1) {
if ((item->class_upper & ITEMUPPER_NORMAL) != 0) {
- if ((sd->job & (JOBL_UPPER|JOBL_THIRD|JOBL_BABY)) == 0)
+ if ((sd->job & (JOBL_UPPER | JOBL_THIRD | JOBL_BABY)) == 0)
break;
}
+
if ((item->class_upper & ITEMUPPER_UPPER) != 0) {
- if ((sd->job & (JOBL_UPPER|JOBL_THIRD)) != 0)
+ if ((sd->job & (JOBL_UPPER | JOBL_THIRD)) != 0)
break;
}
+
if ((item->class_upper & ITEMUPPER_BABY) != 0) {
if ((sd->job & JOBL_BABY) != 0)
break;
}
+
if ((item->class_upper & ITEMUPPER_THIRD) != 0) {
if ((sd->job & JOBL_THIRD) != 0)
break;
}
- return 0;
- }
-
- if ( battle_config.unequip_restricted_equipment & 1 ) {
- int i;
- for ( i = 0; i < map->list[sd->bl.m].zone->disabled_items_count; i++ )
- if ( map->list[sd->bl.m].zone->disabled_items[i] == sd->status.inventory[n].nameid )
- return 0;
- }
- if ( battle_config.unequip_restricted_equipment & 2 ) {
- if ( !itemdb_isspecial( sd->status.inventory[n].card[0] ) ) {
- int i, slot;
- for ( slot = 0; slot < MAX_SLOTS; slot++ )
- for ( i = 0; i < map->list[sd->bl.m].zone->disabled_items_count; i++ )
- if ( map->list[sd->bl.m].zone->disabled_items[i] == sd->status.inventory[n].card[slot] )
- return 0;
- }
+ return 0;
}
return 1;
@@ -1536,17 +1487,16 @@ static int pc_reg_received(struct map_session_data *sd)
if (sd->status.guild_id)
guild->member_joined(sd);
- // pet
- if (sd->status.pet_id > 0)
- intif->request_petdata(sd->status.account_id, sd->status.char_id, sd->status.pet_id);
-
- // Homunculus [albator]
- if( sd->status.hom_id > 0 )
- intif->homunculus_requestload(sd->status.account_id, sd->status.hom_id);
- if( sd->status.mer_id > 0 )
- intif->mercenary_request(sd->status.mer_id, sd->status.char_id);
- if( sd->status.ele_id > 0 )
- intif->elemental_request(sd->status.ele_id, sd->status.char_id);
+ if (sd->state.standalone == 0 && sd->state.autotrade == 0) { // prevents loading pets, homunculi, mercenaries or elementals if the character doesn't have a client attached
+ if (sd->status.pet_id != 0)
+ intif->request_petdata(sd->status.account_id, sd->status.char_id, sd->status.pet_id);
+ if (sd->status.hom_id != 0)
+ intif->homunculus_requestload(sd->status.account_id, sd->status.hom_id);
+ if (sd->status.mer_id != 0)
+ intif->mercenary_request(sd->status.mer_id, sd->status.char_id);
+ if (sd->status.ele_id != 0)
+ intif->elemental_request(sd->status.ele_id, sd->status.char_id);
+ }
map->addiddb(&sd->bl);
map->delnickdb(sd->status.char_id, sd->status.name);
@@ -2268,7 +2218,7 @@ static int pc_bonus_item_drop(struct s_add_drop *drop, const short max, int id,
return 1;
}
-static int pc_addautobonus(struct s_autobonus *bonus, char max, const char *bonus_script, short rate, unsigned int dur, short flag, const char *other_script, unsigned short pos, bool onskill)
+static int pc_addautobonus(struct s_autobonus *bonus, char max, const char *bonus_script, short rate, unsigned int dur, short flag, const char *other_script, unsigned int pos, bool onskill)
{
int i;
@@ -2904,7 +2854,7 @@ static int pc_bonus(struct map_session_data *sd, int type, int val)
case SP_INTRAVISION: // Maya Purple Card effect allowing to see Hiding/Cloaking people [DracoRPG]
if(sd->state.lr_flag != 2) {
sd->special_state.intravision = 1;
- clif->status_change(&sd->bl, SI_CLAIRVOYANCE, 1, 0, 0, 0, 0);
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_CLAIRVOYANCE), status->get_sc_relevant_bl_types(SC_CLAIRVOYANCE), 1, 0, 0, 0, 0);
}
break;
case SP_NO_KNOCKBACK:
@@ -4506,7 +4456,7 @@ static int pc_payzeny(struct map_session_data *sd, int zeny, enum e_log_pick_typ
if (sd->state.showzeny) {
char output[255];
- sprintf(output, "Removed %dz.", zeny);
+ sprintf(output, msg_sd(sd, 885), zeny); // Removed %dz.
clif_disp_onlyself(sd, output);
}
}
@@ -4645,7 +4595,7 @@ static int pc_getzeny(struct map_session_data *sd, int zeny, enum e_log_pick_typ
if (sd->state.showzeny) {
char output[255];
- sprintf(output, "Gained %dz.", zeny);
+ sprintf(output, msg_sd(sd, 886), zeny); // Gained %dz.
clif_disp_onlyself(sd, output);
}
}
@@ -4778,18 +4728,27 @@ static int pc_additem(struct map_session_data *sd, const struct item *item_data,
sd->weight += w;
clif->updatestatus(sd,SP_WEIGHT);
+
+ // auto-favorite
+ if (data->flag.auto_favorite > 0) {
+ sd->status.inventory[i].favorite = 1;
+ clif->favorite_item(sd, i);
+ }
+
//Auto-equip
if(data->flag.autoequip)
pc->equipitem(sd, i, data->equip);
/* rental item check */
- if( item_data->expire_time ) {
- if( time(NULL) > item_data->expire_time ) {
- pc->rental_expire(sd,i);
+ if (item_data->expire_time > 0) {
+ if (time(NULL) > item_data->expire_time) {
+ pc->rental_expire(sd, i);
} else {
- int seconds = (int)( item_data->expire_time - time(NULL) );
+ int seconds = (int)(item_data->expire_time - time(NULL));
clif->rental_time(sd->fd, sd->status.inventory[i].nameid, seconds);
pc->inventory_rental_add(sd, seconds);
+ if (data->rental_start_script != NULL)
+ script->run_item_rental_start_script(sd, data, 0);
}
}
quest->questinfo_refresh(sd);
@@ -4820,12 +4779,21 @@ static int pc_delitem(struct map_session_data *sd, int n, int amount, int type,
sd->status.inventory[n].amount -= amount;
sd->weight -= sd->inventory_data[n]->weight*amount ;
+
+ // It's here because the data would most likely get zeroed in following if [Hemagx]
+ struct item_data *itd = sd->inventory_data[n];
+ bool is_rental = (sd->status.inventory[n].expire_time > 0) ? true : false;
+
if( sd->status.inventory[n].amount <= 0 ){
if(sd->status.inventory[n].equip)
pc->unequipitem(sd, n, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
memset(&sd->status.inventory[n],0,sizeof(sd->status.inventory[0]));
sd->inventory_data[n] = NULL;
}
+
+ if (is_rental && itd->rental_end_script != NULL)
+ script->run_item_rental_end_script(sd, itd, 0);
+
if(!(type&1))
clif->delitem(sd,n,amount,reason);
if(!(type&2))
@@ -4854,7 +4822,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;
@@ -5304,6 +5272,14 @@ static int pc_useitem(struct map_session_data *sd, int n)
#endif
if( battle_config.item_restricted_consumption_type && sd->status.inventory[n].expire_time == 0 ) {
clif->useitemack(sd,n,sd->status.inventory[n].amount-1,true);
+
+ // If Earth Spike Scroll is used while SC_EARTHSCROLL is active, there is a chance to don't consume the scroll. [Kenpachi]
+ if ((nameid == ITEMID_EARTH_SCROLL_1_3 || nameid == ITEMID_EARTH_SCROLL_1_5)
+ && sd->sc.count > 0 && sd->sc.data[SC_EARTHSCROLL] != NULL
+ && rnd() % 100 > sd->sc.data[SC_EARTHSCROLL]->val2) {
+ return 0;
+ }
+
pc->delitem(sd, n, 1, 1, DELITEM_NORMAL, LOG_TYPE_CONSUME);
}
return 0;
@@ -5319,10 +5295,6 @@ 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)
@@ -5349,11 +5321,38 @@ static int pc_useitem(struct map_session_data *sd, int n)
script->run_use_script(sd, sd->inventory_data[n], npc->fake_nd->bl.id);
script->potion_flag = 0;
+ // If Earth Spike Scroll is used while SC_EARTHSCROLL is active, there is a chance to don't consume the scroll. [Kenpachi]
+ if ((nameid == ITEMID_EARTH_SCROLL_1_3 || nameid == ITEMID_EARTH_SCROLL_1_5) && sd->sc.count > 0
+ && sd->sc.data[SC_EARTHSCROLL] != NULL && rnd() % 100 > sd->sc.data[SC_EARTHSCROLL]->val2) {
+ removeItem = false;
+ }
+
if (removeItem)
pc->delitem(sd, n, 1, 1, DELITEM_NORMAL, LOG_TYPE_CONSUME);
return 1;
}
+/**
+ * Unsets a character's auto-cast related data.
+ *
+ * @param sd The character's session data.
+ * @return 0 if parameter sd is NULL, otherwise 1.
+ */
+static int pc_autocast_clear(struct map_session_data *sd)
+{
+ nullpo_ret(sd);
+
+ sd->autocast.type = AUTOCAST_NONE;
+ sd->autocast.skill_id = 0;
+ sd->autocast.skill_lv = 0;
+ sd->autocast.itemskill_conditions_checked = false;
+ sd->autocast.itemskill_check_conditions = false;
+ sd->autocast.itemskill_instant_cast = false;
+ sd->autocast.itemskill_cast_on_self = false;
+
+ return 1;
+}
+
/*==========================================
* Add item on cart for given index.
* Return:
@@ -5472,7 +5471,7 @@ static int pc_putitemtocart(struct map_session_data *sd, int idx, int amount)
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 +5518,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;
@@ -5582,9 +5581,9 @@ static int pc_show_steal(struct block_list *bl, va_list ap)
nullpo_ret(sd);
if((item=itemdb->exists(itemid))==NULL)
- sprintf(output,"%s stole an Unknown Item (id: %i).",sd->status.name, itemid);
+ sprintf(output, msg_sd(sd, 887), sd->status.name, itemid); // %s stole an Unknown Item (id: %i).
else
- sprintf(output,"%s stole %s.",sd->status.name,item->jname);
+ sprintf(output, msg_sd(sd, 888), sd->status.name, item->jname); // %s stole %s.
clif->message(tsd->fd, output);
return 0;
@@ -5630,15 +5629,17 @@ static int pc_steal_item(struct map_session_data *sd, struct block_list *bl, uin
// Try dropping one item, in the order from first to last possible slot.
// Droprate is affected by the skill success rate.
- for (i = 0; i < MAX_STEAL_DROP; i++) {
+ for (i = 0; i < MAX_MOB_DROP; i++) {
if (md->db->dropitem[i].nameid == 0)
continue;
if ((data = itemdb->exists(md->db->dropitem[i].nameid)) == NULL)
continue;
+ if (data->type == IT_CARD)
+ continue;
if (rnd() % 10000 < apply_percentrate(md->db->dropitem[i].p, rate, 100))
break;
}
- if (i == MAX_STEAL_DROP)
+ if (i == MAX_MOB_DROP)
return 0;
itemid = md->db->dropitem[i].nameid;
@@ -5699,242 +5700,295 @@ static int pc_steal_coin(struct map_session_data *sd, struct block_list *target,
return 0;
}
-/*==========================================
- * Set's a player position.
- * Return values:
- * 0 - Success.
- * 1 - Invalid map index.
- * 2 - Map not in this map-server, and failed to locate alternate map-server.
- *------------------------------------------*/
+/**
+ * Sets a character's position.
+ *
+ * @param sd The related character.
+ * @param map_index The target map's index.
+ * @param x The target x-coordinate.
+ * @param y The target y-coordinate.
+ * @param clrtype The unit clear type, which should be used.
+ * @retval 0 Success.
+ * @retval 1 Invalid map index.
+ * @retval 2 Map not in this map-server, and failed to locate alternative map-server.
+ * @retval 3 No character data. (Parameter sd is a NULL pointer.)
+ * @retval 4 Character is jailed.
+ *
+ **/
static int pc_setpos(struct map_session_data *sd, unsigned short map_index, int x, int y, enum clr_type clrtype)
{
- int16 m;
+ nullpo_retr(3, sd);
- nullpo_ret(sd);
+ int map_id = map->mapindex2mapid(map_index);
- if( !map_index || !mapindex_id2name(map_index) || ( m = map->mapindex2mapid(map_index) ) == -1 ) {
- ShowDebug("pc_setpos: Passed mapindex(%d) is invalid!\n", map_index);
+ if (map_index == 0 || !mapindex_id2name(map_index) || map_id == INDEX_NOT_FOUND) {
+ ShowDebug("pc_setpos: Passed mapindex %d is invalid!\n", map_index);
return 1;
}
- if( pc_isdead(sd) ) { //Revive dead people before warping them
+ if (pc_isdead(sd)) { // Revive dead character before warping.
pc->setstand(sd);
- pc->setrestartvalue(sd,1);
+ pc->setrestartvalue(sd, 1);
}
- if( map->list[m].flag.src4instance ) {
- struct party_data *p;
+ if (map->list[map_id].flag.src4instance != 0) {
bool stop = false;
- int i = 0, j = 0;
- if( sd->instances ) {
- for( i = 0; i < sd->instances; i++ ) {
- if( sd->instance[i] >= 0 ) {
- ARR_FIND(0, instance->list[sd->instance[i]].num_map, j, map->list[instance->list[sd->instance[i]].map[j]].instance_src_map == m && !map->list[instance->list[sd->instance[i]].map[j]].custom_name);
- if( j != instance->list[sd->instance[i]].num_map )
+ if (sd->instances != 0) {
+ int i, j = 0;
+
+ for (i = 0; i < sd->instances; i++) {
+ if (sd->instance[i] >= 0) {
+ ARR_FIND(0, instance->list[sd->instance[i]].num_map, j,
+ map->list[instance->list[sd->instance[i]].map[j]].instance_src_map == map_id
+ && !map->list[instance->list[sd->instance[i]].map[j]].custom_name);
+
+ if (j != instance->list[sd->instance[i]].num_map)
break;
}
}
- if( i != sd->instances ) {
- m = instance->list[sd->instance[i]].map[j];
- map_index = map_id2index(m);
+
+ if (i != sd->instances) {
+ map_id = instance->list[sd->instance[i]].map[j];
+ map_index = map_id2index(map_id);
stop = true;
}
}
- if ( !stop && sd->status.party_id && (p = party->search(sd->status.party_id)) != NULL && p->instances ) {
- for( i = 0; i < p->instances; i++ ) {
- if( p->instance[i] >= 0 ) {
- ARR_FIND(0, instance->list[p->instance[i]].num_map, j, map->list[instance->list[p->instance[i]].map[j]].instance_src_map == m && !map->list[instance->list[p->instance[i]].map[j]].custom_name);
- if( j != instance->list[p->instance[i]].num_map )
+
+ struct party_data *p = party->search(sd->status.party_id);
+
+ if (!stop && sd->status.party_id != 0 && p != NULL && p->instances != 0) {
+ int i, j = 0;
+
+ for (i = 0; i < p->instances; i++) {
+ if (p->instance[i] >= 0) {
+ ARR_FIND(0, instance->list[p->instance[i]].num_map, j,
+ map->list[instance->list[p->instance[i]].map[j]].instance_src_map == map_id
+ && !map->list[instance->list[p->instance[i]].map[j]].custom_name);
+
+ if (j != instance->list[p->instance[i]].num_map)
break;
}
}
- if( i != p->instances ) {
- m = instance->list[p->instance[i]].map[j];
- map_index = map_id2index(m);
+
+ if (i != p->instances) {
+ map_id = instance->list[p->instance[i]].map[j];
+ map_index = map_id2index(map_id);
stop = true;
}
}
- if ( !stop && sd->status.guild_id && sd->guild && sd->guild->instances ) {
- for( i = 0; i < sd->guild->instances; i++ ) {
- if( sd->guild->instance[i] >= 0 ) {
- ARR_FIND(0, instance->list[sd->guild->instance[i]].num_map, j, map->list[instance->list[sd->guild->instance[i]].map[j]].instance_src_map == m && !map->list[instance->list[sd->guild->instance[i]].map[j]].custom_name);
- if( j != instance->list[sd->guild->instance[i]].num_map )
+
+ if (!stop && sd->status.guild_id != 0 && sd->guild != NULL && sd->guild->instances != 0) {
+ int i, j = 0;
+
+ for (i = 0; i < sd->guild->instances; i++) {
+ if (sd->guild->instance[i] >= 0) {
+ ARR_FIND(0, instance->list[sd->guild->instance[i]].num_map, j,
+ map->list[instance->list[sd->guild->instance[i]].map[j]].instance_src_map == map_id
+ && !map->list[instance->list[sd->guild->instance[i]].map[j]].custom_name);
+
+ if (j != instance->list[sd->guild->instance[i]].num_map)
break;
}
}
- if( i != sd->guild->instances ) {
- m = instance->list[sd->guild->instance[i]].map[j];
- map_index = map_id2index(m);
- //stop = true; Uncomment if adding new checks
+
+ if (i != sd->guild->instances) {
+ map_id = instance->list[sd->guild->instance[i]].map[j];
+ map_index = map_id2index(map_id);
+ //stop = true; Uncomment when adding new checks.
}
}
- /* we hit a instance, if empty we populate the spawn data */
- if( map->list[m].instance_id >= 0 && instance->list[map->list[m].instance_id].respawn.map == 0 &&
- instance->list[map->list[m].instance_id].respawn.x == 0 &&
- instance->list[map->list[m].instance_id].respawn.y == 0) {
- instance->list[map->list[m].instance_id].respawn.map = map_index;
- instance->list[map->list[m].instance_id].respawn.x = x;
- instance->list[map->list[m].instance_id].respawn.y = y;
+ // We hit an instance. If empty we populate the spawn data.
+ if (map->list[map_id].instance_id >= 0 && instance->list[map->list[map_id].instance_id].respawn.map == 0
+ && instance->list[map->list[map_id].instance_id].respawn.x == 0
+ && instance->list[map->list[map_id].instance_id].respawn.y == 0) {
+ instance->list[map->list[map_id].instance_id].respawn.map = map_index;
+ instance->list[map->list[map_id].instance_id].respawn.x = x;
+ instance->list[map->list[map_id].instance_id].respawn.y = y;
}
}
- sd->state.changemap = (sd->mapindex != map_index);
+ sd->state.changemap = (sd->mapindex != map_index) ? 1 : 0;
sd->state.warping = 1;
sd->state.workinprogress = 0;
- if( sd->state.changemap ) { // Misc map-changing settings
- int i;
+
+ if (sd->state.changemap != 0) { // Miscellaneous map-changing settings.
sd->state.pmap = sd->bl.m;
- for (i = 0; i < VECTOR_LENGTH(sd->script_queues); i++) {
+ for (int i = 0; i < VECTOR_LENGTH(sd->script_queues); i++) {
struct script_queue *queue = script->queue(VECTOR_INDEX(sd->script_queues, i));
- if (queue && queue->event_mapchange[0] != '\0') {
- pc->setregstr(sd, script->add_variable("@Queue_Destination_Map$"), map->list[m].name);
+
+ if (queue != NULL && queue->event_mapchange[0] != '\0') {
+ pc->setregstr(sd, script->add_variable("@Queue_Destination_Map$"), map->list[map_id].name);
npc->event(sd, queue->event_mapchange, 0);
}
}
- if( map->list[m].cell == (struct mapcell *)0xdeadbeaf )
- map->cellfromcache(&map->list[m]);
- if (sd->sc.count) { // Cancel some map related stuff.
- if (sd->sc.data[SC_JAILED])
- return 1; //You may not get out!
+ if (map->list[map_id].cell == (struct mapcell *)0xdeadbeaf)
+ map->cellfromcache(&map->list[map_id]);
+
+ if (sd->sc.count != 0) { // Cancel some map related stuff.
+ if (sd->sc.data[SC_JAILED] != NULL)
+ return 4; // You may not get out!
+
status_change_end(&sd->bl, SC_CASH_BOSS_ALARM, INVALID_TIMER);
status_change_end(&sd->bl, SC_WARM, INVALID_TIMER);
status_change_end(&sd->bl, SC_SUN_COMFORT, INVALID_TIMER);
status_change_end(&sd->bl, SC_MOON_COMFORT, INVALID_TIMER);
status_change_end(&sd->bl, SC_STAR_COMFORT, INVALID_TIMER);
status_change_end(&sd->bl, SC_MIRACLE, INVALID_TIMER);
- status_change_end(&sd->bl, SC_NEUTRALBARRIER_MASTER, INVALID_TIMER);//Will later check if this is needed. [Rytech]
+ status_change_end(&sd->bl, SC_NEUTRALBARRIER_MASTER, INVALID_TIMER); // Will later check if this is needed. [Rytech]
status_change_end(&sd->bl, SC_NEUTRALBARRIER, INVALID_TIMER);
status_change_end(&sd->bl, SC_STEALTHFIELD_MASTER, INVALID_TIMER);
status_change_end(&sd->bl, SC_STEALTHFIELD, INVALID_TIMER);
- if (sd->sc.data[SC_KNOWLEDGE]) {
+
+ if (sd->sc.data[SC_KNOWLEDGE] != NULL) {
struct status_change_entry *sce = sd->sc.data[SC_KNOWLEDGE];
+
if (sce->timer != INVALID_TIMER)
timer->delete(sce->timer, status->change_timer);
- sce->timer = timer->add(timer->gettick() + skill->get_time(SG_KNOWLEDGE, sce->val1), status->change_timer, sd->bl.id, SC_KNOWLEDGE);
+
+ sce->timer = timer->add(timer->gettick() + skill->get_time(SG_KNOWLEDGE, sce->val1),
+ status->change_timer, sd->bl.id, SC_KNOWLEDGE);
}
+
status_change_end(&sd->bl, SC_PROPERTYWALK, INVALID_TIMER);
status_change_end(&sd->bl, SC_CLOAKING, INVALID_TIMER);
status_change_end(&sd->bl, SC_CLOAKINGEXCEED, INVALID_TIMER);
}
- for( i = 0; i < EQI_MAX; i++ ) {
- if( sd->equip_index[ i ] >= 0 )
- if( !pc->isequip( sd , sd->equip_index[ i ] ) )
- pc->unequipitem(sd, sd->equip_index[i], PCUNEQUIPITEM_FORCE);
+
+ for (int i = 0; i < EQI_MAX; i++) {
+ if (sd->equip_index[i] >= 0 && pc->isequip(sd , sd->equip_index[i]) == 0)
+ pc->unequipitem(sd, sd->equip_index[i], PCUNEQUIPITEM_FORCE);
}
- if (battle_config.clear_unit_onwarp&BL_PC)
+
+ if ((battle_config.clear_unit_onwarp & BL_PC) != 0)
skill->clear_unitgroup(&sd->bl);
- party->send_dot_remove(sd); //minimap dot fix [Kevin]
+
+ party->send_dot_remove(sd); // Minimap dot fix. [Kevin]
guild->send_dot_remove(sd);
bg->send_dot_remove(sd);
- if (sd->regen.state.gc)
+
+ if (sd->regen.state.gc != 0)
sd->regen.state.gc = 0;
- // make sure vending is allowed here
- if (sd->state.vending && map->list[m].flag.novending) {
- clif->message (sd->fd, msg_sd(sd,276)); // "You can't open a shop on this map"
+
+ // Make sure that vending is allowed here.
+ if (sd->state.vending != 0 && map->list[map_id].flag.novending != 0) {
+ clif->message(sd->fd, msg_sd(sd, 276)); // "You can't open a shop on this map"
vending->close(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);
- }
- }
+ if (sd->mapindex != 0 && map->list[sd->bl.m].channel != NULL) // Only if the character is already on a map.
+ channel->leave(map->list[sd->bl.m].channel, sd);
}
- if( m < 0 ) {
+ if (map_id < 0) {
uint32 ip;
uint16 port;
- //if can't find any map-servers, just abort setting position.
- if(!sd->mapindex || map->mapname2ipport(map_index,&ip,&port))
+
+ // If can't find any map-servers, just abort setting position.
+ if (sd->mapindex == 0 || map->mapname2ipport(map_index, &ip, &port) != 0)
return 2;
- if (sd->npc_id)
+ if (sd->npc_id != 0)
npc->event_dequeue(sd);
+
npc->script_event(sd, NPCE_LOGOUT);
- //remove from map, THEN change x/y coordinates
- unit->remove_map_pc(sd,clrtype);
+
+ // Remove from map, THEN change x/y coordinates.
+ unit->remove_map_pc(sd, clrtype);
+
if (battle_config.player_warp_keep_direction == 0)
- sd->ud.dir = 0; // makes character face north
+ sd->ud.dir = 0; /// Make character facing north.
+
sd->mapindex = map_index;
- sd->bl.x=x;
- sd->bl.y=y;
+ sd->bl.x= x;
+ sd->bl.y= y;
pc->clean_skilltree(sd);
- chrif->save(sd,2);
- chrif->changemapserver(sd, ip, (short)port);
+ chrif->save(sd, 2);
+ chrif->changemapserver(sd, ip, port);
- //Free session data from this map server [Kevin]
+ // Free session data from this map server. [Kevin]
unit->free_pc(sd);
return 0;
}
- if( x < 0 || x >= map->list[m].xs || y < 0 || y >= map->list[m].ys ) {
- ShowError("pc_setpos: attempt to place player %s (%d:%d) on invalid coordinates (%s-%d,%d)\n", sd->status.name, sd->status.account_id, sd->status.char_id, mapindex_id2name(map_index),x,y);
- x = y = 0; // make it random
+ if (x < 0 || x >= map->list[map_id].xs || y < 0 || y >= map->list[map_id].ys) { // Invalid coordinates. Randomize them.
+ ShowError("pc_setpos: Attempt to place player %s (%d:%d) on invalid coordinates (%s-%d,%d)!\n",
+ sd->status.name, sd->status.account_id, sd->status.char_id,
+ mapindex_id2name(map_index), x, y);
+ x = 0;
+ y = 0;
}
- if( x == 0 && y == 0 ) {// pick a random walkable cell
+ if (x == 0 && y == 0) { // Pick a random walkable cell.
do {
- x=rnd()%(map->list[m].xs-2)+1;
- y=rnd()%(map->list[m].ys-2)+1;
- } while(map->getcell(m, &sd->bl, x, y, CELL_CHKNOPASS));
+ x = rnd() % (map->list[map_id].xs - 2) + 1;
+ y = rnd() % (map->list[map_id].ys - 2) + 1;
+ } while(map->getcell(map_id, &sd->bl, x, y, CELL_CHKNOPASS) != 0);
}
- if (sd->state.vending && map->getcell(m, &sd->bl, x, y, CELL_CHKNOVENDING)) {
- clif->message (sd->fd, msg_sd(sd,204)); // "You can't open a shop on this cell."
+ if (sd->state.vending != 0 && map->getcell(map_id, &sd->bl, x, y, CELL_CHKNOVENDING) != 0) {
+ clif->message(sd->fd, msg_sd(sd, 204)); // "You can't open a shop on this cell."
vending->close(sd);
}
if (battle_config.player_warp_keep_direction == 0)
- sd->ud.dir = 0; // makes character face north
+ sd->ud.dir = 0; // Make character facing north.
- if(sd->bl.prev != NULL){
- unit->remove_map_pc(sd,clrtype);
- clif->changemap(sd,m,x,y); // [MouseJstr]
- } else if(sd->state.active)
- //Tag player for rewarping after map-loading is done. [Skotlex]
- sd->state.rewarp = 1;
+ if (sd->bl.prev != NULL) {
+ unit->remove_map_pc(sd, clrtype);
+ clif->changemap(sd, map_id, x, y); // [MouseJstr]
+ } else if (sd->state.active != 0) {
+ sd->state.rewarp = 1; // Tag character for re-warping after map-loading is done. [Skotlex]
+ }
sd->mapindex = map_index;
- sd->bl.m = m;
- sd->bl.x = sd->ud.to_x = x;
- sd->bl.y = sd->ud.to_y = y;
+ sd->bl.m = map_id;
+ sd->bl.x = x;
+ sd->bl.y = y;
+ sd->ud.to_x = x;
+ sd->ud.to_y = y;
- if( sd->status.guild_id > 0 && map->list[m].flag.gvg_castle ) { // Increased guild castle regen [Valaris]
+ if (sd->status.guild_id > 0 && map->list[map_id].flag.gvg_castle != 0) { // Double regeneration in guild castle. [Valaris]
struct guild_castle *gc = guild->mapindex2gc(sd->mapindex);
- if(gc && gc->guild_id == sd->status.guild_id)
+
+ if (gc != NULL && gc->guild_id == sd->status.guild_id)
sd->regen.state.gc = 1;
}
- if( sd->status.pet_id > 0 && sd->pd && sd->pd->pet.intimate > 0 ) {
- sd->pd->bl.m = m;
- sd->pd->bl.x = sd->pd->ud.to_x = x;
- sd->pd->bl.y = sd->pd->ud.to_y = y;
+ if (sd->status.pet_id > 0 && sd->pd != NULL && sd->pd->pet.intimate > PET_INTIMACY_NONE) {
+ sd->pd->bl.m = map_id;
+ sd->pd->bl.x = x;
+ sd->pd->bl.y = y;
+ sd->pd->ud.to_x = x;
+ sd->pd->ud.to_y = y;
sd->pd->ud.dir = sd->ud.dir;
}
- if( homun_alive(sd->hd) ) {
- sd->hd->bl.m = m;
- sd->hd->bl.x = sd->hd->ud.to_x = x;
- sd->hd->bl.y = sd->hd->ud.to_y = y;
+ if (homun_alive(sd->hd)) {
+ sd->hd->bl.m = map_id;
+ sd->hd->bl.x = x;
+ sd->hd->bl.y = y;
+ sd->hd->ud.to_x = x;
+ sd->hd->ud.to_y = y;
sd->hd->ud.dir = sd->ud.dir;
}
- if( sd->md ) {
- sd->md->bl.m = m;
- sd->md->bl.x = sd->md->ud.to_x = x;
- sd->md->bl.y = sd->md->ud.to_y = y;
+ if (sd->md != NULL) {
+ sd->md->bl.m = map_id;
+ sd->md->bl.x = x;
+ sd->md->bl.y = y;
+ sd->md->ud.to_x = x;
+ sd->md->ud.to_y = y;
sd->md->ud.dir = sd->ud.dir;
}
- /* given autotrades have no clients you have to trigger this manually otherwise they get stuck in memory limbo bugreport:7495 */
- if( sd->state.autotrade )
- clif->pLoadEndAck(0,sd);
+ // Given autotrades have no clients. You have to trigger this manually, otherwise they get stuck in memory limbo. (bugreport:7495)
+ if (sd->state.autotrade != 0)
+ clif->pLoadEndAck(0, sd);
return 0;
}
@@ -6963,7 +7017,7 @@ static int pc_checkjoblevelup(struct map_session_data *sd)
status_calc_pc(sd,SCO_FORCE);
clif->misceffect(&sd->bl,1);
if (pc->checkskill(sd, SG_DEVIL) && !pc->nextjobexp(sd))
- clif->status_change(&sd->bl,SI_DEVIL1, 1, 0, 0, 0, 1); //Permanent blind effect from SG_DEVIL.
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_DEVIL1), status->get_sc_relevant_bl_types(SC_DEVIL1), 1, 0, 0, 0, 1); //Permanent blind effect from SG_DEVIL.
npc->script_event(sd, NPCE_JOBLVUP);
@@ -7131,11 +7185,16 @@ static bool pc_gainexp(struct map_session_data *sd, struct block_list *src, uint
if(sd->state.showexp) {
char output[256];
sprintf(output,
- "Experience Gained Base:%"PRIu64" (%.2f%%) Job:%"PRIu64" (%.2f%%)",
+ msg_sd(sd, 889), // Experience Gained Base:%"PRIu64" (%.2f%%) Job:%"PRIu64" (%.2f%%)
base_exp, nextbp * (float)100, job_exp, nextjp * (float)100);
clif_disp_onlyself(sd, output);
}
+ // Share master EXP to homunculus
+ if (sd->hd != NULL && battle_config.hom_bonus_exp_from_master > 0) {
+ homun->gainexp(sd->hd, apply_percentrate((int)base_exp, battle_config.hom_bonus_exp_from_master, 100));
+ }
+
return true;
}
@@ -7352,34 +7411,33 @@ static int pc_maxparameterincrease(struct map_session_data *sd, int type)
*/
static bool pc_statusup(struct map_session_data *sd, int type, int increase)
{
- int max_increase = 0, current = 0, needed_points = 0, final_value = 0;
-
nullpo_ret(sd);
+ int realIncrease = increase;
// check conditions
- if (type < SP_STR || type > SP_LUK || increase <= 0) {
- clif->statusupack(sd, type, 0, 0);
+ if (type < SP_STR || type > SP_LUK || realIncrease <= 0) {
+ clif->statusupack(sd, type, 0, increase);
return false;
}
// check limits
- current = pc->getstat(sd, type);
- max_increase = pc->maxparameterincrease(sd, type);
- increase = cap_value(increase, 0, max_increase); // cap to the maximum status points available
- if (increase <= 0 || current + increase > pc_maxparameter(sd)) {
- clif->statusupack(sd, type, 0, 0);
+ int current = pc->getstat(sd, type);
+ int max_increase = pc->maxparameterincrease(sd, type);
+ realIncrease = cap_value(realIncrease, 0, max_increase); // cap to the maximum status points available
+ if (realIncrease <= 0 || current + realIncrease > pc_maxparameter(sd)) {
+ clif->statusupack(sd, type, 0, increase);
return false;
}
// check status points
- needed_points = pc->need_status_point(sd, type, increase);
+ int needed_points = pc->need_status_point(sd, type, realIncrease);
if (needed_points < 0 || needed_points > sd->status.status_point) { // Sanity check
- clif->statusupack(sd, type, 0, 0);
+ clif->statusupack(sd, type, 0, increase);
return false;
}
// set new values
- final_value = pc->setstat(sd, type, current + increase);
+ int final_value = pc->setstat(sd, type, current + realIncrease);
sd->status.status_point -= needed_points;
status_calc_pc(sd, SCO_NONE);
@@ -7729,7 +7787,7 @@ static int pc_resetskill(struct map_session_data *sd, int flag)
return 0;
if( pc->checkskill(sd, SG_DEVIL) && !pc->nextjobexp(sd) ) //Remove perma blindness due to skill-reset. [Skotlex]
- clif->sc_end(&sd->bl, sd->bl.id, SELF, SI_DEVIL1);
+ clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_DEVIL1));
i = sd->sc.option;
if( i&OPTION_RIDING && pc->checkskill(sd, KN_RIDING) )
i &= ~OPTION_RIDING;
@@ -7754,7 +7812,7 @@ static int pc_resetskill(struct map_session_data *sd, int flag)
pc->setoption(sd, i);
if( homun_alive(sd->hd) && pc->checkskill(sd, AM_CALLHOMUN) )
- homun->vaporize(sd, HOM_ST_REST);
+ homun->vaporize(sd, HOM_ST_REST, true);
if ((sd->sc.data[SC_SPRITEMABLE] && pc->checkskill(sd, SU_SPRITEMABLE)))
status_change_end(&sd->bl, SC_SPRITEMABLE, INVALID_TIMER);
@@ -7995,7 +8053,7 @@ static void pc_damage(struct map_session_data *sd, struct block_list *src, unsig
if( sd->status.pet_id > 0 && sd->pd && battle_config.pet_damage_support )
pet->target_check(sd,src,1);
- if( sd->status.ele_id > 0 )
+ if (sd->status.ele_id != 0 && sd->ed != NULL)
elemental->set_target(sd,src);
if (battle_config.prevent_logout_trigger & PLT_DAMAGE)
@@ -8010,163 +8068,177 @@ static void pc_damage(struct map_session_data *sd, struct block_list *src, unsig
}
}
-/*==========================================
- * Invoked when a player has negative current hp
- *------------------------------------------*/
+/**
+ * Invoked when a character died.
+ *
+ * @param sd The died character.
+ * @param src The unit which caused the death.
+ * @retval 0 Death canceled.
+ * @retval 1 Standard death.
+ * @retval 9 Died in PVP/GVG/BG.
+ *
+ **/
static int pc_dead(struct map_session_data *sd, struct block_list *src)
{
- int i=0,j=0;
- int64 tick = timer->gettick();
+ nullpo_ret(sd);
- nullpo_retr(0, sd);
+ for (int i = 0; i < MAX_PC_DEVOTION; i++) {
+ if (sd->devotion[i] != 0) {
+ struct map_session_data *devsd = map->id2sd(sd->devotion[i]);
- for (j = 0; j < MAX_PC_DEVOTION; j++) {
- if (sd->devotion[j]) {
- struct map_session_data *devsd = map->id2sd(sd->devotion[j]);
- if (devsd)
+ if (devsd != NULL)
status_change_end(&devsd->bl, SC_DEVOTION, INVALID_TIMER);
- sd->devotion[j] = 0;
+
+ sd->devotion[i] = 0;
}
}
- if(sd->status.pet_id > 0 && sd->pd) {
+ if (sd->status.pet_id > 0 && sd->pd != NULL) {
struct pet_data *pd = sd->pd;
- if( !map->list[sd->bl.m].flag.noexppenalty ) {
+
+ if (map->list[sd->bl.m].flag.noexppenalty == 0) {
pet->set_intimate(pd, pd->pet.intimate - pd->petDB->die);
- if( pd->pet.intimate < 0 )
- pd->pet.intimate = 0;
- clif->send_petdata(sd,sd->pd,1,pd->pet.intimate);
+ clif->send_petdata(sd, sd->pd, 1, pd->pet.intimate);
}
- if( sd->pd->target_id ) // Unlock all targets...
+
+ if (sd->pd->target_id != 0) // Unlock all targets.
pet->unlocktarget(sd->pd);
}
- if (sd->status.hom_id > 0){
- if(battle_config.homunculus_auto_vapor && sd->hd)
- homun->vaporize(sd, HOM_ST_REST);
- }
+ if (sd->status.hom_id > 0 && sd->hd != NULL && battle_config.homunculus_auto_vapor != 0)
+ homun->vaporize(sd, HOM_ST_REST, true);
- if( sd->md )
- mercenary->delete(sd->md, 3); // Your mercenary soldier has ran away.
+ if (sd->md != NULL)
+ mercenary->delete(sd->md, 3); // Your mercenary soldier ran away.
- if( sd->ed )
+ if (sd->ed != NULL)
elemental->delete(sd->ed, 0);
- // Leave duel if you die [LuzZza]
- if(battle_config.duel_autoleave_when_die) {
- if(sd->duel_group > 0)
+ if (battle_config.duel_autoleave_when_die != 0) { // Leave duel if character died. [LuzZza]
+ if (sd->duel_group > 0)
duel->leave(sd->duel_group, sd);
- if(sd->duel_invite > 0)
+ if (sd->duel_invite > 0)
duel->reject(sd->duel_invite, sd);
}
- if (sd->npc_id && sd->st && sd->st->state != RUN)
+ if (sd->npc_id != 0 && sd->st != NULL && sd->st->state != RUN)
npc->event_dequeue(sd);
- pc_setglobalreg(sd,script->add_variable("PC_DIE_COUNTER"),sd->die_counter+1);
- pc->setparam(sd, SP_KILLERRID, src?src->id:0);
+ pc_setglobalreg(sd, script->add_variable("PC_DIE_COUNTER"), sd->die_counter + 1);
+ pc->setparam(sd, SP_KILLERRID, (src != NULL) ? src->id : 0);
+
+ if (sd->bg_id != 0) { //TODO: Purge when bgqueue is deemed ok.
+ struct battleground_data *bgd = bg->team_search(sd->bg_id);
- if( sd->bg_id ) {/* TODO: purge when bgqueue is deemed ok */
- struct battleground_data *bgd;
- if( (bgd = bg->team_search(sd->bg_id)) != NULL && bgd->die_event[0] )
+ if (bgd != NULL && bgd->die_event[0] != '\0')
npc->event(sd, bgd->die_event, 0);
}
- for (i = 0; i < VECTOR_LENGTH(sd->script_queues); i++ ) {
+ for (int i = 0; i < VECTOR_LENGTH(sd->script_queues); i++) {
struct script_queue *queue = script->queue(VECTOR_INDEX(sd->script_queues, i));
- if (queue && queue->event_death[0] != '\0')
+
+ if (queue != NULL && queue->event_death[0] != '\0')
npc->event(sd, queue->event_death, 0);
}
- npc->script_event(sd,NPCE_DIE);
+ npc->script_event(sd, NPCE_DIE);
- // Clear anything NPC-related when you die and was interacting with one.
- if ( (sd->npc_id || sd->npc_shopid) && sd->state.dialog) {
- if (sd->state.using_fake_npc) {
+ // Clear anything NPC-related if character died while interacting with one.
+ if ((sd->npc_id != 0 || sd->npc_shopid != 0) && sd->state.dialog != 0) {
+ if (sd->state.using_fake_npc != 0) {
clif->clearunit_single(sd->npc_id, CLR_OUTSIGHT, sd->fd);
sd->state.using_fake_npc = 0;
}
- if (sd->state.menu_or_input)
+
+ if (sd->state.menu_or_input != 0)
sd->state.menu_or_input = 0;
- if (sd->npc_menu)
+
+ if (sd->npc_menu != 0)
sd->npc_menu = 0;
sd->npc_id = 0;
sd->npc_shopid = 0;
- if (sd->st && sd->st->state != END)
+
+ if (sd->st != NULL && sd->st->state != END)
sd->st->state = END;
}
- /* e.g. not killed through pc->damage */
- if( pc_issit(sd) ) {
- clif->sc_end(&sd->bl,sd->bl.id,SELF,SI_SIT);
- }
+ // E.g. not killed through pc->damage().
+ if (pc_issit(sd))
+ clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SIT));
pc_setdead(sd);
-
clif->party_dead_notification(sd);
- //Reset menu skills/item skills
- if (sd->skillitem)
- sd->skillitem = sd->skillitemlv = 0;
- if (sd->menuskill_id)
- sd->menuskill_id = sd->menuskill_val = 0;
- //Reset ticks.
- sd->hp_loss.tick = sd->sp_loss.tick = sd->hp_regen.tick = sd->sp_regen.tick = 0;
+ pc->autocast_clear(sd); // Unset auto-cast data.
+
+ if (sd->menuskill_id != 0) { // Reset menu skills.
+ sd->menuskill_id = 0;
+ sd->menuskill_val = 0;
+ }
+
+ // Reset ticks.
+ sd->hp_loss.tick = 0;
+ sd->sp_loss.tick = 0;
+ sd->hp_regen.tick = 0;
+ sd->sp_regen.tick = 0;
- if ( sd->spiritball )
+ if (sd->spiritball != 0)
pc->delspiritball(sd, sd->spiritball, 0);
+
if (sd->charm_type != CHARM_TYPE_NONE && sd->charm_count > 0)
pc->del_charm(sd, sd->charm_count, sd->charm_type);
+ int64 tick = timer->gettick();
+
if (src != NULL) {
switch (src->type) {
- case BL_MOB:
- {
- struct mob_data *md = BL_UCAST(BL_MOB, src);
- if (md->target_id==sd->bl.id)
- mob->unlocktarget(md,tick);
- if (battle_config.mobs_level_up && md->status.hp
- && md->level < pc->maxbaselv(sd)
- && !md->guardian_data && md->special_state.ai == AI_NONE// Guardians/summons should not level. [Skotlex]
- ) {
- // monster level up [Valaris]
- clif->misceffect(&md->bl,0);
- md->level++;
- status_calc_mob(md, SCO_NONE);
- status_percent_heal(src,10,0);
-
- if( battle_config.show_mob_info&4 )
- {// update name with new level
- clif->charnameack(0, &md->bl);
- }
- }
- src = battle->get_master(src); // Maybe Player Summon
+ case BL_MOB: {
+ struct mob_data *md = BL_UCAST(BL_MOB, src);
+
+ if (md->target_id == sd->bl.id)
+ mob->unlocktarget(md, tick);
+
+ if (battle_config.mobs_level_up != 0 && md->status.hp != 0 && md->level < pc->maxbaselv(sd)
+ && md->guardian_data == NULL && md->special_state.ai == AI_NONE) { // Guardians/summons should not level up. [Skotlex]
+ /// Monster level up. [Valaris]
+ clif->misceffect(&md->bl, 0);
+ md->level++;
+ status_calc_mob(md, SCO_NONE);
+ status_percent_heal(src, 10, 0);
+
+ if ((battle_config.show_mob_info & 4) != 0)
+ clif->blname_ack(0, &md->bl); // Update name with new level.
}
+
+ src = battle->get_master(src); // Maybe character summon.
break;
- case BL_PET: //Pass on to master...
- src = &BL_UCAST(BL_PET, src)->msd->bl;
+ }
+ case BL_PET:
+ src = &BL_UCAST(BL_PET, src)->msd->bl; // Pass on to master.
break;
- case BL_HOM:
- src = &BL_UCAST(BL_HOM, src)->master->bl;
+ case BL_HOM:
+ src = &BL_UCAST(BL_HOM, src)->master->bl; // Pass on to master.
break;
- case BL_MER:
- src = &BL_UCAST(BL_MER, src)->master->bl;
+ case BL_MER:
+ src = &BL_UCAST(BL_MER, src)->master->bl; // Pass on to master.
break;
}
}
if (src != NULL && src->type == BL_PC) {
struct map_session_data *ssd = BL_UCAST(BL_PC, src);
+
pc->setparam(ssd, SP_KILLEDRID, sd->bl.id);
npc->script_event(ssd, NPCE_KILLPC);
+ achievement->validate_pc_kill(ssd, sd);
- achievement->validate_pc_kill(ssd, sd); // Achievements [Smokexyz/Hercules]
-
- if (battle_config.pk_mode&2) {
+ if ((battle_config.pk_mode & 2) != 0) {
ssd->status.manner -= 5;
- if(ssd->status.manner < 0)
- sc_start(NULL,src,SC_NOCHAT,100,0,0);
+
+ if (ssd->status.manner < 0)
+ sc_start(NULL, src, SC_NOCHAT, 100, 0, 0);
+
#if 0
// PK/Karma system code (not enabled yet) [celest]
// originally from Kade Online, so i don't know if any of these is correct ^^;
@@ -8178,14 +8250,15 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
// If player killed was more evil
sd->status.karma--;
ssd->status.karma--;
- }
- else if (sd->status.karma < ssd->status.karma) // If player killed was more good
+ } else if (sd->status.karma < ssd->status.karma) { // If player killed was more good
ssd->status.karma++;
+ }
// or the PK System way...
if (sd->status.karma > 0) // player killed is dishonourable?
ssd->status.karma--; // honour points earned
+
sd->status.karma++; // honour points lost
// To-do: Receive exp on certain occasions
@@ -8193,136 +8266,156 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
}
}
- if( battle_config.bone_drop==2
- || (battle_config.bone_drop==1 && map->list[sd->bl.m].flag.pvp)
- ) {
+ if (battle_config.bone_drop == 2 || (battle_config.bone_drop == 1 && map->list[sd->bl.m].flag.pvp != 0)) {
struct item item_tmp;
- memset(&item_tmp,0,sizeof(item_tmp));
- item_tmp.nameid=ITEMID_SKULL_;
- item_tmp.identify=1;
- item_tmp.card[0]=CARD0_CREATE;
- item_tmp.card[1]=0;
- item_tmp.card[2]=GetWord(sd->status.char_id,0); // CharId
- item_tmp.card[3]=GetWord(sd->status.char_id,1);
+
+ memset(&item_tmp, 0, sizeof(item_tmp));
+ item_tmp.nameid = ITEMID_SKULL_;
+ item_tmp.identify = 1;
+ item_tmp.card[0] = CARD0_CREATE;
+ item_tmp.card[1] = 0;
+ item_tmp.card[2] = GetWord(sd->status.char_id, 0);
+ item_tmp.card[3] = GetWord(sd->status.char_id, 1);
map->addflooritem(&sd->bl, &item_tmp, 1, sd->bl.m, sd->bl.x, sd->bl.y, 0, 0, 0, 0, false);
}
- // activate Steel body if a super novice dies at 99+% exp [celest]
- if ((sd->job & MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && !sd->state.snovice_dead_flag) {
+ // Activate Steel Body if a Super Novice dies at 99+% EXP. [celest]
+ if ((sd->job & MAPID_UPPERMASK) == MAPID_SUPER_NOVICE && sd->state.snovice_dead_flag == 0) {
uint64 next = pc->nextbaseexp(sd);
- if( next == 0 ) next = pc->thisbaseexp(sd);
+
+ if (next == 0)
+ next = pc->thisbaseexp(sd);
+
if (get_percentage64(sd->status.base_exp, next) >= 99) {
sd->state.snovice_dead_flag = 1;
pc->setstand(sd);
status_percent_heal(&sd->bl, 100, 100);
clif->resurrection(&sd->bl, 1);
- if(battle_config.pc_invincible_time)
+
+ if (battle_config.pc_invincible_time != 0)
pc->setinvincibletimer(sd, battle_config.pc_invincible_time);
- sc_start(NULL,&sd->bl,status->skill2sc(MO_STEELBODY),100,1,skill->get_time(MO_STEELBODY,1));
- if(map_flag_gvg2(sd->bl.m))
+
+ sc_start(NULL, &sd->bl, status->skill2sc(MO_STEELBODY), 100, 1, skill->get_time(MO_STEELBODY, 1));
+
+ if (map_flag_gvg2(sd->bl.m))
pc->respawn_timer(INVALID_TIMER, timer->gettick(), sd->bl.id, 0);
+
return 0;
}
}
- // changed penalty options, added death by player if pk_mode [Valaris]
- if (battle_config.death_penalty_type
- && pc->isDeathPenaltyJob(sd->job)
- && !map->list[sd->bl.m].flag.noexppenalty && !map_flag_gvg2(sd->bl.m)
- && !sd->sc.data[SC_BABY] && !sd->sc.data[SC_CASH_DEATHPENALTY]
- ) {
+ if (battle_config.death_penalty_type != 0 && pc->isDeathPenaltyJob(sd->job) && !map_flag_gvg2(sd->bl.m)
+ && map->list[sd->bl.m].flag.noexppenalty == 0 && sd->sc.data[SC_BABY] == NULL
+ && sd->sc.data[SC_CASH_DEATHPENALTY] == NULL && !pc->auto_exp_insurance(sd)) {
if (battle_config.death_penalty_base > 0) {
unsigned int base_penalty = 0;
+ int rate = battle_config.death_penalty_base;
+
switch (battle_config.death_penalty_type) {
- case 1:
- base_penalty = (unsigned int) apply_percentrate64(pc->nextbaseexp(sd), battle_config.death_penalty_base, 10000);
- break;
- case 2:
- base_penalty = (unsigned int) apply_percentrate64(sd->status.base_exp, battle_config.death_penalty_base, 10000);
- break;
+ case 1:
+ base_penalty = (unsigned int)apply_percentrate64(pc->nextbaseexp(sd), rate, 10000);
+ break;
+ case 2:
+ base_penalty = (unsigned int)apply_percentrate64(sd->status.base_exp, rate, 10000);
+ break;
}
if (base_penalty != 0) {
- if (battle_config.pk_mode && src && src->type==BL_PC)
- base_penalty*=2;
- if( sd->status.mod_death != 100 )
- base_penalty = base_penalty * sd->status.mod_death / 100;
+ if (battle_config.pk_mode != 0 && src != NULL && src->type == BL_PC)
+ base_penalty *= 2;
+
+ if (sd->status.mod_death != 100)
+ base_penalty *= sd->status.mod_death / 100;
+
sd->status.base_exp -= min(sd->status.base_exp, base_penalty);
- clif->updatestatus(sd,SP_BASEEXP);
+ clif->updatestatus(sd, SP_BASEEXP);
}
}
- if(battle_config.death_penalty_job > 0) {
+ if (battle_config.death_penalty_job > 0) {
unsigned int job_penalty = 0;
+ int rate = battle_config.death_penalty_job;
switch (battle_config.death_penalty_type) {
- case 1:
- job_penalty = (unsigned int) apply_percentrate64(pc->nextjobexp(sd), battle_config.death_penalty_job, 10000);
- break;
- case 2:
- job_penalty = (unsigned int) apply_percentrate64(sd->status.job_exp, battle_config.death_penalty_job, 10000);
- break;
+ case 1:
+ job_penalty = (unsigned int)apply_percentrate64(pc->nextjobexp(sd), rate, 10000);
+ break;
+ case 2:
+ job_penalty = (unsigned int)apply_percentrate64(sd->status.job_exp, rate, 10000);
+ break;
}
if (job_penalty != 0) {
- if (battle_config.pk_mode && src && src->type==BL_PC)
- job_penalty*=2;
- if( sd->status.mod_death != 100 )
- job_penalty = job_penalty * sd->status.mod_death / 100;
+ if (battle_config.pk_mode != 0 && src != NULL && src->type == BL_PC)
+ job_penalty *= 2;
+
+ if (sd->status.mod_death != 100)
+ job_penalty *= sd->status.mod_death / 100;
+
sd->status.job_exp -= min(sd->status.job_exp, job_penalty);
- clif->updatestatus(sd,SP_JOBEXP);
+ clif->updatestatus(sd, SP_JOBEXP);
}
}
- if (battle_config.zeny_penalty > 0 && !map->list[sd->bl.m].flag.nozenypenalty) {
+ if (battle_config.zeny_penalty > 0 && map->list[sd->bl.m].flag.nozenypenalty == 0) {
int zeny_penalty = apply_percentrate(sd->status.zeny, battle_config.zeny_penalty, 10000);
+
if (zeny_penalty != 0)
pc->payzeny(sd, zeny_penalty, LOG_TYPE_PICKDROP_PLAYER, NULL);
}
}
- if(map->list[sd->bl.m].flag.pvp_nightmaredrop) {
- // Moved this outside so it works when PVP isn't enabled and during pk mode [Ancyker]
- for(j=0;j<map->list[sd->bl.m].drop_list_count;j++){
- int id = map->list[sd->bl.m].drop_list[j].drop_id;
- int type = map->list[sd->bl.m].drop_list[j].drop_type;
- int per = map->list[sd->bl.m].drop_list[j].drop_per;
- if(id == 0)
+ if (map->list[sd->bl.m].flag.pvp_nightmaredrop != 0) {
+ // Moved this outside so it works when PVP isn't enabled and during pk mode. [Ancyker]
+ for (int i = 0; i < map->list[sd->bl.m].drop_list_count; i++) {
+ int id = map->list[sd->bl.m].drop_list[i].drop_id;
+ int type = map->list[sd->bl.m].drop_list[i].drop_type;
+ int per = map->list[sd->bl.m].drop_list[i].drop_per;
+
+ if (id == 0)
continue;
- if(id == -1){
- int eq_num = 0, eq_n[MAX_INVENTORY], k;
- memset(eq_n,0,sizeof(eq_n));
- 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)
- {
+
+ if (id == -1) {
+ int eq_num = 0;
+ int eq_n[MAX_INVENTORY];
+
+ memset(eq_n, 0, sizeof(eq_n));
+
+ for (int j = 0; j < sd->status.inventorySize; j++) {
+ bool is_equipped = (sd->status.inventory[j].equip != 0);
+
+ if ((type == 1 && !is_equipped) || (type == 2 && is_equipped) || type == 3) {
+ int k;
+
ARR_FIND(0, sd->status.inventorySize, k, eq_n[k] <= 0);
+
if (k < sd->status.inventorySize)
- eq_n[k] = i;
+ eq_n[k] = j;
eq_num++;
}
}
- if(eq_num > 0){
- int n = eq_n[rnd()%eq_num];
- if(rnd()%10000 < per){
- if(sd->status.inventory[n].equip)
+
+ if (eq_num > 0) {
+ int n = eq_n[rnd() % eq_num];
+
+ if (rnd() % 10000 < per) {
+ if (sd->status.inventory[n].equip != 0)
pc->unequipitem(sd, n, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
- pc->dropitem(sd,n,1);
+
+ pc->dropitem(sd, n, 1);
}
}
- }
- else if(id > 0){
- 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)
- || (type == 2 && sd->status.inventory[i].equip)
- || type == 3) ){
- if(sd->status.inventory[i].equip)
- pc->unequipitem(sd, i, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
- pc->dropitem(sd,i,1);
+ } else if (id > 0) {
+ for (int j = 0; j < sd->status.inventorySize; j++) {
+ bool is_equipped = (sd->status.inventory[j].equip != 0);
+
+ if (((type == 1 && !is_equipped) || (type == 2 && is_equipped) || type == 3)
+ && sd->status.inventory[j].nameid == id && rnd() % 10000 < per) {
+ if (is_equipped)
+ pc->unequipitem(sd, j, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
+
+ pc->dropitem(sd, j, 1);
break;
}
}
@@ -8330,46 +8423,51 @@ static int pc_dead(struct map_session_data *sd, struct block_list *src)
}
}
- // Remove autotrade to prevent autotrading from save point
- if( (sd->state.standalone || sd->state.autotrade)
- && (map->list[sd->bl.m].flag.pvp || map->list[sd->bl.m].flag.gvg)
- ) {
+ // Remove autotrade to prevent autotrading from save point.
+ if ((map->list[sd->bl.m].flag.pvp != 0 || map->list[sd->bl.m].flag.gvg != 0)
+ && (sd->state.standalone != 0 || sd->state.autotrade != 0)) {
sd->state.autotrade = 0;
sd->state.standalone = 0;
- pc->autotrade_update(sd,PAUC_REMOVE);
+ pc->autotrade_update(sd, PAUC_REMOVE);
map->quit(sd);
}
- // pvp
- // disable certain pvp functions on pk_mode [Valaris]
- if( map->list[sd->bl.m].flag.pvp && !battle_config.pk_mode && !map->list[sd->bl.m].flag.pvp_nocalcrank ) {
+ // Disable certain PVP functions on pk_mode. [Valaris]
+ if (map->list[sd->bl.m].flag.pvp != 0 && battle_config.pk_mode == 0
+ && map->list[sd->bl.m].flag.pvp_nocalcrank == 0) {
sd->pvp_point -= 5;
sd->pvp_lost++;
+
if (src != NULL && src->type == BL_PC) {
struct map_session_data *ssd = BL_UCAST(BL_PC, src);
+
ssd->pvp_point++;
ssd->pvp_won++;
}
- if( sd->pvp_point < 0 )
- {
- timer->add(tick+1, pc->respawn_timer,sd->bl.id,0);
+
+ if (sd->pvp_point < 0) {
+ timer->add(tick + 1, pc->respawn_timer, sd->bl.id, 0);
return 1|8;
}
}
- //GvG
- if( map_flag_gvg2(sd->bl.m) ) {
- timer->add(tick+1, pc->respawn_timer, sd->bl.id, 0);
+
+ // GVG
+ if (map_flag_gvg2(sd->bl.m)) {
+ timer->add(tick + 1, pc->respawn_timer, sd->bl.id, 0);
return 1|8;
- } else if( sd->bg_id ) {
+ }
+
+ if (sd->bg_id != 0) {
struct battleground_data *bgd = bg->team_search(sd->bg_id);
- if( bgd && bgd->mapindex > 0 ) { // Respawn by BG
- timer->add(tick+1000, pc->respawn_timer, sd->bl.id, 0);
+
+ if (bgd != NULL && bgd->mapindex > 0) { // Respawn by BG.
+ timer->add(tick + 1000, pc->respawn_timer, sd->bl.id, 0);
return 1|8;
}
}
- //Reset "can log out" tick.
- if( battle_config.prevent_logout )
+ // Reset "can log out" tick.
+ if (battle_config.prevent_logout != 0)
sd->canlog_tick = timer->gettick() - battle_config.prevent_logout;
return 1;
@@ -8457,8 +8555,12 @@ static int64 pc_readparam(const struct map_session_data *sd, int type)
case SP_FLEE1: val = sd->battle_status.flee; break;
case SP_FLEE2: val = sd->battle_status.flee2; break;
case SP_DEFELE: val = sd->battle_status.def_ele; break;
-#ifndef RENEWAL_CAST
case SP_VARCASTRATE:
+#ifdef RENEWAL_CAST
+ val = sd->bonus.varcastrate;
+ break;
+#else
+ FALLTHROUGH
#endif
case SP_CASTRATE:
val = sd->castrate;
@@ -8544,7 +8646,6 @@ static int64 pc_readparam(const struct map_session_data *sd, int type)
case SP_FIXCASTRATE: val = sd->bonus.fixcastrate; break;
case SP_ADD_FIXEDCAST: val = sd->bonus.add_fixcast; break;
#ifdef RENEWAL_CAST
- case SP_VARCASTRATE: val = sd->bonus.varcastrate; break;
case SP_ADD_VARIABLECAST:val = sd->bonus.add_varcast; break;
#endif
}
@@ -8789,6 +8890,10 @@ static int pc_itemheal(struct map_session_data *sd, int itemid, int hp, int sp)
// 2014 Halloween Event : Pumpkin Bonus
if ( sd->sc.data[SC_MTF_PUMPKIN] && itemid == ITEMID_PUMPKIN )
hp += (int)(hp * sd->sc.data[SC_MTF_PUMPKIN]->val1/100);
+
+ // Activation Potion
+ if (sd->sc.data[SC_VITALIZE_POTION] != NULL)
+ hp += hp * sd->sc.data[SC_VITALIZE_POTION]->val3 / 100;
}
if(sp) {
bonus = 100 + (sd->battle_status.int_<<1)
@@ -9008,6 +9113,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)
@@ -9051,7 +9163,7 @@ static int pc_jobchange(struct map_session_data *sd, int class, int upper)
pc->setoption(sd, i);
if(homun_alive(sd->hd) && !pc->checkskill(sd, AM_CALLHOMUN))
- homun->vaporize(sd, HOM_ST_REST);
+ homun->vaporize(sd, HOM_ST_REST, true);
if ((sd->sc.data[SC_SPRITEMABLE] && pc->checkskill(sd, SU_SPRITEMABLE)))
status_change_end(&sd->bl, SC_SPRITEMABLE, INVALID_TIMER);
@@ -9191,11 +9303,11 @@ static int pc_setoption(struct map_session_data *sd, int type)
if( (type&OPTION_RIDING && !(p_type&OPTION_RIDING)) || (type&OPTION_DRAGON && !(p_type&OPTION_DRAGON) && pc->checkskill(sd,RK_DRAGONTRAINING) > 0) ) {
// Mounting
- clif->sc_load(&sd->bl,sd->bl.id,AREA,SI_RIDING, 0, 0, 0);
+ clif->sc_load(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_RIDING), 0, 0, 0);
status_calc_pc(sd,SCO_NONE);
} else if( (!(type&OPTION_RIDING) && p_type&OPTION_RIDING) || (!(type&OPTION_DRAGON) && p_type&OPTION_DRAGON) ) {
// Dismount
- clif->sc_end(&sd->bl,sd->bl.id,AREA,SI_RIDING);
+ clif->sc_end(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_RIDING));
status_calc_pc(sd,SCO_NONE);
}
@@ -9215,15 +9327,15 @@ static int pc_setoption(struct map_session_data *sd, int type)
#endif
if (type&OPTION_FALCON && !(p_type&OPTION_FALCON)) //Falcon ON
- clif->sc_load(&sd->bl,sd->bl.id,AREA,SI_FALCON, 0, 0, 0);
+ clif->sc_load(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_FALCON), 0, 0, 0);
else if (!(type&OPTION_FALCON) && p_type&OPTION_FALCON) //Falcon OFF
- clif->sc_end(&sd->bl,sd->bl.id,AREA,SI_FALCON);
+ clif->sc_end(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_FALCON));
if( type&OPTION_WUGRIDER && !(p_type&OPTION_WUGRIDER) ) { // Mounting
- clif->sc_load(&sd->bl,sd->bl.id,AREA,SI_WUGRIDER, 0, 0, 0);
+ clif->sc_load(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_WUGRIDER), 0, 0, 0);
status_calc_pc(sd,SCO_NONE);
} else if( !(type&OPTION_WUGRIDER) && p_type&OPTION_WUGRIDER ) { // Dismount
- clif->sc_end(&sd->bl,sd->bl.id,AREA,SI_WUGRIDER);
+ clif->sc_end(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_WUGRIDER));
status_calc_pc(sd,SCO_NONE);
}
@@ -9311,7 +9423,7 @@ static int pc_setcart(struct map_session_data *sd, int type)
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);
+ clif->sc_load(&sd->bl, sd->bl.id, AREA, status->get_sc_icon(SC_ON_PUSH_CART), type, 0, 0);
if( sd->sc.data[SC_PUSH_CART] )/* forcefully update */
sd->sc.data[SC_PUSH_CART]->val1 = type;
break;
@@ -9378,15 +9490,23 @@ static void pc_setridingpeco(struct map_session_data *sd, bool flag)
*
* @param sd Target player.
* @param flag New state.
+ * @param mtype Type of the mado gear.
**/
-static void pc_setmadogear(struct map_session_data *sd, bool flag)
+static void pc_setmadogear(struct map_session_data *sd, bool flag, enum mado_type mtype)
{
nullpo_retv(sd);
+ Assert_retv(mtype >= MADO_ROBOT && mtype < MADO_MAX);
+
if (flag) {
- if ((sd->job & MAPID_THIRDMASK) == MAPID_MECHANIC)
+ if ((sd->job & MAPID_THIRDMASK) == MAPID_MECHANIC) {
pc->setoption(sd, sd->sc.option|OPTION_MADOGEAR);
+#if PACKETVER_MAIN_NUM >= 20191120 || PACKETVER_RE_NUM >= 20191106
+ sc_start(&sd->bl, &sd->bl, SC_MADOGEAR, 100, (int)mtype, INFINITE_DURATION);
+#endif
+ }
} else if (pc_ismadogear(sd)) {
pc->setoption(sd, sd->sc.option&~OPTION_MADOGEAR);
+ // pc->setoption resets status effects when changing mado, no need to re do it here.
}
}
@@ -10132,141 +10252,163 @@ static void pc_equipitem_pos(struct map_session_data *sd, struct item_data *id,
}
}
-/*==========================================
- * Equip item on player sd at req_pos from inventory index n
- * Return:
- * 0 = fail
- * 1 = success
- *------------------------------------------*/
+/**
+ * Attempts to equip an item.
+ *
+ * @param sd The related character.
+ * @param n The item's inventory index.
+ * @param req_pos The equipment slot, where the item should be equipped. (See enum equip_pos.)
+ * @return 0 on failure, 1 on success.
+ *
+ **/
static int pc_equipitem(struct map_session_data *sd, int n, int req_pos)
{
- int i,pos,flag=0,iflag;
- struct item_data *id;
-
nullpo_ret(sd);
if (n < 0 || n >= sd->status.inventorySize) {
- clif->equipitemack(sd,0,0,EIA_FAIL);
+ clif->equipitemack(sd, 0, 0, EIA_FAIL);
return 0;
}
- if( DIFF_TICK(sd->canequip_tick,timer->gettick()) > 0 )
- {
- clif->equipitemack(sd,n,0,EIA_FAIL);
+ // If the character is in berserk mode, the item can't be equipped.
+ if (sd->sc.count != 0 && (sd->sc.data[SC_BERSERK] != NULL || sd->sc.data[SC_NO_SWITCH_EQUIP] != NULL)) {
+ clif->equipitemack(sd, n, 0, EIA_FAIL);
return 0;
}
- id = sd->inventory_data[n];
- pos = pc->equippoint(sd,n); //With a few exceptions, item should go in all specified slots.
+ if (battle_config.battle_log != 0)
+ ShowInfo("equip %d(%d) %x:%x\n", sd->status.inventory[n].nameid, n, sd->status.inventory[n].equip,
+ (unsigned int)req_pos);
- if(battle_config.battle_log)
- ShowInfo("equip %d(%d) %x:%x\n", sd->status.inventory[n].nameid, n, (unsigned int)(id ? id->equip : 0), (unsigned int)req_pos);
- if(!pc->isequip(sd,n) || !(pos&req_pos) || sd->status.inventory[n].equip != 0 || (sd->status.inventory[n].attribute & ATTR_BROKEN) != 0 ) { // [Valaris]
- // FIXME: pc->isequip: equip level failure uses 2 instead of 0
- clif->equipitemack(sd,n,0,EIA_FAIL); // fail
+ if (DIFF_TICK(sd->canequip_tick, timer->gettick()) > 0) {
+ clif->equipitemack(sd, n, 0, EIA_FAIL);
return 0;
}
- if (sd->sc.data[SC_BERSERK] || sd->sc.data[SC_NO_SWITCH_EQUIP])
- {
- clif->equipitemack(sd,n,0,EIA_FAIL); // fail
+ int pos = pc->equippoint(sd, n); // With a few exceptions, item should go in all specified slots.
+
+ if (pc->isequip(sd,n) == 0 || (pos & req_pos) == 0 || sd->status.inventory[n].equip != 0
+ || (sd->status.inventory[n].attribute & ATTR_BROKEN) != 0) {
+ clif->equipitemack(sd, n, 0, EIA_FAIL);
return 0;
+ }
+
+ if (sd->inventory_data[n]->flag.bindonequip != 0 && sd->status.inventory[n].bound == 0) {
+ sd->status.inventory[n].bound = IBT_CHARACTER;
+ clif->notify_bounditem(sd, n);
+ }
+
+ if (pos == EQP_ACC) { // Accesories should only go in one of the two.
+ pos = req_pos & EQP_ACC;
+
+ if (pos == EQP_ACC) // User specified both slots.
+ pos = (sd->equip_index[EQI_ACC_R] >= 0) ? EQP_ACC_L : EQP_ACC_R;
+ } else if (pos == EQP_ARMS && sd->inventory_data[n]->equip == EQP_HAND_R) { // Dual wield capable weapon.
+ pos = req_pos & EQP_ARMS;
+
+ if (pos == EQP_ARMS) // User specified both slots, pick one for them.
+ pos = (sd->equip_index[EQI_HAND_R] >= 0) ? EQP_HAND_L : EQP_HAND_R;
+ } else if (pos == EQP_SHADOW_ACC) { // Accesories should only go in one of the two,
+ pos = req_pos & EQP_SHADOW_ACC;
+
+ if (pos == EQP_SHADOW_ACC) // User specified both slots.
+ pos = (sd->equip_index[EQI_SHADOW_ACC_R] >= 0) ? EQP_SHADOW_ACC_L : EQP_SHADOW_ACC_R;
+ } else if (pos == EQP_SHADOW_ARMS && sd->inventory_data[n]->equip == EQP_SHADOW_WEAPON) { // Dual wield capable weapon.
+ pos = req_pos & EQP_SHADOW_ARMS;
+
+ if (pos == EQP_SHADOW_ARMS) // User specified both slots, pick one for them.
+ pos = (sd->equip_index[EQI_SHADOW_WEAPON] >= 0) ? EQP_SHADOW_SHIELD : EQP_SHADOW_WEAPON;
}
- /* won't fail from this point onwards */
- if( id->flag.bindonequip && !sd->status.inventory[n].bound ) {
- sd->status.inventory[n].bound = (unsigned char)IBT_CHARACTER;
- clif->notify_bounditem(sd,n);
- }
-
- if(pos == EQP_ACC) { //Accesories should only go in one of the two,
- pos = req_pos&EQP_ACC;
- if (pos == EQP_ACC) //User specified both slots..
- pos = sd->equip_index[EQI_ACC_R] >= 0 ? EQP_ACC_L : EQP_ACC_R;
- } else if(pos == EQP_ARMS && id->equip == EQP_HAND_R) { //Dual wield capable weapon.
- pos = (req_pos&EQP_ARMS);
- if (pos == EQP_ARMS) //User specified both slots, pick one for them.
- pos = sd->equip_index[EQI_HAND_R] >= 0 ? EQP_HAND_L : EQP_HAND_R;
- } else if(pos == EQP_SHADOW_ACC) { //Accesories should only go in one of the two,
- pos = req_pos&EQP_SHADOW_ACC;
- if (pos == EQP_SHADOW_ACC) //User specified both slots..
- pos = sd->equip_index[EQI_SHADOW_ACC_R] >= 0 ? EQP_SHADOW_ACC_L : EQP_SHADOW_ACC_R;
- } else if( pos == EQP_SHADOW_ARMS && id->equip == EQP_SHADOW_WEAPON) { //Dual wield capable weapon.
- pos = (req_pos&EQP_SHADOW_ARMS);
- if (pos == EQP_SHADOW_ARMS) //User specified both slots, pick one for them.
- pos = sd->equip_index[EQI_SHADOW_WEAPON] >= 0 ? EQP_SHADOW_SHIELD : EQP_SHADOW_WEAPON;
- }
-
- if (pos&EQP_HAND_R && battle_config.use_weapon_skill_range&BL_PC) {
- //Update skill-block range database when weapon range changes. [Skotlex]
- i = sd->equip_index[EQI_HAND_R];
- if (i < 0 || !sd->inventory_data[i]) //No data, or no weapon equipped
+ int flag = 0;
+
+ // Update skill-block range database when weapon range changes. [Skotlex]
+ if ((pos & EQP_HAND_R) != 0 && (battle_config.use_weapon_skill_range & BL_PC) != 0) {
+ int idx = sd->equip_index[EQI_HAND_R];
+
+ if (idx < 0 || sd->inventory_data[idx] == NULL) // No data, or no weapon equipped.
flag = 1;
else
- flag = id->range != sd->inventory_data[i]->range;
+ flag = (sd->inventory_data[n]->range != sd->inventory_data[idx]->range) ? 1 : 0;
}
- for(i=0;i<EQI_MAX;i++) {
- if(pos & pc->equip_pos[i]) {
- if(sd->equip_index[i] >= 0) //Slot taken, remove item from there.
+ for (int i = 0; i < EQI_MAX; i++) {
+ if ((pos & pc->equip_pos[i]) != 0) {
+ if (sd->equip_index[i] >= 0) // Slot taken, remove item from there.
pc->unequipitem(sd, sd->equip_index[i], PCUNEQUIPITEM_FORCE);
sd->equip_index[i] = n;
}
}
- if(pos==EQP_AMMO){
- clif->arrowequip(sd,n);
- clif->arrow_fail(sd,3);
+ if (pos == EQP_AMMO) {
+ clif->arrowequip(sd, n);
+ clif->arrow_fail(sd, 3);
+ } else {
+ clif->equipitemack(sd, n, pos, EIA_SUCCESS);
}
- else
- clif->equipitemack(sd,n,pos,EIA_SUCCESS);
- sd->status.inventory[n].equip=pos;
+ sd->status.inventory[n].equip = pos;
+ pc->equipitem_pos(sd, sd->inventory_data[n], n, pos);
+ pc->checkallowskill(sd); // Check if status changes should be halted.
- pc->equipitem_pos(sd, id, n, pos);
+ int iflag = sd->npc_item_flag;
- pc->checkallowskill(sd); //Check if status changes should be halted.
- iflag = sd->npc_item_flag;
+ // Check for combos. (MUST be done before status->calc_pc()!)
+ if (sd->inventory_data[n]->combos_count != 0)
+ pc->checkcombo(sd, sd->inventory_data[n]);
- /* check for combos (MUST be before status_calc_pc) */
- if( id->combos_count )
- pc->checkcombo(sd,id);
- if(itemdb_isspecial(sd->status.inventory[n].card[0]))
- ; //No cards
- else {
- for( i = 0; i < id->slot; i++ ) {
- struct item_data *data;
- if (!sd->status.inventory[n].card[i])
+ if (!itemdb_isspecial(sd->status.inventory[n].card[0])) {
+ for (int i = 0; i < sd->inventory_data[n]->slot; i++) {
+ if (sd->status.inventory[n].card[i] == 0)
continue;
- if ( ( data = itemdb->exists(sd->status.inventory[n].card[i]) ) != NULL ) {
- if( data->combos_count )
- pc->checkcombo(sd,data);
- }
+
+ struct item_data *data = itemdb->exists(sd->status.inventory[n].card[i]);
+
+ if (data != NULL && data->combos_count != 0)
+ pc->checkcombo(sd, data);
}
}
- status_calc_pc(sd,SCO_NONE);
- if (flag) //Update skill data
+ status_calc_pc(sd, SCO_NONE);
+
+ if (flag != 0) // Update skill data.
clif->skillinfoblock(sd);
+
+ // Execute equip script. [Skotlex]
+ struct item_data *equip_data = sd->inventory_data[n];
+ struct map_zone_data *zone = map->list[sd->bl.m].zone;
+ int dis_items_cnt = zone->disabled_items_count;
- //OnEquip script [Skotlex]
- if (id->equip_script)
- script->run_item_equip_script(sd, id, npc->fake_nd->bl.id);
+ if (equip_data->equip_script != NULL) {
+ int idx;
- if(itemdb_isspecial(sd->status.inventory[n].card[0]))
- ; //No cards
- else {
- for( i = 0; i < id->slot; i++ ) {
- struct item_data *data;
- if (!sd->status.inventory[n].card[i])
+ ARR_FIND(0, dis_items_cnt, idx, zone->disabled_items[idx] == equip_data->nameid);
+
+ if (idx == dis_items_cnt)
+ script->run_item_equip_script(sd, equip_data, npc->fake_nd->bl.id);
+ }
+
+ struct item *equip = &sd->status.inventory[n];
+
+ if (!itemdb_isspecial(equip->card[0])) {
+ for (int slot = 0; slot < equip_data->slot; slot++) {
+ if (equip->card[slot] == 0)
continue;
- if ( ( data = itemdb->exists(sd->status.inventory[n].card[i]) ) != NULL ) {
- if (data->equip_script)
- script->run_item_equip_script(sd, data, npc->fake_nd->bl.id);
+
+ struct item_data *card_data = itemdb->exists(equip->card[slot]);
+
+ if (card_data != NULL && card_data->equip_script != NULL) {
+ int idx;
+
+ ARR_FIND(0, dis_items_cnt, idx, zone->disabled_items[idx] == card_data->nameid);
+
+ if (idx == dis_items_cnt)
+ script->run_item_equip_script(sd, card_data, npc->fake_nd->bl.id);
}
}
}
+
sd->npc_item_flag = iflag;
return 1;
@@ -10338,19 +10480,17 @@ static void pc_unequipitem_pos(struct map_session_data *sd, int n, int pos)
}
}
-/*==========================================
- * Called when attemting to unequip an item from player
- * type: @see enum pc_unequipitem_flag
- * Return:
- * 0 = fail
- * 1 = success
- *------------------------------------------*/
+/**
+ * Attempts to unequip an item.
+ *
+ * @param sd The related character.
+ * @param n The item's inventory index.
+ * @param flag Modifier for additional actions. (See enum pc_unequipitem_flag.)
+ * @return 0 on failure, 1 on success.
+ *
+ **/
static int pc_unequipitem(struct map_session_data *sd, int n, int flag)
{
- int i, iflag;
- bool status_calc = false;
- int pos;
-
nullpo_ret(sd);
if (n < 0 || n >= sd->status.inventorySize) {
@@ -10358,127 +10498,128 @@ static int pc_unequipitem(struct map_session_data *sd, int n, int flag)
return 0;
}
- // if player is berserk then cannot unequip
- if (!(flag & PCUNEQUIPITEM_FORCE) && sd->sc.count && (sd->sc.data[SC_BERSERK] || sd->sc.data[SC_NO_SWITCH_EQUIP])) {
+ // If the character is in berserk mode, the item can't be unequipped.
+ if (sd->sc.count != 0 && (sd->sc.data[SC_BERSERK] != NULL || sd->sc.data[SC_NO_SWITCH_EQUIP] != NULL)
+ && (flag & PCUNEQUIPITEM_FORCE) == 0) {
clif->unequipitemack(sd, n, 0, UIA_FAIL);
return 0;
}
- if (!(flag & PCUNEQUIPITEM_FORCE) && sd->sc.count && sd->sc.data[SC_KYOUGAKU]) {
+ if ((flag & PCUNEQUIPITEM_FORCE) == 0 && sd->sc.count != 0 && sd->sc.data[SC_KYOUGAKU] != NULL) {
clif->unequipitemack(sd, n, 0, UIA_FAIL);
return 0;
}
- if (battle_config.battle_log)
+ if (battle_config.battle_log != 0)
ShowInfo("unequip %d %x:%x\n", n, (unsigned int)(pc->equippoint(sd, n)), sd->status.inventory[n].equip);
- if (sd->status.inventory[n].equip == 0) { //Nothing to unequip
+ if (sd->status.inventory[n].equip == 0) { // Nothing to unequip.
clif->unequipitemack(sd, n, 0, UIA_FAIL);
return 0;
}
- for (i = 0; i < EQI_MAX; i++) {
- if (sd->status.inventory[n].equip & pc->equip_pos[i])
+ for (int i = 0; i < EQI_MAX; i++) {
+ if ((sd->status.inventory[n].equip & pc->equip_pos[i]) != 0)
sd->equip_index[i] = -1;
}
- pos = sd->status.inventory[n].equip;
- pc->unequipitem_pos(sd, n, pos);
+ int pos = sd->status.inventory[n].equip;
+ pc->unequipitem_pos(sd, n, pos);
clif->unequipitemack(sd, n, pos, UIA_SUCCESS);
- if ((pos & EQP_ARMS) &&
- sd->weapontype1 == W_FIST && sd->weapontype2 == W_FIST && (sd->sc.data[SC_TK_SEVENWIND] == NULL || sd->sc.data[SC_ASPERSIO] != NULL)) //Check for seven wind (but not level seven!)
+ if ((pos & EQP_ARMS) != 0 && sd->weapontype1 == W_FIST && sd->weapontype2 == W_FIST
+ && (sd->sc.data[SC_TK_SEVENWIND] == NULL || sd->sc.data[SC_ASPERSIO] != NULL)) { // Check for Seven Wind. (But not level seven!)
skill->enchant_elemental_end(&sd->bl, -1);
+ }
- if (pos & EQP_ARMOR) {
- // On Armor Change...
+ if ((pos & EQP_ARMOR) != 0) {
status_change_end(&sd->bl, SC_BENEDICTIO, INVALID_TIMER);
status_change_end(&sd->bl, SC_ARMOR_RESIST, INVALID_TIMER);
}
#ifdef RENEWAL
- if (battle->bc->bow_unequip_arrow && pos&EQP_ARMS && sd->equip_index[EQI_AMMO] > 0)
+ if (battle->bc->bow_unequip_arrow != 0 && (pos & EQP_ARMS) != 0 && sd->equip_index[EQI_AMMO] > 0)
pc->unequipitem(sd, sd->equip_index[EQI_AMMO], PCUNEQUIPITEM_FORCE);
#endif
- if( sd->state.autobonus&pos )
- sd->state.autobonus &= ~sd->status.inventory[n].equip; //Check for activated autobonus [Inkfish]
+ if ((sd->state.autobonus & pos) != 0) // Check for activated autobonus. [Inkfish]
+ sd->state.autobonus &= ~sd->status.inventory[n].equip;
sd->status.inventory[n].equip = 0;
- iflag = sd->npc_item_flag;
- /* check for combos (MUST be before status_calc_pc) */
+ bool status_calc = false;
+ int iflag = sd->npc_item_flag;
+
+ // Check for combos. (MUST be done before status->calc_pc()!)
if (sd->inventory_data[n] != NULL) {
- if (sd->inventory_data[n]->combos_count) {
- if (pc->removecombo(sd, sd->inventory_data[n]))
- status_calc = true;
- }
- if (itemdb_isspecial(sd->status.inventory[n].card[0]) == false) {
- for (i = 0; i < sd->inventory_data[n]->slot; i++) {
- struct item_data *data;
+ if (sd->inventory_data[n]->combos_count != 0 && pc->removecombo(sd, sd->inventory_data[n]) != 0)
+ status_calc = true;
+
+ if (!itemdb_isspecial(sd->status.inventory[n].card[0])) {
+ for (int i = 0; i < sd->inventory_data[n]->slot; i++) {
if (sd->status.inventory[n].card[i] == 0)
continue;
- if ((data = itemdb->exists(sd->status.inventory[n].card[i])) != NULL) {
- if (data->combos_count) {
- if (pc->removecombo(sd, data))
- status_calc = true;
- }
- }
+
+ struct item_data *data = itemdb->exists(sd->status.inventory[n].card[i]);
+
+ if (data != NULL && data->combos_count != 0 && pc->removecombo(sd, data) != 0)
+ status_calc = true;
}
}
- /* Item Options checking */
- for (i = 0; i < MAX_ITEM_OPTIONS; i++) {
- struct itemdb_option *ito = NULL;
- int16 item_option = sd->status.inventory[n].option[i].index;
- if (item_option <= 0)
+ // Check item options.
+ for (int i = 0; i < MAX_ITEM_OPTIONS; i++) {
+ if (sd->status.inventory[n].option[i].index <= 0)
continue;
- if ((ito = itemdb->option_exists(sd->status.inventory[n].option[i].index)) == NULL)
+
+ if (itemdb->option_exists(sd->status.inventory[n].option[i].index) == NULL)
continue;
status_calc = true;
}
}
- if (flag & PCUNEQUIPITEM_RECALC || status_calc) {
+ if ((flag & PCUNEQUIPITEM_RECALC) != 0 || status_calc) {
pc->checkallowskill(sd);
status_calc_pc(sd, SCO_NONE);
}
- if (sd->sc.data[SC_CRUCIS] && battle->check_undead(sd->battle_status.race, sd->battle_status.def_ele) == false)
+ if (sd->sc.data[SC_CRUCIS] != NULL && !battle->check_undead(sd->battle_status.race, sd->battle_status.def_ele))
status_change_end(&sd->bl, SC_CRUCIS, INVALID_TIMER);
- //OnUnEquip script [Skotlex]
+ // Execute unequip script. [Skotlex]
if (sd->inventory_data[n] != NULL) {
- if (sd->inventory_data[n]->unequip_script != NULL) {
- if (battle_config.unequip_restricted_equipment & 1) {
- ARR_FIND(0, map->list[sd->bl.m].zone->disabled_items_count, i, map->list[sd->bl.m].zone->disabled_items[i] == sd->status.inventory[n].nameid);
- if (i == map->list[sd->bl.m].zone->disabled_items_count)
- script->run_item_unequip_script(sd, sd->inventory_data[n], npc->fake_nd->bl.id);
- }
- else
- script->run_item_unequip_script(sd, sd->inventory_data[n], npc->fake_nd->bl.id);
+ struct item_data *equip_data = sd->inventory_data[n];
+ struct map_zone_data *zone = map->list[sd->bl.m].zone;
+ int dis_items_cnt = zone->disabled_items_count;
+
+ if (equip_data->unequip_script != NULL) {
+ int idx;
+
+ ARR_FIND(0, dis_items_cnt, idx, zone->disabled_items[idx] == equip_data->nameid);
+
+ if (idx == dis_items_cnt)
+ script->run_item_unequip_script(sd, equip_data, npc->fake_nd->bl.id);
}
- if (itemdb_isspecial(sd->status.inventory[n].card[0]) == false) {
- for (i = 0; i < sd->inventory_data[n]->slot; i++) {
- struct item_data *data = NULL;
- if (sd->status.inventory[n].card[i] == 0)
+
+ struct item *equip = &sd->status.inventory[n];
+
+ if (!itemdb_isspecial(equip->card[0])) {
+ for (int slot = 0; slot < equip_data->slot; slot++) {
+ if (equip->card[slot] == 0)
continue;
- if ((data = itemdb->exists(sd->status.inventory[n].card[i])) != NULL) {
- if (data->unequip_script) {
- if (battle_config.unequip_restricted_equipment & 2) {
- int j;
- ARR_FIND(0, map->list[sd->bl.m].zone->disabled_items_count, j, map->list[sd->bl.m].zone->disabled_items[j] == sd->status.inventory[n].card[i]);
- if (j == map->list[sd->bl.m].zone->disabled_items_count)
- script->run_item_unequip_script(sd, data, npc->fake_nd->bl.id);
- } else {
- script->run_item_unequip_script(sd, data, npc->fake_nd->bl.id);
- }
- }
- }
+ struct item_data *card_data = itemdb->exists(equip->card[slot]);
+
+ if (card_data != NULL && card_data->unequip_script != NULL) {
+ int idx;
+ ARR_FIND(0, dis_items_cnt, idx, zone->disabled_items[idx] == card_data->nameid);
+
+ if (idx == dis_items_cnt)
+ script->run_item_unequip_script(sd, card_data, npc->fake_nd->bl.id);
+ }
}
}
}
@@ -10949,7 +11090,7 @@ static int pc_daynight_timer_sub(struct map_session_data *sd, va_list ap)
{
nullpo_ret(sd);
if (sd->state.night != map->night_flag && map->list[sd->bl.m].flag.nightenabled) { //Night/day state does not match.
- clif->status_change(&sd->bl, SI_SKE, map->night_flag, 0, 0, 0, 0); //New night effect by dynamix [Skotlex]
+ clif->status_change(&sd->bl, status->get_sc_icon(SC_SKE), status->get_sc_relevant_bl_types(SC_SKE), map->night_flag, 0, 0, 0, 0); //New night effect by dynamix [Skotlex]
sd->state.night = map->night_flag;
return 1;
}
@@ -10972,7 +11113,7 @@ static int map_day_timer(int tid, int64 tick, int id, intptr_t data)
map->night_flag = 0; // 0=day, 1=night [Yor]
map->foreachpc(pc->daynight_timer_sub);
safestrncpy(tmp_soutput, (data == 0) ? msg_txt(502) : msg_txt(60), sizeof(tmp_soutput)); // The day has arrived!
- intif->broadcast(tmp_soutput, (int)strlen(tmp_soutput) + 1, BC_DEFAULT);
+ clif->broadcast(NULL, tmp_soutput, (int)strlen(tmp_soutput) + 1, BC_DEFAULT, ALL_CLIENT);
return 0;
}
@@ -10993,7 +11134,7 @@ static int map_night_timer(int tid, int64 tick, int id, intptr_t data)
map->night_flag = 1; // 0=day, 1=night [Yor]
map->foreachpc(pc->daynight_timer_sub);
safestrncpy(tmp_soutput, (data == 0) ? msg_txt(503) : msg_txt(59), sizeof(tmp_soutput)); // The night has fallen...
- intif->broadcast(tmp_soutput, (int)strlen(tmp_soutput) + 1, BC_DEFAULT);
+ clif->broadcast(NULL, tmp_soutput, (int)strlen(tmp_soutput) + 1, BC_DEFAULT, ALL_CLIENT);
return 0;
}
@@ -11002,7 +11143,7 @@ static void pc_setstand(struct map_session_data *sd)
nullpo_retv(sd);
status_change_end(&sd->bl, SC_TENSIONRELAX, INVALID_TIMER);
- clif->sc_end(&sd->bl,sd->bl.id,SELF,SI_SIT);
+ clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SIT));
//Reset sitting tick.
sd->ssregen.tick.hp = sd->ssregen.tick.sp = 0;
if (pc_isdead(sd)) {
@@ -11569,12 +11710,9 @@ static bool pc_read_exp_db(void)
struct config_t exp_db_conf;
struct config_setting_t *edb = NULL;
int entry_count = 0;
-
-#ifdef RENEWAL
- const char *config_filename = "db/re/exp_group_db.conf";
-#else
- const char *config_filename = "db/pre-re/exp_group_db.conf";
-#endif
+ char config_filename[256];
+
+ libconfig->format_db_path(DBPATH"exp_group_db.conf", config_filename, sizeof(config_filename));
if (!libconfig->load_file(&exp_db_conf, config_filename))
return false;
@@ -12197,6 +12335,29 @@ static int pc_have_magnifier(struct map_session_data *sd)
}
/**
+ * checks if player have any item that listed in item chain
+ * @param sd map_session_data of Player
+ * @param chain_cache_id cache id of item chain
+ * @return index of inventory, INDEX_NOT_FOUND if it is not found
+ */
+static int pc_have_item_chain(struct map_session_data *sd, enum e_chain_cache chain_cache_id)
+{
+ nullpo_retr(INDEX_NOT_FOUND, sd);
+ Assert_retr(INDEX_NOT_FOUND, chain_cache_id >= ECC_ORE && chain_cache_id < ECC_MAX);
+
+ int chain_id = itemdb->chain_cache[chain_cache_id];
+
+ for (int n = 0; n < itemdb->chains[chain_id].qty; n++) {
+ struct item_chain_entry *entry = &itemdb->chains[chain_id].items[n];
+ int index = pc->search_inventory(sd, entry->id);
+ if (index != INDEX_NOT_FOUND)
+ return index;
+ }
+
+ return INDEX_NOT_FOUND;
+}
+
+/**
* Checks if player have basic skills learned.
* @param sd Player Data
* @param level Required Level of Novice Skill
@@ -12293,6 +12454,54 @@ static void pc_check_supernovice_call(struct map_session_data *sd, const char *m
}
}
+/**
+ * Sends a message t all online GMs having the specified permission.
+ *
+ * @param sender_name Sender character name.
+ * @param permission The required permission to receive this message.
+ * @param message The message body.
+ *
+ * @return The amount of characters the message was delivered to.
+ */
+// The transmission of GM only Wisp/Page from server to inter-server
+static int pc_wis_message_to_gm(const char *sender_name, int permission, const char *message)
+{
+ nullpo_ret(sender_name);
+ nullpo_ret(message);
+ int mes_len = (int)strlen(message) + 1; // + null
+ int count = 0;
+
+ // information is sent to all online GM
+ map->foreachpc(pc->wis_message_to_gm_sub, permission, sender_name, message, mes_len, &count);
+
+ return count;
+}
+
+/**
+ * Helper function for pc_wis_message_to_gm().
+ */
+static int pc_wis_message_to_gm_sub(struct map_session_data *sd, va_list va)
+{
+ nullpo_ret(sd);
+
+ int permission = va_arg(va, int);
+ if (!pc_has_permission(sd, permission))
+ return 0;
+
+ const char *sender_name = va_arg(va, const char *);
+ const char *message = va_arg(va, const char *);
+ int len = va_arg(va, int);
+ int *count = va_arg(va, int *);
+
+ nullpo_ret(sender_name);
+ nullpo_ret(message);
+ nullpo_ret(count);
+
+ clif->wis_message(sd->fd, sender_name, message, len);
+ ++*count;
+ return 1;
+}
+
static void pc_update_job_and_level(struct map_session_data *sd)
{
nullpo_retv(sd);
@@ -12335,7 +12544,8 @@ 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;
}
@@ -12348,7 +12558,7 @@ static bool pc_expandInventory(struct map_session_data *sd, int adjustSize)
clif->inventoryExpandResult(sd, EXPAND_INVENTORY_RESULT_MAX_SIZE);
return false;
}
- if (pc_isdead(sd) || sd->state.vending || sd->state.buyingstore || sd->chat_id != 0 || sd->state.trading || sd->state.storage_flag || sd->state.prevend) {
+ 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;
}
@@ -12357,6 +12567,21 @@ static bool pc_expandInventory(struct map_session_data *sd, int adjustSize)
return true;
}
+static bool pc_auto_exp_insurance(struct map_session_data *sd)
+{
+ nullpo_retr(false, sd);
+
+ int item_position = pc->have_item_chain(sd, ECC_NEO_INSURANCE);
+ if (item_position == INDEX_NOT_FOUND)
+ return false;
+
+ pc->delitem(sd, item_position, 1, 0, DELITEM_SKILLUSE, LOG_TYPE_CONSUME);
+#if PACKETVER >= 20100914
+ clif->msgtable(sd, MSG_NOTIFY_NEO_INSURANCE_ITEM_USE);
+#endif
+ return true;
+}
+
static void do_final_pc(void)
{
@@ -12586,6 +12811,7 @@ void pc_defaults(void)
pc->unequipitem_pos = pc_unequipitem_pos;
pc->checkitem = pc_checkitem;
pc->useitem = pc_useitem;
+ pc->autocast_clear = pc_autocast_clear;
pc->skillatk_bonus = pc_skillatk_bonus;
pc->skillheal_bonus = pc_skillheal_bonus;
@@ -12739,6 +12965,8 @@ void pc_defaults(void)
pc->check_supernovice_call = pc_check_supernovice_call;
pc->process_chat_message = pc_process_chat_message;
+ pc->wis_message_to_gm = pc_wis_message_to_gm;
+ pc->wis_message_to_gm_sub = pc_wis_message_to_gm_sub;
/**
* Autotrade persistency [Ind/Hercules <3]
@@ -12754,10 +12982,12 @@ void pc_defaults(void)
pc->update_idle_time = pc_update_idle_time;
pc->have_magnifier = pc_have_magnifier;
+ pc->have_item_chain = pc_have_item_chain;
pc->check_basicskill = pc_check_basicskill;
pc->isDeathPenaltyJob = pc_isDeathPenaltyJob;
pc->has_second_costume = pc_has_second_costume;
pc->expandInventory = pc_expandInventory;
+ pc->auto_exp_insurance = pc_auto_exp_insurance;
}
diff --git a/src/map/pc.h b/src/map/pc.h
index b2069d4df..2699b7882 100644
--- a/src/map/pc.h
+++ b/src/map/pc.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -173,6 +173,17 @@ struct pc_combos {
int id; /* this combo id */
};
+/** Auto-cast related data. **/
+struct autocast_data {
+ enum autocast_type type; // The auto-cast type.
+ int skill_id; // The auto-cast skill ID.
+ int skill_lv; // The auto-cast skill level.
+ bool itemskill_conditions_checked; // Used by itemskill() script command, to prevent second check of conditions after target was selected.
+ bool itemskill_check_conditions; // Used by itemskill() script command, to check skill conditions and consume them.
+ bool itemskill_instant_cast; // Used by itemskill() script command, to cast skill instantaneously.
+ bool itemskill_cast_on_self; // Used by itemskill() script command, to forcefully cast skill on invoking character.
+};
+
struct map_session_data {
struct block_list bl;
struct unit_data ud;
@@ -181,6 +192,7 @@ struct map_session_data {
struct status_change sc;
struct regen_data regen;
struct regen_data_sub sregen, ssregen;
+ struct autocast_data autocast;
//NOTE: When deciding to add a flag to state or special_state, take into consideration that state is preserved in
//status_calc_pc, while special_state is recalculated in each call. [Skotlex]
struct {
@@ -194,8 +206,6 @@ struct map_session_data {
unsigned int rest : 1;
unsigned int storage_flag : 2; // @see enum storage_flag
unsigned int snovice_dead_flag : 1; //Explosion spirits on death: 0 off, 1 used.
- unsigned int abra_flag : 2; // Abracadabra bugfix by Aru
- unsigned int autocast : 1; // Autospell flag [Inkfish]
unsigned int autotrade : 2; //By Fantik
unsigned int showdelay :1;
unsigned int showexp :1;
@@ -237,6 +247,9 @@ 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;
+ unsigned int npc_unloaded : 1; ///< The player is talking with an unloaded NPCs (respawned tombstones)
+ unsigned int lapine_ui : 1;
} state;
struct {
unsigned char no_weapon_damage, no_magic_damage, no_misc_damage;
@@ -273,6 +286,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 +304,6 @@ struct map_session_data {
int followtimer; // [MouseJstr]
int followtarget;
time_t emotionlasttime; // to limit flood with emotion packets
- int skillitem,skillitemlv;
uint16 skill_id_old,skill_lv_old;
uint16 skill_id_dance,skill_lv_dance;
short cook_mastery; // range: [0,1999] [Inkfish]
@@ -482,6 +497,7 @@ END_ZEROED_BLOCK;
int change_level_3rd; // job level when changing from 2nd to 3rd class [jobchange_level_3rd in global_reg_value]
char fakename[NAME_LENGTH]; // fake names [Valaris]
+ int fakename_options; // Fake name display options.
int duel_group; // duel vars [LuzZza]
int duel_invite;
@@ -629,6 +645,7 @@ END_ZEROED_BLOCK;
unsigned immune : 1;
unsigned sitstand : 1;
unsigned commands : 1;
+ unsigned npc : 1;
} block_action;
/* Achievement System */
@@ -660,10 +677,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 || (sd)->state.lapine_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 || (sd)->state.lapine_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) )
@@ -671,6 +688,7 @@ END_ZEROED_BLOCK;
#define pc_iscloaking(sd) ( !((sd)->sc.option&OPTION_CHASEWALK) && ((sd)->sc.option&OPTION_CLOAK) )
#define pc_ischasewalk(sd) ( (sd)->sc.option&OPTION_CHASEWALK )
#define pc_ismuted(sc,type) ( (sc)->data[SC_NOCHAT] && (sc)->data[SC_NOCHAT]->val1&(type) )
+#define pc_isvending(sd) ((sd)->state.vending || (sd)->state.prevend || (sd)->state.buyingstore)
#ifdef NEW_CARTS
#define pc_iscarton(sd) ( (sd)->sc.data[SC_PUSH_CART] )
@@ -959,7 +977,7 @@ END_ZEROED_BLOCK; /* End */
int (*updateweightstatus) (struct map_session_data *sd);
- int (*addautobonus) (struct s_autobonus *bonus,char max,const char *bonus_script,short rate,unsigned int dur,short atk_type,const char *o_script,unsigned short pos,bool onskill);
+ int (*addautobonus) (struct s_autobonus *bonus,char max,const char *bonus_script,short rate,unsigned int dur,short atk_type,const char *o_script,unsigned int pos,bool onskill);
int (*exeautobonus) (struct map_session_data* sd,struct s_autobonus *bonus);
int (*endautobonus) (int tid, int64 tick, int id, intptr_t data);
int (*delautobonus) (struct map_session_data* sd,struct s_autobonus *bonus,char max,bool restore);
@@ -1013,6 +1031,7 @@ END_ZEROED_BLOCK; /* End */
void (*unequipitem_pos) (struct map_session_data *sd, int n, int pos);
int (*checkitem) (struct map_session_data *sd);
int (*useitem) (struct map_session_data *sd,int n);
+ int (*autocast_clear) (struct map_session_data *sd);
int (*skillatk_bonus) (struct map_session_data *sd, uint16 skill_id);
int (*skillheal_bonus) (struct map_session_data *sd, uint16 skill_id);
@@ -1029,7 +1048,7 @@ END_ZEROED_BLOCK; /* End */
int (*setcart) (struct map_session_data* sd, int type);
void (*setfalcon) (struct map_session_data *sd, bool flag);
void (*setridingpeco) (struct map_session_data *sd, bool flag);
- void (*setmadogear) (struct map_session_data *sd, bool flag);
+ void (*setmadogear) (struct map_session_data *sd, bool flag, enum mado_type mtype);
void (*setridingdragon) (struct map_session_data *sd, unsigned int type);
void (*setridingwug) (struct map_session_data *sd, bool flag);
int (*changelook) (struct map_session_data *sd,int type,int val);
@@ -1179,13 +1198,17 @@ END_ZEROED_BLOCK; /* End */
void (*update_idle_time) (struct map_session_data* sd, enum e_battle_config_idletime type);
int (*have_magnifier) (struct map_session_data *sd);
+ int (*have_item_chain) (struct map_session_data *sd, enum e_chain_cache chain_cache_id);
bool (*process_chat_message) (struct map_session_data *sd, const char *message);
+ int (*wis_message_to_gm) (const char *sender_name, int permission, const char *message);
+ int (*wis_message_to_gm_sub) (struct map_session_data *sd, va_list va);
void (*check_supernovice_call) (struct map_session_data *sd, const char *message);
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);
+ bool (*auto_exp_insurance) (struct map_session_data *sd);
};
#ifdef HERCULES_CORE
diff --git a/src/map/pc_groups.c b/src/map/pc_groups.c
index 887c946e3..9149aa6e4 100644
--- a/src/map/pc_groups.c
+++ b/src/map/pc_groups.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -449,6 +449,7 @@ static void do_init_pc_groups(void)
{ "disable_store", PC_PERM_DISABLE_STORE },
{ "disable_exp", PC_PERM_DISABLE_EXP },
{ "disable_skill_usage", PC_PERM_DISABLE_SKILL_USAGE },
+ { "bypass_nostorage", PC_PERM_BYPASS_NOSTORAGE },
};
unsigned char i, len = ARRAYLENGTH(pc_g_defaults);
diff --git a/src/map/pc_groups.h b/src/map/pc_groups.h
index 6070809e0..0a8cfce86 100644
--- a/src/map/pc_groups.h
+++ b/src/map/pc_groups.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -57,6 +57,7 @@ enum e_pc_permission {
PC_PERM_DISABLE_STORE = 0x1000000,
PC_PERM_DISABLE_EXP = 0x2000000,
PC_PERM_DISABLE_SKILL_USAGE = 0x4000000,
+ PC_PERM_BYPASS_NOSTORAGE = 0x8000000,
};
// Cached config settings for quick lookup
diff --git a/src/map/pet.c b/src/map/pet.c
index c9603a76c..620779765 100644
--- a/src/map/pet.c
+++ b/src/map/pet.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -60,62 +60,101 @@ struct pet_interface *pet;
#define MIN_PETTHINKTIME 100
+/**
+ * Gets a pet's hunger value, depending it's hunger level.
+ * This value is only used in clif_parse_LoadEndAck() when calling clif_pet_emotion().
+ *
+ * @param pd The pet.
+ * @return The pet's hunger value.
+ *
+ **/
static int pet_hungry_val(struct pet_data *pd)
{
nullpo_ret(pd);
- if(pd->pet.hungry > 90)
+ if (pd->pet.hungry > PET_HUNGER_SATISFIED)
return 4;
- else if(pd->pet.hungry > 75)
+ else if (pd->pet.hungry > PET_HUNGER_NEUTRAL)
return 3;
- else if(pd->pet.hungry > 25)
+ else if (pd->pet.hungry > PET_HUNGER_HUNGRY)
return 2;
- else if(pd->pet.hungry > 10)
+ else if (pd->pet.hungry > PET_HUNGER_VERY_HUNGRY)
return 1;
else
return 0;
}
-static void pet_set_intimate(struct pet_data *pd, int value)
+/**
+ * Sets a pet's hunger value.
+ *
+ * @param pd The pet.
+ * @param value The pet's new hunger value.
+ *
+ **/
+static void pet_set_hunger(struct pet_data *pd, int value)
{
- int intimate;
- struct map_session_data *sd;
+ nullpo_retv(pd);
+
+ pd->pet.hungry = cap_value(value, PET_HUNGER_STARVING, PET_HUNGER_STUFFED);
+}
+/**
+ * Sets a pet's intimacy value.
+ * Deletes the pet if its intimacy value reaches PET_INTIMACY_NONE (0).
+ *
+ * @param pd The pet.
+ * @param value The pet's new intimacy value.
+ *
+ **/
+static void pet_set_intimate(struct pet_data *pd, int value)
+{
nullpo_retv(pd);
- intimate = pd->pet.intimate;
- sd = pd->msd;
+ nullpo_retv(pd->msd);
+
+ pd->pet.intimate = cap_value(value, PET_INTIMACY_NONE, PET_INTIMACY_MAX);
- pd->pet.intimate = value;
+ struct map_session_data *sd = pd->msd;
- if( (intimate >= battle_config.pet_equip_min_friendly && pd->pet.intimate < battle_config.pet_equip_min_friendly) || (intimate < battle_config.pet_equip_min_friendly && pd->pet.intimate >= battle_config.pet_equip_min_friendly) )
- status_calc_pc(sd,SCO_NONE);
+ status_calc_pc(sd, SCO_NONE);
- /* Pet is lost, delete the egg */
- if (value <= 0) {
+ if (pd->pet.intimate == PET_INTIMACY_NONE) { /// Pet is lost. Delete the egg.
int i;
- 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]));
+ 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 != sd->status.inventorySize) {
+ if (i != sd->status.inventorySize)
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_EGG);
- }
}
}
+/**
+ * Creates a pet egg.
+ *
+ * @param sd The character who tries to create the pet egg.
+ * @param item_id The pet egg's item ID.
+ * @return 0 on failure, 1 on success.
+ *
+ **/
static int pet_create_egg(struct map_session_data *sd, int item_id)
{
- int pet_id = pet->search_petDB_index(item_id, PET_EGG);
nullpo_ret(sd);
- if (pet_id < 0) return 0; //No pet egg here.
- if (!pc->inventoryblank(sd)) return 0; // Inventory full
+
+ int pet_id = pet->search_petDB_index(item_id, PET_EGG);
+
+ if (pet_id == INDEX_NOT_FOUND) // No pet egg here.
+ return 0;
+
+ if (pc->inventoryblank(sd) == 0) // Inventory full.
+ return 0;
+
sd->catch_target_class = pet->db[pet_id].class_;
- intif->create_pet(sd->status.account_id, sd->status.char_id,
- 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);
+ intif->create_pet(sd->status.account_id, sd->status.char_id, 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, PET_HUNGER_STUFFED,
+ 0, 1, pet->db[pet_id].jname);
+
return 1;
}
@@ -162,48 +201,42 @@ static int pet_attackskill(struct pet_data *pd, int target_id)
return 0;
}
+/**
+ * Checks if a pet can attack a target.
+ *
+ * @param sd The pet's master.
+ * @param bl The pet's target.
+ * @param type 0 - Support master when attacking. Not 0 - Support master when being attacked.
+ * @return 0 on failure, 1 on success.
+ *
+ **/
static int pet_target_check(struct map_session_data *sd, struct block_list *bl, int type)
{
- struct pet_data *pd;
- int rate;
-
nullpo_ret(sd);
- pd = sd->pd;
+ nullpo_ret(sd->pd);
+ nullpo_ret(bl);
+ Assert_ret(sd->pd->msd == NULL || sd->pd->msd->pd == sd->pd);
- Assert_ret(pd->msd == 0 || pd->msd->pd == pd);
+ struct pet_data *pd = sd->pd;
- if( bl == NULL || bl->type != BL_MOB || bl->prev == NULL
- || pd->pet.intimate < battle_config.pet_support_min_friendly
- || pd->pet.hungry < 1
- || pd->pet.class_ == status->get_class(bl))
- return 0;
+ if ((type == 0 && pd->petDB->attack_rate == 0) || (type != 0 && pd->petDB->defence_attack_rate == 0))
+ return 0; // If base rate is 0, there's nothing to do.
- if( pd->bl.m != bl->m
- || !check_distance_bl(&pd->bl, bl, pd->db->range2))
+ if (bl->type != BL_MOB || bl->prev == NULL || pd->pet.intimate < battle_config.pet_support_min_friendly
+ || pd->pet.hungry <= PET_HUNGER_STARVING || pd->pet.class_ == status->get_class(bl)
+ || pd->bl.m != bl->m || !check_distance_bl(&pd->bl, bl, pd->db->range2)
+ || status->check_skilluse(&pd->bl, bl, 0, 0) == 0) {
return 0;
+ }
- if (!status->check_skilluse(&pd->bl, bl, 0, 0))
- return 0;
+ int rate = ((type == 0) ? pd->petDB->attack_rate : pd->petDB->defence_attack_rate) * pd->rate_fix / 1000;
- if(!type) {
- rate = pd->petDB->attack_rate;
- rate = rate * pd->rate_fix/1000;
- if(pd->petDB->attack_rate > 0 && rate <= 0)
- rate = 1;
- } else {
- rate = pd->petDB->defence_attack_rate;
- rate = rate * pd->rate_fix/1000;
- if(pd->petDB->defence_attack_rate > 0 && rate <= 0)
- rate = 1;
- }
- if(rnd()%10000 < rate)
- {
- if(pd->target_id == 0 || rnd()%10000 < pd->petDB->change_target_rate)
- pd->target_id = bl->id;
- }
+ if (rnd() % 10000 < max(rate, 1) && (pd->target_id == 0 || rnd() % 10000 < pd->petDB->change_target_rate))
+ pd->target_id = bl->id;
return 0;
}
+
/*==========================================
* Pet SC Check [Skotlex]
*------------------------------------------*/
@@ -226,59 +259,72 @@ static int pet_sc_check(struct map_session_data *sd, int type)
return 0;
}
+/**
+ * Updates a pet's hunger value and timer and updates the pet's intimacy value if starving.
+ *
+ * @param tid The timer ID.
+ * @param tick The base amount of ticks to add to the pet's hunger timer. (The timer's current ticks when calling this fuction.)
+ * @param id The pet master's account ID.
+ * @param data Unused.
+ * @return 1 on failure, 0 on success.
+ *
+ **/
static int pet_hungry(int tid, int64 tick, int id, intptr_t data)
{
- struct map_session_data *sd;
- struct pet_data *pd;
- int interval;
+ struct map_session_data *sd = map->id2sd(id);
- sd=map->id2sd(id);
- if(!sd)
+ if (sd == NULL || sd->status.pet_id == 0 || sd->pd == NULL)
return 1;
- if(!sd->status.pet_id || !sd->pd)
- return 1;
+ struct pet_data *pd = sd->pd;
- pd = sd->pd;
- if(pd->pet_hungry_timer != tid){
- ShowError("pet_hungry_timer %d != %d\n",pd->pet_hungry_timer,tid);
+ /**
+ * If HungerDelay is 0, there's nothing to do.
+ * Actually this shouldn't happen, since the timer wasn't added in pet_data_init(), but just to be sure...
+ *
+ **/
+ if (pd->petDB->hungry_delay == 0) {
+ pet->hungry_timer_delete(pd);
return 0;
}
+
+ if (pd->pet_hungry_timer != tid) {
+ ShowError("pet_hungry: pet_hungry_timer %d != %d\n", pd->pet_hungry_timer, tid);
+ return 1;
+ }
+
pd->pet_hungry_timer = INVALID_TIMER;
- if (pd->pet.intimate <= 0)
- return 1; //You lost the pet already, the rest is irrelevant.
+ if (pd->pet.intimate <= PET_INTIMACY_NONE)
+ return 1; // You lost the pet already, the rest is irrelevant.
- pd->pet.hungry--;
- /* Pet Autofeed */
- if (battle_config.feature_enable_homun_autofeed != 0) {
- if (pd->petDB->autofeed == 1 && pd->pet.autofeed == 1 && pd->pet.hungry <= 25) {
+ pet->set_hunger(pd, pd->pet.hungry - pd->petDB->hunger_decrement);
+
+ // Pet auto-feed.
+ if (battle_config.feature_enable_pet_autofeed == 1) {
+ if (pd->petDB->autofeed == 1 && pd->pet.autofeed == 1 && pd->pet.hungry <= PET_HUNGER_HUNGRY)
pet->food(sd, pd);
- }
}
- if( pd->pet.hungry < 0 )
- {
+ int interval = pd->petDB->hungry_delay;
+
+ if (pd->pet.hungry == PET_HUNGER_STARVING) {
pet_stop_attack(pd);
- pd->pet.hungry = 0;
- pet->set_intimate(pd, pd->pet.intimate - battle_config.pet_hungry_friendly_decrease);
- if( pd->pet.intimate <= 0 )
- {
- pd->pet.intimate = 0;
+ pet->set_intimate(pd, pd->pet.intimate - pd->petDB->starving_decrement);
+
+ if (pd->pet.intimate == PET_INTIMACY_NONE)
pd->status.speed = pd->db->status.speed;
- }
+
status_calc_pet(pd, SCO_NONE);
- clif->send_petdata(sd,pd,1,pd->pet.intimate);
+ clif->send_petdata(sd, pd, 1, pd->pet.intimate);
+
+ if (pd->petDB->starving_delay > 0)
+ interval = pd->petDB->starving_delay;
}
- clif->send_petdata(sd,pd,2,pd->pet.hungry);
- if(battle_config.pet_hungry_delay_rate != 100)
- interval = (pd->petDB->hungry_delay*battle_config.pet_hungry_delay_rate)/100;
- else
- interval = pd->petDB->hungry_delay;
- if(interval <= 0)
- interval = 1;
- pd->pet_hungry_timer = timer->add(tick+interval,pet->hungry,sd->bl.id,0);
+ clif->send_petdata(sd, pd, 2, pd->pet.hungry);
+ interval *= battle_config.pet_hungry_delay_rate / 100;
+ pd->pet_hungry_timer = timer->add(tick + max(interval, 1), pet->hungry, sd->bl.id, 0);
return 0;
}
@@ -315,21 +361,31 @@ static int pet_hungry_timer_delete(struct pet_data *pd)
return 1;
}
+/**
+ * Makes a pet start performing/dancing.
+ *
+ * @param sd Unused.
+ * @param pd The pet.
+ * @return 0 on failure, 1 on success.
+ *
+ **/
static int pet_performance(struct map_session_data *sd, struct pet_data *pd)
{
+ nullpo_ret(pd);
+
int val;
- nullpo_retr(1, pd);
- if (pd->pet.intimate > 900)
- val = (pd->petDB->s_perfor > 0)? 4:3;
- else if(pd->pet.intimate > 750) //TODO: this is way too high
+ if (pd->pet.intimate > PET_INTIMACY_LOYAL)
+ val = (pd->petDB->s_perfor > 0) ? 4 : 3;
+ else if (pd->pet.intimate > PET_INTIMACY_CORDIAL) //TODO: This is way too high.
val = 2;
else
val = 1;
- pet_stop_walking(pd,STOPWALKING_FLAG_NONE | (2000<<8)); // Stop walking for 2000ms
- clif->send_petdata(NULL, pd, 4, rnd()%val + 1);
- pet->lootitem_drop(pd,NULL);
+ pet_stop_walking(pd, STOPWALKING_FLAG_NONE | (2000 << 8)); // Stop walking for 2 seconds.
+ clif->send_petdata(NULL, pd, 4, rnd() % val + 1);
+ pet->lootitem_drop(pd, NULL);
+
return 1;
}
@@ -348,6 +404,21 @@ static int pet_return_egg(struct map_session_data *sd, struct pet_data *pd)
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);
@@ -362,78 +433,80 @@ static int pet_return_egg(struct map_session_data *sd, struct pet_data *pd)
return 1;
}
+/**
+ * Initializes a pet.
+ *
+ * @param sd The pet's master.
+ * @param petinfo The pet's status data.
+ * @return 1 on failure, 0 on success.
+ *
+ **/
static int pet_data_init(struct map_session_data *sd, struct s_pet *petinfo)
{
- struct pet_data *pd;
- int i=0,interval=0;
-
nullpo_retr(1, sd);
nullpo_retr(1, petinfo);
- Assert_retr(1, sd->status.pet_id == 0 || sd->pd == 0 || sd->pd->msd == sd);
+ Assert_retr(1, sd->status.pet_id == 0 || sd->pd == NULL || sd->pd->msd == sd);
- if(sd->status.account_id != petinfo->account_id || sd->status.char_id != petinfo->char_id) {
+ if (sd->status.account_id != petinfo->account_id || sd->status.char_id != petinfo->char_id) {
sd->status.pet_id = 0;
return 1;
}
+
if (sd->status.pet_id != petinfo->pet_id) {
- if (sd->status.pet_id) {
- //Wrong pet?? Set incubate to no and send it back for saving.
+ if (sd->status.pet_id != 0) { // Wrong pet? Set incubate to no and send it back for saving.
petinfo->incubate = 1;
- intif->save_petdata(sd->status.account_id,petinfo);
+ intif->save_petdata(sd->status.account_id, petinfo);
sd->status.pet_id = 0;
return 1;
}
- //The pet_id value was lost? odd... restore it.
- sd->status.pet_id = petinfo->pet_id;
+
+ sd->status.pet_id = petinfo->pet_id; // The pet_id value was lost? Odd... Restore it.
}
- i = pet->search_petDB_index(petinfo->class_,PET_CLASS);
- if(i < 0) {
+ int i = pet->search_petDB_index(petinfo->class_, PET_CLASS);
+
+ if (i == INDEX_NOT_FOUND) {
sd->status.pet_id = 0;
return 1;
}
+
+ struct pet_data *pd;
+
CREATE(pd, struct pet_data, 1);
- pd->bl.type = BL_PET;
- pd->bl.id = npc->get_new_npc_id();
+ memcpy(&pd->pet, petinfo, sizeof(struct s_pet));
sd->pd = pd;
-
pd->msd = sd;
pd->petDB = &pet->db[i];
- pd->db = mob->db(petinfo->class_);
- memcpy(&pd->pet, petinfo, sizeof(struct s_pet));
- status->set_viewdata(&pd->bl, petinfo->class_);
+ pd->db = mob->db(pd->petDB->class_);
+ pd->bl.type = BL_PET;
+ pd->bl.id = npc->get_new_npc_id();
+ status->set_viewdata(&pd->bl, pd->petDB->class_);
unit->dataset(&pd->bl);
pd->ud.dir = sd->ud.dir;
-
pd->bl.m = sd->bl.m;
pd->bl.x = sd->bl.x;
pd->bl.y = sd->bl.y;
unit->calc_pos(&pd->bl, sd->bl.x, sd->bl.y, sd->ud.dir);
pd->bl.x = pd->ud.to_x;
pd->bl.y = pd->ud.to_y;
-
map->addiddb(&pd->bl);
- status_calc_pet(pd,SCO_FIRST);
-
+ status_calc_pet(pd, SCO_FIRST);
pd->last_thinktime = timer->gettick();
pd->state.skillbonus = 0;
- if( battle_config.pet_status_support )
- script->run_pet(pet->db[i].pet_script,0,sd->bl.id,0);
+ if (pd->petDB->pet_script != NULL && battle_config.pet_status_support == 1)
+ script->run_pet(pd->petDB->pet_script, 0, sd->bl.id, 0);
- if( pd->petDB ) {
- if( pd->petDB->equip_script )
- status_calc_pc(sd,SCO_NONE);
+ if (pd->petDB->equip_script != NULL)
+ status_calc_pc(sd, SCO_NONE);
- if( battle_config.pet_hungry_delay_rate != 100 )
- interval = (pd->petDB->hungry_delay*battle_config.pet_hungry_delay_rate)/100;
- else
- interval = pd->petDB->hungry_delay;
+ pd->pet_hungry_timer = INVALID_TIMER;
+
+ if (pd->petDB->hungry_delay > 0) {
+ int interval = pd->petDB->hungry_delay * battle_config.pet_hungry_delay_rate / 100;
+ pd->pet_hungry_timer = timer->add(timer->gettick() + max(interval, 1), pet->hungry, sd->bl.id, 0);
}
- if( interval <= 0 )
- interval = 1;
- pd->pet_hungry_timer = timer->add(timer->gettick() + interval, pet->hungry, sd->bl.id, 0);
return 0;
}
@@ -548,57 +621,66 @@ static int pet_catch_process1(struct map_session_data *sd, int target_class)
return 0;
}
+/**
+ * Begins the actual process of catching a monster.
+ *
+ * @param sd The character who tries to catch the monster.
+ * @param target_id The monster ID of the pet, which the character tries to catch.
+ * @return 1 on failure, 0 on success.
+ *
+ **/
static int pet_catch_process2(struct map_session_data *sd, int target_id)
{
- struct mob_data *md = NULL;
- struct block_list *bl = NULL;
- int i = 0, pet_catch_rate = 0;
-
nullpo_retr(1, sd);
- bl = map->id2bl(target_id); // TODO: Why does this not use map->id2md?
- md = BL_CAST(BL_MOB, bl);
- if (md == NULL || md->bl.prev == NULL) {
- // Invalid inputs/state, abort capture.
- clif->pet_roulette(sd,0);
+ struct mob_data *md = BL_CAST(BL_MOB, map->id2bl(target_id)); //TODO: Why does this not use map->id2md?
+
+ if (md == NULL || md->bl.prev == NULL) { // Invalid inputs/state, abort capture.
+ clif->pet_roulette(sd, 0);
sd->catch_target_class = -1;
sd->itemid = -1;
sd->itemindex = -1;
return 1;
}
- //FIXME: delete taming item here, if this was an item-invoked capture and the item was flagged as delay-consume [ultramage]
+ //FIXME: Delete taming item here, if this was an item-invoked capture and the item was flagged as delay-consume. [ultramage]
- i = pet->search_petDB_index(md->class_,PET_CLASS);
- //catch_target_class == 0 is used for universal lures (except bosses for now). [Skotlex]
- if (sd->catch_target_class == 0 && !(md->status.mode&MD_BOSS))
+ // catch_target_class == 0 is used for universal lures (except bosses for now). [Skotlex]
+ if (sd->catch_target_class == 0 && (md->status.mode & MD_BOSS) == 0)
sd->catch_target_class = md->class_;
- if(i < 0 || sd->catch_target_class != md->class_) {
- clif->emotion(&md->bl, E_AG); //mob will do /ag if wrong lure is used on them.
- clif->pet_roulette(sd,0);
+
+ int i = pet->search_petDB_index(md->class_, PET_CLASS);
+
+ if (i == INDEX_NOT_FOUND || sd->catch_target_class != md->class_) {
+ clif->emotion(&md->bl, E_AG); // Mob will do /ag if wrong lure is used on it.
+ clif->pet_roulette(sd, 0);
sd->catch_target_class = -1;
return 1;
}
- pet_catch_rate = (pet->db[i].capture + (sd->status.base_level - md->level)*30 + sd->battle_status.luk*20)*(200 - get_percentage(md->status.hp, md->status.max_hp))/100;
+ int pet_catch_rate;
+ int capture = pet->db[i].capture;
+ int mob_hp_perc = get_percentage(md->status.hp, md->status.max_hp);
- if(pet_catch_rate < 1) pet_catch_rate = 1;
- if(battle->bc->pet_catch_rate != 100)
- pet_catch_rate = (pet_catch_rate*battle->bc->pet_catch_rate)/100;
+ if (battle_config.pet_catch_rate_official_formula == 1) {
+ pet_catch_rate = capture * (100 - mob_hp_perc) / 100 + capture;
+ } else {
+ int lvl_diff_mod = (sd->status.base_level - md->level) * 30;
+ int char_luk_mod = sd->battle_status.luk * 20;
+ pet_catch_rate = (capture + lvl_diff_mod + char_luk_mod) * (200 - mob_hp_perc) / 100;
+ }
- if(rnd()%10000 < pet_catch_rate)
- {
- unit->remove_map(&md->bl,CLR_OUTSIGHT,ALC_MARK);
- status_kill(&md->bl);
- clif->pet_roulette(sd,1);
- intif->create_pet(sd->status.account_id,sd->status.char_id,pet->db[i].class_,mob->db(pet->db[i].class_)->lv,
- pet->db[i].EggID,0,pet->db[i].intimate,100,0,1,pet->db[i].jname);
+ pet_catch_rate = cap_value(pet_catch_rate, 1, 10000) * battle_config.pet_catch_rate / 100;
+ if (rnd() % 10000 < pet_catch_rate) {
+ unit->remove_map(&md->bl, CLR_OUTSIGHT, ALC_MARK);
+ status_kill(&md->bl);
+ clif->pet_roulette(sd, 1);
+ intif->create_pet(sd->status.account_id, sd->status.char_id, pet->db[i].class_, mob->db(pet->db[i].class_)->lv,
+ pet->db[i].EggID, 0, pet->db[i].intimate, PET_HUNGER_STUFFED, 0, 1, pet->db[i].jname);
achievement->validate_taming(sd, pet->db[i].class_);
- }
- else
- {
- clif->pet_roulette(sd,0);
+ } else {
+ clif->pet_roulette(sd, 0);
sd->catch_target_class = -1;
}
@@ -655,42 +737,52 @@ static bool pet_get_egg(int account_id, int pet_class, int pet_id)
return true;
}
+/**
+ * Performs selected pet menu option.
+ *
+ * @param sd The pet's master.
+ * @param menunum The selected menu option.
+ * @return 1 on failure, 0 on success.
+ *
+ **/
static int pet_menu(struct map_session_data *sd, int menunum)
{
- struct item_data *egg_id;
- nullpo_ret(sd);
- if (sd->pd == NULL)
- return 1;
+ nullpo_retr(1, sd);
+ nullpo_retr(1, sd->pd);
- //You lost the pet already.
- if(!sd->status.pet_id || sd->pd->pet.intimate <= 0 || sd->pd->pet.incubate)
- return 1;
+ if (sd->status.pet_id == 0 || sd->pd->pet.intimate <= PET_INTIMACY_NONE || sd->pd->pet.incubate != 0)
+ return 1; // You lost the pet already.
- egg_id = itemdb->exists(sd->pd->petDB->EggID);
- if (egg_id) {
- if ((egg_id->flag.trade_restriction&ITR_NODROP) && !pc->inventoryblank(sd)) {
- clif->message(sd->fd, msg_sd(sd,451)); // You can't return your pet because your inventory is full.
+ struct item_data *egg_id = itemdb->exists(sd->pd->petDB->EggID);
+
+ if (egg_id != NULL) {
+ if ((egg_id->flag.trade_restriction & ITR_NODROP) != 0 && pc->inventoryblank(sd) == 0) {
+ clif->message(sd->fd, msg_sd(sd, 451)); // You can't return your pet because your inventory is full.
return 1;
}
}
- switch(menunum) {
- case 0:
- clif->send_petstatus(sd);
- break;
- case 1:
- pet->food(sd, sd->pd);
- break;
- case 2:
- pet->performance(sd, sd->pd);
- break;
- case 3:
- pet->return_egg(sd, sd->pd);
- break;
- case 4:
- pet->unequipitem(sd, sd->pd);
- break;
+ switch (menunum) {
+ case 0:
+ clif->send_petstatus(sd);
+ break;
+ case 1:
+ pet->food(sd, sd->pd);
+ break;
+ case 2:
+ pet->performance(sd, sd->pd);
+ break;
+ case 3:
+ pet->return_egg(sd, sd->pd);
+ break;
+ case 4:
+ pet->unequipitem(sd, sd->pd);
+ break;
+ default: ;
+ ShowError("pet_menu: Unexpected menu option: %d\n", menunum);
+ return 1;
}
+
return 0;
}
@@ -733,7 +825,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);
@@ -815,49 +907,56 @@ static int pet_unequipitem(struct map_session_data *sd, struct pet_data *pd)
return 0;
}
+/**
+ * Feeds a pet and updates its intimacy value.
+ *
+ * @param sd The pet's master.
+ * @param pd The pet.
+ * @return 1 on failure, 0 on success.
+ *
+ **/
static int pet_food(struct map_session_data *sd, struct pet_data *pd)
{
- int i, food_id;
-
+ nullpo_retr(1, sd);
nullpo_retr(1, pd);
- food_id = pd->petDB->FoodID;
- i = pc->search_inventory(sd, food_id);
- if(i == INDEX_NOT_FOUND) {
- clif->pet_food(sd, food_id, 0);
+
+ int i = pc->search_inventory(sd, pd->petDB->FoodID);
+
+ if (i == INDEX_NOT_FOUND) {
+ clif->pet_food(sd, pd->petDB->FoodID, 0);
return 1;
}
+
pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_CONSUME);
- if (pd->pet.hungry > 90) {
- pet->set_intimate(pd, pd->pet.intimate - pd->petDB->r_full);
- } else {
- int add_intimate = 0;
- if (battle_config.pet_friendly_rate != 100)
- add_intimate = (pd->petDB->r_hungry * battle_config.pet_friendly_rate)/100;
- else
- add_intimate = pd->petDB->r_hungry;
- if (pd->pet.hungry > 75) {
- add_intimate = add_intimate >> 1;
- if (add_intimate <= 0)
- add_intimate = 1;
- }
- pet->set_intimate(pd, pd->pet.intimate + add_intimate);
- }
- if (pd->pet.intimate <= 0) {
- pd->pet.intimate = 0;
+ int intimacy = 0;
+
+ if (pd->pet.hungry >= PET_HUNGER_STUFFED)
+ intimacy -= pd->petDB->r_full; // Decrease intimacy by OverFeedDecrement.
+ else if (pd->pet.hungry > PET_HUNGER_SATISFIED)
+ intimacy -= pd->petDB->r_full / 2; // Decrease intimacy by 50% of OverFeedDecrement.
+ else if (pd->pet.hungry > PET_HUNGER_NEUTRAL)
+ intimacy -= pd->petDB->r_full * 5 / 100; // Decrease intimacy by 5% of OverFeedDecrement.
+ else if (pd->pet.hungry > PET_HUNGER_HUNGRY)
+ intimacy += pd->petDB->r_hungry * 75 / 100; // Increase intimacy by 75% of FeedIncrement.
+ else if (pd->pet.hungry > PET_HUNGER_VERY_HUNGRY)
+ intimacy += pd->petDB->r_hungry; // Increase intimacy by FeedIncrement.
+ else
+ intimacy += pd->petDB->r_hungry / 2; // Increase intimacy by 50% of FeedIncrement.
+
+ intimacy *= battle_config.pet_friendly_rate / 100;
+ pet->set_intimate(pd, pd->pet.intimate + intimacy);
+
+ if (pd->pet.intimate == PET_INTIMACY_NONE) {
pet_stop_attack(pd);
pd->status.speed = pd->db->status.speed;
- } else if (pd->pet.intimate > 1000) {
- pd->pet.intimate = 1000;
}
- status_calc_pet(pd, SCO_NONE);
- pd->pet.hungry += pd->petDB->fullness;
- if( pd->pet.hungry > 100 )
- pd->pet.hungry = 100;
- clif->send_petdata(sd,pd,2,pd->pet.hungry);
- clif->send_petdata(sd,pd,1,pd->pet.intimate);
- clif->pet_food(sd,pd->petDB->FoodID,1);
+ status_calc_pet(pd, SCO_NONE);
+ pet->set_hunger(pd, pd->pet.hungry + pd->petDB->fullness);
+ clif->send_petdata(sd, pd, 2, pd->pet.hungry);
+ clif->send_petdata(sd, pd, 1, pd->pet.intimate);
+ clif->pet_food(sd, pd->petDB->FoodID, 1);
return 0;
}
@@ -876,7 +975,8 @@ static int pet_randomwalk(struct pet_data *pd, int64 tick)
int r=rnd();
int x=pd->bl.x+r%(d*2+1)-d;
int y=pd->bl.y+r/(d*2+1)%(d*2+1)-d;
- if(map->getcell (pd->bl.m, &pd->bl, x, y, CELL_CHKPASS) && unit->walktoxy(&pd->bl, x, y, 0)) {
+ if (map->getcell(pd->bl.m, &pd->bl, x, y, CELL_CHKPASS) != 0
+ && unit->walk_toxy(&pd->bl, x, y, 0) == 0) {
pd->move_fail_count=0;
break;
}
@@ -903,117 +1003,128 @@ static int pet_randomwalk(struct pet_data *pd, int64 tick)
return 0;
}
+/**
+ * Performs pet's AI actions. (Moving, attacking, etc.)
+ *
+ * @param pd The pet.
+ * @param sd The pet's master.
+ * @param tick Timestamp of last support.
+ * @return Always 0.
+ *
+ **/
static int pet_ai_sub_hard(struct pet_data *pd, struct map_session_data *sd, int64 tick)
{
- struct block_list *target = NULL;
nullpo_ret(pd);
+ nullpo_ret(pd->bl.prev);
+ nullpo_ret(sd);
+ nullpo_ret(sd->bl.prev);
- if(pd->bl.prev == NULL || sd == NULL || sd->bl.prev == NULL)
+ if (DIFF_TICK(tick, pd->last_thinktime) < MIN_PETTHINKTIME)
return 0;
- if(DIFF_TICK(tick,pd->last_thinktime) < MIN_PETTHINKTIME)
- return 0;
- pd->last_thinktime=tick;
+ pd->last_thinktime = tick;
- if(pd->ud.attacktimer != INVALID_TIMER || pd->ud.skilltimer != INVALID_TIMER || pd->bl.m != sd->bl.m)
+ if (pd->ud.attacktimer != INVALID_TIMER || pd->ud.skilltimer != INVALID_TIMER || pd->bl.m != sd->bl.m)
return 0;
- if(pd->ud.walktimer != INVALID_TIMER && pd->ud.walkpath.path_pos <= 2)
- return 0; //No thinking when you just started to walk.
+ if (pd->ud.walktimer != INVALID_TIMER && pd->ud.walkpath.path_pos <= 2)
+ return 0; // No thinking when you just started to walk.
- if(pd->pet.intimate <= 0) {
- //Pet should just... well, random walk.
- pet->randomwalk(pd,tick);
+ if (pd->pet.intimate <= PET_INTIMACY_NONE) {
+ pet->randomwalk(pd, tick); // Pet should just... well, random walk.
return 0;
}
- if (!check_distance_bl(&sd->bl, &pd->bl, pd->db->range3)) {
- //Master too far, chase.
- if(pd->target_id)
+ if (!check_distance_bl(&sd->bl, &pd->bl, pd->db->range3)) { // Master too far away. Chase him.
+ if (pd->target_id != 0)
pet->unlocktarget(pd);
- if(pd->ud.walktimer != INVALID_TIMER && pd->ud.target == sd->bl.id)
- return 0; //Already walking to him
+
+ if (pd->ud.walktimer != INVALID_TIMER && pd->ud.target == sd->bl.id)
+ return 0; // Already walking to him.
+
if (DIFF_TICK(tick, pd->ud.canmove_tick) < 0)
- return 0; //Can't move yet.
- pd->status.speed = (sd->battle_status.speed>>1);
- if(pd->status.speed <= 0)
- pd->status.speed = 1;
- if (!unit->walktobl(&pd->bl, &sd->bl, 3, 0))
- pet->randomwalk(pd,tick);
+ return 0; // Can't move yet.
+
+ pd->status.speed = max(sd->battle_status.speed / 2, MIN_WALK_SPEED);
+
+ if (unit->walktobl(&pd->bl, &sd->bl, 3, 0) == 0)
+ pet->randomwalk(pd, tick);
+
return 0;
}
- //Return speed to normal.
- if (pd->status.speed != pd->petDB->speed) {
+ if (pd->status.speed != pd->petDB->speed) { // Reset speed to normal.
if (pd->ud.walktimer != INVALID_TIMER)
- return 0; //Wait until the pet finishes walking back to master.
+ return 0; // Wait until the pet finishes walking back to master.
+
pd->status.speed = pd->petDB->speed;
- pd->ud.state.change_walk_target = pd->ud.state.speed_changed = 1;
+ pd->ud.state.speed_changed = 1;
+ pd->ud.state.change_walk_target = 1;
}
- if (pd->target_id) {
- target= map->id2bl(pd->target_id);
- if (!target || pd->bl.m != target->m || status->isdead(target)
- || !check_distance_bl(&pd->bl, target, pd->db->range3)
- ) {
+ struct block_list *target = NULL;
+
+ if (pd->target_id != 0) {
+ target = map->id2bl(pd->target_id);
+
+ if (target == NULL || pd->bl.m != target->m || status->isdead(target) == 1
+ || !check_distance_bl(&pd->bl, target, pd->db->range3)) {
target = NULL;
pet->unlocktarget(pd);
}
}
- if(!target && pd->loot && pd->msd && pc_has_permission(pd->msd, PC_PERM_TRADE) && pd->loot->count < pd->loot->max && DIFF_TICK(tick,pd->ud.canact_tick)>0) {
- //Use half the pet's range of sight.
- map->foreachinrange(pet->ai_sub_hard_lootsearch,&pd->bl,
- pd->db->range2/2, BL_ITEM,pd,&target);
+ if (target == NULL && pd->loot != NULL && pd->msd != NULL && pc_has_permission(pd->msd, PC_PERM_TRADE)
+ && pd->loot->count < pd->loot->max && DIFF_TICK(tick, pd->ud.canact_tick) > 0) { // Use half the pet's range of sight.
+ map->foreachinrange(pet->ai_sub_hard_lootsearch, &pd->bl, pd->db->range2 / 2, BL_ITEM, pd, &target);
}
- if (!target) {
- //Just walk around.
+ if (target == NULL) { // Just walk around.
if (check_distance_bl(&sd->bl, &pd->bl, 3))
- return 0; //Already next to master.
+ return 0; // Already next to master.
- if(pd->ud.walktimer != INVALID_TIMER && check_distance_blxy(&sd->bl, pd->ud.to_x,pd->ud.to_y, 3))
- return 0; //Already walking to him
+ if (pd->ud.walktimer != INVALID_TIMER && check_distance_blxy(&sd->bl, pd->ud.to_x, pd->ud.to_y, 3))
+ return 0; // Already walking to him.
unit->calc_pos(&pd->bl, sd->bl.x, sd->bl.y, sd->ud.dir);
- if(!unit->walktoxy(&pd->bl,pd->ud.to_x,pd->ud.to_y,0))
- pet->randomwalk(pd,tick);
+
+ if (unit->walk_toxy(&pd->bl, pd->ud.to_x, pd->ud.to_y, 0) != 0)
+ pet->randomwalk(pd, tick);
return 0;
}
- if(pd->ud.target == target->id &&
- (pd->ud.attacktimer != INVALID_TIMER || pd->ud.walktimer != INVALID_TIMER))
- return 0; //Target already locked.
+ if (pd->ud.target == target->id && (pd->ud.attacktimer != INVALID_TIMER || pd->ud.walktimer != INVALID_TIMER))
+ return 0; // Target already locked.
+
+ if (target->type != BL_ITEM) { // Target is enemy. Chase or attack it.
+ if (!battle->check_range(&pd->bl, target, pd->status.rhw.range)) { // Chase enemy.
+ if (unit->walktobl(&pd->bl, target, pd->status.rhw.range, 2) == 0) // Enemy is unreachable.
+ pet->unlocktarget(pd);
- if (target->type != BL_ITEM)
- { //enemy targetted
- if(!battle->check_range(&pd->bl,target,pd->status.rhw.range)) {
- //Chase
- if(!unit->walktobl(&pd->bl, target, pd->status.rhw.range, 2))
- pet->unlocktarget(pd); //Unreachable target.
return 0;
}
- //Continuous attack.
- unit->attack(&pd->bl, pd->target_id, 1);
- } else {
- //Item Targeted, attempt loot
- if (!check_distance_bl(&pd->bl, target, 1)) {
- //Out of range
- if(!unit->walktobl(&pd->bl, target, 1, 1)) //Unreachable target.
+
+ unit->attack(&pd->bl, pd->target_id, 1); // Start/continue attacking.
+ } else { // Target is item. Attempt looting.
+ if (!check_distance_bl(&pd->bl, target, 1)) { // Item is out of range.
+ if (unit->walktobl(&pd->bl, target, 1, 1) == 0) // Item is unreachable.
pet->unlocktarget(pd);
+
return 0;
- } else{
+ }
+
+ if (pd->loot->count < pd->loot->max) {
struct flooritem_data *fitem = BL_UCAST(BL_ITEM, target);
- if(pd->loot->count < pd->loot->max){
- memcpy(&pd->loot->item[pd->loot->count++],&fitem->item_data,sizeof(pd->loot->item[0]));
- pd->loot->weight += itemdb_weight(fitem->item_data.nameid)*fitem->item_data.amount;
- map->clearflooritem(target);
- }
- //Target is unlocked regardless of whether it was picked or not.
- pet->unlocktarget(pd);
+
+ memcpy(&pd->loot->item[pd->loot->count++], &fitem->item_data, sizeof(pd->loot->item[0]));
+ pd->loot->weight += itemdb_weight(fitem->item_data.nameid) * fitem->item_data.amount;
+ map->clearflooritem(target);
}
+
+ pet->unlocktarget(pd); // Target is unlocked regardless of whether the item was picked or not.
}
+
return 0;
}
@@ -1127,45 +1238,54 @@ static int pet_lootitem_drop(struct pet_data *pd, struct map_session_data *sd)
return 1;
}
-/*==========================================
- * pet bonus giving skills [Valaris] / Rewritten by [Skotlex]
- *------------------------------------------*/
+/**
+ * Applies pet's stat bonuses to its master. (See petskillbonus() script command.)
+ *
+ * @param tid The timer ID
+ * @param tick The base amount of ticks to add to the pet's bonus timer. (The timer's current ticks when calling this fuction.)
+ * @param id The pet's master's account ID.
+ * @param data Unused.
+ * @return 1 on failure, 0 on success.
+ *
+ **/
static int pet_skill_bonus_timer(int tid, int64 tick, int id, intptr_t data)
{
- struct map_session_data *sd=map->id2sd(id);
- struct pet_data *pd;
- int bonus;
- int duration = 0;
+ struct map_session_data *sd = map->id2sd(id);
- if(sd == NULL || sd->pd==NULL || sd->pd->bonus == NULL)
+ if (sd == NULL || sd->pd == NULL || sd->pd->bonus == NULL)
return 1;
- pd=sd->pd;
+ struct pet_data *pd = sd->pd;
- if(pd->bonus->timer != tid) {
- ShowError("pet_skill_bonus_timer %d != %d\n",pd->bonus->timer,tid);
+ if (pd->bonus->timer != tid) {
+ ShowError("pet_skill_bonus_timer %d != %d\n", pd->bonus->timer, tid);
pd->bonus->timer = INVALID_TIMER;
- return 0;
+ return 1;
}
- // determine the time for the next timer
- if (pd->state.skillbonus && pd->bonus->delay > 0) {
+ int bonus;
+ int duration;
+
+ // Determine the time for the next timer.
+ if (pd->state.skillbonus == 1 && pd->bonus->delay > 0) {
bonus = 0;
- duration = pd->bonus->delay*1000; // the duration until pet bonuses will be reactivated again
- } else if (pd->pet.intimate) {
+ duration = pd->bonus->delay * 1000; // The duration until pet bonuses will be reactivated again.
+ } else if (pd->pet.intimate > PET_INTIMACY_NONE) {
bonus = 1;
- duration = pd->bonus->duration*1000; // the duration for pet bonuses to be in effect
- } else { //Lost pet...
+ duration = pd->bonus->duration * 1000; // The duration for pet bonuses to be in effect.
+ } else { // Lost pet...
pd->bonus->timer = INVALID_TIMER;
- return 0;
+ return 1;
}
if (pd->state.skillbonus != bonus) {
pd->state.skillbonus = bonus;
status_calc_pc(sd, SCO_NONE);
}
- // wait for the next timer
- pd->bonus->timer=timer->add(tick+duration,pet->skill_bonus_timer,sd->bl.id,0);
+
+ // Wait for the next timer.
+ pd->bonus->timer = timer->add(tick + duration, pet->skill_bonus_timer, sd->bl.id, 0);
+
return 0;
}
@@ -1306,120 +1426,160 @@ static int pet_read_db_libconfig(const char *filename, bool ignore_missing)
count++;
}
libconfig->destroy(&pet_db_conf);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filename);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
return count;
}
+/**
+ * Reads a single pet from DB.
+ *
+ * @param it The libconfig settings block, which contains the pet's data.
+ * @param n The pet's index in pet->db[].
+ * @param source The pet DB's file name.
+ * @return 0 on failure, the pet's ID on success.
+ *
+ **/
static int pet_read_db_sub(struct config_setting_t *it, int n, const char *source)
{
- struct config_setting_t *t = NULL;
- struct item_data *data = NULL;
- const char *str = NULL;
- int i32 = 0;
-
nullpo_ret(it);
nullpo_ret(source);
Assert_ret(n >= 0 && n < MAX_PET_DB);
- if (!libconfig->setting_lookup_int(it, "Id", &i32)) {
+ int i32 = 0;
+
+ if (libconfig->setting_lookup_int(it, "Id", &i32) == CONFIG_FALSE) {
ShowWarning("pet_read_db_sub: Missing Id in \"%s\", entry #%d, skipping.\n", source, n);
return 0;
}
- pet->db[n].class_ = i32;
- if (!libconfig->setting_lookup_string(it, "SpriteName", &str) || !*str ) {
- ShowWarning("pet_read_db_sub: Missing SpriteName in pet %d of \"%s\", skipping.\n", pet->db[n].class_, source);
+ if (mob->db_checkid(i32) == 0) {
+ ShowWarning("pet_read_db_sub: Invalid Id in \"%s\", entry #%d, skipping.\n", source, n);
return 0;
}
- safestrncpy(pet->db[n].name, str, sizeof(pet->db[n].name));
- if (!libconfig->setting_lookup_string(it, "Name", &str) || !*str) {
- ShowWarning("pet_read_db_sub: Missing Name in pet %d of \"%s\", skipping.\n", pet->db[n].class_, source);
+ pet->db[n].class_ = i32;
+ safestrncpy(pet->db[n].name, mob->db(i32)->sprite, sizeof(pet->db[n].name));
+
+ const char *str;
+
+ if (libconfig->setting_lookup_string(it, "Name", &str) == CONFIG_FALSE || *str == '\0') {
+ ShowWarning("pet_read_db_sub: Missing Name in pet %d of \"%s\", skipping.\n",
+ pet->db[n].class_, source);
return 0;
}
+
safestrncpy(pet->db[n].jname, str, sizeof(pet->db[n].jname));
- if (libconfig->setting_lookup_string(it, "TamingItem", &str)) {
- if (!(data = itemdb->name2id(str))) {
- ShowWarning("pet_read_db_sub: Invalid item '%s' in pet %d of \"%s\", defaulting to 0.\n", str, pet->db[n].class_, source);
- } else {
- pet->db[n].itemID = data->nameid;
- }
+ if (libconfig->setting_lookup_string(it, "EggItem", &str) == CONFIG_FALSE || *str == '\0') {
+ ShowWarning("pet_read_db_sub: Missing EggItem in pet %d of \"%s\", skipping.\n",
+ pet->db[n].class_, source);
+ return 0;
}
- if (libconfig->setting_lookup_string(it, "EggItem", &str)) {
- if (!(data = itemdb->name2id(str))) {
- ShowWarning("pet_read_db_sub: Invalid item '%s' in pet %d of \"%s\", defaulting to 0.\n", str, pet->db[n].class_, source);
- } else {
- pet->db[n].EggID = data->nameid;
- }
+ struct item_data *data;
+
+ if ((data = itemdb->name2id(str)) == NULL) {
+ ShowWarning("pet_read_db_sub: Invalid EggItem '%s' in pet %d of \"%s\", skipping.\n",
+ str, pet->db[n].class_, source);
+ return 0;
}
- if (libconfig->setting_lookup_string(it, "AccessoryItem", &str)) {
- if (!(data = itemdb->name2id(str))) {
- ShowWarning("pet_read_db_sub: Invalid item '%s' in pet %d of \"%s\", defaulting to 0.\n", str, pet->db[n].class_, source);
- } else {
- pet->db[n].AcceID = data->nameid;
- }
+ pet->db[n].EggID = data->nameid;
+
+ if (libconfig->setting_lookup_string(it, "TamingItem", &str) == CONFIG_TRUE) {
+ if ((data = itemdb->name2id(str)) == NULL)
+ ShowWarning("pet_read_db_sub: Invalid TamingItem '%s' in pet %d of \"%s\", defaulting to 0.\n",
+ str, pet->db[n].class_, source);
+ else
+ pet->db[n].itemID = data->nameid;
}
- if (libconfig->setting_lookup_string(it, "FoodItem", &str)) {
- if (!(data = itemdb->name2id(str))) {
- ShowWarning("pet_read_db_sub: Invalid item '%s' in pet %d of \"%s\", defaulting to 0.\n", str, pet->db[n].class_, source);
- } else {
+ pet->db[n].FoodID = 537;
+
+ if (libconfig->setting_lookup_string(it, "FoodItem", &str) == CONFIG_TRUE) {
+ if ((data = itemdb->name2id(str)) == NULL)
+ ShowWarning("pet_read_db_sub: Invalid FoodItem '%s' in pet %d of \"%s\", defaulting to Pet_Food (ID=537).\n",
+ str, pet->db[n].class_, source);
+ else
pet->db[n].FoodID = data->nameid;
- }
}
- if (libconfig->setting_lookup_int(it, "FoodEffectiveness", &i32))
- pet->db[n].fullness = i32;
+ if (libconfig->setting_lookup_string(it, "AccessoryItem", &str) == CONFIG_TRUE) {
+ if ((data = itemdb->name2id(str)) == NULL)
+ ShowWarning("pet_read_db_sub: Invalid AccessoryItem '%s' in pet %d of \"%s\", defaulting to 0.\n",
+ str, pet->db[n].class_, source);
+ else
+ pet->db[n].AcceID = data->nameid;
+ }
- if (libconfig->setting_lookup_int(it, "HungerDelay", &i32))
- pet->db[n].hungry_delay = i32 * 1000;
+ int ret = libconfig->setting_lookup_int(it, "FoodEffectiveness", &i32);
+ pet->db[n].fullness = (ret == CONFIG_FALSE) ? 80 : cap_value(i32, 1, PET_HUNGER_STUFFED);
- if ((t = libconfig->setting_get_member(it, "Intimacy"))) {
- if (config_setting_is_group(t)) {
- pet->read_db_sub_intimacy(n, t);
- }
- }
- if (pet->db[n].r_hungry <= 0)
- pet->db[n].r_hungry = 1;
+ ret = libconfig->setting_lookup_int(it, "HungerDelay", &i32);
+ pet->db[n].hungry_delay = (ret == CONFIG_FALSE) ? 60000 : cap_value(1000 * i32, 0, INT_MAX);
- if (libconfig->setting_lookup_int(it, "CaptureRate", &i32))
- pet->db[n].capture = i32;
+ ret = libconfig->setting_lookup_int(it, "HungerDecrement", &i32);
+ pet->db[n].hunger_decrement = (ret == CONFIG_FALSE) ? 1 : cap_value(i32, PET_HUNGER_STARVING, PET_HUNGER_STUFFED - 1);
- if (libconfig->setting_lookup_int(it, "Speed", &i32))
- pet->db[n].speed = i32;
+ if (pet->db[n].hunger_decrement == PET_HUNGER_STARVING)
+ pet->db[n].hungry_delay = 0;
- if ((t = libconfig->setting_get_member(it, "SpecialPerformance")) && (i32 = libconfig->setting_get_bool(t)))
- pet->db[n].s_perfor = (char)i32;
+ /**
+ * Preventively set default intimacy values here, just in case that 'Intimacy' block is not defined,
+ * or pet_read_db_sub_intimacy() fails execution.
+ *
+ **/
+ pet->db[n].intimate = PET_INTIMACY_NEUTRAL;
+ pet->db[n].r_hungry = 10;
+ pet->db[n].r_full = 100;
+ pet->db[n].die = 20;
+ pet->db[n].starving_delay = min(20000, pet->db[n].hungry_delay);
+ pet->db[n].starving_decrement = 20;
- if ((t = libconfig->setting_get_member(it, "TalkWithEmotes")) && (i32 = libconfig->setting_get_bool(t)))
- pet->db[n].talk_convert_class = i32;
+ struct config_setting_t *t;
- if (libconfig->setting_lookup_int(it, "AttackRate", &i32))
- pet->db[n].attack_rate = i32;
+ if ((t = libconfig->setting_get_member(it, "Intimacy")) != NULL && config_setting_is_group(t))
+ pet->read_db_sub_intimacy(n, t);
- if (libconfig->setting_lookup_int(it, "DefendRate", &i32))
- pet->db[n].defence_attack_rate = i32;
+ ret = libconfig->setting_lookup_int(it, "CaptureRate", &i32);
+ pet->db[n].capture = (ret == CONFIG_FALSE) ? 1000 : cap_value(i32, 1, 10000);
- if (libconfig->setting_lookup_int(it, "ChangeTargetRate", &i32))
- pet->db[n].change_target_rate = i32;
+ ret = libconfig->setting_lookup_int(it, "Speed", &i32);
+ pet->db[n].speed = (ret == CONFIG_FALSE) ? DEFAULT_WALK_SPEED : cap_value(i32, MIN_WALK_SPEED, MAX_WALK_SPEED);
- // Pet Evolution
- if ((t = libconfig->setting_get_member(it, "Evolve")) && config_setting_is_group(t)) {
- pet->read_db_sub_evolution(t, n);
+ if ((t = libconfig->setting_get_member(it, "SpecialPerformance")) != NULL
+ && (i32 = libconfig->setting_get_bool(t)) != 0) {
+ pet->db[n].s_perfor = (char)i32;
}
- if ((t = libconfig->setting_get_member(it, "AutoFeed")) && (i32 = libconfig->setting_get_bool(t)))
+ if ((t = libconfig->setting_get_member(it, "TalkWithEmotes")) != NULL
+ && (i32 = libconfig->setting_get_bool(t)) != 0) {
+ pet->db[n].talk_convert_class = i32;
+ }
+
+ ret = libconfig->setting_lookup_int(it, "AttackRate", &i32);
+ pet->db[n].attack_rate = (ret == CONFIG_FALSE) ? 300 : cap_value(i32, 0, 10000);
+
+ ret = libconfig->setting_lookup_int(it, "DefendRate", &i32);
+ pet->db[n].defence_attack_rate = (ret == CONFIG_FALSE) ? 300 : cap_value(i32, 0, 10000);
+
+ ret = libconfig->setting_lookup_int(it, "ChangeTargetRate", &i32);
+ pet->db[n].change_target_rate = (ret == CONFIG_FALSE) ? 800 : cap_value(i32, 0, 10000);
+
+ if ((t = libconfig->setting_get_member(it, "AutoFeed")) != NULL && (i32 = libconfig->setting_get_bool(t)) != 0)
pet->db[n].autofeed = i32;
- if (libconfig->setting_lookup_string(it, "PetScript", &str))
- pet->db[n].pet_script = *str ? script->parse(str, source, -pet->db[n].class_, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
+ pet->db[n].pet_script = NULL;
+ if (libconfig->setting_lookup_string(it, "PetScript", &str) == CONFIG_TRUE && *str != '\0')
+ pet->db[n].pet_script = script->parse(str, source, -pet->db[n].class_, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL);
+
+ pet->db[n].equip_script = NULL;
+ if (libconfig->setting_lookup_string(it, "EquipScript", &str) == CONFIG_TRUE && *str != '\0')
+ pet->db[n].equip_script = script->parse(str, source, -pet->db[n].class_, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL);
- if (libconfig->setting_lookup_string(it, "EquipScript", &str))
- pet->db[n].equip_script = *str ? script->parse(str, source, -pet->db[n].class_, SCRIPT_IGNORE_EXTERNAL_BRACKETS, NULL) : NULL;
+ if ((t = libconfig->setting_get_member(it, "Evolve")) != NULL && config_setting_is_group(t))
+ pet->read_db_sub_evolution(t, n);
return pet->db[n].class_;
}
@@ -1499,24 +1659,41 @@ static void pet_read_db_sub_evolution(struct config_setting_t *t, int n)
}
}
+/**
+ * Reads a pet's intimacy data from DB.
+ *
+ * @param idx The pet's index in pet->db[].
+ * @param t The libconfig settings block, which contains the pet's intimacy data.
+ * @return false on failure, true on success.
+ *
+ **/
static bool pet_read_db_sub_intimacy(int idx, struct config_setting_t *t)
{
+ nullpo_retr(false, t);
+ Assert_retr(false, idx >= 0 && idx < MAX_PET_DB);
+
int i32 = 0;
- nullpo_retr(false, t);
- Assert_ret(idx >= 0 && idx < MAX_PET_DB);
+ if (libconfig->setting_lookup_int(t, "Initial", &i32) == CONFIG_TRUE)
+ pet->db[idx].intimate = cap_value(i32, PET_INTIMACY_AWKWARD, PET_INTIMACY_MAX);
+
+ if (libconfig->setting_lookup_int(t, "FeedIncrement", &i32) == CONFIG_TRUE)
+ pet->db[idx].r_hungry = cap_value(i32, PET_INTIMACY_AWKWARD, PET_INTIMACY_MAX);
+
+ if (libconfig->setting_lookup_int(t, "OverFeedDecrement", &i32) == CONFIG_TRUE)
+ pet->db[idx].r_full = cap_value(i32, PET_INTIMACY_NONE, PET_INTIMACY_MAX);
- if (libconfig->setting_lookup_int(t, "Initial", &i32))
- pet->db[idx].intimate = i32;
+ if (libconfig->setting_lookup_int(t, "OwnerDeathDecrement", &i32) == CONFIG_TRUE)
+ pet->db[idx].die = cap_value(i32, PET_INTIMACY_NONE, PET_INTIMACY_MAX);
- if (libconfig->setting_lookup_int(t, "FeedIncrement", &i32))
- pet->db[idx].r_hungry = i32;
+ if (libconfig->setting_lookup_int(t, "StarvingDelay", &i32) == CONFIG_TRUE)
+ pet->db[idx].starving_delay = cap_value(1000 * i32, 0, pet->db[idx].hungry_delay);
- if (libconfig->setting_lookup_int(t, "OverFeedDecrement", &i32))
- pet->db[idx].r_full = i32;
+ if (libconfig->setting_lookup_int(t, "StarvingDecrement", &i32) == CONFIG_TRUE)
+ pet->db[idx].starving_decrement = cap_value(i32, PET_INTIMACY_NONE, PET_INTIMACY_MAX);
- if (libconfig->setting_lookup_int(t, "OwnerDeathDecrement", &i32))
- pet->db[idx].die = i32;
+ if (pet->db[idx].starving_decrement == PET_INTIMACY_NONE)
+ pet->db[idx].starving_delay = 0;
return true;
}
@@ -1610,6 +1787,7 @@ void pet_defaults(void)
pet->final = do_final_pet;
pet->hungry_val = pet_hungry_val;
+ pet->set_hunger = pet_set_hunger;
pet->set_intimate = pet_set_intimate;
pet->create_egg = pet_create_egg;
pet->unlocktarget = pet_unlocktarget;
diff --git a/src/map/pet.h b/src/map/pet.h
index 2508a70a6..fa37e896a 100644
--- a/src/map/pet.h
+++ b/src/map/pet.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -57,6 +57,9 @@ struct s_pet_db {
int defence_attack_rate;
int change_target_rate;
int autofeed;
+ int hunger_decrement;
+ int starving_delay;
+ int starving_decrement;
struct script_code *equip_script;
struct script_code *pet_script;
@@ -143,6 +146,7 @@ struct pet_interface {
int (*final) (void);
/* */
int (*hungry_val) (struct pet_data *pd);
+ void (*set_hunger) (struct pet_data *pd, int value);
void (*set_intimate) (struct pet_data *pd, int value);
int (*create_egg) (struct map_session_data *sd, int item_id);
int (*unlocktarget) (struct pet_data *pd);
diff --git a/src/map/quest.c b/src/map/quest.c
index 7a216095e..217acfa19 100644
--- a/src/map/quest.c
+++ b/src/map/quest.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -585,7 +585,7 @@ static int quest_read_db(void)
count++;
}
libconfig->destroy(&quest_db_conf);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filename);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
return count;
}
@@ -672,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);
}
}
}
@@ -927,26 +928,6 @@ static bool quest_questinfo_validate_mercenary_class(struct map_session_data *sd
}
/**
- * Clears the questinfo data vector
- *
- * @param m mapindex.
- *
- */
-static void quest_questinfo_vector_clear(int m)
-{
- int i;
-
- Assert_retv(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);
- VECTOR_CLEAR(qi_data->items);
- VECTOR_CLEAR(qi_data->quest_requirement);
- }
- VECTOR_CLEAR(map->list[m].qi_data);
-}
-
-/**
* Initializes the quest interface.
*
* @param minimal Run in minimal mode (skips most of the loading)
@@ -1020,5 +1001,4 @@ void quest_defaults(void)
quest->questinfo_validate_homunculus_type = quest_questinfo_validate_homunculus_type;
quest->questinfo_validate_quests = quest_questinfo_validate_quests;
quest->questinfo_validate_mercenary_class = quest_questinfo_validate_mercenary_class;
- quest->questinfo_vector_clear = quest_questinfo_vector_clear;
}
diff --git a/src/map/quest.h b/src/map/quest.h
index 206a7902f..f83bb7d73 100644
--- a/src/map/quest.h
+++ b/src/map/quest.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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
@@ -93,7 +126,6 @@ struct quest_interface {
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);
bool (*questinfo_validate_mercenary_class) (struct map_session_data *sd, struct questinfo *qi);
- void (*questinfo_vector_clear) (int m);
};
#ifdef HERCULES_CORE
diff --git a/src/map/refine.c b/src/map/refine.c
new file mode 100644
index 000000000..f6c855cea
--- /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-2020 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, filepath);
+
+ 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..bb3790a45
--- /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-2020 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..5dbed2afc
--- /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-2020 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 33070c5f8..1ebed0623 100644
--- a/src/map/rodex.c
+++ b/src/map/rodex.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2017 Hercules Dev Team
+ * Copyright (C) 2017-2020 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
@@ -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 < sd->status.inventorySize; ++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 56cc3a9d1..6a1621657 100644
--- a/src/map/rodex.h
+++ b/src/map/rodex.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2017 Hercules Dev Team
+ * Copyright (C) 2017-2020 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
@@ -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 7e6e06376..c08f5e829 100644
--- a/src/map/script.c
+++ b/src/map/script.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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"
@@ -104,7 +105,7 @@ static inline void SETVALUE(struct script_buf *buf, int i, int n)
VECTOR_INDEX(*buf, i+2) = GetByte(n, 2);
}
-const char *script_op2name(int op)
+static const char *script_op2name(int op)
{
#define RETURN_OP_NAME(type) case type: return #type
switch( op ) {
@@ -2812,7 +2813,7 @@ static struct map_session_data *script_charid2sd(struct script_state *st, int ch
static struct map_session_data *script_nick2sd(struct script_state *st, const char *name)
{
struct map_session_data *sd;
- if ((sd = map->nick2sd(name)) == NULL) {
+ if ((sd = map->nick2sd(name, false)) == NULL) {
ShowWarning("script_nick2sd: Player name '%s' not found!\n", name);
script->reportfunc(st);
script->reportsrc(st);
@@ -5149,7 +5150,8 @@ static uint8 script_add_language(const char *name)
static void script_load_translations(void)
{
struct config_t translations_conf;
- const char *config_filename = "db/translations.conf"; // FIXME hardcoded name
+ char config_filename[256];
+ libconfig->format_db_path("translations.conf", config_filename, sizeof(config_filename));
struct config_setting_t *translations = NULL;
int i, size;
int total = 0;
@@ -5188,8 +5190,8 @@ static void script_load_translations(void)
size = libconfig->setting_length(translations);
for(i = 0; i < size; i++) {
- const char *translation_file = libconfig->setting_get_string_elem(translations, i);
- total += script->load_translation(translation_file, ++lang_id);
+ const char *translation_dir = libconfig->setting_get_string_elem(translations, i);
+ total += script->load_translation(translation_dir, ++lang_id);
}
libconfig->destroy(&translations_conf);
@@ -5226,39 +5228,39 @@ static void script_load_translations(void)
}
/**
- * Generates a language name from a translation filename.
+ * Generates a language name from a translation directory name.
*
- * @param file The filename.
+ * @param directory The directory name.
* @return The corresponding translation name.
*/
-static const char *script_get_translation_file_name(const char *file)
+static const char *script_get_translation_dir_name(const char *directory)
{
const char *basename = NULL, *last_dot = NULL;
- nullpo_retr("Unknown", file);
+ nullpo_retr("Unknown", directory);
- basename = strrchr(file, '/');;
+ basename = strrchr(directory, '/');
#ifdef WIN32
{
- const char *basename_windows = strrchr(file, '\\');
+ const char *basename_windows = strrchr(directory, '\\');
if (basename_windows > basename)
basename = basename_windows;
}
#endif // WIN32
if (basename == NULL)
- basename = file;
+ basename = directory;
else
basename++; // Skip slash
Assert_retr("Unknown", *basename != '\0');
last_dot = strrchr(basename, '.');
if (last_dot != NULL) {
- static char file_name[200];
+ static char dir_name[200];
if (last_dot == basename)
return basename + 1;
- safestrncpy(file_name, basename, last_dot - basename + 1);
- return file_name;
+ safestrncpy(dir_name, basename, last_dot - basename + 1);
+ return dir_name;
}
return basename;
@@ -5339,18 +5341,19 @@ static bool script_load_translation_addstring(const char *file, uint8 lang_id, c
/**
* Parses an individual translation file.
*
- * @param file The filename to parse.
+ * @param directory The directory structure to read.
* @param lang_id The language identifier.
* @return The amount of strings loaded.
*/
-static int script_load_translation(const char *file, uint8 lang_id)
+static int script_load_translation_file(const char *file, uint8 lang_id)
{
- int translations = 0;
char line[1024];
- char msgctxt[NAME_LENGTH*2+1] = { 0 };
- FILE *fp;
- int lineno = 0;
+ char msgctxt[NAME_LENGTH*2+1] = "";
struct script_string_buf msgid, msgstr;
+ struct script_string_buf *msg_ptr;
+ int translations = 0;
+ int lineno = 0;
+ FILE *fp;
nullpo_ret(file);
@@ -5362,46 +5365,53 @@ static int script_load_translation(const char *file, uint8 lang_id)
VECTOR_INIT(msgid);
VECTOR_INIT(msgstr);
- script->add_language(script->get_translation_file_name(file));
- if (lang_id >= atcommand->max_message_table)
- atcommand->expand_message_table();
-
while (fgets(line, sizeof(line), fp) != NULL) {
int len = (int)strlen(line);
int i;
lineno++;
- if(len <= 1)
+ if (len <= 1) {
+ if (VECTOR_LENGTH(msgid) > 0 && VECTOR_LENGTH(msgstr) > 0) {
+ // Add string
+ if (script->load_translation_addstring(file, lang_id, msgctxt, &msgid, &msgstr))
+ translations++;
+
+ msgctxt[0] = '\0';
+ VECTOR_TRUNCATE(msgid);
+ VECTOR_TRUNCATE(msgstr);
+ }
continue;
+ }
if (line[0] == '#')
continue;
- if (VECTOR_LENGTH(msgid) > 0 && VECTOR_LENGTH(msgstr) > 0) {
+ if (VECTOR_LENGTH(msgid) > 0) {
+ if (VECTOR_LENGTH(msgstr) > 0) {
+ msg_ptr = &msgstr;
+ } else {
+ msg_ptr = &msgid;
+ }
if (line[0] == '"') {
// Continuation line
- (void)VECTOR_POP(msgstr); // Pop final '\0'
- for (i = 8; i < len - 2; i++) {
- VECTOR_ENSURE(msgstr, 1, 512);
+ (void)VECTOR_POP(*msg_ptr); // Pop final '\0'
+ for (i = 1; i < len - 2; i++) {
+ VECTOR_ENSURE(*msg_ptr, 1, 512);
if (line[i] == '\\' && line[i+1] == '"') {
- VECTOR_PUSH(msgstr, '"');
+ VECTOR_PUSH(*msg_ptr, '"');
+ i++;
+ } else if (line[i] == '\\' && line[i+1] == 'r') {
+ VECTOR_PUSH(*msg_ptr, '\r');
i++;
} else {
- VECTOR_PUSH(msgstr, line[i]);
+ VECTOR_PUSH(*msg_ptr, line[i]);
}
}
- VECTOR_ENSURE(msgstr, 1, 512);
- VECTOR_PUSH(msgstr, '\0');
+ VECTOR_ENSURE(*msg_ptr, 1, 512);
+ VECTOR_PUSH(*msg_ptr, '\0');
continue;
}
- // Add string
- if (script->load_translation_addstring(file, lang_id, msgctxt, &msgid, &msgstr))
- translations++;
-
- msgctxt[0] = '\0';
- VECTOR_TRUNCATE(msgid);
- VECTOR_TRUNCATE(msgstr);
}
if (strncasecmp(line,"msgctxt \"", 9) == 0) {
@@ -5411,6 +5421,9 @@ static int script_load_translation(const char *file, uint8 lang_id)
if (line[i] == '\\' && line[i+1] == '"') {
msgctxt[cursor] = '"';
i++;
+ } else if (line[i] == '\\' && line[i+1] == 'r') {
+ msgctxt[cursor] = '\r';
+ i++;
} else {
msgctxt[cursor] = line[i];
}
@@ -5432,6 +5445,9 @@ static int script_load_translation(const char *file, uint8 lang_id)
if (line[i] == '\\' && line[i+1] == '"') {
VECTOR_PUSH(msgid, '"');
i++;
+ } else if (line[i] == '\\' && line[i+1] == 'r') {
+ VECTOR_PUSH(msgid, '\r');
+ i++;
} else {
VECTOR_PUSH(msgid, line[i]);
}
@@ -5451,6 +5467,9 @@ static int script_load_translation(const char *file, uint8 lang_id)
if (line[i] == '\\' && line[i+1] == '"') {
VECTOR_PUSH(msgstr, '"');
i++;
+ } else if (line[i] == '\\' && line[i+1] == 'r') {
+ VECTOR_PUSH(msgstr, '\r');
+ i++;
} else {
VECTOR_PUSH(msgstr, line[i]);
}
@@ -5476,10 +5495,47 @@ static int script_load_translation(const char *file, uint8 lang_id)
VECTOR_CLEAR(msgid);
VECTOR_CLEAR(msgstr);
- ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' translations in '"CL_WHITE"%s"CL_RESET"'.\n", translations, file);
return translations;
}
+struct load_translation_data {
+ uint8 lang_id;
+ int translation_count;
+};
+
+static void script_load_translation_sub(const char *filename, void *context)
+{
+ nullpo_retv(context);
+
+ struct load_translation_data *data = context;
+
+ data->translation_count += script->load_translation_file(filename, data->lang_id);
+}
+
+/**
+ * Loads a translations directory
+ *
+ * @param directory The directory structure to read.
+ * @param lang_id The language identifier.
+ * @return The amount of strings loaded.
+ */
+static int script_load_translation(const char *directory, uint8 lang_id)
+{
+ struct load_translation_data data = { 0 };
+ data.lang_id = lang_id;
+
+ nullpo_ret(directory);
+
+ script->add_language(script->get_translation_dir_name(directory));
+ if (lang_id >= atcommand->max_message_table)
+ atcommand->expand_message_table();
+
+ findfile(directory, ".po", script_load_translation_sub, &data);
+
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' translations in '"CL_WHITE"%s"CL_RESET"'.\n", data.translation_count, directory);
+ return data.translation_count;
+}
+
/**
*
**/
@@ -5961,6 +6017,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.
///
@@ -6683,169 +6752,205 @@ static BUILDIN(warpchar)
return true;
}
-/*==========================================
- * Warpparty - [Fredzilla] [Paradox924X] [Jedzkie] [Dastgir]
- * Syntax: warpparty("<to_mapname>", <x>, <y>, <party_id>, "<from_mapname>", <include_leader>)
- * If 'from_mapname' is specified, only the party members on that map will be warped
- * If 'include_leader' option is set to false, the leader will be warped too.
- *------------------------------------------*/
+
+/**
+ * Warps a party to a specific/random map or save point.
+ *
+ * @code{.herc}
+ * warpparty("<to map name>", <x>, <y>, <party id>{{, <ignore mapflags>}, "<from map name>"{, <include leader>}});
+ * @endcode
+ *
+ **/
static BUILDIN(warpparty)
{
- struct map_session_data *sd = NULL;
- struct map_session_data *pl_sd;
- struct party_data* p;
- int type;
- int map_index;
- int i;
- bool include_leader = true;
+ const int p_id = script_getnum(st, 5);
+ struct party_data *p = party->search(p_id);
+
+ if (p == NULL) {
+ ShowError("script:%s: Party not found! (%d)\n", script->getfuncname(st), p_id);
+ script_pushint(st, 0);
+ return false;
+ }
+
+ const char *m_name_to = script_getstr(st, 2);
+ const int type = (strcmp(m_name_to, "Random") == 0) ? 0 :
+ (strcmp(m_name_to, "SavePointAll") == 0) ? 1 :
+ (strcmp(m_name_to, "SavePoint") == 0) ? 2 :
+ (strcmp(m_name_to, "Leader") == 0) ? 3 : 4;
+ int map_index = 0;
+
+ if (type == 4 && (map_index = script->mapindexname2id(st, m_name_to)) == 0) {
+ ShowError("script:%s: Target map not found! (%s)\n", script->getfuncname(st), m_name_to);
+ script_pushint(st, 0);
+ return false;
+ }
- const char* str = script_getstr(st, 2);
int x = script_getnum(st, 3);
int y = script_getnum(st, 4);
- int p_id = script_getnum(st, 5);
- const char* str2 = NULL;
+ struct map_session_data *p_sd;
- if (script_hasdata(st, 6))
- str2 = script_getstr(st, 6);
- if (script_hasdata(st, 7))
- include_leader = script_getnum(st, 7);
+ if (type == 3) {
+ int idx;
- p = party->search(p_id);
+ ARR_FIND(0, MAX_PARTY, idx, p->party.member[idx].leader == 1);
- if (p == NULL)
- return true;
+ if (idx == MAX_PARTY || (p_sd = p->data[idx].sd) == NULL) {
+ ShowError("script:%s: Party leader not found!\n", script->getfuncname(st));
+ script_pushint(st, 0);
+ return false;
+ }
- type = (strcmp(str, "Random") == 0) ? 0
- : (strcmp(str, "SavePointAll") == 0) ? 1
- : (strcmp(str, "SavePoint") == 0) ? 2
- : (strcmp(str, "Leader") == 0) ? 3
- : 4;
+ map_index = p_sd->mapindex;
+ x = p_sd->bl.x;
+ y = p_sd->bl.y;
+ } else if (type == 2) {
+ struct map_session_data *sd = script->rid2sd(st);
- switch (type) {
- case 3:
- ARR_FIND(0, MAX_PARTY, i, p->party.member[i].leader);
- if (i == MAX_PARTY || !p->data[i].sd) // Leader not found / not online
- return true;
- pl_sd = p->data[i].sd;
- map_index = pl_sd->mapindex;
- x = pl_sd->bl.x;
- y = pl_sd->bl.y;
- break;
- case 4:
- map_index = script->mapindexname2id(st, str);
- break;
- case 2:
- // "SavePoint" uses save point of the currently attached player
- if ((sd = script->rid2sd(st)) == NULL)
- return true;
- /* Fall through */
- default:
- map_index = 0;
- break;
+ if (sd == NULL) {
+ ShowError("script:%s: No character attached for warp to save point!\n",
+ script->getfuncname(st));
+ script_pushint(st, 0);
+ return false;
+ }
+
+ map_index = sd->status.save_point.map;
+ x = sd->status.save_point.x;
+ y = sd->status.save_point.y;
}
- for (i = 0; i < MAX_PARTY; i++) {
- if (!(pl_sd = p->data[i].sd) || pl_sd->status.party_id != p_id)
- continue;
+ const int offset = (script_hasdata(st, 6) && script_isinttype(st, 6)) ? 1 : 0;
+ const bool ignore_mapflags = (offset == 1 && script_getnum(st, 6) != 0);
+ const char *m_name_from = script_hasdata(st, 6 + offset) ? script_getstr(st, 6 + offset) : NULL;
+ const bool include_leader = script_hasdata(st, 7 + offset) ? script_getnum(st, 7 + offset) : true;
- if (str2 && strcmp(str2, map->list[pl_sd->bl.m].name) != 0)
+ if (m_name_from != NULL && script->mapindexname2id(st, m_name_from) == 0) {
+ ShowError("script:%s: Source map not found! (%s)\n", script->getfuncname(st), m_name_from);
+ script_pushint(st, 0);
+ return false;
+ }
+
+ for (int i = 0; i < MAX_PARTY; i++) {
+ if ((p_sd = p->data[i].sd) == NULL || p_sd->status.party_id != p_id || pc_isdead(p_sd))
continue;
- if (pc_isdead(pl_sd))
+ if (p->party.member[i].online == 0 || (!include_leader && p->party.member[i].leader == 1))
continue;
- if (include_leader == false && p->party.member[i].leader)
+ if (m_name_from != NULL && strcmp(m_name_from, map->list[p_sd->bl.m].name) != 0)
continue;
- switch( type ) {
- case 0: // Random
- if (!map->list[pl_sd->bl.m].flag.nowarp)
- pc->randomwarp(pl_sd, CLR_TELEPORT);
- break;
- case 1: // SavePointAll
- if (!map->list[pl_sd->bl.m].flag.noreturn)
- pc->setpos(pl_sd, pl_sd->status.save_point.map, pl_sd->status.save_point.x, pl_sd->status.save_point.y, CLR_TELEPORT);
- break;
- case 2: // SavePoint
- if (!map->list[pl_sd->bl.m].flag.noreturn)
- pc->setpos(pl_sd, sd->status.save_point.map, sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT);
- break;
- case 3: // Leader
- case 4: // m,x,y
- if (!map->list[pl_sd->bl.m].flag.noreturn && !map->list[pl_sd->bl.m].flag.nowarp)
- pc->setpos(pl_sd, map_index, x, y, CLR_TELEPORT);
- break;
+ if (!ignore_mapflags) {
+ if (((type == 0 || type > 2) && map->list[p_sd->bl.m].flag.nowarp == 1) ||
+ (type > 0 && map->list[p_sd->bl.m].flag.noreturn == 1))
+ continue;
+ }
+
+ if (type == 1) {
+ map_index = p_sd->status.save_point.map;
+ x = p_sd->status.save_point.x;
+ y = p_sd->status.save_point.y;
}
+
+ if (type > 0)
+ pc->setpos(p_sd, map_index, x, y, CLR_TELEPORT);
+ else
+ pc->randomwarp(p_sd, CLR_TELEPORT);
}
+ script_pushint(st, 1);
return true;
}
-/*==========================================
- * Warpguild - [Fredzilla]
- * Syntax: warpguild "mapname",x,y,Guild_ID,{"from_mapname"};
- *------------------------------------------*/
+
+/**
+ * Warps a guild to a specific/random map or save point.
+ *
+ * @code{.herc}
+ * warpguild("<to map name>", <x>, <y>, <guild id>{{, <ignore mapflags>}, "<from map name>"});
+ * @endcode
+ *
+ **/
static BUILDIN(warpguild)
{
- struct map_session_data *sd = NULL;
- struct guild* g;
- int type;
- int i;
- int16 map_id = -1;
+ const int g_id = script_getnum(st, 5);
+ struct guild *g = guild->search(g_id);
+
+ if (g == NULL) {
+ ShowError("script:%s: Guild not found! (%d)\n", script->getfuncname(st), g_id);
+ script_pushint(st, 0);
+ return false;
+ }
- const char *str = script_getstr(st, 2);
- int x = script_getnum(st, 3);
- int y = script_getnum(st, 4);
- int gid = script_getnum(st, 5);
+ const char *m_name_to = script_getstr(st, 2);
+ const int type = (strcmp(m_name_to, "Random") == 0) ? 0 :
+ (strcmp(m_name_to, "SavePointAll") == 0) ? 1 :
+ (strcmp(m_name_to, "SavePoint") == 0) ? 2 : 3;
+ int map_index = 0;
- if (script_hasdata(st, 6)) {
- map_id = map->mapname2mapid(script_getstr(st, 6));
+ if (type == 3 && (map_index = script->mapindexname2id(st, m_name_to)) == 0) {
+ ShowError("script:%s: Target map not found! (%s)\n", script->getfuncname(st), m_name_to);
+ script_pushint(st, 0);
+ return false;
}
- g = guild->search(gid);
- if (g == NULL)
- return true;
+ int x = script_getnum(st, 3);
+ int y = script_getnum(st, 4);
- type = (strcmp(str, "Random") == 0) ? 0
- : (strcmp(str, "SavePointAll") == 0) ? 1
- : (strcmp(str, "SavePoint") == 0) ? 2
- : 3;
+ if (type == 2) {
+ struct map_session_data *sd = script->rid2sd(st);
- if (type == 2 && (sd = script->rid2sd(st)) == NULL)
- {// "SavePoint" uses save point of the currently attached player
- return true;
+ if (sd == NULL) {
+ ShowError("script:%s: No character attached for warp to save point!\n",
+ script->getfuncname(st));
+ script_pushint(st, 0);
+ return false;
+ }
+
+ map_index = sd->status.save_point.map;
+ x = sd->status.save_point.x;
+ y = sd->status.save_point.y;
+ }
+
+ const int offset = (script_hasdata(st, 6) && script_isinttype(st, 6)) ? 1 : 0;
+ const bool ignore_mapflags = (offset == 1 && script_getnum(st, 6) != 0);
+ const char *m_name_from = script_hasdata(st, 6 + offset) ? script_getstr(st, 6 + offset) : NULL;
+
+ if (m_name_from != NULL && script->mapindexname2id(st, m_name_from) == 0) {
+ ShowError("script:%s: Source map not found! (%s)\n", script->getfuncname(st), m_name_from);
+ script_pushint(st, 0);
+ return false;
}
- for (i = 0; i < MAX_GUILD; i++) {
- if (g->member[i].online && g->member[i].sd != NULL) {
- struct map_session_data *pl_sd = g->member[i].sd;
+ for (int i = 0; i < MAX_GUILD; i++) {
+ struct map_session_data *g_sd = g->member[i].sd;
- if (map_id >= 0 && map_id != pl_sd->bl.m)
+ if (g->member[i].online == 0 || g_sd == NULL || g_sd->status.guild_id != g_id || pc_isdead(g_sd))
+ continue;
+
+ if (m_name_from != NULL && strcmp(m_name_from, map->list[g_sd->bl.m].name) != 0)
+ continue;
+
+ if (!ignore_mapflags) {
+ if (((type == 0 || type > 2) && map->list[g_sd->bl.m].flag.nowarp == 1) ||
+ (type > 0 && map->list[g_sd->bl.m].flag.noreturn == 1))
continue;
+ }
- switch (type)
- {
- case 0: // Random
- if (!map->list[pl_sd->bl.m].flag.nowarp)
- pc->randomwarp(pl_sd, CLR_TELEPORT);
- break;
- case 1: // SavePointAll
- if (!map->list[pl_sd->bl.m].flag.noreturn)
- pc->setpos(pl_sd, pl_sd->status.save_point.map, pl_sd->status.save_point.x, pl_sd->status.save_point.y, CLR_TELEPORT);
- break;
- case 2: // SavePoint
- if (!map->list[pl_sd->bl.m].flag.noreturn)
- pc->setpos(pl_sd, sd->status.save_point.map, sd->status.save_point.x, sd->status.save_point.y, CLR_TELEPORT);
- break;
- case 3: // m,x,y
- if (!map->list[pl_sd->bl.m].flag.noreturn && !map->list[pl_sd->bl.m].flag.nowarp)
- pc->setpos(pl_sd, script->mapindexname2id(st, str), x, y, CLR_TELEPORT);
- break;
- }
+ if (type == 1) {
+ map_index = g_sd->status.save_point.map;
+ x = g_sd->status.save_point.x;
+ y = g_sd->status.save_point.y;
}
+
+ if (type > 0)
+ pc->setpos(g_sd, map_index, x, y, CLR_TELEPORT);
+ else
+ pc->randomwarp(g_sd, CLR_TELEPORT);
}
+ script_pushint(st, 1);
return true;
}
+
/*==========================================
* Force Heal a player (hp and sp)
*------------------------------------------*/
@@ -6947,59 +7052,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;
}
@@ -8177,12 +8283,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
@@ -8616,6 +8722,48 @@ static BUILDIN(delitem2)
return false;
}
+/**
+ * Deletes item at given index.
+ * delitem(<index>{, <amount{, <account id>}});
+ */
+static BUILDIN(delitemidx)
+{
+ struct map_session_data *sd;
+
+ if (script_hasdata(st, 4)) {
+ if ((sd = script->id2sd(st, script_getnum(st, 4))) == NULL) {
+ st->state = END;
+ return true;
+ }
+ } else {
+ if ((sd = script->rid2sd(st)) == NULL)
+ return true;
+ }
+
+ int i = script_getnum(st, 2);
+ if (i < 0 || i >= sd->status.inventorySize) {
+ ShowError("buildin_delitemidx: Index (%d) should be from 0-%d.\n", i, sd->status.inventorySize - 1);
+ st->state = END;
+ return false;
+ }
+
+ if (itemdb->exists(sd->status.inventory[i].nameid) == NULL)
+ ShowWarning("buildin_delitemidx: Deleting invalid Item ID (%d).\n", sd->status.inventory[i].nameid);
+
+ int amount = 0;
+ if (script_hasdata(st, 3)) {
+ if ((amount = script_getnum(st, 3)) > sd->status.inventory[i].amount)
+ amount = sd->status.inventory[i].amount;
+ } else {
+ amount = sd->status.inventory[i].amount;
+ }
+
+ if (amount > 0)
+ script->buildin_delitem_delete(sd, i, &amount, true);
+
+ return true;
+}
+
/*==========================================
* Enables/Disables use of items while in an NPC [Skotlex]
*------------------------------------------*/
@@ -8723,7 +8871,7 @@ static BUILDIN(getcharid)
struct map_session_data *sd;
if (script_hasdata(st, 3))
- sd = map->nick2sd(script_getstr(st, 3));
+ sd = map->nick2sd(script_getstr(st, 3), false);
else
sd = script->rid2sd(st);
@@ -8881,6 +9029,93 @@ static BUILDIN(getpartyleader)
return true;
}
+enum guildinfo_type {
+ GUILDINFO_NAME,
+ GUILDINFO_ID,
+ GUILDINFO_LEVEL,
+ GUILDINFO_ONLINE,
+ GUILDINFO_AV_LEVEL,
+ GUILDINFO_MAX_MEMBERS,
+ GUILDINFO_EXP,
+ GUILDINFO_NEXT_EXP,
+ GUILDINFO_SKILL_POINTS,
+ GUILDINFO_MASTER_NAME,
+ GUILDINFO_MASTER_CID,
+};
+
+static BUILDIN(getguildinfo)
+{
+ struct guild *g = NULL;
+
+ if (script_hasdata(st, 3)) {
+ if (script_isstringtype(st, 3)) {
+ const char *guild_name = script_getstr(st, 3);
+ g = guild->searchname(guild_name);
+ } else {
+ int guild_id = script_getnum(st, 3);
+ g = guild->search(guild_id);
+ }
+ } else {
+ struct map_session_data *sd = script->rid2sd(st);
+ g = sd ? sd->guild : NULL;
+ }
+
+ enum guildinfo_type type = script_getnum(st, 2);
+
+ if (g == NULL) {
+ // guild does not exist
+ switch (type) {
+ case GUILDINFO_NAME:
+ case GUILDINFO_MASTER_NAME:
+ script_pushconststr(st, "");
+ break;
+ default:
+ script_pushint(st, -1);
+ }
+ } else {
+ switch (type) {
+ case GUILDINFO_NAME:
+ script_pushstrcopy(st, g->name);
+ break;
+ case GUILDINFO_ID:
+ script_pushint(st, g->guild_id);
+ break;
+ case GUILDINFO_LEVEL:
+ script_pushint(st, g->guild_lv);
+ break;
+ case GUILDINFO_ONLINE:
+ script_pushint(st, g->connect_member);
+ break;
+ case GUILDINFO_AV_LEVEL:
+ script_pushint(st, g->average_lv);
+ break;
+ case GUILDINFO_MAX_MEMBERS:
+ script_pushint(st, g->max_member);
+ break;
+ case GUILDINFO_EXP:
+ script_pushint(st, g->exp);
+ break;
+ case GUILDINFO_NEXT_EXP:
+ script_pushint(st, g->next_exp);
+ break;
+ case GUILDINFO_SKILL_POINTS:
+ script_pushint(st, g->skill_point);
+ break;
+ case GUILDINFO_MASTER_NAME:
+ script_pushstrcopy(st, g->member[0].name);
+ break;
+ case GUILDINFO_MASTER_CID:
+ script_pushint(st, g->member[0].char_id);
+ break;
+ default:
+ ShowError("script:getguildinfo: unknown info type!\n");
+ st->state = END;
+ return false;
+ }
+ }
+ return true;
+}
+
/*==========================================
* Return the name of the @guild_id
* null if not found
@@ -8986,6 +9221,63 @@ static BUILDIN(getguildmember)
return true;
}
+/**
+ * getguildonline(<Guild ID>{, type})
+ * Returns amount of guild members online.
+**/
+
+enum script_getguildonline_types {
+ GUILD_ONLINE_ALL = 0,
+ GUILD_ONLINE_VENDOR,
+ GUILD_ONLINE_NO_VENDOR
+};
+
+BUILDIN(getguildonline)
+{
+ struct guild *g;
+ int guild_id = script_getnum(st, 2);
+ int type = GUILD_ONLINE_ALL, j = 0;
+
+ if ((g = guild->search(guild_id)) == NULL) {
+ script_pushint(st, -1);
+ return true;
+ }
+
+ if (script_hasdata(st, 3)) {
+ type = script_getnum(st, 3);
+
+ if (type < GUILD_ONLINE_ALL || type > GUILD_ONLINE_NO_VENDOR) {
+ ShowWarning("buildin_getguildonline: Invalid type specified. Defaulting to GUILD_ONLINE_ALL.\n");
+ type = GUILD_ONLINE_ALL;
+ }
+ }
+
+ struct map_session_data *sd;
+ for (int i = 0; i < MAX_GUILD; i++) {
+ if (g->member[i].online && (sd = g->member[i].sd) != NULL) {
+ switch (type) {
+ case GUILD_ONLINE_VENDOR:
+ if (sd->state.vending > 0)
+ j++;
+ break;
+
+ case GUILD_ONLINE_NO_VENDOR:
+ if (sd->state.vending == 0)
+ j++;
+ break;
+
+ default:
+ j++;
+ break;
+ }
+ }
+ }
+
+ script_pushint(st, j);
+
+ return true;
+}
+
/*==========================================
* Get char string information by type :
* Return by @type :
@@ -9422,27 +9714,29 @@ static BUILDIN(getequipisidentify)
}
/*==========================================
- * Get the item refined value at pos
- * return (npc)
- * x : refine amount
- * 0 : false (not refined)
+ * Get the total refine amount of equip at given pos
+ * return total refine amount
*------------------------------------------*/
static BUILDIN(getequiprefinerycnt)
{
- int i = -1,num;
- struct map_session_data *sd;
+ int total_refine = 0;
+ struct map_session_data* sd = script->rid2sd(st);
- num = script_getnum(st,2);
- sd = script->rid2sd(st);
- if( sd == NULL )
- return true;
+ if (sd != NULL)
+ {
+ int count = script_lastdata(st);
+ int script_equip_size = ARRAYLENGTH(script->equip);
+ for (int n = 2; n <= count; n++) {
+ int i = -1;
+ int num = script_getnum(st, n);
+ if (num > 0 && num <= script_equip_size)
+ i = pc->checkequip(sd, script->equip[num - 1]);
- if (num > 0 && num <= ARRAYLENGTH(script->equip))
- i=pc->checkequip(sd,script->equip[num-1]);
- if(i >= 0)
- script_pushint(st,sd->status.inventory[i].refine);
- else
- script_pushint(st,0);
+ if (i >= 0)
+ total_refine += sd->status.inventory[i].refine;
+ }
+ }
+ script_pushint(st, total_refine);
return true;
}
@@ -9505,7 +9799,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);
@@ -9720,7 +10014,7 @@ static BUILDIN(statusup2)
/*==========================================
* Returns the number of stat points needed to change the specified stat by val.
-* needed_status_point(<type>,<val>{,<char id>}); [secretdataz]
+* needed_status_point(<type>,<val>); [secretdataz]
*------------------------------------------*/
static BUILDIN(needed_status_point)
{
@@ -10400,6 +10694,7 @@ static BUILDIN(checkmount)
/**
* Mounts or dismounts a combat mount.
*
+ * setmount <flag>, <mtype>;
* setmount <flag>;
* setmount;
*
@@ -10418,6 +10713,8 @@ static BUILDIN(checkmount)
* If an invalid value or no flag is specified, the appropriate mount is
* auto-detected. As a result of this, there is no need to specify a flag at
* all, unless it is a dragon color other than green.
+ *
+ * In newer clients you can specify the mado gear type though the mtype argument.
*/
static BUILDIN(setmount)
{
@@ -10430,6 +10727,12 @@ static BUILDIN(setmount)
if (script_hasdata(st,2))
flag = script_getnum(st,2);
+ enum mado_type mtype = script_hasdata(st, 3) ? script_getnum(st, 3) : MADO_ROBOT;
+ if (mtype < MADO_ROBOT || mtype >= MADO_MAX) {
+ ShowError("script_setmount: Invalid mado type has been passed (%d).\n", flag);
+ return false;
+ }
+
// Color variants for Rune Knight dragon mounts.
if (flag != SETMOUNT_TYPE_NONE) {
if (flag < SETMOUNT_TYPE_AUTODETECT || flag >= SETMOUNT_TYPE_MAX) {
@@ -10456,7 +10759,7 @@ static BUILDIN(setmount)
} else if ((sd->job & MAPID_THIRDMASK) == MAPID_MECHANIC) {
// Mechanic (Mado Gear)
if (pc->checkskill(sd, NC_MADOLICENCE))
- pc->setmadogear(sd, true);
+ pc->setmadogear(sd, true, mtype);
} else {
// Knight / Crusader (Peco Peco)
if (pc->checkskill(sd, KN_RIDING))
@@ -10470,7 +10773,7 @@ static BUILDIN(setmount)
pc->setridingwug(sd, false);
}
if (pc_ismadogear(sd)) {
- pc->setmadogear(sd, false);
+ pc->setmadogear(sd, false, mtype);
}
if (pc_isridingpeco(sd)) {
pc->setridingpeco(sd, false);
@@ -10604,24 +10907,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);
+
+ 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;
+ }
- fmtstr=script_getstr(st,2);
- maxlen=script_getnum(st,3);
+ now = (time_t)timestamp;
+ } else {
+ now = time(NULL);
+ }
- tmpstr=(char *)aMalloc((maxlen+1)*sizeof(char));
- strftime(tmpstr,maxlen,fmtstr,localtime(&now));
- tmpstr[maxlen]='\0';
+ 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;
}
@@ -10640,6 +10955,12 @@ static BUILDIN(openstorage)
return false;
}
+ // Mapflag preventing from openstorage here
+ if (!pc_has_permission(sd, PC_PERM_BYPASS_NOSTORAGE) && (map->list[sd->bl.m].flag.nostorage & 2)) {
+ script_pushint(st, 0);
+ return true;
+ }
+
storage->open(sd);
script_pushint(st, 1); // success flag.
@@ -10653,38 +10974,60 @@ static BUILDIN(guildopenstorage)
if (sd == NULL)
return true;
+ // Mapflag preventing from openstorage here
+ if (!pc_has_permission(sd, PC_PERM_BYPASS_NOSTORAGE) && (map->list[sd->bl.m].flag.nogstorage & 2)) {
+ script_pushint(st, 1);
+ return true;
+ }
+
ret = gstorage->open(sd);
script_pushint(st,ret);
return true;
}
-/*==========================================
- * Make player use a skill trought item usage
- *------------------------------------------*/
-/// itemskill <skill id>,<level>{,flag
-/// itemskill "<skill name>",<level>{,flag
+/**
+ * Makes the attached character use a skill by using an item.
+ *
+ * @code{.herc}
+ * itemskill(<skill id>, <skill level>{, <flag>});
+ * itemskill("<skill name>", <skill level>{, <flag>});
+ * @endcode
+ *
+ */
static BUILDIN(itemskill)
{
- int id;
- int lv;
struct map_session_data *sd = script->rid2sd(st);
+
if (sd == NULL || sd->ud.skilltimer != INVALID_TIMER)
return true;
- id = ( script_isstringtype(st,2) ? skill->name2id(script_getstr(st,2)) : script_getnum(st,2) );
- lv = script_getnum(st,3);
-/* temporarily disabled, awaiting for kenpachi to detail this so we can make it work properly */
-#if 0
- if( !script_hasdata(st, 4) ) {
- if( !skill->check_condition_castbegin(sd,id,lv) || !skill->check_condition_castend(sd,id,lv) )
+ pc->autocast_clear(sd);
+ sd->autocast.type = AUTOCAST_ITEM;
+ sd->autocast.skill_id = script_isstringtype(st, 2) ? skill->name2id(script_getstr(st, 2)) : script_getnum(st, 2);
+ sd->autocast.skill_lv = script_getnum(st, 3);
+
+ int flag = script_hasdata(st, 4) ? script_getnum(st, 4) : ISF_NONE;
+
+ sd->autocast.itemskill_check_conditions = ((flag & ISF_CHECKCONDITIONS) == ISF_CHECKCONDITIONS);
+
+ if (sd->autocast.itemskill_check_conditions) {
+ if (skill->check_condition_castbegin(sd, sd->autocast.skill_id, sd->autocast.skill_lv) == 0
+ || skill->check_condition_castend(sd, sd->autocast.skill_id, sd->autocast.skill_lv) == 0) {
+ pc->autocast_clear(sd);
return true;
+ }
+
+ sd->autocast.itemskill_conditions_checked = true;
}
-#endif
- sd->skillitem=id;
- sd->skillitemlv=lv;
- clif->item_skill(sd,id,lv);
+
+ sd->autocast.itemskill_instant_cast = ((flag & ISF_INSTANTCAST) == ISF_INSTANTCAST);
+ sd->autocast.itemskill_cast_on_self = ((flag & ISF_CASTONSELF) == ISF_CASTONSELF);
+
+ clif->item_skill(sd, sd->autocast.skill_id, sd->autocast.skill_lv);
+
return true;
}
+
/*==========================================
* Attempt to create an item
*------------------------------------------*/
@@ -11031,10 +11374,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;
@@ -11095,6 +11444,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
@@ -11436,6 +11800,13 @@ static BUILDIN(getunits)
const char *mapname = script_getstr(st, 5);
int16 m = map->mapname2mapid(mapname);
+ if (m == -1) {
+ ShowError("script:getunits: Invalid map(%s) provided.\n", mapname);
+ script->reportdata(data);
+ st->state = END;
+ return false;
+ }
+
if (script_hasdata(st, 9)) {
int16 x1 = script_getnum(st, 6);
int16 y1 = script_getnum(st, 7);
@@ -11730,6 +12101,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)
{
@@ -11741,12 +12124,12 @@ static BUILDIN(announce)
int fontAlign = script_hasdata(st,7) ? script_getnum(st,7) : 0; // default fontAlign
int fontY = script_hasdata(st,8) ? script_getnum(st,8) : 0; // default fontY
size_t len = strlen(mes);
+ send_target target = ALL_CLIENT;
+ struct block_list *bl = NULL;
Assert_retr(false, len < INT_MAX);
if( flag&(BC_TARGET_MASK|BC_SOURCE_MASK) ) {
// Broadcast source or broadcast region defined
- send_target target;
- struct block_list *bl = NULL;
if (flag&BC_NPC) {
// If bc_npc flag is set, use NPC as broadcast source
bl = map->id2bl(st->oid);
@@ -11764,17 +12147,13 @@ static BUILDIN(announce)
case BC_SELF: target = SELF; break;
default: target = ALL_CLIENT; break; // BC_ALL
}
-
- if (fontColor)
- clif->broadcast2(bl, mes, (int)len+1, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY, target);
- else
- clif->broadcast(bl, mes, (int)len+1, flag&BC_COLOR_MASK, target);
- } else {
- if (fontColor)
- intif->broadcast2(mes, (int)len+1, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY);
- else
- intif->broadcast(mes, (int)len+1, flag&BC_COLOR_MASK);
}
+
+ if (fontColor)
+ clif->broadcast2(bl, mes, (int)len+1, (unsigned int)strtoul(fontColor, (char **)NULL, 0), fontType, fontSize, fontAlign, fontY, target);
+ else
+ clif->broadcast(bl, mes, (int)len+1, flag&BC_COLOR_MASK, target);
+
return true;
}
/*==========================================
@@ -12142,6 +12521,56 @@ static BUILDIN(hideonnpc)
npc->enable(str,4);
return true;
}
+/*==========================================
+ *------------------------------------------*/
+static BUILDIN(cloakonnpc)
+{
+ struct npc_data *nd = npc->name2id(script_getstr(st, 2));
+ if (nd == NULL) {
+ ShowError("buildin_cloakonnpc: invalid npc name '%s'.\n", script_getstr(st, 2));
+ return false;
+ }
+
+ if (script_hasdata(st, 3)) {
+ struct map_session_data *sd = map->id2sd(script_getnum(st, 3));
+ if (sd == NULL)
+ return false;
+
+ uint32 val = nd->option;
+ nd->option |= OPTION_CLOAK;
+ clif->changeoption_target(&nd->bl, &sd->bl, SELF);
+ nd->option = val;
+ } else {
+ nd->option |= OPTION_CLOAK;
+ clif->changeoption(&nd->bl);
+ }
+ return true;
+}
+/*==========================================
+ *------------------------------------------*/
+static BUILDIN(cloakoffnpc)
+{
+ struct npc_data *nd = npc->name2id(script_getstr(st, 2));
+ if (nd == NULL) {
+ ShowError("buildin_cloakoffnpc: invalid npc name '%s'.\n", script_getstr(st, 2));
+ return false;
+ }
+
+ if (script_hasdata(st, 3)) {
+ struct map_session_data *sd = map->id2sd(script_getnum(st, 3));
+ if (sd == NULL)
+ return false;
+
+ uint32 val = nd->option;
+ nd->option &= ~OPTION_CLOAK;
+ clif->changeoption_target(&nd->bl, &sd->bl, SELF);
+ nd->option = val;
+ } else {
+ nd->option &= ~OPTION_CLOAK;
+ clif->changeoption(&nd->bl);
+ }
+ return true;
+}
/* Starts a status effect on the target unit or on the attached player.
*
@@ -12460,7 +12889,7 @@ static BUILDIN(homunculus_morphembryo)
clif->additem(sd, 0, 0, i);
clif->emotion(&sd->hd->bl, E_SWT);
} else {
- homun->vaporize(sd, HOM_ST_MORPH);
+ homun->vaporize(sd, HOM_ST_MORPH, true);
success = true;
}
} else {
@@ -13012,7 +13441,8 @@ enum mapinfo_info {
MAPINFO_ID,
MAPINFO_SIZE_X,
MAPINFO_SIZE_Y,
- MAPINFO_ZONE
+ MAPINFO_ZONE,
+ MAPINFO_NPC_COUNT
};
static BUILDIN(getmapinfo)
@@ -13037,7 +13467,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;
}
@@ -13068,8 +13498,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;
}
@@ -13143,6 +13576,8 @@ static BUILDIN(getmapflag)
case MF_NOVIEWID: script_pushint(st, map->list[m].flag.noviewid); break;
case MF_PAIRSHIP_STARTABLE: script_pushint(st, map->list[m].flag.pairship_startable); break;
case MF_PAIRSHIP_ENDABLE: script_pushint(st, map->list[m].flag.pairship_endable); break;
+ case MF_NOSTORAGE: script_pushint(st, map->list[m].flag.nostorage); break;
+ case MF_NOGSTORAGE: script_pushint(st, map->list[m].flag.nogstorage); break;
}
}
@@ -13273,6 +13708,8 @@ static BUILDIN(setmapflag)
case MF_NOVIEWID: map->list[m].flag.noviewid = (val <= 0) ? EQP_NONE : val; break;
case MF_PAIRSHIP_STARTABLE: map->list[m].flag.pairship_startable = 1; break;
case MF_PAIRSHIP_ENDABLE: map->list[m].flag.pairship_endable = 1; break;
+ case MF_NOSTORAGE: map->list[m].flag.nostorage = cap_value(val, 0, 3); break;
+ case MF_NOGSTORAGE: map->list[m].flag.nogstorage = cap_value(val, 0, 3); break;
}
}
@@ -13364,6 +13801,8 @@ static BUILDIN(removemapflag)
case MF_NOCASHSHOP: map->list[m].flag.nocashshop = 0; break;
case MF_NOAUTOLOOT: map->list[m].flag.noautoloot = 0; break;
case MF_NOVIEWID: map->list[m].flag.noviewid = EQP_NONE; break;
+ case MF_NOSTORAGE: map->list[m].flag.nostorage = 0; break;
+ case MF_NOGSTORAGE: map->list[m].flag.nogstorage = 0; break;
}
}
@@ -13875,7 +14314,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;
@@ -14168,47 +14608,53 @@ static BUILDIN(strmobinfo)
return true;
}
-/*==========================================
- * Summon guardians [Valaris]
- * guardian("<map name>",<x>,<y>,"<name to show>",<mob id>{,"<event label>"}{,<guardian index>}) -> <id>
- *------------------------------------------*/
+/**
+ * Summons a castle guardian mob.
+ *
+ * @code{.herc}
+ * guardian("<map name>", <x>, <y>, "<name to show>", <mob id>{, <guardian index>});
+ * guardian("<map name>", <x>, <y>, "<name to show>", <mob id>{, "<event label>"{, <guardian index>}});
+ * @endcode
+ *
+ * @author Valaris
+ *
+ **/
static BUILDIN(guardian)
{
- int class_ = 0, x = 0, y = 0, guardian = 0;
- const char *str, *mapname, *evt="";
bool has_index = false;
+ int guardian = 0;
+ const char *event = "";
- mapname = script_getstr(st,2);
- x = script_getnum(st,3);
- y = script_getnum(st,4);
- str = script_getstr(st,5);
- class_ = script_getnum(st,6);
-
- if( script_hasdata(st,8) )
- {// "<event label>",<guardian index>
- evt=script_getstr(st,7);
- guardian=script_getnum(st,8);
+ if (script_hasdata(st, 8)) { /// "<event label>", <guardian index>
+ event = script_getstr(st, 7);
+ script->check_event(st, event);
+ guardian = script_getnum(st, 8);
has_index = true;
- } else if( script_hasdata(st,7) ) {
- struct script_data *data = script_getdata(st,7);
- script->get_val(st,data); // Dereference if it's a variable
- if( data_isstring(data) ) {
- // "<event label>"
- evt=script_getstr(st,7);
- } else if( data_isint(data) ) {
- // <guardian index>
- guardian=script_getnum(st,7);
+ } else if (script_hasdata(st, 7)) {
+ struct script_data *data = script_getdata(st, 7);
+
+ script->get_val(st, data); /// Dereference if it's a variable.
+
+ if (data_isstring(data)) { /// "<event label>"
+ event = script_getstr(st, 7);
+ script->check_event(st, event);
+ } else if (data_isint(data)) { /// <guardian index>
+ guardian = script_getnum(st, 7);
has_index = true;
} else {
- ShowError("script:guardian: invalid data type for argument #6 (from 1)\n");
+ ShowError("script:guardian: Invalid data type for argument #6!\n");
script->reportdata(data);
return false;
}
}
- script->check_event(st, evt);
- script_pushint(st, mob->spawn_guardian(mapname,x,y,str,class_,evt,guardian,has_index));
+ const char *mapname = script_getstr(st, 2);
+ const char *name = script_getstr(st, 5);
+ const int x = script_getnum(st, 3);
+ const int y = script_getnum(st, 4);
+ const int mob_id = script_getnum(st, 6);
+ script_pushint(st, mob->spawn_guardian(mapname, x, y, name, mob_id, event, guardian, has_index, st->oid));
return true;
}
/*==========================================
@@ -14332,24 +14778,34 @@ static BUILDIN(getitemslots)
return true;
}
-// TODO: add matk here if needed
-
-/*==========================================
- * Returns some values of an item [Lupus]
- * Price, Weight, etc...
- *------------------------------------------*/
+/**
+ * Returns various information about an item.
+ *
+ * @code{.herc}
+ * getiteminfo(<item ID>, <type>);
+ * getiteminfo("<item name>", <type>);
+ * @endcode
+ *
+ **/
static BUILDIN(getiteminfo)
{
- int item_id = script_getnum(st, 2);
- int n = script_getnum(st, 3);
- struct item_data *it = itemdb->exists(item_id);
+ struct item_data *it;
+
+ if (script_isstringtype(st, 2)) { /// Item name.
+ const char *name = script_getstr(st, 2);
+ it = itemdb->search_name(name);
+ } else { /// Item ID.
+ it = itemdb->exists(script_getnum(st, 2));
+ }
if (it == NULL) {
script_pushint(st, -1);
return true;
}
- switch (n) {
+ int type = script_getnum(st, 3);
+
+ switch (type) {
case ITEMINFO_BUYPRICE:
script_pushint(st, it->value_buy);
break;
@@ -14404,11 +14860,105 @@ static BUILDIN(getiteminfo)
case ITEMINFO_TRADE:
script_pushint(st, it->flag.trade_restriction);
break;
+ case ITEMINFO_ELV_MAX:
+ script_pushint(st, it->elvmax);
+ break;
+ case ITEMINFO_DROPEFFECT_MODE:
+ script_pushint(st, it->dropeffectmode);
+ break;
+ case ITEMINFO_DELAY:
+ script_pushint(st, it->delay);
+ break;
+ case ITEMINFO_CLASS_BASE_1:
+ script_pushint(st, it->class_base[0]);
+ break;
+ case ITEMINFO_CLASS_BASE_2:
+ script_pushint(st, it->class_base[1]);
+ break;
+ case ITEMINFO_CLASS_BASE_3:
+ script_pushint(st, it->class_base[2]);
+ break;
+ case ITEMINFO_CLASS_UPPER:
+ script_pushint(st, it->class_upper);
+ break;
+ case ITEMINFO_FLAG_NO_REFINE:
+ script_pushint(st, it->flag.no_refine);
+ break;
+ case ITEMINFO_FLAG_DELAY_CONSUME:
+ script_pushint(st, it->flag.delay_consume);
+ break;
+ case ITEMINFO_FLAG_AUTOEQUIP:
+ script_pushint(st, it->flag.autoequip);
+ break;
+ case ITEMINFO_FLAG_AUTO_FAVORITE:
+ script_pushint(st, it->flag.auto_favorite);
+ break;
+ case ITEMINFO_FLAG_BUYINGSTORE:
+ script_pushint(st, it->flag.buyingstore);
+ break;
+ case ITEMINFO_FLAG_BINDONEQUIP:
+ script_pushint(st, it->flag.bindonequip);
+ break;
+ case ITEMINFO_FLAG_KEEPAFTERUSE:
+ script_pushint(st, it->flag.keepafteruse);
+ break;
+ case ITEMINFO_FLAG_FORCE_SERIAL:
+ script_pushint(st, it->flag.force_serial);
+ break;
+ case ITEMINFO_FLAG_NO_OPTIONS:
+ script_pushint(st, it->flag.no_options);
+ break;
+ case ITEMINFO_FLAG_DROP_ANNOUNCE:
+ script_pushint(st, it->flag.drop_announce);
+ break;
+ case ITEMINFO_FLAG_SHOWDROPEFFECT:
+ script_pushint(st, it->flag.showdropeffect);
+ break;
+ case ITEMINFO_STACK_AMOUNT:
+ script_pushint(st, it->stack.amount);
+ break;
+ case ITEMINFO_STACK_FLAG: {
+ int stack_flag = 0;
+
+ if (it->stack.inventory != 0)
+ stack_flag |= 1;
+
+ if (it->stack.cart != 0)
+ stack_flag |= 2;
+
+ if (it->stack.storage != 0)
+ stack_flag |= 4;
+
+ if (it->stack.guildstorage != 0)
+ stack_flag |= 8;
+
+ script_pushint(st, stack_flag);
+ break;
+ }
+ case ITEMINFO_ITEM_USAGE_FLAG:
+ script_pushint(st, it->item_usage.flag);
+ break;
+ case ITEMINFO_ITEM_USAGE_OVERRIDE:
+ script_pushint(st, it->item_usage.override);
+ break;
+ case ITEMINFO_GM_LV_TRADE_OVERRIDE:
+ script_pushint(st, it->gm_lv_trade_override);
+ break;
+ case ITEMINFO_ID:
+ script_pushint(st, it->nameid);
+ break;
+ case ITEMINFO_AEGISNAME:
+ script_pushstrcopy(st, it->name);
+ break;
+ case ITEMINFO_NAME:
+ script_pushstrcopy(st, it->jname);
+ break;
default:
- ShowError("buildin_getiteminfo: Invalid item type %d.\n", n);
- script_pushint(st,-1);
+ ShowError("buildin_getiteminfo: Invalid item info type %d.\n", type);
+ script_pushint(st, -1);
return false;
}
+
return true;
}
@@ -14673,6 +15223,78 @@ static BUILDIN(setiteminfo)
case ITEMINFO_TRADE:
it->flag.trade_restriction = value;
break;
+ case ITEMINFO_ELV_MAX:
+ it->elvmax = cap_value(value, 0, MAX_LEVEL);
+ break;
+ case ITEMINFO_DROPEFFECT_MODE:
+ it->dropeffectmode = value;
+ break;
+ case ITEMINFO_DELAY:
+ it->delay = value;
+ break;
+ case ITEMINFO_CLASS_BASE_1:
+ it->class_base[0] = value;
+ break;
+ case ITEMINFO_CLASS_BASE_2:
+ it->class_base[1] = value;
+ break;
+ case ITEMINFO_CLASS_BASE_3:
+ it->class_base[2] = value;
+ break;
+ case ITEMINFO_CLASS_UPPER:
+ it->class_upper = value;
+ break;
+ case ITEMINFO_FLAG_NO_REFINE:
+ it->flag.no_refine = cap_value(value, 0, MAX_REFINE);
+ break;
+ case ITEMINFO_FLAG_DELAY_CONSUME:
+ it->flag.delay_consume = value;
+ break;
+ case ITEMINFO_FLAG_AUTOEQUIP:
+ it->flag.autoequip = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_FLAG_AUTO_FAVORITE:
+ it->flag.auto_favorite = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_FLAG_BUYINGSTORE:
+ it->flag.buyingstore = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_FLAG_BINDONEQUIP:
+ it->flag.bindonequip = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_FLAG_KEEPAFTERUSE:
+ it->flag.keepafteruse = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_FLAG_FORCE_SERIAL:
+ it->flag.force_serial = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_FLAG_NO_OPTIONS:
+ it->flag.no_options = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_FLAG_DROP_ANNOUNCE:
+ it->flag.drop_announce = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_FLAG_SHOWDROPEFFECT:
+ it->flag.showdropeffect = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_STACK_AMOUNT:
+ it->stack.amount = cap_value(value, 0, USHRT_MAX);
+ break;
+ case ITEMINFO_STACK_FLAG:
+ it->stack.inventory = ((value & 1) != 0);
+ it->stack.cart = ((value & 2) != 0);
+ it->stack.storage = ((value & 4) != 0);
+ it->stack.guildstorage = ((value & 8) != 0);
+ break;
+ case ITEMINFO_ITEM_USAGE_FLAG:
+ it->item_usage.flag = cap_value(value, 0, 1);
+ break;
+ case ITEMINFO_ITEM_USAGE_OVERRIDE:
+ it->item_usage.override = value;
+ break;
+ case ITEMINFO_GM_LV_TRADE_OVERRIDE:
+ it->gm_lv_trade_override = value;
+ break;
default:
ShowError("buildin_setiteminfo: invalid type %d.\n", n);
script_pushint(st,-1);
@@ -14793,47 +15415,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 j=0,k;
- if(!sd) return true;
+ if (sd == NULL)
+ return true;
- 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) {
- 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;
}
@@ -15337,6 +15967,56 @@ static BUILDIN(specialeffect)
return true;
}
+/*==========================================
+ * Special effects with num [4144]
+ *------------------------------------------*/
+static BUILDIN(specialeffectnum)
+{
+ struct block_list *bl = NULL;
+ int type = script_getnum(st, 2);
+ int num = script_getnum(st, 3);
+ int num2 = script_getnum(st, 4);
+ enum send_target target = AREA;
+
+ if (script_hasdata(st, 5)) {
+ target = script_getnum(st, 5);
+ }
+
+ if (script_hasdata(st, 6)) {
+ if (script_isstringtype(st, 6)) {
+ struct npc_data *nd = npc->name2id(script_getstr(st, 6));
+ if (nd != NULL) {
+ bl = &nd->bl;
+ }
+ } else {
+ bl = map->id2bl(script_getnum(st, 6));
+ }
+ } else {
+ bl = map->id2bl(st->oid);
+ }
+
+ if (bl == NULL) {
+ return true;
+ }
+
+ uint64 bigNum = ((uint64)num2) * 0xffffffff + num;
+ if (target == SELF) {
+ struct map_session_data *sd;
+ if (script_hasdata(st, 7)) {
+ sd = map->id2sd(script_getnum(st, 7));
+ } else {
+ sd = script->rid2sd(st);
+ }
+ if (sd != NULL) {
+ clif->specialeffect_value_single(bl, type, bigNum, sd->fd);
+ }
+ } else {
+ clif->specialeffect_value(bl, type, bigNum, target);
+ }
+
+ return true;
+}
+
static BUILDIN(specialeffect2)
{
struct map_session_data *sd;
@@ -15546,36 +16226,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;
}
@@ -15613,20 +16331,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;
}
@@ -15635,27 +16348,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;
@@ -15816,37 +16550,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->walk_toxy(&nd->bl, x, y, 0);
}
return true;
@@ -15858,6 +16596,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);
}
@@ -16090,7 +16832,7 @@ static BUILDIN(getmapxy)
case 0: //Get Character Position
if (script_hasdata(st,6)) {
if (script_isstringtype(st,6))
- sd = map->nick2sd(script_getstr(st,6));
+ sd = map->nick2sd(script_getstr(st,6), false);
else
sd = map->id2sd(script_getnum(st,6));
} else {
@@ -16117,7 +16859,7 @@ static BUILDIN(getmapxy)
case 2: //Get Pet Position
if (script_hasdata(st,6)) {
if (script_isstringtype(st,6))
- sd = map->nick2sd(script_getstr(st,6));
+ sd = map->nick2sd(script_getstr(st,6), false);
else {
bl = map->id2bl(script_getnum(st,6));
break;
@@ -16139,7 +16881,7 @@ static BUILDIN(getmapxy)
case 4: //Get Homun Position
if (script_hasdata(st,6)) {
if (script_isstringtype(st,6)) {
- sd = map->nick2sd(script_getstr(st,6));
+ sd = map->nick2sd(script_getstr(st,6), false);
} else {
bl = map->id2bl(script_getnum(st,6));
break;
@@ -16154,7 +16896,7 @@ static BUILDIN(getmapxy)
case 5: //Get Mercenary Position
if (script_hasdata(st,6)) {
if (script_isstringtype(st,6)) {
- sd = map->nick2sd(script_getstr(st,6));
+ sd = map->nick2sd(script_getstr(st,6), false);
} else {
bl = map->id2bl(script_getnum(st,6));
break;
@@ -16169,7 +16911,7 @@ static BUILDIN(getmapxy)
case 6: //Get Elemental Position
if (script_hasdata(st,6)) {
if (script_isstringtype(st,6)) {
- sd = map->nick2sd(script_getstr(st,6));
+ sd = map->nick2sd(script_getstr(st,6), false);
} else {
bl = map->id2bl(script_getnum(st,6));
break;
@@ -16268,38 +17010,54 @@ static BUILDIN(logmes)
return true;
}
+/**
+ * Summons a mob which will act as a slave for the invoking character.
+ *
+ * @code{.herc}
+ * summon("mob name", <mob id>{, <timeout>{, "event label"}});
+ * @endcode
+ *
+ * @author Celest
+ *
+ **/
static BUILDIN(summon)
{
- int class_, timeout=0;
- const char *str,*event="";
- struct mob_data *md;
- int64 tick = timer->gettick();
struct map_session_data *sd = script->rid2sd(st);
+
if (sd == NULL)
return true;
- str = script_getstr(st,2);
- class_ = script_getnum(st,3);
- if( script_hasdata(st,4) )
- timeout=script_getnum(st,4);
- if( script_hasdata(st,5) ) {
- event=script_getstr(st,5);
+ const int64 tick = timer->gettick();
+
+ clif->skill_poseffect(&sd->bl, AM_CALLHOMUN, 1, sd->bl.x, sd->bl.y, tick);
+
+ const char *event = "";
+
+ if (script_hasdata(st, 5)) {
+ event = script_getstr(st, 5);
script->check_event(st, event);
}
- clif->skill_poseffect(&sd->bl,AM_CALLHOMUN,1,sd->bl.x,sd->bl.y,tick);
+ const char *name = script_getstr(st, 2);
+ const int mob_id = script_getnum(st, 3);
+ struct mob_data *md = mob->once_spawn_sub(&sd->bl, sd->bl.m, sd->bl.x, sd->bl.y, name, mob_id, event,
+ SZ_SMALL, AI_NONE, 0);
- md = mob->once_spawn_sub(&sd->bl, sd->bl.m, sd->bl.x, sd->bl.y, str, class_, event, SZ_SMALL, AI_NONE);
- if (md) {
- md->master_id=sd->bl.id;
+ if (md != NULL) {
+ md->master_id = sd->bl.id;
md->special_state.ai = AI_ATTACK;
- if( md->deletetimer != INVALID_TIMER )
+
+ if (md->deletetimer != INVALID_TIMER)
timer->delete(md->deletetimer, mob->timer_delete);
- md->deletetimer = timer->add(tick+(timeout>0?timeout*1000:60000),mob->timer_delete,md->bl.id,0);
- mob->spawn (md); //Now it is ready for spawning.
- clif->specialeffect(&md->bl,344,AREA);
+
+ const int timeout = script_hasdata(st, 4) ? script_getnum(st, 4) * 1000 : 60000;
+
+ md->deletetimer = timer->add(tick + ((timeout == 0) ? 60000 : timeout), mob->timer_delete, md->bl.id, 0);
+ mob->spawn(md);
+ clif->specialeffect(&md->bl, 344, AREA);
sc_start4(NULL, &md->bl, SC_MODECHANGE, 100, 1, 0, MD_AGGRESSIVE, 0, 60000);
}
+
return true;
}
@@ -16337,6 +17095,8 @@ static BUILDIN(isequippedcnt)
if(j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index) continue;
if(j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index) continue;
if(j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == index || sd->equip_index[EQI_HEAD_LOW] == index)) continue;
+ if(j == EQI_COSTUME_MID && sd->equip_index[EQI_COSTUME_LOW] == index) continue;
+ if(j == EQI_COSTUME_TOP && (sd->equip_index[EQI_COSTUME_MID] == index || sd->equip_index[EQI_COSTUME_LOW] == index)) continue;
if(!sd->inventory_data[index])
continue;
@@ -16390,6 +17150,8 @@ static BUILDIN(isequipped)
if(j == EQI_HAND_R && sd->equip_index[EQI_HAND_L] == index) continue;
if(j == EQI_HEAD_MID && sd->equip_index[EQI_HEAD_LOW] == index) continue;
if(j == EQI_HEAD_TOP && (sd->equip_index[EQI_HEAD_MID] == index || sd->equip_index[EQI_HEAD_LOW] == index)) continue;
+ if(j == EQI_COSTUME_MID && sd->equip_index[EQI_COSTUME_LOW] == index) continue;
+ if(j == EQI_COSTUME_TOP && (sd->equip_index[EQI_COSTUME_MID] == index || sd->equip_index[EQI_COSTUME_LOW] == index)) continue;
if(!sd->inventory_data[index])
continue;
@@ -17676,6 +18438,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;
@@ -18081,10 +18854,12 @@ static BUILDIN(npcshopdelitem)
unsigned int nameid = script_getnum(st,i);
ARR_FIND(0, size, n, nd->u.shop.shop_item[n].nameid == nameid);
- if (n < size) {
- memmove(&nd->u.shop.shop_item[n], &nd->u.shop.shop_item[n+1], sizeof(nd->u.shop.shop_item[0])*(size-n));
- size--;
+ if (n == size) {
+ continue;
+ } else if (n < size - 1) {
+ memmove(&nd->u.shop.shop_item[n], &nd->u.shop.shop_item[n+1], sizeof(nd->u.shop.shop_item[0]) * (size - n - 1));
}
+ size--;
}
RECREATE(nd->u.shop.shop_item, struct npc_item_list, size);
@@ -18317,6 +19092,7 @@ static BUILDIN(getmonsterinfo)
case 20: script_pushint(st,monster->status.def_ele); break;
case 21: script_pushint(st,monster->status.mode); break;
case 22: script_pushint(st,monster->mexp); break;
+ case 23: script_pushint(st, monster->dmg_taken_rate); break;
default: script_pushint(st,-1); //wrong Index
}
return true;
@@ -18390,7 +19166,7 @@ static BUILDIN(searchitem)
if ((items[0] = itemdb->exists(atoi(itemname)))) {
count = 1;
} else {
- count = itemdb->search_name_array(items, ARRAYLENGTH(items), itemname, 0);
+ count = itemdb->search_name_array(items, ARRAYLENGTH(items), itemname, IT_SEARCH_NAME_PARTIAL);
if (count > MAX_SEARCH) count = MAX_SEARCH;
}
@@ -18487,12 +19263,14 @@ static BUILDIN(pcblockmove)
static BUILDIN(setpcblock)
{
- struct map_session_data *sd = script->rid2sd(st);
+ struct map_session_data *sd = script_hasdata(st, 4) ? script->id2sd(st, script_getnum(st, 4)) : script->rid2sd(st);
enum pcblock_action_flag type = script_getnum(st, 2);
int state = (script_getnum(st, 3) > 0) ? 1 : 0;
- if (sd == NULL)
+ if (sd == NULL) {
+ script_pushint(st, 0);
return true;
+ }
if ((type & PCBLOCK_MOVE) != 0)
sd->block_action.move = state;
@@ -18518,12 +19296,16 @@ static BUILDIN(setpcblock)
if ((type & PCBLOCK_COMMANDS) != 0)
sd->block_action.commands = state;
+ if ((type & PCBLOCK_NPC) != 0)
+ sd->block_action.npc = state;
+
+ script_pushint(st, 1);
return true;
}
static BUILDIN(checkpcblock)
{
- struct map_session_data *sd = script->rid2sd(st);
+ struct map_session_data *sd = script_hasdata(st, 2) ? script->id2sd(st, script_getnum(st, 2)) : script->rid2sd(st);
int retval = PCBLOCK_NONE;
if (sd == NULL) {
@@ -18555,6 +19337,9 @@ static BUILDIN(checkpcblock)
if (sd->block_action.commands != 0)
retval |= PCBLOCK_COMMANDS;
+ if (sd->block_action.npc != 0)
+ retval |= PCBLOCK_NPC;
+
script_pushint(st, retval);
return true;
}
@@ -18629,22 +19414,25 @@ static BUILDIN(getunittype)
/**
* Sets real-time unit data for a game object.
- * Setunitdata <GUID>,<DataType>,<Val1>{,<Val2>,<Val3>}
+ *
+ * @code{.herc}
+ * setunitdata <GUID>, <DataType>, <Val1>{, <Val2>, <Val3>}
+ * @endcode
+ *
* @param1 GUID GID of the unit.
* @param2 DataType Type of Data to be set for the unit.
* @param3 Value#1 Value to be passed as change in data.
* @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)
{
- struct block_list *bl = NULL;
- const char *mapname = NULL, *udtype = NULL;
- int type = 0, val = 0, val2 = 0, val3 = 0;
- struct map_session_data *tsd = NULL;
-
- bl = map->id2bl(script_getnum(st, 2));
+ struct block_list *bl = map->id2bl(script_getnum(st, 2));
if (bl == NULL) {
ShowWarning("buildin_setunitdata: Error in finding object with given GID %d!\n", script_getnum(st, 2));
@@ -18652,22 +19440,26 @@ static BUILDIN(setunitdata)
return false;
}
- type = script_getnum(st, 3);
+ int type = script_getnum(st, 3);
- /* type bounds */
+ // Type bounds.
if (type < UDT_SIZE || type >= UDT_MAX) { // Note: UDT_TYPE is not valid here
ShowError("buildin_setunitdata: Invalid unit data type %d provided.\n", type);
script_pushint(st, 0);
return false;
}
- /* Mandatory Argument 3 */
+ const char *mapname = NULL;
+ int val = 0;
+
+ // 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");
script_pushint(st, 0);
return false;
}
+
mapname = script_getstr(st, 4);
} else {
if (script_isstringtype(st, 4)) {
@@ -18675,68 +19467,87 @@ static BUILDIN(setunitdata)
script_pushint(st, 0);
return false;
}
+
val = script_getnum(st, 4);
}
-/* checks if value is out of bounds. */
+
+/****************************************************************************************************
+ * Define temporary macros. [BEGIN]
+ ****************************************************************************************************/
+
+// Checks if value is out of bounds.
#define setunitdata_check_bounds(arg, min, max) \
do { \
if (script_getnum(st, (arg)) < (min) || script_getnum(st, (arg)) > (max)) { \
- ShowError("buildin_setunitdata: Invalid value %d for argument #%d. (min: %d, max: %d)\n", script_getnum(st, (arg)), (arg)-1, (min), (max)); \
+ ShowError("buildin_setunitdata: Invalid value %d for argument #%d. (min: %d, max: %d)\n", \
+ script_getnum(st, (arg)), (arg) - 1, (min), (max)); \
script_pushint(st, 0); \
return false; \
} \
} while(0);
-/* checks if value is out of bounds. */
+
+// Checks if value is too low.
#define setunitdata_check_min(arg, min) \
do { \
if (script_getnum(st, (arg)) < (min)) { \
- ShowError("buildin_setunitdata: Invalid value %d for argument #%d. (min: %d)\n", script_getnum(st, (arg)), (arg)-1, (min)); \
+ ShowError("buildin_setunitdata: Invalid value %d for argument #%d. (min: %d)\n", \
+ script_getnum(st, (arg)), (arg) - 1, (min)); \
script_pushint(st, 0); \
return false; \
} \
} while(0);
-/* checks if the argument doesn't exist, if required.
- * also checks if the argument exists, if not required. */
+
+// Checks if the argument doesn't exist, if required. Also checks if the argument exists, if not required.
#define setunitdata_assert_arg(arg, required) \
do { \
if (required && !script_hasdata(st, (arg))) { \
- ShowError("buildin_setunitdata: Type %d reqires argument #%d.\n", type, (arg)-1); \
+ ShowError("buildin_setunitdata: Type %d reqires argument #%d.\n", type, (arg) - 1); \
script_pushint(st, 0); \
return false; \
} else if (!required && script_hasdata(st, arg)) { \
- ShowError("buildin_setunitdata: Argument %d is not required for type %d.\n", (arg)-1, type); \
+ ShowError("buildin_setunitdata: Argument %d is not required for type %d.\n", (arg) - 1, type); \
script_pushint(st, 0); \
return false; \
} \
} while (0);
-/* checks if the data is an integer. */
+
+// Checks if the data is an integer.
#define setunitdata_check_int(arg) \
do { \
setunitdata_assert_arg((arg), true); \
if (script_isstringtype(st, (arg))) { \
- ShowError("buildin_setunitdata: Argument #%d expects integer, string given.\n", (arg)-1); \
+ ShowError("buildin_setunitdata: Argument #%d expects integer, string given.\n", (arg) - 1); \
script_pushint(st, 0); \
return false; \
} \
} while(0);
-/* checks if the data is a string. */
+
+// Checks if the data is a string.
#define setunitdata_check_string(arg) \
do { \
setunitdata_assert_arg((arg), true); \
if (script_isinttype(st, (arg))) { \
- ShowError("buildin_setunitdata: Argument #%d expects string, integer given.\n", (arg)-1); \
+ ShowError("buildin_setunitdata: Argument #%d expects string, integer given.\n", (arg) - 1); \
script_pushint(st, 0); \
return false; \
} \
} while(0);
+/****************************************************************************************************
+ * Define temporary macros. [END]
+ ****************************************************************************************************/
+
if (type != UDT_MAPIDXY && type != UDT_WALKTOXY) {
setunitdata_assert_arg(5, false);
setunitdata_assert_arg(6, false);
}
- switch (type)
- {
+ int val2 = 0;
+ int val3 = 0;
+
+ struct map_session_data *tsd = NULL;
+
+ switch (type) {
case UDT_SIZE:
setunitdata_check_bounds(4, SZ_SMALL, SZ_BIG);
break;
@@ -18762,30 +19573,36 @@ static BUILDIN(setunitdata)
case UDT_MASTERAID:
setunitdata_check_min(4, 0);
tsd = map->id2sd(val);
+
if (tsd == NULL) {
- ShowWarning("buildin_setunitdata: Account ID %d not found for master change!\n",val);
+ ShowWarning("buildin_setunitdata: Account ID %d not found for master change!\n", val);
script_pushint(st, 0);
return false;
}
+
break;
case UDT_MASTERCID:
setunitdata_check_min(4, 0);
tsd = map->charid2sd(val);
+
if (tsd == NULL) {
- ShowWarning("buildin_setunitdata: Character ID %d not found for master change!\n",val);
+ ShowWarning("buildin_setunitdata: Character ID %d not found for master change!\n", val);
script_pushint(st, 0);
return false;
}
+
break;
case UDT_MAPIDXY:
- if ((val = map->mapname2mapid(mapname)) == -1) {
+ if ((val = map->mapname2mapid(mapname)) == INDEX_NOT_FOUND) {
ShowError("buildin_setunitdata: Non-existent map %s provided.\n", mapname);
+ script_pushint(st, 0);
return false;
}
+
setunitdata_check_int(5);
setunitdata_check_int(6);
- setunitdata_check_bounds(5, 0, MAX_MAP_SIZE/2);
- setunitdata_check_bounds(6, 0, MAX_MAP_SIZE/2);
+ setunitdata_check_bounds(5, 0, MAX_MAP_SIZE / 2);
+ setunitdata_check_bounds(6, 0, MAX_MAP_SIZE / 2);
val2 = script_getnum(st, 5);
val3 = script_getnum(st, 6);
break;
@@ -18793,8 +19610,8 @@ static BUILDIN(setunitdata)
setunitdata_assert_arg(6, false);
setunitdata_check_int(5);
val2 = script_getnum(st, 5);
- setunitdata_check_bounds(4, 0, MAX_MAP_SIZE/2);
- setunitdata_check_bounds(5, 0, MAX_MAP_SIZE/2);
+ setunitdata_check_bounds(4, 0, MAX_MAP_SIZE / 2);
+ setunitdata_check_bounds(5, 0, MAX_MAP_SIZE / 2);
break;
case UDT_SPEED:
setunitdata_check_bounds(4, 0, MAX_WALK_SPEED);
@@ -18849,76 +19666,110 @@ static BUILDIN(setunitdata)
setunitdata_check_bounds(4, 0, SHRT_MAX);
break;
case UDT_HUNGER:
- setunitdata_check_bounds(4, 0, 99);
+ setunitdata_check_bounds(4, PET_HUNGER_STARVING, PET_HUNGER_STUFFED); // Pets and Homunculi have the same hunger value bounds.
break;
case UDT_RACE:
case UDT_ELETYPE:
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;
+ case UDT_DAMAGE_TAKEN_RATE:
+ setunitdata_check_bounds(4, 1, INT_MAX);
+ break;
default:
break;
}
+/****************************************************************************************************
+ * Undefine temporary macros. [BEGIN]
+ ****************************************************************************************************/
+
#undef setunitdata_check_bounds
+#undef setunitdata_check_min
#undef setunitdata_assert_arg
#undef setunitdata_check_int
#undef setunitdata_check_string
- /* Set the values */
+/****************************************************************************************************
+ * Undefine temporary macros. [END]
+ ****************************************************************************************************/
+
+ // Set the values.
switch (bl->type) {
- case BL_MOB:
- {
+ case BL_MOB: {
struct mob_data *md = BL_UCAST(BL_MOB, bl);
- nullpo_retr(false, md);
- switch (type)
- {
+ if (md == NULL) {
+ ShowError("buildin_setunitdata: Can't find monster for GID %d!\n", script_getnum(st, 2));
+ script_pushint(st, 0);
+ return false;
+ }
+
+ switch (type) {
case UDT_SIZE:
- md->status.size = (unsigned char) val;
+ md->status.size = (unsigned char)val;
break;
case UDT_LEVEL:
md->level = val;
+
+ if ((battle_config.show_mob_info & 4) != 0)
+ clif->blname_ack(0, &md->bl);
+
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
- 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);
+ md->status.max_hp = (unsigned int)val;
+ clif->blname_ack(0, &md->bl);
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_sp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
- md->status.max_sp = (unsigned int) val;
+ md->status.max_sp = (unsigned int)val;
break;
case UDT_MASTERAID:
md->master_id = val;
break;
case UDT_MAPIDXY:
- unit->warp(bl, (short) val, (short) val2, (short) val3, CLR_TELEPORT);
+ unit->warp(bl, (short)val, (short)val2, (short)val3, CLR_TELEPORT);
break;
case UDT_WALKTOXY:
- if (!unit->walktoxy(bl, (short) val, (short) val2, 2))
- unit->movepos(bl, (short) val, (short) val2, 0, 0);
+ if (unit->walk_toxy(bl, (short)val, (short)val2, 2) != 0)
+ unit->movepos(bl, (short)val, (short)val2, 0, 0);
break;
case UDT_SPEED:
- md->status.speed = (unsigned short) val;
+ md->status.speed = (unsigned short)val;
status->calc_misc(bl, &md->status, md->level);
break;
case UDT_MODE:
- md->status.mode = (enum e_mode) val;
+ md->status.mode = (enum e_mode)val;
break;
case UDT_AI:
- md->special_state.ai = (enum ai) val;
+ md->special_state.ai = (enum ai)val;
break;
case UDT_SCOPTION:
- md->sc.option = (unsigned int) val;
+ md->sc.option = (unsigned int)val;
break;
case UDT_SEX:
- md->vd->sex = (char) val;
+ md->vd->sex = (char)val;
break;
case UDT_CLASS:
mob->class_change(md, val);
@@ -18948,115 +19799,121 @@ static BUILDIN(setunitdata)
clif->changelook(bl, LOOK_WEAPON, val);
break;
case UDT_LOOKDIR:
- unit->setdir(bl, (uint8) val);
+ unit->set_dir(bl, (enum unit_dir)val);
break;
case UDT_CANMOVETICK:
md->ud.canmove_tick = val;
break;
case UDT_STR:
- md->status.str = (unsigned short) val;
+ md->status.str = (unsigned short)val;
status->calc_misc(bl, &md->status, md->level);
break;
case UDT_AGI:
- md->status.agi = (unsigned short) val;
+ md->status.agi = (unsigned short)val;
status->calc_misc(bl, &md->status, md->level);
break;
case UDT_VIT:
- md->status.vit = (unsigned short) val;
+ md->status.vit = (unsigned short)val;
status->calc_misc(bl, &md->status, md->level);
break;
case UDT_INT:
- md->status.int_ = (unsigned short) val;
+ md->status.int_ = (unsigned short)val;
status->calc_misc(bl, &md->status, md->level);
break;
case UDT_DEX:
- md->status.dex = (unsigned short) val;
+ md->status.dex = (unsigned short)val;
status->calc_misc(bl, &md->status, md->level);
break;
case UDT_LUK:
- md->status.luk = (unsigned short) val;
+ md->status.luk = (unsigned short)val;
status->calc_misc(bl, &md->status, md->level);
break;
case UDT_ATKRANGE:
- md->status.rhw.range = (unsigned short) val;
+ md->status.rhw.range = (unsigned short)val;
break;
case UDT_ATKMIN:
- md->status.rhw.atk = (unsigned short) val;
+ md->status.rhw.atk = (unsigned short)val;
break;
case UDT_ATKMAX:
- md->status.rhw.atk2 = (unsigned short) val;
+ md->status.rhw.atk2 = (unsigned short)val;
break;
case UDT_MATKMIN:
- md->status.matk_min = (unsigned short) val;
+ md->status.matk_min = (unsigned short)val;
break;
case UDT_MATKMAX:
- md->status.matk_max = (unsigned short) val;
+ md->status.matk_max = (unsigned short)val;
break;
case UDT_DEF:
- md->status.def = (defType) val;
+ md->status.def = (defType)val;
break;
case UDT_MDEF:
- md->status.mdef = (defType) val;
+ md->status.mdef = (defType)val;
break;
case UDT_HIT:
- md->status.hit = (short) val;
+ md->status.hit = (short)val;
break;
case UDT_FLEE:
- md->status.flee = (short) val;
+ md->status.flee = (short)val;
break;
case UDT_PDODGE:
- md->status.flee2 = (short) val;
+ md->status.flee2 = (short)val;
break;
case UDT_CRIT:
- md->status.cri = (short) val;
+ md->status.cri = (short)val;
break;
case UDT_RACE:
- md->status.race = (unsigned char) val;
+ md->status.race = (unsigned char)val;
break;
case UDT_ELETYPE:
- md->status.def_ele = (unsigned char) val;
+ md->status.def_ele = (unsigned char)val;
break;
case UDT_ELELEVEL:
- md->status.ele_lv = (unsigned char) val;
+ md->status.ele_lv = (unsigned char)val;
break;
case UDT_AMOTION:
- md->status.amotion = (unsigned short) val;
+ md->status.amotion = (unsigned short)val;
break;
case UDT_ADELAY:
- md->status.adelay = (unsigned short) val;
+ md->status.adelay = (unsigned short)val;
break;
case UDT_DMOTION:
- md->status.dmotion = (unsigned short) val;
+ md->status.dmotion = (unsigned short)val;
+ break;
+ case UDT_DAMAGE_TAKEN_RATE:
+ md->dmg_taken_rate = (int)val;
break;
default:
- ShowWarning("buildin_setunitdata: Invalid data type '%s' for mob unit.\n", udtype);
+ ShowWarning("buildin_setunitdata: Invalid data type '%d' for mob unit.\n", type);
script_pushint(st, 0);
return false;
}
- }
+
break;
- case BL_HOM:
- {
+ }
+ case BL_HOM: {
struct homun_data *hd = BL_UCAST(BL_HOM, bl);
- nullpo_retr(false, hd);
+ if (hd == NULL) {
+ ShowError("buildin_setunitdata: Can't find Homunculus for GID %d!\n", script_getnum(st, 2));
+ script_pushint(st, 0);
+ return false;
+ }
- switch (type)
- {
+ switch (type) {
case UDT_SIZE:
- hd->base_status.size = (unsigned char) val;
+ hd->base_status.size = (unsigned char)val;
break;
case UDT_LEVEL:
- hd->homunculus.level = (short) val;
+ hd->homunculus.level = (short)val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ 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, STATUS_HEAL_DEFAULT);
+ status->set_sp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
hd->homunculus.max_sp = val;
@@ -19066,634 +19923,645 @@ static BUILDIN(setunitdata)
hd->master = tsd;
break;
case UDT_MAPIDXY:
- unit->warp(bl, (short) val, (short) val2, (short) val3, CLR_TELEPORT);
+ unit->warp(bl, (short)val, (short)val2, (short)val3, CLR_TELEPORT);
break;
case UDT_WALKTOXY:
- if (!unit->walktoxy(bl, (short) val, (short) val2, 2))
- unit->movepos(bl, (short) val, (short) val2, 0, 0);
+ if (unit->walk_toxy(bl, (short)val, (short)val2, 2) != 0)
+ unit->movepos(bl, (short)val, (short)val2, 0, 0);
break;
case UDT_SPEED:
- hd->base_status.speed = (unsigned short) val;
+ hd->base_status.speed = (unsigned short)val;
status->calc_misc(bl, &hd->base_status, hd->homunculus.level);
break;
case UDT_LOOKDIR:
- unit->setdir(bl, (unsigned char) val);
+ unit->set_dir(bl, (enum unit_dir)val);
break;
case UDT_CANMOVETICK:
hd->ud.canmove_tick = val;
break;
case UDT_STR:
- hd->base_status.str = (unsigned short) val;
+ hd->base_status.str = (unsigned short)val;
status->calc_misc(bl, &hd->base_status, hd->homunculus.level);
break;
case UDT_AGI:
- hd->base_status.agi = (unsigned short) val;
+ hd->base_status.agi = (unsigned short)val;
status->calc_misc(bl, &hd->base_status, hd->homunculus.level);
break;
case UDT_VIT:
- hd->base_status.vit = (unsigned short) val;
+ hd->base_status.vit = (unsigned short)val;
status->calc_misc(bl, &hd->base_status, hd->homunculus.level);
break;
case UDT_INT:
- hd->base_status.int_ = (unsigned short) val;
+ hd->base_status.int_ = (unsigned short)val;
status->calc_misc(bl, &hd->base_status, hd->homunculus.level);
break;
case UDT_DEX:
- hd->base_status.dex = (unsigned short) val;
+ hd->base_status.dex = (unsigned short)val;
status->calc_misc(bl, &hd->base_status, hd->homunculus.level);
break;
case UDT_LUK:
- hd->base_status.luk = (unsigned short) val;
+ hd->base_status.luk = (unsigned short)val;
status->calc_misc(bl, &hd->base_status, hd->homunculus.level);
break;
case UDT_ATKRANGE:
- hd->base_status.rhw.range = (unsigned short) val;
+ hd->base_status.rhw.range = (unsigned short)val;
break;
case UDT_ATKMIN:
- hd->base_status.rhw.atk = (unsigned short) val;
+ hd->base_status.rhw.atk = (unsigned short)val;
break;
case UDT_ATKMAX:
- hd->base_status.rhw.atk2 = (unsigned short) val;
+ hd->base_status.rhw.atk2 = (unsigned short)val;
break;
case UDT_MATKMIN:
- hd->base_status.matk_min = (unsigned short) val;
+ hd->base_status.matk_min = (unsigned short)val;
break;
case UDT_MATKMAX:
- hd->base_status.matk_max = (unsigned short) val;
+ hd->base_status.matk_max = (unsigned short)val;
break;
case UDT_DEF:
- hd->base_status.def = (defType) val;
+ hd->base_status.def = (defType)val;
break;
case UDT_MDEF:
- hd->base_status.mdef = (defType) val;
+ hd->base_status.mdef = (defType)val;
break;
case UDT_HIT:
- hd->base_status.hit = (short) val;
+ hd->base_status.hit = (short)val;
break;
case UDT_FLEE:
- hd->base_status.flee = (short) val;
+ hd->base_status.flee = (short)val;
break;
case UDT_PDODGE:
- hd->base_status.flee2 = (short) val;
+ hd->base_status.flee2 = (short)val;
break;
case UDT_CRIT:
- hd->base_status.cri = (short) val;
+ hd->base_status.cri = (short)val;
break;
case UDT_RACE:
- hd->base_status.race = (unsigned char) val;
+ hd->base_status.race = (unsigned char)val;
break;
case UDT_ELETYPE:
- hd->base_status.def_ele = (unsigned char) val;
+ hd->base_status.def_ele = (unsigned char)val;
break;
case UDT_ELELEVEL:
- hd->base_status.ele_lv = (unsigned char) val;
+ hd->base_status.ele_lv = (unsigned char)val;
break;
case UDT_AMOTION:
- hd->base_status.amotion = (unsigned short) val;
+ hd->base_status.amotion = (unsigned short)val;
break;
case UDT_ADELAY:
- hd->base_status.adelay = (unsigned short) val;
+ hd->base_status.adelay = (unsigned short)val;
break;
case UDT_DMOTION:
- hd->base_status.dmotion = (unsigned short) val;
+ hd->base_status.dmotion = (unsigned short)val;
break;
case UDT_HUNGER:
- hd->homunculus.hunger = (short) val;
+ hd->homunculus.hunger = (short)val;
clif->send_homdata(hd->master, SP_HUNGRY, hd->homunculus.hunger);
break;
case UDT_INTIMACY:
- homun->add_intimacy(hd, (unsigned int) val);
+ homun->add_intimacy(hd, (unsigned int)val);
clif->send_homdata(hd->master, SP_INTIMATE, hd->homunculus.intimacy / 100);
break;
default:
- ShowWarning("buildin_setunitdata: Invalid data type '%s' for homunculus unit.\n", udtype);
+ ShowWarning("buildin_setunitdata: Invalid data type '%d' for homunculus unit.\n", type);
script_pushint(st, 0);
return false;
}
- clif->send_homdata(hd->master, SP_ACK, 0); // send homun data
- }
+ clif->send_homdata(hd->master, SP_ACK, 0); // Send Homunculus data.
break;
- case BL_PET:
- {
+ }
+ case BL_PET: {
struct pet_data *pd = BL_UCAST(BL_PET, bl);
- nullpo_retr(false, pd);
+ if (pd == NULL) {
+ ShowError("buildin_setunitdata: Can't find pet for GID %d!\n", script_getnum(st, 2));
+ script_pushint(st, 0);
+ return false;
+ }
- switch (type)
- {
+ switch (type) {
case UDT_SIZE:
- pd->status.size = (unsigned char) val;
+ pd->status.size = (unsigned char)val;
break;
case UDT_LEVEL:
- pd->pet.level = (short) val;
+ pd->pet.level = (short)val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_hp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
- pd->status.max_hp = (unsigned int) val;
+ pd->status.max_hp = (unsigned int)val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_sp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
- pd->status.max_sp = (unsigned int) val;
+ pd->status.max_sp = (unsigned int)val;
break;
case UDT_MASTERAID:
pd->pet.account_id = val;
pd->msd = tsd;
break;
case UDT_MAPIDXY:
- unit->warp(bl, (short) val, (short) val2, (short) val3, CLR_TELEPORT);
+ unit->warp(bl, (short)val, (short)val2, (short)val3, CLR_TELEPORT);
break;
case UDT_WALKTOXY:
- if (!unit->walktoxy(bl, (short) val, (short) val2, 2))
- unit->movepos(bl, (short) val, (short) val2, 0, 0);
+ if (unit->walk_toxy(bl, (short)val, (short)val2, 2) != 0)
+ unit->movepos(bl, (short)val, (short)val2, 0, 0);
break;
case UDT_SPEED:
- pd->status.speed = (unsigned short) val;
+ pd->status.speed = (unsigned short)val;
status->calc_misc(bl, &pd->status, pd->pet.level);
break;
case UDT_LOOKDIR:
- unit->setdir(bl, (unsigned char) val);
+ unit->set_dir(bl, (enum unit_dir)val);
break;
case UDT_CANMOVETICK:
pd->ud.canmove_tick = val;
break;
case UDT_STR:
- pd->status.str = (unsigned short) val;
+ pd->status.str = (unsigned short)val;
status->calc_misc(bl, &pd->status, pd->pet.level);
break;
case UDT_AGI:
- pd->status.agi = (unsigned short) val;
+ pd->status.agi = (unsigned short)val;
status->calc_misc(bl, &pd->status, pd->pet.level);
break;
case UDT_VIT:
- pd->status.vit = (unsigned short) val;
+ pd->status.vit = (unsigned short)val;
status->calc_misc(bl, &pd->status, pd->pet.level);
break;
case UDT_INT:
- pd->status.int_ = (unsigned short) val;
+ pd->status.int_ = (unsigned short)val;
status->calc_misc(bl, &pd->status, pd->pet.level);
break;
case UDT_DEX:
- pd->status.dex = (unsigned short) val;
+ pd->status.dex = (unsigned short)val;
status->calc_misc(bl, &pd->status, pd->pet.level);
break;
case UDT_LUK:
- pd->status.luk = (unsigned short) val;
+ pd->status.luk = (unsigned short)val;
status->calc_misc(bl, &pd->status, pd->pet.level);
break;
case UDT_ATKRANGE:
- pd->status.rhw.range = (unsigned short) val;
+ pd->status.rhw.range = (unsigned short)val;
break;
case UDT_ATKMIN:
- pd->status.rhw.atk = (unsigned short) val;
+ pd->status.rhw.atk = (unsigned short)val;
break;
case UDT_ATKMAX:
- pd->status.rhw.atk2 = (unsigned short) val;
+ pd->status.rhw.atk2 = (unsigned short)val;
break;
case UDT_MATKMIN:
- pd->status.matk_min = (unsigned short) val;
+ pd->status.matk_min = (unsigned short)val;
break;
case UDT_MATKMAX:
- pd->status.matk_max = (unsigned short) val;
+ pd->status.matk_max = (unsigned short)val;
break;
case UDT_DEF:
- pd->status.def = (defType) val;
+ pd->status.def = (defType)val;
break;
case UDT_MDEF:
- pd->status.mdef = (defType) val;
+ pd->status.mdef = (defType)val;
break;
case UDT_HIT:
- pd->status.hit = (short) val;
+ pd->status.hit = (short)val;
break;
case UDT_FLEE:
- pd->status.flee = (short) val;
+ pd->status.flee = (short)val;
break;
case UDT_PDODGE:
- pd->status.flee2 = (short) val;
+ pd->status.flee2 = (short)val;
break;
case UDT_CRIT:
- pd->status.cri = (short) val;
+ pd->status.cri = (short)val;
break;
case UDT_RACE:
- pd->status.race = (unsigned char) val;
+ pd->status.race = (unsigned char)val;
break;
case UDT_ELETYPE:
- pd->status.def_ele = (unsigned char) val;
+ pd->status.def_ele = (unsigned char)val;
break;
case UDT_ELELEVEL:
- pd->status.ele_lv = (unsigned char) val;
+ pd->status.ele_lv = (unsigned char)val;
break;
case UDT_AMOTION:
- pd->status.amotion = (unsigned short) val;
+ pd->status.amotion = (unsigned short)val;
break;
case UDT_ADELAY:
- pd->status.adelay = (unsigned short) val;
+ pd->status.adelay = (unsigned short)val;
break;
case UDT_DMOTION:
- pd->status.dmotion = (unsigned short) val;
+ pd->status.dmotion = (unsigned short)val;
break;
case UDT_INTIMACY:
pet->set_intimate(pd, val);
clif->send_petdata(pd->msd, pd, 1, pd->pet.intimate);
break;
case UDT_HUNGER:
- pd->pet.hungry = (short) val;
+ pet->set_hunger(pd, val);
break;
default:
- ShowWarning("buildin_setunitdata: Invalid data type '%s' for pet unit.\n", udtype);
+ ShowWarning("buildin_setunitdata: Invalid data type '%d' for pet unit.\n", type);
script_pushint(st, 0);
return false;
}
- clif->send_petstatus(pd->msd); // send pet data
- }
+
+ clif->send_petstatus(pd->msd); // Send pet data.
break;
- case BL_MER:
- {
+ }
+ case BL_MER: {
struct mercenary_data *mc = BL_UCAST(BL_MER, bl);
- nullpo_retr(false, mc);
+ if (mc == NULL) {
+ ShowError("buildin_setunitdata: Can't find mercenary for GID %d!\n", script_getnum(st, 2));
+ script_pushint(st, 0);
+ return false;
+ }
- switch (type)
- {
+ switch (type) {
case UDT_SIZE:
- mc->base_status.size = (unsigned char) val;
+ mc->base_status.size = (unsigned char)val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_hp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
- mc->base_status.max_hp = (unsigned int) val;
+ mc->base_status.max_hp = (unsigned int)val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_sp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
- mc->base_status.max_sp = (unsigned int) val;
+ mc->base_status.max_sp = (unsigned int)val;
break;
case UDT_MASTERCID:
mc->mercenary.char_id = val;
break;
case UDT_MAPIDXY:
- unit->warp(bl, (short) val, (short) val2, (short) val3, CLR_TELEPORT);
+ unit->warp(bl, (short)val, (short)val2, (short)val3, CLR_TELEPORT);
break;
case UDT_WALKTOXY:
- if (!unit->walktoxy(bl, (short) val, (short) val2, 2))
- unit->movepos(bl, (short) val, (short) val2, 0, 0);
+ if (unit->walk_toxy(bl, (short)val, (short)val2, 2) != 0)
+ unit->movepos(bl, (short)val, (short)val2, 0, 0);
break;
case UDT_SPEED:
- mc->base_status.size = (unsigned char) val;
+ mc->base_status.size = (unsigned char)val;
status->calc_misc(bl, &mc->base_status, mc->db->lv);
break;
case UDT_LOOKDIR:
- unit->setdir(bl, (unsigned char) val);
+ unit->set_dir(bl, (enum unit_dir)val);
break;
case UDT_CANMOVETICK:
mc->ud.canmove_tick = val;
break;
case UDT_STR:
- mc->base_status.str = (unsigned short) val;
+ mc->base_status.str = (unsigned short)val;
status->calc_misc(bl, &mc->base_status, mc->db->lv);
break;
case UDT_AGI:
- mc->base_status.agi = (unsigned short) val;
+ mc->base_status.agi = (unsigned short)val;
status->calc_misc(bl, &mc->base_status, mc->db->lv);
break;
case UDT_VIT:
- mc->base_status.vit = (unsigned short) val;
+ mc->base_status.vit = (unsigned short)val;
status->calc_misc(bl, &mc->base_status, mc->db->lv);
break;
case UDT_INT:
- mc->base_status.int_ = (unsigned short) val;
+ mc->base_status.int_ = (unsigned short)val;
status->calc_misc(bl, &mc->base_status, mc->db->lv);
break;
case UDT_DEX:
- mc->base_status.dex = (unsigned short) val;
+ mc->base_status.dex = (unsigned short)val;
status->calc_misc(bl, &mc->base_status, mc->db->lv);
break;
case UDT_LUK:
- mc->base_status.luk = (unsigned short) val;
+ mc->base_status.luk = (unsigned short)val;
status->calc_misc(bl, &mc->base_status, mc->db->lv);
break;
case UDT_ATKRANGE:
- mc->base_status.rhw.range = (unsigned short) val;
+ mc->base_status.rhw.range = (unsigned short)val;
break;
case UDT_ATKMIN:
- mc->base_status.rhw.atk = (unsigned short) val;
+ mc->base_status.rhw.atk = (unsigned short)val;
break;
case UDT_ATKMAX:
- mc->base_status.rhw.atk2 = (unsigned short) val;
+ mc->base_status.rhw.atk2 = (unsigned short)val;
break;
case UDT_MATKMIN:
- mc->base_status.matk_min = (unsigned short) val;
+ mc->base_status.matk_min = (unsigned short)val;
break;
case UDT_MATKMAX:
- mc->base_status.matk_max = (unsigned short) val;
+ mc->base_status.matk_max = (unsigned short)val;
break;
case UDT_DEF:
- mc->base_status.def = (defType) val;
+ mc->base_status.def = (defType)val;
break;
case UDT_MDEF:
- mc->base_status.mdef = (defType) val;
+ mc->base_status.mdef = (defType)val;
break;
case UDT_HIT:
- mc->base_status.hit = (short) val;
+ mc->base_status.hit = (short)val;
break;
case UDT_FLEE:
- mc->base_status.flee = (short) val;
+ mc->base_status.flee = (short)val;
break;
case UDT_PDODGE:
- mc->base_status.flee2 = (short) val;
+ mc->base_status.flee2 = (short)val;
break;
case UDT_CRIT:
- mc->base_status.cri = (short) val;
+ mc->base_status.cri = (short)val;
break;
case UDT_RACE:
- mc->base_status.race = (unsigned char) val;
+ mc->base_status.race = (unsigned char)val;
break;
case UDT_ELETYPE:
- mc->base_status.def_ele = (unsigned char) val;
+ mc->base_status.def_ele = (unsigned char)val;
break;
case UDT_ELELEVEL:
- mc->base_status.ele_lv = (unsigned char) val;
+ mc->base_status.ele_lv = (unsigned char)val;
break;
case UDT_AMOTION:
- mc->base_status.amotion = (unsigned short) val;
+ mc->base_status.amotion = (unsigned short)val;
break;
case UDT_ADELAY:
- mc->base_status.adelay = (unsigned short) val;
+ mc->base_status.adelay = (unsigned short)val;
break;
case UDT_DMOTION:
- mc->base_status.dmotion = (unsigned short) val;
+ mc->base_status.dmotion = (unsigned short)val;
break;
case UDT_MERC_KILLCOUNT:
- mc->mercenary.kill_count = (unsigned int) val;
+ mc->mercenary.kill_count = (unsigned int)val;
break;
case UDT_LIFETIME:
- mc->mercenary.life_time = (unsigned int) val;
+ mc->mercenary.life_time = (unsigned int)val;
break;
default:
- ShowWarning("buildin_setunitdata: Invalid data type '%s' for mercenary unit.\n", udtype);
+ ShowWarning("buildin_setunitdata: Invalid data type '%d' for mercenary unit.\n", type);
script_pushint(st, 0);
return false;
}
+ // Send mercenary data.
clif->mercenary_info(map->charid2sd(mc->mercenary.char_id));
clif->mercenary_skillblock(map->charid2sd(mc->mercenary.char_id));
- }
break;
- case BL_ELEM:
- {
+ }
+ case BL_ELEM: {
struct elemental_data *ed = BL_UCAST(BL_ELEM, bl);
- nullpo_retr(false, ed);
+ if (ed == NULL) {
+ ShowError("buildin_setunitdata: Can't find Elemental for GID %d!\n", script_getnum(st, 2));
+ script_pushint(st, 0);
+ return false;
+ }
- switch (type)
- {
+ switch (type) {
case UDT_SIZE:
- ed->base_status.size = (unsigned char) val;
+ ed->base_status.size = (unsigned char)val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_hp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
- ed->base_status.max_hp = (unsigned int) val;
+ ed->base_status.max_hp = (unsigned int)val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_sp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
- ed->base_status.max_sp = (unsigned int) val;
+ ed->base_status.max_sp = (unsigned int)val;
break;
case UDT_MASTERCID:
ed->elemental.char_id = val;
break;
case UDT_MAPIDXY:
- unit->warp(bl, (short) val, (short) val2, (short) val3, CLR_TELEPORT);
+ unit->warp(bl, (short)val, (short)val2, (short)val3, CLR_TELEPORT);
break;
case UDT_WALKTOXY:
- if (!unit->walktoxy(bl, (short) val, (short) val2, 2))
- unit->movepos(bl, (short) val, (short) val2, 0, 0);
+ if (unit->walk_toxy(bl, (short)val, (short)val2, 2) != 0)
+ unit->movepos(bl, (short)val, (short)val2, 0, 0);
break;
case UDT_SPEED:
- ed->base_status.speed = (unsigned short) val;
+ ed->base_status.speed = (unsigned short)val;
status->calc_misc(bl, &ed->base_status, ed->db->lv);
break;
case UDT_LOOKDIR:
- unit->setdir(bl, (unsigned char) val);
+ unit->set_dir(bl, (enum unit_dir)val);
break;
case UDT_CANMOVETICK:
ed->ud.canmove_tick = val;
break;
case UDT_STR:
- ed->base_status.str = (unsigned short) val;
+ ed->base_status.str = (unsigned short)val;
status->calc_misc(bl, &ed->base_status, ed->db->lv);
break;
case UDT_AGI:
- ed->base_status.agi = (unsigned short) val;
+ ed->base_status.agi = (unsigned short)val;
status->calc_misc(bl, &ed->base_status, ed->db->lv);
break;
case UDT_VIT:
- ed->base_status.vit = (unsigned short) val;
+ ed->base_status.vit = (unsigned short)val;
status->calc_misc(bl, &ed->base_status, ed->db->lv);
break;
case UDT_INT:
- ed->base_status.int_ = (unsigned short) val;
+ ed->base_status.int_ = (unsigned short)val;
status->calc_misc(bl, &ed->base_status, ed->db->lv);
break;
case UDT_DEX:
- ed->base_status.dex = (unsigned short) val;
+ ed->base_status.dex = (unsigned short)val;
status->calc_misc(bl, &ed->base_status, ed->db->lv);
break;
case UDT_LUK:
- ed->base_status.luk = (unsigned short) val;
+ ed->base_status.luk = (unsigned short)val;
status->calc_misc(bl, &ed->base_status, ed->db->lv);
break;
case UDT_ATKRANGE:
- ed->base_status.rhw.range = (unsigned short) val;
+ ed->base_status.rhw.range = (unsigned short)val;
break;
case UDT_ATKMIN:
- ed->base_status.rhw.atk = (unsigned short) val;
+ ed->base_status.rhw.atk = (unsigned short)val;
break;
case UDT_ATKMAX:
- ed->base_status.rhw.atk2 = (unsigned short) val;
+ ed->base_status.rhw.atk2 = (unsigned short)val;
break;
case UDT_MATKMIN:
- ed->base_status.matk_min = (unsigned short) val;
+ ed->base_status.matk_min = (unsigned short)val;
break;
case UDT_MATKMAX:
- ed->base_status.matk_max = (unsigned short) val;
+ ed->base_status.matk_max = (unsigned short)val;
break;
case UDT_DEF:
- ed->base_status.def = (defType) val;
+ ed->base_status.def = (defType)val;
break;
case UDT_MDEF:
- ed->base_status.mdef = (defType) val;
+ ed->base_status.mdef = (defType)val;
break;
case UDT_HIT:
- ed->base_status.hit = (short) val;
+ ed->base_status.hit = (short)val;
break;
case UDT_FLEE:
- ed->base_status.flee = (short) val;
+ ed->base_status.flee = (short)val;
break;
case UDT_PDODGE:
- ed->base_status.flee2 = (short) val;
+ ed->base_status.flee2 = (short)val;
break;
case UDT_CRIT:
- ed->base_status.cri = (short) val;
+ ed->base_status.cri = (short)val;
break;
case UDT_RACE:
- ed->base_status.race = (unsigned char) val;
+ ed->base_status.race = (unsigned char)val;
break;
case UDT_ELETYPE:
- ed->base_status.def_ele = (unsigned char) val;
+ ed->base_status.def_ele = (unsigned char)val;
break;
case UDT_ELELEVEL:
- ed->base_status.ele_lv = (unsigned char) val;
+ ed->base_status.ele_lv = (unsigned char)val;
break;
case UDT_AMOTION:
- ed->base_status.amotion = (unsigned short) val;
+ ed->base_status.amotion = (unsigned short)val;
break;
case UDT_ADELAY:
- ed->base_status.adelay = (unsigned short) val;
+ ed->base_status.adelay = (unsigned short)val;
break;
case UDT_DMOTION:
- ed->base_status.dmotion = (unsigned short) val;
+ ed->base_status.dmotion = (unsigned short)val;
break;
case UDT_LIFETIME:
ed->elemental.life_time = val;
break;
default:
- ShowWarning("buildin_setunitdata: Invalid data type '%s' for elemental unit.\n", udtype);
+ ShowWarning("buildin_setunitdata: Invalid data type '%d' for elemental unit.\n", type);
script_pushint(st, 0);
return false;
}
- clif->elemental_info(ed->master);
- }
+
+ clif->elemental_info(ed->master); // Send Elemental data.
break;
- case BL_NPC:
- {
+ }
+ case BL_NPC: {
struct npc_data *nd = BL_UCAST(BL_NPC, bl);
- nullpo_retr(false, nd);
+ if (nd == NULL) {
+ ShowError("buildin_setunitdata: Can't find NPC for GID %d!\n", script_getnum(st, 2));
+ script_pushint(st, 0);
+ return false;
+ }
- switch (type)
- {
+ switch (type) {
case UDT_SIZE:
- nd->status.size = (unsigned char) val;
+ nd->status.size = (unsigned char)val;
break;
case UDT_LEVEL:
- nd->level = (unsigned short) val;
+ nd->level = (unsigned short)val;
break;
case UDT_HP:
- status->set_hp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_hp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXHP:
- nd->status.max_hp = (unsigned int) val;
+ nd->status.max_hp = (unsigned int)val;
break;
case UDT_SP:
- status->set_sp(bl, (unsigned int) val, STATUS_HEAL_DEFAULT);
+ status->set_sp(bl, (unsigned int)val, STATUS_HEAL_DEFAULT);
break;
case UDT_MAXSP:
- nd->status.max_sp = (unsigned int) val;
+ nd->status.max_sp = (unsigned int)val;
break;
case UDT_MAPIDXY:
- unit->warp(bl, (short) val, (short) val2, (short) val3, CLR_TELEPORT);
+ unit->warp(bl, (short)val, (short)val2, (short)val3, CLR_TELEPORT);
break;
case UDT_WALKTOXY:
- if (!unit->walktoxy(bl, (short) val, (short) val2, 2))
- unit->movepos(bl, (short) val, (short) val2, 0, 0);
+ if (unit->walk_toxy(bl, (short)val, (short)val2, 2) != 0)
+ unit->movepos(bl, (short)val, (short)val2, 0, 0);
break;
case UDT_CLASS:
- npc->setclass(nd, (short) val);
+ npc->setclass(nd, (short)val);
break;
case UDT_SPEED:
- nd->speed = (short) val;
+ nd->speed = (short)val;
status->calc_misc(bl, &nd->status, nd->level);
break;
case UDT_LOOKDIR:
- unit->setdir(bl, (unsigned char) val);
+ unit->set_dir(bl, (enum unit_dir)val);
break;
case UDT_STR:
- nd->status.str = (unsigned short) val;
+ nd->status.str = (unsigned short)val;
status->calc_misc(bl, &nd->status, nd->level);
break;
case UDT_AGI:
- nd->status.agi = (unsigned short) val;
+ nd->status.agi = (unsigned short)val;
status->calc_misc(bl, &nd->status, nd->level);
break;
case UDT_VIT:
- nd->status.vit = (unsigned short) val;
+ nd->status.vit = (unsigned short)val;
status->calc_misc(bl, &nd->status, nd->level);
break;
case UDT_INT:
- nd->status.int_ = (unsigned short) val;
+ nd->status.int_ = (unsigned short)val;
status->calc_misc(bl, &nd->status, nd->level);
break;
case UDT_DEX:
- nd->status.dex = (unsigned short) val;
+ nd->status.dex = (unsigned short)val;
status->calc_misc(bl, &nd->status, nd->level);
break;
case UDT_LUK:
- nd->status.luk = (unsigned short) val;
+ nd->status.luk = (unsigned short)val;
status->calc_misc(bl, &nd->status, nd->level);
break;
case UDT_STATPOINT:
- nd->stat_point = (unsigned short) val;
+ nd->stat_point = (unsigned short)val;
break;
case UDT_ATKRANGE:
- nd->status.rhw.range = (unsigned short) val;
+ nd->status.rhw.range = (unsigned short)val;
break;
case UDT_ATKMIN:
- nd->status.rhw.atk = (unsigned short) val;
+ nd->status.rhw.atk = (unsigned short)val;
break;
case UDT_ATKMAX:
- nd->status.rhw.atk2 = (unsigned short) val;
+ nd->status.rhw.atk2 = (unsigned short)val;
break;
case UDT_MATKMIN:
- nd->status.matk_min = (unsigned short) val;
+ nd->status.matk_min = (unsigned short)val;
break;
case UDT_MATKMAX:
- nd->status.matk_max = (unsigned short) val;
+ nd->status.matk_max = (unsigned short)val;
break;
case UDT_DEF:
- nd->status.def = (defType) val;
+ nd->status.def = (defType)val;
break;
case UDT_MDEF:
- nd->status.mdef = (defType) val;
+ nd->status.mdef = (defType)val;
break;
case UDT_HIT:
- nd->status.hit = (short) val;
+ nd->status.hit = (short)val;
break;
case UDT_FLEE:
- nd->status.flee = (short) val;
+ nd->status.flee = (short)val;
break;
case UDT_PDODGE:
- nd->status.flee2 = (short) val;
+ nd->status.flee2 = (short)val;
break;
case UDT_CRIT:
- nd->status.cri = (short) val;
+ nd->status.cri = (short)val;
break;
case UDT_RACE:
- nd->status.race = (unsigned char) val;
+ nd->status.race = (unsigned char)val;
break;
case UDT_ELETYPE:
- nd->status.def_ele = (unsigned char) val;
+ nd->status.def_ele = (unsigned char)val;
break;
case UDT_ELELEVEL:
- nd->status.ele_lv = (unsigned char) val;
+ nd->status.ele_lv = (unsigned char)val;
break;
case UDT_AMOTION:
- nd->status.amotion = (unsigned short) val;
+ nd->status.amotion = (unsigned short)val;
break;
case UDT_ADELAY:
- nd->status.adelay = (unsigned short) val;
+ nd->status.adelay = (unsigned short)val;
break;
case UDT_DMOTION:
- nd->status.dmotion = (unsigned short) val;
+ nd->status.dmotion = (unsigned short)val;
break;
case UDT_SEX:
nd->vd.sex = (char)val;
@@ -19730,19 +20598,21 @@ static BUILDIN(setunitdata)
clif->changelook(bl, LOOK_BODY2, val);
break;
default:
- ShowWarning("buildin_setunitdata: Invalid data type '%s' for NPC unit.\n", udtype);
+ ShowWarning("buildin_setunitdata: Invalid data type '%d' for NPC unit.\n", type);
script_pushint(st, 0);
return false;
}
- }
+
break;
+ }
default:
ShowError("buildin_setunitdata: Unknown object!\n");
script_pushint(st, 0);
return false;
- } // end of bl->type switch
+ } // End of bl->type switch.
script_pushint(st, 1);
+
return true;
}
@@ -19753,6 +20623,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)
{
@@ -19780,7 +20654,7 @@ static BUILDIN(getunitdata)
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");
@@ -19798,6 +20672,15 @@ static BUILDIN(getunitdata)
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);
@@ -19862,6 +20745,7 @@ static BUILDIN(getunitdata)
case UDT_AMOTION: script_pushint(st, md->status.amotion); break;
case UDT_ADELAY: script_pushint(st, md->status.adelay); break;
case UDT_DMOTION: script_pushint(st, md->status.dmotion); break;
+ case UDT_DAMAGE_TAKEN_RATE: script_pushint(st, md->dmg_taken_rate); break;
default:
ShowWarning("buildin_getunitdata: Invalid data type '%s' for Mob unit.\n", udtype);
script_pushint(st, -1);
@@ -20256,7 +21140,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;
}
@@ -20268,26 +21192,65 @@ 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);
+ if (unit->walk_toxy(bl, x, y, 0) == 0) // We'll use harder calculations.
+ script_pushint(st, 1);
+ else
+ script_pushint(st, 0);
+ }
+ else {
+ int target_id = script_getnum(st, 3);
+ script_pushint(st, unit->walktobl(bl, map->id2bl(target_id), 1, 1));
+ }
+
+ return true;
+}
+
+/**
+ * Checks if a unit is walking.
+ *
+ * Returns 1 if unit is walking, 0 if unit is not walking and -1 on error.
+ *
+ * @code{.herc}
+ * unitiswalking({<GID>});
+ * @endcode
+ *
+ **/
+static BUILDIN(unitiswalking)
+{
+ int gid = script_hasdata(st, 2) ? script_getnum(st, 2) : st->rid;
+ struct block_list *bl = map->id2bl(gid);
+
+ if (bl == NULL) {
+ ShowWarning("buildin_unitiswalking: Error in finding object for GID %d!\n", gid);
+ script_pushint(st, -1);
+ return false;
}
+ if (unit->bl2ud(bl) == NULL) {
+ ShowWarning("buildin_unitiswalking: Error in finding unit_data for GID %d!\n", gid);
+ script_pushint(st, -1);
+ return false;
+ }
+
+ script_pushint(st, unit->is_walking(bl));
+
return true;
}
@@ -20309,32 +21272,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);
}
@@ -20405,17 +21370,19 @@ static BUILDIN(unitattack)
/// unitstop <unit_id>;
static BUILDIN(unitstop)
{
- int unit_id;
- struct block_list* bl;
+ struct block_list *bl = map->id2bl(script_getnum(st, 2));
- unit_id = 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;
}
@@ -20520,7 +21487,10 @@ static BUILDIN(unitskilluseid)
} else {
status_calc_npc(nd, SCO_NONE);
}
+ } else if (bl->type == BL_PC) {
+ pc->autocast_clear(BL_UCAST(BL_PC, bl));
}
+
unit->skilluse_id(bl, target_id, skill_id, skill_lv);
}
@@ -20556,7 +21526,10 @@ static BUILDIN(unitskillusepos)
} else {
status_calc_npc(nd, SCO_NONE);
}
+ } else if (bl->type == BL_PC) {
+ pc->autocast_clear(BL_UCAST(BL_PC, bl));
}
+
unit->skilluse_pos(bl, skill_x, skill_y, skill_id, skill_lv);
}
@@ -21081,7 +22054,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);
@@ -21093,7 +22065,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;
}
@@ -21111,15 +22085,13 @@ static BUILDIN(setquestinfo)
return false;
}
- qi = &VECTOR_LAST(map->list[nd->bl.m].qi_data);
- if (qi == NULL) {
+ if (VECTOR_LENGTH(nd->qi_data) == 0) {
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;
- }
+
+ qi = &VECTOR_LAST(nd->qi_data);
+
switch (type) {
case QINFO_JOB:
{
@@ -21483,6 +22455,23 @@ static BUILDIN(achievement_progress)
return true;
}
+static BUILDIN(achievement_iscompleted)
+{
+ struct map_session_data *sd = script_hasdata(st, 3) ? map->id2sd(script_getnum(st, 3)) : script->rid2sd(st);
+ if (sd == NULL)
+ return false;
+
+ int aid = script_getnum(st, 2);
+ const struct achievement_data *ad = achievement->get(aid);
+ if (ad == NULL) {
+ ShowError("buildin_achievement_iscompleted: Invalid Achievement %d provided.\n", aid);
+ return false;
+ }
+
+ script_pushint(st, achievement->check_complete(sd, ad));
+ return true;
+}
+
/*==========================================
* BattleGround System
*------------------------------------------*/
@@ -21604,20 +22593,31 @@ static BUILDIN(bg_warp)
return true;
}
+/**
+ * Spawns a mob with allegiance to the given battle group.
+ *
+ * @code{.herc}
+ * bg_monster(<battle group>, "<map name>", <x>, <y>, "<name to show>", <mob id>{, "<event label>"});
+ * @endcode
+ *
+ **/
static BUILDIN(bg_monster)
{
- int class_ = 0, x = 0, y = 0, bg_id = 0;
- const char *str, *mapname, *evt="";
+ const char *event = "";
+
+ if (script_hasdata(st, 8)) {
+ event = script_getstr(st, 8);
+ script->check_event(st, event);
+ }
- bg_id = script_getnum(st,2);
- mapname = script_getstr(st,3);
- x = script_getnum(st,4);
- y = script_getnum(st,5);
- str = script_getstr(st,6);
- class_ = script_getnum(st,7);
- if( script_hasdata(st,8) ) evt = script_getstr(st,8);
- script->check_event(st, evt);
- script_pushint(st, mob->spawn_bg(mapname,x,y,str,class_,evt,bg_id));
+ const char *mapname = script_getstr(st, 3);
+ const char *name = script_getstr(st, 6);
+ const int bg_id = script_getnum(st, 2);
+ const int x = script_getnum(st, 4);
+ const int y = script_getnum(st, 5);
+ const int mob_id = script_getnum(st, 7);
+
+ script_pushint(st, mob->spawn_bg(mapname, x, y, name, mob_id, event, bg_id, st->oid));
return true;
}
@@ -21635,7 +22635,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;
}
@@ -22244,6 +23244,19 @@ static BUILDIN(setfont)
return true;
}
+static BUILDIN(getfont)
+{
+ struct map_session_data *sd = script->rid2sd(st);
+
+ if (sd == NULL) {
+ script_pushint(st, 0);
+ return true;
+ }
+
+ script_pushint(st, sd->status.font);
+ return true;
+}
+
static int buildin_mobuseskill_sub(struct block_list *bl, va_list ap)
{
struct mob_data *md = NULL;
@@ -22367,7 +23380,6 @@ static BUILDIN(progressbar_unit)
}
static BUILDIN(pushpc)
{
- uint8 dir;
int cells, dx, dy;
struct map_session_data* sd;
@@ -22376,14 +23388,14 @@ static BUILDIN(pushpc)
return true;
}
- dir = script_getnum(st,2);
- cells = script_getnum(st,3);
+ enum unit_dir dir = script_getnum(st, 2);
+ cells = script_getnum(st,3);
- if (dir > 7) {
+ if (dir >= UNIT_DIR_MAX) {
ShowWarning("buildin_pushpc: Invalid direction %d specified.\n", dir);
script->reportsrc(st);
- dir%= 8; // trim spin-over
+ dir %= UNIT_DIR_MAX; // trim spin-over
}
if(!cells)
@@ -22392,10 +23404,11 @@ static BUILDIN(pushpc)
}
else if(cells<0)
{// pushing backwards
- dir = (dir+4)%8; // turn around
- cells = -cells;
+ dir = unit_get_opposite_dir(dir);
+ cells = -cells;
}
+ Assert_retr(false, dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
dx = dirx[dir];
dy = diry[dir];
@@ -22570,7 +23583,7 @@ static BUILDIN(getcharip)
/* check if a character name is specified */
if (script_hasdata(st, 2)) {
if (script_isstringtype(st, 2)) {
- sd = map->nick2sd(script_getstr(st, 2));
+ sd = map->nick2sd(script_getstr(st, 2), false);
} else {
int id = script_getnum(st, 2);
sd = (map->id2sd(id) ? map->id2sd(id) : map->charid2sd(id));
@@ -23687,7 +24700,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;
}
}
@@ -23928,6 +24941,133 @@ static BUILDIN(openshop)
return true;
}
+static bool script_sellitemcurrency_add(struct npc_data *nd, struct script_state* st, int argIndex)
+{
+ nullpo_retr(false, nd);
+ nullpo_retr(false, st);
+
+ if (!script_hasdata(st, argIndex + 1))
+ return false;
+
+ int id = script_getnum(st, argIndex);
+ struct item_data *it;
+ if (!(it = itemdb->exists(id))) {
+ ShowWarning("buildin_sellitemcurrency: unknown item id '%d'!\n", id);
+ return false;
+ }
+ int qty = 0;
+ if ((qty = script_getnum(st, argIndex + 1)) <= 0) {
+ ShowError("buildin_sellitemcurrency: invalid 'qty'!\n");
+ return false;
+ }
+ int refine_level = -1;
+ if (script_hasdata(st, argIndex + 2)) {
+ refine_level = script_getnum(st, argIndex + 2);
+ }
+ int items = nd->u.scr.shop->items;
+ if (nd->u.scr.shop == NULL || items == 0) {
+ ShowWarning("buildin_sellitemcurrency: shop not have items!\n");
+ return false;
+ }
+ if (nd->u.scr.shop->shop_last_index >= items || nd->u.scr.shop->shop_last_index < 0) {
+ ShowWarning("buildin_sellitemcurrency: wrong selected shop index!\n");
+ return false;
+ }
+
+ struct npc_item_list *item_list = &nd->u.scr.shop->item[nd->u.scr.shop->shop_last_index];
+ int index = item_list->value2;
+ if (item_list->currency == NULL) {
+ CREATE(item_list->currency, struct npc_barter_currency, 1);
+ item_list->value2 ++;
+ } else {
+ RECREATE(item_list->currency, struct npc_barter_currency, ++item_list->value2);
+ }
+ struct npc_barter_currency *currency = &item_list->currency[index];
+ currency->nameid = id;
+ currency->refine = refine_level;
+ currency->amount = qty;
+ return true;
+}
+
+/**
+ * @call sellitemcurrency <Item_ID>,qty{,refine}};
+ *
+ * adds <Item_ID> to last item in expanded barter shop
+ **/
+static BUILDIN(sellitemcurrency)
+{
+ struct npc_data *nd;
+ if ((nd = map->id2nd(st->oid)) == NULL) {
+ ShowWarning("buildin_sellitemcurrency: trying to run without a proper NPC!\n");
+ return false;
+ }
+ if (nd->u.scr.shop == NULL || nd->u.scr.shop->type != NST_EXPANDED_BARTER) {
+ ShowWarning("buildin_sellitemcurrency: this command can be used only with expanded barter shops!\n");
+ return false;
+ }
+
+ script->sellitemcurrency_add(nd, st, 2);
+ return true;
+}
+
+/**
+ * @call endsellitem;
+ *
+ * complete sell item in expanded barter shop (NST_EXPANDED_BARTER)
+ **/
+static BUILDIN(endsellitem)
+{
+ struct npc_data *nd;
+ if ((nd = map->id2nd(st->oid)) == NULL) {
+ ShowWarning("buildin_endsellitem: trying to run without a proper NPC!\n");
+ return false;
+ }
+ if (nd->u.scr.shop == NULL || nd->u.scr.shop->type != NST_EXPANDED_BARTER) {
+ ShowWarning("buildin_endsellitem: this command can be used only with expanded barter shops!\n");
+ return false;
+ }
+
+ int newIndex = nd->u.scr.shop->shop_last_index;
+ const struct npc_item_list *const newItem = &nd->u.scr.shop->item[newIndex];
+ int i = 0;
+ for (i = 0; i < nd->u.scr.shop->items - 1; i++) {
+ const struct npc_item_list *const item = &nd->u.scr.shop->item[i];
+ if (item->nameid != newItem->nameid || item->value != newItem->value)
+ continue;
+ if (item->value2 != newItem->value2)
+ continue;
+ bool found = true;
+ for (int k = 0; k < item->value2; k ++) {
+ struct npc_barter_currency *currency = &item->currency[k];
+ struct npc_barter_currency *newCurrency = &newItem->currency[k];
+ if (currency->nameid != newCurrency->nameid ||
+ currency->amount != newCurrency->amount ||
+ currency->refine != newCurrency->refine) {
+ found = false;
+ break;
+ }
+ }
+ if (!found)
+ continue;
+ break;
+ }
+
+ if (i != nd->u.scr.shop->items - 1) {
+ if (nd->u.scr.shop->item[i].qty != -1) {
+ nd->u.scr.shop->item[i].qty += nd->u.scr.shop->item[newIndex].qty;
+ npc->expanded_barter_tosql(nd, i);
+ }
+ nd->u.scr.shop->shop_last_index --;
+ nd->u.scr.shop->items--;
+ if (nd->u.scr.shop->item[newIndex].currency != NULL) {
+ aFree(nd->u.scr.shop->item[newIndex].currency);
+ nd->u.scr.shop->item[newIndex].currency = NULL;
+ }
+ }
+
+ return true;
+}
+
/**
* @call sellitem <Item_ID>,{,price{,qty}};
*
@@ -23951,30 +25091,65 @@ static BUILDIN(sellitem)
return false;
}
- if (!nd->u.scr.shop) {
+ const bool have_shop = (nd->u.scr.shop != NULL);
+ if (!have_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);
+ }
+
+ 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_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 if (nd->u.scr.shop->type == NST_EXPANDED_BARTER) {
+ if (!script_hasdata(st, 4)) {
+ ShowError("buildin_sellitem: invalid number of parameters for expanded barter type shop!\n");
+ return false;
+ }
+ if ((qty = script_getnum(st, 4)) <= 0 && qty != -1) {
+ ShowError("buildin_sellitem: invalid 'qty' for expanded barter type shop!\n");
+ return false;
}
- } else {/* no need to run this if its empty */
+ }
+
+ if (have_shop) {
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 if (nd->u.scr.shop->type == NST_EXPANDED_BARTER) {
+ 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)
+ continue;
+ if (item->value2 != (script_lastdata(st) - 4) / 3)
+ continue;
+ bool found = true;
+ for (int k = 0; k < item->value2; k ++) {
+ const int scriptOffset = k * 3 + 5;
+ struct npc_barter_currency *currency = &item->currency[k];
+ if (currency->nameid != script_getnum(st, scriptOffset) ||
+ currency->amount != script_getnum(st, scriptOffset + 1) ||
+ currency->refine != script_getnum(st, scriptOffset + 2)) {
+ found = false;
+ break;
+ }
+ }
+ if (!found)
+ continue;
+ break;
+ }
} else {
for (i = 0; i < nd->u.scr.shop->items; i++) {
if (nd->u.scr.shop->item[i].nameid == id) {
@@ -23984,12 +25159,6 @@ static BUILDIN(sellitem)
}
}
- 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");
@@ -24010,7 +25179,8 @@ static BUILDIN(sellitem)
}
}
- if (i != nd->u.scr.shop->items) {
+ bool foundInShop = (i != nd->u.scr.shop->items);
+ if (foundInShop) {
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 */
@@ -24036,8 +25206,84 @@ static BUILDIN(sellitem)
nd->u.scr.shop->item[i].value = value;
nd->u.scr.shop->item[i].value2 = value2;
nd->u.scr.shop->item[i].qty = qty;
+ nd->u.scr.shop->item[i].currency = NULL;
+ }
+ nd->u.scr.shop->shop_last_index = i;
+
+ if (!foundInShop) {
+ for (int k = 5; k <= script_lastdata(st); k += 3) {
+ script->sellitemcurrency_add(nd, st, k);
+ }
}
+ if (foundInShop) {
+ if (nd->u.scr.shop->type == NST_EXPANDED_BARTER) { /* has been manually updated, make it reflect on sql */
+ npc->expanded_barter_tosql(nd, i);
+ }
+ }
+ return true;
+}
+
+/**
+ * @call startsellitem <Item_ID>,{,price{,qty}};
+ *
+ * Starts adding item into expanded barter shop (NST_EXPANDED_BARTER)
+ **/
+static BUILDIN(startsellitem)
+{
+ struct npc_data *nd;
+ struct item_data *it;
+ int i = 0, id = script_getnum(st,2);
+ int value2 = 0;
+ int qty = 0;
+
+ if (!(nd = map->id2nd(st->oid))) {
+ ShowWarning("buildin_startsellitem: trying to run without a proper NPC!\n");
+ return false;
+ } else if (!(it = itemdb->exists(id))) {
+ ShowWarning("buildin_startsellitem: unknown item id '%d'!\n", id);
+ return false;
+ }
+
+ const bool have_shop = (nd->u.scr.shop != NULL);
+ if (!have_shop) {
+ npc->trader_update(nd->src_id ? nd->src_id : nd->bl.id);
+ }
+
+ if (nd->u.scr.shop->type != NST_EXPANDED_BARTER) {
+ ShowWarning("script_startsellitem: can works only for NST_EXPANDED_BARTER shops");
+ return false;
+ }
+
+ int value = script_hasdata(st, 3) ? script_getnum(st, 3) : it->value_buy;
+ if (value == -1)
+ value = it->value_buy;
+
+ if ((qty = script_getnum(st, 4)) <= 0 && qty != -1) {
+ ShowError("buildin_startsellitem: invalid 'qty' for expanded barter type shop!\n");
+ return false;
+ }
+
+ 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) {
+ ShowWarning("buildin_startsellitem: Can't add %s (%s/%s), shop list is full!\n", it->name, nd->exname, nd->path);
+ return false;
+ }
+ i = nd->u.scr.shop->items;
+ RECREATE(nd->u.scr.shop->item, struct npc_item_list, ++nd->u.scr.shop->items);
+ }
+
+ 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;
+ nd->u.scr.shop->item[i].currency = NULL;
+ nd->u.scr.shop->shop_last_index = i;
return true;
}
@@ -24071,6 +25317,18 @@ static BUILDIN(stopselling)
break;
}
}
+ } else if (nd->u.scr.shop->type == NST_EXPANDED_BARTER) {
+ if (!script_hasdata(st, 3)) {
+ ShowError("buildin_stopselling: called with wrong number of arguments\n");
+ return false;
+ }
+ const int price = script_getnum(st, 3);
+ 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 == price) {
+ break;
+ }
+ }
} else {
for (i = 0; i < nd->u.scr.shop->items; i++) {
if (nd->u.scr.shop->item[i].nameid == id) {
@@ -24084,13 +25342,19 @@ static BUILDIN(stopselling)
if (nd->u.scr.shop->type == NST_MARKET)
npc->market_delfromsql(nd, i);
- if (nd->u.scr.shop->type == NST_BARTER)
+ else if (nd->u.scr.shop->type == NST_BARTER)
npc->barter_delfromsql(nd, i);
+ else if (nd->u.scr.shop->type == NST_EXPANDED_BARTER)
+ npc->expanded_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;
+ if (nd->u.scr.shop->item[i].currency != NULL) {
+ aFree(nd->u.scr.shop->item[i].currency);
+ nd->u.scr.shop->item[i].currency = NULL;
+ }
for (i = 0, cursor = 0; i < nd->u.scr.shop->items; i++) {
if (nd->u.scr.shop->item[i].nameid == 0)
@@ -24101,14 +25365,18 @@ static BUILDIN(stopselling)
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;
+ nd->u.scr.shop->item[cursor].currency = nd->u.scr.shop->item[i].currency;
}
cursor++;
}
+ nd->u.scr.shop->items--;
+ nd->u.scr.shop->item[nd->u.scr.shop->items].currency = NULL;
script_pushint(st, 1);
- } else
+ } else {
script_pushint(st, 0);
+ }
return true;
}
@@ -24167,6 +25435,7 @@ static BUILDIN(tradertype)
}
npc->market_delfromsql(nd, INT_MAX);
npc->barter_delfromsql(nd, INT_MAX);
+ npc->expanded_barter_delfromsql(nd, INT_MAX);
}
#if PACKETVER < 20131223
@@ -24181,6 +25450,12 @@ static BUILDIN(tradertype)
script->reportsrc(st);
}
#endif
+#if PACKETVER_MAIN_NUM < 20191120 && PACKETVER_RE_NUM < 20191106 && PACKETVER_ZERO_NUM < 20191127
+ if (type == NST_EXPANDED_BARTER) {
+ ShowWarning("buildin_tradertype: NST_EXPANDED_BARTER is only available with PACKETVER_ZERO_NUM 20191127 or PACKETVER_MAIN_NUM 20191120 or PACKETVER_RE_NUM 20191106 or newer!\n");
+ script->reportsrc(st);
+ }
+#endif
if( nd->u.scr.shop )
nd->u.scr.shop->type = type;
@@ -24224,8 +25499,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 && 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);
+ } else if (nd->u.scr.shop->type != NST_MARKET && nd->u.scr.shop->type != NST_BARTER && nd->u.scr.shop->type != NST_EXPANDED_BARTER) {
+ ShowWarning("buildin_shopcount(%d): trying to use on a non-NST_MARKET and non-NST_BARTER and non-NST_EXPANDED_BARTER shop!\n",id);
return false;
}
@@ -24326,7 +25601,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);
@@ -24338,14 +25613,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;
}
@@ -24455,6 +25730,100 @@ 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;
+}
+
+static BUILDIN(setfavoriteitemidx)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ int idx = script_getnum(st, 2);
+ int value = script_getnum(st, 3);
+
+ if (sd == NULL) {
+ ShowError("buildin_setfavoriteitemidx: No player attached.\n");
+ return false;
+ }
+
+ if (idx < 0 || idx >= sd->status.inventorySize) {
+ ShowError("buildin_setfavoriteitemidx: Invalid inventory index %d (min: %d, max: %d).\n", idx, 0, (sd->status.inventorySize - 1));
+ return false;
+ } else if (sd->inventory_data[idx] == NULL || sd->inventory_data[idx]->nameid <= 0) {
+ ShowWarning("buildin_setfavoriteitemidx: Current inventory index %d has no data.\n", idx);
+ return false;
+ } else if (sd->status.inventory[idx].equip > 0) {
+ ShowWarning("buildin_setfavoriteitemidx: Cant change favorite flag of an equipped item.\n");
+ return false;
+ } else {
+ sd->status.inventory[idx].favorite = cap_value(value, 0, 1);
+ clif->favorite_item(sd, idx);
+ }
+
+ return true;
+}
+
+static BUILDIN(autofavoriteitem)
+{
+ int nameid = script_getnum(st, 2);
+ int flag = script_getnum(st, 3);
+ struct item_data *item_data;
+
+ if ((item_data = itemdb->exists(nameid)) == NULL) {
+ ShowError("buildin_autofavoriteitem: Invalid item '%d'.\n", nameid);
+ return false;
+ }
+
+ item_data->flag.auto_favorite = cap_value(flag, 0, 1);
+ return true;
+}
+
/** place holder for the translation macro **/
static BUILDIN(_)
{
@@ -24810,7 +26179,7 @@ static BUILDIN(clan_master)
}
nd->clan_id = clan_id;
- clif->sc_load(&nd->bl, nd->bl.id, AREA, status->dbs->IconChangeTable[SC_CLAN_INFO], 0, clan_id, 0);
+ clif->sc_load(&nd->bl, nd->bl.id, AREA, status->get_sc_icon(SC_CLAN_INFO), 0, clan_id, 0);
script_pushint(st, true);
return true;
@@ -25007,7 +26376,7 @@ static BUILDIN(enchantitem)
}
// send ack to inventory expand request
-static BUILDIN(expandInventoryAck)
+static BUILDIN(expandinventoryack)
{
struct map_session_data *sd = script_rid2sd(st);
if (sd == NULL)
@@ -25021,7 +26390,7 @@ static BUILDIN(expandInventoryAck)
}
// send final ack to inventory expand request
-static BUILDIN(expandInventoryResult)
+static BUILDIN(expandinventoryresult)
{
struct map_session_data *sd = script_rid2sd(st);
if (sd == NULL)
@@ -25031,7 +26400,7 @@ static BUILDIN(expandInventoryResult)
}
// adjust player inventory size to given value positive or negative
-static BUILDIN(expandInventory)
+static BUILDIN(expandinventory)
{
struct map_session_data *sd = script_rid2sd(st);
if (sd == NULL)
@@ -25041,7 +26410,7 @@ static BUILDIN(expandInventory)
}
// return current player inventory size
-static BUILDIN(getInventorySize)
+static BUILDIN(getinventorysize)
{
struct map_session_data *sd = script_rid2sd(st);
if (sd == NULL)
@@ -25050,6 +26419,155 @@ static BUILDIN(getInventorySize)
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;
+}
+
+/**
+ * identify(<item id>)
+ * Identifies the first unidentified <item id> item on player's inventory.
+ * Returns -2 on error, -1 if no item to identify was found, identified idx otherwise.
+ */
+static BUILDIN(identify)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+
+ if (sd == NULL) {
+ script_pushint(st, -2);
+ return true;
+ }
+
+ int itemid = script_getnum(st, 2);
+ if (itemdb->exists(itemid) == NULL) {
+ ShowError("buildin_identify: Invalid item ID (%d)\n", itemid);
+ script_pushint(st, -2);
+ return true;
+ }
+
+ int idx = -1;
+ ARR_FIND(0, sd->status.inventorySize, idx, (sd->status.inventory[idx].nameid == itemid && sd->status.inventory[idx].identify == 0));
+
+ if (idx < 0 || idx >= sd->status.inventorySize) {
+ script_pushint(st, -1);
+ return true;
+ }
+
+ sd->status.inventory[idx].identify = 1;
+ clif->item_identified(sd, idx, 0);
+ script_pushint(st, idx);
+
+ return true;
+}
+
+/**
+ * identifyidx(idx)
+ * Identifies item at idx.
+ * Returns true if item is identified, false otherwise.
+ */
+static BUILDIN(identifyidx)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+
+ if (sd == NULL) {
+ script_pushint(st, false);
+ return true;
+ }
+
+ int idx = script_getnum(st, 2);
+ if (idx < 0 || idx >= sd->status.inventorySize) {
+ ShowError("buildin_identifyidx: Invalid inventory index (%d), expected a value between 0 and %d\n", idx, sd->status.inventorySize);
+ script_pushint(st, false);
+ return true;
+ }
+
+ if (sd->status.inventory[idx].nameid <= 0 || sd->status.inventory[idx].identify != 0) {
+ script_pushint(st, false);
+ return true;
+ }
+
+ sd->status.inventory[idx].identify = 1;
+ clif->item_identified(sd, idx, 0);
+ script_pushint(st, true);
+
+ return true;
+}
+
+static BUILDIN(openlapineddukddakboxui)
+{
+ struct map_session_data *sd = script_rid2sd(st);
+ if (sd == NULL)
+ return false;
+ const int item_id = script_getnum(st, 2);
+ struct item_data *it = itemdb->exists(item_id);
+ if (it == NULL) {
+ ShowError("buildin_openlapineddukddakboxui: Item %d is not valid\n", item_id);
+ script->reportfunc(st);
+ script->reportsrc(st);
+ script_pushint(st, false);
+ return true;
+ }
+ clif->lapineDdukDdak_open(sd, item_id);
+ script_pushint(st, true);
+ return true;
+}
+
+// Reset 'Feeling' maps.
+BUILDIN(resetfeel)
+{
+ struct map_session_data *sd;
+
+ if (script_hasdata(st, 2))
+ sd = script->id2sd(st, script_getnum(st, 2));
+ else
+ sd = script->rid2sd(st);
+
+ if (sd != NULL)
+ pc->resetfeel(sd);
+
+ return true;
+}
+
+// Reset hatred target marks.
+BUILDIN(resethate)
+{
+ struct map_session_data *sd;
+
+ if (script_hasdata(st, 2))
+ sd = script->id2sd(st, script_getnum(st, 2));
+ else
+ sd = script->rid2sd(st);
+
+ if (sd != NULL)
+ pc->resethate(sd);
+
+ return true;
+}
+
/**
* Adds a built-in script function.
*
@@ -25199,6 +26717,52 @@ static void script_run_item_unequip_script(struct map_session_data *sd, struct i
script->current_item_id = 0;
}
+static void script_run_item_rental_start_script(struct map_session_data *sd, struct item_data *data, int oid) __attribute__((nonnull(1, 2)));
+
+/**
+ * Run item rental start script
+ * @param sd player session data. Must be correct and checked before.
+ * @param data rental item data. Must be correct and checked before.
+ * @param oid npc id. Can be also 0 or fake npc id.
+ **/
+static void script_run_item_rental_start_script(struct map_session_data *sd, struct item_data *data, int oid)
+{
+ script->current_item_id = data->nameid;
+ script->run(data->rental_start_script, 0, sd->bl.id, oid);
+ script->current_item_id = 0;
+}
+
+static void script_run_item_rental_end_script(struct map_session_data *sd, struct item_data *data, int oid) __attribute__((nonnull(1, 2)));
+
+/**
+* Run item rental end script
+* @param sd player session data. Must be correct and checked before.
+* @param data rental item data. Must be correct and checked before.
+* @param oid npc id. Can be also 0 or fake npc id.
+**/
+static void script_run_item_rental_end_script(struct map_session_data *sd, struct item_data *data, int oid)
+{
+ script->current_item_id = data->nameid;
+ script->run(data->rental_end_script, 0, sd->bl.id, oid);
+ script->current_item_id = 0;
+}
+
+static void script_run_item_lapineddukddak_script(struct map_session_data *sd, struct item_data *data, int oid) __attribute__((nonnull (1, 2)));
+
+/**
+ * Run item lapineddukddak script for item.
+ *
+ * @param sd player session data. Must be correct and checked before.
+ * @param data unequipped item data. Must be correct and checked before.
+ * @param oid npc id. Can be also 0 or fake npc id.
+ */
+static void script_run_item_lapineddukddak_script(struct map_session_data *sd, struct item_data *data, int oid)
+{
+ script->current_item_id = data->nameid;
+ script->run(data->lapineddukddak->script, 0, sd->bl.id, oid);
+ script->current_item_id = 0;
+}
+
#define BUILDIN_DEF(x,args) { buildin_ ## x , #x , args, false }
#define BUILDIN_DEF2(x,x2,args) { buildin_ ## x , x2 , args, false }
#define BUILDIN_DEF_DEPRECATED(x,args) { buildin_ ## x , #x , args, true }
@@ -25214,6 +26778,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(mes, "?"),
BUILDIN_DEF(mesf, "s*"),
BUILDIN_DEF(next,""),
+ BUILDIN_DEF(mesclear,""),
BUILDIN_DEF(close,""),
BUILDIN_DEF(close2,""),
BUILDIN_DEF(menu,"sl*"),
@@ -25231,8 +26796,8 @@ static void script_parse_builtin(void)
BUILDIN_DEF(warp,"sii?"),
BUILDIN_DEF(areawarp,"siiiisii??"),
BUILDIN_DEF(warpchar,"siii"), // [LuzZza]
- BUILDIN_DEF(warpparty,"siii??"), // [Fredzilla] [Paradox924X] [Jedzkie] [Dastgir]
- BUILDIN_DEF(warpguild,"siii?"), // [Fredzilla]
+ BUILDIN_DEF(warpparty,"siii???"), // [Fredzilla] [Paradox924X] [Jedzkie] [Dastgir]
+ BUILDIN_DEF(warpguild,"siii??"), // [Fredzilla]
BUILDIN_DEF(setlook,"ii"),
BUILDIN_DEF(changelook,"ii"), // Simulates but don't Store it
BUILDIN_DEF2(__setr,"set","rv"),
@@ -25252,6 +26817,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(makeitem2,"viiiiiiii????"),
BUILDIN_DEF(delitem,"vi?"),
BUILDIN_DEF(delitem2,"viiiiiiii?"),
+ BUILDIN_DEF(delitemidx, "i??"),
BUILDIN_DEF2(enableitemuse,"enable_items",""),
BUILDIN_DEF2(disableitemuse,"disable_items",""),
BUILDIN_DEF(cutin,"si"),
@@ -25272,10 +26838,12 @@ static void script_parse_builtin(void)
BUILDIN_DEF(getpartyname,"i"),
BUILDIN_DEF(getpartymember,"i?"),
BUILDIN_DEF(getpartyleader,"i?"),
- BUILDIN_DEF(getguildname,"i"),
- BUILDIN_DEF(getguildmaster,"i"),
- BUILDIN_DEF(getguildmasterid,"i"),
+ BUILDIN_DEF_DEPRECATED(getguildname,"i"),
+ BUILDIN_DEF_DEPRECATED(getguildmaster,"i"),
+ BUILDIN_DEF_DEPRECATED(getguildmasterid,"i"),
BUILDIN_DEF(getguildmember,"i?"),
+ BUILDIN_DEF(getguildinfo,"i?"),
+ BUILDIN_DEF(getguildonline, "i?"),
BUILDIN_DEF(strcharinfo,"i??"),
BUILDIN_DEF(strnpcinfo,"i??"),
BUILDIN_DEF(charid2rid,"i"),
@@ -25288,7 +26856,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(getequipisequiped,"i"),
BUILDIN_DEF(getequipisenableref,"i"),
BUILDIN_DEF(getequipisidentify,"i"),
- BUILDIN_DEF(getequiprefinerycnt,"i"),
+ BUILDIN_DEF(getequiprefinerycnt,"i*"),
BUILDIN_DEF(getequipweaponlv,"i"),
BUILDIN_DEF(getequippercentrefinery,"i?"),
BUILDIN_DEF(successrefitem,"i?"),
@@ -25296,7 +26864,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(needed_status_point, "ii"),
BUILDIN_DEF(bonus,"iv"),
BUILDIN_DEF2(bonus,"bonus2","ivi"),
BUILDIN_DEF2(bonus,"bonus3","ivii"),
@@ -25321,13 +26889,13 @@ static void script_parse_builtin(void)
BUILDIN_DEF(checkcart,""),
BUILDIN_DEF(setfalcon,"?"),
BUILDIN_DEF(checkfalcon,""),
- BUILDIN_DEF(setmount,"?"),
+ BUILDIN_DEF(setmount,"??"),
BUILDIN_DEF(checkmount,""),
BUILDIN_DEF(checkwug,""),
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?"),
@@ -25338,6 +26906,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"),
@@ -25354,6 +26923,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?????"),
@@ -25366,18 +26936,23 @@ static void script_parse_builtin(void)
BUILDIN_DEF(disablenpc,"s"),
BUILDIN_DEF(hideoffnpc,"s"),
BUILDIN_DEF(hideonnpc,"s"),
+ BUILDIN_DEF(cloakonnpc,"s?"),
+ BUILDIN_DEF(cloakoffnpc,"s?"),
BUILDIN_DEF(sc_start,"iii???"),
BUILDIN_DEF2(sc_start,"sc_start2","iiii???"),
BUILDIN_DEF2(sc_start,"sc_start4","iiiiii???"),
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"),
BUILDIN_DEF(resetstatus,""),
BUILDIN_DEF(resetskill,""),
+ BUILDIN_DEF(resetfeel, "?"),
+ BUILDIN_DEF(resethate, "?"),
BUILDIN_DEF(skillpointcount,""),
BUILDIN_DEF(changebase,"i?"),
BUILDIN_DEF(changesex,""),
@@ -25448,6 +27023,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(specialeffectnum,"iii???"), // npc skill effect with num [4144]
BUILDIN_DEF(removespecialeffect,"i???"),
BUILDIN_DEF_DEPRECATED(specialeffect2,"i??"), // skill effect on players[Valaris]
BUILDIN_DEF(nude,""), // nude command [Valaris]
@@ -25524,7 +27100,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(setnpcdisplay,"sv??"),
BUILDIN_DEF(compare,"ss"), // Lordalfa - To bring strstr to scripting Engine.
BUILDIN_DEF(strcmp,"ss"),
- BUILDIN_DEF(getiteminfo,"ii"), //[Lupus] returns Items Buy / sell Price, etc info
+ BUILDIN_DEF(getiteminfo,"vi"), //[Lupus] returns Items Buy / sell Price, etc info
BUILDIN_DEF(setiteminfo,"iii"), //[Lupus] set Items Buy / sell Price, etc info
BUILDIN_DEF(getequipcardid,"ii"), //[Lupus] returns CARD ID or other info from CARD slot N of equipped item
BUILDIN_DEF(getequippedoptioninfo, "i"),
@@ -25539,13 +27115,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*"),
@@ -25573,8 +27150,8 @@ static void script_parse_builtin(void)
BUILDIN_DEF(pcfollow,"ii"),
BUILDIN_DEF(pcstopfollow,"i"),
BUILDIN_DEF_DEPRECATED(pcblockmove,"ii"), // Deprecated 2018-05-04
- BUILDIN_DEF(setpcblock, "ii"),
- BUILDIN_DEF(checkpcblock, ""),
+ BUILDIN_DEF(setpcblock, "ii?"),
+ BUILDIN_DEF(checkpcblock, "?"),
// <--- [zBuffer] List of player cont commands
// [zBuffer] List of mob control commands --->
BUILDIN_DEF(getunittype,"i"),
@@ -25583,7 +27160,10 @@ 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(unitiswalking, "?"),
BUILDIN_DEF(unitkill,"i"),
BUILDIN_DEF(unitwarp,"isii"),
BUILDIN_DEF(unitattack,"iv?"),
@@ -25625,6 +27205,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(mercenary_set_faith,"ii"),
BUILDIN_DEF(readbook,"ii"),
BUILDIN_DEF(setfont,"i"),
+ BUILDIN_DEF(getfont, ""),
BUILDIN_DEF(areamobuseskill,"siiiiviiiii"),
BUILDIN_DEF(progressbar,"si"),
BUILDIN_DEF(progressbar_unit,"si?"),
@@ -25640,6 +27221,7 @@ static void script_parse_builtin(void)
BUILDIN_DEF(agitcheck2,""),
// Achievements [Smokexyz/Hercules]
BUILDIN_DEF(achievement_progress, "iiii?"),
+ BUILDIN_DEF(achievement_iscompleted, "i?"),
// BattleGround
BUILDIN_DEF(waitingroom2bg,"siiss?"),
BUILDIN_DEF(waitingroom2bg_single,"isiis"),
@@ -25751,7 +27333,10 @@ static void script_parse_builtin(void)
/* New Shop Support */
BUILDIN_DEF(openshop,"?"),
- BUILDIN_DEF(sellitem,"i???"),
+ BUILDIN_DEF(sellitem, "i???*"),
+ BUILDIN_DEF(sellitemcurrency, "ii?"),
+ BUILDIN_DEF(startsellitem, "iii"),
+ BUILDIN_DEF(endsellitem, ""),
BUILDIN_DEF(stopselling,"i??"),
BUILDIN_DEF(setcurrency,"i?"),
BUILDIN_DEF(tradertype,"i"),
@@ -25769,7 +27354,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??"),
@@ -25792,10 +27377,19 @@ static void script_parse_builtin(void)
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(expandinventoryack, "i?"),
+ BUILDIN_DEF(expandinventoryresult, "i"),
+ BUILDIN_DEF(expandinventory, "i"),
+ BUILDIN_DEF(getinventorysize, ""),
+
+ BUILDIN_DEF(closeroulette, ""),
+ BUILDIN_DEF(openrefineryui, ""),
+ BUILDIN_DEF(setfavoriteitemidx, "ii"),
+ BUILDIN_DEF(autofavoriteitem, "ii"),
+
+ BUILDIN_DEF(identify, "i"),
+ BUILDIN_DEF(identifyidx, "i"),
+ BUILDIN_DEF(openlapineddukddakboxui, "i"),
};
int i, len = ARRAYLENGTH(BUILDIN);
RECREATE(script->buildin, char *, script->buildin_count + len); // Pre-alloc to speed up
@@ -25843,8 +27437,12 @@ static void script_hardcoded_constants(void)
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);
@@ -26024,6 +27622,7 @@ static void script_hardcoded_constants(void)
script->set_constant("PERM_DISABLE_STORE", PC_PERM_DISABLE_STORE, false, false);
script->set_constant("PERM_DISABLE_EXP", PC_PERM_DISABLE_EXP, false, false);
script->set_constant("PERM_DISABLE_SKILL_USAGE", PC_PERM_DISABLE_SKILL_USAGE, false, false);
+ script->set_constant("PERM_BYPASS_NOSTORAGE", PC_PERM_BYPASS_NOSTORAGE, false, false);
script->constdb_comment("Data types");
script->set_constant("DATATYPE_NIL", DATATYPE_NIL, false, false);
@@ -26095,6 +27694,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);
@@ -26115,6 +27723,75 @@ static void script_hardcoded_constants(void)
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->set_constant("ITEMINFO_ELV_MAX", ITEMINFO_ELV_MAX, false, false);
+ script->set_constant("ITEMINFO_DROPEFFECT_MODE", ITEMINFO_DROPEFFECT_MODE, false, false);
+ script->set_constant("ITEMINFO_DELAY", ITEMINFO_DELAY, false, false);
+ script->set_constant("ITEMINFO_CLASS_BASE_1", ITEMINFO_CLASS_BASE_1, false, false);
+ script->set_constant("ITEMINFO_CLASS_BASE_2", ITEMINFO_CLASS_BASE_2, false, false);
+ script->set_constant("ITEMINFO_CLASS_BASE_3", ITEMINFO_CLASS_BASE_3, false, false);
+ script->set_constant("ITEMINFO_CLASS_UPPER", ITEMINFO_CLASS_UPPER, false, false);
+ script->set_constant("ITEMINFO_FLAG_NO_REFINE", ITEMINFO_FLAG_NO_REFINE, false, false);
+ script->set_constant("ITEMINFO_FLAG_DELAY_CONSUME", ITEMINFO_FLAG_DELAY_CONSUME, false, false);
+ script->set_constant("ITEMINFO_FLAG_AUTOEQUIP", ITEMINFO_FLAG_AUTOEQUIP, false, false);
+ script->set_constant("ITEMINFO_FLAG_AUTO_FAVORITE", ITEMINFO_FLAG_AUTO_FAVORITE, false, false);
+ script->set_constant("ITEMINFO_FLAG_BUYINGSTORE", ITEMINFO_FLAG_BUYINGSTORE, false, false);
+ script->set_constant("ITEMINFO_FLAG_BINDONEQUIP", ITEMINFO_FLAG_BINDONEQUIP, false, false);
+ script->set_constant("ITEMINFO_FLAG_KEEPAFTERUSE", ITEMINFO_FLAG_KEEPAFTERUSE, false, false);
+ script->set_constant("ITEMINFO_FLAG_FORCE_SERIAL", ITEMINFO_FLAG_FORCE_SERIAL, false, false);
+ script->set_constant("ITEMINFO_FLAG_NO_OPTIONS", ITEMINFO_FLAG_NO_OPTIONS, false, false);
+ script->set_constant("ITEMINFO_FLAG_DROP_ANNOUNCE", ITEMINFO_FLAG_DROP_ANNOUNCE, false, false);
+ script->set_constant("ITEMINFO_FLAG_SHOWDROPEFFECT", ITEMINFO_FLAG_SHOWDROPEFFECT, false, false);
+ script->set_constant("ITEMINFO_STACK_AMOUNT", ITEMINFO_STACK_AMOUNT, false, false);
+ script->set_constant("ITEMINFO_STACK_FLAG", ITEMINFO_STACK_FLAG, false, false);
+ script->set_constant("ITEMINFO_ITEM_USAGE_FLAG", ITEMINFO_ITEM_USAGE_FLAG, false, false);
+ script->set_constant("ITEMINFO_ITEM_USAGE_OVERRIDE", ITEMINFO_ITEM_USAGE_OVERRIDE, false, false);
+ script->set_constant("ITEMINFO_GM_LV_TRADE_OVERRIDE", ITEMINFO_GM_LV_TRADE_OVERRIDE, false, false);
+ script->set_constant("ITEMINFO_ID", ITEMINFO_ID, false, false);
+ script->set_constant("ITEMINFO_AEGISNAME", ITEMINFO_AEGISNAME, false, false);
+ script->set_constant("ITEMINFO_NAME", ITEMINFO_NAME, 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("Pet hunger levels");
+ script->set_constant("PET_HUNGER_STARVING", PET_HUNGER_STARVING, false, false);
+ script->set_constant("PET_HUNGER_VERY_HUNGRY", PET_HUNGER_VERY_HUNGRY, false, false);
+ script->set_constant("PET_HUNGER_HUNGRY", PET_HUNGER_HUNGRY, false, false);
+ script->set_constant("PET_HUNGER_NEUTRAL", PET_HUNGER_NEUTRAL, false, false);
+ script->set_constant("PET_HUNGER_SATISFIED", PET_HUNGER_SATISFIED, false, false);
+ script->set_constant("PET_HUNGER_STUFFED", PET_HUNGER_STUFFED, false, false);
+
+ script->constdb_comment("Pet intimacy levels");
+ script->set_constant("PET_INTIMACY_NONE", PET_INTIMACY_NONE, false, false);
+ script->set_constant("PET_INTIMACY_AWKWARD", PET_INTIMACY_AWKWARD, false, false);
+ script->set_constant("PET_INTIMACY_SHY", PET_INTIMACY_SHY, false, false);
+ script->set_constant("PET_INTIMACY_NEUTRAL", PET_INTIMACY_NEUTRAL, false, false);
+ script->set_constant("PET_INTIMACY_CORDIAL", PET_INTIMACY_CORDIAL, false, false);
+ script->set_constant("PET_INTIMACY_LOYAL", PET_INTIMACY_LOYAL, false, false);
+ script->set_constant("PET_INTIMACY_MAX", PET_INTIMACY_MAX, false, false);
script->constdb_comment("monster skill states");
script->set_constant("MSS_ANY", MSS_ANY, false, false);
@@ -26180,6 +27857,7 @@ static void script_hardcoded_constants(void)
script->set_constant("PCBLOCK_IMMUNE", PCBLOCK_IMMUNE, false, false);
script->set_constant("PCBLOCK_SITSTAND", PCBLOCK_SITSTAND, false, false);
script->set_constant("PCBLOCK_COMMANDS", PCBLOCK_COMMANDS, false, false);
+ script->set_constant("PCBLOCK_NPC", PCBLOCK_NPC, false, false);
script->constdb_comment("private airship responds");
script->set_constant("P_AIRSHIP_NONE", P_AIRSHIP_NONE, false, false);
@@ -26239,6 +27917,108 @@ static void script_hardcoded_constants(void)
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->set_constant("NST_EXPANDED_BARTER", NST_EXPANDED_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->set_constant("UDT_DAMAGE_TAKEN_RATE", UDT_DAMAGE_TAKEN_RATE, false, false);
+
+ script->constdb_comment("getguildonline types");
+ script->set_constant("GUILD_ONLINE_ALL", GUILD_ONLINE_ALL, false, false);
+ script->set_constant("GUILD_ONLINE_VENDOR", GUILD_ONLINE_VENDOR, false, false);
+ script->set_constant("GUILD_ONLINE_NO_VENDOR", GUILD_ONLINE_NO_VENDOR, false, false);
+
+ script->constdb_comment("Siege Types");
+ script->set_constant("SIEGE_TYPE_FE", SIEGE_TYPE_FE, false, false);
+ script->set_constant("SIEGE_TYPE_SE", SIEGE_TYPE_SE, false, false);
+ script->set_constant("SIEGE_TYPE_TE", SIEGE_TYPE_TE, false, false);
+
+ script->constdb_comment("guildinfo types");
+ script->set_constant("GUILDINFO_NAME", GUILDINFO_NAME, false, false);
+ script->set_constant("GUILDINFO_ID", GUILDINFO_ID, false, false);
+ script->set_constant("GUILDINFO_LEVEL", GUILDINFO_LEVEL, false, false);
+ script->set_constant("GUILDINFO_ONLINE", GUILDINFO_ONLINE, false, false);
+ script->set_constant("GUILDINFO_AV_LEVEL", GUILDINFO_AV_LEVEL, false, false);
+ script->set_constant("GUILDINFO_MAX_MEMBERS", GUILDINFO_MAX_MEMBERS, false, false);
+ script->set_constant("GUILDINFO_EXP", GUILDINFO_EXP, false, false);
+ script->set_constant("GUILDINFO_NEXT_EXP", GUILDINFO_NEXT_EXP, false, false);
+ script->set_constant("GUILDINFO_SKILL_POINTS", GUILDINFO_SKILL_POINTS, false, false);
+ script->set_constant("GUILDINFO_MASTER_NAME", GUILDINFO_MASTER_NAME, false, false);
+ script->set_constant("GUILDINFO_MASTER_CID", GUILDINFO_MASTER_CID, false, false);
+
+ script->constdb_comment("madogear types");
+ script->set_constant("MADO_ROBOT", MADO_ROBOT, false, false);
+ script->set_constant("MADO_SUITE", MADO_SUITE, false, false);
+
+ script->constdb_comment("itemskill option flags");
+ script->set_constant("ISF_NONE", ISF_NONE, false, false);
+ script->set_constant("ISF_CHECKCONDITIONS", ISF_CHECKCONDITIONS, false, false);
+ script->set_constant("ISF_INSTANTCAST", ISF_INSTANTCAST, false, false);
+ script->set_constant("ISF_CASTONSELF", ISF_CASTONSELF, false, false);
+
+ script->constdb_comment("Item Bound Types");
+ script->set_constant("IBT_ANY", IBT_NONE, false, false); // for *checkbound()
+ script->set_constant("IBT_ACCOUNT", IBT_ACCOUNT, false, false);
+ script->set_constant("IBT_GUILD", IBT_GUILD, false, false);
+ script->set_constant("IBT_PARTY", IBT_PARTY, false, false);
+ script->set_constant("IBT_CHARACTER", IBT_CHARACTER, false, false);
script->constdb_comment("Renewal");
#ifdef RENEWAL
@@ -26277,7 +28057,6 @@ static void script_hardcoded_constants(void)
script->set_constant("RENEWAL_ASPD", 0, false, false);
#endif
script->constdb_comment(NULL);
-#include "constants.inc"
}
/**
@@ -26589,15 +28368,21 @@ void script_defaults(void)
script->string_dup = script_string_dup;
script->load_translations = script_load_translations;
script->load_translation_addstring = script_load_translation_addstring;
+ script->load_translation_file = script_load_translation_file;
script->load_translation = script_load_translation;
script->translation_db_destroyer = script_translation_db_destroyer;
script->clear_translations = script_clear_translations;
script->parse_cleanup_timer = script_parse_cleanup_timer;
script->add_language = script_add_language;
- script->get_translation_file_name = script_get_translation_file_name;
+ script->get_translation_dir_name = script_get_translation_dir_name;
script->parser_clean_leftovers = script_parser_clean_leftovers;
script->run_use_script = script_run_use_script;
script->run_item_equip_script = script_run_item_equip_script;
script->run_item_unequip_script = script_run_item_unequip_script;
+ script->run_item_rental_start_script = script_run_item_rental_start_script;
+ script->run_item_rental_end_script = script_run_item_rental_end_script;
+ script->run_item_lapineddukddak_script = script_run_item_lapineddukddak_script;
+
+ script->sellitemcurrency_add = script_sellitemcurrency_add;
}
diff --git a/src/map/script.h b/src/map/script.h
index 549ad3284..511497a66 100644
--- a/src/map/script.h
+++ b/src/map/script.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -343,7 +343,9 @@ enum {
MF_NOAUTOLOOT,
MF_NOVIEWID,
MF_PAIRSHIP_STARTABLE,
- MF_PAIRSHIP_ENDABLE
+ MF_PAIRSHIP_ENDABLE,
+ MF_NOSTORAGE,
+ MF_NOGSTORAGE
};
enum navigation_service {
@@ -431,6 +433,8 @@ enum script_unit_data_types {
UDT_STATPOINT,
UDT_ROBE,
UDT_BODY2,
+ UDT_GROUP,
+ UDT_DAMAGE_TAKEN_RATE,
UDT_MAX
};
@@ -456,24 +460,121 @@ enum script_iteminfo_types {
ITEMINFO_MATK,
ITEMINFO_VIEWSPRITE,
ITEMINFO_TRADE,
-
+ ITEMINFO_ELV_MAX,
+ ITEMINFO_DROPEFFECT_MODE,
+ ITEMINFO_DELAY,
+ ITEMINFO_CLASS_BASE_1,
+ ITEMINFO_CLASS_BASE_2,
+ ITEMINFO_CLASS_BASE_3,
+ ITEMINFO_CLASS_UPPER,
+ // ITEMINFO_FLAG_AVAILABLE,
+ ITEMINFO_FLAG_NO_REFINE,
+ ITEMINFO_FLAG_DELAY_CONSUME,
+ ITEMINFO_FLAG_AUTOEQUIP,
+ ITEMINFO_FLAG_AUTO_FAVORITE,
+ ITEMINFO_FLAG_BUYINGSTORE,
+ ITEMINFO_FLAG_BINDONEQUIP,
+ ITEMINFO_FLAG_KEEPAFTERUSE,
+ ITEMINFO_FLAG_FORCE_SERIAL,
+ ITEMINFO_FLAG_NO_OPTIONS,
+ ITEMINFO_FLAG_DROP_ANNOUNCE,
+ ITEMINFO_FLAG_SHOWDROPEFFECT,
+ ITEMINFO_STACK_AMOUNT,
+ ITEMINFO_STACK_FLAG,
+ ITEMINFO_ITEM_USAGE_FLAG,
+ ITEMINFO_ITEM_USAGE_OVERRIDE,
+ ITEMINFO_GM_LV_TRADE_OVERRIDE,
+ ITEMINFO_ID,
+ ITEMINFO_AEGISNAME,
+ ITEMINFO_NAME,
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 {
- PCBLOCK_NONE = 0x00,
- PCBLOCK_MOVE = 0x01,
- PCBLOCK_ATTACK = 0x02,
- PCBLOCK_SKILL = 0x04,
- PCBLOCK_USEITEM = 0x08,
- PCBLOCK_CHAT = 0x10,
- PCBLOCK_IMMUNE = 0x20,
- PCBLOCK_SITSTAND = 0x40,
- PCBLOCK_COMMANDS = 0x80,
- PCBLOCK_ALL = 0xFF,
+ PCBLOCK_NONE = 0x000,
+ PCBLOCK_MOVE = 0x001,
+ PCBLOCK_ATTACK = 0x002,
+ PCBLOCK_SKILL = 0x004,
+ PCBLOCK_USEITEM = 0x008,
+ PCBLOCK_CHAT = 0x010,
+ PCBLOCK_IMMUNE = 0x020,
+ PCBLOCK_SITSTAND = 0x040,
+ PCBLOCK_COMMANDS = 0x080,
+ PCBLOCK_NPC = 0x100,
+ PCBLOCK_ALL = 0x1FF,
+};
+
+/**
+ * Types of Siege (WoE)
+ */
+enum siege_type {
+ SIEGE_TYPE_FE,
+ SIEGE_TYPE_SE,
+ SIEGE_TYPE_TE,
+ SIEGE_TYPE_MAX
+};
+
+/**
+ * Types of MadoGear
+ */
+enum mado_type {
+ MADO_ROBOT = 0x00,
+ // unused = 0x01,
+ MADO_SUITE = 0x02,
+#ifndef MADO_MAX
+ MADO_MAX
+#endif
+};
+
+/**
+ * Option flags for itemskill() script command.
+ **/
+enum itemskill_flag {
+ ISF_NONE = 0x00,
+ ISF_CHECKCONDITIONS = 0x01, // Check skill conditions and consume them.
+ ISF_INSTANTCAST = 0x02, // Cast skill instantaneously.
+ ISF_CASTONSELF = 0x04, // Forcefully cast skill on invoking character without showing the target selection cursor.
};
/**
@@ -964,16 +1065,21 @@ struct script_interface {
int (*string_dup) (char *str);
void (*load_translations) (void);
bool (*load_translation_addstring) (const char *file, uint8 lang_id, const char *msgctxt, const struct script_string_buf *msgid, const struct script_string_buf *msgstr);
- int (*load_translation) (const char *file, uint8 lang_id);
+ int (*load_translation_file) (const char *file, uint8 lang_id);
+ int (*load_translation) (const char *directory, uint8 lang_id);
int (*translation_db_destroyer) (union DBKey key, struct DBData *data, va_list ap);
void (*clear_translations) (bool reload);
int (*parse_cleanup_timer) (int tid, int64 tick, int id, intptr_t data);
uint8 (*add_language) (const char *name);
- const char *(*get_translation_file_name) (const char *file);
+ const char *(*get_translation_dir_name) (const char *directory);
void (*parser_clean_leftovers) (void);
void (*run_use_script) (struct map_session_data *sd, struct item_data *data, int oid);
void (*run_item_equip_script) (struct map_session_data *sd, struct item_data *data, int oid);
void (*run_item_unequip_script) (struct map_session_data *sd, struct item_data *data, int oid);
+ void (*run_item_rental_end_script) (struct map_session_data *sd, struct item_data *data, int oid);
+ void (*run_item_rental_start_script) (struct map_session_data *sd, struct item_data *data, int oid);
+ void (*run_item_lapineddukddak_script) (struct map_session_data *sd, struct item_data *data, int oid);
+ bool (*sellitemcurrency_add) (struct npc_data *nd, struct script_state* st, int argIndex);
};
#ifdef HERCULES_CORE
diff --git a/src/map/searchstore.c b/src/map/searchstore.c
index 0c6fa3555..a2f00bb0a 100644
--- a/src/map/searchstore.c
+++ b/src/map/searchstore.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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..83705d4ca 100644
--- a/src/map/searchstore.h
+++ b/src/map/searchstore.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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 875c06a5b..19c575d89 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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"
@@ -66,22 +67,8 @@
#define SKILLUNITTIMER_INTERVAL 100
-// ranges reserved for mapping skill ids to skilldb offsets
-#define HM_SKILLRANGEMIN 750
-#define HM_SKILLRANGEMAX (HM_SKILLRANGEMIN + MAX_HOMUNSKILL)
-#define MC_SKILLRANGEMIN (HM_SKILLRANGEMAX + 1)
-#define MC_SKILLRANGEMAX (MC_SKILLRANGEMIN + MAX_MERCSKILL)
-#define EL_SKILLRANGEMIN (MC_SKILLRANGEMAX + 1)
-#define EL_SKILLRANGEMAX (EL_SKILLRANGEMIN + MAX_ELEMENTALSKILL)
-#define GD_SKILLRANGEMIN (EL_SKILLRANGEMAX + 1)
-#define GD_SKILLRANGEMAX (GD_SKILLRANGEMIN + MAX_GUILDSKILL)
-
-#if GD_SKILLRANGEMAX > 999
- #error GD_SKILLRANGEMAX is greater than 999
-#endif
-
static struct skill_interface skill_s;
-struct s_skill_dbs skilldbs;
+static struct s_skill_dbs skilldbs;
struct skill_interface *skill;
@@ -109,41 +96,55 @@ static int skill_name2id(const char *name)
/// Returns the skill's array index, or 0 (Unknown Skill).
static int skill_get_index(int skill_id)
{
- // avoid ranges reserved for mapping guild/homun/mercenary skills
- if( (skill_id >= GD_SKILLRANGEMIN && skill_id <= GD_SKILLRANGEMAX)
- || (skill_id >= HM_SKILLRANGEMIN && skill_id <= HM_SKILLRANGEMAX)
- || (skill_id >= MC_SKILLRANGEMIN && skill_id <= MC_SKILLRANGEMAX)
- || (skill_id >= EL_SKILLRANGEMIN && skill_id <= EL_SKILLRANGEMAX) )
+ int skillRange[] = { NV_BASIC, NPC_LEX_AETERNA,
+ KN_CHARGEATK, SA_ELEMENTWIND,
+ RK_ENCHANTBLADE, AB_SILENTIUM,
+ WL_WHITEIMPRISON, SC_FEINTBOMB,
+ LG_CANNONSPEAR, SR_GENTLETOUCH_REVITALIZE,
+ WA_SWING_DANCE, WA_MOONLIT_SERENADE,
+ MI_RUSH_WINDMILL, MI_HARMONIZE,
+ WM_LESSON, WM_UNLIMITED_HUMMING_VOICE,
+ SO_FIREWALK, SO_EARTH_INSIGNIA,
+ GN_TRAINING_SWORD, GN_SLINGITEM_RANGEMELEEATK,
+ AB_SECRAMENT, LG_OVERBRAND_PLUSATK,
+ ALL_ODINS_RECALL, ALL_LIGHTGUARD,
+ RL_GLITTERING_GREED, RL_GLITTERING_GREED_ATK,
+ KO_YAMIKUMO, OB_AKAITSUKI,
+ ECL_SNOWFLIP, ALL_THANATOS_RECALL,
+ GC_DARKCROW, NC_MAGMA_ERUPTION_DOTDAMAGE,
+ SU_BASIC_SKILL, SU_SPIRITOFSEA,
+ HLIF_HEAL, MH_VOLCANIC_ASH,
+ MS_BASH, MER_INVINCIBLEOFF2,
+ EL_CIRCLE_OF_FIRE, EL_STONE_RAIN,
+ GD_APPROVAL, GD_DEVELOPMENT
+ CUSTOM_SKILL_RANGES};
+ int length = sizeof(skillRange) / sizeof(int);
+ STATIC_ASSERT(sizeof(skillRange) / sizeof(int) % 2 == 0, "skill_get_index: skillRange should be multiple of 2");
+
+
+ if (skill_id < skillRange[0] || skill_id > skillRange[length - 1]) {
+ ShowWarning("skill_get_index: skill id '%d' is not being handled!\n", skill_id);
return 0;
+ }
- // map skill id to skill db index
- if( skill_id >= GD_SKILLBASE )
- skill_id = GD_SKILLRANGEMIN + skill_id - GD_SKILLBASE;
- else if( skill_id >= EL_SKILLBASE )
- skill_id = EL_SKILLRANGEMIN + skill_id - EL_SKILLBASE;
- else if( skill_id >= MC_SKILLBASE )
- skill_id = MC_SKILLRANGEMIN + skill_id - MC_SKILLBASE;
- else if( skill_id >= HM_SKILLBASE )
- skill_id = HM_SKILLRANGEMIN + skill_id - HM_SKILLBASE;
- //[Ind/Hercules] GO GO GO LESS! - http://herc.ws/board/topic/512-skill-id-processing-overhaul/
- else if( skill_id > 1019 && skill_id < 8001 ) {
- if( skill_id < 2058 ) // 1020 - 2000 are empty
- skill_id = 1020 + skill_id - 2001;
- else if( skill_id < 2549 ) // 2058 - 2200 are empty - 1020+57
- skill_id = (1077) + skill_id - 2201;
- else if ( skill_id < 3036 ) // 2549 - 3000 are empty - 1020+57+348
- skill_id = (1425) + skill_id - 3001;
- else if ( skill_id < 5044 ) // 3036 - 5000 are empty - 1020+57+348+35
- skill_id = (1460) + skill_id - 5001;
- else
- ShowWarning("skill_get_index: skill id '%d' is not being handled!\n",skill_id);
+ int skill_idx = 0;
+ // Map Skill ID to Skill Indexes (in reverse order)
+ for (int i = 0; i < length; i += 2) {
+ // Check if SkillID belongs to this range.
+ if (skill_id <= skillRange[i + 1] && skill_id >= skillRange[i]) {
+ skill_idx += (skillRange[i + 1] - skill_id);
+ break;
+ }
+ // Add the difference of current range
+ skill_idx += (skillRange[i + 1] - skillRange[i] + 1);
}
- // validate result
- if (skill_id <= 0|| skill_id >= MAX_SKILL_DB)
+ if (skill_idx >= MAX_SKILL_DB) {
+ ShowWarning("skill_get_index: skill id '%d'(idx: %d) is not being handled as it exceeds MAX_SKILL_DB!\n", skill_id, skill_idx);
return 0;
+ }
- return skill_id;
+ return skill_idx;
}
static const char *skill_get_name(int skill_id)
@@ -934,6 +935,8 @@ static int skill_calc_heal(struct block_list *src, struct block_list *target, ui
hp -= hp * 20/100;
if(sc->data[SC_HEALPLUS] && skill_id != NPC_EVILLAND && skill_id != BA_APPLEIDUN)
hp += hp * sc->data[SC_HEALPLUS]->val1/100; // Only affects Heal, Sanctuary and PotionPitcher.(like bHealPower) [Inkfish]
+ if (sc->data[SC_VITALIZE_POTION] != NULL && skill_id != NPC_EVILLAND && skill_id != BA_APPLEIDUN)
+ hp += hp * sc->data[SC_VITALIZE_POTION]->val3 / 100;
if(sc->data[SC_WATER_INSIGNIA] && sc->data[SC_WATER_INSIGNIA]->val1 == 2)
hp += hp / 10;
if (sc->data[SC_VITALITYACTIVATION])
@@ -1012,14 +1015,14 @@ static int skillnotok(uint16 skill_id, struct map_session_data *sd)
if (map->getcell(sd->bl.m, &sd->bl, sd->bl.x, sd->bl.y, CELL_CHKNOSKILL))
return 1; // block usage on 'noskill' cells [Wolfie]
- if( skill_id == AL_TELEPORT && sd->skillitem == skill_id && sd->skillitemlv > 2 )
- return 0; // Teleport lv 3 bypasses this check.[Inkfish]
+ if (skill_id == AL_TELEPORT && sd->autocast.type == AUTOCAST_ITEM && sd->autocast.skill_lv > 2)
+ return 0; // Teleport level 3 and higher bypasses this check if cast by itemskill() script commands.
// Epoque:
// This code will compare the player's attack motion value which is influenced by ASPD before
// allowing a skill to be cast. This is to prevent no-delay ACT files from spamming skills such as
// AC_DOUBLE which do not have a skill delay and are not regarded in terms of attack motion.
- if( !sd->state.autocast && sd->skillitem != skill_id && sd->canskill_tick &&
+ if (sd->autocast.type == AUTOCAST_NONE && sd->canskill_tick != 0 &&
DIFF_TICK(timer->gettick(), sd->canskill_tick) < (sd->battle_status.amotion * (battle_config.skill_amotion_leniency) / 100) )
{// attempted to cast a skill before the attack motion has finished
return 1;
@@ -1034,7 +1037,7 @@ static int skillnotok(uint16 skill_id, struct map_session_data *sd)
* It has been confirmed on a official server (thanks to Yommy) that item-cast skills bypass all the restrictions below
* Also, without this check, an exploit where an item casting + healing (or any other kind buff) isn't deleted after used on a restricted map
**/
- if( sd->skillitem == skill_id )
+ if (sd->autocast.type == AUTOCAST_ITEM)
return 0;
if( sd->sc.data[SC_ALL_RIDING] )
@@ -1179,10 +1182,34 @@ static int skillnotok_mercenary(uint16 skill_id, struct mercenary_data *md)
return skill->not_ok(skill_id, md->master);
}
+/**
+ * Validates the plausibility of auto-cast related data and calls pc_autocast_clear() if necessary.
+ *
+ * @param sd The character who cast the skill.
+ * @param skill_id The cast skill's ID.
+ * @param skill_lv The cast skill's level. (clif_parse_UseSkillMap() passes 0.)
+ *
+ **/
+static void skill_validate_autocast_data(struct map_session_data *sd, int skill_id, int skill_lv)
+{
+ nullpo_retv(sd);
+
+ // Determine if called by clif_parse_UseSkillMap().
+ bool use_skill_map = (skill_lv == 0 && (skill_id == AL_WARP || skill_id == AL_TELEPORT));
+
+ if (sd->autocast.type == AUTOCAST_NONE)
+ pc->autocast_clear(sd); // No auto-cast type set. Preventively unset all auto-cast related data.
+ else if (sd->autocast.type == AUTOCAST_TEMP)
+ pc->autocast_clear(sd); // AUTOCAST_TEMP should have been unset straight after usage.
+ else if (sd->autocast.skill_id == 0 || skill_id == 0 || sd->autocast.skill_id != skill_id)
+ pc->autocast_clear(sd); // Implausible skill ID.
+ else if (sd->autocast.skill_lv == 0 || (!use_skill_map && (skill_lv == 0 || sd->autocast.skill_lv != skill_lv)))
+ pc->autocast_clear(sd); // Implausible skill level.
+}
+
static struct s_skill_unit_layout *skill_get_unit_layout(uint16 skill_id, uint16 skill_lv, struct block_list *src, int x, int y)
{
int pos = skill->get_unit_layout_type(skill_id,skill_lv);
- uint8 dir;
nullpo_retr(&skill->dbs->unit_layout[0], src);
if (pos < -1 || pos >= MAX_SKILL_UNIT_LAYOUT) {
@@ -1193,7 +1220,9 @@ static struct s_skill_unit_layout *skill_get_unit_layout(uint16 skill_id, uint16
if (pos != -1) // simple single-definition layout
return &skill->dbs->unit_layout[pos];
- dir = (src->x == x && src->y == y) ? 6 : map->calc_dir(src,x,y); // 6 - default aegis direction
+ enum unit_dir dir = UNIT_DIR_EAST; // default aegis direction
+ if (src->x != x || src->y != y)
+ dir = map->calc_dir(src, x, y);
if (skill_id == MG_FIREWALL)
return &skill->dbs->unit_layout [skill->firewall_unit_pos + dir];
@@ -2045,7 +2074,7 @@ static int skill_additional_effect(struct block_list *src, struct block_list *bl
if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = tick+rate;
if ( battle_config.display_status_timers )
- clif->status_change(src, SI_POSTDELAY, 1, rate, 0, 0, 0);
+ clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, rate, 0, 0, 0);
}
}
}
@@ -2066,9 +2095,9 @@ static int skill_additional_effect(struct block_list *src, struct block_list *bl
temp = (sd->autospell[i].id > 0) ? sd->autospell[i].id : -sd->autospell[i].id;
- sd->state.autocast = 1;
+ sd->autocast.type = AUTOCAST_TEMP;
notok = skill->not_ok(temp, sd);
- sd->state.autocast = 0;
+ sd->autocast.type = AUTOCAST_NONE;
if ( notok )
continue;
@@ -2119,11 +2148,12 @@ static int skill_additional_effect(struct block_list *src, struct block_list *bl
else if (temp == PF_SPIDERWEB) //Special case, due to its nature of coding.
type = CAST_GROUND;
- sd->state.autocast = 1;
+ sd->autocast.type = AUTOCAST_TEMP;
skill->consume_requirement(sd,temp,auto_skill_lv,1);
skill->toggle_magicpower(src, temp);
skill->castend_type(type, src, tbl, temp, auto_skill_lv, tick, 0);
- sd->state.autocast = 0;
+ sd->autocast.type = AUTOCAST_NONE;
+
//Set canact delay. [Skotlex]
ud = unit->bl2ud(src);
if (ud) {
@@ -2131,7 +2161,7 @@ static int skill_additional_effect(struct block_list *src, struct block_list *bl
if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = tick+rate;
if (battle_config.display_status_timers)
- clif->status_change(src, SI_POSTDELAY, 1, rate, 0, 0, 0);
+ clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, rate, 0, 0, 0);
}
}
}
@@ -2192,6 +2222,9 @@ static int skill_onskillusage(struct map_session_data *sd, struct block_list *bl
if( sd == NULL || !skill_id )
return 0;
+ // Preserve auto-cast type if bAutoSpellOnSkill was triggered by a skill which was cast by Abracadabra, Improvised Song or an item.
+ enum autocast_type ac_type = sd->autocast.type;
+
for( i = 0; i < ARRAYLENGTH(sd->autospell3) && sd->autospell3[i].flag; i++ ) {
if( sd->autospell3[i].flag != skill_id )
continue;
@@ -2201,9 +2234,9 @@ static int skill_onskillusage(struct map_session_data *sd, struct block_list *bl
temp = (sd->autospell3[i].id > 0) ? sd->autospell3[i].id : -sd->autospell3[i].id;
- sd->state.autocast = 1;
+ sd->autocast.type = AUTOCAST_TEMP;
notok = skill->not_ok(temp, sd);
- sd->state.autocast = 0;
+ sd->autocast.type = AUTOCAST_NONE;
if ( notok )
continue;
@@ -2249,14 +2282,16 @@ static int skill_onskillusage(struct map_session_data *sd, struct block_list *bl
!battle->check_range(&sd->bl, tbl, skill->get_range2(&sd->bl, temp,skill_lv) + (temp == RG_CLOSECONFINE?0:1)) )
continue;
- sd->state.autocast = 1;
sd->autospell3[i].lock = true;
+ sd->autocast.type = AUTOCAST_TEMP;
skill->consume_requirement(sd,temp,skill_lv,1);
skill->castend_type(type, &sd->bl, tbl, temp, skill_lv, tick, 0);
+ sd->autocast.type = AUTOCAST_NONE;
sd->autospell3[i].lock = false;
- sd->state.autocast = 0;
}
+ sd->autocast.type = ac_type;
+
if (sd->autobonus3[0].rate) {
for( i = 0; i < ARRAYLENGTH(sd->autobonus3); i++ ) {
if( rnd()%1000 >= sd->autobonus3[i].rate )
@@ -2403,6 +2438,9 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_
struct unit_data *ud;
int i, auto_skill_id, auto_skill_lv, type, notok;
+ // Preserve auto-cast type if bAutoSpellWhenHit was triggered during cast of a skill which was cast by Abracadabra, Improvised Song or an item.
+ enum autocast_type ac_type = dstsd->autocast.type;
+
for (i = 0; i < ARRAYLENGTH(dstsd->autospell2) && dstsd->autospell2[i].id; i++) {
if(!(dstsd->autospell2[i].flag&attack_type&BF_WEAPONMASK &&
@@ -2418,9 +2456,9 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_
if (attack_type&BF_LONG)
rate>>=1;
- dstsd->state.autocast = 1;
+ dstsd->autocast.type = AUTOCAST_TEMP;
notok = skill->not_ok(auto_skill_id, dstsd);
- dstsd->state.autocast = 0;
+ dstsd->autocast.type = AUTOCAST_NONE;
if ( notok )
continue;
@@ -2461,10 +2499,11 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_
if( !battle->check_range(src, tbl, skill->get_range2(src, auto_skill_id,auto_skill_lv) + (auto_skill_id == RG_CLOSECONFINE?0:1)) && battle_config.autospell_check_range )
continue;
- dstsd->state.autocast = 1;
+ dstsd->autocast.type = AUTOCAST_TEMP;
skill->consume_requirement(dstsd,auto_skill_id,auto_skill_lv,1);
skill->castend_type(type, bl, tbl, auto_skill_id, auto_skill_lv, tick, 0);
- dstsd->state.autocast = 0;
+ dstsd->autocast.type = AUTOCAST_NONE;
+
// Set canact delay. [Skotlex]
ud = unit->bl2ud(bl);
if (ud) {
@@ -2472,10 +2511,12 @@ static int skill_counter_additional_effect(struct block_list *src, struct block_
if (DIFF_TICK(ud->canact_tick, tick + rate) < 0){
ud->canact_tick = tick+rate;
if (battle_config.display_status_timers)
- clif->status_change(bl, SI_POSTDELAY, 1, rate, 0, 0, 0);
+ clif->status_change(bl, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, rate, 0, 0, 0);
}
}
}
+
+ dstsd->autocast.type = ac_type;
}
//Autobonus when attacked
@@ -2628,11 +2669,11 @@ static int skill_strip_equip(struct block_list *bl, unsigned short where, int ra
/*=========================================================================
* Used to knock back players, monsters, traps, etc
* 'count' is the number of squares to knock back
- * 'direction' indicates the way OPPOSITE to the knockback direction (or -1 for default behavior)
+ * 'direction' indicates the way OPPOSITE to the knockback direction (or UNIT_DIR_UNDEFINED for default behavior)
* if 'flag&0x1', position update packets must not be sent.
* if 'flag&0x2', skill blown ignores players' special_state.no_knockback
*/
-static int skill_blown(struct block_list *src, struct block_list *target, int count, int8 dir, int flag)
+static int skill_blown(struct block_list *src, struct block_list *target, int count, enum unit_dir dir, int flag)
{
int dx = 0, dy = 0;
struct status_change *tsc = status->get_sc(target);
@@ -2674,10 +2715,10 @@ static int skill_blown(struct block_list *src, struct block_list *target, int co
break;
}
- if (dir == -1) // <optimized>: do the computation here instead of outside
+ if (dir == UNIT_DIR_UNDEFINED) // <optimized>: do the computation here instead of outside
dir = map->calc_dir(target, src->x, src->y); // direction from src to target, reversed
- if (dir >= 0 && dir < 8) {
+ if (dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX) {
// take the reversed 'direction' and reverse it
dx = -dirx[dir];
dy = -diry[dir];
@@ -2895,14 +2936,28 @@ 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
+ 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]
+ }
+ }
+
+ if (bl->type == BL_MOB) {
+ struct mob_data *md = BL_CAST(BL_MOB, bl);
+ if (md != NULL) {
+ if (md->db->dmg_taken_rate != 100) {
+ if (dmg.damage > 0)
+ dmg.damage = apply_percentrate64(dmg.damage, md->db->dmg_taken_rate, 100);
+ if (dmg.damage2 > 0)
+ dmg.damage2 = apply_percentrate64(dmg.damage2, md->db->dmg_taken_rate, 100);
+ }
}
}
@@ -3285,7 +3340,7 @@ static int skill_attack(int attack_type, struct block_list *src, struct block_li
//Only knockback if it's still alive, otherwise a "ghost" is left behind. [Skotlex]
//Reflected spells do not bounce back (bl == dsrc since it only happens for direct skills)
if (dmg.blewcount > 0 && bl!=dsrc && !status->isdead(bl)) {
- int8 dir = -1; // default
+ enum unit_dir dir = UNIT_DIR_UNDEFINED; // default
switch(skill_id) {//direction
case MG_FIREWALL:
case PR_SANCTUARY:
@@ -3298,13 +3353,13 @@ static int skill_attack(int attack_type, struct block_list *src, struct block_li
// This ensures the storm randomly pushes instead of exactly a cell backwards per official mechanics.
case WZ_STORMGUST:
if(!battle_config.stormgust_knockback)
- dir = rnd()%8;
+ dir = rnd() % UNIT_DIR_MAX;
break;
case WL_CRIMSONROCK:
dir = map->calc_dir(bl,skill->area_temp[4],skill->area_temp[5]);
break;
case MC_CARTREVOLUTION:
- dir = 6; // Official servers push target to the West
+ dir = UNIT_DIR_EAST; // Official servers push target to the West
break;
default:
dir = skill->attack_dir_unknown(&attack_type, src, dsrc, bl, &skill_id, &skill_lv, &tick, &flag);
@@ -3325,8 +3380,12 @@ static int skill_attack(int attack_type, struct block_list *src, struct block_li
case SR_KNUCKLEARROW:
if( skill->blown(dsrc,bl,dmg.blewcount,dir,0) && !(flag&4) ) {
short dir_x, dir_y;
- dir_x = dirx[(dir+4)%8];
- dir_y = diry[(dir+4)%8];
+ if (Assert_chk(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX)) {
+ map->freeblock_unlock(); // unblock before assert-returning
+ return 0;
+ }
+ dir_x = dirx[unit_get_opposite_dir(dir)];
+ dir_y = diry[unit_get_opposite_dir(dir)];
if (map->getcell(bl->m, bl, bl->x + dir_x, bl->y + dir_y, CELL_CHKNOPASS) != 0)
skill->addtimerskill(src, tick + 300 * ((flag&2) ? 1 : 2), bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag|4);
}
@@ -3486,10 +3545,12 @@ static int skill_attack_copy_unknown(int *attack_type, struct block_list *src, s
static int skill_attack_dir_unknown(int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag)
{
- return -1;
+ return UNIT_DIR_UNDEFINED;
}
-static void skill_attack_blow_unknown(int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir)
+static void skill_attack_blow_unknown(int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl,
+ uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type,
+ struct Damage *dmg, int64 *damage, enum unit_dir *dir)
{
nullpo_retv(bl);
nullpo_retv(dmg);
@@ -3500,7 +3561,7 @@ static void skill_attack_blow_unknown(int *attack_type, struct block_list *src,
if (!dmg->blewcount && bl->type == BL_SKILL && *damage > 0){
struct skill_unit *su = BL_UCAST(BL_SKILL, bl);
if (su->group && su->group->skill_id == HT_BLASTMINE)
- skill->blown(src, bl, 3, -1, 0);
+ skill->blown(src, bl, 3, UNIT_DIR_UNDEFINED, 0);
}
}
@@ -3777,7 +3838,7 @@ static int skill_check_condition_mercenary(struct block_list *bl, int skill_id,
if (itemid[i] < 1) continue; // No item
index[i] = pc->search_inventory(sd, itemid[i]);
if (index[i] == INDEX_NOT_FOUND || sd->status.inventory[index[i]].amount < amount[i]) {
- clif->skill_fail(sd, skill_id, USESKILL_FAIL_NEED_ITEM, amount[i], itemid[i] << 16);
+ clif->skill_fail(sd, skill_id, USESKILL_FAIL_NEED_ITEM, amount[i], itemid[i]);
return 0;
}
}
@@ -4156,10 +4217,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;
@@ -4390,7 +4450,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
case KN_CHARGEATK: {
bool path_exists = path->search_long(NULL, src, src->m, src->x, src->y, bl->x, bl->y,CELL_CHKWALL);
unsigned int dist = distance_bl(src, bl);
- uint8 dir = map->calc_dir(bl, src->x, src->y);
+ enum unit_dir dir = map->calc_dir(bl, src->x, src->y);
// teleport to target (if not on WoE grounds)
if( !map_flag_gvg2(src->m) && !map->list[src->m].flag.battleground && unit->movepos(src, bl->x, bl->y, 0, 1) )
@@ -4402,7 +4462,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
skill->blown(src, bl, dist, dir, 0);
//HACK: since knockback officially defaults to the left, the client also turns to the left... therefore,
// make the caster look in the direction of the target
- unit->setdir(src, (dir+4)%8);
+ unit->set_dir(src, unit_get_opposite_dir(dir));
}
}
@@ -4441,12 +4501,13 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
case RG_BACKSTAP:
{
- uint8 dir = map->calc_dir(src, bl->x, bl->y), t_dir = unit->getdir(bl);
- if ((!check_distance_bl(src, bl, 0) && !map->check_dir(dir, t_dir)) || bl->type == BL_SKILL) {
+ enum unit_dir dir = map->calc_dir(src, bl->x, bl->y);
+ enum unit_dir t_dir = unit->getdir(bl);
+ if ((!check_distance_bl(src, bl, 0) && map->check_dir(dir, t_dir) == 0) || bl->type == BL_SKILL) {
status_change_end(src, SC_HIDING, INVALID_TIMER);
skill->attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
- dir = dir < 4 ? dir+4 : dir-4; // change direction [Celest]
- unit->setdir(bl,dir);
+ dir = unit_get_opposite_dir(dir); // change direction [Celest]
+ unit->set_dir(bl, dir);
}
else if (sd)
clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0, 0);
@@ -4473,7 +4534,6 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
{
short x, y, i = 2; // Move 2 cells for Issen(from target)
struct block_list *mbl = bl;
- short dir = 0;
skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
@@ -4495,13 +4555,13 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
status->set_hp(src, 1, STATUS_HEAL_DEFAULT);
#endif // RENEWAL
}
- dir = map->calc_dir(src,bl->x,bl->y);
- if( dir > 0 && dir < 4) x = -i;
- else if( dir > 4 ) x = i;
- else x = 0;
- if( dir > 2 && dir < 6 ) y = -i;
- else if( dir == 7 || dir < 2 ) y = i;
- else y = 0;
+ enum unit_dir dir = map->calc_dir(src, bl->x, bl->y);
+ if (Assert_chk(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX)) {
+ map->freeblock_unlock(); // unblock before assert-returning
+ return 0;
+ }
+ x = i * dirx[dir];
+ y = i * diry[dir];
if ((mbl == src || (!map_flag_gvg2(src->m) && !map->list[src->m].flag.battleground))) { // only NJ_ISSEN don't have slide effect in GVG
if (!(unit->movepos(src, mbl->x+x, mbl->y+y, 1, 1))) {
// The cell is not reachable (wall, object, ...), move next to the target
@@ -4728,12 +4788,12 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
if(idb_exists(skill->bowling_db, bl->id))
break;
// Random direction
- dir = rnd()%8;
+ dir = rnd() % UNIT_DIR_MAX;
} else {
// Create an empty list of already hit targets
db_clear(skill->bowling_db);
// Direction is walkpath
- dir = (unit->getdir(src)+4)%8;
+ dir = unit_get_opposite_dir(unit->getdir(src));
}
// Add current target to the list of already hit targets
idb_put(skill->bowling_db, bl->id, bl);
@@ -4742,6 +4802,10 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
ty = bl->y;
for(i=0;i<c;i++) {
// Target coordinates (get changed even if knockback fails)
+ if (Assert_chk(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX)) {
+ map->freeblock_unlock(); // unblock before assert-returning
+ return 0;
+ }
tx -= dirx[dir];
ty -= diry[dir];
// If target cell is a wall then break
@@ -4770,18 +4834,24 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
if (bl->id==skill->area_temp[1])
break;
if (skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,SD_ANIMATION))
- skill->blown(src,bl,skill->area_temp[2],-1,0);
+ skill->blown(src, bl, skill->area_temp[2], UNIT_DIR_UNDEFINED, 0);
} else {
- int x=bl->x,y=bl->y,i,dir;
- dir = map->calc_dir(bl,src->x,src->y);
+ int x = bl->x;
+ int y = bl->y;
+ int i;
+ enum unit_dir dir = map->calc_dir(bl, src->x, src->y);
skill->area_temp[1] = bl->id;
skill->area_temp[2] = skill->get_blewcount(skill_id,skill_lv);
// all the enemies between the caster and the target are hit, as well as the target
if (skill->attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,0))
- skill->blown(src,bl,skill->area_temp[2],-1,0);
+ skill->blown(src, bl, skill->area_temp[2], UNIT_DIR_UNDEFINED, 0);
for (i=0;i<4;i++) {
map->foreachincell(skill->area_sub,bl->m,x,y,BL_CHAR,src,skill_id,skill_lv,
tick,flag|BCT_ENEMY|1,skill->castend_damage_id);
+ if (Assert_chk(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX)) {
+ map->freeblock_unlock(); // unblock before assert-returning
+ return 0;
+ }
x += dirx[dir];
y += diry[dir];
}
@@ -5003,7 +5073,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
if(rnd()%100 < (10 + 3*skill_lv)) {
if( !sd || pc->checkskill(sd,KN_SPEARBOOMERANG) == 0 )
break; // Spear Boomerang auto cast chance only works if you have mastered Spear Boomerang.
- skill->blown(src,bl,6,-1,0);
+ skill->blown(src, bl, 6, UNIT_DIR_UNDEFINED, 0);
skill->addtimerskill(src,tick+800,bl->id,0,0,skill_id,skill_lv,BF_WEAPON,flag);
skill->castend_damage_id(src,bl,KN_SPEARBOOMERANG,1,tick,0);
}
@@ -5011,7 +5081,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
case RK_PHANTOMTHRUST:
{
struct map_session_data *tsd = BL_CAST(BL_PC, bl);
- unit->setdir(src,map->calc_dir(src, bl->x, bl->y));
+ unit->set_dir(src, map->calc_dir(src, bl->x, bl->y));
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
skill->blown(src,bl,distance_bl(src,bl)-1,unit->getdir(src),0);
@@ -5025,16 +5095,13 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
case KO_JYUMONJIKIRI:
case GC_DARKILLUSION:
{
- short x, y;
- short dir = map->calc_dir(bl, src->x, src->y);
-
- if ( dir < 4 ) {
- x = bl->x + 2 * (dir > 0) - 3 * (dir > 0);
- y = bl->y + 1 - (dir / 2) - (dir > 2);
- } else {
- x = bl->x + 2 * (dir > 4) - 1 * (dir > 4);
- y = bl->y + (dir / 6) - 1 + (dir > 6);
+ enum unit_dir dir = map->calc_dir(bl, src->x, src->y);
+ if (Assert_chk(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX)) {
+ map->freeblock_unlock(); // unblock before assert-returning
+ return 0;
}
+ short x = bl->x + dirx[dir];
+ short y = bl->y + diry[dir];
if ( unit->movepos(src, x, y, 1, 1) ) {
clif->slide(src, x, y);
@@ -5157,7 +5224,7 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
skill->castend_type(skill->get_casttype(spell_skill_id), src, bl, spell_skill_id, spell_skill_lv, tick, 0);
sd->ud.canact_tick = tick + skill->delay_fix(src, spell_skill_id, spell_skill_lv);
- clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, spell_skill_id, spell_skill_lv), 0, 0, 0);
+ clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, spell_skill_id, spell_skill_lv), 0, 0, 0);
cooldown = skill->get_cooldown(spell_skill_id, spell_skill_lv);
for (i = 0; i < ARRAYLENGTH(sd->skillcooldown) && sd->skillcooldown[i].id; i++) {
@@ -5191,14 +5258,16 @@ static int skill_castend_damage_id(struct block_list *src, struct block_list *bl
skill->attack(BF_MAGIC,src,src,bl,skill_id,skill_lv,tick,flag|ELE_DARK);
break;
case RA_WUGSTRIKE:
- if( sd && pc_isridingwug(sd) ){
- short x[8]={0,-1,-1,-1,0,1,1,1};
- short y[8]={1,1,0,-1,-1,-1,0,1};
- uint8 dir = map->calc_dir(bl, src->x, src->y);
-
- if( unit->movepos(src, bl->x+x[dir], bl->y+y[dir], 1, 1) )
- {
- clif->slide(src, bl->x+x[dir], bl->y+y[dir]);
+ if (sd != NULL && pc_isridingwug(sd)) {
+ enum unit_dir dir = map->calc_dir(bl, src->x, src->y);
+ if (Assert_chk(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX)) {
+ map->freeblock_unlock(); // unblock before assert-returning
+ return 0;
+ }
+ short x = bl->x + dirx[dir];
+ short y = bl->y + diry[dir];
+ if (unit->movepos(src, x, y, 1, 1) != 0) {
+ clif->slide(src, x, y);
clif->fixpos(src);
skill->attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
}
@@ -5602,6 +5671,8 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
// Use a do so that you can break out of it when the skill fails.
do {
+ bool is_asura = (ud->skill_id == MO_EXTREMITYFIST);
+
if(!target || target->prev==NULL) break;
if(src->m != target->m || status->isdead(src)) break;
@@ -5639,8 +5710,9 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
}
if(ud->skill_id == RG_BACKSTAP) {
- uint8 dir = map->calc_dir(src,target->x,target->y),t_dir = unit->getdir(target);
- if(check_distance_bl(src, target, 0) || map->check_dir(dir,t_dir)) {
+ enum unit_dir dir = map->calc_dir(src, target->x, target->y);
+ enum unit_dir t_dir = unit->getdir(target);
+ if (check_distance_bl(src, target, 0) || map->check_dir(dir, t_dir) != 0) {
break;
}
}
@@ -5757,7 +5829,7 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
if (ud->walktimer != INVALID_TIMER && ud->skill_id != TK_RUN && ud->skill_id != RA_WUGDASH)
unit->stop_walking(src, STOPWALKING_FLAG_FIXPOS);
- if( !sd || sd->skillitem != ud->skill_id || skill->get_delay(ud->skill_id,ud->skill_lv) )
+ if (sd == NULL || sd->autocast.skill_id != ud->skill_id || skill->get_delay(ud->skill_id,ud->skill_lv) != 0)
ud->canact_tick = tick + skill->delay_fix(src, ud->skill_id, ud->skill_lv); // Tests show wings don't overwrite the delay but skill scrolls do. [Inkfish]
if (sd) { // Cooldown application
int i, cooldown = skill->get_cooldown(ud->skill_id, ud->skill_lv);
@@ -5771,7 +5843,7 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
skill->blockpc_start(sd, ud->skill_id, cooldown);
}
if( battle_config.display_status_timers && sd )
- clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
+ clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
if( sd )
{
switch( ud->skill_id )
@@ -5826,7 +5898,7 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
}
if( sd && ud->skill_id != SA_ABRACADABRA && ud->skill_id != WM_RANDOMIZESPELL ) // they just set the data so leave it as it is.[Inkfish]
- sd->skillitem = sd->skillitemlv = 0;
+ pc->autocast_clear(sd);
if (ud->skilltimer == INVALID_TIMER) {
if(md) md->skill_idx = -1;
@@ -5834,8 +5906,9 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
ud->skill_lv = ud->skilltarget = 0;
}
- if (src->id != target->id)
- unit->setdir(src, map->calc_dir(src, target->x, target->y));
+ // Asura Strike caster doesn't look to their target in the end
+ if (src->id != target->id && !is_asura)
+ unit->set_dir(src, map->calc_dir(src, target->x, target->y));
map->freeblock_unlock();
return 1;
@@ -5858,31 +5931,30 @@ static int skill_castend_id(int tid, int64 tick, int id, intptr_t data)
}
if (target && target->m == src->m) {
//Move character to target anyway.
- int dir, x, y;
- dir = map->calc_dir(src,target->x,target->y);
- if( dir > 0 && dir < 4) x = -2;
- else if( dir > 4 ) x = 2;
- else x = 0;
- if( dir > 2 && dir < 6 ) y = -2;
- else if( dir == 7 || dir < 2 ) y = 2;
- else y = 0;
- if (unit->movepos(src, src->x+x, src->y+y, 1, 1)) {
+ enum unit_dir dir = map->calc_dir(src, target->x, target->y);
+ Assert_ret(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
+ int dist = 3; // number of cells that asura caster will walk
+ int x = dist * dirx[dir];
+ int y = dist * diry[dir];
+
+ if (unit->movepos(src, src->x + x, src->y + y, 1, 1) != 0) {
//Display movement + animation.
- clif->slide(src,src->x,src->y);
+ clif->slide(src, src->x, src->y);
clif->spiritball(src);
}
- clif->skill_fail(sd, ud->skill_id, USESKILL_FAIL_LEVEL, 0, 0);
+ // "Skill Failed" message was already shown when checking that target is invalid
+ //clif->skill_fail(sd, ud->skill_id, USESKILL_FAIL_LEVEL, 0, 0);
}
}
- if( !sd || sd->skillitem != ud->skill_id || skill->get_delay(ud->skill_id,ud->skill_lv) )
+ if (sd == NULL || sd->autocast.skill_id != ud->skill_id || skill->get_delay(ud->skill_id,ud->skill_lv) != 0)
ud->canact_tick = tick;
ud->skill_id = ud->skill_lv = ud->skilltarget = 0;
//You can't place a skill failed packet here because it would be
//sent in ALL cases, even cases where skill_check_condition fails
//which would lead to double 'skill failed' messages u.u [Skotlex]
if(sd)
- sd->skillitem = sd->skillitemlv = 0;
+ pc->autocast_clear(sd);
else if(md)
md->skill_idx = -1;
return 0;
@@ -6264,9 +6336,9 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if (sd) {
// player-casted
- sd->state.abra_flag = 1;
- sd->skillitem = abra_skill_id;
- sd->skillitemlv = abra_skill_lv;
+ sd->autocast.type = AUTOCAST_ABRA;
+ sd->autocast.skill_id = abra_skill_id;
+ sd->autocast.skill_lv = abra_skill_lv;
clif->item_skill(sd, abra_skill_id, abra_skill_lv);
} else {
// mob-casted
@@ -6519,10 +6591,6 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->skill_nodamage (src,src,skill_id,skill_lv,1);
// Initiate 10% of your damage becomes fire element.
sc_start4(src,src,SC_SUB_WEAPONPROPERTY,100,3,20,0,0,skill->get_time2(skill_id, skill_lv));
- if( sd )
- skill->blockpc_start(sd, skill_id, skill->get_time(skill_id, skill_lv));
- else if( bl->type == BL_MER )
- skill->blockmerc_start(BL_UCAST(BL_MER, bl), skill_id, skill->get_time(skill_id, skill_lv));
break;
case TK_JUMPKICK:
@@ -7194,7 +7262,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
// custom hack to make the mob display the skill, because these skills don't show the skill use text themselves
//NOTE: mobs don't have the sprite animation that is used when performing this skill (will cause glitches)
char temp[70];
- snprintf(temp, sizeof(temp), "%s : %s !!", md->name, skill->get_desc(skill_id));
+ snprintf(temp, sizeof(temp), msg_txt(882), md->name, skill->get_desc(skill_id)); // %s : %s !!
clif->disp_overhead(&md->bl, temp, AREA_CHAT_WOC, NULL);
}
break;
@@ -7299,27 +7367,34 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
break;
case PR_STRECOVERY:
- if(status->isimmune(bl)) {
- clif->skill_nodamage(src,bl,skill_id,skill_lv,0);
+ if (status->isimmune(bl) != 0) {
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 0);
break;
}
- if (tsc && tsc->opt1) {
- status_change_end(bl, SC_FREEZE, INVALID_TIMER);
- status_change_end(bl, SC_STONE, INVALID_TIMER);
- status_change_end(bl, SC_SLEEP, INVALID_TIMER);
- status_change_end(bl, SC_STUN, INVALID_TIMER);
- status_change_end(bl, SC_WHITEIMPRISON, INVALID_TIMER);
- }
- status_change_end(bl, SC_NETHERWORLD, INVALID_TIMER);
- //Is this equation really right? It looks so... special.
- if( battle->check_undead(tstatus->race,tstatus->def_ele) ) {
- status->change_start(src, bl, SC_BLIND,
- 100*(100-(tstatus->int_/2+tstatus->vit/3+tstatus->luk/10)), 1,0,0,0,
- skill->get_time2(skill_id, skill_lv) * (100-(tstatus->int_+tstatus->vit)/2)/100,SCFLAG_NONE);
+
+ if (!battle->check_undead(tstatus->race, tstatus->def_ele)) {
+ if (tsc != NULL && tsc->opt1 != 0) {
+ status_change_end(bl, SC_FREEZE, INVALID_TIMER);
+ status_change_end(bl, SC_STONE, INVALID_TIMER);
+ status_change_end(bl, SC_SLEEP, INVALID_TIMER);
+ status_change_end(bl, SC_STUN, INVALID_TIMER);
+ status_change_end(bl, SC_WHITEIMPRISON, INVALID_TIMER);
+ }
+
+ status_change_end(bl, SC_NETHERWORLD, INVALID_TIMER);
+ } else {
+ int rate = 100 * (100 - (tstatus->int_ / 2 + tstatus->vit / 3 + tstatus->luk / 10));
+ int duration = skill->get_time2(skill_id, skill_lv);
+
+ duration *= (100 - (tstatus->int_ + tstatus->vit) / 2) / 100;
+ status->change_start(src, bl, SC_BLIND, rate, 1, 0, 0, 0, duration, SCFLAG_NONE);
}
- clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
- if(dstmd)
- mob->unlocktarget(dstmd,tick);
+
+ clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
+
+ if (dstmd != NULL)
+ mob->unlocktarget(dstmd, tick);
+
break;
// Mercenary Supportive Skills
@@ -7392,7 +7467,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
map->freeblock_unlock();
return 1;
}
- if( sd->skillitem != skill_id )
+ if (sd->autocast.type == AUTOCAST_NONE)
status_zap(src, 0, skill->get_sp(skill_id, skill_lv)); // consume sp only if succeeded
}
break;
@@ -7429,7 +7504,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
break;
}
- if( sd->state.autocast || ( (sd->skillitem == AL_TELEPORT || battle_config.skip_teleport_lv1_menu) && skill_lv == 1 ) || skill_lv == 3 )
+ if (sd->autocast.type == AUTOCAST_TEMP || ((sd->autocast.skill_id == AL_TELEPORT || battle_config.skip_teleport_lv1_menu) && skill_lv == 1) || skill_lv == 3)
{
if( skill_lv == 1 )
pc->randomwarp(sd,CLR_TELEPORT);
@@ -7802,7 +7877,9 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case TK_HIGHJUMP:
{
- int x,y, dir = unit->getdir(src);
+ int x;
+ int y;
+ enum unit_dir dir = unit->getdir(src);
//Fails on noteleport maps, except for GvG and BG maps [Skotlex]
if( map->list[src->m].flag.noteleport
@@ -7884,8 +7961,9 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
}
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);
@@ -8050,11 +8128,19 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case NPC_RUN:
{
- const int mask[8][2] = {{0,-1},{1,-1},{1,0},{1,1},{0,1},{-1,1},{-1,0},{-1,-1}};
- uint8 dir = (bl == src)?unit->getdir(src):map->calc_dir(src,bl->x,bl->y); //If cast on self, run forward, else run away.
+ enum unit_dir dir;
+ if (bl == src) //If cast on self, run forward, else run away.
+ dir = unit->getdir(src);
+ else
+ dir = map->calc_dir(src, bl->x, bl->y);
+ if (Assert_chk(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX)) {
+ map->freeblock_unlock(); // unblock before assert-returning
+ return 0;
+ }
unit->stop_attack(src);
//Run skillv tiles overriding the can-move check.
- if (unit->walktoxy(src, src->x + skill_lv * mask[dir][0], src->y + skill_lv * mask[dir][1], 2) && md)
+ if (unit->walk_toxy(src, src->x + skill_lv * -dirx[dir], src->y + skill_lv * -diry[dir], 2) == 0
+ && md != NULL)
md->state.skillstate = MSS_WALK; //Otherwise it isn't updated in the AI.
}
break;
@@ -8455,7 +8541,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
status_fix_damage(src, bl, 1000, 0);
clif->damage(src,bl,0,0,1000,0,BDT_NORMAL,0);
if( !status->isdead(bl) ) {
- int where[] = { EQP_ARMOR, EQP_SHIELD, EQP_HELM, EQP_SHOES, EQP_GARMENT };
+ int where[] = {EQP_ARMOR, EQP_SHIELD, EQP_HELM};
skill->break_equip(bl, where[rnd() % ARRAYLENGTH(where)], 10000, BCT_ENEMY);
}
}
@@ -8698,7 +8784,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case AM_REST:
if (sd) {
- if (homun->vaporize(sd,HOM_ST_REST))
+ if (homun->vaporize(sd, HOM_ST_REST, false))
clif->skill_nodamage(src, bl, skill_id, skill_lv, 1);
else
clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0, 0);
@@ -8746,12 +8832,20 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
int r = rnd()%100;
int target = (skill_lv-1)%5;
int hp;
- if(r<per[target][0]) //Self
+ if (r < per[target][0]) { //Self
bl = src;
- else if(r<per[target][1]) //Master
+ } else if (r < per[target][1]) { //Master
bl = battle->get_master(src);
- else //Enemy
- bl = map->id2bl(battle->get_target(src));
+ } else if ((per[target][1] - per[target][0]) < per[target][0]
+ && bl == battle->get_master(src)) {
+ /**
+ * Skill rolled for enemy, but there's nothing the Homunculus is attacking.
+ * So bl has been set to its master in unit->skilluse_id2.
+ * If it's more likely that it will heal itself,
+ * we let it heal itself.
+ */
+ bl = src;
+ }
if (!bl) bl = src;
hp = skill->calc_heal(src, bl, skill_id, 1+rnd()%skill_lv, true);
@@ -9407,7 +9501,9 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case NC_F_SIDESLIDE:
case NC_B_SIDESLIDE:
{
- uint8 dir = (skill_id == NC_F_SIDESLIDE) ? (unit->getdir(src)+4)%8 : unit->getdir(src);
+ enum unit_dir dir = unit->getdir(src);
+ if (skill_id == NC_F_SIDESLIDE)
+ dir = unit_get_opposite_dir(dir);
skill->blown(src,bl,skill->get_blewcount(skill_id,skill_lv),dir,0);
clif->slide(src,src->x,src->y);
clif->skill_nodamage(src,bl,skill_id,skill_lv,1);
@@ -9417,7 +9513,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
case NC_SELFDESTRUCTION:
if (sd) {
if (pc_ismadogear(sd))
- pc->setmadogear(sd, false);
+ pc->setmadogear(sd, false, MADO_ROBOT);
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, STATUS_HEAL_DEFAULT);
@@ -9982,9 +10078,9 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
clif->skill_nodamage (src, bl, skill_id, skill_lv, 1);
if (sd != NULL) {
- sd->state.abra_flag = 2;
- sd->skillitem = improv_skill_id;
- sd->skillitemlv = improv_skill_lv;
+ sd->autocast.type = AUTOCAST_IMPROVISE;
+ sd->autocast.skill_id = improv_skill_id;
+ sd->autocast.skill_lv = improv_skill_lv;
clif->item_skill(sd, improv_skill_id, improv_skill_lv);
} else {
struct unit_data *ud = unit->bl2ud(src);
@@ -10387,7 +10483,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
if(sd) {
struct mob_data *summon_md;
- summon_md = mob->once_spawn_sub(src, src->m, src->x, src->y, clif->get_bl_name(src), MOBID_KO_KAGE, "", SZ_SMALL, AI_NONE);
+ summon_md = mob->once_spawn_sub(src, src->m, src->x, src->y, clif->get_bl_name(src), MOBID_KO_KAGE, "", SZ_SMALL, AI_NONE, 0);
if( summon_md ) {
summon_md->master_id = src->id;
summon_md->special_state.ai = AI_ZANZOU;
@@ -10570,7 +10666,7 @@ static int skill_castend_nodamage_id(struct block_list *src, struct block_list *
for (i = 0; i < summons[skill_lv-1].quantity; i++) {
struct mob_data *summon_md = mob->once_spawn_sub(src, src->m, src->x, src->y, clif->get_bl_name(src),
- summons[skill_lv-1].mob_id, "", SZ_SMALL, AI_ATTACK);
+ summons[skill_lv-1].mob_id, "", SZ_SMALL, AI_ATTACK, 0);
if (summon_md != NULL) {
summon_md->master_id = src->id;
if (summon_md->deletetimer != INVALID_TIMER)
@@ -10753,7 +10849,7 @@ static int skill_castend_pos(int tid, int64 tick, int id, intptr_t data)
if (ud->walktimer != INVALID_TIMER)
unit->stop_walking(src, STOPWALKING_FLAG_FIXPOS);
- if( !sd || sd->skillitem != ud->skill_id || skill->get_delay(ud->skill_id,ud->skill_lv) )
+ if (sd == NULL || sd->autocast.skill_id != ud->skill_id || skill->get_delay(ud->skill_id,ud->skill_lv) != 0)
ud->canact_tick = tick + skill->delay_fix(src, ud->skill_id, ud->skill_lv);
if (sd) { //Cooldown application
int i, cooldown = skill->get_cooldown(ud->skill_id, ud->skill_lv);
@@ -10767,7 +10863,7 @@ static int skill_castend_pos(int tid, int64 tick, int id, intptr_t data)
skill->blockpc_start(sd, ud->skill_id, cooldown);
}
if( battle_config.display_status_timers && sd )
- clif->status_change(src, SI_POSTDELAY, 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
+ clif->status_change(src, status->get_sc_icon(SC_POSTDELAY), status->get_sc_relevant_bl_types(SC_POSTDELAY), 1, skill->delay_fix(src, ud->skill_id, ud->skill_lv), 0, 0, 0);
#if 0
if (sd) {
switch (ud->skill_id) {
@@ -10782,10 +10878,10 @@ static int skill_castend_pos(int tid, int64 tick, int id, intptr_t data)
map->freeblock_lock();
skill->castend_pos2(src,ud->skillx,ud->skilly,ud->skill_id,ud->skill_lv,tick,0);
- if( sd && sd->skillitem != AL_WARP ) // Warp-Portal thru items will clear data in skill_castend_map. [Inkfish]
- sd->skillitem = sd->skillitemlv = 0;
+ if (sd != NULL && sd->autocast.skill_id != AL_WARP) // Warp-Portal thru items will clear data in skill_castend_map. [Inkfish]
+ pc->autocast_clear(sd);
- unit->setdir(src, map->calc_dir(src, ud->skillx, ud->skilly));
+ unit->set_dir(src, map->calc_dir(src, ud->skillx, ud->skilly));
if (ud->skilltimer == INVALID_TIMER) {
if (md) md->skill_idx = -1;
@@ -10797,11 +10893,11 @@ static int skill_castend_pos(int tid, int64 tick, int id, intptr_t data)
return 1;
} while(0);
- if( !sd || sd->skillitem != ud->skill_id || skill->get_delay(ud->skill_id,ud->skill_lv) )
+ if (sd == NULL || sd->autocast.skill_id != ud->skill_id || skill->get_delay(ud->skill_id,ud->skill_lv) != 0)
ud->canact_tick = tick;
ud->skill_id = ud->skill_lv = 0;
if(sd)
- sd->skillitem = sd->skillitemlv = 0;
+ pc->autocast_clear(sd);
else if(md)
md->skill_idx = -1;
return 0;
@@ -10931,7 +11027,7 @@ static int skill_castend_map(struct map_session_data *sd, uint16 skill_id, const
}
}
- lv = sd->skillitem==skill_id?sd->skillitemlv:pc->checkskill(sd,skill_id);
+ lv = (sd->autocast.type > AUTOCAST_TEMP) ? sd->autocast.skill_lv : pc->checkskill(sd, skill_id);
wx = sd->menuskill_val>>16;
wy = sd->menuskill_val&0xffff;
@@ -10954,7 +11050,7 @@ static int skill_castend_map(struct map_session_data *sd, uint16 skill_id, const
}
skill->consume_requirement(sd,sd->menuskill_id,lv,2);
- sd->skillitem = sd->skillitemlv = 0; // Clear data that's skipped in 'skill_castend_pos' [Inkfish]
+ pc->autocast_clear(sd); // Clear data which was skipped in skill_castend_pos().
if((group=skill->unitsetting(&sd->bl,skill_id,lv,wx,wy,0))==NULL) {
skill_failed(sd);
@@ -11044,9 +11140,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:
@@ -11352,7 +11449,7 @@ static int skill_castend_pos2(struct block_list *src, int x, int y, uint16 skill
}
// Correct info, don't change any of this! [Celest]
- md = mob->once_spawn_sub(src, src->m, x, y, clif->get_bl_name(src), class_, "", SZ_SMALL, AI_NONE);
+ md = mob->once_spawn_sub(src, src->m, x, y, clif->get_bl_name(src), class_, "", SZ_SMALL, AI_NONE, 0);
if (md) {
md->master_id = src->id;
md->special_state.ai = (skill_id == AM_SPHEREMINE) ? AI_SPHERE : AI_FLORA;
@@ -11454,7 +11551,7 @@ static int skill_castend_pos2(struct block_list *src, int x, int y, uint16 skill
clif->skill_fail(sd, skill_id, USESKILL_FAIL_LEVEL, 0, 0);
} else {
int mob_id = skill_lv < 2 ? MOBID_BLACK_MUSHROOM + rnd()%2 : MOBID_RED_PLANT + rnd()%6;
- struct mob_data *md = mob->once_spawn_sub(src, src->m, x, y, DEFAULT_MOB_JNAME, mob_id, "", SZ_SMALL, AI_NONE);
+ struct mob_data *md = mob->once_spawn_sub(src, src->m, x, y, DEFAULT_MOB_JNAME, mob_id, "", SZ_SMALL, AI_NONE, 0);
int i;
if (md == NULL)
break;
@@ -11563,17 +11660,16 @@ static int skill_castend_pos2(struct block_list *src, int x, int y, uint16 skill
case WL_EARTHSTRAIN:
{
- int i, wave = skill_lv + 4, dir = map->calc_dir(src,x,y);
+ int i;
+ int wave = skill_lv + 4;
+ enum unit_dir dir = map->calc_dir(src, x, y);
+ Assert_ret(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
int sx = x = src->x, sy = y = src->y; // Store first caster's location to avoid glitch on unit setting
- for( i = 1; i <= wave; i++ )
- {
- switch( dir ){
- case 0: case 1: case 7: sy = y + i; break;
- case 3: case 4: case 5: sy = y - i; break;
- case 2: sx = x - i; break;
- case 6: sx = x + i; break;
- }
+ for (i = 1; i <= wave; i++) {
+ sy = y + i * diry[dir];
+ if (dir == UNIT_DIR_WEST || dir == UNIT_DIR_EAST)
+ sx = x + i * dirx[dir];
skill->addtimerskill(src,timer->gettick() + (140 * i),0,sx,sy,skill_id,skill_lv,dir,flag&2);
}
}
@@ -11600,7 +11696,7 @@ static int skill_castend_pos2(struct block_list *src, int x, int y, uint16 skill
case NC_SILVERSNIPER:
{
- struct mob_data *md = mob->once_spawn_sub(src, src->m, x, y, clif->get_bl_name(src), MOBID_SILVERSNIPER, "", SZ_SMALL, AI_NONE);
+ struct mob_data *md = mob->once_spawn_sub(src, src->m, x, y, clif->get_bl_name(src), MOBID_SILVERSNIPER, "", SZ_SMALL, AI_NONE, 0);
if (md) {
md->master_id = src->id;
md->special_state.ai = AI_FLORA;
@@ -12763,6 +12859,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: {
@@ -12915,10 +13018,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")
@@ -13784,12 +13888,14 @@ static int skill_check_condition_char_sub(struct block_list *bl, va_list ap)
} else {
switch(skill_id) {
- case PR_BENEDICTIO: {
- uint8 dir = map->calc_dir(&sd->bl,tsd->bl.x,tsd->bl.y);
- dir = (unit->getdir(&sd->bl) + dir)%8; //This adjusts dir to account for the direction the sd is facing.
- if ((tsd->job & MAPID_BASEMASK) == MAPID_ACOLYTE && (dir == 2 || dir == 6) //Must be standing to the left/right of Priest.
- && sd->status.sp >= 10)
+ case PR_BENEDICTIO:
+ {
+ enum unit_dir dir = map->calc_dir(&sd->bl, tsd->bl.x, tsd->bl.y);
+ dir = (unit->getdir(&sd->bl) + dir) % UNIT_DIR_MAX; //This adjusts dir to account for the direction the sd is facing.
+ if ((tsd->job & MAPID_BASEMASK) == MAPID_ACOLYTE && (dir == UNIT_DIR_WEST || dir == UNIT_DIR_EAST) //Must be standing to the left/right of Priest.
+ && sd->status.sp >= 10) {
p_sd[(*c)++]=tsd->bl.id;
+ }
return 1;
}
case AB_ADORAMUS:
@@ -13937,27 +14043,9 @@ static int skill_isammotype(struct map_session_data *sd, int skill_id)
**/
static bool skill_is_combo(int skill_id)
{
- switch( skill_id )
- {
- case MO_CHAINCOMBO:
- case MO_COMBOFINISH:
- case CH_TIGERFIST:
- case CH_CHAINCRUSH:
- case MO_EXTREMITYFIST:
- case TK_TURNKICK:
- case TK_STORMKICK:
- case TK_DOWNKICK:
- case TK_COUNTER:
- case TK_JUMPKICK:
- case HT_POWER:
- case GC_COUNTERSLASH:
- case GC_WEAPONCRUSH:
- case SR_FALLENEMPIRE:
- case SR_DRAGONCOMBO:
- case SR_TIGERCANNON:
- case SR_GATEOFHELL:
- return true;
- }
+ if (skill->get_inf2(skill_id) & INF2_IS_COMBO_SKILL)
+ return true;
+
return false;
}
@@ -13969,11 +14057,19 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s
nullpo_ret(sd);
+ if (skill_lv < 1 || skill_lv > MAX_SKILL_LEVEL)
+ return 0;
+
if (sd->chat_id != 0)
return 0;
- if (pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL) && sd->skillitem != skill_id) {
- //GMs don't override the skillItem check, otherwise they can use items without them being consumed! [Skotlex]
+ if (((sd->autocast.itemskill_conditions_checked || !sd->autocast.itemskill_check_conditions)
+ && sd->autocast.type == AUTOCAST_ITEM) || sd->autocast.type == AUTOCAST_IMPROVISE) {
+ return 1;
+ }
+
+ if (pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL) && sd->autocast.type != AUTOCAST_ITEM) {
+ // GMs don't override the AUTOCAST_ITEM check, otherwise they can use items without them being consumed!
sd->state.arrow_atk = skill->get_ammotype(skill_id)?1:0; //Need to do arrow state check.
sd->spiritball_old = sd->spiritball; //Need to do Spiritball check.
return 1;
@@ -14004,33 +14100,7 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s
if( !sc->count )
sc = NULL;
- if( sd->skillitem == skill_id ) {
- if( sd->state.abra_flag ) // Hocus-Pocus was used. [Inkfish]
- sd->state.abra_flag = 0;
- else {
- int i;
- // When a target was selected, consume items that were skipped in pc_use_item [Skotlex]
- if( (i = sd->itemindex) == -1 ||
- sd->status.inventory[i].nameid != sd->itemid ||
- sd->inventory_data[i] == NULL ||
- !sd->inventory_data[i]->flag.delay_consume ||
- sd->status.inventory[i].amount < 1
- ) {
- //Something went wrong, item exploit?
- sd->itemid = sd->itemindex = -1;
- return 0;
- }
- //Consume
- sd->itemid = sd->itemindex = -1;
- if( skill_id == WZ_EARTHSPIKE && sc && sc->data[SC_EARTHSCROLL] && rnd()%100 > sc->data[SC_EARTHSCROLL]->val2 ) // [marquis007]
- ; //Do not consume item.
- else if( sd->status.inventory[i].expire_time == 0 ) // Rental usable items are not consumed until expiration
- pc->delitem(sd, i, 1, 0, DELITEM_NORMAL, LOG_TYPE_CONSUME);
- }
- return 1;
- }
-
- if( pc_is90overweight(sd) ) {
+ if (pc_is90overweight(sd) && sd->autocast.type != AUTOCAST_ITEM) { // Skill casting items ignore the overweight restriction.
clif->skill_fail(sd, skill_id, USESKILL_FAIL_WEIGHTOVER, 0, 0);
return 0;
}
@@ -14154,9 +14224,6 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s
}
}
- if( skill_lv < 1 || skill_lv > MAX_SKILL_LEVEL )
- return 0;
-
require = skill->get_requirement(sd,skill_id,skill_lv);
//Can only update state when weapon/arrow info is checked.
@@ -14648,7 +14715,7 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s
if (map->foreachinrange(mob->count_sub, &sd->bl, skill->get_splash(skill_id, skill_lv), BL_MOB,
MOBID_EMPELIUM, MOBID_S_EMPEL_1, MOBID_S_EMPEL_2)) {
char output[128];
- sprintf(output, "You're too close to a stone or emperium to do this skill"); /* TODO official response? or message.conf it */
+ sprintf(output, "%s", msg_txt(883)); /* TODO official response */ // You are too close to a stone or emperium to do this skill
clif->messagecolor_self(sd->fd, COLOR_RED, output);
return 0;
}
@@ -14904,7 +14971,7 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s
return 0;
}
- if( require.sp > 0 && st->sp < (unsigned int)require.sp) {
+ if (require.sp > 0 && st->sp < (unsigned int)require.sp && sd->autocast.type == AUTOCAST_NONE) { // Auto-cast skills don't consume SP.
clif->skill_fail(sd, skill_id, USESKILL_FAIL_SP_INSUFFICIENT, 0, 0);
return 0;
}
@@ -14962,8 +15029,13 @@ static int skill_check_condition_castend(struct map_session_data *sd, uint16 ski
if (sd->chat_id != 0)
return 0;
- if( pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL) && sd->skillitem != skill_id ) {
- //GMs don't override the skillItem check, otherwise they can use items without them being consumed! [Skotlex]
+ if (((sd->autocast.itemskill_conditions_checked || !sd->autocast.itemskill_check_conditions)
+ && sd->autocast.type == AUTOCAST_ITEM) || sd->autocast.type == AUTOCAST_IMPROVISE) {
+ return 1;
+ }
+
+ if (pc_has_permission(sd, PC_PERM_SKILL_UNCONDITIONAL) && sd->autocast.type != AUTOCAST_ITEM) {
+ // GMs don't override the AUTOCAST_ITEM check, otherwise they can use items without them being consumed!
sd->state.arrow_atk = skill->get_ammotype(skill_id)?1:0; //Need to do arrow state check.
sd->spiritball_old = sd->spiritball; //Need to do Spiritball check.
return 1;
@@ -14989,14 +15061,8 @@ static int skill_check_condition_castend(struct map_session_data *sd, uint16 ski
return 0;
break;
}
- /* temporarily disabled, awaiting for kenpachi to detail this so we can make it work properly */
-#if 0
- if( sd->state.abra_flag ) // Casting finished (Hocus-Pocus)
- return 1;
-#endif
- if( sd->skillitem == skill_id )
- return 1;
- if( pc_is90overweight(sd) ) {
+
+ if (pc_is90overweight(sd) && sd->autocast.type != AUTOCAST_ITEM) { // Skill casting items ignore the overweight restriction.
clif->skill_fail(sd, skill_id, USESKILL_FAIL_WEIGHTOVER, 0, 0);
return 0;
}
@@ -15095,17 +15161,15 @@ static int skill_check_condition_castend(struct map_session_data *sd, uint16 ski
return 0;
} else if( sd->status.inventory[i].amount < require.ammo_qty ) {
char e_msg[100];
- sprintf(e_msg,"Skill Failed. [%s] requires %dx %s.",
+ sprintf(e_msg, msg_txt(884), // Skill Failed. [%s] requires %dx %s.
skill->get_desc(skill_id),
require.ammo_qty,
itemdb_jname(sd->status.inventory[i].nameid));
clif->messagecolor_self(sd->fd, COLOR_RED, e_msg);
return 0;
}
- if (!(require.ammo&1<<sd->inventory_data[i]->subtype)) { //Ammo type check. Send the "wrong weapon type" message
- //which is the closest we have to wrong ammo type. [Skotlex]
- clif->arrow_fail(sd,0); //Haplo suggested we just send the equip-arrows message instead. [Skotlex]
- //clif->skill_fail(sd, skill_id, USESKILL_FAIL_THIS_WEAPON, 0, 0);
+ if ((require.ammo & (1 << sd->inventory_data[i]->subtype)) == 0 || !battle->check_arrows(sd)) { // Ammo type check.
+ clif->arrow_fail(sd, 0); // "Please equip the proper ammunition first."
return 0;
}
}
@@ -15169,6 +15233,11 @@ static int skill_consume_requirement(struct map_session_data *sd, uint16 skill_i
nullpo_ret(sd);
+ if ((!sd->autocast.itemskill_check_conditions && sd->autocast.type == AUTOCAST_ITEM)
+ || sd->autocast.type == AUTOCAST_IMPROVISE) {
+ return 1;
+ }
+
req = skill->get_requirement(sd,skill_id,skill_lv);
if (type&1) {
@@ -15177,9 +15246,15 @@ static int skill_consume_requirement(struct map_session_data *sd, uint16 skill_i
case MC_IDENTIFY:
req.sp = 0;
break;
+ case WZ_EARTHSPIKE:
+ if (sd->sc.count > 0 && sd->sc.data[SC_EARTHSCROLL] != NULL) // If Earth Spike Scroll is used while SC_EARTHSCROLL is active, 10 SP are consumed. [Kenpachi]
+ req.sp = 10;
+
+ break;
default:
- if( sd->state.autocast )
+ if (sd->autocast.type != AUTOCAST_NONE) // Auto-cast skills don't consume SP.
req.sp = 0;
+
break;
}
@@ -15257,12 +15332,6 @@ static struct skill_condition skill_get_requirement(struct map_session_data *sd,
if( !sd )
return req;
-#if 0 /* temporarily disabled, awaiting for kenpachi to detail this so we can make it work properly */
- if( sd->state.abra_flag )
-#else // not 0
- if( sd->skillitem == skill_id )
-#endif // 0
- return req; // Hocus-Pocus don't have requirements.
sc = &sd->sc;
if( !sc->count )
@@ -15671,6 +15740,8 @@ static int skill_castfix_sc(struct block_list *bl, int time)
}
if (sc->data[SC_POEMBRAGI])
time -= time * sc->data[SC_POEMBRAGI]->val2 / 100;
+ if (sc->data[SC_SKF_CAST] != NULL)
+ time -= time * sc->data[SC_SKF_CAST]->val1 / 100;
if (sc->data[SC_IZAYOI])
time -= time * 50 / 100;
}
@@ -15772,6 +15843,8 @@ static int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id,
}
if (sc->data[SC_MYSTICSCROLL])
VARCAST_REDUCTION(sc->data[SC_MYSTICSCROLL]->val1);
+ if (sc->data[SC_SKF_CAST] != NULL)
+ VARCAST_REDUCTION(sc->data[SC_SKF_CAST]->val1);
// Fixed cast reduction bonuses
if( sc->data[SC__LAZINESS] )
@@ -15923,11 +15996,11 @@ struct square {
int val2[5];
};
-static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int16 y)
+static void skill_brandishspear_first(struct square *tc, enum unit_dir dir, int16 x, int16 y)
{
nullpo_retv(tc);
- if(dir == 0){
+ if (dir == UNIT_DIR_NORTH) {
tc->val1[0]=x-2;
tc->val1[1]=x-1;
tc->val1[2]=x;
@@ -15938,7 +16011,7 @@ static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int
tc->val2[2]=
tc->val2[3]=
tc->val2[4]=y-1;
- } else if(dir==2){
+ } else if (dir == UNIT_DIR_WEST) {
tc->val1[0]=
tc->val1[1]=
tc->val1[2]=
@@ -15949,7 +16022,7 @@ static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int
tc->val2[2]=y;
tc->val2[3]=y-1;
tc->val2[4]=y-2;
- } else if(dir==4){
+ } else if (dir == UNIT_DIR_SOUTH) {
tc->val1[0]=x-2;
tc->val1[1]=x-1;
tc->val1[2]=x;
@@ -15960,7 +16033,7 @@ static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int
tc->val2[2]=
tc->val2[3]=
tc->val2[4]=y+1;
- } else if(dir==6){
+ } else if (dir == UNIT_DIR_EAST) {
tc->val1[0]=
tc->val1[1]=
tc->val1[2]=
@@ -15971,7 +16044,7 @@ static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int
tc->val2[2]=y;
tc->val2[3]=y-1;
tc->val2[4]=y-2;
- } else if(dir==1){
+ } else if (dir == UNIT_DIR_NORTHWEST) {
tc->val1[0]=x-1;
tc->val1[1]=x;
tc->val1[2]=x+1;
@@ -15982,7 +16055,7 @@ static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int
tc->val2[2]=y-1;
tc->val2[3]=y;
tc->val2[4]=y+1;
- } else if(dir==3){
+ } else if (dir == UNIT_DIR_SOUTHWEST) {
tc->val1[0]=x+3;
tc->val1[1]=x+2;
tc->val1[2]=x+1;
@@ -15993,7 +16066,7 @@ static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int
tc->val2[2]=y+1;
tc->val2[3]=y+2;
tc->val2[4]=y+3;
- } else if(dir==5){
+ } else if (dir == UNIT_DIR_SOUTHEAST) {
tc->val1[0]=x+1;
tc->val1[1]=x;
tc->val1[2]=x-1;
@@ -16004,7 +16077,7 @@ static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int
tc->val2[2]=y+1;
tc->val2[3]=y;
tc->val2[4]=y-1;
- } else if(dir==7){
+ } else if (dir == UNIT_DIR_NORTHEAST) {
tc->val1[0]=x-3;
tc->val1[1]=x-2;
tc->val1[2]=x-1;
@@ -16019,36 +16092,27 @@ static void skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int
}
-static void skill_brandishspear_dir(struct square *tc, uint8 dir, int are)
+static void skill_brandishspear_dir(struct square *tc, enum unit_dir dir, int are)
{
- int c;
nullpo_retv(tc);
+ Assert_retv(dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
- for( c = 0; c < 5; c++ ) {
- switch( dir ) {
- case 0: tc->val2[c]+=are; break;
- case 1: tc->val1[c]-=are; tc->val2[c]+=are; break;
- case 2: tc->val1[c]-=are; break;
- case 3: tc->val1[c]-=are; tc->val2[c]-=are; break;
- case 4: tc->val2[c]-=are; break;
- case 5: tc->val1[c]+=are; tc->val2[c]-=are; break;
- case 6: tc->val1[c]+=are; break;
- case 7: tc->val1[c]+=are; tc->val2[c]+=are; break;
- }
+ for (int c = 0; c < 5; c++) {
+ tc->val1[c] += dirx[dir] * are;
+ tc->val2[c] += diry[dir] * are;
}
}
static void skill_brandishspear(struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int64 tick, int flag)
{
int c,n=4;
- uint8 dir;
struct square tc;
int x, y;
nullpo_retv(bl);
x = bl->x;
y = bl->y;
- dir = map->calc_dir(src, x, y);
+ enum unit_dir dir = map->calc_dir(src, x, y);
skill->brandishspear_first(&tc,dir,x,y);
skill->brandishspear_dir(&tc,dir,4);
skill->area_temp[1] = bl->id;
@@ -16204,7 +16268,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)
@@ -16388,9 +16452,9 @@ static int skill_sit(struct map_session_data *sd, int type)
}
if( type ) {
- clif->sc_load(&sd->bl,sd->bl.id,SELF,SI_SIT,0,0,0);
+ clif->sc_load(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SIT), 0, 0, 0);
} else {
- clif->sc_end(&sd->bl,sd->bl.id,SELF,SI_SIT);
+ clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_SIT));
}
if (!flag) return 0;
@@ -17075,6 +17139,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);
@@ -18764,7 +18836,7 @@ static int skill_magicdecoy(struct map_session_data *sd, int nameid)
break;
}
- md = mob->once_spawn_sub(&sd->bl, sd->bl.m, x, y, sd->status.name, class_, "", SZ_SMALL, AI_NONE);
+ md = mob->once_spawn_sub(&sd->bl, sd->bl.m, x, y, sd->status.name, class_, "", SZ_SMALL, AI_NONE, 0);
if( md ) {
md->master_id = sd->bl.id;
md->special_state.ai = AI_FLORA;
@@ -19743,23 +19815,23 @@ static int skill_get_elemental_type(uint16 skill_id, uint16 skill_lv)
static void skill_cooldown_save(struct map_session_data *sd)
{
int i;
- struct skill_cd* cd = NULL;
+ struct skill_cd *cd = NULL;
int64 now = 0;
- // always check to make sure the session properly exists
nullpo_retv(sd);
- if( !(cd = idb_get(skill->cd_db, sd->status.char_id)) ) {// no skill cooldown is associated with this character
+ if ((cd = idb_get(skill->cd_db, sd->status.char_id)) == NULL)
return;
- }
now = timer->gettick();
- // process each individual cooldown associated with the character
- for( i = 0; i < cd->cursor; i++ ) {
- cd->entry[i]->duration = DIFF_TICK32(cd->entry[i]->started+cd->entry[i]->duration,now);
- if( cd->entry[i]->timer != INVALID_TIMER ) {
- timer->delete(cd->entry[i]->timer,skill->blockpc_end);
+ for (i = 0; i < cd->cursor; i++) {
+ if (battle_config.guild_skill_relog_delay == 1 && cd->entry[i]->skill_id > GD_SKILLBASE && cd->entry[i]->skill_id < GD_MAX)
+ continue;
+
+ cd->entry[i]->duration = DIFF_TICK32(cd->entry[i]->started + cd->entry[i]->duration, now);
+ if (cd->entry[i]->timer != INVALID_TIMER) {
+ timer->delete(cd->entry[i]->timer, skill->blockpc_end);
cd->entry[i]->timer = INVALID_TIMER;
}
}
@@ -20240,6 +20312,18 @@ 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, "IsCombo") == 0) {
+ if (on) {
+ sk->inf2 |= INF2_IS_COMBO_SKILL;
+ } else {
+ sk->inf2 &= ~INF2_IS_COMBO_SKILL;
+ }
} else if (strcmpi(type, "None") != 0) {
skilldb_invalid_error(type, config_setting_name(t), sk->nameid);
}
@@ -21070,7 +21154,7 @@ static bool skill_read_skilldb(const char *filename)
nullpo_retr(false, filename);
- sprintf(filepath,"db/%s",filename);
+ libconfig->format_db_path(filename, filepath, sizeof(filepath));
if (!libconfig->load_file(&skilldb, filepath)) {
return false; // Libconfig error report.
@@ -21579,6 +21663,7 @@ void skill_defaults(void)
skill->not_ok_hom = skillnotok_hom;
skill->not_ok_hom_unknown = skillnotok_hom_unknown;
skill->not_ok_mercenary = skillnotok_mercenary;
+ skill->validate_autocast_data = skill_validate_autocast_data;
skill->chastle_mob_changetarget = skill_chastle_mob_changetarget;
skill->can_produce_mix = skill_can_produce_mix;
skill->produce_mix = skill_produce_mix;
diff --git a/src/map/skill.h b/src/map/skill.h
index 0ace19927..65195dc75 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -23,6 +23,7 @@
#include "map/map.h" // struct block_list
#include "map/status.h" // enum sc_type
+#include "map/unitdefines.h" // enum unit_dir
#include "common/hercules.h"
#include "common/db.h"
#include "common/mmo.h" // MAX_SKILL_DB, struct square
@@ -59,6 +60,12 @@ struct status_change_entry;
#define MAX_SKILLUNITGROUPTICKSET 25
#define MAX_SKILL_NAME_LENGTH 32
+// Custom Skill Ranges is used in skill_get_index, to allocate indexes based on ID and gaps between 2 SkillID
+#ifndef CUSTOM_SKILL_RANGES
+ #define CUSTOM_SKILL_RANGES
+#endif // CUSTOM_SKILL_RANGES
+
+
// (Epoque:) To-do: replace this macro with some sort of skill tree check (rather than hard-coded skill names)
#define skill_ischangesex(id) ( \
((id) >= BD_ADAPTATION && (id) <= DC_SERVICEFORYOU) || ((id) >= CG_ARROWVULCAN && (id) <= CG_MARIONETTE) || \
@@ -124,6 +131,8 @@ 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)
+ INF2_IS_COMBO_SKILL = 0x100000, // Sets whether a skill can be used in combos or not
};
@@ -1715,6 +1724,15 @@ enum {
UNT_MAX = 0x190
};
+/** Constants to identify the auto-cast type. **/
+enum autocast_type {
+ AUTOCAST_NONE = 0,
+ AUTOCAST_TEMP, // Used when type is only required during the execution of the calling instance. (For example bAutoSpell* skills.)
+ AUTOCAST_ABRA, // Used for Abracadabra (Hocus pocus).
+ AUTOCAST_IMPROVISE, // Used for Improvised Song.
+ AUTOCAST_ITEM, // Used for itemskill() script command.
+};
+
/**
* Structures
**/
@@ -1806,6 +1824,7 @@ struct skill_unit {
int limit;
int val1,val2;
+ bool visible;
short alive,range;
int prev;
};
@@ -1993,7 +2012,7 @@ struct skill_interface {
int (*addtimerskill) (struct block_list *src, int64 tick, int target, int x, int y, uint16 skill_id, uint16 skill_lv, int type, int flag);
int (*additional_effect) (struct block_list* src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int attack_type, int dmg_lv, int64 tick);
int (*counter_additional_effect) (struct block_list* src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int attack_type, int64 tick);
- int (*blown) (struct block_list* src, struct block_list* target, int count, int8 dir, int flag);
+ int (*blown) (struct block_list* src, struct block_list* target, int count, enum unit_dir dir, int flag);
int (*break_equip) (struct block_list *bl, unsigned short where, int rate, int flag);
int (*strip_equip) (struct block_list *bl, unsigned short where, int rate, int lv, int time);
struct skill_unit_group* (*id2group) (int group_id);
@@ -2035,6 +2054,7 @@ struct skill_interface {
int (*not_ok_hom) (uint16 skill_id, struct homun_data *hd);
int (*not_ok_hom_unknown) (uint16 skill_id, struct homun_data *hd);
int (*not_ok_mercenary) (uint16 skill_id, struct mercenary_data *md);
+ void (*validate_autocast_data) (struct map_session_data *sd, int skill_id, int skill_lv);
int (*chastle_mob_changetarget) (struct block_list *bl,va_list ap);
int (*can_produce_mix) ( struct map_session_data *sd, int nameid, int trigger, int qty);
int (*produce_mix) ( struct map_session_data *sd, uint16 skill_id, int nameid, int slot1, int slot2, int slot3, int qty );
@@ -2075,8 +2095,8 @@ struct skill_interface {
bool (*dance_switch) (struct skill_unit* su, int flag);
int (*check_condition_char_sub) (struct block_list *bl, va_list ap);
int (*check_condition_mob_master_sub) (struct block_list *bl, va_list ap);
- void (*brandishspear_first) (struct square *tc, uint8 dir, int16 x, int16 y);
- void (*brandishspear_dir) (struct square* tc, uint8 dir, int are);
+ void (*brandishspear_first) (struct square *tc, enum unit_dir dir, int16 x, int16 y);
+ void (*brandishspear_dir) (struct square* tc, enum unit_dir dir, int are);
int (*get_fixed_cast) (int skill_id, int skill_lv);
int (*sit_count) (struct block_list *bl, va_list ap);
int (*sit_in) (struct block_list *bl, va_list ap);
@@ -2153,7 +2173,7 @@ struct skill_interface {
void (*attack_display_unknown) (int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage);
int (*attack_copy_unknown) (int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
int (*attack_dir_unknown) (int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
- void (*attack_blow_unknown) (int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir);
+ void (*attack_blow_unknown) (int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, enum unit_dir *dir);
void (*attack_post_unknown) (int *attack_type, struct block_list* src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
bool (*timerskill_dead_unknown) (struct block_list *src, struct unit_data *ud, struct skill_timerskill *skl);
void (*timerskill_target_unknown) (int tid, int64 tick, struct block_list *src, struct block_list *target, struct unit_data *ud, struct skill_timerskill *skl);
diff --git a/src/map/status.c b/src/map/status.c
index f06bb0330..d3e85e5be 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -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"
@@ -114,20 +115,27 @@ static unsigned int status_sc2scb_flag(sc_type sc)
/**
* Returns the bl types which require a status change packet to be sent for a given client status identifier.
- * @param type The client-side status identifier to look up (see enum si_type)
+ * @param type status identifier to look up (see enum sc_type)
* @return The bl types relevant to the type (see enum bl_type)
*/
-static int status_type2relevant_bl_types(int type)
+static int status_get_sc_relevant_bl_types(enum sc_type type)
{
- if( type < 0 || type >= SI_MAX ) {
- ShowError("status_type2relevant_bl_types: Unsupported type %d\n", type);
+ if (type < 0 || type >= SC_MAX) {
+ ShowError("status_get_sc_relevant_bl_types: Unsupported type %d\n", type);
return BL_NUL;
}
- return status->dbs->RelevantBLTypes[type];
+ return status->dbs->IconChangeTable[type].relevant_bl_types;
}
-static void status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int flag)
+static int status_get_sc_icon(enum sc_type type)
+{
+ Assert_retr(SI_BLANK, type >= SC_NONE && type < SC_MAX);
+
+ return status->dbs->IconChangeTable[type].id;
+}
+
+static void status_set_sc(uint16 skill_id, sc_type sc, unsigned int flag)
{
uint16 idx;
if( (idx = skill->get_index(skill_id)) == 0 ) {
@@ -141,8 +149,6 @@ static void status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int fl
if( status->dbs->SkillChangeTable[sc] == 0 )
status->dbs->SkillChangeTable[sc] = skill_id;
- if( status->dbs->IconChangeTable[sc] == SI_BLANK )
- status->dbs->IconChangeTable[sc] = icon;
status->dbs->ChangeFlagTable[sc] |= flag;
if( status->dbs->Skill2SCTable[idx] == SC_NONE )
@@ -151,103 +157,102 @@ static void status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int fl
static void initChangeTables(void)
{
-#define add_sc(skill,sc) status->set_sc((skill),(sc),SI_BLANK,SCB_NONE)
+#define add_sc(skill,sc) status->set_sc((skill),(sc),SCB_NONE)
// indicates that the status displays a visual effect for the affected unit, and should be sent to the client for all supported units
-#define set_sc_with_vfx(skill, sc, icon, flag) do { status->set_sc((skill), (sc), (icon), (flag)); if((icon) < SI_MAX) status->dbs->RelevantBLTypes[(icon)] |= BL_SCEFFECT; } while(0)
+#define set_sc_with_vfx(skill, sc, flag) do { status->set_sc((skill), (sc), (flag)); status->dbs->IconChangeTable[sc].relevant_bl_types |= BL_SCEFFECT; } while(0)
int i;
- for (i = 0; i < SC_MAX; i++)
- status->dbs->IconChangeTable[i] = SI_BLANK;
-
for (i = 0; i < MAX_SKILL_DB; i++)
status->dbs->Skill2SCTable[i] = SC_NONE;
- for (i = 0; i < SI_MAX; i++)
- status->dbs->RelevantBLTypes[i] = BL_PC;
+ for (i = 0; i < SC_MAX; i++) {
+ status->dbs->IconChangeTable[i].id = SI_BLANK;
+ status->dbs->IconChangeTable[i].relevant_bl_types = BL_PC;
+ }
memset(status->dbs->SkillChangeTable, 0, sizeof(status->dbs->SkillChangeTable));
memset(status->dbs->ChangeFlagTable, 0, sizeof(status->dbs->ChangeFlagTable));
memset(status->dbs->DisplayType, 0, sizeof(status->dbs->DisplayType));
//First we define the skill for common ailments. These are used in skill_additional_effect through sc cards. [Skotlex]
- status->set_sc( NPC_PETRIFYATTACK , SC_STONE , SI_BLANK , SCB_DEF_ELE|SCB_DEF|SCB_MDEF );
- status->set_sc( NPC_WIDEFREEZE , SC_FREEZE , SI_BLANK , SCB_DEF_ELE|SCB_DEF|SCB_MDEF );
- status->set_sc( NPC_STUNATTACK , SC_STUN , SI_BLANK , SCB_NONE );
- status->set_sc( NPC_SLEEPATTACK , SC_SLEEP , SI_BLANK , SCB_NONE );
- status->set_sc( NPC_POISON , SC_POISON , SI_BLANK , SCB_DEF2|SCB_REGEN );
- status->set_sc( NPC_CURSEATTACK , SC_CURSE , SI_BLANK , SCB_LUK|SCB_BATK|SCB_WATK|SCB_SPEED );
- status->set_sc( NPC_SILENCEATTACK , SC_SILENCE , SI_BLANK , SCB_NONE );
- status->set_sc( NPC_WIDECONFUSE , SC_CONFUSION , SI_BLANK , SCB_NONE );
- status->set_sc( NPC_BLINDATTACK , SC_BLIND , SI_BLANK , SCB_HIT|SCB_FLEE );
- status->set_sc( NPC_BLEEDING , SC_BLOODING , SI_BLOODING , SCB_REGEN );
- status->set_sc( NPC_POISON , SC_DPOISON , SI_BLANK , SCB_DEF2|SCB_REGEN );
+ status->set_sc( NPC_PETRIFYATTACK , SC_STONE , SCB_DEF_ELE|SCB_DEF|SCB_MDEF );
+ status->set_sc( NPC_WIDEFREEZE , SC_FREEZE , SCB_DEF_ELE|SCB_DEF|SCB_MDEF );
+ status->set_sc( NPC_STUNATTACK , SC_STUN , SCB_NONE );
+ status->set_sc( NPC_SLEEPATTACK , SC_SLEEP , SCB_NONE );
+ status->set_sc( NPC_POISON , SC_POISON , SCB_DEF2|SCB_REGEN );
+ status->set_sc( NPC_CURSEATTACK , SC_CURSE , SCB_LUK|SCB_BATK|SCB_WATK|SCB_SPEED );
+ status->set_sc( NPC_SILENCEATTACK , SC_SILENCE , SCB_NONE );
+ status->set_sc( NPC_WIDECONFUSE , SC_CONFUSION , SCB_NONE );
+ status->set_sc( NPC_BLINDATTACK , SC_BLIND , SCB_HIT|SCB_FLEE );
+ status->set_sc( NPC_BLEEDING , SC_BLOODING , SCB_REGEN );
+ status->set_sc( NPC_POISON , SC_DPOISON , SCB_DEF2|SCB_REGEN );
//The main status definitions
add_sc( SM_BASH , SC_STUN );
- status->set_sc( SM_PROVOKE , SC_PROVOKE , SI_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK );
+ status->set_sc( SM_PROVOKE , SC_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK );
add_sc( SM_MAGNUM , SC_SUB_WEAPONPROPERTY );
- status->set_sc( SM_ENDURE , SC_ENDURE , SI_ENDURE , SCB_MDEF|SCB_DSPD );
+ status->set_sc( SM_ENDURE , SC_ENDURE , SCB_MDEF|SCB_DSPD );
add_sc( MG_SIGHT , SC_SIGHT );
add_sc( MG_SAFETYWALL , SC_SAFETYWALL );
add_sc( MG_FROSTDIVER , SC_FREEZE );
add_sc( MG_STONECURSE , SC_STONE );
add_sc( AL_RUWACH , SC_RUWACH );
add_sc( AL_PNEUMA , SC_PNEUMA );
- status->set_sc( AL_INCAGI , SC_INC_AGI , SI_INC_AGI , SCB_AGI|SCB_SPEED );
- status->set_sc( AL_DECAGI , SC_DEC_AGI , SI_DEC_AGI , SCB_AGI|SCB_SPEED );
- status->set_sc( AL_CRUCIS , SC_CRUCIS , SI_CRUCIS , SCB_DEF );
- status->set_sc( AL_ANGELUS , SC_ANGELUS , SI_ANGELUS , SCB_DEF2 );
- status->set_sc( AL_BLESSING , SC_BLESSING , SI_BLESSING , SCB_STR|SCB_INT|SCB_DEX );
- status->set_sc( AC_CONCENTRATION , SC_CONCENTRATION , SI_CONCENTRATION , SCB_AGI|SCB_DEX );
- status->set_sc( TF_HIDING , SC_HIDING , SI_HIDING , SCB_SPEED );
+ status->set_sc( AL_INCAGI , SC_INC_AGI , SCB_AGI|SCB_SPEED );
+ status->set_sc( AL_DECAGI , SC_DEC_AGI , SCB_AGI|SCB_SPEED );
+ status->set_sc( AL_CRUCIS , SC_CRUCIS , SCB_DEF );
+ status->set_sc( AL_ANGELUS , SC_ANGELUS , SCB_DEF2 );
+ status->set_sc( AL_BLESSING , SC_BLESSING , SCB_STR|SCB_INT|SCB_DEX );
+ status->set_sc( AC_CONCENTRATION , SC_CONCENTRATION , SCB_AGI|SCB_DEX );
+ status->set_sc( TF_HIDING , SC_HIDING , SCB_SPEED );
add_sc( TF_POISON , SC_POISON );
- status->set_sc( KN_TWOHANDQUICKEN , SC_TWOHANDQUICKEN , SI_TWOHANDQUICKEN , SCB_ASPD );
+ status->set_sc( KN_TWOHANDQUICKEN , SC_TWOHANDQUICKEN , SCB_ASPD );
add_sc( KN_AUTOCOUNTER , SC_AUTOCOUNTER );
- status->set_sc( PR_IMPOSITIO , SC_IMPOSITIO , SI_IMPOSITIO ,
+ status->set_sc( PR_IMPOSITIO , SC_IMPOSITIO ,
#ifdef RENEWAL
SCB_NONE );
#else
SCB_WATK );
#endif
- status->set_sc( PR_SUFFRAGIUM , SC_SUFFRAGIUM , SI_SUFFRAGIUM , SCB_NONE );
- status->set_sc( PR_ASPERSIO , SC_ASPERSIO , SI_ASPERSIO , SCB_ATK_ELE );
- status->set_sc( PR_BENEDICTIO , SC_BENEDICTIO , SI_BENEDICTIO , SCB_DEF_ELE );
- status->set_sc( PR_SLOWPOISON , SC_SLOWPOISON , SI_SLOWPOISON , SCB_REGEN );
- status->set_sc( PR_KYRIE , SC_KYRIE , SI_KYRIE , SCB_NONE );
- status->set_sc( PR_MAGNIFICAT , SC_MAGNIFICAT , SI_MAGNIFICAT , SCB_REGEN );
- status->set_sc( PR_GLORIA , SC_GLORIA , SI_GLORIA , SCB_LUK );
+ status->set_sc( PR_SUFFRAGIUM , SC_SUFFRAGIUM , SCB_NONE );
+ status->set_sc( PR_ASPERSIO , SC_ASPERSIO , SCB_ATK_ELE );
+ status->set_sc( PR_BENEDICTIO , SC_BENEDICTIO , SCB_DEF_ELE );
+ status->set_sc( PR_SLOWPOISON , SC_SLOWPOISON , SCB_REGEN );
+ status->set_sc( PR_KYRIE , SC_KYRIE , SCB_NONE );
+ status->set_sc( PR_MAGNIFICAT , SC_MAGNIFICAT , SCB_REGEN );
+ status->set_sc( PR_GLORIA , SC_GLORIA , SCB_LUK );
add_sc( PR_LEXDIVINA , SC_SILENCE );
- status->set_sc( PR_LEXAETERNA , SC_LEXAETERNA , SI_LEXAETERNA , SCB_NONE );
+ status->set_sc( PR_LEXAETERNA , SC_LEXAETERNA , SCB_NONE );
add_sc( WZ_METEOR , SC_STUN );
add_sc( WZ_VERMILION , SC_BLIND );
add_sc( WZ_FROSTNOVA , SC_FREEZE );
add_sc( WZ_STORMGUST , SC_FREEZE );
- status->set_sc( WZ_QUAGMIRE , SC_QUAGMIRE , SI_QUAGMIRE , SCB_AGI|SCB_DEX|SCB_ASPD|SCB_SPEED );
- status->set_sc( BS_ADRENALINE , SC_ADRENALINE , SI_ADRENALINE , SCB_ASPD );
- status->set_sc( BS_WEAPONPERFECT , SC_WEAPONPERFECT , SI_WEAPONPERFECT, SCB_NONE );
- status->set_sc( BS_OVERTHRUST , SC_OVERTHRUST , SI_OVERTHRUST , SCB_NONE );
- status->set_sc( BS_MAXIMIZE , SC_MAXIMIZEPOWER , SI_MAXIMIZE , SCB_REGEN );
+ status->set_sc( WZ_QUAGMIRE , SC_QUAGMIRE , SCB_AGI|SCB_DEX|SCB_ASPD|SCB_SPEED );
+ status->set_sc( BS_ADRENALINE , SC_ADRENALINE , SCB_ASPD );
+ status->set_sc( BS_WEAPONPERFECT , SC_WEAPONPERFECT , SCB_NONE );
+ status->set_sc( BS_OVERTHRUST , SC_OVERTHRUST , SCB_NONE );
+ status->set_sc( BS_MAXIMIZE , SC_MAXIMIZEPOWER , SCB_REGEN );
add_sc( HT_LANDMINE , SC_STUN );
- status->set_sc( HT_ANKLESNARE , SC_ANKLESNARE , SI_ANKLESNARE , SCB_NONE );
+ status->set_sc( HT_ANKLESNARE , SC_ANKLESNARE , SCB_NONE );
add_sc( HT_SANDMAN , SC_SLEEP );
add_sc( HT_FLASHER , SC_BLIND );
add_sc( HT_FREEZINGTRAP , SC_FREEZE );
- status->set_sc( AS_CLOAKING , SC_CLOAKING , SI_CLOAKING , SCB_CRI|SCB_SPEED );
+ status->set_sc( AS_CLOAKING , SC_CLOAKING , SCB_CRI|SCB_SPEED );
add_sc( AS_SONICBLOW , SC_STUN );
- status->set_sc( AS_ENCHANTPOISON , SC_ENCHANTPOISON , SI_ENCHANTPOISON, SCB_ATK_ELE );
- status->set_sc( AS_POISONREACT , SC_POISONREACT , SI_POISONREACT , SCB_NONE );
+ status->set_sc( AS_ENCHANTPOISON , SC_ENCHANTPOISON , SCB_ATK_ELE );
+ status->set_sc( AS_POISONREACT , SC_POISONREACT , SCB_NONE );
add_sc( AS_VENOMDUST , SC_POISON );
add_sc( AS_SPLASHER , SC_SPLASHER );
- status->set_sc( NV_TRICKDEAD , SC_TRICKDEAD , SI_TRICKDEAD , SCB_REGEN );
- status->set_sc( SM_AUTOBERSERK , SC_AUTOBERSERK , SI_AUTOBERSERK , SCB_NONE );
+ status->set_sc( NV_TRICKDEAD , SC_TRICKDEAD , SCB_REGEN );
+ status->set_sc( SM_AUTOBERSERK , SC_AUTOBERSERK , SCB_NONE );
add_sc( TF_SPRINKLESAND , SC_BLIND );
add_sc( TF_THROWSTONE , SC_STUN );
- status->set_sc( MC_LOUD , SC_SHOUT , SI_SHOUT , SCB_STR );
- status->set_sc( MG_ENERGYCOAT , SC_ENERGYCOAT , SI_ENERGYCOAT , SCB_NONE );
- status->set_sc( NPC_EMOTION , SC_MODECHANGE , SI_BLANK , SCB_MODE );
+ status->set_sc( MC_LOUD , SC_SHOUT , SCB_STR );
+ status->set_sc( MG_ENERGYCOAT , SC_ENERGYCOAT , SCB_NONE );
+ status->set_sc( NPC_EMOTION , SC_MODECHANGE , SCB_MODE );
add_sc( NPC_EMOTION_ON , SC_MODECHANGE );
- status->set_sc( NPC_ATTRICHANGE , SC_ARMOR_PROPERTY , SI_ARMOR_PROPERTY , SCB_DEF_ELE );
+ status->set_sc( NPC_ATTRICHANGE , SC_ARMOR_PROPERTY , SCB_DEF_ELE );
add_sc( NPC_CHANGEWATER , SC_ARMOR_PROPERTY );
add_sc( NPC_CHANGEGROUND , SC_ARMOR_PROPERTY );
add_sc( NPC_CHANGEFIRE , SC_ARMOR_PROPERTY );
@@ -264,184 +269,184 @@ static void initChangeTables(void)
add_sc( NPC_CURSEATTACK , SC_CURSE );
add_sc( NPC_SLEEPATTACK , SC_SLEEP );
add_sc( NPC_MAGICALATTACK , SC_MAGICALATTACK );
- status->set_sc( NPC_KEEPING , SC_KEEPING , SI_BLANK , SCB_DEF );
+ status->set_sc( NPC_KEEPING , SC_KEEPING , SCB_DEF );
add_sc( NPC_DARKBLESSING , SC_COMA );
- status->set_sc( NPC_BARRIER , SC_BARRIER , SI_BLANK , SCB_MDEF|SCB_DEF );
+ status->set_sc( NPC_BARRIER , SC_BARRIER , SCB_MDEF|SCB_DEF );
add_sc( NPC_DEFENDER , SC_ARMOR );
add_sc( NPC_LICK , SC_STUN );
- status->set_sc( NPC_HALLUCINATION , SC_ILLUSION , SI_ILLUSION , SCB_NONE );
+ status->set_sc( NPC_HALLUCINATION , SC_ILLUSION , SCB_NONE );
add_sc( NPC_REBIRTH , SC_REBIRTH );
add_sc( RG_RAID , SC_STUN );
#ifdef RENEWAL
add_sc( RG_RAID , SC_RAID );
add_sc( RG_BACKSTAP , SC_STUN );
#endif
- status->set_sc( RG_STRIPWEAPON , SC_NOEQUIPWEAPON , SI_NOEQUIPWEAPON , SCB_WATK );
- status->set_sc( RG_STRIPSHIELD , SC_NOEQUIPSHIELD , SI_NOEQUIPSHIELD , SCB_DEF );
- status->set_sc( RG_STRIPARMOR , SC_NOEQUIPARMOR , SI_NOEQUIPARMOR , SCB_VIT );
- status->set_sc( RG_STRIPHELM , SC_NOEQUIPHELM , SI_NOEQUIPHELM , SCB_INT );
+ status->set_sc( RG_STRIPWEAPON , SC_NOEQUIPWEAPON , SCB_WATK );
+ status->set_sc( RG_STRIPSHIELD , SC_NOEQUIPSHIELD , SCB_DEF );
+ status->set_sc( RG_STRIPARMOR , SC_NOEQUIPARMOR , SCB_VIT );
+ status->set_sc( RG_STRIPHELM , SC_NOEQUIPHELM , SCB_INT );
add_sc( AM_ACIDTERROR , SC_BLOODING );
- status->set_sc( AM_CP_WEAPON , SC_PROTECTWEAPON , SI_PROTECTWEAPON , SCB_NONE );
- status->set_sc( AM_CP_SHIELD , SC_PROTECTSHIELD , SI_PROTECTSHIELD , SCB_NONE );
- status->set_sc( AM_CP_ARMOR , SC_PROTECTARMOR , SI_PROTECTARMOR , SCB_NONE );
- status->set_sc( AM_CP_HELM , SC_PROTECTHELM , SI_PROTECTHELM , SCB_NONE );
- status->set_sc( CR_AUTOGUARD , SC_AUTOGUARD , SI_AUTOGUARD , SCB_NONE );
+ status->set_sc( AM_CP_WEAPON , SC_PROTECTWEAPON , SCB_NONE );
+ status->set_sc( AM_CP_SHIELD , SC_PROTECTSHIELD , SCB_NONE );
+ status->set_sc( AM_CP_ARMOR , SC_PROTECTARMOR , SCB_NONE );
+ status->set_sc( AM_CP_HELM , SC_PROTECTHELM , SCB_NONE );
+ status->set_sc( CR_AUTOGUARD , SC_AUTOGUARD , SCB_NONE );
add_sc( CR_SHIELDCHARGE , SC_STUN );
- status->set_sc( CR_REFLECTSHIELD , SC_REFLECTSHIELD , SI_REFLECTSHIELD , SCB_NONE );
+ status->set_sc( CR_REFLECTSHIELD , SC_REFLECTSHIELD , SCB_NONE );
add_sc( CR_HOLYCROSS , SC_BLIND );
add_sc( CR_GRANDCROSS , SC_BLIND );
add_sc( CR_DEVOTION , SC_DEVOTION );
- status->set_sc( CR_PROVIDENCE , SC_PROVIDENCE , SI_PROVIDENCE , SCB_ALL );
- status->set_sc( CR_DEFENDER , SC_DEFENDER , SI_DEFENDER , SCB_SPEED|SCB_ASPD );
- status->set_sc( CR_SPEARQUICKEN , SC_SPEARQUICKEN , SI_SPEARQUICKEN , SCB_ASPD|SCB_CRI|SCB_FLEE );
- status->set_sc( MO_STEELBODY , SC_STEELBODY , SI_STEELBODY , SCB_DEF|SCB_MDEF|SCB_ASPD|SCB_SPEED );
+ status->set_sc( CR_PROVIDENCE , SC_PROVIDENCE , SCB_ALL );
+ status->set_sc( CR_DEFENDER , SC_DEFENDER , SCB_SPEED|SCB_ASPD );
+ status->set_sc( CR_SPEARQUICKEN , SC_SPEARQUICKEN , SCB_ASPD|SCB_CRI|SCB_FLEE );
+ status->set_sc( MO_STEELBODY , SC_STEELBODY , SCB_DEF|SCB_MDEF|SCB_ASPD|SCB_SPEED );
add_sc( MO_BLADESTOP , SC_BLADESTOP_WAIT );
add_sc( MO_BLADESTOP , SC_BLADESTOP );
- status->set_sc( MO_EXPLOSIONSPIRITS , SC_EXPLOSIONSPIRITS, SI_EXPLOSIONSPIRITS, SCB_CRI|SCB_REGEN );
- status->set_sc( MO_EXTREMITYFIST , SC_EXTREMITYFIST , SI_BLANK , SCB_REGEN );
+ status->set_sc( MO_EXPLOSIONSPIRITS , SC_EXPLOSIONSPIRITS, SCB_CRI|SCB_REGEN );
+ status->set_sc( MO_EXTREMITYFIST , SC_EXTREMITYFIST , SCB_REGEN );
#ifdef RENEWAL
- status->set_sc( MO_EXTREMITYFIST , SC_EXTREMITYFIST2 , SI_EXTREMITYFIST , SCB_NONE );
+ status->set_sc( MO_EXTREMITYFIST , SC_EXTREMITYFIST2 , SCB_NONE );
#endif
add_sc( SA_MAGICROD , SC_MAGICROD );
- status->set_sc( SA_AUTOSPELL , SC_AUTOSPELL , SI_AUTOSPELL , SCB_NONE );
- status->set_sc( SA_FLAMELAUNCHER , SC_PROPERTYFIRE , SI_PROPERTYFIRE , SCB_ATK_ELE );
- status->set_sc( SA_FROSTWEAPON , SC_PROPERTYWATER , SI_PROPERTYWATER , SCB_ATK_ELE );
- status->set_sc( SA_LIGHTNINGLOADER , SC_PROPERTYWIND , SI_PROPERTYWIND , SCB_ATK_ELE );
- status->set_sc( SA_SEISMICWEAPON , SC_PROPERTYGROUND , SI_PROPERTYGROUND , SCB_ATK_ELE );
- status->set_sc( SA_VOLCANO , SC_VOLCANO , SI_GROUNDMAGIC , SCB_WATK );
- status->set_sc( SA_DELUGE , SC_DELUGE , SI_GROUNDMAGIC , SCB_MAXHP );
- status->set_sc( SA_VIOLENTGALE , SC_VIOLENTGALE , SI_GROUNDMAGIC , SCB_FLEE );
+ status->set_sc( SA_AUTOSPELL , SC_AUTOSPELL , SCB_NONE );
+ status->set_sc( SA_FLAMELAUNCHER , SC_PROPERTYFIRE , SCB_ATK_ELE );
+ status->set_sc( SA_FROSTWEAPON , SC_PROPERTYWATER , SCB_ATK_ELE );
+ status->set_sc( SA_LIGHTNINGLOADER , SC_PROPERTYWIND , SCB_ATK_ELE );
+ status->set_sc( SA_SEISMICWEAPON , SC_PROPERTYGROUND , SCB_ATK_ELE );
+ status->set_sc( SA_VOLCANO , SC_VOLCANO , SCB_WATK );
+ status->set_sc( SA_DELUGE , SC_DELUGE , SCB_MAXHP );
+ status->set_sc( SA_VIOLENTGALE , SC_VIOLENTGALE , SCB_FLEE );
add_sc( SA_REVERSEORCISH , SC_ORCISH );
add_sc( SA_COMA , SC_COMA );
- status->set_sc( BD_ENCORE , SC_DANCING , SI_BLANK , SCB_SPEED|SCB_REGEN );
+ status->set_sc( BD_ENCORE , SC_DANCING , SCB_SPEED|SCB_REGEN );
add_sc( BD_RICHMANKIM , SC_RICHMANKIM );
- status->set_sc( BD_ETERNALCHAOS , SC_ETERNALCHAOS , SI_BLANK , SCB_DEF2 );
- status->set_sc( BD_DRUMBATTLEFIELD , SC_DRUMBATTLE , SI_BLANK , SCB_WATK|SCB_DEF );
- status->set_sc( BD_RINGNIBELUNGEN , SC_NIBELUNGEN , SI_BLANK , SCB_WATK );
+ status->set_sc( BD_ETERNALCHAOS , SC_ETERNALCHAOS , SCB_DEF2 );
+ status->set_sc( BD_DRUMBATTLEFIELD , SC_DRUMBATTLE , SCB_WATK|SCB_DEF );
+ status->set_sc( BD_RINGNIBELUNGEN , SC_NIBELUNGEN , SCB_WATK );
add_sc( BD_ROKISWEIL , SC_ROKISWEIL );
add_sc( BD_INTOABYSS , SC_INTOABYSS );
- status->set_sc( BD_SIEGFRIED , SC_SIEGFRIED , SI_BLANK , SCB_ALL );
+ status->set_sc( BD_SIEGFRIED , SC_SIEGFRIED , SCB_ALL );
add_sc( BA_FROSTJOKER , SC_FREEZE );
- status->set_sc( BA_WHISTLE , SC_WHISTLE , SI_BLANK , SCB_FLEE|SCB_FLEE2 );
- status->set_sc( BA_ASSASSINCROSS , SC_ASSNCROS , SI_BLANK , SCB_ASPD );
+ status->set_sc( BA_WHISTLE , SC_WHISTLE , SCB_FLEE|SCB_FLEE2 );
+ status->set_sc( BA_ASSASSINCROSS , SC_ASSNCROS , SCB_ASPD );
add_sc( BA_POEMBRAGI , SC_POEMBRAGI );
- status->set_sc( BA_APPLEIDUN , SC_APPLEIDUN , SI_BLANK , SCB_MAXHP );
+ status->set_sc( BA_APPLEIDUN , SC_APPLEIDUN , SCB_MAXHP );
add_sc( DC_SCREAM , SC_STUN );
- status->set_sc( DC_HUMMING , SC_HUMMING , SI_BLANK , SCB_HIT );
- status->set_sc( DC_DONTFORGETME , SC_DONTFORGETME , SI_BLANK , SCB_SPEED|SCB_ASPD );
- status->set_sc( DC_FORTUNEKISS , SC_FORTUNE , SI_BLANK , SCB_CRI );
- status->set_sc( DC_SERVICEFORYOU , SC_SERVICEFORYOU , SI_BLANK , SCB_ALL );
+ status->set_sc( DC_HUMMING , SC_HUMMING , SCB_HIT );
+ status->set_sc( DC_DONTFORGETME , SC_DONTFORGETME , SCB_SPEED|SCB_ASPD );
+ status->set_sc( DC_FORTUNEKISS , SC_FORTUNE , SCB_CRI );
+ status->set_sc( DC_SERVICEFORYOU , SC_SERVICEFORYOU , SCB_ALL );
add_sc( NPC_DARKCROSS , SC_BLIND );
add_sc( NPC_GRANDDARKNESS , SC_BLIND );
- status->set_sc( NPC_STOP , SC_STOP , SI_STOP , SCB_NONE );
- status->set_sc( NPC_WEAPONBRAKER , SC_BROKENWEAPON , SI_BROKENWEAPON , SCB_NONE );
- status->set_sc( NPC_ARMORBRAKE , SC_BROKENARMOR , SI_BROKENARMOR , SCB_NONE );
- status->set_sc( NPC_CHANGEUNDEAD , SC_PROPERTYUNDEAD , SI_PROPERTYUNDEAD , SCB_DEF_ELE );
- status->set_sc( NPC_POWERUP , SC_INCHITRATE , SI_BLANK , SCB_HIT );
- status->set_sc( NPC_AGIUP , SC_INCFLEERATE , SI_BLANK , SCB_FLEE );
+ status->set_sc( NPC_STOP , SC_STOP , SCB_NONE );
+ status->set_sc( NPC_WEAPONBRAKER , SC_BROKENWEAPON , SCB_NONE );
+ status->set_sc( NPC_ARMORBRAKE , SC_BROKENARMOR , SCB_NONE );
+ status->set_sc( NPC_CHANGEUNDEAD , SC_PROPERTYUNDEAD , SCB_DEF_ELE );
+ status->set_sc( NPC_POWERUP , SC_INCHITRATE , SCB_HIT );
+ status->set_sc( NPC_AGIUP , SC_INCFLEERATE , SCB_FLEE );
add_sc( NPC_INVISIBLE , SC_CLOAKING );
- status->set_sc( LK_AURABLADE , SC_AURABLADE , SI_AURABLADE , SCB_NONE );
- status->set_sc( LK_PARRYING , SC_PARRYING , SI_PARRYING , SCB_NONE );
+ status->set_sc( LK_AURABLADE , SC_AURABLADE , SCB_NONE );
+ status->set_sc( LK_PARRYING , SC_PARRYING , SCB_NONE );
#ifndef RENEWAL
- status->set_sc( LK_CONCENTRATION , SC_LKCONCENTRATION , SI_LKCONCENTRATION , SCB_BATK|SCB_WATK|SCB_HIT|SCB_DEF|SCB_DEF2);
+ status->set_sc( LK_CONCENTRATION , SC_LKCONCENTRATION , SCB_BATK|SCB_WATK|SCB_HIT|SCB_DEF|SCB_DEF2);
#else
- status->set_sc( LK_CONCENTRATION , SC_LKCONCENTRATION , SI_LKCONCENTRATION , SCB_HIT|SCB_DEF);
+ status->set_sc( LK_CONCENTRATION , SC_LKCONCENTRATION , SCB_HIT|SCB_DEF);
#endif
- status->set_sc( LK_TENSIONRELAX , SC_TENSIONRELAX , SI_TENSIONRELAX , SCB_REGEN );
- status->set_sc( LK_BERSERK , SC_BERSERK , SI_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN );
- status->set_sc( HP_ASSUMPTIO , SC_ASSUMPTIO , SI_ASSUMPTIO , SCB_NONE );
+ status->set_sc( LK_TENSIONRELAX , SC_TENSIONRELAX , SCB_REGEN );
+ status->set_sc( LK_BERSERK , SC_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN );
+ status->set_sc( HP_ASSUMPTIO , SC_ASSUMPTIO , SCB_NONE );
add_sc( HP_BASILICA , SC_BASILICA );
- status->set_sc( HW_MAGICPOWER , SC_MAGICPOWER , SI_MAGICPOWER , SCB_MATK );
+ status->set_sc( HW_MAGICPOWER , SC_MAGICPOWER , SCB_MATK );
add_sc( PA_SACRIFICE , SC_SACRIFICE );
- status->set_sc( PA_GOSPEL , SC_GOSPEL , SI_BLANK , SCB_SPEED|SCB_ASPD );
+ status->set_sc( PA_GOSPEL , SC_GOSPEL , SCB_SPEED|SCB_ASPD );
add_sc( PA_GOSPEL , SC_SCRESIST );
add_sc( CH_TIGERFIST , SC_STOP );
- status->set_sc( ASC_EDP , SC_EDP , SI_EDP , SCB_NONE );
- status->set_sc( SN_SIGHT , SC_TRUESIGHT , SI_TRUESIGHT , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK|SCB_CRI|SCB_HIT );
- status->set_sc( SN_WINDWALK , SC_WINDWALK , SI_WINDWALK , SCB_FLEE|SCB_SPEED );
- status->set_sc( WS_MELTDOWN , SC_MELTDOWN , SI_MELTDOWN , SCB_NONE );
- status->set_sc( WS_CARTBOOST , SC_CARTBOOST , SI_CARTBOOST , SCB_SPEED );
- status->set_sc( ST_CHASEWALK , SC_CHASEWALK , SI_BLANK , SCB_SPEED );
- status->set_sc( ST_REJECTSWORD , SC_SWORDREJECT , SI_SWORDREJECT , SCB_NONE );
+ status->set_sc( ASC_EDP , SC_EDP , SCB_NONE );
+ status->set_sc( SN_SIGHT , SC_TRUESIGHT , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK|SCB_CRI|SCB_HIT );
+ status->set_sc( SN_WINDWALK , SC_WINDWALK , SCB_FLEE|SCB_SPEED );
+ status->set_sc( WS_MELTDOWN , SC_MELTDOWN , SCB_NONE );
+ status->set_sc( WS_CARTBOOST , SC_CARTBOOST , SCB_SPEED );
+ status->set_sc( ST_CHASEWALK , SC_CHASEWALK , SCB_SPEED );
+ status->set_sc( ST_REJECTSWORD , SC_SWORDREJECT , SCB_NONE );
add_sc( ST_REJECTSWORD , SC_AUTOCOUNTER );
- status->set_sc( CG_MARIONETTE , SC_MARIONETTE_MASTER , SI_MARIONETTE_MASTER , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
- status->set_sc( CG_MARIONETTE , SC_MARIONETTE , SI_MARIONETTE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
+ status->set_sc( CG_MARIONETTE , SC_MARIONETTE_MASTER , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
+ status->set_sc( CG_MARIONETTE , SC_MARIONETTE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
add_sc( LK_SPIRALPIERCE , SC_STOP );
add_sc( LK_HEADCRUSH , SC_BLOODING );
- status->set_sc( LK_JOINTBEAT , SC_JOINTBEAT , SI_JOINTBEAT , SCB_BATK|SCB_DEF2|SCB_SPEED|SCB_ASPD );
+ status->set_sc( LK_JOINTBEAT , SC_JOINTBEAT , SCB_BATK|SCB_DEF2|SCB_SPEED|SCB_ASPD );
add_sc( HW_NAPALMVULCAN , SC_CURSE );
- status->set_sc( PF_MINDBREAKER , SC_MINDBREAKER , SI_BLANK , SCB_MATK|SCB_MDEF2 );
+ status->set_sc( PF_MINDBREAKER , SC_MINDBREAKER , SCB_MATK|SCB_MDEF2 );
add_sc( PF_MEMORIZE , SC_MEMORIZE );
add_sc( PF_FOGWALL , SC_FOGWALL );
- status->set_sc( PF_SPIDERWEB , SC_SPIDERWEB , SI_BLANK , SCB_FLEE );
- status->set_sc( WE_BABY , SC_BABY , SI_PROTECTEXP , SCB_NONE );
- status->set_sc( TK_RUN , SC_RUN , SI_RUN , SCB_SPEED|SCB_DSPD );
- status->set_sc( TK_RUN , SC_STRUP , SI_STRUP , SCB_STR );
- status->set_sc( TK_READYSTORM , SC_STORMKICK_READY , SI_STORMKICK_ON , SCB_NONE );
- status->set_sc( TK_READYDOWN , SC_DOWNKICK_READY , SI_DOWNKICK_ON , SCB_NONE );
+ status->set_sc( PF_SPIDERWEB , SC_SPIDERWEB , SCB_FLEE );
+ status->set_sc( WE_BABY , SC_BABY , SCB_NONE );
+ status->set_sc( TK_RUN , SC_RUN , SCB_SPEED|SCB_DSPD );
+ status->set_sc( TK_RUN , SC_STRUP , SCB_STR );
+ status->set_sc( TK_READYSTORM , SC_STORMKICK_READY , SCB_NONE );
+ status->set_sc( TK_READYDOWN , SC_DOWNKICK_READY , SCB_NONE );
add_sc( TK_DOWNKICK , SC_STUN );
- status->set_sc( TK_READYTURN , SC_TURNKICK_READY , SI_TURNKICK_ON , SCB_NONE );
- status->set_sc( TK_READYCOUNTER , SC_COUNTERKICK_READY , SI_COUNTER_ON , SCB_NONE );
- status->set_sc( TK_DODGE , SC_DODGE_READY , SI_DODGE_ON , SCB_NONE );
- status->set_sc( TK_SPTIME , SC_EARTHSCROLL , SI_EARTHSCROLL , SCB_NONE );
+ status->set_sc( TK_READYTURN , SC_TURNKICK_READY , SCB_NONE );
+ status->set_sc( TK_READYCOUNTER , SC_COUNTERKICK_READY , SCB_NONE );
+ status->set_sc( TK_DODGE , SC_DODGE_READY , SCB_NONE );
+ status->set_sc( TK_SPTIME , SC_EARTHSCROLL , SCB_NONE );
add_sc( TK_SEVENWIND , SC_TK_SEVENWIND );
- status->set_sc( TK_SEVENWIND , SC_PROPERTYTELEKINESIS , SI_PROPERTYTELEKINESIS , SCB_ATK_ELE );
- status->set_sc( TK_SEVENWIND , SC_PROPERTYDARK , SI_PROPERTYDARK , SCB_ATK_ELE );
- status->set_sc( SG_SUN_WARM , SC_WARM , SI_SG_SUN_WARM , SCB_NONE );
+ status->set_sc( TK_SEVENWIND , SC_PROPERTYTELEKINESIS , SCB_ATK_ELE );
+ status->set_sc( TK_SEVENWIND , SC_PROPERTYDARK , SCB_ATK_ELE );
+ status->set_sc( SG_SUN_WARM , SC_WARM , SCB_NONE );
add_sc( SG_MOON_WARM , SC_WARM );
add_sc( SG_STAR_WARM , SC_WARM );
- status->set_sc( SG_SUN_COMFORT , SC_SUN_COMFORT , SI_SUN_COMFORT , SCB_DEF2 );
- status->set_sc( SG_MOON_COMFORT , SC_MOON_COMFORT , SI_MOON_COMFORT , SCB_FLEE );
- status->set_sc( SG_STAR_COMFORT , SC_STAR_COMFORT , SI_STAR_COMFORT , SCB_ASPD );
+ status->set_sc( SG_SUN_COMFORT , SC_SUN_COMFORT , SCB_DEF2 );
+ status->set_sc( SG_MOON_COMFORT , SC_MOON_COMFORT , SCB_FLEE );
+ status->set_sc( SG_STAR_COMFORT , SC_STAR_COMFORT , SCB_ASPD );
add_sc( SG_FRIEND , SC_SKILLRATE_UP );
- status->set_sc( SG_KNOWLEDGE , SC_KNOWLEDGE , SI_BLANK , SCB_ALL );
- status->set_sc( SG_FUSION , SC_FUSION , SI_BLANK , SCB_SPEED );
- status->set_sc( BS_ADRENALINE2 , SC_ADRENALINE2 , SI_ADRENALINE2 , SCB_ASPD );
- status->set_sc( SL_KAIZEL , SC_KAIZEL , SI_KAIZEL , SCB_NONE );
- status->set_sc( SL_KAAHI , SC_KAAHI , SI_KAAHI , SCB_NONE );
- status->set_sc( SL_KAUPE , SC_KAUPE , SI_KAUPE , SCB_NONE );
- status->set_sc( SL_KAITE , SC_KAITE , SI_KAITE , SCB_NONE );
+ status->set_sc( SG_KNOWLEDGE , SC_KNOWLEDGE , SCB_ALL );
+ status->set_sc( SG_FUSION , SC_FUSION , SCB_SPEED );
+ status->set_sc( BS_ADRENALINE2 , SC_ADRENALINE2 , SCB_ASPD );
+ status->set_sc( SL_KAIZEL , SC_KAIZEL , SCB_NONE );
+ status->set_sc( SL_KAAHI , SC_KAAHI , SCB_NONE );
+ status->set_sc( SL_KAUPE , SC_KAUPE , SCB_NONE );
+ status->set_sc( SL_KAITE , SC_KAITE , SCB_NONE );
add_sc( SL_STUN , SC_STUN );
- status->set_sc( SL_SWOO , SC_SWOO , SI_BLANK , SCB_SPEED );
- status->set_sc( SL_SKE , SC_SKE , SI_BLANK , SCB_BATK|SCB_WATK|SCB_DEF|SCB_DEF2 );
- status->set_sc( SL_SKA , SC_SKA , SI_BLANK , SCB_DEF|SCB_MDEF|SCB_ASPD );
- status->set_sc( SL_SMA , SC_SMA_READY , SI_SMA_READY , SCB_NONE );
- status->set_sc( SM_SELFPROVOKE , SC_PROVOKE , SI_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK );
- status->set_sc( ST_PRESERVE , SC_PRESERVE , SI_PRESERVE , SCB_NONE );
- status->set_sc( PF_DOUBLECASTING , SC_DOUBLECASTING , SI_DOUBLECASTING , SCB_NONE );
- status->set_sc( HW_GRAVITATION , SC_GRAVITATION , SI_BLANK , SCB_ASPD );
+ status->set_sc( SL_SWOO , SC_SWOO , SCB_SPEED );
+ status->set_sc( SL_SKE , SC_SKE , SCB_BATK|SCB_WATK|SCB_DEF|SCB_DEF2 );
+ status->set_sc( SL_SKA , SC_SKA , SCB_DEF|SCB_MDEF|SCB_ASPD );
+ status->set_sc( SL_SMA , SC_SMA_READY , SCB_NONE );
+ status->set_sc( SM_SELFPROVOKE , SC_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK );
+ status->set_sc( ST_PRESERVE , SC_PRESERVE , SCB_NONE );
+ status->set_sc( PF_DOUBLECASTING , SC_DOUBLECASTING , SCB_NONE );
+ status->set_sc( HW_GRAVITATION , SC_GRAVITATION , SCB_ASPD );
add_sc( WS_CARTTERMINATION , SC_STUN );
- status->set_sc( WS_OVERTHRUSTMAX , SC_OVERTHRUSTMAX , SI_OVERTHRUSTMAX , SCB_NONE );
- status->set_sc( CG_LONGINGFREEDOM , SC_LONGING , SI_BLANK , SCB_SPEED|SCB_ASPD );
+ status->set_sc( WS_OVERTHRUSTMAX , SC_OVERTHRUSTMAX , SCB_NONE );
+ status->set_sc( CG_LONGINGFREEDOM , SC_LONGING , SCB_SPEED|SCB_ASPD );
add_sc( CG_HERMODE , SC_HERMODE );
- status->set_sc( CG_TAROTCARD , SC_TAROTCARD , SI_TAROTCARD , SCB_NONE );
- status->set_sc( ITEM_ENCHANTARMS , SC_ENCHANTARMS , SI_BLANK , SCB_ATK_ELE );
- status->set_sc( SL_HIGH , SC_SOULLINK , SI_SOULLINK , SCB_ALL );
- status->set_sc( KN_ONEHAND , SC_ONEHANDQUICKEN , SI_ONEHANDQUICKEN , SCB_ASPD );
- status->set_sc( GS_FLING , SC_FLING , SI_BLANK , SCB_DEF|SCB_DEF2 );
+ status->set_sc( CG_TAROTCARD , SC_TAROTCARD , SCB_NONE );
+ status->set_sc( ITEM_ENCHANTARMS , SC_ENCHANTARMS , SCB_ATK_ELE );
+ status->set_sc( SL_HIGH , SC_SOULLINK , SCB_ALL );
+ status->set_sc( KN_ONEHAND , SC_ONEHANDQUICKEN , SCB_ASPD );
+ status->set_sc( GS_FLING , SC_FLING , SCB_DEF|SCB_DEF2 );
add_sc( GS_CRACKER , SC_STUN );
add_sc( GS_DISARM , SC_NOEQUIPWEAPON );
add_sc( GS_PIERCINGSHOT , SC_BLOODING );
- status->set_sc( GS_MADNESSCANCEL , SC_GS_MADNESSCANCEL , SI_GS_MADNESSCANCEL , SCB_ASPD
+ status->set_sc( GS_MADNESSCANCEL , SC_GS_MADNESSCANCEL , SCB_ASPD
#ifndef RENEWAL
|SCB_BATK );
#else
);
#endif
- status->set_sc( GS_ADJUSTMENT , SC_GS_ADJUSTMENT , SI_GS_ADJUSTMENT , SCB_HIT|SCB_FLEE );
- status->set_sc( GS_INCREASING , SC_GS_ACCURACY , SI_GS_ACCURACY , SCB_AGI|SCB_DEX|SCB_HIT );
- status->set_sc( GS_GATLINGFEVER , SC_GS_GATLINGFEVER , SI_GS_GATLINGFEVER , SCB_FLEE|SCB_SPEED|SCB_ASPD
+ status->set_sc( GS_ADJUSTMENT , SC_GS_ADJUSTMENT , SCB_HIT|SCB_FLEE );
+ status->set_sc( GS_INCREASING , SC_GS_ACCURACY , SCB_AGI|SCB_DEX|SCB_HIT );
+ status->set_sc( GS_GATLINGFEVER , SC_GS_GATLINGFEVER , SCB_FLEE|SCB_SPEED|SCB_ASPD
#ifndef RENEWAL
|SCB_BATK );
#else
);
#endif
- status->set_sc( NJ_TATAMIGAESHI , SC_NJ_TATAMIGAESHI , SI_BLANK , SCB_NONE );
- status->set_sc( NJ_SUITON , SC_NJ_SUITON , SI_NJ_SUITON , SCB_AGI|SCB_SPEED );
+ status->set_sc( NJ_TATAMIGAESHI , SC_NJ_TATAMIGAESHI , SCB_NONE );
+ status->set_sc( NJ_SUITON , SC_NJ_SUITON , SCB_AGI|SCB_SPEED );
add_sc( NJ_HYOUSYOURAKU , SC_FREEZE );
- status->set_sc( NJ_NEN , SC_NJ_NEN , SI_NJ_NEN , SCB_STR|SCB_INT );
- status->set_sc( NJ_UTSUSEMI , SC_NJ_UTSUSEMI , SI_NJ_UTSUSEMI , SCB_NONE );
- status->set_sc( NJ_BUNSINJYUTSU , SC_NJ_BUNSINJYUTSU , SI_NJ_BUNSINJYUTSU , SCB_DYE );
+ status->set_sc( NJ_NEN , SC_NJ_NEN , SCB_STR|SCB_INT );
+ status->set_sc( NJ_UTSUSEMI , SC_NJ_UTSUSEMI , SCB_NONE );
+ status->set_sc( NJ_BUNSINJYUTSU , SC_NJ_BUNSINJYUTSU , SCB_DYE );
add_sc( NPC_ICEBREATH , SC_FREEZE );
add_sc( NPC_ACIDBREATH , SC_POISON );
@@ -455,202 +460,202 @@ static void initChangeTables(void)
add_sc( NPC_WIDESIGHT , SC_SIGHT );
add_sc( NPC_EVILLAND , SC_BLIND );
add_sc( NPC_MAGICMIRROR , SC_MAGICMIRROR );
- status->set_sc( NPC_SLOWCAST , SC_SLOWCAST , SI_SLOWCAST , SCB_NONE );
- status->set_sc( NPC_CRITICALWOUND , SC_CRITICALWOUND , SI_CRITICALWOUND , SCB_NONE );
- status->set_sc( NPC_STONESKIN , SC_STONESKIN , SI_BLANK , SCB_DEF|SCB_MDEF );
+ status->set_sc( NPC_SLOWCAST , SC_SLOWCAST , SCB_NONE );
+ status->set_sc( NPC_CRITICALWOUND , SC_CRITICALWOUND , SCB_NONE );
+ status->set_sc( NPC_STONESKIN , SC_STONESKIN , SCB_DEF|SCB_MDEF );
add_sc( NPC_ANTIMAGIC , SC_STONESKIN );
add_sc( NPC_WIDECURSE , SC_CURSE );
add_sc( NPC_WIDESTUN , SC_STUN );
- status->set_sc( NPC_HELLPOWER , SC_HELLPOWER , SI_HELLPOWER , SCB_NONE );
- status->set_sc( NPC_WIDEHELLDIGNITY , SC_HELLPOWER , SI_HELLPOWER , SCB_NONE );
- status->set_sc( NPC_INVINCIBLE , SC_INVINCIBLE , SI_INVINCIBLE , SCB_SPEED );
- status->set_sc( NPC_INVINCIBLEOFF , SC_INVINCIBLEOFF , SI_BLANK , SCB_SPEED );
+ status->set_sc( NPC_HELLPOWER , SC_HELLPOWER , SCB_NONE );
+ status->set_sc( NPC_WIDEHELLDIGNITY , SC_HELLPOWER , SCB_NONE );
+ status->set_sc( NPC_INVINCIBLE , SC_INVINCIBLE , SCB_SPEED );
+ status->set_sc( NPC_INVINCIBLEOFF , SC_INVINCIBLEOFF , SCB_SPEED );
- status->set_sc( CASH_BLESSING , SC_BLESSING , SI_BLESSING , SCB_STR|SCB_INT|SCB_DEX );
- status->set_sc( CASH_INCAGI , SC_INC_AGI , SI_INC_AGI , SCB_AGI|SCB_SPEED );
- status->set_sc( CASH_ASSUMPTIO , SC_ASSUMPTIO , SI_ASSUMPTIO , SCB_NONE );
+ status->set_sc( CASH_BLESSING , SC_BLESSING , SCB_STR|SCB_INT|SCB_DEX );
+ status->set_sc( CASH_INCAGI , SC_INC_AGI , SCB_AGI|SCB_SPEED );
+ status->set_sc( CASH_ASSUMPTIO , SC_ASSUMPTIO , SCB_NONE );
- status->set_sc( ALL_PARTYFLEE , SC_PARTYFLEE , SI_PARTYFLEE , SCB_NONE );
- status->set_sc( ALL_ODINS_POWER , SC_ODINS_POWER , SI_ODINS_POWER , SCB_WATK | SCB_MATK | SCB_MDEF | SCB_DEF);
+ status->set_sc( ALL_PARTYFLEE , SC_PARTYFLEE , SCB_NONE );
+ status->set_sc( ALL_ODINS_POWER , SC_ODINS_POWER , SCB_WATK | SCB_MATK | SCB_MDEF | SCB_DEF);
- status->set_sc( CR_SHRINK , SC_CR_SHRINK , SI_CR_SHRINK , SCB_NONE );
- status->set_sc( RG_CLOSECONFINE , SC_RG_CCONFINE_S , SI_RG_CCONFINE_S , SCB_NONE );
- status->set_sc( RG_CLOSECONFINE , SC_RG_CCONFINE_M , SI_RG_CCONFINE_M , SCB_FLEE );
- status->set_sc( WZ_SIGHTBLASTER , SC_WZ_SIGHTBLASTER , SI_WZ_SIGHTBLASTER , SCB_NONE );
- status->set_sc( DC_WINKCHARM , SC_DC_WINKCHARM , SI_DC_WINKCHARM , SCB_NONE );
+ status->set_sc( CR_SHRINK , SC_CR_SHRINK , SCB_NONE );
+ status->set_sc( RG_CLOSECONFINE , SC_RG_CCONFINE_S , SCB_NONE );
+ status->set_sc( RG_CLOSECONFINE , SC_RG_CCONFINE_M , SCB_FLEE );
+ status->set_sc( WZ_SIGHTBLASTER , SC_WZ_SIGHTBLASTER , SCB_NONE );
+ status->set_sc( DC_WINKCHARM , SC_DC_WINKCHARM , SCB_NONE );
add_sc( MO_BALKYOUNG , SC_STUN );
add_sc( SA_ELEMENTWATER , SC_ARMOR_PROPERTY );
add_sc( SA_ELEMENTFIRE , SC_ARMOR_PROPERTY );
add_sc( SA_ELEMENTGROUND , SC_ARMOR_PROPERTY );
add_sc( SA_ELEMENTWIND , SC_ARMOR_PROPERTY );
- status->set_sc( HLIF_AVOID , SC_HLIF_AVOID , SI_BLANK , SCB_SPEED );
- status->set_sc( HLIF_CHANGE , SC_HLIF_CHANGE , SI_BLANK , SCB_VIT|SCB_INT );
- status->set_sc( HFLI_FLEET , SC_HLIF_FLEET , SI_BLANK , SCB_ASPD|SCB_BATK|SCB_WATK );
- status->set_sc( HFLI_SPEED , SC_HLIF_SPEED , SI_BLANK , SCB_FLEE );
- status->set_sc( HAMI_DEFENCE , SC_HAMI_DEFENCE , SI_BLANK , SCB_DEF );
- status->set_sc( HAMI_BLOODLUST , SC_HAMI_BLOODLUST , SI_BLANK , SCB_BATK|SCB_WATK );
+ status->set_sc( HLIF_AVOID , SC_HLIF_AVOID , SCB_SPEED );
+ status->set_sc( HLIF_CHANGE , SC_HLIF_CHANGE , SCB_VIT|SCB_INT );
+ status->set_sc( HFLI_FLEET , SC_HLIF_FLEET , SCB_ASPD|SCB_BATK|SCB_WATK );
+ status->set_sc( HFLI_SPEED , SC_HLIF_SPEED , SCB_FLEE );
+ status->set_sc( HAMI_DEFENCE , SC_HAMI_DEFENCE , SCB_DEF );
+ status->set_sc( HAMI_BLOODLUST , SC_HAMI_BLOODLUST , SCB_BATK|SCB_WATK );
// Homunculus S
- status->set_sc( MH_LIGHT_OF_REGENE , SC_LIGHT_OF_REGENE , SI_LIGHT_OF_REGENE , SCB_NONE );
- status->set_sc( MH_OVERED_BOOST , SC_OVERED_BOOST , SI_OVERED_BOOST , SCB_FLEE|SCB_ASPD|SCB_DEF );
+ status->set_sc( MH_LIGHT_OF_REGENE , SC_LIGHT_OF_REGENE , SCB_NONE );
+ status->set_sc( MH_OVERED_BOOST , SC_OVERED_BOOST , SCB_FLEE|SCB_ASPD|SCB_DEF );
add_sc(MH_STAHL_HORN, SC_STUN);
- status->set_sc(MH_ANGRIFFS_MODUS, SC_ANGRIFFS_MODUS, SI_ANGRIFFS_MODUS, SCB_BATK | SCB_DEF | SCB_FLEE | SCB_MAXHP);
- status->set_sc(MH_GOLDENE_FERSE, SC_GOLDENE_FERSE, SI_GOLDENE_FERSE, SCB_ASPD|SCB_MAXHP);
+ status->set_sc(MH_ANGRIFFS_MODUS, SC_ANGRIFFS_MODUS, SCB_BATK | SCB_DEF | SCB_FLEE | SCB_MAXHP);
+ status->set_sc(MH_GOLDENE_FERSE, SC_GOLDENE_FERSE, SCB_ASPD|SCB_MAXHP);
add_sc( MH_STEINWAND, SC_SAFETYWALL );
- status->set_sc(MH_VOLCANIC_ASH, SC_VOLCANIC_ASH, SI_VOLCANIC_ASH, SCB_DEF|SCB_DEF2|SCB_HIT|SCB_BATK|SCB_FLEE);
- status->set_sc(MH_GRANITIC_ARMOR, SC_GRANITIC_ARMOR, SI_GRANITIC_ARMOR, SCB_NONE);
- status->set_sc(MH_MAGMA_FLOW, SC_MAGMA_FLOW, SI_MAGMA_FLOW, SCB_NONE);
- status->set_sc(MH_PYROCLASTIC, SC_PYROCLASTIC, SI_PYROCLASTIC, SCB_BATK|SCB_ATK_ELE);
+ status->set_sc(MH_VOLCANIC_ASH, SC_VOLCANIC_ASH, SCB_DEF|SCB_DEF2|SCB_HIT|SCB_BATK|SCB_FLEE);
+ status->set_sc(MH_GRANITIC_ARMOR, SC_GRANITIC_ARMOR, SCB_NONE);
+ status->set_sc(MH_MAGMA_FLOW, SC_MAGMA_FLOW, SCB_NONE);
+ status->set_sc(MH_PYROCLASTIC, SC_PYROCLASTIC, SCB_BATK|SCB_ATK_ELE);
add_sc(MH_LAVA_SLIDE, SC_BURNING);
- status->set_sc(MH_NEEDLE_OF_PARALYZE, SC_NEEDLE_OF_PARALYZE, SI_NEEDLE_OF_PARALYZE, SCB_DEF2);
+ status->set_sc(MH_NEEDLE_OF_PARALYZE, SC_NEEDLE_OF_PARALYZE, SCB_DEF2);
add_sc(MH_POISON_MIST, SC_BLIND);
- status->set_sc(MH_PAIN_KILLER, SC_PAIN_KILLER, SI_PAIN_KILLER, SCB_ASPD);
+ status->set_sc(MH_PAIN_KILLER, SC_PAIN_KILLER, SCB_ASPD);
- status->set_sc( MH_SILENT_BREEZE , SC_SILENCE , SI_SILENT_BREEZE , SCB_NONE );
+ status->set_sc( MH_SILENT_BREEZE , SC_SILENCE , SCB_NONE );
add_sc( MH_STYLE_CHANGE , SC_STYLE_CHANGE);
- status->set_sc( MH_TINDER_BREAKER , SC_RG_CCONFINE_S , SI_RG_CCONFINE_S , SCB_NONE );
- status->set_sc( MH_TINDER_BREAKER , SC_RG_CCONFINE_M , SI_RG_CCONFINE_M , SCB_FLEE );
+ status->set_sc( MH_TINDER_BREAKER , SC_RG_CCONFINE_S , SCB_NONE );
+ status->set_sc( MH_TINDER_BREAKER , SC_RG_CCONFINE_M , SCB_FLEE );
add_sc( MER_CRASH , SC_STUN );
- status->set_sc( MER_PROVOKE , SC_PROVOKE , SI_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK );
+ status->set_sc( MER_PROVOKE , SC_PROVOKE , SCB_DEF|SCB_DEF2|SCB_BATK|SCB_WATK );
add_sc( MS_MAGNUM , SC_SUB_WEAPONPROPERTY );
add_sc( MER_SIGHT , SC_SIGHT );
- status->set_sc( MER_DECAGI , SC_DEC_AGI , SI_DEC_AGI , SCB_AGI|SCB_SPEED );
- status->set_sc( MER_MAGNIFICAT , SC_MAGNIFICAT , SI_MAGNIFICAT , SCB_REGEN );
+ status->set_sc( MER_DECAGI , SC_DEC_AGI , SCB_AGI|SCB_SPEED );
+ status->set_sc( MER_MAGNIFICAT , SC_MAGNIFICAT , SCB_REGEN );
add_sc( MER_LEXDIVINA , SC_SILENCE );
add_sc( MA_LANDMINE , SC_STUN );
add_sc( MA_SANDMAN , SC_SLEEP );
add_sc( MA_FREEZINGTRAP , SC_FREEZE );
- status->set_sc( MER_AUTOBERSERK , SC_AUTOBERSERK , SI_AUTOBERSERK , SCB_NONE );
- status->set_sc( ML_AUTOGUARD , SC_AUTOGUARD , SI_AUTOGUARD , SCB_NONE );
- status->set_sc( MS_REFLECTSHIELD , SC_REFLECTSHIELD , SI_REFLECTSHIELD , SCB_NONE );
- status->set_sc( ML_DEFENDER , SC_DEFENDER , SI_DEFENDER , SCB_SPEED|SCB_ASPD );
- status->set_sc( MS_PARRYING , SC_PARRYING , SI_PARRYING , SCB_NONE );
- status->set_sc( MS_BERSERK , SC_BERSERK , SI_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN );
+ status->set_sc( MER_AUTOBERSERK , SC_AUTOBERSERK , SCB_NONE );
+ status->set_sc( ML_AUTOGUARD , SC_AUTOGUARD , SCB_NONE );
+ status->set_sc( MS_REFLECTSHIELD , SC_REFLECTSHIELD , SCB_NONE );
+ status->set_sc( ML_DEFENDER , SC_DEFENDER , SCB_SPEED|SCB_ASPD );
+ status->set_sc( MS_PARRYING , SC_PARRYING , SCB_NONE );
+ status->set_sc( MS_BERSERK , SC_BERSERK , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2|SCB_FLEE|SCB_SPEED|SCB_ASPD|SCB_MAXHP|SCB_REGEN );
add_sc( ML_SPIRALPIERCE , SC_STOP );
- status->set_sc( MER_QUICKEN , SC_MER_QUICKEN , SI_BLANK , SCB_ASPD );
+ status->set_sc( MER_QUICKEN , SC_MER_QUICKEN , SCB_ASPD );
add_sc( ML_DEVOTION , SC_DEVOTION );
- status->set_sc( MER_KYRIE , SC_KYRIE , SI_KYRIE , SCB_NONE );
- status->set_sc( MER_BLESSING , SC_BLESSING , SI_BLESSING , SCB_STR|SCB_INT|SCB_DEX );
- status->set_sc( MER_INCAGI , SC_INC_AGI , SI_INC_AGI , SCB_AGI|SCB_SPEED );
+ status->set_sc( MER_KYRIE , SC_KYRIE , SCB_NONE );
+ status->set_sc( MER_BLESSING , SC_BLESSING , SCB_STR|SCB_INT|SCB_DEX );
+ status->set_sc( MER_INCAGI , SC_INC_AGI , SCB_AGI|SCB_SPEED );
- status->set_sc( GD_LEADERSHIP , SC_LEADERSHIP , SI_BLANK , SCB_STR );
- status->set_sc( GD_GLORYWOUNDS , SC_GLORYWOUNDS , SI_BLANK , SCB_VIT );
- status->set_sc( GD_SOULCOLD , SC_SOULCOLD , SI_BLANK , SCB_AGI );
- status->set_sc( GD_HAWKEYES , SC_HAWKEYES , SI_BLANK , SCB_DEX );
+ status->set_sc( GD_LEADERSHIP , SC_LEADERSHIP , SCB_STR );
+ status->set_sc( GD_GLORYWOUNDS , SC_GLORYWOUNDS , SCB_VIT );
+ status->set_sc( GD_SOULCOLD , SC_SOULCOLD , SCB_AGI );
+ status->set_sc( GD_HAWKEYES , SC_HAWKEYES , SCB_DEX );
- status->set_sc( GD_BATTLEORDER , SC_GDSKILL_BATTLEORDER , SI_BLANK , SCB_STR|SCB_INT|SCB_DEX );
- status->set_sc( GD_REGENERATION , SC_GDSKILL_REGENERATION , SI_BLANK , SCB_REGEN );
+ status->set_sc( GD_BATTLEORDER , SC_GDSKILL_BATTLEORDER , SCB_STR|SCB_INT|SCB_DEX );
+ status->set_sc( GD_REGENERATION , SC_GDSKILL_REGENERATION , SCB_REGEN );
/**
* Rune Knight
**/
- status->set_sc( RK_ENCHANTBLADE , SC_ENCHANTBLADE , SI_ENCHANTBLADE , SCB_NONE );
- status->set_sc( RK_DRAGONHOWLING , SC_FEAR , SI_BLANK , SCB_FLEE|SCB_HIT );
- status->set_sc( RK_DEATHBOUND , SC_DEATHBOUND , SI_DEATHBOUND , SCB_NONE );
- status->set_sc( RK_WINDCUTTER , SC_FEAR , SI_BLANK , SCB_FLEE|SCB_HIT );
+ status->set_sc( RK_ENCHANTBLADE , SC_ENCHANTBLADE , SCB_NONE );
+ status->set_sc( RK_DRAGONHOWLING , SC_FEAR , SCB_FLEE|SCB_HIT );
+ status->set_sc( RK_DEATHBOUND , SC_DEATHBOUND , SCB_NONE );
+ status->set_sc( RK_WINDCUTTER , SC_FEAR , SCB_FLEE|SCB_HIT );
add_sc( RK_DRAGONBREATH , SC_BURNING );
- status->set_sc( RK_MILLENNIUMSHIELD , SC_MILLENNIUMSHIELD , SI_BLANK , SCB_NONE );
- status->set_sc( RK_REFRESH , SC_REFRESH , SI_REFRESH , SCB_NONE );
- status->set_sc( RK_GIANTGROWTH , SC_GIANTGROWTH , SI_GIANTGROWTH , SCB_STR );
- status->set_sc( RK_STONEHARDSKIN , SC_STONEHARDSKIN , SI_STONEHARDSKIN , SCB_NONE );
- status->set_sc( RK_VITALITYACTIVATION, SC_VITALITYACTIVATION, SI_VITALITYACTIVATION, SCB_REGEN );
- status->set_sc( RK_FIGHTINGSPIRIT , SC_FIGHTINGSPIRIT , SI_FIGHTINGSPIRIT , SCB_WATK|SCB_ASPD );
- status->set_sc( RK_ABUNDANCE , SC_ABUNDANCE , SI_ABUNDANCE , SCB_NONE );
- status->set_sc( RK_CRUSHSTRIKE , SC_CRUSHSTRIKE , SI_CRUSHSTRIKE , SCB_NONE );
+ status->set_sc( RK_MILLENNIUMSHIELD , SC_MILLENNIUMSHIELD , SCB_NONE );
+ status->set_sc( RK_REFRESH , SC_REFRESH , SCB_NONE );
+ status->set_sc( RK_GIANTGROWTH , SC_GIANTGROWTH , SCB_STR );
+ status->set_sc( RK_STONEHARDSKIN , SC_STONEHARDSKIN , SCB_NONE );
+ status->set_sc( RK_VITALITYACTIVATION, SC_VITALITYACTIVATION, SCB_REGEN );
+ status->set_sc( RK_FIGHTINGSPIRIT , SC_FIGHTINGSPIRIT , SCB_WATK|SCB_ASPD );
+ status->set_sc( RK_ABUNDANCE , SC_ABUNDANCE , SCB_NONE );
+ status->set_sc( RK_CRUSHSTRIKE , SC_CRUSHSTRIKE , SCB_NONE );
add_sc( RK_DRAGONBREATH_WATER, SC_FROSTMISTY );
/**
* GC Guillotine Cross
**/
- set_sc_with_vfx( GC_VENOMIMPRESS , SC_VENOMIMPRESS , SI_VENOMIMPRESS , SCB_NONE );
- status->set_sc( GC_POISONINGWEAPON , SC_POISONINGWEAPON , SI_POISONINGWEAPON , SCB_NONE );
- status->set_sc( GC_WEAPONBLOCKING , SC_WEAPONBLOCKING , SI_WEAPONBLOCKING , SCB_NONE );
- status->set_sc( GC_CLOAKINGEXCEED , SC_CLOAKINGEXCEED , SI_CLOAKINGEXCEED , SCB_SPEED );
- status->set_sc( GC_HALLUCINATIONWALK , SC_HALLUCINATIONWALK, SI_HALLUCINATIONWALK, SCB_FLEE );
- status->set_sc( GC_ROLLINGCUTTER , SC_ROLLINGCUTTER , SI_ROLLINGCUTTER , SCB_NONE );
- set_sc_with_vfx( GC_DARKCROW , SC_DARKCROW , SI_DARKCROW , SCB_NONE );
+ set_sc_with_vfx( GC_VENOMIMPRESS , SC_VENOMIMPRESS , SCB_NONE );
+ status->set_sc( GC_POISONINGWEAPON , SC_POISONINGWEAPON , SCB_NONE );
+ status->set_sc( GC_WEAPONBLOCKING , SC_WEAPONBLOCKING , SCB_NONE );
+ status->set_sc( GC_CLOAKINGEXCEED , SC_CLOAKINGEXCEED , SCB_SPEED );
+ status->set_sc( GC_HALLUCINATIONWALK , SC_HALLUCINATIONWALK, SCB_FLEE );
+ status->set_sc( GC_ROLLINGCUTTER , SC_ROLLINGCUTTER , SCB_NONE );
+ set_sc_with_vfx( GC_DARKCROW , SC_DARKCROW , SCB_NONE );
/**
* Arch Bishop
**/
- status->set_sc( AB_ADORAMUS , SC_ADORAMUS , SI_ADORAMUS , SCB_AGI|SCB_SPEED );
+ status->set_sc( AB_ADORAMUS , SC_ADORAMUS , SCB_AGI|SCB_SPEED );
add_sc( AB_CLEMENTIA , SC_BLESSING );
add_sc( AB_CANTO , SC_INC_AGI );
- status->set_sc( AB_EPICLESIS , SC_EPICLESIS , SI_EPICLESIS , SCB_MAXHP );
+ status->set_sc( AB_EPICLESIS , SC_EPICLESIS , SCB_MAXHP );
add_sc( AB_PRAEFATIO , SC_KYRIE );
- set_sc_with_vfx( AB_ORATIO , SC_ORATIO , SI_ORATIO , SCB_NONE );
- status->set_sc( AB_LAUDAAGNUS , SC_LAUDAAGNUS , SI_LAUDAAGNUS , SCB_VIT );
- status->set_sc( AB_LAUDARAMUS , SC_LAUDARAMUS , SI_LAUDARAMUS , SCB_LUK );
- status->set_sc( AB_RENOVATIO , SC_RENOVATIO , SI_RENOVATIO , SCB_REGEN );
- status->set_sc( AB_EXPIATIO , SC_EXPIATIO , SI_EXPIATIO , SCB_ATK_ELE );
- status->set_sc( AB_DUPLELIGHT , SC_DUPLELIGHT , SI_DUPLELIGHT , SCB_NONE );
- status->set_sc( AB_SECRAMENT , SC_SECRAMENT , SI_SECRAMENT , SCB_NONE );
- status->set_sc( AB_OFFERTORIUM , SC_OFFERTORIUM , SI_OFFERTORIUM , SCB_NONE );
+ set_sc_with_vfx( AB_ORATIO , SC_ORATIO , SCB_NONE );
+ status->set_sc( AB_LAUDAAGNUS , SC_LAUDAAGNUS , SCB_VIT );
+ status->set_sc( AB_LAUDARAMUS , SC_LAUDARAMUS , SCB_LUK );
+ status->set_sc( AB_RENOVATIO , SC_RENOVATIO , SCB_REGEN );
+ status->set_sc( AB_EXPIATIO , SC_EXPIATIO , SCB_ATK_ELE );
+ status->set_sc( AB_DUPLELIGHT , SC_DUPLELIGHT , SCB_NONE );
+ status->set_sc( AB_SECRAMENT , SC_SECRAMENT , SCB_NONE );
+ status->set_sc( AB_OFFERTORIUM , SC_OFFERTORIUM , SCB_NONE );
/**
* Warlock
**/
add_sc( WL_WHITEIMPRISON , SC_WHITEIMPRISON );
- set_sc_with_vfx( WL_FROSTMISTY , SC_FROSTMISTY , SI_FROSTMISTY , SCB_ASPD|SCB_SPEED|SCB_DEF );
- status->set_sc( WL_MARSHOFABYSS , SC_MARSHOFABYSS , SI_MARSHOFABYSS , SCB_SPEED|SCB_FLEE|SCB_AGI|SCB_DEX );
- status->set_sc(WL_RECOGNIZEDSPELL , SC_RECOGNIZEDSPELL , SI_RECOGNIZEDSPELL , SCB_MATK);
- status->set_sc( WL_STASIS , SC_STASIS , SI_STASIS , SCB_NONE );
- status->set_sc( WL_TELEKINESIS_INTENSE, SC_TELEKINESIS_INTENSE , SI_TELEKINESIS_INTENSE , SCB_MATK );
+ set_sc_with_vfx( WL_FROSTMISTY , SC_FROSTMISTY , SCB_ASPD|SCB_SPEED|SCB_DEF );
+ status->set_sc( WL_MARSHOFABYSS , SC_MARSHOFABYSS , SCB_SPEED|SCB_FLEE|SCB_AGI|SCB_DEX );
+ status->set_sc(WL_RECOGNIZEDSPELL , SC_RECOGNIZEDSPELL , SCB_MATK);
+ status->set_sc( WL_STASIS , SC_STASIS , SCB_NONE );
+ status->set_sc( WL_TELEKINESIS_INTENSE, SC_TELEKINESIS_INTENSE , SCB_MATK );
/**
* Ranger
**/
- status->set_sc( RA_FEARBREEZE , SC_FEARBREEZE , SI_FEARBREEZE , SCB_NONE );
- status->set_sc( RA_ELECTRICSHOCKER , SC_ELECTRICSHOCKER , SI_ELECTRICSHOCKER , SCB_NONE );
- status->set_sc( RA_WUGDASH , SC_WUGDASH , SI_WUGDASH , SCB_SPEED );
- status->set_sc( RA_CAMOUFLAGE , SC_CAMOUFLAGE , SI_CAMOUFLAGE , SCB_SPEED );
+ status->set_sc( RA_FEARBREEZE , SC_FEARBREEZE , SCB_NONE );
+ status->set_sc( RA_ELECTRICSHOCKER , SC_ELECTRICSHOCKER , SCB_NONE );
+ status->set_sc( RA_WUGDASH , SC_WUGDASH , SCB_SPEED );
+ status->set_sc( RA_CAMOUFLAGE , SC_CAMOUFLAGE , SCB_SPEED );
add_sc( RA_MAGENTATRAP , SC_ARMOR_PROPERTY );
add_sc( RA_COBALTTRAP , SC_ARMOR_PROPERTY );
add_sc( RA_MAIZETRAP , SC_ARMOR_PROPERTY );
add_sc( RA_VERDURETRAP , SC_ARMOR_PROPERTY );
add_sc( RA_FIRINGTRAP , SC_BURNING );
add_sc( RA_ICEBOUNDTRAP , SC_FROSTMISTY );
- status->set_sc( RA_UNLIMIT , SC_UNLIMIT , SI_UNLIMIT , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 );
+ status->set_sc( RA_UNLIMIT , SC_UNLIMIT , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 );
/**
* Mechanic
**/
- status->set_sc( NC_ACCELERATION , SC_ACCELERATION , SI_ACCELERATION , SCB_SPEED );
- status->set_sc( NC_HOVERING , SC_HOVERING , SI_HOVERING , SCB_SPEED );
- status->set_sc( NC_SHAPESHIFT , SC_SHAPESHIFT , SI_SHAPESHIFT , SCB_DEF_ELE );
- status->set_sc( NC_INFRAREDSCAN , SC_INFRAREDSCAN , SI_INFRAREDSCAN , SCB_FLEE );
- status->set_sc( NC_ANALYZE , SC_ANALYZE , SI_ANALYZE , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 );
- status->set_sc( NC_MAGNETICFIELD , SC_MAGNETICFIELD , SI_MAGNETICFIELD , SCB_NONE );
- status->set_sc( NC_NEUTRALBARRIER , SC_NEUTRALBARRIER , SI_NEUTRALBARRIER , SCB_DEF|SCB_MDEF );
- status->set_sc( NC_STEALTHFIELD , SC_STEALTHFIELD , SI_STEALTHFIELD , SCB_NONE );
+ status->set_sc( NC_ACCELERATION , SC_ACCELERATION , SCB_SPEED );
+ status->set_sc( NC_HOVERING , SC_HOVERING , SCB_SPEED );
+ status->set_sc( NC_SHAPESHIFT , SC_SHAPESHIFT , SCB_DEF_ELE );
+ status->set_sc( NC_INFRAREDSCAN , SC_INFRAREDSCAN , SCB_FLEE );
+ status->set_sc( NC_ANALYZE , SC_ANALYZE , SCB_DEF|SCB_DEF2|SCB_MDEF|SCB_MDEF2 );
+ status->set_sc( NC_MAGNETICFIELD , SC_MAGNETICFIELD , SCB_NONE );
+ status->set_sc( NC_NEUTRALBARRIER , SC_NEUTRALBARRIER , SCB_DEF|SCB_MDEF );
+ status->set_sc( NC_STEALTHFIELD , SC_STEALTHFIELD , SCB_NONE );
/**
* Royal Guard
**/
- status->set_sc( LG_REFLECTDAMAGE , SC_LG_REFLECTDAMAGE , SI_LG_REFLECTDAMAGE, SCB_NONE );
- status->set_sc( LG_FORCEOFVANGUARD , SC_FORCEOFVANGUARD , SI_FORCEOFVANGUARD , SCB_MAXHP );
- status->set_sc( LG_EXEEDBREAK , SC_EXEEDBREAK , SI_EXEEDBREAK , SCB_NONE );
- status->set_sc( LG_PRESTIGE , SC_PRESTIGE , SI_PRESTIGE , SCB_DEF );
- status->set_sc( LG_BANDING , SC_BANDING , SI_BANDING , SCB_DEF2|SCB_WATK );// Renewal: atk2 & def2
- status->set_sc( LG_PIETY , SC_BENEDICTIO , SI_BENEDICTIO , SCB_DEF_ELE );
- status->set_sc( LG_EARTHDRIVE , SC_EARTHDRIVE , SI_EARTHDRIVE , SCB_DEF|SCB_ASPD );
- status->set_sc( LG_INSPIRATION , SC_INSPIRATION , SI_INSPIRATION , SCB_MAXHP|SCB_WATK|SCB_HIT|SCB_VIT|SCB_AGI|SCB_STR|SCB_DEX|SCB_INT|SCB_LUK);
- status->set_sc( LG_KINGS_GRACE , SC_KINGS_GRACE , SI_KINGS_GRACE , SCB_NONE );
+ status->set_sc( LG_REFLECTDAMAGE , SC_LG_REFLECTDAMAGE , SCB_NONE );
+ status->set_sc( LG_FORCEOFVANGUARD , SC_FORCEOFVANGUARD , SCB_MAXHP );
+ status->set_sc( LG_EXEEDBREAK , SC_EXEEDBREAK , SCB_NONE );
+ status->set_sc( LG_PRESTIGE , SC_PRESTIGE , SCB_DEF );
+ status->set_sc( LG_BANDING , SC_BANDING , SCB_DEF2|SCB_WATK );// Renewal: atk2 & def2
+ status->set_sc( LG_PIETY , SC_BENEDICTIO , SCB_DEF_ELE );
+ status->set_sc( LG_EARTHDRIVE , SC_EARTHDRIVE , SCB_DEF|SCB_ASPD );
+ status->set_sc( LG_INSPIRATION , SC_INSPIRATION , SCB_MAXHP|SCB_WATK|SCB_HIT|SCB_VIT|SCB_AGI|SCB_STR|SCB_DEX|SCB_INT|SCB_LUK);
+ status->set_sc( LG_KINGS_GRACE , SC_KINGS_GRACE , SCB_NONE );
/**
* Shadow Chaser
**/
- status->set_sc( SC_REPRODUCE , SC__REPRODUCE , SI_REPRODUCE , SCB_NONE );
- status->set_sc( SC_AUTOSHADOWSPELL , SC__AUTOSHADOWSPELL, SI_AUTOSHADOWSPELL , SCB_NONE );
- status->set_sc( SC_SHADOWFORM , SC__SHADOWFORM , SI_SHADOWFORM , SCB_NONE );
- status->set_sc( SC_BODYPAINT , SC__BODYPAINT , SI_BODYPAINT , SCB_ASPD );
- status->set_sc( SC_INVISIBILITY , SC__INVISIBILITY , SI_INVISIBILITY , SCB_ASPD|SCB_CRI|SCB_ATK_ELE );
- status->set_sc( SC_DEADLYINFECT , SC__DEADLYINFECT , SI_DEADLYINFECT , SCB_NONE );
- status->set_sc( SC_ENERVATION , SC__ENERVATION , SI_ENERVATION , SCB_BATK );
- status->set_sc( SC_GROOMY , SC__GROOMY , SI_GROOMY , SCB_ASPD|SCB_HIT|SCB_SPEED );
- status->set_sc( SC_IGNORANCE , SC__IGNORANCE , SI_IGNORANCE , SCB_NONE );
- status->set_sc( SC_LAZINESS , SC__LAZINESS , SI_LAZINESS , SCB_FLEE );
- status->set_sc( SC_UNLUCKY , SC__UNLUCKY , SI_UNLUCKY , SCB_CRI|SCB_FLEE2 );
- status->set_sc( SC_WEAKNESS , SC__WEAKNESS , SI_WEAKNESS , SCB_FLEE2|SCB_MAXHP );
- status->set_sc( SC_STRIPACCESSARY , SC__STRIPACCESSARY , SI_STRIPACCESSARY , SCB_DEX|SCB_INT|SCB_LUK );
- set_sc_with_vfx( SC_MANHOLE , SC__MANHOLE , SI_MANHOLE , SCB_NONE );
+ status->set_sc( SC_REPRODUCE , SC__REPRODUCE , SCB_NONE );
+ status->set_sc( SC_AUTOSHADOWSPELL , SC__AUTOSHADOWSPELL, SCB_NONE );
+ status->set_sc( SC_SHADOWFORM , SC__SHADOWFORM , SCB_NONE );
+ status->set_sc( SC_BODYPAINT , SC__BODYPAINT , SCB_ASPD );
+ status->set_sc( SC_INVISIBILITY , SC__INVISIBILITY , SCB_ASPD|SCB_CRI|SCB_ATK_ELE );
+ status->set_sc( SC_DEADLYINFECT , SC__DEADLYINFECT , SCB_NONE );
+ status->set_sc( SC_ENERVATION , SC__ENERVATION , SCB_BATK );
+ status->set_sc( SC_GROOMY , SC__GROOMY , SCB_ASPD|SCB_HIT|SCB_SPEED );
+ status->set_sc( SC_IGNORANCE , SC__IGNORANCE , SCB_NONE );
+ status->set_sc( SC_LAZINESS , SC__LAZINESS , SCB_FLEE );
+ status->set_sc( SC_UNLUCKY , SC__UNLUCKY , SCB_CRI|SCB_FLEE2 );
+ status->set_sc( SC_WEAKNESS , SC__WEAKNESS , SCB_FLEE2|SCB_MAXHP );
+ status->set_sc( SC_STRIPACCESSARY , SC__STRIPACCESSARY , SCB_DEX|SCB_INT|SCB_LUK );
+ set_sc_with_vfx( SC_MANHOLE , SC__MANHOLE , SCB_NONE );
add_sc( SC_CHAOSPANIC , SC__CHAOS );
add_sc( SC_MAELSTROM , SC__MAELSTROM );
add_sc( SC_BLOODYLUST , SC_BERSERK );
@@ -660,131 +665,131 @@ static void initChangeTables(void)
**/
add_sc( SR_DRAGONCOMBO , SC_STUN );
add_sc( SR_EARTHSHAKER , SC_STUN );
- status->set_sc( SR_FALLENEMPIRE , SC_FALLENEMPIRE , SI_FALLENEMPIRE , SCB_NONE );
- status->set_sc( SR_CRESCENTELBOW , SC_CRESCENTELBOW , SI_CRESCENTELBOW , SCB_NONE );
- set_sc_with_vfx( SR_CURSEDCIRCLE , SC_CURSEDCIRCLE_TARGET, SI_CURSEDCIRCLE_TARGET , SCB_NONE );
- status->set_sc( SR_LIGHTNINGWALK , SC_LIGHTNINGWALK , SI_LIGHTNINGWALK , SCB_NONE );
- status->set_sc( SR_RAISINGDRAGON , SC_RAISINGDRAGON , SI_RAISINGDRAGON , SCB_REGEN|SCB_MAXHP|SCB_MAXSP );
- status->set_sc( SR_GENTLETOUCH_ENERGYGAIN, SC_GENTLETOUCH_ENERGYGAIN , SI_GENTLETOUCH_ENERGYGAIN, SCB_NONE );
- status->set_sc( SR_GENTLETOUCH_CHANGE , SC_GENTLETOUCH_CHANGE , SI_GENTLETOUCH_CHANGE , SCB_ASPD|SCB_MDEF|SCB_MAXHP );
- status->set_sc( SR_GENTLETOUCH_REVITALIZE, SC_GENTLETOUCH_REVITALIZE , SI_GENTLETOUCH_REVITALIZE, SCB_MAXHP|SCB_DEF2|SCB_REGEN );
- status->set_sc( SR_FLASHCOMBO , SC_FLASHCOMBO , SI_FLASHCOMBO , SCB_WATK );
+ status->set_sc( SR_FALLENEMPIRE , SC_FALLENEMPIRE , SCB_NONE );
+ status->set_sc( SR_CRESCENTELBOW , SC_CRESCENTELBOW , SCB_NONE );
+ set_sc_with_vfx( SR_CURSEDCIRCLE , SC_CURSEDCIRCLE_TARGET, SCB_NONE );
+ status->set_sc( SR_LIGHTNINGWALK , SC_LIGHTNINGWALK , SCB_NONE );
+ status->set_sc( SR_RAISINGDRAGON , SC_RAISINGDRAGON , SCB_REGEN|SCB_MAXHP|SCB_MAXSP );
+ status->set_sc( SR_GENTLETOUCH_ENERGYGAIN, SC_GENTLETOUCH_ENERGYGAIN , SCB_NONE );
+ status->set_sc( SR_GENTLETOUCH_CHANGE , SC_GENTLETOUCH_CHANGE , SCB_ASPD|SCB_MDEF|SCB_MAXHP );
+ status->set_sc( SR_GENTLETOUCH_REVITALIZE, SC_GENTLETOUCH_REVITALIZE , SCB_MAXHP|SCB_DEF2|SCB_REGEN );
+ status->set_sc( SR_FLASHCOMBO , SC_FLASHCOMBO , SCB_WATK );
/**
* Wanderer / Minstrel
**/
- status->set_sc( WA_SWING_DANCE , SC_SWING , SI_SWINGDANCE , SCB_SPEED|SCB_ASPD );
- status->set_sc( WA_SYMPHONY_OF_LOVER , SC_SYMPHONY_LOVE , SI_SYMPHONYOFLOVERS , SCB_MDEF );
- status->set_sc( WA_MOONLIT_SERENADE , SC_MOONLIT_SERENADE , SI_MOONLITSERENADE , SCB_MATK );
- status->set_sc( MI_RUSH_WINDMILL , SC_RUSH_WINDMILL , SI_RUSHWINDMILL , SCB_WATK );
- status->set_sc( MI_ECHOSONG , SC_ECHOSONG , SI_ECHOSONG , SCB_DEF2 );
- status->set_sc( MI_HARMONIZE , SC_HARMONIZE , SI_HARMONIZE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
- set_sc_with_vfx(WM_POEMOFNETHERWORLD, SC_NETHERWORLD , SI_NETHERWORLD , SCB_NONE);
- set_sc_with_vfx( WM_VOICEOFSIREN , SC_SIREN , SI_SIREN , SCB_NONE );
- set_sc_with_vfx( WM_LULLABY_DEEPSLEEP , SC_DEEP_SLEEP , SI_DEEPSLEEP , SCB_NONE );
- status->set_sc( WM_SIRCLEOFNATURE , SC_SIRCLEOFNATURE , SI_SIRCLEOFNATURE , SCB_NONE );
- status->set_sc( WM_GLOOMYDAY , SC_GLOOMYDAY , SI_GLOOMYDAY , SCB_FLEE|SCB_ASPD );
- status->set_sc( WM_SONG_OF_MANA , SC_SONG_OF_MANA , SI_SONG_OF_MANA , SCB_NONE );
- status->set_sc( WM_DANCE_WITH_WUG , SC_DANCE_WITH_WUG , SI_DANCEWITHWUG , SCB_ASPD );
- status->set_sc( WM_SATURDAY_NIGHT_FEVER , SC_SATURDAY_NIGHT_FEVER , SI_SATURDAYNIGHTFEVER , SCB_BATK|SCB_DEF|SCB_FLEE|SCB_REGEN );
- status->set_sc( WM_LERADS_DEW , SC_LERADS_DEW , SI_LERADSDEW , SCB_MAXHP );
- status->set_sc( WM_MELODYOFSINK , SC_MELODYOFSINK , SI_MELODYOFSINK , SCB_INT );
- status->set_sc( WM_BEYOND_OF_WARCRY , SC_BEYOND_OF_WARCRY , SI_WARCRYOFBEYOND , SCB_STR|SCB_CRI|SCB_MAXHP );
- status->set_sc( WM_UNLIMITED_HUMMING_VOICE, SC_UNLIMITED_HUMMING_VOICE, SI_UNLIMITEDHUMMINGVOICE, SCB_NONE );
- status->set_sc( WM_FRIGG_SONG , SC_FRIGG_SONG , SI_FRIGG_SONG , SCB_MAXHP );
+ status->set_sc( WA_SWING_DANCE , SC_SWING , SCB_SPEED|SCB_ASPD );
+ status->set_sc( WA_SYMPHONY_OF_LOVER , SC_SYMPHONY_LOVE , SCB_MDEF );
+ status->set_sc( WA_MOONLIT_SERENADE , SC_MOONLIT_SERENADE , SCB_MATK );
+ status->set_sc( MI_RUSH_WINDMILL , SC_RUSH_WINDMILL , SCB_WATK );
+ status->set_sc( MI_ECHOSONG , SC_ECHOSONG , SCB_DEF2 );
+ status->set_sc( MI_HARMONIZE , SC_HARMONIZE , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
+ set_sc_with_vfx(WM_POEMOFNETHERWORLD, SC_NETHERWORLD , SCB_NONE);
+ set_sc_with_vfx( WM_VOICEOFSIREN , SC_SIREN , SCB_NONE );
+ set_sc_with_vfx( WM_LULLABY_DEEPSLEEP , SC_DEEP_SLEEP , SCB_NONE );
+ status->set_sc( WM_SIRCLEOFNATURE , SC_SIRCLEOFNATURE , SCB_NONE );
+ status->set_sc( WM_GLOOMYDAY , SC_GLOOMYDAY , SCB_FLEE|SCB_ASPD );
+ status->set_sc( WM_SONG_OF_MANA , SC_SONG_OF_MANA , SCB_NONE );
+ status->set_sc( WM_DANCE_WITH_WUG , SC_DANCE_WITH_WUG , SCB_ASPD );
+ status->set_sc( WM_SATURDAY_NIGHT_FEVER , SC_SATURDAY_NIGHT_FEVER , SCB_BATK|SCB_DEF|SCB_FLEE|SCB_REGEN );
+ status->set_sc( WM_LERADS_DEW , SC_LERADS_DEW , SCB_MAXHP );
+ status->set_sc( WM_MELODYOFSINK , SC_MELODYOFSINK , SCB_INT );
+ status->set_sc( WM_BEYOND_OF_WARCRY , SC_BEYOND_OF_WARCRY , SCB_STR|SCB_CRI|SCB_MAXHP );
+ status->set_sc( WM_UNLIMITED_HUMMING_VOICE, SC_UNLIMITED_HUMMING_VOICE, SCB_NONE );
+ status->set_sc( WM_FRIGG_SONG , SC_FRIGG_SONG , SCB_MAXHP );
/**
* Sorcerer
**/
- status->set_sc( SO_FIREWALK , SC_PROPERTYWALK , SI_PROPERTYWALK , SCB_NONE );
- status->set_sc( SO_ELECTRICWALK , SC_PROPERTYWALK , SI_PROPERTYWALK , SCB_NONE );
- status->set_sc( SO_SPELLFIST , SC_SPELLFIST , SI_SPELLFIST , SCB_NONE );
- set_sc_with_vfx( SO_DIAMONDDUST , SC_COLD , SI_COLD , SCB_NONE ); // it does show the snow icon on mobs but doesn't affect it.
- status->set_sc( SO_CLOUD_KILL , SC_POISON , SI_CLOUDKILL , SCB_NONE );
- status->set_sc( SO_STRIKING , SC_STRIKING , SI_STRIKING , SCB_WATK|SCB_CRI );
+ status->set_sc( SO_FIREWALK , SC_PROPERTYWALK , SCB_NONE );
+ status->set_sc( SO_ELECTRICWALK , SC_PROPERTYWALK , SCB_NONE );
+ status->set_sc( SO_SPELLFIST , SC_SPELLFIST , SCB_NONE );
+ set_sc_with_vfx( SO_DIAMONDDUST , SC_COLD , SCB_NONE ); // it does show the snow icon on mobs but doesn't affect it.
+ status->set_sc( SO_CLOUD_KILL , SC_POISON , SCB_NONE );
+ status->set_sc( SO_STRIKING , SC_STRIKING , SCB_WATK|SCB_CRI );
add_sc( SO_WARMER , SC_WARMER ); // At the moment, no icon on officials
- status->set_sc( SO_VACUUM_EXTREME , SC_VACUUM_EXTREME , SI_VACUUM_EXTREME , SCB_NONE );
- status->set_sc( SO_ARRULLO , SC_DEEP_SLEEP , SI_DEEPSLEEP , SCB_NONE );
- status->set_sc( SO_FIRE_INSIGNIA , SC_FIRE_INSIGNIA , SI_FIRE_INSIGNIA , SCB_MATK | SCB_BATK | SCB_WATK | SCB_ATK_ELE | SCB_REGEN );
- status->set_sc( SO_WATER_INSIGNIA , SC_WATER_INSIGNIA , SI_WATER_INSIGNIA , SCB_WATK | SCB_ATK_ELE | SCB_REGEN );
- status->set_sc( SO_WIND_INSIGNIA , SC_WIND_INSIGNIA , SI_WIND_INSIGNIA , SCB_WATK | SCB_ATK_ELE | SCB_REGEN );
- status->set_sc( SO_EARTH_INSIGNIA , SC_EARTH_INSIGNIA , SI_EARTH_INSIGNIA , SCB_MDEF|SCB_DEF|SCB_MAXHP|SCB_MAXSP|SCB_WATK | SCB_ATK_ELE | SCB_REGEN );
+ status->set_sc( SO_VACUUM_EXTREME , SC_VACUUM_EXTREME , SCB_NONE );
+ status->set_sc( SO_ARRULLO , SC_DEEP_SLEEP , SCB_NONE );
+ status->set_sc( SO_FIRE_INSIGNIA , SC_FIRE_INSIGNIA , SCB_MATK | SCB_BATK | SCB_WATK | SCB_ATK_ELE | SCB_REGEN );
+ status->set_sc( SO_WATER_INSIGNIA , SC_WATER_INSIGNIA , SCB_WATK | SCB_ATK_ELE | SCB_REGEN );
+ status->set_sc( SO_WIND_INSIGNIA , SC_WIND_INSIGNIA , SCB_WATK | SCB_ATK_ELE | SCB_REGEN );
+ status->set_sc( SO_EARTH_INSIGNIA , SC_EARTH_INSIGNIA , SCB_MDEF|SCB_DEF|SCB_MAXHP|SCB_MAXSP|SCB_WATK | SCB_ATK_ELE | SCB_REGEN );
add_sc( SO_ELEMENTAL_SHIELD , SC_SAFETYWALL );
/**
* Genetic
**/
- status->set_sc( GN_CARTBOOST , SC_GN_CARTBOOST, SI_CARTSBOOST , SCB_SPEED );
- status->set_sc( GN_THORNS_TRAP , SC_THORNS_TRAP , SI_THORNTRAP , SCB_NONE );
- set_sc_with_vfx( GN_BLOOD_SUCKER , SC_BLOOD_SUCKER , SI_BLOODSUCKER , SCB_NONE );
- status->set_sc( GN_WALLOFTHORN , SC_STOP , SI_BLANK , SCB_NONE );
- status->set_sc( GN_FIRE_EXPANSION_SMOKE_POWDER, SC_FIRE_EXPANSION_SMOKE_POWDER , SI_FIRE_EXPANSION_SMOKE_POWDER, SCB_NONE );
- status->set_sc( GN_FIRE_EXPANSION_TEAR_GAS , SC_FIRE_EXPANSION_TEAR_GAS , SI_FIRE_EXPANSION_TEAR_GAS , SCB_NONE );
- status->set_sc( GN_MANDRAGORA , SC_MANDRAGORA , SI_MANDRAGORA , SCB_INT );
+ status->set_sc( GN_CARTBOOST , SC_GN_CARTBOOST, SCB_SPEED );
+ status->set_sc( GN_THORNS_TRAP , SC_THORNS_TRAP , SCB_NONE );
+ set_sc_with_vfx( GN_BLOOD_SUCKER , SC_BLOOD_SUCKER , SCB_NONE );
+ status->set_sc( GN_WALLOFTHORN , SC_STOP , SCB_NONE );
+ status->set_sc( GN_FIRE_EXPANSION_SMOKE_POWDER, SC_FIRE_EXPANSION_SMOKE_POWDER , SCB_NONE );
+ status->set_sc( GN_FIRE_EXPANSION_TEAR_GAS , SC_FIRE_EXPANSION_TEAR_GAS , SCB_NONE );
+ status->set_sc( GN_MANDRAGORA , SC_MANDRAGORA , SCB_INT );
/**
* Summoner
*/
- status->set_sc(SU_HIDE, SC_SUHIDE, SI_SUHIDE, SCB_SPEED);
+ status->set_sc(SU_HIDE, SC_SUHIDE, SCB_SPEED);
add_sc(SU_SCRATCH, SC_BLOODING);
- status->set_sc(SU_STOOP, SC_SU_STOOP, SI_SU_STOOP, SCB_NONE);
- status->set_sc(SU_FRESHSHRIMP, SC_FRESHSHRIMP, SI_FRESHSHRIMP, SCB_NONE);
+ status->set_sc(SU_STOOP, SC_SU_STOOP, SCB_NONE);
+ status->set_sc(SU_FRESHSHRIMP, SC_FRESHSHRIMP, SCB_NONE);
add_sc(SU_SV_STEMSPEAR, SC_BLOODING);
- status->set_sc(SU_CN_POWDERING, SC_CATNIPPOWDER, SI_CATNIPPOWDER, SCB_WATK | SCB_SPEED | SCB_REGEN);
+ status->set_sc(SU_CN_POWDERING, SC_CATNIPPOWDER, SCB_WATK | SCB_SPEED | SCB_REGEN);
add_sc(SU_CN_METEOR, SC_CURSE);
- set_sc_with_vfx(SU_SV_ROOTTWIST, SC_SV_ROOTTWIST, SI_SV_ROOTTWIST, SCB_NONE);
+ set_sc_with_vfx(SU_SV_ROOTTWIST, SC_SV_ROOTTWIST, SCB_NONE);
add_sc(SU_SCAROFTAROU, SC_STUN );
- status->set_sc(SU_SCAROFTAROU, SC_BITESCAR, SI_BITESCAR, SCB_NONE);
- status->set_sc(SU_ARCLOUSEDASH, SC_ARCLOUSEDASH, SI_ARCLOUSEDASH, SCB_AGI | SCB_SPEED);
+ status->set_sc(SU_SCAROFTAROU, SC_BITESCAR, SCB_NONE);
+ status->set_sc(SU_ARCLOUSEDASH, SC_ARCLOUSEDASH, SCB_AGI | SCB_SPEED);
add_sc(SU_LUNATICCARROTBEAT, SC_STUN);
- status->set_sc(SU_TUNAPARTY, SC_TUNAPARTY, SI_TUNAPARTY, SCB_NONE);
- status->set_sc(SU_BUNCHOFSHRIMP, SC_SHRIMP, SI_SHRIMP, SCB_BATK | SCB_MATK);
+ status->set_sc(SU_TUNAPARTY, SC_TUNAPARTY, SCB_NONE);
+ status->set_sc(SU_BUNCHOFSHRIMP, SC_SHRIMP, SCB_BATK | SCB_MATK);
// Elemental Spirit summoner's 'side' status changes.
- status->set_sc( EL_CIRCLE_OF_FIRE , SC_CIRCLE_OF_FIRE_OPTION, SI_CIRCLE_OF_FIRE_OPTION, SCB_NONE );
- status->set_sc( EL_FIRE_CLOAK , SC_FIRE_CLOAK_OPTION , SI_FIRE_CLOAK_OPTION , SCB_ALL );
- status->set_sc( EL_WATER_SCREEN , SC_WATER_SCREEN_OPTION , SI_WATER_SCREEN_OPTION , SCB_NONE );
- status->set_sc( EL_WATER_DROP , SC_WATER_DROP_OPTION , SI_WATER_DROP_OPTION , SCB_ALL );
- status->set_sc( EL_WATER_BARRIER , SC_WATER_BARRIER , SI_WATER_BARRIER , SCB_WATK|SCB_FLEE );
- status->set_sc( EL_WIND_STEP , SC_WIND_STEP_OPTION , SI_WIND_STEP_OPTION , SCB_SPEED|SCB_FLEE );
- status->set_sc( EL_WIND_CURTAIN , SC_WIND_CURTAIN_OPTION , SI_WIND_CURTAIN_OPTION , SCB_ALL );
- status->set_sc( EL_ZEPHYR , SC_ZEPHYR , SI_ZEPHYR , SCB_FLEE );
- status->set_sc( EL_SOLID_SKIN , SC_SOLID_SKIN_OPTION , SI_SOLID_SKIN_OPTION , SCB_DEF|SCB_MAXHP );
- status->set_sc( EL_STONE_SHIELD , SC_STONE_SHIELD_OPTION , SI_STONE_SHIELD_OPTION , SCB_ALL );
- status->set_sc( EL_POWER_OF_GAIA , SC_POWER_OF_GAIA , SI_POWER_OF_GAIA , SCB_MAXHP|SCB_DEF|SCB_SPEED );
- status->set_sc( EL_PYROTECHNIC , SC_PYROTECHNIC_OPTION , SI_PYROTECHNIC_OPTION , SCB_WATK );
- status->set_sc( EL_HEATER , SC_HEATER_OPTION , SI_HEATER_OPTION , SCB_WATK );
- status->set_sc( EL_TROPIC , SC_TROPIC_OPTION , SI_TROPIC_OPTION , SCB_WATK );
- status->set_sc( EL_AQUAPLAY , SC_AQUAPLAY_OPTION , SI_AQUAPLAY_OPTION , SCB_MATK );
- status->set_sc( EL_COOLER , SC_COOLER_OPTION , SI_COOLER_OPTION , SCB_MATK );
- status->set_sc( EL_CHILLY_AIR , SC_CHILLY_AIR_OPTION , SI_CHILLY_AIR_OPTION , SCB_MATK );
- status->set_sc( EL_GUST , SC_GUST_OPTION , SI_GUST_OPTION , SCB_ASPD );
- status->set_sc( EL_BLAST , SC_BLAST_OPTION , SI_BLAST_OPTION , SCB_ASPD );
- status->set_sc( EL_WILD_STORM , SC_WILD_STORM_OPTION , SI_WILD_STORM_OPTION , SCB_ASPD );
- status->set_sc( EL_PETROLOGY , SC_PETROLOGY_OPTION , SI_PETROLOGY_OPTION , SCB_MAXHP );
- status->set_sc( EL_CURSED_SOIL , SC_CURSED_SOIL_OPTION , SI_CURSED_SOIL_OPTION , SCB_MAXHP );
- status->set_sc( EL_UPHEAVAL , SC_UPHEAVAL_OPTION , SI_UPHEAVAL_OPTION , SCB_MAXHP );
- status->set_sc( EL_TIDAL_WEAPON , SC_TIDAL_WEAPON_OPTION , SI_TIDAL_WEAPON_OPTION , SCB_ALL );
- status->set_sc( EL_ROCK_CRUSHER , SC_ROCK_CRUSHER , SI_ROCK_CRUSHER , SCB_DEF );
- status->set_sc( EL_ROCK_CRUSHER_ATK, SC_ROCK_CRUSHER_ATK , SI_ROCK_CRUSHER_ATK , SCB_SPEED );
+ status->set_sc( EL_CIRCLE_OF_FIRE , SC_CIRCLE_OF_FIRE_OPTION, SCB_NONE );
+ status->set_sc( EL_FIRE_CLOAK , SC_FIRE_CLOAK_OPTION , SCB_ALL );
+ status->set_sc( EL_WATER_SCREEN , SC_WATER_SCREEN_OPTION , SCB_NONE );
+ status->set_sc( EL_WATER_DROP , SC_WATER_DROP_OPTION , SCB_ALL );
+ status->set_sc( EL_WATER_BARRIER , SC_WATER_BARRIER , SCB_WATK|SCB_FLEE );
+ status->set_sc( EL_WIND_STEP , SC_WIND_STEP_OPTION , SCB_SPEED|SCB_FLEE );
+ status->set_sc( EL_WIND_CURTAIN , SC_WIND_CURTAIN_OPTION , SCB_ALL );
+ status->set_sc( EL_ZEPHYR , SC_ZEPHYR , SCB_FLEE );
+ status->set_sc( EL_SOLID_SKIN , SC_SOLID_SKIN_OPTION , SCB_DEF|SCB_MAXHP );
+ status->set_sc( EL_STONE_SHIELD , SC_STONE_SHIELD_OPTION , SCB_ALL );
+ status->set_sc( EL_POWER_OF_GAIA , SC_POWER_OF_GAIA , SCB_MAXHP|SCB_DEF|SCB_SPEED );
+ status->set_sc( EL_PYROTECHNIC , SC_PYROTECHNIC_OPTION , SCB_WATK );
+ status->set_sc( EL_HEATER , SC_HEATER_OPTION , SCB_WATK );
+ status->set_sc( EL_TROPIC , SC_TROPIC_OPTION , SCB_WATK );
+ status->set_sc( EL_AQUAPLAY , SC_AQUAPLAY_OPTION , SCB_MATK );
+ status->set_sc( EL_COOLER , SC_COOLER_OPTION , SCB_MATK );
+ status->set_sc( EL_CHILLY_AIR , SC_CHILLY_AIR_OPTION , SCB_MATK );
+ status->set_sc( EL_GUST , SC_GUST_OPTION , SCB_ASPD );
+ status->set_sc( EL_BLAST , SC_BLAST_OPTION , SCB_ASPD );
+ status->set_sc( EL_WILD_STORM , SC_WILD_STORM_OPTION , SCB_ASPD );
+ status->set_sc( EL_PETROLOGY , SC_PETROLOGY_OPTION , SCB_MAXHP );
+ status->set_sc( EL_CURSED_SOIL , SC_CURSED_SOIL_OPTION , SCB_MAXHP );
+ status->set_sc( EL_UPHEAVAL , SC_UPHEAVAL_OPTION , SCB_MAXHP );
+ status->set_sc( EL_TIDAL_WEAPON , SC_TIDAL_WEAPON_OPTION , SCB_ALL );
+ status->set_sc( EL_ROCK_CRUSHER , SC_ROCK_CRUSHER , SCB_DEF );
+ status->set_sc( EL_ROCK_CRUSHER_ATK, SC_ROCK_CRUSHER_ATK , SCB_SPEED );
add_sc( KO_YAMIKUMO , SC_HIDING );
- set_sc_with_vfx( KO_JYUMONJIKIRI , SC_KO_JYUMONJIKIRI , SI_KO_JYUMONJIKIRI , SCB_NONE );
+ set_sc_with_vfx( KO_JYUMONJIKIRI , SC_KO_JYUMONJIKIRI , SCB_NONE );
add_sc( KO_MAKIBISHI , SC_STUN );
- status->set_sc( KO_MEIKYOUSISUI , SC_MEIKYOUSISUI , SI_MEIKYOUSISUI , SCB_NONE );
- status->set_sc( KO_KYOUGAKU , SC_KYOUGAKU , SI_KYOUGAKU , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
+ status->set_sc( KO_MEIKYOUSISUI , SC_MEIKYOUSISUI , SCB_NONE );
+ status->set_sc( KO_KYOUGAKU , SC_KYOUGAKU , SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
add_sc( KO_JYUSATSU , SC_CURSE );
- status->set_sc( KO_ZENKAI , SC_ZENKAI , SI_ZENKAI , SCB_NONE );
- status->set_sc( KO_IZAYOI , SC_IZAYOI , SI_IZAYOI , SCB_MATK );
- status->set_sc( KG_KYOMU , SC_KYOMU , SI_KYOMU , SCB_NONE );
- status->set_sc( KG_KAGEMUSYA , SC_KAGEMUSYA , SI_KAGEMUSYA , SCB_NONE );
- status->set_sc( KG_KAGEHUMI , SC_KG_KAGEHUMI , SI_KG_KAGEHUMI , SCB_NONE );
- status->set_sc( OB_ZANGETSU , SC_ZANGETSU , SI_ZANGETSU , SCB_MATK|SCB_BATK );
- set_sc_with_vfx( OB_AKAITSUKI, SC_AKAITSUKI , SI_AKAITSUKI , SCB_NONE );
- status->set_sc( OB_OBOROGENSOU , SC_GENSOU , SI_GENSOU , SCB_NONE );
+ status->set_sc( KO_ZENKAI , SC_ZENKAI , SCB_NONE );
+ status->set_sc( KO_IZAYOI , SC_IZAYOI , SCB_MATK );
+ status->set_sc( KG_KYOMU , SC_KYOMU , SCB_NONE );
+ status->set_sc( KG_KAGEMUSYA , SC_KAGEMUSYA , SCB_NONE );
+ status->set_sc( KG_KAGEHUMI , SC_KG_KAGEHUMI , SCB_NONE );
+ status->set_sc( OB_ZANGETSU , SC_ZANGETSU , SCB_MATK|SCB_BATK );
+ set_sc_with_vfx( OB_AKAITSUKI, SC_AKAITSUKI , SCB_NONE );
+ status->set_sc( OB_OBOROGENSOU , SC_GENSOU , SCB_NONE );
- status->set_sc( ALL_FULL_THROTTLE , SC_FULL_THROTTLE , SI_FULL_THROTTLE , SCB_SPEED|SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
+ status->set_sc( ALL_FULL_THROTTLE , SC_FULL_THROTTLE , SCB_SPEED|SCB_STR|SCB_AGI|SCB_VIT|SCB_INT|SCB_DEX|SCB_LUK );
add_sc( ALL_REVERSEORCISH , SC_ORCISH );
- status->set_sc( ALL_ANGEL_PROTECT , SC_ANGEL_PROTECT , SI_ANGEL_PROTECT , SCB_REGEN );
+ status->set_sc( ALL_ANGEL_PROTECT , SC_ANGEL_PROTECT , SCB_REGEN );
add_sc( NPC_WIDEHEALTHFEAR , SC_FEAR );
add_sc( NPC_WIDEBODYBURNNING , SC_BURNING );
@@ -793,238 +798,24 @@ static void initChangeTables(void)
add_sc( NPC_WIDE_DEEP_SLEEP , SC_DEEP_SLEEP );
add_sc( NPC_WIDESIREN , SC_SIREN );
- set_sc_with_vfx( GN_ILLUSIONDOPING , SC_ILLUSIONDOPING , SI_ILLUSIONDOPING , SCB_HIT );
+ set_sc_with_vfx( GN_ILLUSIONDOPING , SC_ILLUSIONDOPING , SCB_HIT );
// Storing the target job rather than simply SC_SOULLINK simplifies code later on.
- status->dbs->Skill2SCTable[SL_ALCHEMIST] = (sc_type)MAPID_ALCHEMIST,
- status->dbs->Skill2SCTable[SL_MONK] = (sc_type)MAPID_MONK,
- status->dbs->Skill2SCTable[SL_STAR] = (sc_type)MAPID_STAR_GLADIATOR,
- status->dbs->Skill2SCTable[SL_SAGE] = (sc_type)MAPID_SAGE,
- status->dbs->Skill2SCTable[SL_CRUSADER] = (sc_type)MAPID_CRUSADER,
- status->dbs->Skill2SCTable[SL_SUPERNOVICE] = (sc_type)MAPID_SUPER_NOVICE,
- status->dbs->Skill2SCTable[SL_KNIGHT] = (sc_type)MAPID_KNIGHT,
- status->dbs->Skill2SCTable[SL_WIZARD] = (sc_type)MAPID_WIZARD,
- status->dbs->Skill2SCTable[SL_PRIEST] = (sc_type)MAPID_PRIEST,
- status->dbs->Skill2SCTable[SL_BARDDANCER] = (sc_type)MAPID_BARDDANCER,
- status->dbs->Skill2SCTable[SL_ROGUE] = (sc_type)MAPID_ROGUE,
- status->dbs->Skill2SCTable[SL_ASSASIN] = (sc_type)MAPID_ASSASSIN,
- status->dbs->Skill2SCTable[SL_BLACKSMITH] = (sc_type)MAPID_BLACKSMITH,
- status->dbs->Skill2SCTable[SL_HUNTER] = (sc_type)MAPID_HUNTER,
- status->dbs->Skill2SCTable[SL_SOULLINKER] = (sc_type)MAPID_SOUL_LINKER,
-
- // Status that don't have a skill associated.
- status->dbs->IconChangeTable[SC_WEIGHTOVER50] = SI_WEIGHTOVER50;
- status->dbs->IconChangeTable[SC_WEIGHTOVER90] = SI_WEIGHTOVER90;
- status->dbs->IconChangeTable[SC_ATTHASTE_POTION1] = SI_ATTHASTE_POTION1;
- status->dbs->IconChangeTable[SC_ATTHASTE_POTION2] = SI_ATTHASTE_POTION2;
- status->dbs->IconChangeTable[SC_ATTHASTE_POTION3] = SI_ATTHASTE_POTION3;
- status->dbs->IconChangeTable[SC_MOVHASTE_POTION] = SI_MOVHASTE_POTION;
- status->dbs->IconChangeTable[SC_ATTHASTE_INFINITY] = SI_ATTHASTE_INFINITY;
- status->dbs->IconChangeTable[SC_MOVHASTE_HORSE] = SI_MOVHASTE_HORSE;
- status->dbs->IconChangeTable[SC_MOVHASTE_INFINITY] = SI_MOVHASTE_INFINITY;
- status->dbs->IconChangeTable[SC_MOVESLOW_POTION] = SI_MOVESLOW_POTION;
- status->dbs->IconChangeTable[SC_CHASEWALK2] = SI_INCSTR;
- status->dbs->IconChangeTable[SC_MIRACLE] = SI_SOULLINK;
- status->dbs->IconChangeTable[SC_CLAIRVOYANCE] = SI_CLAIRVOYANCE;
- status->dbs->IconChangeTable[SC_FOOD_STR] = SI_FOOD_STR;
- status->dbs->IconChangeTable[SC_FOOD_AGI] = SI_FOOD_AGI;
- status->dbs->IconChangeTable[SC_FOOD_VIT] = SI_FOOD_VIT;
- status->dbs->IconChangeTable[SC_FOOD_INT] = SI_FOOD_INT;
- status->dbs->IconChangeTable[SC_FOOD_DEX] = SI_FOOD_DEX;
- status->dbs->IconChangeTable[SC_FOOD_LUK] = SI_FOOD_LUK;
- status->dbs->IconChangeTable[SC_FOOD_BASICAVOIDANCE]= SI_FOOD_BASICAVOIDANCE;
- status->dbs->IconChangeTable[SC_FOOD_BASICHIT] = SI_FOOD_BASICHIT;
- status->dbs->IconChangeTable[SC_MANU_ATK] = SI_MANU_ATK;
- status->dbs->IconChangeTable[SC_MANU_DEF] = SI_MANU_DEF;
- status->dbs->IconChangeTable[SC_SPL_ATK] = SI_SPL_ATK;
- status->dbs->IconChangeTable[SC_SPL_DEF] = SI_SPL_DEF;
- status->dbs->IconChangeTable[SC_MANU_MATK] = SI_MANU_MATK;
- status->dbs->IconChangeTable[SC_SPL_MATK] = SI_SPL_MATK;
- status->dbs->IconChangeTable[SC_PLUSATTACKPOWER] = SI_PLUSATTACKPOWER;
- status->dbs->IconChangeTable[SC_PLUSMAGICPOWER] = SI_PLUSMAGICPOWER;
- status->dbs->IconChangeTable[SC_FOOD_CRITICALSUCCESSVALUE] = SI_FOOD_CRITICALSUCCESSVALUE;
- status->dbs->IconChangeTable[SC_MORA_BUFF] = SI_MORA_BUFF;
- status->dbs->IconChangeTable[SC_BUCHEDENOEL] = SI_BUCHEDENOEL;
- status->dbs->IconChangeTable[SC_PHI_DEMON] = SI_PHI_DEMON;
-
- // Cash Items
- status->dbs->IconChangeTable[SC_FOOD_STR_CASH] = SI_FOOD_STR_CASH;
- status->dbs->IconChangeTable[SC_FOOD_AGI_CASH] = SI_FOOD_AGI_CASH;
- status->dbs->IconChangeTable[SC_FOOD_VIT_CASH] = SI_FOOD_VIT_CASH;
- status->dbs->IconChangeTable[SC_FOOD_DEX_CASH] = SI_FOOD_DEX_CASH;
- status->dbs->IconChangeTable[SC_FOOD_INT_CASH] = SI_FOOD_INT_CASH;
- status->dbs->IconChangeTable[SC_FOOD_LUK_CASH] = SI_FOOD_LUK_CASH;
- status->dbs->IconChangeTable[SC_CASH_PLUSEXP] = SI_CASH_PLUSEXP;
- status->dbs->IconChangeTable[SC_CASH_RECEIVEITEM] = SI_CASH_RECEIVEITEM;
- status->dbs->IconChangeTable[SC_CASH_PLUSONLYJOBEXP] = SI_CASH_PLUSONLYJOBEXP;
- status->dbs->IconChangeTable[SC_CASH_DEATHPENALTY] = SI_CASH_DEATHPENALTY;
- status->dbs->IconChangeTable[SC_CASH_BOSS_ALARM] = SI_CASH_BOSS_ALARM;
- status->dbs->IconChangeTable[SC_PROTECT_DEF] = SI_PROTECT_DEF;
- status->dbs->IconChangeTable[SC_PROTECT_MDEF] = SI_PROTECT_MDEF;
- status->dbs->IconChangeTable[SC_CRITICALPERCENT] = SI_CRITICALPERCENT;
- status->dbs->IconChangeTable[SC_PLUSAVOIDVALUE] = SI_PLUSAVOIDVALUE;
- status->dbs->IconChangeTable[SC_HEALPLUS] = SI_HEALPLUS;
- status->dbs->IconChangeTable[SC_S_LIFEPOTION] = SI_S_LIFEPOTION;
- status->dbs->IconChangeTable[SC_L_LIFEPOTION] = SI_L_LIFEPOTION;
- status->dbs->IconChangeTable[SC_ATKER_BLOOD] = SI_ATKER_BLOOD;
- status->dbs->IconChangeTable[SC_TARGET_BLOOD] = SI_TARGET_BLOOD;
- status->dbs->IconChangeTable[SC_ACARAJE] = SI_ACARAJE;
- status->dbs->IconChangeTable[SC_TARGET_ASPD] = SI_TARGET_ASPD;
- status->dbs->IconChangeTable[SC_ATKER_ASPD] = SI_ATKER_ASPD;
- status->dbs->IconChangeTable[SC_ATKER_MOVESPEED] = SI_ATKER_MOVESPEED;
- status->dbs->IconChangeTable[SC_CUP_OF_BOZA] = SI_CUP_OF_BOZA;
- status->dbs->IconChangeTable[SC_OVERLAPEXPUP] = SI_OVERLAPEXPUP;
- status->dbs->IconChangeTable[SC_GM_BATTLE] = SI_GM_BATTLE;
- status->dbs->IconChangeTable[SC_GM_BATTLE2] = SI_GM_BATTLE2;
- status->dbs->IconChangeTable[SC_2011RWC] = SI_2011RWC;
- status->dbs->IconChangeTable[SC_STR_SCROLL] = SI_STR_SCROLL;
- status->dbs->IconChangeTable[SC_INT_SCROLL] = SI_INT_SCROLL;
- status->dbs->IconChangeTable[SC_STEAMPACK] = SI_STEAMPACK;
- status->dbs->IconChangeTable[SC_MAGIC_CANDY] = SI_MAGIC_CANDY;
- status->dbs->IconChangeTable[SC_M_LIFEPOTION] = SI_M_LIFEPOTION;
- status->dbs->IconChangeTable[SC_G_LIFEPOTION] = SI_G_LIFEPOTION;
- status->dbs->IconChangeTable[SC_MYSTICPOWDER] = SI_MYSTICPOWDER;
-
- // Eden Crystal Synthesis
- status->dbs->IconChangeTable[SC_QUEST_BUFF1] = SI_QUEST_BUFF1;
- status->dbs->IconChangeTable[SC_QUEST_BUFF2] = SI_QUEST_BUFF2;
- status->dbs->IconChangeTable[SC_QUEST_BUFF3] = SI_QUEST_BUFF3;
-
- // Geffen Magic Tournament
- status->dbs->IconChangeTable[SC_GEFFEN_MAGIC1] = SI_GEFFEN_MAGIC1;
- status->dbs->IconChangeTable[SC_GEFFEN_MAGIC2] = SI_GEFFEN_MAGIC2;
- status->dbs->IconChangeTable[SC_GEFFEN_MAGIC3] = SI_GEFFEN_MAGIC3;
- status->dbs->IconChangeTable[SC_FENRIR_CARD] = SI_FENRIR_CARD;
-
- // MVP Scrolls
- status->dbs->IconChangeTable[SC_MVPCARD_TAOGUNKA] = SI_MVPCARD_TAOGUNKA;
- status->dbs->IconChangeTable[SC_MVPCARD_MISTRESS] = SI_MVPCARD_MISTRESS;
- status->dbs->IconChangeTable[SC_MVPCARD_ORCHERO] = SI_MVPCARD_ORCHERO;
- status->dbs->IconChangeTable[SC_MVPCARD_ORCLORD] = SI_MVPCARD_ORCLORD;
-
- // Mercenary Bonus Effects
- status->dbs->IconChangeTable[SC_MER_FLEE] = SI_MER_FLEE;
- status->dbs->IconChangeTable[SC_MER_ATK] = SI_MER_ATK;
- status->dbs->IconChangeTable[SC_MER_HP] = SI_MER_HP;
- status->dbs->IconChangeTable[SC_MER_SP] = SI_MER_SP;
- status->dbs->IconChangeTable[SC_MER_HIT] = SI_MER_HIT;
-
- // Warlock Spheres
- status->dbs->IconChangeTable[SC_SUMMON1] = SI_SPHERE_1;
- status->dbs->IconChangeTable[SC_SUMMON2] = SI_SPHERE_2;
- status->dbs->IconChangeTable[SC_SUMMON3] = SI_SPHERE_3;
- status->dbs->IconChangeTable[SC_SUMMON4] = SI_SPHERE_4;
- status->dbs->IconChangeTable[SC_SUMMON5] = SI_SPHERE_5;
-
- // Warlock Preserved spells
- status->dbs->IconChangeTable[SC_SPELLBOOK1] = SI_SPELLBOOK1;
- status->dbs->IconChangeTable[SC_SPELLBOOK2] = SI_SPELLBOOK2;
- status->dbs->IconChangeTable[SC_SPELLBOOK3] = SI_SPELLBOOK3;
- status->dbs->IconChangeTable[SC_SPELLBOOK4] = SI_SPELLBOOK4;
- status->dbs->IconChangeTable[SC_SPELLBOOK5] = SI_SPELLBOOK5;
- status->dbs->IconChangeTable[SC_SPELLBOOK6] = SI_SPELLBOOK6;
- status->dbs->IconChangeTable[SC_SPELLBOOK7] = SI_SPELLBOOK7;
-
- // Mechanic status icon
- status->dbs->IconChangeTable[SC_NEUTRALBARRIER_MASTER] = SI_NEUTRALBARRIER_MASTER;
- status->dbs->IconChangeTable[SC_STEALTHFIELD_MASTER] = SI_STEALTHFIELD_MASTER;
- status->dbs->IconChangeTable[SC_OVERHEAT] = SI_OVERHEAT;
- status->dbs->IconChangeTable[SC_OVERHEAT_LIMITPOINT] = SI_OVERHEAT_LIMITPOINT;
-
- // Guillotine Cross status icons
- status->dbs->IconChangeTable[SC_HALLUCINATIONWALK_POSTDELAY] = SI_HALLUCINATIONWALK_POSTDELAY;
- status->dbs->IconChangeTable[SC_TOXIN] = SI_TOXIN;
- status->dbs->IconChangeTable[SC_PARALYSE] = SI_PARALYSE;
- status->dbs->IconChangeTable[SC_VENOMBLEED] = SI_VENOMBLEED;
- status->dbs->IconChangeTable[SC_MAGICMUSHROOM] = SI_MAGICMUSHROOM;
- status->dbs->IconChangeTable[SC_DEATHHURT] = SI_DEATHHURT;
- status->dbs->IconChangeTable[SC_PYREXIA] = SI_PYREXIA;
- status->dbs->IconChangeTable[SC_OBLIVIONCURSE] = SI_OBLIVIONCURSE;
- status->dbs->IconChangeTable[SC_LEECHESEND] = SI_LEECHESEND;
-
- // Royal Guard status icons
- status->dbs->IconChangeTable[SC_SHIELDSPELL_DEF] = SI_SHIELDSPELL_DEF;
- status->dbs->IconChangeTable[SC_SHIELDSPELL_MDEF] = SI_SHIELDSPELL_MDEF;
- status->dbs->IconChangeTable[SC_SHIELDSPELL_REF] = SI_SHIELDSPELL_REF;
- status->dbs->IconChangeTable[SC_BANDING_DEFENCE] = SI_BANDING_DEFENCE;
-
- // Sura status icon
- status->dbs->IconChangeTable[SC_CURSEDCIRCLE_ATKER] = SI_CURSEDCIRCLE_ATKER;
-
- // Genetics Food items / Throwable items status icons
- status->dbs->IconChangeTable[SC_SAVAGE_STEAK] = SI_SAVAGE_STEAK;
- status->dbs->IconChangeTable[SC_COCKTAIL_WARG_BLOOD] = SI_COCKTAIL_WARG_BLOOD;
- status->dbs->IconChangeTable[SC_MINOR_BBQ] = SI_MINOR_BBQ;
- status->dbs->IconChangeTable[SC_SIROMA_ICE_TEA] = SI_SIROMA_ICE_TEA;
- status->dbs->IconChangeTable[SC_DROCERA_HERB_STEAMED] = SI_DROCERA_HERB_STEAMED;
- status->dbs->IconChangeTable[SC_PUTTI_TAILS_NOODLES] = SI_PUTTI_TAILS_NOODLES;
- status->dbs->IconChangeTable[SC_BOOST500] |= SI_BOOST500;
- status->dbs->IconChangeTable[SC_FULL_SWING_K] |= SI_FULL_SWING_K;
- status->dbs->IconChangeTable[SC_MANA_PLUS] |= SI_MANA_PLUS;
- status->dbs->IconChangeTable[SC_MUSTLE_M] |= SI_MUSTLE_M;
- status->dbs->IconChangeTable[SC_LIFE_FORCE_F] |= SI_LIFE_FORCE_F;
- status->dbs->IconChangeTable[SC_EXTRACT_WHITE_POTION_Z] |= SI_EXTRACT_WHITE_POTION_Z;
- status->dbs->IconChangeTable[SC_VITATA_500] |= SI_VITATA_500;
- status->dbs->IconChangeTable[SC_EXTRACT_SALAMINE_JUICE] |= SI_EXTRACT_SALAMINE_JUICE;
- status->dbs->IconChangeTable[SC_STOMACHACHE] = SI_STOMACHACHE;
- status->dbs->IconChangeTable[SC_MYSTERIOUS_POWDER] = SI_MYSTERIOUS_POWDER;
- status->dbs->IconChangeTable[SC_MELON_BOMB] = SI_MELON_BOMB;
- status->dbs->IconChangeTable[SC_BANANA_BOMB] = SI_BANANA_BOMB;
- status->dbs->IconChangeTable[SC_BANANA_BOMB_SITDOWN_POSTDELAY] = SI_BANANA_BOMB_SITDOWN_POSTDELAY;
- status->dbs->IconChangeTable[SC_PROMOTE_HEALTH_RESERCH] = SI_PROMOTE_HEALTH_RESERCH;
- status->dbs->IconChangeTable[SC_ENERGY_DRINK_RESERCH] = SI_ENERGY_DRINK_RESERCH;
-
- // Elemental Spirit's 'side' status change icons.
- status->dbs->IconChangeTable[SC_CIRCLE_OF_FIRE] = SI_CIRCLE_OF_FIRE;
- status->dbs->IconChangeTable[SC_FIRE_CLOAK] = SI_FIRE_CLOAK;
- status->dbs->IconChangeTable[SC_WATER_SCREEN] = SI_WATER_SCREEN;
- status->dbs->IconChangeTable[SC_WATER_DROP] = SI_WATER_DROP;
- status->dbs->IconChangeTable[SC_WIND_STEP] = SI_WIND_STEP;
- status->dbs->IconChangeTable[SC_WIND_CURTAIN] = SI_WIND_CURTAIN;
- status->dbs->IconChangeTable[SC_SOLID_SKIN] = SI_SOLID_SKIN;
- status->dbs->IconChangeTable[SC_STONE_SHIELD] = SI_STONE_SHIELD;
- status->dbs->IconChangeTable[SC_PYROTECHNIC] = SI_PYROTECHNIC;
- status->dbs->IconChangeTable[SC_HEATER] = SI_HEATER;
- status->dbs->IconChangeTable[SC_TROPIC] = SI_TROPIC;
- status->dbs->IconChangeTable[SC_AQUAPLAY] = SI_AQUAPLAY;
- status->dbs->IconChangeTable[SC_COOLER] = SI_COOLER;
- status->dbs->IconChangeTable[SC_CHILLY_AIR] = SI_CHILLY_AIR;
- status->dbs->IconChangeTable[SC_GUST] = SI_GUST;
- status->dbs->IconChangeTable[SC_BLAST] = SI_BLAST;
- status->dbs->IconChangeTable[SC_WILD_STORM] = SI_WILD_STORM;
- status->dbs->IconChangeTable[SC_PETROLOGY] = SI_PETROLOGY;
- status->dbs->IconChangeTable[SC_CURSED_SOIL] = SI_CURSED_SOIL;
- status->dbs->IconChangeTable[SC_UPHEAVAL] = SI_UPHEAVAL;
- status->dbs->IconChangeTable[SC_PUSH_CART] = SI_ON_PUSH_CART;
- status->dbs->IconChangeTable[SC_REBOUND] = SI_REBOUND;
- status->dbs->IconChangeTable[SC_ALL_RIDING] = SI_ALL_RIDING;
- status->dbs->IconChangeTable[SC_MONSTER_TRANSFORM] = SI_MONSTER_TRANSFORM;
-
- // Costumes
- status->dbs->IconChangeTable[SC_DRESS_UP] = SI_DRESS_UP;
- status->dbs->IconChangeTable[SC_MOONSTAR] = SI_MOONSTAR;
- status->dbs->IconChangeTable[SC_SUPER_STAR] = SI_SUPER_STAR;
- status->dbs->IconChangeTable[SC_STRANGELIGHTS] = SI_STRANGELIGHTS;
- status->dbs->IconChangeTable[SC_DECORATION_OF_MUSIC] = SI_DECORATION_OF_MUSIC;
- status->dbs->IconChangeTable[SC_LJOSALFAR] = SI_LJOSALFAR;
- status->dbs->IconChangeTable[SC_MERMAID_LONGING] = SI_MERMAID_LONGING;
- status->dbs->IconChangeTable[SC_HAT_EFFECT] = SI_HAT_EFFECT;
- status->dbs->IconChangeTable[SC_FLOWERSMOKE] = SI_FLOWERSMOKE;
- status->dbs->IconChangeTable[SC_FSTONE] = SI_FSTONE;
- status->dbs->IconChangeTable[SC_HAPPINESS_STAR] = SI_HAPPINESS_STAR;
- status->dbs->IconChangeTable[SC_MAPLE_FALLS] = SI_MAPLE_FALLS;
- status->dbs->IconChangeTable[SC_TIME_ACCESSORY] = SI_TIME_ACCESSORY;
- status->dbs->IconChangeTable[SC_MAGICAL_FEATHER] = SI_MAGICAL_FEATHER;
- status->dbs->IconChangeTable[SC_BLOSSOM_FLUTTERING] = SI_BLOSSOM_FLUTTERING;
-
- // Summoner
- status->dbs->IconChangeTable[SC_SPRITEMABLE] = SI_SPRITEMABLE;
-
- // Clan System
- status->dbs->IconChangeTable[SC_CLAN_INFO] = SI_CLAN_INFO;
-
- // RoDEX
- status->dbs->IconChangeTable[SC_DAILYSENDMAILCNT] = SI_DAILYSENDMAILCNT;
+ status->dbs->Skill2SCTable[skill->get_index(SL_ALCHEMIST)] = (sc_type)MAPID_ALCHEMIST,
+ status->dbs->Skill2SCTable[skill->get_index(SL_MONK)] = (sc_type)MAPID_MONK,
+ status->dbs->Skill2SCTable[skill->get_index(SL_STAR)] = (sc_type)MAPID_STAR_GLADIATOR,
+ status->dbs->Skill2SCTable[skill->get_index(SL_SAGE)] = (sc_type)MAPID_SAGE,
+ status->dbs->Skill2SCTable[skill->get_index(SL_CRUSADER)] = (sc_type)MAPID_CRUSADER,
+ status->dbs->Skill2SCTable[skill->get_index(SL_SUPERNOVICE)] = (sc_type)MAPID_SUPER_NOVICE,
+ status->dbs->Skill2SCTable[skill->get_index(SL_KNIGHT)] = (sc_type)MAPID_KNIGHT,
+ status->dbs->Skill2SCTable[skill->get_index(SL_WIZARD)] = (sc_type)MAPID_WIZARD,
+ status->dbs->Skill2SCTable[skill->get_index(SL_PRIEST)] = (sc_type)MAPID_PRIEST,
+ status->dbs->Skill2SCTable[skill->get_index(SL_BARDDANCER)] = (sc_type)MAPID_BARDDANCER,
+ status->dbs->Skill2SCTable[skill->get_index(SL_ROGUE)] = (sc_type)MAPID_ROGUE,
+ status->dbs->Skill2SCTable[skill->get_index(SL_ASSASIN)] = (sc_type)MAPID_ASSASSIN,
+ status->dbs->Skill2SCTable[skill->get_index(SL_BLACKSMITH)] = (sc_type)MAPID_BLACKSMITH,
+ status->dbs->Skill2SCTable[skill->get_index(SL_HUNTER)] = (sc_type)MAPID_HUNTER,
+ status->dbs->Skill2SCTable[skill->get_index(SL_SOULLINKER)] = (sc_type)MAPID_SOUL_LINKER,
// Other SC which are not necessarily associated to skills.
status->dbs->ChangeFlagTable[SC_ATTHASTE_POTION1] |= SCB_ASPD;
@@ -1093,6 +884,13 @@ static void initChangeTables(void)
status->dbs->ChangeFlagTable[SC_PHI_DEMON] |= SCB_ALL;
status->dbs->ChangeFlagTable[SC_MAGIC_CANDY] |= SCB_MATK | SCB_ALL;
status->dbs->ChangeFlagTable[SC_MYSTICPOWDER] |= SCB_FLEE | SCB_LUK;
+ status->dbs->ChangeFlagTable[SC_POPECOOKIE] |= SCB_BASE | SCB_BATK | SCB_MATK;
+ status->dbs->ChangeFlagTable[SC_VITALIZE_POTION] |= SCB_BATK | SCB_MATK;
+ status->dbs->ChangeFlagTable[SC_SKF_MATK] |= SCB_MATK;
+ status->dbs->ChangeFlagTable[SC_SKF_ATK] |= SCB_BATK;
+ status->dbs->ChangeFlagTable[SC_SKF_ASPD] |= SCB_ASPD;
+ status->dbs->ChangeFlagTable[SC_SKF_CAST] |= SCB_NONE;
+ status->dbs->ChangeFlagTable[SC_ALMIGHTY] |= SCB_BATK | SCB_MATK;
// Cash Items
status->dbs->ChangeFlagTable[SC_FOOD_STR_CASH] |= SCB_STR;
@@ -1205,8 +1003,6 @@ static void initChangeTables(void)
status->dbs->ChangeFlagTable[SC_MAGICAL_FEATHER] |= SCB_NONE;
status->dbs->ChangeFlagTable[SC_BLOSSOM_FLUTTERING] |= SCB_NONE;
- if( !battle_config.display_hallucination ) //Disable Hallucination.
- status->dbs->IconChangeTable[SC_ILLUSION] = SI_BLANK;
#undef add_sc
#undef set_sc_with_vfx
}
@@ -1795,7 +1591,7 @@ static int status_check_skilluse(struct block_list *src, struct block_list *targ
}
if( skill_id ) {
- if (src != NULL && (sd == NULL || sd->skillitem == 0)) {
+ if (src != NULL && (sd == NULL || sd->autocast.type != AUTOCAST_ITEM)) {
// Items that cast skills using 'itemskill' will not be handled by map_zone_db.
int i;
@@ -1839,7 +1635,7 @@ static int status_check_skilluse(struct block_list *src, struct block_list *targ
if (src != NULL
&& map->getcell(src->m, src, src->x, src->y, CELL_CHKLANDPROTECTOR)
&& !(st->mode&MD_BOSS)
- && (src->type != BL_PC || sd->skillitem != skill_id))
+ && (src->type != BL_PC || sd->autocast.type != AUTOCAST_ITEM))
return 0;
break;
default:
@@ -1918,7 +1714,7 @@ static int status_check_skilluse(struct block_list *src, struct block_list *targ
return 0; //Can't amp out of Wand of Hermode :/ [Skotlex]
}
- if (skill_id != 0 /* Do not block item-casted skills.*/ && (src->type != BL_PC || sd->skillitem != skill_id)) {
+ if (skill_id != 0 /* Do not block item-casted skills.*/ && (src->type != BL_PC || sd->autocast.type != AUTOCAST_ITEM)) {
//Skills blocked through status changes...
if (!flag && ( //Blocked only from using the skill (stuff like autospell may still go through
sc->data[SC_SILENCE] ||
@@ -2482,7 +2278,7 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
memset(ZEROED_BLOCK_POS(&(sd->left_weapon)), 0, ZEROED_BLOCK_SIZE(&(sd->left_weapon)));
if (sd->special_state.intravision && !sd->sc.data[SC_CLAIRVOYANCE]) //Clear intravision as long as nothing else is using it
- clif->sc_end(&sd->bl,sd->bl.id,SELF,SI_CLAIRVOYANCE);
+ clif->sc_end(&sd->bl, sd->bl.id, SELF, status->get_sc_icon(SC_CLAIRVOYANCE));
memset(&sd->special_state,0,sizeof(sd->special_state));
@@ -2577,18 +2373,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) {
@@ -2623,7 +2419,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
@@ -2783,12 +2579,16 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
status->calc_pc_additional(sd, opt);
- if( sd->pd ) { // Pet Bonus
+ if (sd->pd != NULL) { // Pet bonus.
struct pet_data *pd = sd->pd;
- if( pd && pd->petDB && pd->petDB->equip_script && pd->pet.intimate >= battle_config.pet_equip_min_friendly )
- script->run(pd->petDB->equip_script,0,sd->bl.id,0);
- if( pd && pd->pet.intimate > 0 && (!battle_config.pet_equip_required || pd->pet.equip > 0) && pd->state.skillbonus == 1 && pd->bonus )
- pc->bonus(sd,pd->bonus->type, pd->bonus->val);
+
+ if (pd->petDB != NULL && pd->petDB->equip_script != NULL)
+ script->run(pd->petDB->equip_script, 0, sd->bl.id, 0);
+
+ if (pd->pet.intimate > PET_INTIMACY_NONE && pd->state.skillbonus == 1 && pd->bonus != NULL
+ && (battle_config.pet_equip_required == 0 || pd->pet.equip > 0)) {
+ pc->bonus(sd, pd->bonus->type, pd->bonus->val);
+ }
}
//param_bonus now holds card bonuses.
@@ -3249,6 +3049,18 @@ static int status_calc_pc_(struct map_session_data *sd, enum e_status_calc_opt o
sd->subele[ELE_EARTH] += i;
sd->subele[ELE_FIRE] -= i;
}
+ if (sc->data[SC_POPECOOKIE] != NULL) {
+ i = sc->data[SC_POPECOOKIE]->val3;
+ sd->subele[ELE_WATER] += i;
+ sd->subele[ELE_EARTH] += i;
+ sd->subele[ELE_FIRE] += i;
+ sd->subele[ELE_WIND] += i;
+ sd->subele[ELE_POISON] += i;
+ sd->subele[ELE_HOLY] += i;
+ sd->subele[ELE_DARK] += i;
+ sd->subele[ELE_GHOST] += i;
+ sd->subele[ELE_UNDEAD] += i;
+ }
if (sc->data[SC_MTF_MLEATKED])
sd->subele[ELE_NEUTRAL] += sc->data[SC_MTF_MLEATKED]->val1;
if (sc->data[SC_FIRE_INSIGNIA] && sc->data[SC_FIRE_INSIGNIA]->val1 == 3)
@@ -3853,7 +3665,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);
}
@@ -4448,7 +4260,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;
@@ -4505,42 +4317,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;
@@ -4597,7 +4417,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 ) {
@@ -4994,17 +4814,21 @@ 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);
+ if (sc->data[SC_POPECOOKIE] != NULL)
+ batk += batk * sc->data[SC_POPECOOKIE]->val1 / 100;
+ if (sc->data[SC_VITALIZE_POTION] != NULL)
+ batk += batk * sc->data[SC_VITALIZE_POTION]->val1 / 100;
+ return cap_value(batk, battle_config.batk_min, battle_config.batk_max);
}
#ifndef RENEWAL
if(sc->data[SC_PLUSATTACKPOWER])
@@ -5083,18 +4907,22 @@ static unsigned short status_calc_batk(struct block_list *bl, struct status_chan
batk += batk * sc->data[SC_2011RWC]->val2 / 100;
if (sc->data[SC_STEAMPACK])
batk += sc->data[SC_STEAMPACK]->val1;
+ if (sc->data[SC_SKF_ATK] != NULL)
+ batk += sc->data[SC_SKF_ATK]->val1;
+ if (sc->data[SC_ALMIGHTY] != NULL)
+ batk += sc->data[SC_ALMIGHTY]->val1;
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 */
@@ -5102,7 +4930,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])
@@ -5180,14 +5008,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])
@@ -5208,22 +5036,26 @@ 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);
+ if (sc->data[SC_POPECOOKIE] != NULL)
+ matk += matk * sc->data[SC_POPECOOKIE]->val2 / 100;
+ if (sc->data[SC_VITALIZE_POTION] != NULL)
+ matk += matk * sc->data[SC_VITALIZE_POTION]->val2 / 100;
+ return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
}
#ifndef RENEWAL
@@ -5280,18 +5112,22 @@ static unsigned short status_calc_matk(struct block_list *bl, struct status_chan
matk += matk * sc->data[SC_2011RWC]->val2 / 100;
if (sc->data[SC_MAGIC_CANDY])
matk += sc->data[SC_MAGIC_CANDY]->val1;
+ if (sc->data[SC_SKF_MATK] != NULL)
+ matk += sc->data[SC_SKF_MATK]->val1;
+ if (sc->data[SC_ALMIGHTY] != NULL)
+ matk += sc->data[SC_ALMIGHTY]->val2;
- 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])
@@ -5322,20 +5158,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])
@@ -5377,26 +5213,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])
@@ -5474,17 +5310,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])
@@ -5496,7 +5332,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)
@@ -6104,6 +5940,8 @@ static short status_calc_aspd(struct block_list *bl, struct status_change *sc, s
bonus += sc->data[SC_BATTLESCROLL]->val1;
if (sc->data[SC_STEAMPACK])
bonus += sc->data[SC_STEAMPACK]->val2;
+ if (sc->data[SC_SKF_ASPD] != NULL)
+ bonus += sc->data[SC_SKF_ASPD]->val1;
}
return (bonus + pots);
@@ -6271,6 +6109,8 @@ static short status_calc_aspd_rate(struct block_list *bl, struct status_change *
aspd_rate += sc->data[SC_BATTLESCROLL]->val1 * 10;
if (sc->data[SC_STEAMPACK])
aspd_rate += sc->data[SC_STEAMPACK]->val2 * 10;
+ if (sc->data[SC_SKF_ASPD] != NULL)
+ aspd_rate -= sc->data[SC_SKF_ASPD]->val1 * 10;
return (short)cap_value(aspd_rate,0,SHRT_MAX);
}
@@ -7506,7 +7346,7 @@ static void status_display_remove(struct map_session_data *sd, enum sc_type type
}
/**
- * Starts a status change.
+ * Starts a status change with a set remaining time.
*
* @param src Status change source bl.
* @param bl Status change target bl.
@@ -7516,13 +7356,14 @@ static void status_display_remove(struct map_session_data *sd, enum sc_type type
* @param val2 Additional value (meaning depends on type).
* @param val3 Additional value (meaning depends on type).
* @param val4 Additional value (meaning depends on type).
- * @param tick Base duration (milliseconds).
+ * @param tick Remaining duration (miliseconds). (if flag doesn't contain SCFLAG_LOADED, it will become the final total_tick)
+ * @param total_tick Base duration (milliseconds).
* @param flag Special flags (@see enum scstart_flag).
*
* @retval 0 if no status change happened.
* @retval 1 if the status change was successfully applied.
*/
-static int status_change_start(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag)
+static int status_change_start_sub(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int total_tick, int flag)
{
struct map_session_data *sd = NULL;
struct status_change* sc;
@@ -7536,7 +7377,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
st = status->get_status_data(bl);
if (type <= SC_NONE || type >= SC_MAX) {
- ShowError("status_change_start: invalid status change (%d)!\n", type);
+ ShowError("status_change_start_sub: invalid status change (%d)!\n", type);
return 0;
}
@@ -7561,10 +7402,10 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
sd = BL_CAST(BL_PC, bl);
- //Adjust tick according to status resistances
+ //Adjust total_tick according to status resistances
if( !(flag&(SCFLAG_NOAVOID|SCFLAG_LOADED)) ) {
- tick = status->get_sc_def(src, bl, type, rate, tick, flag);
- if( !tick ) return 0;
+ total_tick = status->get_sc_def(src, bl, type, rate, total_tick, flag);
+ if( !total_tick ) return 0;
}
undead_flag = battle->check_undead(st->race, st->def_ele);
@@ -7597,6 +7438,9 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
//Undead are immune to Freeze/Stone
if (undead_flag && !(flag&SCFLAG_NOAVOID))
return 0;
+ // SC_LEXAETERNA should be removed when applying SC_STONE or SC_FREEZE
+ if (sc->data[SC_LEXAETERNA] != NULL)
+ status_change_end(bl, SC_LEXAETERNA, INVALID_TIMER);
FALLTHROUGH
case SC_SLEEP:
case SC_STUN:
@@ -7715,7 +7559,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
}
if (!opt_flag) return 0;
}
- if (tick == 1) return 1; //Minimal duration: Only strip without causing the SC
+ if (total_tick == 1) return 1; //Minimal duration: Only strip without causing the SC
break;
case SC_NOEQUIPSHIELD:
if (val2 == 1) {
@@ -7731,7 +7575,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
pc->unequipitem(sd, i, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
}
}
- if (tick == 1)
+ if (total_tick == 1)
return 1; //Minimal duration: Only strip without causing the SC
break;
case SC_NOEQUIPARMOR:
@@ -7744,7 +7588,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
return 0;
pc->unequipitem(sd, i, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
}
- if (tick == 1) return 1; //Minimal duration: Only strip without causing the SC
+ if (total_tick == 1) return 1; //Minimal duration: Only strip without causing the SC
break;
case SC_NOEQUIPHELM:
if (sd && !(flag&SCFLAG_LOADED)) {
@@ -7756,7 +7600,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
return 0;
pc->unequipitem(sd, i, PCUNEQUIPITEM_RECALC|PCUNEQUIPITEM_FORCE);
}
- if (tick == 1) return 1; //Minimal duration: Only strip without causing the SC
+ if (total_tick == 1) return 1; //Minimal duration: Only strip without causing the SC
break;
case SC_MER_FLEE:
case SC_MER_ATK:
@@ -7810,7 +7654,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
if( i < 0 )
return 0;
}
- if (tick == 1) return 1; //Minimal duration: Only strip without causing the SC
+ if (total_tick == 1) return 1; //Minimal duration: Only strip without causing the SC
break;
case SC_TOXIN:
case SC_PARALYSE:
@@ -7980,33 +7824,33 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
int i;
for( i = 0; i < MAX_PC_DEVOTION; i++ ) {
if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL)
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, val3, val4, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, val3, val4, total_tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
} else if (bl->type == BL_MER) {
struct mercenary_data *mc = BL_UCAST(BL_MER, bl);
if (mc->devotion_flag && (tsd = mc->master) != NULL) {
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, val3, val4, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, val3, val4, total_tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
}
}
//val4 signals infinite endure (if val4 == 2 it is infinite endure from Berserk)
if (val4)
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_AUTOBERSERK:
if (st->hp < st->max_hp>>2 &&
(!sc->data[SC_PROVOKE] || sc->data[SC_PROVOKE]->val2==0))
sc_start4(src,bl,SC_PROVOKE,100,10,1,0,0,60000);
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_CRUCIS:
val2 = 10 + 4*val1; //Def reduction
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
clif->emotion(bl,E_SWT);
break;
case SC_MAXIMIZEPOWER:
- tick_time = val2 = tick>0?tick:60000;
- tick = INFINITE_DURATION; // duration sent to the client should be infinite
+ tick_time = val2 = total_tick>0?total_tick:60000;
+ total_tick = INFINITE_DURATION; // duration sent to the client should be infinite
break;
case SC_EDP: // [Celest]
//Chance to Poison enemies.
@@ -8017,7 +7861,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
#endif
val3 = 50 * (val1 + 1); //Damage increase (+50 +50*lv%)
if( sd )//[Ind] - iROwiki says each level increases its duration by 3 seconds
- tick += pc->checkskill(sd,GC_RESEARCHNEWPOISON)*3000;
+ total_tick += pc->checkskill(sd,GC_RESEARCHNEWPOISON)*3000;
break;
case SC_POISONREACT:
val2=(val1+1)/2 + val1/10; // Number of counters [Skotlex]
@@ -8047,7 +7891,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_SACRIFICE:
val2 = 5; //Lasts 5 hits
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_ENCHANTPOISON:
val2= 250+50*val1; //Poisoning Chance (2.5+0.5%) in 1/10000 rate
@@ -8084,12 +7928,12 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
int i;
for( i = 0; i < MAX_PC_DEVOTION; i++ ) {
if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL)
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, total_tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
} else if (bl->type == BL_MER) {
struct mercenary_data *mc = BL_UCAST(BL_MER, bl);
if (mc->devotion_flag && (tsd = mc->master) != NULL) {
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, total_tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
}
}
@@ -8168,9 +8012,9 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
//val3 : Brings the skill_lv (merged into val1 here)
//val4 : Partner
if (val1 == CG_MOONLIT)
- clif->status_change(bl,SI_MOON,1,tick,0, 0, 0);
+ clif->status_change(bl, status->get_sc_icon(SC_MOON), status->get_sc_relevant_bl_types(SC_MOON), 1, total_tick, 0, 0, 0);
val1|= (val3<<16);
- val3 = tick/1000; //Tick duration
+ val3 = total_tick/1000; //Tick duration
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_LONGING:
@@ -8207,7 +8051,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
// mmocharstatus.manner, each negative point results in 1 minute with this status activated
// This is done this way because the message that the client displays is hardcoded, and only
// shows how many minutes are remaining. [Panikon]
- tick = 60000;
+ total_tick = 60000;
val1 = battle_config.manner_system; //Mute filters.
if (sd)
{
@@ -8217,11 +8061,11 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_STONE:
- val3 = tick/1000; //Petrified HP-damage iterations.
+ val3 = total_tick/1000; //Petrified HP-damage iterations.
if(val3 < 1) val3 = 1;
- tick = val4; //Petrifying time.
+ total_tick = val4; //Petrifying time.
if(val4 > 500) // not with WL_SIENNAEXECRATE
- tick = max(tick, 1000); //Min time
+ total_tick = max(total_tick, 1000); //Min time
calc_flag = 0; //Actual status changes take effect on petrified state.
break;
@@ -8240,7 +8084,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
}
// fall through
case SC_POISON:
- val3 = tick/1000; //Damage iterations
+ val3 = total_tick/1000; //Damage iterations
if(val3 < 1) val3 = 1;
tick_time = 1000; // [GodLesZ] tick time
//val4: HP damage
@@ -8254,7 +8098,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
clif->emotion(bl,E_WHAT);
break;
case SC_BLOODING:
- val4 = tick/10000;
+ val4 = total_tick/10000;
if (!val4) val4 = 1;
tick_time = 10000; // [GodLesZ] tick time
break;
@@ -8267,7 +8111,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
// val2 = seconds between heals
// val4 = total of heals
if (val2 < 1) val2 = 1;
- if ((val4 = tick / (val2 * 1000)) < 1)
+ if ((val4 = total_tick / (val2 * 1000)) < 1)
val4 = 1;
tick_time = val2 * 1000; // [GodLesZ] tick time
break;
@@ -8280,19 +8124,19 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
return 0; // No need to start SC
}
val1 = boss_md->bl.id;
- if( (val4 = tick/1000) < 1 )
+ if( (val4 = total_tick/1000) < 1 )
val4 = 1;
tick_time = 1000; // [GodLesZ] tick time
}
break;
case SC_HIDING:
- val2 = tick/1000;
+ val2 = total_tick/1000;
tick_time = 1000; // [GodLesZ] tick time
val3 = 0; // unused, previously speed adjustment
val4 = val1+3; //Seconds before SP substraction happen.
break;
case SC_CHASEWALK:
- val2 = tick>0?tick:10000; //Interval at which SP is drained.
+ val2 = total_tick>0?total_tick:10000; //Interval at which SP is drained.
val3 = 35 - 5 * val1; //Speed adjustment.
if (sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_ROGUE)
val3 -= 40;
@@ -8302,8 +8146,8 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_CLOAKING:
if (!sd) //Monsters should be able to walk with no penalties. [Skotlex]
val1 = 10;
- tick_time = val2 = tick>0?tick:60000; //SP consumption rate.
- tick = INFINITE_DURATION; // duration sent to the client should be infinite
+ tick_time = val2 = total_tick>0?total_tick:60000; //SP consumption rate.
+ total_tick = INFINITE_DURATION; // duration sent to the client should be infinite
val3 = 0; // unused, previously walk speed adjustment
//val4&1 signals the presence of a wall.
//val4&2 makes cloak not end on normal attacks [Skotlex]
@@ -8317,7 +8161,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_RUWACH:
case SC_WZ_SIGHTBLASTER:
val3 = skill->get_splash(val2, val1); //Val2 should bring the skill-id.
- val2 = tick/20;
+ val2 = total_tick/20;
tick_time = 20; // [GodLesZ] tick time
break;
@@ -8335,7 +8179,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_DODGE_READY:
case SC_PUSH_CART:
case SC_DAILYSENDMAILCNT:
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_AUTOGUARD:
@@ -8351,12 +8195,12 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
if( sd ) {
for( i = 0; i < MAX_PC_DEVOTION; i++ ) {
if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL)
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, total_tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
} else if (bl->type == BL_MER) {
struct mercenary_data *mc = BL_UCAST(BL_MER, bl);
if (mc->devotion_flag && (tsd = mc->master) != NULL) {
- status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
+ status->change_start(bl, &tsd->bl, type, 10000, val1, val2, 0, 0, total_tick, SCFLAG_NOAVOID|SCFLAG_NOICON);
}
}
}
@@ -8375,7 +8219,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
for (i = 0; i < MAX_PC_DEVOTION; i++) {
//See if there are devoted characters, and pass the status to them. [Skotlex]
if (sd->devotion[i] && (tsd = map->id2sd(sd->devotion[i])) != NULL)
- status->change_start(bl, &tsd->bl,type,10000,val1,5+val1*5,val3,val4,tick,SCFLAG_NOAVOID);
+ status->change_start(bl, &tsd->bl,type,10000,val1,5+val1*5,val3,val4,total_tick,SCFLAG_NOAVOID);
}
}
}
@@ -8388,8 +8232,8 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
}
val2 = 12; //SP cost
val4 = 10000; //Decrease at 10secs intervals.
- val3 = tick/val4;
- tick = INFINITE_DURATION; // duration sent to the client should be infinite
+ val3 = total_tick/val4;
+ total_tick = INFINITE_DURATION; // duration sent to the client should be infinite
tick_time = val4; // [GodLesZ] tick time
break;
case SC_PARRYING:
@@ -8407,21 +8251,21 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_BERSERK:
if( val3 == SC__BLOODYLUST )
- sc_start(src,bl,(sc_type)val3,100,val1,tick);
+ sc_start(src,bl,(sc_type)val3,100,val1,total_tick);
if (!val3 && (!sc->data[SC_ENDURE] || !sc->data[SC_ENDURE]->val4))
- sc_start4(src, bl, SC_ENDURE, 100,10,0,0,2, tick);
+ sc_start4(src, bl, SC_ENDURE, 100,10,0,0,2, total_tick);
//HP healing is performing after the calc_status call.
//Val2 holds HP penalty
if (!val4) val4 = skill->get_time2(status->sc2skill(type),val1);
if (!val4) val4 = 10000; //Val4 holds damage interval
- val3 = tick/val4; //val3 holds skill duration
+ val3 = total_tick/val4; //val3 holds skill duration
tick_time = val4; // [GodLesZ] tick time
break;
case SC_GOSPEL:
if(val4 == BCT_SELF) {
// self effect
- val2 = tick/10000;
+ val2 = total_tick/10000;
tick_time = 10000; // [GodLesZ] tick time
status->change_clear_buffs(bl,3); //Remove buffs/debuffs
}
@@ -8474,23 +8318,23 @@ 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:
val2 = 15*val1; //Reflect chance
val3 = 3; //Reflections
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_MEMORIZE:
val2 = 5; //Memorized casts.
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_GRAVITATION:
@@ -8544,11 +8388,11 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
struct status_change_entry *sce2 = sc2 ? sc2->data[SC_RG_CCONFINE_M] : NULL;
if (src2 && sc2) {
if (!sce2) //Start lock on caster.
- sc_start4(src,src2,SC_RG_CCONFINE_M,100,val1,1,0,0,tick+1000);
+ sc_start4(src,src2,SC_RG_CCONFINE_M,100,val1,1,0,0,total_tick+1000);
else { //Increase count of locked enemies and refresh time.
(sce2->val2)++;
timer->delete(sce2->timer, status->change_timer);
- sce2->timer = timer->add(timer->gettick()+tick+1000, status->change_timer, src2->id, SC_RG_CCONFINE_M);
+ sce2->timer = timer->add(timer->gettick()+total_tick+1000, status->change_timer, src2->id, SC_RG_CCONFINE_M);
}
} else //Status failed.
return 0;
@@ -8584,13 +8428,13 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
//val4: TK: Combo time
struct unit_data *ud = unit->bl2ud(bl);
if( ud && (!val3 || val3 == 2) ) {
- tick += 300 * battle_config.combo_delay_rate/100;
- ud->attackabletime = timer->gettick()+tick;
+ total_tick += 300 * battle_config.combo_delay_rate/100;
+ ud->attackabletime = timer->gettick()+total_tick;
if( !val3 )
- unit->set_walkdelay(bl, timer->gettick(), tick, 1);
+ unit->set_walkdelay(bl, timer->gettick(), total_tick, 1);
}
val3 = 0;
- val4 = tick;
+ val4 = total_tick;
break;
}
case SC_EARTHSCROLL:
@@ -8604,7 +8448,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val3 = (int)(currenttick&0x00000000ffffffffLL);
val4 = (int)((currenttick&0xffffffff00000000LL)>>32);
}
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_KAAHI:
val2 = 200*val1; //HP heal
@@ -8619,7 +8463,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_TRICKDEAD:
if (vd) vd->dead_sit = 1;
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_CONCENTRATION:
val2 = 2 + val1;
@@ -8637,7 +8481,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
//val2 holds if it was casted on self, or is bonus received from others
val3 = 5*val1; //Power increase
if(sd && pc->checkskill(sd,BS_HILTBINDING)>0)
- tick += tick / 10;
+ total_tick += total_tick / 10;
break;
case SC_ADRENALINE2:
case SC_ADRENALINE:
@@ -8645,13 +8489,13 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
FALLTHROUGH
case SC_WEAPONPERFECT:
if(sd && pc->checkskill(sd,BS_HILTBINDING)>0)
- tick += tick / 10;
+ total_tick += total_tick / 10;
break;
case SC_LKCONCENTRATION:
val2 = 5*val1; //Batk/Watk Increase
val3 = 10*val1; //Hit Increase
val4 = 5*val1; //Def reduction
- sc_start(src, bl, SC_ENDURE, 100, 1, tick); //Endure effect
+ sc_start(src, bl, SC_ENDURE, 100, 1, total_tick); //Endure effect
break;
case SC_ANGELUS:
val2 = 5*val1; //def increase
@@ -8721,7 +8565,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val3 = 12*val1; //mdef2 reduction.
break;
case SC_SKA:
- val2 = tick/1000;
+ val2 = total_tick/1000;
val3 = rnd()%100; //Def changes randomly every second...
tick_time = 1000; // [GodLesZ] tick time
break;
@@ -8734,7 +8578,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
// When renewing status' information
// val3 Return map_index
// val4 return coordinates
- tick = val1>0?1000:250;
+ total_tick = val1>0?1000:250;
if (sd)
{
if (sd->mapindex != val2)
@@ -8769,11 +8613,11 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_SWOO:
if(st->mode&MD_BOSS)
- tick /= 5; //TODO: Reduce skill's duration. But for how long?
+ total_tick /= 5; //TODO: Reduce skill's duration. But for how long?
break;
case SC_SPIDERWEB:
if( bl->type == BL_PC )
- tick /= 2;
+ total_tick /= 2;
break;
case SC_ARMOR:
//NPC_DEFENDER:
@@ -8838,7 +8682,14 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_KAIZEL:
val2 = 10*val1; //% of life to be revived with
break;
- // case SC_ARMORPROPERTY:
+ case SC_ARMORPROPERTY:
+ {
+ int ele = (val1 > 0 ? SC_RESIST_PROPERTY_WATER :
+ (val2 > 0 ? SC_RESIST_PROPERTY_GROUND :
+ (val3 > 0 ? SC_RESIST_PROPERTY_FIRE :
+ (val4 > 0 ? SC_RESIST_PROPERTY_WIND : SI_BLANK))));
+ clif->status_change(bl, status->get_sc_icon(ele), status->get_sc_relevant_bl_types(ele), 1, total_tick, 0, 0, 0);
+ break;
// case SC_ARMOR_RESIST:
// Mod your resistance against elements:
// val1 = water | val2 = earth | val3 = fire | val4 = wind
@@ -8847,7 +8698,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
//Place here SCs that have no SCB_* data, no skill associated, no ICON
//associated, and yet are not wrong/unknown. [Skotlex]
//break;
-
+ }
case SC_MER_FLEE:
case SC_MER_ATK:
case SC_MER_HIT:
@@ -8879,11 +8730,11 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
**/
case SC_FEAR:
val2 = 2;
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_BURNING:
- val4 = tick / 3000; // Total Ticks to Burn!!
+ val4 = total_tick / 3000; // Total Ticks to Burn!!
tick_time = 3000; // [GodLesZ] tick time
break;
/**
@@ -8897,14 +8748,14 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val1 = sd->status.job_level * pc->checkskill(sd, RK_RUNEMASTERY) / 4; //DEF/MDEF Increase
break;
case SC_ABUNDANCE:
- val4 = tick / 10000;
+ val4 = total_tick / 10000;
tick_time = 10000; // [GodLesZ] tick time
break;
/**
* Arch Bishop
**/
case SC_RENOVATIO:
- val4 = tick / 5000;
+ val4 = total_tick / 5000;
tick_time = 5000;
break;
case SC_SECRAMENT:
@@ -8915,28 +8766,28 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_WEAPONBLOCKING:
val2 = 10 + 2 * val1; // Chance
- val4 = tick / 5000;
+ val4 = total_tick / 5000;
tick_time = 5000; // [GodLesZ] tick time
break;
case SC_TOXIN:
- val4 = tick / 10000;
+ val4 = total_tick / 10000;
tick_time = 10000; // [GodLesZ] tick time
break;
case SC_MAGICMUSHROOM:
- val4 = tick / 4000;
+ val4 = total_tick / 4000;
tick_time = 4000; // [GodLesZ] tick time
break;
case SC_PYREXIA:
status->change_start(src, bl,SC_BLIND,10000,val1,0,0,0,30000,SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE); // Blind status that last for 30 seconds
- val4 = tick / 3000;
+ val4 = total_tick / 3000;
tick_time = 3000; // [GodLesZ] tick time
break;
case SC_LEECHESEND:
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_OBLIVIONCURSE:
- val4 = tick / 3000;
+ val4 = total_tick / 3000;
tick_time = 3000; // [GodLesZ] tick time
break;
case SC_CLOAKINGEXCEED:
@@ -8975,7 +8826,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_SUMMON3:
case SC_SUMMON4:
case SC_SUMMON5:
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
if( val4 < 1 )
val4 = 1;
tick_time = 1000; // [GodLesZ] tick time
@@ -8990,19 +8841,19 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
}
break;
case SC_STEALTHFIELD_MASTER:
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 2000 + (1000 * val1);
break;
case SC_ELECTRICSHOCKER:
case SC_COLD:
case SC_MEIKYOUSISUI:
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
if( val4 < 1 )
val4 = 1;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_CAMOUFLAGE:
- val4 = tick/1000;
+ val4 = total_tick/1000;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_WUGDASH:
@@ -9013,17 +8864,17 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val3 = (int)(currenttick&0x00000000ffffffffLL);
val4 = (int)((currenttick&0xffffffff00000000LL)>>32);
}
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC__REPRODUCE:
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000;
break;
case SC__SHADOWFORM: {
struct map_session_data * s_sd = map->id2sd(val2);
if( s_sd )
s_sd->shadowform_id = bl->id;
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
}
break;
@@ -9034,7 +8885,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC__INVISIBILITY:
val2 = 50 - 10 * val1; // ASPD
val3 = 200 * val1; // CRITICAL
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC__ENERVATION:
@@ -9061,7 +8912,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
if (sd->status.pet_id > 0)
pet->menu(sd, 3);
if (homun_alive(sd->hd))
- homun->vaporize(sd,HOM_ST_REST);
+ homun->vaporize(sd, HOM_ST_REST, true);
if (sd->md)
mercenary->delete(sd->md,3);
}
@@ -9076,8 +8927,8 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC__WEAKNESS:
val2 = 10 * val1;
// bypasses coating protection and MADO
- sc_start(src, bl,SC_NOEQUIPWEAPON,100,val1,tick);
- sc_start(src, bl,SC_NOEQUIPSHIELD,100,val1,tick);
+ sc_start(src, bl,SC_NOEQUIPWEAPON,100,val1,total_tick);
+ sc_start(src, bl,SC_NOEQUIPSHIELD,100,val1,total_tick);
break;
case SC_GN_CARTBOOST:
if( val1 < 3 )
@@ -9097,7 +8948,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_STRIKING:
val1 = 6 - val1;//spcost = 6 - level (lvl1:5 ... lvl 5: 1)
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_BLOOD_SUCKER:
@@ -9106,7 +8957,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val3 = 1;
if(src2)
val3 = 200 + 100 * val1 + status_get_int(src2);
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
}
break;
@@ -9127,22 +8978,22 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val2 = 5 + 5 * val1;
break;
case SC_SIREN:
- val4 = tick / 2000;
+ val4 = total_tick / 2000;
tick_time = 2000; // [GodLesZ] tick time
break;
case SC_DEEP_SLEEP:
- val4 = tick / 2000;
+ val4 = total_tick / 2000;
tick_time = 2000; // [GodLesZ] tick time
break;
case SC_SIRCLEOFNATURE:
val2 = 40 * val1;//HP recovery
val3 = 4 * val1;//SP drain
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_SONG_OF_MANA:
val3 = 10 + 5 * val2;
- val4 = tick/5000;
+ val4 = total_tick/5000;
tick_time = 5000; // [GodLesZ] tick time
break;
case SC_SATURDAY_NIGHT_FEVER:
@@ -9150,7 +9001,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
if ( val2 < 1000 )
val2 = 1000;//Added to prevent val3 from dividing by 0 when using level 6 or higher through commands. [Rytech]
val3 = tick/val2;*/
- val3 = tick / 3000;
+ val3 = total_tick / 3000;
tick_time = 3000;// [GodLesZ] tick time
break;
case SC_GLOOMYDAY:
@@ -9186,7 +9037,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_MELODYOFSINK:
val3 = val1 * (2 + val2);//INT Reduction. Formula Includes Caster And 2nd Performer.
- val4 = tick/1000;
+ val4 = total_tick/1000;
tick_time = 1000;
break;
case SC_BEYOND_OF_WARCRY:
@@ -9204,13 +9055,13 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_LG_REFLECTDAMAGE:
val2 = 15 + 5 * val1;
val3 = 25 + 5 * val1; //Number of Reflects
- val4 = tick/1000;
+ val4 = total_tick/1000;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_FORCEOFVANGUARD:
val2 = 8 + 12 * val1; // Chance
val3 = 5 + 2 * val1; // Max rage counters
- tick = INFINITE_DURATION; //endless duration in the client
+ total_tick = INFINITE_DURATION; //endless duration in the client
break;
case SC_EXEEDBREAK:
if( sd ){
@@ -9233,7 +9084,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
tick_time = 5000; // [GodLesZ] tick time
break;
case SC_MAGNETICFIELD:
- val3 = tick / 1000;
+ val3 = total_tick / 1000;
tick_time = 1000; // [GodLesZ] tick time
break;
case SC_INSPIRATION:
@@ -9241,7 +9092,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val2 = 40 * val1 + 3 * sd->status.job_level;// ATK bonus
val3 = sd->status.base_level / 10 + sd->status.job_level / 5;// All stat bonus
}
- val4 = tick / 5000;
+ val4 = total_tick / 5000;
tick_time = 5000; // [GodLesZ] tick time
status->change_clear_buffs(bl,3); //Remove buffs/debuffs
break;
@@ -9252,7 +9103,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val1 = (sd?sd->status.job_level:2)/2 + 40 + 5 * val1;
break;
case SC_RAISINGDRAGON:
- val3 = tick / 5000;
+ val3 = total_tick / 5000;
tick_time = 5000; // [GodLesZ] tick time
break;
case SC_GENTLETOUCH_CHANGE:
@@ -9362,7 +9213,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_STONE_SHIELD:
val2 += 5;
val3 += 1000;
- val4 = tick;
+ val4 = total_tick;
tick_time = val3;
break;
case SC_WATER_BARRIER:
@@ -9385,18 +9236,18 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_STOMACHACHE:
val3 = 8; // SP consume.
- val4 = tick / 10000;
+ val4 = total_tick / 10000;
tick_time = 10000; // [GodLesZ] tick time
break;
case SC_STEAMPACK: // [Frost]
val3 = 100; // HP Consume.
- val4 = tick / 10000;
+ val4 = total_tick / 10000;
tick_time = 10000;
- sc_start(src, bl, SC_ENDURE, 100, 10, tick); // Endure effect
+ sc_start(src, bl, SC_ENDURE, 100, 10, total_tick); // Endure effect
break;
case SC_MAGIC_CANDY: // [Frost]
val3 = 90; // SP Consume.
- val4 = tick / 10000;
+ val4 = total_tick / 10000;
tick_time = 10000;
break;
case SC_PROMOTE_HEALTH_RESERCH:
@@ -9435,7 +9286,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val3 = val1 * 2;
FALLTHROUGH
case SC_IZAYOI:
- val2 = tick/1000;
+ val2 = total_tick/1000;
tick_time = 1000;
break;
case SC_ZANGETSU:
@@ -9475,12 +9326,12 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
case SC_ANGRIFFS_MODUS:
val2 = 50 + 20 * val1; //atk bonus
val3 = 40 + 20 * val1; // Flee reduction.
- val4 = tick/1000; // hp/sp reduction timer
+ val4 = total_tick/1000; // hp/sp reduction timer
tick_time = 1000;
break;
case SC_NEUTRALBARRIER:
- tick_time = tick;
- tick = INFINITE_DURATION;
+ tick_time = total_tick;
+ total_tick = INFINITE_DURATION;
break;
case SC_GOLDENE_FERSE:
val2 = 10 + 10*val1; //max hp bonus
@@ -9509,10 +9360,10 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val2 = 2*val1; //aspd reduction %
val3 = 2*val1; //dmg reduction %
if(sc->data[SC_NEEDLE_OF_PARALYZE])
- sc_start(src, bl, SC_ENDURE, 100, val1, tick); //start endure for same duration
+ sc_start(src, bl, SC_ENDURE, 100, val1, total_tick); //start endure for same duration
break;
case SC_STYLE_CHANGE: //[Lighta] need real info
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
if(val2 == MH_MD_FIGHTING) val2 = MH_MD_GRAPPLING;
else val2 = MH_MD_FIGHTING;
break;
@@ -9520,12 +9371,12 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
status_percent_heal(bl,100,0);
val2 = 7 - val1;
tick_time = 1000;
- val4 = tick / tick_time;
+ val4 = total_tick / tick_time;
break;
case SC_KINGS_GRACE:
val2 = 3 + val1;
tick_time = 1000;
- val4 = tick / tick_time;
+ val4 = total_tick / tick_time;
break;
case SC_TELEKINESIS_INTENSE:
val2 = 10 * val1;
@@ -9538,7 +9389,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val2 = 5 * val1;
val3 = (20 * val1) + 80;
tick_time = 1000;
- val4 = tick / tick_time;
+ val4 = total_tick / tick_time;
break;
case SC_DARKCROW:
val2 = 30 * val1;
@@ -9549,7 +9400,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_SPRITEMABLE:
case SC_ALL_RIDING:
- tick = INFINITE_DURATION;
+ total_tick = INFINITE_DURATION;
break;
case SC_FLASHCOMBO:
/**
@@ -9562,7 +9413,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
* Summoner
*/
case SC_FRESHSHRIMP:
- val4 = tick / (10000 - ((val1 - 1) * 1000));
+ val4 = total_tick / (10000 - ((val1 - 1) * 1000));
tick_time = 10000 - ((val1 - 1) * 1000);
if (val4 <= 0) // Prevents a negeative value from happening
val4 = 0;
@@ -9578,7 +9429,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
break;
case SC_BITESCAR:
val2 = 2 * val1; // MHP% damage
- val4 = tick / 1000;
+ val4 = total_tick / 1000;
tick_time = 1000;
break;
case SC_SHRIMP:
@@ -9589,7 +9440,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
val3 = 25 * val1; // Move speed reduction
break;
default:
- if (status->change_start_unknown_sc(src, bl, type, calc_flag, rate, val1, val2, val3, val4, tick, flag)) {
+ if (status->change_start_unknown_sc(src, bl, type, calc_flag, rate, val1, val2, val3, val4, total_tick, flag)) {
return 0;
}
}
@@ -9659,13 +9510,15 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
}
#endif
- if(!(flag&SCFLAG_NOICON) && !(flag&SCFLAG_LOADED && status->dbs->DisplayType[type]))
- clif->status_change(bl,status->dbs->IconChangeTable[type],1,tick,(val_flag&1)?val1:1,(val_flag&2)?val2:0,(val_flag&4)?val3:0);
+ if (!(flag & SCFLAG_LOADED))
+ tick = total_tick; // When starting a new SC (not loading), its remaining duration is the same as the total
+ if(!(flag & SCFLAG_NOICON) && !(flag & SCFLAG_LOADED && status->dbs->DisplayType[type]))
+ clif->status_change_sub(bl, status->get_sc_icon(type), status->get_sc_relevant_bl_types(type), 1, tick, total_tick, (val_flag & 1) ? val1 : 1, (val_flag & 2) ? val2 : 0, (val_flag & 4) ? val3 : 0);
/**
* used as temporary storage for scs with interval ticks, so that the actual duration is sent to the client first.
**/
- if( tick_time )
+ if(tick_time)
tick = tick_time;
//Don't trust the previous sce assignment, in case the SC ended somewhere between there and here.
@@ -9681,6 +9534,7 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
sce->val2 = val2;
sce->val3 = val3;
sce->val4 = val4;
+ sce->total_tick = total_tick;
if (tick >= 0) {
sce->timer = timer->add(timer->gettick() + tick, status->change_timer, bl->id, type);
@@ -9789,10 +9643,10 @@ static int status_change_start(struct block_list *src, struct block_list *bl, en
return 1;
}
-static bool status_change_start_unknown_sc(struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int tick, int flag)
+static bool status_change_start_unknown_sc(struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int total_tick, int flag)
{
Assert_retr(false, type >= SC_NONE && type < SC_MAX);
- if (calc_flag == SCB_NONE && status->dbs->SkillChangeTable[type] == 0 && status->dbs->IconChangeTable[type] == 0) {
+ if (calc_flag == SCB_NONE && status->dbs->SkillChangeTable[type] == 0 && status->get_sc_icon(type) == SI_BLANK) {
//Status change with no calc, no icon, and no skill associated...?
ShowError("UnknownStatusChange [%d]\n", type);
return true;
@@ -9800,6 +9654,28 @@ static bool status_change_start_unknown_sc(struct block_list *src, struct block_
return false;
}
+/**
+ * Starts a status change in its full duration.
+ *
+ * @param src Status change source bl.
+ * @param bl Status change target bl.
+ * @param type Status change type.
+ * @param rate Base success rate. 1 means 0.01%, 10000 means 100%.
+ * @param val1 Additional value (meaning depends on type).
+ * @param val2 Additional value (meaning depends on type).
+ * @param val3 Additional value (meaning depends on type).
+ * @param val4 Additional value (meaning depends on type).
+ * @param tick Base duration (milliseconds).
+ * @param flag Special flags (@see enum scstart_flag).
+ *
+ * @retval 0 if no status change happened.
+ * @retval 1 if the status change was successfully applied.
+ */
+static int status_change_start(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag)
+{
+ return status->change_start_sub(src, bl, type, rate, val1, val2, val3, val4, 0, tick, flag);
+}
+
static void status_change_start_display(struct map_session_data *sd, enum sc_type type, int val1, int val2, int val3, int val4)
{
Assert_retv(type >= SC_NONE && type < SC_MAX);
@@ -9965,6 +9841,9 @@ static int status_get_val_flag(enum sc_type type)
case SC_DAILYSENDMAILCNT:
val_flag |= 1 | 2;
break;
+ case SC_MADOGEAR:
+ val_flag |= 1;
+ break;
}
return val_flag;
}
@@ -10178,7 +10057,7 @@ static void status_change_start_stop_action(struct block_list *bl, enum sc_type
switch (type) {
case SC_VACUUM_EXTREME:
if (!map_flag_gvg(bl->m))
- unit->stop_walking(bl,1);
+ unit->stop_walking(bl, STOPWALKING_FLAG_FIXPOS);
break;
case SC_FREEZE:
case SC_STUN:
@@ -10544,55 +10423,10 @@ static bool status_is_boss_resist_sc(enum sc_type type)
{
if (type >= SC_COMMON_MIN && type <= SC_COMMON_MAX)
return true;
- switch (type) {
- case SC_BLESSING:
- case SC_DEC_AGI:
- case SC_PROVOKE:
- case SC_COMA:
- case SC_GRAVITATION:
- case SC_NJ_SUITON:
- case SC_RICHMANKIM:
- case SC_ROKISWEIL:
- case SC_FOGWALL:
- case SC_FROSTMISTY:
- case SC_BURNING:
- case SC_MARSHOFABYSS:
- case SC_ADORAMUS:
- case SC_NEEDLE_OF_PARALYZE:
- case SC_DEEP_SLEEP:
- case SC_COLD:
-
- // Exploit prevention - kRO Fix
- case SC_PYREXIA:
- case SC_DEATHHURT:
- case SC_TOXIN:
- case SC_PARALYSE:
- case SC_VENOMBLEED:
- case SC_MAGICMUSHROOM:
- case SC_OBLIVIONCURSE:
- case SC_LEECHESEND:
-
- // Ranger Effects
- case SC_WUGBITE:
- case SC_ELECTRICSHOCKER:
- case SC_MAGNETICFIELD:
- // Masquerades
- case SC__ENERVATION:
- case SC__GROOMY:
- case SC__LAZINESS:
- case SC__UNLUCKY:
- case SC__WEAKNESS:
- case SC__IGNORANCE:
+ if (status->get_sc_type(type) & SC_NO_BOSS)
+ return true;
- // Other Effects
- case SC_VACUUM_EXTREME:
- case SC_NETHERWORLD:
- case SC_FRESHSHRIMP:
- case SC_SV_ROOTTWIST:
- case SC_BITESCAR:
- return true;
- }
return false;
}
@@ -10731,9 +10565,7 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
struct status_data *st;
struct view_data *vd;
int opt_flag=0, calc_flag;
-#ifdef ANTI_MAYAP_CHEAT
bool invisible = false;
-#endif
nullpo_ret(bl);
@@ -10788,10 +10620,8 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
status->display_remove(sd,type);
}
-#ifdef ANTI_MAYAP_CHEAT
- if (sc->option&(OPTION_HIDE|OPTION_CLOAK|OPTION_INVISIBLE))
+ if ((sc->option & (OPTION_HIDE | OPTION_CLOAK | OPTION_INVISIBLE)) != 0)
invisible = true;
-#endif
vd = status->get_viewdata(bl);
calc_flag = status->dbs->ChangeFlagTable[type];
@@ -10942,7 +10772,7 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
}
if ((sce->val1&0xFFFF) == CG_MOONLIT)
- clif->sc_end(bl,bl->id,AREA,SI_MOON);
+ clif->sc_end(bl, bl->id, AREA, status->get_sc_icon(SC_MOON));
status_change_end(bl, SC_LONGING, INVALID_TIMER);
}
@@ -11418,6 +11248,12 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
}
#endif
+ // update HP bar when becoming visible again
+ if (invisible && (sc->option & (OPTION_HIDE | OPTION_CLOAK | OPTION_INVISIBLE)) == 0) {
+ if (sd != NULL && battle_config.party_hp_mode == 0 && sd->status.party_id != 0)
+ clif->party_hp(sd);
+ }
+
if (calc_flag&SCB_DYE) { //Restore DYE color
if (vd && !vd->cloth_color && sce->val4)
clif->changelook(bl,LOOK_CLOTHES_COLOR,sce->val4);
@@ -11433,7 +11269,7 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid,
#endif
//On Aegis, when turning off a status change, first goes the sc packet, then the option packet.
- clif->sc_end(bl,bl->id,AREA,status->dbs->IconChangeTable[type]);
+ clif->sc_end(bl, bl->id, AREA, status->get_sc_icon(type));
if( opt_flag&8 ) //bugreport:681
clif->changeoption2(bl);
@@ -11797,10 +11633,10 @@ static int status_change_timer(int tid, int64 tick, int id, intptr_t data)
case SC_SPLASHER:
#if 0 // custom Venom Splasher countdown timer
- if (sce->val4 % 1000 == 0) {
+ if (sce->val4 % 1000 == 0 && bl && bl->type == BL_PC) {
char counter[10];
snprintf (counter, 10, "%d", sce->val4/1000);
- clif->message(bl, counter);
+ clif->message(BL_UCCAST(BL_PC, bl)->fd, counter);
}
#endif // 0
if((sce->val4 -= 500) > 0) {
@@ -12508,10 +12344,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;
}
@@ -12623,10 +12459,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;
}
@@ -13076,25 +12912,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)
{
@@ -13347,10 +13164,12 @@ static void status_read_job_db(void)
int i = 0;
struct config_t job_db_conf;
struct config_setting_t *jdb = NULL;
+ char config_filename[256];
+
#ifdef RENEWAL_ASPD
- const char *config_filename = "db/re/job_db.conf";
+ libconfig->format_db_path(DBPATH_RE"job_db.conf", config_filename, sizeof(config_filename));
#else
- const char *config_filename = "db/pre-re/job_db.conf";
+ libconfig->format_db_path(DBPATH_PRE"job_db.conf", config_filename, sizeof(config_filename));
#endif
if (!libconfig->load_file(&job_db_conf, config_filename))
@@ -13405,190 +13224,114 @@ 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));
+static bool status_read_scdb_libconfig(void)
+{
+ struct config_t status_conf;
+ char filepath[256];
+ safesnprintf(filepath, sizeof(filepath), "%s/%s", map->db_path, "sc_config.conf");
- 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 (libconfig->load_file(&status_conf, filepath) == CONFIG_FALSE) {
+ ShowError("status_read_scdb_libconfig: can't read %s\n", filepath);
+ return false;
+ }
- 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;
- }
+ int i = 0;
+ int count = 0;
+ struct config_setting_t *it = NULL;
- level--;
+ while ((it = libconfig->setting_get_elem(status_conf.root, i++)) != NULL) {
+ if (status->read_scdb_libconfig_sub(it, i - 1, filepath))
+ ++count;
+ }
- 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;
- }
+ // @TODO: find a better way of handling this
+ if (!battle_config.display_hallucination) //Disable Hallucination.
+ status->dbs->IconChangeTable[SC_ILLUSION].id = SI_BLANK;
- if (libconfig->setting_lookup_int(t, "NormalChance", &i32) != 0)
- chance[REFINE_CHANCE_TYPE_NORMAL][level] = i32;
- else
- chance[REFINE_CHANCE_TYPE_NORMAL][level] = 100;
+ libconfig->destroy(&status_conf);
+ ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", count, filepath);
+ return true;
+}
- 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.
+static bool status_read_scdb_libconfig_sub(struct config_setting_t *it, int idx, const char *source)
+{
+ nullpo_retr(false, it);
+ nullpo_retr(false, source);
- 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;
+ int i32;
+ int status_id;
+ const char *name = config_setting_name(it);
- 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 (!script->get_constant(name, &status_id) || status_id <= SC_NONE || status_id >= SC_MAX) {
+ ShowWarning("status_read_scdb_libconfig_sub: Invalid status type (%s) in \"%s\" entry #%d, skipping.\n", name, source, idx);
+ return false;
+ }
- if (libconfig->setting_lookup_int(t, "Bonus", &i32) != 0)
- bonus[level] += i32;
+ libconfig->setting_lookup_bool_real(it, "Visible", &status->dbs->DisplayType[status_id]);
- 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;
- }
+ struct config_setting_t *fg = libconfig->setting_get_member(it, "Flags");
+ if (fg != NULL)
+ status->read_scdb_libconfig_sub_flag(fg, status_id, source);
- return type + 1;
+ if (itemdb->lookup_const(it, "Icon", &i32) && i32 >= 0)
+ status->dbs->IconChangeTable[status_id].id = i32;
+ else
+ status->dbs->IconChangeTable[status_id].id = SI_BLANK;
+ return true;
}
-/**
- * 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)
+static bool status_read_scdb_libconfig_sub_flag(struct config_setting_t *it, int type, const char *source)
{
- 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));
+ nullpo_retr(false, it);
+ nullpo_retr(false, source);
+ Assert_retr(false, type > SC_NONE && type < SC_MAX);
- 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);
+ int i = 0;
+ struct config_setting_t *t = NULL;
+ while ((t = libconfig->setting_get_elem(it, i++)) != NULL) {
+ const char *flag = config_setting_name(t);
+ bool on = libconfig->setting_get_bool_real(t);
+ int j;
+
+ struct {
+ const char *name;
+ enum sc_conf_type value;
+ } flags[] = {
+ { "NoDeathReset", SC_NO_REM_DEATH },
+ { "NoSave", SC_NO_SAVE },
+ { "NoDispelReset", SC_NO_DISPELL },
+ { "NoClearanceReset", SC_NO_CLEARANCE },
+ { "Buff", SC_BUFF },
+ { "Debuff", SC_DEBUFF },
+ { "NoMadoReset", SC_MADO_NO_RESET },
+ { "NoAllReset", SC_NO_CLEAR },
+ { "NoBoss", SC_NO_BOSS },
+ };
+
+ ARR_FIND(0, ARRAYLENGTH(flags), j, strcmpi(flag, flags[j].name) == 0);
+ if (j != ARRAYLENGTH(flags)) {
+ if (strcmp(flag, flags[j].name) != 0) {
+ ShowWarning("status_read_scdb_libconfig_sub_flag: flag (%s) for status effect (%d) is casesensitive, correct it to (%s).", flag, type, flags[i].name);
+ }
+ if (on) {
+ status->dbs->sc_conf[type] |= flags[j].value;
} else {
- duplicate[type-1] = true;
+ status->dbs->sc_conf[type] &= ~flags[j].value;
}
- count++;
+ } else {
+ if (!status->read_scdb_libconfig_sub_flag_additional(it, type, source))
+ ShowWarning("status_read_scdb_libconfig_sub_flag: invalid flag (%s) for status effect (%d).", flag, type);
}
}
- 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;
+ return true;
}
-static bool status_readdb_scconfig(char *fields[], int columns, int current)
+static bool status_read_scdb_libconfig_sub_flag_additional(struct config_setting_t *it, int type, const char *source)
{
- int val = 0;
- char* type = fields[0];
-
- nullpo_retr(false, fields);
- if( !script->get_constant(type, &val) ){
- ShowWarning("status_readdb_sc_conf: Invalid status type %s specified.\n", type);
- return false;
- }
-
- status->dbs->sc_conf[val] = (int)strtol(fields[1], NULL, 0);
- if (status->dbs->sc_conf[val] & SC_VISIBLE)
- {
- status->dbs->DisplayType[val] = true;
- }
-
- return true;
+ // to be used by plugins
+ return false;
}
+
/**
* Read status db
* job1.txt
@@ -13627,8 +13370,7 @@ 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_scdb_libconfig();
status->read_job_db();
pc->validate_levels();
@@ -13685,13 +13427,13 @@ 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;
status->sc2scb_flag = status_sc2scb_flag;
- status->type2relevant_bl_types = status_type2relevant_bl_types;
+ status->get_sc_relevant_bl_types = status_get_sc_relevant_bl_types;
status->get_sc_type = status_get_sc_type;
+ status->get_sc_icon = status_get_sc_icon;
status->damage = status_damage;
//Define for standard HP/SP skill-related cost triggers (mobs require no HP/SP to use skills)
@@ -13729,6 +13471,7 @@ void status_defaults(void)
status->get_sc_def = status_get_sc_def;
status->change_start = status_change_start;
+ status->change_start_sub = status_change_start_sub;
status->change_end_ = status_change_end_;
status->kaahi_heal_timer = kaahi_heal_timer;
status->change_timer = status_change_timer;
@@ -13819,9 +13562,10 @@ 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_scdb_libconfig = status_read_scdb_libconfig;
+ status->read_scdb_libconfig_sub = status_read_scdb_libconfig_sub;
+ status->read_scdb_libconfig_sub_flag = status_read_scdb_libconfig_sub_flag;
+ status->read_scdb_libconfig_sub_flag_additional = status_read_scdb_libconfig_sub_flag_additional;
status->read_job_db = status_read_job_db;
status->read_job_db_sub = status_read_job_db_sub;
status->set_sc = status_set_sc;
diff --git a/src/map/status.h b/src/map/status.h
index 17af22703..d5cb3da75 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -49,29 +49,8 @@ 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
+ * @see db/sc_config.conf for more information
**/
typedef enum sc_conf_type {
SC_NO_REM_DEATH = 0x001,
@@ -82,7 +61,8 @@ typedef enum sc_conf_type {
SC_DEBUFF = 0x020,
SC_MADO_NO_RESET = 0x040,
SC_NO_CLEAR = 0x080,
- SC_VISIBLE = 0x100
+ SC_VISIBLE = 0x100,
+ SC_NO_BOSS = 0x200
} sc_conf_type;
/**
@@ -858,6 +838,29 @@ typedef enum sc_type {
// Clan System
SC_CLAN_INFO,
+
+ SC_SIT,
+ SC_MOON,
+ SC_TING,
+ SC_DEVIL1,
+ SC_RIDING,
+ SC_FALCON,
+ SC_WUGRIDER,
+ SC_POSTDELAY,
+ SC_ON_PUSH_CART,
+ SC_RESIST_PROPERTY_WATER,
+ SC_RESIST_PROPERTY_GROUND,
+ SC_RESIST_PROPERTY_FIRE,
+ SC_RESIST_PROPERTY_WIND,
+ SC_CLIENT_ONLY_EQUIP_ARROW,
+ SC_MADOGEAR,
+ SC_POPECOOKIE,
+ SC_VITALIZE_POTION,
+ SC_SKF_MATK,
+ SC_SKF_ATK,
+ SC_SKF_ASPD,
+ SC_SKF_CAST,
+ SC_ALMIGHTY,
#ifndef SC_MAX
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
#endif
@@ -865,1034 +868,7 @@ typedef enum sc_type {
/// Official status change ids, used to display status icons in the client.
enum si_type {
- SI_BLANK = -1,
-
- SI_PROVOKE = 0,
- SI_ENDURE = 1,
- SI_TWOHANDQUICKEN = 2,
- SI_CONCENTRATION = 3,
- SI_HIDING = 4,
- SI_CLOAKING = 5,
- SI_ENCHANTPOISON = 6,
- SI_POISONREACT = 7,
- SI_QUAGMIRE = 8,
- SI_ANGELUS = 9,
- SI_BLESSING = 10,
- SI_CRUCIS = 11,
- SI_INC_AGI = 12,
- SI_DEC_AGI = 13,
- SI_SLOWPOISON = 14,
- SI_IMPOSITIO = 15,
- SI_SUFFRAGIUM = 16,
- SI_ASPERSIO = 17,
- SI_BENEDICTIO = 18,
- SI_KYRIE = 19,
- SI_MAGNIFICAT = 20,
- SI_GLORIA = 21,
- SI_LEXAETERNA = 22,
- SI_ADRENALINE = 23,
- SI_WEAPONPERFECT = 24,
- SI_OVERTHRUST = 25,
- SI_MAXIMIZE = 26,
- SI_RIDING = 27,
- SI_FALCON = 28,
- SI_TRICKDEAD = 29,
- SI_SHOUT = 30,
- SI_ENERGYCOAT = 31,
- SI_BROKENARMOR = 32,
- SI_BROKENWEAPON = 33,
- SI_ILLUSION = 34,
- SI_WEIGHTOVER50 = 35,
- SI_WEIGHTOVER90 = 36,
- SI_ATTHASTE_POTION1 = 37,
- SI_ATTHASTE_POTION2 = 38,
- SI_ATTHASTE_POTION3 = 39,
- SI_ATTHASTE_INFINITY = 40,
- SI_MOVHASTE_POTION = 41,
- SI_MOVHASTE_INFINITY = 42,
- //SI_AUTOCOUNTER = 43,
- //SI_SPLASHER = 44,
- SI_ANKLESNARE = 45,
- SI_POSTDELAY = 46,
- //SI_NOACTION = 47,
- //SI_IMPOSSIBLEPICKUP = 48,
- //SI_BARRIER = 49,
-
- SI_NOEQUIPWEAPON = 50,
- SI_NOEQUIPSHIELD = 51,
- SI_NOEQUIPARMOR = 52,
- SI_NOEQUIPHELM = 53,
- SI_PROTECTWEAPON = 54,
- SI_PROTECTSHIELD = 55,
- SI_PROTECTARMOR = 56,
- SI_PROTECTHELM = 57,
- SI_AUTOGUARD = 58,
- SI_REFLECTSHIELD = 59,
- //SI_DEVOTION = 60,
- SI_PROVIDENCE = 61,
- SI_DEFENDER = 62,
- //SI_MAGICROD = 63,
- //SI_WEAPONPROPERTY = 64,
- SI_AUTOSPELL = 65,
- //SI_SPECIALZONE = 66,
- //SI_MASK = 67,
- SI_SPEARQUICKEN = 68,
- //SI_BDPLAYING = 69,
- //SI_WHISTLE = 70,
- //SI_ASSASSINCROSS = 71,
- //SI_POEMBRAGI = 72,
- //SI_APPLEIDUN = 73,
- //SI_HUMMING = 74,
- //SI_DONTFORGETME = 75,
- //SI_FORTUNEKISS = 76,
- //SI_SERVICEFORYOU = 77,
- //SI_RICHMANKIM = 78,
- //SI_ETERNALCHAOS = 79,
- //SI_DRUMBATTLEFIELD = 80,
- //SI_RINGNIBELUNGEN = 81,
- //SI_ROKISWEIL = 82,
- //SI_INTOABYSS = 83,
- //SI_SIEGFRIED = 84,
- //SI_BLADESTOP = 85,
- SI_EXPLOSIONSPIRITS = 86,
- SI_STEELBODY = 87,
- SI_EXTREMITYFIST = 88,
- //SI_COMBOATTACK = 89,
- SI_PROPERTYFIRE = 90,
- SI_PROPERTYWATER = 91,
- SI_PROPERTYWIND = 92,
- SI_PROPERTYGROUND = 93,
- //SI_MAGICATTACK = 94,
- SI_STOP = 95,
- //SI_WEAPONBRAKER = 96,
- SI_PROPERTYUNDEAD = 97,
- //SI_POWERUP = 98,
- //SI_AGIUP = 99,
-
- //SI_SIEGEMODE = 100,
- //SI_INVISIBLE = 101,
- //SI_STATUSONE = 102,
- SI_AURABLADE = 103,
- SI_PARRYING = 104,
- SI_LKCONCENTRATION = 105,
- SI_TENSIONRELAX = 106,
- SI_BERSERK = 107,
- //SI_SACRIFICE = 108,
- //SI_GOSPEL = 109,
- SI_ASSUMPTIO = 110,
- //SI_BASILICA = 111,
- SI_GROUNDMAGIC = 112,
- SI_MAGICPOWER = 113,
- SI_EDP = 114,
- SI_TRUESIGHT = 115,
- SI_WINDWALK = 116,
- SI_MELTDOWN = 117,
- SI_CARTBOOST = 118,
- //SI_CHASEWALK = 119,
- SI_SWORDREJECT = 120,
- SI_MARIONETTE_MASTER = 121,
- SI_MARIONETTE = 122,
- SI_MOON = 123,
- SI_BLOODING = 124,
- SI_JOINTBEAT = 125,
- //SI_MINDBREAKER = 126,
- //SI_MEMORIZE = 127,
- //SI_FOGWALL = 128,
- //SI_SPIDERWEB = 129,
- SI_PROTECTEXP = 130,
- //SI_SUB_WEAPONPROPERTY = 131,
- SI_AUTOBERSERK = 132,
- SI_RUN = 133,
- SI_TING = 134,
- SI_STORMKICK_ON = 135,
- SI_STORMKICK_READY = 136,
- SI_DOWNKICK_ON = 137,
- SI_DOWNKICK_READY = 138,
- SI_TURNKICK_ON = 139,
- SI_TURNKICK_READY = 140,
- SI_COUNTER_ON = 141,
- SI_COUNTER_READY = 142,
- SI_DODGE_ON = 143,
- SI_DODGE_READY = 144,
- SI_STRUP = 145,
- SI_PROPERTYDARK = 146,
- SI_ADRENALINE2 = 147,
- SI_PROPERTYTELEKINESIS = 148,
- SI_SOULLINK = 149,
-
- SI_PLUSATTACKPOWER = 150,
- SI_PLUSMAGICPOWER = 151,
- SI_DEVIL1 = 152,
- SI_KAITE = 153,
- //SI_SWOO = 154,
- //SI_STAR2 = 155,
- SI_KAIZEL = 156,
- SI_KAAHI = 157,
- SI_KAUPE = 158,
- SI_SMA_READY = 159,
- SI_SKE = 160,
- SI_ONEHANDQUICKEN = 161,
- //SI_FRIEND = 162,
- //SI_FRIENDUP = 163,
- //SI_SG_WARM = 164,
- SI_SG_SUN_WARM = 165,
- //SI_SG_MOON_WARM = 166, // The three show the exact same display: ultra red character (165, 166, 167)
- //SI_SG_STAR_WARM = 167,
- //SI_EMOTION = 168,
- SI_SUN_COMFORT = 169,
- SI_MOON_COMFORT = 170,
- SI_STAR_COMFORT = 171,
- //SI_EXPUP = 172,
- //SI_GDSKILL_BATTLEORDER = 173,
- //SI_GDSKILL_REGENERATION = 174,
- //SI_GDSKILL_POSTDELAY = 175,
- //SI_RESISTHANDICAP = 176,
- //SI_MAXHPPERCENT = 177,
- //SI_MAXSPPERCENT = 178,
- //SI_DEFENCE = 179,
- //SI_SLOWDOWN = 180,
- SI_PRESERVE = 181,
- SI_INCSTR = 182,
- //SI_NOT_EXTREMITYFIST = 183,
- SI_CLAIRVOYANCE = 184,
- SI_MOVESLOW_POTION = 185,
- SI_DOUBLECASTING = 186,
- //SI_GRAVITATION = 187,
- SI_OVERTHRUSTMAX = 188,
- //SI_LONGING = 189,
- //SI_HERMODE = 190,
- SI_TAROTCARD = 191, // the icon allows no doubt... but what is it really used for ?? [DracoRPG]
- //SI_HLIF_AVOID = 192,
- //SI_HFLI_FLEET = 193,
- //SI_HFLI_SPEED = 194,
- //SI_HLIF_CHANGE = 195,
- //SI_HAMI_BLOODLUST = 196,
- SI_CR_SHRINK = 197,
- SI_WZ_SIGHTBLASTER = 198,
- SI_DC_WINKCHARM = 199,
-
- SI_RG_CCONFINE_M = 200,
- SI_RG_CCONFINE_S = 201,
- //SI_DISABLEMOVE = 202,
- SI_GS_MADNESSCANCEL = 203, //[blackhole89]
- SI_GS_GATLINGFEVER = 204,
- SI_EARTHSCROLL = 205,
- SI_NJ_UTSUSEMI = 206,
- SI_NJ_BUNSINJYUTSU = 207,
- SI_NJ_NEN = 208,
- SI_GS_ADJUSTMENT = 209,
- SI_GS_ACCURACY = 210,
- SI_NJ_SUITON = 211,
- //SI_PET = 212,
- //SI_MENTAL = 213,
- //SI_EXPMEMORY = 214,
- //SI_PERFORMANCE = 215,
- //SI_GAIN = 216,
- //SI_GRIFFON = 217,
- //SI_DRIFT = 218,
- //SI_WALLSHIFT = 219,
- //SI_REINCARNATION = 220,
- //SI_PATTACK = 221,
- //SI_PSPEED = 222,
- //SI_PDEFENSE = 223,
- //SI_PCRITICAL = 224,
- //SI_RANKING = 225,
- //SI_PTRIPLE = 226,
- //SI_DENERGY = 227,
- //SI_WAVE1 = 228,
- //SI_WAVE2 = 229,
- //SI_WAVE3 = 230,
- //SI_WAVE4 = 231,
- //SI_DAURA = 232,
- //SI_DFREEZER = 233,
- //SI_DPUNISH = 234,
- //SI_DBARRIER = 235,
- //SI_DWARNING = 236,
- //SI_MOUSEWHEEL = 237,
- //SI_DGAUGE = 238,
- //SI_DACCEL = 239,
- //SI_DBLOCK = 240,
- SI_FOOD_STR = 241,
- SI_FOOD_AGI = 242,
- SI_FOOD_VIT = 243,
- SI_FOOD_DEX = 244,
- SI_FOOD_INT = 245,
- SI_FOOD_LUK = 246,
- SI_FOOD_BASICAVOIDANCE = 247,
- SI_FOOD_BASICHIT = 248,
- SI_FOOD_CRITICALSUCCESSVALUE = 249,
-
- SI_CASH_PLUSEXP = 250,
- SI_CASH_DEATHPENALTY = 251,
- SI_CASH_RECEIVEITEM = 252,
- SI_CASH_BOSS_ALARM = 253,
- //SI_DA_ENERGY = 254,
- //SI_DA_FIRSTSLOT = 255,
- //SI_DA_HEADDEF = 256,
- //SI_DA_SPACE = 257,
- //SI_DA_TRANSFORM = 258,
- //SI_DA_ITEMREBUILD = 259,
- //SI_DA_ILLUSION = 260, // All mobs display as Turtle General
- //SI_DA_DARKPOWER = 261,
- //SI_DA_EARPLUG = 262,
- //SI_DA_CONTRACT = 263, // Bio Mob effect on you and SI_TRICKDEAD icon
- //SI_DA_BLACK = 264, // For short time blurry screen
- //SI_DA_MAGICCART = 265,
- //SI_CRYSTAL = 266,
- //SI_DA_REBUILD = 267,
- //SI_DA_EDARKNESS = 268,
- //SI_DA_EGUARDIAN = 269,
- //SI_DA_TIMEOUT = 270,
- SI_FOOD_STR_CASH = 271,
- SI_FOOD_AGI_CASH = 272,
- SI_FOOD_VIT_CASH = 273,
- SI_FOOD_DEX_CASH = 274,
- SI_FOOD_INT_CASH = 275,
- SI_FOOD_LUK_CASH = 276,
- SI_MER_FLEE = 277,
- SI_MER_ATK = 278,
- SI_MER_HP = 279,
- SI_MER_SP = 280,
- SI_MER_HIT = 281,
- SI_SLOWCAST = 282,
- //SI_MAGICMIRROR = 283,
- //SI_STONESKIN = 284,
- //SI_ANTIMAGIC = 285,
- SI_CRITICALWOUND = 286,
- //SI_NPC_DEFENDER = 287,
- //SI_NOACTION_WAIT = 288,
- SI_MOVHASTE_HORSE = 289,
- SI_PROTECT_DEF = 290,
- SI_PROTECT_MDEF = 291,
- SI_HEALPLUS = 292,
- SI_S_LIFEPOTION = 293,
- SI_L_LIFEPOTION = 294,
- SI_CRITICALPERCENT = 295,
- SI_PLUSAVOIDVALUE = 296,
- SI_ATKER_ASPD = 297,
- SI_TARGET_ASPD = 298,
- SI_ATKER_MOVESPEED = 299,
-
- SI_ATKER_BLOOD = 300,
- SI_TARGET_BLOOD = 301,
- SI_ARMOR_PROPERTY = 302,
- //SI_REUSE_LIMIT_A = 303,
- SI_HELLPOWER = 304,
- SI_STEAMPACK = 305,
- //SI_REUSE_LIMIT_B = 306,
- //SI_REUSE_LIMIT_C = 307,
- //SI_REUSE_LIMIT_D = 308,
- //SI_REUSE_LIMIT_E = 309,
- //SI_REUSE_LIMIT_F = 310,
- SI_INVINCIBLE = 311,
- SI_CASH_PLUSONLYJOBEXP = 312,
- SI_PARTYFLEE = 313,
- SI_ANGEL_PROTECT = 314,
- //SI_ENDURE_MDEF = 315,
- SI_ENCHANTBLADE = 316,
- SI_DEATHBOUND = 317,
- SI_REFRESH = 318,
- SI_GIANTGROWTH = 319,
- SI_STONEHARDSKIN = 320,
- SI_VITALITYACTIVATION = 321,
- SI_FIGHTINGSPIRIT = 322,
- SI_ABUNDANCE = 323,
- SI_REUSE_MILLENNIUMSHIELD = 324,
- SI_REUSE_CRUSHSTRIKE = 325,
- SI_REUSE_REFRESH = 326,
- SI_REUSE_STORMBLAST = 327,
- SI_VENOMIMPRESS = 328,
- SI_EPICLESIS = 329,
- SI_ORATIO = 330,
- SI_LAUDAAGNUS = 331,
- SI_LAUDARAMUS = 332,
- SI_CLOAKINGEXCEED = 333,
- SI_HALLUCINATIONWALK = 334,
- SI_HALLUCINATIONWALK_POSTDELAY = 335,
- SI_RENOVATIO = 336,
- SI_WEAPONBLOCKING = 337,
- SI_WEAPONBLOCKING_POSTDELAY = 338,
- SI_ROLLINGCUTTER = 339,
- SI_EXPIATIO = 340,
- SI_POISONINGWEAPON = 341,
- SI_TOXIN = 342,
- SI_PARALYSE = 343,
- SI_VENOMBLEED = 344,
- SI_MAGICMUSHROOM = 345,
- SI_DEATHHURT = 346,
- SI_PYREXIA = 347,
- SI_OBLIVIONCURSE = 348,
- SI_LEECHESEND = 349,
-
- SI_DUPLELIGHT = 350,
- SI_FROSTMISTY = 351,
- SI_FEARBREEZE = 352,
- SI_ELECTRICSHOCKER = 353,
- SI_MARSHOFABYSS = 354,
- SI_RECOGNIZEDSPELL = 355,
- SI_STASIS = 356,
- SI_WUGRIDER = 357,
- SI_WUGDASH = 358,
- SI_WUGBITE = 359,
- SI_CAMOUFLAGE = 360,
- SI_ACCELERATION = 361,
- SI_HOVERING = 362,
- SI_SPHERE_1 = 363,
- SI_SPHERE_2 = 364,
- SI_SPHERE_3 = 365,
- SI_SPHERE_4 = 366,
- SI_SPHERE_5 = 367,
- SI_MVPCARD_TAOGUNKA = 368,
- SI_MVPCARD_MISTRESS = 369,
- SI_MVPCARD_ORCHERO = 370,
- SI_MVPCARD_ORCLORD = 371,
- SI_OVERHEAT_LIMITPOINT = 372,
- SI_OVERHEAT = 373,
- SI_SHAPESHIFT = 374,
- SI_INFRAREDSCAN = 375,
- SI_MAGNETICFIELD = 376,
- SI_NEUTRALBARRIER = 377,
- SI_NEUTRALBARRIER_MASTER = 378,
- SI_STEALTHFIELD = 379,
- SI_STEALTHFIELD_MASTER = 380,
- SI_MANU_ATK = 381,
- SI_MANU_DEF = 382,
- SI_SPL_ATK = 383,
- SI_SPL_DEF = 384,
- SI_REPRODUCE = 385,
- SI_MANU_MATK = 386,
- SI_SPL_MATK = 387,
- SI_STR_SCROLL = 388,
- SI_INT_SCROLL = 389,
- SI_LG_REFLECTDAMAGE = 390,
- SI_FORCEOFVANGUARD = 391,
- SI_BUCHEDENOEL = 392,
- SI_AUTOSHADOWSPELL = 393,
- SI_SHADOWFORM = 394,
- SI_RAID = 395,
- SI_SHIELDSPELL_DEF = 396,
- SI_SHIELDSPELL_MDEF = 397,
- SI_SHIELDSPELL_REF = 398,
- SI_BODYPAINT = 399,
-
- SI_EXEEDBREAK = 400,
- SI_ADORAMUS = 401,
- SI_PRESTIGE = 402,
- SI_INVISIBILITY = 403,
- SI_DEADLYINFECT = 404,
- SI_BANDING = 405,
- SI_EARTHDRIVE = 406,
- SI_INSPIRATION = 407,
- SI_ENERVATION = 408,
- SI_GROOMY = 409,
- SI_RAISINGDRAGON = 410,
- SI_IGNORANCE = 411,
- SI_LAZINESS = 412,
- SI_LIGHTNINGWALK = 413,
- SI_ACARAJE = 414,
- SI_UNLUCKY = 415,
- SI_CURSEDCIRCLE_ATKER = 416,
- SI_CURSEDCIRCLE_TARGET = 417,
- SI_WEAKNESS = 418,
- SI_CRESCENTELBOW = 419,
- SI_NOEQUIPACCESSARY = 420,
- SI_STRIPACCESSARY = 421,
- SI_MANHOLE = 422,
- SI_POPECOOKIE = 423,
- SI_FALLENEMPIRE = 424,
- SI_GENTLETOUCH_ENERGYGAIN = 425,
- SI_GENTLETOUCH_CHANGE = 426,
- SI_GENTLETOUCH_REVITALIZE = 427,
- SI_BLOODYLUST = 428,
- SI_SWINGDANCE = 429,
- SI_SYMPHONYOFLOVERS = 430,
- SI_PROPERTYWALK = 431,
- SI_SPELLFIST = 432,
- SI_NETHERWORLD = 433,
- SI_SIREN = 434,
- SI_DEEPSLEEP = 435,
- SI_SIRCLEOFNATURE = 436,
- SI_COLD = 437,
- SI_GLOOMYDAY = 438,
- SI_SONG_OF_MANA = 439,
- SI_CLOUDKILL = 440,
- SI_DANCEWITHWUG = 441,
- SI_RUSHWINDMILL = 442,
- SI_ECHOSONG = 443,
- SI_HARMONIZE = 444,
- SI_STRIKING = 445,
- //SI_WARMER = 446,
- SI_MOONLITSERENADE = 447,
- SI_SATURDAYNIGHTFEVER = 448,
- SI_SITDOWN_FORCE = 449,
-
- SI_ANALYZE = 450,
- SI_LERADSDEW = 451,
- SI_MELODYOFSINK = 452,
- SI_WARCRYOFBEYOND = 453,
- SI_UNLIMITEDHUMMINGVOICE = 454,
- SI_SPELLBOOK1 = 455,
- SI_SPELLBOOK2 = 456,
- SI_SPELLBOOK3 = 457,
- SI_FREEZE_SP = 458,
- SI_GN_TRAINING_SWORD = 459,
- SI_GN_REMODELING_CART = 460,
- SI_CARTSBOOST = 461,
- SI_FIXEDCASTINGTM_REDUCE = 462,
- SI_THORNTRAP = 463,
- SI_BLOODSUCKER = 464,
- SI_SPORE_EXPLOSION = 465,
- SI_DEMONIC_FIRE = 466,
- SI_FIRE_EXPANSION_SMOKE_POWDER = 467,
- SI_FIRE_EXPANSION_TEAR_GAS = 468,
- SI_BLOCKING_PLAY = 469,
- SI_MANDRAGORA = 470,
- SI_ACTIVATE = 471,
- SI_SECRAMENT = 472,
- SI_ASSUMPTIO2 = 473,
- SI_TK_SEVENWIND = 474,
- SI_LIMIT_ODINS_RECALL = 475,
- SI_STOMACHACHE = 476,
- SI_MYSTERIOUS_POWDER = 477,
- SI_MELON_BOMB = 478,
- SI_BANANA_BOMB_SITDOWN_POSTDELAY = 479,
- SI_PROMOTE_HEALTH_RESERCH = 480,
- SI_ENERGY_DRINK_RESERCH = 481,
- SI_EXTRACT_WHITE_POTION_Z = 482,
- SI_VITATA_500 = 483,
- SI_EXTRACT_SALAMINE_JUICE = 484,
- SI_BOOST500 = 485,
- SI_FULL_SWING_K = 486,
- SI_MANA_PLUS = 487,
- SI_MUSTLE_M = 488,
- SI_LIFE_FORCE_F = 489,
- SI_VACUUM_EXTREME = 490,
- SI_SAVAGE_STEAK = 491,
- SI_COCKTAIL_WARG_BLOOD = 492,
- SI_MINOR_BBQ = 493,
- SI_SIROMA_ICE_TEA = 494,
- SI_DROCERA_HERB_STEAMED = 495,
- SI_PUTTI_TAILS_NOODLES = 496,
- SI_BANANA_BOMB = 497,
- SI_SUMMON_AGNI = 498,
- SI_SPELLBOOK4 = 499,
-
- SI_SPELLBOOK5 = 500,
- SI_SPELLBOOK6 = 501,
- SI_SPELLBOOK7 = 502,
- SI_ELEMENTAL_AGGRESSIVE = 503,
- SI_RETURN_TO_ELDICASTES = 504,
- SI_BANDING_DEFENCE = 505,
- SI_SKELSCROLL = 506,
- SI_DISTRUCTIONSCROLL = 507,
- SI_ROYALSCROLL = 508,
- SI_IMMUNITYSCROLL = 509,
- SI_MYSTICSCROLL = 510,
- SI_BATTLESCROLL = 511,
- SI_ARMORSCROLL = 512,
- SI_FREYJASCROLL = 513,
- SI_SOULSCROLL = 514,
- SI_CIRCLE_OF_FIRE = 515,
- SI_CIRCLE_OF_FIRE_OPTION = 516,
- SI_FIRE_CLOAK = 517,
- SI_FIRE_CLOAK_OPTION = 518,
- SI_WATER_SCREEN = 519,
- SI_WATER_SCREEN_OPTION = 520,
- SI_WATER_DROP = 521,
- SI_WATER_DROP_OPTION = 522,
- SI_WIND_STEP = 523,
- SI_WIND_STEP_OPTION = 524,
- SI_WIND_CURTAIN = 525,
- SI_WIND_CURTAIN_OPTION = 526,
- SI_WATER_BARRIER = 527,
- SI_ZEPHYR = 528,
- SI_SOLID_SKIN = 529,
- SI_SOLID_SKIN_OPTION = 530,
- SI_STONE_SHIELD = 531,
- SI_STONE_SHIELD_OPTION = 532,
- SI_POWER_OF_GAIA = 533,
- //SI_EL_WAIT = 534,
- //SI_EL_PASSIVE = 535,
- //SI_EL_DEFENSIVE = 536,
- //SI_EL_OFFENSIVE = 537,
- //SI_EL_COST = 538,
- SI_PYROTECHNIC = 539,
- SI_PYROTECHNIC_OPTION = 540,
- SI_HEATER = 541,
- SI_HEATER_OPTION = 542,
- SI_TROPIC = 543,
- SI_TROPIC_OPTION = 544,
- SI_AQUAPLAY = 545,
- SI_AQUAPLAY_OPTION = 546,
- SI_COOLER = 547,
- SI_COOLER_OPTION = 548,
- SI_CHILLY_AIR = 549,
-
- SI_CHILLY_AIR_OPTION = 550,
- SI_GUST = 551,
- SI_GUST_OPTION = 552,
- SI_BLAST = 553,
- SI_BLAST_OPTION = 554,
- SI_WILD_STORM = 555,
- SI_WILD_STORM_OPTION = 556,
- SI_PETROLOGY = 557,
- SI_PETROLOGY_OPTION = 558,
- SI_CURSED_SOIL = 559,
- SI_CURSED_SOIL_OPTION = 560,
- SI_UPHEAVAL = 561,
- SI_UPHEAVAL_OPTION = 562,
- SI_TIDAL_WEAPON = 563,
- SI_TIDAL_WEAPON_OPTION = 564,
- SI_ROCK_CRUSHER = 565,
- SI_ROCK_CRUSHER_ATK = 566,
- SI_FIRE_INSIGNIA = 567,
- SI_WATER_INSIGNIA = 568,
- SI_WIND_INSIGNIA = 569,
- SI_EARTH_INSIGNIA = 570,
- SI_EQUIPED_FLOOR = 571,
- SI_GUARDIAN_RECALL = 572,
- SI_MORA_BUFF = 573,
- SI_REUSE_LIMIT_G = 574,
- SI_REUSE_LIMIT_H = 575,
- SI_NEEDLE_OF_PARALYZE = 576,
- SI_PAIN_KILLER = 577,
- SI_G_LIFEPOTION = 578,
- SI_VITALIZE_POTION = 579,
- SI_LIGHT_OF_REGENE = 580,
- SI_OVERED_BOOST = 581,
- SI_SILENT_BREEZE = 582,
- SI_ODINS_POWER = 583,
- SI_STYLE_CHANGE = 584,
- SI_SONIC_CLAW_POSTDELAY = 585,
- //SI_ = 586,
- //SI_ = 587,
- //SI_ = 588,
- //SI_ = 589,
- //SI_ = 590,
- //SI_ = 591,
- //SI_ = 592,
- //SI_ = 593,
- //SI_ = 594,
- //SI_ = 595,
- SI_SILVERVEIN_RUSH_POSTDELAY = 596,
- SI_MIDNIGHT_FRENZY_POSTDELAY = 597,
- SI_GOLDENE_FERSE = 598,
- SI_ANGRIFFS_MODUS = 599,
-
- SI_TINDER_BREAKER = 600,
- SI_TINDER_BREAKER_POSTDELAY = 601,
- SI_CBC = 602,
- SI_CBC_POSTDELAY = 603,
- SI_EQC = 604,
- SI_MAGMA_FLOW = 605,
- SI_GRANITIC_ARMOR = 606,
- SI_PYROCLASTIC = 607,
- SI_VOLCANIC_ASH = 608,
- SI_SPIRITS_SAVEINFO1 = 609,
- SI_SPIRITS_SAVEINFO2 = 610,
- SI_MAGIC_CANDY = 611,
- SI_SEARCH_STORE_INFO = 612,
- SI_ALL_RIDING = 613,
- SI_ALL_RIDING_REUSE_LIMIT = 614,
- SI_MACRO = 615,
- SI_MACRO_POSTDELAY = 616,
- SI_BEER_BOTTLE_CAP = 617,
- SI_OVERLAPEXPUP = 618,
- SI_PC_IZ_DUN05 = 619,
- SI_CRUSHSTRIKE = 620,
- SI_MONSTER_TRANSFORM = 621,
- SI_SIT = 622,
- SI_ONAIR = 623,
- SI_MTF_ASPD = 624,
- SI_MTF_RANGEATK = 625,
- SI_MTF_MATK = 626,
- SI_MTF_MLEATKED = 627,
- SI_MTF_CRIDAMAGE = 628,
- SI_REUSE_LIMIT_MTF = 629,
- SI_MACRO_PERMIT = 630,
- SI_MACRO_PLAY = 631,
- SI_SKF_CAST = 632,
- SI_SKF_ASPD = 633,
- SI_SKF_ATK = 634,
- SI_SKF_MATK = 635,
- SI_REWARD_PLUSONLYJOBEXP = 636,
- SI_HANDICAPSTATE_NORECOVER = 637,
- SI_SET_NUM_DEF = 638,
- SI_SET_NUM_MDEF = 639,
- SI_SET_PER_DEF = 640,
- SI_SET_PER_MDEF = 641,
- SI_PARTYBOOKING_SEARCH_DEALY = 642,
- SI_PARTYBOOKING_REGISTER_DEALY = 643,
- SI_PERIOD_TIME_CHECK_DETECT_SKILL = 644,
- SI_KO_JYUMONJIKIRI = 645,
- SI_MEIKYOUSISUI = 646,
- SI_ATTHASTE_CASH = 647,
- SI_EQUIPPED_DIVINE_ARMOR = 648,
- SI_EQUIPPED_HOLY_ARMOR = 649,
-
- SI_2011RWC = 650,
- SI_KYOUGAKU = 651,
- SI_IZAYOI = 652,
- SI_ZENKAI = 653,
- SI_KG_KAGEHUMI = 654,
- SI_KYOMU = 655,
- SI_KAGEMUSYA = 656,
- SI_ZANGETSU = 657,
- SI_PHI_DEMON = 658,
- SI_GENSOU = 659,
- SI_AKAITSUKI = 660,
- SI_TETANY = 661,
- SI_GM_BATTLE = 662,
- SI_GM_BATTLE2 = 663,
- SI_2011RWC_SCROLL = 664,
- SI_ACTIVE_MONSTER_TRANSFORM = 665,
- SI_MYSTICPOWDER = 666,
- SI_ECLAGE_RECALL = 667,
- SI_ENTRY_QUEUE_APPLY_DELAY = 668,
- SI_REUSE_LIMIT_ECL = 669,
- SI_M_LIFEPOTION = 670,
- SI_ENTRY_QUEUE_NOTIFY_ADMISSION_TIME_OUT = 671,
- SI_UNKNOWN_NAME = 672,
- SI_ON_PUSH_CART = 673,
- SI_HAT_EFFECT = 674,
- SI_FLOWER_LEAF = 675,
- SI_RAY_OF_PROTECTION = 676,
- SI_GLASTHEIM_ATK = 677,
- SI_GLASTHEIM_DEF = 678,
- SI_GLASTHEIM_HEAL = 679,
- SI_GLASTHEIM_HIDDEN = 680,
- SI_GLASTHEIM_STATE = 681,
- SI_GLASTHEIM_ITEMDEF = 682,
- SI_GLASTHEIM_HPSP = 683,
- SI_HOMUN_SKILL_POSTDELAY = 684,
- SI_ALMIGHTY = 685,
- SI_GVG_GIANT = 686,
- SI_GVG_GOLEM = 687,
- SI_GVG_STUN = 688,
- SI_GVG_STONE = 689,
- SI_GVG_FREEZ = 690,
- SI_GVG_SLEEP = 691,
- SI_GVG_CURSE = 692,
- SI_GVG_SILENCE = 693,
- SI_GVG_BLIND = 694,
- SI_CLIENT_ONLY_EQUIP_ARROW = 695,
- SI_CLAN_INFO = 696,
- SI_JP_EVENT01 = 697,
- SI_JP_EVENT02 = 698,
- SI_JP_EVENT03 = 699,
-
- SI_JP_EVENT04 = 700,
- SI_TELEPORT_FIXEDCASTINGDELAY = 701,
- SI_GEFFEN_MAGIC1 = 702,
- SI_GEFFEN_MAGIC2 = 703,
- SI_GEFFEN_MAGIC3 = 704,
- SI_QUEST_BUFF1 = 705,
- SI_QUEST_BUFF2 = 706,
- SI_QUEST_BUFF3 = 707,
- SI_REUSE_LIMIT_RECALL = 708,
- SI_SAVEPOSITION = 709,
- SI_HANDICAPSTATE_ICEEXPLO = 710,
- SI_FENRIR_CARD = 711,
- SI_REUSE_LIMIT_ASPD_POTION = 712,
- SI_MAXPAIN = 713,
- SI_PC_STOP = 714,
- SI_FRIGG_SONG = 715,
- SI_OFFERTORIUM = 716,
- SI_TELEKINESIS_INTENSE = 717,
- SI_MOONSTAR = 718,
- SI_STRANGELIGHTS = 719,
- SI_FULL_THROTTLE = 720,
- SI_REBOUND = 721,
- SI_UNLIMIT = 722,
- SI_KINGS_GRACE = 723,
- SI_ITEM_ATKMAX = 724,
- SI_ITEM_ATKMIN = 725,
- SI_ITEM_MATKMAX = 726,
- SI_ITEM_MATKMIN = 727,
- SI_SUPER_STAR = 728,
- SI_HIGH_RANKER = 729,
- SI_DARKCROW = 730,
- SI_2013_VALENTINE1 = 731,
- SI_2013_VALENTINE2 = 732,
- SI_2013_VALENTINE3 = 733,
- SI_ILLUSIONDOPING = 734,
- //SI_WIDEWEB = 735,
- SI_CHILL = 736,
- SI_BURNT = 737,
- //SI_PCCAFE_PLAY_TIME = 738,
- //SI_TWISTED_TIME = 739,
- SI_FLASHCOMBO = 740,
- //SI_JITTER_BUFF1 = 741,
- //SI_JITTER_BUFF2 = 742,
- //SI_JITTER_BUFF3 = 743,
- //SI_JITTER_BUFF4 = 744,
- //SI_JITTER_BUFF5 = 745,
- //SI_JITTER_BUFF6 = 746,
- //SI_JITTER_BUFF7 = 747,
- //SI_JITTER_BUFF8 = 748,
- //SI_JITTER_BUFF9 = 749,
-
- //SI_JITTER_BUFF10 = 750,
- SI_CUP_OF_BOZA = 751,
- SI_B_TRAP = 752,
- SI_E_CHAIN = 753,
- SI_E_QD_SHOT_READY = 754,
- SI_C_MARKER = 755,
- SI_H_MINE = 756,
- SI_H_MINE_SPLASH = 757,
- SI_P_ALTER = 758,
- SI_HEAT_BARREL = 759,
- SI_ANTI_M_BLAST = 760,
- SI_SLUGSHOT = 761,
- SI_SWORDCLAN = 762,
- SI_ARCWANDCLAN = 763,
- SI_GOLDENMACECLAN = 764,
- SI_CROSSBOWCLAN = 765,
- SI_PACKING_ENVELOPE1 = 766,
- SI_PACKING_ENVELOPE2 = 767,
- SI_PACKING_ENVELOPE3 = 768,
- SI_PACKING_ENVELOPE4 = 769,
- SI_PACKING_ENVELOPE5 = 770,
- SI_PACKING_ENVELOPE6 = 771,
- SI_PACKING_ENVELOPE7 = 772,
- SI_PACKING_ENVELOPE8 = 773,
- SI_PACKING_ENVELOPE9 = 774,
- SI_PACKING_ENVELOPE10 = 775,
- SI_GLASTHEIM_TRANS = 776,
- //SI_ZONGZI_POUCH_TRANS = 777,
- SI_HEAT_BARREL_AFTER = 778,
- SI_DECORATION_OF_MUSIC = 779,
- //SI_OVERSEAEXPUP = 780,
- //SI_CLOWN_N_GYPSY_CARD = 781,
- //SI_OPEN_NPC_MARKET = 782,
- //SI_BEEF_RIB_STEW = 783,
- //SI_PORK_RIB_STEW = 784,
- //SI_CHUSEOK_MONDAY = 785,
- //SI_CHUSEOK_TUESDAY = 786,
- //SI_CHUSEOK_WEDNESDAY = 787,
- //SI_CHUSEOK_THURSDAY = 788,
- //SI_CHUSEOK_FRIDAY = 789,
- //SI_CHUSEOK_WEEKEND = 790,
- //SI_ALL_LIGHTGUARD = 791,
- //SI_ALL_LIGHTGUARD_COOL_TIME = 792,
- SI_MTF_MHP = 793,
- SI_MTF_MSP = 794,
- SI_MTF_PUMPKIN = 795,
- SI_MTF_HITFLEE = 796,
- //SI_MTF_CRIDAMAGE2 = 797,
- //SI_MTF_SPDRAIN = 798,
- //SI_ACUO_MINT_GUM = 799,
-
- //SI_S_HEALPOTION = 800,
- //SI_REUSE_LIMIT_S_HEAL_POTION = 801,
- //SI_PLAYTIME_STATISTICS = 802,
- //SI_GN_CHANGEMATERIAL_OPERATOR = 803,
- //SI_GN_MIX_COOKING_OPERATOR = 804,
- //SI_GN_MAKEBOMB_OPERATOR = 805,
- //SI_GN_S_PHARMACY_OPERATOR = 806,
- //SI_SO_EL_ANALYSIS_DISASSEMBLY_OPERATOR = 807,
- //SI_SO_EL_ANALYSIS_COMBINATION_OPERATOR = 808,
- //SI_NC_MAGICDECOY_OPERATOR = 809,
- //SI_GUILD_STORAGE = 810,
- //SI_GC_POISONINGWEAPON_OPERATOR = 811,
- //SI_WS_WEAPONREFINE_OPERATOR = 812,
- //SI_BS_REPAIRWEAPON_OPERATOR = 813,
- //SI_GET_MAILBOX = 814,
- //SI_JUMPINGCLAN = 815,
- //SI_JP_OTP = 816,
- //SI_HANDICAPTOLERANCE_LEVELGAP = 817,
- //SI_MTF_RANGEATK2 = 818,
- //SI_MTF_ASPD2 = 819,
- //SI_MTF_MATK2 = 820,
- //SI_SHOW_NPCHPBAR = 821,
- SI_FLOWERSMOKE = 822,
- SI_FSTONE = 823,
- SI_DAILYSENDMAILCNT = 824,
- //SI_QSCARABA = 825,
- SI_LJOSALFAR = 826,
- //SI_PAD_READER_KNIGHT = 827,
- //SI_PAD_READER_CRUSADER = 828,
- //SI_PAD_READER_BLACKSMITH = 829,
- //SI_PAD_READER_ALCHEMIST = 830,
- //SI_PAD_READER_ASSASSIN = 831,
- //SI_PAD_READER_ROGUE = 832,
- //SI_PAD_READER_WIZARD = 833,
- //SI_PAD_READER_SAGE = 834,
- //SI_PAD_READER_PRIEST = 835,
- //SI_PAD_READER_MONK = 836,
- //SI_PAD_READER_HUNTER = 837,
- //SI_PAD_READER_BARD = 838,
- //SI_PAD_READER_DANCER = 839,
- //SI_PAD_READER_TAEKWON = 840,
- //SI_PAD_READER_NINJA = 841,
- //SI_PAD_READER_GUNSLINGER = 842,
- //SI_PAD_READER_SUPERNOVICE = 843,
- //SI_ESSENCE_OF_TIME = 844,
- //SI_MINIGAME_ROULETTE = 845,
- //SI_MINIGAME_GOLD_POINT = 846,
- //SI_MINIGAME_SILVER_POINT = 847,
- //SI_MINIGAME_BRONZE_POINT = 848,
- SI_HAPPINESS_STAR = 849,
-
- //SI_SUMMEREVENT01 = 850,
- //SI_SUMMEREVENT02 = 851,
- //SI_SUMMEREVENT03 = 852,
- //SI_SUMMEREVENT04 = 853,
- //SI_SUMMEREVENT05 = 854,
- //SI_MINIGAME_ROULETTE_BONUS_ITEM = 855,
- SI_DRESS_UP = 856,
- SI_MAPLE_FALLS = 857,
- //SI_ALL_NIFLHEIM_RECALL = 858,
- //SI_ = 859,
- //SI_MTF_MARIONETTE = 860,
- //SI_MTF_LUDE = 861,
- //SI_MTF_CRUISER = 862,
- SI_MERMAID_LONGING = 863,
- SI_MAGICAL_FEATHER = 864,
- //SI_DRACULA_CARD = 865,
- //SI_ = 866,
- //SI_LIMIT_POWER_BOOSTER = 867,
- //SI_ = 868,
- //SI_ = 869,
- //SI_ = 870,
- //SI_ = 871,
- SI_TIME_ACCESSORY = 872,
- //SI_EP16_DEF = 873,
- //SI_NORMAL_ATKED_SP = 874,
- //SI_BODYSTATE_STONECURSE = 875,
- //SI_BODYSTATE_FREEZING = 876,
- //SI_BODYSTATE_STUN = 877,
- //SI_BODYSTATE_SLEEP = 878,
- //SI_BODYSTATE_UNDEAD = 879,
- //SI_BODYSTATE_STONECURSE_ING = 880,
- //SI_BODYSTATE_BURNNING = 881,
- //SI_BODYSTATE_IMPRISON = 882,
- //SI_HEALTHSTATE_POISON = 883,
- //SI_HEALTHSTATE_CURSE = 884,
- //SI_HEALTHSTATE_SILENCE = 885,
- //SI_HEALTHSTATE_CONFUSION = 886,
- //SI_HEALTHSTATE_BLIND = 887,
- //SI_HEALTHSTATE_ANGELUS = 888,
- //SI_HEALTHSTATE_BLOODING = 889,
- //SI_HEALTHSTATE_HEAVYPOISON = 890,
- //SI_HEALTHSTATE_FEAR = 891,
- //SI_CHERRY_BLOSSOM_CAKE = 892,
- SI_SU_STOOP = 893,
- SI_CATNIPPOWDER = 894,
- SI_BLOSSOM_FLUTTERING = 895,
- SI_SV_ROOTTWIST = 896,
- //SI_ATTACK_PROPERTY_NOTHING = 897,
- //SI_ATTACK_PROPERTY_WATER = 898,
- //SI_ATTACK_PROPERTY_GROUND = 899,
-
- //SI_ATTACK_PROPERTY_FIRE = 900,
- //SI_ATTACK_PROPERTY_WIND = 901,
- //SI_ATTACK_PROPERTY_POISON = 902,
- //SI_ATTACK_PROPERTY_SAINT = 903,
- //SI_ATTACK_PROPERTY_DARKNESS = 904,
- //SI_ATTACK_PROPERTY_TELEKINESIS = 905,
- //SI_ATTACK_PROPERTY_UNDEAD = 906,
- //SI_RESIST_PROPERTY_NOTHING = 907,
- //SI_RESIST_PROPERTY_WATER = 908,
- //SI_RESIST_PROPERTY_GROUND = 909,
- //SI_RESIST_PROPERTY_FIRE = 910,
- //SI_RESIST_PROPERTY_WIND = 911,
- //SI_RESIST_PROPERTY_POISON = 912,
- //SI_RESIST_PROPERTY_SAINT = 913,
- //SI_RESIST_PROPERTY_DARKNESS = 914,
- //SI_RESIST_PROPERTY_TELEKINESIS = 915,
- //SI_RESIST_PROPERTY_UNDEAD = 916,
- SI_BITESCAR = 917,
- SI_ARCLOUSEDASH = 918,
- SI_TUNAPARTY = 919,
- SI_SHRIMP = 920,
- SI_FRESHSHRIMP = 921,
- //SI_PERIOD_RECEIVEITEM = 922,
- //SI_PERIOD_PLUSEXP = 923,
- //SI_PERIOD_PLUSJOBEXP = 924,
- //SI_RUNEHELM = 925,
- //SI_HELM_VERKANA = 926,
- //SI_HELM_RHYDO = 927,
- //SI_HELM_TURISUS = 928,
- //SI_HELM_HAGALAS = 929,
- //SI_HELM_ISIA = 930,
- //SI_HELM_ASIR = 931,
- //SI_HELM_URJ = 932,
- SI_SUHIDE = 933,
- //SI_ = 934,
- //SI_DORAM_BUF_01 = 935,
- //SI_DORAM_BUF_02 = 936,
- SI_SPRITEMABLE = 937,
- //SI_AID_PERIOD_RECEIVEITEM = 938,
- //SI_AID_PERIOD_PLUSEXP = 939,
- //SI_AID_PERIOD_PLUSJOBEXP = 940,
- //SI_AID_PERIOD_DEADPENALTY = 941,
- //SI_AID_PERIOD_ADDSTOREITEMCOUNT = 942,
- //SI_ = 943,
- //SI_ = 944,
- //SI_ = 945,
- //SI_ = 946,
- //SI_ = 947,
- //SI_ = 948,
- //SI_ = 949,
- //SI_HISS = 950,
- //SI_ = 951,
- //SI_NYANGGRASS = 952,
- //SI_CHATTERING = 953,
- //SI_ = 954,
- //SI_ = 955,
- //SI_ = 956,
- //SI_ = 957,
- //SI_ = 958,
- //SI_ = 959,
- //SI_ = 960,
- //SI_GROOMING = 961,
- //SI_PROTECTIONOFSHRIMP = 962,
- //SI_EP16_2_BUFF_SS = 963,
- //SI_EP16_2_BUFF_SC = 964,
- //SI_EP16_2_BUFF_AC = 965,
- //SI_GS_MAGICAL_BULLET = 966,
- //SI_ = 967,
- //SI_ = 968,
- //SI_ = 969,
- //SI_ = 970,
- //SI_ = 971,
- //SI_ = 972,
- //SI_ = 973,
- //SI_ = 974,
- //SI_ = 975,
- //SI_FALLEN_ANGEL = 976,
- //SI_ = 977,
- //SI_ = 978,
- //SI_BLAZE_BEAD = 979,
- //SI_FROZEN_BEAD = 980,
- //SI_BREEZE_BEAD = 981,
- //SI_ = 982,
- //SI_AID_PERIOD_RECEIVEITEM_2ND = 983,
- //SI_AID_PERIOD_PLUSEXP_2ND = 984,
- //SI_AID_PERIOD_PLUSJOBEXP_2ND = 985,
- //SI_PRONTERA_JP = 986,
- //SI_ = 987,
- //SI_GLOOM_CARD = 988,
- //SI_PHARAOH_CARD = 989,
- //SI_KIEL_CARD = 990,
- //SI_ = 991,
- //SI_CHEERUP = 992,
- //SI_ = 993,
- //SI_ = 994,
- //SI_S_MANAPOTION = 995,
- //SI_M_DEFSCROLL = 996,
- //SI_ = 997,
- //SI_ = 998,
- //SI_ = 999,
- //SI_AS_RAGGED_GOLEM_CARD = 1000,
- //SI_LHZ_DUN_N1 = 1001,
- //SI_LHZ_DUN_N2 = 1002,
- //SI_LHZ_DUN_N3 = 1003,
- //SI_LHZ_DUN_N4 = 1004,
-#ifndef SI_MAX
- SI_MAX,
-#endif
+ SI_BLANK = -1,
};
// JOINTBEAT stackable ailments
@@ -2066,29 +1042,28 @@ 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
- str, agi, vit, int_, dex, luk,
+ uint16 str, agi, vit, int_, dex, luk;
+ uint32
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,
@@ -2160,6 +1135,7 @@ struct sc_display_entry {
struct status_change_entry {
int timer;
+ int total_tick;
int val1,val2,val3,val4;
bool infinite_duration;
};
@@ -2249,21 +1225,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];
@@ -2271,14 +1232,14 @@ BEGIN_ZEROED_BLOCK; /* Everything within this block will be memset to 0 when sta
int SP_table[CLASS_COUNT][MAX_LEVEL + 1];
int aspd_base[CLASS_COUNT][MAX_SINGLE_WEAPON_TYPE+1]; // +1 for RENEWAL_ASPD
sc_type Skill2SCTable[MAX_SKILL_DB]; // skill -> status
- int IconChangeTable[SC_MAX]; // status -> "icon" (icon is a bit of a misnomer, since there exist values with no icon associated)
+ struct {
+ int id;
+ int relevant_bl_types;
+ } IconChangeTable[SC_MAX];
unsigned int ChangeFlagTable[SC_MAX]; // status -> flags
int SkillChangeTable[SC_MAX]; // status -> skill
- 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];
@@ -2307,13 +1268,13 @@ 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);
unsigned int (*sc2scb_flag) (sc_type sc);
- int (*type2relevant_bl_types) (int type);
+ int (*get_sc_relevant_bl_types) (sc_type type);
int (*get_sc_type) (sc_type idx);
+ int (*get_sc_icon) (sc_type type);
int (*damage) (struct block_list *src,struct block_list *target,int64 hp,int64 sp, int walkdelay, int flag);
//Define for standard HP/SP skill-related cost triggers (mobs require no HP/SP to use skills)
int (*charge) (struct block_list* bl, int64 hp, int64 sp);
@@ -2346,6 +1307,7 @@ struct status_interface {
int (*isimmune) (struct block_list *bl);
int (*get_sc_def) (struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int tick, int flag);
int (*change_start) (struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag);
+ int (*change_start_sub) (struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int total_tick, int flag);
int (*change_end_) (struct block_list* bl, enum sc_type type, int tid, const char* file, int line);
bool (*is_immune_to_status) (struct status_change* sc, enum sc_type type);
bool (*is_boss_resist_sc) (enum sc_type type);
@@ -2354,7 +1316,7 @@ struct status_interface {
int (*change_start_set_option) (struct block_list *bl, struct status_change* sc, enum sc_type type, int val1, int val2, int val3, int val4);
int (*get_val_flag) (enum sc_type type);
void (*change_start_display) (struct map_session_data *sd, enum sc_type type, int val1, int val2, int val3, int val4);
- bool (*change_start_unknown_sc) (struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int tick, int flag);
+ bool (*change_start_unknown_sc) (struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int total_tick, int flag);
int (*kaahi_heal_timer) (int tid, int64 tick, int id, intptr_t data);
int (*change_timer) (int tid, int64 tick, int id, intptr_t data);
int (*change_timer_sub) (struct block_list* bl, va_list ap);
@@ -2379,8 +1341,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);
@@ -2391,7 +1353,7 @@ 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);
@@ -2403,12 +1365,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);
@@ -2419,7 +1381,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);
@@ -2427,15 +1389,16 @@ 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);
+ bool (*read_scdb_libconfig) (void);
+ bool (*read_scdb_libconfig_sub) (struct config_setting_t *it, int idx, const char *source);
+ bool (*read_scdb_libconfig_sub_flag) (struct config_setting_t *it, int type, const char *source);
+ bool (*read_scdb_libconfig_sub_flag_additional) (struct config_setting_t *it, int type, const char *source);
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 (*set_sc) (uint16 skill_id, sc_type sc, 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 90b620f63..b83bd8489 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/storage.h b/src/map/storage.h
index 5c6152894..7a342efb2 100644
--- a/src/map/storage.h
+++ b/src/map/storage.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/stylist.c b/src/map/stylist.c
new file mode 100644
index 000000000..8b4180971
--- /dev/null
+++ b/src/map/stylist.c
@@ -0,0 +1,229 @@
+/**
+* This file is part of Hercules.
+* http://herc.ws - http://github.com/HerculesWS/Hercules
+*
+* Copyright (C) 2018-2020 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;
+ char config_filename[256];
+ libconfig->format_db_path("stylist_db.conf", config_filename, sizeof(config_filename));
+ 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..1b8e20616
--- /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-2020 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 9c284ba23..e727c3c70 100644
--- a/src/map/trade.c
+++ b/src/map/trade.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -50,6 +50,9 @@ static void trade_traderequest(struct map_session_data *sd, struct map_session_d
{
nullpo_retv(sd);
+ if (sd == target_sd)
+ return;
+
if (map->list[sd->bl.m].flag.notrade) {
clif->message (sd->fd, msg_sd(sd,272)); // You can't trade in this map
return;
@@ -163,8 +166,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);
@@ -223,9 +226,9 @@ static int impossible_trade_check(struct map_session_data *sd)
if (inventory[index].amount < sd->deal.item[i].amount) {
// if more than the player have -> hack
snprintf(message_to_gm, sizeof(message_to_gm), msg_txt(538), sd->status.name, sd->status.account_id); // Hack on trade: character '%s' (account: %d) try to trade more items that he has.
- intif->wis_message_to_gm(map->wisp_server_name, PC_PERM_RECEIVE_HACK_INFO, message_to_gm);
+ pc->wis_message_to_gm(map->wisp_server_name, PC_PERM_RECEIVE_HACK_INFO, message_to_gm);
snprintf(message_to_gm, sizeof(message_to_gm), msg_txt(539), inventory[index].amount, inventory[index].nameid, sd->deal.item[i].amount); // This player has %d of a kind of item (id: %d), and try to trade %d of them.
- intif->wis_message_to_gm(map->wisp_server_name, PC_PERM_RECEIVE_HACK_INFO, message_to_gm);
+ pc->wis_message_to_gm(map->wisp_server_name, PC_PERM_RECEIVE_HACK_INFO, message_to_gm);
// if we block people
if (battle_config.ban_hack_trade < 0) {
chrif->char_ask_name(-1, sd->status.name, CHAR_ASK_NAME_BLOCK, 0, 0, 0, 0, 0, 0);
@@ -242,7 +245,7 @@ static int impossible_trade_check(struct map_session_data *sd)
// message about the ban
safestrncpy(message_to_gm, msg_txt(508), sizeof(message_to_gm)); // This player hasn't been banned (Ban option is disabled).
- intif->wis_message_to_gm(map->wisp_server_name, PC_PERM_RECEIVE_HACK_INFO, message_to_gm);
+ pc->wis_message_to_gm(map->wisp_server_name, PC_PERM_RECEIVE_HACK_INFO, message_to_gm);
return 1;
}
inventory[index].amount -= sd->deal.item[i].amount; // remove item from inventory
diff --git a/src/map/trade.h b/src/map/trade.h
index ac732122f..da55f5057 100644
--- a/src/map/trade.h
+++ b/src/map/trade.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/unit.c b/src/map/unit.c
index 68e6aeec1..d484056f9 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -57,6 +57,7 @@
#include "common/showmsg.h"
#include "common/socket.h"
#include "common/timer.h"
+#include "common/utils.h"
#include <stdio.h>
#include <stdlib.h>
@@ -71,20 +72,69 @@ struct unit_interface *unit;
/**
* Returns the unit_data for the given block_list. If the object is using
* shared unit_data (i.e. in case of BL_NPC), it returns the shared data.
- * @param bl block_list to process
+ *
+ * __Warning:__ if bl->type is not known or NULL,
+ * an assertion will be triggered and NULL returned.
+ * @param bl block_list to process, it is expected to be not NULL.
* @return a pointer to the given object's unit_data
**/
static struct unit_data *unit_bl2ud(struct block_list *bl)
{
- if (bl == NULL) return NULL;
- if (bl->type == BL_PC) return &BL_UCAST(BL_PC, bl)->ud;
- if (bl->type == BL_MOB) return &BL_UCAST(BL_MOB, bl)->ud;
- if (bl->type == BL_PET) return &BL_UCAST(BL_PET, bl)->ud;
- if (bl->type == BL_NPC) return BL_UCAST(BL_NPC, bl)->ud;
- if (bl->type == BL_HOM) return &BL_UCAST(BL_HOM, bl)->ud;
- if (bl->type == BL_MER) return &BL_UCAST(BL_MER, bl)->ud;
- if (bl->type == BL_ELEM) return &BL_UCAST(BL_ELEM, bl)->ud;
- return NULL;
+ Assert_retr(NULL, bl != NULL);
+ switch (bl->type) {
+ case BL_PC:
+ return &BL_UCAST(BL_PC, bl)->ud;
+ case BL_MOB:
+ return &BL_UCAST(BL_MOB, bl)->ud;
+ case BL_PET:
+ return &BL_UCAST(BL_PET, bl)->ud;
+ case BL_NPC:
+ return BL_UCAST(BL_NPC, bl)->ud;
+ case BL_HOM:
+ return &BL_UCAST(BL_HOM, bl)->ud;
+ case BL_MER:
+ return &BL_UCAST(BL_MER, bl)->ud;
+ case BL_ELEM:
+ return &BL_UCAST(BL_ELEM, bl)->ud;
+ case BL_SKILL: // No assertion to not spam the server console when attacking a skill type unit such as Ice Wall.
+ return NULL;
+ default:
+ Assert_retr(NULL, false);
+ }
+}
+
+/**
+ * Returns the const unit_data for the given const block_list. If the object is using
+ * shared unit_data (i.e. in case of BL_NPC), it returns the shared data.
+ *
+ * __Warning:__ if bl->type is not known or NULL,
+ * an assertion will be triggered and NULL returned.
+ * @param bl block_list to process, it is expected to be not NULL.
+ * @return a pointer to the given object's unit_data
+ **/
+static const struct unit_data *unit_cbl2ud(const struct block_list *bl)
+{
+ Assert_retr(NULL, bl != NULL);
+ switch (bl->type) {
+ case BL_PC:
+ return &BL_UCCAST(BL_PC, bl)->ud;
+ case BL_MOB:
+ return &BL_UCCAST(BL_MOB, bl)->ud;
+ case BL_PET:
+ return &BL_UCCAST(BL_PET, bl)->ud;
+ case BL_NPC:
+ return BL_UCCAST(BL_NPC, bl)->ud;
+ case BL_HOM:
+ return &BL_UCCAST(BL_HOM, bl)->ud;
+ case BL_MER:
+ return &BL_UCCAST(BL_MER, bl)->ud;
+ case BL_ELEM:
+ return &BL_UCCAST(BL_ELEM, bl)->ud;
+ case BL_SKILL: // No assertion to not spam the server console when attacking a skill type unit such as Ice Wall.
+ return NULL;
+ default:
+ Assert_retr(NULL, false);
+ }
}
/**
@@ -105,42 +155,46 @@ static struct unit_data *unit_bl2ud2(struct block_list *bl)
return unit->bl2ud(bl);
}
-static int unit_walktoxy_sub(struct block_list *bl)
+/**
+ * TODO: understand purpose of this function
+ * @param bl block_list to process
+ * @return 0: success, 1: fail, 2: nullpointer
+ */
+static int unit_walk_toxy_sub(struct block_list *bl)
{
- int i;
- struct walkpath_data wpd;
- struct unit_data *ud = NULL;
-
- nullpo_retr(1, bl);
- ud = unit->bl2ud(bl);
- if(ud == NULL) return 0;
+ nullpo_retr(2, bl);
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud == NULL)
+ return 2;
- memset(&wpd, 0, sizeof(wpd));
+ struct walkpath_data wpd = {0};
- if( !path->search(&wpd,bl,bl->m,bl->x,bl->y,ud->to_x,ud->to_y,ud->state.walk_easy,CELL_CHKNOPASS) )
- return 0;
+ if (!path->search(&wpd, bl, bl->m, bl->x, bl->y, ud->to_x, ud->to_y, ud->state.walk_easy, CELL_CHKNOPASS))
+ return 1;
#ifdef OFFICIAL_WALKPATH
- if( !path->search_long(NULL, bl, bl->m, bl->x, bl->y, ud->to_x, ud->to_y, CELL_CHKNOPASS) // Check if there is an obstacle between
- && wpd.path_len > 14 // Official number of walkable cells is 14 if and only if there is an obstacle between. [malufett]
- && (bl->type != BL_NPC) ) // If type is a NPC, please disregard.
- return 0;
+ if (bl->type != BL_NPC // If type is an NPC, disregard.
+ && !path->search_long(NULL, bl, bl->m, bl->x, bl->y, ud->to_x, ud->to_y, CELL_CHKNOPASS) // Check if there is an obstacle between
+ && wpd.path_len > 14) { // Official number of walkable cells is 14 if and only if there is an obstacle between. [malufett]
+ return 1;
+ }
#endif
- memcpy(&ud->walkpath,&wpd,sizeof(wpd));
+ ud->walkpath = wpd;
- if (ud->target_to && ud->chaserange>1) {
- //Generally speaking, the walk path is already to an adjacent tile
- //so we only need to shorten the path if the range is greater than 1.
+ if (ud->target_to != 0 && ud->chaserange > 1) {
+ // Generally speaking, the walk path is already to an adjacent tile
+ // so we only need to shorten the path if the range is greater than 1.
- //Trim the last part of the path to account for range,
- //but always move at least one cell when requested to move.
- for (i = (ud->chaserange*10)-10; i > 0 && ud->walkpath.path_len>1;) {
- uint8 dir;
+ // Trim the last part of the path to account for range,
+ // but always move at least one cell when requested to move.
+ for (int i = ud->chaserange * 10 - 10; i > 0 && ud->walkpath.path_len > 1;) {
+ enum unit_dir dir;
ud->walkpath.path_len--;
dir = ud->walkpath.path[ud->walkpath.path_len];
- if (dir&1)
- i -= MOVE_COST*20; //When chasing, units will target a diamond-shaped area in range [Playtester]
+ Assert_retr(1, dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
+ if (unit_is_diagonal_dir(dir))
+ i -= MOVE_COST * 20; // When chasing, units will target a diamond-shaped area in range [Playtester]
else
i -= MOVE_COST;
ud->to_x -= dirx[dir];
@@ -148,7 +202,7 @@ static int unit_walktoxy_sub(struct block_list *bl)
}
}
- ud->state.change_walk_target=0;
+ ud->state.change_walk_target = 0;
if (bl->type == BL_PC) {
struct map_session_data *sd = BL_UCAST(BL_PC, bl);
@@ -157,15 +211,17 @@ static int unit_walktoxy_sub(struct block_list *bl)
}
clif->move(ud);
- if(ud->walkpath.path_pos>=ud->walkpath.path_len)
- i = -1;
- else if(ud->walkpath.path[ud->walkpath.path_pos]&1)
- i = status->get_speed(bl)*MOVE_DIAGONAL_COST/MOVE_COST;
+ int timer_delay;
+ if (ud->walkpath.path_pos >= ud->walkpath.path_len)
+ timer_delay = -1;
+ else if ((ud->walkpath.path[ud->walkpath.path_pos] & 1) != 0)
+ timer_delay = status->get_speed(bl) * MOVE_DIAGONAL_COST / MOVE_COST;
else
- i = status->get_speed(bl);
- if( i > 0)
- ud->walktimer = timer->add(timer->gettick()+i,unit->walktoxy_timer,bl->id,i);
- return 1;
+ timer_delay = status->get_speed(bl);
+
+ if (timer_delay > 0)
+ ud->walktimer = timer->add(timer->gettick() + timer_delay, unit->walk_toxy_timer, bl->id, 0); //TODO: check if unit->walk_toxy_timer uses any intptr data
+ return 0;
}
/**
@@ -173,417 +229,456 @@ static int unit_walktoxy_sub(struct block_list *bl)
* @param tid: Timer ID
* @param tick: Unused
* @param id: ID of bl to do the action
- * @param data: Not used
- * @return 1: Success 0: Fail (No valid bl)
+ * @param data: Unused
+ * @return 0: success, 1: fail, 2: nullpointer
*/
-static int unit_step_timer(int tid, int64 tick, int id, intptr_t data)
+static int unit_steptimer(int tid, int64 tick, int id, intptr_t data)
{
- struct block_list *bl;
- struct unit_data *ud;
- int target_id;
-
- bl = map->id2bl(id);
-
- if (!bl || bl->prev == NULL)
- return 0;
-
- ud = unit->bl2ud(bl);
-
- if(!ud)
- return 0;
+ struct block_list *bl = map->id2bl(id);
+ if (bl == NULL || bl->prev == NULL)
+ return 2;
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud == NULL)
+ return 2;
- if(ud->steptimer != tid) {
- ShowError("unit_step_timer mismatch %d != %d\n",ud->steptimer,tid);
- return 0;
+ if (ud->steptimer != tid) {
+ ShowError("unit_steptimer mismatch %d != %d\n", ud->steptimer, tid);
+ return 1;
}
ud->steptimer = INVALID_TIMER;
- if(!ud->stepaction)
- return 0;
+ if (!ud->stepaction)
+ return 1;
- //Set to false here because if an error occurs, it should not be executed again
+ // Set to false here because if an error occurs, it should not be executed again
ud->stepaction = false;
- if(!ud->target_to)
- return 0;
+ if (ud->target_to == 0)
+ return 1;
- //Flush target_to as it might contain map coordinates which should not be used by other functions
- target_id = ud->target_to;
+ // Flush target_to as it might contain map coordinates which should not be used by other functions
+ int target_id = ud->target_to;
ud->target_to = 0;
- //If stepaction is set then we remembered a client request that should be executed on the next step
- //Execute request now if target is in attack range
- if(ud->stepskill_id && skill->get_inf(ud->stepskill_id) & INF_GROUND_SKILL) {
- //Execute ground skill
+ // If stepaction is set then we remembered a client request that should be executed on the next step
+ // Execute request now if target is in attack range
+ if (ud->stepskill_id != 0 && (skill->get_inf(ud->stepskill_id) & INF_GROUND_SKILL) != 0) {
+ // Execute ground skill
struct map_data *md = &map->list[bl->m];
- unit->skilluse_pos(bl, target_id%md->xs, target_id/md->xs, ud->stepskill_id, ud->stepskill_lv);
+ unit->skilluse_pos(bl, target_id % md->xs, target_id / md->xs, ud->stepskill_id, ud->stepskill_lv);
} else {
- //If a player has target_id set and target is in range, attempt attack
+ // If a player has target_id set and target is in range, attempt attack
struct block_list *tbl = map->id2bl(target_id);
- if (!tbl || !status->check_visibility(bl, tbl)) {
- return 0;
- }
- if(ud->stepskill_id == 0) {
- //Execute normal attack
- unit->attack(bl, tbl->id, (ud->state.attack_continue) + 2);
- } else {
- //Execute non-ground skill
- unit->skilluse_id(bl, tbl->id, ud->stepskill_id, ud->stepskill_lv);
- }
+ nullpo_retr(2, tbl);
+ if (status->check_visibility(bl, tbl) == 0) // Target not visible
+ return 1;
+ if (ud->stepskill_id == 0)
+ unit->attack(bl, tbl->id, ud->state.attack_continue + 2); // Execute normal attack
+ else
+ unit->skilluse_id(bl, tbl->id, ud->stepskill_id, ud->stepskill_lv); // Execute non-ground skill
}
- return 1;
+ return 0;
}
-static int unit_walktoxy_timer(int tid, int64 tick, int id, intptr_t data)
+/**
+ * Warps homunculus or mercenary towards his master in case he's too far away for 3 seconds.
+ * @param master_bl: block_list of master
+ * @param slave_bl: block_list of homunculus/mercenary master owns
+ * @return 0: success, 1: fail
+ */
+static int unit_warpto_master(struct block_list *master_bl, struct block_list *slave_bl)
{
- int i;
- int x,y,dx,dy;
- unsigned char icewall_walk_block;
- uint8 dir;
- struct block_list *bl;
- struct map_session_data *sd;
- struct mob_data *md;
- struct unit_data *ud;
- struct mercenary_data *mrd;
+ nullpo_retr(1, master_bl);
+ nullpo_retr(1, slave_bl);
+ int64 *masterteleport_timer;
+ struct homun_data *hd = BL_CAST(BL_HOM, slave_bl);
+ struct mercenary_data *md = BL_CAST(BL_MER, slave_bl);
+
+ bool check = true;
+ if (hd != NULL) {
+ masterteleport_timer = &hd->masterteleport_timer;
+ check = homun_alive(hd);
+ } else if (md != NULL) {
+ masterteleport_timer = &md->masterteleport_timer;
+ } else {
+ return 1;
+ }
- bl = map->id2bl(id);
- if(bl == NULL)
- return 0;
- sd = BL_CAST(BL_PC, bl);
- md = BL_CAST(BL_MOB, bl);
- mrd = BL_CAST(BL_MER, bl);
- ud = unit->bl2ud(bl);
+ if (check && !check_distance_bl(master_bl, slave_bl, MAX_MER_DISTANCE)) {
+ if (*masterteleport_timer == 0) {
+ *masterteleport_timer = timer->gettick();
+ return 0;
+ } else if (DIFF_TICK(timer->gettick(), *masterteleport_timer) > 3000) {
+ unit->warp(slave_bl, master_bl->m, master_bl->x, master_bl->y, CLR_TELEPORT);
+ }
+ }
+ *masterteleport_timer = 0; // resets tick in case he isn't far anymore.
- if(ud == NULL) return 0;
+ return 0;
+}
+
+/**
+ * Timer for walking to target coordinates or object.
+ * @param tid: timer id
+ * @param tick: tick
+ * @param id: id of bl to do the action
+ * @param data: unused
+ * @return 0: success, 1: fail
+ */
+static int unit_walk_toxy_timer(int tid, int64 tick, int id, intptr_t data)
+{
+ struct block_list *bl = map->id2bl(id);
+ if (bl == NULL)
+ return 1;
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud == NULL)
+ return 1;
- if(ud->walktimer != tid){
+ if (ud->walktimer != tid) {
ShowError("unit_walk_timer mismatch %d != %d\n",ud->walktimer,tid);
- return 0;
+ return 1;
}
+
ud->walktimer = INVALID_TIMER;
- if (bl->prev == NULL) return 0; // Stop moved because it is missing from the block_list
- if(ud->walkpath.path_pos>=ud->walkpath.path_len)
- return 0;
+ if (bl->prev == NULL) // Stop moved because it is missing from the block_list.
+ return 1;
- if(ud->walkpath.path[ud->walkpath.path_pos]>=8)
+ if (ud->walkpath.path_pos >= ud->walkpath.path_len)
return 1;
- x = bl->x;
- y = bl->y;
- dir = ud->walkpath.path[ud->walkpath.path_pos];
+ enum unit_dir dir = ud->walkpath.path[ud->walkpath.path_pos];
+ Assert_retr(1, dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
+ int x = bl->x;
+ int y = bl->y;
+
ud->dir = dir;
- dx = dirx[(int)dir];
- dy = diry[(int)dir];
+ int dx = dirx[dir];
+ int dy = diry[dir];
- //Get icewall walk block depending on boss mode (players can't be trapped)
- if(md && md->status.mode&MD_BOSS)
- icewall_walk_block = battle_config.boss_icewall_walk_block;
- else if(md)
- icewall_walk_block = battle_config.mob_icewall_walk_block;
- else
- icewall_walk_block = 0;
+ // Get icewall walk block depending on boss mode (players can't be trapped)
+ unsigned char icewall_walk_block = 0;
+ struct mob_data *md = BL_CAST(BL_MOB, bl);
+ if (md != NULL) {
+ if ((md->status.mode & MD_BOSS) != 0)
+ icewall_walk_block = battle_config.boss_icewall_walk_block;
+ else
+ icewall_walk_block = battle_config.mob_icewall_walk_block;
+ }
- //Monsters will walk into an icewall from the west and south if they already started walking
+ // Monsters will walk into an icewall from the west and south if they already started walking
if (map->getcell(bl->m, bl, x + dx, y + dy, CELL_CHKNOPASS)
&& (icewall_walk_block == 0 || !map->getcell(bl->m, bl, x + dx, y + dy, CELL_CHKICEWALL) || dx < 0 || dy < 0))
- return unit->walktoxy_sub(bl);
+ return unit->walk_toxy_sub(bl);
- //Monsters can only leave icewalls to the west and south
- //But if movement fails more than icewall_walk_block times, they can ignore this rule
- if (md && md->walktoxy_fail_count < icewall_walk_block && map->getcell(bl->m, bl, x, y, CELL_CHKICEWALL) && (dx > 0 || dy > 0)) {
- //Needs to be done here so that rudeattack skills are invoked
+ // Monsters can only leave icewalls to the west and south
+ // But if movement fails more than icewall_walk_block times, they can ignore this rule
+ if (md != NULL && md->walktoxy_fail_count < icewall_walk_block && map->getcell(bl->m, bl, x, y, CELL_CHKICEWALL) != 0 && (dx > 0 || dy > 0)) {
+ // Needs to be done here so that rudeattack skills are invoked
md->walktoxy_fail_count++;
clif->fixpos(bl);
- //Monsters in this situation first use a chase skill, then unlock target and then use an idle skill
- if (!(++ud->walk_count%WALK_SKILL_INTERVAL))
+ // Monsters in this situation first use a chase skill, then unlock target and then use an idle skill
+ if ((++ud->walk_count % WALK_SKILL_INTERVAL) == 0)
mob->skill_use(md, tick, -1);
mob->unlocktarget(md, tick);
- if (!(++ud->walk_count%WALK_SKILL_INTERVAL))
+ if ((++ud->walk_count % WALK_SKILL_INTERVAL) != 0)
mob->skill_use(md, tick, -1);
- return 0;
+ return 1;
}
+ struct map_session_data *sd = BL_CAST(BL_PC, bl);
//Refresh view for all those we lose sight
- map->foreachinmovearea(clif->outsight, bl, AREA_SIZE, dx, dy, sd?BL_ALL:BL_PC, bl);
+ map->foreachinmovearea(clif->outsight, bl, AREA_SIZE, dx, dy, (sd != NULL ? BL_ALL : BL_PC), bl);
x += dx;
y += dy;
map->moveblock(bl, x, y, tick);
- ud->walk_count++; //walked cell counter, to be used for walk-triggered skills. [Skotlex]
+ ud->walk_count++; // walked cell counter, to be used for walk-triggered skills. [Skotlex]
status_change_end(bl, SC_ROLLINGCUTTER, INVALID_TIMER); //If you move, you lose your counters. [malufett]
if (bl->x != x || bl->y != y || ud->walktimer != INVALID_TIMER)
- return 0; //map->moveblock has altered the object beyond what we expected (moved/warped it)
+ return 1; // map->moveblock has altered the object beyond what we expected (moved/warped it)
ud->walktimer = -2; // arbitrary non-INVALID_TIMER value to make the clif code send walking packets
- map->foreachinmovearea(clif->insight, bl, AREA_SIZE, -dx, -dy, sd?BL_ALL:BL_PC, bl);
+ map->foreachinmovearea(clif->insight, bl, AREA_SIZE, -dx, -dy, (sd != NULL ? BL_ALL : BL_PC), bl);
ud->walktimer = INVALID_TIMER;
- if(sd) {
- if( sd->touching_id )
- npc->touchnext_areanpc(sd,false);
+ struct mercenary_data *mrd = BL_CAST(BL_MER, bl);
+ if (sd != NULL) {
+ if (sd->touching_id != 0)
+ npc->touchnext_areanpc(sd, false);
if (map->getcell(bl->m, bl, x, y, CELL_CHKNPC)) {
- npc->touch_areanpc(sd,bl->m,x,y);
+ npc->touch_areanpc(sd, bl->m, x, y);
if (bl->prev == NULL) //Script could have warped char, abort remaining of the function.
return 0;
- } else
+ } else {
npc->untouch_areanpc(sd, bl->m, x, y);
-
- if( sd->md ) { // mercenary should be warped after being 3 seconds too far from the master [greenbox]
- if( !check_distance_bl(&sd->bl, &sd->md->bl, MAX_MER_DISTANCE) ) {
- if (sd->md->masterteleport_timer == 0)
- sd->md->masterteleport_timer = timer->gettick();
- else if (DIFF_TICK(timer->gettick(), sd->md->masterteleport_timer) > 3000) {
- sd->md->masterteleport_timer = 0;
- unit->warp( &sd->md->bl, sd->bl.m, sd->bl.x, sd->bl.y, CLR_TELEPORT );
- }
- } else // reset the tick, he is not far anymore
- sd->md->masterteleport_timer = 0;
- }
- if( sd->hd ) {
- if( homun_alive(sd->hd) && !check_distance_bl(&sd->bl, &sd->hd->bl, MAX_MER_DISTANCE) ) {
- if (sd->hd->masterteleport_timer == 0)
- sd->hd->masterteleport_timer = timer->gettick();
- else if (DIFF_TICK(timer->gettick(), sd->hd->masterteleport_timer) > 3000) {
- sd->hd->masterteleport_timer = 0;
- unit->warp( &sd->hd->bl, sd->bl.m, sd->bl.x, sd->bl.y, CLR_TELEPORT );
- }
- } else
- sd->hd->masterteleport_timer = 0;
}
+
+ if (sd->md != NULL) // mercenary should be warped after being 3 seconds too far from the master [greenbox]
+ unit->warpto_master(bl, &sd->md->bl);
+ if (sd->hd != NULL)
+ unit->warpto_master(bl, &sd->hd->bl);
} else if (md) {
- //Movement was successful, reset walktoxy_fail_count
+ // Movement was successful, reset walktoxy_fail_count
md->walktoxy_fail_count = 0;
- if (map->getcell(bl->m, bl, x, y, CELL_CHKNPC)) {
- if( npc->touch_areanpc2(md) ) return 0; // Warped
- } else
+
+ if (map->getcell(bl->m, bl, x, y, CELL_CHKNPC) != 0 && npc->touch_areanpc2(md))
+ return 0; // Warped
+ else
md->areanpc_id = 0;
- if (md->min_chase > md->db->range3) md->min_chase--;
- //Walk skills are triggered regardless of target due to the idle-walk mob state.
- //But avoid triggering on stop-walk calls.
- if (tid != INVALID_TIMER
- && !(ud->walk_count%WALK_SKILL_INTERVAL)
- && map->list[bl->m].users > 0
- && mob->skill_use(md, tick, -1)
- ) {
+
+ if (md->min_chase > md->db->range3)
+ md->min_chase--;
+ // Walk skills are triggered regardless of target due to the idle-walk mob state.
+ // But avoid triggering on stop-walk calls.
+ if (tid != INVALID_TIMER && (ud->walk_count % WALK_SKILL_INTERVAL) == 0
+ && map->list[bl->m].users > 0 && mob->skill_use(md, tick, -1) == 1) {
+ // Walk skills are supposed to be used while walking
if (!(ud->skill_id == NPC_SELFDESTRUCTION && ud->skilltimer != INVALID_TIMER)
- && md->state.skillstate != MSS_WALK //Walk skills are supposed to be used while walking
- ) {
- //Skill used, abort walking
- clif->fixpos(bl); //Fix position as walk has been canceled.
- return 0;
+ && md->state.skillstate != MSS_WALK) {
+ // Skill used, abort walking
+ clif->fixpos(bl); // Fix position as walk has been canceled.
+ return 1;
}
- //Resend walk packet for proper Self Destruction display.
+ // Resend walk packet for proper Self Destruction display.
clif->move(ud);
}
- }
- else if( mrd && mrd->master )
- {
- if (!check_distance_bl(&mrd->master->bl, bl, MAX_MER_DISTANCE))
- {
- // mercenary should be warped after being 3 seconds too far from the master [greenbox]
- if (mrd->masterteleport_timer == 0)
- {
- mrd->masterteleport_timer = timer->gettick();
- }
- else if (DIFF_TICK(timer->gettick(), mrd->masterteleport_timer) > 3000)
- {
- mrd->masterteleport_timer = 0;
- unit->warp( bl, mrd->master->bl.m, mrd->master->bl.x, mrd->master->bl.y, CLR_TELEPORT );
- }
- }
- else
- {
- mrd->masterteleport_timer = 0;
- }
+ } else if (mrd != NULL && mrd->master != NULL) {
+ unit->warpto_master(&mrd->master->bl, bl);
}
- if(tid == INVALID_TIMER) //A directly invoked timer is from battle_stop_walking, therefore the rest is irrelevant.
+ if(tid == INVALID_TIMER) // A directly invoked timer is from battle_stop_walking, therefore the rest is irrelevant.
return 0;
- //If stepaction is set then we remembered a client request that should be executed on the next step
- if (ud->stepaction && ud->target_to) {
- //Delete old stepaction even if not executed yet, the latest command is what counts
- if(ud->steptimer != INVALID_TIMER) {
- timer->delete(ud->steptimer, unit->step_timer);
+ // If stepaction is set then we remembered a client request that should be executed on the next step
+ if (ud->stepaction && ud->target_to != 0) {
+ // Delete old stepaction even if not executed yet, the latest command is what counts
+ if (ud->steptimer != INVALID_TIMER) {
+ timer->delete(ud->steptimer, unit->steptimer);
ud->steptimer = INVALID_TIMER;
}
- //Delay stepactions by half a step (so they are executed at full step)
- if(ud->walkpath.path[ud->walkpath.path_pos]&1)
- i = status->get_speed(bl)*14/20;
+ // Delay stepactions by half a step (so they are executed at full step)
+ int timer_delay;
+ if ((ud->walkpath.path[ud->walkpath.path_pos] & 1) != 0)
+ timer_delay = status->get_speed(bl) * 14 / 20;
else
- i = status->get_speed(bl)/2;
- ud->steptimer = timer->add(tick+i, unit->step_timer, bl->id, 0);
+ timer_delay = status->get_speed(bl) / 2;
+ ud->steptimer = timer->add(tick + timer_delay, unit->steptimer, bl->id, 0);
}
- if(ud->state.change_walk_target) {
- if(unit->walktoxy_sub(bl)) {
- return 1;
- } else {
- clif->fixpos(bl);
+ if (ud->state.change_walk_target) {
+ if (unit->walk_toxy_sub(bl) == 0)
return 0;
- }
+ clif->fixpos(bl);
+ return 1;
}
+ int timer_delay;
ud->walkpath.path_pos++;
if(ud->walkpath.path_pos>=ud->walkpath.path_len)
- i = -1;
- else if(ud->walkpath.path[ud->walkpath.path_pos]&1)
- i = status->get_speed(bl)*14/10;
+ timer_delay = -1;
+ else if ((ud->walkpath.path[ud->walkpath.path_pos] & 1) != 0)
+ timer_delay = status->get_speed(bl) * 14 / 10;
else
- i = status->get_speed(bl);
+ timer_delay = status->get_speed(bl);
- if(i > 0) {
- ud->walktimer = timer->add(tick+i,unit->walktoxy_timer,id,i);
- if( md && DIFF_TICK(tick,md->dmgtick) < 3000 )//not required not damaged recently
+ if (timer_delay > 0) {
+ ud->walktimer = timer->add(tick + timer_delay, unit->walk_toxy_timer, id, 0);
+ if (md != NULL && DIFF_TICK(tick, md->dmgtick) < 3000) // not required not damaged recently
clif->move(ud);
- } else if(ud->state.running) {
- //Keep trying to run.
- if ( !(unit->run(bl, NULL, SC_RUN) || unit->run(bl, sd, SC_WUGDASH)) )
+ } else if (ud->state.running != 0) {
+ // Keep trying to run.
+ if (!(unit->run(bl, NULL, SC_RUN) || unit->run(bl, sd, SC_WUGDASH)))
ud->state.running = 0;
- } else if (!ud->stepaction && ud->target_to) {
- //Update target trajectory.
+ } else if (!ud->stepaction && ud->target_to != 0) {
+ // Update target trajectory.
struct block_list *tbl = map->id2bl(ud->target_to);
- if (!tbl || !status->check_visibility(bl, tbl)) {
- //Cancel chase.
+ if (tbl == NULL || status->check_visibility(bl, tbl) == 0) { // not visible
+ // Cancel chase.
ud->to_x = bl->x;
ud->to_y = bl->y;
- if (tbl && bl->type == BL_MOB && mob->warpchase(BL_UCAST(BL_MOB, bl), tbl))
+ if (tbl != NULL && bl->type == BL_MOB && mob->warpchase(BL_UCAST(BL_MOB, bl), tbl) != 0)
return 0;
ud->target_to = 0;
- return 0;
+ return 1;
}
if (tbl->m == bl->m && check_distance_bl(bl, tbl, ud->chaserange)) {
//Reached destination.
+ ud->target_to = 0;
if (ud->state.attack_continue) {
//Aegis uses one before every attack, we should
//only need this one for syncing purposes. [Skotlex]
- ud->target_to = 0;
clif->fixpos(bl);
unit->attack(bl, tbl->id, ud->state.attack_continue);
}
- } else { //Update chase-path
- unit->walktobl(bl, tbl, ud->chaserange, ud->state.walk_easy|(ud->state.attack_continue? 1 : 0));
+ } else { // Update chase-path
+ unit->walktobl(bl, tbl, ud->chaserange, ud->state.walk_easy | ud->state.attack_continue);
return 0;
}
} else {
- //Stopped walking. Update to_x and to_y to current location [Skotlex]
+ // Stopped walking. Update to_x and to_y to current location [Skotlex]
ud->to_x = bl->x;
ud->to_y = bl->y;
- if (battle_config.official_cell_stack_limit && map->count_oncell(bl->m, x, y, BL_CHAR|BL_NPC, 0x1 | 0x2) > battle_config.official_cell_stack_limit) {
- //Walked on occupied cell, call unit_walktoxy again
- if(ud->steptimer != INVALID_TIMER) {
- //Execute step timer on next step instead
- timer->delete(ud->steptimer, unit->step_timer);
+ if (battle_config.official_cell_stack_limit != 0 && map->count_oncell(bl->m, x, y, BL_CHAR | BL_NPC, 0x1 | 0x2) > battle_config.official_cell_stack_limit) {
+ // Walked on occupied cell, call unit->walk_toxy again
+ if (ud->steptimer != INVALID_TIMER) {
+ // Execute step timer on next step instead
+ timer->delete(ud->steptimer, unit->steptimer);
ud->steptimer = INVALID_TIMER;
}
- return unit->walktoxy(bl, x, y, 8);
+ return unit->walk_toxy(bl, x, y, 8);
}
}
return 0;
}
-static int unit_delay_walktoxy_timer(int tid, int64 tick, int id, intptr_t data)
+/**
+ * Timer for delayed execution of unit->walk_toxy once triggered
+ * @param tid: Timer ID, unused
+ * @param tick: Tick, unused
+ * @param id: ID of block_list to execute the action
+ * @param data: uint32 data cast to intptr_t with x-coord in lowest 16 bits and y-coord in highest 16 bits
+ * @return 0: success, 1: failure
+ */
+static int unit_delay_walk_toxy_timer(int tid, int64 tick, int id, intptr_t data)
{
struct block_list *bl = map->id2bl(id);
-
- if (!bl || bl->prev == NULL)
- return 0;
- unit->walktoxy(bl, (short)((data>>16)&0xffff), (short)(data&0xffff), 0);
- return 1;
+ if (bl == NULL || bl->prev == NULL)
+ return 1;
+ short x = (short)GetWord((uint32)data, 0);
+ short y = (short)GetWord((uint32)data, 1);
+ unit->walk_toxy(bl, x, y, 0);
+ return 0;
}
-//flag parameter:
-//&1 -> 1/0 = easy/hard
-//&2 -> force walking
-//&4 -> Delay walking if the reason you can't walk is the canwalk delay
-//&8 -> Search for an unoccupied cell and cancel if none available
-static int unit_walktoxy(struct block_list *bl, short x, short y, int flag)
+/**
+ * Makes a unit walk to (x, y) coordinates
+ * @param bl: block_list of unit to move
+ * @param x: x-coordinate
+ * @param y: y-coordinate
+ * @param flag: flag paramater with following options:
+ * - `& 1` -> 1/0 = easy / hard
+ * - `& 2` -> Force walking
+ * - `& 4` -> Delay walking, if the reason you can't walk is the `canwalk delay`
+ * - `& 8` -> Search for an unoccupied cell and cancel if none available
+ * .
+ * @return 0: success, 1: failure
+ */
+static int unit_walk_toxy(struct block_list *bl, short x, short y, int flag)
{
+ // TODO: change flag to enum? [skyleo]
struct unit_data* ud = NULL;
struct status_change* sc = NULL;
struct walkpath_data wpd;
- nullpo_ret(bl);
+ nullpo_retr(1, bl);
ud = unit->bl2ud(bl);
- if( ud == NULL) return 0;
+ if (ud == NULL)
+ return 1;
- if (battle_config.check_occupied_cells && (flag&8) && !map->closest_freecell(bl->m, bl, &x, &y, BL_CHAR|BL_NPC, 1)) //This might change x and y
- return 0;
+ if ((flag & 8) != 0 && battle_config.check_occupied_cells != 0) {
+ if (!map->closest_freecell(bl->m, bl, &x, &y, BL_CHAR | BL_NPC, 1)) // This might change x and y
+ return 1;
+ }
- if (!path->search(&wpd, bl, bl->m, bl->x, bl->y, x, y, flag&1, CELL_CHKNOPASS)) // Count walk path cells
- return 0;
+ if (!path->search(&wpd, bl, bl->m, bl->x, bl->y, x, y, flag & 1, CELL_CHKNOPASS)) // Count walk path cells
+ return 1;
+ if (bl->type != BL_NPC) {
#ifdef OFFICIAL_WALKPATH
- if( !path->search_long(NULL, bl, bl->m, bl->x, bl->y, x, y, CELL_CHKNOPASS) // Check if there is an obstacle between
- && (wpd.path_len > (battle_config.max_walk_path/17)*14) // Official number of walkable cells is 14 if and only if there is an obstacle between. [malufett]
- && (bl->type != BL_NPC) ) // If type is a NPC, please disregard.
- return 0;
+ // Check if there is an obstacle between
+ // Official number of walkable cells is 14 if and only if there is an obstacle between. [malufett]
+ if (!path->search_long(NULL, bl, bl->m, bl->x, bl->y, x, y, CELL_CHKNOPASS)
+ && (wpd.path_len > (battle_config.max_walk_path / 17) * 14))
+ return 1;
#endif
- if ((wpd.path_len > battle_config.max_walk_path) && (bl->type != BL_NPC))
- return 0;
+ if (wpd.path_len > battle_config.max_walk_path)
+ return 1;
+ }
- if (flag&4 && DIFF_TICK(ud->canmove_tick, timer->gettick()) > 0 &&
- DIFF_TICK(ud->canmove_tick, timer->gettick()) < 2000) {
+ if ((flag & 4) != 0 && DIFF_TICK(ud->canmove_tick, timer->gettick()) > 0
+ && DIFF_TICK(ud->canmove_tick, timer->gettick()) < 2000) {
// Delay walking command. [Skotlex]
- timer->add(ud->canmove_tick+1, unit->delay_walktoxy_timer, bl->id, (x<<16)|(y&0xFFFF));
- return 1;
+ timer->add(ud->canmove_tick + 1, unit->delay_walk_toxy_timer, bl->id,
+ (intptr_t)MakeDWord((uint16)x, (uint16)y));
+ return 0;
}
- if(!(flag&2) && (!(status_get_mode(bl)&MD_CANMOVE) || !unit->can_move(bl)))
- return 0;
+ if ((flag & 2) == 0 && ((status_get_mode(bl) & MD_CANMOVE) == 0 || unit->can_move(bl) == 0))
+ return 1;
- ud->state.walk_easy = flag&1;
+ ud->state.walk_easy = flag & 1;
ud->to_x = x;
ud->to_y = y;
unit->stop_attack(bl); //Sets target to 0
+ if ((flag & 8) == 0) // Stepaction might be delayed due to occupied cell
+ unit->stop_stepaction(bl); // unit->walktoxy removes any remembered stepaction and resets ud->target_to
sc = status->get_sc(bl);
- if( sc ) {
- if( sc->data[SC_CONFUSION] || sc->data[SC__CHAOS] ) //Randomize the target position
+ if (sc != NULL) {
+ if (sc->data[SC_CONFUSION] != NULL || sc->data[SC__CHAOS] != NULL) // Randomize the target position
map->random_dir(bl, &ud->to_x, &ud->to_y);
- if( sc->data[SC_COMBOATTACK] )
+ if (sc->data[SC_COMBOATTACK] != NULL)
status_change_end(bl, SC_COMBOATTACK, INVALID_TIMER);
}
- if(ud->walktimer != INVALID_TIMER) {
+ if (ud->walktimer != INVALID_TIMER) {
// When you come to the center of the grid because the change of destination while you're walking right now
- // Call a function from a timer unit->walktoxy_sub
+ // Call a function from a timer unit->walk_toxy_sub
ud->state.change_walk_target = 1;
- return 1;
+ return 0;
}
- return unit->walktoxy_sub(bl);
+ return unit->walk_toxy_sub(bl);
}
-//To set Mob's CHASE/FOLLOW states (shouldn't be done if there's no path to reach)
-static inline void set_mobstate(struct block_list *bl, int flag)
+/**
+ * Sets CHASE / FOLLOW states, in case bl is a mob.
+ * WARNING: This shouldn't be done if there's no path to reach
+ * @param bl: block_list of mob
+ */
+static inline void set_mobstate(struct block_list *bl)
{
- struct mob_data* md = BL_CAST(BL_MOB,bl);
+ struct mob_data* md = BL_CAST(BL_MOB, bl);
- if( md && flag )
- md->state.skillstate = md->state.aggressive ? MSS_FOLLOW : MSS_RUSH;
+ if (md != NULL) {
+ if (md->state.aggressive != 0)
+ md->state.skillstate = MSS_FOLLOW;
+ else
+ md->state.skillstate = MSS_RUSH;
+ }
}
-static int unit_walktobl_sub(int tid, int64 tick, int id, intptr_t data)
+/**
+ * Timer used for when a unit can't walk towards its target yet due to it's canmove_tick,
+ * keeps retrying until it works or target changes.
+ * @param tid: Timer ID, unused
+ * @param tick: Tick, unused
+ * @param id: ID of block_list to execute the action
+ * @param data: ID of block_list to walk towards
+ * @return 0: success, 1: failure
+ */
+static int unit_walktobl_timer(int tid, int64 tick, int id, intptr_t data)
{
struct block_list *bl = map->id2bl(id);
- struct unit_data *ud = bl?unit->bl2ud(bl):NULL;
-
- if (ud && ud->walktimer == INVALID_TIMER && ud->target == data) {
- if (DIFF_TICK(ud->canmove_tick, tick) > 0) //Keep waiting?
- timer->add(ud->canmove_tick+1, unit->walktobl_sub, id, data);
- else if (unit->can_move(bl)) {
- if (unit->walktoxy_sub(bl))
- set_mobstate(bl, ud->state.attack_continue);
- }
+ if (bl == NULL)
+ return 1;
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud == NULL)
+ return 1;
+
+ if (ud->walktimer == INVALID_TIMER && ud->target == data) {
+ if (DIFF_TICK(ud->canmove_tick, tick) > 0) // Keep waiting?
+ timer->add(ud->canmove_tick + 1, unit->walktobl_timer, id, data);
+ else if (unit->can_move(bl) != 0 && unit->walk_toxy_sub(bl) == 0 && ud->state.attack_continue != 0)
+ set_mobstate(bl);
}
return 0;
}
@@ -627,23 +722,27 @@ static int unit_walktobl(struct block_list *bl, struct block_list *tbl, int rang
if(ud->walktimer != INVALID_TIMER) {
ud->state.change_walk_target = 1;
- set_mobstate(bl, flag&2);
+ if ((flag & 2) != 0)
+ set_mobstate(bl);
return 1;
}
if (DIFF_TICK(ud->canmove_tick, timer->gettick()) > 0) {
//Can't move, wait a bit before invoking the movement.
- timer->add(ud->canmove_tick+1, unit->walktobl_sub, bl->id, ud->target);
+ timer->add(ud->canmove_tick + 1, unit->walktobl_timer, bl->id, ud->target);
return 1;
}
if(!unit->can_move(bl))
return 0;
- if (unit->walktoxy_sub(bl)) {
- set_mobstate(bl, flag&2);
+ if (unit->walk_toxy_sub(bl) == 0) {
+ if ((flag & 2) != 0)
+ set_mobstate(bl);
+
return 1;
}
+
return 0;
}
@@ -661,7 +760,7 @@ static void unit_run_hit(struct block_list *bl, struct status_change *sc, struct
lv = sc->data[type]->val1;
//If you can't run forward, you must be next to a wall, so bounce back. [Skotlex]
if( type == SC_RUN )
- clif->sc_load(bl,bl->id,AREA,SI_TING,0,0,0);
+ clif->sc_load(bl, bl->id, AREA, status->get_sc_icon(SC_TING), 0, 0, 0);
ud = unit->bl2ud(bl);
nullpo_retv(ud);
@@ -673,7 +772,7 @@ static void unit_run_hit(struct block_list *bl, struct status_change *sc, struct
if (lv > 0)
skill->blown(bl, bl, skill->get_blewcount(TK_RUN, lv), unit->getdir(bl), 0);
clif->fixpos(bl); //Why is a clif->slide (skill->blown) AND a fixpos needed? Ask Aegis.
- clif->sc_end(bl, bl->id, AREA, SI_TING);
+ clif->sc_end(bl, bl->id, AREA, status->get_sc_icon(SC_TING));
} else if (sd) {
clif->fixpos(bl);
skill->castend_damage_id(bl, &sd->bl, RA_WUGDASH, lv, timer->gettick(), SD_LEVEL);
@@ -730,14 +829,14 @@ static bool unit_run(struct block_list *bl, struct map_session_data *sd, enum sc
return false;
}
- if( unit->walktoxy(bl, to_x, to_y, 1) )
+ if (unit->walk_toxy(bl, to_x, to_y, 1) == 0)
return true;
//There must be an obstacle nearby. Attempt walking one cell at a time.
do {
to_x -= dir_x;
to_y -= dir_y;
- } while (--i > 0 && !unit->walktoxy(bl, to_x, to_y, 1));
+ } while (--i > 0 && unit->walk_toxy(bl, to_x, to_y, 1) != 0);
if ( i == 0 ) {
unit->run_hit(bl, sc, sd, type);
@@ -750,19 +849,21 @@ static bool unit_run(struct block_list *bl, struct map_session_data *sd, enum sc
//Makes bl attempt to run dist cells away from target. Uses hard-paths.
static int unit_escape(struct block_list *bl, struct block_list *target, short dist)
{
- uint8 dir;
nullpo_ret(bl);
- dir = map->calc_dir(target, bl->x, bl->y);
+ enum unit_dir dir = map->calc_dir(target, bl->x, bl->y);
+ Assert_retr(1, dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
while (dist > 0 && map->getcell(bl->m, bl, bl->x + dist * dirx[dir], bl->y + dist * diry[dir], CELL_CHKNOREACH))
dist--;
- return ( dist > 0 && unit->walktoxy(bl, bl->x + dist*dirx[dir], bl->y + dist*diry[dir], 0) );
+ if (dist > 0 && unit->walk_toxy(bl, bl->x + dist * dirx[dir], bl->y + dist * diry[dir], 0) == 0)
+ return 1;
+ else
+ return 0;
}
//Instant warp function.
static int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath)
{
short dx,dy;
- uint8 dir;
struct unit_data *ud = NULL;
struct map_session_data *sd = NULL;
@@ -781,7 +882,7 @@ static int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int eas
ud->to_x = dst_x;
ud->to_y = dst_y;
- dir = map->calc_dir(bl, dst_x, dst_y);
+ enum unit_dir dir = map->calc_dir(bl, dst_x, dst_y);
ud->dir = dir;
dx = dst_x - bl->x;
@@ -805,7 +906,7 @@ static int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int eas
} else
npc->untouch_areanpc(sd, bl->m, bl->x, bl->y);
- if( sd->status.pet_id > 0 && sd->pd && sd->pd->pet.intimate > 0 )
+ if (sd->status.pet_id > 0 && sd->pd && sd->pd->pet.intimate > PET_INTIMACY_NONE)
{ // Check if pet needs to be teleported. [Skotlex]
int flag = 0;
struct block_list* pbl = &sd->pd->bl;
@@ -823,12 +924,18 @@ static int unit_movepos(struct block_list *bl, short dst_x, short dst_y, int eas
return 1;
}
-static int unit_setdir(struct block_list *bl, unsigned char dir)
+/**
+ * Sets the facing direction of a unit
+ * @param bl: unit to modify
+ * @param dir: the facing direction @see enum unit_dir
+ * @return 0: success, 1: failure
+ */
+static int unit_set_dir(struct block_list *bl, enum unit_dir dir)
{
- struct unit_data *ud;
- nullpo_ret(bl );
- ud = unit->bl2ud(bl);
- if (!ud) return 0;
+ nullpo_retr(1, bl);
+ struct unit_data *ud = unit->bl2ud(bl);
+ if (ud == NULL)
+ return 1;
ud->dir = dir;
if (bl->type == BL_PC)
BL_UCAST(BL_PC, bl)->head_dir = 0;
@@ -836,15 +943,20 @@ static int unit_setdir(struct block_list *bl, unsigned char dir)
return 0;
}
-static uint8 unit_getdir(struct block_list *bl)
+/**
+ * Get the facing direction of a unit
+ * @param bl: unit to request data from
+ * @return the facing direction @see enum unit_dir
+ */
+static enum unit_dir unit_getdir(const struct block_list *bl)
{
- struct unit_data *ud;
- nullpo_ret(bl);
+ nullpo_retr(UNIT_DIR_NORTH, bl);
- if( bl->type == BL_NPC )
+ if (bl->type == BL_NPC)
return BL_UCCAST(BL_NPC, bl)->dir;
- ud = unit->bl2ud(bl);
- if (!ud) return 0;
+ const struct unit_data *ud = unit->cbl2ud(bl);
+ if (ud == NULL)
+ return UNIT_DIR_NORTH;
return ud->dir;
}
@@ -957,7 +1069,7 @@ static int unit_warp(struct block_list *bl, short m, short x, short y, enum clr_
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);
@@ -1008,7 +1120,7 @@ static int unit_stop_walking(struct block_list *bl, int flag)
//timer->delete function does not messes with it. If the function's
//behavior changes in the future, this code could break!
td = timer->get(ud->walktimer);
- timer->delete(ud->walktimer, unit->walktoxy_timer);
+ timer->delete(ud->walktimer, unit->walk_toxy_timer);
ud->walktimer = INVALID_TIMER;
ud->state.change_walk_target = 0;
tick = timer->gettick();
@@ -1016,7 +1128,7 @@ static int unit_stop_walking(struct block_list *bl, int flag)
|| (flag&STOPWALKING_FLAG_NEXTCELL && td && DIFF_TICK(td->tick, tick) <= td->data/2) //Enough time has passed to cover half-cell
) {
ud->walkpath.path_len = ud->walkpath.path_pos+1;
- unit->walktoxy_timer(INVALID_TIMER, tick, bl->id, ud->walkpath.path_pos);
+ unit->walk_toxy_timer(INVALID_TIMER, tick, bl->id, ud->walkpath.path_pos);
}
if(flag&STOPWALKING_FLAG_FIXPOS)
@@ -1039,11 +1151,17 @@ static int unit_stop_walking(struct block_list *bl, int flag)
static int unit_skilluse_id(struct block_list *src, int target_id, uint16 skill_id, uint16 skill_lv)
{
- return unit->skilluse_id2(
- src, target_id, skill_id, skill_lv,
- skill->cast_fix(src, skill_id, skill_lv),
- skill->get_castcancel(skill_id)
- );
+ int casttime = skill->cast_fix(src, skill_id, skill_lv);
+ int castcancel = skill->get_castcancel(skill_id);
+ int ret = unit->skilluse_id2(src, target_id, skill_id, skill_lv, casttime, castcancel);
+ struct map_session_data *sd = BL_CAST(BL_PC, src);
+
+ if (sd != NULL && ret == 0)
+ pc->autocast_clear(sd); // Error in unit_skilluse_id2().
+ else if (sd != NULL && ret != 0 && skill_id != SA_ABRACADABRA && skill_id != WM_RANDOMIZESPELL)
+ skill->validate_autocast_data(sd, skill_id, skill_lv);
+
+ return ret;
}
static int unit_is_walking(struct block_list *bl)
@@ -1090,6 +1208,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
))
@@ -1228,7 +1347,7 @@ static int unit_set_walkdelay(struct block_list *bl, int64 tick, int delay, int
} else {
unit->stop_walking(bl, STOPWALKING_FLAG_NEXTCELL);
if (ud->target)
- timer->add(ud->canmove_tick+1, unit->walktobl_sub, bl->id, ud->target);
+ timer->add(ud->canmove_tick + 1, unit->walktobl_timer, bl->id, ud->target);
}
}
}
@@ -1327,6 +1446,12 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
if (src->type==BL_HOM)
switch(skill_id) { //Homun-auto-target skills.
+ case HVAN_CHAOTIC:
+ target_id = ud->target; // Choose attack target for now
+ target = map->id2bl(target_id);
+ if (target != NULL)
+ break;
+ FALLTHROUGH // Attacking nothing, choose master as default target instead
case HLIF_HEAL:
case HLIF_AVOID:
case HAMI_DEFENCE:
@@ -1409,22 +1534,8 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
}
}
- if (src->type == BL_HOM) {
- // In case of homunuculus, set the sd to the homunculus' master, as needed below
- struct block_list *master = battle->get_master(src);
- if (master)
- sd = map->id2sd(master->id);
- }
-
- if (sd) {
- /* temporarily disabled, awaiting for kenpachi to detail this so we can make it work properly */
-#if 0
- if (sd->skillitem != skill_id && !skill->check_condition_castbegin(sd, skill_id, skill_lv))
-#else
- if (!skill->check_condition_castbegin(sd, skill_id, skill_lv))
-#endif
- return 0;
- }
+ if (sd != NULL && skill->check_condition_castbegin(sd, skill_id, skill_lv) == 0)
+ return 0;
if (src->type == BL_MOB) {
const struct mob_data *src_md = BL_UCCAST(BL_MOB, src);
@@ -1451,7 +1562,7 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
ud->target_to = target_id;
ud->stepskill_id = skill_id;
ud->stepskill_lv = skill_lv;
- return 0; // Attacking will be handled by unit_walktoxy_timer in this case
+ return 0; // Attacking will be handled by unit_walk_toxy_timer in this case
}
//Check range when not using skill on yourself or is a combo-skill during attack
@@ -1607,6 +1718,9 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
if (!ud->state.running) //need TK_RUN or WUGDASH handler to be done before that, see bugreport:6026
unit->stop_walking(src, STOPWALKING_FLAG_FIXPOS);// even though this is not how official works but this will do the trick. bugreport:6829
+ if (sd != NULL && sd->autocast.itemskill_instant_cast && sd->autocast.type == AUTOCAST_ITEM)
+ casttime = 0;
+
// in official this is triggered even if no cast time.
clif->useskill(src, src->id, target_id, 0,0, skill_id, skill_lv, casttime);
if( casttime > 0 || temp )
@@ -1642,7 +1756,7 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
if( casttime <= 0 )
ud->state.skillcastcancel = 0;
- if( !sd || sd->skillitem != skill_id || skill->get_cast(skill_id,skill_lv) )
+ if (sd == NULL || sd->autocast.type < AUTOCAST_ABRA || skill->get_cast(skill_id, skill_lv) != 0)
ud->canact_tick = tick + casttime + 100;
if( sd )
{
@@ -1661,7 +1775,7 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
if( casttime > 0 ) {
if (src->id != target->id) // self-targeted skills shouldn't show different direction
- unit->setdir(src, map->calc_dir(src, target->x, target->y));
+ unit->set_dir(src, map->calc_dir(src, target->x, target->y));
ud->skilltimer = timer->add( tick+casttime, skill->castend_id, src->id, 0 );
if (sd && (pc->checkskill(sd, SA_FREECAST) > 0 || skill_id == LG_EXEEDBREAK || (skill->get_inf2(ud->skill_id) & INF2_FREE_CAST_REDUCED) != 0))
status_calc_bl(&sd->bl, SCB_SPEED|SCB_ASPD);
@@ -1676,11 +1790,17 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
static int unit_skilluse_pos(struct block_list *src, short skill_x, short skill_y, uint16 skill_id, uint16 skill_lv)
{
- return unit->skilluse_pos2(
- src, skill_x, skill_y, skill_id, skill_lv,
- skill->cast_fix(src, skill_id, skill_lv),
- skill->get_castcancel(skill_id)
- );
+ int casttime = skill->cast_fix(src, skill_id, skill_lv);
+ int castcancel = skill->get_castcancel(skill_id);
+ int ret = unit->skilluse_pos2(src, skill_x, skill_y, skill_id, skill_lv, casttime, castcancel);
+ struct map_session_data *sd = BL_CAST(BL_PC, src);
+
+ if (sd != NULL && ret == 0)
+ pc->autocast_clear(sd); // Error in unit_skilluse_pos2().
+ else if (sd != NULL && ret != 0 && skill_id != SA_ABRACADABRA && skill_id != WM_RANDOMIZESPELL)
+ skill->validate_autocast_data(sd, skill_id, skill_lv);
+
+ return ret;
}
static int unit_skilluse_pos2(struct block_list *src, short skill_x, short skill_y, uint16 skill_id, uint16 skill_lv, int casttime, int castcancel)
@@ -1751,7 +1871,7 @@ static int unit_skilluse_pos2(struct block_list *src, short skill_x, short skill
ud->target_to = (skill_x + skill_y*md->xs);
ud->stepskill_id = skill_id;
ud->stepskill_lv = skill_lv;
- return 0; // Attacking will be handled by unit_walktoxy_timer in this case
+ return 0; // Attacking will be handled by unit_walk_toxy_timer in this case
}
if( skill->get_state(ud->skill_id) == ST_MOVE_ENABLE ) {
@@ -1775,7 +1895,7 @@ static int unit_skilluse_pos2(struct block_list *src, short skill_x, short skill
}
ud->state.skillcastcancel = castcancel&&casttime>0?1:0;
- if( !sd || sd->skillitem != skill_id || skill->get_cast(skill_id,skill_lv) )
+ if (sd == NULL || sd->autocast.type < AUTOCAST_ABRA || skill->get_cast(skill_id, skill_lv) != 0)
ud->canact_tick = tick + casttime + 100;
#if 0
if (sd) {
@@ -1805,10 +1925,14 @@ static int unit_skilluse_pos2(struct block_list *src, short skill_x, short skill
}
unit->stop_walking(src, STOPWALKING_FLAG_FIXPOS);
+
+ if (sd != NULL && sd->autocast.itemskill_instant_cast && sd->autocast.type == AUTOCAST_ITEM)
+ casttime = 0;
+
// in official this is triggered even if no cast time.
clif->useskill(src, src->id, 0, skill_x, skill_y, skill_id, skill_lv, casttime);
if( casttime > 0 ) {
- unit->setdir(src, map->calc_dir(src, skill_x, skill_y));
+ unit->set_dir(src, map->calc_dir(src, skill_x, skill_y));
ud->skilltimer = timer->add( tick+casttime, skill->castend_pos, src->id, 0 );
if ((sd && pc->checkskill(sd, SA_FREECAST) > 0) || skill_id == LG_EXEEDBREAK || (skill->get_inf2(ud->skill_id) & INF2_FREE_CAST_REDUCED) != 0) {
status_calc_bl(&sd->bl, SCB_SPEED|SCB_ASPD);
@@ -1887,7 +2011,7 @@ static void unit_stop_stepaction(struct block_list *bl)
return;
//Clear timer
- timer->delete(ud->steptimer, unit->step_timer);
+ timer->delete(ud->steptimer, unit->steptimer);
ud->steptimer = INVALID_TIMER;
}
@@ -1930,8 +2054,10 @@ static int unit_attack(struct block_list *src, int target_id, int continuous)
if (src->type == BL_PC) {
struct map_session_data *sd = BL_UCAST(BL_PC, src);
- if( target->type == BL_NPC ) { // monster npcs [Valaris]
- npc->click(sd, BL_UCAST(BL_NPC, target)); // submitted by leinsirk10 [Celest]
+ if (target->type == BL_NPC) { // monster npcs [Valaris]
+ if (sd->block_action.npc == 0) { // *pcblock script command
+ npc->click(sd, BL_UCAST(BL_NPC, target)); // submitted by leinsirk10 [Celest]
+ }
return 0;
}
if( pc_is90overweight(sd) || pc_isridingwug(sd) ) { // overweight or mounted on warg - stop attacking
@@ -1969,7 +2095,7 @@ static int unit_attack(struct block_list *src, int target_id, int continuous)
ud->target_to = ud->target;
ud->stepskill_id = 0;
ud->stepskill_lv = 0;
- return 0; // Attacking will be handled by unit_walktoxy_timer in this case
+ return 0; // Attacking will be handled by unit_walk_toxy_timer in this case
}
if(DIFF_TICK(ud->attackabletime, timer->gettick()) > 0)
@@ -2070,14 +2196,13 @@ static bool unit_can_reach_bl(struct block_list *bl, struct block_list *tbl, int
/*==========================================
* Calculates position of Pet/Mercenary/Homunculus/Elemental
*------------------------------------------*/
-static int unit_calc_pos(struct block_list *bl, int tx, int ty, uint8 dir)
+static int unit_calc_pos(struct block_list *bl, int tx, int ty, enum unit_dir dir)
{
int dx, dy, x, y;
struct unit_data *ud = unit->bl2ud(bl);
nullpo_ret(ud);
- if(dir > 7)
- return 1;
+ Assert_retr(1, dir >= UNIT_DIR_FIRST && dir < UNIT_DIR_MAX);
ud->to_x = tx;
ud->to_y = ty;
@@ -2094,7 +2219,7 @@ static int unit_calc_pos(struct block_list *bl, int tx, int ty, uint8 dir)
if (!unit->can_reach_pos(bl, x, y, 0)) {
int i;
for (i = 0; i < 12; i++) {
- int k = rnd()%8; // Pick a Random Dir
+ enum unit_dir k = rnd() % UNIT_DIR_MAX; // Pick a Random Dir
dx = -dirx[k] * 2;
dy = -diry[k] * 2;
x = tx + dx;
@@ -2260,7 +2385,7 @@ static int unit_attack_timer_sub(struct block_list *src, int tid, int64 tick)
}
if(ud->state.attack_continue) {
- unit->setdir(src, map->calc_dir(src, target->x, target->y));
+ unit->set_dir(src, map->calc_dir(src, target->x, target->y));
if( src->type == BL_PC )
pc->update_idle_time(sd, BCIDLE_ATTACK);
ud->attacktimer = timer->add(ud->attackabletime,unit->attack_timer,src->id,0);
@@ -2605,7 +2730,7 @@ static int unit_remove_map(struct block_list *bl, enum clr_type clrtype, const c
case BL_PET:
{
struct pet_data *pd = BL_UCAST(BL_PET, bl);
- if( pd->pet.intimate <= 0 && !(pd->msd && !pd->msd->state.active) ) {
+ if (pd->pet.intimate <= PET_INTIMACY_NONE && !(pd->msd && !pd->msd->state.active)) {
//If logging out, this is deleted on unit->free
clif->clearunit_area(bl,clrtype);
map->delblock(bl);
@@ -2819,7 +2944,7 @@ static int unit_free(struct block_list *bl, enum clr_type clrtype)
aFree (pd->loot);
pd->loot = NULL;
}
- if (pd->pet.intimate > 0) {
+ if (pd->pet.intimate > PET_INTIMACY_NONE) {
intif->save_petdata(pd->pet.account_id,&pd->pet);
} else {
//Remove pet.
@@ -2957,10 +3082,10 @@ static int do_init_unit(bool minimal)
return 0;
timer->add_func_list(unit->attack_timer, "unit_attack_timer");
- timer->add_func_list(unit->walktoxy_timer,"unit_walktoxy_timer");
- timer->add_func_list(unit->walktobl_sub, "unit_walktobl_sub");
- timer->add_func_list(unit->delay_walktoxy_timer,"unit_delay_walktoxy_timer");
- timer->add_func_list(unit->step_timer,"unit_step_timer");
+ timer->add_func_list(unit->walk_toxy_timer, "unit_walk_toxy_timer");
+ timer->add_func_list(unit->walktobl_timer, "unit_walktobl_timer");
+ timer->add_func_list(unit->delay_walk_toxy_timer, "unit_delay_walk_toxy_timer");
+ timer->add_func_list(unit->steptimer, "unit_steptimer");
return 0;
}
@@ -2978,26 +3103,28 @@ void unit_defaults(void)
unit->final = do_final_unit;
/* */
unit->bl2ud = unit_bl2ud;
+ unit->cbl2ud = unit_cbl2ud;
unit->bl2ud2 = unit_bl2ud2;
unit->init_ud = unit_init_ud;
unit->attack_timer = unit_attack_timer;
- unit->walktoxy_timer = unit_walktoxy_timer;
- unit->walktoxy_sub = unit_walktoxy_sub;
- unit->delay_walktoxy_timer = unit_delay_walktoxy_timer;
- unit->walktoxy = unit_walktoxy;
- unit->walktobl_sub = unit_walktobl_sub;
+ unit->walk_toxy_timer = unit_walk_toxy_timer;
+ unit->walk_toxy_sub = unit_walk_toxy_sub;
+ unit->delay_walk_toxy_timer = unit_delay_walk_toxy_timer;
+ unit->walk_toxy = unit_walk_toxy;
+ unit->walktobl_timer = unit_walktobl_timer;
unit->walktobl = unit_walktobl;
unit->run = unit_run;
unit->run_hit = unit_run_hit;
unit->escape = unit_escape;
unit->movepos = unit_movepos;
- unit->setdir = unit_setdir;
+ unit->set_dir = unit_set_dir;
unit->getdir = unit_getdir;
unit->blown = unit_blown;
unit->warp = unit_warp;
+ unit->warpto_master = unit_warpto_master;
unit->stop_walking = unit_stop_walking;
unit->skilluse_id = unit_skilluse_id;
- unit->step_timer = unit_step_timer;
+ unit->steptimer = unit_steptimer;
unit->stop_stepaction = unit_stop_stepaction;
unit->is_walking = unit_is_walking;
unit->can_move = unit_can_move;
diff --git a/src/map/unit.h b/src/map/unit.h
index 5c01cdc2e..3f288e0d3 100644
--- a/src/map/unit.h
+++ b/src/map/unit.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
@@ -24,6 +24,7 @@
#include "map/clif.h" // clr_type
#include "map/path.h" // struct walkpath_data
#include "map/skill.h" // 'MAX_SKILLTIMERSKILL, struct skill_timerskill, struct skill_unit_group, struct skill_unit_group_tickset
+#include "map/unitdefines.h" // enum unit_dir
#include "common/hercules.h"
struct map_session_data;
@@ -44,6 +45,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,11 +63,12 @@ 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;
int64 canmove_tick;
- uint8 dir;
+ enum unit_dir dir;
unsigned char walk_count;
unsigned char target_count;
struct {
@@ -100,26 +103,28 @@ struct unit_interface {
int (*final) (void);
/* */
struct unit_data* (*bl2ud) (struct block_list *bl);
+ const struct unit_data* (*cbl2ud) (const struct block_list *bl);
struct unit_data* (*bl2ud2) (struct block_list *bl);
void (*init_ud) (struct unit_data *ud);
int (*attack_timer) (int tid, int64 tick, int id, intptr_t data);
- int (*walktoxy_timer) (int tid, int64 tick, int id, intptr_t data);
- int (*walktoxy_sub) (struct block_list *bl);
- int (*delay_walktoxy_timer) (int tid, int64 tick, int id, intptr_t data);
- int (*walktoxy) (struct block_list *bl, short x, short y, int flag);
- int (*walktobl_sub) (int tid, int64 tick, int id, intptr_t data);
+ int (*walk_toxy_timer) (int tid, int64 tick, int id, intptr_t data);
+ int (*walk_toxy_sub) (struct block_list *bl);
+ int (*delay_walk_toxy_timer) (int tid, int64 tick, int id, intptr_t data);
+ int (*walk_toxy) (struct block_list *bl, short x, short y, int flag);
+ int (*walktobl_timer) (int tid, int64 tick, int id, intptr_t data);
int (*walktobl) (struct block_list *bl, struct block_list *tbl, int range, int flag);
bool (*run) (struct block_list *bl, struct map_session_data *sd, enum sc_type type);
void (*run_hit) (struct block_list *bl, struct status_change *sc, struct map_session_data *sd, enum sc_type type);
int (*escape) (struct block_list *bl, struct block_list *target, short dist);
int (*movepos) (struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath);
- int (*setdir) (struct block_list *bl, unsigned char dir);
- uint8 (*getdir) (struct block_list *bl);
+ int (*set_dir) (struct block_list *bl, enum unit_dir dir);
+ enum unit_dir (*getdir) (const 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, enum clr_type type);
+ int (*warpto_master) (struct block_list *master_bl, struct block_list *slave_bl);
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);
+ int (*steptimer) (int tid, int64 tick, int id, intptr_t data);
void (*stop_stepaction) (struct block_list *bl);
int (*is_walking) (struct block_list *bl);
int (*can_move) (struct block_list *bl);
@@ -135,7 +140,7 @@ struct unit_interface {
int (*cancel_combo) (struct block_list *bl);
bool (*can_reach_pos) (struct block_list *bl, int x, int y, int easy);
bool (*can_reach_bl) (struct block_list *bl, struct block_list *tbl, int range, int easy, short *x, short *y);
- int (*calc_pos) (struct block_list *bl, int tx, int ty, uint8 dir);
+ int (*calc_pos) (struct block_list *bl, int tx, int ty, enum unit_dir dir);
int (*attack_timer_sub) (struct block_list *src, int tid, int64 tick);
int (*skillcastcancel) (struct block_list *bl, int type);
void (*dataset) (struct block_list *bl);
diff --git a/src/map/unitdefines.h b/src/map/unitdefines.h
new file mode 100644
index 000000000..0ee30998c
--- /dev/null
+++ b/src/map/unitdefines.h
@@ -0,0 +1,58 @@
+/**
+ * This file is part of Hercules.
+ * http://herc.ws - http://github.com/HerculesWS/Hercules
+ *
+ * Copyright (C) 2012-2019 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_UNITDEFINES_H
+#define MAP_UNITDEFINES_H
+
+/**
+ * Used for directions, @see unit_data.dir
+ */
+enum unit_dir {
+ UNIT_DIR_UNDEFINED = -1,
+ UNIT_DIR_FIRST = 0,
+ UNIT_DIR_NORTH = 0,
+ UNIT_DIR_NORTHWEST = 1,
+ UNIT_DIR_WEST = 2,
+ UNIT_DIR_SOUTHWEST = 3,
+ UNIT_DIR_SOUTH = 4,
+ UNIT_DIR_SOUTHEAST = 5,
+ UNIT_DIR_EAST = 6,
+ UNIT_DIR_NORTHEAST = 7,
+ UNIT_DIR_MAX = 8,
+ /* IMPORTANT: Changing the order would break the above macros
+ * and several usages of directions anywhere */
+};
+
+/* Returns the opposite of the facing direction */
+#define unit_get_opposite_dir(dir) ( ((dir) + 4) % UNIT_DIR_MAX )
+
+/* Returns true when direction is diagonal/combined (ex. UNIT_DIR_NORTHWEST, UNIT_DIR_SOUTHWEST, ...) */
+#define unit_is_diagonal_dir(dir) ( ((dir) % 2) == UNIT_DIR_NORTHWEST )
+
+/* Returns true if direction equals val or the opposite direction of val */
+#define unit_is_dir_or_opposite(dir, val) ( ((dir) % 4) == (val) )
+
+/* Returns the next direction after 90° CCW on a compass */
+#define unit_get_ccw90_dir(dir) ( ((dir) + 2) % UNIT_DIR_MAX )
+
+/* Returns a random diagonal direction */
+#define unit_get_rnd_diagonal_dir() ( UNIT_DIR_NORTHWEST + 2 * (rnd() % 4) )
+
+#endif /* MAP_UNITDEFINES_H */
diff --git a/src/map/vending.c b/src/map/vending.c
index 692f5f378..4fd009025 100644
--- a/src/map/vending.c
+++ b/src/map/vending.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/map/vending.h b/src/map/vending.h
index c994aad3a..fcf80aef0 100644
--- a/src/map/vending.h
+++ b/src/map/vending.h
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/plugins/HPMHooking.c b/src/plugins/HPMHooking.c
index aef09d7a7..5af7576d3 100644
--- a/src/plugins/HPMHooking.c
+++ b/src/plugins/HPMHooking.c
@@ -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-2020 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,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..76f12dbad 100644
--- a/src/plugins/HPMHooking.h
+++ b/src/plugins/HPMHooking.h
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016 Hercules Dev Team
+ * Copyright (C) 2016-2020 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
@@ -41,7 +41,11 @@ struct HPMHooking_core_interface {
const char *(*Hooked)(bool *fr);
};
#else // ! HERCULES_CORE
+#ifdef HERCULES_CORE_HPMI_SKIP
+extern struct HPMHooking_interface HPMHooking_s;
+#else
HPExport struct HPMHooking_interface HPMHooking_s;
+#endif
#include "HPMHooking/HPMHooking.Defs.inc"
@@ -50,11 +54,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 7cc5ef2b1..b8aa5ae61 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -1276,8 +1276,8 @@ typedef void (*HPMHOOK_pre_clif_scriptclear) (struct map_session_data **sd, int
typedef void (*HPMHOOK_post_clif_scriptclear) (struct map_session_data *sd, int npcid);
typedef void (*HPMHOOK_pre_clif_viewpoint) (struct map_session_data **sd, int *npc_id, int *type, int *x, int *y, int *id, int *color);
typedef void (*HPMHOOK_post_clif_viewpoint) (struct map_session_data *sd, int npc_id, int type, int x, int y, int id, int color);
-typedef int (*HPMHOOK_pre_clif_damage) (struct block_list **src, struct block_list **dst, int *sdelay, int *ddelay, int64 *damage, short *div, unsigned char *type, int64 *damage2);
-typedef int (*HPMHOOK_post_clif_damage) (int retVal___, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2);
+typedef int (*HPMHOOK_pre_clif_damage) (struct block_list **src, struct block_list **dst, int *sdelay, int *ddelay, int64 *damage, short *div, enum battle_dmg_type *type, int64 *damage2);
+typedef int (*HPMHOOK_post_clif_damage) (int retVal___, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 damage, short div, enum battle_dmg_type type, int64 damage2);
typedef void (*HPMHOOK_pre_clif_sitting) (struct block_list **bl);
typedef void (*HPMHOOK_post_clif_sitting) (struct block_list *bl);
typedef void (*HPMHOOK_pre_clif_standing) (struct block_list **bl);
@@ -1296,12 +1296,18 @@ typedef void (*HPMHOOK_pre_clif_fame_taekwon) (struct map_session_data **sd, int
typedef void (*HPMHOOK_post_clif_fame_taekwon) (struct map_session_data *sd, int points);
typedef void (*HPMHOOK_pre_clif_ranklist) (struct map_session_data **sd, enum fame_list_type *type);
typedef void (*HPMHOOK_post_clif_ranklist) (struct map_session_data *sd, enum fame_list_type type);
+typedef void (*HPMHOOK_pre_clif_ranklist_sub) (struct PACKET_ZC_ACK_RANKING_sub **ranks, enum fame_list_type *type);
+typedef void (*HPMHOOK_post_clif_ranklist_sub) (struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type);
+typedef void (*HPMHOOK_pre_clif_ranklist_sub2) (uint32 **chars, uint32 **points, enum fame_list_type *type);
+typedef void (*HPMHOOK_post_clif_ranklist_sub2) (uint32 *chars, uint32 *points, enum fame_list_type type);
typedef void (*HPMHOOK_pre_clif_update_rankingpoint) (struct map_session_data **sd, enum fame_list_type *type, int *points);
typedef void (*HPMHOOK_post_clif_update_rankingpoint) (struct map_session_data *sd, enum fame_list_type type, int points);
typedef void (*HPMHOOK_pre_clif_pRanklist) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pRanklist) (int fd, struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_hotkeys) (struct map_session_data **sd);
-typedef void (*HPMHOOK_post_clif_hotkeys) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_hotkeys) (struct map_session_data **sd, int *tab);
+typedef void (*HPMHOOK_post_clif_hotkeys) (struct map_session_data *sd, int tab);
+typedef void (*HPMHOOK_pre_clif_hotkeysAll) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_hotkeysAll) (struct map_session_data *sd);
typedef int (*HPMHOOK_pre_clif_insight) (struct block_list **bl, va_list ap);
typedef int (*HPMHOOK_post_clif_insight) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_clif_outsight) (struct block_list **bl, va_list ap);
@@ -1324,8 +1330,10 @@ typedef void (*HPMHOOK_pre_clif_autospell) (struct map_session_data **sd, uint16
typedef void (*HPMHOOK_post_clif_autospell) (struct map_session_data *sd, uint16 skill_lv);
typedef void (*HPMHOOK_pre_clif_combo_delay) (struct block_list **bl, int *wait);
typedef void (*HPMHOOK_post_clif_combo_delay) (struct block_list *bl, int wait);
-typedef void (*HPMHOOK_pre_clif_status_change) (struct block_list **bl, int *type, int *flag, int *tick, int *val1, int *val2, int *val3);
-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_status_change) (struct block_list **bl, int *relevant_bl, int *type, int *flag, int *total_tick, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_post_clif_status_change) (struct block_list *bl, int relevant_bl, int type, int flag, int total_tick, int val1, int val2, int val3);
+typedef void (*HPMHOOK_pre_clif_status_change_sub) (struct block_list **bl, int *type, int *relevant_bl, int *flag, int *tick, int *total_tick, int *val1, int *val2, int *val3);
+typedef void (*HPMHOOK_post_clif_status_change_sub) (struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_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);
@@ -1378,8 +1386,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);
@@ -1482,6 +1514,8 @@ typedef void (*HPMHOOK_pre_clif_misceffect) (struct block_list **bl, int *type);
typedef void (*HPMHOOK_post_clif_misceffect) (struct block_list *bl, int type);
typedef void (*HPMHOOK_pre_clif_changeoption) (struct block_list **bl);
typedef void (*HPMHOOK_post_clif_changeoption) (struct block_list *bl);
+typedef void (*HPMHOOK_pre_clif_changeoption_target) (struct block_list **bl, struct block_list **target_bl, enum send_target *target);
+typedef void (*HPMHOOK_post_clif_changeoption_target) (struct block_list *bl, struct block_list *target_bl, enum send_target target);
typedef void (*HPMHOOK_pre_clif_changeoption2) (struct block_list **bl);
typedef void (*HPMHOOK_post_clif_changeoption2) (struct block_list *bl);
typedef void (*HPMHOOK_pre_clif_emotion) (struct block_list **bl, int *type);
@@ -1494,8 +1528,8 @@ typedef void (*HPMHOOK_pre_clif_divorced) (struct map_session_data **sd, const c
typedef void (*HPMHOOK_post_clif_divorced) (struct map_session_data *sd, const char *name);
typedef void (*HPMHOOK_pre_clif_callpartner) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_callpartner) (struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_clif_skill_damage) (struct block_list **src, struct block_list **dst, int64 *tick, int *sdelay, int *ddelay, int64 *damage, int *div, uint16 *skill_id, uint16 *skill_lv, int *type);
-typedef int (*HPMHOOK_post_clif_skill_damage) (int retVal___, struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 damage, int div, uint16 skill_id, uint16 skill_lv, int type);
+typedef int (*HPMHOOK_pre_clif_skill_damage) (struct block_list **src, struct block_list **dst, int64 *tick, int *sdelay, int *ddelay, int64 *damage, int *div, uint16 *skill_id, uint16 *skill_lv, enum battle_dmg_type *type);
+typedef int (*HPMHOOK_post_clif_skill_damage) (int retVal___, struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 damage, int div, uint16 skill_id, uint16 skill_lv, enum battle_dmg_type type);
typedef int (*HPMHOOK_pre_clif_skill_nodamage) (struct block_list **src, struct block_list **dst, uint16 *skill_id, int *heal, int *fail);
typedef int (*HPMHOOK_post_clif_skill_nodamage) (int retVal___, struct block_list *src, struct block_list *dst, uint16 skill_id, int heal, int fail);
typedef void (*HPMHOOK_pre_clif_skill_poseffect) (struct block_list **src, uint16 *skill_id, int *val, int *x, int *y, int64 *tick);
@@ -1530,8 +1564,10 @@ typedef void (*HPMHOOK_pre_clif_specialeffect) (struct block_list **bl, int *typ
typedef void (*HPMHOOK_post_clif_specialeffect) (struct block_list *bl, int type, enum send_target target);
typedef void (*HPMHOOK_pre_clif_specialeffect_single) (struct block_list **bl, int *type, int *fd);
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_specialeffect_value) (struct block_list **bl, int *effect_id, uint64 *num, send_target *target);
+typedef void (*HPMHOOK_post_clif_specialeffect_value) (struct block_list *bl, int effect_id, uint64 num, send_target target);
+typedef void (*HPMHOOK_pre_clif_specialeffect_value_single) (struct block_list **bl, int *effect_id, uint64 *num, int *fd);
+typedef void (*HPMHOOK_post_clif_specialeffect_value_single) (struct block_list *bl, int effect_id, uint64 num, int fd);
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);
@@ -1566,6 +1602,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);
@@ -1618,8 +1656,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);
@@ -1680,6 +1718,8 @@ typedef void (*HPMHOOK_pre_clif_addskill) (struct map_session_data **sd, int *id
typedef void (*HPMHOOK_post_clif_addskill) (struct map_session_data *sd, int id);
typedef void (*HPMHOOK_pre_clif_deleteskill) (struct map_session_data **sd, int *id);
typedef void (*HPMHOOK_post_clif_deleteskill) (struct map_session_data *sd, int id);
+typedef void (*HPMHOOK_pre_clif_playerSkillToPacket) (struct map_session_data **sd, struct SKILLDATA **skillData, int *skillId, int *idx, bool *newSkill);
+typedef void (*HPMHOOK_post_clif_playerSkillToPacket) (struct map_session_data *sd, struct SKILLDATA *skillData, int skillId, int idx, bool newSkill);
typedef void (*HPMHOOK_pre_clif_party_created) (struct map_session_data **sd, int *result);
typedef void (*HPMHOOK_post_clif_party_created) (struct map_session_data *sd, int result);
typedef void (*HPMHOOK_pre_clif_party_member_info) (struct party_data **p, struct map_session_data **sd);
@@ -1722,6 +1762,10 @@ typedef void (*HPMHOOK_pre_clif_guild_basicinfo) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_guild_basicinfo) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_guild_allianceinfo) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_guild_allianceinfo) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_castlelist) (struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_guild_castlelist) (struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_castleinfo) (struct map_session_data **sd, struct guild_castle **gc);
+typedef void (*HPMHOOK_post_clif_guild_castleinfo) (struct map_session_data *sd, struct guild_castle *gc);
typedef void (*HPMHOOK_pre_clif_guild_memberlist) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_guild_memberlist) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_guild_skillinfo) (struct map_session_data **sd);
@@ -2012,18 +2056,20 @@ typedef void (*HPMHOOK_pre_clif_show_modifiers) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_show_modifiers) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_notify_bounditem) (struct map_session_data **sd, unsigned short *index);
typedef void (*HPMHOOK_post_clif_notify_bounditem) (struct map_session_data *sd, unsigned short index);
-typedef int (*HPMHOOK_pre_clif_delay_damage) (int64 *tick, struct block_list **src, struct block_list **dst, int *sdelay, int *ddelay, int64 *in_damage, short *div, unsigned char *type);
-typedef int (*HPMHOOK_post_clif_delay_damage) (int retVal___, int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, unsigned char type);
+typedef int (*HPMHOOK_pre_clif_delay_damage) (int64 *tick, struct block_list **src, struct block_list **dst, int *sdelay, int *ddelay, int64 *in_damage, short *div, enum battle_dmg_type *type);
+typedef int (*HPMHOOK_post_clif_delay_damage) (int retVal___, int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, enum battle_dmg_type type);
typedef int (*HPMHOOK_pre_clif_delay_damage_sub) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_clif_delay_damage_sub) (int retVal___, int tid, int64 tick, int id, intptr_t data);
typedef void (*HPMHOOK_pre_clif_npc_market_open) (struct map_session_data **sd, struct npc_data **nd);
typedef void (*HPMHOOK_post_clif_npc_market_open) (struct map_session_data *sd, struct npc_data *nd);
-typedef void (*HPMHOOK_pre_clif_npc_market_purchase_ack) (struct map_session_data **sd, const struct itemlist **item_list, unsigned char *response);
-typedef void (*HPMHOOK_post_clif_npc_market_purchase_ack) (struct map_session_data *sd, const struct itemlist *item_list, unsigned char response);
+typedef void (*HPMHOOK_pre_clif_npc_market_purchase_ack) (struct map_session_data **sd, const struct itemlist **item_list, enum market_buy_result *response);
+typedef void (*HPMHOOK_post_clif_npc_market_purchase_ack) (struct map_session_data *sd, const struct itemlist *item_list, enum market_buy_result 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, 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);
@@ -2032,6 +2078,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);
@@ -2056,8 +2104,10 @@ typedef void (*HPMHOOK_pre_clif_pLoadEndAck) (int *fd, struct map_session_data *
typedef void (*HPMHOOK_post_clif_pLoadEndAck) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pTickSend) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pTickSend) (int fd, struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_pHotkey) (int *fd, struct map_session_data **sd);
-typedef void (*HPMHOOK_post_clif_pHotkey) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHotkey1) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pHotkey1) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHotkey2) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pHotkey2) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pProgressbar) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pProgressbar) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pWalkToXY) (int *fd, struct map_session_data **sd);
@@ -2462,8 +2512,12 @@ typedef void (*HPMHOOK_pre_clif_pBGQueueRevokeReq) (int *fd, struct map_session_
typedef void (*HPMHOOK_post_clif_pBGQueueRevokeReq) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pBGQueueBattleBeginAck) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pBGQueueBattleBeginAck) (int fd, struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_clif_pCashShopOpen) (int *fd, struct map_session_data **sd);
-typedef void (*HPMHOOK_post_clif_pCashShopOpen) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCashShopOpen1) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pCashShopOpen1) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCashShopOpen2) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pCashShopOpen2) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pCashShopLimitedReq) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pCashShopLimitedReq) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pCashShopClose) (int *fd, struct map_session_data **sd);
typedef void (*HPMHOOK_post_clif_pCashShopClose) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_pCashShopReqTab) (int *fd, struct map_session_data **sd);
@@ -2476,6 +2530,10 @@ 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_cashShopOpen) (int *fd, struct map_session_data **sd, int *tab);
+typedef void (*HPMHOOK_post_clif_cashShopOpen) (int fd, struct map_session_data *sd, int tab);
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);
@@ -2514,8 +2572,10 @@ typedef void (*HPMHOOK_pre_clif_pNPCMarketPurchase) (int *fd, struct map_session
typedef void (*HPMHOOK_post_clif_pNPCMarketPurchase) (int fd, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_clif_add_item_options) (struct ItemOptions **buf, const struct item **it);
typedef int (*HPMHOOK_post_clif_add_item_options) (int retVal___, struct ItemOptions *buf, const struct item *it);
-typedef void (*HPMHOOK_pre_clif_pHotkeyRowShift) (int *fd, struct map_session_data **sd);
-typedef void (*HPMHOOK_post_clif_pHotkeyRowShift) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHotkeyRowShift1) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pHotkeyRowShift1) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pHotkeyRowShift2) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pHotkeyRowShift2) (int fd, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_clif_dressroom_open) (struct map_session_data **sd, int *view);
typedef void (*HPMHOOK_post_clif_dressroom_open) (struct map_session_data *sd, int view);
typedef void (*HPMHOOK_pre_clif_pOneClick_ItemIdentify) (int *fd, struct map_session_data **sd);
@@ -2620,24 +2680,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);
@@ -2666,8 +2714,56 @@ typedef void (*HPMHOOK_pre_clif_pNPCBarterClosed) (int *fd, struct map_session_d
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_pNPCExpandedBarterClosed) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pNPCExpandedBarterClosed) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pNPCExpandedBarterPurchase) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pNPCExpandedBarterPurchase) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_npc_expanded_barter_open) (struct map_session_data **sd, struct npc_data **nd);
+typedef void (*HPMHOOK_post_clif_npc_expanded_barter_open) (struct map_session_data *sd, struct npc_data *nd);
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);
+typedef void (*HPMHOOK_pre_clif_pGuildCastleTeleportRequest) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pGuildCastleTeleportRequest) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pGuildCastleInfoRequest) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pGuildCastleInfoRequest) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_guild_castleteleport_res) (struct map_session_data **sd, enum siege_teleport_result *result);
+typedef void (*HPMHOOK_post_clif_guild_castleteleport_res) (struct map_session_data *sd, enum siege_teleport_result result);
+typedef bool (*HPMHOOK_pre_clif_lapineDdukDdak_open) (struct map_session_data **sd, int *item_id);
+typedef bool (*HPMHOOK_post_clif_lapineDdukDdak_open) (bool retVal___, struct map_session_data *sd, int item_id);
+typedef bool (*HPMHOOK_pre_clif_lapineDdukDdak_result) (struct map_session_data **sd, enum lapineddukddak_result *result);
+typedef bool (*HPMHOOK_post_clif_lapineDdukDdak_result) (bool retVal___, struct map_session_data *sd, enum lapineddukddak_result result);
+typedef void (*HPMHOOK_pre_clif_plapineDdukDdak_ack) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_plapineDdukDdak_ack) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_plapineDdukDdak_close) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_plapineDdukDdak_close) (int fd, struct map_session_data *sd);
+typedef void (*HPMHOOK_pre_clif_pReqGearOff) (int *fd, struct map_session_data **sd);
+typedef void (*HPMHOOK_post_clif_pReqGearOff) (int fd, struct map_session_data *sd);
#endif // MAP_CLIF_H
#ifdef COMMON_CORE_H /* cmdline */
typedef void (*HPMHOOK_pre_cmdline_init) (void);
@@ -2756,8 +2852,8 @@ typedef void (*HPMHOOK_pre_duel_leave) (const unsigned int *did, struct map_sess
typedef void (*HPMHOOK_post_duel_leave) (const unsigned int did, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_duel_showinfo) (const unsigned int *did, struct map_session_data **sd);
typedef void (*HPMHOOK_post_duel_showinfo) (const unsigned int did, struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_duel_checktime) (struct map_session_data **sd);
-typedef int (*HPMHOOK_post_duel_checktime) (int retVal___, struct map_session_data *sd);
+typedef int64 (*HPMHOOK_pre_duel_difftime) (struct map_session_data **sd);
+typedef int64 (*HPMHOOK_post_duel_difftime) (int64 retVal___, struct map_session_data *sd);
typedef void (*HPMHOOK_pre_duel_init) (bool *minimal);
typedef void (*HPMHOOK_post_duel_init) (bool minimal);
typedef void (*HPMHOOK_pre_duel_final) (void);
@@ -2870,8 +2966,8 @@ typedef bool (*HPMHOOK_pre_guild_isallied) (int *guild_id, int *guild_id2);
typedef bool (*HPMHOOK_post_guild_isallied) (bool retVal___, int guild_id, int guild_id2);
typedef struct guild* (*HPMHOOK_pre_guild_search) (int *guild_id);
typedef struct guild* (*HPMHOOK_post_guild_search) (struct guild* retVal___, int guild_id);
-typedef struct guild* (*HPMHOOK_pre_guild_searchname) (char **str);
-typedef struct guild* (*HPMHOOK_post_guild_searchname) (struct guild* retVal___, char *str);
+typedef struct guild* (*HPMHOOK_pre_guild_searchname) (const char **str);
+typedef struct guild* (*HPMHOOK_post_guild_searchname) (struct guild* retVal___, const char *str);
typedef struct guild_castle* (*HPMHOOK_pre_guild_castle_search) (int *gcid);
typedef struct guild_castle* (*HPMHOOK_post_guild_castle_search) (struct guild_castle* retVal___, int gcid);
typedef struct guild_castle* (*HPMHOOK_pre_guild_mapname2gc) (const char **mapname);
@@ -2952,8 +3048,6 @@ typedef int (*HPMHOOK_pre_guild_emblem_changed) (int *len, int *guild_id, int *e
typedef int (*HPMHOOK_post_guild_emblem_changed) (int retVal___, int len, int guild_id, int emblem_id, const char *data);
typedef int (*HPMHOOK_pre_guild_send_message) (struct map_session_data **sd, const char **mes);
typedef int (*HPMHOOK_post_guild_send_message) (int retVal___, struct map_session_data *sd, const char *mes);
-typedef int (*HPMHOOK_pre_guild_recv_message) (int *guild_id, int *account_id, const char **mes, int *len);
-typedef int (*HPMHOOK_post_guild_recv_message) (int retVal___, int guild_id, int account_id, const char *mes, int len);
typedef int (*HPMHOOK_pre_guild_send_dot_remove) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_guild_send_dot_remove) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_guild_skillupack) (int *guild_id, uint16 *skill_id, int *account_id);
@@ -2998,8 +3092,12 @@ typedef struct map_session_data* (*HPMHOOK_pre_guild_sd_check) (int *guild_id, i
typedef struct map_session_data* (*HPMHOOK_post_guild_sd_check) (struct map_session_data* retVal___, int guild_id, int account_id, int char_id);
typedef bool (*HPMHOOK_pre_guild_read_guildskill_tree_db) (char **split[], int *columns, int *current);
typedef bool (*HPMHOOK_post_guild_read_guildskill_tree_db) (bool retVal___, char *split[], int columns, int current);
-typedef bool (*HPMHOOK_pre_guild_read_castledb) (char **str[], int *columns, int *current);
-typedef bool (*HPMHOOK_post_guild_read_castledb) (bool retVal___, char *str[], int columns, int current);
+typedef bool (*HPMHOOK_pre_guild_read_castledb_libconfig) (void);
+typedef bool (*HPMHOOK_post_guild_read_castledb_libconfig) (bool retVal___);
+typedef bool (*HPMHOOK_pre_guild_read_castledb_libconfig_sub) (struct config_setting_t **it, int *idx, const char **source);
+typedef bool (*HPMHOOK_post_guild_read_castledb_libconfig_sub) (bool retVal___, struct config_setting_t *it, int idx, const char *source);
+typedef bool (*HPMHOOK_pre_guild_read_castledb_libconfig_sub_warp) (struct config_setting_t **wd, const char **source, struct guild_castle **gc);
+typedef bool (*HPMHOOK_post_guild_read_castledb_libconfig_sub_warp) (bool retVal___, struct config_setting_t *wd, const char *source, struct guild_castle *gc);
typedef int (*HPMHOOK_pre_guild_payexp_timer_sub) (union DBKey *key, struct DBData **data, va_list ap);
typedef int (*HPMHOOK_post_guild_payexp_timer_sub) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
typedef int (*HPMHOOK_pre_guild_send_xy_timer_sub) (union DBKey *key, struct DBData **data, va_list ap);
@@ -3078,8 +3176,8 @@ typedef void (*HPMHOOK_pre_homun_damaged) (struct homun_data **hd);
typedef void (*HPMHOOK_post_homun_damaged) (struct homun_data *hd);
typedef int (*HPMHOOK_pre_homun_dead) (struct homun_data **hd);
typedef int (*HPMHOOK_post_homun_dead) (int retVal___, struct homun_data *hd);
-typedef int (*HPMHOOK_pre_homun_vaporize) (struct map_session_data **sd, enum homun_state *flag);
-typedef int (*HPMHOOK_post_homun_vaporize) (int retVal___, struct map_session_data *sd, enum homun_state flag);
+typedef int (*HPMHOOK_pre_homun_vaporize) (struct map_session_data **sd, enum homun_state *state, bool *force);
+typedef int (*HPMHOOK_post_homun_vaporize) (int retVal___, struct map_session_data *sd, enum homun_state state, bool force);
typedef int (*HPMHOOK_pre_homun_delete) (struct homun_data **hd, int *emote);
typedef int (*HPMHOOK_post_homun_delete) (int retVal___, struct homun_data *hd, int emote);
typedef int (*HPMHOOK_pre_homun_checkskill) (struct homun_data **hd, uint16 *skill_id);
@@ -3100,6 +3198,8 @@ typedef bool (*HPMHOOK_pre_homun_mutate) (struct homun_data **hd, int *homun_id)
typedef bool (*HPMHOOK_post_homun_mutate) (bool retVal___, struct homun_data *hd, int homun_id);
typedef int (*HPMHOOK_pre_homun_gainexp) (struct homun_data **hd, unsigned int *exp);
typedef int (*HPMHOOK_post_homun_gainexp) (int retVal___, struct homun_data *hd, unsigned int exp);
+typedef int (*HPMHOOK_pre_homun_gainexp_real) (struct homun_data **hd, unsigned int *exp);
+typedef int (*HPMHOOK_post_homun_gainexp_real) (int retVal___, struct homun_data *hd, unsigned int exp);
typedef unsigned int (*HPMHOOK_pre_homun_add_intimacy) (struct homun_data **hd, unsigned int *value);
typedef unsigned int (*HPMHOOK_post_homun_add_intimacy) (unsigned int retVal___, struct homun_data *hd, unsigned int value);
typedef unsigned int (*HPMHOOK_pre_homun_consume_intimacy) (struct homun_data **hd, unsigned int *value);
@@ -3122,8 +3222,8 @@ typedef bool (*HPMHOOK_pre_homun_change_name_ack) (struct map_session_data **sd,
typedef bool (*HPMHOOK_post_homun_change_name_ack) (bool retVal___, struct map_session_data *sd, const char *name, int flag);
typedef int (*HPMHOOK_pre_homun_db_search) (int *key, int *type);
typedef int (*HPMHOOK_post_homun_db_search) (int retVal___, int key, int type);
-typedef bool (*HPMHOOK_pre_homun_create) (struct map_session_data **sd, const struct s_homunculus **hom);
-typedef bool (*HPMHOOK_post_homun_create) (bool retVal___, struct map_session_data *sd, const struct s_homunculus *hom);
+typedef bool (*HPMHOOK_pre_homun_create) (struct map_session_data **sd, const struct s_homunculus **hom, bool *is_new);
+typedef bool (*HPMHOOK_post_homun_create) (bool retVal___, struct map_session_data *sd, const struct s_homunculus *hom, bool is_new);
typedef void (*HPMHOOK_pre_homun_init_timers) (struct homun_data **hd);
typedef void (*HPMHOOK_post_homun_init_timers) (struct homun_data *hd);
typedef bool (*HPMHOOK_pre_homun_call) (struct map_session_data **sd);
@@ -3370,10 +3470,6 @@ typedef int (*HPMHOOK_pre_inter_init_sql) (const char **file);
typedef int (*HPMHOOK_post_inter_init_sql) (int retVal___, const char *file);
typedef int (*HPMHOOK_pre_inter_mapif_init) (int *fd);
typedef int (*HPMHOOK_post_inter_mapif_init) (int retVal___, int fd);
-typedef int (*HPMHOOK_pre_inter_check_ttl_wisdata_sub) (union DBKey *key, struct DBData **data, va_list ap);
-typedef int (*HPMHOOK_post_inter_check_ttl_wisdata_sub) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
-typedef int (*HPMHOOK_pre_inter_check_ttl_wisdata) (void);
-typedef int (*HPMHOOK_post_inter_check_ttl_wisdata) (int retVal___);
typedef int (*HPMHOOK_pre_inter_check_length) (int *fd, int *length);
typedef int (*HPMHOOK_post_inter_check_length) (int retVal___, int fd, int length);
typedef int (*HPMHOOK_pre_inter_parse_frommap) (int *fd);
@@ -3390,12 +3486,6 @@ typedef void (*HPMHOOK_pre_inter_accinfo) (int *u_fd, int *aid, int *castergroup
typedef void (*HPMHOOK_post_inter_accinfo) (int u_fd, int aid, int castergroup, const char *query, int map_fd);
typedef void (*HPMHOOK_pre_inter_accinfo2) (bool *success, int *map_fd, int *u_fd, int *u_aid, int *account_id, const char **userid, const char **user_pass, const char **email, const char **last_ip, const char **lastlogin, const char **pin_code, const char **birthdate, int *group_id, int *logincount, int *state);
typedef void (*HPMHOOK_post_inter_accinfo2) (bool success, int map_fd, int u_fd, int u_aid, int account_id, const char *userid, const char *user_pass, const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate, int group_id, int logincount, int state);
-typedef struct WisData* (*HPMHOOK_pre_inter_add_wisdata) (int *fd, const unsigned char **src, const unsigned char **dst, const unsigned char **msg, int *msg_len);
-typedef struct WisData* (*HPMHOOK_post_inter_add_wisdata) (struct WisData* retVal___, int fd, const unsigned char *src, const unsigned char *dst, const unsigned char *msg, int msg_len);
-typedef struct WisData* (*HPMHOOK_pre_inter_get_wisdata) (int *id);
-typedef struct WisData* (*HPMHOOK_post_inter_get_wisdata) (struct WisData* retVal___, int id);
-typedef void (*HPMHOOK_pre_inter_remove_wisdata) (int *id);
-typedef void (*HPMHOOK_post_inter_remove_wisdata) (int id);
#endif // CHAR_INTER_H
#ifdef CHAR_INT_MAIL_H /* inter_mail */
typedef int (*HPMHOOK_pre_inter_mail_sql_init) (void);
@@ -3450,10 +3540,14 @@ typedef bool (*HPMHOOK_post_inter_mercenary_delete) (bool retVal___, int merc_id
#ifdef CHAR_INT_PARTY_H /* inter_party */
typedef int (*HPMHOOK_pre_inter_party_check_lv) (struct party_data **p);
typedef int (*HPMHOOK_post_inter_party_check_lv) (int retVal___, struct party_data *p);
+typedef int (*HPMHOOK_pre_inter_party_is_family_party) (struct party_data **p);
+typedef int (*HPMHOOK_post_inter_party_is_family_party) (int retVal___, struct party_data *p);
typedef void (*HPMHOOK_pre_inter_party_calc_state) (struct party_data **p);
typedef void (*HPMHOOK_post_inter_party_calc_state) (struct party_data *p);
typedef int (*HPMHOOK_pre_inter_party_tosql) (struct party **p, int *flag, int *index);
typedef int (*HPMHOOK_post_inter_party_tosql) (int retVal___, struct party *p, int flag, int index);
+typedef int (*HPMHOOK_pre_inter_party_del_nonexistent_party) (int *party_id);
+typedef int (*HPMHOOK_post_inter_party_del_nonexistent_party) (int retVal___, int party_id);
typedef struct party_data* (*HPMHOOK_pre_inter_party_fromsql) (int *party_id);
typedef struct party_data* (*HPMHOOK_post_inter_party_fromsql) (struct party_data* retVal___, int party_id);
typedef int (*HPMHOOK_pre_inter_party_sql_init) (void);
@@ -3480,8 +3574,8 @@ typedef bool (*HPMHOOK_pre_inter_party_add_member) (int *party_id, const struct
typedef bool (*HPMHOOK_post_inter_party_add_member) (bool retVal___, int party_id, const struct party_member *member);
typedef bool (*HPMHOOK_pre_inter_party_change_option) (int *party_id, int *account_id, int *exp, int *item, int *map_fd);
typedef bool (*HPMHOOK_post_inter_party_change_option) (bool retVal___, int party_id, int account_id, int exp, int item, int map_fd);
-typedef bool (*HPMHOOK_pre_inter_party_change_map) (int *party_id, int *account_id, int *char_id, unsigned short *map, int *online, unsigned int *lv);
-typedef bool (*HPMHOOK_post_inter_party_change_map) (bool retVal___, int party_id, int account_id, int char_id, unsigned short map, int online, unsigned int lv);
+typedef bool (*HPMHOOK_pre_inter_party_change_map) (int *party_id, int *account_id, int *char_id, unsigned short *map, int *online, int *lv);
+typedef bool (*HPMHOOK_post_inter_party_change_map) (bool retVal___, int party_id, int account_id, int char_id, unsigned short map, int online, int lv);
typedef bool (*HPMHOOK_pre_inter_party_disband) (int *party_id);
typedef bool (*HPMHOOK_post_inter_party_disband) (bool retVal___, int party_id);
typedef bool (*HPMHOOK_pre_inter_party_change_leader) (int *party_id, int *account_id, int *char_id);
@@ -3534,8 +3628,12 @@ typedef bool (*HPMHOOK_pre_inter_rodex_checkname) (const char **name, int **targ
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);
@@ -3564,16 +3662,6 @@ 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, 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);
-typedef int (*HPMHOOK_post_intif_broadcast2) (int retVal___, const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY);
-typedef int (*HPMHOOK_pre_intif_main_message) (struct map_session_data **sd, const char **message);
-typedef int (*HPMHOOK_post_intif_main_message) (int retVal___, struct map_session_data *sd, const char *message);
-typedef int (*HPMHOOK_pre_intif_wis_message) (struct map_session_data **sd, const char **nick, const char **mes, int *mes_len);
-typedef int (*HPMHOOK_post_intif_wis_message) (int retVal___, struct map_session_data *sd, const char *nick, const char *mes, int mes_len);
-typedef int (*HPMHOOK_pre_intif_wis_message_to_gm) (char **Wisp_name, int *permission, char **mes);
-typedef int (*HPMHOOK_post_intif_wis_message_to_gm) (int retVal___, char *Wisp_name, int permission, char *mes);
typedef int (*HPMHOOK_pre_intif_saveregistry) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_intif_saveregistry) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_intif_request_registry) (struct map_session_data **sd, int *flag);
@@ -3600,8 +3688,6 @@ typedef int (*HPMHOOK_pre_intif_party_changemap) (struct map_session_data **sd,
typedef int (*HPMHOOK_post_intif_party_changemap) (int retVal___, struct map_session_data *sd, int online);
typedef int (*HPMHOOK_pre_intif_break_party) (int *party_id);
typedef int (*HPMHOOK_post_intif_break_party) (int retVal___, int party_id);
-typedef int (*HPMHOOK_pre_intif_party_message) (int *party_id, int *account_id, const char **mes, int *len);
-typedef int (*HPMHOOK_post_intif_party_message) (int retVal___, int party_id, int account_id, const char *mes, int len);
typedef int (*HPMHOOK_pre_intif_party_leaderchange) (int *party_id, int *account_id, int *char_id);
typedef int (*HPMHOOK_post_intif_party_leaderchange) (int retVal___, int party_id, int account_id, int char_id);
typedef int (*HPMHOOK_pre_intif_guild_create) (const char **name, const struct guild_member **master);
@@ -3616,8 +3702,6 @@ typedef int (*HPMHOOK_pre_intif_guild_memberinfoshort) (int *guild_id, int *acco
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);
-typedef int (*HPMHOOK_post_intif_guild_message) (int retVal___, int guild_id, int account_id, const char *mes, int len);
typedef int (*HPMHOOK_pre_intif_guild_change_gm) (int *guild_id, const char **name, int *len);
typedef int (*HPMHOOK_post_intif_guild_change_gm) (int retVal___, int guild_id, const char *name, int len);
typedef int (*HPMHOOK_pre_intif_guild_change_basicinfo) (int *guild_id, int *type, const void **data, int *len);
@@ -3702,12 +3786,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);
@@ -3720,14 +3808,6 @@ typedef void (*HPMHOOK_pre_intif_achievements_request) (struct map_session_data
typedef void (*HPMHOOK_post_intif_achievements_request) (struct map_session_data *sd);
typedef void (*HPMHOOK_pre_intif_achievements_save) (struct map_session_data **sd);
typedef void (*HPMHOOK_post_intif_achievements_save) (struct map_session_data *sd);
-typedef void (*HPMHOOK_pre_intif_pWisMessage) (int *fd);
-typedef void (*HPMHOOK_post_intif_pWisMessage) (int fd);
-typedef void (*HPMHOOK_pre_intif_pWisEnd) (int *fd);
-typedef void (*HPMHOOK_post_intif_pWisEnd) (int fd);
-typedef int (*HPMHOOK_pre_intif_pWisToGM_sub) (struct map_session_data **sd, va_list va);
-typedef int (*HPMHOOK_post_intif_pWisToGM_sub) (int retVal___, struct map_session_data *sd, va_list va);
-typedef void (*HPMHOOK_pre_intif_pWisToGM) (int *fd);
-typedef void (*HPMHOOK_post_intif_pWisToGM) (int fd);
typedef void (*HPMHOOK_pre_intif_pRegisters) (int *fd);
typedef void (*HPMHOOK_post_intif_pRegisters) (int fd);
typedef void (*HPMHOOK_pre_intif_pAccountStorage) (int *fd);
@@ -3756,8 +3836,6 @@ typedef void (*HPMHOOK_pre_intif_pPartyMove) (int *fd);
typedef void (*HPMHOOK_post_intif_pPartyMove) (int fd);
typedef void (*HPMHOOK_pre_intif_pPartyBroken) (int *fd);
typedef void (*HPMHOOK_post_intif_pPartyBroken) (int fd);
-typedef void (*HPMHOOK_pre_intif_pPartyMessage) (int *fd);
-typedef void (*HPMHOOK_post_intif_pPartyMessage) (int fd);
typedef void (*HPMHOOK_pre_intif_pGuildCreated) (int *fd);
typedef void (*HPMHOOK_post_intif_pGuildCreated) (int fd);
typedef void (*HPMHOOK_pre_intif_pGuildInfo) (int *fd);
@@ -3770,8 +3848,6 @@ typedef void (*HPMHOOK_pre_intif_pGuildMemberInfoShort) (int *fd);
typedef void (*HPMHOOK_post_intif_pGuildMemberInfoShort) (int fd);
typedef void (*HPMHOOK_pre_intif_pGuildBroken) (int *fd);
typedef void (*HPMHOOK_post_intif_pGuildBroken) (int fd);
-typedef void (*HPMHOOK_pre_intif_pGuildMessage) (int *fd);
-typedef void (*HPMHOOK_post_intif_pGuildMessage) (int fd);
typedef void (*HPMHOOK_pre_intif_pGuildBasicInfoChanged) (int *fd);
typedef void (*HPMHOOK_post_intif_pGuildBasicInfoChanged) (int fd);
typedef void (*HPMHOOK_pre_intif_pGuildMemberInfoChanged) (int *fd);
@@ -3946,8 +4022,8 @@ typedef struct item_data* (*HPMHOOK_pre_itemdb_name2id) (const char **str);
typedef struct item_data* (*HPMHOOK_post_itemdb_name2id) (struct item_data* retVal___, const char *str);
typedef struct item_data* (*HPMHOOK_pre_itemdb_search_name) (const char **name);
typedef struct item_data* (*HPMHOOK_post_itemdb_search_name) (struct item_data* retVal___, const char *name);
-typedef int (*HPMHOOK_pre_itemdb_search_name_array) (struct item_data ***data, int *size, const char **str, int *flag);
-typedef int (*HPMHOOK_post_itemdb_search_name_array) (int retVal___, struct item_data **data, int size, const char *str, int flag);
+typedef int (*HPMHOOK_pre_itemdb_search_name_array) (struct item_data ***data, const int *size, const char **str, enum item_name_search_flag *flag);
+typedef int (*HPMHOOK_post_itemdb_search_name_array) (int retVal___, struct item_data **data, const int size, const char *str, enum item_name_search_flag flag);
typedef struct item_data* (*HPMHOOK_pre_itemdb_load) (int *nameid);
typedef struct item_data* (*HPMHOOK_post_itemdb_load) (struct item_data* retVal___, int nameid);
typedef struct item_data* (*HPMHOOK_pre_itemdb_search) (int *nameid);
@@ -4012,10 +4088,10 @@ typedef int (*HPMHOOK_pre_itemdb_isidentified) (int *nameid);
typedef int (*HPMHOOK_post_itemdb_isidentified) (int retVal___, int nameid);
typedef int (*HPMHOOK_pre_itemdb_isidentified2) (struct item_data **data);
typedef int (*HPMHOOK_post_itemdb_isidentified2) (int retVal___, struct item_data *data);
-typedef int (*HPMHOOK_pre_itemdb_combo_split_atoi) (char **str, int **val);
-typedef int (*HPMHOOK_post_itemdb_combo_split_atoi) (int retVal___, char *str, int *val);
-typedef void (*HPMHOOK_pre_itemdb_read_combos) (void);
-typedef void (*HPMHOOK_post_itemdb_read_combos) (void);
+typedef bool (*HPMHOOK_pre_itemdb_read_combodb_libconfig) (void);
+typedef bool (*HPMHOOK_post_itemdb_read_combodb_libconfig) (bool retVal___);
+typedef bool (*HPMHOOK_pre_itemdb_read_combodb_libconfig_sub) (struct config_setting_t **it, int *idx, const char **source);
+typedef bool (*HPMHOOK_post_itemdb_read_combodb_libconfig_sub) (bool retVal___, struct config_setting_t *it, int idx, const char *source);
typedef int (*HPMHOOK_pre_itemdb_gendercheck) (struct item_data **id);
typedef int (*HPMHOOK_post_itemdb_gendercheck) (int retVal___, struct item_data *id);
typedef int (*HPMHOOK_pre_itemdb_validate_entry) (struct item_data **entry, int *n, const char **source);
@@ -4052,6 +4128,12 @@ typedef bool (*HPMHOOK_pre_itemdb_lookup_const_mask) (const struct config_settin
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);
+typedef bool (*HPMHOOK_pre_itemdb_read_libconfig_lapineddukddak) (void);
+typedef bool (*HPMHOOK_post_itemdb_read_libconfig_lapineddukddak) (bool retVal___);
+typedef bool (*HPMHOOK_pre_itemdb_read_libconfig_lapineddukddak_sub) (struct config_setting_t **it, const char **source);
+typedef bool (*HPMHOOK_post_itemdb_read_libconfig_lapineddukddak_sub) (bool retVal___, struct config_setting_t *it, const char *source);
+typedef bool (*HPMHOOK_pre_itemdb_read_libconfig_lapineddukddak_sub_sources) (struct config_setting_t **sources, struct item_data **data);
+typedef bool (*HPMHOOK_post_itemdb_read_libconfig_lapineddukddak_sub_sources) (bool retVal___, struct config_setting_t *sources, struct item_data *data);
#endif // MAP_ITEMDB_H
#ifdef LOGIN_LOGIN_H /* lchrif */
typedef void (*HPMHOOK_pre_lchrif_server_init) (int *id);
@@ -4120,6 +4202,10 @@ typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_CHARSERVERCONNEC
typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_CHARSERVERCONNECT) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
#endif // LOGIN_LCLIF_P_H
#ifdef COMMON_CONF_H /* libconfig */
+typedef void (*HPMHOOK_pre_libconfig_set_db_path) (const char **db_path);
+typedef void (*HPMHOOK_post_libconfig_set_db_path) (const char *db_path);
+typedef void (*HPMHOOK_pre_libconfig_format_db_path) (const char **filename, char **path_buf, int *buffer_len);
+typedef void (*HPMHOOK_post_libconfig_format_db_path) (const char *filename, char *path_buf, int buffer_len);
typedef int (*HPMHOOK_pre_libconfig_read) (struct config_t **config, FILE **stream);
typedef int (*HPMHOOK_post_libconfig_read) (int retVal___, struct config_t *config, FILE *stream);
typedef void (*HPMHOOK_pre_libconfig_write) (const struct config_t **config, FILE **stream);
@@ -4300,8 +4386,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);
@@ -4638,8 +4724,8 @@ typedef void (*HPMHOOK_pre_map_addiddb) (struct block_list **bl);
typedef void (*HPMHOOK_post_map_addiddb) (struct block_list *bl);
typedef void (*HPMHOOK_pre_map_deliddb) (struct block_list **bl);
typedef void (*HPMHOOK_post_map_deliddb) (struct block_list *bl);
-typedef struct map_session_data* (*HPMHOOK_pre_map_nick2sd) (const char **nick);
-typedef struct map_session_data* (*HPMHOOK_post_map_nick2sd) (struct map_session_data* retVal___, const char *nick);
+typedef struct map_session_data* (*HPMHOOK_pre_map_nick2sd) (const char **nick, bool *allow_partial);
+typedef struct map_session_data* (*HPMHOOK_post_map_nick2sd) (struct map_session_data* retVal___, const char *nick, bool allow_partial);
typedef struct mob_data* (*HPMHOOK_pre_map_getmob_boss) (int16 *m);
typedef struct mob_data* (*HPMHOOK_post_map_getmob_boss) (struct mob_data* retVal___, int16 m);
typedef struct mob_data* (*HPMHOOK_pre_map_id2boss) (int *id);
@@ -4648,10 +4734,10 @@ typedef uint32 (*HPMHOOK_pre_map_race_id2mask) (int *race);
typedef uint32 (*HPMHOOK_post_map_race_id2mask) (uint32 retVal___, int race);
typedef void (*HPMHOOK_pre_map_reloadnpc) (bool *clear);
typedef void (*HPMHOOK_post_map_reloadnpc) (bool clear);
-typedef int (*HPMHOOK_pre_map_check_dir) (int *s_dir, int *t_dir);
-typedef int (*HPMHOOK_post_map_check_dir) (int retVal___, int s_dir, int t_dir);
-typedef uint8 (*HPMHOOK_pre_map_calc_dir) (struct block_list **src, int16 *x, int16 *y);
-typedef uint8 (*HPMHOOK_post_map_calc_dir) (uint8 retVal___, struct block_list *src, int16 x, int16 y);
+typedef int (*HPMHOOK_pre_map_check_dir) (enum unit_dir *s_dir, enum unit_dir *t_dir);
+typedef int (*HPMHOOK_post_map_check_dir) (int retVal___, enum unit_dir s_dir, enum unit_dir t_dir);
+typedef enum unit_dir (*HPMHOOK_pre_map_calc_dir) (const struct block_list **src, int16 *x, int16 *y);
+typedef enum unit_dir (*HPMHOOK_post_map_calc_dir) (enum unit_dir retVal___, const struct block_list *src, int16 x, int16 y);
typedef int (*HPMHOOK_pre_map_random_dir) (struct block_list **bl, short **x, short **y);
typedef int (*HPMHOOK_post_map_random_dir) (int retVal___, struct block_list *bl, short *x, short *y);
typedef int (*HPMHOOK_pre_map_cleanup_sub) (struct block_list **bl, va_list ap);
@@ -4762,8 +4848,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);
@@ -4854,8 +4940,6 @@ typedef int (*HPMHOOK_pre_mapif_guild_memberinfoshort) (struct guild **g, int *i
typedef int (*HPMHOOK_post_mapif_guild_memberinfoshort) (int retVal___, struct guild *g, int idx);
typedef int (*HPMHOOK_pre_mapif_guild_broken) (int *guild_id, int *flag);
typedef int (*HPMHOOK_post_mapif_guild_broken) (int retVal___, int guild_id, int flag);
-typedef int (*HPMHOOK_pre_mapif_guild_message) (int *guild_id, int *account_id, const char **mes, int *len, int *sfd);
-typedef int (*HPMHOOK_post_mapif_guild_message) (int retVal___, int guild_id, int account_id, const char *mes, int len, int sfd);
typedef int (*HPMHOOK_pre_mapif_guild_basicinfochanged) (int *guild_id, int *type, const void **data, int *len);
typedef int (*HPMHOOK_post_mapif_guild_basicinfochanged) (int retVal___, int guild_id, int type, const void *data, int len);
typedef int (*HPMHOOK_pre_mapif_guild_memberinfochanged) (int *guild_id, int *account_id, int *char_id, int *type, const void **data, int *len);
@@ -4886,8 +4970,6 @@ typedef int (*HPMHOOK_pre_mapif_parse_GuildChangeMemberInfoShort) (int *fd, int
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);
-typedef int (*HPMHOOK_post_mapif_parse_GuildMessage) (int retVal___, int fd, int guild_id, int account_id, const char *mes, int len);
typedef int (*HPMHOOK_pre_mapif_parse_GuildBasicInfoChange) (int *fd, int *guild_id, int *type, const void **data, int *len);
typedef int (*HPMHOOK_post_mapif_parse_GuildBasicInfoChange) (int retVal___, int fd, int guild_id, int type, const void *data, int len);
typedef int (*HPMHOOK_pre_mapif_parse_GuildMemberInfoChange) (int *fd, int *guild_id, int *account_id, int *char_id, int *type, const char **data, int *len);
@@ -4982,8 +5064,6 @@ typedef int (*HPMHOOK_pre_mapif_party_membermoved) (struct party **p, int *idx);
typedef int (*HPMHOOK_post_mapif_party_membermoved) (int retVal___, struct party *p, int idx);
typedef int (*HPMHOOK_pre_mapif_party_broken) (int *party_id, int *flag);
typedef int (*HPMHOOK_post_mapif_party_broken) (int retVal___, int party_id, int flag);
-typedef int (*HPMHOOK_pre_mapif_party_message) (int *party_id, int *account_id, const char **mes, int *len, int *sfd);
-typedef int (*HPMHOOK_post_mapif_party_message) (int retVal___, int party_id, int account_id, const char *mes, int len, int sfd);
typedef int (*HPMHOOK_pre_mapif_parse_CreateParty) (int *fd, const char **name, int *item, int *item2, const struct party_member **leader);
typedef int (*HPMHOOK_post_mapif_parse_CreateParty) (int retVal___, int fd, const char *name, int item, int item2, const struct party_member *leader);
typedef void (*HPMHOOK_pre_mapif_parse_PartyInfo) (int *fd, int *party_id, int *char_id);
@@ -4998,8 +5078,6 @@ typedef int (*HPMHOOK_pre_mapif_parse_PartyChangeMap) (int *fd, int *party_id, i
typedef int (*HPMHOOK_post_mapif_parse_PartyChangeMap) (int retVal___, int fd, int party_id, int account_id, int char_id, unsigned short map, int online, unsigned int lv);
typedef int (*HPMHOOK_pre_mapif_parse_BreakParty) (int *fd, int *party_id);
typedef int (*HPMHOOK_post_mapif_parse_BreakParty) (int retVal___, int fd, int party_id);
-typedef int (*HPMHOOK_pre_mapif_parse_PartyMessage) (int *fd, int *party_id, int *account_id, const char **mes, int *len);
-typedef int (*HPMHOOK_post_mapif_parse_PartyMessage) (int retVal___, int fd, int party_id, int account_id, const char *mes, int len);
typedef int (*HPMHOOK_pre_mapif_parse_PartyLeaderChange) (int *fd, int *party_id, int *account_id, int *char_id);
typedef int (*HPMHOOK_post_mapif_parse_PartyLeaderChange) (int retVal___, int fd, int party_id, int account_id, int char_id);
typedef int (*HPMHOOK_pre_mapif_pet_created) (int *fd, int *account_id, struct s_pet **p);
@@ -5050,6 +5128,10 @@ 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, 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);
@@ -5072,26 +5154,10 @@ typedef void (*HPMHOOK_pre_mapif_parse_ItemBoundRetrieve) (int *fd);
typedef void (*HPMHOOK_post_mapif_parse_ItemBoundRetrieve) (int fd);
typedef void (*HPMHOOK_pre_mapif_parse_accinfo) (int *fd);
typedef void (*HPMHOOK_post_mapif_parse_accinfo) (int fd);
-typedef int (*HPMHOOK_pre_mapif_broadcast) (const unsigned char **mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, int *sfd);
-typedef int (*HPMHOOK_post_mapif_broadcast) (int retVal___, const unsigned char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, int sfd);
-typedef int (*HPMHOOK_pre_mapif_wis_message) (struct WisData **wd);
-typedef int (*HPMHOOK_post_mapif_wis_message) (int retVal___, struct WisData *wd);
-typedef void (*HPMHOOK_pre_mapif_wis_response) (int *fd, const unsigned char **src, int *flag);
-typedef void (*HPMHOOK_post_mapif_wis_response) (int fd, const unsigned char *src, int flag);
-typedef int (*HPMHOOK_pre_mapif_wis_end) (struct WisData **wd, int *flag);
-typedef int (*HPMHOOK_post_mapif_wis_end) (int retVal___, struct WisData *wd, int flag);
typedef int (*HPMHOOK_pre_mapif_account_reg_reply) (int *fd, int *account_id, int *char_id, int *type);
typedef int (*HPMHOOK_post_mapif_account_reg_reply) (int retVal___, int fd, int account_id, int char_id, int type);
typedef int (*HPMHOOK_pre_mapif_disconnectplayer) (int *fd, int *account_id, int *char_id, int *reason);
typedef int (*HPMHOOK_post_mapif_disconnectplayer) (int retVal___, int fd, int account_id, int char_id, int reason);
-typedef int (*HPMHOOK_pre_mapif_parse_broadcast) (int *fd);
-typedef int (*HPMHOOK_post_mapif_parse_broadcast) (int retVal___, int fd);
-typedef int (*HPMHOOK_pre_mapif_parse_WisRequest) (int *fd);
-typedef int (*HPMHOOK_post_mapif_parse_WisRequest) (int retVal___, int fd);
-typedef int (*HPMHOOK_pre_mapif_parse_WisReply) (int *fd);
-typedef int (*HPMHOOK_post_mapif_parse_WisReply) (int retVal___, int fd);
-typedef int (*HPMHOOK_pre_mapif_parse_WisToGM) (int *fd);
-typedef int (*HPMHOOK_post_mapif_parse_WisToGM) (int retVal___, int fd);
typedef int (*HPMHOOK_pre_mapif_parse_Registry) (int *fd);
typedef int (*HPMHOOK_post_mapif_parse_Registry) (int retVal___, int fd);
typedef int (*HPMHOOK_pre_mapif_parse_RegistryRequest) (int *fd);
@@ -5106,6 +5172,10 @@ typedef int (*HPMHOOK_pre_mapif_parse_ClanMemberCount) (int *fd, int *clan_id, i
typedef int (*HPMHOOK_post_mapif_parse_ClanMemberCount) (int retVal___, int fd, int clan_id, int kick_interval);
#endif // CHAR_MAPIF_H
#ifdef COMMON_MAPINDEX_H /* mapindex */
+typedef bool (*HPMHOOK_pre_mapindex_config_read_dbpath) (const char **filename, const struct config_t **config);
+typedef bool (*HPMHOOK_post_mapindex_config_read_dbpath) (bool retVal___, const char *filename, const struct config_t *config);
+typedef bool (*HPMHOOK_pre_mapindex_config_read) (void);
+typedef bool (*HPMHOOK_post_mapindex_config_read) (bool retVal___);
typedef int (*HPMHOOK_pre_mapindex_init) (void);
typedef int (*HPMHOOK_post_mapindex_init) (int retVal___);
typedef void (*HPMHOOK_pre_mapindex_final) (void);
@@ -5234,6 +5304,8 @@ typedef int (*HPMHOOK_pre_mob_final) (void);
typedef int (*HPMHOOK_post_mob_final) (int retVal___);
typedef void (*HPMHOOK_pre_mob_reload) (void);
typedef void (*HPMHOOK_post_mob_reload) (void);
+typedef int (*HPMHOOK_pre_mob_reload_sub_mob) (struct mob_data **md, va_list args);
+typedef int (*HPMHOOK_post_mob_reload_sub_mob) (int retVal___, struct mob_data *md, va_list args);
typedef struct mob_db* (*HPMHOOK_pre_mob_db) (int *index);
typedef struct mob_db* (*HPMHOOK_post_mob_db) (struct mob_db* retVal___, int index);
typedef struct mob_chat* (*HPMHOOK_pre_mob_chat) (short *id);
@@ -5264,22 +5336,22 @@ typedef struct view_data* (*HPMHOOK_pre_mob_get_viewdata) (int *class_);
typedef struct view_data* (*HPMHOOK_post_mob_get_viewdata) (struct view_data* retVal___, int class_);
typedef int (*HPMHOOK_pre_mob_parse_dataset) (struct spawn_data **data);
typedef int (*HPMHOOK_post_mob_parse_dataset) (int retVal___, struct spawn_data *data);
-typedef struct mob_data* (*HPMHOOK_pre_mob_spawn_dataset) (struct spawn_data **data);
-typedef struct mob_data* (*HPMHOOK_post_mob_spawn_dataset) (struct mob_data* retVal___, struct spawn_data *data);
+typedef struct mob_data* (*HPMHOOK_pre_mob_spawn_dataset) (struct spawn_data **data, int *npc_id);
+typedef struct mob_data* (*HPMHOOK_post_mob_spawn_dataset) (struct mob_data* retVal___, struct spawn_data *data, int npc_id);
typedef int (*HPMHOOK_pre_mob_get_random_id) (int *type, int *flag, int *lv);
typedef int (*HPMHOOK_post_mob_get_random_id) (int retVal___, int type, int flag, int lv);
typedef bool (*HPMHOOK_pre_mob_ksprotected) (struct block_list **src, struct block_list **target);
typedef bool (*HPMHOOK_post_mob_ksprotected) (bool retVal___, struct block_list *src, struct block_list *target);
-typedef struct mob_data* (*HPMHOOK_pre_mob_once_spawn_sub) (struct block_list **bl, int16 *m, int16 *x, int16 *y, const char **mobname, int *class_, const char **event, unsigned int *size, unsigned int *ai);
-typedef struct mob_data* (*HPMHOOK_post_mob_once_spawn_sub) (struct mob_data* retVal___, struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai);
+typedef struct mob_data* (*HPMHOOK_pre_mob_once_spawn_sub) (struct block_list **bl, int16 *m, int16 *x, int16 *y, const char **mobname, int *class_, const char **event, unsigned int *size, unsigned int *ai, int *npc_id);
+typedef struct mob_data* (*HPMHOOK_post_mob_once_spawn_sub) (struct mob_data* retVal___, struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai, int npc_id);
typedef int (*HPMHOOK_pre_mob_once_spawn) (struct map_session_data **sd, int16 *m, int16 *x, int16 *y, const char **mobname, int *class_, int *amount, const char **event, unsigned int *size, unsigned int *ai);
typedef int (*HPMHOOK_post_mob_once_spawn) (int retVal___, struct map_session_data *sd, int16 m, int16 x, int16 y, const char *mobname, int class_, int amount, const char *event, unsigned int size, unsigned int ai);
typedef int (*HPMHOOK_pre_mob_once_spawn_area) (struct map_session_data **sd, int16 *m, int16 *x0, int16 *y0, int16 *x1, int16 *y1, const char **mobname, int *class_, int *amount, const char **event, unsigned int *size, unsigned int *ai);
typedef int (*HPMHOOK_post_mob_once_spawn_area) (int retVal___, struct map_session_data *sd, int16 m, int16 x0, int16 y0, int16 x1, int16 y1, const char *mobname, int class_, int amount, const char *event, unsigned int size, unsigned int ai);
-typedef int (*HPMHOOK_pre_mob_spawn_guardian) (const char **mapname, short *x, short *y, const char **mobname, int *class_, const char **event, int *guardian, bool *has_index);
-typedef int (*HPMHOOK_post_mob_spawn_guardian) (int retVal___, const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index);
-typedef int (*HPMHOOK_pre_mob_spawn_bg) (const char **mapname, short *x, short *y, const char **mobname, int *class_, const char **event, unsigned int *bg_id);
-typedef int (*HPMHOOK_post_mob_spawn_bg) (int retVal___, const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id);
+typedef int (*HPMHOOK_pre_mob_spawn_guardian) (const char **mapname, short *x, short *y, const char **mobname, int *class_, const char **event, int *guardian, bool *has_index, int *npc_id);
+typedef int (*HPMHOOK_post_mob_spawn_guardian) (int retVal___, const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index, int npc_id);
+typedef int (*HPMHOOK_pre_mob_spawn_bg) (const char **mapname, short *x, short *y, const char **mobname, int *class_, const char **event, unsigned int *bg_id, int *npc_id);
+typedef int (*HPMHOOK_post_mob_spawn_bg) (int retVal___, const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id, int npc_id);
typedef int (*HPMHOOK_pre_mob_can_reach) (struct mob_data **md, struct block_list **bl, int *range, int *state);
typedef int (*HPMHOOK_post_mob_can_reach) (int retVal___, struct mob_data *md, struct block_list *bl, int range, int state);
typedef int (*HPMHOOK_pre_mob_linksearch) (struct block_list **bl, va_list ap);
@@ -5306,6 +5378,8 @@ typedef int (*HPMHOOK_pre_mob_ai_sub_hard_lootsearch) (struct block_list **bl, v
typedef int (*HPMHOOK_post_mob_ai_sub_hard_lootsearch) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_mob_warpchase_sub) (struct block_list **bl, va_list ap);
typedef int (*HPMHOOK_post_mob_warpchase_sub) (int retVal___, struct block_list *bl, va_list ap);
+typedef bool (*HPMHOOK_pre_mob_is_in_battle_state) (const struct mob_data **md);
+typedef bool (*HPMHOOK_post_mob_is_in_battle_state) (bool retVal___, const struct mob_data *md);
typedef int (*HPMHOOK_pre_mob_ai_sub_hard_slavemob) (struct mob_data **md, int64 *tick);
typedef int (*HPMHOOK_post_mob_ai_sub_hard_slavemob) (int retVal___, struct mob_data *md, int64 tick);
typedef int (*HPMHOOK_pre_mob_unlocktarget) (struct mob_data **md, int64 *tick);
@@ -5326,8 +5400,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);
@@ -5392,6 +5468,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);
@@ -5412,12 +5496,16 @@ 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_read_db_viewdata_sub) (struct mob_db **entry, struct config_setting_t **t);
+typedef void (*HPMHOOK_post_mob_read_db_viewdata_sub) (struct mob_db *entry, struct config_setting_t *t);
typedef void (*HPMHOOK_pre_mob_name_constants) (void);
typedef void (*HPMHOOK_post_mob_name_constants) (void);
-typedef bool (*HPMHOOK_pre_mob_readdb_mobavail) (char **str[], int *columns, int *current);
-typedef bool (*HPMHOOK_post_mob_readdb_mobavail) (bool retVal___, char *str[], int columns, int current);
+typedef void (*HPMHOOK_pre_mob_mobavail_removal_notice) (void);
+typedef void (*HPMHOOK_post_mob_mobavail_removal_notice) (void);
typedef int (*HPMHOOK_pre_mob_read_randommonster) (void);
typedef int (*HPMHOOK_post_mob_read_randommonster) (int retVal___);
typedef bool (*HPMHOOK_pre_mob_parse_row_chatdb) (char ***str, const char **source, int *line, int **last_msg_id);
@@ -5442,6 +5530,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);
@@ -5596,10 +5686,12 @@ typedef int (*HPMHOOK_pre_npc_unload_ev_label) (union DBKey *key, struct DBData
typedef int (*HPMHOOK_post_npc_unload_ev_label) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
typedef int (*HPMHOOK_pre_npc_unload_dup_sub) (struct npc_data **nd, va_list args);
typedef int (*HPMHOOK_post_npc_unload_dup_sub) (int retVal___, struct npc_data *nd, va_list args);
-typedef void (*HPMHOOK_pre_npc_unload_duplicates) (struct npc_data **nd);
-typedef void (*HPMHOOK_post_npc_unload_duplicates) (struct npc_data *nd);
-typedef int (*HPMHOOK_pre_npc_unload) (struct npc_data **nd, bool *single);
-typedef int (*HPMHOOK_post_npc_unload) (int retVal___, struct npc_data *nd, bool single);
+typedef void (*HPMHOOK_pre_npc_unload_duplicates) (struct npc_data **nd, bool *unload_mobs);
+typedef void (*HPMHOOK_post_npc_unload_duplicates) (struct npc_data *nd, bool unload_mobs);
+typedef int (*HPMHOOK_pre_npc_unload_mob) (struct mob_data **md, va_list args);
+typedef int (*HPMHOOK_post_npc_unload_mob) (int retVal___, struct mob_data *md, va_list args);
+typedef int (*HPMHOOK_pre_npc_unload) (struct npc_data **nd, bool *single, bool *unload_mobs);
+typedef int (*HPMHOOK_post_npc_unload) (int retVal___, struct npc_data *nd, bool single, bool unload_mobs);
typedef void (*HPMHOOK_pre_npc_clearsrcfile) (void);
typedef void (*HPMHOOK_post_npc_clearsrcfile) (void);
typedef void (*HPMHOOK_pre_npc_addsrcfile) (const char **name);
@@ -5616,8 +5708,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, 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_create_npc) (enum npc_subtype *subtype, int *m, int *x, int *y, enum unit_dir *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, enum unit_dir 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);
@@ -5682,8 +5774,8 @@ typedef int (*HPMHOOK_pre_npc_ev_label_db_clear_sub) (union DBKey *key, struct D
typedef int (*HPMHOOK_post_npc_ev_label_db_clear_sub) (int retVal___, union DBKey key, struct DBData *data, va_list args);
typedef int (*HPMHOOK_pre_npc_reload) (void);
typedef int (*HPMHOOK_post_npc_reload) (int retVal___);
-typedef bool (*HPMHOOK_pre_npc_unloadfile) (const char **filepath);
-typedef bool (*HPMHOOK_post_npc_unloadfile) (bool retVal___, const char *filepath);
+typedef bool (*HPMHOOK_pre_npc_unloadfile) (const char **filepath, bool *unload_mobs);
+typedef bool (*HPMHOOK_post_npc_unloadfile) (bool retVal___, const char *filepath, bool unload_mobs);
typedef void (*HPMHOOK_pre_npc_do_clear_npc) (void);
typedef void (*HPMHOOK_post_npc_do_clear_npc) (void);
typedef void (*HPMHOOK_pre_npc_debug_warps_sub) (struct npc_data **nd);
@@ -5696,10 +5788,12 @@ typedef bool (*HPMHOOK_pre_npc_trader_pay) (struct npc_data **nd, struct map_ses
typedef bool (*HPMHOOK_post_npc_trader_pay) (bool retVal___, struct npc_data *nd, struct map_session_data *sd, int price, int points);
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 enum market_buy_result (*HPMHOOK_pre_npc_market_buylist) (struct map_session_data **sd, struct itemlist **item_list);
+typedef enum market_buy_result (*HPMHOOK_post_npc_market_buylist) (enum market_buy_result 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 int (*HPMHOOK_pre_npc_expanded_barter_buylist) (struct map_session_data **sd, struct barteritemlist **item_list);
+typedef int (*HPMHOOK_post_npc_expanded_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);
@@ -5718,14 +5812,28 @@ typedef void (*HPMHOOK_pre_npc_barter_delfromsql) (struct npc_data **nd, int *in
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 void (*HPMHOOK_pre_npc_expanded_barter_fromsql) (void);
+typedef void (*HPMHOOK_post_npc_expanded_barter_fromsql) (void);
+typedef void (*HPMHOOK_pre_npc_expanded_barter_tosql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_expanded_barter_tosql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_expanded_barter_delfromsql) (struct npc_data **nd, int *index);
+typedef void (*HPMHOOK_post_npc_expanded_barter_delfromsql) (struct npc_data *nd, int index);
+typedef void (*HPMHOOK_pre_npc_expanded_barter_delfromsql_sub) (const char **npcname, int *itemId, int *zeny, int *currencyCount, struct npc_barter_currency **currency);
+typedef void (*HPMHOOK_post_npc_expanded_barter_delfromsql_sub) (const char *npcname, int itemId, int zeny, int currencyCount, struct npc_barter_currency *currency);
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
#ifdef COMMON_NULLPO_H /* nullpo */
+typedef void (*HPMHOOK_pre_nullpo_init) (void);
+typedef void (*HPMHOOK_post_nullpo_init) (void);
+typedef void (*HPMHOOK_pre_nullpo_final) (void);
+typedef void (*HPMHOOK_post_nullpo_final) (void);
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
@@ -5794,8 +5902,6 @@ typedef int (*HPMHOOK_pre_party_send_logout) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_party_send_logout) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_party_send_message) (struct map_session_data **sd, const char **mes);
typedef int (*HPMHOOK_post_party_send_message) (int retVal___, struct map_session_data *sd, const char *mes);
-typedef int (*HPMHOOK_pre_party_recv_message) (int *party_id, int *account_id, const char **mes, int *len);
-typedef int (*HPMHOOK_post_party_recv_message) (int retVal___, int party_id, int account_id, const char *mes, int len);
typedef int (*HPMHOOK_pre_party_skill_check) (struct map_session_data **sd, int *party_id, uint16 *skill_id, uint16 *skill_lv);
typedef int (*HPMHOOK_post_party_skill_check) (int retVal___, struct map_session_data *sd, int party_id, uint16 skill_id, uint16 skill_lv);
typedef int (*HPMHOOK_pre_party_send_xy_clear) (struct party_data **p);
@@ -5986,8 +6092,8 @@ typedef bool (*HPMHOOK_pre_pc_adoption) (struct map_session_data **p1_sd, struct
typedef bool (*HPMHOOK_post_pc_adoption) (bool retVal___, struct map_session_data *p1_sd, struct map_session_data *p2_sd, struct map_session_data *b_sd);
typedef int (*HPMHOOK_pre_pc_updateweightstatus) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_updateweightstatus) (int retVal___, struct map_session_data *sd);
-typedef int (*HPMHOOK_pre_pc_addautobonus) (struct s_autobonus **bonus, char *max, const char **bonus_script, short *rate, unsigned int *dur, short *atk_type, const char **o_script, unsigned short *pos, bool *onskill);
-typedef int (*HPMHOOK_post_pc_addautobonus) (int retVal___, struct s_autobonus *bonus, char max, const char *bonus_script, short rate, unsigned int dur, short atk_type, const char *o_script, unsigned short pos, bool onskill);
+typedef int (*HPMHOOK_pre_pc_addautobonus) (struct s_autobonus **bonus, char *max, const char **bonus_script, short *rate, unsigned int *dur, short *atk_type, const char **o_script, unsigned int *pos, bool *onskill);
+typedef int (*HPMHOOK_post_pc_addautobonus) (int retVal___, struct s_autobonus *bonus, char max, const char *bonus_script, short rate, unsigned int dur, short atk_type, const char *o_script, unsigned int pos, bool onskill);
typedef int (*HPMHOOK_pre_pc_exeautobonus) (struct map_session_data **sd, struct s_autobonus **bonus);
typedef int (*HPMHOOK_post_pc_exeautobonus) (int retVal___, struct map_session_data *sd, struct s_autobonus *bonus);
typedef int (*HPMHOOK_pre_pc_endautobonus) (int *tid, int64 *tick, int *id, intptr_t *data);
@@ -6082,6 +6188,8 @@ typedef int (*HPMHOOK_pre_pc_checkitem) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_checkitem) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_useitem) (struct map_session_data **sd, int *n);
typedef int (*HPMHOOK_post_pc_useitem) (int retVal___, struct map_session_data *sd, int n);
+typedef int (*HPMHOOK_pre_pc_autocast_clear) (struct map_session_data **sd);
+typedef int (*HPMHOOK_post_pc_autocast_clear) (int retVal___, struct map_session_data *sd);
typedef int (*HPMHOOK_pre_pc_skillatk_bonus) (struct map_session_data **sd, uint16 *skill_id);
typedef int (*HPMHOOK_post_pc_skillatk_bonus) (int retVal___, struct map_session_data *sd, uint16 skill_id);
typedef int (*HPMHOOK_pre_pc_skillheal_bonus) (struct map_session_data **sd, uint16 *skill_id);
@@ -6110,8 +6218,8 @@ typedef void (*HPMHOOK_pre_pc_setfalcon) (struct map_session_data **sd, bool *fl
typedef void (*HPMHOOK_post_pc_setfalcon) (struct map_session_data *sd, bool flag);
typedef void (*HPMHOOK_pre_pc_setridingpeco) (struct map_session_data **sd, bool *flag);
typedef void (*HPMHOOK_post_pc_setridingpeco) (struct map_session_data *sd, bool flag);
-typedef void (*HPMHOOK_pre_pc_setmadogear) (struct map_session_data **sd, bool *flag);
-typedef void (*HPMHOOK_post_pc_setmadogear) (struct map_session_data *sd, bool flag);
+typedef void (*HPMHOOK_pre_pc_setmadogear) (struct map_session_data **sd, bool *flag, enum mado_type *mtype);
+typedef void (*HPMHOOK_post_pc_setmadogear) (struct map_session_data *sd, bool flag, enum mado_type mtype);
typedef void (*HPMHOOK_pre_pc_setridingdragon) (struct map_session_data **sd, unsigned int *type);
typedef void (*HPMHOOK_post_pc_setridingdragon) (struct map_session_data *sd, unsigned int type);
typedef void (*HPMHOOK_pre_pc_setridingwug) (struct map_session_data **sd, bool *flag);
@@ -6346,8 +6454,14 @@ typedef void (*HPMHOOK_pre_pc_update_idle_time) (struct map_session_data **sd, e
typedef void (*HPMHOOK_post_pc_update_idle_time) (struct map_session_data *sd, enum e_battle_config_idletime type);
typedef int (*HPMHOOK_pre_pc_have_magnifier) (struct map_session_data **sd);
typedef int (*HPMHOOK_post_pc_have_magnifier) (int retVal___, struct map_session_data *sd);
+typedef int (*HPMHOOK_pre_pc_have_item_chain) (struct map_session_data **sd, enum e_chain_cache *chain_cache_id);
+typedef int (*HPMHOOK_post_pc_have_item_chain) (int retVal___, struct map_session_data *sd, enum e_chain_cache chain_cache_id);
typedef bool (*HPMHOOK_pre_pc_process_chat_message) (struct map_session_data **sd, const char **message);
typedef bool (*HPMHOOK_post_pc_process_chat_message) (bool retVal___, struct map_session_data *sd, const char *message);
+typedef int (*HPMHOOK_pre_pc_wis_message_to_gm) (const char **sender_name, int *permission, const char **message);
+typedef int (*HPMHOOK_post_pc_wis_message_to_gm) (int retVal___, const char *sender_name, int permission, const char *message);
+typedef int (*HPMHOOK_pre_pc_wis_message_to_gm_sub) (struct map_session_data **sd, va_list va);
+typedef int (*HPMHOOK_post_pc_wis_message_to_gm_sub) (int retVal___, struct map_session_data *sd, va_list va);
typedef void (*HPMHOOK_pre_pc_check_supernovice_call) (struct map_session_data **sd, const char **message);
typedef void (*HPMHOOK_post_pc_check_supernovice_call) (struct map_session_data *sd, const char *message);
typedef bool (*HPMHOOK_pre_pc_check_basicskill) (struct map_session_data **sd, int *level);
@@ -6358,6 +6472,8 @@ 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);
+typedef bool (*HPMHOOK_pre_pc_auto_exp_insurance) (struct map_session_data **sd);
+typedef bool (*HPMHOOK_post_pc_auto_exp_insurance) (bool retVal___, struct map_session_data *sd);
#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);
@@ -6384,6 +6500,8 @@ typedef int (*HPMHOOK_pre_pet_final) (void);
typedef int (*HPMHOOK_post_pet_final) (int retVal___);
typedef int (*HPMHOOK_pre_pet_hungry_val) (struct pet_data **pd);
typedef int (*HPMHOOK_post_pet_hungry_val) (int retVal___, struct pet_data *pd);
+typedef void (*HPMHOOK_pre_pet_set_hunger) (struct pet_data **pd, int *value);
+typedef void (*HPMHOOK_post_pet_set_hunger) (struct pet_data *pd, int value);
typedef void (*HPMHOOK_pre_pet_set_intimate) (struct pet_data **pd, int *value);
typedef void (*HPMHOOK_post_pet_set_intimate) (struct pet_data *pd, int value);
typedef int (*HPMHOOK_pre_pet_create_egg) (struct map_session_data **sd, int *item_id);
@@ -6554,9 +6672,41 @@ typedef bool (*HPMHOOK_pre_quest_questinfo_validate_quests) (struct map_session_
typedef bool (*HPMHOOK_post_quest_questinfo_validate_quests) (bool retVal___, struct map_session_data *sd, struct questinfo *qi);
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);
-typedef void (*HPMHOOK_pre_quest_questinfo_vector_clear) (int *m);
-typedef void (*HPMHOOK_post_quest_questinfo_vector_clear) (int m);
#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);
@@ -6610,6 +6760,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);
@@ -6960,8 +7114,10 @@ typedef void (*HPMHOOK_pre_script_load_translations) (void);
typedef void (*HPMHOOK_post_script_load_translations) (void);
typedef bool (*HPMHOOK_pre_script_load_translation_addstring) (const char **file, uint8 *lang_id, const char **msgctxt, const struct script_string_buf **msgid, const struct script_string_buf **msgstr);
typedef bool (*HPMHOOK_post_script_load_translation_addstring) (bool retVal___, const char *file, uint8 lang_id, const char *msgctxt, const struct script_string_buf *msgid, const struct script_string_buf *msgstr);
-typedef int (*HPMHOOK_pre_script_load_translation) (const char **file, uint8 *lang_id);
-typedef int (*HPMHOOK_post_script_load_translation) (int retVal___, const char *file, uint8 lang_id);
+typedef int (*HPMHOOK_pre_script_load_translation_file) (const char **file, uint8 *lang_id);
+typedef int (*HPMHOOK_post_script_load_translation_file) (int retVal___, const char *file, uint8 lang_id);
+typedef int (*HPMHOOK_pre_script_load_translation) (const char **directory, uint8 *lang_id);
+typedef int (*HPMHOOK_post_script_load_translation) (int retVal___, const char *directory, uint8 lang_id);
typedef int (*HPMHOOK_pre_script_translation_db_destroyer) (union DBKey *key, struct DBData **data, va_list ap);
typedef int (*HPMHOOK_post_script_translation_db_destroyer) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
typedef void (*HPMHOOK_pre_script_clear_translations) (bool *reload);
@@ -6970,8 +7126,8 @@ typedef int (*HPMHOOK_pre_script_parse_cleanup_timer) (int *tid, int64 *tick, in
typedef int (*HPMHOOK_post_script_parse_cleanup_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
typedef uint8 (*HPMHOOK_pre_script_add_language) (const char **name);
typedef uint8 (*HPMHOOK_post_script_add_language) (uint8 retVal___, const char *name);
-typedef const char* (*HPMHOOK_pre_script_get_translation_file_name) (const char **file);
-typedef const char* (*HPMHOOK_post_script_get_translation_file_name) (const char* retVal___, const char *file);
+typedef const char* (*HPMHOOK_pre_script_get_translation_dir_name) (const char **directory);
+typedef const char* (*HPMHOOK_post_script_get_translation_dir_name) (const char* retVal___, const char *directory);
typedef void (*HPMHOOK_pre_script_parser_clean_leftovers) (void);
typedef void (*HPMHOOK_post_script_parser_clean_leftovers) (void);
typedef void (*HPMHOOK_pre_script_run_use_script) (struct map_session_data **sd, struct item_data **data, int *oid);
@@ -6980,6 +7136,14 @@ typedef void (*HPMHOOK_pre_script_run_item_equip_script) (struct map_session_dat
typedef void (*HPMHOOK_post_script_run_item_equip_script) (struct map_session_data *sd, struct item_data *data, int oid);
typedef void (*HPMHOOK_pre_script_run_item_unequip_script) (struct map_session_data **sd, struct item_data **data, int *oid);
typedef void (*HPMHOOK_post_script_run_item_unequip_script) (struct map_session_data *sd, struct item_data *data, int oid);
+typedef void (*HPMHOOK_pre_script_run_item_rental_end_script) (struct map_session_data **sd, struct item_data **data, int *oid);
+typedef void (*HPMHOOK_post_script_run_item_rental_end_script) (struct map_session_data *sd, struct item_data *data, int oid);
+typedef void (*HPMHOOK_pre_script_run_item_rental_start_script) (struct map_session_data **sd, struct item_data **data, int *oid);
+typedef void (*HPMHOOK_post_script_run_item_rental_start_script) (struct map_session_data *sd, struct item_data *data, int oid);
+typedef void (*HPMHOOK_pre_script_run_item_lapineddukddak_script) (struct map_session_data **sd, struct item_data **data, int *oid);
+typedef void (*HPMHOOK_post_script_run_item_lapineddukddak_script) (struct map_session_data *sd, struct item_data *data, int oid);
+typedef bool (*HPMHOOK_pre_script_sellitemcurrency_add) (struct npc_data **nd, struct script_state **st, int *argIndex);
+typedef bool (*HPMHOOK_post_script_sellitemcurrency_add) (bool retVal___, struct npc_data *nd, struct script_state *st, int argIndex);
#endif // MAP_SCRIPT_H
#ifdef MAP_SEARCHSTORE_H /* searchstore */
typedef bool (*HPMHOOK_pre_searchstore_open) (struct map_session_data **sd, unsigned int *uses, unsigned short *effect);
@@ -7000,8 +7164,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);
@@ -7140,8 +7304,8 @@ typedef int (*HPMHOOK_pre_skill_additional_effect) (struct block_list **src, str
typedef int (*HPMHOOK_post_skill_additional_effect) (int retVal___, struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int attack_type, int dmg_lv, int64 tick);
typedef int (*HPMHOOK_pre_skill_counter_additional_effect) (struct block_list **src, struct block_list **bl, uint16 *skill_id, uint16 *skill_lv, int *attack_type, int64 *tick);
typedef int (*HPMHOOK_post_skill_counter_additional_effect) (int retVal___, struct block_list *src, struct block_list *bl, uint16 skill_id, uint16 skill_lv, int attack_type, int64 tick);
-typedef int (*HPMHOOK_pre_skill_blown) (struct block_list **src, struct block_list **target, int *count, int8 *dir, int *flag);
-typedef int (*HPMHOOK_post_skill_blown) (int retVal___, struct block_list *src, struct block_list *target, int count, int8 dir, int flag);
+typedef int (*HPMHOOK_pre_skill_blown) (struct block_list **src, struct block_list **target, int *count, enum unit_dir *dir, int *flag);
+typedef int (*HPMHOOK_post_skill_blown) (int retVal___, struct block_list *src, struct block_list *target, int count, enum unit_dir dir, int flag);
typedef int (*HPMHOOK_pre_skill_break_equip) (struct block_list **bl, unsigned short *where, int *rate, int *flag);
typedef int (*HPMHOOK_post_skill_break_equip) (int retVal___, struct block_list *bl, unsigned short where, int rate, int flag);
typedef int (*HPMHOOK_pre_skill_strip_equip) (struct block_list **bl, unsigned short *where, int *rate, int *lv, int *time);
@@ -7224,6 +7388,8 @@ typedef int (*HPMHOOK_pre_skill_not_ok_hom_unknown) (uint16 *skill_id, struct ho
typedef int (*HPMHOOK_post_skill_not_ok_hom_unknown) (int retVal___, uint16 skill_id, struct homun_data *hd);
typedef int (*HPMHOOK_pre_skill_not_ok_mercenary) (uint16 *skill_id, struct mercenary_data **md);
typedef int (*HPMHOOK_post_skill_not_ok_mercenary) (int retVal___, uint16 skill_id, struct mercenary_data *md);
+typedef void (*HPMHOOK_pre_skill_validate_autocast_data) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+typedef void (*HPMHOOK_post_skill_validate_autocast_data) (struct map_session_data *sd, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_chastle_mob_changetarget) (struct block_list **bl, va_list ap);
typedef int (*HPMHOOK_post_skill_chastle_mob_changetarget) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_skill_can_produce_mix) (struct map_session_data **sd, int *nameid, int *trigger, int *qty);
@@ -7304,10 +7470,10 @@ typedef int (*HPMHOOK_pre_skill_check_condition_char_sub) (struct block_list **b
typedef int (*HPMHOOK_post_skill_check_condition_char_sub) (int retVal___, struct block_list *bl, va_list ap);
typedef int (*HPMHOOK_pre_skill_check_condition_mob_master_sub) (struct block_list **bl, va_list ap);
typedef int (*HPMHOOK_post_skill_check_condition_mob_master_sub) (int retVal___, struct block_list *bl, va_list ap);
-typedef void (*HPMHOOK_pre_skill_brandishspear_first) (struct square **tc, uint8 *dir, int16 *x, int16 *y);
-typedef void (*HPMHOOK_post_skill_brandishspear_first) (struct square *tc, uint8 dir, int16 x, int16 y);
-typedef void (*HPMHOOK_pre_skill_brandishspear_dir) (struct square **tc, uint8 *dir, int *are);
-typedef void (*HPMHOOK_post_skill_brandishspear_dir) (struct square *tc, uint8 dir, int are);
+typedef void (*HPMHOOK_pre_skill_brandishspear_first) (struct square **tc, enum unit_dir *dir, int16 *x, int16 *y);
+typedef void (*HPMHOOK_post_skill_brandishspear_first) (struct square *tc, enum unit_dir dir, int16 x, int16 y);
+typedef void (*HPMHOOK_pre_skill_brandishspear_dir) (struct square **tc, enum unit_dir *dir, int *are);
+typedef void (*HPMHOOK_post_skill_brandishspear_dir) (struct square *tc, enum unit_dir dir, int are);
typedef int (*HPMHOOK_pre_skill_get_fixed_cast) (int *skill_id, int *skill_lv);
typedef int (*HPMHOOK_post_skill_get_fixed_cast) (int retVal___, int skill_id, int skill_lv);
typedef int (*HPMHOOK_pre_skill_sit_count) (struct block_list **bl, va_list ap);
@@ -7448,8 +7614,8 @@ typedef int (*HPMHOOK_pre_skill_attack_copy_unknown) (int **attack_type, struct
typedef int (*HPMHOOK_post_skill_attack_copy_unknown) (int retVal___, int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
typedef int (*HPMHOOK_pre_skill_attack_dir_unknown) (int **attack_type, struct block_list **src, struct block_list **dsrc, struct block_list **bl, uint16 **skill_id, uint16 **skill_lv, int64 **tick, int **flag);
typedef int (*HPMHOOK_post_skill_attack_dir_unknown) (int retVal___, int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
-typedef void (*HPMHOOK_pre_skill_attack_blow_unknown) (int **attack_type, struct block_list **src, struct block_list **dsrc, struct block_list **bl, uint16 **skill_id, uint16 **skill_lv, int64 **tick, int **flag, int **type, struct Damage **dmg, int64 **damage, int8 **dir);
-typedef void (*HPMHOOK_post_skill_attack_blow_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir);
+typedef void (*HPMHOOK_pre_skill_attack_blow_unknown) (int **attack_type, struct block_list **src, struct block_list **dsrc, struct block_list **bl, uint16 **skill_id, uint16 **skill_lv, int64 **tick, int **flag, int **type, struct Damage **dmg, int64 **damage, enum unit_dir **dir);
+typedef void (*HPMHOOK_post_skill_attack_blow_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, enum unit_dir *dir);
typedef void (*HPMHOOK_pre_skill_attack_post_unknown) (int **attack_type, struct block_list **src, struct block_list **dsrc, struct block_list **bl, uint16 **skill_id, uint16 **skill_lv, int64 **tick, int **flag);
typedef void (*HPMHOOK_post_skill_attack_post_unknown) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag);
typedef bool (*HPMHOOK_pre_skill_timerskill_dead_unknown) (struct block_list **src, struct unit_data **ud, struct skill_timerskill **skl);
@@ -7538,6 +7704,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);
@@ -7636,18 +7804,18 @@ 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);
typedef int (*HPMHOOK_post_status_sc2skill) (int retVal___, sc_type sc);
typedef unsigned int (*HPMHOOK_pre_status_sc2scb_flag) (sc_type *sc);
typedef unsigned int (*HPMHOOK_post_status_sc2scb_flag) (unsigned int retVal___, sc_type sc);
-typedef int (*HPMHOOK_pre_status_type2relevant_bl_types) (int *type);
-typedef int (*HPMHOOK_post_status_type2relevant_bl_types) (int retVal___, int type);
+typedef int (*HPMHOOK_pre_status_get_sc_relevant_bl_types) (sc_type *type);
+typedef int (*HPMHOOK_post_status_get_sc_relevant_bl_types) (int retVal___, sc_type type);
typedef int (*HPMHOOK_pre_status_get_sc_type) (sc_type *idx);
typedef int (*HPMHOOK_post_status_get_sc_type) (int retVal___, sc_type idx);
+typedef int (*HPMHOOK_pre_status_get_sc_icon) (sc_type *type);
+typedef int (*HPMHOOK_post_status_get_sc_icon) (int retVal___, sc_type type);
typedef int (*HPMHOOK_pre_status_damage) (struct block_list **src, struct block_list **target, int64 *hp, int64 *sp, int *walkdelay, int *flag);
typedef int (*HPMHOOK_post_status_damage) (int retVal___, struct block_list *src, struct block_list *target, int64 hp, int64 sp, int walkdelay, int flag);
typedef int (*HPMHOOK_pre_status_charge) (struct block_list **bl, int64 *hp, int64 *sp);
@@ -7708,6 +7876,8 @@ typedef int (*HPMHOOK_pre_status_get_sc_def) (struct block_list **src, struct bl
typedef int (*HPMHOOK_post_status_get_sc_def) (int retVal___, struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int tick, int flag);
typedef int (*HPMHOOK_pre_status_change_start) (struct block_list **src, struct block_list **bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag);
typedef int (*HPMHOOK_post_status_change_start) (int retVal___, struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int flag);
+typedef int (*HPMHOOK_pre_status_change_start_sub) (struct block_list **src, struct block_list **bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *total_tick, int *flag);
+typedef int (*HPMHOOK_post_status_change_start_sub) (int retVal___, struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int total_tick, int flag);
typedef int (*HPMHOOK_pre_status_change_end_) (struct block_list **bl, enum sc_type *type, int *tid, const char **file, int *line);
typedef int (*HPMHOOK_post_status_change_end_) (int retVal___, struct block_list *bl, enum sc_type type, int tid, const char *file, int line);
typedef bool (*HPMHOOK_pre_status_is_immune_to_status) (struct status_change **sc, enum sc_type *type);
@@ -7724,8 +7894,8 @@ typedef int (*HPMHOOK_pre_status_get_val_flag) (enum sc_type *type);
typedef int (*HPMHOOK_post_status_get_val_flag) (int retVal___, enum sc_type type);
typedef void (*HPMHOOK_pre_status_change_start_display) (struct map_session_data **sd, enum sc_type *type, int *val1, int *val2, int *val3, int *val4);
typedef void (*HPMHOOK_post_status_change_start_display) (struct map_session_data *sd, enum sc_type type, int val1, int val2, int val3, int val4);
-typedef bool (*HPMHOOK_pre_status_change_start_unknown_sc) (struct block_list **src, struct block_list **bl, enum sc_type *type, int *calc_flag, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag);
-typedef bool (*HPMHOOK_post_status_change_start_unknown_sc) (bool retVal___, struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int tick, int flag);
+typedef bool (*HPMHOOK_pre_status_change_start_unknown_sc) (struct block_list **src, struct block_list **bl, enum sc_type *type, int *calc_flag, int *rate, int *val1, int *val2, int *val3, int *val4, int *total_tick, int *flag);
+typedef bool (*HPMHOOK_post_status_change_start_unknown_sc) (bool retVal___, struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int total_tick, int flag);
typedef int (*HPMHOOK_pre_status_kaahi_heal_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_status_kaahi_heal_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
typedef int (*HPMHOOK_pre_status_change_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
@@ -7774,10 +7944,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);
@@ -7796,8 +7966,8 @@ 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);
@@ -7820,18 +7990,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);
@@ -7852,8 +8022,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);
@@ -7868,24 +8038,26 @@ 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 bool (*HPMHOOK_pre_status_read_scdb_libconfig) (void);
+typedef bool (*HPMHOOK_post_status_read_scdb_libconfig) (bool retVal___);
+typedef bool (*HPMHOOK_pre_status_read_scdb_libconfig_sub) (struct config_setting_t **it, int *idx, const char **source);
+typedef bool (*HPMHOOK_post_status_read_scdb_libconfig_sub) (bool retVal___, struct config_setting_t *it, int idx, const char *source);
+typedef bool (*HPMHOOK_pre_status_read_scdb_libconfig_sub_flag) (struct config_setting_t **it, int *type, const char **source);
+typedef bool (*HPMHOOK_post_status_read_scdb_libconfig_sub_flag) (bool retVal___, struct config_setting_t *it, int type, const char *source);
+typedef bool (*HPMHOOK_pre_status_read_scdb_libconfig_sub_flag_additional) (struct config_setting_t **it, int *type, const char **source);
+typedef bool (*HPMHOOK_post_status_read_scdb_libconfig_sub_flag_additional) (bool retVal___, struct config_setting_t *it, int type, const char *source);
typedef void (*HPMHOOK_pre_status_read_job_db) (void);
typedef void (*HPMHOOK_post_status_read_job_db) (void);
typedef void (*HPMHOOK_pre_status_read_job_db_sub) (int *idx, const char **name, struct config_setting_t **jdb);
typedef void (*HPMHOOK_post_status_read_job_db_sub) (int idx, const char *name, struct config_setting_t *jdb);
-typedef void (*HPMHOOK_pre_status_set_sc) (uint16 *skill_id, sc_type *sc, int *icon, unsigned int *flag);
-typedef void (*HPMHOOK_post_status_set_sc) (uint16 skill_id, sc_type sc, int icon, unsigned int flag);
+typedef void (*HPMHOOK_pre_status_set_sc) (uint16 *skill_id, sc_type *sc, unsigned int *flag);
+typedef void (*HPMHOOK_post_status_set_sc) (uint16 skill_id, sc_type sc, 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);
@@ -7969,6 +8141,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);
@@ -8102,22 +8294,24 @@ typedef int (*HPMHOOK_pre_unit_final) (void);
typedef int (*HPMHOOK_post_unit_final) (int retVal___);
typedef struct unit_data* (*HPMHOOK_pre_unit_bl2ud) (struct block_list **bl);
typedef struct unit_data* (*HPMHOOK_post_unit_bl2ud) (struct unit_data* retVal___, struct block_list *bl);
+typedef const struct unit_data* (*HPMHOOK_pre_unit_cbl2ud) (const struct block_list **bl);
+typedef const struct unit_data* (*HPMHOOK_post_unit_cbl2ud) (const struct unit_data* retVal___, const struct block_list *bl);
typedef struct unit_data* (*HPMHOOK_pre_unit_bl2ud2) (struct block_list **bl);
typedef struct unit_data* (*HPMHOOK_post_unit_bl2ud2) (struct unit_data* retVal___, struct block_list *bl);
typedef void (*HPMHOOK_pre_unit_init_ud) (struct unit_data **ud);
typedef void (*HPMHOOK_post_unit_init_ud) (struct unit_data *ud);
typedef int (*HPMHOOK_pre_unit_attack_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
typedef int (*HPMHOOK_post_unit_attack_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
-typedef int (*HPMHOOK_pre_unit_walktoxy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
-typedef int (*HPMHOOK_post_unit_walktoxy_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
-typedef int (*HPMHOOK_pre_unit_walktoxy_sub) (struct block_list **bl);
-typedef int (*HPMHOOK_post_unit_walktoxy_sub) (int retVal___, struct block_list *bl);
-typedef int (*HPMHOOK_pre_unit_delay_walktoxy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
-typedef int (*HPMHOOK_post_unit_delay_walktoxy_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
-typedef int (*HPMHOOK_pre_unit_walktoxy) (struct block_list **bl, short *x, short *y, int *flag);
-typedef int (*HPMHOOK_post_unit_walktoxy) (int retVal___, struct block_list *bl, short x, short y, int flag);
-typedef int (*HPMHOOK_pre_unit_walktobl_sub) (int *tid, int64 *tick, int *id, intptr_t *data);
-typedef int (*HPMHOOK_post_unit_walktobl_sub) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef int (*HPMHOOK_pre_unit_walk_toxy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_walk_toxy_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef int (*HPMHOOK_pre_unit_walk_toxy_sub) (struct block_list **bl);
+typedef int (*HPMHOOK_post_unit_walk_toxy_sub) (int retVal___, struct block_list *bl);
+typedef int (*HPMHOOK_pre_unit_delay_walk_toxy_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_delay_walk_toxy_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef int (*HPMHOOK_pre_unit_walk_toxy) (struct block_list **bl, short *x, short *y, int *flag);
+typedef int (*HPMHOOK_post_unit_walk_toxy) (int retVal___, struct block_list *bl, short x, short y, int flag);
+typedef int (*HPMHOOK_pre_unit_walktobl_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_walktobl_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
typedef int (*HPMHOOK_pre_unit_walktobl) (struct block_list **bl, struct block_list **tbl, int *range, int *flag);
typedef int (*HPMHOOK_post_unit_walktobl) (int retVal___, struct block_list *bl, struct block_list *tbl, int range, int flag);
typedef bool (*HPMHOOK_pre_unit_run) (struct block_list **bl, struct map_session_data **sd, enum sc_type *type);
@@ -8128,20 +8322,22 @@ typedef int (*HPMHOOK_pre_unit_escape) (struct block_list **bl, struct block_lis
typedef int (*HPMHOOK_post_unit_escape) (int retVal___, struct block_list *bl, struct block_list *target, short dist);
typedef int (*HPMHOOK_pre_unit_movepos) (struct block_list **bl, short *dst_x, short *dst_y, int *easy, bool *checkpath);
typedef int (*HPMHOOK_post_unit_movepos) (int retVal___, struct block_list *bl, short dst_x, short dst_y, int easy, bool checkpath);
-typedef int (*HPMHOOK_pre_unit_setdir) (struct block_list **bl, unsigned char *dir);
-typedef int (*HPMHOOK_post_unit_setdir) (int retVal___, struct block_list *bl, unsigned char dir);
-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_set_dir) (struct block_list **bl, enum unit_dir *dir);
+typedef int (*HPMHOOK_post_unit_set_dir) (int retVal___, struct block_list *bl, enum unit_dir dir);
+typedef enum unit_dir (*HPMHOOK_pre_unit_getdir) (const struct block_list **bl);
+typedef enum unit_dir (*HPMHOOK_post_unit_getdir) (enum unit_dir retVal___, const 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, 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_warpto_master) (struct block_list **master_bl, struct block_list **slave_bl);
+typedef int (*HPMHOOK_post_unit_warpto_master) (int retVal___, struct block_list *master_bl, struct block_list *slave_bl);
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);
typedef int (*HPMHOOK_post_unit_skilluse_id) (int retVal___, struct block_list *src, int target_id, uint16 skill_id, uint16 skill_lv);
-typedef int (*HPMHOOK_pre_unit_step_timer) (int *tid, int64 *tick, int *id, intptr_t *data);
-typedef int (*HPMHOOK_post_unit_step_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
+typedef int (*HPMHOOK_pre_unit_steptimer) (int *tid, int64 *tick, int *id, intptr_t *data);
+typedef int (*HPMHOOK_post_unit_steptimer) (int retVal___, int tid, int64 tick, int id, intptr_t data);
typedef void (*HPMHOOK_pre_unit_stop_stepaction) (struct block_list **bl);
typedef void (*HPMHOOK_post_unit_stop_stepaction) (struct block_list *bl);
typedef int (*HPMHOOK_pre_unit_is_walking) (struct block_list **bl);
@@ -8172,8 +8368,8 @@ typedef bool (*HPMHOOK_pre_unit_can_reach_pos) (struct block_list **bl, int *x,
typedef bool (*HPMHOOK_post_unit_can_reach_pos) (bool retVal___, struct block_list *bl, int x, int y, int easy);
typedef bool (*HPMHOOK_pre_unit_can_reach_bl) (struct block_list **bl, struct block_list **tbl, int *range, int *easy, short **x, short **y);
typedef bool (*HPMHOOK_post_unit_can_reach_bl) (bool retVal___, struct block_list *bl, struct block_list *tbl, int range, int easy, short *x, short *y);
-typedef int (*HPMHOOK_pre_unit_calc_pos) (struct block_list **bl, int *tx, int *ty, uint8 *dir);
-typedef int (*HPMHOOK_post_unit_calc_pos) (int retVal___, struct block_list *bl, int tx, int ty, uint8 dir);
+typedef int (*HPMHOOK_pre_unit_calc_pos) (struct block_list **bl, int *tx, int *ty, enum unit_dir *dir);
+typedef int (*HPMHOOK_post_unit_calc_pos) (int retVal___, struct block_list *bl, int tx, int ty, enum unit_dir dir);
typedef int (*HPMHOOK_pre_unit_attack_timer_sub) (struct block_list **src, int *tid, int64 *tick);
typedef int (*HPMHOOK_post_unit_attack_timer_sub) (int retVal___, struct block_list *src, int tid, int64 tick);
typedef int (*HPMHOOK_pre_unit_skillcastcancel) (struct block_list **bl, int *type);
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc
index a8b4860f3..ab34a4f18 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -610,10 +610,6 @@ struct {
struct HPMHookPoint *HP_inter_init_sql_post;
struct HPMHookPoint *HP_inter_mapif_init_pre;
struct HPMHookPoint *HP_inter_mapif_init_post;
- struct HPMHookPoint *HP_inter_check_ttl_wisdata_sub_pre;
- struct HPMHookPoint *HP_inter_check_ttl_wisdata_sub_post;
- struct HPMHookPoint *HP_inter_check_ttl_wisdata_pre;
- struct HPMHookPoint *HP_inter_check_ttl_wisdata_post;
struct HPMHookPoint *HP_inter_check_length_pre;
struct HPMHookPoint *HP_inter_check_length_post;
struct HPMHookPoint *HP_inter_parse_frommap_pre;
@@ -630,12 +626,6 @@ struct {
struct HPMHookPoint *HP_inter_accinfo_post;
struct HPMHookPoint *HP_inter_accinfo2_pre;
struct HPMHookPoint *HP_inter_accinfo2_post;
- struct HPMHookPoint *HP_inter_add_wisdata_pre;
- struct HPMHookPoint *HP_inter_add_wisdata_post;
- struct HPMHookPoint *HP_inter_get_wisdata_pre;
- struct HPMHookPoint *HP_inter_get_wisdata_post;
- struct HPMHookPoint *HP_inter_remove_wisdata_pre;
- struct HPMHookPoint *HP_inter_remove_wisdata_post;
struct HPMHookPoint *HP_inter_mail_sql_init_pre;
struct HPMHookPoint *HP_inter_mail_sql_init_post;
struct HPMHookPoint *HP_inter_mail_sql_final_pre;
@@ -684,10 +674,14 @@ struct {
struct HPMHookPoint *HP_inter_mercenary_delete_post;
struct HPMHookPoint *HP_inter_party_check_lv_pre;
struct HPMHookPoint *HP_inter_party_check_lv_post;
+ struct HPMHookPoint *HP_inter_party_is_family_party_pre;
+ struct HPMHookPoint *HP_inter_party_is_family_party_post;
struct HPMHookPoint *HP_inter_party_calc_state_pre;
struct HPMHookPoint *HP_inter_party_calc_state_post;
struct HPMHookPoint *HP_inter_party_tosql_pre;
struct HPMHookPoint *HP_inter_party_tosql_post;
+ struct HPMHookPoint *HP_inter_party_del_nonexistent_party_pre;
+ struct HPMHookPoint *HP_inter_party_del_nonexistent_party_post;
struct HPMHookPoint *HP_inter_party_fromsql_pre;
struct HPMHookPoint *HP_inter_party_fromsql_post;
struct HPMHookPoint *HP_inter_party_sql_init_pre;
@@ -764,6 +758,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;
@@ -784,6 +782,10 @@ struct {
struct HPMHookPoint *HP_inter_storage_parse_frommap_post;
struct HPMHookPoint *HP_inter_storage_retrieve_bound_items_pre;
struct HPMHookPoint *HP_inter_storage_retrieve_bound_items_post;
+ struct HPMHookPoint *HP_libconfig_set_db_path_pre;
+ struct HPMHookPoint *HP_libconfig_set_db_path_post;
+ struct HPMHookPoint *HP_libconfig_format_db_path_pre;
+ struct HPMHookPoint *HP_libconfig_format_db_path_post;
struct HPMHookPoint *HP_libconfig_read_pre;
struct HPMHookPoint *HP_libconfig_read_post;
struct HPMHookPoint *HP_libconfig_write_pre;
@@ -1028,8 +1030,6 @@ struct {
struct HPMHookPoint *HP_mapif_guild_memberinfoshort_post;
struct HPMHookPoint *HP_mapif_guild_broken_pre;
struct HPMHookPoint *HP_mapif_guild_broken_post;
- struct HPMHookPoint *HP_mapif_guild_message_pre;
- struct HPMHookPoint *HP_mapif_guild_message_post;
struct HPMHookPoint *HP_mapif_guild_basicinfochanged_pre;
struct HPMHookPoint *HP_mapif_guild_basicinfochanged_post;
struct HPMHookPoint *HP_mapif_guild_memberinfochanged_pre;
@@ -1060,8 +1060,6 @@ struct {
struct HPMHookPoint *HP_mapif_parse_GuildChangeMemberInfoShort_post;
struct HPMHookPoint *HP_mapif_parse_BreakGuild_pre;
struct HPMHookPoint *HP_mapif_parse_BreakGuild_post;
- struct HPMHookPoint *HP_mapif_parse_GuildMessage_pre;
- struct HPMHookPoint *HP_mapif_parse_GuildMessage_post;
struct HPMHookPoint *HP_mapif_parse_GuildBasicInfoChange_pre;
struct HPMHookPoint *HP_mapif_parse_GuildBasicInfoChange_post;
struct HPMHookPoint *HP_mapif_parse_GuildMemberInfoChange_pre;
@@ -1156,8 +1154,6 @@ struct {
struct HPMHookPoint *HP_mapif_party_membermoved_post;
struct HPMHookPoint *HP_mapif_party_broken_pre;
struct HPMHookPoint *HP_mapif_party_broken_post;
- struct HPMHookPoint *HP_mapif_party_message_pre;
- struct HPMHookPoint *HP_mapif_party_message_post;
struct HPMHookPoint *HP_mapif_parse_CreateParty_pre;
struct HPMHookPoint *HP_mapif_parse_CreateParty_post;
struct HPMHookPoint *HP_mapif_parse_PartyInfo_pre;
@@ -1172,8 +1168,6 @@ struct {
struct HPMHookPoint *HP_mapif_parse_PartyChangeMap_post;
struct HPMHookPoint *HP_mapif_parse_BreakParty_pre;
struct HPMHookPoint *HP_mapif_parse_BreakParty_post;
- struct HPMHookPoint *HP_mapif_parse_PartyMessage_pre;
- struct HPMHookPoint *HP_mapif_parse_PartyMessage_post;
struct HPMHookPoint *HP_mapif_parse_PartyLeaderChange_pre;
struct HPMHookPoint *HP_mapif_parse_PartyLeaderChange_post;
struct HPMHookPoint *HP_mapif_pet_created_pre;
@@ -1224,6 +1218,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;
@@ -1246,26 +1244,10 @@ struct {
struct HPMHookPoint *HP_mapif_parse_ItemBoundRetrieve_post;
struct HPMHookPoint *HP_mapif_parse_accinfo_pre;
struct HPMHookPoint *HP_mapif_parse_accinfo_post;
- struct HPMHookPoint *HP_mapif_broadcast_pre;
- struct HPMHookPoint *HP_mapif_broadcast_post;
- struct HPMHookPoint *HP_mapif_wis_message_pre;
- struct HPMHookPoint *HP_mapif_wis_message_post;
- struct HPMHookPoint *HP_mapif_wis_response_pre;
- struct HPMHookPoint *HP_mapif_wis_response_post;
- struct HPMHookPoint *HP_mapif_wis_end_pre;
- struct HPMHookPoint *HP_mapif_wis_end_post;
struct HPMHookPoint *HP_mapif_account_reg_reply_pre;
struct HPMHookPoint *HP_mapif_account_reg_reply_post;
struct HPMHookPoint *HP_mapif_disconnectplayer_pre;
struct HPMHookPoint *HP_mapif_disconnectplayer_post;
- struct HPMHookPoint *HP_mapif_parse_broadcast_pre;
- struct HPMHookPoint *HP_mapif_parse_broadcast_post;
- struct HPMHookPoint *HP_mapif_parse_WisRequest_pre;
- struct HPMHookPoint *HP_mapif_parse_WisRequest_post;
- struct HPMHookPoint *HP_mapif_parse_WisReply_pre;
- struct HPMHookPoint *HP_mapif_parse_WisReply_post;
- struct HPMHookPoint *HP_mapif_parse_WisToGM_pre;
- struct HPMHookPoint *HP_mapif_parse_WisToGM_post;
struct HPMHookPoint *HP_mapif_parse_Registry_pre;
struct HPMHookPoint *HP_mapif_parse_Registry_post;
struct HPMHookPoint *HP_mapif_parse_RegistryRequest_pre;
@@ -1278,6 +1260,10 @@ struct {
struct HPMHookPoint *HP_mapif_parse_ClanMemberKick_post;
struct HPMHookPoint *HP_mapif_parse_ClanMemberCount_pre;
struct HPMHookPoint *HP_mapif_parse_ClanMemberCount_post;
+ struct HPMHookPoint *HP_mapindex_config_read_dbpath_pre;
+ struct HPMHookPoint *HP_mapindex_config_read_dbpath_post;
+ struct HPMHookPoint *HP_mapindex_config_read_pre;
+ struct HPMHookPoint *HP_mapindex_config_read_post;
struct HPMHookPoint *HP_mapindex_init_pre;
struct HPMHookPoint *HP_mapindex_init_post;
struct HPMHookPoint *HP_mapindex_final_pre;
@@ -1322,6 +1308,10 @@ struct {
struct HPMHookPoint *HP_mutex_cond_signal_post;
struct HPMHookPoint *HP_mutex_cond_broadcast_pre;
struct HPMHookPoint *HP_mutex_cond_broadcast_post;
+ struct HPMHookPoint *HP_nullpo_init_pre;
+ struct HPMHookPoint *HP_nullpo_init_post;
+ struct HPMHookPoint *HP_nullpo_final_pre;
+ struct HPMHookPoint *HP_nullpo_final_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
struct HPMHookPoint *HP_packets_init_pre;
@@ -1422,6 +1412,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;
@@ -2247,10 +2239,6 @@ struct {
int HP_inter_init_sql_post;
int HP_inter_mapif_init_pre;
int HP_inter_mapif_init_post;
- int HP_inter_check_ttl_wisdata_sub_pre;
- int HP_inter_check_ttl_wisdata_sub_post;
- int HP_inter_check_ttl_wisdata_pre;
- int HP_inter_check_ttl_wisdata_post;
int HP_inter_check_length_pre;
int HP_inter_check_length_post;
int HP_inter_parse_frommap_pre;
@@ -2267,12 +2255,6 @@ struct {
int HP_inter_accinfo_post;
int HP_inter_accinfo2_pre;
int HP_inter_accinfo2_post;
- int HP_inter_add_wisdata_pre;
- int HP_inter_add_wisdata_post;
- int HP_inter_get_wisdata_pre;
- int HP_inter_get_wisdata_post;
- int HP_inter_remove_wisdata_pre;
- int HP_inter_remove_wisdata_post;
int HP_inter_mail_sql_init_pre;
int HP_inter_mail_sql_init_post;
int HP_inter_mail_sql_final_pre;
@@ -2321,10 +2303,14 @@ struct {
int HP_inter_mercenary_delete_post;
int HP_inter_party_check_lv_pre;
int HP_inter_party_check_lv_post;
+ int HP_inter_party_is_family_party_pre;
+ int HP_inter_party_is_family_party_post;
int HP_inter_party_calc_state_pre;
int HP_inter_party_calc_state_post;
int HP_inter_party_tosql_pre;
int HP_inter_party_tosql_post;
+ int HP_inter_party_del_nonexistent_party_pre;
+ int HP_inter_party_del_nonexistent_party_post;
int HP_inter_party_fromsql_pre;
int HP_inter_party_fromsql_post;
int HP_inter_party_sql_init_pre;
@@ -2401,6 +2387,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;
@@ -2421,6 +2411,10 @@ struct {
int HP_inter_storage_parse_frommap_post;
int HP_inter_storage_retrieve_bound_items_pre;
int HP_inter_storage_retrieve_bound_items_post;
+ int HP_libconfig_set_db_path_pre;
+ int HP_libconfig_set_db_path_post;
+ int HP_libconfig_format_db_path_pre;
+ int HP_libconfig_format_db_path_post;
int HP_libconfig_read_pre;
int HP_libconfig_read_post;
int HP_libconfig_write_pre;
@@ -2665,8 +2659,6 @@ struct {
int HP_mapif_guild_memberinfoshort_post;
int HP_mapif_guild_broken_pre;
int HP_mapif_guild_broken_post;
- int HP_mapif_guild_message_pre;
- int HP_mapif_guild_message_post;
int HP_mapif_guild_basicinfochanged_pre;
int HP_mapif_guild_basicinfochanged_post;
int HP_mapif_guild_memberinfochanged_pre;
@@ -2697,8 +2689,6 @@ struct {
int HP_mapif_parse_GuildChangeMemberInfoShort_post;
int HP_mapif_parse_BreakGuild_pre;
int HP_mapif_parse_BreakGuild_post;
- int HP_mapif_parse_GuildMessage_pre;
- int HP_mapif_parse_GuildMessage_post;
int HP_mapif_parse_GuildBasicInfoChange_pre;
int HP_mapif_parse_GuildBasicInfoChange_post;
int HP_mapif_parse_GuildMemberInfoChange_pre;
@@ -2793,8 +2783,6 @@ struct {
int HP_mapif_party_membermoved_post;
int HP_mapif_party_broken_pre;
int HP_mapif_party_broken_post;
- int HP_mapif_party_message_pre;
- int HP_mapif_party_message_post;
int HP_mapif_parse_CreateParty_pre;
int HP_mapif_parse_CreateParty_post;
int HP_mapif_parse_PartyInfo_pre;
@@ -2809,8 +2797,6 @@ struct {
int HP_mapif_parse_PartyChangeMap_post;
int HP_mapif_parse_BreakParty_pre;
int HP_mapif_parse_BreakParty_post;
- int HP_mapif_parse_PartyMessage_pre;
- int HP_mapif_parse_PartyMessage_post;
int HP_mapif_parse_PartyLeaderChange_pre;
int HP_mapif_parse_PartyLeaderChange_post;
int HP_mapif_pet_created_pre;
@@ -2861,6 +2847,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;
@@ -2883,26 +2873,10 @@ struct {
int HP_mapif_parse_ItemBoundRetrieve_post;
int HP_mapif_parse_accinfo_pre;
int HP_mapif_parse_accinfo_post;
- int HP_mapif_broadcast_pre;
- int HP_mapif_broadcast_post;
- int HP_mapif_wis_message_pre;
- int HP_mapif_wis_message_post;
- int HP_mapif_wis_response_pre;
- int HP_mapif_wis_response_post;
- int HP_mapif_wis_end_pre;
- int HP_mapif_wis_end_post;
int HP_mapif_account_reg_reply_pre;
int HP_mapif_account_reg_reply_post;
int HP_mapif_disconnectplayer_pre;
int HP_mapif_disconnectplayer_post;
- int HP_mapif_parse_broadcast_pre;
- int HP_mapif_parse_broadcast_post;
- int HP_mapif_parse_WisRequest_pre;
- int HP_mapif_parse_WisRequest_post;
- int HP_mapif_parse_WisReply_pre;
- int HP_mapif_parse_WisReply_post;
- int HP_mapif_parse_WisToGM_pre;
- int HP_mapif_parse_WisToGM_post;
int HP_mapif_parse_Registry_pre;
int HP_mapif_parse_Registry_post;
int HP_mapif_parse_RegistryRequest_pre;
@@ -2915,6 +2889,10 @@ struct {
int HP_mapif_parse_ClanMemberKick_post;
int HP_mapif_parse_ClanMemberCount_pre;
int HP_mapif_parse_ClanMemberCount_post;
+ int HP_mapindex_config_read_dbpath_pre;
+ int HP_mapindex_config_read_dbpath_post;
+ int HP_mapindex_config_read_pre;
+ int HP_mapindex_config_read_post;
int HP_mapindex_init_pre;
int HP_mapindex_init_post;
int HP_mapindex_final_pre;
@@ -2959,6 +2937,10 @@ struct {
int HP_mutex_cond_signal_post;
int HP_mutex_cond_broadcast_pre;
int HP_mutex_cond_broadcast_post;
+ int HP_nullpo_init_pre;
+ int HP_nullpo_init_post;
+ int HP_nullpo_final_pre;
+ int HP_nullpo_final_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
int HP_packets_init_pre;
@@ -3059,6 +3041,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;
diff --git a/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc
index 56c5bcfb7..238580b83 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -333,8 +333,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(inter->vlog, HP_inter_vlog) },
{ HP_POP(inter->init_sql, HP_inter_init_sql) },
{ HP_POP(inter->mapif_init, HP_inter_mapif_init) },
- { HP_POP(inter->check_ttl_wisdata_sub, HP_inter_check_ttl_wisdata_sub) },
- { HP_POP(inter->check_ttl_wisdata, HP_inter_check_ttl_wisdata) },
{ HP_POP(inter->check_length, HP_inter_check_length) },
{ HP_POP(inter->parse_frommap, HP_inter_parse_frommap) },
{ HP_POP(inter->final, HP_inter_final) },
@@ -343,9 +341,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(inter->config_read_connection, HP_inter_config_read_connection) },
{ HP_POP(inter->accinfo, HP_inter_accinfo) },
{ HP_POP(inter->accinfo2, HP_inter_accinfo2) },
- { HP_POP(inter->add_wisdata, HP_inter_add_wisdata) },
- { HP_POP(inter->get_wisdata, HP_inter_get_wisdata) },
- { HP_POP(inter->remove_wisdata, HP_inter_remove_wisdata) },
/* inter_mail_interface */
{ HP_POP(inter_mail->sql_init, HP_inter_mail_sql_init) },
{ HP_POP(inter_mail->sql_final, HP_inter_mail_sql_final) },
@@ -373,8 +368,10 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(inter_mercenary->delete, HP_inter_mercenary_delete) },
/* inter_party_interface */
{ HP_POP(inter_party->check_lv, HP_inter_party_check_lv) },
+ { HP_POP(inter_party->is_family_party, HP_inter_party_is_family_party) },
{ HP_POP(inter_party->calc_state, HP_inter_party_calc_state) },
{ HP_POP(inter_party->tosql, HP_inter_party_tosql) },
+ { HP_POP(inter_party->del_nonexistent_party, HP_inter_party_del_nonexistent_party) },
{ HP_POP(inter_party->fromsql, HP_inter_party_fromsql) },
{ HP_POP(inter_party->sql_init, HP_inter_party_sql_init) },
{ HP_POP(inter_party->sql_final, HP_inter_party_sql_final) },
@@ -416,6 +413,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) },
@@ -428,6 +427,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(inter_storage->parse_frommap, HP_inter_storage_parse_frommap) },
{ HP_POP(inter_storage->retrieve_bound_items, HP_inter_storage_retrieve_bound_items) },
/* libconfig_interface */
+ { HP_POP(libconfig->set_db_path, HP_libconfig_set_db_path) },
+ { HP_POP(libconfig->format_db_path, HP_libconfig_format_db_path) },
{ HP_POP(libconfig->read, HP_libconfig_read) },
{ HP_POP(libconfig->write, HP_libconfig_write) },
{ HP_POP(libconfig->set_options, HP_libconfig_set_options) },
@@ -552,7 +553,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mapif->guild_withdraw, HP_mapif_guild_withdraw) },
{ HP_POP(mapif->guild_memberinfoshort, HP_mapif_guild_memberinfoshort) },
{ HP_POP(mapif->guild_broken, HP_mapif_guild_broken) },
- { HP_POP(mapif->guild_message, HP_mapif_guild_message) },
{ HP_POP(mapif->guild_basicinfochanged, HP_mapif_guild_basicinfochanged) },
{ HP_POP(mapif->guild_memberinfochanged, HP_mapif_guild_memberinfochanged) },
{ HP_POP(mapif->guild_skillupack, HP_mapif_guild_skillupack) },
@@ -568,7 +568,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mapif->parse_GuildLeave, HP_mapif_parse_GuildLeave) },
{ HP_POP(mapif->parse_GuildChangeMemberInfoShort, HP_mapif_parse_GuildChangeMemberInfoShort) },
{ HP_POP(mapif->parse_BreakGuild, HP_mapif_parse_BreakGuild) },
- { HP_POP(mapif->parse_GuildMessage, HP_mapif_parse_GuildMessage) },
{ HP_POP(mapif->parse_GuildBasicInfoChange, HP_mapif_parse_GuildBasicInfoChange) },
{ HP_POP(mapif->parse_GuildMemberInfoChange, HP_mapif_parse_GuildMemberInfoChange) },
{ HP_POP(mapif->parse_GuildPosition, HP_mapif_parse_GuildPosition) },
@@ -616,7 +615,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mapif->party_withdraw, HP_mapif_party_withdraw) },
{ HP_POP(mapif->party_membermoved, HP_mapif_party_membermoved) },
{ HP_POP(mapif->party_broken, HP_mapif_party_broken) },
- { HP_POP(mapif->party_message, HP_mapif_party_message) },
{ HP_POP(mapif->parse_CreateParty, HP_mapif_parse_CreateParty) },
{ HP_POP(mapif->parse_PartyInfo, HP_mapif_parse_PartyInfo) },
{ HP_POP(mapif->parse_PartyAddMember, HP_mapif_parse_PartyAddMember) },
@@ -624,7 +622,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mapif->parse_PartyLeave, HP_mapif_parse_PartyLeave) },
{ HP_POP(mapif->parse_PartyChangeMap, HP_mapif_parse_PartyChangeMap) },
{ HP_POP(mapif->parse_BreakParty, HP_mapif_parse_BreakParty) },
- { HP_POP(mapif->parse_PartyMessage, HP_mapif_parse_PartyMessage) },
{ HP_POP(mapif->parse_PartyLeaderChange, HP_mapif_parse_PartyLeaderChange) },
{ HP_POP(mapif->pet_created, HP_mapif_pet_created) },
{ HP_POP(mapif->pet_info, HP_mapif_pet_info) },
@@ -650,6 +647,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) },
@@ -661,16 +660,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mapif->itembound_ack, HP_mapif_itembound_ack) },
{ HP_POP(mapif->parse_ItemBoundRetrieve, HP_mapif_parse_ItemBoundRetrieve) },
{ HP_POP(mapif->parse_accinfo, HP_mapif_parse_accinfo) },
- { HP_POP(mapif->broadcast, HP_mapif_broadcast) },
- { HP_POP(mapif->wis_message, HP_mapif_wis_message) },
- { HP_POP(mapif->wis_response, HP_mapif_wis_response) },
- { HP_POP(mapif->wis_end, HP_mapif_wis_end) },
{ HP_POP(mapif->account_reg_reply, HP_mapif_account_reg_reply) },
{ HP_POP(mapif->disconnectplayer, HP_mapif_disconnectplayer) },
- { HP_POP(mapif->parse_broadcast, HP_mapif_parse_broadcast) },
- { HP_POP(mapif->parse_WisRequest, HP_mapif_parse_WisRequest) },
- { HP_POP(mapif->parse_WisReply, HP_mapif_parse_WisReply) },
- { HP_POP(mapif->parse_WisToGM, HP_mapif_parse_WisToGM) },
{ HP_POP(mapif->parse_Registry, HP_mapif_parse_Registry) },
{ HP_POP(mapif->parse_RegistryRequest, HP_mapif_parse_RegistryRequest) },
{ HP_POP(mapif->namechange_ack, HP_mapif_namechange_ack) },
@@ -678,6 +669,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mapif->parse_ClanMemberKick, HP_mapif_parse_ClanMemberKick) },
{ HP_POP(mapif->parse_ClanMemberCount, HP_mapif_parse_ClanMemberCount) },
/* mapindex_interface */
+ { HP_POP(mapindex->config_read_dbpath, HP_mapindex_config_read_dbpath) },
+ { HP_POP(mapindex->config_read, HP_mapindex_config_read) },
{ HP_POP(mapindex->init, HP_mapindex_init) },
{ HP_POP(mapindex->final, HP_mapindex_final) },
{ HP_POP(mapindex->addmap, HP_mapindex_addmap) },
@@ -703,6 +696,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mutex->cond_signal, HP_mutex_cond_signal) },
{ HP_POP(mutex->cond_broadcast, HP_mutex_cond_broadcast) },
/* nullpo_interface */
+ { HP_POP(nullpo->init, HP_nullpo_init) },
+ { HP_POP(nullpo->final, HP_nullpo_final) },
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
/* packets_interface */
{ HP_POP(packets->init, HP_packets_init) },
@@ -758,6 +753,7 @@ struct HookingPointData HookingPoints[] = {
{ 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 0bd61ba15..8c1dec681 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -7851,66 +7851,6 @@ int HP_inter_mapif_init(int fd) {
}
return retVal___;
}
-int HP_inter_check_ttl_wisdata_sub(union DBKey key, struct DBData *data, va_list ap) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_inter_check_ttl_wisdata_sub_pre > 0) {
- int (*preHookFunc) (union DBKey *key, struct DBData **data, va_list ap);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_check_ttl_wisdata_sub_pre; hIndex++) {
- va_list ap___copy; va_copy(ap___copy, ap);
- preHookFunc = HPMHooks.list.HP_inter_check_ttl_wisdata_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.inter.check_ttl_wisdata_sub(key, data, ap___copy);
- va_end(ap___copy);
- }
- if (HPMHooks.count.HP_inter_check_ttl_wisdata_sub_post > 0) {
- int (*postHookFunc) (int retVal___, union DBKey key, struct DBData *data, va_list ap);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_check_ttl_wisdata_sub_post; hIndex++) {
- va_list ap___copy; va_copy(ap___copy, ap);
- postHookFunc = HPMHooks.list.HP_inter_check_ttl_wisdata_sub_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, key, data, ap___copy);
- va_end(ap___copy);
- }
- }
- return retVal___;
-}
-int HP_inter_check_ttl_wisdata(void) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_inter_check_ttl_wisdata_pre > 0) {
- int (*preHookFunc) (void);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_check_ttl_wisdata_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_inter_check_ttl_wisdata_pre[hIndex].func;
- retVal___ = preHookFunc();
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.inter.check_ttl_wisdata();
- }
- if (HPMHooks.count.HP_inter_check_ttl_wisdata_post > 0) {
- int (*postHookFunc) (int retVal___);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_check_ttl_wisdata_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_inter_check_ttl_wisdata_post[hIndex].func;
- retVal___ = postHookFunc(retVal___);
- }
- }
- return retVal___;
-}
int HP_inter_check_length(int fd, int length) {
int hIndex = 0;
int retVal___ = 0;
@@ -8124,86 +8064,6 @@ void HP_inter_accinfo2(bool success, int map_fd, int u_fd, int u_aid, int accoun
}
return;
}
-struct WisData* HP_inter_add_wisdata(int fd, const unsigned char *src, const unsigned char *dst, const unsigned char *msg, int msg_len) {
- int hIndex = 0;
- struct WisData* retVal___ = NULL;
- if (HPMHooks.count.HP_inter_add_wisdata_pre > 0) {
- struct WisData* (*preHookFunc) (int *fd, const unsigned char **src, const unsigned char **dst, const unsigned char **msg, int *msg_len);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_add_wisdata_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_inter_add_wisdata_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &src, &dst, &msg, &msg_len);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.inter.add_wisdata(fd, src, dst, msg, msg_len);
- }
- if (HPMHooks.count.HP_inter_add_wisdata_post > 0) {
- struct WisData* (*postHookFunc) (struct WisData* retVal___, int fd, const unsigned char *src, const unsigned char *dst, const unsigned char *msg, int msg_len);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_add_wisdata_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_inter_add_wisdata_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, src, dst, msg, msg_len);
- }
- }
- return retVal___;
-}
-struct WisData* HP_inter_get_wisdata(int id) {
- int hIndex = 0;
- struct WisData* retVal___ = NULL;
- if (HPMHooks.count.HP_inter_get_wisdata_pre > 0) {
- struct WisData* (*preHookFunc) (int *id);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_get_wisdata_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_inter_get_wisdata_pre[hIndex].func;
- retVal___ = preHookFunc(&id);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.inter.get_wisdata(id);
- }
- if (HPMHooks.count.HP_inter_get_wisdata_post > 0) {
- struct WisData* (*postHookFunc) (struct WisData* retVal___, int id);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_get_wisdata_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_inter_get_wisdata_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, id);
- }
- }
- return retVal___;
-}
-void HP_inter_remove_wisdata(int id) {
- int hIndex = 0;
- if (HPMHooks.count.HP_inter_remove_wisdata_pre > 0) {
- void (*preHookFunc) (int *id);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_remove_wisdata_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_inter_remove_wisdata_pre[hIndex].func;
- preHookFunc(&id);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.inter.remove_wisdata(id);
- }
- if (HPMHooks.count.HP_inter_remove_wisdata_post > 0) {
- void (*postHookFunc) (int id);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_remove_wisdata_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_inter_remove_wisdata_post[hIndex].func;
- postHookFunc(id);
- }
- }
- return;
-}
/* inter_mail_interface */
int HP_inter_mail_sql_init(void) {
int hIndex = 0;
@@ -8852,6 +8712,33 @@ int HP_inter_party_check_lv(struct party_data *p) {
}
return retVal___;
}
+int HP_inter_party_is_family_party(struct party_data *p) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_inter_party_is_family_party_pre > 0) {
+ int (*preHookFunc) (struct party_data **p);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_party_is_family_party_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_party_is_family_party_pre[hIndex].func;
+ retVal___ = preHookFunc(&p);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_party.is_family_party(p);
+ }
+ if (HPMHooks.count.HP_inter_party_is_family_party_post > 0) {
+ int (*postHookFunc) (int retVal___, struct party_data *p);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_party_is_family_party_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_party_is_family_party_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, p);
+ }
+ }
+ return retVal___;
+}
void HP_inter_party_calc_state(struct party_data *p) {
int hIndex = 0;
if (HPMHooks.count.HP_inter_party_calc_state_pre > 0) {
@@ -8905,6 +8792,33 @@ int HP_inter_party_tosql(struct party *p, int flag, int index) {
}
return retVal___;
}
+int HP_inter_party_del_nonexistent_party(int party_id) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_inter_party_del_nonexistent_party_pre > 0) {
+ int (*preHookFunc) (int *party_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_party_del_nonexistent_party_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_inter_party_del_nonexistent_party_pre[hIndex].func;
+ retVal___ = preHookFunc(&party_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.inter_party.del_nonexistent_party(party_id);
+ }
+ if (HPMHooks.count.HP_inter_party_del_nonexistent_party_post > 0) {
+ int (*postHookFunc) (int retVal___, int party_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_party_del_nonexistent_party_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_inter_party_del_nonexistent_party_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, party_id);
+ }
+ }
+ return retVal___;
+}
struct party_data* HP_inter_party_fromsql(int party_id) {
int hIndex = 0;
struct party_data* retVal___ = NULL;
@@ -9255,11 +9169,11 @@ bool HP_inter_party_change_option(int party_id, int account_id, int exp, int ite
}
return retVal___;
}
-bool HP_inter_party_change_map(int party_id, int account_id, int char_id, unsigned short map, int online, unsigned int lv) {
+bool HP_inter_party_change_map(int party_id, int account_id, int char_id, unsigned short map, int online, int lv) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_inter_party_change_map_pre > 0) {
- bool (*preHookFunc) (int *party_id, int *account_id, int *char_id, unsigned short *map, int *online, unsigned int *lv);
+ bool (*preHookFunc) (int *party_id, int *account_id, int *char_id, unsigned short *map, int *online, int *lv);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_party_change_map_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_party_change_map_pre[hIndex].func;
@@ -9274,7 +9188,7 @@ bool HP_inter_party_change_map(int party_id, int account_id, int char_id, unsign
retVal___ = HPMHooks.source.inter_party.change_map(party_id, account_id, char_id, map, online, lv);
}
if (HPMHooks.count.HP_inter_party_change_map_post > 0) {
- bool (*postHookFunc) (bool retVal___, int party_id, int account_id, int char_id, unsigned short map, int online, unsigned int lv);
+ bool (*postHookFunc) (bool retVal___, int party_id, int account_id, int char_id, unsigned short map, int online, int lv);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_party_change_map_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_party_change_map_post[hIndex].func;
retVal___ = postHookFunc(retVal___, party_id, account_id, char_id, map, online, lv);
@@ -9904,15 +9818,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;
@@ -9920,13 +9834,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___;
@@ -10202,6 +10170,58 @@ bool HP_inter_storage_retrieve_bound_items(int char_id, int account_id, int guil
return retVal___;
}
/* libconfig_interface */
+void HP_libconfig_set_db_path(const char *db_path) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_libconfig_set_db_path_pre > 0) {
+ void (*preHookFunc) (const char **db_path);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_libconfig_set_db_path_pre[hIndex].func;
+ preHookFunc(&db_path);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.libconfig.set_db_path(db_path);
+ }
+ if (HPMHooks.count.HP_libconfig_set_db_path_post > 0) {
+ void (*postHookFunc) (const char *db_path);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_libconfig_set_db_path_post[hIndex].func;
+ postHookFunc(db_path);
+ }
+ }
+ return;
+}
+void HP_libconfig_format_db_path(const char *filename, char *path_buf, int buffer_len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_libconfig_format_db_path_pre > 0) {
+ void (*preHookFunc) (const char **filename, char **path_buf, int *buffer_len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_libconfig_format_db_path_pre[hIndex].func;
+ preHookFunc(&filename, &path_buf, &buffer_len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.libconfig.format_db_path(filename, path_buf, buffer_len);
+ }
+ if (HPMHooks.count.HP_libconfig_format_db_path_post > 0) {
+ void (*postHookFunc) (const char *filename, char *path_buf, int buffer_len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_libconfig_format_db_path_post[hIndex].func;
+ postHookFunc(filename, path_buf, buffer_len);
+ }
+ }
+ return;
+}
int HP_libconfig_read(struct config_t *config, FILE *stream) {
int hIndex = 0;
int retVal___ = 0;
@@ -13444,33 +13464,6 @@ int HP_mapif_guild_broken(int guild_id, int flag) {
}
return retVal___;
}
-int HP_mapif_guild_message(int guild_id, int account_id, const char *mes, int len, int sfd) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_guild_message_pre > 0) {
- int (*preHookFunc) (int *guild_id, int *account_id, const char **mes, int *len, int *sfd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_guild_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_guild_message_pre[hIndex].func;
- retVal___ = preHookFunc(&guild_id, &account_id, &mes, &len, &sfd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.guild_message(guild_id, account_id, mes, len, sfd);
- }
- if (HPMHooks.count.HP_mapif_guild_message_post > 0) {
- int (*postHookFunc) (int retVal___, int guild_id, int account_id, const char *mes, int len, int sfd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_guild_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_guild_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, guild_id, account_id, mes, len, sfd);
- }
- }
- return retVal___;
-}
int HP_mapif_guild_basicinfochanged(int guild_id, int type, const void *data, int len) {
int hIndex = 0;
int retVal___ = 0;
@@ -13876,33 +13869,6 @@ int HP_mapif_parse_BreakGuild(int fd, int guild_id) {
}
return retVal___;
}
-int HP_mapif_parse_GuildMessage(int fd, int guild_id, int account_id, const char *mes, int len) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_parse_GuildMessage_pre > 0) {
- int (*preHookFunc) (int *fd, int *guild_id, int *account_id, const char **mes, int *len);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_GuildMessage_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_parse_GuildMessage_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &guild_id, &account_id, &mes, &len);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.parse_GuildMessage(fd, guild_id, account_id, mes, len);
- }
- if (HPMHooks.count.HP_mapif_parse_GuildMessage_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, int guild_id, int account_id, const char *mes, int len);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_GuildMessage_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_parse_GuildMessage_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, guild_id, account_id, mes, len);
- }
- }
- return retVal___;
-}
int HP_mapif_parse_GuildBasicInfoChange(int fd, int guild_id, int type, const void *data, int len) {
int hIndex = 0;
int retVal___ = 0;
@@ -15141,33 +15107,6 @@ int HP_mapif_party_broken(int party_id, int flag) {
}
return retVal___;
}
-int HP_mapif_party_message(int party_id, int account_id, const char *mes, int len, int sfd) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_party_message_pre > 0) {
- int (*preHookFunc) (int *party_id, int *account_id, const char **mes, int *len, int *sfd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_party_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_party_message_pre[hIndex].func;
- retVal___ = preHookFunc(&party_id, &account_id, &mes, &len, &sfd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.party_message(party_id, account_id, mes, len, sfd);
- }
- if (HPMHooks.count.HP_mapif_party_message_post > 0) {
- int (*postHookFunc) (int retVal___, int party_id, int account_id, const char *mes, int len, int sfd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_party_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_party_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, party_id, account_id, mes, len, sfd);
- }
- }
- return retVal___;
-}
int HP_mapif_parse_CreateParty(int fd, const char *name, int item, int item2, const struct party_member *leader) {
int hIndex = 0;
int retVal___ = 0;
@@ -15356,33 +15295,6 @@ int HP_mapif_parse_BreakParty(int fd, int party_id) {
}
return retVal___;
}
-int HP_mapif_parse_PartyMessage(int fd, int party_id, int account_id, const char *mes, int len) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_parse_PartyMessage_pre > 0) {
- int (*preHookFunc) (int *fd, int *party_id, int *account_id, const char **mes, int *len);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_PartyMessage_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_parse_PartyMessage_pre[hIndex].func;
- retVal___ = preHookFunc(&fd, &party_id, &account_id, &mes, &len);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.parse_PartyMessage(fd, party_id, account_id, mes, len);
- }
- if (HPMHooks.count.HP_mapif_parse_PartyMessage_post > 0) {
- int (*postHookFunc) (int retVal___, int fd, int party_id, int account_id, const char *mes, int len);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_PartyMessage_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_parse_PartyMessage_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd, party_id, account_id, mes, len);
- }
- }
- return retVal___;
-}
int HP_mapif_parse_PartyLeaderChange(int fd, int party_id, int account_id, int char_id) {
int hIndex = 0;
int retVal___ = 0;
@@ -16047,6 +15959,58 @@ void HP_mapif_rodex_checkname(int fd, int reqchar_id, int target_char_id, int ta
}
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;
@@ -16341,113 +16305,6 @@ void HP_mapif_parse_accinfo(int fd) {
}
return;
}
-int HP_mapif_broadcast(const unsigned char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, int sfd) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_broadcast_pre > 0) {
- int (*preHookFunc) (const unsigned char **mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY, int *sfd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_broadcast_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_broadcast_pre[hIndex].func;
- retVal___ = preHookFunc(&mes, &len, &fontColor, &fontType, &fontSize, &fontAlign, &fontY, &sfd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.broadcast(mes, len, fontColor, fontType, fontSize, fontAlign, fontY, sfd);
- }
- if (HPMHooks.count.HP_mapif_broadcast_post > 0) {
- int (*postHookFunc) (int retVal___, const unsigned char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY, int sfd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_broadcast_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_broadcast_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, mes, len, fontColor, fontType, fontSize, fontAlign, fontY, sfd);
- }
- }
- return retVal___;
-}
-int HP_mapif_wis_message(struct WisData *wd) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_wis_message_pre > 0) {
- int (*preHookFunc) (struct WisData **wd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_wis_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_wis_message_pre[hIndex].func;
- retVal___ = preHookFunc(&wd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.wis_message(wd);
- }
- if (HPMHooks.count.HP_mapif_wis_message_post > 0) {
- int (*postHookFunc) (int retVal___, struct WisData *wd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_wis_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_wis_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, wd);
- }
- }
- return retVal___;
-}
-void HP_mapif_wis_response(int fd, const unsigned char *src, int flag) {
- int hIndex = 0;
- if (HPMHooks.count.HP_mapif_wis_response_pre > 0) {
- void (*preHookFunc) (int *fd, const unsigned char **src, int *flag);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_wis_response_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_wis_response_pre[hIndex].func;
- preHookFunc(&fd, &src, &flag);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.mapif.wis_response(fd, src, flag);
- }
- if (HPMHooks.count.HP_mapif_wis_response_post > 0) {
- void (*postHookFunc) (int fd, const unsigned char *src, int flag);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_wis_response_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_wis_response_post[hIndex].func;
- postHookFunc(fd, src, flag);
- }
- }
- return;
-}
-int HP_mapif_wis_end(struct WisData *wd, int flag) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_wis_end_pre > 0) {
- int (*preHookFunc) (struct WisData **wd, int *flag);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_wis_end_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_wis_end_pre[hIndex].func;
- retVal___ = preHookFunc(&wd, &flag);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.wis_end(wd, flag);
- }
- if (HPMHooks.count.HP_mapif_wis_end_post > 0) {
- int (*postHookFunc) (int retVal___, struct WisData *wd, int flag);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_wis_end_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_wis_end_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, wd, flag);
- }
- }
- return retVal___;
-}
int HP_mapif_account_reg_reply(int fd, int account_id, int char_id, int type) {
int hIndex = 0;
int retVal___ = 0;
@@ -16502,114 +16359,6 @@ int HP_mapif_disconnectplayer(int fd, int account_id, int char_id, int reason) {
}
return retVal___;
}
-int HP_mapif_parse_broadcast(int fd) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_parse_broadcast_pre > 0) {
- int (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_broadcast_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_parse_broadcast_pre[hIndex].func;
- retVal___ = preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.parse_broadcast(fd);
- }
- if (HPMHooks.count.HP_mapif_parse_broadcast_post > 0) {
- int (*postHookFunc) (int retVal___, int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_broadcast_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_parse_broadcast_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd);
- }
- }
- return retVal___;
-}
-int HP_mapif_parse_WisRequest(int fd) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_parse_WisRequest_pre > 0) {
- int (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_WisRequest_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_parse_WisRequest_pre[hIndex].func;
- retVal___ = preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.parse_WisRequest(fd);
- }
- if (HPMHooks.count.HP_mapif_parse_WisRequest_post > 0) {
- int (*postHookFunc) (int retVal___, int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_WisRequest_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_parse_WisRequest_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd);
- }
- }
- return retVal___;
-}
-int HP_mapif_parse_WisReply(int fd) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_parse_WisReply_pre > 0) {
- int (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_WisReply_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_parse_WisReply_pre[hIndex].func;
- retVal___ = preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.parse_WisReply(fd);
- }
- if (HPMHooks.count.HP_mapif_parse_WisReply_post > 0) {
- int (*postHookFunc) (int retVal___, int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_WisReply_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_parse_WisReply_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd);
- }
- }
- return retVal___;
-}
-int HP_mapif_parse_WisToGM(int fd) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_mapif_parse_WisToGM_pre > 0) {
- int (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_WisToGM_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mapif_parse_WisToGM_pre[hIndex].func;
- retVal___ = preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.mapif.parse_WisToGM(fd);
- }
- if (HPMHooks.count.HP_mapif_parse_WisToGM_post > 0) {
- int (*postHookFunc) (int retVal___, int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_parse_WisToGM_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mapif_parse_WisToGM_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fd);
- }
- }
- return retVal___;
-}
int HP_mapif_parse_Registry(int fd) {
int hIndex = 0;
int retVal___ = 0;
@@ -16772,6 +16521,60 @@ int HP_mapif_parse_ClanMemberCount(int fd, int clan_id, int kick_interval) {
return retVal___;
}
/* mapindex_interface */
+bool HP_mapindex_config_read_dbpath(const char *filename, const struct config_t *config) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mapindex_config_read_dbpath_pre > 0) {
+ bool (*preHookFunc) (const char **filename, const struct config_t **config);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_dbpath_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapindex_config_read_dbpath_pre[hIndex].func;
+ retVal___ = preHookFunc(&filename, &config);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapindex.config_read_dbpath(filename, config);
+ }
+ if (HPMHooks.count.HP_mapindex_config_read_dbpath_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const char *filename, const struct config_t *config);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_dbpath_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapindex_config_read_dbpath_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, filename, config);
+ }
+ }
+ return retVal___;
+}
+bool HP_mapindex_config_read(void) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mapindex_config_read_pre > 0) {
+ bool (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapindex_config_read_pre[hIndex].func;
+ retVal___ = preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapindex.config_read();
+ }
+ if (HPMHooks.count.HP_mapindex_config_read_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapindex_config_read_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
+ }
+ }
+ return retVal___;
+}
int HP_mapindex_init(void) {
int hIndex = 0;
int retVal___ = 0;
@@ -17357,6 +17160,58 @@ void HP_mutex_cond_broadcast(struct cond_data *c) {
return;
}
/* nullpo_interface */
+void HP_nullpo_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_nullpo_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_nullpo_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.nullpo.init();
+ }
+ if (HPMHooks.count.HP_nullpo_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_nullpo_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_nullpo_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_nullpo_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_nullpo_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.nullpo.final();
+ }
+ if (HPMHooks.count.HP_nullpo_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_nullpo_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
void HP_nullpo_assert_report(const char *file, int line, const char *func, const char *targetname, const char *title) {
int hIndex = 0;
if (HPMHooks.count.HP_nullpo_assert_report_pre > 0) {
@@ -18686,6 +18541,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 973f8aff3..7adc65b3c 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc
index 7293e8fc4..2875df334 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -212,6 +212,10 @@ struct {
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_REQ_HASH_post;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_pre;
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_post;
+ struct HPMHookPoint *HP_libconfig_set_db_path_pre;
+ struct HPMHookPoint *HP_libconfig_set_db_path_post;
+ struct HPMHookPoint *HP_libconfig_format_db_path_pre;
+ struct HPMHookPoint *HP_libconfig_format_db_path_post;
struct HPMHookPoint *HP_libconfig_read_pre;
struct HPMHookPoint *HP_libconfig_read_post;
struct HPMHookPoint *HP_libconfig_write_pre;
@@ -516,6 +520,10 @@ struct {
struct HPMHookPoint *HP_mutex_cond_signal_post;
struct HPMHookPoint *HP_mutex_cond_broadcast_pre;
struct HPMHookPoint *HP_mutex_cond_broadcast_post;
+ struct HPMHookPoint *HP_nullpo_init_pre;
+ struct HPMHookPoint *HP_nullpo_init_post;
+ struct HPMHookPoint *HP_nullpo_final_pre;
+ struct HPMHookPoint *HP_nullpo_final_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
struct HPMHookPoint *HP_packets_init_pre;
@@ -584,6 +592,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;
@@ -1011,6 +1021,10 @@ struct {
int HP_PRIV__lclif_parse_CA_REQ_HASH_post;
int HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_pre;
int HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_post;
+ int HP_libconfig_set_db_path_pre;
+ int HP_libconfig_set_db_path_post;
+ int HP_libconfig_format_db_path_pre;
+ int HP_libconfig_format_db_path_post;
int HP_libconfig_read_pre;
int HP_libconfig_read_post;
int HP_libconfig_write_pre;
@@ -1315,6 +1329,10 @@ struct {
int HP_mutex_cond_signal_post;
int HP_mutex_cond_broadcast_pre;
int HP_mutex_cond_broadcast_post;
+ int HP_nullpo_init_pre;
+ int HP_nullpo_init_post;
+ int HP_nullpo_final_pre;
+ int HP_nullpo_final_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
int HP_packets_init_pre;
@@ -1383,6 +1401,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;
diff --git a/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc
index 825e049b1..61864325b 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -131,6 +131,8 @@ struct HookingPointData HookingPoints[] = {
{ 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 */
+ { HP_POP(libconfig->set_db_path, HP_libconfig_set_db_path) },
+ { HP_POP(libconfig->format_db_path, HP_libconfig_format_db_path) },
{ HP_POP(libconfig->read, HP_libconfig_read) },
{ HP_POP(libconfig->write, HP_libconfig_write) },
{ HP_POP(libconfig->set_options, HP_libconfig_set_options) },
@@ -288,6 +290,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mutex->cond_signal, HP_mutex_cond_signal) },
{ HP_POP(mutex->cond_broadcast, HP_mutex_cond_broadcast) },
/* nullpo_interface */
+ { HP_POP(nullpo->init, HP_nullpo_init) },
+ { HP_POP(nullpo->final, HP_nullpo_final) },
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
/* packets_interface */
{ HP_POP(packets->init, HP_packets_init) },
@@ -326,6 +330,7 @@ struct HookingPointData HookingPoints[] = {
{ 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 044ee2df2..1c1817276 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -2518,6 +2518,58 @@ enum parsefunc_rcode HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT(int fd, struct lo
return retVal___;
}
/* libconfig_interface */
+void HP_libconfig_set_db_path(const char *db_path) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_libconfig_set_db_path_pre > 0) {
+ void (*preHookFunc) (const char **db_path);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_libconfig_set_db_path_pre[hIndex].func;
+ preHookFunc(&db_path);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.libconfig.set_db_path(db_path);
+ }
+ if (HPMHooks.count.HP_libconfig_set_db_path_post > 0) {
+ void (*postHookFunc) (const char *db_path);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_libconfig_set_db_path_post[hIndex].func;
+ postHookFunc(db_path);
+ }
+ }
+ return;
+}
+void HP_libconfig_format_db_path(const char *filename, char *path_buf, int buffer_len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_libconfig_format_db_path_pre > 0) {
+ void (*preHookFunc) (const char **filename, char **path_buf, int *buffer_len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_libconfig_format_db_path_pre[hIndex].func;
+ preHookFunc(&filename, &path_buf, &buffer_len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.libconfig.format_db_path(filename, path_buf, buffer_len);
+ }
+ if (HPMHooks.count.HP_libconfig_format_db_path_post > 0) {
+ void (*postHookFunc) (const char *filename, char *path_buf, int buffer_len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_libconfig_format_db_path_post[hIndex].func;
+ postHookFunc(filename, path_buf, buffer_len);
+ }
+ }
+ return;
+}
int HP_libconfig_read(struct config_t *config, FILE *stream) {
int hIndex = 0;
int retVal___ = 0;
@@ -6586,6 +6638,58 @@ void HP_mutex_cond_broadcast(struct cond_data *c) {
return;
}
/* nullpo_interface */
+void HP_nullpo_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_nullpo_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_nullpo_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.nullpo.init();
+ }
+ if (HPMHooks.count.HP_nullpo_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_nullpo_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_nullpo_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_nullpo_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_nullpo_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.nullpo.final();
+ }
+ if (HPMHooks.count.HP_nullpo_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_nullpo_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
void HP_nullpo_assert_report(const char *file, int line, const char *func, const char *targetname, const char *title) {
int hIndex = 0;
if (HPMHooks.count.HP_nullpo_assert_report_pre > 0) {
@@ -7495,6 +7599,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 510cb8bc4..8a548bedc 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index b323d77e6..109c30885 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -886,12 +886,18 @@ struct {
struct HPMHookPoint *HP_clif_fame_taekwon_post;
struct HPMHookPoint *HP_clif_ranklist_pre;
struct HPMHookPoint *HP_clif_ranklist_post;
+ struct HPMHookPoint *HP_clif_ranklist_sub_pre;
+ struct HPMHookPoint *HP_clif_ranklist_sub_post;
+ struct HPMHookPoint *HP_clif_ranklist_sub2_pre;
+ struct HPMHookPoint *HP_clif_ranklist_sub2_post;
struct HPMHookPoint *HP_clif_update_rankingpoint_pre;
struct HPMHookPoint *HP_clif_update_rankingpoint_post;
struct HPMHookPoint *HP_clif_pRanklist_pre;
struct HPMHookPoint *HP_clif_pRanklist_post;
struct HPMHookPoint *HP_clif_hotkeys_pre;
struct HPMHookPoint *HP_clif_hotkeys_post;
+ struct HPMHookPoint *HP_clif_hotkeysAll_pre;
+ struct HPMHookPoint *HP_clif_hotkeysAll_post;
struct HPMHookPoint *HP_clif_insight_pre;
struct HPMHookPoint *HP_clif_insight_post;
struct HPMHookPoint *HP_clif_outsight_pre;
@@ -916,6 +922,8 @@ struct {
struct HPMHookPoint *HP_clif_combo_delay_post;
struct HPMHookPoint *HP_clif_status_change_pre;
struct HPMHookPoint *HP_clif_status_change_post;
+ struct HPMHookPoint *HP_clif_status_change_sub_pre;
+ struct HPMHookPoint *HP_clif_status_change_sub_post;
struct HPMHookPoint *HP_clif_insert_card_pre;
struct HPMHookPoint *HP_clif_insert_card_post;
struct HPMHookPoint *HP_clif_inventoryList_pre;
@@ -968,8 +976,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;
@@ -1072,6 +1104,8 @@ struct {
struct HPMHookPoint *HP_clif_misceffect_post;
struct HPMHookPoint *HP_clif_changeoption_pre;
struct HPMHookPoint *HP_clif_changeoption_post;
+ struct HPMHookPoint *HP_clif_changeoption_target_pre;
+ struct HPMHookPoint *HP_clif_changeoption_target_post;
struct HPMHookPoint *HP_clif_changeoption2_pre;
struct HPMHookPoint *HP_clif_changeoption2_post;
struct HPMHookPoint *HP_clif_emotion_pre;
@@ -1122,6 +1156,8 @@ 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_specialeffect_value_single_pre;
+ struct HPMHookPoint *HP_clif_specialeffect_value_single_post;
struct HPMHookPoint *HP_clif_removeSpecialEffect_pre;
struct HPMHookPoint *HP_clif_removeSpecialEffect_post;
struct HPMHookPoint *HP_clif_removeSpecialEffect_single_pre;
@@ -1156,6 +1192,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;
@@ -1270,6 +1308,8 @@ struct {
struct HPMHookPoint *HP_clif_addskill_post;
struct HPMHookPoint *HP_clif_deleteskill_pre;
struct HPMHookPoint *HP_clif_deleteskill_post;
+ struct HPMHookPoint *HP_clif_playerSkillToPacket_pre;
+ struct HPMHookPoint *HP_clif_playerSkillToPacket_post;
struct HPMHookPoint *HP_clif_party_created_pre;
struct HPMHookPoint *HP_clif_party_created_post;
struct HPMHookPoint *HP_clif_party_member_info_pre;
@@ -1312,6 +1352,10 @@ struct {
struct HPMHookPoint *HP_clif_guild_basicinfo_post;
struct HPMHookPoint *HP_clif_guild_allianceinfo_pre;
struct HPMHookPoint *HP_clif_guild_allianceinfo_post;
+ struct HPMHookPoint *HP_clif_guild_castlelist_pre;
+ struct HPMHookPoint *HP_clif_guild_castlelist_post;
+ struct HPMHookPoint *HP_clif_guild_castleinfo_pre;
+ struct HPMHookPoint *HP_clif_guild_castleinfo_post;
struct HPMHookPoint *HP_clif_guild_memberlist_pre;
struct HPMHookPoint *HP_clif_guild_memberlist_post;
struct HPMHookPoint *HP_clif_guild_skillinfo_pre;
@@ -1614,6 +1658,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;
@@ -1622,6 +1668,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;
@@ -1646,8 +1694,10 @@ struct {
struct HPMHookPoint *HP_clif_pLoadEndAck_post;
struct HPMHookPoint *HP_clif_pTickSend_pre;
struct HPMHookPoint *HP_clif_pTickSend_post;
- struct HPMHookPoint *HP_clif_pHotkey_pre;
- struct HPMHookPoint *HP_clif_pHotkey_post;
+ struct HPMHookPoint *HP_clif_pHotkey1_pre;
+ struct HPMHookPoint *HP_clif_pHotkey1_post;
+ struct HPMHookPoint *HP_clif_pHotkey2_pre;
+ struct HPMHookPoint *HP_clif_pHotkey2_post;
struct HPMHookPoint *HP_clif_pProgressbar_pre;
struct HPMHookPoint *HP_clif_pProgressbar_post;
struct HPMHookPoint *HP_clif_pWalkToXY_pre;
@@ -2052,8 +2102,12 @@ struct {
struct HPMHookPoint *HP_clif_pBGQueueRevokeReq_post;
struct HPMHookPoint *HP_clif_pBGQueueBattleBeginAck_pre;
struct HPMHookPoint *HP_clif_pBGQueueBattleBeginAck_post;
- struct HPMHookPoint *HP_clif_pCashShopOpen_pre;
- struct HPMHookPoint *HP_clif_pCashShopOpen_post;
+ struct HPMHookPoint *HP_clif_pCashShopOpen1_pre;
+ struct HPMHookPoint *HP_clif_pCashShopOpen1_post;
+ struct HPMHookPoint *HP_clif_pCashShopOpen2_pre;
+ struct HPMHookPoint *HP_clif_pCashShopOpen2_post;
+ struct HPMHookPoint *HP_clif_pCashShopLimitedReq_pre;
+ struct HPMHookPoint *HP_clif_pCashShopLimitedReq_post;
struct HPMHookPoint *HP_clif_pCashShopClose_pre;
struct HPMHookPoint *HP_clif_pCashShopClose_post;
struct HPMHookPoint *HP_clif_pCashShopReqTab_pre;
@@ -2066,6 +2120,10 @@ 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_cashShopOpen_pre;
+ struct HPMHookPoint *HP_clif_cashShopOpen_post;
struct HPMHookPoint *HP_clif_pPartyBookingAddFilter_pre;
struct HPMHookPoint *HP_clif_pPartyBookingAddFilter_post;
struct HPMHookPoint *HP_clif_pPartyBookingSubFilter_pre;
@@ -2104,8 +2162,10 @@ struct {
struct HPMHookPoint *HP_clif_pNPCMarketPurchase_post;
struct HPMHookPoint *HP_clif_add_item_options_pre;
struct HPMHookPoint *HP_clif_add_item_options_post;
- struct HPMHookPoint *HP_clif_pHotkeyRowShift_pre;
- struct HPMHookPoint *HP_clif_pHotkeyRowShift_post;
+ struct HPMHookPoint *HP_clif_pHotkeyRowShift1_pre;
+ struct HPMHookPoint *HP_clif_pHotkeyRowShift1_post;
+ struct HPMHookPoint *HP_clif_pHotkeyRowShift2_pre;
+ struct HPMHookPoint *HP_clif_pHotkeyRowShift2_post;
struct HPMHookPoint *HP_clif_dressroom_open_pre;
struct HPMHookPoint *HP_clif_dressroom_open_post;
struct HPMHookPoint *HP_clif_pOneClick_ItemIdentify_pre;
@@ -2210,24 +2270,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;
@@ -2256,8 +2304,56 @@ struct {
struct HPMHookPoint *HP_clif_pNPCBarterClosed_post;
struct HPMHookPoint *HP_clif_pNPCBarterPurchase_pre;
struct HPMHookPoint *HP_clif_pNPCBarterPurchase_post;
+ struct HPMHookPoint *HP_clif_pNPCExpandedBarterClosed_pre;
+ struct HPMHookPoint *HP_clif_pNPCExpandedBarterClosed_post;
+ struct HPMHookPoint *HP_clif_pNPCExpandedBarterPurchase_pre;
+ struct HPMHookPoint *HP_clif_pNPCExpandedBarterPurchase_post;
+ struct HPMHookPoint *HP_clif_npc_expanded_barter_open_pre;
+ struct HPMHookPoint *HP_clif_npc_expanded_barter_open_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_clif_pGuildCastleTeleportRequest_pre;
+ struct HPMHookPoint *HP_clif_pGuildCastleTeleportRequest_post;
+ struct HPMHookPoint *HP_clif_pGuildCastleInfoRequest_pre;
+ struct HPMHookPoint *HP_clif_pGuildCastleInfoRequest_post;
+ struct HPMHookPoint *HP_clif_guild_castleteleport_res_pre;
+ struct HPMHookPoint *HP_clif_guild_castleteleport_res_post;
+ struct HPMHookPoint *HP_clif_lapineDdukDdak_open_pre;
+ struct HPMHookPoint *HP_clif_lapineDdukDdak_open_post;
+ struct HPMHookPoint *HP_clif_lapineDdukDdak_result_pre;
+ struct HPMHookPoint *HP_clif_lapineDdukDdak_result_post;
+ struct HPMHookPoint *HP_clif_plapineDdukDdak_ack_pre;
+ struct HPMHookPoint *HP_clif_plapineDdukDdak_ack_post;
+ struct HPMHookPoint *HP_clif_plapineDdukDdak_close_pre;
+ struct HPMHookPoint *HP_clif_plapineDdukDdak_close_post;
+ struct HPMHookPoint *HP_clif_pReqGearOff_pre;
+ struct HPMHookPoint *HP_clif_pReqGearOff_post;
struct HPMHookPoint *HP_cmdline_init_pre;
struct HPMHookPoint *HP_cmdline_init_post;
struct HPMHookPoint *HP_cmdline_final_pre;
@@ -2334,8 +2430,8 @@ struct {
struct HPMHookPoint *HP_duel_leave_post;
struct HPMHookPoint *HP_duel_showinfo_pre;
struct HPMHookPoint *HP_duel_showinfo_post;
- struct HPMHookPoint *HP_duel_checktime_pre;
- struct HPMHookPoint *HP_duel_checktime_post;
+ struct HPMHookPoint *HP_duel_difftime_pre;
+ struct HPMHookPoint *HP_duel_difftime_post;
struct HPMHookPoint *HP_duel_init_pre;
struct HPMHookPoint *HP_duel_init_post;
struct HPMHookPoint *HP_duel_final_pre;
@@ -2516,8 +2612,6 @@ struct {
struct HPMHookPoint *HP_guild_emblem_changed_post;
struct HPMHookPoint *HP_guild_send_message_pre;
struct HPMHookPoint *HP_guild_send_message_post;
- struct HPMHookPoint *HP_guild_recv_message_pre;
- struct HPMHookPoint *HP_guild_recv_message_post;
struct HPMHookPoint *HP_guild_send_dot_remove_pre;
struct HPMHookPoint *HP_guild_send_dot_remove_post;
struct HPMHookPoint *HP_guild_skillupack_pre;
@@ -2562,8 +2656,12 @@ struct {
struct HPMHookPoint *HP_guild_sd_check_post;
struct HPMHookPoint *HP_guild_read_guildskill_tree_db_pre;
struct HPMHookPoint *HP_guild_read_guildskill_tree_db_post;
- struct HPMHookPoint *HP_guild_read_castledb_pre;
- struct HPMHookPoint *HP_guild_read_castledb_post;
+ struct HPMHookPoint *HP_guild_read_castledb_libconfig_pre;
+ struct HPMHookPoint *HP_guild_read_castledb_libconfig_post;
+ struct HPMHookPoint *HP_guild_read_castledb_libconfig_sub_pre;
+ struct HPMHookPoint *HP_guild_read_castledb_libconfig_sub_post;
+ struct HPMHookPoint *HP_guild_read_castledb_libconfig_sub_warp_pre;
+ struct HPMHookPoint *HP_guild_read_castledb_libconfig_sub_warp_post;
struct HPMHookPoint *HP_guild_payexp_timer_sub_pre;
struct HPMHookPoint *HP_guild_payexp_timer_sub_post;
struct HPMHookPoint *HP_guild_send_xy_timer_sub_pre;
@@ -2660,6 +2758,8 @@ struct {
struct HPMHookPoint *HP_homun_mutate_post;
struct HPMHookPoint *HP_homun_gainexp_pre;
struct HPMHookPoint *HP_homun_gainexp_post;
+ struct HPMHookPoint *HP_homun_gainexp_real_pre;
+ struct HPMHookPoint *HP_homun_gainexp_real_post;
struct HPMHookPoint *HP_homun_add_intimacy_pre;
struct HPMHookPoint *HP_homun_add_intimacy_post;
struct HPMHookPoint *HP_homun_consume_intimacy_pre;
@@ -2758,16 +2858,6 @@ struct {
struct HPMHookPoint *HP_intif_parse_post;
struct HPMHookPoint *HP_intif_create_pet_pre;
struct HPMHookPoint *HP_intif_create_pet_post;
- struct HPMHookPoint *HP_intif_broadcast_pre;
- struct HPMHookPoint *HP_intif_broadcast_post;
- struct HPMHookPoint *HP_intif_broadcast2_pre;
- struct HPMHookPoint *HP_intif_broadcast2_post;
- struct HPMHookPoint *HP_intif_main_message_pre;
- struct HPMHookPoint *HP_intif_main_message_post;
- struct HPMHookPoint *HP_intif_wis_message_pre;
- struct HPMHookPoint *HP_intif_wis_message_post;
- struct HPMHookPoint *HP_intif_wis_message_to_gm_pre;
- struct HPMHookPoint *HP_intif_wis_message_to_gm_post;
struct HPMHookPoint *HP_intif_saveregistry_pre;
struct HPMHookPoint *HP_intif_saveregistry_post;
struct HPMHookPoint *HP_intif_request_registry_pre;
@@ -2794,8 +2884,6 @@ struct {
struct HPMHookPoint *HP_intif_party_changemap_post;
struct HPMHookPoint *HP_intif_break_party_pre;
struct HPMHookPoint *HP_intif_break_party_post;
- struct HPMHookPoint *HP_intif_party_message_pre;
- struct HPMHookPoint *HP_intif_party_message_post;
struct HPMHookPoint *HP_intif_party_leaderchange_pre;
struct HPMHookPoint *HP_intif_party_leaderchange_post;
struct HPMHookPoint *HP_intif_guild_create_pre;
@@ -2810,8 +2898,6 @@ struct {
struct HPMHookPoint *HP_intif_guild_memberinfoshort_post;
struct HPMHookPoint *HP_intif_guild_break_pre;
struct HPMHookPoint *HP_intif_guild_break_post;
- struct HPMHookPoint *HP_intif_guild_message_pre;
- struct HPMHookPoint *HP_intif_guild_message_post;
struct HPMHookPoint *HP_intif_guild_change_gm_pre;
struct HPMHookPoint *HP_intif_guild_change_gm_post;
struct HPMHookPoint *HP_intif_guild_change_basicinfo_pre;
@@ -2902,6 +2988,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;
@@ -2914,14 +3004,6 @@ struct {
struct HPMHookPoint *HP_intif_achievements_request_post;
struct HPMHookPoint *HP_intif_achievements_save_pre;
struct HPMHookPoint *HP_intif_achievements_save_post;
- struct HPMHookPoint *HP_intif_pWisMessage_pre;
- struct HPMHookPoint *HP_intif_pWisMessage_post;
- struct HPMHookPoint *HP_intif_pWisEnd_pre;
- struct HPMHookPoint *HP_intif_pWisEnd_post;
- struct HPMHookPoint *HP_intif_pWisToGM_sub_pre;
- struct HPMHookPoint *HP_intif_pWisToGM_sub_post;
- struct HPMHookPoint *HP_intif_pWisToGM_pre;
- struct HPMHookPoint *HP_intif_pWisToGM_post;
struct HPMHookPoint *HP_intif_pRegisters_pre;
struct HPMHookPoint *HP_intif_pRegisters_post;
struct HPMHookPoint *HP_intif_pAccountStorage_pre;
@@ -2950,8 +3032,6 @@ struct {
struct HPMHookPoint *HP_intif_pPartyMove_post;
struct HPMHookPoint *HP_intif_pPartyBroken_pre;
struct HPMHookPoint *HP_intif_pPartyBroken_post;
- struct HPMHookPoint *HP_intif_pPartyMessage_pre;
- struct HPMHookPoint *HP_intif_pPartyMessage_post;
struct HPMHookPoint *HP_intif_pGuildCreated_pre;
struct HPMHookPoint *HP_intif_pGuildCreated_post;
struct HPMHookPoint *HP_intif_pGuildInfo_pre;
@@ -2964,8 +3044,6 @@ struct {
struct HPMHookPoint *HP_intif_pGuildMemberInfoShort_post;
struct HPMHookPoint *HP_intif_pGuildBroken_pre;
struct HPMHookPoint *HP_intif_pGuildBroken_post;
- struct HPMHookPoint *HP_intif_pGuildMessage_pre;
- struct HPMHookPoint *HP_intif_pGuildMessage_post;
struct HPMHookPoint *HP_intif_pGuildBasicInfoChanged_pre;
struct HPMHookPoint *HP_intif_pGuildBasicInfoChanged_post;
struct HPMHookPoint *HP_intif_pGuildMemberInfoChanged_pre;
@@ -3182,10 +3260,10 @@ struct {
struct HPMHookPoint *HP_itemdb_isidentified_post;
struct HPMHookPoint *HP_itemdb_isidentified2_pre;
struct HPMHookPoint *HP_itemdb_isidentified2_post;
- struct HPMHookPoint *HP_itemdb_combo_split_atoi_pre;
- struct HPMHookPoint *HP_itemdb_combo_split_atoi_post;
- struct HPMHookPoint *HP_itemdb_read_combos_pre;
- struct HPMHookPoint *HP_itemdb_read_combos_post;
+ struct HPMHookPoint *HP_itemdb_read_combodb_libconfig_pre;
+ struct HPMHookPoint *HP_itemdb_read_combodb_libconfig_post;
+ struct HPMHookPoint *HP_itemdb_read_combodb_libconfig_sub_pre;
+ struct HPMHookPoint *HP_itemdb_read_combodb_libconfig_sub_post;
struct HPMHookPoint *HP_itemdb_gendercheck_pre;
struct HPMHookPoint *HP_itemdb_gendercheck_post;
struct HPMHookPoint *HP_itemdb_validate_entry_pre;
@@ -3222,6 +3300,16 @@ struct {
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_itemdb_read_libconfig_lapineddukddak_pre;
+ struct HPMHookPoint *HP_itemdb_read_libconfig_lapineddukddak_post;
+ struct HPMHookPoint *HP_itemdb_read_libconfig_lapineddukddak_sub_pre;
+ struct HPMHookPoint *HP_itemdb_read_libconfig_lapineddukddak_sub_post;
+ struct HPMHookPoint *HP_itemdb_read_libconfig_lapineddukddak_sub_sources_pre;
+ struct HPMHookPoint *HP_itemdb_read_libconfig_lapineddukddak_sub_sources_post;
+ struct HPMHookPoint *HP_libconfig_set_db_path_pre;
+ struct HPMHookPoint *HP_libconfig_set_db_path_post;
+ struct HPMHookPoint *HP_libconfig_format_db_path_pre;
+ struct HPMHookPoint *HP_libconfig_format_db_path_post;
struct HPMHookPoint *HP_libconfig_read_pre;
struct HPMHookPoint *HP_libconfig_read_post;
struct HPMHookPoint *HP_libconfig_write_pre;
@@ -3692,6 +3780,10 @@ struct {
struct HPMHookPoint *HP_map_merge_zone_post;
struct HPMHookPoint *HP_map_zone_clear_single_pre;
struct HPMHookPoint *HP_map_zone_clear_single_post;
+ struct HPMHookPoint *HP_mapindex_config_read_dbpath_pre;
+ struct HPMHookPoint *HP_mapindex_config_read_dbpath_post;
+ struct HPMHookPoint *HP_mapindex_config_read_pre;
+ struct HPMHookPoint *HP_mapindex_config_read_post;
struct HPMHookPoint *HP_mapindex_init_pre;
struct HPMHookPoint *HP_mapindex_init_post;
struct HPMHookPoint *HP_mapindex_final_pre;
@@ -3810,6 +3902,8 @@ struct {
struct HPMHookPoint *HP_mob_final_post;
struct HPMHookPoint *HP_mob_reload_pre;
struct HPMHookPoint *HP_mob_reload_post;
+ struct HPMHookPoint *HP_mob_reload_sub_mob_pre;
+ struct HPMHookPoint *HP_mob_reload_sub_mob_post;
struct HPMHookPoint *HP_mob_db_pre;
struct HPMHookPoint *HP_mob_db_post;
struct HPMHookPoint *HP_mob_chat_pre;
@@ -3882,6 +3976,8 @@ struct {
struct HPMHookPoint *HP_mob_ai_sub_hard_lootsearch_post;
struct HPMHookPoint *HP_mob_warpchase_sub_pre;
struct HPMHookPoint *HP_mob_warpchase_sub_post;
+ struct HPMHookPoint *HP_mob_is_in_battle_state_pre;
+ struct HPMHookPoint *HP_mob_is_in_battle_state_post;
struct HPMHookPoint *HP_mob_ai_sub_hard_slavemob_pre;
struct HPMHookPoint *HP_mob_ai_sub_hard_slavemob_post;
struct HPMHookPoint *HP_mob_unlocktarget_pre;
@@ -3902,6 +3998,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;
@@ -3968,6 +4066,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;
@@ -3988,12 +4094,16 @@ 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_read_db_viewdata_sub_pre;
+ struct HPMHookPoint *HP_mob_read_db_viewdata_sub_post;
struct HPMHookPoint *HP_mob_name_constants_pre;
struct HPMHookPoint *HP_mob_name_constants_post;
- struct HPMHookPoint *HP_mob_readdb_mobavail_pre;
- struct HPMHookPoint *HP_mob_readdb_mobavail_post;
+ struct HPMHookPoint *HP_mob_mobavail_removal_notice_pre;
+ struct HPMHookPoint *HP_mob_mobavail_removal_notice_post;
struct HPMHookPoint *HP_mob_read_randommonster_pre;
struct HPMHookPoint *HP_mob_read_randommonster_post;
struct HPMHookPoint *HP_mob_parse_row_chatdb_pre;
@@ -4018,6 +4128,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;
@@ -4168,6 +4280,8 @@ struct {
struct HPMHookPoint *HP_npc_unload_dup_sub_post;
struct HPMHookPoint *HP_npc_unload_duplicates_pre;
struct HPMHookPoint *HP_npc_unload_duplicates_post;
+ struct HPMHookPoint *HP_npc_unload_mob_pre;
+ struct HPMHookPoint *HP_npc_unload_mob_post;
struct HPMHookPoint *HP_npc_unload_pre;
struct HPMHookPoint *HP_npc_unload_post;
struct HPMHookPoint *HP_npc_clearsrcfile_pre;
@@ -4270,6 +4384,8 @@ struct {
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_expanded_barter_buylist_pre;
+ struct HPMHookPoint *HP_npc_expanded_barter_buylist_post;
struct HPMHookPoint *HP_npc_trader_open_pre;
struct HPMHookPoint *HP_npc_trader_open_post;
struct HPMHookPoint *HP_npc_market_fromsql_pre;
@@ -4288,12 +4404,26 @@ struct {
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_expanded_barter_fromsql_pre;
+ struct HPMHookPoint *HP_npc_expanded_barter_fromsql_post;
+ struct HPMHookPoint *HP_npc_expanded_barter_tosql_pre;
+ struct HPMHookPoint *HP_npc_expanded_barter_tosql_post;
+ struct HPMHookPoint *HP_npc_expanded_barter_delfromsql_pre;
+ struct HPMHookPoint *HP_npc_expanded_barter_delfromsql_post;
+ struct HPMHookPoint *HP_npc_expanded_barter_delfromsql_sub_pre;
+ struct HPMHookPoint *HP_npc_expanded_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_init_pre;
+ struct HPMHookPoint *HP_nullpo_init_post;
+ struct HPMHookPoint *HP_nullpo_final_pre;
+ struct HPMHookPoint *HP_nullpo_final_post;
struct HPMHookPoint *HP_nullpo_assert_report_pre;
struct HPMHookPoint *HP_nullpo_assert_report_post;
struct HPMHookPoint *HP_packets_init_pre;
@@ -4358,8 +4488,6 @@ struct {
struct HPMHookPoint *HP_party_send_logout_post;
struct HPMHookPoint *HP_party_send_message_pre;
struct HPMHookPoint *HP_party_send_message_post;
- struct HPMHookPoint *HP_party_recv_message_pre;
- struct HPMHookPoint *HP_party_recv_message_post;
struct HPMHookPoint *HP_party_skill_check_pre;
struct HPMHookPoint *HP_party_skill_check_post;
struct HPMHookPoint *HP_party_send_xy_clear_pre;
@@ -4640,6 +4768,8 @@ struct {
struct HPMHookPoint *HP_pc_checkitem_post;
struct HPMHookPoint *HP_pc_useitem_pre;
struct HPMHookPoint *HP_pc_useitem_post;
+ struct HPMHookPoint *HP_pc_autocast_clear_pre;
+ struct HPMHookPoint *HP_pc_autocast_clear_post;
struct HPMHookPoint *HP_pc_skillatk_bonus_pre;
struct HPMHookPoint *HP_pc_skillatk_bonus_post;
struct HPMHookPoint *HP_pc_skillheal_bonus_pre;
@@ -4904,8 +5034,14 @@ struct {
struct HPMHookPoint *HP_pc_update_idle_time_post;
struct HPMHookPoint *HP_pc_have_magnifier_pre;
struct HPMHookPoint *HP_pc_have_magnifier_post;
+ struct HPMHookPoint *HP_pc_have_item_chain_pre;
+ struct HPMHookPoint *HP_pc_have_item_chain_post;
struct HPMHookPoint *HP_pc_process_chat_message_pre;
struct HPMHookPoint *HP_pc_process_chat_message_post;
+ struct HPMHookPoint *HP_pc_wis_message_to_gm_pre;
+ struct HPMHookPoint *HP_pc_wis_message_to_gm_post;
+ struct HPMHookPoint *HP_pc_wis_message_to_gm_sub_pre;
+ struct HPMHookPoint *HP_pc_wis_message_to_gm_sub_post;
struct HPMHookPoint *HP_pc_check_supernovice_call_pre;
struct HPMHookPoint *HP_pc_check_supernovice_call_post;
struct HPMHookPoint *HP_pc_check_basicskill_pre;
@@ -4916,6 +5052,8 @@ struct {
struct HPMHookPoint *HP_pc_has_second_costume_post;
struct HPMHookPoint *HP_pc_expandInventory_pre;
struct HPMHookPoint *HP_pc_expandInventory_post;
+ struct HPMHookPoint *HP_pc_auto_exp_insurance_pre;
+ struct HPMHookPoint *HP_pc_auto_exp_insurance_post;
struct HPMHookPoint *HP_libpcre_compile_pre;
struct HPMHookPoint *HP_libpcre_compile_post;
struct HPMHookPoint *HP_libpcre_study_pre;
@@ -4938,6 +5076,8 @@ struct {
struct HPMHookPoint *HP_pet_final_post;
struct HPMHookPoint *HP_pet_hungry_val_pre;
struct HPMHookPoint *HP_pet_hungry_val_post;
+ struct HPMHookPoint *HP_pet_set_hunger_pre;
+ struct HPMHookPoint *HP_pet_set_hunger_post;
struct HPMHookPoint *HP_pet_set_intimate_pre;
struct HPMHookPoint *HP_pet_set_intimate_post;
struct HPMHookPoint *HP_pet_create_egg_pre;
@@ -5072,8 +5212,36 @@ struct {
struct HPMHookPoint *HP_quest_questinfo_validate_quests_post;
struct HPMHookPoint *HP_quest_questinfo_validate_mercenary_class_pre;
struct HPMHookPoint *HP_quest_questinfo_validate_mercenary_class_post;
- struct HPMHookPoint *HP_quest_questinfo_vector_clear_pre;
- struct HPMHookPoint *HP_quest_questinfo_vector_clear_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;
@@ -5124,6 +5292,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;
@@ -5472,6 +5644,8 @@ struct {
struct HPMHookPoint *HP_script_load_translations_post;
struct HPMHookPoint *HP_script_load_translation_addstring_pre;
struct HPMHookPoint *HP_script_load_translation_addstring_post;
+ struct HPMHookPoint *HP_script_load_translation_file_pre;
+ struct HPMHookPoint *HP_script_load_translation_file_post;
struct HPMHookPoint *HP_script_load_translation_pre;
struct HPMHookPoint *HP_script_load_translation_post;
struct HPMHookPoint *HP_script_translation_db_destroyer_pre;
@@ -5482,8 +5656,8 @@ struct {
struct HPMHookPoint *HP_script_parse_cleanup_timer_post;
struct HPMHookPoint *HP_script_add_language_pre;
struct HPMHookPoint *HP_script_add_language_post;
- struct HPMHookPoint *HP_script_get_translation_file_name_pre;
- struct HPMHookPoint *HP_script_get_translation_file_name_post;
+ struct HPMHookPoint *HP_script_get_translation_dir_name_pre;
+ struct HPMHookPoint *HP_script_get_translation_dir_name_post;
struct HPMHookPoint *HP_script_parser_clean_leftovers_pre;
struct HPMHookPoint *HP_script_parser_clean_leftovers_post;
struct HPMHookPoint *HP_script_run_use_script_pre;
@@ -5492,6 +5666,14 @@ struct {
struct HPMHookPoint *HP_script_run_item_equip_script_post;
struct HPMHookPoint *HP_script_run_item_unequip_script_pre;
struct HPMHookPoint *HP_script_run_item_unequip_script_post;
+ struct HPMHookPoint *HP_script_run_item_rental_end_script_pre;
+ struct HPMHookPoint *HP_script_run_item_rental_end_script_post;
+ struct HPMHookPoint *HP_script_run_item_rental_start_script_pre;
+ struct HPMHookPoint *HP_script_run_item_rental_start_script_post;
+ struct HPMHookPoint *HP_script_run_item_lapineddukddak_script_pre;
+ struct HPMHookPoint *HP_script_run_item_lapineddukddak_script_post;
+ struct HPMHookPoint *HP_script_sellitemcurrency_add_pre;
+ struct HPMHookPoint *HP_script_sellitemcurrency_add_post;
struct HPMHookPoint *HP_searchstore_open_pre;
struct HPMHookPoint *HP_searchstore_open_post;
struct HPMHookPoint *HP_searchstore_query_pre;
@@ -5730,6 +5912,8 @@ struct {
struct HPMHookPoint *HP_skill_not_ok_hom_unknown_post;
struct HPMHookPoint *HP_skill_not_ok_mercenary_pre;
struct HPMHookPoint *HP_skill_not_ok_mercenary_post;
+ struct HPMHookPoint *HP_skill_validate_autocast_data_pre;
+ struct HPMHookPoint *HP_skill_validate_autocast_data_post;
struct HPMHookPoint *HP_skill_chastle_mob_changetarget_pre;
struct HPMHookPoint *HP_skill_chastle_mob_changetarget_post;
struct HPMHookPoint *HP_skill_can_produce_mix_pre;
@@ -6042,6 +6226,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;
@@ -6136,18 +6322,18 @@ 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;
struct HPMHookPoint *HP_status_sc2skill_post;
struct HPMHookPoint *HP_status_sc2scb_flag_pre;
struct HPMHookPoint *HP_status_sc2scb_flag_post;
- struct HPMHookPoint *HP_status_type2relevant_bl_types_pre;
- struct HPMHookPoint *HP_status_type2relevant_bl_types_post;
+ struct HPMHookPoint *HP_status_get_sc_relevant_bl_types_pre;
+ struct HPMHookPoint *HP_status_get_sc_relevant_bl_types_post;
struct HPMHookPoint *HP_status_get_sc_type_pre;
struct HPMHookPoint *HP_status_get_sc_type_post;
+ struct HPMHookPoint *HP_status_get_sc_icon_pre;
+ struct HPMHookPoint *HP_status_get_sc_icon_post;
struct HPMHookPoint *HP_status_damage_pre;
struct HPMHookPoint *HP_status_damage_post;
struct HPMHookPoint *HP_status_charge_pre;
@@ -6208,6 +6394,8 @@ struct {
struct HPMHookPoint *HP_status_get_sc_def_post;
struct HPMHookPoint *HP_status_change_start_pre;
struct HPMHookPoint *HP_status_change_start_post;
+ struct HPMHookPoint *HP_status_change_start_sub_pre;
+ struct HPMHookPoint *HP_status_change_start_sub_post;
struct HPMHookPoint *HP_status_change_end__pre;
struct HPMHookPoint *HP_status_change_end__post;
struct HPMHookPoint *HP_status_is_immune_to_status_pre;
@@ -6368,12 +6556,14 @@ 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_scdb_libconfig_pre;
+ struct HPMHookPoint *HP_status_read_scdb_libconfig_post;
+ struct HPMHookPoint *HP_status_read_scdb_libconfig_sub_pre;
+ struct HPMHookPoint *HP_status_read_scdb_libconfig_sub_post;
+ struct HPMHookPoint *HP_status_read_scdb_libconfig_sub_flag_pre;
+ struct HPMHookPoint *HP_status_read_scdb_libconfig_sub_flag_post;
+ struct HPMHookPoint *HP_status_read_scdb_libconfig_sub_flag_additional_pre;
+ struct HPMHookPoint *HP_status_read_scdb_libconfig_sub_flag_additional_post;
struct HPMHookPoint *HP_status_read_job_db_pre;
struct HPMHookPoint *HP_status_read_job_db_post;
struct HPMHookPoint *HP_status_read_job_db_sub_pre;
@@ -6462,6 +6652,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;
@@ -6584,22 +6792,24 @@ struct {
struct HPMHookPoint *HP_unit_final_post;
struct HPMHookPoint *HP_unit_bl2ud_pre;
struct HPMHookPoint *HP_unit_bl2ud_post;
+ struct HPMHookPoint *HP_unit_cbl2ud_pre;
+ struct HPMHookPoint *HP_unit_cbl2ud_post;
struct HPMHookPoint *HP_unit_bl2ud2_pre;
struct HPMHookPoint *HP_unit_bl2ud2_post;
struct HPMHookPoint *HP_unit_init_ud_pre;
struct HPMHookPoint *HP_unit_init_ud_post;
struct HPMHookPoint *HP_unit_attack_timer_pre;
struct HPMHookPoint *HP_unit_attack_timer_post;
- struct HPMHookPoint *HP_unit_walktoxy_timer_pre;
- struct HPMHookPoint *HP_unit_walktoxy_timer_post;
- struct HPMHookPoint *HP_unit_walktoxy_sub_pre;
- struct HPMHookPoint *HP_unit_walktoxy_sub_post;
- struct HPMHookPoint *HP_unit_delay_walktoxy_timer_pre;
- struct HPMHookPoint *HP_unit_delay_walktoxy_timer_post;
- struct HPMHookPoint *HP_unit_walktoxy_pre;
- struct HPMHookPoint *HP_unit_walktoxy_post;
- struct HPMHookPoint *HP_unit_walktobl_sub_pre;
- struct HPMHookPoint *HP_unit_walktobl_sub_post;
+ struct HPMHookPoint *HP_unit_walk_toxy_timer_pre;
+ struct HPMHookPoint *HP_unit_walk_toxy_timer_post;
+ struct HPMHookPoint *HP_unit_walk_toxy_sub_pre;
+ struct HPMHookPoint *HP_unit_walk_toxy_sub_post;
+ struct HPMHookPoint *HP_unit_delay_walk_toxy_timer_pre;
+ struct HPMHookPoint *HP_unit_delay_walk_toxy_timer_post;
+ struct HPMHookPoint *HP_unit_walk_toxy_pre;
+ struct HPMHookPoint *HP_unit_walk_toxy_post;
+ struct HPMHookPoint *HP_unit_walktobl_timer_pre;
+ struct HPMHookPoint *HP_unit_walktobl_timer_post;
struct HPMHookPoint *HP_unit_walktobl_pre;
struct HPMHookPoint *HP_unit_walktobl_post;
struct HPMHookPoint *HP_unit_run_pre;
@@ -6610,20 +6820,22 @@ struct {
struct HPMHookPoint *HP_unit_escape_post;
struct HPMHookPoint *HP_unit_movepos_pre;
struct HPMHookPoint *HP_unit_movepos_post;
- struct HPMHookPoint *HP_unit_setdir_pre;
- struct HPMHookPoint *HP_unit_setdir_post;
+ struct HPMHookPoint *HP_unit_set_dir_pre;
+ struct HPMHookPoint *HP_unit_set_dir_post;
struct HPMHookPoint *HP_unit_getdir_pre;
struct HPMHookPoint *HP_unit_getdir_post;
struct HPMHookPoint *HP_unit_blown_pre;
struct HPMHookPoint *HP_unit_blown_post;
struct HPMHookPoint *HP_unit_warp_pre;
struct HPMHookPoint *HP_unit_warp_post;
+ struct HPMHookPoint *HP_unit_warpto_master_pre;
+ struct HPMHookPoint *HP_unit_warpto_master_post;
struct HPMHookPoint *HP_unit_stop_walking_pre;
struct HPMHookPoint *HP_unit_stop_walking_post;
struct HPMHookPoint *HP_unit_skilluse_id_pre;
struct HPMHookPoint *HP_unit_skilluse_id_post;
- struct HPMHookPoint *HP_unit_step_timer_pre;
- struct HPMHookPoint *HP_unit_step_timer_post;
+ struct HPMHookPoint *HP_unit_steptimer_pre;
+ struct HPMHookPoint *HP_unit_steptimer_post;
struct HPMHookPoint *HP_unit_stop_stepaction_pre;
struct HPMHookPoint *HP_unit_stop_stepaction_post;
struct HPMHookPoint *HP_unit_is_walking_pre;
@@ -7555,12 +7767,18 @@ struct {
int HP_clif_fame_taekwon_post;
int HP_clif_ranklist_pre;
int HP_clif_ranklist_post;
+ int HP_clif_ranklist_sub_pre;
+ int HP_clif_ranklist_sub_post;
+ int HP_clif_ranklist_sub2_pre;
+ int HP_clif_ranklist_sub2_post;
int HP_clif_update_rankingpoint_pre;
int HP_clif_update_rankingpoint_post;
int HP_clif_pRanklist_pre;
int HP_clif_pRanklist_post;
int HP_clif_hotkeys_pre;
int HP_clif_hotkeys_post;
+ int HP_clif_hotkeysAll_pre;
+ int HP_clif_hotkeysAll_post;
int HP_clif_insight_pre;
int HP_clif_insight_post;
int HP_clif_outsight_pre;
@@ -7585,6 +7803,8 @@ struct {
int HP_clif_combo_delay_post;
int HP_clif_status_change_pre;
int HP_clif_status_change_post;
+ int HP_clif_status_change_sub_pre;
+ int HP_clif_status_change_sub_post;
int HP_clif_insert_card_pre;
int HP_clif_insert_card_post;
int HP_clif_inventoryList_pre;
@@ -7637,8 +7857,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;
@@ -7741,6 +7985,8 @@ struct {
int HP_clif_misceffect_post;
int HP_clif_changeoption_pre;
int HP_clif_changeoption_post;
+ int HP_clif_changeoption_target_pre;
+ int HP_clif_changeoption_target_post;
int HP_clif_changeoption2_pre;
int HP_clif_changeoption2_post;
int HP_clif_emotion_pre;
@@ -7791,6 +8037,8 @@ struct {
int HP_clif_specialeffect_single_post;
int HP_clif_specialeffect_value_pre;
int HP_clif_specialeffect_value_post;
+ int HP_clif_specialeffect_value_single_pre;
+ int HP_clif_specialeffect_value_single_post;
int HP_clif_removeSpecialEffect_pre;
int HP_clif_removeSpecialEffect_post;
int HP_clif_removeSpecialEffect_single_pre;
@@ -7825,6 +8073,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;
@@ -7939,6 +8189,8 @@ struct {
int HP_clif_addskill_post;
int HP_clif_deleteskill_pre;
int HP_clif_deleteskill_post;
+ int HP_clif_playerSkillToPacket_pre;
+ int HP_clif_playerSkillToPacket_post;
int HP_clif_party_created_pre;
int HP_clif_party_created_post;
int HP_clif_party_member_info_pre;
@@ -7981,6 +8233,10 @@ struct {
int HP_clif_guild_basicinfo_post;
int HP_clif_guild_allianceinfo_pre;
int HP_clif_guild_allianceinfo_post;
+ int HP_clif_guild_castlelist_pre;
+ int HP_clif_guild_castlelist_post;
+ int HP_clif_guild_castleinfo_pre;
+ int HP_clif_guild_castleinfo_post;
int HP_clif_guild_memberlist_pre;
int HP_clif_guild_memberlist_post;
int HP_clif_guild_skillinfo_pre;
@@ -8283,6 +8539,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;
@@ -8291,6 +8549,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;
@@ -8315,8 +8575,10 @@ struct {
int HP_clif_pLoadEndAck_post;
int HP_clif_pTickSend_pre;
int HP_clif_pTickSend_post;
- int HP_clif_pHotkey_pre;
- int HP_clif_pHotkey_post;
+ int HP_clif_pHotkey1_pre;
+ int HP_clif_pHotkey1_post;
+ int HP_clif_pHotkey2_pre;
+ int HP_clif_pHotkey2_post;
int HP_clif_pProgressbar_pre;
int HP_clif_pProgressbar_post;
int HP_clif_pWalkToXY_pre;
@@ -8721,8 +8983,12 @@ struct {
int HP_clif_pBGQueueRevokeReq_post;
int HP_clif_pBGQueueBattleBeginAck_pre;
int HP_clif_pBGQueueBattleBeginAck_post;
- int HP_clif_pCashShopOpen_pre;
- int HP_clif_pCashShopOpen_post;
+ int HP_clif_pCashShopOpen1_pre;
+ int HP_clif_pCashShopOpen1_post;
+ int HP_clif_pCashShopOpen2_pre;
+ int HP_clif_pCashShopOpen2_post;
+ int HP_clif_pCashShopLimitedReq_pre;
+ int HP_clif_pCashShopLimitedReq_post;
int HP_clif_pCashShopClose_pre;
int HP_clif_pCashShopClose_post;
int HP_clif_pCashShopReqTab_pre;
@@ -8735,6 +9001,10 @@ 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_cashShopOpen_pre;
+ int HP_clif_cashShopOpen_post;
int HP_clif_pPartyBookingAddFilter_pre;
int HP_clif_pPartyBookingAddFilter_post;
int HP_clif_pPartyBookingSubFilter_pre;
@@ -8773,8 +9043,10 @@ struct {
int HP_clif_pNPCMarketPurchase_post;
int HP_clif_add_item_options_pre;
int HP_clif_add_item_options_post;
- int HP_clif_pHotkeyRowShift_pre;
- int HP_clif_pHotkeyRowShift_post;
+ int HP_clif_pHotkeyRowShift1_pre;
+ int HP_clif_pHotkeyRowShift1_post;
+ int HP_clif_pHotkeyRowShift2_pre;
+ int HP_clif_pHotkeyRowShift2_post;
int HP_clif_dressroom_open_pre;
int HP_clif_dressroom_open_post;
int HP_clif_pOneClick_ItemIdentify_pre;
@@ -8879,24 +9151,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;
@@ -8925,8 +9185,56 @@ struct {
int HP_clif_pNPCBarterClosed_post;
int HP_clif_pNPCBarterPurchase_pre;
int HP_clif_pNPCBarterPurchase_post;
+ int HP_clif_pNPCExpandedBarterClosed_pre;
+ int HP_clif_pNPCExpandedBarterClosed_post;
+ int HP_clif_pNPCExpandedBarterPurchase_pre;
+ int HP_clif_pNPCExpandedBarterPurchase_post;
+ int HP_clif_npc_expanded_barter_open_pre;
+ int HP_clif_npc_expanded_barter_open_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_clif_pGuildCastleTeleportRequest_pre;
+ int HP_clif_pGuildCastleTeleportRequest_post;
+ int HP_clif_pGuildCastleInfoRequest_pre;
+ int HP_clif_pGuildCastleInfoRequest_post;
+ int HP_clif_guild_castleteleport_res_pre;
+ int HP_clif_guild_castleteleport_res_post;
+ int HP_clif_lapineDdukDdak_open_pre;
+ int HP_clif_lapineDdukDdak_open_post;
+ int HP_clif_lapineDdukDdak_result_pre;
+ int HP_clif_lapineDdukDdak_result_post;
+ int HP_clif_plapineDdukDdak_ack_pre;
+ int HP_clif_plapineDdukDdak_ack_post;
+ int HP_clif_plapineDdukDdak_close_pre;
+ int HP_clif_plapineDdukDdak_close_post;
+ int HP_clif_pReqGearOff_pre;
+ int HP_clif_pReqGearOff_post;
int HP_cmdline_init_pre;
int HP_cmdline_init_post;
int HP_cmdline_final_pre;
@@ -9003,8 +9311,8 @@ struct {
int HP_duel_leave_post;
int HP_duel_showinfo_pre;
int HP_duel_showinfo_post;
- int HP_duel_checktime_pre;
- int HP_duel_checktime_post;
+ int HP_duel_difftime_pre;
+ int HP_duel_difftime_post;
int HP_duel_init_pre;
int HP_duel_init_post;
int HP_duel_final_pre;
@@ -9185,8 +9493,6 @@ struct {
int HP_guild_emblem_changed_post;
int HP_guild_send_message_pre;
int HP_guild_send_message_post;
- int HP_guild_recv_message_pre;
- int HP_guild_recv_message_post;
int HP_guild_send_dot_remove_pre;
int HP_guild_send_dot_remove_post;
int HP_guild_skillupack_pre;
@@ -9231,8 +9537,12 @@ struct {
int HP_guild_sd_check_post;
int HP_guild_read_guildskill_tree_db_pre;
int HP_guild_read_guildskill_tree_db_post;
- int HP_guild_read_castledb_pre;
- int HP_guild_read_castledb_post;
+ int HP_guild_read_castledb_libconfig_pre;
+ int HP_guild_read_castledb_libconfig_post;
+ int HP_guild_read_castledb_libconfig_sub_pre;
+ int HP_guild_read_castledb_libconfig_sub_post;
+ int HP_guild_read_castledb_libconfig_sub_warp_pre;
+ int HP_guild_read_castledb_libconfig_sub_warp_post;
int HP_guild_payexp_timer_sub_pre;
int HP_guild_payexp_timer_sub_post;
int HP_guild_send_xy_timer_sub_pre;
@@ -9329,6 +9639,8 @@ struct {
int HP_homun_mutate_post;
int HP_homun_gainexp_pre;
int HP_homun_gainexp_post;
+ int HP_homun_gainexp_real_pre;
+ int HP_homun_gainexp_real_post;
int HP_homun_add_intimacy_pre;
int HP_homun_add_intimacy_post;
int HP_homun_consume_intimacy_pre;
@@ -9427,16 +9739,6 @@ struct {
int HP_intif_parse_post;
int HP_intif_create_pet_pre;
int HP_intif_create_pet_post;
- int HP_intif_broadcast_pre;
- int HP_intif_broadcast_post;
- int HP_intif_broadcast2_pre;
- int HP_intif_broadcast2_post;
- int HP_intif_main_message_pre;
- int HP_intif_main_message_post;
- int HP_intif_wis_message_pre;
- int HP_intif_wis_message_post;
- int HP_intif_wis_message_to_gm_pre;
- int HP_intif_wis_message_to_gm_post;
int HP_intif_saveregistry_pre;
int HP_intif_saveregistry_post;
int HP_intif_request_registry_pre;
@@ -9463,8 +9765,6 @@ struct {
int HP_intif_party_changemap_post;
int HP_intif_break_party_pre;
int HP_intif_break_party_post;
- int HP_intif_party_message_pre;
- int HP_intif_party_message_post;
int HP_intif_party_leaderchange_pre;
int HP_intif_party_leaderchange_post;
int HP_intif_guild_create_pre;
@@ -9479,8 +9779,6 @@ struct {
int HP_intif_guild_memberinfoshort_post;
int HP_intif_guild_break_pre;
int HP_intif_guild_break_post;
- int HP_intif_guild_message_pre;
- int HP_intif_guild_message_post;
int HP_intif_guild_change_gm_pre;
int HP_intif_guild_change_gm_post;
int HP_intif_guild_change_basicinfo_pre;
@@ -9571,6 +9869,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;
@@ -9583,14 +9885,6 @@ struct {
int HP_intif_achievements_request_post;
int HP_intif_achievements_save_pre;
int HP_intif_achievements_save_post;
- int HP_intif_pWisMessage_pre;
- int HP_intif_pWisMessage_post;
- int HP_intif_pWisEnd_pre;
- int HP_intif_pWisEnd_post;
- int HP_intif_pWisToGM_sub_pre;
- int HP_intif_pWisToGM_sub_post;
- int HP_intif_pWisToGM_pre;
- int HP_intif_pWisToGM_post;
int HP_intif_pRegisters_pre;
int HP_intif_pRegisters_post;
int HP_intif_pAccountStorage_pre;
@@ -9619,8 +9913,6 @@ struct {
int HP_intif_pPartyMove_post;
int HP_intif_pPartyBroken_pre;
int HP_intif_pPartyBroken_post;
- int HP_intif_pPartyMessage_pre;
- int HP_intif_pPartyMessage_post;
int HP_intif_pGuildCreated_pre;
int HP_intif_pGuildCreated_post;
int HP_intif_pGuildInfo_pre;
@@ -9633,8 +9925,6 @@ struct {
int HP_intif_pGuildMemberInfoShort_post;
int HP_intif_pGuildBroken_pre;
int HP_intif_pGuildBroken_post;
- int HP_intif_pGuildMessage_pre;
- int HP_intif_pGuildMessage_post;
int HP_intif_pGuildBasicInfoChanged_pre;
int HP_intif_pGuildBasicInfoChanged_post;
int HP_intif_pGuildMemberInfoChanged_pre;
@@ -9851,10 +10141,10 @@ struct {
int HP_itemdb_isidentified_post;
int HP_itemdb_isidentified2_pre;
int HP_itemdb_isidentified2_post;
- int HP_itemdb_combo_split_atoi_pre;
- int HP_itemdb_combo_split_atoi_post;
- int HP_itemdb_read_combos_pre;
- int HP_itemdb_read_combos_post;
+ int HP_itemdb_read_combodb_libconfig_pre;
+ int HP_itemdb_read_combodb_libconfig_post;
+ int HP_itemdb_read_combodb_libconfig_sub_pre;
+ int HP_itemdb_read_combodb_libconfig_sub_post;
int HP_itemdb_gendercheck_pre;
int HP_itemdb_gendercheck_post;
int HP_itemdb_validate_entry_pre;
@@ -9891,6 +10181,16 @@ struct {
int HP_itemdb_lookup_const_mask_post;
int HP_itemdb_addname_sub_pre;
int HP_itemdb_addname_sub_post;
+ int HP_itemdb_read_libconfig_lapineddukddak_pre;
+ int HP_itemdb_read_libconfig_lapineddukddak_post;
+ int HP_itemdb_read_libconfig_lapineddukddak_sub_pre;
+ int HP_itemdb_read_libconfig_lapineddukddak_sub_post;
+ int HP_itemdb_read_libconfig_lapineddukddak_sub_sources_pre;
+ int HP_itemdb_read_libconfig_lapineddukddak_sub_sources_post;
+ int HP_libconfig_set_db_path_pre;
+ int HP_libconfig_set_db_path_post;
+ int HP_libconfig_format_db_path_pre;
+ int HP_libconfig_format_db_path_post;
int HP_libconfig_read_pre;
int HP_libconfig_read_post;
int HP_libconfig_write_pre;
@@ -10361,6 +10661,10 @@ struct {
int HP_map_merge_zone_post;
int HP_map_zone_clear_single_pre;
int HP_map_zone_clear_single_post;
+ int HP_mapindex_config_read_dbpath_pre;
+ int HP_mapindex_config_read_dbpath_post;
+ int HP_mapindex_config_read_pre;
+ int HP_mapindex_config_read_post;
int HP_mapindex_init_pre;
int HP_mapindex_init_post;
int HP_mapindex_final_pre;
@@ -10479,6 +10783,8 @@ struct {
int HP_mob_final_post;
int HP_mob_reload_pre;
int HP_mob_reload_post;
+ int HP_mob_reload_sub_mob_pre;
+ int HP_mob_reload_sub_mob_post;
int HP_mob_db_pre;
int HP_mob_db_post;
int HP_mob_chat_pre;
@@ -10551,6 +10857,8 @@ struct {
int HP_mob_ai_sub_hard_lootsearch_post;
int HP_mob_warpchase_sub_pre;
int HP_mob_warpchase_sub_post;
+ int HP_mob_is_in_battle_state_pre;
+ int HP_mob_is_in_battle_state_post;
int HP_mob_ai_sub_hard_slavemob_pre;
int HP_mob_ai_sub_hard_slavemob_post;
int HP_mob_unlocktarget_pre;
@@ -10571,6 +10879,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;
@@ -10637,6 +10947,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;
@@ -10657,12 +10975,16 @@ 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_read_db_viewdata_sub_pre;
+ int HP_mob_read_db_viewdata_sub_post;
int HP_mob_name_constants_pre;
int HP_mob_name_constants_post;
- int HP_mob_readdb_mobavail_pre;
- int HP_mob_readdb_mobavail_post;
+ int HP_mob_mobavail_removal_notice_pre;
+ int HP_mob_mobavail_removal_notice_post;
int HP_mob_read_randommonster_pre;
int HP_mob_read_randommonster_post;
int HP_mob_parse_row_chatdb_pre;
@@ -10687,6 +11009,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;
@@ -10837,6 +11161,8 @@ struct {
int HP_npc_unload_dup_sub_post;
int HP_npc_unload_duplicates_pre;
int HP_npc_unload_duplicates_post;
+ int HP_npc_unload_mob_pre;
+ int HP_npc_unload_mob_post;
int HP_npc_unload_pre;
int HP_npc_unload_post;
int HP_npc_clearsrcfile_pre;
@@ -10939,6 +11265,8 @@ struct {
int HP_npc_market_buylist_post;
int HP_npc_barter_buylist_pre;
int HP_npc_barter_buylist_post;
+ int HP_npc_expanded_barter_buylist_pre;
+ int HP_npc_expanded_barter_buylist_post;
int HP_npc_trader_open_pre;
int HP_npc_trader_open_post;
int HP_npc_market_fromsql_pre;
@@ -10957,12 +11285,26 @@ struct {
int HP_npc_barter_delfromsql_post;
int HP_npc_barter_delfromsql_sub_pre;
int HP_npc_barter_delfromsql_sub_post;
+ int HP_npc_expanded_barter_fromsql_pre;
+ int HP_npc_expanded_barter_fromsql_post;
+ int HP_npc_expanded_barter_tosql_pre;
+ int HP_npc_expanded_barter_tosql_post;
+ int HP_npc_expanded_barter_delfromsql_pre;
+ int HP_npc_expanded_barter_delfromsql_post;
+ int HP_npc_expanded_barter_delfromsql_sub_pre;
+ int HP_npc_expanded_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_init_pre;
+ int HP_nullpo_init_post;
+ int HP_nullpo_final_pre;
+ int HP_nullpo_final_post;
int HP_nullpo_assert_report_pre;
int HP_nullpo_assert_report_post;
int HP_packets_init_pre;
@@ -11027,8 +11369,6 @@ struct {
int HP_party_send_logout_post;
int HP_party_send_message_pre;
int HP_party_send_message_post;
- int HP_party_recv_message_pre;
- int HP_party_recv_message_post;
int HP_party_skill_check_pre;
int HP_party_skill_check_post;
int HP_party_send_xy_clear_pre;
@@ -11309,6 +11649,8 @@ struct {
int HP_pc_checkitem_post;
int HP_pc_useitem_pre;
int HP_pc_useitem_post;
+ int HP_pc_autocast_clear_pre;
+ int HP_pc_autocast_clear_post;
int HP_pc_skillatk_bonus_pre;
int HP_pc_skillatk_bonus_post;
int HP_pc_skillheal_bonus_pre;
@@ -11573,8 +11915,14 @@ struct {
int HP_pc_update_idle_time_post;
int HP_pc_have_magnifier_pre;
int HP_pc_have_magnifier_post;
+ int HP_pc_have_item_chain_pre;
+ int HP_pc_have_item_chain_post;
int HP_pc_process_chat_message_pre;
int HP_pc_process_chat_message_post;
+ int HP_pc_wis_message_to_gm_pre;
+ int HP_pc_wis_message_to_gm_post;
+ int HP_pc_wis_message_to_gm_sub_pre;
+ int HP_pc_wis_message_to_gm_sub_post;
int HP_pc_check_supernovice_call_pre;
int HP_pc_check_supernovice_call_post;
int HP_pc_check_basicskill_pre;
@@ -11585,6 +11933,8 @@ struct {
int HP_pc_has_second_costume_post;
int HP_pc_expandInventory_pre;
int HP_pc_expandInventory_post;
+ int HP_pc_auto_exp_insurance_pre;
+ int HP_pc_auto_exp_insurance_post;
int HP_libpcre_compile_pre;
int HP_libpcre_compile_post;
int HP_libpcre_study_pre;
@@ -11607,6 +11957,8 @@ struct {
int HP_pet_final_post;
int HP_pet_hungry_val_pre;
int HP_pet_hungry_val_post;
+ int HP_pet_set_hunger_pre;
+ int HP_pet_set_hunger_post;
int HP_pet_set_intimate_pre;
int HP_pet_set_intimate_post;
int HP_pet_create_egg_pre;
@@ -11741,8 +12093,36 @@ struct {
int HP_quest_questinfo_validate_quests_post;
int HP_quest_questinfo_validate_mercenary_class_pre;
int HP_quest_questinfo_validate_mercenary_class_post;
- int HP_quest_questinfo_vector_clear_pre;
- int HP_quest_questinfo_vector_clear_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;
@@ -11793,6 +12173,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;
@@ -12141,6 +12525,8 @@ struct {
int HP_script_load_translations_post;
int HP_script_load_translation_addstring_pre;
int HP_script_load_translation_addstring_post;
+ int HP_script_load_translation_file_pre;
+ int HP_script_load_translation_file_post;
int HP_script_load_translation_pre;
int HP_script_load_translation_post;
int HP_script_translation_db_destroyer_pre;
@@ -12151,8 +12537,8 @@ struct {
int HP_script_parse_cleanup_timer_post;
int HP_script_add_language_pre;
int HP_script_add_language_post;
- int HP_script_get_translation_file_name_pre;
- int HP_script_get_translation_file_name_post;
+ int HP_script_get_translation_dir_name_pre;
+ int HP_script_get_translation_dir_name_post;
int HP_script_parser_clean_leftovers_pre;
int HP_script_parser_clean_leftovers_post;
int HP_script_run_use_script_pre;
@@ -12161,6 +12547,14 @@ struct {
int HP_script_run_item_equip_script_post;
int HP_script_run_item_unequip_script_pre;
int HP_script_run_item_unequip_script_post;
+ int HP_script_run_item_rental_end_script_pre;
+ int HP_script_run_item_rental_end_script_post;
+ int HP_script_run_item_rental_start_script_pre;
+ int HP_script_run_item_rental_start_script_post;
+ int HP_script_run_item_lapineddukddak_script_pre;
+ int HP_script_run_item_lapineddukddak_script_post;
+ int HP_script_sellitemcurrency_add_pre;
+ int HP_script_sellitemcurrency_add_post;
int HP_searchstore_open_pre;
int HP_searchstore_open_post;
int HP_searchstore_query_pre;
@@ -12399,6 +12793,8 @@ struct {
int HP_skill_not_ok_hom_unknown_post;
int HP_skill_not_ok_mercenary_pre;
int HP_skill_not_ok_mercenary_post;
+ int HP_skill_validate_autocast_data_pre;
+ int HP_skill_validate_autocast_data_post;
int HP_skill_chastle_mob_changetarget_pre;
int HP_skill_chastle_mob_changetarget_post;
int HP_skill_can_produce_mix_pre;
@@ -12711,6 +13107,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;
@@ -12805,18 +13203,18 @@ 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;
int HP_status_sc2skill_post;
int HP_status_sc2scb_flag_pre;
int HP_status_sc2scb_flag_post;
- int HP_status_type2relevant_bl_types_pre;
- int HP_status_type2relevant_bl_types_post;
+ int HP_status_get_sc_relevant_bl_types_pre;
+ int HP_status_get_sc_relevant_bl_types_post;
int HP_status_get_sc_type_pre;
int HP_status_get_sc_type_post;
+ int HP_status_get_sc_icon_pre;
+ int HP_status_get_sc_icon_post;
int HP_status_damage_pre;
int HP_status_damage_post;
int HP_status_charge_pre;
@@ -12877,6 +13275,8 @@ struct {
int HP_status_get_sc_def_post;
int HP_status_change_start_pre;
int HP_status_change_start_post;
+ int HP_status_change_start_sub_pre;
+ int HP_status_change_start_sub_post;
int HP_status_change_end__pre;
int HP_status_change_end__post;
int HP_status_is_immune_to_status_pre;
@@ -13037,12 +13437,14 @@ 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_scdb_libconfig_pre;
+ int HP_status_read_scdb_libconfig_post;
+ int HP_status_read_scdb_libconfig_sub_pre;
+ int HP_status_read_scdb_libconfig_sub_post;
+ int HP_status_read_scdb_libconfig_sub_flag_pre;
+ int HP_status_read_scdb_libconfig_sub_flag_post;
+ int HP_status_read_scdb_libconfig_sub_flag_additional_pre;
+ int HP_status_read_scdb_libconfig_sub_flag_additional_post;
int HP_status_read_job_db_pre;
int HP_status_read_job_db_post;
int HP_status_read_job_db_sub_pre;
@@ -13131,6 +13533,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;
@@ -13253,22 +13673,24 @@ struct {
int HP_unit_final_post;
int HP_unit_bl2ud_pre;
int HP_unit_bl2ud_post;
+ int HP_unit_cbl2ud_pre;
+ int HP_unit_cbl2ud_post;
int HP_unit_bl2ud2_pre;
int HP_unit_bl2ud2_post;
int HP_unit_init_ud_pre;
int HP_unit_init_ud_post;
int HP_unit_attack_timer_pre;
int HP_unit_attack_timer_post;
- int HP_unit_walktoxy_timer_pre;
- int HP_unit_walktoxy_timer_post;
- int HP_unit_walktoxy_sub_pre;
- int HP_unit_walktoxy_sub_post;
- int HP_unit_delay_walktoxy_timer_pre;
- int HP_unit_delay_walktoxy_timer_post;
- int HP_unit_walktoxy_pre;
- int HP_unit_walktoxy_post;
- int HP_unit_walktobl_sub_pre;
- int HP_unit_walktobl_sub_post;
+ int HP_unit_walk_toxy_timer_pre;
+ int HP_unit_walk_toxy_timer_post;
+ int HP_unit_walk_toxy_sub_pre;
+ int HP_unit_walk_toxy_sub_post;
+ int HP_unit_delay_walk_toxy_timer_pre;
+ int HP_unit_delay_walk_toxy_timer_post;
+ int HP_unit_walk_toxy_pre;
+ int HP_unit_walk_toxy_post;
+ int HP_unit_walktobl_timer_pre;
+ int HP_unit_walktobl_timer_post;
int HP_unit_walktobl_pre;
int HP_unit_walktobl_post;
int HP_unit_run_pre;
@@ -13279,20 +13701,22 @@ struct {
int HP_unit_escape_post;
int HP_unit_movepos_pre;
int HP_unit_movepos_post;
- int HP_unit_setdir_pre;
- int HP_unit_setdir_post;
+ int HP_unit_set_dir_pre;
+ int HP_unit_set_dir_post;
int HP_unit_getdir_pre;
int HP_unit_getdir_post;
int HP_unit_blown_pre;
int HP_unit_blown_post;
int HP_unit_warp_pre;
int HP_unit_warp_post;
+ int HP_unit_warpto_master_pre;
+ int HP_unit_warpto_master_post;
int HP_unit_stop_walking_pre;
int HP_unit_stop_walking_post;
int HP_unit_skilluse_id_pre;
int HP_unit_skilluse_id_post;
- int HP_unit_step_timer_pre;
- int HP_unit_step_timer_post;
+ int HP_unit_steptimer_pre;
+ int HP_unit_steptimer_post;
int HP_unit_stop_stepaction_pre;
int HP_unit_stop_stepaction_post;
int HP_unit_is_walking_pre;
@@ -13412,6 +13836,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;
@@ -13424,6 +13850,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 3c09aba59..ac30b97d4 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -467,9 +467,12 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->fame_alchemist, HP_clif_fame_alchemist) },
{ HP_POP(clif->fame_taekwon, HP_clif_fame_taekwon) },
{ HP_POP(clif->ranklist, HP_clif_ranklist) },
+ { HP_POP(clif->ranklist_sub, HP_clif_ranklist_sub) },
+ { HP_POP(clif->ranklist_sub2, HP_clif_ranklist_sub2) },
{ HP_POP(clif->update_rankingpoint, HP_clif_update_rankingpoint) },
{ HP_POP(clif->pRanklist, HP_clif_pRanklist) },
{ HP_POP(clif->hotkeys, HP_clif_hotkeys) },
+ { HP_POP(clif->hotkeysAll, HP_clif_hotkeysAll) },
{ HP_POP(clif->insight, HP_clif_insight) },
{ HP_POP(clif->outsight, HP_clif_outsight) },
{ HP_POP(clif->skillcastcancel, HP_clif_skillcastcancel) },
@@ -482,6 +485,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->autospell, HP_clif_autospell) },
{ HP_POP(clif->combo_delay, HP_clif_combo_delay) },
{ HP_POP(clif->status_change, HP_clif_status_change) },
+ { HP_POP(clif->status_change_sub, HP_clif_status_change_sub) },
{ HP_POP(clif->insert_card, HP_clif_insert_card) },
{ HP_POP(clif->inventoryList, HP_clif_inventoryList) },
{ HP_POP(clif->inventoryItems, HP_clif_inventoryItems) },
@@ -508,7 +512,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) },
@@ -560,6 +576,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->quitsave, HP_clif_quitsave) },
{ HP_POP(clif->misceffect, HP_clif_misceffect) },
{ HP_POP(clif->changeoption, HP_clif_changeoption) },
+ { HP_POP(clif->changeoption_target, HP_clif_changeoption_target) },
{ HP_POP(clif->changeoption2, HP_clif_changeoption2) },
{ HP_POP(clif->emotion, HP_clif_emotion) },
{ HP_POP(clif->talkiebox, HP_clif_talkiebox) },
@@ -585,6 +602,7 @@ 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->specialeffect_value_single, HP_clif_specialeffect_value_single) },
{ HP_POP(clif->removeSpecialEffect, HP_clif_removeSpecialEffect) },
{ HP_POP(clif->removeSpecialEffect_single, HP_clif_removeSpecialEffect_single) },
{ HP_POP(clif->millenniumshield, HP_clif_millenniumshield) },
@@ -602,6 +620,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) },
@@ -659,6 +678,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->skillinfo, HP_clif_skillinfo) },
{ HP_POP(clif->addskill, HP_clif_addskill) },
{ HP_POP(clif->deleteskill, HP_clif_deleteskill) },
+ { HP_POP(clif->playerSkillToPacket, HP_clif_playerSkillToPacket) },
{ HP_POP(clif->party_created, HP_clif_party_created) },
{ HP_POP(clif->party_member_info, HP_clif_party_member_info) },
{ HP_POP(clif->party_info, HP_clif_party_info) },
@@ -680,6 +700,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->guild_masterormember, HP_clif_guild_masterormember) },
{ HP_POP(clif->guild_basicinfo, HP_clif_guild_basicinfo) },
{ HP_POP(clif->guild_allianceinfo, HP_clif_guild_allianceinfo) },
+ { HP_POP(clif->guild_castlelist, HP_clif_guild_castlelist) },
+ { HP_POP(clif->guild_castleinfo, HP_clif_guild_castleinfo) },
{ HP_POP(clif->guild_memberlist, HP_clif_guild_memberlist) },
{ HP_POP(clif->guild_skillinfo, HP_clif_guild_skillinfo) },
{ HP_POP(clif->guild_send_onlineinfo, HP_clif_guild_send_onlineinfo) },
@@ -831,10 +853,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) },
@@ -847,7 +871,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->pWantToConnection, HP_clif_pWantToConnection) },
{ HP_POP(clif->pLoadEndAck, HP_clif_pLoadEndAck) },
{ HP_POP(clif->pTickSend, HP_clif_pTickSend) },
- { HP_POP(clif->pHotkey, HP_clif_pHotkey) },
+ { HP_POP(clif->pHotkey1, HP_clif_pHotkey1) },
+ { HP_POP(clif->pHotkey2, HP_clif_pHotkey2) },
{ HP_POP(clif->pProgressbar, HP_clif_pProgressbar) },
{ HP_POP(clif->pWalkToXY, HP_clif_pWalkToXY) },
{ HP_POP(clif->pQuitGame, HP_clif_pQuitGame) },
@@ -1050,13 +1075,17 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->pBGQueueCheckState, HP_clif_pBGQueueCheckState) },
{ HP_POP(clif->pBGQueueRevokeReq, HP_clif_pBGQueueRevokeReq) },
{ HP_POP(clif->pBGQueueBattleBeginAck, HP_clif_pBGQueueBattleBeginAck) },
- { HP_POP(clif->pCashShopOpen, HP_clif_pCashShopOpen) },
+ { HP_POP(clif->pCashShopOpen1, HP_clif_pCashShopOpen1) },
+ { HP_POP(clif->pCashShopOpen2, HP_clif_pCashShopOpen2) },
+ { HP_POP(clif->pCashShopLimitedReq, HP_clif_pCashShopLimitedReq) },
{ HP_POP(clif->pCashShopClose, HP_clif_pCashShopClose) },
{ HP_POP(clif->pCashShopReqTab, HP_clif_pCashShopReqTab) },
{ HP_POP(clif->pCashShopSchedule, HP_clif_pCashShopSchedule) },
{ 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->cashShopOpen, HP_clif_cashShopOpen) },
{ HP_POP(clif->pPartyBookingAddFilter, HP_clif_pPartyBookingAddFilter) },
{ HP_POP(clif->pPartyBookingSubFilter, HP_clif_pPartyBookingSubFilter) },
{ HP_POP(clif->pPartyBookingReqVolunteer, HP_clif_pPartyBookingReqVolunteer) },
@@ -1076,7 +1105,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->pNPCMarketClosed, HP_clif_pNPCMarketClosed) },
{ HP_POP(clif->pNPCMarketPurchase, HP_clif_pNPCMarketPurchase) },
{ HP_POP(clif->add_item_options, HP_clif_add_item_options) },
- { HP_POP(clif->pHotkeyRowShift, HP_clif_pHotkeyRowShift) },
+ { HP_POP(clif->pHotkeyRowShift1, HP_clif_pHotkeyRowShift1) },
+ { HP_POP(clif->pHotkeyRowShift2, HP_clif_pHotkeyRowShift2) },
{ HP_POP(clif->dressroom_open, HP_clif_dressroom_open) },
{ HP_POP(clif->pOneClick_ItemIdentify, HP_clif_pOneClick_ItemIdentify) },
{ HP_POP(clif->selectcart, HP_clif_selectcart) },
@@ -1129,15 +1159,9 @@ 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) },
@@ -1152,7 +1176,31 @@ struct HookingPointData HookingPoints[] = {
{ 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->pNPCExpandedBarterClosed, HP_clif_pNPCExpandedBarterClosed) },
+ { HP_POP(clif->pNPCExpandedBarterPurchase, HP_clif_pNPCExpandedBarterPurchase) },
+ { HP_POP(clif->npc_expanded_barter_open, HP_clif_npc_expanded_barter_open) },
{ 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) },
+ { HP_POP(clif->pGuildCastleTeleportRequest, HP_clif_pGuildCastleTeleportRequest) },
+ { HP_POP(clif->pGuildCastleInfoRequest, HP_clif_pGuildCastleInfoRequest) },
+ { HP_POP(clif->guild_castleteleport_res, HP_clif_guild_castleteleport_res) },
+ { HP_POP(clif->lapineDdukDdak_open, HP_clif_lapineDdukDdak_open) },
+ { HP_POP(clif->lapineDdukDdak_result, HP_clif_lapineDdukDdak_result) },
+ { HP_POP(clif->plapineDdukDdak_ack, HP_clif_plapineDdukDdak_ack) },
+ { HP_POP(clif->plapineDdukDdak_close, HP_clif_plapineDdukDdak_close) },
+ { HP_POP(clif->pReqGearOff, HP_clif_pReqGearOff) },
/* cmdline_interface */
{ HP_POP(cmdline->init, HP_cmdline_init) },
{ HP_POP(cmdline->final, HP_cmdline_final) },
@@ -1197,7 +1245,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(duel->reject, HP_duel_reject) },
{ HP_POP(duel->leave, HP_duel_leave) },
{ HP_POP(duel->showinfo, HP_duel_showinfo) },
- { HP_POP(duel->checktime, HP_duel_checktime) },
+ { HP_POP(duel->difftime, HP_duel_difftime) },
{ HP_POP(duel->init, HP_duel_init) },
{ HP_POP(duel->final, HP_duel_final) },
/* elemental_interface */
@@ -1291,7 +1339,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(guild->change_emblem, HP_guild_change_emblem) },
{ HP_POP(guild->emblem_changed, HP_guild_emblem_changed) },
{ HP_POP(guild->send_message, HP_guild_send_message) },
- { HP_POP(guild->recv_message, HP_guild_recv_message) },
{ HP_POP(guild->send_dot_remove, HP_guild_send_dot_remove) },
{ HP_POP(guild->skillupack, HP_guild_skillupack) },
{ HP_POP(guild->dobreak, HP_guild_dobreak) },
@@ -1314,7 +1361,9 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(guild->payexp_timer, HP_guild_payexp_timer) },
{ HP_POP(guild->sd_check, HP_guild_sd_check) },
{ HP_POP(guild->read_guildskill_tree_db, HP_guild_read_guildskill_tree_db) },
- { HP_POP(guild->read_castledb, HP_guild_read_castledb) },
+ { HP_POP(guild->read_castledb_libconfig, HP_guild_read_castledb_libconfig) },
+ { HP_POP(guild->read_castledb_libconfig_sub, HP_guild_read_castledb_libconfig_sub) },
+ { HP_POP(guild->read_castledb_libconfig_sub_warp, HP_guild_read_castledb_libconfig_sub_warp) },
{ HP_POP(guild->payexp_timer_sub, HP_guild_payexp_timer_sub) },
{ HP_POP(guild->send_xy_timer_sub, HP_guild_send_xy_timer_sub) },
{ HP_POP(guild->send_xy_timer, HP_guild_send_xy_timer) },
@@ -1365,6 +1414,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(homun->evolve, HP_homun_evolve) },
{ HP_POP(homun->mutate, HP_homun_mutate) },
{ HP_POP(homun->gainexp, HP_homun_gainexp) },
+ { HP_POP(homun->gainexp_real, HP_homun_gainexp_real) },
{ HP_POP(homun->add_intimacy, HP_homun_add_intimacy) },
{ HP_POP(homun->consume_intimacy, HP_homun_consume_intimacy) },
{ HP_POP(homun->healed, HP_homun_healed) },
@@ -1416,11 +1466,6 @@ struct HookingPointData HookingPoints[] = {
/* intif_interface */
{ HP_POP(intif->parse, HP_intif_parse) },
{ HP_POP(intif->create_pet, HP_intif_create_pet) },
- { HP_POP(intif->broadcast, HP_intif_broadcast) },
- { HP_POP(intif->broadcast2, HP_intif_broadcast2) },
- { HP_POP(intif->main_message, HP_intif_main_message) },
- { HP_POP(intif->wis_message, HP_intif_wis_message) },
- { HP_POP(intif->wis_message_to_gm, HP_intif_wis_message_to_gm) },
{ HP_POP(intif->saveregistry, HP_intif_saveregistry) },
{ HP_POP(intif->request_registry, HP_intif_request_registry) },
{ HP_POP(intif->request_account_storage, HP_intif_request_account_storage) },
@@ -1434,7 +1479,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(intif->party_leave, HP_intif_party_leave) },
{ HP_POP(intif->party_changemap, HP_intif_party_changemap) },
{ HP_POP(intif->break_party, HP_intif_break_party) },
- { HP_POP(intif->party_message, HP_intif_party_message) },
{ HP_POP(intif->party_leaderchange, HP_intif_party_leaderchange) },
{ HP_POP(intif->guild_create, HP_intif_guild_create) },
{ HP_POP(intif->guild_request_info, HP_intif_guild_request_info) },
@@ -1442,7 +1486,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(intif->guild_leave, HP_intif_guild_leave) },
{ HP_POP(intif->guild_memberinfoshort, HP_intif_guild_memberinfoshort) },
{ HP_POP(intif->guild_break, HP_intif_guild_break) },
- { HP_POP(intif->guild_message, HP_intif_guild_message) },
{ HP_POP(intif->guild_change_gm, HP_intif_guild_change_gm) },
{ HP_POP(intif->guild_change_basicinfo, HP_intif_guild_change_basicinfo) },
{ HP_POP(intif->guild_change_memberinfo, HP_intif_guild_change_memberinfo) },
@@ -1488,16 +1531,14 @@ 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) },
{ HP_POP(intif->CheckForCharServer, HP_intif_CheckForCharServer) },
{ HP_POP(intif->achievements_request, HP_intif_achievements_request) },
{ HP_POP(intif->achievements_save, HP_intif_achievements_save) },
- { HP_POP(intif->pWisMessage, HP_intif_pWisMessage) },
- { HP_POP(intif->pWisEnd, HP_intif_pWisEnd) },
- { HP_POP(intif->pWisToGM_sub, HP_intif_pWisToGM_sub) },
- { HP_POP(intif->pWisToGM, HP_intif_pWisToGM) },
{ HP_POP(intif->pRegisters, HP_intif_pRegisters) },
{ HP_POP(intif->pAccountStorage, HP_intif_pAccountStorage) },
{ HP_POP(intif->pChangeNameOk, HP_intif_pChangeNameOk) },
@@ -1512,14 +1553,12 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(intif->pPartyMemberWithdraw, HP_intif_pPartyMemberWithdraw) },
{ HP_POP(intif->pPartyMove, HP_intif_pPartyMove) },
{ HP_POP(intif->pPartyBroken, HP_intif_pPartyBroken) },
- { HP_POP(intif->pPartyMessage, HP_intif_pPartyMessage) },
{ HP_POP(intif->pGuildCreated, HP_intif_pGuildCreated) },
{ HP_POP(intif->pGuildInfo, HP_intif_pGuildInfo) },
{ HP_POP(intif->pGuildMemberAdded, HP_intif_pGuildMemberAdded) },
{ HP_POP(intif->pGuildMemberWithdraw, HP_intif_pGuildMemberWithdraw) },
{ HP_POP(intif->pGuildMemberInfoShort, HP_intif_pGuildMemberInfoShort) },
{ HP_POP(intif->pGuildBroken, HP_intif_pGuildBroken) },
- { HP_POP(intif->pGuildMessage, HP_intif_pGuildMessage) },
{ HP_POP(intif->pGuildBasicInfoChanged, HP_intif_pGuildBasicInfoChanged) },
{ HP_POP(intif->pGuildMemberInfoChanged, HP_intif_pGuildMemberInfoChanged) },
{ HP_POP(intif->pGuildPosition, HP_intif_pGuildPosition) },
@@ -1630,8 +1669,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(itemdb->isrestricted, HP_itemdb_isrestricted) },
{ HP_POP(itemdb->isidentified, HP_itemdb_isidentified) },
{ HP_POP(itemdb->isidentified2, HP_itemdb_isidentified2) },
- { HP_POP(itemdb->combo_split_atoi, HP_itemdb_combo_split_atoi) },
- { HP_POP(itemdb->read_combos, HP_itemdb_read_combos) },
+ { HP_POP(itemdb->read_combodb_libconfig, HP_itemdb_read_combodb_libconfig) },
+ { HP_POP(itemdb->read_combodb_libconfig_sub, HP_itemdb_read_combodb_libconfig_sub) },
{ HP_POP(itemdb->gendercheck, HP_itemdb_gendercheck) },
{ HP_POP(itemdb->validate_entry, HP_itemdb_validate_entry) },
{ HP_POP(itemdb->readdb_options_additional_fields, HP_itemdb_readdb_options_additional_fields) },
@@ -1650,7 +1689,12 @@ struct HookingPointData HookingPoints[] = {
{ 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) },
+ { HP_POP(itemdb->read_libconfig_lapineddukddak, HP_itemdb_read_libconfig_lapineddukddak) },
+ { HP_POP(itemdb->read_libconfig_lapineddukddak_sub, HP_itemdb_read_libconfig_lapineddukddak_sub) },
+ { HP_POP(itemdb->read_libconfig_lapineddukddak_sub_sources, HP_itemdb_read_libconfig_lapineddukddak_sub_sources) },
/* libconfig_interface */
+ { HP_POP(libconfig->set_db_path, HP_libconfig_set_db_path) },
+ { HP_POP(libconfig->format_db_path, HP_libconfig_format_db_path) },
{ HP_POP(libconfig->read, HP_libconfig_read) },
{ HP_POP(libconfig->write, HP_libconfig_write) },
{ HP_POP(libconfig->set_options, HP_libconfig_set_options) },
@@ -1890,6 +1934,8 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(map->merge_zone, HP_map_merge_zone) },
{ HP_POP(map->zone_clear_single, HP_map_zone_clear_single) },
/* mapindex_interface */
+ { HP_POP(mapindex->config_read_dbpath, HP_mapindex_config_read_dbpath) },
+ { HP_POP(mapindex->config_read, HP_mapindex_config_read) },
{ HP_POP(mapindex->init, HP_mapindex_init) },
{ HP_POP(mapindex->final, HP_mapindex_final) },
{ HP_POP(mapindex->addmap, HP_mapindex_addmap) },
@@ -1954,6 +2000,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mob->init, HP_mob_init) },
{ HP_POP(mob->final, HP_mob_final) },
{ HP_POP(mob->reload, HP_mob_reload) },
+ { HP_POP(mob->reload_sub_mob, HP_mob_reload_sub_mob) },
{ HP_POP(mob->db, HP_mob_db) },
{ HP_POP(mob->chat, HP_mob_chat) },
{ HP_POP(mob->makedummymobdb, HP_mob_makedummymobdb) },
@@ -1990,6 +2037,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(mob->ai_sub_hard_bg_ally, HP_mob_ai_sub_hard_bg_ally) },
{ HP_POP(mob->ai_sub_hard_lootsearch, HP_mob_ai_sub_hard_lootsearch) },
{ HP_POP(mob->warpchase_sub, HP_mob_warpchase_sub) },
+ { HP_POP(mob->is_in_battle_state, HP_mob_is_in_battle_state) },
{ HP_POP(mob->ai_sub_hard_slavemob, HP_mob_ai_sub_hard_slavemob) },
{ HP_POP(mob->unlocktarget, HP_mob_unlocktarget) },
{ HP_POP(mob->randomwalk, HP_mob_randomwalk) },
@@ -2000,6 +2048,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) },
@@ -2033,6 +2082,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) },
@@ -2043,9 +2096,11 @@ 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->read_db_viewdata_sub, HP_mob_read_db_viewdata_sub) },
{ HP_POP(mob->name_constants, HP_mob_name_constants) },
- { HP_POP(mob->readdb_mobavail, HP_mob_readdb_mobavail) },
+ { HP_POP(mob->mobavail_removal_notice, HP_mob_mobavail_removal_notice) },
{ HP_POP(mob->read_randommonster, HP_mob_read_randommonster) },
{ HP_POP(mob->parse_row_chatdb, HP_mob_parse_row_chatdb) },
{ HP_POP(mob->readchatdb, HP_mob_readchatdb) },
@@ -2058,6 +2113,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) },
@@ -2136,6 +2192,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(npc->unload_ev_label, HP_npc_unload_ev_label) },
{ HP_POP(npc->unload_dup_sub, HP_npc_unload_dup_sub) },
{ HP_POP(npc->unload_duplicates, HP_npc_unload_duplicates) },
+ { HP_POP(npc->unload_mob, HP_npc_unload_mob) },
{ HP_POP(npc->unload, HP_npc_unload) },
{ HP_POP(npc->clearsrcfile, HP_npc_clearsrcfile) },
{ HP_POP(npc->addsrcfile, HP_npc_addsrcfile) },
@@ -2187,6 +2244,7 @@ struct HookingPointData HookingPoints[] = {
{ 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->expanded_barter_buylist, HP_npc_expanded_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) },
@@ -2196,10 +2254,17 @@ struct HookingPointData HookingPoints[] = {
{ 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->expanded_barter_fromsql, HP_npc_expanded_barter_fromsql) },
+ { HP_POP(npc->expanded_barter_tosql, HP_npc_expanded_barter_tosql) },
+ { HP_POP(npc->expanded_barter_delfromsql, HP_npc_expanded_barter_delfromsql) },
+ { HP_POP(npc->expanded_barter_delfromsql_sub, HP_npc_expanded_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->init, HP_nullpo_init) },
+ { HP_POP(nullpo->final, HP_nullpo_final) },
{ HP_POP(nullpo->assert_report, HP_nullpo_assert_report) },
/* packets_interface */
{ HP_POP(packets->init, HP_packets_init) },
@@ -2234,7 +2299,6 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(party->send_levelup, HP_party_send_levelup) },
{ HP_POP(party->send_logout, HP_party_send_logout) },
{ HP_POP(party->send_message, HP_party_send_message) },
- { HP_POP(party->recv_message, HP_party_recv_message) },
{ HP_POP(party->skill_check, HP_party_skill_check) },
{ HP_POP(party->send_xy_clear, HP_party_send_xy_clear) },
{ HP_POP(party->exp_share, HP_party_exp_share) },
@@ -2378,6 +2442,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->unequipitem_pos, HP_pc_unequipitem_pos) },
{ HP_POP(pc->checkitem, HP_pc_checkitem) },
{ HP_POP(pc->useitem, HP_pc_useitem) },
+ { HP_POP(pc->autocast_clear, HP_pc_autocast_clear) },
{ HP_POP(pc->skillatk_bonus, HP_pc_skillatk_bonus) },
{ HP_POP(pc->skillheal_bonus, HP_pc_skillheal_bonus) },
{ HP_POP(pc->skillheal2_bonus, HP_pc_skillheal2_bonus) },
@@ -2510,12 +2575,16 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pc->check_job_name, HP_pc_check_job_name) },
{ HP_POP(pc->update_idle_time, HP_pc_update_idle_time) },
{ HP_POP(pc->have_magnifier, HP_pc_have_magnifier) },
+ { HP_POP(pc->have_item_chain, HP_pc_have_item_chain) },
{ HP_POP(pc->process_chat_message, HP_pc_process_chat_message) },
+ { HP_POP(pc->wis_message_to_gm, HP_pc_wis_message_to_gm) },
+ { HP_POP(pc->wis_message_to_gm_sub, HP_pc_wis_message_to_gm_sub) },
{ HP_POP(pc->check_supernovice_call, HP_pc_check_supernovice_call) },
{ 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) },
+ { HP_POP(pc->auto_exp_insurance, HP_pc_auto_exp_insurance) },
/* pcre_interface */
{ HP_POP(libpcre->compile, HP_libpcre_compile) },
{ HP_POP(libpcre->study, HP_libpcre_study) },
@@ -2529,6 +2598,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(pet->init, HP_pet_init) },
{ HP_POP(pet->final, HP_pet_final) },
{ HP_POP(pet->hungry_val, HP_pet_hungry_val) },
+ { HP_POP(pet->set_hunger, HP_pet_set_hunger) },
{ HP_POP(pet->set_intimate, HP_pet_set_intimate) },
{ HP_POP(pet->create_egg, HP_pet_create_egg) },
{ HP_POP(pet->unlocktarget, HP_pet_unlocktarget) },
@@ -2597,7 +2667,23 @@ struct HookingPointData HookingPoints[] = {
{ 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_validate_mercenary_class, HP_quest_questinfo_validate_mercenary_class) },
- { HP_POP(quest->questinfo_vector_clear, HP_quest_questinfo_vector_clear) },
+/* 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) },
@@ -2625,6 +2711,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) },
@@ -2800,16 +2888,21 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(script->string_dup, HP_script_string_dup) },
{ HP_POP(script->load_translations, HP_script_load_translations) },
{ HP_POP(script->load_translation_addstring, HP_script_load_translation_addstring) },
+ { HP_POP(script->load_translation_file, HP_script_load_translation_file) },
{ HP_POP(script->load_translation, HP_script_load_translation) },
{ HP_POP(script->translation_db_destroyer, HP_script_translation_db_destroyer) },
{ HP_POP(script->clear_translations, HP_script_clear_translations) },
{ HP_POP(script->parse_cleanup_timer, HP_script_parse_cleanup_timer) },
{ HP_POP(script->add_language, HP_script_add_language) },
- { HP_POP(script->get_translation_file_name, HP_script_get_translation_file_name) },
+ { HP_POP(script->get_translation_dir_name, HP_script_get_translation_dir_name) },
{ HP_POP(script->parser_clean_leftovers, HP_script_parser_clean_leftovers) },
{ HP_POP(script->run_use_script, HP_script_run_use_script) },
{ HP_POP(script->run_item_equip_script, HP_script_run_item_equip_script) },
{ HP_POP(script->run_item_unequip_script, HP_script_run_item_unequip_script) },
+ { HP_POP(script->run_item_rental_end_script, HP_script_run_item_rental_end_script) },
+ { HP_POP(script->run_item_rental_start_script, HP_script_run_item_rental_start_script) },
+ { HP_POP(script->run_item_lapineddukddak_script, HP_script_run_item_lapineddukddak_script) },
+ { HP_POP(script->sellitemcurrency_add, HP_script_sellitemcurrency_add) },
/* searchstore_interface */
{ HP_POP(searchstore->open, HP_searchstore_open) },
{ HP_POP(searchstore->query, HP_searchstore_query) },
@@ -2932,6 +3025,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(skill->not_ok_hom, HP_skill_not_ok_hom) },
{ HP_POP(skill->not_ok_hom_unknown, HP_skill_not_ok_hom_unknown) },
{ HP_POP(skill->not_ok_mercenary, HP_skill_not_ok_mercenary) },
+ { HP_POP(skill->validate_autocast_data, HP_skill_validate_autocast_data) },
{ HP_POP(skill->chastle_mob_changetarget, HP_skill_chastle_mob_changetarget) },
{ HP_POP(skill->can_produce_mix, HP_skill_can_produce_mix) },
{ HP_POP(skill->produce_mix, HP_skill_produce_mix) },
@@ -3089,6 +3183,7 @@ struct HookingPointData HookingPoints[] = {
{ 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) },
@@ -3138,12 +3233,12 @@ 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) },
- { HP_POP(status->type2relevant_bl_types, HP_status_type2relevant_bl_types) },
+ { HP_POP(status->get_sc_relevant_bl_types, HP_status_get_sc_relevant_bl_types) },
{ HP_POP(status->get_sc_type, HP_status_get_sc_type) },
+ { HP_POP(status->get_sc_icon, HP_status_get_sc_icon) },
{ HP_POP(status->damage, HP_status_damage) },
{ HP_POP(status->charge, HP_status_charge) },
{ HP_POP(status->percent_change, HP_status_percent_change) },
@@ -3174,6 +3269,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(status->isimmune, HP_status_isimmune) },
{ HP_POP(status->get_sc_def, HP_status_get_sc_def) },
{ HP_POP(status->change_start, HP_status_change_start) },
+ { HP_POP(status->change_start_sub, HP_status_change_start_sub) },
{ HP_POP(status->change_end_, HP_status_change_end_) },
{ HP_POP(status->is_immune_to_status, HP_status_is_immune_to_status) },
{ HP_POP(status->is_boss_resist_sc, HP_status_is_boss_resist_sc) },
@@ -3254,9 +3350,10 @@ 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_scdb_libconfig, HP_status_read_scdb_libconfig) },
+ { HP_POP(status->read_scdb_libconfig_sub, HP_status_read_scdb_libconfig_sub) },
+ { HP_POP(status->read_scdb_libconfig_sub_flag, HP_status_read_scdb_libconfig_sub_flag) },
+ { HP_POP(status->read_scdb_libconfig_sub_flag_additional, HP_status_read_scdb_libconfig_sub_flag_additional) },
{ HP_POP(status->read_job_db, HP_status_read_job_db) },
{ HP_POP(status->read_job_db_sub, HP_status_read_job_db_sub) },
{ HP_POP(status->set_sc, HP_status_set_sc) },
@@ -3304,6 +3401,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) },
@@ -3371,26 +3478,28 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(unit->init, HP_unit_init) },
{ HP_POP(unit->final, HP_unit_final) },
{ HP_POP(unit->bl2ud, HP_unit_bl2ud) },
+ { HP_POP(unit->cbl2ud, HP_unit_cbl2ud) },
{ HP_POP(unit->bl2ud2, HP_unit_bl2ud2) },
{ HP_POP(unit->init_ud, HP_unit_init_ud) },
{ HP_POP(unit->attack_timer, HP_unit_attack_timer) },
- { HP_POP(unit->walktoxy_timer, HP_unit_walktoxy_timer) },
- { HP_POP(unit->walktoxy_sub, HP_unit_walktoxy_sub) },
- { HP_POP(unit->delay_walktoxy_timer, HP_unit_delay_walktoxy_timer) },
- { HP_POP(unit->walktoxy, HP_unit_walktoxy) },
- { HP_POP(unit->walktobl_sub, HP_unit_walktobl_sub) },
+ { HP_POP(unit->walk_toxy_timer, HP_unit_walk_toxy_timer) },
+ { HP_POP(unit->walk_toxy_sub, HP_unit_walk_toxy_sub) },
+ { HP_POP(unit->delay_walk_toxy_timer, HP_unit_delay_walk_toxy_timer) },
+ { HP_POP(unit->walk_toxy, HP_unit_walk_toxy) },
+ { HP_POP(unit->walktobl_timer, HP_unit_walktobl_timer) },
{ HP_POP(unit->walktobl, HP_unit_walktobl) },
{ HP_POP(unit->run, HP_unit_run) },
{ HP_POP(unit->run_hit, HP_unit_run_hit) },
{ HP_POP(unit->escape, HP_unit_escape) },
{ HP_POP(unit->movepos, HP_unit_movepos) },
- { HP_POP(unit->setdir, HP_unit_setdir) },
+ { HP_POP(unit->set_dir, HP_unit_set_dir) },
{ HP_POP(unit->getdir, HP_unit_getdir) },
{ HP_POP(unit->blown, HP_unit_blown) },
{ HP_POP(unit->warp, HP_unit_warp) },
+ { HP_POP(unit->warpto_master, HP_unit_warpto_master) },
{ HP_POP(unit->stop_walking, HP_unit_stop_walking) },
{ HP_POP(unit->skilluse_id, HP_unit_skilluse_id) },
- { HP_POP(unit->step_timer, HP_unit_step_timer) },
+ { HP_POP(unit->steptimer, HP_unit_steptimer) },
{ HP_POP(unit->stop_stepaction, HP_unit_stop_stepaction) },
{ HP_POP(unit->is_walking, HP_unit_is_walking) },
{ HP_POP(unit->can_move, HP_unit_can_move) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 8242b9797..940f96ca2 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -11278,11 +11278,11 @@ void HP_clif_viewpoint(struct map_session_data *sd, int npc_id, int type, int x,
}
return;
}
-int HP_clif_damage(struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2) {
+int HP_clif_damage(struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 damage, short div, enum battle_dmg_type type, int64 damage2) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_clif_damage_pre > 0) {
- int (*preHookFunc) (struct block_list **src, struct block_list **dst, int *sdelay, int *ddelay, int64 *damage, short *div, unsigned char *type, int64 *damage2);
+ int (*preHookFunc) (struct block_list **src, struct block_list **dst, int *sdelay, int *ddelay, int64 *damage, short *div, enum battle_dmg_type *type, int64 *damage2);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_damage_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_damage_pre[hIndex].func;
@@ -11297,7 +11297,7 @@ int HP_clif_damage(struct block_list *src, struct block_list *dst, int sdelay, i
retVal___ = HPMHooks.source.clif.damage(src, dst, sdelay, ddelay, damage, div, type, damage2);
}
if (HPMHooks.count.HP_clif_damage_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 damage, short div, unsigned char type, int64 damage2);
+ int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 damage, short div, enum battle_dmg_type type, int64 damage2);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_damage_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_damage_post[hIndex].func;
retVal___ = postHookFunc(retVal___, src, dst, sdelay, ddelay, damage, div, type, damage2);
@@ -11539,6 +11539,58 @@ void HP_clif_ranklist(struct map_session_data *sd, enum fame_list_type type) {
}
return;
}
+void HP_clif_ranklist_sub(struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_ranklist_sub_pre > 0) {
+ void (*preHookFunc) (struct PACKET_ZC_ACK_RANKING_sub **ranks, enum fame_list_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ranklist_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_ranklist_sub_pre[hIndex].func;
+ preHookFunc(&ranks, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.ranklist_sub(ranks, type);
+ }
+ if (HPMHooks.count.HP_clif_ranklist_sub_post > 0) {
+ void (*postHookFunc) (struct PACKET_ZC_ACK_RANKING_sub *ranks, enum fame_list_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ranklist_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_ranklist_sub_post[hIndex].func;
+ postHookFunc(ranks, type);
+ }
+ }
+ return;
+}
+void HP_clif_ranklist_sub2(uint32 *chars, uint32 *points, enum fame_list_type type) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_ranklist_sub2_pre > 0) {
+ void (*preHookFunc) (uint32 **chars, uint32 **points, enum fame_list_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ranklist_sub2_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_ranklist_sub2_pre[hIndex].func;
+ preHookFunc(&chars, &points, &type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.ranklist_sub2(chars, points, type);
+ }
+ if (HPMHooks.count.HP_clif_ranklist_sub2_post > 0) {
+ void (*postHookFunc) (uint32 *chars, uint32 *points, enum fame_list_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_ranklist_sub2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_ranklist_sub2_post[hIndex].func;
+ postHookFunc(chars, points, type);
+ }
+ }
+ return;
+}
void HP_clif_update_rankingpoint(struct map_session_data *sd, enum fame_list_type type, int points) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_update_rankingpoint_pre > 0) {
@@ -11591,14 +11643,14 @@ void HP_clif_pRanklist(int fd, struct map_session_data *sd) {
}
return;
}
-void HP_clif_hotkeys(struct map_session_data *sd) {
+void HP_clif_hotkeys(struct map_session_data *sd, int tab) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_hotkeys_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd);
+ void (*preHookFunc) (struct map_session_data **sd, int *tab);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_hotkeys_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_hotkeys_pre[hIndex].func;
- preHookFunc(&sd);
+ preHookFunc(&sd, &tab);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -11606,12 +11658,38 @@ void HP_clif_hotkeys(struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.hotkeys(sd);
+ HPMHooks.source.clif.hotkeys(sd, tab);
}
if (HPMHooks.count.HP_clif_hotkeys_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd);
+ void (*postHookFunc) (struct map_session_data *sd, int tab);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_hotkeys_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_hotkeys_post[hIndex].func;
+ postHookFunc(sd, tab);
+ }
+ }
+ return;
+}
+void HP_clif_hotkeysAll(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_hotkeysAll_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_hotkeysAll_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_hotkeysAll_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.hotkeysAll(sd);
+ }
+ if (HPMHooks.count.HP_clif_hotkeysAll_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_hotkeysAll_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_hotkeysAll_post[hIndex].func;
postHookFunc(sd);
}
}
@@ -11917,14 +11995,14 @@ void HP_clif_combo_delay(struct block_list *bl, int wait) {
}
return;
}
-void HP_clif_status_change(struct block_list *bl, int type, int flag, int tick, int val1, int val2, int val3) {
+void HP_clif_status_change(struct block_list *bl, int relevant_bl, int type, int flag, int total_tick, int val1, int val2, int val3) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_status_change_pre > 0) {
- void (*preHookFunc) (struct block_list **bl, int *type, int *flag, int *tick, int *val1, int *val2, int *val3);
+ void (*preHookFunc) (struct block_list **bl, int *relevant_bl, int *type, int *flag, int *total_tick, int *val1, int *val2, int *val3);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_status_change_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_status_change_pre[hIndex].func;
- preHookFunc(&bl, &type, &flag, &tick, &val1, &val2, &val3);
+ preHookFunc(&bl, &relevant_bl, &type, &flag, &total_tick, &val1, &val2, &val3);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -11932,13 +12010,39 @@ void HP_clif_status_change(struct block_list *bl, int type, int flag, int tick,
}
}
{
- HPMHooks.source.clif.status_change(bl, type, flag, tick, val1, val2, val3);
+ HPMHooks.source.clif.status_change(bl, relevant_bl, type, flag, total_tick, val1, val2, val3);
}
if (HPMHooks.count.HP_clif_status_change_post > 0) {
- void (*postHookFunc) (struct block_list *bl, int type, int flag, int tick, int val1, int val2, int val3);
+ void (*postHookFunc) (struct block_list *bl, int relevant_bl, int type, int flag, int total_tick, int val1, int val2, int val3);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_status_change_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_status_change_post[hIndex].func;
- postHookFunc(bl, type, flag, tick, val1, val2, val3);
+ postHookFunc(bl, relevant_bl, type, flag, total_tick, val1, val2, val3);
+ }
+ }
+ return;
+}
+void HP_clif_status_change_sub(struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_tick, int val1, int val2, int val3) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_status_change_sub_pre > 0) {
+ void (*preHookFunc) (struct block_list **bl, int *type, int *relevant_bl, int *flag, int *tick, int *total_tick, int *val1, int *val2, int *val3);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_status_change_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_status_change_sub_pre[hIndex].func;
+ preHookFunc(&bl, &type, &relevant_bl, &flag, &tick, &total_tick, &val1, &val2, &val3);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.status_change_sub(bl, type, relevant_bl, flag, tick, total_tick, val1, val2, val3);
+ }
+ if (HPMHooks.count.HP_clif_status_change_sub_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, int type, int relevant_bl, int flag, int tick, int total_tick, int val1, int val2, int val3);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_status_change_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_status_change_sub_post[hIndex].func;
+ postHookFunc(bl, type, relevant_bl, flag, tick, total_tick, val1, val2, val3);
}
}
return;
@@ -12619,13 +12723,195 @@ 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_charnameack_pre > 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_charnameack_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_charnameack_pre[hIndex].func;
+ 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) {
@@ -12634,12 +12920,142 @@ void HP_clif_charnameack(int fd, struct block_list *bl) {
}
}
{
- HPMHooks.source.clif.charnameack(fd, bl);
+ HPMHooks.source.clif.mobname_guardian_ack(fd, bl);
}
- if (HPMHooks.count.HP_clif_charnameack_post > 0) {
+ 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_charnameack_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_charnameack_post[hIndex].func;
+ 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_unknownname_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct block_list **bl);
+ *HPMforce_return = false;
+ 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) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.unknownname_ack(fd, bl);
+ }
+ 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_unknownname_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_unknownname_ack_post[hIndex].func;
postHookFunc(fd, bl);
}
}
@@ -13986,6 +14402,32 @@ void HP_clif_changeoption(struct block_list *bl) {
}
return;
}
+void HP_clif_changeoption_target(struct block_list *bl, struct block_list *target_bl, enum send_target target) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_changeoption_target_pre > 0) {
+ void (*preHookFunc) (struct block_list **bl, struct block_list **target_bl, enum send_target *target);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_changeoption_target_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_changeoption_target_pre[hIndex].func;
+ preHookFunc(&bl, &target_bl, &target);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.changeoption_target(bl, target_bl, target);
+ }
+ if (HPMHooks.count.HP_clif_changeoption_target_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, struct block_list *target_bl, enum send_target target);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_changeoption_target_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_changeoption_target_post[hIndex].func;
+ postHookFunc(bl, target_bl, target);
+ }
+ }
+ return;
+}
void HP_clif_changeoption2(struct block_list *bl) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_changeoption2_pre > 0) {
@@ -14142,11 +14584,11 @@ void HP_clif_callpartner(struct map_session_data *sd) {
}
return;
}
-int HP_clif_skill_damage(struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 damage, int div, uint16 skill_id, uint16 skill_lv, int type) {
+int HP_clif_skill_damage(struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 damage, int div, uint16 skill_id, uint16 skill_lv, enum battle_dmg_type type) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_clif_skill_damage_pre > 0) {
- int (*preHookFunc) (struct block_list **src, struct block_list **dst, int64 *tick, int *sdelay, int *ddelay, int64 *damage, int *div, uint16 *skill_id, uint16 *skill_lv, int *type);
+ int (*preHookFunc) (struct block_list **src, struct block_list **dst, int64 *tick, int *sdelay, int *ddelay, int64 *damage, int *div, uint16 *skill_id, uint16 *skill_lv, enum battle_dmg_type *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_skill_damage_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_skill_damage_pre[hIndex].func;
@@ -14161,7 +14603,7 @@ int HP_clif_skill_damage(struct block_list *src, struct block_list *dst, int64 t
retVal___ = HPMHooks.source.clif.skill_damage(src, dst, tick, sdelay, ddelay, damage, div, skill_id, skill_lv, type);
}
if (HPMHooks.count.HP_clif_skill_damage_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 damage, int div, uint16 skill_id, uint16 skill_lv, int type);
+ int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *dst, int64 tick, int sdelay, int ddelay, int64 damage, int div, uint16 skill_id, uint16 skill_lv, enum battle_dmg_type type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_skill_damage_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_skill_damage_post[hIndex].func;
retVal___ = postHookFunc(retVal___, src, dst, tick, sdelay, ddelay, damage, div, skill_id, skill_lv, type);
@@ -14612,10 +15054,10 @@ void HP_clif_specialeffect_single(struct block_list *bl, int type, int fd) {
}
return;
}
-void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, int num, send_target target) {
+void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, uint64 num, send_target target) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_specialeffect_value_pre > 0) {
- void (*preHookFunc) (struct block_list **bl, int *effect_id, int *num, send_target *target);
+ void (*preHookFunc) (struct block_list **bl, int *effect_id, uint64 *num, send_target *target);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_specialeffect_value_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_specialeffect_value_pre[hIndex].func;
@@ -14630,7 +15072,7 @@ void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, int num,
HPMHooks.source.clif.specialeffect_value(bl, effect_id, num, target);
}
if (HPMHooks.count.HP_clif_specialeffect_value_post > 0) {
- void (*postHookFunc) (struct block_list *bl, int effect_id, int num, send_target target);
+ void (*postHookFunc) (struct block_list *bl, int effect_id, uint64 num, send_target target);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_specialeffect_value_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_specialeffect_value_post[hIndex].func;
postHookFunc(bl, effect_id, num, target);
@@ -14638,6 +15080,32 @@ void HP_clif_specialeffect_value(struct block_list *bl, int effect_id, int num,
}
return;
}
+void HP_clif_specialeffect_value_single(struct block_list *bl, int effect_id, uint64 num, int fd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_specialeffect_value_single_pre > 0) {
+ void (*preHookFunc) (struct block_list **bl, int *effect_id, uint64 *num, int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_specialeffect_value_single_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_specialeffect_value_single_pre[hIndex].func;
+ preHookFunc(&bl, &effect_id, &num, &fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.specialeffect_value_single(bl, effect_id, num, fd);
+ }
+ if (HPMHooks.count.HP_clif_specialeffect_value_single_post > 0) {
+ void (*postHookFunc) (struct block_list *bl, int effect_id, uint64 num, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_specialeffect_value_single_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_specialeffect_value_single_post[hIndex].func;
+ postHookFunc(bl, effect_id, num, fd);
+ }
+ }
+ 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) {
@@ -15080,6 +15548,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) {
@@ -15758,14 +16252,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;
@@ -15773,13 +16267,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;
@@ -16564,6 +17058,32 @@ void HP_clif_deleteskill(struct map_session_data *sd, int id) {
}
return;
}
+void HP_clif_playerSkillToPacket(struct map_session_data *sd, struct SKILLDATA *skillData, int skillId, int idx, bool newSkill) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_playerSkillToPacket_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct SKILLDATA **skillData, int *skillId, int *idx, bool *newSkill);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_playerSkillToPacket_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_playerSkillToPacket_pre[hIndex].func;
+ preHookFunc(&sd, &skillData, &skillId, &idx, &newSkill);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.playerSkillToPacket(sd, skillData, skillId, idx, newSkill);
+ }
+ if (HPMHooks.count.HP_clif_playerSkillToPacket_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct SKILLDATA *skillData, int skillId, int idx, bool newSkill);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_playerSkillToPacket_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_playerSkillToPacket_post[hIndex].func;
+ postHookFunc(sd, skillData, skillId, idx, newSkill);
+ }
+ }
+ return;
+}
void HP_clif_party_created(struct map_session_data *sd, int result) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_party_created_pre > 0) {
@@ -17110,6 +17630,58 @@ void HP_clif_guild_allianceinfo(struct map_session_data *sd) {
}
return;
}
+void HP_clif_guild_castlelist(struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_guild_castlelist_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_guild_castlelist_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_guild_castlelist_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.guild_castlelist(sd);
+ }
+ if (HPMHooks.count.HP_clif_guild_castlelist_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_guild_castlelist_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_guild_castlelist_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
+void HP_clif_guild_castleinfo(struct map_session_data *sd, struct guild_castle *gc) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_guild_castleinfo_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct guild_castle **gc);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_guild_castleinfo_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_guild_castleinfo_pre[hIndex].func;
+ preHookFunc(&sd, &gc);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.guild_castleinfo(sd, gc);
+ }
+ if (HPMHooks.count.HP_clif_guild_castleinfo_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct guild_castle *gc);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_guild_castleinfo_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_guild_castleinfo_post[hIndex].func;
+ postHookFunc(sd, gc);
+ }
+ }
+ return;
+}
void HP_clif_guild_memberlist(struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_guild_memberlist_pre > 0) {
@@ -20890,11 +21462,11 @@ void HP_clif_notify_bounditem(struct map_session_data *sd, unsigned short index)
}
return;
}
-int HP_clif_delay_damage(int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, unsigned char type) {
+int HP_clif_delay_damage(int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, enum battle_dmg_type type) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_clif_delay_damage_pre > 0) {
- int (*preHookFunc) (int64 *tick, struct block_list **src, struct block_list **dst, int *sdelay, int *ddelay, int64 *in_damage, short *div, unsigned char *type);
+ int (*preHookFunc) (int64 *tick, struct block_list **src, struct block_list **dst, int *sdelay, int *ddelay, int64 *in_damage, short *div, enum battle_dmg_type *type);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_delay_damage_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_delay_damage_pre[hIndex].func;
@@ -20909,7 +21481,7 @@ int HP_clif_delay_damage(int64 tick, struct block_list *src, struct block_list *
retVal___ = HPMHooks.source.clif.delay_damage(tick, src, dst, sdelay, ddelay, in_damage, div, type);
}
if (HPMHooks.count.HP_clif_delay_damage_post > 0) {
- int (*postHookFunc) (int retVal___, int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, unsigned char type);
+ int (*postHookFunc) (int retVal___, int64 tick, struct block_list *src, struct block_list *dst, int sdelay, int ddelay, int64 in_damage, short div, enum battle_dmg_type type);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_delay_damage_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_delay_damage_post[hIndex].func;
retVal___ = postHookFunc(retVal___, tick, src, dst, sdelay, ddelay, in_damage, div, type);
@@ -20970,10 +21542,10 @@ void HP_clif_npc_market_open(struct map_session_data *sd, struct npc_data *nd) {
}
return;
}
-void HP_clif_npc_market_purchase_ack(struct map_session_data *sd, const struct itemlist *item_list, unsigned char response) {
+void HP_clif_npc_market_purchase_ack(struct map_session_data *sd, const struct itemlist *item_list, enum market_buy_result response) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_npc_market_purchase_ack_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, const struct itemlist **item_list, unsigned char *response);
+ void (*preHookFunc) (struct map_session_data **sd, const struct itemlist **item_list, enum market_buy_result *response);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npc_market_purchase_ack_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_clif_npc_market_purchase_ack_pre[hIndex].func;
@@ -20988,7 +21560,7 @@ void HP_clif_npc_market_purchase_ack(struct map_session_data *sd, const struct i
HPMHooks.source.clif.npc_market_purchase_ack(sd, item_list, response);
}
if (HPMHooks.count.HP_clif_npc_market_purchase_ack_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, const struct itemlist *item_list, unsigned char response);
+ void (*postHookFunc) (struct map_session_data *sd, const struct itemlist *item_list, enum market_buy_result response);
for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npc_market_purchase_ack_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_clif_npc_market_purchase_ack_post[hIndex].func;
postHookFunc(sd, item_list, response);
@@ -21049,6 +21621,32 @@ void HP_clif_roulette_generate_ack(struct map_session_data *sd, enum GENERATE_RO
}
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) {
@@ -21154,6 +21752,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;
@@ -21468,13 +22092,13 @@ void HP_clif_pTickSend(int fd, struct map_session_data *sd) {
}
return;
}
-void HP_clif_pHotkey(int fd, struct map_session_data *sd) {
+void HP_clif_pHotkey1(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pHotkey_pre > 0) {
+ if (HPMHooks.count.HP_clif_pHotkey1_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pHotkey_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey1_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pHotkey1_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -21483,12 +22107,38 @@ void HP_clif_pHotkey(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pHotkey(fd, sd);
+ HPMHooks.source.clif.pHotkey1(fd, sd);
}
- if (HPMHooks.count.HP_clif_pHotkey_post > 0) {
+ if (HPMHooks.count.HP_clif_pHotkey1_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pHotkey_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey1_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pHotkey1_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pHotkey2(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pHotkey2_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey2_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pHotkey2_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pHotkey2(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pHotkey2_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pHotkey2_post[hIndex].func;
postHookFunc(fd, sd);
}
}
@@ -26746,13 +27396,13 @@ void HP_clif_pBGQueueBattleBeginAck(int fd, struct map_session_data *sd) {
}
return;
}
-void HP_clif_pCashShopOpen(int fd, struct map_session_data *sd) {
+void HP_clif_pCashShopOpen1(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pCashShopOpen_pre > 0) {
+ if (HPMHooks.count.HP_clif_pCashShopOpen1_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopOpen_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pCashShopOpen_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopOpen1_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pCashShopOpen1_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -26761,12 +27411,64 @@ void HP_clif_pCashShopOpen(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pCashShopOpen(fd, sd);
+ HPMHooks.source.clif.pCashShopOpen1(fd, sd);
}
- if (HPMHooks.count.HP_clif_pCashShopOpen_post > 0) {
+ if (HPMHooks.count.HP_clif_pCashShopOpen1_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopOpen_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pCashShopOpen_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopOpen1_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pCashShopOpen1_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pCashShopOpen2(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pCashShopOpen2_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopOpen2_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pCashShopOpen2_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pCashShopOpen2(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pCashShopOpen2_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopOpen2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pCashShopOpen2_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pCashShopLimitedReq(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pCashShopLimitedReq_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopLimitedReq_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pCashShopLimitedReq_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pCashShopLimitedReq(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pCashShopLimitedReq_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pCashShopLimitedReq_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pCashShopLimitedReq_post[hIndex].func;
postHookFunc(fd, sd);
}
}
@@ -26928,6 +27630,58 @@ 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_cashShopOpen(int fd, struct map_session_data *sd, int tab) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_cashShopOpen_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd, int *tab);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cashShopOpen_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_cashShopOpen_pre[hIndex].func;
+ preHookFunc(&fd, &sd, &tab);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.cashShopOpen(fd, sd, tab);
+ }
+ if (HPMHooks.count.HP_clif_cashShopOpen_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd, int tab);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_cashShopOpen_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_cashShopOpen_post[hIndex].func;
+ postHookFunc(fd, sd, tab);
+ }
+ }
+ return;
+}
void HP_clif_pPartyBookingAddFilter(int fd, struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_pPartyBookingAddFilter_pre > 0) {
@@ -27423,13 +28177,39 @@ int HP_clif_add_item_options(struct ItemOptions *buf, const struct item *it) {
}
return retVal___;
}
-void HP_clif_pHotkeyRowShift(int fd, struct map_session_data *sd) {
+void HP_clif_pHotkeyRowShift1(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pHotkeyRowShift1_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift1_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift1_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pHotkeyRowShift1(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pHotkeyRowShift1_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift1_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift1_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pHotkeyRowShift2(int fd, struct map_session_data *sd) {
int hIndex = 0;
- if (HPMHooks.count.HP_clif_pHotkeyRowShift_pre > 0) {
+ if (HPMHooks.count.HP_clif_pHotkeyRowShift2_pre > 0) {
void (*preHookFunc) (int *fd, struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift2_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift2_pre[hIndex].func;
preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
@@ -27438,12 +28218,12 @@ void HP_clif_pHotkeyRowShift(int fd, struct map_session_data *sd) {
}
}
{
- HPMHooks.source.clif.pHotkeyRowShift(fd, sd);
+ HPMHooks.source.clif.pHotkeyRowShift2(fd, sd);
}
- if (HPMHooks.count.HP_clif_pHotkeyRowShift_post > 0) {
+ if (HPMHooks.count.HP_clif_pHotkeyRowShift2_post > 0) {
void (*postHookFunc) (int fd, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift2_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift2_post[hIndex].func;
postHookFunc(fd, sd);
}
}
@@ -28806,165 +29586,6 @@ void HP_clif_PrivateAirshipResponse(struct map_session_data *sd, uint32 flag) {
}
return;
}
-void HP_clif_stylist_vector_init(void) {
- int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_vector_init_pre > 0) {
- void (*preHookFunc) (void);
- *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();
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.clif.stylist_vector_init();
- }
- 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();
- }
- }
- return;
-}
-void HP_clif_stylist_vector_clear(void) {
- int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_vector_clear_pre > 0) {
- void (*preHookFunc) (void);
- *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();
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.clif.stylist_vector_clear();
- }
- 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();
- }
- }
- return;
-}
-bool HP_clif_stylist_read_db_libconfig(void) {
- int hIndex = 0;
- bool retVal___ = false;
- if (HPMHooks.count.HP_clif_stylist_read_db_libconfig_pre > 0) {
- bool (*preHookFunc) (void);
- *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();
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.clif.stylist_read_db_libconfig();
- }
- 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___);
- }
- }
- return retVal___;
-}
-bool HP_clif_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_clif_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_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);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.clif.stylist_read_db_libconfig_sub(it, idx, source);
- }
- 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);
- }
- }
- return retVal___;
-}
-bool HP_clif_style_change_validate_requirements(struct map_session_data *sd, int type, int16 idx) {
- 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);
- *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);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.clif.style_change_validate_requirements(sd, type, idx);
- }
- 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);
- }
- }
- return retVal___;
-}
-void HP_clif_stylist_send_rodexitem(struct map_session_data *sd, int itemid) {
- int hIndex = 0;
- if (HPMHooks.count.HP_clif_stylist_send_rodexitem_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, int *itemid);
- *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);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.clif.stylist_send_rodexitem(sd, itemid);
- }
- 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);
- }
- }
- return;
-}
void HP_clif_pReqStyleChange(int fd, struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_pReqStyleChange_pre > 0) {
@@ -29017,14 +29638,14 @@ void HP_clif_pReqStyleChange2(int fd, struct map_session_data *sd) {
}
return;
}
-void HP_clif_cz_req_style_change_sub(struct map_session_data *sd, int type, int16 idx, bool isitem) {
+void HP_clif_pStyleClose(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_pStyleClose_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_pStyleClose_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pStyleClose_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -29032,13 +29653,13 @@ 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.pStyleClose(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_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;
@@ -29408,6 +30029,84 @@ void HP_clif_pNPCBarterPurchase(int fd, struct map_session_data *sd) {
}
return;
}
+void HP_clif_pNPCExpandedBarterClosed(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pNPCExpandedBarterClosed_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCExpandedBarterClosed_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pNPCExpandedBarterClosed_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pNPCExpandedBarterClosed(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pNPCExpandedBarterClosed_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCExpandedBarterClosed_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pNPCExpandedBarterClosed_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pNPCExpandedBarterPurchase(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pNPCExpandedBarterPurchase_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCExpandedBarterPurchase_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pNPCExpandedBarterPurchase_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pNPCExpandedBarterPurchase(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pNPCExpandedBarterPurchase_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pNPCExpandedBarterPurchase_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pNPCExpandedBarterPurchase_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_npc_expanded_barter_open(struct map_session_data *sd, struct npc_data *nd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_npc_expanded_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_expanded_barter_open_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_npc_expanded_barter_open_pre[hIndex].func;
+ preHookFunc(&sd, &nd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.npc_expanded_barter_open(sd, nd);
+ }
+ if (HPMHooks.count.HP_clif_npc_expanded_barter_open_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct npc_data *nd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_npc_expanded_barter_open_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_npc_expanded_barter_open_post[hIndex].func;
+ postHookFunc(sd, nd);
+ }
+ }
+ return;
+}
void HP_clif_pClientVersion(int fd, struct map_session_data *sd) {
int hIndex = 0;
if (HPMHooks.count.HP_clif_pClientVersion_pre > 0) {
@@ -29434,6 +30133,562 @@ void HP_clif_pClientVersion(int fd, struct map_session_data *sd) {
}
return;
}
+void HP_clif_pPing(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ 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_pPing_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pPing_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pPing(fd, sd);
+ }
+ 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_ping(struct map_session_data *sd) {
+ int hIndex = 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_pResetCooldown_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pResetCooldown_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pResetCooldown(fd, sd);
+ }
+ 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_pResetCooldown_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pResetCooldown_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_loadConfirm(struct map_session_data *sd) {
+ int hIndex = 0;
+ 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_loadConfirm_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_loadConfirm_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.loadConfirm(sd);
+ }
+ 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_send_selforarea(int fd, struct block_list *bl, const void *buf, int len) {
+ int hIndex = 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_OpenRefineryUI_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_OpenRefineryUI_pre[hIndex].func;
+ preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.OpenRefineryUI(sd);
+ }
+ if (HPMHooks.count.HP_clif_OpenRefineryUI_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ 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;
+}
+void HP_clif_pGuildCastleTeleportRequest(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pGuildCastleTeleportRequest_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pGuildCastleTeleportRequest_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pGuildCastleTeleportRequest_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pGuildCastleTeleportRequest(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pGuildCastleTeleportRequest_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pGuildCastleTeleportRequest_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pGuildCastleTeleportRequest_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pGuildCastleInfoRequest(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pGuildCastleInfoRequest_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pGuildCastleInfoRequest_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pGuildCastleInfoRequest_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pGuildCastleInfoRequest(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pGuildCastleInfoRequest_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pGuildCastleInfoRequest_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pGuildCastleInfoRequest_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_guild_castleteleport_res(struct map_session_data *sd, enum siege_teleport_result result) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_guild_castleteleport_res_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, enum siege_teleport_result *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_guild_castleteleport_res_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_guild_castleteleport_res_pre[hIndex].func;
+ preHookFunc(&sd, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.guild_castleteleport_res(sd, result);
+ }
+ if (HPMHooks.count.HP_clif_guild_castleteleport_res_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, enum siege_teleport_result result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_guild_castleteleport_res_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_guild_castleteleport_res_post[hIndex].func;
+ postHookFunc(sd, result);
+ }
+ }
+ return;
+}
+bool HP_clif_lapineDdukDdak_open(struct map_session_data *sd, int item_id) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_clif_lapineDdukDdak_open_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, int *item_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_lapineDdukDdak_open_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_lapineDdukDdak_open_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &item_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.clif.lapineDdukDdak_open(sd, item_id);
+ }
+ if (HPMHooks.count.HP_clif_lapineDdukDdak_open_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, int item_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_lapineDdukDdak_open_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_lapineDdukDdak_open_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, item_id);
+ }
+ }
+ return retVal___;
+}
+bool HP_clif_lapineDdukDdak_result(struct map_session_data *sd, enum lapineddukddak_result result) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_clif_lapineDdukDdak_result_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd, enum lapineddukddak_result *result);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_lapineDdukDdak_result_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_lapineDdukDdak_result_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &result);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.clif.lapineDdukDdak_result(sd, result);
+ }
+ if (HPMHooks.count.HP_clif_lapineDdukDdak_result_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, enum lapineddukddak_result result);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_lapineDdukDdak_result_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_lapineDdukDdak_result_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, result);
+ }
+ }
+ return retVal___;
+}
+void HP_clif_plapineDdukDdak_ack(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_plapineDdukDdak_ack_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_plapineDdukDdak_ack_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_plapineDdukDdak_ack_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.plapineDdukDdak_ack(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_plapineDdukDdak_ack_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_plapineDdukDdak_ack_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_plapineDdukDdak_ack_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_plapineDdukDdak_close(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_plapineDdukDdak_close_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_plapineDdukDdak_close_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_plapineDdukDdak_close_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.plapineDdukDdak_close(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_plapineDdukDdak_close_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_plapineDdukDdak_close_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_plapineDdukDdak_close_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
+void HP_clif_pReqGearOff(int fd, struct map_session_data *sd) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_clif_pReqGearOff_pre > 0) {
+ void (*preHookFunc) (int *fd, struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqGearOff_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_clif_pReqGearOff_pre[hIndex].func;
+ preHookFunc(&fd, &sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.pReqGearOff(fd, sd);
+ }
+ if (HPMHooks.count.HP_clif_pReqGearOff_post > 0) {
+ void (*postHookFunc) (int fd, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pReqGearOff_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_clif_pReqGearOff_post[hIndex].func;
+ postHookFunc(fd, sd);
+ }
+ }
+ return;
+}
/* cmdline_interface */
void HP_cmdline_init(void) {
int hIndex = 0;
@@ -30450,14 +31705,14 @@ void HP_duel_showinfo(const unsigned int did, struct map_session_data *sd) {
}
return;
}
-int HP_duel_checktime(struct map_session_data *sd) {
+int64 HP_duel_difftime(struct map_session_data *sd) {
int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_duel_checktime_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd);
+ int64 retVal___ = 0;
+ if (HPMHooks.count.HP_duel_difftime_pre > 0) {
+ int64 (*preHookFunc) (struct map_session_data **sd);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_duel_checktime_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_duel_checktime_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_duel_difftime_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_duel_difftime_pre[hIndex].func;
retVal___ = preHookFunc(&sd);
}
if (*HPMforce_return) {
@@ -30466,12 +31721,12 @@ int HP_duel_checktime(struct map_session_data *sd) {
}
}
{
- retVal___ = HPMHooks.source.duel.checktime(sd);
+ retVal___ = HPMHooks.source.duel.difftime(sd);
}
- if (HPMHooks.count.HP_duel_checktime_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_duel_checktime_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_duel_checktime_post[hIndex].func;
+ if (HPMHooks.count.HP_duel_difftime_post > 0) {
+ int64 (*postHookFunc) (int64 retVal___, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_duel_difftime_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_duel_difftime_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd);
}
}
@@ -31803,11 +33058,11 @@ struct guild* HP_guild_search(int guild_id) {
}
return retVal___;
}
-struct guild* HP_guild_searchname(char *str) {
+struct guild* HP_guild_searchname(const char *str) {
int hIndex = 0;
struct guild* retVal___ = NULL;
if (HPMHooks.count.HP_guild_searchname_pre > 0) {
- struct guild* (*preHookFunc) (char **str);
+ struct guild* (*preHookFunc) (const char **str);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_searchname_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_guild_searchname_pre[hIndex].func;
@@ -31822,7 +33077,7 @@ struct guild* HP_guild_searchname(char *str) {
retVal___ = HPMHooks.source.guild.searchname(str);
}
if (HPMHooks.count.HP_guild_searchname_post > 0) {
- struct guild* (*postHookFunc) (struct guild* retVal___, char *str);
+ struct guild* (*postHookFunc) (struct guild* retVal___, const char *str);
for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_searchname_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_guild_searchname_post[hIndex].func;
retVal___ = postHookFunc(retVal___, str);
@@ -32908,33 +34163,6 @@ int HP_guild_send_message(struct map_session_data *sd, const char *mes) {
}
return retVal___;
}
-int HP_guild_recv_message(int guild_id, int account_id, const char *mes, int len) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_guild_recv_message_pre > 0) {
- int (*preHookFunc) (int *guild_id, int *account_id, const char **mes, int *len);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_recv_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_guild_recv_message_pre[hIndex].func;
- retVal___ = preHookFunc(&guild_id, &account_id, &mes, &len);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.guild.recv_message(guild_id, account_id, mes, len);
- }
- if (HPMHooks.count.HP_guild_recv_message_post > 0) {
- int (*postHookFunc) (int retVal___, int guild_id, int account_id, const char *mes, int len);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_recv_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_guild_recv_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, guild_id, account_id, mes, len);
- }
- }
- return retVal___;
-}
int HP_guild_send_dot_remove(struct map_session_data *sd) {
int hIndex = 0;
int retVal___ = 0;
@@ -33518,15 +34746,15 @@ bool HP_guild_read_guildskill_tree_db(char *split[], int columns, int current) {
}
return retVal___;
}
-bool HP_guild_read_castledb(char *str[], int columns, int current) {
+bool HP_guild_read_castledb_libconfig(void) {
int hIndex = 0;
bool retVal___ = false;
- if (HPMHooks.count.HP_guild_read_castledb_pre > 0) {
- bool (*preHookFunc) (char **str[], int *columns, int *current);
+ if (HPMHooks.count.HP_guild_read_castledb_libconfig_pre > 0) {
+ bool (*preHookFunc) (void);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_read_castledb_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_guild_read_castledb_pre[hIndex].func;
- retVal___ = preHookFunc(&str, &columns, &current);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_read_castledb_libconfig_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_guild_read_castledb_libconfig_pre[hIndex].func;
+ retVal___ = preHookFunc();
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -33534,13 +34762,67 @@ bool HP_guild_read_castledb(char *str[], int columns, int current) {
}
}
{
- retVal___ = HPMHooks.source.guild.read_castledb(str, columns, current);
+ retVal___ = HPMHooks.source.guild.read_castledb_libconfig();
}
- if (HPMHooks.count.HP_guild_read_castledb_post > 0) {
- bool (*postHookFunc) (bool retVal___, char *str[], int columns, int current);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_read_castledb_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_guild_read_castledb_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, str, columns, current);
+ if (HPMHooks.count.HP_guild_read_castledb_libconfig_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_read_castledb_libconfig_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_guild_read_castledb_libconfig_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
+ }
+ }
+ return retVal___;
+}
+bool HP_guild_read_castledb_libconfig_sub(struct config_setting_t *it, int idx, const char *source) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_guild_read_castledb_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_guild_read_castledb_libconfig_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_guild_read_castledb_libconfig_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&it, &idx, &source);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.guild.read_castledb_libconfig_sub(it, idx, source);
+ }
+ if (HPMHooks.count.HP_guild_read_castledb_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_guild_read_castledb_libconfig_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_guild_read_castledb_libconfig_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, it, idx, source);
+ }
+ }
+ return retVal___;
+}
+bool HP_guild_read_castledb_libconfig_sub_warp(struct config_setting_t *wd, const char *source, struct guild_castle *gc) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_guild_read_castledb_libconfig_sub_warp_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **wd, const char **source, struct guild_castle **gc);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_read_castledb_libconfig_sub_warp_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_guild_read_castledb_libconfig_sub_warp_pre[hIndex].func;
+ retVal___ = preHookFunc(&wd, &source, &gc);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.guild.read_castledb_libconfig_sub_warp(wd, source, gc);
+ }
+ if (HPMHooks.count.HP_guild_read_castledb_libconfig_sub_warp_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *wd, const char *source, struct guild_castle *gc);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_guild_read_castledb_libconfig_sub_warp_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_guild_read_castledb_libconfig_sub_warp_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, wd, source, gc);
}
}
return retVal___;
@@ -34597,15 +35879,15 @@ int HP_homun_dead(struct homun_data *hd) {
}
return retVal___;
}
-int HP_homun_vaporize(struct map_session_data *sd, enum homun_state flag) {
+int HP_homun_vaporize(struct map_session_data *sd, enum homun_state state, bool force) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_homun_vaporize_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, enum homun_state *flag);
+ int (*preHookFunc) (struct map_session_data **sd, enum homun_state *state, bool *force);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_vaporize_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_homun_vaporize_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &flag);
+ retVal___ = preHookFunc(&sd, &state, &force);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -34613,13 +35895,13 @@ int HP_homun_vaporize(struct map_session_data *sd, enum homun_state flag) {
}
}
{
- retVal___ = HPMHooks.source.homun.vaporize(sd, flag);
+ retVal___ = HPMHooks.source.homun.vaporize(sd, state, force);
}
if (HPMHooks.count.HP_homun_vaporize_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, enum homun_state flag);
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, enum homun_state state, bool force);
for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_vaporize_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_homun_vaporize_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, flag);
+ retVal___ = postHookFunc(retVal___, sd, state, force);
}
}
return retVal___;
@@ -34893,6 +36175,33 @@ int HP_homun_gainexp(struct homun_data *hd, unsigned int exp) {
}
return retVal___;
}
+int HP_homun_gainexp_real(struct homun_data *hd, unsigned int exp) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_homun_gainexp_real_pre > 0) {
+ int (*preHookFunc) (struct homun_data **hd, unsigned int *exp);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_gainexp_real_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_homun_gainexp_real_pre[hIndex].func;
+ retVal___ = preHookFunc(&hd, &exp);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.homun.gainexp_real(hd, exp);
+ }
+ if (HPMHooks.count.HP_homun_gainexp_real_post > 0) {
+ int (*postHookFunc) (int retVal___, struct homun_data *hd, unsigned int exp);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_gainexp_real_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_homun_gainexp_real_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, hd, exp);
+ }
+ }
+ return retVal___;
+}
unsigned int HP_homun_add_intimacy(struct homun_data *hd, unsigned int value) {
int hIndex = 0;
unsigned int retVal___ = 0;
@@ -35187,15 +36496,15 @@ int HP_homun_db_search(int key, int type) {
}
return retVal___;
}
-bool HP_homun_create(struct map_session_data *sd, const struct s_homunculus *hom) {
+bool HP_homun_create(struct map_session_data *sd, const struct s_homunculus *hom, bool is_new) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_homun_create_pre > 0) {
- bool (*preHookFunc) (struct map_session_data **sd, const struct s_homunculus **hom);
+ bool (*preHookFunc) (struct map_session_data **sd, const struct s_homunculus **hom, bool *is_new);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_create_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_homun_create_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &hom);
+ retVal___ = preHookFunc(&sd, &hom, &is_new);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -35203,13 +36512,13 @@ bool HP_homun_create(struct map_session_data *sd, const struct s_homunculus *hom
}
}
{
- retVal___ = HPMHooks.source.homun.create(sd, hom);
+ retVal___ = HPMHooks.source.homun.create(sd, hom, is_new);
}
if (HPMHooks.count.HP_homun_create_post > 0) {
- bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, const struct s_homunculus *hom);
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd, const struct s_homunculus *hom, bool is_new);
for (hIndex = 0; hIndex < HPMHooks.count.HP_homun_create_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_homun_create_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, hom);
+ retVal___ = postHookFunc(retVal___, sd, hom, is_new);
}
}
return retVal___;
@@ -36209,141 +37518,6 @@ int HP_intif_create_pet(int account_id, int char_id, int pet_type, int pet_lv, i
}
return retVal___;
}
-int HP_intif_broadcast(const char *mes, int len, int type) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_intif_broadcast_pre > 0) {
- int (*preHookFunc) (const char **mes, int *len, int *type);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_broadcast_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_broadcast_pre[hIndex].func;
- retVal___ = preHookFunc(&mes, &len, &type);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.intif.broadcast(mes, len, type);
- }
- if (HPMHooks.count.HP_intif_broadcast_post > 0) {
- int (*postHookFunc) (int retVal___, const char *mes, int len, int type);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_broadcast_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_broadcast_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, mes, len, type);
- }
- }
- return retVal___;
-}
-int HP_intif_broadcast2(const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_intif_broadcast2_pre > 0) {
- int (*preHookFunc) (const char **mes, int *len, unsigned int *fontColor, short *fontType, short *fontSize, short *fontAlign, short *fontY);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_broadcast2_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_broadcast2_pre[hIndex].func;
- retVal___ = preHookFunc(&mes, &len, &fontColor, &fontType, &fontSize, &fontAlign, &fontY);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.intif.broadcast2(mes, len, fontColor, fontType, fontSize, fontAlign, fontY);
- }
- if (HPMHooks.count.HP_intif_broadcast2_post > 0) {
- int (*postHookFunc) (int retVal___, const char *mes, int len, unsigned int fontColor, short fontType, short fontSize, short fontAlign, short fontY);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_broadcast2_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_broadcast2_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, mes, len, fontColor, fontType, fontSize, fontAlign, fontY);
- }
- }
- return retVal___;
-}
-int HP_intif_main_message(struct map_session_data *sd, const char *message) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_intif_main_message_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, const char **message);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_main_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_main_message_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &message);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.intif.main_message(sd, message);
- }
- if (HPMHooks.count.HP_intif_main_message_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, const char *message);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_main_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_main_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, message);
- }
- }
- return retVal___;
-}
-int HP_intif_wis_message(struct map_session_data *sd, const char *nick, const char *mes, int mes_len) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_intif_wis_message_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, const char **nick, const char **mes, int *mes_len);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_wis_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_wis_message_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, &nick, &mes, &mes_len);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.intif.wis_message(sd, nick, mes, mes_len);
- }
- if (HPMHooks.count.HP_intif_wis_message_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, const char *nick, const char *mes, int mes_len);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_wis_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_wis_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, nick, mes, mes_len);
- }
- }
- return retVal___;
-}
-int HP_intif_wis_message_to_gm(char *Wisp_name, int permission, char *mes) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_intif_wis_message_to_gm_pre > 0) {
- int (*preHookFunc) (char **Wisp_name, int *permission, char **mes);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_wis_message_to_gm_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_wis_message_to_gm_pre[hIndex].func;
- retVal___ = preHookFunc(&Wisp_name, &permission, &mes);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.intif.wis_message_to_gm(Wisp_name, permission, mes);
- }
- if (HPMHooks.count.HP_intif_wis_message_to_gm_post > 0) {
- int (*postHookFunc) (int retVal___, char *Wisp_name, int permission, char *mes);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_wis_message_to_gm_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_wis_message_to_gm_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, Wisp_name, permission, mes);
- }
- }
- return retVal___;
-}
int HP_intif_saveregistry(struct map_session_data *sd) {
int hIndex = 0;
int retVal___ = 0;
@@ -36693,33 +37867,6 @@ int HP_intif_break_party(int party_id) {
}
return retVal___;
}
-int HP_intif_party_message(int party_id, int account_id, const char *mes, int len) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_intif_party_message_pre > 0) {
- int (*preHookFunc) (int *party_id, int *account_id, const char **mes, int *len);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_party_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_party_message_pre[hIndex].func;
- retVal___ = preHookFunc(&party_id, &account_id, &mes, &len);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.intif.party_message(party_id, account_id, mes, len);
- }
- if (HPMHooks.count.HP_intif_party_message_post > 0) {
- int (*postHookFunc) (int retVal___, int party_id, int account_id, const char *mes, int len);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_party_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_party_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, party_id, account_id, mes, len);
- }
- }
- return retVal___;
-}
int HP_intif_party_leaderchange(int party_id, int account_id, int char_id) {
int hIndex = 0;
int retVal___ = 0;
@@ -36909,33 +38056,6 @@ int HP_intif_guild_break(int guild_id) {
}
return retVal___;
}
-int HP_intif_guild_message(int guild_id, int account_id, const char *mes, int len) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_intif_guild_message_pre > 0) {
- int (*preHookFunc) (int *guild_id, int *account_id, const char **mes, int *len);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_guild_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_guild_message_pre[hIndex].func;
- retVal___ = preHookFunc(&guild_id, &account_id, &mes, &len);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.intif.guild_message(guild_id, account_id, mes, len);
- }
- if (HPMHooks.count.HP_intif_guild_message_post > 0) {
- int (*postHookFunc) (int retVal___, int guild_id, int account_id, const char *mes, int len);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_guild_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_guild_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, guild_id, account_id, mes, len);
- }
- }
- return retVal___;
-}
int HP_intif_guild_change_gm(int guild_id, const char *name, int len) {
int hIndex = 0;
int retVal___ = 0;
@@ -38068,15 +39188,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;
@@ -38084,13 +39204,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___;
@@ -38149,6 +39269,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;
@@ -38308,117 +39480,6 @@ void HP_intif_achievements_save(struct map_session_data *sd) {
}
return;
}
-void HP_intif_pWisMessage(int fd) {
- int hIndex = 0;
- if (HPMHooks.count.HP_intif_pWisMessage_pre > 0) {
- void (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pWisMessage_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_pWisMessage_pre[hIndex].func;
- preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.intif.pWisMessage(fd);
- }
- if (HPMHooks.count.HP_intif_pWisMessage_post > 0) {
- void (*postHookFunc) (int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pWisMessage_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_pWisMessage_post[hIndex].func;
- postHookFunc(fd);
- }
- }
- return;
-}
-void HP_intif_pWisEnd(int fd) {
- int hIndex = 0;
- if (HPMHooks.count.HP_intif_pWisEnd_pre > 0) {
- void (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pWisEnd_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_pWisEnd_pre[hIndex].func;
- preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.intif.pWisEnd(fd);
- }
- if (HPMHooks.count.HP_intif_pWisEnd_post > 0) {
- void (*postHookFunc) (int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pWisEnd_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_pWisEnd_post[hIndex].func;
- postHookFunc(fd);
- }
- }
- return;
-}
-int HP_intif_pWisToGM_sub(struct map_session_data *sd, va_list va) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_intif_pWisToGM_sub_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, va_list va);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pWisToGM_sub_pre; hIndex++) {
- va_list va___copy; va_copy(va___copy, va);
- preHookFunc = HPMHooks.list.HP_intif_pWisToGM_sub_pre[hIndex].func;
- retVal___ = preHookFunc(&sd, va___copy);
- va_end(va___copy);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- va_list va___copy; va_copy(va___copy, va);
- retVal___ = HPMHooks.source.intif.pWisToGM_sub(sd, va___copy);
- va_end(va___copy);
- }
- if (HPMHooks.count.HP_intif_pWisToGM_sub_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, va_list va);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pWisToGM_sub_post; hIndex++) {
- va_list va___copy; va_copy(va___copy, va);
- postHookFunc = HPMHooks.list.HP_intif_pWisToGM_sub_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, sd, va___copy);
- va_end(va___copy);
- }
- }
- return retVal___;
-}
-void HP_intif_pWisToGM(int fd) {
- int hIndex = 0;
- if (HPMHooks.count.HP_intif_pWisToGM_pre > 0) {
- void (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pWisToGM_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_pWisToGM_pre[hIndex].func;
- preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.intif.pWisToGM(fd);
- }
- if (HPMHooks.count.HP_intif_pWisToGM_post > 0) {
- void (*postHookFunc) (int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pWisToGM_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_pWisToGM_post[hIndex].func;
- postHookFunc(fd);
- }
- }
- return;
-}
void HP_intif_pRegisters(int fd) {
int hIndex = 0;
if (HPMHooks.count.HP_intif_pRegisters_pre > 0) {
@@ -38783,32 +39844,6 @@ void HP_intif_pPartyBroken(int fd) {
}
return;
}
-void HP_intif_pPartyMessage(int fd) {
- int hIndex = 0;
- if (HPMHooks.count.HP_intif_pPartyMessage_pre > 0) {
- void (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pPartyMessage_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_pPartyMessage_pre[hIndex].func;
- preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.intif.pPartyMessage(fd);
- }
- if (HPMHooks.count.HP_intif_pPartyMessage_post > 0) {
- void (*postHookFunc) (int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pPartyMessage_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_pPartyMessage_post[hIndex].func;
- postHookFunc(fd);
- }
- }
- return;
-}
void HP_intif_pGuildCreated(int fd) {
int hIndex = 0;
if (HPMHooks.count.HP_intif_pGuildCreated_pre > 0) {
@@ -38965,32 +40000,6 @@ void HP_intif_pGuildBroken(int fd) {
}
return;
}
-void HP_intif_pGuildMessage(int fd) {
- int hIndex = 0;
- if (HPMHooks.count.HP_intif_pGuildMessage_pre > 0) {
- void (*preHookFunc) (int *fd);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pGuildMessage_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_intif_pGuildMessage_pre[hIndex].func;
- preHookFunc(&fd);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return;
- }
- }
- {
- HPMHooks.source.intif.pGuildMessage(fd);
- }
- if (HPMHooks.count.HP_intif_pGuildMessage_post > 0) {
- void (*postHookFunc) (int fd);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_intif_pGuildMessage_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_intif_pGuildMessage_post[hIndex].func;
- postHookFunc(fd);
- }
- }
- return;
-}
void HP_intif_pGuildBasicInfoChanged(int fd) {
int hIndex = 0;
if (HPMHooks.count.HP_intif_pGuildBasicInfoChanged_pre > 0) {
@@ -40952,11 +41961,11 @@ struct item_data* HP_itemdb_search_name(const char *name) {
}
return retVal___;
}
-int HP_itemdb_search_name_array(struct item_data **data, int size, const char *str, int flag) {
+int HP_itemdb_search_name_array(struct item_data **data, const int size, const char *str, enum item_name_search_flag flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_itemdb_search_name_array_pre > 0) {
- int (*preHookFunc) (struct item_data ***data, int *size, const char **str, int *flag);
+ int (*preHookFunc) (struct item_data ***data, const int *size, const char **str, enum item_name_search_flag *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_search_name_array_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_itemdb_search_name_array_pre[hIndex].func;
@@ -40971,7 +41980,7 @@ int HP_itemdb_search_name_array(struct item_data **data, int size, const char *s
retVal___ = HPMHooks.source.itemdb.search_name_array(data, size, str, flag);
}
if (HPMHooks.count.HP_itemdb_search_name_array_post > 0) {
- int (*postHookFunc) (int retVal___, struct item_data **data, int size, const char *str, int flag);
+ int (*postHookFunc) (int retVal___, struct item_data **data, const int size, const char *str, enum item_name_search_flag flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_search_name_array_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_itemdb_search_name_array_post[hIndex].func;
retVal___ = postHookFunc(retVal___, data, size, str, flag);
@@ -41851,15 +42860,15 @@ int HP_itemdb_isidentified2(struct item_data *data) {
}
return retVal___;
}
-int HP_itemdb_combo_split_atoi(char *str, int *val) {
+bool HP_itemdb_read_combodb_libconfig(void) {
int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_itemdb_combo_split_atoi_pre > 0) {
- int (*preHookFunc) (char **str, int **val);
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_itemdb_read_combodb_libconfig_pre > 0) {
+ bool (*preHookFunc) (void);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_combo_split_atoi_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_itemdb_combo_split_atoi_pre[hIndex].func;
- retVal___ = preHookFunc(&str, &val);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_combodb_libconfig_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_itemdb_read_combodb_libconfig_pre[hIndex].func;
+ retVal___ = preHookFunc();
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -41867,42 +42876,43 @@ int HP_itemdb_combo_split_atoi(char *str, int *val) {
}
}
{
- retVal___ = HPMHooks.source.itemdb.combo_split_atoi(str, val);
+ retVal___ = HPMHooks.source.itemdb.read_combodb_libconfig();
}
- if (HPMHooks.count.HP_itemdb_combo_split_atoi_post > 0) {
- int (*postHookFunc) (int retVal___, char *str, int *val);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_combo_split_atoi_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_itemdb_combo_split_atoi_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, str, val);
+ if (HPMHooks.count.HP_itemdb_read_combodb_libconfig_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_combodb_libconfig_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_itemdb_read_combodb_libconfig_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
}
}
return retVal___;
}
-void HP_itemdb_read_combos(void) {
+bool HP_itemdb_read_combodb_libconfig_sub(struct config_setting_t *it, int idx, const char *source) {
int hIndex = 0;
- if (HPMHooks.count.HP_itemdb_read_combos_pre > 0) {
- void (*preHookFunc) (void);
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_itemdb_read_combodb_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_itemdb_read_combos_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_itemdb_read_combos_pre[hIndex].func;
- preHookFunc();
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_combodb_libconfig_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_itemdb_read_combodb_libconfig_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&it, &idx, &source);
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return;
+ return retVal___;
}
}
{
- HPMHooks.source.itemdb.read_combos();
+ retVal___ = HPMHooks.source.itemdb.read_combodb_libconfig_sub(it, idx, source);
}
- if (HPMHooks.count.HP_itemdb_read_combos_post > 0) {
- void (*postHookFunc) (void);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_combos_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_itemdb_read_combos_post[hIndex].func;
- postHookFunc();
+ if (HPMHooks.count.HP_itemdb_read_combodb_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_itemdb_read_combodb_libconfig_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_itemdb_read_combodb_libconfig_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, it, idx, source);
}
}
- return;
+ return retVal___;
}
int HP_itemdb_gendercheck(struct item_data *id) {
int hIndex = 0;
@@ -42402,7 +43412,140 @@ int HP_itemdb_addname_sub(union DBKey key, struct DBData *data, va_list ap) {
}
return retVal___;
}
+bool HP_itemdb_read_libconfig_lapineddukddak(void) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_pre > 0) {
+ bool (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_itemdb_read_libconfig_lapineddukddak_pre[hIndex].func;
+ retVal___ = preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.itemdb.read_libconfig_lapineddukddak();
+ }
+ if (HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_itemdb_read_libconfig_lapineddukddak_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
+ }
+ }
+ return retVal___;
+}
+bool HP_itemdb_read_libconfig_lapineddukddak_sub(struct config_setting_t *it, const char *source) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_sub_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **it, const char **source);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_itemdb_read_libconfig_lapineddukddak_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&it, &source);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.itemdb.read_libconfig_lapineddukddak_sub(it, source);
+ }
+ if (HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_sub_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *it, const char *source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_itemdb_read_libconfig_lapineddukddak_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, it, source);
+ }
+ }
+ return retVal___;
+}
+bool HP_itemdb_read_libconfig_lapineddukddak_sub_sources(struct config_setting_t *sources, struct item_data *data) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_sub_sources_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **sources, struct item_data **data);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_sub_sources_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_itemdb_read_libconfig_lapineddukddak_sub_sources_pre[hIndex].func;
+ retVal___ = preHookFunc(&sources, &data);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.itemdb.read_libconfig_lapineddukddak_sub_sources(sources, data);
+ }
+ if (HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_sub_sources_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *sources, struct item_data *data);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_read_libconfig_lapineddukddak_sub_sources_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_itemdb_read_libconfig_lapineddukddak_sub_sources_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sources, data);
+ }
+ }
+ return retVal___;
+}
/* libconfig_interface */
+void HP_libconfig_set_db_path(const char *db_path) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_libconfig_set_db_path_pre > 0) {
+ void (*preHookFunc) (const char **db_path);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_libconfig_set_db_path_pre[hIndex].func;
+ preHookFunc(&db_path);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.libconfig.set_db_path(db_path);
+ }
+ if (HPMHooks.count.HP_libconfig_set_db_path_post > 0) {
+ void (*postHookFunc) (const char *db_path);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_libconfig_set_db_path_post[hIndex].func;
+ postHookFunc(db_path);
+ }
+ }
+ return;
+}
+void HP_libconfig_format_db_path(const char *filename, char *path_buf, int buffer_len) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_libconfig_format_db_path_pre > 0) {
+ void (*preHookFunc) (const char **filename, char **path_buf, int *buffer_len);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_libconfig_format_db_path_pre[hIndex].func;
+ preHookFunc(&filename, &path_buf, &buffer_len);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.libconfig.format_db_path(filename, path_buf, buffer_len);
+ }
+ if (HPMHooks.count.HP_libconfig_format_db_path_post > 0) {
+ void (*postHookFunc) (const char *filename, char *path_buf, int buffer_len);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_libconfig_format_db_path_post[hIndex].func;
+ postHookFunc(filename, path_buf, buffer_len);
+ }
+ }
+ return;
+}
int HP_libconfig_read(struct config_t *config, FILE *stream) {
int hIndex = 0;
int retVal___ = 0;
@@ -44779,15 +45922,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;
@@ -44795,13 +45938,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___;
@@ -47007,15 +48150,15 @@ void HP_map_deliddb(struct block_list *bl) {
}
return;
}
-struct map_session_data* HP_map_nick2sd(const char *nick) {
+struct map_session_data* HP_map_nick2sd(const char *nick, bool allow_partial) {
int hIndex = 0;
struct map_session_data* retVal___ = NULL;
if (HPMHooks.count.HP_map_nick2sd_pre > 0) {
- struct map_session_data* (*preHookFunc) (const char **nick);
+ struct map_session_data* (*preHookFunc) (const char **nick, bool *allow_partial);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_nick2sd_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_map_nick2sd_pre[hIndex].func;
- retVal___ = preHookFunc(&nick);
+ retVal___ = preHookFunc(&nick, &allow_partial);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -47023,13 +48166,13 @@ struct map_session_data* HP_map_nick2sd(const char *nick) {
}
}
{
- retVal___ = HPMHooks.source.map.nick2sd(nick);
+ retVal___ = HPMHooks.source.map.nick2sd(nick, allow_partial);
}
if (HPMHooks.count.HP_map_nick2sd_post > 0) {
- struct map_session_data* (*postHookFunc) (struct map_session_data* retVal___, const char *nick);
+ struct map_session_data* (*postHookFunc) (struct map_session_data* retVal___, const char *nick, bool allow_partial);
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_nick2sd_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_map_nick2sd_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, nick);
+ retVal___ = postHookFunc(retVal___, nick, allow_partial);
}
}
return retVal___;
@@ -47141,11 +48284,11 @@ void HP_map_reloadnpc(bool clear) {
}
return;
}
-int HP_map_check_dir(int s_dir, int t_dir) {
+int HP_map_check_dir(enum unit_dir s_dir, enum unit_dir t_dir) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_map_check_dir_pre > 0) {
- int (*preHookFunc) (int *s_dir, int *t_dir);
+ int (*preHookFunc) (enum unit_dir *s_dir, enum unit_dir *t_dir);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_check_dir_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_map_check_dir_pre[hIndex].func;
@@ -47160,7 +48303,7 @@ int HP_map_check_dir(int s_dir, int t_dir) {
retVal___ = HPMHooks.source.map.check_dir(s_dir, t_dir);
}
if (HPMHooks.count.HP_map_check_dir_post > 0) {
- int (*postHookFunc) (int retVal___, int s_dir, int t_dir);
+ int (*postHookFunc) (int retVal___, enum unit_dir s_dir, enum unit_dir t_dir);
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_check_dir_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_map_check_dir_post[hIndex].func;
retVal___ = postHookFunc(retVal___, s_dir, t_dir);
@@ -47168,11 +48311,11 @@ int HP_map_check_dir(int s_dir, int t_dir) {
}
return retVal___;
}
-uint8 HP_map_calc_dir(struct block_list *src, int16 x, int16 y) {
+enum unit_dir HP_map_calc_dir(const struct block_list *src, int16 x, int16 y) {
int hIndex = 0;
- uint8 retVal___ = 0;
+ enum unit_dir retVal___ = UNIT_DIR_UNDEFINED;
if (HPMHooks.count.HP_map_calc_dir_pre > 0) {
- uint8 (*preHookFunc) (struct block_list **src, int16 *x, int16 *y);
+ enum unit_dir (*preHookFunc) (const struct block_list **src, int16 *x, int16 *y);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_calc_dir_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_map_calc_dir_pre[hIndex].func;
@@ -47187,7 +48330,7 @@ uint8 HP_map_calc_dir(struct block_list *src, int16 x, int16 y) {
retVal___ = HPMHooks.source.map.calc_dir(src, x, y);
}
if (HPMHooks.count.HP_map_calc_dir_post > 0) {
- uint8 (*postHookFunc) (uint8 retVal___, struct block_list *src, int16 x, int16 y);
+ enum unit_dir (*postHookFunc) (enum unit_dir retVal___, const struct block_list *src, int16 x, int16 y);
for (hIndex = 0; hIndex < HPMHooks.count.HP_map_calc_dir_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_map_calc_dir_post[hIndex].func;
retVal___ = postHookFunc(retVal___, src, x, y);
@@ -48724,31 +49867,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;
@@ -48831,6 +49975,60 @@ void HP_map_zone_clear_single(struct map_zone_data *zone) {
return;
}
/* mapindex_interface */
+bool HP_mapindex_config_read_dbpath(const char *filename, const struct config_t *config) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mapindex_config_read_dbpath_pre > 0) {
+ bool (*preHookFunc) (const char **filename, const struct config_t **config);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_dbpath_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapindex_config_read_dbpath_pre[hIndex].func;
+ retVal___ = preHookFunc(&filename, &config);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapindex.config_read_dbpath(filename, config);
+ }
+ if (HPMHooks.count.HP_mapindex_config_read_dbpath_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const char *filename, const struct config_t *config);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_dbpath_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapindex_config_read_dbpath_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, filename, config);
+ }
+ }
+ return retVal___;
+}
+bool HP_mapindex_config_read(void) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mapindex_config_read_pre > 0) {
+ bool (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapindex_config_read_pre[hIndex].func;
+ retVal___ = preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapindex.config_read();
+ }
+ if (HPMHooks.count.HP_mapindex_config_read_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapindex_config_read_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
+ }
+ }
+ return retVal___;
+}
int HP_mapindex_init(void) {
int hIndex = 0;
int retVal___ = 0;
@@ -50420,6 +51618,39 @@ void HP_mob_reload(void) {
}
return;
}
+int HP_mob_reload_sub_mob(struct mob_data *md, va_list args) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mob_reload_sub_mob_pre > 0) {
+ int (*preHookFunc) (struct mob_data **md, va_list args);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_reload_sub_mob_pre; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ preHookFunc = HPMHooks.list.HP_mob_reload_sub_mob_pre[hIndex].func;
+ retVal___ = preHookFunc(&md, args___copy);
+ va_end(args___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list args___copy; va_copy(args___copy, args);
+ retVal___ = HPMHooks.source.mob.reload_sub_mob(md, args___copy);
+ va_end(args___copy);
+ }
+ if (HPMHooks.count.HP_mob_reload_sub_mob_post > 0) {
+ int (*postHookFunc) (int retVal___, struct mob_data *md, va_list args);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_reload_sub_mob_post; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ postHookFunc = HPMHooks.list.HP_mob_reload_sub_mob_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, md, args___copy);
+ va_end(args___copy);
+ }
+ }
+ return retVal___;
+}
struct mob_db* HP_mob_db(int index) {
int hIndex = 0;
struct mob_db* retVal___ = NULL;
@@ -50822,15 +52053,15 @@ int HP_mob_parse_dataset(struct spawn_data *data) {
}
return retVal___;
}
-struct mob_data* HP_mob_spawn_dataset(struct spawn_data *data) {
+struct mob_data* HP_mob_spawn_dataset(struct spawn_data *data, int npc_id) {
int hIndex = 0;
struct mob_data* retVal___ = NULL;
if (HPMHooks.count.HP_mob_spawn_dataset_pre > 0) {
- struct mob_data* (*preHookFunc) (struct spawn_data **data);
+ struct mob_data* (*preHookFunc) (struct spawn_data **data, int *npc_id);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_spawn_dataset_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mob_spawn_dataset_pre[hIndex].func;
- retVal___ = preHookFunc(&data);
+ retVal___ = preHookFunc(&data, &npc_id);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -50838,13 +52069,13 @@ struct mob_data* HP_mob_spawn_dataset(struct spawn_data *data) {
}
}
{
- retVal___ = HPMHooks.source.mob.spawn_dataset(data);
+ retVal___ = HPMHooks.source.mob.spawn_dataset(data, npc_id);
}
if (HPMHooks.count.HP_mob_spawn_dataset_post > 0) {
- struct mob_data* (*postHookFunc) (struct mob_data* retVal___, struct spawn_data *data);
+ struct mob_data* (*postHookFunc) (struct mob_data* retVal___, struct spawn_data *data, int npc_id);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_spawn_dataset_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mob_spawn_dataset_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, data);
+ retVal___ = postHookFunc(retVal___, data, npc_id);
}
}
return retVal___;
@@ -50903,15 +52134,15 @@ bool HP_mob_ksprotected(struct block_list *src, struct block_list *target) {
}
return retVal___;
}
-struct mob_data* HP_mob_once_spawn_sub(struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai) {
+struct mob_data* HP_mob_once_spawn_sub(struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai, int npc_id) {
int hIndex = 0;
struct mob_data* retVal___ = NULL;
if (HPMHooks.count.HP_mob_once_spawn_sub_pre > 0) {
- struct mob_data* (*preHookFunc) (struct block_list **bl, int16 *m, int16 *x, int16 *y, const char **mobname, int *class_, const char **event, unsigned int *size, unsigned int *ai);
+ struct mob_data* (*preHookFunc) (struct block_list **bl, int16 *m, int16 *x, int16 *y, const char **mobname, int *class_, const char **event, unsigned int *size, unsigned int *ai, int *npc_id);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_once_spawn_sub_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mob_once_spawn_sub_pre[hIndex].func;
- retVal___ = preHookFunc(&bl, &m, &x, &y, &mobname, &class_, &event, &size, &ai);
+ retVal___ = preHookFunc(&bl, &m, &x, &y, &mobname, &class_, &event, &size, &ai, &npc_id);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -50919,13 +52150,13 @@ struct mob_data* HP_mob_once_spawn_sub(struct block_list *bl, int16 m, int16 x,
}
}
{
- retVal___ = HPMHooks.source.mob.once_spawn_sub(bl, m, x, y, mobname, class_, event, size, ai);
+ retVal___ = HPMHooks.source.mob.once_spawn_sub(bl, m, x, y, mobname, class_, event, size, ai, npc_id);
}
if (HPMHooks.count.HP_mob_once_spawn_sub_post > 0) {
- struct mob_data* (*postHookFunc) (struct mob_data* retVal___, struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai);
+ struct mob_data* (*postHookFunc) (struct mob_data* retVal___, struct block_list *bl, int16 m, int16 x, int16 y, const char *mobname, int class_, const char *event, unsigned int size, unsigned int ai, int npc_id);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_once_spawn_sub_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mob_once_spawn_sub_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, bl, m, x, y, mobname, class_, event, size, ai);
+ retVal___ = postHookFunc(retVal___, bl, m, x, y, mobname, class_, event, size, ai, npc_id);
}
}
return retVal___;
@@ -50984,15 +52215,15 @@ int HP_mob_once_spawn_area(struct map_session_data *sd, int16 m, int16 x0, int16
}
return retVal___;
}
-int HP_mob_spawn_guardian(const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index) {
+int HP_mob_spawn_guardian(const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index, int npc_id) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_mob_spawn_guardian_pre > 0) {
- int (*preHookFunc) (const char **mapname, short *x, short *y, const char **mobname, int *class_, const char **event, int *guardian, bool *has_index);
+ int (*preHookFunc) (const char **mapname, short *x, short *y, const char **mobname, int *class_, const char **event, int *guardian, bool *has_index, int *npc_id);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_spawn_guardian_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mob_spawn_guardian_pre[hIndex].func;
- retVal___ = preHookFunc(&mapname, &x, &y, &mobname, &class_, &event, &guardian, &has_index);
+ retVal___ = preHookFunc(&mapname, &x, &y, &mobname, &class_, &event, &guardian, &has_index, &npc_id);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -51000,26 +52231,26 @@ int HP_mob_spawn_guardian(const char *mapname, short x, short y, const char *mob
}
}
{
- retVal___ = HPMHooks.source.mob.spawn_guardian(mapname, x, y, mobname, class_, event, guardian, has_index);
+ retVal___ = HPMHooks.source.mob.spawn_guardian(mapname, x, y, mobname, class_, event, guardian, has_index, npc_id);
}
if (HPMHooks.count.HP_mob_spawn_guardian_post > 0) {
- int (*postHookFunc) (int retVal___, const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index);
+ int (*postHookFunc) (int retVal___, const char *mapname, short x, short y, const char *mobname, int class_, const char *event, int guardian, bool has_index, int npc_id);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_spawn_guardian_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mob_spawn_guardian_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, mapname, x, y, mobname, class_, event, guardian, has_index);
+ retVal___ = postHookFunc(retVal___, mapname, x, y, mobname, class_, event, guardian, has_index, npc_id);
}
}
return retVal___;
}
-int HP_mob_spawn_bg(const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id) {
+int HP_mob_spawn_bg(const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id, int npc_id) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_mob_spawn_bg_pre > 0) {
- int (*preHookFunc) (const char **mapname, short *x, short *y, const char **mobname, int *class_, const char **event, unsigned int *bg_id);
+ int (*preHookFunc) (const char **mapname, short *x, short *y, const char **mobname, int *class_, const char **event, unsigned int *bg_id, int *npc_id);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_spawn_bg_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_mob_spawn_bg_pre[hIndex].func;
- retVal___ = preHookFunc(&mapname, &x, &y, &mobname, &class_, &event, &bg_id);
+ retVal___ = preHookFunc(&mapname, &x, &y, &mobname, &class_, &event, &bg_id, &npc_id);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -51027,13 +52258,13 @@ int HP_mob_spawn_bg(const char *mapname, short x, short y, const char *mobname,
}
}
{
- retVal___ = HPMHooks.source.mob.spawn_bg(mapname, x, y, mobname, class_, event, bg_id);
+ retVal___ = HPMHooks.source.mob.spawn_bg(mapname, x, y, mobname, class_, event, bg_id, npc_id);
}
if (HPMHooks.count.HP_mob_spawn_bg_post > 0) {
- int (*postHookFunc) (int retVal___, const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id);
+ int (*postHookFunc) (int retVal___, const char *mapname, short x, short y, const char *mobname, int class_, const char *event, unsigned int bg_id, int npc_id);
for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_spawn_bg_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_mob_spawn_bg_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, mapname, x, y, mobname, class_, event, bg_id);
+ retVal___ = postHookFunc(retVal___, mapname, x, y, mobname, class_, event, bg_id, npc_id);
}
}
return retVal___;
@@ -51431,6 +52662,33 @@ int HP_mob_warpchase_sub(struct block_list *bl, va_list ap) {
}
return retVal___;
}
+bool HP_mob_is_in_battle_state(const struct mob_data *md) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_mob_is_in_battle_state_pre > 0) {
+ bool (*preHookFunc) (const struct mob_data **md);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_is_in_battle_state_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_is_in_battle_state_pre[hIndex].func;
+ retVal___ = preHookFunc(&md);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mob.is_in_battle_state(md);
+ }
+ if (HPMHooks.count.HP_mob_is_in_battle_state_post > 0) {
+ bool (*postHookFunc) (bool retVal___, const struct mob_data *md);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_is_in_battle_state_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_is_in_battle_state_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, md);
+ }
+ }
+ return retVal___;
+}
int HP_mob_ai_sub_hard_slavemob(struct mob_data *md, int64 tick) {
int hIndex = 0;
int retVal___ = 0;
@@ -51719,15 +52977,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;
@@ -51735,13 +53019,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___;
@@ -52634,6 +53918,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) {
@@ -52900,6 +54292,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) {
@@ -52926,6 +54345,32 @@ void HP_mob_read_db_stats_sub(struct mob_db *entry, struct config_setting_t *t)
}
return;
}
+void HP_mob_read_db_viewdata_sub(struct mob_db *entry, struct config_setting_t *t) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mob_read_db_viewdata_sub_pre > 0) {
+ void (*preHookFunc) (struct mob_db **entry, struct config_setting_t **t);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_db_viewdata_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_read_db_viewdata_sub_pre[hIndex].func;
+ preHookFunc(&entry, &t);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mob.read_db_viewdata_sub(entry, t);
+ }
+ if (HPMHooks.count.HP_mob_read_db_viewdata_sub_post > 0) {
+ void (*postHookFunc) (struct mob_db *entry, struct config_setting_t *t);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_read_db_viewdata_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_read_db_viewdata_sub_post[hIndex].func;
+ postHookFunc(entry, t);
+ }
+ }
+ return;
+}
void HP_mob_name_constants(void) {
int hIndex = 0;
if (HPMHooks.count.HP_mob_name_constants_pre > 0) {
@@ -52952,32 +54397,31 @@ void HP_mob_name_constants(void) {
}
return;
}
-bool HP_mob_readdb_mobavail(char *str[], int columns, int current) {
+void HP_mob_mobavail_removal_notice(void) {
int hIndex = 0;
- bool retVal___ = false;
- if (HPMHooks.count.HP_mob_readdb_mobavail_pre > 0) {
- bool (*preHookFunc) (char **str[], int *columns, int *current);
+ if (HPMHooks.count.HP_mob_mobavail_removal_notice_pre > 0) {
+ void (*preHookFunc) (void);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_readdb_mobavail_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_mob_readdb_mobavail_pre[hIndex].func;
- retVal___ = preHookFunc(&str, &columns, &current);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_mobavail_removal_notice_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mob_mobavail_removal_notice_pre[hIndex].func;
+ preHookFunc();
}
if (*HPMforce_return) {
*HPMforce_return = false;
- return retVal___;
+ return;
}
}
{
- retVal___ = HPMHooks.source.mob.readdb_mobavail(str, columns, current);
+ HPMHooks.source.mob.mobavail_removal_notice();
}
- if (HPMHooks.count.HP_mob_readdb_mobavail_post > 0) {
- bool (*postHookFunc) (bool retVal___, char *str[], int columns, int current);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_readdb_mobavail_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_mob_readdb_mobavail_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, str, columns, current);
+ if (HPMHooks.count.HP_mob_mobavail_removal_notice_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mob_mobavail_removal_notice_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mob_mobavail_removal_notice_post[hIndex].func;
+ postHookFunc();
}
}
- return retVal___;
+ return;
}
int HP_mob_read_randommonster(void) {
int hIndex = 0;
@@ -53303,6 +54747,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;
@@ -55341,14 +56811,14 @@ int HP_npc_unload_dup_sub(struct npc_data *nd, va_list args) {
}
return retVal___;
}
-void HP_npc_unload_duplicates(struct npc_data *nd) {
+void HP_npc_unload_duplicates(struct npc_data *nd, bool unload_mobs) {
int hIndex = 0;
if (HPMHooks.count.HP_npc_unload_duplicates_pre > 0) {
- void (*preHookFunc) (struct npc_data **nd);
+ void (*preHookFunc) (struct npc_data **nd, bool *unload_mobs);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_unload_duplicates_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_unload_duplicates_pre[hIndex].func;
- preHookFunc(&nd);
+ preHookFunc(&nd, &unload_mobs);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -55356,26 +56826,59 @@ void HP_npc_unload_duplicates(struct npc_data *nd) {
}
}
{
- HPMHooks.source.npc.unload_duplicates(nd);
+ HPMHooks.source.npc.unload_duplicates(nd, unload_mobs);
}
if (HPMHooks.count.HP_npc_unload_duplicates_post > 0) {
- void (*postHookFunc) (struct npc_data *nd);
+ void (*postHookFunc) (struct npc_data *nd, bool unload_mobs);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_unload_duplicates_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_unload_duplicates_post[hIndex].func;
- postHookFunc(nd);
+ postHookFunc(nd, unload_mobs);
}
}
return;
}
-int HP_npc_unload(struct npc_data *nd, bool single) {
+int HP_npc_unload_mob(struct mob_data *md, va_list args) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_npc_unload_mob_pre > 0) {
+ int (*preHookFunc) (struct mob_data **md, va_list args);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_unload_mob_pre; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ preHookFunc = HPMHooks.list.HP_npc_unload_mob_pre[hIndex].func;
+ retVal___ = preHookFunc(&md, args___copy);
+ va_end(args___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list args___copy; va_copy(args___copy, args);
+ retVal___ = HPMHooks.source.npc.unload_mob(md, args___copy);
+ va_end(args___copy);
+ }
+ if (HPMHooks.count.HP_npc_unload_mob_post > 0) {
+ int (*postHookFunc) (int retVal___, struct mob_data *md, va_list args);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_unload_mob_post; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ postHookFunc = HPMHooks.list.HP_npc_unload_mob_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, md, args___copy);
+ va_end(args___copy);
+ }
+ }
+ return retVal___;
+}
+int HP_npc_unload(struct npc_data *nd, bool single, bool unload_mobs) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_npc_unload_pre > 0) {
- int (*preHookFunc) (struct npc_data **nd, bool *single);
+ int (*preHookFunc) (struct npc_data **nd, bool *single, bool *unload_mobs);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_unload_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_unload_pre[hIndex].func;
- retVal___ = preHookFunc(&nd, &single);
+ retVal___ = preHookFunc(&nd, &single, &unload_mobs);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -55383,13 +56886,13 @@ int HP_npc_unload(struct npc_data *nd, bool single) {
}
}
{
- retVal___ = HPMHooks.source.npc.unload(nd, single);
+ retVal___ = HPMHooks.source.npc.unload(nd, single, unload_mobs);
}
if (HPMHooks.count.HP_npc_unload_post > 0) {
- int (*postHookFunc) (int retVal___, struct npc_data *nd, bool single);
+ int (*postHookFunc) (int retVal___, struct npc_data *nd, bool single, bool unload_mobs);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_unload_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_unload_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, nd, single);
+ retVal___ = postHookFunc(retVal___, nd, single, unload_mobs);
}
}
return retVal___;
@@ -55605,11 +57108,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, int class_) {
+struct npc_data* HP_npc_create_npc(enum npc_subtype subtype, int m, int x, int y, enum unit_dir 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, int *class_);
+ struct npc_data* (*preHookFunc) (enum npc_subtype *subtype, int *m, int *x, int *y, enum unit_dir *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;
@@ -55624,7 +57127,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, int class_);
+ struct npc_data* (*postHookFunc) (struct npc_data* retVal___, enum npc_subtype subtype, int m, int x, int y, enum unit_dir 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_);
@@ -56504,15 +58007,15 @@ int HP_npc_reload(void) {
}
return retVal___;
}
-bool HP_npc_unloadfile(const char *filepath) {
+bool HP_npc_unloadfile(const char *filepath, bool unload_mobs) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_npc_unloadfile_pre > 0) {
- bool (*preHookFunc) (const char **filepath);
+ bool (*preHookFunc) (const char **filepath, bool *unload_mobs);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_unloadfile_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_unloadfile_pre[hIndex].func;
- retVal___ = preHookFunc(&filepath);
+ retVal___ = preHookFunc(&filepath, &unload_mobs);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -56520,13 +58023,13 @@ bool HP_npc_unloadfile(const char *filepath) {
}
}
{
- retVal___ = HPMHooks.source.npc.unloadfile(filepath);
+ retVal___ = HPMHooks.source.npc.unloadfile(filepath, unload_mobs);
}
if (HPMHooks.count.HP_npc_unloadfile_post > 0) {
- bool (*postHookFunc) (bool retVal___, const char *filepath);
+ bool (*postHookFunc) (bool retVal___, const char *filepath, bool unload_mobs);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_unloadfile_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_unloadfile_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, filepath);
+ retVal___ = postHookFunc(retVal___, filepath, unload_mobs);
}
}
return retVal___;
@@ -56688,11 +58191,11 @@ void HP_npc_trader_update(int master) {
}
return;
}
-int HP_npc_market_buylist(struct map_session_data *sd, struct itemlist *item_list) {
+enum market_buy_result HP_npc_market_buylist(struct map_session_data *sd, struct itemlist *item_list) {
int hIndex = 0;
- int retVal___ = 0;
+ enum market_buy_result retVal___ = MARKET_BUY_RESULT_ERROR;
if (HPMHooks.count.HP_npc_market_buylist_pre > 0) {
- int (*preHookFunc) (struct map_session_data **sd, struct itemlist **item_list);
+ enum market_buy_result (*preHookFunc) (struct map_session_data **sd, struct itemlist **item_list);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_buylist_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_npc_market_buylist_pre[hIndex].func;
@@ -56707,7 +58210,7 @@ int HP_npc_market_buylist(struct map_session_data *sd, struct itemlist *item_lis
retVal___ = HPMHooks.source.npc.market_buylist(sd, item_list);
}
if (HPMHooks.count.HP_npc_market_buylist_post > 0) {
- int (*postHookFunc) (int retVal___, struct map_session_data *sd, struct itemlist *item_list);
+ enum market_buy_result (*postHookFunc) (enum market_buy_result retVal___, struct map_session_data *sd, struct itemlist *item_list);
for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_market_buylist_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_npc_market_buylist_post[hIndex].func;
retVal___ = postHookFunc(retVal___, sd, item_list);
@@ -56742,6 +58245,33 @@ int HP_npc_barter_buylist(struct map_session_data *sd, struct barteritemlist *it
}
return retVal___;
}
+int HP_npc_expanded_barter_buylist(struct map_session_data *sd, struct barteritemlist *item_list) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_npc_expanded_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_expanded_barter_buylist_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_expanded_barter_buylist_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &item_list);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.npc.expanded_barter_buylist(sd, item_list);
+ }
+ if (HPMHooks.count.HP_npc_expanded_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_expanded_barter_buylist_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_expanded_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;
@@ -56977,6 +58507,110 @@ void HP_npc_barter_delfromsql_sub(const char *npcname, int itemId, int itemId2,
}
return;
}
+void HP_npc_expanded_barter_fromsql(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_expanded_barter_fromsql_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_expanded_barter_fromsql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_expanded_barter_fromsql_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.expanded_barter_fromsql();
+ }
+ if (HPMHooks.count.HP_npc_expanded_barter_fromsql_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_expanded_barter_fromsql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_expanded_barter_fromsql_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_npc_expanded_barter_tosql(struct npc_data *nd, int index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_expanded_barter_tosql_pre > 0) {
+ void (*preHookFunc) (struct npc_data **nd, int *index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_expanded_barter_tosql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_expanded_barter_tosql_pre[hIndex].func;
+ preHookFunc(&nd, &index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.expanded_barter_tosql(nd, index);
+ }
+ if (HPMHooks.count.HP_npc_expanded_barter_tosql_post > 0) {
+ void (*postHookFunc) (struct npc_data *nd, int index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_expanded_barter_tosql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_expanded_barter_tosql_post[hIndex].func;
+ postHookFunc(nd, index);
+ }
+ }
+ return;
+}
+void HP_npc_expanded_barter_delfromsql(struct npc_data *nd, int index) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_expanded_barter_delfromsql_pre > 0) {
+ void (*preHookFunc) (struct npc_data **nd, int *index);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_expanded_barter_delfromsql_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_expanded_barter_delfromsql_pre[hIndex].func;
+ preHookFunc(&nd, &index);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.expanded_barter_delfromsql(nd, index);
+ }
+ if (HPMHooks.count.HP_npc_expanded_barter_delfromsql_post > 0) {
+ void (*postHookFunc) (struct npc_data *nd, int index);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_expanded_barter_delfromsql_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_expanded_barter_delfromsql_post[hIndex].func;
+ postHookFunc(nd, index);
+ }
+ }
+ return;
+}
+void HP_npc_expanded_barter_delfromsql_sub(const char *npcname, int itemId, int zeny, int currencyCount, struct npc_barter_currency *currency) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_npc_expanded_barter_delfromsql_sub_pre > 0) {
+ void (*preHookFunc) (const char **npcname, int *itemId, int *zeny, int *currencyCount, struct npc_barter_currency **currency);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_expanded_barter_delfromsql_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_npc_expanded_barter_delfromsql_sub_pre[hIndex].func;
+ preHookFunc(&npcname, &itemId, &zeny, &currencyCount, &currency);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.npc.expanded_barter_delfromsql_sub(npcname, itemId, zeny, currencyCount, currency);
+ }
+ if (HPMHooks.count.HP_npc_expanded_barter_delfromsql_sub_post > 0) {
+ void (*postHookFunc) (const char *npcname, int itemId, int zeny, int currencyCount, struct npc_barter_currency *currency);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_expanded_barter_delfromsql_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_npc_expanded_barter_delfromsql_sub_post[hIndex].func;
+ postHookFunc(npcname, itemId, zeny, currencyCount, currency);
+ }
+ }
+ return;
+}
bool HP_npc_db_checkid(const int id) {
int hIndex = 0;
bool retVal___ = false;
@@ -57030,6 +58664,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;
@@ -57058,6 +58718,58 @@ int HP_npc_secure_timeout_timer(int tid, int64 tick, int id, intptr_t data) {
return retVal___;
}
/* nullpo_interface */
+void HP_nullpo_init(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_nullpo_init_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_init_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_nullpo_init_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.nullpo.init();
+ }
+ if (HPMHooks.count.HP_nullpo_init_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_init_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_nullpo_init_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
+void HP_nullpo_final(void) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_nullpo_final_pre > 0) {
+ void (*preHookFunc) (void);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_final_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_nullpo_final_pre[hIndex].func;
+ preHookFunc();
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.nullpo.final();
+ }
+ if (HPMHooks.count.HP_nullpo_final_post > 0) {
+ void (*postHookFunc) (void);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_nullpo_final_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_nullpo_final_post[hIndex].func;
+ postHookFunc();
+ }
+ }
+ return;
+}
void HP_nullpo_assert_report(const char *file, int line, const char *func, const char *targetname, const char *title) {
int hIndex = 0;
if (HPMHooks.count.HP_nullpo_assert_report_pre > 0) {
@@ -57912,33 +59624,6 @@ int HP_party_send_message(struct map_session_data *sd, const char *mes) {
}
return retVal___;
}
-int HP_party_recv_message(int party_id, int account_id, const char *mes, int len) {
- int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_party_recv_message_pre > 0) {
- int (*preHookFunc) (int *party_id, int *account_id, const char **mes, int *len);
- *HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_party_recv_message_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_party_recv_message_pre[hIndex].func;
- retVal___ = preHookFunc(&party_id, &account_id, &mes, &len);
- }
- if (*HPMforce_return) {
- *HPMforce_return = false;
- return retVal___;
- }
- }
- {
- retVal___ = HPMHooks.source.party.recv_message(party_id, account_id, mes, len);
- }
- if (HPMHooks.count.HP_party_recv_message_post > 0) {
- int (*postHookFunc) (int retVal___, int party_id, int account_id, const char *mes, int len);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_party_recv_message_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_party_recv_message_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, party_id, account_id, mes, len);
- }
- }
- return retVal___;
-}
int HP_party_skill_check(struct map_session_data *sd, int party_id, uint16 skill_id, uint16 skill_lv) {
int hIndex = 0;
int retVal___ = 0;
@@ -60433,11 +62118,11 @@ int HP_pc_updateweightstatus(struct map_session_data *sd) {
}
return retVal___;
}
-int HP_pc_addautobonus(struct s_autobonus *bonus, char max, const char *bonus_script, short rate, unsigned int dur, short atk_type, const char *o_script, unsigned short pos, bool onskill) {
+int HP_pc_addautobonus(struct s_autobonus *bonus, char max, const char *bonus_script, short rate, unsigned int dur, short atk_type, const char *o_script, unsigned int pos, bool onskill) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_pc_addautobonus_pre > 0) {
- int (*preHookFunc) (struct s_autobonus **bonus, char *max, const char **bonus_script, short *rate, unsigned int *dur, short *atk_type, const char **o_script, unsigned short *pos, bool *onskill);
+ int (*preHookFunc) (struct s_autobonus **bonus, char *max, const char **bonus_script, short *rate, unsigned int *dur, short *atk_type, const char **o_script, unsigned int *pos, bool *onskill);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_addautobonus_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_addautobonus_pre[hIndex].func;
@@ -60452,7 +62137,7 @@ int HP_pc_addautobonus(struct s_autobonus *bonus, char max, const char *bonus_sc
retVal___ = HPMHooks.source.pc.addautobonus(bonus, max, bonus_script, rate, dur, atk_type, o_script, pos, onskill);
}
if (HPMHooks.count.HP_pc_addautobonus_post > 0) {
- int (*postHookFunc) (int retVal___, struct s_autobonus *bonus, char max, const char *bonus_script, short rate, unsigned int dur, short atk_type, const char *o_script, unsigned short pos, bool onskill);
+ int (*postHookFunc) (int retVal___, struct s_autobonus *bonus, char max, const char *bonus_script, short rate, unsigned int dur, short atk_type, const char *o_script, unsigned int pos, bool onskill);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_addautobonus_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_addautobonus_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bonus, max, bonus_script, rate, dur, atk_type, o_script, pos, onskill);
@@ -61726,6 +63411,33 @@ int HP_pc_useitem(struct map_session_data *sd, int n) {
}
return retVal___;
}
+int HP_pc_autocast_clear(struct map_session_data *sd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_pc_autocast_clear_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_autocast_clear_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_autocast_clear_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.autocast_clear(sd);
+ }
+ if (HPMHooks.count.HP_pc_autocast_clear_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_autocast_clear_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_autocast_clear_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd);
+ }
+ }
+ return retVal___;
+}
int HP_pc_skillatk_bonus(struct map_session_data *sd, uint16 skill_id) {
int hIndex = 0;
int retVal___ = 0;
@@ -62099,14 +63811,14 @@ void HP_pc_setridingpeco(struct map_session_data *sd, bool flag) {
}
return;
}
-void HP_pc_setmadogear(struct map_session_data *sd, bool flag) {
+void HP_pc_setmadogear(struct map_session_data *sd, bool flag, enum mado_type mtype) {
int hIndex = 0;
if (HPMHooks.count.HP_pc_setmadogear_pre > 0) {
- void (*preHookFunc) (struct map_session_data **sd, bool *flag);
+ void (*preHookFunc) (struct map_session_data **sd, bool *flag, enum mado_type *mtype);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_setmadogear_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_pc_setmadogear_pre[hIndex].func;
- preHookFunc(&sd, &flag);
+ preHookFunc(&sd, &flag, &mtype);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -62114,13 +63826,13 @@ void HP_pc_setmadogear(struct map_session_data *sd, bool flag) {
}
}
{
- HPMHooks.source.pc.setmadogear(sd, flag);
+ HPMHooks.source.pc.setmadogear(sd, flag, mtype);
}
if (HPMHooks.count.HP_pc_setmadogear_post > 0) {
- void (*postHookFunc) (struct map_session_data *sd, bool flag);
+ void (*postHookFunc) (struct map_session_data *sd, bool flag, enum mado_type mtype);
for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_setmadogear_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_pc_setmadogear_post[hIndex].func;
- postHookFunc(sd, flag);
+ postHookFunc(sd, flag, mtype);
}
}
return;
@@ -65277,6 +66989,33 @@ int HP_pc_have_magnifier(struct map_session_data *sd) {
}
return retVal___;
}
+int HP_pc_have_item_chain(struct map_session_data *sd, enum e_chain_cache chain_cache_id) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_pc_have_item_chain_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, enum e_chain_cache *chain_cache_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_have_item_chain_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_have_item_chain_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, &chain_cache_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.have_item_chain(sd, chain_cache_id);
+ }
+ if (HPMHooks.count.HP_pc_have_item_chain_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, enum e_chain_cache chain_cache_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_have_item_chain_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_have_item_chain_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, chain_cache_id);
+ }
+ }
+ return retVal___;
+}
bool HP_pc_process_chat_message(struct map_session_data *sd, const char *message) {
int hIndex = 0;
bool retVal___ = false;
@@ -65304,6 +67043,66 @@ bool HP_pc_process_chat_message(struct map_session_data *sd, const char *message
}
return retVal___;
}
+int HP_pc_wis_message_to_gm(const char *sender_name, int permission, const char *message) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_pc_wis_message_to_gm_pre > 0) {
+ int (*preHookFunc) (const char **sender_name, int *permission, const char **message);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_wis_message_to_gm_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_wis_message_to_gm_pre[hIndex].func;
+ retVal___ = preHookFunc(&sender_name, &permission, &message);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.wis_message_to_gm(sender_name, permission, message);
+ }
+ if (HPMHooks.count.HP_pc_wis_message_to_gm_post > 0) {
+ int (*postHookFunc) (int retVal___, const char *sender_name, int permission, const char *message);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_wis_message_to_gm_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_wis_message_to_gm_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sender_name, permission, message);
+ }
+ }
+ return retVal___;
+}
+int HP_pc_wis_message_to_gm_sub(struct map_session_data *sd, va_list va) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_pc_wis_message_to_gm_sub_pre > 0) {
+ int (*preHookFunc) (struct map_session_data **sd, va_list va);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_wis_message_to_gm_sub_pre; hIndex++) {
+ va_list va___copy; va_copy(va___copy, va);
+ preHookFunc = HPMHooks.list.HP_pc_wis_message_to_gm_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd, va___copy);
+ va_end(va___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list va___copy; va_copy(va___copy, va);
+ retVal___ = HPMHooks.source.pc.wis_message_to_gm_sub(sd, va___copy);
+ va_end(va___copy);
+ }
+ if (HPMHooks.count.HP_pc_wis_message_to_gm_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, struct map_session_data *sd, va_list va);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_wis_message_to_gm_sub_post; hIndex++) {
+ va_list va___copy; va_copy(va___copy, va);
+ postHookFunc = HPMHooks.list.HP_pc_wis_message_to_gm_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd, va___copy);
+ va_end(va___copy);
+ }
+ }
+ return retVal___;
+}
void HP_pc_check_supernovice_call(struct map_session_data *sd, const char *message) {
int hIndex = 0;
if (HPMHooks.count.HP_pc_check_supernovice_call_pre > 0) {
@@ -65438,6 +67237,33 @@ bool HP_pc_expandInventory(struct map_session_data *sd, int adjustSize) {
}
return retVal___;
}
+bool HP_pc_auto_exp_insurance(struct map_session_data *sd) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_pc_auto_exp_insurance_pre > 0) {
+ bool (*preHookFunc) (struct map_session_data **sd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_auto_exp_insurance_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pc_auto_exp_insurance_pre[hIndex].func;
+ retVal___ = preHookFunc(&sd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.pc.auto_exp_insurance(sd);
+ }
+ if (HPMHooks.count.HP_pc_auto_exp_insurance_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct map_session_data *sd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pc_auto_exp_insurance_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pc_auto_exp_insurance_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, sd);
+ }
+ }
+ 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;
@@ -65735,6 +67561,32 @@ int HP_pet_hungry_val(struct pet_data *pd) {
}
return retVal___;
}
+void HP_pet_set_hunger(struct pet_data *pd, int value) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_pet_set_hunger_pre > 0) {
+ void (*preHookFunc) (struct pet_data **pd, int *value);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pet_set_hunger_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_pet_set_hunger_pre[hIndex].func;
+ preHookFunc(&pd, &value);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.pet.set_hunger(pd, value);
+ }
+ if (HPMHooks.count.HP_pet_set_hunger_post > 0) {
+ void (*postHookFunc) (struct pet_data *pd, int value);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_pet_set_hunger_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_pet_set_hunger_post[hIndex].func;
+ postHookFunc(pd, value);
+ }
+ }
+ return;
+}
void HP_pet_set_intimate(struct pet_data *pd, int value) {
int hIndex = 0;
if (HPMHooks.count.HP_pet_set_intimate_pre > 0) {
@@ -67553,14 +69405,42 @@ bool HP_quest_questinfo_validate_mercenary_class(struct map_session_data *sd, st
}
return retVal___;
}
-void HP_quest_questinfo_vector_clear(int m) {
+/* refine_interface */
+int HP_refine_init(bool minimal) {
int hIndex = 0;
- if (HPMHooks.count.HP_quest_questinfo_vector_clear_pre > 0) {
- void (*preHookFunc) (int *m);
+ 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_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_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;
@@ -67568,17 +69448,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;
@@ -68239,6 +70469,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;
@@ -73020,15 +75302,42 @@ bool HP_script_load_translation_addstring(const char *file, uint8 lang_id, const
}
return retVal___;
}
-int HP_script_load_translation(const char *file, uint8 lang_id) {
+int HP_script_load_translation_file(const char *file, uint8 lang_id) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_script_load_translation_pre > 0) {
+ if (HPMHooks.count.HP_script_load_translation_file_pre > 0) {
int (*preHookFunc) (const char **file, uint8 *lang_id);
*HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_load_translation_file_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_script_load_translation_file_pre[hIndex].func;
+ retVal___ = preHookFunc(&file, &lang_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.script.load_translation_file(file, lang_id);
+ }
+ if (HPMHooks.count.HP_script_load_translation_file_post > 0) {
+ int (*postHookFunc) (int retVal___, const char *file, uint8 lang_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_load_translation_file_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_script_load_translation_file_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, file, lang_id);
+ }
+ }
+ return retVal___;
+}
+int HP_script_load_translation(const char *directory, uint8 lang_id) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_script_load_translation_pre > 0) {
+ int (*preHookFunc) (const char **directory, uint8 *lang_id);
+ *HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_script_load_translation_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_script_load_translation_pre[hIndex].func;
- retVal___ = preHookFunc(&file, &lang_id);
+ retVal___ = preHookFunc(&directory, &lang_id);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -73036,13 +75345,13 @@ int HP_script_load_translation(const char *file, uint8 lang_id) {
}
}
{
- retVal___ = HPMHooks.source.script.load_translation(file, lang_id);
+ retVal___ = HPMHooks.source.script.load_translation(directory, lang_id);
}
if (HPMHooks.count.HP_script_load_translation_post > 0) {
- int (*postHookFunc) (int retVal___, const char *file, uint8 lang_id);
+ int (*postHookFunc) (int retVal___, const char *directory, uint8 lang_id);
for (hIndex = 0; hIndex < HPMHooks.count.HP_script_load_translation_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_script_load_translation_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, file, lang_id);
+ retVal___ = postHookFunc(retVal___, directory, lang_id);
}
}
return retVal___;
@@ -73160,15 +75469,15 @@ uint8 HP_script_add_language(const char *name) {
}
return retVal___;
}
-const char* HP_script_get_translation_file_name(const char *file) {
+const char* HP_script_get_translation_dir_name(const char *directory) {
int hIndex = 0;
const char* retVal___ = NULL;
- if (HPMHooks.count.HP_script_get_translation_file_name_pre > 0) {
- const char* (*preHookFunc) (const char **file);
+ if (HPMHooks.count.HP_script_get_translation_dir_name_pre > 0) {
+ const char* (*preHookFunc) (const char **directory);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_script_get_translation_file_name_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_script_get_translation_file_name_pre[hIndex].func;
- retVal___ = preHookFunc(&file);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_get_translation_dir_name_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_script_get_translation_dir_name_pre[hIndex].func;
+ retVal___ = preHookFunc(&directory);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -73176,13 +75485,13 @@ const char* HP_script_get_translation_file_name(const char *file) {
}
}
{
- retVal___ = HPMHooks.source.script.get_translation_file_name(file);
+ retVal___ = HPMHooks.source.script.get_translation_dir_name(directory);
}
- if (HPMHooks.count.HP_script_get_translation_file_name_post > 0) {
- const char* (*postHookFunc) (const char* retVal___, const char *file);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_script_get_translation_file_name_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_script_get_translation_file_name_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, file);
+ if (HPMHooks.count.HP_script_get_translation_dir_name_post > 0) {
+ const char* (*postHookFunc) (const char* retVal___, const char *directory);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_get_translation_dir_name_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_script_get_translation_dir_name_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, directory);
}
}
return retVal___;
@@ -73291,6 +75600,111 @@ void HP_script_run_item_unequip_script(struct map_session_data *sd, struct item_
}
return;
}
+void HP_script_run_item_rental_end_script(struct map_session_data *sd, struct item_data *data, int oid) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_script_run_item_rental_end_script_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct item_data **data, int *oid);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_run_item_rental_end_script_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_script_run_item_rental_end_script_pre[hIndex].func;
+ preHookFunc(&sd, &data, &oid);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.script.run_item_rental_end_script(sd, data, oid);
+ }
+ if (HPMHooks.count.HP_script_run_item_rental_end_script_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct item_data *data, int oid);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_run_item_rental_end_script_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_script_run_item_rental_end_script_post[hIndex].func;
+ postHookFunc(sd, data, oid);
+ }
+ }
+ return;
+}
+void HP_script_run_item_rental_start_script(struct map_session_data *sd, struct item_data *data, int oid) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_script_run_item_rental_start_script_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct item_data **data, int *oid);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_run_item_rental_start_script_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_script_run_item_rental_start_script_pre[hIndex].func;
+ preHookFunc(&sd, &data, &oid);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.script.run_item_rental_start_script(sd, data, oid);
+ }
+ if (HPMHooks.count.HP_script_run_item_rental_start_script_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct item_data *data, int oid);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_run_item_rental_start_script_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_script_run_item_rental_start_script_post[hIndex].func;
+ postHookFunc(sd, data, oid);
+ }
+ }
+ return;
+}
+void HP_script_run_item_lapineddukddak_script(struct map_session_data *sd, struct item_data *data, int oid) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_script_run_item_lapineddukddak_script_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, struct item_data **data, int *oid);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_run_item_lapineddukddak_script_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_script_run_item_lapineddukddak_script_pre[hIndex].func;
+ preHookFunc(&sd, &data, &oid);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.script.run_item_lapineddukddak_script(sd, data, oid);
+ }
+ if (HPMHooks.count.HP_script_run_item_lapineddukddak_script_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, struct item_data *data, int oid);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_run_item_lapineddukddak_script_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_script_run_item_lapineddukddak_script_post[hIndex].func;
+ postHookFunc(sd, data, oid);
+ }
+ }
+ return;
+}
+bool HP_script_sellitemcurrency_add(struct npc_data *nd, struct script_state *st, int argIndex) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_script_sellitemcurrency_add_pre > 0) {
+ bool (*preHookFunc) (struct npc_data **nd, struct script_state **st, int *argIndex);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_sellitemcurrency_add_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_script_sellitemcurrency_add_pre[hIndex].func;
+ retVal___ = preHookFunc(&nd, &st, &argIndex);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.script.sellitemcurrency_add(nd, st, argIndex);
+ }
+ if (HPMHooks.count.HP_script_sellitemcurrency_add_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct npc_data *nd, struct script_state *st, int argIndex);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_script_sellitemcurrency_add_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_script_sellitemcurrency_add_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, nd, st, argIndex);
+ }
+ }
+ return retVal___;
+}
/* searchstore_interface */
bool HP_searchstore_open(struct map_session_data *sd, unsigned int uses, unsigned short effect) {
int hIndex = 0;
@@ -73529,15 +75943,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;
@@ -73545,13 +75959,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___;
@@ -75368,11 +77782,11 @@ int HP_skill_counter_additional_effect(struct block_list *src, struct block_list
}
return retVal___;
}
-int HP_skill_blown(struct block_list *src, struct block_list *target, int count, int8 dir, int flag) {
+int HP_skill_blown(struct block_list *src, struct block_list *target, int count, enum unit_dir dir, int flag) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_skill_blown_pre > 0) {
- int (*preHookFunc) (struct block_list **src, struct block_list **target, int *count, int8 *dir, int *flag);
+ int (*preHookFunc) (struct block_list **src, struct block_list **target, int *count, enum unit_dir *dir, int *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_blown_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_skill_blown_pre[hIndex].func;
@@ -75387,7 +77801,7 @@ int HP_skill_blown(struct block_list *src, struct block_list *target, int count,
retVal___ = HPMHooks.source.skill.blown(src, target, count, dir, flag);
}
if (HPMHooks.count.HP_skill_blown_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *target, int count, int8 dir, int flag);
+ int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *target, int count, enum unit_dir dir, int flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_blown_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_skill_blown_post[hIndex].func;
retVal___ = postHookFunc(retVal___, src, target, count, dir, flag);
@@ -76504,6 +78918,32 @@ int HP_skill_not_ok_mercenary(uint16 skill_id, struct mercenary_data *md) {
}
return retVal___;
}
+void HP_skill_validate_autocast_data(struct map_session_data *sd, int skill_id, int skill_lv) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_skill_validate_autocast_data_pre > 0) {
+ void (*preHookFunc) (struct map_session_data **sd, int *skill_id, int *skill_lv);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_autocast_data_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_skill_validate_autocast_data_pre[hIndex].func;
+ preHookFunc(&sd, &skill_id, &skill_lv);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.skill.validate_autocast_data(sd, skill_id, skill_lv);
+ }
+ if (HPMHooks.count.HP_skill_validate_autocast_data_post > 0) {
+ void (*postHookFunc) (struct map_session_data *sd, int skill_id, int skill_lv);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_validate_autocast_data_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_skill_validate_autocast_data_post[hIndex].func;
+ postHookFunc(sd, skill_id, skill_lv);
+ }
+ }
+ return;
+}
int HP_skill_chastle_mob_changetarget(struct block_list *bl, va_list ap) {
int hIndex = 0;
int retVal___ = 0;
@@ -77671,10 +80111,10 @@ int HP_skill_check_condition_mob_master_sub(struct block_list *bl, va_list ap) {
}
return retVal___;
}
-void HP_skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int16 y) {
+void HP_skill_brandishspear_first(struct square *tc, enum unit_dir dir, int16 x, int16 y) {
int hIndex = 0;
if (HPMHooks.count.HP_skill_brandishspear_first_pre > 0) {
- void (*preHookFunc) (struct square **tc, uint8 *dir, int16 *x, int16 *y);
+ void (*preHookFunc) (struct square **tc, enum unit_dir *dir, int16 *x, int16 *y);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_brandishspear_first_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_skill_brandishspear_first_pre[hIndex].func;
@@ -77689,7 +80129,7 @@ void HP_skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int16 y
HPMHooks.source.skill.brandishspear_first(tc, dir, x, y);
}
if (HPMHooks.count.HP_skill_brandishspear_first_post > 0) {
- void (*postHookFunc) (struct square *tc, uint8 dir, int16 x, int16 y);
+ void (*postHookFunc) (struct square *tc, enum unit_dir dir, int16 x, int16 y);
for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_brandishspear_first_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_skill_brandishspear_first_post[hIndex].func;
postHookFunc(tc, dir, x, y);
@@ -77697,10 +80137,10 @@ void HP_skill_brandishspear_first(struct square *tc, uint8 dir, int16 x, int16 y
}
return;
}
-void HP_skill_brandishspear_dir(struct square *tc, uint8 dir, int are) {
+void HP_skill_brandishspear_dir(struct square *tc, enum unit_dir dir, int are) {
int hIndex = 0;
if (HPMHooks.count.HP_skill_brandishspear_dir_pre > 0) {
- void (*preHookFunc) (struct square **tc, uint8 *dir, int *are);
+ void (*preHookFunc) (struct square **tc, enum unit_dir *dir, int *are);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_brandishspear_dir_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_skill_brandishspear_dir_pre[hIndex].func;
@@ -77715,7 +80155,7 @@ void HP_skill_brandishspear_dir(struct square *tc, uint8 dir, int are) {
HPMHooks.source.skill.brandishspear_dir(tc, dir, are);
}
if (HPMHooks.count.HP_skill_brandishspear_dir_post > 0) {
- void (*postHookFunc) (struct square *tc, uint8 dir, int are);
+ void (*postHookFunc) (struct square *tc, enum unit_dir dir, int are);
for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_brandishspear_dir_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_skill_brandishspear_dir_post[hIndex].func;
postHookFunc(tc, dir, are);
@@ -79632,10 +82072,10 @@ int HP_skill_attack_dir_unknown(int *attack_type, struct block_list *src, struct
}
return retVal___;
}
-void HP_skill_attack_blow_unknown(int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir) {
+void HP_skill_attack_blow_unknown(int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, enum unit_dir *dir) {
int hIndex = 0;
if (HPMHooks.count.HP_skill_attack_blow_unknown_pre > 0) {
- void (*preHookFunc) (int **attack_type, struct block_list **src, struct block_list **dsrc, struct block_list **bl, uint16 **skill_id, uint16 **skill_lv, int64 **tick, int **flag, int **type, struct Damage **dmg, int64 **damage, int8 **dir);
+ void (*preHookFunc) (int **attack_type, struct block_list **src, struct block_list **dsrc, struct block_list **bl, uint16 **skill_id, uint16 **skill_lv, int64 **tick, int **flag, int **type, struct Damage **dmg, int64 **damage, enum unit_dir **dir);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_attack_blow_unknown_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_skill_attack_blow_unknown_pre[hIndex].func;
@@ -79650,7 +82090,7 @@ void HP_skill_attack_blow_unknown(int *attack_type, struct block_list *src, stru
HPMHooks.source.skill.attack_blow_unknown(attack_type, src, dsrc, bl, skill_id, skill_lv, tick, flag, type, dmg, damage, dir);
}
if (HPMHooks.count.HP_skill_attack_blow_unknown_post > 0) {
- void (*postHookFunc) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, int8 *dir);
+ void (*postHookFunc) (int *attack_type, struct block_list *src, struct block_list *dsrc, struct block_list *bl, uint16 *skill_id, uint16 *skill_lv, int64 *tick, int *flag, int *type, struct Damage *dmg, int64 *damage, enum unit_dir *dir);
for (hIndex = 0; hIndex < HPMHooks.count.HP_skill_attack_blow_unknown_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_skill_attack_blow_unknown_post[hIndex].func;
postHookFunc(attack_type, src, dsrc, bl, skill_id, skill_lv, tick, flag, type, dmg, damage, dir);
@@ -80816,6 +83256,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) {
@@ -82088,33 +84555,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;
@@ -82196,14 +84636,14 @@ unsigned int HP_status_sc2scb_flag(sc_type sc) {
}
return retVal___;
}
-int HP_status_type2relevant_bl_types(int type) {
+int HP_status_get_sc_relevant_bl_types(sc_type type) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_status_type2relevant_bl_types_pre > 0) {
- int (*preHookFunc) (int *type);
+ if (HPMHooks.count.HP_status_get_sc_relevant_bl_types_pre > 0) {
+ int (*preHookFunc) (sc_type *type);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_type2relevant_bl_types_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_status_type2relevant_bl_types_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_sc_relevant_bl_types_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_get_sc_relevant_bl_types_pre[hIndex].func;
retVal___ = preHookFunc(&type);
}
if (*HPMforce_return) {
@@ -82212,12 +84652,12 @@ int HP_status_type2relevant_bl_types(int type) {
}
}
{
- retVal___ = HPMHooks.source.status.type2relevant_bl_types(type);
+ retVal___ = HPMHooks.source.status.get_sc_relevant_bl_types(type);
}
- if (HPMHooks.count.HP_status_type2relevant_bl_types_post > 0) {
- int (*postHookFunc) (int retVal___, int type);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_type2relevant_bl_types_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_status_type2relevant_bl_types_post[hIndex].func;
+ if (HPMHooks.count.HP_status_get_sc_relevant_bl_types_post > 0) {
+ int (*postHookFunc) (int retVal___, sc_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_sc_relevant_bl_types_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_get_sc_relevant_bl_types_post[hIndex].func;
retVal___ = postHookFunc(retVal___, type);
}
}
@@ -82250,6 +84690,33 @@ int HP_status_get_sc_type(sc_type idx) {
}
return retVal___;
}
+int HP_status_get_sc_icon(sc_type type) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_status_get_sc_icon_pre > 0) {
+ int (*preHookFunc) (sc_type *type);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_sc_icon_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_get_sc_icon_pre[hIndex].func;
+ retVal___ = preHookFunc(&type);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.status.get_sc_icon(type);
+ }
+ if (HPMHooks.count.HP_status_get_sc_icon_post > 0) {
+ int (*postHookFunc) (int retVal___, sc_type type);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_get_sc_icon_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_get_sc_icon_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, type);
+ }
+ }
+ return retVal___;
+}
int HP_status_damage(struct block_list *src, struct block_list *target, int64 hp, int64 sp, int walkdelay, int flag) {
int hIndex = 0;
int retVal___ = 0;
@@ -83058,6 +85525,33 @@ int HP_status_change_start(struct block_list *src, struct block_list *bl, enum s
}
return retVal___;
}
+int HP_status_change_start_sub(struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int total_tick, int flag) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_status_change_start_sub_pre > 0) {
+ int (*preHookFunc) (struct block_list **src, struct block_list **bl, enum sc_type *type, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *total_tick, int *flag);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_change_start_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_change_start_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&src, &bl, &type, &rate, &val1, &val2, &val3, &val4, &tick, &total_tick, &flag);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.status.change_start_sub(src, bl, type, rate, val1, val2, val3, val4, tick, total_tick, flag);
+ }
+ if (HPMHooks.count.HP_status_change_start_sub_post > 0) {
+ int (*postHookFunc) (int retVal___, struct block_list *src, struct block_list *bl, enum sc_type type, int rate, int val1, int val2, int val3, int val4, int tick, int total_tick, int flag);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_change_start_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_change_start_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, src, bl, type, rate, val1, val2, val3, val4, tick, total_tick, flag);
+ }
+ }
+ return retVal___;
+}
int HP_status_change_end_(struct block_list *bl, enum sc_type type, int tid, const char *file, int line) {
int hIndex = 0;
int retVal___ = 0;
@@ -83272,15 +85766,15 @@ void HP_status_change_start_display(struct map_session_data *sd, enum sc_type ty
}
return;
}
-bool HP_status_change_start_unknown_sc(struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int tick, int flag) {
+bool HP_status_change_start_unknown_sc(struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int total_tick, int flag) {
int hIndex = 0;
bool retVal___ = false;
if (HPMHooks.count.HP_status_change_start_unknown_sc_pre > 0) {
- bool (*preHookFunc) (struct block_list **src, struct block_list **bl, enum sc_type *type, int *calc_flag, int *rate, int *val1, int *val2, int *val3, int *val4, int *tick, int *flag);
+ bool (*preHookFunc) (struct block_list **src, struct block_list **bl, enum sc_type *type, int *calc_flag, int *rate, int *val1, int *val2, int *val3, int *val4, int *total_tick, int *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_change_start_unknown_sc_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_change_start_unknown_sc_pre[hIndex].func;
- retVal___ = preHookFunc(&src, &bl, &type, &calc_flag, &rate, &val1, &val2, &val3, &val4, &tick, &flag);
+ retVal___ = preHookFunc(&src, &bl, &type, &calc_flag, &rate, &val1, &val2, &val3, &val4, &total_tick, &flag);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -83288,13 +85782,13 @@ bool HP_status_change_start_unknown_sc(struct block_list *src, struct block_list
}
}
{
- retVal___ = HPMHooks.source.status.change_start_unknown_sc(src, bl, type, calc_flag, rate, val1, val2, val3, val4, tick, flag);
+ retVal___ = HPMHooks.source.status.change_start_unknown_sc(src, bl, type, calc_flag, rate, val1, val2, val3, val4, total_tick, flag);
}
if (HPMHooks.count.HP_status_change_start_unknown_sc_post > 0) {
- bool (*postHookFunc) (bool retVal___, struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int tick, int flag);
+ bool (*postHookFunc) (bool retVal___, struct block_list *src, struct block_list *bl, enum sc_type type, int calc_flag, int rate, int val1, int val2, int val3, int val4, int total_tick, int flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_change_start_unknown_sc_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_change_start_unknown_sc_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, src, bl, type, calc_flag, rate, val1, val2, val3, val4, tick, flag);
+ retVal___ = postHookFunc(retVal___, src, bl, type, calc_flag, rate, val1, val2, val3, val4, total_tick, flag);
}
}
return retVal___;
@@ -83947,11 +86441,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;
@@ -83966,7 +86460,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);
@@ -83974,11 +86468,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;
@@ -83993,7 +86487,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);
@@ -84241,11 +86735,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;
@@ -84260,7 +86754,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);
@@ -84565,11 +87059,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;
@@ -84584,7 +87078,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);
@@ -84592,11 +87086,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;
@@ -84611,7 +87105,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);
@@ -84619,11 +87113,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;
@@ -84638,7 +87132,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);
@@ -84646,11 +87140,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;
@@ -84665,7 +87159,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);
@@ -84673,11 +87167,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;
@@ -84692,7 +87186,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);
@@ -84700,11 +87194,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;
@@ -84719,7 +87213,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);
@@ -84997,11 +87491,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;
@@ -85016,7 +87510,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);
@@ -85216,15 +87710,15 @@ bool HP_status_readdb_sizefix(char *fields[], int columns, int current) {
}
return retVal___;
}
-int HP_status_readdb_refine_libconfig(const char *filename) {
+bool HP_status_read_scdb_libconfig(void) {
int hIndex = 0;
- int retVal___ = 0;
- if (HPMHooks.count.HP_status_readdb_refine_libconfig_pre > 0) {
- int (*preHookFunc) (const char **filename);
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_status_read_scdb_libconfig_pre > 0) {
+ bool (*preHookFunc) (void);
*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);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_read_scdb_libconfig_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_read_scdb_libconfig_pre[hIndex].func;
+ retVal___ = preHookFunc();
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -85232,26 +87726,26 @@ int HP_status_readdb_refine_libconfig(const char *filename) {
}
}
{
- retVal___ = HPMHooks.source.status.readdb_refine_libconfig(filename);
+ retVal___ = HPMHooks.source.status.read_scdb_libconfig();
}
- 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);
+ if (HPMHooks.count.HP_status_read_scdb_libconfig_post > 0) {
+ bool (*postHookFunc) (bool retVal___);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_read_scdb_libconfig_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_read_scdb_libconfig_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___);
}
}
return retVal___;
}
-int HP_status_readdb_refine_libconfig_sub(struct config_setting_t *r, const char *name, const char *source) {
+bool HP_status_read_scdb_libconfig_sub(struct config_setting_t *it, int idx, 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);
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_status_read_scdb_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_status_readdb_refine_libconfig_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_status_readdb_refine_libconfig_sub_pre[hIndex].func;
- retVal___ = preHookFunc(&r, &name, &source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_read_scdb_libconfig_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_read_scdb_libconfig_sub_pre[hIndex].func;
+ retVal___ = preHookFunc(&it, &idx, &source);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -85259,26 +87753,26 @@ int HP_status_readdb_refine_libconfig_sub(struct config_setting_t *r, const char
}
}
{
- retVal___ = HPMHooks.source.status.readdb_refine_libconfig_sub(r, name, source);
+ retVal___ = HPMHooks.source.status.read_scdb_libconfig_sub(it, idx, 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);
+ if (HPMHooks.count.HP_status_read_scdb_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_status_read_scdb_libconfig_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_read_scdb_libconfig_sub_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, it, idx, source);
}
}
return retVal___;
}
-bool HP_status_readdb_scconfig(char *fields[], int columns, int current) {
+bool HP_status_read_scdb_libconfig_sub_flag(struct config_setting_t *it, int type, const char *source) {
int hIndex = 0;
bool retVal___ = false;
- if (HPMHooks.count.HP_status_readdb_scconfig_pre > 0) {
- bool (*preHookFunc) (char **fields[], int *columns, int *current);
+ if (HPMHooks.count.HP_status_read_scdb_libconfig_sub_flag_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **it, int *type, const char **source);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_readdb_scconfig_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_status_readdb_scconfig_pre[hIndex].func;
- retVal___ = preHookFunc(&fields, &columns, &current);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_read_scdb_libconfig_sub_flag_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_read_scdb_libconfig_sub_flag_pre[hIndex].func;
+ retVal___ = preHookFunc(&it, &type, &source);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -85286,13 +87780,40 @@ bool HP_status_readdb_scconfig(char *fields[], int columns, int current) {
}
}
{
- retVal___ = HPMHooks.source.status.readdb_scconfig(fields, columns, current);
+ retVal___ = HPMHooks.source.status.read_scdb_libconfig_sub_flag(it, type, source);
}
- if (HPMHooks.count.HP_status_readdb_scconfig_post > 0) {
- bool (*postHookFunc) (bool retVal___, char *fields[], int columns, int current);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_status_readdb_scconfig_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_status_readdb_scconfig_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, fields, columns, current);
+ if (HPMHooks.count.HP_status_read_scdb_libconfig_sub_flag_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *it, int type, const char *source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_read_scdb_libconfig_sub_flag_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_read_scdb_libconfig_sub_flag_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, it, type, source);
+ }
+ }
+ return retVal___;
+}
+bool HP_status_read_scdb_libconfig_sub_flag_additional(struct config_setting_t *it, int type, const char *source) {
+ int hIndex = 0;
+ bool retVal___ = false;
+ if (HPMHooks.count.HP_status_read_scdb_libconfig_sub_flag_additional_pre > 0) {
+ bool (*preHookFunc) (struct config_setting_t **it, int *type, const char **source);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_read_scdb_libconfig_sub_flag_additional_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_status_read_scdb_libconfig_sub_flag_additional_pre[hIndex].func;
+ retVal___ = preHookFunc(&it, &type, &source);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.status.read_scdb_libconfig_sub_flag_additional(it, type, source);
+ }
+ if (HPMHooks.count.HP_status_read_scdb_libconfig_sub_flag_additional_post > 0) {
+ bool (*postHookFunc) (bool retVal___, struct config_setting_t *it, int type, const char *source);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_status_read_scdb_libconfig_sub_flag_additional_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_status_read_scdb_libconfig_sub_flag_additional_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, it, type, source);
}
}
return retVal___;
@@ -85349,14 +87870,14 @@ void HP_status_read_job_db_sub(int idx, const char *name, struct config_setting_
}
return;
}
-void HP_status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int flag) {
+void HP_status_set_sc(uint16 skill_id, sc_type sc, unsigned int flag) {
int hIndex = 0;
if (HPMHooks.count.HP_status_set_sc_pre > 0) {
- void (*preHookFunc) (uint16 *skill_id, sc_type *sc, int *icon, unsigned int *flag);
+ void (*preHookFunc) (uint16 *skill_id, sc_type *sc, unsigned int *flag);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_sc_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_status_set_sc_pre[hIndex].func;
- preHookFunc(&skill_id, &sc, &icon, &flag);
+ preHookFunc(&skill_id, &sc, &flag);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -85364,13 +87885,13 @@ void HP_status_set_sc(uint16 skill_id, sc_type sc, int icon, unsigned int flag)
}
}
{
- HPMHooks.source.status.set_sc(skill_id, sc, icon, flag);
+ HPMHooks.source.status.set_sc(skill_id, sc, flag);
}
if (HPMHooks.count.HP_status_set_sc_post > 0) {
- void (*postHookFunc) (uint16 skill_id, sc_type sc, int icon, unsigned int flag);
+ void (*postHookFunc) (uint16 skill_id, sc_type sc, unsigned int flag);
for (hIndex = 0; hIndex < HPMHooks.count.HP_status_set_sc_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_status_set_sc_post[hIndex].func;
- postHookFunc(skill_id, sc, icon, flag);
+ postHookFunc(skill_id, sc, flag);
}
}
return;
@@ -85401,11 +87922,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;
@@ -85420,7 +87941,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);
@@ -85428,11 +87949,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;
@@ -85447,7 +87968,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);
@@ -86488,6 +89009,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;
@@ -88124,6 +90883,33 @@ struct unit_data* HP_unit_bl2ud(struct block_list *bl) {
}
return retVal___;
}
+const struct unit_data* HP_unit_cbl2ud(const struct block_list *bl) {
+ int hIndex = 0;
+ const struct unit_data* retVal___ = NULL;
+ if (HPMHooks.count.HP_unit_cbl2ud_pre > 0) {
+ const struct unit_data* (*preHookFunc) (const struct block_list **bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_cbl2ud_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_cbl2ud_pre[hIndex].func;
+ retVal___ = preHookFunc(&bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.unit.cbl2ud(bl);
+ }
+ if (HPMHooks.count.HP_unit_cbl2ud_post > 0) {
+ const struct unit_data* (*postHookFunc) (const struct unit_data* retVal___, const struct block_list *bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_cbl2ud_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_cbl2ud_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, bl);
+ }
+ }
+ return retVal___;
+}
struct unit_data* HP_unit_bl2ud2(struct block_list *bl) {
int hIndex = 0;
struct unit_data* retVal___ = NULL;
@@ -88204,14 +90990,14 @@ int HP_unit_attack_timer(int tid, int64 tick, int id, intptr_t data) {
}
return retVal___;
}
-int HP_unit_walktoxy_timer(int tid, int64 tick, int id, intptr_t data) {
+int HP_unit_walk_toxy_timer(int tid, int64 tick, int id, intptr_t data) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_unit_walktoxy_timer_pre > 0) {
+ if (HPMHooks.count.HP_unit_walk_toxy_timer_pre > 0) {
int (*preHookFunc) (int *tid, int64 *tick, int *id, intptr_t *data);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktoxy_timer_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_unit_walktoxy_timer_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walk_toxy_timer_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_walk_toxy_timer_pre[hIndex].func;
retVal___ = preHookFunc(&tid, &tick, &id, &data);
}
if (*HPMforce_return) {
@@ -88220,25 +91006,25 @@ int HP_unit_walktoxy_timer(int tid, int64 tick, int id, intptr_t data) {
}
}
{
- retVal___ = HPMHooks.source.unit.walktoxy_timer(tid, tick, id, data);
+ retVal___ = HPMHooks.source.unit.walk_toxy_timer(tid, tick, id, data);
}
- if (HPMHooks.count.HP_unit_walktoxy_timer_post > 0) {
+ if (HPMHooks.count.HP_unit_walk_toxy_timer_post > 0) {
int (*postHookFunc) (int retVal___, int tid, int64 tick, int id, intptr_t data);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktoxy_timer_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_unit_walktoxy_timer_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walk_toxy_timer_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_walk_toxy_timer_post[hIndex].func;
retVal___ = postHookFunc(retVal___, tid, tick, id, data);
}
}
return retVal___;
}
-int HP_unit_walktoxy_sub(struct block_list *bl) {
+int HP_unit_walk_toxy_sub(struct block_list *bl) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_unit_walktoxy_sub_pre > 0) {
+ if (HPMHooks.count.HP_unit_walk_toxy_sub_pre > 0) {
int (*preHookFunc) (struct block_list **bl);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktoxy_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_unit_walktoxy_sub_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walk_toxy_sub_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_walk_toxy_sub_pre[hIndex].func;
retVal___ = preHookFunc(&bl);
}
if (*HPMforce_return) {
@@ -88247,25 +91033,25 @@ int HP_unit_walktoxy_sub(struct block_list *bl) {
}
}
{
- retVal___ = HPMHooks.source.unit.walktoxy_sub(bl);
+ retVal___ = HPMHooks.source.unit.walk_toxy_sub(bl);
}
- if (HPMHooks.count.HP_unit_walktoxy_sub_post > 0) {
+ if (HPMHooks.count.HP_unit_walk_toxy_sub_post > 0) {
int (*postHookFunc) (int retVal___, struct block_list *bl);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktoxy_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_unit_walktoxy_sub_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walk_toxy_sub_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_walk_toxy_sub_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl);
}
}
return retVal___;
}
-int HP_unit_delay_walktoxy_timer(int tid, int64 tick, int id, intptr_t data) {
+int HP_unit_delay_walk_toxy_timer(int tid, int64 tick, int id, intptr_t data) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_unit_delay_walktoxy_timer_pre > 0) {
+ if (HPMHooks.count.HP_unit_delay_walk_toxy_timer_pre > 0) {
int (*preHookFunc) (int *tid, int64 *tick, int *id, intptr_t *data);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_delay_walktoxy_timer_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_unit_delay_walktoxy_timer_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_delay_walk_toxy_timer_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_delay_walk_toxy_timer_pre[hIndex].func;
retVal___ = preHookFunc(&tid, &tick, &id, &data);
}
if (*HPMforce_return) {
@@ -88274,25 +91060,25 @@ int HP_unit_delay_walktoxy_timer(int tid, int64 tick, int id, intptr_t data) {
}
}
{
- retVal___ = HPMHooks.source.unit.delay_walktoxy_timer(tid, tick, id, data);
+ retVal___ = HPMHooks.source.unit.delay_walk_toxy_timer(tid, tick, id, data);
}
- if (HPMHooks.count.HP_unit_delay_walktoxy_timer_post > 0) {
+ if (HPMHooks.count.HP_unit_delay_walk_toxy_timer_post > 0) {
int (*postHookFunc) (int retVal___, int tid, int64 tick, int id, intptr_t data);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_delay_walktoxy_timer_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_unit_delay_walktoxy_timer_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_delay_walk_toxy_timer_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_delay_walk_toxy_timer_post[hIndex].func;
retVal___ = postHookFunc(retVal___, tid, tick, id, data);
}
}
return retVal___;
}
-int HP_unit_walktoxy(struct block_list *bl, short x, short y, int flag) {
+int HP_unit_walk_toxy(struct block_list *bl, short x, short y, int flag) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_unit_walktoxy_pre > 0) {
+ if (HPMHooks.count.HP_unit_walk_toxy_pre > 0) {
int (*preHookFunc) (struct block_list **bl, short *x, short *y, int *flag);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktoxy_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_unit_walktoxy_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walk_toxy_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_walk_toxy_pre[hIndex].func;
retVal___ = preHookFunc(&bl, &x, &y, &flag);
}
if (*HPMforce_return) {
@@ -88301,25 +91087,25 @@ int HP_unit_walktoxy(struct block_list *bl, short x, short y, int flag) {
}
}
{
- retVal___ = HPMHooks.source.unit.walktoxy(bl, x, y, flag);
+ retVal___ = HPMHooks.source.unit.walk_toxy(bl, x, y, flag);
}
- if (HPMHooks.count.HP_unit_walktoxy_post > 0) {
+ if (HPMHooks.count.HP_unit_walk_toxy_post > 0) {
int (*postHookFunc) (int retVal___, struct block_list *bl, short x, short y, int flag);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktoxy_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_unit_walktoxy_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walk_toxy_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_walk_toxy_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, x, y, flag);
}
}
return retVal___;
}
-int HP_unit_walktobl_sub(int tid, int64 tick, int id, intptr_t data) {
+int HP_unit_walktobl_timer(int tid, int64 tick, int id, intptr_t data) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_unit_walktobl_sub_pre > 0) {
+ if (HPMHooks.count.HP_unit_walktobl_timer_pre > 0) {
int (*preHookFunc) (int *tid, int64 *tick, int *id, intptr_t *data);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktobl_sub_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_unit_walktobl_sub_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktobl_timer_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_walktobl_timer_pre[hIndex].func;
retVal___ = preHookFunc(&tid, &tick, &id, &data);
}
if (*HPMforce_return) {
@@ -88328,12 +91114,12 @@ int HP_unit_walktobl_sub(int tid, int64 tick, int id, intptr_t data) {
}
}
{
- retVal___ = HPMHooks.source.unit.walktobl_sub(tid, tick, id, data);
+ retVal___ = HPMHooks.source.unit.walktobl_timer(tid, tick, id, data);
}
- if (HPMHooks.count.HP_unit_walktobl_sub_post > 0) {
+ if (HPMHooks.count.HP_unit_walktobl_timer_post > 0) {
int (*postHookFunc) (int retVal___, int tid, int64 tick, int id, intptr_t data);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktobl_sub_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_unit_walktobl_sub_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_walktobl_timer_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_walktobl_timer_post[hIndex].func;
retVal___ = postHookFunc(retVal___, tid, tick, id, data);
}
}
@@ -88473,14 +91259,14 @@ int HP_unit_movepos(struct block_list *bl, short dst_x, short dst_y, int easy, b
}
return retVal___;
}
-int HP_unit_setdir(struct block_list *bl, unsigned char dir) {
+int HP_unit_set_dir(struct block_list *bl, enum unit_dir dir) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_unit_setdir_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, unsigned char *dir);
+ if (HPMHooks.count.HP_unit_set_dir_pre > 0) {
+ int (*preHookFunc) (struct block_list **bl, enum unit_dir *dir);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_setdir_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_unit_setdir_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_set_dir_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_set_dir_pre[hIndex].func;
retVal___ = preHookFunc(&bl, &dir);
}
if (*HPMforce_return) {
@@ -88489,22 +91275,22 @@ int HP_unit_setdir(struct block_list *bl, unsigned char dir) {
}
}
{
- retVal___ = HPMHooks.source.unit.setdir(bl, dir);
+ retVal___ = HPMHooks.source.unit.set_dir(bl, dir);
}
- if (HPMHooks.count.HP_unit_setdir_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, unsigned char dir);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_setdir_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_unit_setdir_post[hIndex].func;
+ if (HPMHooks.count.HP_unit_set_dir_post > 0) {
+ int (*postHookFunc) (int retVal___, struct block_list *bl, enum unit_dir dir);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_set_dir_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_set_dir_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, dir);
}
}
return retVal___;
}
-uint8 HP_unit_getdir(struct block_list *bl) {
+enum unit_dir HP_unit_getdir(const struct block_list *bl) {
int hIndex = 0;
- uint8 retVal___ = 0;
+ enum unit_dir retVal___ = UNIT_DIR_UNDEFINED;
if (HPMHooks.count.HP_unit_getdir_pre > 0) {
- uint8 (*preHookFunc) (struct block_list **bl);
+ enum unit_dir (*preHookFunc) (const struct block_list **bl);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_getdir_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_getdir_pre[hIndex].func;
@@ -88519,7 +91305,7 @@ uint8 HP_unit_getdir(struct block_list *bl) {
retVal___ = HPMHooks.source.unit.getdir(bl);
}
if (HPMHooks.count.HP_unit_getdir_post > 0) {
- uint8 (*postHookFunc) (uint8 retVal___, struct block_list *bl);
+ enum unit_dir (*postHookFunc) (enum unit_dir retVal___, const struct block_list *bl);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_getdir_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_getdir_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl);
@@ -88581,6 +91367,33 @@ int HP_unit_warp(struct block_list *bl, short m, short x, short y, enum clr_type
}
return retVal___;
}
+int HP_unit_warpto_master(struct block_list *master_bl, struct block_list *slave_bl) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_unit_warpto_master_pre > 0) {
+ int (*preHookFunc) (struct block_list **master_bl, struct block_list **slave_bl);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_warpto_master_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_warpto_master_pre[hIndex].func;
+ retVal___ = preHookFunc(&master_bl, &slave_bl);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.unit.warpto_master(master_bl, slave_bl);
+ }
+ if (HPMHooks.count.HP_unit_warpto_master_post > 0) {
+ int (*postHookFunc) (int retVal___, struct block_list *master_bl, struct block_list *slave_bl);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_warpto_master_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_warpto_master_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, master_bl, slave_bl);
+ }
+ }
+ return retVal___;
+}
int HP_unit_stop_walking(struct block_list *bl, int type) {
int hIndex = 0;
int retVal___ = 0;
@@ -88635,14 +91448,14 @@ int HP_unit_skilluse_id(struct block_list *src, int target_id, uint16 skill_id,
}
return retVal___;
}
-int HP_unit_step_timer(int tid, int64 tick, int id, intptr_t data) {
+int HP_unit_steptimer(int tid, int64 tick, int id, intptr_t data) {
int hIndex = 0;
int retVal___ = 0;
- if (HPMHooks.count.HP_unit_step_timer_pre > 0) {
+ if (HPMHooks.count.HP_unit_steptimer_pre > 0) {
int (*preHookFunc) (int *tid, int64 *tick, int *id, intptr_t *data);
*HPMforce_return = false;
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_step_timer_pre; hIndex++) {
- preHookFunc = HPMHooks.list.HP_unit_step_timer_pre[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_steptimer_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_unit_steptimer_pre[hIndex].func;
retVal___ = preHookFunc(&tid, &tick, &id, &data);
}
if (*HPMforce_return) {
@@ -88651,12 +91464,12 @@ int HP_unit_step_timer(int tid, int64 tick, int id, intptr_t data) {
}
}
{
- retVal___ = HPMHooks.source.unit.step_timer(tid, tick, id, data);
+ retVal___ = HPMHooks.source.unit.steptimer(tid, tick, id, data);
}
- if (HPMHooks.count.HP_unit_step_timer_post > 0) {
+ if (HPMHooks.count.HP_unit_steptimer_post > 0) {
int (*postHookFunc) (int retVal___, int tid, int64 tick, int id, intptr_t data);
- for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_step_timer_post; hIndex++) {
- postHookFunc = HPMHooks.list.HP_unit_step_timer_post[hIndex].func;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_steptimer_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_unit_steptimer_post[hIndex].func;
retVal___ = postHookFunc(retVal___, tid, tick, id, data);
}
}
@@ -89065,11 +91878,11 @@ bool HP_unit_can_reach_bl(struct block_list *bl, struct block_list *tbl, int ran
}
return retVal___;
}
-int HP_unit_calc_pos(struct block_list *bl, int tx, int ty, uint8 dir) {
+int HP_unit_calc_pos(struct block_list *bl, int tx, int ty, enum unit_dir dir) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_unit_calc_pos_pre > 0) {
- int (*preHookFunc) (struct block_list **bl, int *tx, int *ty, uint8 *dir);
+ int (*preHookFunc) (struct block_list **bl, int *tx, int *ty, enum unit_dir *dir);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_calc_pos_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_unit_calc_pos_pre[hIndex].func;
@@ -89084,7 +91897,7 @@ int HP_unit_calc_pos(struct block_list *bl, int tx, int ty, uint8 dir) {
retVal___ = HPMHooks.source.unit.calc_pos(bl, tx, ty, dir);
}
if (HPMHooks.count.HP_unit_calc_pos_post > 0) {
- int (*postHookFunc) (int retVal___, struct block_list *bl, int tx, int ty, uint8 dir);
+ int (*postHookFunc) (int retVal___, struct block_list *bl, int tx, int ty, enum unit_dir dir);
for (hIndex = 0; hIndex < HPMHooks.count.HP_unit_calc_pos_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_unit_calc_pos_post[hIndex].func;
retVal___ = postHookFunc(retVal___, bl, tx, ty, dir);
diff --git a/src/plugins/HPMHooking/HPMHooking_map.sources.inc b/src/plugins/HPMHooking/HPMHooking_map.sources.inc
index 7a3c5b9a7..e49a6b166 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-2019 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -73,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;
@@ -85,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/Makefile.in b/src/plugins/Makefile.in
index e90a04f8b..e44412bfa 100644
--- a/src/plugins/Makefile.in
+++ b/src/plugins/Makefile.in
@@ -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-2020 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
@@ -103,7 +103,7 @@ Makefile: Makefile.in
../../plugins/%@DLLEXT@: %.c $(ALL_H) $$(shell ls %/* 2>/dev/null)
@echo " CC $<"
- @$(CC) $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @PLUGINSTATIC@ @DEFS@ @CFLAGS@ @CPPFLAGS@ @LDFLAGS@ @SOFLAGS@ -o $@ $<
+ @$(CC) $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @PLUGINSTATIC@ @DEFS@ @CFLAGS@ @CPPFLAGS@ @LDFLAGS@ @SOFLAGS@ @LIBS@ @MYSQL_LIBS@ -o $@ $<
../../plugins/HPMHooking_login@DLLEXT@: HPMHOOKINGTYPE = LOGIN
../../plugins/HPMHooking_char@DLLEXT@: HPMHOOKINGTYPE = CHAR
diff --git a/src/plugins/constdb2doc.c b/src/plugins/constdb2doc.c
index 3f681ea1a..5d01aa360 100644
--- a/src/plugins/constdb2doc.c
+++ b/src/plugins/constdb2doc.c
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016 Hercules Dev Team
- * Copyright (C) 2016 Haru <haru@dotalux.com>
+ * Copyright (C) 2016-2020 Hercules Dev Team
+ * Copyright (C) 2016 Haru <haru@dotalux.com>
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,7 +22,8 @@
/// db/constants.conf -> doc/constants.md generator plugin
#include "common/hercules.h"
-//#include "common/memmgr.h"
+#include "common/db.h"
+#include "common/memmgr.h"
#include "common/nullpo.h"
#include "common/strlib.h"
#include "map/itemdb.h"
@@ -143,17 +144,26 @@ struct item_data *constdb2doc_itemdb_search(int nameid)
void constdb2doc_itemdb(void)
{
- int i;
-
nullpo_retv(out_fp);
fprintf(out_fp, "## Items (db/"DBPATH"item_db.conf)\n");
- for (i = 0; i < ARRAYLENGTH(itemdb->array); i++) {
+ for (int i = 0; i < ARRAYLENGTH(itemdb->array); i++) {
struct item_data *id = constdb2doc_itemdb_search(i);
if (id == NULL || id->name[0] == '\0')
continue;
fprintf(out_fp, "- `%s`: %d\n", id->name, id->nameid);
}
+
+ if (db_size(itemdb->other) > 0) {
+ struct DBIterator *iter = db_iterator(itemdb->other);
+ for (struct item_data *itd = dbi_first(iter); dbi_exists(iter); itd = dbi_next(iter)) {
+ if (itd == &itemdb->dummy)
+ continue;
+ fprintf(out_fp, "- `%s`: %d\n", itd->name, itd->nameid);
+ }
+ dbi_destroy(iter);
+ }
+
fprintf(out_fp, "\n");
}
diff --git a/src/plugins/db2sql.c b/src/plugins/db2sql.c
index 2ece501b2..6ca52a593 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-2018 Hercules Dev Team
+ * Copyright (C) 2013-2020 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
@@ -104,7 +104,7 @@ void db2sql_fileheader(void)
"-- This file is part of Hercules.\n"
"-- http://herc.ws - http://github.com/HerculesWS/Hercules\n"
"--\n"
- "-- Copyright (C) 2013-%d Hercules Dev Team\n"
+ "-- Copyright (C) 2013-%d Hercules Dev Team\n"
"--\n"
"-- Hercules is free software: you can redistribute it and/or modify\n"
"-- it under the terms of the GNU General Public License as published by\n"
@@ -956,6 +956,7 @@ bool mobskilldb2sql_sub(struct config_setting_t *it, int n, int mob_id)
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);
@@ -966,7 +967,8 @@ bool mobskilldb2sql_sub(struct config_setting_t *it, int n, int mob_id)
StrBuf->Printf(&buf, "%d,", mob_id);
// Info
- StrBuf->Printf(&buf, "'%s@%s',", md->name, name);
+ 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);
diff --git a/src/plugins/dbghelpplug.c b/src/plugins/dbghelpplug.c
index b68bb1efc..ab6b5fc76 100644
--- a/src/plugins/dbghelpplug.c
+++ b/src/plugins/dbghelpplug.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/src/plugins/generate-translations.c b/src/plugins/generate-translations.c
index 759e788a2..7aeae0c96 100644
--- a/src/plugins/generate-translations.c
+++ b/src/plugins/generate-translations.c
@@ -2,7 +2,7 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2016 Hercules Dev Team
+ * Copyright (C) 2016-2020 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
@@ -22,11 +22,13 @@
#include "common/hercules.h"
#include "common/cbasetypes.h"
#include "common/memmgr.h"
+#include "common/nullpo.h"
#include "common/showmsg.h"
#include "common/strlib.h"
#include "common/sysinfo.h"
#include "map/atcommand.h"
#include "map/map.h"
+#include "map/npc.h"
#include "map/script.h"
#include "plugins/HPMHooking.h"
@@ -34,6 +36,8 @@
#include <stdio.h>
#include <stdlib.h>
+#include <sys/stat.h>
+#include <time.h>
HPExport struct hplugin_info pinfo = {
"generate-translations", // Plugin name
@@ -45,14 +49,33 @@ HPExport struct hplugin_info pinfo = {
struct DBMap *translatable_strings; // string map parsed (used when exporting strings only)
/* Set during startup when attempting to export the lang, unset after server initialization is over */
FILE *lang_export_fp;
-char *lang_export_file;/* for lang_export_fp */
+char *lang_export_filepath;
+#define DIRECTORYNAME "generated_translations"
struct script_string_buf lang_export_line_buf;
struct script_string_buf lang_export_escaped_buf;
-int lang_export_stringcount;
+int lang_export_stringcount_total;
+int lang_export_stringcount_current;
/// Whether the translations template generator will automatically run.
bool generating_translations = false;
+bool createdirectory(const char *dirname)
+{
+#ifdef WIN32
+ if (!CreateDirectory(dirname, NULL)) {
+ if (ERROR_ALREADY_EXISTS != GetLastError())
+ return false;
+ }
+#else /* Not WIN32 */
+ struct stat st = { 0 };
+ if (stat(dirname, &st) == -1 ) {
+ if (mkdir(dirname, 0755) != 0)
+ return false;
+ }
+#endif // WIN32 check
+ return true;
+}
+
/**
* --generate-translations
*
@@ -61,49 +84,9 @@ bool generating_translations = false;
*/
CMDLINEARG(generatetranslations)
{
- lang_export_file = aStrdup("./generated_translations.pot");
-
- if ((lang_export_fp = fopen(lang_export_file, "wb")) == NULL) {
- ShowError("export-dialog: failed to open '%s' for writing\n", lang_export_file);
- } else {
- time_t t = time(NULL);
- struct tm *lt = localtime(&t);
- int year = lt->tm_year+1900;
- char timestring[128] = "";
- strftime(timestring, sizeof(timestring), "%Y-%m-%d %H:%M:%S%z", lt);
- fprintf(lang_export_fp,
- "# This file is part of Hercules.\n"
- "# http://herc.ws - http://github.com/HerculesWS/Hercules\n"
- "#\n"
- "# Copyright (C) 2013-%d Hercules Dev Team\n"
- "#\n"
- "# Hercules is free software: you can redistribute it and/or modify\n"
- "# it under the terms of the GNU General Public License as published by\n"
- "# the Free Software Foundation, either version 3 of the License, or\n"
- "# (at your option) any later version.\n"
- "#\n"
- "# This program is distributed in the hope that it will be useful,\n"
- "# but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
- "# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
- "# GNU General Public License for more details.\n"
- "#\n"
- "# You should have received a copy of the GNU General Public License\n"
- "# along with this program. If not, see <http://www.gnu.org/licenses/>.\n\n"
-
- "#,fuzzy\n"
- "msgid \"\"\n"
- "msgstr \"\"\n"
- "\"Project-Id-Version: %s\\n\"\n"
- "\"Report-Msgid-Bugs-To: dev@herc.ws\\n\"\n"
- "\"POT-Creation-Date: %s\\n\"\n"
- "\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n"
- "\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n"
- "\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n"
- "\"Language: \\n\"\n"
- "\"MIME-Version: 1.0\\n\"\n"
- "\"Content-Type: text/plain; charset=ISO-8859-1\\n\"\n"
- "\"Content-Transfer-Encoding: 8bit\\n\"\n\n",
- year, sysinfo->vcsrevision_scripts(), timestring);
+ if (!createdirectory(DIRECTORYNAME)) {
+ ShowError("generatetranslations: Unable to create output directory '%s'.\n", DIRECTORYNAME);
+ return false;
}
generating_translations = true;
return true;
@@ -188,7 +171,8 @@ void script_add_translatable_string_posthook(const struct script_string_buf *str
script->parser_current_npc_name ? script->parser_current_npc_name : "Unknown NPC",
VECTOR_DATA(lang_export_escaped_buf)
);
- lang_export_stringcount++;
+ lang_export_stringcount_total++;
+ lang_export_stringcount_current++;
VECTOR_TRUNCATE(lang_export_line_buf);
VECTOR_TRUNCATE(lang_export_escaped_buf);
}
@@ -214,44 +198,184 @@ void script_parser_clean_leftovers_posthook(void)
VECTOR_CLEAR(lang_export_escaped_buf);
}
+bool translations_enter_file(const char *filepath)
+{
+ const char *p = NULL;
+ int len, i;
+
+ if (!generating_translations)
+ return false;
+
+ p = filepath;
+ len = (int)strlen(filepath) + (int)strlen(DIRECTORYNAME) + (int)strlen(PATHSEP_STR);
+ lang_export_filepath = aCalloc(len + 4 + 1, sizeof(char)); // + ".pot"
+ strncat(lang_export_filepath, DIRECTORYNAME PATHSEP_STR, len);
+ lang_export_stringcount_current = 0;
+
+ i = (int)strlen(lang_export_filepath);
+ while (*p != '\0') {
+ if (Assert_chk(i < len)) {
+ aFree(lang_export_filepath);
+ lang_export_filepath = NULL;
+ return false;
+ }
+ if (*p == '.') {
+ lang_export_filepath[i] = '_';
+ } else if (*p == PATHSEP) {
+ if (!createdirectory(lang_export_filepath)) {
+ ShowError("generatetranslations: Unable to create output directory '%s'.\n", lang_export_filepath);
+ aFree(lang_export_filepath);
+ lang_export_filepath = NULL;
+ return false;
+ }
+ lang_export_filepath[i] = PATHSEP;
+ } else {
+ lang_export_filepath[i] = *p;
+ }
+ i++;
+ p++;
+ }
+ strncat(lang_export_filepath, ".pot", len + 4);
+
+ if ((lang_export_fp = fopen(lang_export_filepath, "wb")) == NULL) {
+ ShowError("export-dialog: failed to open '%s' for writing\n", lang_export_filepath);
+ aFree(lang_export_filepath);
+ lang_export_filepath = NULL;
+ return false;
+ }
+
+ {
+ time_t t = time(NULL);
+ struct tm *lt = localtime(&t);
+ int year = lt->tm_year+1900;
+ char timestring[128] = "";
+ strftime(timestring, sizeof(timestring), "%Y-%m-%d %H:%M:%S%z", lt);
+ fprintf(lang_export_fp,
+ "# This file is part of Hercules.\n"
+ "# http://herc.ws - http://github.com/HerculesWS/Hercules\n"
+ "#\n"
+ "# Copyright (C) 2013-%d Hercules Dev Team\n"
+ "#\n"
+ "# Hercules is free software: you can redistribute it and/or modify\n"
+ "# it under the terms of the GNU General Public License as published by\n"
+ "# the Free Software Foundation, either version 3 of the License, or\n"
+ "# (at your option) any later version.\n"
+ "#\n"
+ "# This program is distributed in the hope that it will be useful,\n"
+ "# but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+ "# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
+ "# GNU General Public License for more details.\n"
+ "#\n"
+ "# You should have received a copy of the GNU General Public License\n"
+ "# along with this program. If not, see <http://www.gnu.org/licenses/>.\n\n"
+
+ "#,fuzzy\n"
+ "msgid \"\"\n"
+ "msgstr \"\"\n"
+ "\"Project-Id-Version: %s\\n\"\n"
+ "\"Report-Msgid-Bugs-To: dev@herc.ws\\n\"\n"
+ "\"POT-Creation-Date: %s\\n\"\n"
+ "\"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n\"\n"
+ "\"Last-Translator: FULL NAME <EMAIL@ADDRESS>\\n\"\n"
+ "\"Language-Team: LANGUAGE <LL@li.org>\\n\"\n"
+ "\"Language: \\n\"\n"
+ "\"MIME-Version: 1.0\\n\"\n"
+ "\"Content-Type: text/plain; charset=ISO-8859-1\\n\"\n"
+ "\"Content-Transfer-Encoding: 8bit\\n\"\n\n",
+ year, sysinfo->vcsrevision_scripts(), timestring);
+ }
+ return true;
+}
+
+bool translations_leave_file(const char *filepath)
+{
+ if (lang_export_fp != NULL) {
+ fclose(lang_export_fp);
+ lang_export_fp = NULL;
+ }
+ if (lang_export_filepath != NULL) {
+ if (lang_export_stringcount_current == 0) {
+ remove(lang_export_filepath);
+ } else {
+ ShowMessage("\r");
+ ShowInfo("%s => %s (%d strings)\n", filepath, lang_export_filepath, lang_export_stringcount_current);
+ }
+ aFree(lang_export_filepath);
+ lang_export_filepath = NULL;
+ }
+ lang_export_stringcount_current = 0;
+ return true;
+}
+
+bool msg_config_read_prehook(const char **cfg_name, bool *allow_override)
+{
+ if (*allow_override) // allow_override is true in nested calls
+ return false;
+
+ translations_enter_file(*cfg_name);
+ return true;
+}
+
bool msg_config_read_posthook(bool retVal, const char *cfg_name, bool allow_override)
{
- static int called = 1;
+ int i;
if (!generating_translations || lang_export_fp == NULL)
return retVal;
- if (!retVal)
+ if (allow_override) // allow_override is true in nested calls
return retVal;
- if (++called == 1) { // Original
- int i;
+ if (retVal) {
for (i = 0; i < MAX_MSG; i++) {
if (atcommand->msg_table[0][i] == NULL)
continue;
- fprintf(lang_export_fp, "msgctxt \"messages.conf\"\n"
+ fprintf(lang_export_fp, "\n#: conf/messages.conf\n"
+ "# %d: %s\n"
+ "#, c-format\n"
+ "msgctxt \"messages.conf\"\n"
"msgid \"%s\"\n"
"msgstr \"\"\n",
+ i, atcommand->msg_table[0][i],
atcommand->msg_table[0][i]
);
- lang_export_stringcount++;
+ lang_export_stringcount_total++;
+ lang_export_stringcount_current++;
}
}
+ translations_leave_file(cfg_name);
+
+ return retVal;
+}
+
+int npc_parsesrcfile_prehook(const char **filepath, bool *runOnInit)
+{
+ translations_enter_file(*filepath);
+ return 0;
+}
+
+int npc_parsesrcfile_posthook(int retVal, const char *filepath, bool runOnInit)
+{
+ translations_leave_file(filepath);
return retVal;
}
HPExport void server_preinit(void)
{
addArg("--generate-translations", false, generatetranslations,
- "Creates './generated_translations.pot' file with all translateable strings from scripts, server terminates afterwards.");
+ "Creates 'generated_translations/**/*.pot' file with all translateable strings from scripts, server terminates afterwards.");
VECTOR_INIT(lang_export_line_buf);
VECTOR_INIT(lang_export_escaped_buf);
addHookPost(script, add_translatable_string, script_add_translatable_string_posthook);
addHookPre(script, parse, parse_script_prehook);
addHookPost(script, parser_clean_leftovers, script_parser_clean_leftovers_posthook);
+ addHookPre(atcommand, msg_read, msg_config_read_prehook);
addHookPost(atcommand, msg_read, msg_config_read_posthook);
- lang_export_stringcount = 0;
+ addHookPre(npc, parsesrcfile, npc_parsesrcfile_prehook);
+ addHookPost(npc, parsesrcfile, npc_parsesrcfile_posthook);
+ lang_export_stringcount_total = 0;
+ lang_export_stringcount_current = 0;
}
HPExport void plugin_init(void)
@@ -260,18 +384,12 @@ HPExport void plugin_init(void)
HPExport void server_online(void)
{
- if (generating_translations && lang_export_fp != NULL) {
- ShowInfo("Translations template exported to '%s' with %d strings.\n", lang_export_file, lang_export_stringcount);
- fclose(lang_export_fp);
- lang_export_fp = NULL;
+ if (generating_translations) {
+ ShowInfo("Translations template exported to '%s' with %d strings.\n", DIRECTORYNAME, lang_export_stringcount_total);
}
core->runflag = CORE_ST_STOP;
}
HPExport void plugin_final(void)
{
- if (lang_export_file != NULL) {
- aFree(lang_export_file);
- lang_export_file = NULL;
- }
}
diff --git a/src/plugins/mapcache.c b/src/plugins/mapcache.c
index 5e44492f6..3dc6e3b34 100644
--- a/src/plugins/mapcache.c
+++ b/src/plugins/mapcache.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-2020 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
@@ -281,7 +281,28 @@ bool mapcache_cache_map(const char *mapname)
if (rsw == NULL) {
water_height = NO_WATER;
} else {
- water_height = (int)GetFloat(rsw + 166);
+ if (memcmp(rsw, "GRSW", 4) != 0) {
+ ShowError("mapcache_cache_map: file %s is not in rsw format\n", filepath);
+ aFree(rsw);
+ return false;
+ }
+ int major_version = rsw[4];
+ int minor_version = rsw[5];
+ if (major_version > 2 || (major_version == 2 && minor_version > 2)) {
+ ShowError("mapcache_cache_map: Unsupported version %d.%d for rsw file %s\n", major_version, minor_version, filepath);
+ aFree(rsw);
+ return false;
+ }
+ if (major_version < 1 || (major_version == 1 && minor_version <= 4)) {
+ ShowError("mapcache_cache_map: Unsupported version %d.%d for rsw file %s\n", major_version, minor_version, filepath);
+ aFree(rsw);
+ return false;
+ }
+ int offset = 166;
+ if (major_version == 2 && minor_version >= 2) {
+ offset = 167;
+ }
+ water_height = (int)GetFloat(rsw + offset);
aFree(rsw);
}
diff --git a/src/plugins/sample.c b/src/plugins/sample.c
index b37f7c4f7..41f9517b5 100644
--- a/src/plugins/sample.c
+++ b/src/plugins/sample.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-2020 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
@@ -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/plugins/script_mapquit.c b/src/plugins/script_mapquit.c
index b212ce1c6..af53dc00c 100644
--- a/src/plugins/script_mapquit.c
+++ b/src/plugins/script_mapquit.c
@@ -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-2020 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/src/test/Makefile.in b/src/test/Makefile.in
index 1bd86608f..91263c939 100644
--- a/src/test/Makefile.in
+++ b/src/test/Makefile.in
@@ -1,8 +1,8 @@
# 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
+# Copyright (C) 2012-2020 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
@@ -36,6 +36,19 @@ LIBCONFIG_OBJ = $(addprefix $(LIBCONFIG_D)/, libconfig.o grammar.o scanctx.o \
LIBCONFIG_H = $(addprefix $(LIBCONFIG_D)/, libconfig.h grammar.h parsectx.h \
scanctx.h scanner.h strbuf.h wincompat.h)
+ifeq (@USE_LIBBACKTRACE@,yes)
+ LIBBACKTRACE_D = $(THIRDPARTY_D)/libbacktrace
+ LIBBACKTRACE_OBJ = $(addprefix $(LIBBACKTRACE_D)/, atomic.o backtrace.o \
+ dwarf.o @LIBBACKTRACE_FORMAT_FILE@ fileline.o mmapio.o mmap.o posix.o print.o \
+ simple.o sort.o state.o)
+ LIBBACKTRACE_H = $(addprefix $(LIBBACKTRACE_D)/, backtrace.h \
+ backtrace-supported.h config.h filenames.h internal.h)
+else
+ LIBBACKTRACE_D =
+ LIBBACKTRACE_OBJ =
+ LIBBACKTRACE_H =
+endif
+
MT19937AR_D = $(THIRDPARTY_D)/mt19937ar
MT19937AR_OBJ = $(MT19937AR_D)/mt19937ar.o
MT19937AR_H = $(MT19937AR_D)/mt19937ar.h
@@ -43,7 +56,7 @@ MT19937AR_H = $(MT19937AR_D)/mt19937ar.h
TEST_C = test_libconfig.c test_spinlock.c
TEST_OBJ = $(addprefix obj/, $(patsubst %c,%o,%(TEST_C)))
TEST_H =
-TEST_DEPENDS = $(COMMON_D)/obj_sql/common_sql.a $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(SYSINFO_INC)
+TEST_DEPENDS = $(COMMON_D)/obj_sql/common_sql.a $(COMMON_D)/obj_all/common.a $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) $(SYSINFO_INC)
TESTS_ALL = test_libconfig test_spinlock
@@ -70,7 +83,7 @@ clean: buildclean
Makefile: Makefile.in
@$(MAKE) -C ../.. src/test/Makefile
-$(SYSINFO_INC): $(TEST_C) $(TEST_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H)
+$(SYSINFO_INC): $(TEST_C) $(TEST_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H)
@echo " MAKE $@"
@$(MAKE) -C ../.. sysinfo
@@ -88,11 +101,11 @@ $(TESTS_ALL): test_%: ../../test_%@EXEEXT@
../../test_%@EXEEXT@: obj/test_%.o $(TEST_DEPENDS) Makefile
@echo " LD $(notdir $@)"
@$(CC) @STATIC@ @LDFLAGS@ -o $@ $< $(COMMON_D)/obj_all/common.a $(COMMON_D)/obj_sql/common_sql.a \
- $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) @LIBS@ @MYSQL_LIBS@
+ $(MT19937AR_OBJ) $(LIBCONFIG_OBJ) $(LIBBACKTRACE_OBJ) @LIBS@ @MYSQL_LIBS@
# object files
-obj/%.o: %.c $(TEST_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) | obj
+obj/%.o: %.c $(TEST_H) $(COMMON_H) $(CONFIG_H) $(MT19937AR_H) $(LIBCONFIG_H) $(LIBBACKTRACE_H) | obj
@echo " CC $<"
@$(CC) @CFLAGS@ @DEFS@ $(COMMON_INCLUDE) $(THIRDPARTY_INCLUDE) @MYSQL_CFLAGS@ @CPPFLAGS@ -c $(OUTPUT_OPTION) $<
@@ -112,3 +125,7 @@ $(MT19937AR_OBJ):
$(LIBCONFIG_OBJ):
@echo " MAKE $@"
@$(MAKE) -C $(LIBCONFIG_D)
+
+$(LIBBACKTRACE_OBJ):
+ @echo " MAKE $@"
+ @$(MAKE) -C $(LIBBACKTRACE_D)
diff --git a/src/test/test_libconfig.c b/src/test/test_libconfig.c
index e1a767195..140b86f49 100644
--- a/src/test/test_libconfig.c
+++ b/src/test/test_libconfig.c
@@ -2,8 +2,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2015 Hercules Dev Team
- * Copyright (C) 2015 Haru <haru@dotalux.com>
+ * Copyright (C) 2015-2020 Hercules Dev Team
+ * Copyright (C) 2015 Haru <haru@dotalux.com>
*
* 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/test/test_spinlock.c b/src/test/test_spinlock.c
index fc2eed5da..4ceeea7b9 100644
--- a/src/test/test_spinlock.c
+++ b/src/test/test_spinlock.c
@@ -2,8 +2,8 @@
* 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
+ * Copyright (C) 2012-2020 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
diff --git a/sysinfogen.sh b/sysinfogen.sh
index ff1dadcb0..1264c7e64 100755
--- a/sysinfogen.sh
+++ b/sysinfogen.sh
@@ -3,7 +3,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2014-2015 Hercules Dev Team
+# Copyright (C) 2014-2020 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,7 +53,7 @@ cat > "$OUTFILE" << EOF
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2014-$YEAR Hercules Dev Team
+ * Copyright (C) 2014-$YEAR 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/tools/HPMHookGen/HPMDataCheckGen.pl b/tools/HPMHookGen/HPMDataCheckGen.pl
index f6e4dac24..538068f80 100644
--- a/tools/HPMHookGen/HPMDataCheckGen.pl
+++ b/tools/HPMHookGen/HPMDataCheckGen.pl
@@ -3,7 +3,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-2020 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
@@ -72,7 +72,7 @@ print FH <<"EOF";
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2014-$year Hercules Dev Team
+ * Copyright (C) 2014-$year 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/tools/HPMHookGen/HPMHookGen.pl b/tools/HPMHookGen/HPMHookGen.pl
index e5a5c1914..cd4f10e2a 100755
--- a/tools/HPMHookGen/HPMHookGen.pl
+++ b/tools/HPMHookGen/HPMHookGen.pl
@@ -3,7 +3,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-2020 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
@@ -244,6 +244,10 @@ sub parse($$) {
$rtinit = ' = DB_OPT_BASE';
} elsif ($x =~ /^enum\s+thread_priority$/) { # Known enum thread_priority
$rtinit = ' = THREADPRIO_NORMAL';
+ } elsif ($x =~ /^enum\s+market_buy_result$/) { # Known enum market_buy_result
+ $rtinit = ' = MARKET_BUY_RESULT_ERROR';
+ } elsif ($x =~ /^enum\s+unit_dir$/) { # Known enum unit_dir
+ $rtinit = ' = UNIT_DIR_UNDEFINED';
} elsif ($x eq 'DBComparator' or $x eq 'DBHasher' or $x eq 'DBReleaser') { # DB function pointers
$rtinit = ' = NULL';
} elsif ($x =~ /^(?:struct|union)\s+.*$/) { # Structs and unions
@@ -371,7 +375,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
@@ -471,7 +476,7 @@ my $fileheader = <<"EOF";
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
- * Copyright (C) 2013-$year Hercules Dev Team
+ * Copyright (C) 2013-$year 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/tools/HPMHookGen/Makefile.in b/tools/HPMHookGen/Makefile.in
index d2fe379d8..43c6efff3 100644
--- a/tools/HPMHookGen/Makefile.in
+++ b/tools/HPMHookGen/Makefile.in
@@ -1,8 +1,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2012-2015 Hercules Dev Team
-# Copyright (C) Athena Dev Teams
+# Copyright (C) 2012-2020 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
diff --git a/tools/HPMHookGen/doxygen.conf b/tools/HPMHookGen/doxygen.conf
index c302f7f2f..ead1deeca 100644
--- a/tools/HPMHookGen/doxygen.conf
+++ b/tools/HPMHookGen/doxygen.conf
@@ -282,12 +282,10 @@ GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = NO
EXTERNAL_PAGES = YES
-PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
-MSCGEN_PATH =
DIA_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
diff --git a/tools/Script-Checker.applescript b/tools/Script-Checker.applescript
index 0b7207569..202e19800 100644
--- a/tools/Script-Checker.applescript
+++ b/tools/Script-Checker.applescript
@@ -2,7 +2,7 @@
This file is part of Hercules.
http://herc.ws - http://github.com/HerculesWS/Hercules
- Copyright (C) 2014-2015 Hercules Dev Team
+ Copyright (C) 2014-2020 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/tools/check-doc b/tools/check-doc
index 8ac9a87ad..267968470 100755
--- a/tools/check-doc
+++ b/tools/check-doc
@@ -3,7 +3,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2012-2015 Hercules Dev Team
+# Copyright (C) 2012-2020 Hercules Dev Team
# checking-doc script by trojal
# modified by lighta
#
diff --git a/tools/checksql.sh b/tools/checksql.sh
new file mode 100755
index 000000000..f7fb23700
--- /dev/null
+++ b/tools/checksql.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+function checkdir {
+ for sql in $1/*.sql
+ do
+ echo "checking ${sql}"
+ php -d memory_limit=4G ./tools/php-sqllint/bin/php-sqllint "${sql}" || exit 1
+ done
+}
+
+checkdir "sql-files"
+checkdir "sql-files/upgrades"
+checkdir "sql-files/tools"
diff --git a/tools/ci/retry.sh b/tools/ci/retry.sh
index 688f02d9a..584e78f13 100755
--- a/tools/ci/retry.sh
+++ b/tools/ci/retry.sh
@@ -3,8 +3,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2016 Hercules Dev Team
-# Copyright (C) 2016 Haru <haru@herc.ws>
+# Copyright (C) 2016-2020 Hercules Dev Team
+# Copyright (C) 2016 Haru <haru@herc.ws>
#
# 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/tools/ci/travis.sh b/tools/ci/travis.sh
index fa7d5be93..10c653925 100755
--- a/tools/ci/travis.sh
+++ b/tools/ci/travis.sh
@@ -3,7 +3,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2014-2015 Hercules Dev Team
+# Copyright (C) 2014-2020 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
@@ -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/configconverter.pl b/tools/configconverter.pl
index dc511aaef..385278963 100755
--- a/tools/configconverter.pl
+++ b/tools/configconverter.pl
@@ -3,8 +3,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2016 Hercules Dev Team
-# Copyright (C) 2016 Haru
+# Copyright (C) 2016-2020 Hercules Dev Team
+# Copyright (C) 2016 Haru
#
# Hercules is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -554,7 +554,6 @@ my @defaults = (
guild_exp_limit => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 50},
guild_max_castles => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 0},
guild_skill_relog_delay => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "guild:", default => "false"},
- castle_defense_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 100},
gvg_flee_penalty => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 20},
require_glory_guild => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "guild:", default => "false"},
max_guild_alliance => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 3},
diff --git a/tools/constdbconverter.pl b/tools/constdbconverter.pl
index b534eba70..39f594790 100755
--- a/tools/constdbconverter.pl
+++ b/tools/constdbconverter.pl
@@ -3,7 +3,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2016 Hercules Dev Team
+# Copyright (C) 2016-2020 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
@@ -73,7 +73,7 @@ print << "EOF";
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2016-$year Hercules Dev Team
+//= Copyright (C) 2016-$year 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/tools/doxygen/Makefile.in b/tools/doxygen/Makefile.in
index 233779f05..483e640aa 100644
--- a/tools/doxygen/Makefile.in
+++ b/tools/doxygen/Makefile.in
@@ -1,7 +1,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2016 Hercules Dev Team
+# Copyright (C) 2016-2020 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/tools/doxygen/doxygen.conf b/tools/doxygen/doxygen.conf
index 043b36dc8..95d3b3ebf 100644
--- a/tools/doxygen/doxygen.conf
+++ b/tools/doxygen/doxygen.conf
@@ -1,25 +1,181 @@
-# Doxyfile 1.8.8
+# Doxyfile 1.8.16
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
+#
+# All text after a double hash (##) is considered a comment and is placed in
+# front of the TAG it is preceding.
+#
+# All text after a single hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists, items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (\" \").
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the configuration
+# file that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# https://www.gnu.org/software/libiconv/ for the list of possible encodings.
+# The default value is: UTF-8.
+
DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
+# double-quotes, unless you are using Doxywizard) that should identify the
+# project for which the documentation is generated. This name is used in the
+# title of most generated pages and in a few other places.
+# The default value is: My Project.
+
PROJECT_NAME = "Hercules"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
+# could be handy for archiving the generated documentation or if some version
+# control system is used.
+
PROJECT_NUMBER =
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer a
+# quick idea about the purpose of the project. Keep the description short.
+
PROJECT_BRIEF =
+
+# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
+# in the documentation. The maximum height of the logo should not exceed 55
+# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
+# the logo to the output directory.
+
PROJECT_LOGO = Hercules48.png
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
+# into which the generated documentation will be written. If a relative path is
+# entered, it will be relative to the location where doxygen was started. If
+# left blank the current directory will be used.
+
OUTPUT_DIRECTORY = docs
+
+# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
+# directories (in 2 levels) under the output directory of each output format and
+# will distribute the generated files over these directories. Enabling this
+# option can be useful when feeding doxygen a huge amount of source files, where
+# putting all generated files in the same directory would otherwise causes
+# performance problems for the file system.
+# The default value is: NO.
+
CREATE_SUBDIRS = NO
+
+# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
+# characters to appear in the names of generated files. If set to NO, non-ASCII
+# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
+# U+3044.
+# The default value is: NO.
+
ALLOW_UNICODE_NAMES = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
+# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
+# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
+# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
+# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
+# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
+# Ukrainian and Vietnamese.
+# The default value is: English.
+
OUTPUT_LANGUAGE = English
+
+# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all generated output in the proper direction.
+# Possible values are: None, LTR, RTL and Context.
+# The default value is: None.
+
+OUTPUT_TEXT_DIRECTION = None
+
+# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
+# descriptions after the members that are listed in the file and class
+# documentation (similar to Javadoc). Set to NO to disable this.
+# The default value is: YES.
+
BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
+# description of a member or function before the detailed description
+#
+# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+# The default value is: YES.
+
REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator that is
+# used to form the text in various listings. Each string in this list, if found
+# as the leading text of the brief description, will be stripped from the text
+# and the result, after processing the whole list, is used as the annotated
+# text. Otherwise, the brief description is used as-is. If left blank, the
+# following values are used ($name is automatically replaced with the name of
+# the entity):The $name class, The $name widget, The $name file, is, provides,
+# specifies, contains, represents, a, an and the.
+
ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# doxygen will generate a detailed section even if there is only a brief
+# description.
+# The default value is: NO.
+
ALWAYS_DETAILED_SEC = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+# The default value is: NO.
+
INLINE_INHERITED_MEMB = NO
+
+# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
+# before files name in the file list and in the header files. If set to NO the
+# shortest path that makes the file name unique will be used
+# The default value is: YES.
+
FULL_PATH_NAMES = YES
+
+# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
+# Stripping is only done if one of the specified strings matches the left-hand
+# part of the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the path to
+# strip.
+#
+# Note that you can specify absolute paths here, but also relative paths, which
+# will be relative from the directory where doxygen is started.
+# This tag requires that the tag FULL_PATH_NAMES is set to YES.
+
STRIP_FROM_PATH = ../../
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
+# path mentioned in the documentation of a class, which tells the reader which
+# header file to include in order to use a class. If left blank only the name of
+# the header file containing the class definition is used. Otherwise one should
+# specify the list of include paths that are normally passed to the compiler
+# using the -I flag.
+
STRIP_FROM_INC_PATH = ../../
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
+# less readable) file names. This can be useful is your file systems doesn't
+# support long names like on DOS, Mac, or CD-ROM.
+# The default value is: NO.
+
SHORT_NAMES = NO
# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
@@ -28,22 +184,56 @@ SHORT_NAMES = NO
# style comments (thus requiring an explicit @brief command for a brief
# description.)
# The default value is: NO.
+
JAVADOC_AUTOBRIEF = NO
+# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line
+# such as
+# /***************
+# as being the beginning of a Javadoc-style comment "banner". If set to NO, the
+# Javadoc-style will behave just like regular comments and it will not be
+# interpreted by doxygen.
+# The default value is: NO.
+
+JAVADOC_BANNER = NO
+
# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
# line (until the first dot) of a Qt-style comment as the brief description. If
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
# requiring an explicit \brief command for a brief description.)
# The default value is: NO.
+
QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
+# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
+# a brief description. This used to be the default behavior. The new default is
+# to treat a multi-line C++ comment block as a detailed description. Set this
+# tag to YES if you prefer the old behavior instead.
+#
+# Note that setting this tag to YES also means that rational rose comments are
+# not recognized any more.
+# The default value is: NO.
+
MULTILINE_CPP_IS_BRIEF = NO
# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
# documentation from any documented member that it re-implements.
# The default value is: YES.
-INHERIT_DOCS = YES
+INHERIT_DOCS = NO
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
+# page for each member. If set to NO, the documentation of a member will be part
+# of the file/class/namespace that contains it.
+# The default value is: NO.
+
SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
+# uses this value to replace tabs by spaces in code fragments.
+# Minimum value: 1, maximum value: 16, default value: 4.
+
TAB_SIZE = 8
# This tag can be used to specify a number of aliases that act as commands in
@@ -54,41 +244,161 @@ TAB_SIZE = 8
# will allow you to put the command \sideeffect (or @sideeffect) in the
# documentation, which will result in a user-defined paragraph with heading
# "Side Effects:". You can put \n's in the value part of an alias to insert
-# newlines.
+# newlines (in the resulting output). You can put ^^ in the value part of an
+# alias to insert a newline as if a physical newline was in the original file.
+# When you need a literal { or } or , in the value part of an alias you have to
+# escape them by means of a backslash (\), this can lead to conflicts with the
+# commands \{ and \} for these it is advised to use the version @{ and @} or use
+# a double escape (\\{ and \\})
+
ALIASES =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding "class=itcl::class"
+# will allow you to use the command class in the itcl::class meaning.
+
TCL_SUBST =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C. For
+# instance, some of the names that are used will be different. The list of all
+# members will be omitted, etc.
+# The default value is: NO.
+
OPTIMIZE_OUTPUT_FOR_C = YES
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
+# Python sources only. Doxygen will then generate output that is more tailored
+# for that language. For instance, namespaces will be presented as packages,
+# qualified scopes will look different, etc.
+# The default value is: NO.
+
OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources. Doxygen will then generate output that is tailored for Fortran.
+# The default value is: NO.
+
OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for VHDL.
+# The default value is: NO.
+
OPTIMIZE_OUTPUT_VHDL = NO
+
+# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice
+# sources only. Doxygen will then generate output that is more tailored for that
+# language. For instance, namespaces will be presented as modules, types will be
+# separated into more groups, etc.
+# The default value is: NO.
+
+OPTIMIZE_OUTPUT_SLICE = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given
+# extension. Doxygen has a built-in mapping, but you can override or extend it
+# using this tag. The format is ext=language, where ext is a file extension, and
+# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
+# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice,
+# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran:
+# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser
+# tries to guess whether the code is fixed or free formatted code, this is the
+# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat
+# .inc files as Fortran files (default is PHP), and .f files as C (default is
+# Fortran), use: inc=Fortran f=C.
+#
+# Note: For files without extension you can use no_extension as a placeholder.
+#
+# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
+# the files are not read by doxygen.
+
EXTENSION_MAPPING = h=C
+
+# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
+# according to the Markdown format, which allows for more readable
+# documentation. See https://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you can
+# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
+# case of backward compatibilities issues.
+# The default value is: YES.
+
MARKDOWN_SUPPORT = YES
+# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up
+# to that level are automatically included in the table of contents, even if
+# they do not have an id attribute.
+# Note: This feature currently applies only to Markdown headings.
+# Minimum value: 0, maximum value: 99, default value: 5.
+# This tag requires that the tag MARKDOWN_SUPPORT is set to YES.
+
+TOC_INCLUDE_HEADINGS = 5
+
# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
-# be prevented in individual cases by by putting a % sign in front of the word
-# or globally by setting AUTOLINK_SUPPORT to NO.
+# be prevented in individual cases by putting a % sign in front of the word or
+# globally by setting AUTOLINK_SUPPORT to NO.
# The default value is: YES.
+
AUTOLINK_SUPPORT = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should set this
+# tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string);
+# versus func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+# The default value is: NO.
+
BUILTIN_STL_SUPPORT = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+# The default value is: NO.
+
CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
+# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen
+# will parse them like normal C++ but will assume all classes use public instead
+# of private inheritance when no explicit protection keyword is present.
+# The default value is: NO.
+
SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate
+# getter and setter methods for a property. Setting this option to YES will make
+# doxygen to replace the get and set methods by a property in the documentation.
+# This will only work if the methods are indeed getting or setting a simple
+# type. If this is not the case, or you want to show the methods anyway, you
+# should set this option to NO.
+# The default value is: YES.
+
IDL_PROPERTY_SUPPORT = NO
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
+# tag is set to YES then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
-# The default value is: NNO
+# The default value is: NO.
+
DISTRIBUTE_GROUP_DOC = NO
+# If one adds a struct or class to a group and this option is enabled, then also
+# any nested class or struct is added to the same group. By default this option
+# is disabled and one has to add nested compounds explicitly via \ingroup.
+# The default value is: NO.
+
+GROUP_NESTED_COMPOUNDS = NO
+
# Set the SUBGROUPING tag to YES to allow class member groups of the same type
# (for instance a group of public functions) to be put as a subgroup of that
# type (e.g. under the Public Functions section). Set it to NO to prevent
# subgrouping. Alternatively, this can be done per class using the
# \nosubgrouping command.
-# The default value is: YENO
-SUBGROUPING = YES
+# The default value is: YES.
+
+SUBGROUPING = NO
# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
# are shown inside the group in which they are included (e.g. using \ingroup)
@@ -97,7 +407,8 @@ SUBGROUPING = YES
#
# Note that this feature does not work in combination with
# SEPARATE_MEMBER_PAGES.
-# The default value is: NNO
+# The default value is: NO.
+
INLINE_GROUPED_CLASSES = NO
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
@@ -106,8 +417,19 @@ INLINE_GROUPED_CLASSES = NO
# namespace, or group documentation), provided this scope is documented. If set
# to NO, structs, classes, and unions are shown on a separate page (for HTML and
# Man pages) or section (for LaTeX and RTF).
-# The default value is: NNO
+# The default value is: NO.
+
INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
+# enum is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically be
+# useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+# The default value is: NO.
+
TYPEDEF_HIDES_STRUCT = NO
# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
@@ -120,173 +442,796 @@ TYPEDEF_HIDES_STRUCT = NO
# symbols. At the end of a run doxygen will report the cache usage and suggest
# the optimal cache size from a speed point of view.
# Minimum value: 0, maximum value: 9, default value: 0.
+
LOOKUP_CACHE_SIZE = 0
+
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
# documentation are documented, even if no documentation was available. Private
# class members and static file members will be hidden unless the
# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
# Note: This will also disable the warnings about undocumented members that are
# normally produced when WARNINGS is set to YES.
# The default value is: NO.
-EXTRACT_ALL = NO
+
+EXTRACT_ALL = YES
+
+# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
+# be included in the documentation.
+# The default value is: NO.
+
EXTRACT_PRIVATE = YES
-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal
+# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual
+# methods of a class will be included in the documentation.
+# The default value is: NO.
+
+EXTRACT_PRIV_VIRTUAL = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
+
EXTRACT_PACKAGE = NO
+
+# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
+# included in the documentation.
+# The default value is: NO.
+
EXTRACT_STATIC = YES
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined
-# locally in source files will be included in the documentation. If set to NO
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
+# locally in source files will be included in the documentation. If set to NO,
# only classes defined in header files are included. Does not have any effect
# for Java sources.
# The default value is: YES.
+
EXTRACT_LOCAL_CLASSES = YES
+
+# This flag is only useful for Objective-C code. If set to YES, local methods,
+# which are defined in the implementation section but not in the interface are
+# included in the documentation. If set to NO, only methods in the interface are
+# included.
+# The default value is: NO.
+
EXTRACT_LOCAL_METHODS = YES
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base name of
+# the file that contains the anonymous namespace. By default anonymous namespace
+# are hidden.
+# The default value is: NO.
+
EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
+# undocumented members inside documented classes or files. If set to NO these
+# members will be included in the various overviews, but no documentation
+# section is generated. This option has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
HIDE_UNDOC_MEMBERS = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy. If set
+# to NO, these classes will be included in the various overviews. This option
+# has no effect if EXTRACT_ALL is enabled.
+# The default value is: NO.
+
HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
+# (class|struct|union) declarations. If set to NO, these declarations will be
+# included in the documentation.
+# The default value is: NO.
+
HIDE_FRIEND_COMPOUNDS = NO
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
+# documentation blocks found inside the body of a function. If set to NO, these
+# blocks will be appended to the function's detailed documentation block.
+# The default value is: NO.
+
HIDE_IN_BODY_DOCS = NO
+
+# The INTERNAL_DOCS tag determines if documentation that is typed after a
+# \internal command is included. If the tag is set to NO then the documentation
+# will be excluded. Set it to YES to include the internal documentation.
+# The default value is: NO.
+
INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
+# names in lower-case letters. If set to YES, upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# (including Cygwin) ands Mac users are advised to set this option to NO.
+# The default value is: system dependent.
+
CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
+# their full class and namespace scopes in the documentation. If set to YES, the
+# scope will be hidden.
+# The default value is: NO.
+
HIDE_SCOPE_NAMES = NO
+
+# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
+# append additional text to a page's title, such as Class Reference. If set to
+# YES the compound reference will be hidden.
+# The default value is: NO.
+
+HIDE_COMPOUND_REFERENCE= NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
+# the files that are included by a file in the documentation of that file.
+# The default value is: YES.
+
SHOW_INCLUDE_FILES = YES
# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
# grouped member an include statement to the documentation, telling the reader
# which file to include in order to use the member.
# The default value is: NO.
+
SHOW_GROUPED_MEMB_INC = NO
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
+# files with double quotes in the documentation rather than with sharp brackets.
+# The default value is: NO.
+
FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
+# documentation for inline members.
+# The default value is: YES.
+
INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
+# (detailed) documentation of file and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order.
+# The default value is: YES.
+
SORT_MEMBER_DOCS = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
+# descriptions of file, namespace and class members alphabetically by member
+# name. If set to NO, the members will appear in declaration order. Note that
+# this will also influence the order of the classes in the class list.
+# The default value is: NO.
+
SORT_BRIEF_DOCS = NO
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
+# (brief and detailed) documentation of class members so that constructors and
+# destructors are listed first. If set to NO the constructors will appear in the
+# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
+# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
+# member documentation.
+# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
+# detailed member documentation.
+# The default value is: NO.
+
SORT_MEMBERS_CTORS_1ST = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
+# of group names into alphabetical order. If set to NO the group names will
+# appear in their defined order.
+# The default value is: NO.
+
SORT_GROUP_NAMES = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
+# fully-qualified names, including namespaces. If set to NO, the class list will
+# be sorted only by class name, not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the alphabetical
+# list.
+# The default value is: NO.
+
SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
+# type resolution of all parameters of a function it will reject a match between
+# the prototype and the implementation of a member function even if there is
+# only one candidate or it is obvious which candidate to choose by doing a
+# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
+# accept a match between prototype and implementation in such cases.
+# The default value is: NO.
+
STRICT_PROTO_MATCHING = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
+# list. This list is created by putting \todo commands in the documentation.
+# The default value is: YES.
+
GENERATE_TODOLIST = YES
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
+# list. This list is created by putting \test commands in the documentation.
+# The default value is: YES.
+
GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
+# list. This list is created by putting \bug commands in the documentation.
+# The default value is: YES.
+
GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
+# the deprecated list. This list is created by putting \deprecated commands in
+# the documentation.
+# The default value is: YES.
+
GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional documentation
+# sections, marked by \if <section_label> ... \endif and \cond <section_label>
+# ... \endcond blocks.
+
ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
+# initial value of a variable or macro / define can have for it to appear in the
+# documentation. If the initializer consists of more lines than specified here
+# it will be hidden. Use a value of 0 to hide initializers completely. The
+# appearance of the value of individual variables and macros / defines can be
+# controlled using \showinitializer or \hideinitializer command in the
+# documentation regardless of this setting.
+# Minimum value: 0, maximum value: 10000, default value: 30.
+
MAX_INITIALIZER_LINES = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
+# the bottom of the documentation of classes and structs. If set to YES, the
+# list will mention the files that were used to generate the documentation.
+# The default value is: YES.
+
SHOW_USED_FILES = YES
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
+# will remove the Files entry from the Quick Index and from the Folder Tree View
+# (if specified).
+# The default value is: YES.
+
SHOW_FILES = YES
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
+# page. This will remove the Namespaces entry from the Quick Index and from the
+# Folder Tree View (if specified).
+# The default value is: YES.
+
SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command command input-file, where command is the value of the
+# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
+# by doxygen. Whatever the program writes to standard output is used as the file
+# version. For an example see the documentation.
+
FILE_VERSION_FILTER = "git log -n 1 --pretty=format:%h -- "
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. To create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option. You can
+# optionally specify a file name after the option, if omitted DoxygenLayout.xml
+# will be used as the name of the layout file.
+#
+# Note that if you run doxygen from a directory containing a file called
+# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
+# tag is left empty.
+
LAYOUT_FILE = layoutFile.xml
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
+# the reference definitions. This must be a list of .bib files. The .bib
+# extension is automatically appended if omitted. This requires the bibtex tool
+# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info.
+# For LaTeX the style of the bibliography can be controlled using
+# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
+# search path. See also \cite for info how to create references.
+
CITE_BIB_FILES =
+
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated to
+# standard output by doxygen. If QUIET is set to YES this implies that the
+# messages are off.
+# The default value is: NO.
+
QUIET = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
+# this implies that the warnings are on.
+#
+# Tip: Turn warnings on while writing the documentation.
+# The default value is: YES.
+
WARNINGS = YES
+
+# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
+# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
+# will automatically be disabled.
+# The default value is: YES.
+
WARN_IF_UNDOCUMENTED = YES
+
+# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some parameters
+# in a documented function, or documenting parameters that don't exist or using
+# markup commands wrongly.
+# The default value is: YES.
+
WARN_IF_DOC_ERROR = YES
+
+# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
+# are documented, but have no documentation for their parameters or return
+# value. If set to NO, doxygen will only warn about wrong or incomplete
+# parameter documentation, but not about the absence of documentation. If
+# EXTRACT_ALL is set to YES then this flag will automatically be disabled.
+# The default value is: NO.
+
WARN_NO_PARAMDOC = YES
+
+# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when
+# a warning is encountered.
+# The default value is: NO.
+
+WARN_AS_ERROR = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that doxygen
+# can produce. The string should contain the $file, $line, and $text tags, which
+# will be replaced by the file and line number from which the warning originated
+# and the warning text. Optionally the format may contain $version, which will
+# be replaced by the version of the file (if it could be obtained via
+# FILE_VERSION_FILTER)
+# The default value is: $file:$line: $text.
+
WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning and error
+# messages should be written. If left blank the output is written to standard
+# error (stderr).
+
WARN_LOGFILE =
+
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
+
+# The INPUT tag is used to specify the files and/or directories that contain
+# documented source files. You may enter file names like myfile.cpp or
+# directories like /usr/src/myproject. Separate the files or directories with
+# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
+# Note: If this tag is empty the current directory is searched.
+
INPUT = ../../src/map \
../../src/common \
../../src/char \
../../src/login \
../../src/config
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
+# documentation (see: https://www.gnu.org/software/libiconv/) for the list of
+# possible encodings.
+# The default value is: UTF-8.
+
INPUT_ENCODING = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
+# *.h) to filter out the source-files in the directories.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# read by doxygen.
+#
+# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp,
+# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h,
+# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc,
+# *.m, *.markdown, *.md, *.mm, *.dox, *.py, *.pyw, *.f90, *.f95, *.f03, *.f08,
+# *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice.
+
FILE_PATTERNS = *.c \
*.h
+
+# The RECURSIVE tag can be used to specify whether or not subdirectories should
+# be searched for input files as well.
+# The default value is: NO.
+
RECURSIVE = YES
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+#
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
EXCLUDE =
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+# The default value is: NO.
+
EXCLUDE_SYMLINKS = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories for example use the pattern */test/*
+
EXCLUDE_PATTERNS =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+#
+# Note that the wildcards are matched against the file with absolute path, so to
+# exclude all test directories use the pattern */test/*
+
EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or directories
+# that contain example code fragments that are included (see the \include
+# command).
+
EXAMPLE_PATH =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
+# *.h) to filter out the source-files in the directories. If left blank all
+# files are included.
+
EXAMPLE_PATTERNS =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude commands
+# irrespective of the value of the RECURSIVE tag.
+# The default value is: NO.
+
EXAMPLE_RECURSIVE = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or directories
+# that contain images that are to be included in the documentation (see the
+# \image command).
+
IMAGE_PATH =
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command:
+#
+# <filter> <input-file>
+#
+# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
+# name of an input file. Doxygen will then use the output that the filter
+# program writes to standard output. If FILTER_PATTERNS is specified, this tag
+# will be ignored.
+#
+# Note that the filter must not add or remove lines; it is applied before the
+# code is scanned, but not when the output code is generated. If lines are added
+# or removed, the anchors will not be placed correctly.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis. Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match. The filters are a list of the form: pattern=filter
+# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
+# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
+# patterns match the file name, INPUT_FILTER is applied.
+#
+# Note that for custom extensions or not directly supported extensions you also
+# need to set EXTENSION_MAPPING for the extension otherwise the files are not
+# properly processed by doxygen.
+
FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will also be used to filter the input files that are used for
+# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
+# The default value is: NO.
+
FILTER_SOURCE_FILES = NO
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
+# it is also possible to disable source filtering for a specific pattern using
+# *.ext= (so without naming a filter).
+# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
+
FILTER_SOURCE_PATTERNS =
# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
# is part of the input, its contents will be placed on the main page
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
+
USE_MDFILE_AS_MAINPAGE =
+
#---------------------------------------------------------------------------
# Configuration options related to source browsing
#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
+# generated. Documented entities will be cross-referenced with these sources.
+#
+# Note: To get rid of all source code in the generated output, make sure that
+# also VERBATIM_HEADERS is set to NO.
+# The default value is: NO.
+
SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body of functions,
+# classes and enums directly into the documentation.
+# The default value is: NO.
+
INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
+# special comment blocks from generated source code fragments. Normal C, C++ and
+# Fortran comments will always remain visible.
+# The default value is: YES.
+
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
-# function all documented functions referencing it will be listed.
+# entity all documented functions referencing it will be listed.
# The default value is: NO.
+
REFERENCED_BY_RELATION = NO
# If the REFERENCES_RELATION tag is set to YES then for each documented function
# all documented entities called/used by that function will be listed.
# The default value is: NO.
+
REFERENCES_RELATION = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
+# to YES then the hyperlinks from functions in REFERENCES_RELATION and
+# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
+# link to the documentation.
+# The default value is: YES.
+
REFERENCES_LINK_SOURCE = YES
+
+# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
+# source code will show a tooltip with additional information such as prototype,
+# brief description and links to the definition and documentation. Since this
+# will make the HTML file larger and loading of large files a bit slower, you
+# can opt to disable this feature.
+# The default value is: YES.
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
SOURCE_TOOLTIPS = YES
-USE_HTAGS = NO
-VERBATIM_HEADERS = YES
-# If the CLANG_ASSISTED_PARSING tag is set to YES, then doxygen will use the
-# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the
-# cost of reduced performance. This can be particularly helpful with template
-# rich C++ code for which doxygen's built-in parser lacks the necessary type
-# information.
-# Note: The availability of this option depends on whether or not doxygen was
-# compiled with the --with-libclang option.
+# If the USE_HTAGS tag is set to YES then the references to source code will
+# point to the HTML generated by the htags(1) tool instead of doxygen built-in
+# source browser. The htags tool is part of GNU's global source tagging system
+# (see https://www.gnu.org/software/global/global.html). You will need version
+# 4.8.6 or higher.
+#
+# To use it do the following:
+# - Install the latest version of global
+# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file
+# - Make sure the INPUT points to the root of the source tree
+# - Run doxygen as normal
+#
+# Doxygen will invoke htags (and that will in turn invoke gtags), so these
+# tools must be available from the command line (i.e. in the search path).
+#
+# The result: instead of the source browser generated by doxygen, the links to
+# source code will now point to the output of htags.
# The default value is: NO.
-CLANG_ASSISTED_PARSING = NO
+# This tag requires that the tag SOURCE_BROWSER is set to YES.
+
+USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
+# verbatim copy of the header file for each class for which an include is
+# specified. Set to NO to disable this.
+# See also: Section \class.
+# The default value is: YES.
+
+VERBATIM_HEADERS = NO
-# If clang assisted parsing is enabled you can provide the compiler with command
-# line options that you would normally use when invoking the compiler. Note that
-# the include paths will already be set by doxygen for the files and directories
-# specified with INPUT and INCLUDE_PATH.
-# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.
-CLANG_OPTIONS =
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
+# compounds will be generated. Enable this if the project contains a lot of
+# classes, structs, unions or interfaces.
+# The default value is: YES.
+
ALPHABETICAL_INDEX = YES
+
+# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
+# which the alphabetical index list will be split.
+# Minimum value: 1, maximum value: 20, default value: 5.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all classes will
+# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
+# can be used to specify a prefix (or a list of prefixes) that should be ignored
+# while generating the index headers.
+# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
+
IGNORE_PREFIX =
+
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
+# The default value is: YES.
+
GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
+# generated HTML page (for example: .htm, .php, .asp).
+# The default value is: .html.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
+# each generated HTML page. If the tag is left blank doxygen will generate a
+# standard header.
+#
+# To get valid HTML the header file that includes any scripts and style sheets
+# that doxygen needs, which is dependent on the configuration options used (e.g.
+# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
+# default header using
+# doxygen -w html new_header.html new_footer.html new_stylesheet.css
+# YourConfigFile
+# and then modify the file new_header.html. See also section "Doxygen usage"
+# for information on how to generate the default header that doxygen normally
+# uses.
+# Note: The header is subject to change so you typically have to regenerate the
+# default header when upgrading to a newer version of doxygen. For a description
+# of the possible markers and block names see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_HEADER =
+
+# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
+# generated HTML page. If the tag is left blank doxygen will generate a standard
+# footer. See HTML_HEADER for more information on how to generate a default
+# footer and what special commands can be used inside the footer. See also
+# section "Doxygen usage" for information on how to generate the default footer
+# that doxygen normally uses.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_FOOTER =
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
+# sheet that is used by each HTML page. It can be used to fine-tune the look of
+# the HTML output. If left blank doxygen will generate a default style sheet.
+# See also section "Doxygen usage" for information on how to generate the style
+# sheet that doxygen normally uses.
+# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
+# it is more robust and this tag (HTML_STYLESHEET) will in the future become
+# obsolete.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_STYLESHEET =
+
+# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# cascading style sheets that are included after the standard style sheets
+# created by doxygen. Using this option one can overrule certain style aspects.
+# This is preferred over using HTML_STYLESHEET since it does not replace the
+# standard style sheet and is therefore more robust against future updates.
+# Doxygen will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list). For an example see the documentation.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_EXTRA_STYLESHEET =
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
+# files will be copied as-is; there are no commands or markers available.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
+# will adjust the colors in the style sheet and background images according to
+# this color. Hue is specified as an angle on a colorwheel, see
+# https://en.wikipedia.org/wiki/Hue for more information. For instance the value
+# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
+# purple, and 360 is red again.
+# Minimum value: 0, maximum value: 359, default value: 220.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_COLORSTYLE_HUE = 30
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
+# in the HTML output. For a value of 0 the output will use grayscales only. A
+# value of 255 will produce the most vivid colors.
+# Minimum value: 0, maximum value: 255, default value: 100.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
+# luminance component of the colors in the HTML output. Values below 100
+# gradually make the output lighter, whereas values above 100 make the output
+# darker. The value divided by 100 is the actual gamma applied, so 80 represents
+# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
+# change the gamma.
+# Minimum value: 40, maximum value: 240, default value: 80.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting this
+# to YES can help to show when doxygen was last run and thus if the
+# documentation is up to date.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_TIMESTAMP = YES
+# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
+# documentation will contain a main index with vertical navigation menus that
+# are dynamically created via Javascript. If disabled, the navigation index will
+# consists of multiple levels of tabs that are statically embedded in every HTML
+# page. Disable this option to support browsers that do not have Javascript,
+# like the Qt help browser.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
+HTML_DYNAMIC_MENUS = YES
+
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_DYNAMIC_SECTIONS = NO
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
@@ -299,116 +1244,864 @@ HTML_DYNAMIC_SECTIONS = NO
# tree by default.
# Minimum value: 0, maximum value: 9999, default value: 100.
# This tag requires that the tag GENERATE_HTML is set to YES.
+
HTML_INDEX_NUM_ENTRIES = 100
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files will be
+# generated that can be used as input for Apple's Xcode 3 integrated development
+# environment (see: https://developer.apple.com/xcode/), introduced with OSX
+# 10.5 (Leopard). To create a documentation set, doxygen will generate a
+# Makefile in the HTML output directory. Running make will produce the docset in
+# that directory and running make install will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
+# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy
+# genXcode/_index.html for more information.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
GENERATE_DOCSET = NO
+
+# This tag determines the name of the docset feed. A documentation feed provides
+# an umbrella under which multiple documentation sets from a single provider
+# (such as a company or product suite) can be grouped.
+# The default value is: Doxygen generated docs.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# This tag specifies a string that should uniquely identify the documentation
+# set bundle. This should be a reverse domain-name style string, e.g.
+# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+# The default value is: org.doxygen.Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
+# The default value is: Publisher.
+# This tag requires that the tag GENERATE_DOCSET is set to YES.
+
DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
+# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
+# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
+# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on
+# Windows.
+#
+# The HTML Help Workshop contains a compiler that can convert all HTML output
+# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
+# files are now used as the Windows 98 help format, and will replace the old
+# Windows help format (.hlp) on all Windows platforms in the future. Compressed
+# HTML files also contain an index, a table of contents, and you can search for
+# words in the documentation. The HTML workshop also contains a viewer for
+# compressed HTML files.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
GENERATE_HTMLHELP = NO
+
+# The CHM_FILE tag can be used to specify the file name of the resulting .chm
+# file. You can add a path in front of the file if the result should not be
+# written to the html output directory.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
CHM_FILE =
+
+# The HHC_LOCATION tag can be used to specify the location (absolute path
+# including file name) of the HTML help compiler (hhc.exe). If non-empty,
+# doxygen will try to run the HTML help compiler on the generated index.hhp.
+# The file has to be specified with full path.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
HHC_LOCATION =
+
+# The GENERATE_CHI flag controls if a separate .chi index file is generated
+# (YES) or that it should be included in the master .chm file (NO).
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
GENERATE_CHI = NO
+
+# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
+# and project file content.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
CHM_INDEX_ENCODING =
+
+# The BINARY_TOC flag controls whether a binary table of contents is generated
+# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
+# enables the Previous and Next buttons.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members to
+# the table of contents of the HTML help documentation and to the tree view.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
+
TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
+# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
+# (.qch) of the generated HTML documentation.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
GENERATE_QHP = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
+# the file name of the resulting .qch file. The path specified is relative to
+# the HTML output folder.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
QCH_FILE =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help
+# Project output. For more information please see Qt Help Project / Namespace
+# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace).
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
QHP_NAMESPACE = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
+# Help Project output. For more information please see Qt Help Project / Virtual
+# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-
+# folders).
+# The default value is: doc.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
QHP_VIRTUAL_FOLDER = doc
+
+# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom
+# filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see Qt Help Project / Custom
+# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-
+# filters).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's filter section matches. Qt Help Project / Filter Attributes (see:
+# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes).
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
QHP_SECT_FILTER_ATTRS =
+
+# The QHG_LOCATION tag can be used to specify the location of Qt's
+# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the
+# generated .qhp file.
+# This tag requires that the tag GENERATE_QHP is set to YES.
+
QHG_LOCATION =
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be
+# generated, together with the HTML files, they form an Eclipse help plugin. To
+# install this plugin and make it available under the help contents menu in
+# Eclipse, the contents of the directory containing the HTML and XML files needs
+# to be copied into the plugins directory of eclipse. The name of the directory
+# within the plugins directory should be the same as the ECLIPSE_DOC_ID value.
+# After copying Eclipse needs to be restarted before the help appears.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the Eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have this
+# name. Each documentation set should have its own identifier.
+# The default value is: org.doxygen.Project.
+# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
+
ECLIPSE_DOC_ID = org.doxygen.Project
+
+# If you want full control over the layout of the generated HTML pages it might
+# be necessary to disable the index and replace it with your own. The
+# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top
+# of each HTML page. A value of NO enables the index and the value YES disables
+# it. Since the tabs in the index contain the same information as the navigation
+# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
DISABLE_INDEX = NO
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information. If the tag
+# value is set to YES, a side panel will be generated containing a tree-like
+# index structure (just like the one that is generated for HTML Help). For this
+# to work a browser that supports JavaScript, DHTML, CSS and frames is required
+# (i.e. any modern browser). Windows users are probably better off using the
+# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can
+# further fine-tune the look of the index. As an example, the default style
+# sheet generated by doxygen has an example that shows how to put an image at
+# the root of the tree instead of the PROJECT_NAME. Since the tree basically has
+# the same information as the tab index, you could consider setting
+# DISABLE_INDEX to YES when enabling this option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
GENERATE_TREEVIEW = NO
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
+# doxygen will group on one line in the generated HTML documentation.
+#
+# Note that a value of 0 will completely suppress the enum values from appearing
+# in the overview section.
+# Minimum value: 0, maximum value: 20, default value: 4.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
ENUM_VALUES_PER_LINE = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used
+# to set the initial width (in pixels) of the frame in which the tree is shown.
+# Minimum value: 0, maximum value: 1500, default value: 250.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
TREEVIEW_WIDTH = 250
+
+# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to
+# external symbols imported via tag files in a separate window.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of LaTeX formulas included as images in
+# the HTML documentation. When you change the font size after a successful
+# doxygen run you need to manually remove any form_*.png images from the HTML
+# output directory to force them to be regenerated.
+# Minimum value: 8, maximum value: 50, default value: 10.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANSPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are not
+# supported properly for IE 6.0, but are supported on all modern browsers.
+#
+# Note that when changing this option you need to delete any form_*.png files in
+# the HTML output directory before the changes have effect.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see
+# https://www.mathjax.org) which uses client side Javascript for the rendering
+# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX
+# installed or if you want to formulas look prettier in the HTML output. When
+# enabled you may also need to install MathJax separately and configure the path
+# to it using the MATHJAX_RELPATH option.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
USE_MATHJAX = NO
+
+# When MathJax is enabled you can set the default output format to be used for
+# the MathJax output. See the MathJax site (see:
+# http://docs.mathjax.org/en/latest/output.html) for more details.
+# Possible values are: HTML-CSS (which is slower, but has the best
+# compatibility), NativeMML (i.e. MathML) and SVG.
+# The default value is: HTML-CSS.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
MATHJAX_FORMAT = HTML-CSS
+
+# When MathJax is enabled you need to specify the location relative to the HTML
+# output directory using the MATHJAX_RELPATH option. The destination directory
+# should contain the MathJax.js script. For instance, if the mathjax directory
+# is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
+# Content Delivery Network so you can quickly see the result without installing
+# MathJax. However, it is strongly recommended to install a local copy of
+# MathJax from https://www.mathjax.org before deployment.
+# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
+# extension names that should be enabled during MathJax rendering. For example
+# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
MATHJAX_EXTENSIONS =
+
+# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces
+# of code that will be used on startup of the MathJax code. See the MathJax site
+# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an
+# example see the documentation.
+# This tag requires that the tag USE_MATHJAX is set to YES.
+
MATHJAX_CODEFILE =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box for
+# the HTML output. The underlying search engine uses javascript and DHTML and
+# should work on any modern browser. Note that when using HTML help
+# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET)
+# there is already a search function so this one should typically be disabled.
+# For large projects the javascript based search engine can be slow, then
+# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to
+# search using the keyboard; to jump to the search box use <access key> + S
+# (what the <access key> is depends on the OS and browser, but it is typically
+# <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down
+# key> to jump into the search results window, the results can be navigated
+# using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel
+# the search. The filter options can be selected when the cursor is inside the
+# search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys>
+# to select a filter and <Enter> or <escape> to activate or cancel the filter
+# option.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_HTML is set to YES.
+
SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a web server instead of a web client using Javascript. There
+# are two flavors of web server based searching depending on the EXTERNAL_SEARCH
+# setting. When disabled, doxygen will generate a PHP script for searching and
+# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing
+# and searching needs to be provided by external tools. See the section
+# "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
SERVER_BASED_SEARCH = NO
+
+# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
+# script for searching. Instead the search results are written to an XML file
+# which needs to be processed by an external indexer. Doxygen will invoke an
+# external search engine pointed to by the SEARCHENGINE_URL option to obtain the
+# search results.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: https://xapian.org/).
+#
+# See the section "External Indexing and Searching" for details.
+# The default value is: NO.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
EXTERNAL_SEARCH = NO
+
+# The SEARCHENGINE_URL should point to a search engine hosted by a web server
+# which will return the search results when EXTERNAL_SEARCH is enabled.
+#
+# Doxygen ships with an example indexer (doxyindexer) and search engine
+# (doxysearch.cgi) which are based on the open source search engine library
+# Xapian (see: https://xapian.org/). See the section "External Indexing and
+# Searching" for details.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
SEARCHENGINE_URL =
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed
+# search data is written to a file for indexing by an external tool. With the
+# SEARCHDATA_FILE tag the name of this file can be specified.
+# The default file is: searchdata.xml.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
SEARCHDATA_FILE = searchdata.xml
+
+# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the
+# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is
+# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple
+# projects and redirect the results back to the right project.
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
EXTERNAL_SEARCH_ID =
+
+# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen
+# projects other than the one defined by this configuration file, but that are
+# all added to the same external search index. Each project needs to have a
+# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of
+# to a relative location where the documentation can be found. The format is:
+# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ...
+# This tag requires that the tag SEARCHENGINE is set to YES.
+
EXTRA_SEARCH_MAPPINGS =
+
#---------------------------------------------------------------------------
# Configuration options related to the LaTeX output
#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
+# The default value is: YES.
+
GENERATE_LATEX = NO
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: latex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked.
+#
+# Note that when not enabling USE_PDFLATEX the default is latex when enabling
+# USE_PDFLATEX the default is pdflatex and when in the later case latex is
+# chosen this is overwritten by pdflatex. For specific output languages the
+# default can have been set differently, this depends on the implementation of
+# the output language.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate
+# index for LaTeX.
+# Note: This tag is used in the Makefile / make.bat.
+# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file
+# (.tex).
+# The default file is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
MAKEINDEX_CMD_NAME = makeindex
+
+# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to
+# generate index for LaTeX. In case there is no backslash (\) as first character
+# it will be automatically added in the LaTeX code.
+# Note: This tag is used in the generated output file (.tex).
+# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat.
+# The default value is: makeindex.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_MAKEINDEX_CMD = makeindex
+
+# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used by the
+# printer.
+# Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x
+# 14 inches) and executive (7.25 x 10.5 inches).
+# The default value is: a4.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
PAPER_TYPE = a4
+
+# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
+# that should be included in the LaTeX output. The package can be specified just
+# by its name or with the correct syntax as to be used with the LaTeX
+# \usepackage command. To get the times font for instance you can specify :
+# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times}
+# To use the option intlimits with the amsmath package you can specify:
+# EXTRA_PACKAGES=[intlimits]{amsmath}
+# If left blank no extra packages will be included.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
+# generated LaTeX document. The header should contain everything until the first
+# chapter. If it is left blank doxygen will generate a standard header. See
+# section "Doxygen usage" for information on how to let doxygen write the
+# default header to a separate file.
+#
+# Note: Only use a user-defined header if you know what you are doing! The
+# following commands have a special meaning inside the header: $title,
+# $datetime, $date, $doxygenversion, $projectname, $projectnumber,
+# $projectbrief, $projectlogo. Doxygen will replace $title with the empty
+# string, for the replacement values of the other commands the user is referred
+# to HTML_HEADER.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_HEADER =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the
+# generated LaTeX document. The footer should contain everything after the last
+# chapter. If it is left blank doxygen will generate a standard footer. See
+# LATEX_HEADER for more information on how to generate a default footer and what
+# special commands can be used inside the footer.
+#
+# Note: Only use a user-defined footer if you know what you are doing!
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_FOOTER =
+
+# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined
+# LaTeX style sheets that are included after the standard style sheets created
+# by doxygen. Using this option one can overrule certain style aspects. Doxygen
+# will copy the style sheet files to the output directory.
+# Note: The order of the extra style sheet files is of importance (e.g. the last
+# style sheet in the list overrules the setting of the previous ones in the
+# list).
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EXTRA_STYLESHEET =
+
+# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the LATEX_OUTPUT output
+# directory. Note that the files will be copied as-is; there are no commands or
+# markers available.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_EXTRA_FILES =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is
+# prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will
+# contain links (just like the HTML output) instead of page references. This
+# makes the output suitable for online browsing using a PDF viewer.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate
+# the PDF file directly from the LaTeX files. Set this option to YES, to get a
+# higher quality PDF documentation.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode
+# command to the generated LaTeX files. This will instruct LaTeX to keep running
+# if errors occur, instead of asking the user for help. This option is also used
+# when generating formulas in HTML.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_BATCHMODE = NO
+
+# If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the
+# index chapters (such as File Index, Compound Index, etc.) in the output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_HIDE_INDICES = NO
+
+# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source
+# code with syntax highlighting in the LaTeX output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_SOURCE_CODE = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. See
+# https://en.wikipedia.org/wiki/BibTeX and \cite for more info.
+# The default value is: plain.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
LATEX_BIB_STYLE = plain
+
+# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
+# page will contain the date and time when the page was generated. Setting this
+# to NO can help when comparing the output of multiple runs.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_TIMESTAMP = NO
+
+# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
+# path from which the emoji images will be read. If a relative path is entered,
+# it will be relative to the LATEX_OUTPUT directory. If left blank the
+# LATEX_OUTPUT directory will be used.
+# This tag requires that the tag GENERATE_LATEX is set to YES.
+
+LATEX_EMOJI_DIRECTORY =
+
#---------------------------------------------------------------------------
# Configuration options related to the RTF output
#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The
+# RTF output is optimized for Word 97 and may not look too pretty with other RTF
+# readers/editors.
+# The default value is: NO.
+
GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: rtf.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF
+# documents. This may be useful for small projects and may help to save some
+# trees in general.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will
+# contain hyperlink fields. The RTF file will contain links (just like the HTML
+# output) instead of page references. This makes the output suitable for online
+# browsing using Word or some other Word compatible readers that support those
+# fields.
+#
+# Note: WordPad (write) and others do not support links.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
RTF_HYPERLINKS = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# configuration file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+#
+# See also section "Doxygen usage" for information on how to generate the
+# default style sheet that doxygen normally uses.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an RTF document. Syntax is
+# similar to doxygen's configuration file. A template extensions file can be
+# generated using doxygen -e rtf extensionFile.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
RTF_EXTENSIONS_FILE =
+
+# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code
+# with syntax highlighting in the RTF output.
+#
+# Note that which sources are shown also depends on other settings such as
+# SOURCE_BROWSER.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_RTF is set to YES.
+
+RTF_SOURCE_CODE = NO
+
#---------------------------------------------------------------------------
# Configuration options related to the man page output
#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for
+# classes and files.
+# The default value is: NO.
+
GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it. A directory man3 will be created inside the directory specified by
+# MAN_OUTPUT.
+# The default directory is: man.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to the generated
+# man pages. In case the manual section does not start with a number, the number
+# 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is
+# optional.
+# The default value is: .3.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
MAN_EXTENSION = .3
+
+# The MAN_SUBDIR tag determines the name of the directory created within
+# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by
+# MAN_EXTENSION with the initial . removed.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
MAN_SUBDIR =
+
+# If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
+# will generate one additional man file for each entity documented in the real
+# man page(s). These additional files only source the real man page, but without
+# them the man command would be unable to find the correct page.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_MAN is set to YES.
+
MAN_LINKS = NO
+
#---------------------------------------------------------------------------
# Configuration options related to the XML output
#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that
+# captures the structure of the code including all documentation.
+# The default value is: NO.
+
GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
+# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
+# it.
+# The default directory is: xml.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
XML_OUTPUT = xml
+
+# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program
+# listings (including syntax highlighting and cross-referencing information) to
+# the XML output. Note that enabling this will significantly increase the size
+# of the XML output.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
XML_PROGRAMLISTING = YES
+
+# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include
+# namespace members in file scope as well, matching the HTML output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_XML is set to YES.
+
+XML_NS_MEMB_FILE_SCOPE = NO
+
#---------------------------------------------------------------------------
# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
+
+# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files
+# that can be used to generate PDF.
+# The default value is: NO.
+
GENERATE_DOCBOOK = NO
+
+# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in
+# front of it.
+# The default directory is: docbook.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
DOCBOOK_OUTPUT = docbook
+
+# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the
+# program listings (including syntax highlighting and cross-referencing
+# information) to the DOCBOOK output. Note that enabling this will significantly
+# increase the size of the DOCBOOK output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_DOCBOOK is set to YES.
+
DOCBOOK_PROGRAMLISTING = NO
+
#---------------------------------------------------------------------------
# Configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an
+# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures
+# the structure of the code including all documentation. Note that this feature
+# is still experimental and incomplete at the moment.
+# The default value is: NO.
+
GENERATE_AUTOGEN_DEF = NO
+
#---------------------------------------------------------------------------
# Configuration options related to the Perl module output
#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module
+# file that captures the structure of the code including all documentation.
+#
+# Note that this feature is still experimental and incomplete at the moment.
+# The default value is: NO.
+
GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary
+# Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI
+# output from the Perl module output.
+# The default value is: NO.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely
+# formatted so it can be parsed by a human reader. This is useful if you want to
+# understand what is going on. On the other hand, if this tag is set to NO, the
+# size of the Perl module output will be much smaller and Perl will parse it
+# just the same.
+# The default value is: YES.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file are
+# prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful
+# so different doxyrules.make files included by the same Makefile don't
+# overwrite each other's variables.
+# This tag requires that the tag GENERATE_PERLMOD is set to YES.
+
PERLMOD_MAKEVAR_PREFIX =
+
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all
+# C-preprocessor directives found in the sources and include files.
+# The default value is: YES.
+
ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names
+# in the source code. If set to NO, only conditional compilation will be
+# performed. Macro expansion can be done in a controlled way by setting
+# EXPAND_ONLY_PREDEF to YES.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
MACRO_EXPANSION = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then
+# the macro expansion is limited to the macros specified with the PREDEFINED and
+# EXPAND_AS_DEFINED tags.
+# The default value is: NO.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
EXPAND_ONLY_PREDEF = NO
+
+# If the SEARCH_INCLUDES tag is set to YES, the include files in the
+# INCLUDE_PATH will be searched if a #include is found.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by the
+# preprocessor.
+# This tag requires that the tag SEARCH_INCLUDES is set to YES.
+
INCLUDE_PATH = ../../src \
../../3rdparty
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will be
+# used.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that are
@@ -418,6 +2111,7 @@ INCLUDE_FILE_PATTERNS =
# is assumed. To prevent a macro definition from being undefined via #undef or
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
PREDEFINED =
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
@@ -426,34 +2120,108 @@ PREDEFINED =
# tag if you want to use a different macro definition that overrules the
# definition found in the source code.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
+# remove all references to function-like macros that are alone on a line, have
+# an all uppercase name, and do not end with a semicolon. Such function macros
+# are typically used for boiler-plate code, and will confuse the parser if not
+# removed.
+# The default value is: YES.
+# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
+
SKIP_FUNCTION_MACROS = NO
+
#---------------------------------------------------------------------------
# Configuration options related to external references
#---------------------------------------------------------------------------
+
+# The TAGFILES tag can be used to specify one or more tag files. For each tag
+# file the location of the external documentation should be added. The format of
+# a tag file without this location is as follows:
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where loc1 and loc2 can be relative or absolute paths or URLs. See the
+# section "Linking to external documentation" for more information about the use
+# of tag files.
+# Note: Each tag file must have a unique name (where the name does NOT include
+# the path). If a tag file is not located in the directory in which doxygen is
+# run, you must also specify the path to the tagfile here.
+
TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
+# tag file that is based on the input files it reads. See section "Linking to
+# external documentation" for more information about the usage of tag files.
+
GENERATE_TAGFILE =
-# If the ALLEXTERNALS tag is set to YES all external class will be listed in the
-# class index. If set to NO only the inherited external classes will be listed.
+# If the ALLEXTERNALS tag is set to YES, all external class will be listed in
+# the class index. If set to NO, only the inherited external classes will be
+# listed.
# The default value is: NO.
+
ALLEXTERNALS = NO
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in
-# the modules index. If set to NO, only the current project's groups will be
+# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will be
# listed.
# The default value is: YES.
+
EXTERNAL_GROUPS = YES
+
+# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in
+# the related pages index. If set to NO, only the current project's pages will
+# be listed.
+# The default value is: YES.
+
EXTERNAL_PAGES = YES
-PERL_PATH = /usr/bin/perl
+
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram
+# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to
+# NO turns the diagrams off. Note that this option also works with HAVE_DOT
+# disabled, but it is recommended to install and use dot, since it yields more
+# powerful graphs.
+# The default value is: YES.
+
CLASS_DIAGRAMS = YES
-MSCGEN_PATH =
+
+# You can include diagrams made with dia in doxygen documentation. Doxygen will
+# then run dia to produce the diagram and insert it in the documentation. The
+# DIA_PATH tag allows you to specify the directory where the dia binary resides.
+# If left empty dia is assumed to be found in the default search path.
+
DIA_PATH =
+
+# If set to YES the inheritance and collaboration graphs will hide inheritance
+# and usage relations if the target is undocumented or is not a class.
+# The default value is: YES.
+
HIDE_UNDOC_RELATIONS = NO
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz (see:
+# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent
+# Bell Labs. The other options in this section have no effect if this option is
+# set to NO
+# The default value is: NO.
+
HAVE_DOT = YES
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed
+# to run in parallel. When set to 0 doxygen will base this on the number of
+# processors available in the system. You can set it explicitly to a value
+# larger than 0 to get control over the balance between CPU load and processing
+# speed.
+# Minimum value: 0, maximum value: 32, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_NUM_THREADS = 0
# When you want a differently looking font in the dot files that doxygen
@@ -463,19 +2231,66 @@ DOT_NUM_THREADS = 0
# setting DOT_FONTPATH to the directory containing the font.
# The default value is: Helvetica.
# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_FONTNAME = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
+# dot graphs.
+# Minimum value: 4, maximum value: 24, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the default font as specified with
+# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set
+# the path where dot can find it using this tag.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_FONTPATH =
+
+# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for
+# each documented class showing the direct and indirect inheritance relations.
+# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
CLASS_GRAPH = YES
+
+# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
+# graph for each documented class showing the direct and indirect implementation
+# dependencies (inheritance, containment, and class references variables) of the
+# class with other documented classes.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
COLLABORATION_GRAPH = YES
+
+# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
+# groups, showing the direct groups dependencies.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
GROUP_GRAPHS = YES
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
# collaboration diagrams in a style similar to the OMG's Unified Modeling
# Language.
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
+
UML_LOOK = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside the
+# class node. If there are many fields or methods and many nodes the graph may
+# become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the
+# number of items for each type to make the size more manageable. Set this to 0
+# for no limit. Note that the threshold may be exceeded by 50% before the limit
+# is enforced. So when you set the threshold to 10, up to 15 fields may appear,
+# but if the number exceeds 15, the total amount of fields shown is limited to
+# 10.
+# Minimum value: 0, maximum value: 100, default value: 10.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
UML_LIMIT_NUM_FIELDS = 10
# If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and
@@ -483,23 +2298,193 @@ UML_LIMIT_NUM_FIELDS = 10
# instances.
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
+
TEMPLATE_RELATIONS = NO
+
+# If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to
+# YES then doxygen will generate a graph for each documented file showing the
+# direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
INCLUDE_GRAPH = YES
+
+# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
+# set to YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other documented
+# files.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
INCLUDED_BY_GRAPH = YES
+
+# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable call graphs for selected
+# functions only using the \callgraph command. Disabling a call graph can be
+# accomplished by means of the command \hidecallgraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
CALL_GRAPH = YES
+
+# If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller
+# dependency graph for every global function or class method.
+#
+# Note that enabling this option will significantly increase the time of a run.
+# So in most cases it will be better to enable caller graphs for selected
+# functions only using the \callergraph command. Disabling a caller graph can be
+# accomplished by means of the command \hidecallergraph.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
CALLER_GRAPH = YES
+
+# If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical
+# hierarchy of all classes instead of a textual one.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
GRAPHICAL_HIERARCHY = YES
+
+# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
+# dependencies a directory has on other directories in a graphical way. The
+# dependency relations are determined by the #include relations between the
+# files in the directories.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DIRECTORY_GRAPH = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. For an explanation of the image formats see the section
+# output formats in the documentation of the dot tool (Graphviz (see:
+# http://www.graphviz.org/)).
+# Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order
+# to make the SVG files visible in IE 9+ (other browsers do not have this
+# requirement).
+# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo,
+# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and
+# png:gdiplus:gdiplus.
+# The default value is: png.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_IMAGE_FORMAT = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+#
+# Note that this requires a modern browser other than Internet Explorer. Tested
+# and working are Firefox, Chrome, Safari, and Opera.
+# Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make
+# the SVG files visible. Older versions of IE do not have SVG support.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
INTERACTIVE_SVG = NO
+
+# The DOT_PATH tag can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the \dotfile
+# command).
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOTFILE_DIRS =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the \mscfile
+# command).
+
MSCFILE_DIRS =
+
+# The DIAFILE_DIRS tag can be used to specify one or more directories that
+# contain dia files that are included in the documentation (see the \diafile
+# command).
+
DIAFILE_DIRS =
+
+# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the
+# path where java can find the plantuml.jar file. If left blank, it is assumed
+# PlantUML is not used or called during a preprocessing step. Doxygen will
+# generate a warning when it encounters a \startuml command in this case and
+# will not generate output for the diagram.
+
PLANTUML_JAR_PATH =
+
+# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a
+# configuration file for plantuml.
+
+PLANTUML_CFG_FILE =
+
+# When using plantuml, the specified paths are searched for files specified by
+# the !include statement in a plantuml block.
+
+PLANTUML_INCLUDE_PATH =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes
+# that will be shown in the graph. If the number of nodes in a graph becomes
+# larger than this value, doxygen will truncate the graph, which is visualized
+# by representing a node as a red box. Note that doxygen if the number of direct
+# children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that
+# the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+# Minimum value: 0, maximum value: 10000, default value: 50.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_GRAPH_MAX_NODES = 100
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
+# generated by dot. A depth value of 3 means that only nodes reachable from the
+# root by following a path via at most 3 edges will be shown. Nodes that lay
+# further from the root node will be omitted. Note that setting this option to 1
+# or 2 may greatly reduce the computation time needed for large code bases. Also
+# note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+# Minimum value: 0, maximum value: 1000, default value: 0.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
MAX_DOT_GRAPH_DEPTH = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not seem
+# to support this out of the box.
+#
+# Warning: Depending on the platform used, enabling this option may lead to
+# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
+# read).
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_TRANSPARENT = YES
+
+# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10) support
+# this, this feature is disabled by default.
+# The default value is: NO.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_MULTI_TARGETS = YES
+
+# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
+# explaining the meaning of the various boxes and arrows in the dot generated
+# graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
+# files that are used to generate the various graphs.
+# The default value is: YES.
+# This tag requires that the tag HAVE_DOT is set to YES.
+
DOT_CLEANUP = YES
diff --git a/tools/install_mariadb.bat b/tools/install_mariadb.bat
new file mode 100644
index 000000000..cfe2ce3b7
--- /dev/null
+++ b/tools/install_mariadb.bat
@@ -0,0 +1,7 @@
+@echo off
+
+:: this file installs the mariadb service
+
+if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b)
+mysqld.exe --install "MySQL"
+net start MySQL
diff --git a/tools/item_merge.lua b/tools/item_merge.lua
index 2ef08eb7b..ba2e4b9b9 100644
--- a/tools/item_merge.lua
+++ b/tools/item_merge.lua
@@ -1,7 +1,7 @@
-- This file is part of Hercules.
-- http://herc.ws - http://github.com/HerculesWS/Hercules
--
--- Copyright (C) 2014-2015 Hercules Dev Team
+-- Copyright (C) 2014-2020 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/tools/itemcombodbconverter.py b/tools/itemcombodbconverter.py
new file mode 100644
index 000000000..33519646a
--- /dev/null
+++ b/tools/itemcombodbconverter.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python3
+# -*- coding: utf8 -*-
+#
+# This file is part of Hercules.
+# http://herc.ws - http://github.com/HerculesWS/Hercules
+#
+# Copyright (C) 2019-2020 Hercules Dev Team
+# Copyright (C) 2019 Asheraf
+#
+# 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/>.
+#
+
+import argparse
+import json
+import re
+from utils import libconf
+import utils.common as Tools
+
+
+def ConvertFile(args):
+ print(r'''//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019-2020 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/>.
+//================= Description ===========================================
+// Configurations file for status effects
+//=========================================================================
+
+combo_db: (
+/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+{
+ // ================ Mandatory fields ===============================
+ Items: ["item_list"] (string, array) list of items
+ Script: <"
+ Script
+ (it can be multi-line)
+ ">
+}
+**************************************************************************/''')
+ ItemDB = Tools.LoadDBConsts('item_db', f'{args.mode}', '../')
+ with open (f'../db/{args.mode}/item_combo_db.txt') as dbfile:
+ line = 0
+ for entry in dbfile:
+ line = line + 1
+ if not entry.strip() or entry.startswith('//'):
+ continue
+ m = re.search(r'(^[0-9:]+),\{(.*)\}$', entry)
+ if not m:
+ print(f'Error: Invalid pattern in entry {entry}, line {line}, aborting..')
+ exit()
+
+ items_list = m.group(1).split(':')
+ script = m.group(2)
+ for item in range(len(items_list)):
+ if int(items_list[item]) not in ItemDB:
+ print(f'Error: invalid item {item} found in line {line}, aborting..')
+ exit()
+ items_list[item] = ItemDB[int(items_list[item])]
+
+ if args.enable_jsbeautifier:
+ import jsbeautifier
+ opts = jsbeautifier.default_options()
+ opts.indent_with_tabs = True
+ opts.indent_level = 2
+ script = jsbeautifier.beautify(script, opts)
+ print(
+f'''{{
+ Items: {json.dumps(items_list)}
+ Script: <"\n{script}\n\t">
+}},''')
+ print(')')
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser(description='Convert item combo db to new format')
+ parser.add_argument('--mode', type=str, dest='mode', help='Define usage mode re/pre-re.')
+ parser.add_argument('--enable-jsbeautifier', type=bool, dest='enable_jsbeautifier', help='Use jsbeautifier to auto format script fields.')
+ parsed_args = parser.parse_args()
+ ConvertFile(parsed_args)
diff --git a/tools/itemdb_jobmask_converter.pl b/tools/itemdb_jobmask_converter.pl
index 11a5e7a5f..e9295c217 100644
--- a/tools/itemdb_jobmask_converter.pl
+++ b/tools/itemdb_jobmask_converter.pl
@@ -3,7 +3,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2016 Hercules Dev Team
+# Copyright (C) 2016-2020 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/tools/itemdbconverter.pl b/tools/itemdbconverter.pl
index 58cb08bc1..913af0486 100755
--- a/tools/itemdbconverter.pl
+++ b/tools/itemdbconverter.pl
@@ -3,7 +3,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-2020 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
@@ -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/mobavailconverter.py b/tools/mobavailconverter.py
new file mode 100644
index 000000000..377557710
--- /dev/null
+++ b/tools/mobavailconverter.py
@@ -0,0 +1,94 @@
+#!/usr/bin/env python
+# -*- coding: utf8 -*-
+#
+# This file is part of Hercules.
+# http://herc.ws - http://github.com/HerculesWS/Hercules
+#
+# Copyright (C) 2019-2020 Hercules Dev Team
+# Copyright (C) 2019 Asheraf
+#
+# 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/>.
+#
+
+import re
+import csv
+
+f = open('../db/re/mob_db.conf')
+mob_db = f.read()
+
+with open('../db/mob_avail.txt') as dbfile:
+ mob_avail = csv.reader(dbfile, delimiter=',')
+
+ for mob in mob_avail:
+ if len(mob) == 0 or mob[0].startswith('//'):
+ continue
+
+ mob = [re.sub(r'//.*', '', i).strip() for i in mob]
+
+ mob_id = int(mob[0])
+ sprite_id = int(mob[1])
+ weapon = 0
+ shield = 0
+ head_top = 0
+ head_mid = 0
+ head_bottom = 0
+ hair_style = 0
+ hair_color = 0
+ cloth_color = 0
+ gender = 0
+ option = 0
+ if len(mob) == 3:
+ head_bottom = int(mob[2])
+ elif len(mob) == 12:
+ gender = int(mob[2])
+ hair_style = int(mob[3])
+ hair_color = int(mob[4])
+ weapon = int(mob[5])
+ shield = int(mob[6])
+ head_top = int(mob[7])
+ head_mid = int(mob[8])
+ head_bottom = int(mob[9])
+ option = int(mob[10])
+ cloth_color = int(mob[11])
+
+ s = ''
+ s += '\tViewData: {\n'
+ s += '\t\tSpriteId: {}\n'.format(sprite_id)
+ if weapon != 0:
+ s += '\t\tWeaponId: {}\n'.format(weapon)
+ if shield != 0:
+ s += '\t\tShieldId: {}\n'.format(shield)
+ if head_top != 0:
+ s += '\t\tHeadTopId: {}\n'.format(head_top)
+ if head_mid != 0:
+ s += '\t\tHeadMidId: {}\n'.format(head_mid)
+ if head_bottom != 0:
+ s += '\t\tHeadLowId: {}\n'.format(head_bottom)
+ if hair_style != 0:
+ s += '\t\tHairStyleId: {}\n'.format(hair_style)
+ if hair_color != 0:
+ s += '\t\tHairColorId: {}\n'.format(hair_color)
+ if cloth_color != 0:
+ s += '\t\tBodyColorId: {}\n'.format(cloth_color)
+ if gender != 0:
+ s += '\t\tGender: SEX_MALE\n'
+ if option != 0:
+ s += '\t\tOptions: {}\n'.format(option)
+ s += '\t}'
+
+ mob_db = re.sub(
+ r'(\tId: ' + str(mob_id) + r'\n([\S\s]*?)(?=},))},',
+ r'\1' + str(s) + r'\n},',
+ mob_db)
+ print(mob_db)
diff --git a/tools/mobdbconvall.sh b/tools/mobdbconvall.sh
index 45eb8c38f..4cbd21a56 100755
--- a/tools/mobdbconvall.sh
+++ b/tools/mobdbconvall.sh
@@ -3,7 +3,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2015-2015 Hercules Dev Team
+# Copyright (C) 2015-2020 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/tools/mobdbconverter.py b/tools/mobdbconverter.py
index 683e28274..8a220b08d 100755
--- a/tools/mobdbconverter.py
+++ b/tools/mobdbconverter.py
@@ -1,11 +1,11 @@
-#! /usr/bin/env python
+#! /usr/bin/env python3
# -*- coding: utf8 -*-
#
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2015 Hercules Dev Team
-# Copyright (C) 2015 Andrei Karas (4144)
+# Copyright (C) 2015-2020 Hercules Dev Team
+# Copyright (C) 2015 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
@@ -141,6 +141,24 @@ def isHaveData(fields, start, cnt):
return True
return False
+def convertToSize(size):
+ sizes = ["Size_Small", "Size_Medium", "Size_Large"]
+ if (size >= len(sizes)):
+ return size
+ return f'"{sizes[size]}"'
+
+def convertToRace(race):
+ races = ["RC_Formless", "RC_Undead", "RC_Brute", "RC_Plant", "RC_Insect", "RC_Fish", "RC_Demon", "RC_DemiHuman", "RC_Angel", "RC_Dragon"]
+ if (race >= len(races)):
+ return race
+ return f'"{races[race]}"'
+
+def convertToElement(element):
+ elements = ["Ele_Neutral", "Ele_Water", "Ele_Earth", "Ele_Fire", "Ele_Wind", "Ele_Poison", "Ele_Holy", "Ele_Dark", "Ele_Ghost", "Ele_Undead"]
+ if (element >= len(elements)):
+ return element
+ return f'"{elements[element]}"'
+
def convertFile(inFile, itemDb):
if inFile != "" and not os.path.exists(inFile):
return
@@ -186,9 +204,9 @@ def convertFile(inFile, itemDb):
endGroup()
printField("ViewRange", fields[20])
printField("ChaseRange", fields[21])
- printField("Size", fields[22])
- printField("Race", fields[23])
- print("\tElement: ({0}, {1})".format(int(fields[24]) % 10, int(int(fields[24]) / 20)));
+ printField("Size", convertToSize(int(fields[22])))
+ printField("Race", convertToRace(int(fields[23])))
+ print("\tElement: ({0}, {1})".format(convertToElement(int(fields[24]) % 10), int(int(fields[24]) / 20)));
mode = int(fields[25], 0)
if mode != 0:
startGroup("Mode")
@@ -277,13 +295,13 @@ def readItemDB(inFile, itemDb):
return itemDb
if len(sys.argv) != 4 and len(sys.argv) != 3:
- printHelp();
+ printHelp()
exit(1)
startPath = sys.argv[2]
if len(sys.argv) == 4:
sourceFile = sys.argv[3]
else:
- sourceFile = "";
+ sourceFile = ""
itemDb = dict()
if sys.argv[1] == "re":
@@ -293,7 +311,7 @@ elif sys.argv[1] == "pre-re":
itemDb = readItemDB(startPath + "/db/pre-re/item_db.conf", itemDb)
itemDb = readItemDB(startPath + "/db/item_db2.conf", itemDb)
else:
- printHelp();
+ printHelp()
exit(1)
convertFile(sourceFile, itemDb)
diff --git a/tools/mobskilldbconverter.py b/tools/mobskilldbconverter.py
index 4ba042062..ac73b1f7b 100644..100755
--- a/tools/mobskilldbconverter.py
+++ b/tools/mobskilldbconverter.py
@@ -4,8 +4,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2018 Hercules Dev Team
-# Copyright (C) 2018 Asheraf
+# Copyright (C) 2018-2020 Hercules Dev Team
+# Copyright (C) 2018 Asheraf
#
# 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/tools/petdbconverter.py b/tools/petdbconverter.py
index 1b7d2e4d6..220d54531 100644
--- a/tools/petdbconverter.py
+++ b/tools/petdbconverter.py
@@ -4,9 +4,9 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2018 Hercules Dev Team
-# Copyright (C) 2018 Asheraf
-# Copyright (C) 2015 Andrei Karas (4144)
+# Copyright (C) 2018-2020 Hercules Dev Team
+# Copyright (C) 2018 Asheraf
+# Copyright (C) 2015 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
@@ -211,4 +211,4 @@ else:
printHelp();
exit(1)
-convertFile(sourceFile, itemDb) \ No newline at end of file
+convertFile(sourceFile, itemDb)
diff --git a/tools/petevolutionconverter.py b/tools/petevolutionconverter.py
index 0ccc71314..5428ff6eb 100644
--- a/tools/petevolutionconverter.py
+++ b/tools/petevolutionconverter.py
@@ -4,7 +4,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2018 Hercules Dev Team
+# Copyright (C) 2018-2020 Hercules Dev Team
# Copyright (C) 2018 Dastgir
#
# Hercules is free software: you can redistribute it and/or modify
@@ -39,7 +39,7 @@ def printHeader():
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2018 Hercules Dev Team
+//= Copyright (C) 2018-2020 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/tools/php-sqllint/bin/php-sqllint b/tools/php-sqllint/bin/php-sqllint
new file mode 100755
index 000000000..fd766bc07
--- /dev/null
+++ b/tools/php-sqllint/bin/php-sqllint
@@ -0,0 +1,31 @@
+#!/usr/bin/env php
+<?php
+/**
+ * SQL linter (syntax checker) written in PHP
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/php-sqllint.htm
+ */
+namespace phpsqllint;
+
+if (file_exists(__DIR__ . '/../vendor/autoload.php')) {
+ //local git checkout
+ include_once __DIR__ . '/../vendor/autoload.php';
+} else if (file_exists('vendor/autoload.php')) {
+ //dependency composer installation
+ include_once 'vendor/autoload.php';
+}
+
+if (file_exists(__DIR__ . '/../src/phpsqllint/Autoloader.php')) {
+ include_once __DIR__ . '/../src/phpsqllint/Autoloader.php';
+ Autoloader::register();
+}
+
+$cli = new Cli();
+$cli->run();
+?> \ No newline at end of file
diff --git a/tools/php-sqllint/build.xml b/tools/php-sqllint/build.xml
new file mode 100644
index 000000000..e1f45f0a4
--- /dev/null
+++ b/tools/php-sqllint/build.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project name="php-sqllint" default="phar" basedir=".">
+
+ <!--<property name="version" value="dev" />-->
+ <loadfile property="version" file="VERSION">
+ <filterchain>
+ <striplinebreaks />
+ </filterchain>
+ </loadfile>
+
+ <property name="pharfile" value="${phing.dir}/dist/${phing.project.name}-${version}.phar" />
+ <property name="pharfilebz2" value="${phing.dir}/dist/${phing.project.name}-${version}.bz2.phar" />
+ <property name="libdir" value="${phing.dir}/lib"/>
+
+ <fileset id="fs.phar" dir="${phing.dir}">
+ <include name="bin/**"/>
+ <include name="lib/**"/>
+ <include name="src/**"/>
+
+ <include name="README.rst"/>
+ <include name="VERSION"/>
+
+ <include name="vendor/autoload.php"/>
+ <include name="vendor/composer/*.php"/>
+ <include name="vendor/pear/console_commandline/Console/**"/>
+ <include name="vendor/pear/pear_exception/PEAR/**"/>
+ <include name="vendor/phpmyadmin/sql-parser/src/**"/>
+ </fileset>
+
+
+ <typedef name="pearPackageFileSet" classname="phing.types.PearPackageFileSet" />
+
+ <target name="phar" depends="collectdeps"
+ description="Create zip file for release"
+ >
+ <!-- strip the shebang from bin script -->
+ <copy file="${phing.dir}/bin/php-sqllint" tofile="${phing.dir}/bin/phar-php-sqllint.php">
+ <filterchain>
+ <striplinecomments>
+ <comment value="#" />
+ </striplinecomments>
+ </filterchain>
+ </copy>
+
+ <mkdir dir="${phing.dir}/dist"/>
+ <delete file="${pharfile}"/>
+ <pharpackage basedir="${phing.dir}"
+ destfile="${pharfile}"
+ stub="${phing.dir}/src/stub-phar.php"
+ alias="php-sqllint.phar"
+ compression="none"
+ >
+ <fileset refid="fs.phar"/>
+ </pharpackage>
+
+ <pharpackage basedir="${phing.dir}"
+ destfile="${pharfilebz2}"
+ stub="${phing.dir}/src/stub-phar.php"
+ alias="php-sqllint.phar"
+ compression="bzip2"
+ >
+ <fileset refid="fs.phar"/>
+ </pharpackage>
+
+ <exec executable="chmod">
+ <arg value="+x"/>
+ <arg value="${pharfile}"/>
+ <arg value="${pharfilebz2}"/>
+ </exec>
+ </target>
+
+
+ <target name="collectdeps" description="Copy package dependencies to lib/">
+ <exec command="composer install"/>
+ <!--
+ <delete dir="${libdir}"/>
+ <mkdir dir="${libdir}"/>
+
+ <pearPackageFileset id="dep-Console_CommandLine" package="pear.php.net/Console_CommandLine"/>
+ <pearPackageFileset id="dep-PEAR" package="pear.php.net/PEAR">
+ <include name="PEAR/Exception.php"/>
+ </pearPackageFileset>
+
+ <copy todir="${libdir}">
+ <fileset refid="dep-Console_CommandLine"/>
+ <fileset refid="dep-PEAR"/>
+ </copy>
+ -->
+ </target>
+
+
+ <target name="docs" description="render documentation">
+ <rst file="README.rst"/>
+ </target>
+
+ <target name="update-website" depends="docs">
+ <exec command="xmlstarlet sel -t -c '/_:html/_:body/_:div' README.html
+ | xmllint --format -
+ |grep -v '?xml version'
+ > ~/Dev/html/cweiske.de/www/php-sqllint.htm"/>
+ </target>
+
+</project>
diff --git a/tools/php-sqllint/composer.json b/tools/php-sqllint/composer.json
new file mode 100644
index 000000000..bde2da14d
--- /dev/null
+++ b/tools/php-sqllint/composer.json
@@ -0,0 +1,22 @@
+{
+ "name": "cweiske/php-sqllint",
+ "description": "Command line tool to validate (syntax check) SQL files",
+ "type": "project",
+ "bin": ["bin/php-sqllint"],
+ "require": {
+ "phpmyadmin/sql-parser": "^4.1.1",
+ "pear/console_commandline": "^1.2"
+ },
+ "homepage": "http://cweiske.de/php-sqllint.htm",
+ "license": "AGPL-3.0",
+ "authors": [
+ {
+ "name": "Christian Weiske",
+ "email": "cweiske@cweiske.de",
+ "homepage": "http://cweiske.de/"
+ }
+ ],
+ "support": {
+ "issues": "https://github.com/cweiske/php-sqllint/issues"
+ }
+}
diff --git a/tools/php-sqllint/composer.lock b/tools/php-sqllint/composer.lock
new file mode 100644
index 000000000..a30dda3bf
--- /dev/null
+++ b/tools/php-sqllint/composer.lock
@@ -0,0 +1,186 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+ "This file is @generated automatically"
+ ],
+ "hash": "642c0759e68495342f0e4ec0a8b45575",
+ "content-hash": "e52fa298a0c5ce2ff75067ab99b00ce7",
+ "packages": [
+ {
+ "name": "pear/console_commandline",
+ "version": "v1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pear/Console_CommandLine.git",
+ "reference": "7a8afa50bdc8dbfdc0cf394f1101106e8b8f8e67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pear/Console_CommandLine/zipball/7a8afa50bdc8dbfdc0cf394f1101106e8b8f8e67",
+ "reference": "7a8afa50bdc8dbfdc0cf394f1101106e8b8f8e67",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-xml": "*",
+ "pear/pear_exception": "^1.0.0",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "*"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Console": "./"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "include-path": [
+ ""
+ ],
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Richard Quadling",
+ "email": "rquadling@gmail.com"
+ },
+ {
+ "name": "David Jean Louis",
+ "email": "izimobil@gmail.com"
+ }
+ ],
+ "description": "A full featured command line options and arguments parser.",
+ "homepage": "https://github.com/pear/Console_CommandLine",
+ "keywords": [
+ "console"
+ ],
+ "time": "2016-07-14 06:00:57"
+ },
+ {
+ "name": "pear/pear_exception",
+ "version": "v1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pear/PEAR_Exception.git",
+ "reference": "8c18719fdae000b690e3912be401c76e406dd13b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/8c18719fdae000b690e3912be401c76e406dd13b",
+ "reference": "8c18719fdae000b690e3912be401c76e406dd13b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=4.4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "*"
+ },
+ "type": "class",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "PEAR": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "include-path": [
+ "."
+ ],
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Helgi Thormar",
+ "email": "dufuz@php.net"
+ },
+ {
+ "name": "Greg Beaver",
+ "email": "cellog@php.net"
+ }
+ ],
+ "description": "The PEAR Exception base class.",
+ "homepage": "https://github.com/pear/PEAR_Exception",
+ "keywords": [
+ "exception"
+ ],
+ "time": "2015-02-10 20:07:52"
+ },
+ {
+ "name": "phpmyadmin/sql-parser",
+ "version": "v4.1.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpmyadmin/sql-parser.git",
+ "reference": "deac47217144b21056271674533b289239e1b279"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/deac47217144b21056271674533b289239e1b279",
+ "reference": "deac47217144b21056271674533b289239e1b279",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "php": ">=5.3.0"
+ },
+ "conflict": {
+ "phpmyadmin/motranslator": "<3.0"
+ },
+ "require-dev": {
+ "phpunit/php-code-coverage": "*",
+ "phpunit/phpunit": "~4.8 || ~5.7"
+ },
+ "suggest": {
+ "phpmyadmin/motranslator": "Translate messages to your favorite locale"
+ },
+ "bin": [
+ "bin/highlight-query",
+ "bin/lint-query"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PhpMyAdmin\\SqlParser\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0+"
+ ],
+ "authors": [
+ {
+ "name": "The phpMyAdmin Team",
+ "email": "developers@phpmyadmin.net",
+ "homepage": "https://www.phpmyadmin.net/team/"
+ }
+ ],
+ "description": "A validating SQL lexer and parser with a focus on MySQL dialect.",
+ "homepage": "https://github.com/phpmyadmin/sql-parser",
+ "keywords": [
+ "analysis",
+ "lexer",
+ "parser",
+ "sql"
+ ],
+ "time": "2017-07-12 14:54:33"
+ }
+ ],
+ "packages-dev": [],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": [],
+ "platform-dev": []
+}
diff --git a/tools/php-sqllint/src/phpsqllint/Autoloader.php b/tools/php-sqllint/src/phpsqllint/Autoloader.php
new file mode 100644
index 000000000..6811b82f1
--- /dev/null
+++ b/tools/php-sqllint/src/phpsqllint/Autoloader.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Part of php-sqllint
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2014 Christian Weiske
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/php-sqllint.htm
+ */
+namespace phpsqllint;
+
+/**
+ * Class autoloader, PSR-0 compliant.
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2014 Christian Weiske
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @version Release: @package_version@
+ * @link http://cweiske.de/php-sqllint.htm
+ */
+class Autoloader
+{
+ /**
+ * Load the given class
+ *
+ * @param string $class Class name
+ *
+ * @return void
+ */
+ public function load($class)
+ {
+ $file = strtr($class, '_\\', '//') . '.php';
+ if (stream_resolve_include_path($file)) {
+ include $file;
+ }
+ }
+
+ /**
+ * Register this autoloader
+ *
+ * @return void
+ */
+ public static function register()
+ {
+ set_include_path(
+ get_include_path() . PATH_SEPARATOR . __DIR__ . '/../'
+ );
+ spl_autoload_register(array(new self(), 'load'));
+ }
+}
+?> \ No newline at end of file
diff --git a/tools/php-sqllint/src/phpsqllint/Cli.php b/tools/php-sqllint/src/phpsqllint/Cli.php
new file mode 100644
index 000000000..1501815eb
--- /dev/null
+++ b/tools/php-sqllint/src/phpsqllint/Cli.php
@@ -0,0 +1,280 @@
+<?php
+/**
+ * Part of php-sqllint
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/php-sqllint.htm
+ */
+namespace phpsqllint;
+use PhpMyAdmin\SqlParser\Parser;
+
+/**
+ * Command line interface
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://www.emacswiki.org/emacs/CreatingYourOwnCompileErrorRegexp
+ */
+class Cli
+{
+ protected $renderer;
+
+ protected $format = false;
+
+ /**
+ * What syntax highlighting mode should be used
+ *
+ * none, ansi, html
+ */
+ protected $highlight = 'none';
+
+
+ /**
+ * Start processing.
+ *
+ * @return void
+ */
+ public function run()
+ {
+ try {
+ $parser = $this->loadOptionParser();
+ $files = $this->parseParameters($parser);
+
+ $allfine = true;
+ foreach ($files as $filename) {
+ if ($this->format) {
+ $allfine &= $this->formatFile($filename);
+ } else {
+ $allfine &= $this->checkFile($filename);
+ }
+ }
+
+ if ($allfine == true) {
+ exit(0);
+ } else {
+ exit(10);
+ }
+ } catch (\Exception $e) {
+ echo 'Error: ' . $e->getMessage() . "\n";
+ exit(1);
+ }
+ }
+
+ /**
+ * Check a .sql file for syntax errors
+ *
+ * @param string $filename File path
+ *
+ * @return boolean True if there were no errors, false if there were some
+ */
+ public function checkFile($filename)
+ {
+ $this->renderer->startRendering($filename);
+ $sql = $this->loadSql($filename);
+ if ($sql === false) {
+ return false;
+ }
+
+ $parser = new \PhpMyAdmin\SqlParser\Parser($sql);
+ if (count($parser->errors) == 0) {
+ $this->renderer->finishOk();
+ return true;
+ }
+
+ $lines = array(1 => 0);
+ $pos = -1;
+ $line = 1;
+ while (false !== $pos = strpos($sql, "\n", ++$pos)) {
+ $lines[++$line] = $pos;
+ }
+
+ foreach ($parser->errors as $error) {
+ /* @var PhpMyAdmin\SqlParser\Exceptions\ParserException $error) */
+ reset($lines);
+ $line = 1;
+ while (next($lines) && $error->token->position >= current($lines)) {
+ ++$line;
+ }
+ $col = $error->token->position - $lines[$line];
+
+ $this->renderer->displayError(
+ $error->getMessage(),
+ //FIXME: ->token or ->value?
+ $error->token->token,
+ $line,
+ $col
+ );
+ }
+
+ return false;
+ }
+
+ /**
+ * Reformat the given file
+ */
+ protected function formatFile($filename)
+ {
+ $this->renderer->startRendering($filename);
+ $sql = $this->loadSql($filename);
+ if ($sql === false) {
+ return false;
+ }
+
+ $typeMap = array(
+ 'none' => 'text',
+ 'ansi' => 'cli',
+ 'html' => 'html',
+ );
+ $options = array(
+ 'type' => $typeMap[$this->highlight],
+ );
+ echo \PhpMyAdmin\SqlParser\Utils\Formatter::format($sql, $options) . "\n";
+ }
+
+ protected function loadSql($filename)
+ {
+ if ($filename == '-') {
+ $sql = file_get_contents('php://stdin');
+ } else {
+ $sql = file_get_contents($filename);
+ }
+ if (trim($sql) == '') {
+ $this->renderer->displayError('SQL file empty', '', 0, 0);
+ return false;
+ }
+ return $sql;
+ }
+
+ /**
+ * Load parameters for the CLI option parser.
+ *
+ * @return \Console_CommandLine CLI option parser
+ */
+ protected function loadOptionParser()
+ {
+ $parser = new \Console_CommandLine();
+ $parser->description = 'php-sqllint';
+ $parser->version = 'dev';
+ $parser->avoid_reading_stdin = true;
+
+ $versionFile = __DIR__ . '/../../VERSION';
+ if (file_exists($versionFile)) {
+ $parser->version = trim(file_get_contents($versionFile));
+ }
+
+ $parser->addOption(
+ 'format',
+ array(
+ 'short_name' => '-f',
+ 'long_name' => '--format',
+ 'description' => 'Reformat SQL instead of checking',
+ 'action' => 'StoreTrue',
+ 'default' => false,
+ )
+ );
+ $parser->addOption(
+ 'highlight',
+ array(
+ 'short_name' => '-h',
+ 'long_name' => '--highlight',
+ 'description' => 'Highlighting mode (when using --format)',
+ 'action' => 'StoreString',
+ 'choices' => array(
+ 'none',
+ 'ansi',
+ 'html',
+ 'auto',
+ ),
+ 'default' => 'auto',
+ 'add_list_option' => true,
+ )
+ );
+ $parser->addOption(
+ 'renderer',
+ array(
+ 'short_name' => '-r',
+ 'long_name' => '--renderer',
+ 'description' => 'Output mode',
+ 'action' => 'StoreString',
+ 'choices' => array(
+ 'emacs',
+ 'text',
+ ),
+ 'default' => 'text',
+ 'add_list_option' => true,
+ )
+ );
+
+ $parser->addArgument(
+ 'sql_files',
+ array(
+ 'description' => 'SQL files, "-" for stdin',
+ 'multiple' => true
+ )
+ );
+
+ return $parser;
+ }
+
+ /**
+ * Let the CLI option parser parse the options.
+ *
+ * @param object $parser Option parser
+ *
+ * @return array Array of file names
+ */
+ protected function parseParameters(\Console_CommandLine $parser)
+ {
+ try {
+ $result = $parser->parse();
+
+ $rendClass = '\\phpsqllint\\Renderer_'
+ . ucfirst($result->options['renderer']);
+ $this->renderer = new $rendClass();
+
+ $this->format = $result->options['format'];
+
+ $this->highlight = $result->options['highlight'];
+ if ($this->highlight == 'auto') {
+ if (php_sapi_name() == 'cli') {
+ //default coloring to enabled, except
+ // when piping | to another tool
+ $this->highlight = 'ansi';
+ if (function_exists('posix_isatty')
+ && !posix_isatty(STDOUT)
+ ) {
+ $this->highlight = 'none';
+ }
+ } else {
+ //no idea where we are, so do not highlight
+ $this->highlight = 'none';
+ }
+ }
+
+ foreach ($result->args['sql_files'] as $filename) {
+ if ($filename == '-') {
+ continue;
+ }
+ if (!file_exists($filename)) {
+ throw new \Exception('File does not exist: ' . $filename);
+ }
+ if (!is_file($filename)) {
+ throw new \Exception('Not a file: ' . $filename);
+ }
+ }
+
+ return $result->args['sql_files'];
+ } catch (\Exception $exc) {
+ $parser->displayError($exc->getMessage());
+ }
+ }
+
+}
+?>
diff --git a/tools/php-sqllint/src/phpsqllint/Renderer.php b/tools/php-sqllint/src/phpsqllint/Renderer.php
new file mode 100644
index 000000000..5b68ee11a
--- /dev/null
+++ b/tools/php-sqllint/src/phpsqllint/Renderer.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * Part of php-sqllint
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/php-sqllint.htm
+ */
+namespace phpsqllint;
+
+/**
+ * What every renderer has to implement
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://www.emacswiki.org/emacs/CreatingYourOwnCompileErrorRegexp
+ */
+interface Renderer
+{
+ /**
+ * Begin syntax check output rendering
+ *
+ * @param string $filename Path to the SQL file
+ *
+ * @return void
+ */
+ public function startRendering($filename);
+
+ /**
+ * Output errors in GNU style; see emacs compilation.txt
+ *
+ * @param string $msg Error message
+ * @param string $token Character which caused the error
+ * @param integer $line Line at which the error occured
+ * @param integer $col Column at which the error occured
+ *
+ * @return void
+ */
+ public function displayError($msg, $token, $line, $col);
+
+ /**
+ * Finish syntax check output rendering; no syntax errors found
+ *
+ * @return void
+ */
+ public function finishOk();
+}
+?>
diff --git a/tools/php-sqllint/src/phpsqllint/Renderer/Emacs.php b/tools/php-sqllint/src/phpsqllint/Renderer/Emacs.php
new file mode 100644
index 000000000..3a667c7f6
--- /dev/null
+++ b/tools/php-sqllint/src/phpsqllint/Renderer/Emacs.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * Part of php-sqllint
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/php-sqllint.htm
+ */
+namespace phpsqllint;
+
+/**
+ * Output for emacs' compilation mode
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://www.emacswiki.org/emacs/CreatingYourOwnCompileErrorRegexp
+ */
+class Renderer_Emacs implements Renderer
+{
+ protected $filename;
+
+ /**
+ * Begin syntax check output rendering
+ *
+ * @param string $filename Path to the SQL file
+ *
+ * @return void
+ */
+ public function startRendering($filename)
+ {
+ $this->filename = $filename;
+ }
+
+ /**
+ * Output errors in GNU style; see emacs compilation.txt
+ *
+ * @param string $msg Error message
+ * @param string $token Character which caused the error
+ * @param integer $line Line at which the error occured
+ * @param integer $col Column at which the error occured
+ *
+ * @return void
+ */
+ public function displayError($msg, $token, $line, $col)
+ {
+ echo $this->filename
+ . ':' . $line
+ . '.' . $col
+ . ':Error:'
+ . ' '. $msg
+ . "\n";
+ }
+
+ /**
+ * Finish syntax check output rendering; no syntax errors found
+ *
+ * @return void
+ */
+ public function finishOk()
+ {
+ //do nothing
+ }
+}
+?>
diff --git a/tools/php-sqllint/src/phpsqllint/Renderer/Text.php b/tools/php-sqllint/src/phpsqllint/Renderer/Text.php
new file mode 100644
index 000000000..44e7ecbd4
--- /dev/null
+++ b/tools/php-sqllint/src/phpsqllint/Renderer/Text.php
@@ -0,0 +1,102 @@
+<?php
+/**
+ * Part of php-sqllint
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/php-sqllint.htm
+ */
+namespace phpsqllint;
+
+/**
+ * Textual output, easily readable by humans.
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://www.emacswiki.org/emacs/CreatingYourOwnCompileErrorRegexp
+ */
+class Renderer_Text implements Renderer
+{
+ protected $fileshown = false;
+ protected $filename = null;
+
+ /**
+ * Begin syntax check output rendering
+ *
+ * @param string $filename Path to the SQL file
+ *
+ * @return void
+ */
+ public function startRendering($filename)
+ {
+ $this->filename = $filename;
+ $this->fileshown = false;
+ }
+
+
+ protected function showFile()
+ {
+ if ($this->fileshown) {
+ return;
+ }
+
+ echo "Checking SQL syntax of " . $this->filename . "\n";
+ $this->fileshown = true;
+ }
+
+ /**
+ * Show the error to the user.
+ *
+ * @param string $msg Error message
+ * @param string $token Character which caused the error
+ * @param integer $line Line at which the error occured
+ * @param integer $col Column at which the error occured
+ *
+ * @return void
+ */
+ public function displayError($msg, $token, $line, $col)
+ {
+ $this->showFile();
+ echo ' Line ' . $line
+ . ', col ' . $col
+ . ' at "' . $this->niceToken($token) . '":'
+ . ' ' . $msg
+ . "\n";
+ }
+
+ /**
+ * Finish syntax check output rendering; no syntax errors found
+ *
+ * @return void
+ */
+ public function finishOk()
+ {
+ if ($this->fileshown) {
+ echo " OK\n";
+ }
+ }
+
+ /**
+ * Convert the token string to a readable one, especially special
+ * characters like newline and tabs
+ *
+ * @param string $str String with possibly special characters
+ *
+ * @return string Escaped string
+ */
+ protected function niceToken($str)
+ {
+ return str_replace(
+ ["\n", "\r", "\t"],
+ ['\n', '\r', '\t'],
+ $str
+ );
+ }
+}
+?>
diff --git a/tools/php-sqllint/src/stub-phar.php b/tools/php-sqllint/src/stub-phar.php
new file mode 100644
index 000000000..5c8629e23
--- /dev/null
+++ b/tools/php-sqllint/src/stub-phar.php
@@ -0,0 +1,18 @@
+#!/usr/bin/env php
+<?php
+/**
+ * Phar stub file for php-sqllint. Handles startup of the .phar file.
+ *
+ * PHP version 5
+ *
+ * @category Tools
+ * @package PHP-SQLlint
+ * @author Christian Weiske <cweiske@cweiske.de>
+ * @copyright 2015 Christian Weiske
+ * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
+ * @link http://cweiske.de/php-sqllint.htm
+ */
+Phar::mapPhar('php-sqllint.phar');
+require 'phar://php-sqllint.phar/bin/phar-php-sqllint.php';
+__HALT_COMPILER();
+?>
diff --git a/tools/questdbconverter.pl b/tools/questdbconverter.pl
index 42017758a..9bdc650aa 100755
--- a/tools/questdbconverter.pl
+++ b/tools/questdbconverter.pl
@@ -3,7 +3,7 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2015 Hercules Dev Team
+# Copyright (C) 2015-2020 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/tools/scconfigconverter.py b/tools/scconfigconverter.py
new file mode 100644
index 000000000..e6a82585c
--- /dev/null
+++ b/tools/scconfigconverter.py
@@ -0,0 +1,105 @@
+#!/usr/bin/env python
+# -*- coding: utf8 -*-
+#
+# This file is part of Hercules.
+# http://herc.ws - http://github.com/HerculesWS/Hercules
+#
+# Copyright (C) 2019-2020 Hercules Dev Team
+# Copyright (C) 2019 Asheraf
+#
+# 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/>.
+#
+
+import csv
+
+with open('../db/sc_config.txt') as dbfile:
+ sc_config = csv.reader(dbfile, delimiter=',')
+
+ print(r'''//================= Hercules Database =====================================
+//= _ _ _
+//= | | | | | |
+//= | |_| | ___ _ __ ___ _ _| | ___ ___
+//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __|
+//= | | | | __/ | | (__| |_| | | __/\__ \
+//= \_| |_/\___|_| \___|\__,_|_|\___||___/
+//================= License ===============================================
+//= This file is part of Hercules.
+//= http://herc.ws - http://github.com/HerculesWS/Hercules
+//=
+//= Copyright (C) 2019-2020 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/>.
+//================= Description ===========================================
+// Configurations file for status effects
+//=========================================================================
+''')
+ print('''/**************************************************************************
+ ************* Entry structure ********************************************
+ **************************************************************************
+SC_TYPE: {
+ // ================ Optional fields ===============================
+ Visible: (bool) SC can be visible for all players
+ Flags: {
+ NoDeathReset: (bool) SC cannot be removed by death.
+ NoSave: (bool) SC cannot be saved.
+ NoDispelReset: (bool) SC cannot be reset by dispell.
+ NoClearanceReset: (bool) SC cannot be reset by clearance.
+ Buff: (bool) SC considered as buff and be removed by Hermode and etc.
+ Debuff: (bool) SC considered as debuff and be removed by Gospel and etc.
+ NoMadoReset: (bool) SC cannot be reset when MADO Gear is taken off.
+ NoAllReset: (bool) SC cannot be reset by 'sc_end SC_ALL' and status change clear.
+ }
+}
+**************************************************************************/''')
+ flags = [
+ ('NoDeathReset', 1),
+ ('NoSave', 2),
+ ('NoDispelReset', 4),
+ ('NoClearanceReset', 8),
+ ('Buff', 16),
+ ('Debuff', 32),
+ ('NoMadoReset', 64),
+ ('NoAllReset', 128)
+ ]
+
+ for sc in sc_config:
+ if len(sc) != 2 or sc[0].startswith('//'):
+ continue
+ value = int(sc[1])
+ print('{}: {{'.format(sc[0]))
+ if value & 256:
+ print('\tVisible: true')
+ value &= ~256;
+
+ print('\tFlags: {')
+ for flag in flags:
+ if value & flag[1]:
+ print('\t\t{}: true'.format(flag[0]))
+ value &= ~flag[1];
+ if value != 0:
+ print('Error: invalid value ({}) for status ({}), aborting.'.format(int(sc[1]), sc[0]))
+ exit()
+ print('\t}')
+ print('}')
diff --git a/tools/setup_mariadb.ps1 b/tools/setup_mariadb.ps1
new file mode 100644
index 000000000..709a5cf93
--- /dev/null
+++ b/tools/setup_mariadb.ps1
@@ -0,0 +1,90 @@
+#Requires -Version 5.1
+
+function Ask-Continue { Write-Output ""; pause; Write-Output "" }
+
+Write-Output "This script will automatically install MariaDB and configure it for you."
+Write-Output "You may interrupt the installation by pressing CTRL+C or closing this window."
+Ask-Continue
+
+if (-Not (Select-String -Quiet -SimpleMatch -Pattern "db_password: ""ragnarok""" -LiteralPath "$PSScriptRoot\..\conf\global\sql_connection.conf")) {
+ Write-Output "WARNING: It seems you already configured the sql connection for your server."
+ Write-Output "If you decide to continue, your settings will be overwritten."
+ Ask-Continue
+}
+
+# step 1: install scoop
+if (-Not (Get-Command scoop -errorAction SilentlyContinue)) {
+ Set-ExecutionPolicy RemoteSigned -scope Process -Force # <= this will trigger a yes/no prompt if not already authorized
+ Invoke-Expression (new-object net.webclient).downloadstring('https://get.scoop.sh')
+ scoop update
+}
+
+# step 2: install mariadb
+if (Test-Path $env:USERPROFILE\scoop\apps\mariadb) {
+ # usually we'd want to capture the output of "scoop list mariadb", but it uses
+ # Write-Host, so we can't, hence why we check manually for the folder
+ Write-Output "WARNING: MariaDB is already installed!"
+ Write-Output "If you decide to continue, your hercules user password will be overwritten."
+ Ask-Continue
+} elseif (Get-Command mysqld -errorAction SilentlyContinue) {
+ Write-Output "ERROR: You already have a MySQL provider installed. To avoid conflict, MariaDB will not be installed."
+ Write-Output "If you wish to continue you will have to uninstall your current MySQL provider."
+ exit 1
+} else {
+ scoop install mariadb
+}
+
+# step 3: add the herc user, set up the new database
+$userpw = -join ((48..57) + (97..122) | Get-Random -Count 32 | % {[char]$_})
+$rootpw = -join ((48..57) + (97..122) | Get-Random -Count 32 | % {[char]$_})
+$maria_job = Start-Process -NoNewWindow -FilePath "mysqld.exe" -ArgumentList "--console" -PassThru -RedirectStandardError "$PSScriptRoot\maria.out"
+
+while (-Not $maria_job.HasExited) {
+ if ($lt -Lt 1 -And (Select-String -Quiet -SimpleMatch -Pattern "ready for connections" -LiteralPath "$PSScriptRoot\maria.out")) {
+@"
+CREATE DATABASE IF NOT EXISTS hercules;
+DROP USER IF EXISTS 'hercules'@'localhost';
+DROP USER IF EXISTS 'hercules'@'127.0.0.1';
+CREATE USER 'hercules'@'localhost' IDENTIFIED BY '$userpw';
+CREATE USER 'hercules'@'127.0.0.1' IDENTIFIED BY '$userpw';
+-- ALTER USER 'root'@'localhost' IDENTIFIED BY '$rootpw';
+GRANT ALTER,CREATE,SELECT,INSERT,UPDATE,DELETE,DROP,INDEX ON `hercules`.* TO 'hercules'@'localhost';
+GRANT ALTER,CREATE,SELECT,INSERT,UPDATE,DELETE,DROP,INDEX ON `hercules`.* TO 'hercules'@'127.0.0.1';
+FLUSH PRIVILEGES;
+USE `hercules`;
+\. $PSScriptRoot\..\sql-files\main.sql
+\. $PSScriptRoot\..\sql-files\logs.sql
+shutdown;
+\q
+"@ | mysql.exe -u root
+ $lt++
+ }
+ Start-Sleep 1
+}
+
+if ($lt -Lt 1) {
+ Write-Output "ERROR: MariaDB could not execute the query."
+ Write-Output "This might happen if your root user already has a password, or if the MySQL service is currently running."
+ $maria_job.close()
+ exit 1
+}
+
+# step 4: finish up
+@"
+sql_connection: {
+ db_username: "hercules"
+ db_password: "$userpw"
+ db_database: "hercules"
+}
+"@ | Out-File -Encoding UTF8 -LiteralPath "$PSScriptRoot\..\conf\global\sql_connection.conf"
+Remove-Item -Force -errorAction SilentlyContinue "$PSScriptRoot\maria.out"
+& "$PSScriptRoot\install_mariadb.bat" # <= we need admin permissions, so we use an external script
+Write-Output "========= ALL DONE ========="
+Write-Output ""
+Write-Output "Your hercules installation is now configured to use MariaDB."
+Write-Output "You can find the password in conf\global\sql_connection.conf."
+Write-Output ""
+Write-Output "If you want to start MariaDB on boot, use services.msc and set ""MySQL"" to Automatic."
+Write-Output ""
+Write-Output "Make sure you set a password for the root user. You can do this from the command line or from HeidiSQL."
+Write-Output "You can obtain HeidiSQL at https://www.microsoft.com/store/productId/9NXPRT2T0ZJF"
diff --git a/tools/skilldbconverter.php b/tools/skilldbconverter.php
index 8e241ff6f..233001e08 100644
--- a/tools/skilldbconverter.php
+++ b/tools/skilldbconverter.php
@@ -11,7 +11,8 @@
* This file is part of Hercules.
* http://herc.ws - http://github.com/HerculesWS/Hercules
*
-* Copyright (C) 2016- Smokexyz/Hercules Dev Team
+* Copyright (C) 2016-2020 Hercules Dev Team
+* Copyright (C) 2016 Smokexyz
*
* Hercules is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -938,7 +939,7 @@ function printcredits()
print " | | | | __/ | | (__| |_| | | __/\__ \ \n";
print " \_| |_/\___|_| \___|\__,_|_|\___||___/\n";
print "Hercules Skill Database TXT to Libconfig Converter by Smokexyz\n";
- print "Copyright (C) 2016 Hercules\n";
+ print "Copyright (C) 2016-2020 Hercules\n";
print "-----------------------------------------------\n\n";
}
@@ -955,7 +956,7 @@ function getcomments($re)
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
-//= Copyright (C) 2014-2018 Hercules Dev Team
+//= Copyright (C) 2014-2020 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/tools/utils/common.py b/tools/utils/common.py
index acceb9b30..b4dae0c8c 100644
--- a/tools/utils/common.py
+++ b/tools/utils/common.py
@@ -4,8 +4,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2018 Hercules Dev Team
-# Copyright (C) 2018 Asheraf
+# Copyright (C) 2018-2020 Hercules Dev Team
+# Copyright (C) 2018 Asheraf
#
# Hercules is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -21,7 +21,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import io
-import libconf as libconf
+import sys
+if sys.version_info >= (3, 0):
+ from utils import libconf as libconf
+else:
+ import libconf as libconf
import os.path
def LoadDBConsts(DBname, mode, serverpath):
diff --git a/tools/utils/libconf.py b/tools/utils/libconf.py
index 635efd07d..3858b93b5 100644
--- a/tools/utils/libconf.py
+++ b/tools/utils/libconf.py
@@ -1,7 +1,7 @@
#!/usr/bin/python
# -*- coding: utf8 -*-
#
-# Copyright (C) 2018 Hercules Dev Team
+# Copyright (C) 2018-2020 Hercules Dev Team
#
# This library is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -226,8 +226,15 @@ class Tokenizer:
for cls, type, regex in self.token_map:
m = regex.match(string, pos=pos)
if m:
- yield cls(type, m.group(0),
- self.filename, self.row, self.column)
+ try:
+ yield cls(type, m.group(0),
+ self.filename, self.row, self.column)
+ except ValueError as e:
+ print("Error parsing file "
+ "{0}, in line:\n{1}\n{2}".format(self.filename,
+ m.group(0),
+ self.row))
+ raise
self.column += len(m.group(0))
pos = m.end()
break
diff --git a/tools/validateinterfaces.py b/tools/validateinterfaces.py
index 924ea903f..e031c34ab 100755
--- a/tools/validateinterfaces.py
+++ b/tools/validateinterfaces.py
@@ -4,8 +4,8 @@
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
-# Copyright (C) 2014-2015 Hercules Dev Team
-# Copyright (C) 2014 Andrei Karas (4144)
+# Copyright (C) 2014-2020 Hercules Dev Team
+# Copyright (C) 2014 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/vcproj-14/char-server.vcxproj b/vcproj-14/char-server.vcxproj
index bc5014b9c..4df78b3e5 100644
--- a/vcproj-14/char-server.vcxproj
+++ b/vcproj-14/char-server.vcxproj
@@ -54,7 +54,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -74,9 +74,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -97,7 +97,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -112,9 +112,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
diff --git a/vcproj-14/login-server.vcxproj b/vcproj-14/login-server.vcxproj
index 3b5e13373..d2b0d8da6 100644
--- a/vcproj-14/login-server.vcxproj
+++ b/vcproj-14/login-server.vcxproj
@@ -53,7 +53,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -73,9 +73,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -96,7 +96,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -115,9 +115,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
diff --git a/vcproj-14/map-server.vcxproj b/vcproj-14/map-server.vcxproj
index fca2a7826..38153c908 100644
--- a/vcproj-14/map-server.vcxproj
+++ b/vcproj-14/map-server.vcxproj
@@ -52,7 +52,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -72,9 +72,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -95,7 +95,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -110,9 +110,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -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" />
@@ -285,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 49099de50..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>
@@ -217,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">
@@ -342,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>
@@ -495,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 6756fc25e..71e666d51 100644
--- a/vcproj-15/char-server.vcxproj
+++ b/vcproj-15/char-server.vcxproj
@@ -54,7 +54,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -74,9 +74,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -97,7 +97,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -112,9 +112,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
diff --git a/vcproj-15/login-server.vcxproj b/vcproj-15/login-server.vcxproj
index f045fa290..f57ce0bb4 100644
--- a/vcproj-15/login-server.vcxproj
+++ b/vcproj-15/login-server.vcxproj
@@ -54,7 +54,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -74,9 +74,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -97,7 +97,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -116,9 +116,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
diff --git a/vcproj-15/map-server.vcxproj b/vcproj-15/map-server.vcxproj
index 7009557f5..6495c0afb 100644
--- a/vcproj-15/map-server.vcxproj
+++ b/vcproj-15/map-server.vcxproj
@@ -53,7 +53,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -73,9 +73,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -96,7 +96,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -111,9 +111,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -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" />
@@ -286,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 d616f0cbc..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>
@@ -217,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 +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>
@@ -495,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-12/char-server.vcxproj b/vcproj-16/char-server.vcxproj
index 284f38239..68973d2bf 100644
--- a/vcproj-12/char-server.vcxproj
+++ b/vcproj-16/char-server.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -14,18 +14,19 @@
<ProjectGuid>{D356871D-58E1-450B-967A-E4E9646175AF}</ProjectGuid>
<RootNamespace>char-server</RootNamespace>
<Keyword>Win32Proj</Keyword>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -53,7 +54,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -73,10 +74,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -97,7 +97,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -112,10 +112,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
diff --git a/vcproj-12/char-server.vcxproj.filters b/vcproj-16/char-server.vcxproj.filters
index ab023a77f..ab023a77f 100644
--- a/vcproj-12/char-server.vcxproj.filters
+++ b/vcproj-16/char-server.vcxproj.filters
diff --git a/vcproj-12/login-server.vcxproj b/vcproj-16/login-server.vcxproj
index 325fe53c8..efc5253ad 100644
--- a/vcproj-12/login-server.vcxproj
+++ b/vcproj-16/login-server.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -14,18 +14,19 @@
<ProjectGuid>{D356871D-58E1-450B-967A-E5E9646175AF}</ProjectGuid>
<RootNamespace>login-server</RootNamespace>
<Keyword>Win32Proj</Keyword>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -53,7 +54,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -73,10 +74,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -97,7 +97,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -116,10 +116,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
diff --git a/vcproj-12/login-server.vcxproj.filters b/vcproj-16/login-server.vcxproj.filters
index 301950f0d..301950f0d 100644
--- a/vcproj-12/login-server.vcxproj.filters
+++ b/vcproj-16/login-server.vcxproj.filters
diff --git a/vcproj-12/map-server.vcxproj b/vcproj-16/map-server.vcxproj
index 3435ec4b6..abf839abb 100644
--- a/vcproj-12/map-server.vcxproj
+++ b/vcproj-16/map-server.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -14,18 +14,19 @@
<ProjectGuid>{D356871D-58E1-450B-967A-E6E9646175AF}</ProjectGuid>
<RootNamespace>map-server</RootNamespace>
<Keyword>Win32Proj</Keyword>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -52,7 +53,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<PreprocessSuppressLineNumbers>false</PreprocessSuppressLineNumbers>
@@ -72,10 +73,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmtd.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -96,7 +96,7 @@
<OmitFramePointers>true</OmitFramePointers>
<EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
<WholeProgramOptimization>true</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mysql\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>..\src;..\3rdparty;..\3rdparty\mariadb\include;..\3rdparty\zlib\include;..\3rdparty\pcre\include;..\3rdparty\msinttypes\include;..\3rdparty\mt19937ar;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WIN32;__WIN32;NDEBUG;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;FD_SETSIZE=4096;LIBCONFIG_STATIC;YY_USE_CONST;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
@@ -111,10 +111,9 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
- <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmysql.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>libcmt.lib;oldnames.lib;ws2_32.lib;libmariadb.lib;zdll.lib;pcre.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)$(ProjectName).exe</OutputFile>
- <AdditionalLibraryDirectories>..\3rdparty\mysql\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries>
+ <AdditionalLibraryDirectories>..\3rdparty\mariadb\lib;..\3rdparty\zlib\lib;..\3rdparty\pcre\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
@@ -213,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" />
@@ -287,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-12/map-server.vcxproj.filters b/vcproj-16/map-server.vcxproj.filters
index 8457ddf5f..aae670525 100644
--- a/vcproj-12/map-server.vcxproj.filters
+++ b/vcproj-16/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>
@@ -217,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">
@@ -345,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>
@@ -495,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-12/plugin-HPMHooking_char.vcxproj b/vcproj-16/plugin-HPMHooking_char.vcxproj
index 016d85c6f..22cd0ea42 100644
--- a/vcproj-12/plugin-HPMHooking_char.vcxproj
+++ b/vcproj-16/plugin-HPMHooking_char.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -15,17 +15,18 @@
<RootNamespace>plugin-HPMHooking_char</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>plugin-HPMHooking_char</ProjectName>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/vcproj-12/plugin-HPMHooking_login.vcxproj b/vcproj-16/plugin-HPMHooking_login.vcxproj
index 2b8f56cbf..9e3c872c6 100644
--- a/vcproj-12/plugin-HPMHooking_login.vcxproj
+++ b/vcproj-16/plugin-HPMHooking_login.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -15,17 +15,18 @@
<RootNamespace>plugin-HPMHooking_login</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>plugin-HPMHooking_login</ProjectName>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/vcproj-12/plugin-HPMHooking_map.vcxproj b/vcproj-16/plugin-HPMHooking_map.vcxproj
index 0fca64016..a4616b15e 100644
--- a/vcproj-12/plugin-HPMHooking_map.vcxproj
+++ b/vcproj-16/plugin-HPMHooking_map.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -15,17 +15,18 @@
<RootNamespace>plugin-HPMHooking_map</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>plugin-HPMHooking_map</ProjectName>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/vcproj-12/plugin-sample.vcxproj b/vcproj-16/plugin-sample.vcxproj
index ea269b1e7..c78972666 100644
--- a/vcproj-12/plugin-sample.vcxproj
+++ b/vcproj-16/plugin-sample.vcxproj
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@@ -15,17 +15,18 @@
<RootNamespace>plugin-sample</RootNamespace>
<Keyword>Win32Proj</Keyword>
<ProjectName>plugin-sample</ProjectName>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
- <PlatformToolset>v120</PlatformToolset>
+ <PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">